Plugin Directory

Changeset 3115844

Timestamp:
07/10/2024 06:07:52 PM (4 weeks ago)
Author:
tropicalista
Message:

Update to version 3.0.4 from GitHub

Location:
search-console
Files:
14 edited
1 copied

Legend:

Unmodified
Added
Removed
  • search-console/tags/3.0.4/build/index.asset.php

    r3091052 r3115844  
    1 <?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-primitives', 'wp-private-apis', 'wp-url'), 'version' => '29ae4c1f95e1c3a20696');
     1<?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-primitives', 'wp-private-apis', 'wp-url'), 'version' => '');
  • search-console/tags/3.0.4/build/index.js

    r3091052 r3115844  
    1 (()=>{var e,t,n,r={761:(e,t,n)=>{"use strict";var r=n(609),a=n.t(r,2),o=n.n(r);const i=window.wp.element,l=window.wp.components,s=window.wp.data,c=window.wp.notices;function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u.apply(this,arguments)}var d;!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(d||(d={}));var m="beforeunload";function p(e){e.preventDefault(),e.returnValue=""}function f(){var e=[];return{get length(){return e.length},push:function(t){return e.push(t),function(){e=e.filter((function(e){return e!==t}))}},call:function(t){e.forEach((function(e){return e&&e(t)}))}}}const h=window.wp.url,v=function(e){void 0===e&&(e={});var t=e.window,n=void 0===t?document.defaultView:t,r=n.history;function a(){var e=n.location,t=e.pathname,a=e.search,o=e.hash,i=r.state||{};return[i.idx,{pathname:t,search:a,hash:o,state:i.usr||null,key:i.key||"default"}]}var o=null;n.addEventListener("popstate",(function(){if(o)v.call(o),o=null;else{var e=d.Pop,t=a(),n=t[0],r=t[1];if(v.length){if(null!=n){var i=s-n;i&&(o={action:e,location:r,retry:function(){C(-1*i)}},C(i))}}else b(e)}}));var i=d.Pop,l=a(),s=l[0],c=l[1],h=f(),v=f();function g(e){return"string"==typeof e?e:(n=(t=e).pathname,r=void 0===n?"/":n,a=t.search,o=void 0===a?"":a,i=t.hash,l=void 0===i?"":i,o&&"?"!==o&&(r+="?"===o.charAt(0)?o:"?"+o),l&&"#"!==l&&(r+="#"===l.charAt(0)?l:"#"+l),r);var t,n,r,a,o,i,l}function E(e,t){return void 0===t&&(t=null),u({pathname:c.pathname,hash:"",search:""},"string"==typeof e?function(e){var t={};if(e){var n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}(e):e,{state:t,key:Math.random().toString(36).substr(2,8)})}function w(e,t){return[{usr:e.state,key:e.key,idx:t},g(e)]}function y(e,t,n){return!v.length||(v.call({action:e,location:t,retry:n}),!1)}function b(e){i=e;var t=a();s=t[0],c=t[1],h.call({action:i,location:c})}function C(e){r.go(e)}return null==s&&(s=0,r.replaceState(u({},r.state,{idx:s}),"")),{get action(){return i},get location(){return c},createHref:g,push:function e(t,a){var o=d.Push,i=E(t,a);if(y(o,i,(function(){e(t,a)}))){var l=w(i,s+1),c=l[0],u=l[1];try{r.pushState(c,"",u)}catch(e){n.location.assign(u)}b(o)}},replace:function e(t,n){var a=d.Replace,o=E(t,n);if(y(a,o,(function(){e(t,n)}))){var i=w(o,s),l=i[0],c=i[1];r.replaceState(l,"",c),b(a)}},go:C,back:function(){C(-1)},forward:function(){C(1)},listen:function(e){return h.push(e)},block:function(e){var t=v.push(e);return 1===v.length&&n.addEventListener(m,p),function(){t(),v.length||n.removeEventListener(m,p)}}}}(),g=v.push,E=v.replace;v.push=function(e,t){const n=(0,h.getQueryArgs)(window.location.href),r=(0,h.removeQueryArgs)(window.location.href,...Object.keys(n)),a=(0,h.addQueryArgs)(r,e);return g.call(v,a,t)},v.replace=function(e,t){const n=(0,h.getQueryArgs)(window.location.href),r=(0,h.removeQueryArgs)(window.location.href,...Object.keys(n)),a=(0,h.addQueryArgs)(r,e);return E.call(v,a,t)};const w=v,y=(0,i.createContext)(),b=(0,i.createContext)();function C(){return(0,i.useContext)(b)}function _(e){const t=new URLSearchParams(e.search);return{...e,params:Object.fromEntries(t.entries())}}function S({children:e}){const[t,n]=(0,i.useState)((()=>_(w.location)));return(0,i.useEffect)((()=>w.listen((({location:e})=>{n(_(e))}))),[]),(0,r.createElement)(b.Provider,{value:w},(0,r.createElement)(y.Provider,{value:t},e))}const k=window.wp.apiFetch;var I=n.n(k);const x=window.wp.date,D={settings:!1,sites:[{label:"Select a site",value:""}],customDate:!1,dimension:"query",searchType:"web",startDate:(0,x.dateI18n)("Y-m-d",(new Date).setDate((new Date).getDate()-29)),endDate:(0,x.dateI18n)("Y-m-d",(new Date).setDate((new Date).getDate()-1)),filters:[]},T={setSites:e=>({type:"SET_SITES",sites:e}),setSettings:e=>({type:"SET_SETTINGS",settings:e}),setSetting:(e,t)=>({type:"SET_SETTING",setting:e,value:t}),setSearchType:e=>({type:"SET_SEARCHTYPE",searchType:e}),setFilter:e=>({type:"SET_FILTER",filter:e}),setDimension:e=>({type:"SET_DIMENSION",dimension:e}),setCustomDate:e=>({type:"SET_CUSTOMDATE",val:e}),setStartDate:e=>({type:"SET_STARTDATE",date:e}),setEndDate:e=>({type:"SET_ENDDATE",date:e}),removeFilter:e=>({type:"REMOVE_FILTER",filter:e}),fetchFromAPI:e=>({type:"FETCH_FROM_API",path:e})},O=(0,s.createReduxStore)("searchconsole",{reducer(e=D,t){switch(t.type){case"SET_SETTINGS":return{...e,settings:t.settings};case"SET_SITES":return{...e,sites:t.sites};case"SET_SETTING":return{...e,settings:{...e.settings,[t.setting]:t.value}};case"SET_SEARCHTYPE":return{...e,searchType:t.searchType};case"SET_DIMENSION":return{...e,dimension:t.dimension};case"SET_CUSTOMDATE":return{...e,customDate:t.val};case"SET_STARTDATE":return{...e,startDate:t.date};case"SET_ENDDATE":return{...e,endDate:t.date};case"SET_FILTER":const n={dimension:t.filter.dimension,expression:t.filter.expression,operator:t.filter.operator},r=e.filters.filter((e=>e.dimension!==t.filter.dimension));return r.push(n),{...e,filters:r};case"REMOVE_FILTER":const a=e.filters.filter((e=>e.dimension!==t.filter.dimension));return{...e,filters:a}}return e},actions:T,selectors:{isReady(e){var t;return null!==(t=e.settings)&&void 0!==t&&t},getSettings(e){const{settings:t}=e;return t},getSites(e){const{sites:t}=e;return t},getSite(e){const{settings:t}=e;return t.site},getQuery(e){const{searchType:t,filters:n,dimension:r,startDate:a,endDate:o}=e;return{dimension:r,startDate:a,endDate:o,searchType:t,filters:n}},getFilterByDimension:(e,t)=>e.filters.length?e.filters.find((e=>e.dimension===t)):{dimension:"",expression:"",operator:""},getSearchType(e){const{searchType:t}=e;return t},getFilters(e){const{filters:t}=e;return t},getCustomDate(e){const{customDate:t}=e;return t}},controls:{FETCH_FROM_API:e=>I()({path:e.path})},resolvers:{*getSettings(){const e=yield T.fetchFromAPI("/searchconsole/v1/settings/");return T.setSettings(e)}}});(0,s.register)(O);const A=window.wp.i18n;function P({text:e}){return(0,r.createElement)("div",{className:"loading-settings"},(0,r.createElement)(l.Spinner,null),(0,r.createElement)("span",{className:"description"},e))}function M(e){let{onLoad:t,onError:n,...a}=e;const[o,i]=function(e){let{chartVersion:t="current",chartPackages:n=["corechart","controls"],chartLanguage:a="en",mapsApiKey:o}=e;const[i,l]=(0,r.useState)(null),[s,c]=(0,r.useState)(!1);var u,d,m;return u="https://www.gstatic.com/charts/loader.js",d=()=>{const e=null===window||void 0===window?void 0:window.google;e&&(e.charts.load(t,{packages:n,language:a,mapsApiKey:o}),e.charts.setOnLoadCallback((()=>{l(e)})))},m=()=>{c(!0)},(0,r.useEffect)((()=>{if(!document)return;const e=document.querySelector('script[src="'.concat(u,'"]'));if(null==e?void 0:e.dataset.loaded)return void(null==d||d());const t=e||document.createElement("script");e||(t.src=u);const n=()=>{t.dataset.loaded="1",null==d||d()};return t.addEventListener("load",n),m&&t.addEventListener("error",m),e||document.head.append(t),()=>{t.removeEventListener("load",n),m&&t.removeEventListener("error",m)}}),[]),[i,s]}(a);return(0,r.useEffect)((()=>{o&&t&&t(o)}),[o]),(0,r.useEffect)((()=>{i&&n&&n()}),[i]),null}const F={legend_toggle:!1,options:{},legendToggle:!1,getChartWrapper:()=>{},spreadSheetQueryParameters:{headers:1,gid:1},rootProps:{},chartWrapperParams:{}};let N=0;const V=["#3366CC","#DC3912","#FF9900","#109618","#990099","#3B3EAC","#0099C6","#DD4477","#66AA00","#B82E2E","#316395","#994499","#22AA99","#AAAA11","#6633CC","#E67300","#8B0707","#329262","#5574A6","#3B3EAC"],{Provider:L,Consumer:R}=r.createContext(F),z=e=>{let{children:t,value:n}=e;return r.createElement(L,{value:n},t)},B=e=>{let{render:t}=e;return r.createElement(R,null,(e=>t(e)))};class H extends r.Component{componentDidMount(){this.draw(this.props),window.addEventListener("resize",this.onResize),(this.props.legend_toggle||this.props.legendToggle)&&this.listenToLegendToggle()}componentWillUnmount(){const{google:e,googleChartWrapper:t}=this.props;window.removeEventListener("resize",this.onResize),e.visualization.events.removeAllListeners(t),"Timeline"===t.getChartType()&&t.getChart()&&t.getChart().clearChart()}componentDidUpdate(){this.draw(this.props)}render(){return null}constructor(...e){super(...e),this.state={hiddenColumns:[]},this.listenToLegendToggle=()=>{const{google:e,googleChartWrapper:t}=this.props;e.visualization.events.addListener(t,"select",(()=>{const e=t.getChart().getSelection(),n=t.getDataTable();if(0===e.length||e[0].row||!n)return;const r=e[0].column,a=this.getColumnID(n,r);this.state.hiddenColumns.includes(a)?this.setState((e=>({...e,hiddenColumns:[...e.hiddenColumns.filter((e=>e!==a))]}))):this.setState((e=>({...e,hiddenColumns:[...e.hiddenColumns,a]})))}))},this.applyFormatters=(e,t)=>{const{google:n}=this.props;for(let r of t)switch(r.type){case"ArrowFormat":new n.visualization.ArrowFormat(r.options).format(e,r.column);break;case"BarFormat":new n.visualization.BarFormat(r.options).format(e,r.column);break;case"ColorFormat":{const t=new n.visualization.ColorFormat(r.options),{ranges:a}=r;for(let e of a)t.addRange(...e);t.format(e,r.column);break}case"DateFormat":new n.visualization.DateFormat(r.options).format(e,r.column);break;case"NumberFormat":new n.visualization.NumberFormat(r.options).format(e,r.column);break;case"PatternFormat":new n.visualization.PatternFormat(r.options).format(e,r.column)}},this.getColumnID=(e,t)=>e.getColumnId(t)||e.getColumnLabel(t),this.draw=async e=>{let{data:t,diffdata:n,rows:r,columns:a,options:o,legend_toggle:i,legendToggle:l,chartType:s,formatters:c,spreadSheetUrl:u,spreadSheetQueryParameters:d}=e;const{google:m,googleChartWrapper:p}=this.props;let f,h=null;if(n){const e=m.visualization.arrayToDataTable(n.old),t=m.visualization.arrayToDataTable(n.new);h=m.visualization[s].prototype.computeDiff(e,t)}f=null!==t?Array.isArray(t)?m.visualization.arrayToDataTable(t):new m.visualization.DataTable(t):r&&a?m.visualization.arrayToDataTable([a,...r]):u?await async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((r,a)=>{const o="".concat(n.headers?"headers=".concat(n.headers):"headers=0"),i="".concat(n.query?"&tq=".concat(encodeURIComponent(n.query)):""),l="".concat(n.gid?"&gid=".concat(n.gid):""),s="".concat(n.sheet?"&sheet=".concat(n.sheet):""),c="".concat(n.access_token?"&access_token=".concat(n.access_token):""),u="".concat(o).concat(l).concat(s).concat(i).concat(c),d="".concat(t,"/gviz/tq?").concat(u);new e.visualization.Query(d).send((e=>{e.isError()?a("Error in query:  ".concat(e.getMessage()," ").concat(e.getDetailedMessage())):r(e.getDataTable())}))}))}(m,u,d):m.visualization.arrayToDataTable([]);const v=f.getNumberOfColumns();for(let e=0;e<v;e+=1){const t=this.getColumnID(f,e);if(this.state.hiddenColumns.includes(t)){const t=f.getColumnLabel(e),n=f.getColumnId(e),r=f.getColumnType(e);f.removeColumn(e),f.addColumn({label:t,id:n,type:r})}}const g=p.getChart();"Timeline"===p.getChartType()&&g&&g.clearChart(),p.setChartType(s),p.setOptions(o||{}),p.setDataTable(f),p.draw(),null!==this.props.googleChartDashboard&&this.props.googleChartDashboard.draw(f),h&&(p.setDataTable(h),p.draw()),c&&(this.applyFormatters(f,c),p.setDataTable(f),p.draw()),!0!==l&&!0!==i||this.grayOutHiddenColumns({options:o})},this.grayOutHiddenColumns=e=>{let{options:t}=e;const{googleChartWrapper:n}=this.props,r=n.getDataTable();if(!r)return;const a=r.getNumberOfColumns();if(!1==this.state.hiddenColumns.length>0)return;const o=Array.from({length:a-1}).map(((e,n)=>{const a=this.getColumnID(r,n+1);return this.state.hiddenColumns.includes(a)?"#CCCCCC":t&&t.colors?t.colors[n]:V[n]}));n.setOptions({...t,colors:o}),n.draw()},this.onResize=()=>{const{googleChartWrapper:e}=this.props;e.draw()}}}class j extends r.Component{componentDidMount(){}componentWillUnmount(){}shouldComponentUpdate(){return!1}render(){const{google:e,googleChartWrapper:t,googleChartDashboard:n}=this.props;return r.createElement(B,{render:a=>r.createElement(H,Object.assign({},a,{google:e,googleChartWrapper:t,googleChartDashboard:n}))})}}class K extends r.Component{shouldComponentUpdate(){return!1}listenToEvents(e){let{chartEvents:t,google:n,googleChartWrapper:r}=e;if(t){n.visualization.events.removeAllListeners(r);for(let e of t){var a=this;const{eventName:t,callback:o}=e;n.visualization.events.addListener(r,t,(function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];o({chartWrapper:r,props:a.props,google:n,eventArgs:t})}))}}}render(){const{google:e,googleChartWrapper:t}=this.props;return r.createElement(B,{render:n=>(this.listenToEvents({chartEvents:n.chartEvents||null,google:e,googleChartWrapper:t}),null)})}}let G=0;class U extends r.Component{componentDidMount(){const{options:e,google:t,chartType:n,chartWrapperParams:r,toolbarItems:a,getChartEditor:o,getChartWrapper:i}=this.props,l={chartType:n,options:e,containerId:this.getGraphID(),...r},s=new t.visualization.ChartWrapper(l);s.setOptions(e||{}),i&&i(s,t);const c=new t.visualization.Dashboard(this.dashboard_ref),u=this.addControls(s,c);a&&t.visualization.drawToolbar(this.toolbar_ref.current,a);let d=null;o&&(d=new t.visualization.ChartEditor,o({chartEditor:d,chartWrapper:s,google:t})),this.setState({googleChartEditor:d,googleChartControls:u,googleChartDashboard:c,googleChartWrapper:s,isReady:!0})}componentDidUpdate(){if(!this.state.googleChartWrapper)return;if(!this.state.googleChartDashboard)return;if(!this.state.googleChartControls)return;const{controls:e}=this.props;if(e)for(let t=0;t<e.length;t+=1){const{controlType:n,options:r,controlWrapperParams:a}=e[t];a&&"state"in a&&this.state.googleChartControls[t].control.setState(a.state),this.state.googleChartControls[t].control.setOptions(r),this.state.googleChartControls[t].control.setControlType(n)}}shouldComponentUpdate(e,t){return this.state.isReady!==t.isReady||e.controls!==this.props.controls}render(){const{width:e,height:t,options:n,style:a}=this.props,o={height:t||n&&n.height,width:e||n&&n.width,...a};return this.props.render?r.createElement("div",{ref:this.dashboard_ref,style:o},r.createElement("div",{ref:this.toolbar_ref,id:"toolbar"}),this.props.render({renderChart:this.renderChart,renderControl:this.renderControl,renderToolbar:this.renderToolBar})):r.createElement("div",{ref:this.dashboard_ref,style:o},this.renderControl((e=>{let{controlProp:t}=e;return"bottom"!==t.controlPosition})),this.renderChart(),this.renderControl((e=>{let{controlProp:t}=e;return"bottom"===t.controlPosition})),this.renderToolBar())}constructor(...e){var t;super(),t=this,this.state={googleChartWrapper:null,googleChartDashboard:null,googleChartControls:null,googleChartEditor:null,isReady:!1},this.graphID=null,this.dashboard_ref=r.createRef(),this.toolbar_ref=r.createRef(),this.getGraphID=()=>{const{graphID:e,graph_id:t}=this.props;let n;return e||t?n=e&&!t?e:t&&!e?t:e:this.graphID?n=this.graphID:(N+=1,n="reactgooglegraph-".concat(N)),this.graphID=n,this.graphID},this.getControlID=(e,t)=>{let n;return G+=1,n=void 0===e?"googlechart-control-".concat(t,"-").concat(G):e,n},this.addControls=(e,t)=>{const{google:n,controls:r}=this.props,a=r?r.map(((e,t)=>{const{controlID:r,controlType:a,options:o,controlWrapperParams:i}=e,l=this.getControlID(r,t);return{controlProp:e,control:new n.visualization.ControlWrapper({containerId:l,controlType:a,options:o,...i})}})):null;if(!a)return null;t.bind(a.map((e=>{let{control:t}=e;return t})),e);for(let t of a){const{control:r,controlProp:a}=t,{controlEvents:i=[]}=a;for(let t of i){var o=this;const{callback:a,eventName:i}=t;n.visualization.events.removeListener(r,i,a),n.visualization.events.addListener(r,i,(function(){for(var t=arguments.length,i=new Array(t),l=0;l<t;l++)i[l]=arguments[l];a({chartWrapper:e,controlWrapper:r,props:o.props,google:n,eventArgs:i})}))}}return a},this.renderChart=()=>{const{width:e,height:t,options:n,style:a,className:o,rootProps:i,google:l}=this.props,s={height:t||n&&n.height,width:e||n&&n.width,...a};return r.createElement("div",Object.assign({id:this.getGraphID(),style:s,className:o},i),this.state.isReady&&null!==this.state.googleChartWrapper?r.createElement(r.Fragment,null,r.createElement(j,{googleChartWrapper:this.state.googleChartWrapper,google:l,googleChartDashboard:this.state.googleChartDashboard}),r.createElement(K,{googleChartWrapper:this.state.googleChartWrapper,google:l})):null)},this.renderControl=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e=>!0;return t.state.isReady&&null!==t.state.googleChartControls?r.createElement(r.Fragment,null,t.state.googleChartControls.filter((t=>{let{controlProp:n,control:r}=t;return e({control:r,controlProp:n})})).map((e=>{let{control:t,controlProp:n}=e;return r.createElement("div",{key:t.getContainerId(),id:t.getContainerId()})}))):null},this.renderToolBar=()=>this.props.toolbarItems?r.createElement("div",{ref:this.toolbar_ref}):null}}class W extends r.Component{render(){const{chartLanguage:e,chartPackages:t,chartVersion:n,mapsApiKey:a,loader:o,errorElement:i}=this.props;return r.createElement(z,{value:this.props},"ready"===this.state.loadingStatus&&null!==this.state.google?r.createElement(U,Object.assign({},this.props,{google:this.state.google})):"errored"===this.state.loadingStatus&&i?i:o,r.createElement(M,{chartLanguage:e,chartPackages:t,chartVersion:n,mapsApiKey:a,onLoad:this.onLoad,onError:this.onError}))}componentDidMount(){this._isMounted=!0}componentWillUnmount(){this._isMounted=!1}isFullyLoaded(e){const{controls:t,toolbarItems:n,getChartEditor:r}=this.props;return e&&e.visualization&&e.visualization.ChartWrapper&&e.visualization.Dashboard&&(!t||e.visualization.ChartWrapper)&&(!r||e.visualization.ChartEditor)&&(!n||e.visualization.drawToolbar)}constructor(...e){super(...e),this._isMounted=!1,this.state={loadingStatus:"loading",google:null},this.onLoad=e=>{if(this.props.onLoad&&this.props.onLoad(e),this.isFullyLoaded(e))this.onSuccess(e);else{const e=setInterval((()=>{const t=window.google;this._isMounted?t&&this.isFullyLoaded(t)&&(clearInterval(e),this.onSuccess(t)):clearInterval(e)}),1e3)}},this.onSuccess=e=>{this.setState({loadingStatus:"ready",google:e})},this.onError=()=>{this.setState({loadingStatus:"errored"})}}}var q;W.defaultProps=F,function(e){e.annotation="annotation",e.annotationText="annotationText",e.certainty="certainty",e.emphasis="emphasis",e.interval="interval",e.scope="scope",e.style="style",e.tooltip="tooltip",e.domain="domain"}(q||(q={}));const Y={width:"100%",height:"400",colors:["#4285f4","#5e35b1","#00897b","#E8710A"],animation:{duration:1e3,easing:"out",startup:!0},focusTarget:"category",chartArea:{width:"100%",height:"80%"},hAxis:{gridlines:{count:0,minSpacing:150},minorGridlines:{count:0},showTextEvery:1,format:"MMM dd"},vAxis:{gridlines:{count:0,minSpacing:100},minorGridlines:{count:1},showTextEvery:2},vAxes:{0:{title:"clicks"},1:{title:"impressions"},2:{format:"#%",viewWindow:{min:0,max:1}},3:{direction:-1,viewWindow:{min:1}}},series:{0:{type:"line",targetAxisIndex:0,tooltip:!0},1:{type:"line",targetAxisIndex:1,tooltip:!0},2:{type:"line",targetAxisIndex:2,tooltip:!0},3:{type:"line",targetAxisIndex:3,tooltip:!0}}},$=window.wp.coreData,Q=(0,i.createContext)(),X=function(e){const t={customDate:!1,type:"web",startDate:(0,x.dateI18n)("Y-m-d",(new Date).setDate((new Date).getDate()-29)),endDate:(0,x.dateI18n)("Y-m-d",(new Date).setDate((new Date).getDate()-1)),dimensions:["QUERY"],fields:"rows",dimensionFilterGroups:[]},[n,a]=(0,i.useState)(!1),[o,l]=(0,i.useState)(t),[u,d]=(0,i.useState)(!1),m=C(),[p,f]=(0,$.useEntityProp)("root","site","search_console"),{saveEditedEntityRecord:h}=(0,s.useDispatch)($.store),{createNotice:v}=(0,s.useDispatch)(c.store),{isSaving:g,hasEdits:E}=(0,s.useSelect)((e=>({isSaving:e($.store).isSavingEntityRecord("root","site"),hasEdits:e($.store).hasEditsForEntityRecord("root","site",void 0,"search_console")})),[]),w=()=>{I()({path:"/searchconsole/v1/refresh",method:"POST"}).then((e=>{f({...p,token:e}),window.gapi.client.setToken(e),b()})).catch((e=>{console.log(e),v("error","⚠️ "+e.message.error_description,{type:"snackbar",explicitDismiss:!0,actions:[{label:"Reauthenticate on settings page",onClick:()=>m.push({page:"search-console-settings"})}]})}))},y=(e,t)=>{f({...p,[e]:t})};(0,i.useEffect)((()=>{const e=document.createElement("script");return e.src="https://apis.google.com/js/api.js",e.async=!0,e.defer=!0,e.onload=async()=>await window.gapi.load("client",b),document.body.appendChild(e),()=>{document.body.removeChild(e)}}),[]);const b=()=>{window.gapi.client.setToken(window.search_console.token),window.gapi.client.load("searchconsole","v1").then((()=>{_()}))},_=()=>{a(!0)};return(0,r.createElement)(Q.Provider,{value:{query:o,updateQuery:(e,t)=>{l({...o,[e]:t})},settings:p,updateSetting:y,setSettings:f,saveSettings:async()=>h("root","site").then((()=>{v("info","🎯 "+(0,A.__)("Settings saved.","formello"),{type:"snackbar"})})).catch((e=>{v("error","⚠️ "+e.message,{type:"snackbar",explicitDismiss:!0})})),isSaving:g,ready:n,refreshToken:w,revokeToken:()=>{I()({path:"/searchconsole/v1/revoke",method:"POST",data:{token:p.token.refresh_token}}).then((()=>{y("token",{access_token:"",expires_in:3600,id_token:"",refresh_token:"",scope:"",token_type:""}),d(!1)}))},email:u,hasEdits:E,showError:e=>{401!==e.status&&v("error","⚠️ "+e.result.error.message,{type:"snackbar",explicitDismiss:!0}),401===e.status&&w()}}},e.children)};function Z(){const{settings:e,query:t,showError:n}=(0,i.useContext)(Q),[a,o]=(0,i.useState)(!1);(0,i.useEffect)((()=>{e.token.access_token&&l()}),[t,e.token]);const l=()=>{window.gapi?.client?.setToken(e.token),window.gapi?.client?.webmasters?.searchanalytics.query({...t,siteUrl:e.site,dimensions:["date"],fields:"rows"}).then((e=>{const t=e.result.rows,n=[];n.push([(0,A.__)("Keys","search-console"),(0,A.__)("Clicks","search-console"),(0,A.__)("Impressions","search-console"),"CTR",(0,A.__)("Position","search-console")]),t.forEach((e=>{n.push([window.moment(e.keys[0],"YYYY-MM-DD").toDate(),s(e.clicks),s(e.impressions),{v:e.ctr,f:s(e.ctr,"ctr")},{v:e.position,f:s(e.position,"position")}])})),o(n)})).catch((e=>{n(e)}))},s=(e,t)=>"ctr"===t?(100*e).toFixed(2)+"%":"position"===t?e.toFixed(2):e;return a?(0,r.createElement)("div",{className:"search-console-chart"},(0,r.createElement)(W,{chartType:"LineChart",data:a,options:Y,legendToggle:!0})):(0,r.createElement)(P,{text:(0,A.__)("Fetching data…","search-console")})}const J=window.wp.primitives,ee=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z"})),te=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z"})),ne=(0,i.memo)((function({view:e,onChangeView:t,paginationInfo:{totalItems:n=0,totalPages:a}}){return n&&a?!!n&&1!==a&&(0,r.createElement)(l.__experimentalHStack,{expanded:!1,spacing:6,justify:"end",className:"dataviews-pagination"},(0,r.createElement)(l.__experimentalHStack,{justify:"flex-start",expanded:!1,spacing:2,className:"dataviews-pagination__page-selection"},(0,i.createInterpolateElement)((0,A.sprintf)(
     1(()=>{var e,t,n,r={761:(e,t,n)=>{"use strict";var r=n(609),a=n.t(r,2),o=n.n(r);const i=window.wp.element,l=window.wp.components,s=window.wp.data,c=window.wp.notices;function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u.apply(this,arguments)}var d;!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(d||(d={}));var m="beforeunload";function p(e){e.preventDefault(),e.returnValue=""}function f(){var e=[];return{get length(){return e.length},push:function(t){return e.push(t),function(){e=e.filter((function(e){return e!==t}))}},call:function(t){e.forEach((function(e){return e&&e(t)}))}}}const h=window.wp.url,v=function(e){void 0===e&&(e={});var t=e.window,n=void 0===t?document.defaultView:t,r=n.history;function a(){var e=n.location,t=e.pathname,a=e.search,o=e.hash,i=r.state||{};return[i.idx,{pathname:t,search:a,hash:o,state:i.usr||null,key:i.key||"default"}]}var o=null;n.addEventListener("popstate",(function(){if(o)v.call(o),o=null;else{var e=d.Pop,t=a(),n=t[0],r=t[1];if(v.length){if(null!=n){var i=s-n;i&&(o={action:e,location:r,retry:function(){C(-1*i)}},C(i))}}else b(e)}}));var i=d.Pop,l=a(),s=l[0],c=l[1],h=f(),v=f();function g(e){return"string"==typeof e?e:(n=(t=e).pathname,r=void 0===n?"/":n,a=t.search,o=void 0===a?"":a,i=t.hash,l=void 0===i?"":i,o&&"?"!==o&&(r+="?"===o.charAt(0)?o:"?"+o),l&&"#"!==l&&(r+="#"===l.charAt(0)?l:"#"+l),r);var t,n,r,a,o,i,l}function E(e,t){return void 0===t&&(t=null),u({pathname:c.pathname,hash:"",search:""},"string"==typeof e?function(e){var t={};if(e){var n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}(e):e,{state:t,key:Math.random().toString(36).substr(2,8)})}function w(e,t){return[{usr:e.state,key:e.key,idx:t},g(e)]}function y(e,t,n){return!v.length||(v.call({action:e,location:t,retry:n}),!1)}function b(e){i=e;var t=a();s=t[0],c=t[1],h.call({action:i,location:c})}function C(e){r.go(e)}return null==s&&(s=0,r.replaceState(u({},r.state,{idx:s}),"")),{get action(){return i},get location(){return c},createHref:g,push:function e(t,a){var o=d.Push,i=E(t,a);if(y(o,i,(function(){e(t,a)}))){var l=w(i,s+1),c=l[0],u=l[1];try{r.pushState(c,"",u)}catch(e){n.location.assign(u)}b(o)}},replace:function e(t,n){var a=d.Replace,o=E(t,n);if(y(a,o,(function(){e(t,n)}))){var i=w(o,s),l=i[0],c=i[1];r.replaceState(l,"",c),b(a)}},go:C,back:function(){C(-1)},forward:function(){C(1)},listen:function(e){return h.push(e)},block:function(e){var t=v.push(e);return 1===v.length&&n.addEventListener(m,p),function(){t(),v.length||n.removeEventListener(m,p)}}}}(),g=v.push,E=v.replace;v.push=function(e,t){const n=(0,h.getQueryArgs)(window.location.href),r=(0,h.removeQueryArgs)(window.location.href,...Object.keys(n)),a=(0,h.addQueryArgs)(r,e);return g.call(v,a,t)},v.replace=function(e,t){const n=(0,h.getQueryArgs)(window.location.href),r=(0,h.removeQueryArgs)(window.location.href,...Object.keys(n)),a=(0,h.addQueryArgs)(r,e);return E.call(v,a,t)};const w=v,y=(0,i.createContext)(),b=(0,i.createContext)();function C(){return(0,i.useContext)(b)}function _(e){const t=new URLSearchParams(e.search);return{...e,params:Object.fromEntries(t.entries())}}function S({children:e}){const[t,n]=(0,i.useState)((()=>_(w.location)));return(0,i.useEffect)((()=>w.listen((({location:e})=>{n(_(e))}))),[]),(0,r.createElement)(b.Provider,{value:w},(0,r.createElement)(y.Provider,{value:t},e))}const k=window.wp.apiFetch;var I=n.n(k);const x=window.wp.date,D={settings:!1,sites:[{label:"Select a site",value:""}],customDate:!1,dimension:"query",searchType:"web",startDate:(0,x.dateI18n)("Y-m-d",(new Date).setDate((new Date).getDate()-29)),endDate:(0,x.dateI18n)("Y-m-d",(new Date).setDate((new Date).getDate()-1)),filters:[]},T={setSites:e=>({type:"SET_SITES",sites:e}),setSettings:e=>({type:"SET_SETTINGS",settings:e}),setSetting:(e,t)=>({type:"SET_SETTING",setting:e,value:t}),setSearchType:e=>({type:"SET_SEARCHTYPE",searchType:e}),setFilter:e=>({type:"SET_FILTER",filter:e}),setDimension:e=>({type:"SET_DIMENSION",dimension:e}),setCustomDate:e=>({type:"SET_CUSTOMDATE",val:e}),setStartDate:e=>({type:"SET_STARTDATE",date:e}),setEndDate:e=>({type:"SET_ENDDATE",date:e}),removeFilter:e=>({type:"REMOVE_FILTER",filter:e}),fetchFromAPI:e=>({type:"FETCH_FROM_API",path:e})},O=(0,s.createReduxStore)("searchconsole",{reducer(e=D,t){switch(t.type){case"SET_SETTINGS":return{...e,settings:t.settings};case"SET_SITES":return{...e,sites:t.sites};case"SET_SETTING":return{...e,settings:{...e.settings,[t.setting]:t.value}};case"SET_SEARCHTYPE":return{...e,searchType:t.searchType};case"SET_DIMENSION":return{...e,dimension:t.dimension};case"SET_CUSTOMDATE":return{...e,customDate:t.val};case"SET_STARTDATE":return{...e,startDate:t.date};case"SET_ENDDATE":return{...e,endDate:t.date};case"SET_FILTER":const n={dimension:t.filter.dimension,expression:t.filter.expression,operator:t.filter.operator},r=e.filters.filter((e=>e.dimension!==t.filter.dimension));return r.push(n),{...e,filters:r};case"REMOVE_FILTER":const a=e.filters.filter((e=>e.dimension!==t.filter.dimension));return{...e,filters:a}}return e},actions:T,selectors:{isReady(e){var t;return null!==(t=e.settings)&&void 0!==t&&t},getSettings(e){const{settings:t}=e;return t},getSites(e){const{sites:t}=e;return t},getSite(e){const{settings:t}=e;return t.site},getQuery(e){const{searchType:t,filters:n,dimension:r,startDate:a,endDate:o}=e;return{dimension:r,startDate:a,endDate:o,searchType:t,filters:n}},getFilterByDimension:(e,t)=>e.filters.length?e.filters.find((e=>e.dimension===t)):{dimension:"",expression:"",operator:""},getSearchType(e){const{searchType:t}=e;return t},getFilters(e){const{filters:t}=e;return t},getCustomDate(e){const{customDate:t}=e;return t}},controls:{FETCH_FROM_API:e=>I()({path:e.path})},resolvers:{*getSettings(){const e=yield T.fetchFromAPI("/searchconsole/v1/settings/");return T.setSettings(e)}}});(0,s.register)(O);const .sprintf)(
    22// translators: %s: Total number of pages.
    33// translators: %s: Total number of pages.
    4 (0,A._x)("Page <CurrentPageControl /> of %s","paging"),a),{CurrentPageControl:(0,r.createElement)(l.SelectControl,{"aria-label":(0,A.__)("Current page"),value:e.page,options:Array.from(Array(a)).map(((e,t)=>{const n=t+1;return{value:n,label:n}})),onChange:n=>{t({...e,page:+n})},size:"compact",__nextHasNoMarginBottom:!0})})),(0,r.createElement)(l.__experimentalHStack,{expanded:!1,spacing:1},(0,r.createElement)(l.Button,{onClick:()=>t({...e,page:e.page-1}),disabled:1===e.page,__experimentalIsFocusable:!0,label:(0,A.__)("Previous page"),icon:ee,showTooltip:!0,size:"compact",tooltipPosition:"top"}),(0,r.createElement)(l.Button,{onClick:()=>t({...e,page:e.page+1}),disabled:e.page>=a,__experimentalIsFocusable:!0,label:(0,A.__)("Next page"),icon:te,showTooltip:!0,size:"compact",tooltipPosition:"top"}))):null})),re=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"m19 7.5h-7.628c-.3089-.87389-1.1423-1.5-2.122-1.5-.97966 0-1.81309.62611-2.12197 1.5h-2.12803v1.5h2.12803c.30888.87389 1.14231 1.5 2.12197 1.5.9797 0 1.8131-.62611 2.122-1.5h7.628z"}),(0,r.createElement)(J.Path,{d:"m19 15h-2.128c-.3089-.8739-1.1423-1.5-2.122-1.5s-1.8131.6261-2.122 1.5h-7.628v1.5h7.628c.3089.8739 1.1423 1.5 2.122 1.5s1.8131-.6261 2.122-1.5h2.128z"})),ae=window.wp.privateApis,{lock:oe,unlock:ie}=(0,ae.__dangerousOptInToUnstableAPIsOnlyForCoreModules)("I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.","@wordpress/dataviews"),le="is",se="isNot",ce="isAny",ue="isNone",de="isAll",me="isNotAll",pe=[le,se,ce,ue,de,me],fe={[le]:{key:"is-filter",label:(0,A.__)("Is")},[se]:{key:"is-not-filter",label:(0,A.__)("Is not")},[ce]:{key:"is-any-filter",label:(0,A.__)("Is any")},[ue]:{key:"is-none-filter",label:(0,A.__)("Is none")},[de]:{key:"is-all-filter",label:(0,A.__)("Is all")},[me]:{key:"is-not-all-filter",label:(0,A.__)("Is not all")}},he={asc:{label:(0,A.__)("Sort ascending")},desc:{label:(0,A.__)("Sort descending")}},ve="table",ge="grid",Ee=(0,r.createElement)(J.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,r.createElement)(J.Path,{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v3.5h-15V5c0-.3.2-.5.5-.5zm8 5.5h6.5v3.5H13V10zm-1.5 3.5h-7V10h7v3.5zm-7 5.5v-4h7v4.5H5c-.3 0-.5-.2-.5-.5zm14.5.5h-6V15h6.5v4c0 .3-.2.5-.5.5z"})),we=(0,r.createElement)(J.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,r.createElement)(J.Path,{d:"M6 5.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2V6zm11-.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM13 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2h-3a2 2 0 01-2-2V6zm5 8.5h-3a.5.5 0 00-.5.5v3a.5.5 0 00.5.5h3a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5zM15 13a2 2 0 00-2 2v3a2 2 0 002 2h3a2 2 0 002-2v-3a2 2 0 00-2-2h-3zm-9 1.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5zM4 15a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2v-3z",fillRule:"evenodd",clipRule:"evenodd"})),ye=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M4 8.8h8.9V7.2H4v1.6zm0 7h8.9v-1.5H4v1.5zM18 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"})),be=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM6 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-7c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}));var Ce=n(485),_e=n.n(Ce);const Se=(0,r.createElement)(J.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,r.createElement)(J.Path,{d:"M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z"})),ke=(0,r.createElement)(J.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,r.createElement)(J.Path,{d:"M4.67 10.664s-2.09 1.11-2.917 1.582l.494.87 1.608-.914.002.002c.343.502.86 1.17 1.563 1.84.348.33.742.663 1.185.976L5.57 16.744l.858.515 1.02-1.701a9.1 9.1 0 0 0 4.051 1.18V19h1v-2.263a9.1 9.1 0 0 0 4.05-1.18l1.021 1.7.858-.514-1.034-1.723c.442-.313.837-.646 1.184-.977.703-.669 1.22-1.337 1.563-1.839l.002-.003 1.61.914.493-.87c-1.75-.994-2.918-1.58-2.918-1.58l-.003.005a8.29 8.29 0 0 1-.422.689 10.097 10.097 0 0 1-1.36 1.598c-1.218 1.16-3.042 2.293-5.544 2.293-2.503 0-4.327-1.132-5.546-2.293a10.099 10.099 0 0 1-1.359-1.599 8.267 8.267 0 0 1-.422-.689l-.003-.005Z"}));function Ie({selection:e,onSelectionChange:t,item:n,data:a,getItemId:o,primaryField:i,disabled:s}){const c=o(n),u=e.includes(c);let d;return d=i?.getValue&&n?(0,A.sprintf)(/* translators: %s: item title. */
    5 u?(0,A.__)("Deselect item: %s"):(0,A.__)("Select item: %s"),i.getValue({item:n})):u?(0,A.__)("Select a new item"):(0,A.__)("Deselect item"),(0,r.createElement)(l.CheckboxControl,{className:"dataviews-view-table-selection-checkbox",__nextHasNoMarginBottom:!0,"aria-label":d,"aria-disabled":s,checked:u,onChange:()=>{s||t(u?a.filter((t=>{const n=o?.(t);return n!==c&&e.includes(n)})):a.filter((t=>{const n=o?.(t);return n===c||e.includes(n)})))}})}const xe=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z"})),{DropdownMenuV2:De,DropdownMenuGroupV2:Te,DropdownMenuItemV2:Oe,DropdownMenuItemLabelV2:Ae,kebabCase:Pe}=ie(l.privateApis);function Me({action:e,onClick:t}){return(0,r.createElement)(l.Button,{label:e.label,icon:e.icon,isDestructive:e.isDestructive,size:"compact",onClick:t})}function Fe({action:e,onClick:t}){return(0,r.createElement)(Oe,{onClick:t,hideOnClick:!e.RenderModal},(0,r.createElement)(Ae,null,e.label))}function Ne({action:e,item:t,ActionTrigger:n}){const[a,o]=(0,i.useState)(!1),s={action:e,onClick:()=>o(!0)},{RenderModal:c,hideModalHeader:u}=e;return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(n,{...s}),a&&(0,r.createElement)(l.Modal,{title:e.modalHeader||e.label,__experimentalHideHeader:!!u,onRequestClose:()=>{o(!1)},overlayClassName:`dataviews-action-modal dataviews-action-modal__${Pe(e.id)}`},(0,r.createElement)(c,{items:[t],closeModal:()=>o(!1)})))}function Ve({actions:e,item:t}){return(0,r.createElement)(Te,null,e.map((e=>e.RenderModal?(0,r.createElement)(Ne,{key:e.id,action:e,item:t,ActionTrigger:Fe}):(0,r.createElement)(Fe,{key:e.id,action:e,onClick:()=>e.callback([t])}))))}function Le({item:e,actions:t,isCompact:n}){const{primaryActions:a,eligibleActions:o}=(0,i.useMemo)((()=>{const n=t.filter((t=>!t.isEligible||t.isEligible(e)));return{primaryActions:n.filter((e=>e.isPrimary&&!!e.icon)),eligibleActions:n}}),[t,e]);return n?(0,r.createElement)(Re,{item:e,actions:o}):(0,r.createElement)(l.__experimentalHStack,{spacing:1,justify:"flex-end",className:"dataviews-item-actions",style:{flexShrink:"0",width:"auto"}},!!a.length&&a.map((t=>t.RenderModal?(0,r.createElement)(Ne,{key:t.id,action:t,item:e,ActionTrigger:Me}):(0,r.createElement)(Me,{key:t.id,action:t,onClick:()=>t.callback([e])}))),(0,r.createElement)(Re,{item:e,actions:o}))}function Re({item:e,actions:t}){return(0,r.createElement)(De,{trigger:(0,r.createElement)(l.Button,{size:"compact",icon:xe,label:(0,A.__)("Actions"),disabled:!t.length,className:"dataviews-all-actions-button"}),placement:"bottom-end"},(0,r.createElement)(Ve,{actions:t,item:e}))}const ze=e=>{let t=e.filterBy?.operators;return t&&Array.isArray(t)||(t=[ce,ue]),t.includes("in")&&(t=t.filter((e=>"is"!==e)),t.push("is")),t.includes("notIn")&&(t=t.filter((e=>"notIn"!==e)),t.push("isNot")),t=t.filter((e=>pe.includes(e))),(t.includes(le)||t.includes(se))&&(t=t.filter((e=>[le,se].includes(e)))),t},{DropdownMenuV2:Be,DropdownMenuGroupV2:He,DropdownMenuItemV2:je,DropdownMenuSeparatorV2:Ke}=ie(l.privateApis);function Ge(e,t){return(0,i.useMemo)((()=>e.some((e=>e.supportsBulk&&e.isEligible(t)))),[e,t])}function Ue({action:e,selectedItems:t,setActionWithModal:n,onMenuOpenChange:a}){const o=(0,i.useMemo)((()=>t.filter((t=>e.isEligible(t)))),[e,t]),{RenderModal:s,hideModalHeader:c}=e,u=(0,i.useCallback)((()=>{n(void 0)}),[n]);return(0,r.createElement)(l.Modal,{title:!c&&e.label,__experimentalHideHeader:!!c,onRequestClose:u,overlayClassName:"dataviews-action-modal"},(0,r.createElement)(s,{items:o,closeModal:u,onPerform:()=>a(!1)}))}function We({action:e,selectedItems:t,setActionWithModal:n}){const a=(0,i.useMemo)((()=>t.filter((t=>e.isEligible(t)))),[e,t]),o=!!e.RenderModal;return(0,r.createElement)(je,{key:e.id,disabled:0===a.length,hideOnClick:!o,onClick:async()=>{o?n(e):await e.callback(a)},suffix:a.length>0?a.length:void 0},e.label)}function qe({actions:e,selectedItems:t,setActionWithModal:n}){return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(He,null,e.map((e=>(0,r.createElement)(We,{key:e.id,action:e,selectedItems:t,setActionWithModal:n})))),(0,r.createElement)(Ke,null))}function Ye({data:e,actions:t,selection:n,onSelectionChange:a,getItemId:o}){const s=(0,i.useMemo)((()=>t.filter((e=>e.supportsBulk))),[t]),[c,u]=(0,i.useState)(!1),[d,m]=(0,i.useState)(),p=(0,i.useMemo)((()=>e.filter((e=>s.some((t=>t.isEligible(e)))))),[e,s]),f=p.length,h=n&&n.length===f,v=(0,i.useMemo)((()=>e.filter((e=>n.includes(o(e))))),[n,e,o]),g=(0,i.useMemo)((()=>v.some((e=>!p.includes(e)))),[v,p]);return(0,i.useEffect)((()=>{g&&a(v.filter((e=>p.some((t=>o(e)===o(t))))))}),[g,v,p,o,a]),0===s.length?null:(0,r.createElement)(r.Fragment,null,(0,r.createElement)(Be,{open:c,onOpenChange:u,label:(0,A.__)("Bulk actions"),style:{minWidth:"240px"},trigger:(0,r.createElement)(l.Button,{className:"dataviews-bulk-edit-button",__next40pxDefaultSize:!0,variant:"tertiary",size:"compact"},n.length?(0,A.sprintf)(/* translators: %d: Number of items. */ /* translators: %d: Number of items. */
    6 (0,A._n)("Edit %d item","Edit %d items",n.length),n.length):(0,A.__)("Bulk edit"))},(0,r.createElement)(qe,{actions:s,setActionWithModal:m,selectedItems:v}),(0,r.createElement)(He,null,(0,r.createElement)(je,{disabled:h,hideOnClick:!1,onClick:()=>{a(p)},suffix:f},(0,A.__)("Select all")),(0,r.createElement)(je,{disabled:0===n.length,hideOnClick:!1,onClick:()=>{a([])}},(0,A.__)("Deselect")))),d&&(0,r.createElement)(Ue,{action:d,selectedItems:v,setActionWithModal:m,onMenuOpenChange:u}))}const{DropdownMenuV2:$e,DropdownMenuGroupV2:Qe,DropdownMenuItemV2:Xe,DropdownMenuRadioItemV2:Ze,DropdownMenuItemLabelV2:Je,DropdownMenuSeparatorV2:et}=ie(l.privateApis);function tt({children:e}){return i.Children.toArray(e).filter(Boolean).map(((e,t)=>(0,r.createElement)(i.Fragment,{key:t},t>0&&(0,r.createElement)(et,null),e)))}const nt={asc:"↑",desc:"↓"},rt=(0,i.forwardRef)((function({field:e,view:t,onChangeView:n,onHide:a,setOpenedFilter:o},i){const s=!1!==e.enableHiding,c=!1!==e.enableSorting,u=t.sort?.field===e.id,d=ze(e),m=!(t.filters?.some((t=>e.id===t.field))||!e.elements?.length||!d.length||e.filterBy?.isPrimary);return c||s||m?(0,r.createElement)($e,{align:"start",trigger:(0,r.createElement)(l.Button,{size:"compact",className:"dataviews-view-table-header-button",ref:i,variant:"tertiary"},e.header,u&&(0,r.createElement)("span",{"aria-hidden":"true"},u&&nt[t.sort.direction])),style:{minWidth:"240px"}},(0,r.createElement)(tt,null,c&&(0,r.createElement)(Qe,null,Object.entries(he).map((([a,o])=>{const i=u&&t.sort.direction===a,l=`${e.id}-${a}`;return(0,r.createElement)(Ze,{key:l,name:"view-table-sorting",value:l,checked:i,onChange:()=>{n({...t,sort:{field:e.id,direction:a}})}},(0,r.createElement)(Je,null,o.label))}))),m&&(0,r.createElement)(Qe,null,(0,r.createElement)(Xe,{prefix:(0,r.createElement)(l.Icon,{icon:Se}),onClick:()=>{o(e.id),n({...t,page:1,filters:[...t.filters||[],{field:e.id,value:void 0,operator:d[0]}]})}},(0,r.createElement)(Je,null,(0,A.__)("Add filter")))),s&&(0,r.createElement)(Xe,{prefix:(0,r.createElement)(l.Icon,{icon:ke}),onClick:()=>{a(e),n({...t,hiddenFields:t.hiddenFields.concat(e.id)})}},(0,r.createElement)(Je,null,(0,A.__)("Hide"))))):e.header}));function at({selection:e,onSelectionChange:t,data:n,actions:a}){const o=(0,i.useMemo)((()=>n.filter((e=>a.some((t=>t.supportsBulk&&t.isEligible(e)))))),[n,a]),s=e.length===o.length;return(0,r.createElement)(l.CheckboxControl,{className:"dataviews-view-table-selection-checkbox",__nextHasNoMarginBottom:!0,checked:s,indeterminate:!s&&e.length,onChange:()=>{t(s?[]:o)},"aria-label":s?(0,A.__)("Deselect all"):(0,A.__)("Select all")})}function ot({hasBulkActions:e,item:t,actions:n,id:a,visibleFields:o,primaryField:l,selection:s,getItemId:c,onSelectionChange:u,data:d}){const m=Ge(n,t),p=s.includes(a),[f,h]=(0,i.useState)(!1),v=(0,i.useRef)(!1);return(0,r.createElement)("tr",{className:_e()("dataviews-view-table__row",{"is-selected":m&&p,"is-hovered":f,"has-bulk-actions":m}),onMouseEnter:()=>{h(!0)},onMouseLeave:()=>{h(!1)},onTouchStart:()=>{v.current=!0},onClick:()=>{v.current||"Range"===document.getSelection().type||u(p?d.filter((e=>{const t=c?.(e);return t!==a&&s.includes(t)})):d.filter((e=>{const t=c?.(e);return t===a||s.includes(t)})))}},e&&(0,r.createElement)("td",{className:"dataviews-view-table__checkbox-column",style:{width:"1%"}},(0,r.createElement)("div",{className:"dataviews-view-table__cell-content-wrapper"},(0,r.createElement)(Ie,{id:a,item:t,selection:s,onSelectionChange:u,getItemId:c,data:d,primaryField:l,disabled:!m}))),o.map((e=>(0,r.createElement)("td",{key:e.id,style:{width:e.width||void 0,minWidth:e.minWidth||void 0,maxWidth:e.maxWidth||void 0}},(0,r.createElement)("div",{className:_e()("dataviews-view-table__cell-content-wrapper",{"dataviews-view-table__primary-field":l?.id===e.id})},e.render({item:t}))))),!!n?.length&&(0,r.createElement)("td",{className:"dataviews-view-table__actions-column",onClick:e=>e.stopPropagation()},(0,r.createElement)(Le,{item:t,actions:n})))}function it({selection:e,data:t,onSelectionChange:n,getItemId:a,item:o,actions:i,mediaField:s,primaryField:c,visibleFields:u,badgeFields:d,columnFields:m}){const p=Ge(i,o),f=a(o),h=e.includes(f);return(0,r.createElement)(l.__experimentalVStack,{spacing:0,key:f,className:_e()("dataviews-view-grid__card",{"is-selected":p&&h}),onClickCapture:r=>{if(r.ctrlKey||r.metaKey){if(r.stopPropagation(),r.preventDefault(),!p)return;n(h?t.filter((t=>{const n=a?.(t);return n!==f&&e.includes(n)})):t.filter((t=>{const n=a?.(t);return n===f||e.includes(n)})))}}},(0,r.createElement)("div",{className:"dataviews-view-grid__media"},s?.render({item:o})),(0,r.createElement)(l.__experimentalHStack,{justify:"space-between",className:"dataviews-view-grid__title-actions"},(0,r.createElement)(Ie,{id:f,item:o,selection:e,onSelectionChange:n,getItemId:a,data:t,primaryField:c,disabled:!p}),(0,r.createElement)(l.__experimentalHStack,{className:"dataviews-view-grid__primary-field"},c?.render({item:o})),(0,r.createElement)(Le,{item:o,actions:i,isCompact:!0})),!!d?.length&&(0,r.createElement)(l.__experimentalHStack,{className:"dataviews-view-grid__badge-fields",spacing:2,wrap:!0,align:"top",justify:"flex-start"},d.map((e=>{const t=e.render({item:o});return t?(0,r.createElement)(l.FlexItem,{key:e.id,className:"dataviews-view-grid__field-value"},t):null}))),!!u?.length&&(0,r.createElement)(l.__experimentalVStack,{className:"dataviews-view-grid__fields",spacing:3},u.map((e=>{const t=e.render({item:o});return t?(0,r.createElement)(l.Flex,{className:_e()("dataviews-view-grid__field",m?.includes(e.id)?"is-column":"is-row"),key:e.id,gap:1,justify:"flex-start",expanded:!0,style:{height:"auto"},direction:m?.includes(e.id)?"column":"row"},(0,r.createElement)(r.Fragment,null,(0,r.createElement)(l.FlexItem,{className:"dataviews-view-grid__field-name"},e.header),(0,r.createElement)(l.FlexItem,{className:"dataviews-view-grid__field-value",style:{maxHeight:"none"}},t))):null}))))}const lt=window.wp.compose,{useCompositeStoreV2:st,CompositeV2:ct,CompositeItemV2:ut,CompositeRowV2:dt}=ie(l.privateApis);function mt({id:e,item:t,isSelected:n,onSelect:a,mediaField:o,primaryField:s,visibleFields:c}){const u=(0,i.useRef)(null),d=`${e}-label`,m=`${e}-description`;return(0,i.useEffect)((()=>{n&&u.current?.scrollIntoView({behavior:"auto",block:"nearest",inline:"nearest"})}),[n]),(0,r.createElement)(dt,{ref:u,render:(0,r.createElement)("li",null),role:"row",className:_e()({"is-selected":n})},(0,r.createElement)(l.__experimentalHStack,{className:"dataviews-view-list__item-wrapper"},(0,r.createElement)("div",{role:"gridcell"},(0,r.createElement)(ut,{render:(0,r.createElement)("div",null),role:"button",id:e,"aria-pressed":n,"aria-labelledby":d,"aria-describedby":m,className:"dataviews-view-list__item",onClick:()=>a(t)},(0,r.createElement)(l.__experimentalHStack,{spacing:3,justify:"start",alignment:"flex-start"},(0,r.createElement)("div",{className:"dataviews-view-list__media-wrapper"},o?.render({item:t})||(0,r.createElement)("div",{className:"dataviews-view-list__media-placeholder"})),(0,r.createElement)(l.__experimentalVStack,{spacing:1},(0,r.createElement)("span",{className:"dataviews-view-list__primary-field",id:d},s?.render({item:t})),(0,r.createElement)("div",{className:"dataviews-view-list__fields",id:m},c.map((e=>(0,r.createElement)("div",{key:e.id,className:"dataviews-view-list__field"},(0,r.createElement)(l.VisuallyHidden,{as:"span",className:"dataviews-view-list__field-label"},e.header),(0,r.createElement)("span",{className:"dataviews-view-list__field-value"},e.render({item:t}))))))))))))}const pt=[{type:ve,label:(0,A.__)("Table"),component:function({view:e,onChangeView:t,fields:n,actions:a,data:o,getItemId:s,isLoading:c=!1,selection:u,onSelectionChange:d,setOpenedFilter:m}){const p=(0,i.useRef)(new Map),f=(0,i.useRef)(),[h,v]=(0,i.useState)(),g=function(e,t){return(0,i.useMemo)((()=>t.some((t=>e.some((e=>e.supportsBulk&&e.isEligible(t)))))),[e,t])}(a,o);(0,i.useEffect)((()=>{f.current&&(f.current.focus(),f.current=void 0)}));const E=(0,i.useId)();if(h)return f.current=h,void v();const w=e=>{const t=p.current.get(e.id),n=p.current.get(t.fallback);v(n?.node)},y=n.filter((t=>!e.hiddenFields.includes(t.id)&&![e.layout.mediaField].includes(t.id))),b=!!o?.length,C={asc:"ascending",desc:"descending"},_=n.find((t=>t.id===e.layout.primaryField));return(0,r.createElement)(i.Fragment,null,(0,r.createElement)("table",{className:"dataviews-view-table","aria-busy":c,"aria-describedby":E},(0,r.createElement)("thead",null,(0,r.createElement)("tr",{className:"dataviews-view-table__row"},g&&(0,r.createElement)("th",{className:"dataviews-view-table__checkbox-column",style:{width:"1%"},"data-field-id":"selection",scope:"col"},(0,r.createElement)(at,{selection:u,onSelectionChange:d,data:o,actions:a})),y.map(((n,a)=>(0,r.createElement)("th",{key:n.id,style:{width:n.width||void 0,minWidth:n.minWidth||void 0,maxWidth:n.maxWidth||void 0},"data-field-id":n.id,"aria-sort":e.sort?.field===n.id&&C[e.sort.direction],scope:"col"},(0,r.createElement)(rt,{ref:e=>{e?p.current.set(n.id,{node:e,fallback:y[a>0?a-1:1]?.id}):p.current.delete(n.id)},field:n,view:e,onChangeView:t,onHide:w,setOpenedFilter:m})))),!!a?.length&&(0,r.createElement)("th",{"data-field-id":"actions",className:"dataviews-view-table__actions-column"},(0,r.createElement)("span",{className:"dataviews-view-table-header"},(0,A.__)("Actions"))))),(0,r.createElement)("tbody",null,b&&o.map(((e,t)=>(0,r.createElement)(ot,{key:s(e),item:e,hasBulkActions:g,actions:a,id:s(e)||t,visibleFields:y,primaryField:_,selection:u,getItemId:s,onSelectionChange:d,data:o}))))),(0,r.createElement)("div",{className:_e()({"dataviews-loading":c,"dataviews-no-results":!b&&!c}),id:E},!b&&(0,r.createElement)("p",null,c?(0,r.createElement)(l.Spinner,null):(0,A.__)("No results"))))},icon:Ee},{type:ge,label:(0,A.__)("Grid"),component:function({data:e,fields:t,view:n,actions:a,isLoading:o,getItemId:i,selection:s,onSelectionChange:c}){const u=t.find((e=>e.id===n.layout.mediaField)),d=t.find((e=>e.id===n.layout.primaryField)),{visibleFields:m,badgeFields:p}=t.reduce(((e,t)=>(n.hiddenFields.includes(t.id)||[n.layout.mediaField,n.layout.primaryField].includes(t.id)||e[n.layout.badgeFields?.includes(t.id)?"badgeFields":"visibleFields"].push(t),e)),{visibleFields:[],badgeFields:[]}),f=!!e?.length;return(0,r.createElement)(r.Fragment,null,f&&(0,r.createElement)(l.__experimentalGrid,{gap:6,columns:2,alignment:"top",className:"dataviews-view-grid","aria-busy":o},e.map((t=>(0,r.createElement)(it,{key:i(t),selection:s,data:e,onSelectionChange:c,getItemId:i,item:t,actions:a,mediaField:u,primaryField:d,visibleFields:m,badgeFields:p,columnFields:n.layout.columnFields})))),!f&&(0,r.createElement)("div",{className:_e()({"dataviews-loading":o,"dataviews-no-results":!o})},(0,r.createElement)("p",null,o?(0,r.createElement)(l.Spinner,null):(0,A.__)("No results"))))},icon:we},{type:"list",label:(0,A.__)("List"),component:function e({view:t,fields:n,data:a,isLoading:o,getItemId:s,onSelectionChange:c,selection:u,id:d}){const m=(0,lt.useInstanceId)(e,"view-list",d),p=a?.findLast((e=>u.includes(e.id))),f=n.find((e=>e.id===t.layout.mediaField)),h=n.find((e=>e.id===t.layout.primaryField)),v=n.filter((e=>!t.hiddenFields.includes(e.id)&&![t.layout.primaryField,t.layout.mediaField].includes(e.id))),g=(0,i.useCallback)((e=>c([e])),[c]),E=(0,i.useCallback)((e=>e?`${m}-${s(e)}`:void 0),[m,s]),w=st({defaultActiveId:E(p)}),y=a?.length;return y?(0,r.createElement)(ct,{id:m,render:(0,r.createElement)("ul",null),className:"dataviews-view-list",role:"grid",store:w},a.map((e=>{const t=E(e);return(0,r.createElement)(mt,{key:t,id:t,item:e,isSelected:e===p,onSelect:g,mediaField:f,primaryField:h,visibleFields:v})}))):(0,r.createElement)("div",{className:_e()({"dataviews-loading":o,"dataviews-no-results":!y&&!o})},!y&&(0,r.createElement)("p",null,o?(0,r.createElement)(l.Spinner,null):(0,A.__)("No results")))},icon:(0,A.isRTL)()?ye:be}],{DropdownMenuV2:ft,DropdownMenuGroupV2:ht,DropdownMenuItemV2:vt,DropdownMenuRadioItemV2:gt,DropdownMenuCheckboxItemV2:Et,DropdownMenuItemLabelV2:wt}=ie(l.privateApis);function yt({view:e,onChangeView:t,supportedLayouts:n}){let a=pt;if(n&&(a=a.filter((e=>n.includes(e.type)))),1===a.length)return null;const o=a.find((t=>e.type===t.type));return(0,r.createElement)(ft,{trigger:(0,r.createElement)(vt,{suffix:(0,r.createElement)("span",{"aria-hidden":"true"},o.label)},(0,r.createElement)(wt,null,(0,A.__)("Layout")))},a.map((n=>(0,r.createElement)(gt,{key:n.type,value:n.type,name:"view-actions-available-view",checked:n.type===e.type,hideOnClick:!0,onChange:n=>{t({...e,type:n.target.value})}},(0,r.createElement)(wt,null,n.label)))))}const bt=[10,20,50,100];function Ct({view:e,onChangeView:t}){return(0,r.createElement)(ft,{trigger:(0,r.createElement)(vt,{suffix:(0,r.createElement)("span",{"aria-hidden":"true"},e.perPage)},(0,r.createElement)(wt,null,(0,A.__)("Items per page")))},bt.map((n=>(0,r.createElement)(gt,{key:n,value:n,name:"view-actions-page-size",checked:e.perPage===n,onChange:()=>{t({...e,perPage:n,page:1})}},(0,r.createElement)(wt,null,n)))))}function _t({view:e,onChangeView:t,fields:n}){const a=n.filter((t=>!1!==t.enableHiding&&t.id!==e.layout.mediaField));return a?.length?(0,r.createElement)(ft,{trigger:(0,r.createElement)(vt,null,(0,r.createElement)(wt,null,(0,A.__)("Fields")))},a?.map((n=>(0,r.createElement)(Et,{key:n.id,value:n.id,checked:!e.hiddenFields?.includes(n.id),onChange:()=>{t({...e,hiddenFields:e.hiddenFields?.includes(n.id)?e.hiddenFields.filter((e=>e!==n.id)):[...e.hiddenFields||[],n.id]})}},(0,r.createElement)(wt,null,n.header))))):null}function St({fields:e,view:t,onChangeView:n}){const a=e.filter((e=>!1!==e.enableSorting));if(!a?.length)return null;const o=e.find((e=>e.id===t.sort?.field));return(0,r.createElement)(ft,{trigger:(0,r.createElement)(vt,{suffix:(0,r.createElement)("span",{"aria-hidden":"true"},o?.header)},(0,r.createElement)(wt,null,(0,A.__)("Sort by")))},a?.map((e=>{const a=t.sort?.direction;return(0,r.createElement)(ft,{key:e.id,trigger:(0,r.createElement)(vt,null,(0,r.createElement)(wt,null,e.header)),style:{minWidth:"220px"}},Object.entries(he).map((([i,l])=>{const s=void 0!==o&&a===i&&e.id===o.id,c=`${e.id}-${i}`;return(0,r.createElement)(gt,{key:c,name:"view-actions-sorting",value:c,checked:s,onChange:()=>{n({...t,sort:{field:e.id,direction:i}})}},(0,r.createElement)(wt,null,l.label))})))})))}const kt=(0,i.memo)((function({fields:e,view:t,onChangeView:n,supportedLayouts:a}){return(0,r.createElement)(ft,{trigger:(0,r.createElement)(l.Button,{size:"compact",icon:re,label:(0,A.__)("View options")})},(0,r.createElement)(ht,null,(0,r.createElement)(yt,{view:t,onChangeView:n,supportedLayouts:a}),(0,r.createElement)(St,{fields:e,view:t,onChangeView:n}),(0,r.createElement)(_t,{fields:e,view:t,onChangeView:n}),(0,r.createElement)(Ct,{view:t,onChangeView:n})))})),It=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z"}));var xt={id:null};function Dt(e,t){return t&&e.item(t)||null}var Tt=Symbol("FOCUS_SILENTLY");function Ot(e,t,n){if(!t)return!1;if(t===n)return!1;const r=e.item(t.id);return!(!r||n&&r.element===n)}var At=Object.defineProperty,Pt=Object.defineProperties,Mt=Object.getOwnPropertyDescriptors,Ft=Object.getOwnPropertySymbols,Nt=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable,Lt=(e,t,n)=>t in e?At(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Rt=(e,t)=>{for(var n in t||(t={}))Nt.call(t,n)&&Lt(e,n,t[n]);if(Ft)for(var n of Ft(t))Vt.call(t,n)&&Lt(e,n,t[n]);return e},zt=(e,t)=>Pt(e,Mt(t)),Bt=(e,t)=>{var n={};for(var r in e)Nt.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Ft)for(var r of Ft(e))t.indexOf(r)<0&&Vt.call(e,r)&&(n[r]=e[r]);return n},Ht=Object.defineProperty,jt=Object.defineProperties,Kt=Object.getOwnPropertyDescriptors,Gt=Object.getOwnPropertySymbols,Ut=Object.prototype.hasOwnProperty,Wt=Object.prototype.propertyIsEnumerable,qt=(e,t,n)=>t in e?Ht(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Yt=(e,t)=>{for(var n in t||(t={}))Ut.call(t,n)&&qt(e,n,t[n]);if(Gt)for(var n of Gt(t))Wt.call(t,n)&&qt(e,n,t[n]);return e},$t=(e,t)=>jt(e,Kt(t)),Qt=(e,t)=>{var n={};for(var r in e)Ut.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Gt)for(var r of Gt(e))t.indexOf(r)<0&&Wt.call(e,r)&&(n[r]=e[r]);return n};function Xt(...e){}function Zt(e,t){return"function"==typeof Object.hasOwn?Object.hasOwn(e,t):Object.prototype.hasOwnProperty.call(e,t)}function Jt(...e){return(...t)=>{for(const n of e)"function"==typeof n&&n(...t)}}function en(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}function tn(e){return e}function nn(e,t){if(!e){if("string"!=typeof t)throw new Error("Invariant failed");throw new Error(t)}}function rn(e){return e.disabled||!0===e["aria-disabled"]||"true"===e["aria-disabled"]}function an(...e){for(const t of e)if(void 0!==t)return t}var on,ln="undefined"!=typeof window&&!!(null==(on=window.document)?void 0:on.createElement);function sn(e){return e?e.ownerDocument||e:document}function cn(e,t=!1){const{activeElement:n}=sn(e);if(!(null==n?void 0:n.nodeName))return null;if("IFRAME"===n.tagName&&n.contentDocument)return cn(n.contentDocument.body,t);if(t){const e=n.getAttribute("aria-activedescendant");if(e){const t=sn(n).getElementById(e);if(t)return t}}return n}function un(e,t){return e===t||e.contains(t)}function dn(e){const t=e.tagName.toLowerCase();return"button"===t||!("input"!==t||!e.type)&&-1!==mn.indexOf(e.type)}var mn=["button","color","file","image","reset","submit"];function pn(e,t){return"matches"in e?e.matches(t):"msMatchesSelector"in e?e.msMatchesSelector(t):e.webkitMatchesSelector(t)}function fn(e){try{const t=e instanceof HTMLInputElement&&null!==e.selectionStart,n="TEXTAREA"===e.tagName;return t||n||!1}catch(e){return!1}}function hn(e,t){const n=null==e?void 0:e.getAttribute("role");return n&&-1!==["dialog","menu","listbox","tree","grid"].indexOf(n)?n:t}function vn(e,t){var n;const r=hn(e);return r&&null!=(n={menu:"menuitem",listbox:"option",tree:"treeitem",grid:"gridcell"}[r])?n:t}function gn(e){if(!e)return null;if(e.clientHeight&&e.scrollHeight>e.clientHeight){const{overflowY:t}=getComputedStyle(e);if("visible"!==t&&"hidden"!==t)return e}else if(e.clientWidth&&e.scrollWidth>e.clientWidth){const{overflowX:t}=getComputedStyle(e);if("visible"!==t&&"hidden"!==t)return e}return gn(e.parentElement)||document.scrollingElement||document.body}function En(e,...t){/text|search|password|tel|url/i.test(e.type)&&e.setSelectionRange(...t)}function wn(){return!!ln&&/mac|iphone|ipad|ipod/i.test(navigator.platform)}function yn(){return ln&&wn()&&/apple/i.test(navigator.vendor)}function bn(e){return Boolean(e.currentTarget&&!un(e.currentTarget,e.target))}function Cn(e){return e.target===e.currentTarget}function Sn(e,t){const n=new FocusEvent("blur",t),r=e.dispatchEvent(n),a=$t(Yt({},t),{bubbles:!0});return e.dispatchEvent(new FocusEvent("focusout",a)),r}function kn(e,t){const n=new MouseEvent("click",t);return e.dispatchEvent(n)}function In(e,t){const n=t||e.currentTarget,r=e.relatedTarget;return!r||!un(n,r)}function xn(e,t,n){const r=requestAnimationFrame((()=>{e.removeEventListener(t,a,!0),n()})),a=()=>{cancelAnimationFrame(r),n()};return e.addEventListener(t,a,{once:!0,capture:!0}),r}function Dn(e,t,n,r=window){const a=[];try{r.document.addEventListener(e,t,n);for(const o of Array.from(r.frames))a.push(Dn(e,t,n,o))}catch(e){}return()=>{try{r.document.removeEventListener(e,t,n)}catch(e){}a.forEach((e=>e()))}}var Tn=Rt({},a),On=Tn.useId,An=(Tn.useDeferredValue,Tn.useInsertionEffect),Pn=ln?r.useLayoutEffect:r.useEffect;function Mn(e){const t=(0,r.useRef)((()=>{throw new Error("Cannot call an event handler while rendering.")}));return An?An((()=>{t.current=e})):t.current=e,(0,r.useCallback)(((...e)=>{var n;return null==(n=t.current)?void 0:n.call(t,...e)}),[])}function Fn(...e){return(0,r.useMemo)((()=>{if(e.some(Boolean))return t=>{e.forEach((e=>function(e,t){"function"==typeof e?e(t):e&&(e.current=t)}(e,t)))}}),e)}function Nn(e){if(On){const t=On();return e||t}const[t,n]=(0,r.useState)(e);return Pn((()=>{if(e||t)return;const r=Math.random().toString(36).substr(2,6);n(`id-${r}`)}),[e,t]),e||t}function Vn(e,t){const n=e=>{if("string"==typeof e)return e},[a,o]=(0,r.useState)((()=>n(t)));return Pn((()=>{const r=e&&"current"in e?e.current:e;o((null==r?void 0:r.tagName.toLowerCase())||n(t))}),[e,t]),a}function Ln(e,t){const n=(0,r.useRef)(!1);(0,r.useEffect)((()=>{if(n.current)return e();n.current=!0}),t),(0,r.useEffect)((()=>()=>{n.current=!1}),[])}function Rn(e){return Mn("function"==typeof e?e:()=>e)}function zn(e,t,n=[]){const a=(0,r.useCallback)((n=>(e.wrapElement&&(n=e.wrapElement(n)),t(n))),[...n,e.wrapElement]);return zt(Rt({},e),{wrapElement:a})}Symbol("setNextState");var Bn=!1,Hn=0,jn=0;function Kn(e){(function(e){const t=e.movementX||e.screenX-Hn,n=e.movementY||e.screenY-jn;return Hn=e.screenX,jn=e.screenY,t||n||!1})(e)&&(Bn=!0)}function Gn(){Bn=!1}var Un=n(848);function Wn(e){return r.forwardRef(((t,n)=>e(Rt({ref:n},t))))}function qn(e){const t=Wn(e);return r.memo(t)}function Yn(e,t){const n=t,{as:a,wrapElement:o,render:i}=n,l=Bt(n,["as","wrapElement","render"]);let s;const c=Fn(t.ref,function(e){return function(e){return!!e&&!!(0,r.isValidElement)(e)&&"ref"in e}(e)?e.ref:null}(i));if(a&&"string"!=typeof a)s=(0,Un.jsx)(a,zt(Rt({},l),{render:i}));else if(r.isValidElement(i)){const e=zt(Rt({},i.props),{ref:c});s=r.cloneElement(i,function(e,t){const n=Rt({},e);for(const r in t){if(!Zt(t,r))continue;if("className"===r){const r="className";n[r]=e[r]?`${e[r]} ${t[r]}`:t[r];continue}if("style"===r){const r="style";n[r]=e[r]?Rt(Rt({},e[r]),t[r]):t[r];continue}const a=t[r];if("function"==typeof a&&r.startsWith("on")){const t=e[r];if("function"==typeof t){n[r]=(...e)=>{a(...e),t(...e)};continue}}n[r]=a}return n}(l,e))}else if(i)s=i(l);else if("function"==typeof t.children){const e=l,{children:n}=e,r=Bt(e,["children"]);s=t.children(r)}else s=a?(0,Un.jsx)(a,Rt({},l)):(0,Un.jsx)(e,Rt({},l));return o?o(s):s}function $n(e){return(t={})=>{const n=e(t),r={};for(const e in n)Zt(n,e)&&void 0!==n[e]&&(r[e]=n[e]);return r}}function Qn(e=[],t=[]){const n=r.createContext(void 0),a=r.createContext(void 0),o=()=>r.useContext(n),i=t=>e.reduceRight(((e,n)=>(0,Un.jsx)(n,zt(Rt({},t),{children:e}))),(0,Un.jsx)(n.Provider,Rt({},t)));return{context:n,scopedContext:a,useContext:o,useScopedContext:(e=!1)=>{const t=r.useContext(a),n=o();return e?t:t||n},useProviderContext:()=>{const e=r.useContext(a),t=o();if(!e||e!==t)return t},ContextProvider:i,ScopedContextProvider:e=>(0,Un.jsx)(i,zt(Rt({},e),{children:t.reduceRight(((t,n)=>(0,Un.jsx)(n,zt(Rt({},e),{children:t}))),(0,Un.jsx)(a.Provider,Rt({},e)))}))}}var Xn=Qn(),Zn=Xn.useContext,Jn=(Xn.useScopedContext,Xn.useProviderContext,Qn([Xn.ContextProvider],[Xn.ScopedContextProvider])),er=Jn.useContext,tr=(Jn.useScopedContext,Jn.useProviderContext),nr=Jn.ContextProvider,rr=Jn.ScopedContextProvider,ar=(0,r.createContext)(void 0),or=(0,r.createContext)(void 0),ir="";function lr(){ir=""}function sr(e,t){var n;const r=(null==(n=e.element)?void 0:n.textContent)||e.children;return!!r&&en(r).trim().toLowerCase().startsWith(t.toLowerCase())}var cr=$n((e=>{var t=e,{store:n,typeahead:a=!0}=t,o=Bt(t,["store","typeahead"]);const i=er();nn(n=n||i,!1);const l=o.onKeyDownCapture,s=(0,r.useRef)(0),c=Mn((e=>{if(null==l||l(e),e.defaultPrevented)return;if(!a)return;if(!n)return;const{items:t,activeId:r}=n.getState();if(!function(e){const t=e.target;return(!t||!fn(t))&&(!(" "!==e.key||!ir.length)||1===e.key.length&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&/^[\p{Letter}\p{Number}]$/u.test(e.key))}(e))return lr();let o=function(e){return e.filter((e=>!e.disabled))}(t);if(!function(e,t){if(Cn(e))return!0;const n=e.target;return!!n&&t.some((e=>e.element===n))}(e,o))return lr();e.preventDefault(),window.clearTimeout(s.current),s.current=window.setTimeout((()=>{ir=""}),500);const i=e.key.toLowerCase();ir+=i,o=function(e,t,n){if(!n)return e;const r=e.find((e=>e.id===n));return r&&sr(r,t)?ir!==t&&sr(r,ir)?e:(ir=t,function(e,t,n=!1){const r=e.findIndex((e=>e.id===t));return[...e.slice(r+1),...n?[xt]:[],...e.slice(0,r)]}(e.filter((e=>sr(e,ir))),n).filter((e=>e.id!==n))):e}(o,i,r);const c=o.find((e=>sr(e,ir)));c?n.move(c.id):lr()}));return zt(Rt({},o),{onKeyDownCapture:c})})),ur=Wn((e=>Yn("div",cr(e))));function dr(e){return!!pn(e,"input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false'])")&&!!function(e){const t=e;return t.offsetWidth>0||t.offsetHeight>0||e.getClientRects().length>0}(e)&&!function(e,t){if("closest"in e)return e.closest(t);do{if(pn(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null}(e,"[inert]")}function mr(e){const t=cn(e);if(!t)return!1;if(t===e)return!0;const n=t.getAttribute("aria-activedescendant");return!!n&&n===e.id}function pr(e){const t=cn(e);if(!t)return!1;if(un(e,t))return!0;const n=t.getAttribute("aria-activedescendant");return!!n&&"id"in e&&(n===e.id||!!e.querySelector(`#${CSS.escape(n)}`))}function fr(e){const t=e.relatedTarget;return(null==t?void 0:t.nodeType)===Node.ELEMENT_NODE?t:null}var hr=Symbol("composite-hover"),vr=$n((e=>{var t=e,{store:n,focusOnHover:a=!0,blurOnHoverEnd:o=!!a}=t,i=Bt(t,["store","focusOnHover","blurOnHoverEnd"]);const l=er();nn(n=n||l,!1);const s=((0,r.useEffect)((()=>{Dn("mousemove",Kn,!0),Dn("mousedown",Gn,!0),Dn("mouseup",Gn,!0),Dn("keydown",Gn,!0),Dn("scroll",Gn,!0)}),[]),Mn((()=>Bn))),c=i.onMouseMove,u=Rn(a),d=Mn((e=>{if(null==c||c(e),!e.defaultPrevented&&s()&&u(e)){if(!pr(e.currentTarget)){const e=null==n?void 0:n.getState().baseElement;e&&!mr(e)&&e.focus()}null==n||n.setActiveId(e.currentTarget.id)}})),m=i.onMouseLeave,p=Rn(o),f=Mn((e=>{var t;null==m||m(e),e.defaultPrevented||s()&&(function(e){const t=fr(e);return!!t&&un(e.currentTarget,t)}(e)||function(e){let t=fr(e);if(!t)return!1;do{if(Zt(t,hr)&&t[hr])return!0;t=t.parentElement}while(t);return!1}(e)||u(e)&&p(e)&&(null==n||n.setActiveId(null),null==(t=null==n?void 0:n.getState().baseElement)||t.focus()))})),h=(0,r.useCallback)((e=>{e&&(e[hr]=!0)}),[]);return zt(Rt({},i),{ref:Fn(h,i.ref),onMouseMove:d,onMouseLeave:f})})),gr=qn((e=>Yn("div",vr(e))));function Er(e,t){const n=e.__unstableInternals;return nn(n,"Invalid store"),n[t]}function wr(e,...t){let n=e,r=n,a=Symbol(),o=Xt;const i=new Set,l=new Set,s=new Set,c=new Set,u=new Set,d=new WeakMap,m=new WeakMap,p=(e,t,n=c)=>(n.add(t),m.set(t,e),()=>{var e;null==(e=d.get(t))||e(),d.delete(t),m.delete(t),n.delete(t)}),f=(e,o,i=!1)=>{if(!Zt(n,e))return;const s=(p=o,f=n[e],function(e){return"function"==typeof e}(p)?p(function(e){return"function"==typeof e}(f)?f():f):p);var p,f;if(s===n[e])return;i||t.forEach((t=>{var n;null==(n=null==t?void 0:t.setState)||n.call(t,e,s)}));const h=n;n=$t(Yt({},n),{[e]:s});const v=Symbol();a=v,l.add(e);const g=(t,r,a)=>{var o;const i=m.get(t);i&&!i.some((t=>a?a.has(t):t===e))||(null==(o=d.get(t))||o(),d.set(t,t(n,r)))};c.forEach((e=>{g(e,h)})),queueMicrotask((()=>{if(a!==v)return;const e=n;u.forEach((e=>{g(e,r,l)})),r=e,l.clear()}))},h={getState:()=>n,setState:f,__unstableInternals:{setup:e=>(s.add(e),()=>s.delete(e)),init:()=>{const e=i.size,r=Symbol();i.add(r);const a=()=>{i.delete(r),i.size||o()};if(e)return a;const l=(c=n,Object.keys(c)).map((e=>Jt(...t.map((t=>{var n;const r=null==(n=null==t?void 0:t.getState)?void 0:n.call(t);if(r&&Zt(r,e))return _r(t,[e],(t=>{f(e,t[e],!0)}))})))));var c;const u=[];s.forEach((e=>u.push(e())));const d=t.map(br);return o=Jt(...l,...u,...d),a},subscribe:(e,t)=>p(e,t),sync:(e,t)=>(d.set(t,t(n,n)),p(e,t)),batch:(e,t)=>(d.set(t,t(n,r)),p(e,t,u)),pick:e=>wr(function(e,t){const n={};for(const r of t)Zt(e,r)&&(n[r]=e[r]);return n}(n,e),h),omit:e=>wr(function(e,t){const n=Yt({},e);for(const e of t)Zt(n,e)&&delete n[e];return n}(n,e),h)}};return h}function yr(e,...t){if(e)return Er(e,"setup")(...t)}function br(e,...t){if(e)return Er(e,"init")(...t)}function Cr(e,...t){if(e)return Er(e,"subscribe")(...t)}function _r(e,...t){if(e)return Er(e,"sync")(...t)}function Sr(e,...t){if(e)return Er(e,"batch")(...t)}function kr(e,...t){if(e)return Er(e,"omit")(...t)}function Ir(...e){const t=e.reduce(((e,t)=>{var n;const r=null==(n=null==t?void 0:t.getState)?void 0:n.call(t);return r?Yt(Yt({},e),r):e}),{});return wr(t,...e)}var xr=n(888),{useSyncExternalStore:Dr}=xr,Tr=()=>()=>{};function Or(e,t=tn){const n=r.useCallback((t=>e?Cr(e,null,t):Tr()),[e]),a=()=>{const n="string"==typeof t?t:null,r="function"==typeof t?t:null,a=null==e?void 0:e.getState();return r?r(a):a&&n&&Zt(a,n)?a[n]:void 0};return Dr(n,a,a)}function Ar(e,t,n,a){const o=Zt(t,n)?t[n]:void 0,i=a?t[a]:void 0,l=function(e){const t=(0,r.useRef)(e);return Pn((()=>{t.current=e})),t}({value:o,setValue:i});Pn((()=>_r(e,[n],((e,t)=>{const{value:r,setValue:a}=l.current;a&&e[n]!==t[n]&&e[n]!==r&&a(e[n])}))),[e,n]),Pn((()=>{if(void 0!==o)return e.setState(n,o),Sr(e,[n],(()=>{void 0!==o&&e.setState(n,o)}))}))}function Pr(e,t,n){return Ar(e=function(e,t,n){return Ln(t,[n.store]),Ar(e,n,"items","setItems"),e}(e,t,n),n,"activeId","setActiveId"),Ar(e,n,"includesBaseElement"),Ar(e,n,"virtualFocus"),Ar(e,n,"orientation"),Ar(e,n,"rtl"),Ar(e,n,"focusLoop"),Ar(e,n,"focusWrap"),Ar(e,n,"focusShift"),e}function Mr(e,t,n){return function(e,t,n){return Ln(t,[n.store,n.disclosure]),Ar(e,n,"open","setOpen"),Ar(e,n,"mounted","setMounted"),Ar(e,n,"animated"),e}(e,t,n)}function Fr(e={}){var t;e.store;const n=null==(t=e.store)?void 0:t.getState(),r=an(e.items,null==n?void 0:n.items,e.defaultItems,[]),a=new Map(r.map((e=>[e.id,e]))),o={items:r,renderedItems:an(null==n?void 0:n.renderedItems,[])},i=function(e){return null==e?void 0:e.__unstablePrivateStore}(e.store),l=wr({items:r,renderedItems:o.renderedItems},i),s=wr(o,e.store),c=e=>{const t=function(e){const t=e.map(((e,t)=>[t,e]));let n=!1;return t.sort((([e,t],[r,a])=>{const o=t.element,i=a.element;return o===i?0:o&&i?function(e,t){return Boolean(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}(o,i)?(e>r&&(n=!0),-1):(e<r&&(n=!0),1):0})),n?t.map((([e,t])=>t)):e}(e);l.setState("renderedItems",t),s.setState("renderedItems",t)};yr(s,(()=>br(l))),yr(l,(()=>Sr(l,["items"],(e=>{s.setState("items",e.items)})))),yr(l,(()=>Sr(l,["renderedItems"],(e=>{let t=!0,n=requestAnimationFrame((()=>{const{renderedItems:t}=s.getState();e.renderedItems!==t&&c(e.renderedItems)}));if("function"!=typeof IntersectionObserver)return()=>cancelAnimationFrame(n);const r=function(e){var t;const n=e.find((e=>!!e.element)),r=[...e].reverse().find((e=>!!e.element));let a=null==(t=null==n?void 0:n.element)?void 0:t.parentElement;for(;a&&(null==r?void 0:r.element);){if(r&&a.contains(r.element))return a;a=a.parentElement}return sn(a).body}(e.renderedItems),a=new IntersectionObserver((()=>{t?t=!1:(cancelAnimationFrame(n),n=requestAnimationFrame((()=>c(e.renderedItems))))}),{root:r});for(const t of e.renderedItems)t.element&&a.observe(t.element);return()=>{cancelAnimationFrame(n),a.disconnect()}}))));const u=(e,t,n=!1)=>{let r;return t((t=>{const n=t.findIndex((({id:t})=>t===e.id)),o=t.slice();if(-1!==n){r=t[n];const i=Yt(Yt({},r),e);o[n]=i,a.set(e.id,i)}else o.push(e),a.set(e.id,e);return o})),()=>{t((t=>{if(!r)return n&&a.delete(e.id),t.filter((({id:t})=>t!==e.id));const o=t.findIndex((({id:t})=>t===e.id));if(-1===o)return t;const i=t.slice();return i[o]=r,a.set(e.id,r),i}))}},d=e=>u(e,(e=>l.setState("items",e)),!0);return $t(Yt({},s),{registerItem:d,renderItem:e=>Jt(d(e),u(e,(e=>l.setState("renderedItems",e)))),item:e=>{if(!e)return null;let t=a.get(e);if(!t){const{items:n}=s.getState();t=n.find((t=>t.id===e)),t&&a.set(e,t)}return t||null},__unstablePrivateStore:l})}function Nr(e){const t=[];for(const n of e)t.push(...n);return t}function Vr(e){return e.slice().reverse()}var Lr={id:null};function Rr(e,t){return e.find((e=>t?!e.disabled&&e.id!==t:!e.disabled))}function zr(e,t){return e.filter((e=>e.rowId===t))}function Br(e){const t=[];for(const n of e){const e=t.find((e=>{var t;return(null==(t=e[0])?void 0:t.rowId)===n.rowId}));e?e.push(n):t.push([n])}return t}function Hr(e){let t=0;for(const{length:n}of e)n>t&&(t=n);return t}function jr(e,t,n){const r=Hr(e);for(const a of e)for(let e=0;e<r;e+=1){const r=a[e];if(!r||n&&r.disabled){const r=0===e&&n?Rr(a):a[e-1];a[e]=r&&t!==r.id&&n?r:{id:"__EMPTY_ITEM__",disabled:!0,rowId:null==r?void 0:r.rowId}}}return e}function Kr(e){const t=Br(e),n=Hr(t),r=[];for(let e=0;e<n;e+=1)for(const n of t){const t=n[e];t&&r.push($t(Yt({},t),{rowId:t.rowId?`${e}`:void 0}))}return r}var Gr=yn()&&ln&&!!navigator.maxTouchPoints;function Ur(e={}){var t;e.store;const n=null==(t=e.store)?void 0:t.getState(),r=an(e.activeId,null==n?void 0:n.activeId,e.defaultActiveId,null),a=function(e={}){var t;const n=null==(t=e.store)?void 0:t.getState(),r=Fr(e),a=an(e.activeId,null==n?void 0:n.activeId,e.defaultActiveId),o=wr($t(Yt({},r.getState()),{activeId:a,baseElement:an(null==n?void 0:n.baseElement,null),includesBaseElement:an(e.includesBaseElement,null==n?void 0:n.includesBaseElement,null===a),moves:an(null==n?void 0:n.moves,0),orientation:an(e.orientation,null==n?void 0:n.orientation,"both"),rtl:an(e.rtl,null==n?void 0:n.rtl,!1),virtualFocus:an(e.virtualFocus,null==n?void 0:n.virtualFocus,!1),focusLoop:an(e.focusLoop,null==n?void 0:n.focusLoop,!1),focusWrap:an(e.focusWrap,null==n?void 0:n.focusWrap,!1),focusShift:an(e.focusShift,null==n?void 0:n.focusShift,!1)}),r,e.store);yr(o,(()=>_r(o,["renderedItems","activeId"],(e=>{o.setState("activeId",(t=>{var n;return void 0!==t?t:null==(n=Rr(e.renderedItems))?void 0:n.id}))}))));const i=(e,t,n,r)=>{var a,i;const{activeId:l,rtl:s,focusLoop:c,focusWrap:u,includesBaseElement:d}=o.getState(),m=s&&"vertical"!==t?Vr(e):e;if(null==l)return null==(a=Rr(m))?void 0:a.id;const p=m.find((e=>e.id===l));if(!p)return null==(i=Rr(m))?void 0:i.id;const f=!!p.rowId,h=m.indexOf(p),v=m.slice(h+1),g=zr(v,p.rowId);if(void 0!==r){const e=function(e,t){return e.filter((e=>t?!e.disabled&&e.id!==t:!e.disabled))}(g,l),t=e.slice(r)[0]||e[e.length-1];return null==t?void 0:t.id}const E=function(e){return"vertical"===e?"horizontal":"horizontal"===e?"vertical":void 0}(f?t||"horizontal":t),w=c&&c!==E,y=f&&u&&u!==E;if(n=n||!f&&w&&d,w){const e=function(e,t,n=!1){const r=e.findIndex((e=>e.id===t));return[...e.slice(r+1),...n?[Lr]:[],...e.slice(0,r)]}(y&&!n?m:zr(m,p.rowId),l,n),t=Rr(e,l);return null==t?void 0:t.id}if(y){const e=Rr(n?g:v,l);return n?(null==e?void 0:e.id)||null:null==e?void 0:e.id}const b=Rr(g,l);return!b&&n?null:null==b?void 0:b.id};return $t(Yt(Yt({},r),o),{setBaseElement:e=>o.setState("baseElement",e),setActiveId:e=>o.setState("activeId",e),move:e=>{void 0!==e&&(o.setState("activeId",e),o.setState("moves",(e=>e+1)))},first:()=>{var e;return null==(e=Rr(o.getState().renderedItems))?void 0:e.id},last:()=>{var e;return null==(e=Rr(Vr(o.getState().renderedItems)))?void 0:e.id},next:e=>{const{renderedItems:t,orientation:n}=o.getState();return i(t,n,!1,e)},previous:e=>{var t;const{renderedItems:n,orientation:r,includesBaseElement:a}=o.getState(),l=!(null==(t=Rr(n))?void 0:t.rowId)&&a;return i(Vr(n),r,l,e)},down:e=>{const{activeId:t,renderedItems:n,focusShift:r,focusLoop:a,includesBaseElement:l}=o.getState(),s=r&&!e,c=Kr(Nr(jr(Br(n),t,s)));return i(c,"vertical",a&&"horizontal"!==a&&l,e)},up:e=>{const{activeId:t,renderedItems:n,focusShift:r,includesBaseElement:a}=o.getState(),l=r&&!e,s=Kr(Vr(Nr(jr(Br(n),t,l))));return i(s,"vertical",a,e)}})}($t(Yt({},e),{activeId:r,includesBaseElement:an(e.includesBaseElement,null==n?void 0:n.includesBaseElement,!0),orientation:an(e.orientation,null==n?void 0:n.orientation,"vertical"),focusLoop:an(e.focusLoop,null==n?void 0:n.focusLoop,!0),focusWrap:an(e.focusWrap,null==n?void 0:n.focusWrap,!0),virtualFocus:an(e.virtualFocus,null==n?void 0:n.virtualFocus,!Gr)})),o=function(e={}){var t=e,{popover:n}=t,r=Qt(t,["popover"]);const a=Ir(r.store,kr(n,["arrowElement","anchorElement","contentElement","popoverElement","disclosureElement"])),o=null==a?void 0:a.getState(),i=function(e={}){return function(e={}){const t=Ir(e.store,kr(e.disclosure,["contentElement","disclosureElement"])),n=null==t?void 0:t.getState(),r=an(e.open,null==n?void 0:n.open,e.defaultOpen,!1),a=an(e.animated,null==n?void 0:n.animated,!1),o=wr({open:r,animated:a,animating:!!a&&r,mounted:r,contentElement:an(null==n?void 0:n.contentElement,null),disclosureElement:an(null==n?void 0:n.disclosureElement,null)},t);return yr(o,(()=>_r(o,["animated","animating"],(e=>{e.animated||o.setState("animating",!1)})))),yr(o,(()=>Cr(o,["open"],(()=>{o.getState().animated&&o.setState("animating",!0)})))),yr(o,(()=>_r(o,["open","animating"],(e=>{o.setState("mounted",e.open||e.animating)})))),$t(Yt({},o),{setOpen:e=>o.setState("open",e),show:()=>o.setState("open",!0),hide:()=>o.setState("open",!1),toggle:()=>o.setState("open",(e=>!e)),stopAnimation:()=>o.setState("animating",!1),setContentElement:e=>o.setState("contentElement",e),setDisclosureElement:e=>o.setState("disclosureElement",e)})}(e)}($t(Yt({},r),{store:a})),l=an(r.placement,null==o?void 0:o.placement,"bottom"),s=wr($t(Yt({},i.getState()),{placement:l,currentPlacement:l,anchorElement:an(null==o?void 0:o.anchorElement,null),popoverElement:an(null==o?void 0:o.popoverElement,null),arrowElement:an(null==o?void 0:o.arrowElement,null),rendered:Symbol("rendered")}),i,a);return $t(Yt(Yt({},i),s),{setAnchorElement:e=>s.setState("anchorElement",e),setPopoverElement:e=>s.setState("popoverElement",e),setArrowElement:e=>s.setState("arrowElement",e),render:()=>s.setState("rendered",Symbol("rendered"))})}($t(Yt({},e),{placement:an(e.placement,null==n?void 0:n.placement,"bottom-start")})),i=an(e.value,null==n?void 0:n.value,e.defaultValue,""),l=an(e.selectedValue,null==n?void 0:n.selectedValue,e.defaultSelectedValue,""),s=Array.isArray(l),c=wr($t(Yt(Yt({},a.getState()),o.getState()),{value:i,selectedValue:l,resetValueOnSelect:an(e.resetValueOnSelect,null==n?void 0:n.resetValueOnSelect,s),resetValueOnHide:an(e.resetValueOnHide,null==n?void 0:n.resetValueOnHide,s),activeValue:null==n?void 0:n.activeValue}),a,o,e.store);return yr(c,(()=>_r(c,["resetValueOnHide","mounted"],(e=>{e.resetValueOnHide&&(e.mounted||c.setState("value",i))})))),yr(c,(()=>_r(c,["resetValueOnSelect","selectedValue"],(e=>{e.resetValueOnSelect&&c.setState("value",i)})))),yr(c,(()=>Sr(c,["mounted"],(e=>{e.mounted||(c.setState("activeId",r),c.setState("moves",0))})))),yr(c,(()=>_r(c,["moves","activeId"],((e,t)=>{e.moves===t.moves&&c.setState("activeValue",void 0)})))),yr(c,(()=>Sr(c,["moves","renderedItems"],((e,t)=>{if(e.moves===t.moves)return;const{activeId:n}=c.getState(),r=a.item(n);c.setState("activeValue",null==r?void 0:r.value)})))),$t(Yt(Yt(Yt({},o),a),c),{setValue:e=>c.setState("value",e),setSelectedValue:e=>c.setState("selectedValue",e)})}function Wr(e={}){const[t,n]=function(e,t){const[n,a]=r.useState((()=>e(t)));Pn((()=>br(n)),[n]);const o=r.useCallback((e=>Or(n,e)),[n]);return[r.useMemo((()=>zt(Rt({},n),{useState:o})),[n,o]),Mn((()=>{a((n=>e(Rt(Rt({},t),n.getState()))))}))]}(Ur,e);return function(e,t,n){return Ar(e=Pr(e=function(e,t,n){return Ln(t,[n.popover]),Ar(e=Mr(e,t,n),n,"placement"),e}(e,t,n),t,n),n,"value","setValue"),Ar(e,n,"selectedValue","setSelectedValue"),Ar(e,n,"resetValueOnHide"),Ar(e,n,"resetValueOnSelect"),e}(t,n,e)}var qr=Qn(),Yr=(qr.useContext,qr.useScopedContext,qr.useProviderContext),$r=Qn([qr.ContextProvider],[qr.ScopedContextProvider]),Qr=($r.useContext,$r.useScopedContext,$r.useProviderContext,$r.ContextProvider),Xr=$r.ScopedContextProvider,Zr=((0,r.createContext)(void 0),(0,r.createContext)(void 0),Qn([Qr],[Xr])),Jr=(Zr.useContext,Zr.useScopedContext,Zr.useProviderContext),ea=Zr.ContextProvider,ta=Zr.ScopedContextProvider,na=Qn([ea,nr],[ta,rr]),ra=(na.useContext,na.useScopedContext),aa=na.useProviderContext,oa=na.ContextProvider,ia=na.ScopedContextProvider,la=(0,r.createContext)(void 0),sa=(0,r.createContext)(!1);function ca(e={}){const t=Wr(e);return(0,Un.jsx)(oa,{value:t,children:e.children})}var ua=$n((e=>{var t=e,{store:n}=t,r=Bt(t,["store"]);const a=aa();nn(n=n||a,!1);const o=n.useState((e=>{var t;return null==(t=e.baseElement)?void 0:t.id}));return Rt({htmlFor:o},r)})),da=qn((e=>Yn("label",ua(e)))),ma=$n((e=>{var t=e,{store:n}=t,r=Bt(t,["store"]);const a=Jr();return n=n||a,zt(Rt({},r),{ref:Fn(null==n?void 0:n.setAnchorElement,r.ref)})}));Wn((e=>Yn("div",ma(e))));var pa=(0,r.createContext)(!0),fa=yn(),ha=["text","search","url","tel","email","password","number","date","month","week","time","datetime","datetime-local"];function va(e){return!("input"!==e.tagName.toLowerCase()||!e.type||"radio"!==e.type&&"checkbox"!==e.type)}function ga(e,t,n,r,a){return e?t?n&&!r?-1:void 0:n?a:a||0:a}function Ea(e,t){return Mn((n=>{null==e||e(n),n.defaultPrevented||t&&(n.stopPropagation(),n.preventDefault())}))}var wa=!0;function ya(e){const t=e.target;t&&"hasAttribute"in t&&(t.hasAttribute("data-focus-visible")||(wa=!1))}function ba(e){e.metaKey||e.ctrlKey||e.altKey||(wa=!0)}var Ca=$n((e=>{var t=e,{focusable:n=!0,accessibleWhenDisabled:a,autoFocus:o,onFocusVisible:i}=t,l=Bt(t,["focusable","accessibleWhenDisabled","autoFocus","onFocusVisible"]);const s=(0,r.useRef)(null);(0,r.useEffect)((()=>{n&&(Dn("mousedown",ya,!0),Dn("keydown",ba,!0))}),[n]),fa&&(0,r.useEffect)((()=>{if(!n)return;const e=s.current;if(!e)return;if(!va(e))return;const t=function(e){return"labels"in e?e.labels:null}(e);if(!t)return;const r=()=>queueMicrotask((()=>e.focus()));return t.forEach((e=>e.addEventListener("mouseup",r))),()=>{t.forEach((e=>e.removeEventListener("mouseup",r)))}}),[n]);const c=n&&rn(l),u=!!c&&!a,[d,m]=(0,r.useState)(!1);(0,r.useEffect)((()=>{n&&u&&d&&m(!1)}),[n,u,d]),(0,r.useEffect)((()=>{if(!n)return;if(!d)return;const e=s.current;if(!e)return;if("undefined"==typeof IntersectionObserver)return;const t=new IntersectionObserver((()=>{dr(e)||m(!1)}));return t.observe(e),()=>t.disconnect()}),[n,d]);const p=Ea(l.onKeyPressCapture,c),f=Ea(l.onMouseDownCapture,c),h=Ea(l.onClickCapture,c),v=l.onMouseDown,g=Mn((e=>{if(null==v||v(e),e.defaultPrevented)return;if(!n)return;const t=e.currentTarget;if(!fa)return;if(bn(e))return;if(!dn(t)&&!va(t))return;let r=!1;const a=()=>{r=!0};t.addEventListener("focusin",a,{capture:!0,once:!0}),xn(t,"mouseup",(()=>{t.removeEventListener("focusin",a,!0),r||function(e){!pr(e)&&dr(e)&&e.focus()}(t)}))})),E=(e,t)=>{if(t&&(e.currentTarget=t),!n)return;const r=e.currentTarget;r&&mr(r)&&(null==i||i(e),e.defaultPrevented||m(!0))},w=l.onKeyDownCapture,y=Mn((e=>{if(null==w||w(e),e.defaultPrevented)return;if(!n)return;if(d)return;if(e.metaKey)return;if(e.altKey)return;if(e.ctrlKey)return;if(!Cn(e))return;const t=e.currentTarget;queueMicrotask((()=>E(e,t)))})),b=l.onFocusCapture,C=Mn((e=>{if(null==b||b(e),e.defaultPrevented)return;if(!n)return;if(!Cn(e))return void m(!1);const t=e.currentTarget,r=()=>E(e,t);wa||function(e){const{tagName:t,readOnly:n,type:r}=e;return"TEXTAREA"===t&&!n||"SELECT"===t&&!n||("INPUT"!==t||n?!!e.isContentEditable:ha.includes(r))}(e.target)?queueMicrotask(r):function(e){return"combobox"===e.getAttribute("role")&&!!e.dataset.name}(e.target)?xn(e.target,"focusout",r):m(!1)})),_=l.onBlur,S=Mn((e=>{null==_||_(e),n&&In(e)&&m(!1)})),k=(0,r.useContext)(pa),I=Mn((e=>{n&&o&&e&&k&&queueMicrotask((()=>{mr(e)||dr(e)&&e.focus()}))})),x=Vn(s,l.as),D=n&&function(e){return!e||"button"===e||"input"===e||"select"===e||"textarea"===e||"a"===e}(x),T=n&&function(e){return!e||"button"===e||"input"===e||"select"===e||"textarea"===e}(x),O=u?Rt({pointerEvents:"none"},l.style):l.style;return zt(Rt({"data-focus-visible":n&&d?"":void 0,"data-autofocus":!!o||void 0,"aria-disabled":!!c||void 0},l),{ref:Fn(s,I,l.ref),style:O,tabIndex:ga(n,u,D,T,l.tabIndex),disabled:!(!T||!u)||void 0,contentEditable:c?void 0:l.contentEditable,onKeyPressCapture:p,onClickCapture:h,onMouseDownCapture:f,onMouseDown:g,onKeyDownCapture:y,onFocusCapture:C,onBlur:S})}));function _a(e,t,n){return Mn((r=>{var a;if(null==t||t(r),r.defaultPrevented)return;if(r.isPropagationStopped())return;if(!Cn(r))return;if(function(e){return"Shift"===e.key||"Control"===e.key||"Alt"===e.key||"Meta"===e.key}(r))return;if(function(e){const t=e.target;return!(t&&!fn(t)||1!==e.key.length||e.ctrlKey||e.metaKey)}(r))return;const o=e.getState(),i=null==(a=Dt(e,o.activeId))?void 0:a.element;if(!i)return;const l=r,{view:s}=l,c=Bt(l,["view"]);i!==(null==n?void 0:n.current)&&i.focus(),function(e,t,n){const r=new KeyboardEvent(t,n);return e.dispatchEvent(r)}(i,r.type,c)||r.preventDefault(),r.currentTarget.contains(i)&&r.stopPropagation()}))}Wn((e=>Yn("div",e=Ca(e))));var Sa=$n((e=>{var t=e,{store:n,composite:a=!0,focusOnMove:o=a,moveOnKeyPress:i=!0}=t,l=Bt(t,["store","composite","focusOnMove","moveOnKeyPress"]);const s=tr();nn(n=n||s,!1);const c=(0,r.useRef)(null),u=function(e){const[t,n]=(0,r.useState)(!1),a=(0,r.useCallback)((()=>n(!0)),[]),o=e.useState((t=>Dt(e,t.activeId)));return(0,r.useEffect)((()=>{const e=null==o?void 0:o.element;t&&e&&(n(!1),e.focus({preventScroll:!0}))}),[o,t]),a}(n),d=n.useState("moves");(0,r.useEffect)((()=>{var e;if(!n)return;if(!d)return;if(!a)return;if(!o)return;const{activeId:t}=n.getState(),r=null==(e=Dt(n,t))?void 0:e.element;var i;r&&("scrollIntoView"in(i=r)?(i.focus({preventScroll:!0}),i.scrollIntoView(Yt({block:"nearest",inline:"nearest"},undefined))):i.focus())}),[n,d,a,o]),Pn((()=>{if(!n)return;if(!d)return;if(!a)return;const{baseElement:e,activeId:t}=n.getState();if(null!==t)return;if(!e)return;const r=c.current;c.current=null,r&&Sn(r,{relatedTarget:e}),mr(e)||e.focus()}),[n,d,a]);const m=n.useState("activeId"),p=n.useState("virtualFocus");Pn((()=>{var e;if(!n)return;if(!a)return;if(!p)return;const t=c.current;if(c.current=null,!t)return;const r=(null==(e=Dt(n,m))?void 0:e.element)||cn(t);r!==t&&Sn(t,{relatedTarget:r})}),[n,m,p,a]);const f=_a(n,l.onKeyDownCapture,c),h=_a(n,l.onKeyUpCapture,c),v=l.onFocusCapture,g=Mn((e=>{if(null==v||v(e),e.defaultPrevented)return;if(!n)return;const{virtualFocus:t}=n.getState();if(!t)return;const r=e.relatedTarget,a=function(e){const t=e[Tt];return delete e[Tt],t}(e.currentTarget);Cn(e)&&a&&(e.stopPropagation(),c.current=r)})),E=l.onFocus,w=Mn((e=>{if(null==E||E(e),e.defaultPrevented)return;if(!a)return;if(!n)return;const{relatedTarget:t}=e,{virtualFocus:r}=n.getState();r?Cn(e)&&!Ot(n,t)&&queueMicrotask(u):Cn(e)&&n.setActiveId(null)})),y=l.onBlurCapture,b=Mn((e=>{var t;if(null==y||y(e),e.defaultPrevented)return;if(!n)return;const{virtualFocus:r,activeId:a}=n.getState();if(!r)return;const o=null==(t=Dt(n,a))?void 0:t.element,i=e.relatedTarget,l=Ot(n,i),s=c.current;c.current=null,Cn(e)&&l?(i===o?s&&s!==i&&Sn(s,e):o?Sn(o,e):s&&Sn(s,e),e.stopPropagation()):!Ot(n,e.target)&&o&&Sn(o,e)})),C=l.onKeyDown,_=Rn(i),S=Mn((e=>{var t;if(null==C||C(e),e.defaultPrevented)return;if(!n)return;if(!Cn(e))return;const{orientation:r,items:a,renderedItems:o,activeId:i}=n.getState(),l=Dt(n,i);if(null==(t=null==l?void 0:l.element)?void 0:t.isConnected)return;const s="horizontal"!==r,c="vertical"!==r,u=function(e){return e.some((e=>!!e.rowId))}(o);if(("ArrowLeft"===e.key||"ArrowRight"===e.key||"Home"===e.key||"End"===e.key)&&fn(e.currentTarget))return;const d={ArrowUp:(u||s)&&(()=>{if(u){const e=a&&function(e){return function(e,t){return e.find((e=>!e.disabled))}(Nr(Vr(function(e){const t=[];for(const n of e){const e=t.find((e=>{var t;return(null==(t=e[0])?void 0:t.rowId)===n.rowId}));e?e.push(n):t.push([n])}return t}(e))))}(a);return null==e?void 0:e.id}return null==n?void 0:n.last()}),ArrowRight:(u||c)&&n.first,ArrowDown:(u||s)&&n.first,ArrowLeft:(u||c)&&n.last,Home:n.first,End:n.last,PageUp:n.first,PageDown:n.last},m=d[e.key];if(m){const t=m();if(void 0!==t){if(!_(e))return;e.preventDefault(),n.move(t)}}}));l=zn(l,(e=>(0,Un.jsx)(nr,{value:n,children:e})),[n]);const k=n.useState((e=>{var t;if(n&&a&&e.virtualFocus)return null==(t=Dt(n,e.activeId))?void 0:t.id}));l=zt(Rt({"aria-activedescendant":k},l),{ref:Fn(a?n.setBaseElement:null,l.ref),onKeyDownCapture:f,onKeyUpCapture:h,onFocusCapture:g,onFocus:w,onBlurCapture:b,onKeyDown:S});const I=n.useState((e=>a&&(e.virtualFocus||null===e.activeId)));return Ca(Rt({focusable:I},l))}));Wn((e=>Yn("div",Sa(e))));const ka=window.ReactDOM;function Ia(e,t,n){if(!n)return!1;const r=e.find((e=>!e.disabled&&e.value));return(null==r?void 0:r.value)===t}function xa(e,t){return!!t&&null!=e&&(e=en(e),t.length>e.length&&0===t.toLowerCase().indexOf(e.toLowerCase()))}var Da=$n((e=>{var t=e,{store:n,focusable:a=!0,autoSelect:o=!1,getAutoSelectId:i,showOnChange:l=!0,setValueOnChange:s=!0,showOnMouseDown:c=!0,setValueOnClick:u=!0,showOnKeyDown:d=!0,moveOnKeyPress:m=!0,autoComplete:p="list"}=t,f=Bt(t,["store","focusable","autoSelect","getAutoSelectId","showOnChange","setValueOnChange","showOnMouseDown","setValueOnClick","showOnKeyDown","moveOnKeyPress","autoComplete"]);const h=aa();nn(n=n||h,!1);const v=(0,r.useRef)(null),[g,E]=(0,r.useReducer)((()=>[]),[]),w=(0,r.useRef)(!1),y=(0,r.useRef)(!1),b=n.useState((e=>!!o&&e.virtualFocus)),C="inline"===p||"both"===p,[_,S]=(0,r.useState)(C);!function(e,t){const n=(0,r.useRef)(!1);Pn((()=>{n.current?C&&S(!0):n.current=!0}),t),Pn((()=>()=>{n.current=!1}),[])}(0,[C]);const k=n.useState("value"),I=n.useState((e=>C&&_?e.activeValue:void 0)),x=n.useState("renderedItems"),D=n.useState("open"),T=n.useState("contentElement"),O=(0,r.useMemo)((()=>{if(!C)return k;if(!_)return k;if(Ia(x,I,b)){if(xa(k,I)){const e=(null==I?void 0:I.slice(k.length))||"";return k+e}return k}return I||k}),[C,_,x,I,b,k]);(0,r.useEffect)((()=>{const e=v.current;if(!e)return;const t=()=>S(!0);return e.addEventListener("combobox-item-move",t),()=>{e.removeEventListener("combobox-item-move",t)}}),[]),(0,r.useEffect)((()=>{C&&_&&I&&Ia(x,I,b)&&xa(k,I)&&queueMicrotask((()=>{const e=v.current;e&&En(e,k.length,I.length)}))}),[g,C,_,I,x,b,k]);const A=(0,r.useRef)(null),P=Mn(i),M=(0,r.useRef)(null);(0,r.useEffect)((()=>{if(!D)return;if(!T)return;const e=gn(T);if(!e)return;A.current=e;const t=()=>{w.current=!1},r=()=>{if(!n)return;if(!w.current)return;const{activeId:e}=n.getState();null!==e&&e!==M.current&&(w.current=!1)},a={passive:!0,capture:!0};return e.addEventListener("wheel",t,a),e.addEventListener("scroll",r,a),()=>{e.removeEventListener("wheel",t,!0),e.removeEventListener("scroll",r,!0)}}),[D,T,n]),Pn((()=>{k&&(y.current||(w.current=!0))}),[k]),Pn((()=>{D||(w.current=!1)}),[D]);const F=n.useState("resetValueOnSelect");Ln((()=>{var e;const t=w.current;if(!n)return;if(!(b&&t||F))return;const{baseElement:r,contentElement:a,activeId:o}=n.getState();if(!r||mr(r)){if(null==a?void 0:a.hasAttribute("data-placing")){const e=new MutationObserver(E);return e.observe(a,{attributeFilter:["data-placing"]}),()=>e.disconnect()}if(b&&t){const e=P(x),t=void 0!==e?e:n.first();M.current=t,n.move(null!=t?t:null)}else{const t=null==(e=n.item(o))?void 0:e.element;t&&"scrollIntoView"in t&&t.scrollIntoView({block:"nearest",inline:"nearest"})}}}),[n,g,k,b,F,P,x]),(0,r.useEffect)((()=>{if(!C)return;const e=v.current;if(!e)return;const t=[e,T].filter((e=>!!e)),r=e=>{t.every((t=>In(e,t)))&&(null==n||n.setValue(O))};return t.forEach((e=>e.addEventListener("focusout",r))),()=>{t.forEach((e=>e.removeEventListener("focusout",r)))}}),[C,T,n,O]);const N=f.onChange,V=Rn(l),L=Rn(s),R=Mn((e=>{if(null==N||N(e),e.defaultPrevented)return;if(!n)return;const{value:t,selectionStart:r,selectionEnd:a}=e.target,o=e.nativeEvent;if(w.current=!0,function(e){return"input"===e.type}(o)&&(o.isComposing&&(w.current=!1,y.current=!0),C)){const e="insertText"===o.inputType||"insertCompositionText"===o.inputType,n=r===t.length;S(e&&n)}if(L(e)){const o=t===n.getState().value;(0,ka.flushSync)((()=>null==n?void 0:n.setValue(t))),En(e.currentTarget,r,a),C&&b&&o&&E()}V(e)&&n.show(),b&&w.current||n.setActiveId(null)})),z=f.onCompositionEnd,B=Mn((e=>{w.current=!0,y.current=!1,null==z||z(e),e.defaultPrevented||b&&E()})),H=f.onMouseDown,j=Rn(u),K=Rn(c),G=Mn((e=>{null==H||H(e),e.defaultPrevented||e.button||e.ctrlKey||n&&(n.setActiveId(null),j(e)&&n.setValue(O),K(e)&&xn(e.currentTarget,"mouseup",n.show))})),U=f.onKeyDown,W=Rn(d),q=Mn((e=>{if(null==U||U(e),e.repeat||(w.current=!1),e.defaultPrevented)return;if(e.ctrlKey)return;if(e.altKey)return;if(e.shiftKey)return;if(e.metaKey)return;if(!n)return;const{open:t,activeId:r}=n.getState();t||null===r&&("ArrowUp"!==e.key&&"ArrowDown"!==e.key||W(e)&&(e.preventDefault(),n.show()))})),Y=f.onBlur,$=Mn((e=>{w.current=!1,null==Y||Y(e),e.defaultPrevented})),Q=Nn(f.id),X=function(e){return"inline"===e||"list"===e||"both"===e||"none"===e}(p)?p:void 0,Z=n.useState((e=>null===e.activeId));return f=zt(Rt({id:Q,role:"combobox","aria-autocomplete":X,"aria-haspopup":hn(T,"listbox"),"aria-expanded":D,"aria-controls":null==T?void 0:T.id,"data-active-item":Z||void 0,value:O},f),{ref:Fn(v,f.ref),onChange:R,onCompositionEnd:B,onMouseDown:G,onKeyDown:q,onBlur:$}),f=Sa(zt(Rt({store:n,focusable:a},f),{moveOnKeyPress:e=>!function(e,...t){const n="function"==typeof e?e(...t):e;return null!=n&&!n}(m,e)&&(C&&S(!0),!0)})),f=ma(Rt({store:n},f)),Rt({autoComplete:"off"},f)})),Ta=Wn((e=>Yn("input",Da(e))));function Oa(e,t){const n=setTimeout(t,e);return()=>clearTimeout(n)}function Aa(...e){return e.join(", ").split(", ").reduce(((e,t)=>{const n=1e3*parseFloat(t||"0s");return n>e?n:e}),0)}function Pa(e,t,n){return!(n||!1===t||e&&!t)}var Ma=$n((e=>{var t=e,{store:n,alwaysVisible:a}=t,o=Bt(t,["store","alwaysVisible"]);const i=Yr();nn(n=n||i,!1);const l=Nn(o.id),[s,c]=(0,r.useState)(null),u=n.useState("open"),d=n.useState("mounted"),m=n.useState("animated"),p=n.useState("contentElement");Pn((()=>{if(m){if(null==p?void 0:p.isConnected)return function(e){let t=requestAnimationFrame((()=>{t=requestAnimationFrame(e)}));return()=>cancelAnimationFrame(t)}((()=>{c(u?"enter":"leave")}));c(null)}}),[m,p,u]),Pn((()=>{if(!n)return;if(!m)return;if(!p)return;if(!s)return;if("enter"===s&&!u)return;if("leave"===s&&u)return;if("number"==typeof m)return Oa(m,n.stopAnimation);const{transitionDuration:e,animationDuration:t,transitionDelay:r,animationDelay:a}=getComputedStyle(p),o=Aa(r,a)+Aa(e,t);return o?Oa(o,n.stopAnimation):void 0}),[n,m,p,u,s]);const f=Pa(d,(o=zn(o,(e=>(0,Un.jsx)(Xr,{value:n,children:e})),[n])).hidden,a),h=f?zt(Rt({},o.style),{display:"none"}):o.style;return zt(Rt({id:l,"data-enter":"enter"===s?"":void 0,"data-leave":"leave"===s?"":void 0,hidden:f},o),{ref:Fn(l?n.setContentElement:null,o.ref),style:h})})),Fa=Wn((e=>Yn("div",Ma(e))));Wn((e=>{var t=e,{unmountOnHide:n}=t,r=Bt(t,["unmountOnHide"]);const a=Yr();return!1===Or(r.store||a,(e=>!n||(null==e?void 0:e.mounted)))?null:(0,Un.jsx)(Fa,Rt({},r))}));var Na=$n((e=>{var t=e,{store:n,focusable:a=!0,alwaysVisible:o}=t,i=Bt(t,["store","focusable","alwaysVisible"]);const l=aa();nn(n=n||l,!1);const s=(0,r.useRef)(null),c=Nn(i.id),u=i.onKeyDown,d=Mn((e=>{null==u||u(e),e.defaultPrevented||"Escape"===e.key&&(null==n||n.move(null))})),m=(0,r.useRef)(!1),p=i.onFocusVisible,f=Mn((e=>{if(null==p||p(e),e.defaultPrevented)return;if("focus"!==e.type)return;if(!n)return;const{virtualFocus:t}=n.getState();if(!t)return;const{relatedTarget:r,currentTarget:a}=e;r&&a.contains(r)||(m.current=!0,n.setState("virtualFocus",!1))})),h=i.onBlur,v=Mn((e=>{null==h||h(e),e.defaultPrevented||m.current&&In(e)&&(m.current=!1,null==n||n.setState("virtualFocus",!0))}));i=zn(i,(e=>(0,Un.jsx)(ia,{value:n,children:e})),[n]);const g=Pa(n.useState("mounted"),i.hidden,o),E=g?zt(Rt({},i.style),{display:"none"}):i.style,w=n.useState((e=>Array.isArray(e.selectedValue))),y=function(e,t,n){const[a,o]=(0,r.useState)(n);return Pn((()=>{const n=e&&"current"in e?e.current:e,r=null==n?void 0:n.getAttribute(t);null!=r&&o(r)}),[e,t]),a}(s,"role",i.role);return i=zt(Rt({id:c,hidden:g,role:"listbox",tabIndex:a?-1:void 0,"aria-multiselectable":("listbox"===y||"tree"===y||"grid"===y)&&w||void 0},i),{ref:Fn(c?n.setContentElement:null,s,i.ref),style:E,onKeyDown:d,onFocusVisible:f,onBlur:v}),Ca(Rt({focusable:a},i))})),Va=Wn((e=>Yn("div",Na(e))));function La(e){if(!e.isTrusted)return!1;const t=e.currentTarget;return"Enter"===e.key?dn(t)||"SUMMARY"===t.tagName||"A"===t.tagName:" "===e.key&&(dn(t)||"SUMMARY"===t.tagName||"INPUT"===t.tagName||"SELECT"===t.tagName)}var Ra=Symbol("command"),za=$n((e=>{var t=e,{clickOnEnter:n=!0,clickOnSpace:a=!0}=t,o=Bt(t,["clickOnEnter","clickOnSpace"]);const i=(0,r.useRef)(null),l=Vn(i,o.as),s=o.type,[c,u]=(0,r.useState)((()=>!!l&&dn({tagName:l,type:s})));(0,r.useEffect)((()=>{i.current&&u(dn(i.current))}),[]);const[d,m]=(0,r.useState)(!1),p=(0,r.useRef)(!1),f=rn(o),[h,v]=function(e,t,n){const a=e.onLoadedMetadataCapture,o=(0,r.useMemo)((()=>Object.assign((()=>{}),zt(Rt({},a),{[t]:n}))),[a,t,n]);return[null==a?void 0:a[t],{onLoadedMetadataCapture:o}]}(o,Ra,!0),g=o.onKeyDown,E=Mn((e=>{null==g||g(e);const t=e.currentTarget;if(e.defaultPrevented)return;if(h)return;if(f)return;if(!Cn(e))return;if(fn(t))return;if(t.isContentEditable)return;const r=n&&"Enter"===e.key,o=a&&" "===e.key,i="Enter"===e.key&&!n,l=" "===e.key&&!a;if(i||l)e.preventDefault();else if(r||o){const n=La(e);if(r){if(!n){e.preventDefault();const n=e,{view:r}=n,a=Bt(n,["view"]),o=()=>kn(t,a);ln&&/firefox\//i.test(navigator.userAgent)?xn(t,"keyup",o):queueMicrotask(o)}}else o&&(p.current=!0,n||(e.preventDefault(),m(!0)))}})),w=o.onKeyUp,y=Mn((e=>{if(null==w||w(e),e.defaultPrevented)return;if(h)return;if(f)return;if(e.metaKey)return;const t=a&&" "===e.key;if(p.current&&t&&(p.current=!1,!La(e))){e.preventDefault(),m(!1);const t=e.currentTarget,n=e,{view:r}=n,a=Bt(n,["view"]);queueMicrotask((()=>kn(t,a)))}}));return o=zt(Rt(Rt({"data-active":d?"":void 0,type:c?"button":void 0},v),o),{ref:Fn(i,o.ref),onKeyDown:E,onKeyUp:y}),Ca(o)}));Wn((e=>Yn("button",e=za(e))));var Ba=$n((e=>{var t=e,{store:n,shouldRegisterItem:a=!0,getItem:o=tn,element:i}=t,l=Bt(t,["store","shouldRegisterItem","getItem","element"]);const s=Zn();n=n||s;const c=Nn(l.id),u=(0,r.useRef)(i);return(0,r.useEffect)((()=>{const e=u.current;if(!c)return;if(!e)return;if(!a)return;const t=o({id:c,element:e});return null==n?void 0:n.renderItem(t)}),[c,a,o,n]),zt(Rt({},l),{ref:Fn(u,l.ref)})}));function Ha(e,t=!1){const{top:n}=e.getBoundingClientRect();return t?n+e.clientHeight:n}function ja(e,t,n,r=!1){var a;if(!t)return;if(!n)return;const{renderedItems:o}=t.getState(),i=gn(e);if(!i)return;const l=function(e,t=!1){const n=e.clientHeight,{top:r}=e.getBoundingClientRect(),a=1.5*Math.max(.875*n,n-40),o=t?n-a+r:a+r;return"HTML"===e.tagName?o+e.scrollTop:o}(i,r);let s,c;for(let e=0;e<o.length;e+=1){const o=s;if(s=n(e),!s)break;if(s===o)continue;const i=null==(a=Dt(t,s))?void 0:a.element;if(!i)continue;const u=Ha(i,r)-l,d=Math.abs(u);if(r&&u<=0||!r&&u>=0){void 0!==c&&c<d&&(s=o);break}c=d}return s}Wn((e=>Yn("div",Ba(e))));var Ka=$n((e=>{var t=e,{store:n,rowId:a,preventScrollOnKeyDown:o=!1,moveOnKeyPress:i=!0,tabbable:l=!1,getItem:s,"aria-setsize":c,"aria-posinset":u}=t,d=Bt(t,["store","rowId","preventScrollOnKeyDown","moveOnKeyPress","tabbable","getItem","aria-setsize","aria-posinset"]);const m=er();n=n||m;const p=Nn(d.id),f=(0,r.useRef)(null),h=(0,r.useContext)(or),v=Or(n,(e=>a||(e&&(null==h?void 0:h.baseElement)&&h.baseElement===e.baseElement?h.id:void 0))),g=rn(d)&&!d.accessibleWhenDisabled,E=(0,r.useCallback)((e=>{const t=zt(Rt({},e),{id:p||e.id,rowId:v,disabled:!!g});return s?s(t):t}),[p,v,g,s]),w=d.onFocus,y=(0,r.useRef)(!1),b=Mn((e=>{if(null==w||w(e),e.defaultPrevented)return;if(bn(e))return;if(!p)return;if(!n)return;const{activeId:t,virtualFocus:r,baseElement:a}=n.getState();var o;(function(e,t){return!Cn(e)&&Ot(t,e.target)})(e,n)||(t!==p&&n.setActiveId(p),r&&Cn(e)&&((o=e.currentTarget).isContentEditable||fn(o)||"INPUT"===o.tagName&&!dn(o)||(null==a?void 0:a.isConnected)&&(y.current=!0,e.relatedTarget===a||Ot(n,e.relatedTarget)?function(e){e[Tt]=!0,e.focus({preventScroll:!0})}(a):a.focus())))})),C=d.onBlurCapture,_=Mn((e=>{if(null==C||C(e),e.defaultPrevented)return;const t=null==n?void 0:n.getState();(null==t?void 0:t.virtualFocus)&&y.current&&(y.current=!1,e.preventDefault(),e.stopPropagation())})),S=d.onKeyDown,k=Rn(o),I=Rn(i),x=Mn((e=>{if(null==S||S(e),e.defaultPrevented)return;if(!Cn(e))return;if(!n)return;const{currentTarget:t}=e,r=n.getState(),a=n.item(p),o=!!(null==a?void 0:a.rowId),i="horizontal"!==r.orientation,l="vertical"!==r.orientation,s=()=>!(!o&&!l&&r.baseElement&&fn(r.baseElement)),c={ArrowUp:(o||i)&&n.up,ArrowRight:(o||l)&&n.next,ArrowDown:(o||i)&&n.down,ArrowLeft:(o||l)&&n.previous,Home:()=>{if(s())return!o||e.ctrlKey?null==n?void 0:n.first():null==n?void 0:n.previous(-1)},End:()=>{if(s())return!o||e.ctrlKey?null==n?void 0:n.last():null==n?void 0:n.next(-1)},PageUp:()=>ja(t,n,null==n?void 0:n.up,!0),PageDown:()=>ja(t,n,null==n?void 0:n.down)}[e.key];if(c){const t=c();if(k(e)||void 0!==t){if(!I(e))return;e.preventDefault(),n.move(t)}}})),D=Or(n,(e=>(null==e?void 0:e.baseElement)||void 0)),T=(0,r.useMemo)((()=>({id:p,baseElement:D})),[p,D]);d=zn(d,(e=>(0,Un.jsx)(ar.Provider,{value:T,children:e})),[T]);const O=Or(n,(e=>!!e&&e.activeId===p)),A=Or(n,"virtualFocus"),P=function(e,t){const n=t.role,[a,o]=(0,r.useState)(n);return Pn((()=>{const t=e.current;t&&o(t.getAttribute("role")||n)}),[n]),a}(f,d);let M;O&&(function(e){return"option"===e||"treeitem"===e}(P)||A&&function(e){return"option"===e||"tab"===e||"treeitem"===e||"gridcell"===e||"row"===e||"columnheader"===e||"rowheader"===e}(P))&&(M=!0);const F=Or(n,(e=>null!=c?c:e&&(null==h?void 0:h.ariaSetSize)&&h.baseElement===e.baseElement?h.ariaSetSize:void 0)),N=Or(n,(e=>{if(null!=u)return u;if(!e)return;if(!(null==h?void 0:h.ariaPosInSet))return;if(h.baseElement!==e.baseElement)return;const t=e.renderedItems.filter((e=>e.rowId===v));return h.ariaPosInSet+t.findIndex((e=>e.id===p))})),V=Or(n,(e=>!(null==e?void 0:e.renderedItems.length)||!e.virtualFocus&&(!!l||e.activeId===p)));return d=zt(Rt({id:p,"aria-selected":M,"data-active-item":O?"":void 0},d),{ref:Fn(f,d.ref),tabIndex:V?d.tabIndex:-1,onFocus:b,onBlurCapture:_,onKeyDown:x}),d=za(d),d=Ba(zt(Rt({store:n},d),{getItem:E,shouldRegisterItem:!!p&&d.shouldRegisterItem})),zt(Rt({},d),{"aria-setsize":F,"aria-posinset":N})}));qn((e=>Yn("button",Ka(e))));var Ga=$n((e=>{var t=e,{store:n,value:a,hideOnClick:o,selectValueOnClick:i=!0,setValueOnClick:l,focusOnHover:s=!1,moveOnKeyPress:c=!0,getItem:u}=t,d=Bt(t,["store","value","hideOnClick","selectValueOnClick","setValueOnClick","focusOnHover","moveOnKeyPress","getItem"]);const m=ra();nn(n=n||m,!1);const p=(0,r.useCallback)((e=>{const t=zt(Rt({},e),{value:a});return u?u(t):t}),[a,u]),f=n.useState((e=>Array.isArray(e.selectedValue)));l=null!=l?l:!f,o=null!=o?o:null!=a&&!f;const h=d.onClick,v=Rn(l),g=Rn(i),E=Rn(o),w=Mn((e=>{null==h||h(e),e.defaultPrevented||function(e){const t=e.currentTarget;if(!t)return!1;const n=t.tagName.toLowerCase();return!!e.altKey&&("a"===n||"button"===n&&"submit"===t.type||"input"===n&&"submit"===t.type)}(e)||function(e){const t=e.currentTarget;if(!t)return!1;const n=wn();if(n&&!e.metaKey)return!1;if(!n&&!e.ctrlKey)return!1;const r=t.tagName.toLowerCase();return"a"===r||"button"===r&&"submit"===t.type||"input"===r&&"submit"===t.type}(e)||(null!=a&&(g(e)&&(null==n||n.setSelectedValue((e=>Array.isArray(e)?e.includes(a)?e.filter((e=>e!==a)):[...e,a]:a))),v(e)&&(null==n||n.setValue(a))),E(e)&&(null==n||n.move(null),null==n||n.hide()))})),y=d.onKeyDown,b=Mn((e=>{if(null==y||y(e),e.defaultPrevented)return;const t=null==n?void 0:n.getState().baseElement;t&&(mr(t)||(1===e.key.length||"Backspace"===e.key||"Delete"===e.key)&&(queueMicrotask((()=>t.focus())),fn(t)&&(null==n||n.setValue(t.value))))})),C=n.useState((e=>function(e,t){if(null!=t)return null!=e&&(Array.isArray(e)?e.includes(t):e===t)}(e.selectedValue,a)));f&&null!=C&&(d=Rt({"aria-selected":C},d)),d=zn(d,(e=>(0,Un.jsx)(la.Provider,{value:a,children:(0,Un.jsx)(sa.Provider,{value:null!=C&&C,children:e})})),[a,C]);const _=n.useState("contentElement");d=zt(Rt({role:vn(_),children:a},d),{onClick:w,onKeyDown:b});const S=Rn(c);return d=Ka(zt(Rt({store:n},d),{getItem:p,moveOnKeyPress:e=>{if(!S(e))return!1;const t=new Event("combobox-item-move"),r=null==n?void 0:n.getState().baseElement;return null==r||r.dispatchEvent(t),!0}})),vr(Rt({store:n,focusOnHover:s},d))})),Ua=qn((e=>Yn("div",Ga(e))));function Wa(e){return en(e).toLowerCase()}var qa=$n((e=>{var t=e,{store:n,value:a}=t,o=Bt(t,["store","value"]);const i=ra();n=n||i;const l=(0,r.useContext)(la),s=null!=a?a:l;nn(n,!1);const c=n.useState((e=>s&&e.value?e.value:void 0)),u=(0,r.useMemo)((()=>s&&c?function(e,t){t=Wa(t);let n=Wa(e).indexOf(t);const r=[];for(;-1!==n;)0!==n&&r.push((0,Un.jsx)("span",{"data-autocomplete-value":"",children:e.substr(0,n)},r.length)),r.push((0,Un.jsx)("span",{"data-user-value":"",children:e.substr(n,t.length)},r.length)),n=Wa(e=e.substr(n+t.length)).indexOf(t);return e&&r.push((0,Un.jsx)("span",{"data-autocomplete-value":"",children:e},r.length)),r}(s,c):s),[s,c]);return Rt({children:u},o)})),Ya=Wn((e=>Yn("span",qa(e)))),$a=n(731),Qa=n.n($a);const Xa=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z"})),Za=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"})),{CompositeV2:Ja,CompositeItemV2:eo,useCompositeStoreV2:to}=ie(l.privateApis),no=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Circle,{cx:12,cy:12,r:3}));function ro(e=""){return Qa()(e.trim().toLowerCase())}const ao=[],oo=(e,t)=>e.singleSelection?t?.value:Array.isArray(t?.value)?t.value:!Array.isArray(t?.value)&&t?.value?[t.value]:ao,io=(e,t,n)=>e.singleSelection?n:Array.isArray(t?.value)?t.value.includes(n)?t.value.filter((e=>e!==n)):[...t.value,n]:[n];function lo({view:e,filter:t,onChangeView:n}){const a=to({virtualFocus:!0,focusLoop:!0,defaultActiveId:1===t.operators?.length?void 0:null}),o=e.filters.find((e=>e.field===t.field)),i=oo(t,o);return(0,r.createElement)(Ja,{store:a,role:"listbox",className:"dataviews-search-widget-listbox","aria-label":(0,A.sprintf)(/* translators: List of items for a filter. 1: Filter name. e.g.: "List of: Author". */ /* translators: List of items for a filter. 1: Filter name. e.g.: "List of: Author". */
    7 (0,A.__)("List of: %1$s"),t.name),onFocusVisible:()=>{a.getState().activeId||a.move(a.first())},render:(0,r.createElement)(ur,{store:a})},t.elements.map((s=>(0,r.createElement)(gr,{store:a,key:s.value,render:(0,r.createElement)(eo,{render:(0,r.createElement)("div",{"aria-label":s.label,role:"option",className:"dataviews-search-widget-listitem"}),onClick:()=>{const r=o?[...e.filters.map((e=>e.field===t.field?{...e,operator:o.operator||t.operators[0],value:io(t,o,s.value)}:e))]:[...e.filters,{field:t.field,operator:t.operators[0],value:io(t,o,s.value)}];n({...e,page:1,filters:r})}})},(0,r.createElement)("span",{className:"dataviews-search-widget-listitem-check"},t.singleSelection&&i===s.value&&(0,r.createElement)(l.Icon,{icon:no}),!t.singleSelection&&i.includes(s.value)&&(0,r.createElement)(l.Icon,{icon:Xa})),(0,r.createElement)("span",null,s.label,!!s.description&&(0,r.createElement)("span",{className:"dataviews-search-widget-listitem-description"},s.description))))))}function so({view:e,filter:t,onChangeView:n}){const[a,o]=(0,i.useState)(""),s=(0,i.useDeferredValue)(a),c=e.filters.find((e=>e.field===t.field)),u=oo(t,c),d=(0,i.useMemo)((()=>{const e=ro(s);return t.elements.filter((t=>ro(t.label).includes(e)))}),[t.elements,s]);return(0,r.createElement)(ca,{resetValueOnSelect:!1,selectedValue:u,setSelectedValue:r=>{const a=c?[...e.filters.map((e=>e.field===t.field?{...e,operator:c.operator||t.operators[0],value:r}:e))]:[...e.filters,{field:t.field,operator:t.operators[0],value:r}];n({...e,page:1,filters:a})},setValue:o},(0,r.createElement)("div",{className:"dataviews-search-widget-filter-combobox__wrapper"},(0,r.createElement)(da,{render:(0,r.createElement)(l.VisuallyHidden,null)},(0,A.__)("Search items")),(0,r.createElement)(Ta,{autoSelect:"always",placeholder:(0,A.__)("Search"),className:"dataviews-search-widget-filter-combobox__input"}),(0,r.createElement)("div",{className:"dataviews-search-widget-filter-combobox__icon"},(0,r.createElement)(l.Icon,{icon:Za}))),(0,r.createElement)(Va,{className:"dataviews-search-widget-filter-combobox-list",alwaysVisible:!0},d.map((e=>(0,r.createElement)(Ua,{key:e.value,value:e.value,className:"dataviews-search-widget-listitem",hideOnClick:!1,setValueOnClick:!1,focusOnHover:!0},(0,r.createElement)("span",{className:"dataviews-search-widget-listitem-check"},t.singleSelection&&u===e.value&&(0,r.createElement)(l.Icon,{icon:no}),!t.singleSelection&&u.includes(e.value)&&(0,r.createElement)(l.Icon,{icon:Xa})),(0,r.createElement)("span",null,(0,r.createElement)(Ya,{className:"dataviews-search-widget-filter-combobox-item-value",value:e.label}),!!e.description&&(0,r.createElement)("span",{className:"dataviews-search-widget-listitem-description"},e.description))))),!d.length&&(0,r.createElement)("p",null,(0,A.__)("No results found"))))}function co(e){const t=e.filter.elements.length>10?so:lo;return(0,r.createElement)(t,{...e})}const uo="Enter",mo=" ",po=({activeElements:e,filterInView:t,filter:n})=>{if(void 0===e||0===e.length)return n.name;const a={Name:(0,r.createElement)("span",{className:"dataviews-filter-summary__filter-text-name"}),Value:(0,r.createElement)("span",{className:"dataviews-filter-summary__filter-text-value"})};return t?.operator===ce?(0,i.createInterpolateElement)((0,A.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is any: Admin, Editor". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is any: Admin, Editor". */
    8 (0,A.__)("<Name>%1$s is any: </Name><Value>%2$s</Value>"),n.name,e.map((e=>e.label)).join(", ")),a):t?.operator===ue?(0,i.createInterpolateElement)((0,A.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is none: Admin, Editor". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is none: Admin, Editor". */
    9 (0,A.__)("<Name>%1$s is none: </Name><Value>%2$s</Value>"),n.name,e.map((e=>e.label)).join(", ")),a):t?.operator===de?(0,i.createInterpolateElement)((0,A.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is all: Admin, Editor". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is all: Admin, Editor". */
    10 (0,A.__)("<Name>%1$s is all: </Name><Value>%2$s</Value>"),n.name,e.map((e=>e.label)).join(", ")),a):t?.operator===me?(0,i.createInterpolateElement)((0,A.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not all: Admin, Editor". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not all: Admin, Editor". */
    11 (0,A.__)("<Name>%1$s is not all: </Name><Value>%2$s</Value>"),n.name,e.map((e=>e.label)).join(", ")),a):t?.operator===le?(0,i.createInterpolateElement)((0,A.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is: Admin". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is: Admin". */
    12 (0,A.__)("<Name>%1$s is: </Name><Value>%2$s</Value>"),n.name,e[0].label),a):t?.operator===se?(0,i.createInterpolateElement)((0,A.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not: Admin". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not: Admin". */
    13 (0,A.__)("<Name>%1$s is not: </Name><Value>%2$s</Value>"),n.name,e[0].label),a):(0,A.sprintf)(/* translators: 1: Filter name e.g.: "Unknown status for Author". */ /* translators: 1: Filter name e.g.: "Unknown status for Author". */
    14 (0,A.__)("Unknown status for %1$s"),n.name)};function fo({filter:e,view:t,onChangeView:n}){const a=e.operators?.map((e=>({value:e,label:fe[e]?.label}))),o=t.filters.find((t=>t.field===e.field)),i=o?.operator||e.operators[0];return a.length>1&&(0,r.createElement)(l.__experimentalHStack,{spacing:2,justify:"flex-start",className:"dataviews-filter-summary__operators-container"},(0,r.createElement)(l.FlexItem,{className:"dataviews-filter-summary__operators-filter-name"},e.name),(0,r.createElement)(l.SelectControl,{label:(0,A.__)("Conditions"),value:i,options:a,onChange:r=>{const a=o?[...t.filters.map((t=>t.field===e.field?{...t,operator:r}:t))]:[...t.filters,{field:e.field,operator:r}];n({...t,page:1,filters:a})},size:"small",__nextHasNoMarginBottom:!0,hideLabelFromVision:!0}))}function ho({addFilterRef:e,openedFilter:t,...n}){const a=(0,i.useRef)(),{filter:o,view:s,onChangeView:c}=n,u=s.filters.find((e=>e.field===o.field)),d=o.elements.filter((e=>o.singleSelection?e.value===u?.value:u?.value?.includes(e.value))),m=o.isPrimary,p=void 0!==u?.value,f=!m||p;return(0,r.createElement)(l.Dropdown,{defaultOpen:t===o.field,contentClassName:"dataviews-filter-summary__popover",popoverProps:{placement:"bottom-start",role:"dialog"},onClose:()=>{a.current?.focus()},renderToggle:({isOpen:t,onToggle:n})=>(0,r.createElement)("div",{className:"dataviews-filter-summary__chip-container"},(0,r.createElement)(l.Tooltip,{text:(0,A.sprintf)(/* translators: 1: Filter name. */ /* translators: 1: Filter name. */
    15 (0,A.__)("Filter by: %1$s"),o.name.toLowerCase()),placement:"top"},(0,r.createElement)("div",{className:_e()("dataviews-filter-summary__chip",{"has-reset":f,"has-values":p}),role:"button",tabIndex:0,onClick:n,onKeyDown:e=>{[uo,mo].includes(e.key)&&(n(),e.preventDefault())},"aria-pressed":t,"aria-expanded":t,ref:a},(0,r.createElement)(po,{activeElements:d,filterInView:u,filter:o}))),f&&(0,r.createElement)(l.Tooltip,{text:m?(0,A.__)("Reset"):(0,A.__)("Remove"),placement:"top"},(0,r.createElement)("button",{className:_e()("dataviews-filter-summary__chip-remove",{"has-values":p}),onClick:()=>{c({...s,page:1,filters:s.filters.filter((e=>e.field!==o.field))}),m?a.current?.focus():e.current?.focus()}},(0,r.createElement)(l.Icon,{icon:It})))),renderContent:()=>(0,r.createElement)(l.__experimentalVStack,{spacing:0,justify:"flex-start"},(0,r.createElement)(fo,{...n}),(0,r.createElement)(co,{...n}))})}const{DropdownMenuV2:vo,DropdownMenuItemV2:go,DropdownMenuItemLabelV2:Eo}=ie(l.privateApis),wo=(0,i.forwardRef)((function({filters:e,view:t,onChangeView:n,setOpenedFilter:a},o){if(!e.length||e.every((({isPrimary:e})=>e)))return null;const i=e.filter((e=>!e.isVisible));return(0,r.createElement)(vo,{trigger:(0,r.createElement)(l.Button,{__experimentalIsFocusable:!0,size:"compact",className:"dataviews-filters-button",variant:"tertiary",disabled:!i.length,ref:o},(0,A.__)("Add filter"))},i.map((e=>(0,r.createElement)(go,{key:e.field,onClick:()=>{a(e.field),n({...t,page:1,filters:[...t.filters||[],{field:e.field,value:void 0,operator:e.operators[0]}]})}},(0,r.createElement)(Eo,null,e.name)))))}));function yo({filters:e,view:t,onChangeView:n}){const a=!t.search&&!t.filters?.some((t=>{return void 0!==t.value||(n=t.field,!e.some((e=>e.field===n&&e.isPrimary)));var n}));return(0,r.createElement)(l.Button,{disabled:a,__experimentalIsFocusable:!0,size:"compact",variant:"tertiary",className:"dataviews-filters__reset-button",onClick:()=>{n({...t,page:1,search:"",filters:[]})}},(0,A.__)("Reset"))}const bo=(0,i.memo)((function({fields:e,view:t,onChangeView:n,openedFilter:a,setOpenedFilter:o}){const s=(0,i.useRef)(),c=[];e.forEach((e=>{if(!e.elements?.length)return;const n=ze(e);if(0===n.length)return;const r=!!e.filterBy?.isPrimary;c.push({field:e.id,name:e.header,elements:e.elements,singleSelection:n.some((e=>[le,se].includes(e))),operators:n,isVisible:r||t.filters.some((t=>t.field===e.id&&pe.includes(t.operator))),isPrimary:r})})),c.sort(((e,t)=>e.isPrimary&&!t.isPrimary?-1:!e.isPrimary&&t.isPrimary?1:e.name.localeCompare(t.name)));const u=(0,r.createElement)(wo,{key:"add-filter",filters:c,view:t,onChangeView:n,ref:s,setOpenedFilter:o}),d=[...c.map((e=>e.isVisible?(0,r.createElement)(ho,{key:e.field,filter:e,view:t,onChangeView:n,addFilterRef:s,openedFilter:a}):null)),u];return d.length>1&&d.push((0,r.createElement)(yo,{key:"reset-filters",filters:c,view:t,onChangeView:n})),(0,r.createElement)(l.__experimentalHStack,{justify:"flex-start",style:{width:"fit-content"},wrap:!0},d)})),Co=bo,_o=(0,i.memo)((function({label:e,view:t,onChangeView:n}){const[a,o,s]=(0,lt.useDebouncedInput)(t.search);(0,i.useEffect)((()=>{o(t.search)}),[t]);const c=(0,i.useRef)(n);(0,i.useEffect)((()=>{c.current=n}),[n]),(0,i.useEffect)((()=>{c.current({...t,page:1,search:s})}),[s]);const u=e||(0,A.__)("Search");return(0,r.createElement)(l.SearchControl,{__nextHasNoMarginBottom:!0,onChange:o,value:a,label:u,placeholder:u,size:"compact"})})),So=e=>e.id,ko=()=>{};function Io({view:e,onChangeView:t,fields:n,search:a=!0,searchLabel:o,actions:s=[],data:c,getItemId:u=So,isLoading:d=!1,paginationInfo:m,supportedLayouts:p,onSelectionChange:f=ko}){const[h,v]=(0,i.useState)([]),[g,E]=(0,i.useState)(null);(0,i.useEffect)((()=>{if(h.length>0&&h.some((e=>!c.some((t=>u(t)===e))))){const e=h.filter((e=>c.some((t=>u(t)===e))));v(e),f(c.filter((t=>e.includes(u(t)))))}}),[h,c,u,f]);const w=(0,i.useCallback)((e=>{v(e.map((e=>u(e)))),f(e)}),[v,u,f]),y=pt.find((t=>t.type===e.type)).component,b=(0,i.useMemo)((()=>function(e){return e.map((e=>{const t=e.getValue||(({item:t})=>t[e.id]);return{...e,header:e.header||e.id,getValue:t,render:e.render||t}}))}(n)),[n]),C=function(e,t){return(0,i.useMemo)((()=>t.some((t=>e.some((e=>e.supportsBulk&&e.isEligible(t)))))),[e,t])}(s,c);return(0,r.createElement)("div",{className:"dataviews-wrapper"},(0,r.createElement)(l.__experimentalHStack,{alignment:"top",justify:"start",className:"dataviews-filters__view-actions"},(0,r.createElement)(l.__experimentalHStack,{justify:"start",className:"dataviews-filters__container",wrap:!0},a&&(0,r.createElement)(_o,{label:o,view:e,onChangeView:t}),(0,r.createElement)(Co,{fields:b,view:e,onChangeView:t,openedFilter:g,setOpenedFilter:E})),[ve,ge].includes(e.type)&&C&&(0,r.createElement)(Ye,{actions:s,data:c,onSelectionChange:w,selection:h,getItemId:u}),(0,r.createElement)(kt,{fields:b,view:e,onChangeView:t,supportedLayouts:p})),(0,r.createElement)(y,{fields:b,view:e,onChangeView:t,actions:s,data:c,getItemId:u,isLoading:d,onSelectionChange:w,selection:h,setOpenedFilter:E}),(0,r.createElement)(ne,{view:e,onChangeView:t,paginationInfo:m}))}function xo(){const{updateQuery:e,query:t}=(0,i.useContext)(Q),n=t=>{e("dimensions",[t])};return(0,r.createElement)("div",{className:"search-console-dimensions"},(0,r.createElement)(l.Button,{className:t.dimensions.includes("query")?"is-selected":"",onClick:()=>n("query")},(0,A.__)("Query","search-console")),(0,r.createElement)(l.Button,{className:t.dimensions.includes("page")?"is-selected":"",onClick:()=>n("page")},(0,A.__)("Pages","search-console")),(0,r.createElement)(l.Button,{className:t.dimensions.includes("country")?"is-selected":"",onClick:()=>n("country")},(0,A.__)("Countries","search-console")),(0,r.createElement)(l.Button,{className:t.dimensions.includes("device")?"is-selected":"",onClick:()=>n("device")},(0,A.__)("Devices","search-console")))}const Do={abw:"Aruba",afg:"Afghanistan",ago:"Angola",aia:"Anguilla",ala:"Åland Islands",alb:"Albania",and:"Andorra",are:"United Arab Emirates (the)",arg:"Argentina",arm:"Armenia",asm:"American Samoa",ata:"Antarctica",atf:"French Southern Territories (the)",atg:"Antigua and Barbuda",aus:"Australia",aut:"Austria",aze:"Azerbaijan",bdi:"Burundi",bel:"Belgium",ben:"Benin",bes:"Bonaire, Sint Eustatius and Saba",bfa:"Burkina Faso",bgd:"Bangladesh",bgr:"Bulgaria",bhr:"Bahrain",bhs:"Bahamas (the)",bih:"Bosnia and Herzegovina",blm:"Saint Barthélemy",blr:"Belarus",blz:"Belize",bmu:"Bermuda",bol:"Bolivia (Plurinational State of)",bra:"Brazil",brb:"Barbados",brn:"Brunei Darussalam",btn:"Bhutan",bvt:"Bouvet Island",bwa:"Botswana",caf:"Central African Republic (the)",can:"Canada",cck:"Cocos (Keeling) Islands (the)",che:"Switzerland",chl:"Chile",chn:"China",civ:"Côte d'Ivoire",cmr:"Cameroon",cod:"Congo (the Democratic Republic of the)",cog:"Congo (the)",cok:"Cook Islands (the)",col:"Colombia",com:"Comoros (the)",cpv:"Cabo Verde",cri:"Costa Rica",cub:"Cuba",cuw:"Curaçao",cxr:"Christmas Island",cym:"Cayman Islands (the)",cyp:"Cyprus",cze:"Czechia",deu:"Germany",dji:"Djibouti",dma:"Dominica",dnk:"Denmark",dom:"Dominican Republic (the)",dza:"Algeria",ecu:"Ecuador",egy:"Egypt",eri:"Eritrea",esh:"Western Sahara*",esp:"Spain",est:"Estonia",eth:"Ethiopia",fin:"Finland",fji:"Fiji",flk:"Falkland Islands (the) [Malvinas]",fra:"France",fro:"Faroe Islands (the)",fsm:"Micronesia (Federated States of)",gab:"Gabon",gbr:"United Kingdom of Great Britain and Northern Ireland (the)",geo:"Georgia",ggy:"Guernsey",gha:"Ghana",gib:"Gibraltar",gin:"Guinea",glp:"Guadeloupe",gmb:"Gambia (the)",gnb:"Guinea-Bissau",gnq:"Equatorial Guinea",grc:"Greece",grd:"Grenada",grl:"Greenland",gtm:"Guatemala",guf:"French Guiana",gum:"Guam",guy:"Guyana",hkg:"Hong Kong",hmd:"Heard Island and McDonald Islands",hnd:"Honduras",hrv:"Croatia",hti:"Haiti",hun:"Hungary",idn:"Indonesia",imn:"Isle of Man",ind:"India",iot:"British Indian Ocean Territory (the)",irl:"Ireland",irn:"Iran (Islamic Republic of)",irq:"Iraq",isl:"Iceland",isr:"Israel",ita:"Italy",jam:"Jamaica",jey:"Jersey",jor:"Jordan",jpn:"Japan",kaz:"Kazakhstan",ken:"Kenya",kgz:"Kyrgyzstan",khm:"Cambodia",kir:"Kiribati",kna:"Saint Kitts and Nevis",kor:"Korea (the Republic of)",kwt:"Kuwait",lao:"Lao People's Democratic Republic (the)",lbn:"Lebanon",lbr:"Liberia",lby:"Libya",lca:"Saint Lucia",lie:"Liechtenstein",lka:"Sri Lanka",lso:"Lesotho",ltu:"Lithuania",lux:"Luxembourg",lva:"Latvia",mac:"Macao",maf:"Saint Martin (French part)",mar:"Morocco",mco:"Monaco",mda:"Moldova (the Republic of)",mdg:"Madagascar",mdv:"Maldives",mex:"Mexico",mhl:"Marshall Islands (the)",mkd:"Macedonia (the former Yugoslav Republic of)",mli:"Mali",mlt:"Malta",mmr:"Myanmar",mne:"Montenegro",mng:"Mongolia",mnp:"Northern Mariana Islands (the)",moz:"Mozambique",mrt:"Mauritania",msr:"Montserrat",mtq:"Martinique",mus:"Mauritius",mwi:"Malawi",mys:"Malaysia",myt:"Mayotte",nam:"Namibia",ncl:"New Caledonia",ner:"Niger (the)",nfk:"Norfolk Island",nga:"Nigeria",nic:"Nicaragua",niu:"Niue",nld:"Netherlands (the)",nor:"Norway",npl:"Nepal",nru:"Nauru",nzl:"New Zealand",omn:"Oman",pak:"Pakistan",pan:"Panama",pcn:"Pitcairn",per:"Peru",phl:"Philippines (the)",plw:"Palau",png:"Papua New Guinea",pol:"Poland",pri:"Puerto Rico",prk:"Korea (the Democratic People's Republic of)",prt:"Portugal",pry:"Paraguay",pse:"Palestine, State of",pyf:"French Polynesia",qat:"Qatar",reu:"Réunion",rou:"Romania",rus:"Russian Federation (the)",rwa:"Rwanda",sau:"Saudi Arabia",sdn:"Sudan (the)",sen:"Senegal",sgp:"Singapore",sgs:"South Georgia and the South Sandwich Islands",shn:"Saint Helena, Ascension and Tristan da Cunha",sjm:"Svalbard and Jan Mayen",slb:"Solomon Islands",sle:"Sierra Leone",slv:"El Salvador",smr:"San Marino",som:"Somalia",spm:"Saint Pierre and Miquelon",srb:"Serbia",ssd:"South Sudan",stp:"Sao Tome and Principe",sur:"Suriname",svk:"Slovakia",svn:"Slovenia",swe:"Sweden",swz:"Swaziland",sxm:"Sint Maarten (Dutch part)",syc:"Seychelles",syr:"Syrian Arab Republic",tca:"Turks and Caicos Islands (the)",tcd:"Chad",tgo:"Togo",tha:"Thailand",tjk:"Tajikistan",tkl:"Tokelau",tkm:"Turkmenistan",tls:"Timor-Leste",ton:"Tonga",tto:"Trinidad and Tobago",tun:"Tunisia",tur:"Turkey",tuv:"Tuvalu",twn:"Taiwan (Province of China)",tza:"Tanzania, United Republic of",uga:"Uganda",ukr:"Ukraine",umi:"United States Minor Outlying Islands (the)",ury:"Uruguay",usa:"United States of America (the)",uzb:"Uzbekistan",vat:"Holy See (the)",vct:"Saint Vincent and the Grenadines",ven:"Venezuela (Bolivarian Republic of)",vgb:"Virgin Islands (British)",vir:"Virgin Islands (U.S.)",vnm:"Viet Nam",vut:"Vanuatu",wlf:"Wallis and Futuna",wsm:"Samoa",yem:"Yemen",zaf:"South Africa",zmb:"Zambia",zwe:"Zimbabwe",zzz:"Others"};function To(){const{settings:e,query:t,showError:n}=(0,i.useContext)(Q),[a,o]=(0,i.useState)([]),[l,s]=(0,i.useState)({type:"table",perPage:10,page:1,sort:{},search:"",filters:[],hiddenFields:[],layout:{}});(0,i.useEffect)((()=>{c()}),[t,e.token]),(0,i.useEffect)((()=>{u()}),[l.sort]);const c=()=>{window.gapi.client.setToken(e.token),window.gapi?.client?.webmasters.searchanalytics.query({...t,siteUrl:e.site}).then((e=>{e.result.rows?o(p(e.result.rows)):o([])})).catch((e=>{n(e)}))},u=()=>{"keys"===l.sort.field?d():m()},d=()=>{"desc"===l.sort.direction?a.sort(((e,t)=>t.keys.localeCompare(e.keys))):a.sort(((e,t)=>e.keys.localeCompare(t.keys)))},m=()=>{"desc"===l.sort.direction?a.sort(((e,t)=>e[l.sort.field]-t[l.sort.field])):a.sort(((e,t)=>t[l.sort.field]-e[l.sort.field]))},p=e=>e.map((e=>({...e,keys:e.keys[0]}))),f=[{id:"keys",header:"Query",enableHiding:!1,render:({item:e})=>t.dimensions.includes("country")?Do[e.keys]:e.keys},{id:"clicks",header:"Clicks",enableHiding:!1,render:({item:e})=>e.clicks},{id:"ctr",header:"CTR",render:({item:e})=>(100*e.ctr).toFixed(2)+"%"},{id:"impressions",header:"Impressions",render:({item:e})=>e.impressions},{id:"position",header:"Position",render:({item:e})=>Math.round(100*e.position)/100}],h=(0,i.useMemo)((()=>({totalItems:a.length,totalPages:Math.ceil(a.length/l.perPage)})),[a,l.perPage]);return(0,r.createElement)("div",{className:"search-console-table-wrapper"},(0,r.createElement)("div",{className:"search-console-table-bar"},(0,r.createElement)(xo,null)),(0,r.createElement)(Io,{paginationInfo:h,data:(v=a,v.slice((l.page-1)*l.perPage,l.page*l.perPage)),fields:f,view:l,onChangeView:s,getItemId:e=>e.keys,supportedLayouts:["table"],search:!1}));var v}const Oo=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z"}));function Ao(e){const{filter:t,handleChange:n}=e;return(0,r.createElement)(i.Fragment,null,(0,r.createElement)(l.RadioControl,{selected:t?.expression,options:[{label:(0,A.__)("Desktop","search-console"),value:"desktop"},{label:(0,A.__)("Mobile","search-console"),value:"mobile"},{label:(0,A.__)("Tablet","search-console"),value:"tablet"}],onChange:e=>{n(e)}}))}function Po(e){const{filter:t,handleChange:n}=e;return(0,r.createElement)(i.Fragment,null,(0,r.createElement)(l.FormTokenField,{value:t.expression?[t.expression]:[],suggestions:Object.values(Do),onChange:e=>{return t=e[0],void n(Object.keys(Do)[Object.values(Do).indexOf(t)]);var t},label:(0,A.__)("Choose a country","search-console"),maxLength:"1",__experimentalShowHowTo:!1}))}function Mo(e){const{filter:t,handleChange:n}=e;return(0,r.createElement)(l.__experimentalVStack,null,(0,r.createElement)(l.SelectControl,{selected:t?.operator,options:[{value:"CONTAINS",label:(0,A.__)("Urls containing","search-console")},{value:"NOT_CONTAINS",label:(0,A.__)("Urls not containing","search-console")},{value:"EQUALS",label:(0,A.__)("Exact url","search-console")}],onChange:e=>{n(t?.expression,e)}}),(0,r.createElement)(l.TextControl,{value:t?.expression,placeholder:"https://www.example.com",onChange:e=>{n(e,t?.operator?t?.operator:"CONTAINS")}}))}function Fo(e){const{filter:t,handleChange:n}=e;return(0,r.createElement)(l.__experimentalVStack,null,(0,r.createElement)(l.SelectControl,{value:t?.operator,options:[{value:"CONTAINS",label:(0,A.__)("Queries containing","search-console")},{value:"NOT_CONTAINS",label:(0,A.__)("Queries not containing","search-console")},{value:"EQUALS",label:(0,A.__)("Exact query","search-console")}],onChange:e=>{n(t?.expression,e)}}),(0,r.createElement)(l.TextControl,{value:t?.expression||"",onChange:e=>{n(e,t?.operator?t?.operator:"CONTAINS")}}))}function No(e){const{onRequestClose:t,modal:n,title:a}=e,{query:o,updateQuery:s}=(0,i.useContext)(Q),[c,u]=(0,i.useState)(n),[d,m]=(0,i.useState)(o.searchType),p={device:Ao,country:Po,page:Mo,query:Fo}[n.dimension];return(0,r.createElement)(l.Modal,{title:a,onRequestClose:t},(0,r.createElement)(l.__experimentalVStack,null,(0,r.createElement)("div",{className:"search-console-modal-container"},(0,r.createElement)(p,{handleChange:(e,t)=>{"searchType"===n.dimension?m(e):u({dimension:n.dimension,expression:e,operator:t})},searchType:d,filter:c})),(0,r.createElement)(l.Flex,null,(0,r.createElement)(l.Button,{isDestructive:!0,onClick:t},(0,A.__)("Cancel","search-console")),(0,r.createElement)(l.Button,{variant:"primary",onClick:()=>{if("searchType"===n.dimension)s("searchType",d);else{let e=[...o.dimensionFilterGroups].map((e=>e.filters)).shift()||[];if(e.length){const t=e.find((e=>e.dimension===c.dimension));t||e.push(c),t&&(e=e.map((e=>e.dimension===c.dimension?c:e)))}else e.push(c);s("dimensionFilterGroups",[{filters:e}])}t()},disabled:"searchType"!==n.dimension&&!c?.expression},(0,A.__)("Save","search-console")))))}function Vo(){const{updateQuery:e,updateSetting:t,settings:n}=(0,i.useContext)(Q),[a,o]=(0,i.useState)((0,A.__)("Last 28 days","search-console")),s=(n,r)=>{const a=moment().subtract(2,"days").subtract(n,r).format("YYYY-MM-DD");o("Last "+n+" "+r),t("customDate",!1),e("startDate",a)};return(0,r.createElement)(l.Dropdown,{className:"my-container-class-name",contentClassName:"my-popover-content-classname",placement:"bottom right",renderToggle:({isOpen:e,onToggle:t})=>(0,r.createElement)(l.Button,{variant:"secondary",onClick:t,"aria-expanded":e},n.customDate?(0,A.__)("Custom date","search-console"):a),renderContent:({onToggle:e})=>(0,r.createElement)(i.Fragment,null,(0,r.createElement)(l.MenuGroup,null,(0,r.createElement)(l.MenuItem,{onClick:()=>{s(7,"days"),e()}},(0,A.__)("Last 7 days","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{s(28,"days"),e()}},(0,A.__)("Last 28 days","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{s(1,"months"),e()}},(0,A.__)("Last month","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{s(3,"months"),e()}},(0,A.__)("Last 3 months","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{s(6,"months"),e()}},(0,A.__)("Last 6 months","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{s(12,"months"),e()}},(0,A.__)("Last 12 months","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{s(16,"months"),e()}},(0,A.__)("Last 18 months","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{t("customDate",!n.customDate),e()}},(0,A.__)("Custom date","search-console"))))})}function Lo(){const{query:e,updateQuery:t,settings:n}=(0,i.useContext)(Q);return(0,r.createElement)(l.Flex,null,n.customDate&&(0,r.createElement)(i.Fragment,null,(0,r.createElement)(l.FlexItem,null,(0,r.createElement)("b",null,"From:")),(0,r.createElement)(l.FlexItem,null,(0,r.createElement)(l.Dropdown,{popoverProps:{placement:"bottom-start"},renderToggle:({isOpen:t,onToggle:n})=>(0,r.createElement)(l.Button,{variant:"secondary",onClick:n,"aria-expanded":t},e.startDate?(0,x.format)("F j, Y",e.startDate):(0,A.__)("Click here to set start date.","search-console")),renderContent:()=>(0,r.createElement)(l.DatePicker,{__nextRemoveHelpButton:!0,currentDate:e.startDate,onChange:e=>{t("startDate",(0,x.dateI18n)("Y-m-d",e))},isInvalidDate:t=>{if(e.endDate)return new Date(t)>new Date(e.endDate)}})})),(0,r.createElement)(l.FlexItem,null,(0,r.createElement)("b",null,"To:")),(0,r.createElement)(l.FlexItem,null,(0,r.createElement)(l.Dropdown,{popoverProps:{placement:"bottom-start"},renderToggle:({isOpen:t,onToggle:n})=>(0,r.createElement)(l.Button,{variant:"secondary",onClick:n,"aria-expanded":t},e.endDate?(0,x.format)("F j, Y",e.endDate):(0,A.__)("Click here to set end date.","search-console")),renderContent:()=>(0,r.createElement)(l.DatePicker,{__nextRemoveHelpButton:!0,currentDate:e.endDate,onChange:e=>t("endDate",(0,x.dateI18n)("Y-m-d",e)),isInvalidDate:t=>new Date(t)<new Date(e.startDate)||new Date(t)>new Date})}))),(0,r.createElement)(l.FlexItem,null,(0,r.createElement)(Vo,null)))}const Ro="Enter",zo=" ";function Bo(){const[e,t]=(0,i.useState)(!1),{query:n,updateQuery:a}=(0,i.useContext)(Q),o=e=>{a("type",e)},s=n.dimensionFilterGroups.map((e=>e.filters));return(0,r.createElement)(i.Fragment,null,(0,r.createElement)("div",{className:"search-console-filters"},(0,r.createElement)("div",{className:"search-console-filters-options"},(0,r.createElement)(l.Dropdown,{popoverProps:{placement:"bottom-start"},renderToggle:({isOpen:e,onToggle:t})=>(0,r.createElement)(l.Button,{variant:"primary",onClick:t,"aria-expanded":e},(0,A.__)("Search type: ","search-console")+n.type),renderContent:({onToggle:e})=>(0,r.createElement)(l.MenuGroup,null,(0,r.createElement)(l.MenuItem,{onClick:()=>{o("web"),e()}},(0,A.__)("Web","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{o("image"),e()}},(0,A.__)("Image","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{o("video"),e()}},(0,A.__)("Video","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{o("news"),e()}},(0,A.__)("News","search-console")))}),(0,r.createElement)(l.Dropdown,{className:"my-container-class-name",contentClassName:"my-popover-content-classname",placement:"bottom right",renderToggle:({isOpen:e,onToggle:t})=>(0,r.createElement)(l.Button,{variant:"secondary",onClick:t,"aria-expanded":e,icon:Oo,iconPosition:"right",text:(0,A.__)("New","search-console")}),renderContent:({onToggle:e})=>(0,r.createElement)(l.MenuGroup,null,(0,r.createElement)(l.MenuItem,{onClick:()=>{t({dimension:"query",expression:"",operator:""}),e()}},(0,A.__)("Query","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{t({dimension:"page",expression:"",operator:""}),e()}},(0,A.__)("Page","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{t({dimension:"country",expression:"",operator:""}),e()}},(0,A.__)("Country","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{t({dimension:"device",expression:"",operator:""}),e()}},(0,A.__)("Device","search-console")))}),s.map((e=>e.map(((e,o)=>(0,r.createElement)("div",{className:"dataviews-filter-summary__chip-container",key:o},(0,r.createElement)("div",{className:"dataviews-filter-summary__chip has-reset",role:"button",tabIndex:"0","aria-pressed":"false","aria-expanded":"false",onClick:()=>t(e),onKeyDown:n=>{[Ro,zo].includes(n.key)&&(t(e),n.preventDefault())}},e.dimension+": "+(e=>e.operator?"EQUALS"===e.operator?"":"CONTAINS"===e.operator?"+":"-":"")(e)+e.expression,(0,r.createElement)("button",{className:"dataviews-filter-summary__chip-remove has-values",onClick:t=>{t.stopPropagation(),(e=>{const t=[...n.dimensionFilterGroups.map((e=>e.filters))[0].filter((t=>t.dimension!==e.dimension))];a("dimensionFilterGroups",t.length?[{filters:t}]:[])})(e)}},(0,r.createElement)(l.Icon,{icon:It}))))))))),(0,r.createElement)("div",null,(0,r.createElement)(Lo,{query:n}))),e&&(0,r.createElement)(No,{onRequestClose:()=>{t(!1)},modal:e,title:e.dimension}))}const Ho=[{name:"Systeme.io",ad:(0,A.__)("Free online marketing platform with funnel builder. Create popup, squeeze page, funnel automations all for FREE. No credit card required","search-console"),link:"https://systeme.io/?sa=sa0181820865b77bd583c54e7e7668a6a77e78f1c7",isLink:!0},{name:"Formello",ad:(0,A.__)("Lightweight Gutenberg contact form builder, blazingly fast with no external dependencies and ReCaptcha support.","search-console"),slug:"formello"},{name:"Popper",ad:(0,A.__)("Do you need a POPUP plugin? Check Popper a Popup builder with exit-intent powered by Gutenberg.","search-console"),slug:"popper"},{name:"Pdf Embed",ad:(0,A.__)("A Gutenberg block to embed your PDF with official Adobe API.","search-console"),slug:"pdf-embed"}],jo=({plugins:e,direction:t,noSlide:n})=>{const[a,o]=(0,i.useState)(0),[c,u]=(0,i.useState)([]),{saveEntityRecord:d}=(0,s.useDispatch)($.store);(0,i.useEffect)((()=>{m()}),[]),(0,i.useEffect)((()=>{if(n)return;const e=setInterval((()=>{p()}),5e3);return()=>clearInterval(e)}));const m=()=>{const t=Ho.filter((t=>!e?.find((e=>e.name===t.name))));u(t)},p=()=>{if(c.length>1){const e=(a+1)%c.length;o(e)}},f=e=>{if(0===e)return a>0?"-"+100/c.length*a+"%":0};return(0,r.createElement)("div",{className:"slideshow-container",style:{width:`calc( 100% * ${c.length})`}},c.map(((e,n)=>(0,r.createElement)("div",{key:n,className:"slide "+(n===a?"active":""),style:{width:`calc( 100% / ${c.length})`,marginLeft:f(n)}},(0,r.createElement)(l.__experimentalHStack,{justify:"flex-start",direction:t},(0,r.createElement)("span",null,e.ad),e.isLink?(0,r.createElement)(l.Button,{variant:"primary",size:"small",text:(0,A.__)("Get FREE offer!","search-console"),href:e.link,target:"_blank",icon:"megaphone"}):(0,r.createElement)(l.Button,{variant:"primary",size:"small",text:(0,A.__)("Install","search-console"),onClick:()=>{return t=e.slug,void d("root","plugin",{slug:t,status:"active"});var t}}))))))},Ko=e=>{const{plugins:t}=(0,s.useSelect)((e=>{const t=e("core").getPlugins({per_page:-1});return{plugins:t?.filter((e=>["formello/formello","popper/popper","pdf-embed/pdf-embed"].includes(e.plugin)))}})),[n,a]=(0,i.useState)((()=>{const e=window.localStorage.getItem("sc-shown");return JSON.parse(e)||(new Date).getTime()}));return t?(0,r.createElement)(l.Card,null,(0,r.createElement)("div",{style:{overflowX:"hidden"}},(0,r.createElement)(jo,{plugins:t,...e}))):null},Go=()=>{const e=C(),{settings:t,ready:n}=(0,i.useContext)(Q);if(!n||!t)return(0,r.createElement)(P,{text:(0,A.__)("Fetching data…","search-console")});const a=t=>(0,i.createInterpolateElement)(t,{a:(0,r.createElement)(l.Button,{text:(0,A.__)("settings page","search-console"),onClick:()=>e.push({page:"search-console-settings"}),variant:"link"})});return t.token&&t.token.refresh_token?t.credentials.client_secret&&t.credentials.client_id?t.site?(0,r.createElement)("div",{className:"search-console-dashboard"},(0,r.createElement)(l.__experimentalVStack,null,(0,r.createElement)(l.Card,null,(0,r.createElement)(l.CardBody,null,(0,r.createElement)(Z,null))),(0,r.createElement)(l.Card,null,(0,r.createElement)(l.CardBody,null,(0,r.createElement)(Bo,null))),(0,r.createElement)(Ko,{noSlide:!0}),(0,r.createElement)(l.Card,null,(0,r.createElement)(l.CardBody,null,(0,r.createElement)(To,null))))):(0,r.createElement)(l.Notice,{status:"warning",isDismissible:!1},(0,r.createElement)("p",null,a((0,A.__)("Please select a site on <a />.","search-console")))):(0,r.createElement)(l.Notice,{status:"warning",isDismissible:!1},(0,r.createElement)("p",null,a((0,A.__)("Please provide a Client Secret and a Client ID on <a />.","search-console")))):(0,r.createElement)(l.Notice,{status:"warning",isDismissible:!1},(0,r.createElement)("p",null,a((0,A.__)("Please authenticate on <a />.","search-console"))))},Uo=(0,r.createContext)(null);function Wo({clientId:e,onScriptLoadSuccess:t,onScriptLoadError:n,children:a}){const i=function(e={}){const{onScriptLoadSuccess:t,onScriptLoadError:n}=e,[a,o]=(0,r.useState)(!1),i=(0,r.useRef)(t);i.current=t;const l=(0,r.useRef)(n);return l.current=n,(0,r.useEffect)((()=>{const e=document.createElement("script");return e.src="https://accounts.google.com/gsi/client",e.async=!0,e.defer=!0,e.onload=()=>{var e;o(!0),null===(e=i.current)||void 0===e||e.call(i)},e.onerror=()=>{var e;o(!1),null===(e=l.current)||void 0===e||e.call(l)},document.body.appendChild(e),()=>{document.body.removeChild(e)}}),[]),a}({onScriptLoadSuccess:t,onScriptLoadError:n}),l=(0,r.useMemo)((()=>({clientId:e,scriptLoadedSuccessfully:i})),[e,i]);return o().createElement(Uo.Provider,{value:l},a)}const qo=()=>{const{updateSetting:e,settings:t,revokeToken:n}=(0,i.useContext)(Q),[a,o]=(0,i.useState)(!1),s=function({flow:e="implicit",scope:t="",onSuccess:n,onError:a,onNonOAuthError:o,overrideScope:i,...l}){const{clientId:s,scriptLoadedSuccessfully:c}=function(){const e=(0,r.useContext)(Uo);if(!e)throw new Error("Google OAuth components must be used within GoogleOAuthProvider");return e}(),u=(0,r.useRef)(),d=(0,r.useRef)(n);d.current=n;const m=(0,r.useRef)(a);m.current=a;const p=(0,r.useRef)(o);p.current=o,(0,r.useEffect)((()=>{var n;if(!c)return;const r="implicit"===e?"initTokenClient":"initCodeClient",a=null===(n=window.google)||void 0===n?void 0:n.accounts.oauth2[r]({client_id:s,scope:i?t:`openid profile email ${t}`,callback:e=>{var t,n;if(e.error)return null===(t=m.current)||void 0===t?void 0:t.call(m,e);null===(n=d.current)||void 0===n||n.call(d,e)},error_callback:e=>{var t;null===(t=p.current)||void 0===t||t.call(p,e)},...l});u.current=a}),[s,c,e,t]);const f=(0,r.useCallback)((e=>{var t;return null===(t=u.current)||void 0===t?void 0:t.requestAccessToken(e)}),[]),h=(0,r.useCallback)((()=>{var e;return null===(e=u.current)||void 0===e?void 0:e.requestCode()}),[]);return"implicit"===e?f:h}({flow:"auth-code",onSuccess:async({code:e})=>{c(e)},scope:"https://www.googleapis.com/auth/webmasters.readonly https://www.googleapis.com/auth/siteverification email"}),c=(function(e,t,...n){window.google&&window.google.accounts.oauth2.hasGrantedAnyScope(e,t,...n)}(window.search_console.token,"https://www.googleapis.com/auth/webmasters.readonly"),t=>{I()({path:"/searchconsole/v1/credentials",method:"POST",data:{code:t}}).then((t=>{e("token",t),o({status:"success",text:(0,A.__)("You're logged in","search-console")})})).catch((e=>{o({status:"error",text:e.message})})).finally((()=>console.log("Success")))});return(0,r.createElement)(i.Fragment,null,(0,r.createElement)(l.Button,{variant:"primary",onClick:()=>s(),icon:"google"},(t.token.id_token?JSON.parse(atob(t.token.id_token.split(".")[1])).email:null)||(0,A.__)("Login with Google","search-console")),t.token.id_token&&(0,r.createElement)("p",null,(0,r.createElement)(l.Button,{text:(0,A.__)("Revoke token","search-console"),onClick:()=>n(),isDestructive:!0,isSmall:!0})),a&&(0,r.createElement)(l.Notice,{status:a.status,isDismissible:!1},a.text))},Yo=e=>{const{settings:t}=(0,i.useContext)(Q);return(0,r.createElement)(l.Card,null,(0,r.createElement)(l.CardHeader,null,(0,r.createElement)("b",null,(0,A.__)("Google Oauth","search-console"))),(0,r.createElement)(l.CardBody,null,(!t?.credentials?.client_id?.length||!t?.credentials?.client_secret?.length)&&(0,r.createElement)(l.Notice,{status:"warning",isDismissible:!1},(0,A.__)("You must insert a Client Id and a Client secret to correctly request your authentication token.","search-console")),t?.credentials?.client_id&&t?.credentials?.client_secret&&(0,r.createElement)(Wo,{clientId:t?.credentials?.client_id},(0,r.createElement)(qo,{...e}))))},$o=()=>{var e,t;const{settings:n,updateSetting:a}=(0,i.useContext)(Q);function o(e,t){const r=Object.assign({},n.credentials);r[e]=t,a("credentials",r)}const s=(0,A.sprintf)("https://developers.google.com/web/site-kit?sitename=%1$s&siteurl=%2$s",n.title,n.wp_url);return(0,r.createElement)(l.Card,null,(0,r.createElement)(l.CardHeader,null,(0,r.createElement)("b",null,(0,A.__)("Google Credentials","search-console"))),(0,r.createElement)(l.CardBody,null,(0,r.createElement)(i.RawHTML,null,(0,A.sprintf)(/* translators: Developer console url. */ /* translators: Developer console url. */
    16 (0,A.__)('<p>You need to create a <a target="_blank" href="%1$s">Google Developer Console</a> account before proceeding to authorization.</p><p>Create a project from Google Developers Console if none exists.</p><p>Go to Credentials tab, then create credential for OAuth client.</p>Application type will be Web Application. Add <code>%2$s</code> in Authorized redirect URIs. This will give you Client ID and Client Secret key.<p>',"search-console"),"https://console.developers.google.com/",n.wp_url)),(0,r.createElement)(i.RawHTML,null,(0,A.sprintf)(/* translators: Google Site Kit url. */ /* translators: Google Site Kit url. */
    17 (0,A.__)('<p><b>Tip</b>: the simplest way to get your own credentials is to go to <a target="_blank" href="%s">Google Site Kit</a> site and follow step. Don\'t forget to add your site url as authorized Javascript origin.</p>',"search-console"),s)),(0,r.createElement)(l.TextControl,{placeholder:"CLIENT ID",value:null!==(e=n?.credentials?.client_id)&&void 0!==e?e:"",label:(0,A.__)("Client ID","search-console"),help:(0,A.__)("Please go to Developer Console to obtain your credentials.","search-console"),onChange:e=>{o("client_id",e)}}),(0,r.createElement)(l.TextControl,{placeholder:"CLIENT SECRET",value:null!==(t=n?.credentials?.client_secret)&&void 0!==t?t:"",label:(0,A.__)("Client secret","search-console"),help:(0,A.__)("Please go to Developer Console to obtain your credentials.","search-console"),onChange:e=>{o("client_secret",e)}})))};function Qo(){return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(Ko,{direction:"column"}),(0,r.createElement)(l.Card,null,(0,r.createElement)(l.CardHeader,null,(0,r.createElement)("b",null,(0,A.__)("Need help?","search-console"))),(0,r.createElement)(l.CardBody,null,(0,r.createElement)("p",null,(0,A.__)("Detailed documentation is available on the plugin website.","search-console")),(0,r.createElement)(l.ExternalLink,{href:"https://www.francescopepe.com/docs/search-console"},(0,A.__)("Documentation","search-console")),(0,r.createElement)("p",null,(0,A.__)("We would love to help you out if you need any help.","search-console")),(0,r.createElement)(l.ExternalLink,{href:"https://wordpress.org/support/plugin/search-console/"},(0,A.__)("Ask a question","search-console")))),(0,r.createElement)(l.Card,{className:"ads-container__reviews"},(0,r.createElement)(l.CardHeader,null,(0,r.createElement)("b",null,(0,A.__)("Do you like the plugin?","search-console"))),(0,r.createElement)(l.CardBody,null,(0,r.createElement)("p",null,(0,A.__)("If you like search-console plugin you can share a review to help us and spread some love!","search-console")),(0,r.createElement)(l.ExternalLink,{href:"https://wordpress.org/support/plugin/search-console/reviews/#new-post"},(0,A.__)("Rate 5 stars!","search-console")))))}const Xo=()=>{const{settings:e,updateSetting:t,refreshToken:n,saveSettings:a}=(0,i.useContext)(Q);return(0,r.createElement)("div",{className:"search-console-Advanced"},e.site&&(0,r.createElement)(i.Fragment,null,(0,r.createElement)("p",null,(0,A.__)("Do you want to add meta tag verification on your site?","search-console")),(0,r.createElement)(l.ToggleControl,{label:(0,A.__)("Add verification to site?","search-console"),help:(0,A.__)("Check this if you want output meta verification on frontend.","search-console"),checked:e.siteVerification,onChange:e=>{t("siteVerification",e),a()}})),e.siteVerification&&(0,r.createElement)(l.__experimentalInputControl,{help:(0,A.__)("Please click on icon to generate your meta verification tag.","search-console"),label:(0,A.__)("Your meta verification tag","search-console"),value:e.meta,onChange:e=>{t("meta",e)},suffix:(0,r.createElement)(l.Button,{onClick:()=>{e.siteVerification&&e.site&&window.gapi.client.load("siteVerification","v1").then((()=>{window.gapi.client.siteVerification.webResource.getToken({verificationMethod:"META",site:{identifier:e.site.replace("sc-domain:",""),type:"SITE"}}).then((e=>{t("meta",e.result.token),a()})).catch((e=>{401===e.status&&n()}))}))},icon:"update"})}))};function Zo(){const{settings:e,updateSetting:t,saveSettings:n}=(0,i.useContext)(Q),a=(0,s.useSelect)((e=>e($.store).getPostTypes({per_page:-1})),[]),o=Array.isArray(a)?a.filter((e=>e.viewable)).map((e=>({label:e.labels.singular_name,value:e.slug}))):a;return(0,r.createElement)(i.Fragment,null,(0,r.createElement)("p",null,(0,A.__)("Choose on which post type you want see Search Console data.","search-console")),o&&o.map(((a,o)=>(0,r.createElement)(l.ToggleControl,{key:o,label:a.label,checked:e.postTypes.includes(a.value),onChange:r=>{r?(r=>{t("postTypes",[...e.postTypes,r]),n()})(a.value):(r=>{const a=e.postTypes.filter((e=>e!==r));t("postTypes",a),n()})(a.value)}}))))}const Jo=e=>{const{settings:t,updateSetting:n,refreshToken:a,saveSettings:o}=(0,i.useContext)(Q),[s,c]=(0,i.useState)(null);(0,i.useEffect)((()=>{t.token.access_token&&u()}),[t.token]);const u=()=>{const e=[{value:"",label:(0,A.__)("Select a site","search-console")}];window.gapi?.client?.setToken(t.token),window.gapi?.client?.webmasters?.sites.list().then((t=>{t.result.siteEntry.forEach((t=>{e.push({value:t.siteUrl,label:t.siteUrl})})),e.sort((function(e,t){return e.value<t.value?-1:0})),c(e.sort())})).catch((e=>{401===e.status&&a()}))};return(0,r.createElement)(l.Card,null,(0,r.createElement)(l.CardHeader,null,(0,r.createElement)("b",null,(0,A.__)("Options","search-console"))),(0,r.createElement)(l.CardBody,null,(0,r.createElement)(l.SelectControl,{options:s,label:(0,A.__)("Choose site","search-console"),help:(0,A.__)("Choose one of your sites.","search-console"),value:t.site,onChange:e=>{n("site",e),o()}}),(0,r.createElement)(Zo,{...e}),(0,r.createElement)(Xo,{...e})))},ei=(0,i.forwardRef)((function({icon:e,size:t=24,...n},r){return(0,i.cloneElement)(e,{width:t,height:t,...n,ref:r})})),ti=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M17.3 10.1c0-2.5-2.1-4.4-4.8-4.4-2.2 0-4.1 1.4-4.6 3.3h-.2C5.7 9 4 10.7 4 12.8c0 2.1 1.7 3.8 3.7 3.8h9c1.8 0 3.2-1.5 3.2-3.3.1-1.6-1.1-2.9-2.6-3.2zm-.5 5.1h-9c-1.2 0-2.2-1.1-2.2-2.3s1-2.4 2.2-2.4h1.3l.3-1.1c.4-1.3 1.7-2.2 3.2-2.2 1.8 0 3.3 1.3 3.3 2.9v1.3l1.3.2c.8.1 1.4.9 1.4 1.8-.1 1-.9 1.8-1.8 1.8z"}));function ni(){const[e]=(0,i.useState)("saved"),{isSaving:t,saveSettings:n,hasEdits:a}=(0,i.useContext)(Q);return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(l.Flex,{justify:"flex-start"},(0,r.createElement)(l.Button,{className:"save-settings__save-button",onClick:()=>n(),disabled:t||!a,isBusy:t,variant:"primary"},(0,A.__)("Save","search-console")),[t&&(0,r.createElement)(l.Animate,{type:"loading",key:"saving"},(({className:e})=>(0,r.createElement)(l.Flex,{justify:"flex-start",className:_e()("message",e),gap:1},(0,r.createElement)(ei,{icon:ti}),(0,A.__)("Saving","block-visibility")))),"error"===e&&(0,r.createElement)("span",{className:"message update-failed",key:"error"},(0,A.__)("Update failed. Try again or get in touch with support.","search-console"))]))}const ri=()=>{const{ready:e,settings:t}=(0,i.useContext)(Q);return e&&t?(0,r.createElement)("div",{className:"search-console-settings"},(0,r.createElement)(l.__experimentalGrid,{columns:4,templateColumns:"3fr 1fr",gap:"4",align:"flex-start",className:"popper-settings"},(0,r.createElement)(l.__experimentalVStack,null,(0,r.createElement)(Yo,null),(0,r.createElement)(Jo,null),(0,r.createElement)($o,null),(0,r.createElement)(ni,null)),(0,r.createElement)(l.__experimentalVStack,null,(0,r.createElement)(Qo,null)))):(0,r.createElement)(P,{text:(0,A.__)("Fetching data…","search-console")})};var ai,oi,ii,li,si,ci,ui,di,mi,pi,fi,hi;function vi(){return vi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},vi.apply(this,arguments)}var gi=function(e){return r.createElement("svg",vi({xmlns:"http://www.w3.org/2000/svg",width:32,height:28,preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 228"},e),ai||(ai=r.createElement("defs",null,r.createElement("radialGradient",{id:"logo_svg__a",cx:"21.66%",cy:"28.708%",r:"82.87%",fx:"21.66%",fy:"28.708%",gradientTransform:"matrix(.59503 .59486 -.44034 .80383 .214 -.073)"},r.createElement("stop",{offset:"0%",stopColor:"#F1F2F2"}),r.createElement("stop",{offset:"100%",stopColor:"#E6E7E8"})))),oi||(oi=r.createElement("path",{fill:"#737373",d:"M165.98 0H90.02L71.098 19.055V37.98H90.02V19.055h75.958V37.98h18.924V19.055z"})),ii||(ii=r.createElement("path",{fill:"#BFBFBF",d:"M90.02 0v19.055h75.96V0z"})),li||(li=r.createElement("path",{fill:"url(#logo_svg__a)",d:"M36.402 37.98 0 74.381v134.177c0 10.513 8.542 18.924 18.924 18.924h218.152c10.513 0 18.924-8.543 18.924-18.924V74.513L219.466 37.98z"})),si||(si=r.createElement("path",{fill:"#FFF",d:"M28.517 109.076h199.097v118.538H28.517z"})),ci||(ci=r.createElement("path",{fill:"#E0E0E0",d:"M36.402 37.98 0 74.381v34.694h256V74.513L219.466 37.98z"})),ui||(ui=r.createElement("path",{fill:"#D1D1D1",d:"M42.71 213.29H128v14.193H42.71z"})),di||(di=r.createElement("path",{fill:"#4285F4",d:"M28.517 86.998c0-8.148 6.571-14.719 14.72-14.719h169.527c8.148 0 14.719 6.571 14.719 14.719v22.078H28.517z"})),mi||(mi=r.createElement("path",{fill:"#E6E6E6",d:"M56.903 90.152a7.067 7.067 0 0 1-7.096 7.096 7.067 7.067 0 0 1-7.097-7.096 7.067 7.067 0 0 1 7.097-7.097 7.067 7.067 0 0 1 7.096 7.097m23.656 0a7.067 7.067 0 0 1-7.097 7.096 7.067 7.067 0 0 1-7.096-7.096 7.067 7.067 0 0 1 7.096-7.097 7.067 7.067 0 0 1 7.097 7.097"})),pi||(pi=r.createElement("path",{fill:"#BABABA",d:"m227.483 165.191-29.832-29.832-9.988 30.883-40.739-40.608-1.183 62.686 15.113 23.655c2.234-.394-11.302 15.508-11.302 15.508h77.93z"})),fi||(fi=r.createElement("path",{fill:"#4D4D4D",d:"M208.821 164.008c0-16.821-9.856-31.277-23.918-38.242v39.95l-18.792 10.12-19.056-10.12v-40.082c-14.061 6.966-23.655 21.553-23.655 38.243 0 16.821 9.725 31.277 23.787 38.242v25.364h37.848v-25.364c13.93-6.834 23.786-21.42 23.786-38.11"})),hi||(hi=r.createElement("path",{fill:"#D1D1D1",d:"M42.71 123.269h66.366v75.828H42.71z"})))};function Ei({title:e}){return(0,r.createElement)("div",{className:"masthead"},(0,r.createElement)(gi,null),(0,r.createElement)("div",{className:"masthead__branding"},(0,r.createElement)("h1",null,e)))}function wi({title:e}){return(0,r.createElement)("div",{className:"footer"},(0,r.createElement)("div",{className:"inner-container"},(0,r.createElement)("a",{href:"https://github.com/Tropicalista/search-console",target:"_blank"},"Github"),(0,r.createElement)("a",{href:"https://wordpress.org/support/plugin/search-console/",target:"_blank"},(0,A.__)("Support","search-console")),(0,r.createElement)("a",{href:"https://wordpress.org/support/plugin/formello/reviews/#new-post",target:"_blank"},(0,A.__)("Rate ","formello"),(0,r.createElement)(l.Icon,{icon:"star-filled"}),(0,r.createElement)(l.Icon,{icon:"star-filled"}),(0,r.createElement)(l.Icon,{icon:"star-filled"}),(0,r.createElement)(l.Icon,{icon:"star-filled"}),(0,r.createElement)(l.Icon,{icon:"star-filled"}))))}const yi=()=>{const e=C(),{params:t}=(0,i.useContext)(y),n=document.querySelector("#toplevel_page_search-console"),a=()=>{const e=(0,h.getQueryArg)(window.location.href,"page");if(e)for(const t of n.querySelectorAll("a"))e===(0,h.getQueryArg)(t.href,"page")?(t.classList.add("current"),t.parentElement.classList.add("current")):(t.classList.remove("current"),t.parentElement.classList.remove("current"))},o=t=>{t.preventDefault(),e.push({page:(0,h.getQueryArg)(t.target.href,"page")}),a()};return(0,i.useEffect)((()=>(a(),n.addEventListener("click",o,!1),()=>{n.removeEventListener("click",o)})),[]),e.listen((()=>{a()})),"search-console-settings"===t.page?(0,r.createElement)(ri,null):(0,r.createElement)(Go,null)},bi=()=>(0,r.createElement)(Wo,null,(0,r.createElement)(S,null,(0,r.createElement)(Ei,{title:"Search Console"}),(0,r.createElement)(X,null,(0,r.createElement)(yi,null),(0,r.createElement)(Ci,null)),(0,r.createElement)(wi,null)));function Ci(){const e=(0,s.useSelect)((e=>e(c.store).getNotices()),[]),{removeNotice:t}=(0,s.useDispatch)(c.store),n=e.filter((({type:e})=>"snackbar"===e));return(0,r.createElement)(l.SnackbarList,{notices:n,onRemove:t})}window.addEventListener("DOMContentLoaded",(()=>{const e=document.getElementById("search-console-wrapper");(0,i.createRoot)(e).render((0,r.createElement)(bi,null))}))},485:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)){if(n.length){var i=a.apply(null,n);i&&e.push(i)}}else if("object"===o){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]")){e.push(n.toString());continue}for(var l in n)r.call(n,l)&&n[l]&&e.push(l)}}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(n=function(){return a}.apply(t,[]))||(e.exports=n)}()},20:(e,t,n)=>{"use strict";var r=n(609),a=Symbol.for("react.element"),o=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};t.jsx=function(e,t,n){var r,s={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)o.call(t,r)&&!l.hasOwnProperty(r)&&(s[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===s[r]&&(s[r]=t[r]);return{$$typeof:a,type:e,key:c,ref:u,props:s,_owner:i.current}}},848:(e,t,n)=>{"use strict";e.exports=n(20)},731:e=>{var t={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ả:"A",Ạ:"A",Ẩ:"A",Ẫ:"A",Ậ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ẻ:"E",Ẽ:"E",Ẹ:"E",Ể:"E",Ễ:"E",Ệ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ỉ:"I",Ị:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ỏ:"O",Ọ:"O",Ổ:"O",Ỗ:"O",Ộ:"O",Ờ:"O",Ở:"O",Ỡ:"O",Ớ:"O",Ợ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ủ:"U",Ụ:"U",Ử:"U",Ữ:"U",Ự:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ả:"a",ạ:"a",ẩ:"a",ẫ:"a",ậ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ẻ:"e",ẽ:"e",ẹ:"e",ể:"e",ễ:"e",ệ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ỉ:"i",ị:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ỏ:"o",ọ:"o",ổ:"o",ỗ:"o",ộ:"o",ờ:"o",ở:"o",ỡ:"o",ớ:"o",ợ:"o",ù:"u",ú:"u",û:"u",ü:"u",ủ:"u",ụ:"u",ử:"u",ữ:"u",ự:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z",й:"и",Й:"И",ё:"е",Ё:"Е"},n=Object.keys(t).join("|"),r=new RegExp(n,"g"),a=new RegExp(n,"");function o(e){return t[e]}var i=function(e){return e.replace(r,o)};e.exports=i,e.exports.has=function(e){return!!e.match(a)},e.exports.remove=i},63:(e,t,n)=>{"use strict";var r=n(609),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=r.useState,i=r.useEffect,l=r.useLayoutEffect,s=r.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!a(e,n)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=o({inst:{value:n,getSnapshot:t}}),a=r[0].inst,u=r[1];return l((function(){a.value=n,a.getSnapshot=t,c(a)&&u({inst:a})}),[e,n,t]),i((function(){return c(a)&&u({inst:a}),e((function(){c(a)&&u({inst:a})}))}),[e]),s(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:u},888:(e,t,n)=>{"use strict";e.exports=n(63)},609:e=>{"use strict";e.exports=window.React}},a={};function o(e){var t=a[e];if(void 0!==t)return t.exports;var n=a[e]={exports:{}};return r[e](n,n.exports,o),n.exports}o.m=r,e=[],o.O=(t,n,r,a)=>{if(!n){var i=1/0;for(u=0;u<e.length;u++){for(var[n,r,a]=e[u],l=!0,s=0;s<n.length;s++)(!1&a||i>=a)&&Object.keys(o.O).every((e=>o.O[e](n[s])))?n.splice(s--,1):(l=!1,a<i&&(i=a));if(l){e.splice(u--,1);var c=r();void 0!==c&&(t=c)}}return t}a=a||0;for(var u=e.length;u>0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[n,r,a]},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},n=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,o.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var a=Object.create(null);o.r(a);var i={};t=t||[null,n({}),n([]),n(n)];for(var l=2&r&&e;"object"==typeof l&&!~t.indexOf(l);l=n(l))Object.getOwnPropertyNames(l).forEach((t=>i[t]=()=>e[t]));return i.default=()=>e,o.d(a,i),a},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={57:0,350:0};o.O.j=t=>0===e[t];var t=(t,n)=>{var r,a,[i,l,s]=n,c=0;if(i.some((t=>0!==e[t]))){for(r in l)o.o(l,r)&&(o.m[r]=l[r]);if(s)var u=s(o)}for(t&&t(n);c<i.length;c++)a=i[c],o.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return o.O(u)},n=globalThis.webpackChunksearch_console=globalThis.webpackChunksearch_console||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var i=o.O(void 0,[350],(()=>o(761)));i=o.O(i)})();
     4(0,.sprintf)(/* translators: %s: item title. */
     5u?(0,.sprintf)(/* translators: %d: Number of items. */ /* translators: %d: Number of items. */
     6(0,.sprintf)(/* translators: List of items for a filter. 1: Filter name. e.g.: "List of: Author". */ /* translators: List of items for a filter. 1: Filter name. e.g.: "List of: Author". */
     7(0,.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is any: Admin, Editor". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is any: Admin, Editor". */
     8(0,.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is none: Admin, Editor". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is none: Admin, Editor". */
     9(0,.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is all: Admin, Editor". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is all: Admin, Editor". */
     10(0,.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not all: Admin, Editor". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not all: Admin, Editor". */
     11(0,.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is: Admin". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is: Admin". */
     12(0,.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not: Admin". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not: Admin". */
     13(0,.sprintf)(/* translators: 1: Filter name e.g.: "Unknown status for Author". */ /* translators: 1: Filter name e.g.: "Unknown status for Author". */
     14(0,.sprintf)(/* translators: 1: Filter name. */ /* translators: 1: Filter name. */
     15(0,.sprintf)(/* translators: Developer console url. */ /* translators: Developer console url. */
     16(0,.sprintf)(/* translators: Google Site Kit url. */ /* translators: Google Site Kit url. */
     17(0,.__)("Rate ","formello"),(0,r.createElement)(l.Icon,{icon:"star-filled"}),(0,r.createElement)(l.Icon,{icon:"star-filled"}),(0,r.createElement)(l.Icon,{icon:"star-filled"}),(0,r.createElement)(l.Icon,{icon:"star-filled"}),(0,r.createElement)(l.Icon,{icon:"star-filled"}))))}const yi=()=>{const e=C(),{params:t}=(0,i.useContext)(y),n=document.querySelector("#toplevel_page_search-console"),a=()=>{const e=(0,h.getQueryArg)(window.location.href,"page");if(e)for(const t of n.querySelectorAll("a"))e===(0,h.getQueryArg)(t.href,"page")?(t.classList.add("current"),t.parentElement.classList.add("current")):(t.classList.remove("current"),t.parentElement.classList.remove("current"))},o=t=>{t.preventDefault(),e.push({page:(0,h.getQueryArg)(t.target.href,"page")}),a()};return(0,i.useEffect)((()=>(a(),n.addEventListener("click",o,!1),()=>{n.removeEventListener("click",o)})),[]),e.listen((()=>{a()})),"search-console-settings"===t.page?(0,r.createElement)(ri,null):(0,r.createElement)(Go,null)},bi=()=>(0,r.createElement)(Wo,null,(0,r.createElement)(S,null,(0,r.createElement)(Ei,{title:"Search Console"}),(0,r.createElement)(X,null,(0,r.createElement)(yi,null),(0,r.createElement)(Ci,null)),(0,r.createElement)(wi,null)));function Ci(){const e=(0,s.useSelect)((e=>e(c.store).getNotices()),[]),{removeNotice:t}=(0,s.useDispatch)(c.store),n=e.filter((({type:e})=>"snackbar"===e));return(0,r.createElement)(l.SnackbarList,{notices:n,onRemove:t})}window.addEventListener("DOMContentLoaded",(()=>{const e=document.getElementById("search-console-wrapper");(0,i.createRoot)(e).render((0,r.createElement)(bi,null))}))},485:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)){if(n.length){var i=a.apply(null,n);i&&e.push(i)}}else if("object"===o){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]")){e.push(n.toString());continue}for(var l in n)r.call(n,l)&&n[l]&&e.push(l)}}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(n=function(){return a}.apply(t,[]))||(e.exports=n)}()},20:(e,t,n)=>{"use strict";var r=n(609),a=Symbol.for("react.element"),o=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};t.jsx=function(e,t,n){var r,s={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)o.call(t,r)&&!l.hasOwnProperty(r)&&(s[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===s[r]&&(s[r]=t[r]);return{$$typeof:a,type:e,key:c,ref:u,props:s,_owner:i.current}}},848:(e,t,n)=>{"use strict";e.exports=n(20)},731:e=>{var t={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ả:"A",Ạ:"A",Ẩ:"A",Ẫ:"A",Ậ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ẻ:"E",Ẽ:"E",Ẹ:"E",Ể:"E",Ễ:"E",Ệ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ỉ:"I",Ị:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ỏ:"O",Ọ:"O",Ổ:"O",Ỗ:"O",Ộ:"O",Ờ:"O",Ở:"O",Ỡ:"O",Ớ:"O",Ợ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ủ:"U",Ụ:"U",Ử:"U",Ữ:"U",Ự:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ả:"a",ạ:"a",ẩ:"a",ẫ:"a",ậ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ẻ:"e",ẽ:"e",ẹ:"e",ể:"e",ễ:"e",ệ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ỉ:"i",ị:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ỏ:"o",ọ:"o",ổ:"o",ỗ:"o",ộ:"o",ờ:"o",ở:"o",ỡ:"o",ớ:"o",ợ:"o",ù:"u",ú:"u",û:"u",ü:"u",ủ:"u",ụ:"u",ử:"u",ữ:"u",ự:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z",й:"и",Й:"И",ё:"е",Ё:"Е"},n=Object.keys(t).join("|"),r=new RegExp(n,"g"),a=new RegExp(n,"");function o(e){return t[e]}var i=function(e){return e.replace(r,o)};e.exports=i,e.exports.has=function(e){return!!e.match(a)},e.exports.remove=i},63:(e,t,n)=>{"use strict";var r=n(609),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=r.useState,i=r.useEffect,l=r.useLayoutEffect,s=r.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!a(e,n)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=o({inst:{value:n,getSnapshot:t}}),a=r[0].inst,u=r[1];return l((function(){a.value=n,a.getSnapshot=t,c(a)&&u({inst:a})}),[e,n,t]),i((function(){return c(a)&&u({inst:a}),e((function(){c(a)&&u({inst:a})}))}),[e]),s(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:u},888:(e,t,n)=>{"use strict";e.exports=n(63)},609:e=>{"use strict";e.exports=window.React}},a={};function o(e){var t=a[e];if(void 0!==t)return t.exports;var n=a[e]={exports:{}};return r[e](n,n.exports,o),n.exports}o.m=r,e=[],o.O=(t,n,r,a)=>{if(!n){var i=1/0;for(u=0;u<e.length;u++){for(var[n,r,a]=e[u],l=!0,s=0;s<n.length;s++)(!1&a||i>=a)&&Object.keys(o.O).every((e=>o.O[e](n[s])))?n.splice(s--,1):(l=!1,a<i&&(i=a));if(l){e.splice(u--,1);var c=r();void 0!==c&&(t=c)}}return t}a=a||0;for(var u=e.length;u>0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[n,r,a]},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},n=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,o.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var a=Object.create(null);o.r(a);var i={};t=t||[null,n({}),n([]),n(n)];for(var l=2&r&&e;"object"==typeof l&&!~t.indexOf(l);l=n(l))Object.getOwnPropertyNames(l).forEach((t=>i[t]=()=>e[t]));return i.default=()=>e,o.d(a,i),a},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={57:0,350:0};o.O.j=t=>0===e[t];var t=(t,n)=>{var r,a,[i,l,s]=n,c=0;if(i.some((t=>0!==e[t]))){for(r in l)o.o(l,r)&&(o.m[r]=l[r]);if(s)var u=s(o)}for(t&&t(n);c<i.length;c++)a=i[c],o.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return o.O(u)},n=globalThis.webpackChunksearch_console=globalThis.webpackChunksearch_console||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var i=o.O(void 0,[350],(()=>o(761)));i=o.O(i)})();
  • search-console/tags/3.0.4/build/index.js.map

    r3091052 r3115844  
    1 {"version":3,"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;AAA4G;;AAE5G,sCAAsC;AACtC,YAAY,yCAAyC;AACrD,oEAAoE,+CAAQ;AAC5E,mCAAmC,6CAAM;AACzC;AACA,iCAAiC,6CAAM;AACvC;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,2BAA2B,oDAAa;AACxC,+BAA+B,6DAA6D;AAC5F;AACA;AACA;AACA,KAAK;AACL,yBAAyB,8CAAO;AAChC;AACA;AACA,KAAK;AACL,YAAY,0DAAmB,gCAAgC,qBAAqB;AACpF;AACA;AACA,oBAAoB,iDAAU;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,6BAA6B;AAC7B,uBAAuB,qLAAqL;AAC5M,4BAA4B,6CAAM;AAClC,YAAY,qCAAqC;AACjD,yBAAyB,6CAAM;AAC/B;AACA,uBAAuB,6CAAM;AAC7B;AACA,wCAAwC,6CAAM;AAC9C;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,0DAAmB,UAAU,+BAA+B,oCAAoC;AAC5G;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,6FAA6F;AACvH,YAAY,qCAAqC;AACjD,sBAAsB,6CAAM;AAC5B,yBAAyB,6CAAM;AAC/B;AACA,uBAAuB,6CAAM;AAC7B;AACA,+BAA+B,6CAAM;AACrC;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,MAAM;AACzE;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL,8BAA8B,kDAAW,uBAAuB,QAAQ,6GAA6G;AACrL,8BAA8B,kDAAW,SAAS,QAAQ,wFAAwF;AAClJ;AACA;;AAEA,gCAAgC,qFAAqF;AACrH,YAAY,qCAAqC;AACjD,yBAAyB,6CAAM;AAC/B;AACA,uBAAuB,6CAAM;AAC7B;AACA,wCAAwC,6CAAM;AAC9C;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEqJ;;;;;;;;;;;;;;;;;;;ACpOrJ;AACA,sBAAsB,sEAAsE,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,iCAAiC,kBAAkB;AAC3Q;AAC/B;AACA,sBAAsB,gDAAmB;AACzC;AACA;AACA;AACA;AACA;AACA,GAAG,yCAAyC,gDAAmB,4BAA4B,gDAAmB;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,eAAe,gDAAmB;AACrC;AACA;AACA,GAAG,gBAAgB,gDAAmB;AACtC;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,uCAAuC,gDAAmB;AAC7D;AACA;AACA,GAAG,uCAAuC,gDAAmB;AAC7D;AACA;AACA,GAAG;AACH;AACqC;AACrC,iEAAe,oBAAoB,gtJAAgtJ;;;;;;;;;;;;;;;;;;;;;;;;AC5D7sJ;AACtC;AACA;AACA;AACqF;AAChD;AACW;;AAEhD;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,SAAS,oDAAa;AACtB,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE,mDAAE;AACT,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG;AACH;AACA,iEAAe,8DAAU,WAAW,EAAC;AACrC;;;;;;;;;;;;;;;;;;;;;;;;;;ACzDgD;AAChD;AACA;AACA;AAC4F;AAC1C;AAC6B;;AAE/E;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AACzB;AACP,SAAS,2DAAO;AAChB;AACA;AACA,KAAK;AACL,GAAG;AACH;AACO;AACP,SAAS,2DAAO;AAChB;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB,2DAAO;AAC/B;AACA,GAAG;AACH;AACA;AACA;AACA,IAAI;AACJ,uBAAuB,+DAAW;AAClC;AACA,GAAG;AACH,SAAS,oDAAa,CAAC,wDAAK;AAC5B;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB,2DAAO;AAC/B;AACA,GAAG;AACH;AACA,SAAS,oDAAa;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa,CAAC,2CAAQ,QAAQ,oDAAa,gDAAgD,oDAAa;AACjH;AACA;AACA;AACA;AACA,GAAG,KAAK,oDAAa;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sBAAsB,2DAAO;AAC7B,yCAAyC,4DAAQ;AACjD,gDAAgD,4DAAQ;AACxD,0BAA0B,2DAAO;AACjC;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,wBAAwB,2DAAO;AAC/B;AACA,GAAG;AACH,uCAAuC,2DAAO;AAC9C;AACA;AACA,KAAK;AACL,GAAG;AACH,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,SAAS,oDAAa,CAAC,2CAAQ,QAAQ,oDAAa;AACpD;AACA;AACA,WAAW,mDAAE;AACb;AACA;AACA,KAAK;AACL,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA;AACA;AACA;AACA,KAAK,qBAAqB,wDAAO;AACjC,IAAI,mDAAE,yEAAyE,mDAAE;AACjF,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA,GAAG,GAAG,oDAAa,0BAA0B,oDAAa;AAC1D;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG,EAAE,mDAAE,iBAAiB,oDAAa;AACrC;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE,mDAAE,oCAAoC,oDAAa;AACxD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3KA;AACA;AACA;AACqC;;AAErC;AACO;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACP;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb;AACA;;AAEA;AACO;AACP;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA,WAAW,mDAAE;AACb;AACA;;AAEA;AACO;AACA;AACA;AACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtDsC;AACtC;AACA;AACA;AACuE;AACQ;;AAE/E;AACA;AACA;AACsC;AACG;AACT;AACF;AAC0B;AACf;AACA;AACY;AACrD;AACA;AACA;AACA,SAAS,2DAAO;AAChB;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,oCAAoC,4DAAQ;AAC5C,0CAA0C,4DAAQ;AAClD,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,yBAAyB,+DAAW;AACpC;AACA;AACA,GAAG;AACH,wBAAwB,kDAAY;AACpC,kBAAkB,2DAAO,OAAO,kEAAe;AAC/C;AACA,SAAS,oDAAa;AACtB;AACA,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA;AACA;AACA,GAAG,YAAY,oDAAa,CAAC,+CAAM;AACnC;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,gDAAO;AAC3B;AACA;AACA;AACA;AACA;AACA,GAAG,KAAK,oDAAY,EAAE,mDAAW,kDAAkD,oDAAa,CAAC,qDAAW;AAC5G;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,qDAAW;AAC/B;AACA;AACA;AACA;AACA,GAAG,IAAI,oDAAa;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,oDAAU;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3GsC;AACtC;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AACyJ;AAC3G;AACwB;AACxB;AAC9C;AACA;;AAEA;AACA;AACA;AAC2C;AACoG;AAC/I;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,UAAU,oDAAa;AACvB;AACA,KAAK;AACL,WAAW,oDAAa;AACxB;AACA,KAAK;AACL;AACA,iCAAiC,uDAAe;AAChD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,wDAAgB;AACjD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,uDAAe;AAChD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,2DAAmB;AACpD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,mDAAW;AAC5C,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,uDAAe;AAChD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,SAAS,wDAAO;AAChB,EAAE,mDAAE;AACJ;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,WAAW,iDAAS;AACpB,GAAG;AACH;AACA;AACA,uCAAuC,oDAAa,CAAC,uEAAM;AAC3D;AACA;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,2DAAQ;AAC3B;AACA,GAAG,gBAAgB,oDAAa,CAAC,gEAAa;AAC9C,WAAW,mDAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACe;AACf;AACA;AACA;AACA,CAAC;AACD,oBAAoB,0DAAM;AAC1B;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,SAAS,oDAAa,CAAC,2DAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK,KAAK,oDAAa;AACvB;AACA,KAAK,EAAE,oDAAa,CAAC,0DAAO;AAC5B,YAAY,wDAAO;AACnB,MAAM,mDAAE;AACR;AACA,KAAK,EAAE,oDAAa;AACpB,iBAAiB,iDAAU;AAC3B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK,EAAE,oDAAa;AACpB;AACA;AACA;AACA,KAAK,yBAAyB,oDAAa,CAAC,0DAAO;AACnD,wBAAwB,mDAAE,YAAY,mDAAE;AACxC;AACA,KAAK,EAAE,oDAAa;AACpB,iBAAiB,iDAAU;AAC3B;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK,EAAE,oDAAa,CAAC,uDAAI;AACzB,YAAY,wDAAU;AACtB,KAAK;AACL;AACA,aAAa,oDAAa,CAAC,uEAAM;AACjC;AACA;AACA,OAAO,EAAE,oDAAa;AACtB;AACA,OAAO,GAAG,oDAAa,CAAC,sDAAY;AACpC;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AC/MsC;AACtC;AACA;AACA;AACkD;;AAElD;AACA;AACA;AAC6C;AACR;AACM;AACC;AAC8B;AACH;AACvE,gBAAgB,wDAAI;AACpB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,uBAAuB,0DAAM;AAC7B;AACA;AACA;AACA;AACA;AACA,sBAAsB,yDAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,mDAAW,EAAE,uDAAe;AACzE;AACA,6EAA6E,qDAAa;AAC1F;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,oDAAa,CAAC,mDAAS;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,WAAW,oDAAa,CAAC,uDAAa;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,0BAA0B,oDAAa,CAAC,sDAAY;AACpD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,SAAS,oDAAa,CAAC,uEAAM;AAC7B;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH,CAAC;AACD,iEAAe,OAAO,EAAC;AACvB;;;;;;;;;;;;;;;;;;;;;;;;;AC5FgD;AAChD;AACA;AACA;AAC4H;AACvF;AACkB;AACP;;AAEhD;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa,CAAC,yDAAM;AAC7B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wCAAwC,4DAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,SAAS,oDAAa,CAAC,2CAAQ,QAAQ,oDAAa;AACpD;AACA,GAAG,kBAAkB,oDAAa,CAAC,wDAAK;AACxC;AACA;AACA;AACA;AACA,KAAK;AACL,wEAAwE,qBAAqB;AAC7F,GAAG,EAAE,oDAAa;AAClB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB;AACA,aAAa,oDAAa;AAC1B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,WAAW,oDAAa;AACxB;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACe;AACf;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,IAAI,EAAE,2DAAO;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,WAAW,oDAAa;AACxB;AACA;AACA,KAAK;AACL;AACA,SAAS,oDAAa,CAAC,uEAAM;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,aAAa,oDAAa;AAC1B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,WAAW,oDAAa;AACxB;AACA;AACA;AACA,KAAK;AACL,GAAG,GAAG,oDAAa;AACnB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA,YAAY,wDAAY;AACxB,aAAa,mDAAE;AACf;AACA;AACA,KAAK;AACL;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;AC9JA;AACA;AACA;AAC4C;AACqD;;AAEjG;AACA;AACA;AACqC;AACF;AACA;AACkC;AAC9D;AACP,QAAQ,oDAAY;AACpB,SAAS,mDAAE;AACX,aAAa,mDAAS;AACtB,QAAQ,wDAAU;AAClB,CAAC;AACD,QAAQ,mDAAW;AACnB,SAAS,mDAAE;AACX,aAAa,kDAAQ;AACrB,QAAQ,wDAAQ;AAChB,CAAC;AACD,QAAQ,mDAAW;AACnB,SAAS,mDAAE;AACX,aAAa,kDAAQ;AACrB,QAAQ,sDAAK,KAAK,wDAAoB,GAAG,wDAAiB;AAC1D,CAAC;AACD;;;;;;;;;;;;;;;;;;AC7BA;AACA;AACA;AAC2F;AACpF;AACP;AACA;AACA,EAAE,EAAE,yGAAgD;AACpD;;;;;;;;;;;;;;;ACRA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;ACvBsC;AACtC;AACA;AACA;AAC8F;AAC1B;AAClB;AACW;AAC7D,mBAAmB,wDAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,6CAA6C,oDAAa,CAAC,uEAAM;AACjE;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA;AACA;AACA;AACA,GAAG,EAAE,4EAAwB,CAAC,wDAAO;AACrC;AACA,EAAE,mDAAE;AACJ,wBAAwB,oDAAa,CAAC,gEAAa;AACnD,oBAAoB,mDAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;AACL,GAAG,IAAI,oDAAa,CAAC,uEAAM;AAC3B;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,yDAAM;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,mDAAE;AACb,UAAU,wDAAW;AACrB;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,yDAAM;AAC1B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,mDAAE;AACb,UAAU,wDAAY;AACtB;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,iEAAe,UAAU,EAAC;AAC1B;;;;;;;;;;;;;;;;;;;;;ACjFsC;AACtC;AACA;AACA;AAC+C;AACV;AACtB;AACf;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,SAAS,oDAAa,CAAC,yDAAM;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,EAAE,mDAAE;AACP;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BsC;AACtC;AACA;AACA;AACA;AAC0C;AACC;;AAE3C;AACA;AACA;AAC8C;AAC2B;AAC0B;AAClD;AACG;;AAEpD;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC,mBAAmB,oDAAa,CAAC,sDAAG;AACpC;AACA;AACA,CAAC,EAAE,oDAAa,CAAC,yDAAM;AACvB;AACA;AACA;AACA,CAAC;AACD;AACA,SAAS,qDAAa;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,SAAS,oDAAa;AACtB;AACA;AACA;AACA,kBAAkB,wDAAO;AACzB,IAAI,mDAAE;AACN;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,oDAAa,CAAC,8DAA0B;AACpD;AACA,KAAK;AACL,GAAG,iCAAiC,oDAAa,CAAC,0DAAsB;AACxE;AACA;AACA,YAAY,oDAAa;AACzB,cAAc,oDAAa;AAC3B;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,8DAA8D,oDAAa,CAAC,uDAAI;AACnF;AACA,GAAG,sEAAsE,oDAAa,CAAC,uDAAI;AAC3F,UAAU,wDAAK;AACf,GAAG,IAAI,oDAAa,uDAAuD,oDAAa;AACxF;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wCAAwC,4DAAQ;AAChD,8BAA8B,oEAAgB;AAC9C;AACA;AACA,kBAAkB,2DAAO;AACzB;AACA;AACA,GAAG;AACH,SAAS,oDAAa,CAAC,6DAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,EAAE,oDAAa,CAAC,0DAAqB;AACxC,YAAY,oDAAa,CAAC,iEAAc;AACxC,GAAG,EAAE,mDAAE,mBAAmB,oDAAa,CAAC,qDAAgB;AACxD;AACA,iBAAiB,mDAAE;AACnB;AACA,GAAG,GAAG,oDAAa;AACnB;AACA,GAAG,EAAE,oDAAa,CAAC,uDAAI;AACvB,UAAU,yDAAM;AAChB,GAAG,KAAK,oDAAa,CAAC,yDAAoB;AAC1C;AACA;AACA,GAAG;AACH,WAAW,oDAAa,CAAC,yDAAoB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE,oDAAa;AACpB;AACA,KAAK,8DAA8D,oDAAa,CAAC,uDAAI;AACrF;AACA,KAAK,sEAAsE,oDAAa,CAAC,uDAAI;AAC7F,YAAY,wDAAK;AACjB,KAAK,IAAI,oDAAa,eAAe,oDAAa,CAAC,8DAAyB;AAC5E;AACA;AACA,KAAK,4BAA4B,oDAAa;AAC9C;AACA,KAAK;AACL,GAAG,sBAAsB,oDAAa,YAAY,mDAAE;AACpD;AACe;AACf;AACA,SAAS,oDAAa;AACtB;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;AClNsC;AACtC;AACA;AACA;AACqC;AACwB;AACP;AACC;AACvD,eAAe,wDAAI;AACnB;AACA;AACA;AACA,CAAC;AACD,+CAA+C,qEAAiB;AAChE,EAAE,6DAAS;AACX;AACA,GAAG;AACH,0BAA0B,0DAAM;AAChC,EAAE,6DAAS;AACX;AACA,GAAG;AACH,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,+BAA+B,mDAAE;AACjC,SAAS,oDAAa,CAAC,gEAAa;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,iEAAe,MAAM,EAAC;AACtB;;;;;;;;;;;;;;;;;;;;;ACvCsC;AACtC;AACA;AACA;AAC8C;AACU;AACzC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,qBAAqB,wDAAO;AAC5B,iBAAiB,mDAAE,wBAAwB,mDAAE;AAC7C;AACA,KAAK;AACL,IAAI;AACJ,kCAAkC,mDAAE,wBAAwB,mDAAE;AAC9D;AACA,SAAS,oDAAa,CAAC,kEAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;ACnDA;AACA;AACA;AAC6G;AACtG;AACP;;AAEA;AACA;AACA,iBAAiB,uDAAe,EAAE,wDAAgB;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C,qDAAa;;AAExD;AACA;AACA,yBAAyB,mDAAW,wBAAwB,uDAAe;AAC3E,8CAA8C,mDAAW,EAAE,uDAAe;AAC1E;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCsC;AACtC;AACA;AACA;AACqF;AAChD;AACK;AACE;;AAE5C;AACA;AACA;AACuC;AACU;AACR;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB,kDAAY;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAa;AACtB,aAAa,oDAAa;AAC1B,cAAc,oDAAa;AAC3B;AACA,OAAO;AACP,KAAK,EAAE,oDAAa,8BAA8B,mDAAE;AACpD,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB,aAAa,oDAAa;AAC1B,cAAc,oDAAa;AAC3B;AACA,OAAO;AACP,KAAK,EAAE,oDAAa,8BAA8B,mDAAE;AACpD,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,SAAS,oDAAa;AACtB,aAAa,oDAAa,yBAAyB,oDAAa,8BAA8B,mDAAE;AAChG,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAa;AACtB,aAAa,oDAAa;AAC1B,cAAc,oDAAa;AAC3B;AACA,OAAO;AACP,KAAK,EAAE,oDAAa,8BAA8B,mDAAE;AACpD,GAAG;AACH;AACA,WAAW,oDAAa;AACxB;AACA,eAAe,oDAAa,yBAAyB,oDAAa;AAClE;AACA;AACA;AACA,KAAK,iBAAiB,0DAAkB;AACxC;AACA,uBAAuB,SAAS,GAAG,UAAU;AAC7C,aAAa,oDAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO,EAAE,oDAAa;AACtB,KAAK;AACL,GAAG;AACH;AACA,oBAAoB,wDAAI;AACxB;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA,YAAY,wDAAQ;AACpB,aAAa,mDAAE;AACf,KAAK;AACL,GAAG,EAAE,oDAAa,0BAA0B,oDAAa;AACzD;AACA;AACA;AACA,GAAG,GAAG,oDAAa;AACnB;AACA;AACA;AACA,GAAG,GAAG,oDAAa;AACnB;AACA;AACA;AACA,GAAG,GAAG,oDAAa;AACnB;AACA;AACA,GAAG;AACH,CAAC;AACD,iEAAe,WAAW,EAAC;AAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;ACjMgD;AAChD;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AAC4J;AACvH;;AAErC;AACA;AACA;AACyC;AACyB;AACP;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB,wEAAyB;AACjD;AACA;AACA,SAAS,oDAAa,CAAC,uEAAM;AAC7B;AACA;AACA,eAAe,iDAAU;AACzB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU;AACV;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG;AACH;AACA,GAAG,IAAI,oDAAa,CAAC,uEAAM;AAC3B;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,kEAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,uEAAM;AAC1B;AACA,GAAG;AACH;AACA,GAAG,IAAI,oDAAa,CAAC,qDAAW;AAChC;AACA;AACA;AACA,GAAG,6BAA6B,oDAAa,CAAC,uEAAM;AACpD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,oDAAa,CAAC,2DAAQ;AACjC;AACA;AACA,KAAK;AACL,GAAG,+BAA+B,oDAAa,CAAC,uEAAM;AACtD;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,oDAAa,CAAC,uDAAI;AAC7B,iBAAiB,iDAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK,EAAE,oDAAa,CAAC,2CAAQ,QAAQ,oDAAa,CAAC,2DAAQ;AAC3D;AACA,KAAK,iBAAiB,oDAAa,CAAC,2DAAQ;AAC5C;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,SAAS,oDAAa,CAAC,2CAAQ,mBAAmB,oDAAa,CAAC,qEAAI;AACpE;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG,gBAAgB,oDAAa;AAChC,eAAe,iDAAU;AACzB;AACA;AACA,KAAK;AACL,GAAG,EAAE,oDAAa,wBAAwB,oDAAa,CAAC,0DAAO,UAAU,mDAAE;AAC3E;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5LsC;AACtC;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AACmD;AACmH;AAClG;AAC/B;;AAErC;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAkB,0DAAM;AACxB,qBAAqB,GAAG;AACxB,2BAA2B,GAAG;AAC9B,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH,SAAS,oDAAa;AACtB;AACA,YAAY,oDAAa;AACzB;AACA,eAAe,iDAAU;AACzB;AACA,KAAK;AACL,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,EAAE,oDAAa;AAClB,YAAY,oDAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG;AACH;AACA,GAAG,KAAK,oDAAa;AACrB;AACA,GAAG,IAAI,oDAAa,CAAC,uEAAM;AAC3B;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA,GAAG;AACH;AACA,GAAG,IAAI,oDAAa;AACpB;AACA;AACA,GAAG,6BAA6B,oDAAa;AAC7C;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,iEAAc;AACjC;AACA;AACA,GAAG,iBAAiB,oDAAa;AACjC;AACA,GAAG;AACH;AACA,GAAG;AACH;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iBAAiB,iEAAa;AAC9B;AACA;AACA;AACA;AACA,mBAAmB,+DAAW;AAC9B,uBAAuB,+DAAW,mBAAmB,OAAO,GAAG,gBAAgB;AAC/E;AACA;AACA,GAAG;AACH;AACA;AACA,WAAW,oDAAa;AACxB,iBAAiB,iDAAU;AAC3B;AACA;AACA,OAAO;AACP,KAAK,cAAc,oDAAa,wBAAwB,oDAAa,CAAC,0DAAO,UAAU,mDAAE;AACzF;AACA,SAAS,oDAAa;AACtB;AACA,YAAY,oDAAa;AACzB;AACA;AACA;AACA,GAAG;AACH;AACA,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClJsC;AACtC;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AACqC;AACa;AACmE;AACJ;;AAEjH;AACA;AACA;AACkE;AAC3B;AACE;AACG;AACK;AAC6C;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA,CAAC;AACD,SAAS,wDAAQ,qDAAqD,oDAAa,CAAC,wDAAQ;AAC5F;AACA,GAAG,WAAW,oDAAa;AAC3B;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAU;AAC7B;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,oBAAoB,yDAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAa;AACtB;AACA,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA;AACA;AACA;AACA,KAAK,4BAA4B,oDAAa;AAC9C;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,EAAE,oDAAa,iDAAiD,oDAAa,yCAAyC,0DAAkB;AAC3I;AACA,qBAAqB,SAAS,GAAG,UAAU;AAC3C,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG,oBAAoB,oDAAa,0BAA0B,oDAAa;AAC3E,YAAY,oDAAa,CAAC,uDAAI;AAC9B,YAAY,wDAAM;AAClB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG,EAAE,oDAAa,8BAA8B,mDAAE,gCAAgC,oDAAa;AAC/F,YAAY,oDAAa,CAAC,uDAAI;AAC9B,YAAY,wDAAM;AAClB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,EAAE,oDAAa,8BAA8B,mDAAE;AAClD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,0BAA0B,2DAAO;AACjC;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,SAAS,oDAAa,CAAC,kEAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL,mCAAmC,mDAAE,mBAAmB,mDAAE;AAC1D,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gCAAgC,yEAAyB;AACzD;AACA,oCAAoC,4DAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,0DAAM;AAC9B,SAAS,oDAAa;AACtB,eAAe,iDAAU;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU;AACV;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG,oBAAoB,oDAAa;AACpC;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,EAAE,oDAAa,CAAC,mEAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gCAAgC,oDAAa;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB,eAAe,iDAAU;AACzB;AACA,KAAK;AACL,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,oDAAa;AACf;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,sDAAW;AAC9B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,yBAAyB,0DAAM;AAC/B,+BAA+B,0DAAM;AACrC,4DAA4D,4DAAQ;AACpE,yBAAyB,iFAAiC;AAC1D,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA,GAAG;AACH,wBAAwB,yDAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAa,CAAC,wDAAQ,QAAQ,oDAAa;AACpD;AACA;AACA;AACA,GAAG,EAAE,oDAAa,gBAAgB,oDAAa;AAC/C;AACA,GAAG,oBAAoB,oDAAa;AACpC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA;AACA,GAAG,wCAAwC,oDAAa;AACxD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,0BAA0B,oDAAa;AAC1C;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,EAAE,mDAAE,iBAAiB,oDAAa,qDAAqD,oDAAa;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,MAAM,oDAAa;AACtB,eAAe,iDAAU;AACzB;AACA;AACA,KAAK;AACL;AACA,GAAG,cAAc,oDAAa,wBAAwB,oDAAa,CAAC,0DAAO,UAAU,mDAAE;AACvF;AACA,iEAAe,SAAS,EAAC;AACzB;;;;;;;;;;;;;;;;;AC9WA;AACA;AACA;AAC8D;;AAE9D,eAAe,kCAAkC,4CAA4C;;AAE7F;AACA;AACA;AACA,WAAW,2CAA2C;AACtD;AACA;AACA,WAAW,2CAA2C;AACtD;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,gEAAY;AACrB;AACA;AACA;AACA;AACA,GAAG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AACA;;AAEA;AACA,CAAC,wBAAwB;;AAEzB,eAAe,KAAqC;AACpD;AACA,EAAE,EAAE,CAEH;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA,sUAAsU,CAAM;AAC5U;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+BAA+B,8EAAQ,GAAG;AAC1C;AACA,KAAK;AACL;;AAEA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;AACA;;AAEA,oBAAoB,8EAAQ;AAC5B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C;AAC1C;;;AAGA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;;;AAG3C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA,sUAAsU,CAAM;AAC5U;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA,yDAAyD;AACzD;;AAEA;AACA;AACA,iDAAiD;;;AAGjD;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+BAA+B,8EAAQ,GAAG;AAC1C;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oBAAoB,8EAAQ;AAC5B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,KAAqC,+IAA+I,CAAM;;AAE9L;AACA;AACA;AACA,2CAA2C;AAC3C;;;AAGA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,KAAqC,kJAAkJ,CAAM;;AAEjM;AACA;AACA;AACA,2CAA2C;;;AAG3C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,4BAA4B,8EAAQ;AACpC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,KAAqC,+GAA+G,gBAAgB,qDAAqD,CAAM;AACnO;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oBAAoB,8EAAQ;AAC5B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,KAAqC,6IAA6I,CAAM;;AAE5L;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,KAAqC,gJAAgJ,CAAM;;AAE/L;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;;AAE1B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEuG;AACvG;;;;;;;;;;;;;AC5xBA;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,IAAI,IAAqC;AACzC;AACA;;AAEA,YAAY,mBAAO,CAAC,oBAAO;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iGAAiG,eAAe;AAChH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,KAAK,GAAG;;AAER,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,4BAA4B;AAC5B;AACA,qCAAqC;;AAErC,gCAAgC;AAChC;AACA;;AAEA,gCAAgC;;AAEhC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,sBAAsB;AACtB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,iCAAiC;AACjC;AACA,SAAS;AACT,2BAA2B;AAC3B;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;;AAE3D;AACA;;AAEA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA,gFAAgF;AAChF;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;;;AAGlB;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2HAA2H;AAC3H;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA,oEAAoE;;AAEpE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC;;AAEjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,eAAe;AAC1B,WAAW,GAAG;AACd,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;;AAER;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,oBAAoB;AACpB,2DAA2D,UAAU;AACrE,yBAAyB,UAAU;AACnC;AACA,aAAa,UAAU;AACvB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,6DAA6D;AAC7D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN,4CAA4C;;AAE5C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8CAA8C;AAC9C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,0DAA0D;AAC1D;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,gDAAgD,gDAAgD,MAAM,aAAa;;AAEnH;AACA,iDAAiD,kCAAkC,OAAO;;AAE1F,yGAAyG,cAAc,UAAU,gGAAgG,kBAAkB,UAAU,UAAU;;AAEvQ;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAsC;AACtC;;AAEA;;AAEA,gBAAgB;AAChB,WAAW;AACX,YAAY;AACZ,GAAG;AACH;;;;;;;;;;;;ACpzCa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,+IAAkE;AACpE;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB;AAClB,qBAAqB;;;;;;;;;;;;ACherB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,IAAI,IAAqC;AACzC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mBAAO,CAAC,oBAAO;;AAErC;;AAEA;AACA;AACA;AACA,iGAAiG,eAAe;AAChH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,KAAK,GAAG;;AAER,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,KAAK;AACrD;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,kCAAkC;AAClC;AACA;;;AAGA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;;;AAGP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;AC9Oa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,wLAA8E;AAChF;;;;;;;;;;;;ACNA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;ACAA;AAOuB;AAIA;AAGA;AAIA;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yDAAW;AACpB;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,EAAE,qEAAuB;AACzB;AACA,gBAAgB,0DAAY;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0DAAY;AAC/B;AACA;AACA,uBAAuB,yDAAW;AAClC,MAAM,kDAAkD;AACxD;AACA;AACA,qBAAqB,yDAAW;AAChC;AACA;AACA;AACA;AACA;AACA,EAAE,mDAAK,mBAAmB,kDAAI;AAC9B,EAAE,mDAAK;AACP,WAAW,mDAAK;AAChB;AACA,KAAK;AACL,GAAG;AACH,EAAE,mDAAK;AACP,WAAW,mDAAK;AAChB;AACA;AACA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,MAAM;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,wCAAwC,IAAI;AAC5C;AACA;AACA;AACA,yBAAyB,4DAAc,CAAC,4DAAc,GAAG;AACzD;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,IAAI;AACtC;AACA,0CAA0C,IAAI;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,2DAAa,CAAC,4DAAc,GAAG;AACxC;AACA,0BAA0B,mDAAK;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAIE;;;;;;;;;;;;;;;;;;AC3MF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,6DAA6D;AAC3I;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAME;;;;;;;;;;;;;;;;;;;ACrCF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOE;;;;;;;;;;;;;;;;;;;;AC/BF;AAGuB;AAMA;AAGA;AAKA;;AAEvB;AACA,mCAAmC;AACnC;AACA;AACA,IAAI,cAAc,uDAAS;AAC3B;AACA;AACA,gBAAgB,wDAAU;AAC1B;AACA,IAAI,kDAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,qEAAuB;AACzB;AACA,iBAAiB,+DAAiB,CAAC,2DAAa,CAAC,4DAAc,GAAG,YAAY,OAAO;AACrF,oBAAoB,0DAAY;AAChC;AACA;AACA;AACA;AACA,uBAAuB,2DAAa,CAAC,4DAAc,GAAG;AACtD;AACA;AACA,mBAAmB,0DAAY;AAC/B,oBAAoB,0DAAY;AAChC,kBAAkB,0DAAY;AAC9B;AACA,GAAG;AACH,kBAAkB,yDAAW;AAC7B,SAAS,2DAAa,CAAC,4DAAc,CAAC,4DAAc,GAAG;AACvD;AACA;AACA;AACA;AACA,GAAG;AACH;;AAIE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/DF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,gBAAgB;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA,IAAI;AACJ,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAqBE;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpMF;AAUuB;AAIA;;AAEvB;AACA;AACA;AACA,EAAE,uDAAS;AACX;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,8CAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qDAAO;AAC3B,eAAe,mDAAK;AACpB;AACA;AACA;AACA;AACA;AACA,eAAe,4DAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,cAAc,mDAAK;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,kDAAI;AAC9C,0CAA0C,kDAAI;AAC9C;AACA;AACA,SAAS,4DAAc;AACvB;AACA,sBAAsB,wDAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,YAAY,2DAAa,CAAC,4DAAc,GAAG,YAAY,kBAAkB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,4DAAc,CAAC,4DAAc,GAAG;AAC3C,GAAG,IAAI;AACP;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C,IAAI,EAAO;AACX;AACA;AACA;AACA;AACA;AACA,cAAc,+DAA+D,EAAE,kBAAkB;AACjG,GAAG;AACH;AACA;AACA;AACA;AACA,aAAa,4DAAc;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;;AAEA;;AAEA,+BAA+B,uBAAuB;AACtD,uBAAuB,OAAO;;AAE9B;;AAEA;AACA;AACA;AACA;;AAaE;;;;;;;;;;;;;;;;;;;;;ACzPF;AAGuB;AAKA;AAGA;AAIA;AAIA;;AAEvB;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,eAAe;AACjC;AACA;AACA;AACA,0BAA0B,2DAAa,CAAC,4DAAc,GAAG;AACzD;AACA;AACA;AACA;AACA;AACA,iCAAiC,EAAE;AACnC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,qBAAqB,mEAAqB;AAC1C,mBAAmB,0DAAY;AAC/B;AACA;AACA;AACA;AACA,uBAAuB,2DAAa,CAAC,4DAAc,GAAG;AACtD;AACA,iBAAiB,0DAAY;AAC7B,yBAAyB,0DAAY;AACrC;AACA;AACA;AACA;AACA,WAAW,0DAAY;AACvB,iBAAiB,0DAAY;AAC7B;AACA;AACA;AACA;AACA,SAAS,0DAAY;AACrB,kBAAkB,0DAAY;AAC9B;AACA;AACA;AACA;AACA,eAAe,0DAAY;AAC3B,eAAe,0DAAY;AAC3B,gBAAgB,0DAAY;AAC5B,GAAG;AACH,oBAAoB,yDAAW;AAC/B,EAAE,mDAAK;AACP;AACA,UAAU,kDAAI;AACd;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,YAAY,sEAAsE;AAClF;AACA;AACA,6BAA6B,0DAAY;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,2DAAa,CAAC,4DAAc,CAAC,4DAAc,GAAG;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,yCAAyC,0DAAY;AACrD,KAAK;AACL;AACA,cAAc,6BAA6B;AAC3C;AACA,KAAK;AACL;AACA;AACA,cAAc,kDAAkD;AAChE;AACA;AACA;AACA,QAAQ,0DAAY;AACpB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ,4DAAc;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,cAAc,sEAAsE;AACpF;AACA;AACA,QAAQ,0DAAY;AACpB,UAAU,4DAAc;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAIE;;;;;;;;;;;;;;;;;;;;;AC3SF;AAGuB;;AAEvB;AACA;AACA,SAAS,mDAAS;AAClB;AACA;AACA,OAAO,mDAAS;AAChB;AACA;AACA;AACA;AACA,SAAS,mDAAS;AAClB;AACA;AACA,SAAS,mDAAS;AAClB;AACA;AACA,SAAS,mDAAS;AAClB;;AAQE;;;;;;;;;;;;;;;;;AC9BF;AAGuB;;AAEvB;AACA,qCAAqC;AACrC,SAAS,mEAAqB;AAC9B;;AAIE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZF;AAGuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,4DAAc,GAAG;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAuBE;;;;;;;;;;;;;;;;;;;ACpKF;AASuB;AAGA;AAIA;;AAEvB;AACA,yCAAyC;AACzC,gBAAgB,wDAAU;AAC1B;AACA,IAAI,kDAAI;AACR;AACA,EAAE,qEAAuB;AACzB;AACA,eAAe,0DAAY;AAC3B;AACA;AACA;AACA;AACA;AACA,mBAAmB,0DAAY;AAC/B;AACA;AACA;AACA;AACA;AACA,oBAAoB,0DAAY;AAChC,uBAAuB,0DAAY;AACnC;AACA,qBAAqB,yDAAW;AAChC,EAAE,mDAAK;AACP;AACA,UAAU,kDAAI;AACd;AACA;AACA;AACA,KAAK;AACL;AACA,EAAE,mDAAK;AACP;AACA,UAAU,uDAAS;AACnB;AACA;AACA;AACA,KAAK;AACL;AACA,EAAE,mDAAK;AACP;AACA,UAAU,kDAAI;AACd;AACA,KAAK;AACL;AACA,SAAS,2DAAa,CAAC,4DAAc,GAAG;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAIE;;;;;;;;;;;;;;;;;;;;;;AC7EF;AAGiC;AACA;AACA;AAGA;AACA;AAOA;AAGA;AAIA;AACA;AACA;AAIA;;AAEjC;AACA,uBAAuB,6DAAQ,MAAM,kEAAa;AAClD,uCAAuC;AACvC;AACA,EAAE,4EAAuB;AACzB;AACA,mBAAmB,iEAAY;AAC/B;AACA;AACA;AACA;AACA;AACA,oBAAoB,yEAAoB,CAAC,kEAAa,CAAC,mEAAc,GAAG;AACxE;AACA,yBAAyB,iEAAY;AACrC;AACA;AACA;AACA;AACA,iBAAiB,iEAAY;AAC7B;AACA;AACA;AACA;AACA,eAAe,iEAAY;AAC3B,eAAe,iEAAY;AAC3B,kBAAkB,iEAAY;AAC9B;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,uEAAkB,CAAC,kEAAa,CAAC,mEAAc,GAAG;AACpE,eAAe,iEAAY;AAC3B;AACA;AACA;AACA;AACA,GAAG;AACH,gBAAgB,iEAAY;AAC5B;AACA;AACA;AACA;AACA;AACA,wBAAwB,iEAAY;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kEAAa,CAAC,mEAAc,CAAC,mEAAc,GAAG;AACrE;AACA;AACA,wBAAwB,iEAAY;AACpC;AACA;AACA;AACA;AACA,sBAAsB,iEAAY;AAClC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mBAAmB,gEAAW;AAC9B,EAAE,0DAAK;AACP;AACA,UAAU,yDAAI;AACd;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,EAAE,0DAAK;AACP;AACA,UAAU,yDAAI;AACd;AACA;AACA;AACA,KAAK;AACL;AACA,EAAE,0DAAK;AACP;AACA,UAAU,0DAAK;AACf;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,EAAE,0DAAK;AACP;AACA,UAAU,yDAAI;AACd;AACA;AACA;AACA,KAAK;AACL;AACA,EAAE,0DAAK;AACP;AACA,UAAU,0DAAK;AACf;AACA;AACA,cAAc,sBAAsB;AACpC;AACA;AACA,KAAK;AACL;AACA,SAAS,kEAAa,CAAC,mEAAc,CAAC,mEAAc,CAAC,mEAAc,GAAG;AACtE;AACA;AACA,GAAG;AACH;AAGE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvJF;AAGiC;AAGA;AAIA;;AAEjC;AACA;AACA;AACA,4BAA4B,6DAAQ;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,4DAAO;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kEAAa,CAAC,mEAAc,GAAG,gBAAgB,eAAe;AACnF;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kEAAa,CAAC,mEAAc,GAAG,gBAAgB,eAAe;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,6DAAQ;AACpC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AAcE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnIF;AAQiC;AAGA;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,4DAAO;AACd;AACA,OAAO,8DAAS;AAChB;AACA,MAAM,4DAAO;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qEAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4DAAO;AACf;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4DAAO;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qEAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qEAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,4DAAO;AACrB;AACA;AACA;AACA;AACA,wBAAwB,qEAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qEAAgB;AACxC;AACA;AACA,MAAM,6DAAQ;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,6BAA6B;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,oBAAoB,qBAAqB;AACzC,2BAA2B,mEAAc,GAAG,qCAAqC;AACjF;AACA;AA0BE;;;;;;;;;;;;;;;;;;;;;;;;;;ACpQF;AAGuB;AAGA;AAKA;AAGA;AAKA;;AAEvB;AAC+B;AACuB;AACI;AACY;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,oEAAW;AAC3B;AACA;AACA;AACA,8FAA8F,OAAO,GAAG,OAAO;AAC/G;AACA;AACA,MAAM,wEAAY;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yEAAe;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,uDAAS;AAClB;AACA;AACA;AACA;AACA,4BAA4B,wDAAU;AACtC;AACA,mBAAmB,0BAA0B,cAAc,uDAAS;AACpE,oBAAoB,iEAAmB;AACvC;AACA,IAAI,mEAAS;AACb;AACA,MAAM,KAAqC;AAC3C;AACA;AACA,8BAA8B,6CAAM;AACpC,6BAA6B,sDAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,YAAY,2DAAa,CAAC,4DAAc,GAAG;AAC3C;AACA,KAAK;AACL;AACA;AACA;AACA,yBAAyB,6DAAe;AACxC;AACA;AACA,WAAW,2DAAa;AACxB;AACA;AACA,IAAI,IAAqC;AACzC;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;;;;ACxIF;;AAEA;AACmE;AACnE,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,oEAAW;AACjB;AACA;AACA;AACA;AACA,IAAI;AACJ,sBAAsB,oEAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWE;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvFF;AAGuB;AAIA;AAKA;;AAEvB;AAC+B;AAC2B;AAClB;AACxC;AACA;AACA;AACA;AACA,eAAe,6CAAgB,wBAAwB,2DAAa,CAAC,4DAAc,GAAG,YAAY,KAAK;AACvG;AACA;AACA;AACA;AACA,eAAe,uCAAU;AACzB;AACA;AACA;AACA;AACA,sCAAsC,4DAAc,GAAG,KAAK;AAC5D,SAAS,6CAAgB;AACzB;AACA;AACA;AACA,SAAS,uCAAU;AACnB;AACA;AACA,sBAAsB,8BAA8B,aAAa,uDAAS;AAC1E;AACA,oBAAoB,0DAAY,YAAY,4DAAc;AAC1D,MAAM,IAAqC;AAC3C,IAAI,4CAAe;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,8BAA8B,sDAAG,KAAK,2DAAa,CAAC,4DAAc,GAAG,WAAW,QAAQ;AACxF,IAAI,SAAS,iDAAoB;AACjC,wBAAwB,2DAAa,CAAC,4DAAc,GAAG,mBAAmB,gBAAgB;AAC1F,cAAc,+CAAkB,SAAS,wDAAU;AACnD,IAAI;AACJ;AACA,IAAI;AACJ,QAAQ,IAAqC;AAC7C,MAAM,4CAAe;AACrB;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,uBAAuB,WAAW,mBAAmB,uDAAS;AAC9D;AACA,IAAI;AACJ,8BAA8B,sDAAG,KAAK,4DAAc,GAAG;AACvD,IAAI;AACJ,8BAA8B,sDAAG,OAAO,4DAAc,GAAG;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,UAAU,wEAAc;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gDAAmB;AACrC,wBAAwB,gDAAmB;AAC3C,4BAA4B,6CAAgB;AAC5C;AACA,mBAAmB,6CAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,6CAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,sDAAG,WAAW,2DAAa,CAAC,4DAAc,GAAG,YAAY,UAAU;AACjH,sBAAsB,sDAAG,mBAAmB,4DAAc,GAAG;AAC7D;AACA;AACA;AACA,2BAA2B,sDAAG,kBAAkB,2DAAa,CAAC,4DAAc,GAAG,YAAY;AAC3F,8CAA8C,sDAAG,WAAW,2DAAa,CAAC,4DAAc,GAAG,YAAY,UAAU;AACjH,sBAAsB,sDAAG,yBAAyB,4DAAc,GAAG;AACnE,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUE;;;;;;;;;;;;;;;;;;AC/IF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,6DAA6D;AAC3I;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAME;;;;;;;;;;;;;;;;;;;;;ACrCF;AAGuB;;AAEvB;AACA,UAAU,gEAAkB;AAC5B;AACA;AACA;AACA;AACA;;AAQE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBF;AAGuB;AAIA;;AAEvB;AASe;AACgB;AACqB;AACgB;AACd;AACtD,aAAa,4DAAc,GAAG,EAAE,yLAAK;AACrC;AACA;AACA;AACA,0BAA0B,8DAAS,GAAG,kDAAe,GAAG,4CAAS;AACjE;AACA,yBAAyB,+CAAQ;AACjC;AACA;AACA;AACA,cAAc,6CAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,6CAAM;AACpB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,4CAA4C,+CAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,6CAAM;AACpB;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA,SAAS,kDAAW;AACpB;AACA;AACA,GAAG;AACH;AACA;AACA,SAAS,8CAAO;AAChB;AACA;AACA;AACA,4BAA4B,oDAAM;AAClC;AACA,GAAG;AACH;AACA;AACA,sBAAsB,+CAAQ;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,+CAAQ;AAC9B;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,+CAAQ;AACpD,EAAE,gDAAS;AACX;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+CAAQ;AACxC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,oCAAoC,+CAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,kBAAkB,6CAAM;AACxB,EAAE,gDAAS;AACX;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE,gDAAS;AACX;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,kBAAkB,6CAAM;AACxB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,sCAAsC,+CAAQ;AAC9C;AACA;AACA;AACA;AACA,uBAAuB,kDAAW;AAClC;AACA;AACA;AACA;AACA,QAAQ;AACR,0BAA0B,oEAAU;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,aAAa;AAC9D;AACA;AACA;AACA,SAAS,iDAAU;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kDAAW;AACjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,SAAS,2DAAa,CAAC,4DAAc,GAAG,YAAY,aAAa;AACjE;AACA;AACA,sCAAsC,+CAAQ;AAC9C;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,kCAAkC,8CAAO;AACzC;AACA,KAAK,EAAE,2DAAa,CAAC,4DAAc,GAAG,aAAa,cAAc;AACjE,GAAG;AACH,mDAAmD,yBAAyB;AAC5E;AACA;AACA,EAAE,gDAAS;AACX,IAAI,kFAAsB;AAC1B,IAAI,kFAAsB;AAC1B,IAAI,kFAAsB;AAC1B,IAAI,kFAAsB;AAC1B,IAAI,kFAAsB;AAC1B,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,aAAoB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAwBE;;;;;;;;;;;;;;;;;;;;AC9RF;AAGuB;AAIA;;AAEvB;AACgE;AAChE;AACA,UAAU,qEAAuB;AACjC,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf;AACA;AACA,qCAAqC;AACrC,0BAA0B,sDAAQ,CAAC,yFAAyB;AAC5D;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;;AC/BF;AAIuB;AAGA;;AAEvB;AACA,UAAU,gEAAkB;AAC5B,GAAG,+DAAqB;AACxB,GAAG,qEAA2B;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAQE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BF;AAOuB;AAIA;AAGA;AAKA;AAOA;AAKA;;AAEvB;AACiE;AACQ;AACD;AAKpC;AACgC;AACf;AACb;AACxC;AACA;AACA;AACA;AACA;AACA,iBAAiB,oEAAW;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,sDAAQ;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,wEAAY;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,4DAAc;AAC9C;AACA;AACA,wBAAwB,OAAO,kBAAkB,uDAAS;AAC1D;AACA;AACA;AACA;AACA,SAAS,6EAAiB;AAC1B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,SAAS,kEAAoB;AAC7B,IAAI,yEAAc,CAAC,uEAAY,CAAC,8DAAgB;AAChD;AACA;AACA;AACA,oCAAoC,+CAAQ;AAC5C,mBAAmB,kDAAW;AAC9B;AACA,eAAe,4DAAc;AAC7B;AACA,EAAE,gDAAS;AACX;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,qBAAqB;AAC/C,GAAG;AACH;AACA;AACA,mBAAmB,wDAAU;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,cAAc,uDAAS;AAC7B;AACA;AACA;AACA;AACA;AACA,oBAAoB,yEAA2B;AAC/C;AACA,IAAI,oEAAS;AACb;AACA,MAAM,KAAqC;AAC3C;AACA,+BAA+B,6CAAM;AACrC;AACA;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,sBAAsB;AACpC,iCAAiC,4DAAc;AAC/C;AACA;AACA,MAAM,yEAAa;AACnB,KAAK;AACL,IAAI,iEAAmB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,mCAAmC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,yEAAa,oBAAoB,4BAA4B;AACrE;AACA,WAAW,oEAAQ;AACnB;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI,iEAAmB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4DAAc;AACjD,6CAA6C,yEAAgB;AAC7D;AACA;AACA,MAAM,yEAAa,oBAAoB,eAAe;AACtD,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,sDAAQ;AACnC;AACA;AACA;AACA;AACA;AACA,cAAc,8BAA8B;AAC5C;AACA;AACA;AACA,gCAAgC,6DAAe;AAC/C,UAAU,wEAAY;AACtB;AACA;AACA;AACA,KAAK;AACL;AACA,oBAAoB,sDAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,gBAAgB;AAC9B,cAAc,8BAA8B;AAC5C;AACA,YAAY,wEAAY,YAAY,oDAAM;AAC1C;AACA;AACA,QAAQ,SAAS,wEAAY;AAC7B;AACA;AACA,KAAK;AACL;AACA,0BAA0B,sDAAQ;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,mDAAmD;AACjE;AACA;AACA,mCAAmC,4DAAc;AACjD;AACA,sCAAsC,oDAAM;AAC5C;AACA;AACA,UAAU,wEAAY;AACtB;AACA;AACA,YAAY,yEAAa;AACzB;AACA,UAAU;AACV,UAAU,yEAAa;AACvB,UAAU;AACV,UAAU,yEAAa;AACvB;AACA;AACA,QAAQ;AACR,6BAA6B,oDAAM;AACnC;AACA,UAAU,yEAAa;AACvB;AACA;AACA,KAAK;AACL;AACA,+BAA+B,6DAAe;AAC9C,sBAAsB,sDAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wEAAY;AACvB;AACA,cAAc,yDAAyD;AACvE,yBAAyB,4DAAc;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,oEAAW;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,4DAAc;AAC1B;AACA,mCAAmC,sDAAG,CAAC,kEAAwB,IAAI,iCAAiC;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4DAAc;AAClC,KAAK;AACL,YAAY,2DAAa,CAAC,4DAAc;AACxC;AACA,KAAK;AACL,WAAW,0DAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY,2DAAY,CAAC,4DAAc,GAAG,WAAW;AACrD;AACA;AACA;AACA,gBAAgB,6DAAe;AAC/B;AACA,SAAS,2DAAa;AACtB,CAAC;AACD,IAAI,IAAqC;AACzC;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3WF;AAGuB;AAGA;AAKA;AAGA;AAMA;AAKA;;AAEvB;AACiC;AACoB;AACb;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,2BAA2B,wDAAU;AACrC;AACA,mBAAmB,uBAAuB,cAAc,uDAAS;AACjE,oBAAoB,0EAA4B;AAChD;AACA,IAAI,mEAAS;AACb;AACA,MAAM,KAAqC;AAC3C;AACA,eAAe,mDAAK;AACpB,wCAAwC,+CAAQ;AAChD;AACA;AACA;AACA;AACA,IAAI,iEAAmB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,IAAI,iEAAmB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,4DAAc;AAC1B;AACA,mCAAmC,sDAAG,CAAC,qEAA2B,IAAI,iCAAiC;AACvG;AACA;AACA;AACA,2BAA2B,2DAAa,CAAC,4DAAc,GAAG,kBAAkB,iBAAiB;AAC7F,YAAY,2DAAa,CAAC,4DAAc;AACxC;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,0DAAY;AACvB;AACA,KAAK;AACL;AACA;AACA;AACA,4BAA4B,6DAAe;AAC3C;AACA;AACA,WAAW,2DAAa;AACxB;AACA;AACA,wBAAwB,6DAAe;AACvC;AACA,mBAAmB,gBAAgB,cAAc,uDAAS;AAC1D,oBAAoB,0EAA4B;AAChD;AACA,oBAAoB,2DAAa;AACjC;AACA;AACA;AACA;AACA;AACA,2BAA2B,sDAAG,wBAAwB,4DAAc,GAAG;AACvE;AACA;AACA,IAAI,IAAqC;AACzC;AACA;;AAME;;;;;;;;;;;;;;;;;;;;;;;;AC3JF;AAKuB;AAIA;;AAEvB;AAC+B;AACqC;AACK;AACO;AAChF,MAAM,uBAAuB,EAAE,kEAA2B;AAC1D;AACA;AACA,8CAA8C,8DAAQ;AACtD,yBAAyB,8CAAiB;AAC1C;AACA;AACA;AACA,aAAa,oEAAS;AACtB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,wEAAc;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,wEAAc;AAC9B;AACA,mBAAmB,wDAAU,GAAG,iBAAiB;AACjD,EAAE,iEAAmB;AACrB,WAAW,+DAAI;AACf,cAAc,qCAAqC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,EAAE,iEAAmB;AACrB;AACA;AACA;AACA,WAAW,gEAAK;AAChB;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,4BAA4B,2CAAc;AAC1C,EAAE,iEAAmB,OAAO,+DAAI;AAChC,oBAAoB,8CAAiB;AACrC;AACA;AACA;AACA,wBAAwB,0CAAa;AACrC,UAAU,2DAAa,CAAC,4DAAc,GAAG,YAAY,qBAAqB;AAC1E;AACA;AACA,sBAAsB,sDAAQ;AAC9B,qCAAqC,4DAAc,CAAC,4DAAc,GAAG;AACrE,GAAG;AACH;AACA;;AAME;;;;;;;;;;;;;;;;;;;;;;;;;AC5FF;AAIuB;AAGA;;AAEvB;AACsC;AACtC,UAAU,gEAAkB;AAC5B,GAAG,mEAAyB;AAC5B,GAAG,yEAA+B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,oDAAa;AACxC,+BAA+B,oDAAa;;AAU1C;;;;;;;;;;;;;;;;;;;;;;;;;AC/BF;AAGuB;AAKA;AAMA;AAKA;;AAEvB;AACoC;AACe;AACkB;AACA;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iEAAQ;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,wEAAc;AACtB;AACA;AACA,IAAI;AACJ;AACA;AACA,wBAAwB,wDAAU;AAClC;AACA;AACA;AACA;AACA;AACA,MAAM,cAAc,uDAAS;AAC7B;AACA;AACA;AACA;AACA,oBAAoB,iEAAmB;AACvC;AACA,IAAI,mEAAS;AACb;AACA,MAAM,KAAqC;AAC3C;AACA,0BAA0B,8DAAgB;AAC1C;AACA,6BAA6B,6DAAe;AAC5C,wBAAwB,sDAAQ;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yEAAc;AACzB;AACA,4BAA4B,mEAAQ;AACpC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,+BAA+B,6DAAe;AAC9C,yBAAyB,sDAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gBAAgB,kDAAW;AAC3B;AACA;AACA;AACA,KAAK;AACL,YAAY,2DAAa,CAAC,4DAAc,GAAG;AAC3C,WAAW,0DAAY;AACvB;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,qBAAqB,iEAAmB;AACxC;AACA;AACA,WAAW,2DAAa;AACxB;AACA;AACA,IAAI,IAAqC;AACzC;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;;;;;ACrIF;AAIuB;AAGA;;AAEvB;AACsC;AACtC,UAAU,gEAAkB;AAC5B,GAAG,mEAAyB;AAC5B,GAAG,yEAA+B;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,oDAAa;AACxC;AACA;AACA,0BAA0B,oDAAa;AACvC;AACA;;AAUE;;;;;;;;;;;;;;;;;;;;;ACnCF;AAGuB;AAKA;AAGA;AAKA;;AAEvB;AACA,uBAAuB,wDAAU;AACjC;AACA,mBAAmB,QAAQ,cAAc,uDAAS;AAClD,oBAAoB,uEAAyB;AAC7C;AACA,YAAY,2DAAa,CAAC,4DAAc,GAAG;AAC3C,WAAW,0DAAY;AACvB,KAAK;AACL;AACA;AACA;AACA,oBAAoB,6DAAe;AACnC;AACA,SAAS,2DAAa;AACtB,CAAC;AACD,IAAI,IAAqC;AACzC;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzCF;AAGuB;AAKA;AAKA;AAKA;;AAEvB;AACgE;AACb;AAOf;AAKD;AAC0B;AACL;AACxD,sBAAsB,sEAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,0BAA0B;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,sDAAQ;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wDAAU;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,cAAc,uDAAS;AAC7B;AACA;AACA;AACA;AACA;AACA,gBAAgB,6CAAM;AACtB,IAAI,gDAAS;AACb;AACA;AACA,MAAM,kFAAsB;AAC5B,MAAM,kFAAsB;AAC5B,KAAK;AACL;AACA,MAAM,gDAAS;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,kCAAkC,2EAAiB;AACnD;AACA,4CAA4C,+CAAQ;AACpD,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,sEAAW;AACxB;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,sDAAQ;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,yEAAa;AACvB;AACA,WAAW,iEAAQ;AACnB;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,MAAM,4EAAgB;AACtB;AACA;AACA;AACA,QAAQ,wEAAa;AACrB,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mEAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,sDAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wEAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,sDAAQ;AACnC;AACA;AACA;AACA;AACA;AACA,WAAW,wEAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,QAAQ,4EAAgB;AACxB,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA,mBAAmB,sDAAQ;AAC3B;AACA;AACA;AACA,WAAW,+EAAmB;AAC9B;AACA;AACA,KAAK;AACL,4BAA4B,iDAAU,CAAC,0DAAgB;AACvD,yBAAyB,sDAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mEAAQ;AACpB;AACA,aAAa,sEAAW;AACxB;AACA;AACA,OAAO;AACP,KAAK;AACL,oBAAoB,wDAAU;AAC9B;AACA;AACA,kCAAkC,4DAAc,GAAG,uBAAuB;AAC1E,YAAY,2DAAa,CAAC,4DAAc;AACxC;AACA;AACA;AACA,KAAK;AACL,WAAW,0DAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,gBAAgB,6DAAe;AAC/B;AACA,SAAS,2DAAa;AACtB,CAAC;AACD,IAAI,IAAqC;AACzC;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;ACrXF;AAGuB;AAIA;AAGA;;AAEvB;AAC4D;AAC5D;AACA,EAAE,6DAAe;AACjB,UAAU,iEAAmB;AAC7B,EAAE,2DAAa;AACf;AACA;AACA,mCAAmC;AACnC,0BAA0B,sDAAQ,CAAC,mFAAuB;AAC1D;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BF;AAGuB;AAKA;AAMA;AAKA;;AAEvB;AACoD;AACY;AAK5B;AACyB;AACJ;AACzD;AACA;AACA;AACA;AACA;AACA,WAAW,iEAAQ;AACnB;AACA;AACA,WAAW,iEAAQ;AACnB;AACA;AACA;AACA;AACA,iBAAiB,wDAAU;AAC3B;AACA,mBAAmB,2CAA2C,cAAc,uDAAS;AACrF,gBAAgB,6CAAM;AACtB,oBAAoB,wDAAU;AAC9B;AACA,gDAAgD,+CAAQ;AACxD,yBAAyB,iEAAQ,GAAG,eAAe;AACnD;AACA,IAAI,gDAAS;AACb;AACA;AACA,wBAAwB,iEAAQ;AAChC,KAAK;AACL,gCAAgC,+CAAQ;AACxC,sBAAsB,6CAAM;AAC5B,qBAAqB,2EAAiB;AACtC,yCAAyC,8DAAgB;AACzD;AACA,sBAAsB,sDAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wEAAY;AACvB;AACA,UAAU,oEAAW;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO,mBAAmB,uDAAS;AACpE,gCAAgC,0EAAc;AAC9C,gBAAgB,uEAAS;AACzB,cAAc,4EAAgB;AAC9B,cAAc;AACd;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,oBAAoB,sDAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO,mBAAmB,uDAAS;AAClE,+BAA+B,0EAAc;AAC7C;AACA;AACA,KAAK;AACL,YAAY,2DAAa,CAAC,4DAAc,CAAC,4DAAc;AACvD;AACA;AACA,KAAK;AACL,WAAW,0DAAY;AACvB;AACA;AACA,KAAK;AACL,YAAY,0DAAY;AACxB;AACA;AACA;AACA,cAAc,6DAAe;AAC7B;AACA,SAAS,2DAAa;AACtB,CAAC;AACD,IAAI,IAAqC;AACzC;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;AC1JF;AAGuB;;AAEvB;AACA,UAAU,gEAAkB;AAC5B;AACA;AACA;AACA;AACA;;AAQE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBF;AAGuB;AAGA;AAKA;AAKA;AAKA;AAGA;AAQA;AAKA;;AAEvB;AAC2E;AAK1C;AACwC;AACZ;AACrB;AACxC;AACA;AACA;AACA,MAAM,oEAAW;AACjB;AACA,yCAAyC,iEAAQ;AACjD;AACA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,gBAAgB;AAC1B,2BAA2B,4EAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA,kBAAkB,0BAA0B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,4DAAc;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,wEAAY;AAClB;AACA,SAAS,oDAAM;AACf;AACA;AACA;AACA,0BAA0B,+CAAQ;AAClC,EAAE,iEAAmB;AACrB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,wDAAU;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,cAAc,uDAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iEAAmB;AACvC;AACA,eAAe,mDAAK;AACpB,gBAAgB,6CAAM;AACtB,gBAAgB,iDAAU,CAAC,6DAAmB;AAC9C,kBAAkB,2DAAa;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,qBAAqB,4EAAiB;AACtC;AACA,oBAAoB,kDAAW;AAC/B;AACA,yBAAyB,2DAAa,CAAC,4DAAc,GAAG;AACxD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,gCAAgC,6CAAM;AACtC,oBAAoB,sDAAQ;AAC5B;AACA;AACA;AACA,UAAU,yEAAa;AACvB;AACA;AACA;AACA;AACA;AACA,cAAc,mEAAmE;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wEAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,oDAAM;AAC1E;AACA,QAAQ,2DAAa;AACrB,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA,0BAA0B,sDAAQ;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,uCAAuC,6DAAe;AACtD,+BAA+B,6DAAe;AAC9C,sBAAsB,sDAAQ;AAC9B;AACA;AACA;AACA,WAAW,wEAAY;AACvB;AACA;AACA;AACA,cAAc,gBAAgB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oEAAW;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,wBAAwB,2DAAa;AACrC;AACA;AACA;AACA,0BAA0B,8CAAO;AACjC,eAAe,iBAAiB;AAChC;AACA;AACA,YAAY,4DAAc;AAC1B;AACA,mCAAmC,sDAAG,CAAC,8DAAoB,aAAa,yCAAyC;AACjH;AACA;AACA,yBAAyB,2DAAa;AACtC;AACA;AACA;AACA,yBAAyB,2DAAa;AACtC;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,wBAAwB,2DAAa;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,yBAAyB,2DAAa;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,uBAAuB,2DAAa;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,2DAAa,CAAC,4DAAc;AACxC;AACA;AACA;AACA,KAAK;AACL,WAAW,0DAAY;AACvB;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,yDAAU;AACtB,YAAY,gEAAiB,CAAC,2DAAa,CAAC,4DAAc;AAC1D;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,WAAW,2DAAa,CAAC,4DAAc,GAAG;AAC1C;AACA;AACA,KAAK;AACL;AACA;AACA,oBAAoB,iEAAmB;AACvC;AACA;AACA,WAAW,2DAAa;AACxB;AACA;AACA,IAAI,IAAqC;AACzC;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;ACzZF;AAIuB;AAGA;;AAEvB;AACkE;AAClE;AACA,EAAE,6DAAe;AACjB,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf;AACA;AACA,sCAAsC;AACtC,0BAA0B,sDAAQ,CAAC,4FAA0B;AAC7D;AACA;;AAKE;;;;;;;;;;;;;;;;;AC1BF;;AAEA;AACsC;AACtC,uBAAuB,oDAAa;;AAIlC;;;;;;;;;;;;;;;;;;;;;;;ACRF;AAGuB;AAKA;AAIA;AAKA;;AAEvB;AAC0C;AACU;AACpD,wBAAwB,wDAAU;AAClC;AACA;AACA;AACA;AACA,gBAAgB,8DAAQ;AACxB;AACA,MAAM,cAAc,uDAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,kEAAoB;AACxC;AACA,eAAe,mDAAK;AACpB,gBAAgB,6CAAM;AACtB,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,uBAAuB;AACpD;AACA,KAAK;AACL,YAAY,2DAAa,CAAC,4DAAc,GAAG;AAC3C,WAAW,0DAAY;AACvB,KAAK;AACL;AACA;AACA;AACA,qBAAqB,6DAAe;AACpC;AACA;AACA,WAAW,2DAAa;AACxB;AACA;AACA,IAAI,IAAqC;AACzC;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;;;;;;ACtEF;AAIuB;AAIA;AAGA;;AAEvB;AACsC;AACtC,UAAU,gEAAkB;AAC5B,GAAG,gEAAsB,EAAE,kEAAwB;AACnD,GAAG,sEAA4B,EAAE,wEAA8B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,oDAAa;AAC5C;AACA;AACA,iCAAiC,oDAAa;;AAU5C;;;;;;;;;;;;;;;;;;;;;;ACrCF;AAGuB;;AAEvB;AACuC;AACmB;AAC1D;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,qDAAc;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4DAAc,GAAG;AACjC;AACA,SAAS,wEAAc;AACvB;AACA;AACA;AACA,oCAAoC,YAAY,EAAE,gBAAgB;AAClE;AACA;AACA;AACA;AACA,iCAAiC,4DAAc,CAAC,4DAAc,GAAG;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOE;;;;;;;;;;;;;;;;;;;;ACjEF;AAIuB;AAGA;;AAEvB;AACkE;AAClE;AACA,EAAE,6DAAe;AACjB,EAAE,2DAAa;AACf;AACA;AACA,sCAAsC;AACtC,0BAA0B,sDAAQ,CAAC,4FAA0B;AAC7D;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBF;AAIuB;AAGA;AAGA;AAKA;AAOA;AAKA;;AAEvB;AAC+B;AACkC;AACZ;AACb;AACxC,sBAAsB,wDAAU;AAChC;AACA,mBAAmB,yCAAyC,cAAc,uDAAS;AACnF,oBAAoB,wEAA0B;AAC9C;AACA,IAAI,mEAAS;AACb;AACA,MAAM,KAAqC;AAC3C;AACA,gBAAgB,6CAAM;AACtB,eAAe,mDAAK;AACpB;AACA,sBAAsB,sDAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gCAAgC,6CAAM;AACtC;AACA,2BAA2B,sDAAQ;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,eAAe;AAC7B;AACA;AACA,cAAc,+BAA+B;AAC7C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,mBAAmB,sDAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA,WAAW,+EAAmB;AAC9B;AACA;AACA;AACA,KAAK;AACL,YAAY,4DAAc;AAC1B;AACA,mCAAmC,sDAAG,CAAC,uEAA6B,IAAI,iCAAiC;AACzG;AACA;AACA;AACA,mBAAmB,sDAAQ;AAC3B,2BAA2B,2DAAa,CAAC,4DAAc,GAAG,kBAAkB,iBAAiB;AAC7F;AACA;AACA;AACA,iBAAiB,0DAAY;AAC7B;AACA;AACA,YAAY,2DAAa,CAAC,4DAAc;AACxC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,0DAAY;AACvB;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,0DAAY,CAAC,4DAAc,GAAG,WAAW;AACrD;AACA;AACA;AACA,mBAAmB,6DAAe;AAClC;AACA,SAAS,2DAAa;AACtB,CAAC;AACD,IAAI,IAAqC;AACzC;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;AC/HF;AAGuB;AAGA;AAIA;;AAEvB;AAC8D;AAC9D;AACA,UAAU,kEAAoB;AAC9B,UAAU,oEAAsB;AAChC,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf;AACA;AACA,oCAAoC;AACpC,0BAA0B,sDAAQ,CAAC,sFAAwB;AAC3D;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;AC/BF;AAGuB;AAGA;;AAEvB;AAC0D;AAC1D;AACA,SAAS,qEAAuB;AAChC;AACA,kCAAkC;AAClC,0BAA0B,sDAAQ,CAAC,gFAAsB;AACzD;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;;;ACrBF;AAIiC;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AAIA;;AAEjC;AAC4C;AAC0B;AAC9B;AACxC;AACA,SAAS,yEAAe;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,sDAAG,WAAW,qEAAqE;AAC3G;AACA;AACA;AACA,sBAAsB,sDAAG,WAAW,4EAA4E;AAChH;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,sDAAG,WAAW,oDAAoD;AACxF;AACA;AACA;AACA;AACA,2BAA2B,+DAAU;AACrC;AACA,mBAAmB,eAAe,cAAc,8DAAS;AACzD,oBAAoB,6EAAwB;AAC5C;AACA,wBAAwB,iDAAU,CAAC,yEAAwB;AAC3D;AACA,IAAI,mEAAS;AACb;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA,qBAAqB,8CAAO;AAC5B;AACA;AACA;AACA,YAAY,mEAAc;AAC1B;AACA,KAAK;AACL;AACA;AACA;AACA,wBAAwB,oEAAe;AACvC;AACA;AACA,WAAW,kEAAa;AACxB;AACA;AACA,IAAI,IAAqC;AACzC;AACA;AAIE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxFF;AAGiC;AAKA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AAKA;AACA;AAKA;;AAEjC;AACoC;AACoC;AACM;AACzB;AACA;AACb;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,+DAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,cAAc,8DAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,6EAAwB;AAC5C;AACA,IAAI,mEAAS;AACb;AACA,MAAM,KAAqC;AAC3C;AACA,oBAAoB,kDAAW;AAC/B;AACA,yBAAyB,kEAAa,CAAC,mEAAc,GAAG,WAAW,OAAO;AAC1E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oEAAe;AAC/C,mCAAmC,oEAAe;AAClD,4BAA4B,oEAAe;AAC3C,oBAAoB,6DAAQ;AAC5B;AACA;AACA;AACA,UAAU,yEAAa;AACvB;AACA,UAAU,6EAAiB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,sBAAsB,6DAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,mEAAQ;AAClB;AACA;AACA;AACA;AACA,YAAY,oEAAW;AACvB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,cAAc,mEAAc;AAC5B;AACA,OAAO;AACP;AACA,YAAY,mEAAc;AAC1B;AACA,mCAAmC,sDAAG,CAAC,yEAAwB,aAAa,iCAAiC,sDAAG,CAAC,2EAA0B,aAAa,+DAA+D,GAAG;AAC1N;AACA;AACA;AACA,YAAY,kEAAa,CAAC,mEAAc;AACxC,YAAY,yEAAgB;AAC5B;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,+BAA+B,oEAAe;AAC9C,YAAY,sEAAgB,CAAC,kEAAa,CAAC,mEAAc;AACzD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,uEAAiB,CAAC,mEAAc,GAAG,qBAAqB;AACpE;AACA;AACA;AACA,mBAAmB,wEAAmB;AACtC;AACA;AACA,WAAW,kEAAa;AACxB;AACA;AACA,IAAI,IAAqC;AACzC;AACA;AAIE;;;;;;;;;;;;;;;;;;;;;AC3MF;AAGiC;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AAIA;;AAEjC;AACqD;AACrD,uBAAuB,+DAAU;AACjC;AACA,mBAAmB,QAAQ,cAAc,8DAAS;AAClD,oBAAoB,+EAA0B;AAC9C;AACA,IAAI,mEAAS;AACb;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,mEAAc;AAC1B;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB,wEAAmB;AACvC;AACA;AACA,WAAW,kEAAa;AACxB;AACA;AACA,IAAI,IAAqC;AACzC;AACA;AAIE;;;;;;;;;;;;;;;;;;;ACtDF;AAGiC;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEjC;AACwC;AACxC,oCAAoC;AACpC,gBAAgB,qEAAgB;AAChC,yBAAyB,sDAAG,CAAC,wEAAuB,IAAI,wCAAwC;AAChG;AAGE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/BF;AAGiC;AAGA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AAUA;AACA;AAKA;;AAEjC;AAC6D;AAK5B;AAIG;AACiB;AAKnB;AACI;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,yEAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,+DAAU;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,cAAc,8DAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,+EAA0B;AAC9C;AACA,IAAI,mEAAS;AACb;AACA,MAAM,KAAqC;AAC3C;AACA,gBAAgB,6CAAM;AACtB,6CAA6C,mEAAc;AAC3D,6BAA6B,6CAAM;AACnC,yBAAyB,6CAAM;AAC/B;AACA;AACA;AACA;AACA,sCAAsC,+CAAQ;AAC9C,IAAI,0EAAqB;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,8CAAO;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,0EAAiB;AACzB,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,6CAAM;AACtC,gCAAgC,6DAAQ;AACxC,4BAA4B,6CAAM;AAClC,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA,+BAA+B,4EAAmB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,wEAAmB;AACvB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,wEAAmB;AACvB;AACA;AACA;AACA,KAAK;AACL;AACA,IAAI,oEAAe;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,yDAAyD;AACvE,0BAA0B,mEAAQ;AAClC;AACA;AACA;AACA,4CAA4C,mCAAmC;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,mCAAmC,qCAAqC;AACxE;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,+EAAmB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,6BAA6B,oEAAe;AAC5C,iCAAiC,oEAAe;AAChD,qBAAqB,6DAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA,cAAc,8CAA8C;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,oDAAS;AACjB,QAAQ,0EAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,6BAA6B,6DAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oEAAe;AAC/C,gCAAgC,oEAAe;AAC/C,wBAAwB,6DAAQ;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4EAAgB;AACxB;AACA,KAAK;AACL;AACA,8BAA8B,oEAAe;AAC7C,sBAAsB,6DAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,wBAAwB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,6DAAQ;AAC3B;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,0DAAK;AACpB;AACA;AACA,YAAY,kEAAa,CAAC,mEAAc;AACxC;AACA;AACA;AACA,uBAAuB,qEAAY;AACnC;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,iEAAY;AACvB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,kEAAY,CAAC,kEAAa,CAAC,mEAAc;AACrD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY,gFAAsB;AAClC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,sEAAgB,CAAC,mEAAc,GAAG,OAAO;AACrD,WAAW,mEAAc,GAAG,qBAAqB;AACjD;AACA;AACA,eAAe,oEAAe;AAC9B;AACA,SAAS,kEAAa;AACtB,CAAC;AACD,IAAI,IAAqC;AACzC;AACA;AAIE;;;;;;;;;;;;;;;;ACvca;AACf;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACb+B;AACa;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,4CAA4C;AAC5C,4CAA4C,+CAAQ;AACpD,gCAAgC,+CAAQ;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,+BAA+B;AACzC;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,KAAK;AACL,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gGAAgG,QAAQ,YAAY;AACpH;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA,QAAQ,uBAAuB,gBAAgB,gDAAmB;AAClE;AACA,UAAU,oBAAoB;AAC9B,yBAAyB,gDAAmB;AAC5C;AACA,KAAK;AACL;AACA;AACA,UAAU,UAAU;AACpB,yBAAyB,gDAAmB;AAC5C;AACA,KAAK;AACL;;AAEA;AACA,wCAAwC,4CAAe;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,+BAA+B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,+BAA+B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,aAAa;AACb;AACA;AACA,oBAAoB,UAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,UAAU;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,oJAAoJ;AACtK,oBAAoB,+BAA+B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,kBAAkB,WAAW;AAC7B,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,kBAAkB;AAClB;AACA,kBAAkB;AAClB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA,mCAAmC,4CAAe;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,sDAAsD;AACtE,6BAA6B,gDAAmB;AAChD;AACA,qCAAqC,gDAAmB,4CAA4C;AACpG;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;;AAEA,gCAAgC,4CAAe;AAC/C;AACA;AACA;AACA;AACA,cAAc,6CAA6C;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,wBAAwB;AAC5C;AACA,mFAAmF,aAAa;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA,gBAAgB,+BAA+B;AAC/C,6BAA6B,gDAAmB;AAChD;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,0BAA0B,4CAAe;AACzC;AACA,gBAAgB,yGAAyG;AACzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA,2BAA2B,qBAAqB;AAChD,wBAAwB,gDAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,oCAAoC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,gDAAmB;AACpD;AACA;AACA,aAAa,gBAAgB,gDAAmB;AAChD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb,UAAU;AACV,iCAAiC,gDAAmB;AACpD;AACA;AACA,aAAa;AACb,sBAAsB,eAAe;AACrC;AACA,aAAa;AACb,sBAAsB,eAAe;AACrC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,4CAAe;AAC1D,yCAAyC,4CAAe;AACxD;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA,wBAAwB,8FAA8F;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA,aAAa;AACb;AACA,wBAAwB,yBAAyB;AACjD,wBAAwB,qBAAqB;AAC7C;AACA;AACA,4BAA4B,wBAAwB;AACpD;AACA;AACA,2FAA2F,aAAa;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,oBAAoB,qEAAqE;AACzF;AACA;AACA;AACA;AACA;AACA,iCAAiC,gDAAmB;AACpD;AACA;AACA;AACA,aAAa,2FAA2F,gDAAmB,CAAC,2CAAc,sBAAsB,gDAAmB;AACnL;AACA;AACA;AACA,aAAa,iBAAiB,gDAAmB;AACjD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,qGAAqG,gDAAmB,CAAC,2CAAc;AACvI,sBAAsB,yBAAyB;AAC/C;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,sBAAsB,yBAAyB;AAC/C,qCAAqC,gDAAmB;AACxD;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA,iCAAiC,gDAAmB;AACpD;AACA,aAAa;AACb;AACA;AACA;;AAEA,sBAAsB,4CAAe;AACrC;AACA,gBAAgB,uFAAuF;AACvG,6BAA6B,gDAAmB;AAChD;AACA,SAAS,qFAAqF,gDAAmB,8BAA8B;AAC/I;AACA,SAAS,mGAAmG,gDAAmB;AAC/H;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4CAA4C;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sEAAsE;;AAEvE;;AAE6E;AAC7E;;;;;;;UC7vBA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA,+BAA+B,wCAAwC;WACvE;WACA;WACA;WACA;WACA,iBAAiB,qBAAqB;WACtC;WACA;WACA,kBAAkB,qBAAqB;WACvC;WACA;WACA,KAAK;WACL;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC3BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,sDAAsD;WACtD,sCAAsC,iEAAiE;WACvG;WACA;WACA;WACA;WACA;WACA;;;;;WCzBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;;;;;UEjDA;UACA;UACA;UACA;UACA","sources":["webpack://search-console/./node_modules/@react-oauth/google/dist/index.esm.js","webpack://search-console/./assets/logo.svg","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/add-filter.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/bulk-actions.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/constants.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/dataviews.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/filter-summary.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/filters.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/item-actions.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/layouts.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/lock-unlock.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/normalize-fields.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/pagination.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/reset-filters.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/search-widget.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/search.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/single-selection-checkbox.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/utils.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/view-actions.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/view-grid.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/view-list.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/view-table.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/icon/index.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/block-table.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/category.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/check.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/chevron-left.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/chevron-right.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/close-small.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/cloud.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/format-list-bullets-rtl.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/format-list-bullets.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/funnel.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/more-vertical.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/plus.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/search.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/settings.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/unseen.js","webpack://search-console/./src/components/Footer.js","webpack://search-console/./src/components/Header.js","webpack://search-console/./src/components/ads/index.js","webpack://search-console/./src/components/ads/slideshow.js","webpack://search-console/./src/components/dashboard/chart/chart-options.js","webpack://search-console/./src/components/dashboard/chart/index.js","webpack://search-console/./src/components/dashboard/modals/countries.js","webpack://search-console/./src/components/dashboard/modals/country.js","webpack://search-console/./src/components/dashboard/modals/device.js","webpack://search-console/./src/components/dashboard/modals/page.js","webpack://search-console/./src/components/dashboard/modals/query.js","webpack://search-console/./src/components/dashboard/table/datedropdown.js","webpack://search-console/./src/components/dashboard/table/dateselect.js","webpack://search-console/./src/components/dashboard/table/dimensions.js","webpack://search-console/./src/components/dashboard/table/filters.js","webpack://search-console/./src/components/dashboard/table/index.js","webpack://search-console/./src/components/dashboard/table/modals.js","webpack://search-console/./src/components/loading-spinner.js","webpack://search-console/./src/components/settings/credentials.js","webpack://search-console/./src/components/settings/google-oauth.js","webpack://search-console/./src/components/settings/help.js","webpack://search-console/./src/components/settings/oauth-button.js","webpack://search-console/./src/components/settings/post-type-selection.js","webpack://search-console/./src/components/settings/save-button.js","webpack://search-console/./src/components/settings/site-select.js","webpack://search-console/./src/components/settings/verification.js","webpack://search-console/./src/context/settings-context.js","webpack://search-console/./src/index.js","webpack://search-console/./src/router/history.js","webpack://search-console/./src/router/index.js","webpack://search-console/./src/routes/dashboard.js","webpack://search-console/./src/routes/settings.js","webpack://search-console/./src/store/index.js","webpack://search-console/./node_modules/classnames/index.js","webpack://search-console/./node_modules/history/index.js","webpack://search-console/./src/style.scss","webpack://search-console/./node_modules/react/cjs/react-jsx-runtime.development.js","webpack://search-console/./node_modules/react/jsx-runtime.js","webpack://search-console/./node_modules/remove-accents/index.js","webpack://search-console/./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","webpack://search-console/./node_modules/use-sync-external-store/shim/index.js","webpack://search-console/external window \"React\"","webpack://search-console/external window \"ReactDOM\"","webpack://search-console/external window [\"wp\",\"apiFetch\"]","webpack://search-console/external window [\"wp\",\"components\"]","webpack://search-console/external window [\"wp\",\"compose\"]","webpack://search-console/external window [\"wp\",\"coreData\"]","webpack://search-console/external window [\"wp\",\"data\"]","webpack://search-console/external window [\"wp\",\"date\"]","webpack://search-console/external window [\"wp\",\"element\"]","webpack://search-console/external window [\"wp\",\"i18n\"]","webpack://search-console/external window [\"wp\",\"notices\"]","webpack://search-console/external window [\"wp\",\"primitives\"]","webpack://search-console/external window [\"wp\",\"privateApis\"]","webpack://search-console/external window [\"wp\",\"url\"]","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/22K762VQ.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/4R3V3JGP.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/7PRQYBBV.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/AF6IUUFN.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/DLOEKDPY.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/EAHJFCU4.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/IERTEJ3A.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/MHPO2BXA.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/SX2XFD6A.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/Y3OOHFCN.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/Z5IGYIPT.js","webpack://search-console/./node_modules/@ariakit/core/esm/combobox/combobox-store.js","webpack://search-console/./node_modules/@ariakit/core/esm/utils/events.js","webpack://search-console/./node_modules/@ariakit/core/esm/utils/focus.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/346FK57L.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/3IEDWLST.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/3ORBWXWF.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/4R3V3JGP.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/4UUKJZ4V.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/6O5OEQGF.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/7GBW5FLS.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/7H5KSHHF.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/7QTPYGNZ.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/CLE7NTOY.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/EKQEJRUF.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/G6BJYYBK.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/G6ONQ5EH.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/IB7YUKH5.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/JCH6MLL2.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/KK7H3W2B.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/MG4P3223.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/NWCBQ4CV.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/OAYFXAQ2.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/QZLXIDNP.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/SFCBA2JZ.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/SHA3WOPI.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/UH3I23HL.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/W76OTZCC.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/XM66DUTO.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/Y6GYTNQ2.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/ZEXNX5JH.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/ZKJ2WLF7.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/ZSELSBRM.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/combobox/combobox-item-value.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/combobox/combobox-item.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/combobox/combobox-label.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/combobox/combobox-provider.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/combobox/combobox.js","webpack://search-console/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://search-console/./node_modules/react-google-charts/dist/index.js","webpack://search-console/webpack/bootstrap","webpack://search-console/webpack/runtime/chunk loaded","webpack://search-console/webpack/runtime/compat get default export","webpack://search-console/webpack/runtime/create fake namespace object","webpack://search-console/webpack/runtime/define property getters","webpack://search-console/webpack/runtime/hasOwnProperty shorthand","webpack://search-console/webpack/runtime/make namespace object","webpack://search-console/webpack/runtime/jsonp chunk loading","webpack://search-console/webpack/before-startup","webpack://search-console/webpack/startup","webpack://search-console/webpack/after-startup"],"sourcesContent":["import React, { useState, useRef, useEffect, createContext, useMemo, useContext, useCallback } from 'react';\n\nfunction useLoadGsiScript(options = {}) {\r\n    const { onScriptLoadSuccess, onScriptLoadError } = options;\r\n    const [scriptLoadedSuccessfully, setScriptLoadedSuccessfully] = useState(false);\r\n    const onScriptLoadSuccessRef = useRef(onScriptLoadSuccess);\r\n    onScriptLoadSuccessRef.current = onScriptLoadSuccess;\r\n    const onScriptLoadErrorRef = useRef(onScriptLoadError);\r\n    onScriptLoadErrorRef.current = onScriptLoadError;\r\n    useEffect(() => {\r\n        const scriptTag = document.createElement('script');\r\n        scriptTag.src = 'https://accounts.google.com/gsi/client';\r\n        scriptTag.async = true;\r\n        scriptTag.defer = true;\r\n        scriptTag.onload = () => {\r\n            var _a;\r\n            setScriptLoadedSuccessfully(true);\r\n            (_a = onScriptLoadSuccessRef.current) === null || _a === void 0 ? void 0 : _a.call(onScriptLoadSuccessRef);\r\n        };\r\n        scriptTag.onerror = () => {\r\n            var _a;\r\n            setScriptLoadedSuccessfully(false);\r\n            (_a = onScriptLoadErrorRef.current) === null || _a === void 0 ? void 0 : _a.call(onScriptLoadErrorRef);\r\n        };\r\n        document.body.appendChild(scriptTag);\r\n        return () => {\r\n            document.body.removeChild(scriptTag);\r\n        };\r\n    }, []);\r\n    return scriptLoadedSuccessfully;\r\n}\n\nconst GoogleOAuthContext = createContext(null);\r\nfunction GoogleOAuthProvider({ clientId, onScriptLoadSuccess, onScriptLoadError, children, }) {\r\n    const scriptLoadedSuccessfully = useLoadGsiScript({\r\n        onScriptLoadSuccess,\r\n        onScriptLoadError,\r\n    });\r\n    const contextValue = useMemo(() => ({\r\n        clientId,\r\n        scriptLoadedSuccessfully,\r\n    }), [clientId, scriptLoadedSuccessfully]);\r\n    return (React.createElement(GoogleOAuthContext.Provider, { value: contextValue }, children));\r\n}\r\nfunction useGoogleOAuth() {\r\n    const context = useContext(GoogleOAuthContext);\r\n    if (!context) {\r\n        throw new Error('Google OAuth components must be used within GoogleOAuthProvider');\r\n    }\r\n    return context;\r\n}\n\nfunction extractClientId(credentialResponse) {\r\n    var _a;\r\n    const clientId = (_a = credentialResponse === null || credentialResponse === void 0 ? void 0 : credentialResponse.clientId) !== null && _a !== void 0 ? _a : credentialResponse === null || credentialResponse === void 0 ? void 0 : credentialResponse.client_id;\r\n    return clientId;\r\n}\n\nconst containerHeightMap = { large: 40, medium: 32, small: 20 };\r\nfunction GoogleLogin({ onSuccess, onError, useOneTap, promptMomentNotification, type = 'standard', theme = 'outline', size = 'large', text, shape, logo_alignment, width, locale, click_listener, ...props }) {\r\n    const btnContainerRef = useRef(null);\r\n    const { clientId, scriptLoadedSuccessfully } = useGoogleOAuth();\r\n    const onSuccessRef = useRef(onSuccess);\r\n    onSuccessRef.current = onSuccess;\r\n    const onErrorRef = useRef(onError);\r\n    onErrorRef.current = onError;\r\n    const promptMomentNotificationRef = useRef(promptMomentNotification);\r\n    promptMomentNotificationRef.current = promptMomentNotification;\r\n    useEffect(() => {\r\n        var _a, _b, _c;\r\n        if (!scriptLoadedSuccessfully)\r\n            return;\r\n        (_a = window.google) === null || _a === void 0 ? void 0 : _a.accounts.id.initialize({\r\n            client_id: clientId,\r\n            callback: (credentialResponse) => {\r\n                var _a;\r\n                if (!(credentialResponse === null || credentialResponse === void 0 ? void 0 : credentialResponse.credential)) {\r\n                    return (_a = onErrorRef.current) === null || _a === void 0 ? void 0 : _a.call(onErrorRef);\r\n                }\r\n                const { credential, select_by } = credentialResponse;\r\n                onSuccessRef.current({\r\n                    credential,\r\n                    clientId: extractClientId(credentialResponse),\r\n                    select_by,\r\n                });\r\n            },\r\n            ...props,\r\n        });\r\n        (_b = window.google) === null || _b === void 0 ? void 0 : _b.accounts.id.renderButton(btnContainerRef.current, {\r\n            type,\r\n            theme,\r\n            size,\r\n            text,\r\n            shape,\r\n            logo_alignment,\r\n            width,\r\n            locale,\r\n            click_listener,\r\n        });\r\n        if (useOneTap)\r\n            (_c = window.google) === null || _c === void 0 ? void 0 : _c.accounts.id.prompt(promptMomentNotificationRef.current);\r\n        return () => {\r\n            var _a;\r\n            if (useOneTap)\r\n                (_a = window.google) === null || _a === void 0 ? void 0 : _a.accounts.id.cancel();\r\n        };\r\n        // eslint-disable-next-line react-hooks/exhaustive-deps\r\n    }, [\r\n        clientId,\r\n        scriptLoadedSuccessfully,\r\n        useOneTap,\r\n        type,\r\n        theme,\r\n        size,\r\n        text,\r\n        shape,\r\n        logo_alignment,\r\n        width,\r\n        locale,\r\n    ]);\r\n    return (React.createElement(\"div\", { ref: btnContainerRef, style: { height: containerHeightMap[size] } }));\r\n}\n\nfunction googleLogout() {\r\n    var _a;\r\n    (_a = window.google) === null || _a === void 0 ? void 0 : _a.accounts.id.disableAutoSelect();\r\n}\n\n/* eslint-disable import/export */\r\nfunction useGoogleLogin({ flow = 'implicit', scope = '', onSuccess, onError, onNonOAuthError, overrideScope, ...props }) {\r\n    const { clientId, scriptLoadedSuccessfully } = useGoogleOAuth();\r\n    const clientRef = useRef();\r\n    const onSuccessRef = useRef(onSuccess);\r\n    onSuccessRef.current = onSuccess;\r\n    const onErrorRef = useRef(onError);\r\n    onErrorRef.current = onError;\r\n    const onNonOAuthErrorRef = useRef(onNonOAuthError);\r\n    onNonOAuthErrorRef.current = onNonOAuthError;\r\n    useEffect(() => {\r\n        var _a;\r\n        if (!scriptLoadedSuccessfully)\r\n            return;\r\n        const clientMethod = flow === 'implicit' ? 'initTokenClient' : 'initCodeClient';\r\n        const client = (_a = window.google) === null || _a === void 0 ? void 0 : _a.accounts.oauth2[clientMethod]({\r\n            client_id: clientId,\r\n            scope: overrideScope ? scope : `openid profile email ${scope}`,\r\n            callback: (response) => {\r\n                var _a, _b;\r\n                if (response.error)\r\n                    return (_a = onErrorRef.current) === null || _a === void 0 ? void 0 : _a.call(onErrorRef, response);\r\n                (_b = onSuccessRef.current) === null || _b === void 0 ? void 0 : _b.call(onSuccessRef, response);\r\n            },\r\n            error_callback: (nonOAuthError) => {\r\n                var _a;\r\n                (_a = onNonOAuthErrorRef.current) === null || _a === void 0 ? void 0 : _a.call(onNonOAuthErrorRef, nonOAuthError);\r\n            },\r\n            ...props,\r\n        });\r\n        clientRef.current = client;\r\n        // eslint-disable-next-line react-hooks/exhaustive-deps\r\n    }, [clientId, scriptLoadedSuccessfully, flow, scope]);\r\n    const loginImplicitFlow = useCallback((overrideConfig) => { var _a; return (_a = clientRef.current) === null || _a === void 0 ? void 0 : _a.requestAccessToken(overrideConfig); }, []);\r\n    const loginAuthCodeFlow = useCallback(() => { var _a; return (_a = clientRef.current) === null || _a === void 0 ? void 0 : _a.requestCode(); }, []);\r\n    return flow === 'implicit' ? loginImplicitFlow : loginAuthCodeFlow;\r\n}\n\nfunction useGoogleOneTapLogin({ onSuccess, onError, promptMomentNotification, cancel_on_tap_outside, hosted_domain, }) {\r\n    const { clientId, scriptLoadedSuccessfully } = useGoogleOAuth();\r\n    const onSuccessRef = useRef(onSuccess);\r\n    onSuccessRef.current = onSuccess;\r\n    const onErrorRef = useRef(onError);\r\n    onErrorRef.current = onError;\r\n    const promptMomentNotificationRef = useRef(promptMomentNotification);\r\n    promptMomentNotificationRef.current = promptMomentNotification;\r\n    useEffect(() => {\r\n        var _a, _b;\r\n        if (!scriptLoadedSuccessfully)\r\n            return;\r\n        (_a = window.google) === null || _a === void 0 ? void 0 : _a.accounts.id.initialize({\r\n            client_id: clientId,\r\n            callback: (credentialResponse) => {\r\n                var _a;\r\n                if (!(credentialResponse === null || credentialResponse === void 0 ? void 0 : credentialResponse.credential)) {\r\n                    return (_a = onErrorRef.current) === null || _a === void 0 ? void 0 : _a.call(onErrorRef);\r\n                }\r\n                const { credential, select_by } = credentialResponse;\r\n                onSuccessRef.current({\r\n                    credential,\r\n                    clientId: extractClientId(credentialResponse),\r\n                    select_by,\r\n                });\r\n            },\r\n            hosted_domain,\r\n            cancel_on_tap_outside,\r\n        });\r\n        (_b = window.google) === null || _b === void 0 ? void 0 : _b.accounts.id.prompt(promptMomentNotificationRef.current);\r\n        return () => {\r\n            var _a;\r\n            (_a = window.google) === null || _a === void 0 ? void 0 : _a.accounts.id.cancel();\r\n        };\r\n    }, [\r\n        clientId,\r\n        scriptLoadedSuccessfully,\r\n        cancel_on_tap_outside,\r\n        hosted_domain,\r\n    ]);\r\n}\n\n/**\r\n * Checks if the user granted all the specified scope or scopes\r\n * @returns True if all the scopes are granted\r\n */\r\nfunction hasGrantedAllScopesGoogle(tokenResponse, firstScope, ...restScopes) {\r\n    if (!window.google)\r\n        return false;\r\n    return window.google.accounts.oauth2.hasGrantedAllScopes(tokenResponse, firstScope, ...restScopes);\r\n}\n\n/**\r\n * Checks if the user granted any of the specified scope or scopes.\r\n * @returns True if any of the scopes are granted\r\n */\r\nfunction hasGrantedAnyScopeGoogle(tokenResponse, firstScope, ...restScopes) {\r\n    if (!window.google)\r\n        return false;\r\n    return window.google.accounts.oauth2.hasGrantedAnyScope(tokenResponse, firstScope, ...restScopes);\r\n}\n\nexport { GoogleLogin, GoogleOAuthProvider, googleLogout, hasGrantedAllScopesGoogle, hasGrantedAnyScopeGoogle, useGoogleLogin, useGoogleOneTapLogin };\n","var _defs, _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgLogo = function SvgLogo(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    xmlns: \"http://www.w3.org/2000/svg\",\n    width: 32,\n    height: 28,\n    preserveAspectRatio: \"xMidYMid\",\n    viewBox: \"0 0 256 228\"\n  }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"radialGradient\", {\n    id: \"logo_svg__a\",\n    cx: \"21.66%\",\n    cy: \"28.708%\",\n    r: \"82.87%\",\n    fx: \"21.66%\",\n    fy: \"28.708%\",\n    gradientTransform: \"matrix(.59503 .59486 -.44034 .80383 .214 -.073)\"\n  }, /*#__PURE__*/React.createElement(\"stop\", {\n    offset: \"0%\",\n    stopColor: \"#F1F2F2\"\n  }), /*#__PURE__*/React.createElement(\"stop\", {\n    offset: \"100%\",\n    stopColor: \"#E6E7E8\"\n  })))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#737373\",\n    d: \"M165.98 0H90.02L71.098 19.055V37.98H90.02V19.055h75.958V37.98h18.924V19.055z\"\n  })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#BFBFBF\",\n    d: \"M90.02 0v19.055h75.96V0z\"\n  })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"url(#logo_svg__a)\",\n    d: \"M36.402 37.98 0 74.381v134.177c0 10.513 8.542 18.924 18.924 18.924h218.152c10.513 0 18.924-8.543 18.924-18.924V74.513L219.466 37.98z\"\n  })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#FFF\",\n    d: \"M28.517 109.076h199.097v118.538H28.517z\"\n  })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#E0E0E0\",\n    d: \"M36.402 37.98 0 74.381v34.694h256V74.513L219.466 37.98z\"\n  })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#D1D1D1\",\n    d: \"M42.71 213.29H128v14.193H42.71z\"\n  })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#4285F4\",\n    d: \"M28.517 86.998c0-8.148 6.571-14.719 14.72-14.719h169.527c8.148 0 14.719 6.571 14.719 14.719v22.078H28.517z\"\n  })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#E6E6E6\",\n    d: \"M56.903 90.152a7.067 7.067 0 0 1-7.096 7.096 7.067 7.067 0 0 1-7.097-7.096 7.067 7.067 0 0 1 7.097-7.097 7.067 7.067 0 0 1 7.096 7.097m23.656 0a7.067 7.067 0 0 1-7.097 7.096 7.067 7.067 0 0 1-7.096-7.096 7.067 7.067 0 0 1 7.096-7.097 7.067 7.067 0 0 1 7.097 7.097\"\n  })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#BABABA\",\n    d: \"m227.483 165.191-29.832-29.832-9.988 30.883-40.739-40.608-1.183 62.686 15.113 23.655c2.234-.394-11.302 15.508-11.302 15.508h77.93z\"\n  })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#4D4D4D\",\n    d: \"M208.821 164.008c0-16.821-9.856-31.277-23.918-38.242v39.95l-18.792 10.12-19.056-10.12v-40.082c-14.061 6.966-23.655 21.553-23.655 38.243 0 16.821 9.725 31.277 23.787 38.242v25.364h37.848v-25.364c13.93-6.834 23.786-21.42 23.786-38.11\"\n  })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#D1D1D1\",\n    d: \"M42.71 123.269h66.366v75.828H42.71z\"\n  })));\n};\nexport { SvgLogo as ReactComponent };\nexport default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzJweCIgaGVpZ2h0PSIyOHB4IiB2aWV3Qm94PSIwIDAgMjU2IDIyOCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICAgIDx0aXRsZT5Hb29nbGUgU2VhcmNoIENvbnNvbGU8L3RpdGxlPgogICAgPGRlZnM+CiAgICAgICAgPHJhZGlhbEdyYWRpZW50IGN4PSIyMS42NTk3OTI2JSIgY3k9IjI4LjcwNzU4MzUlIiBmeD0iMjEuNjU5NzkyNiUiIGZ5PSIyOC43MDc1ODM1JSIgcj0iODIuODY5Njg1OCUiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4yMTY1OTgsMC4yODcwNzYpLHNjYWxlKDAuNzQwMjQ2LDEuMDAwMDAwKSxyb3RhdGUoMzYuNTAyNDc5KSx0cmFuc2xhdGUoLTAuMjE2NTk4LC0wLjI4NzA3NikiIGlkPSJnc2NSYWRpYWxHcmFkaWVudC0xIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0YxRjJGMiIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRTZFN0U4IiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPGc+CiAgICAgICAgPHBvbHlnb24gZmlsbD0iIzczNzM3MyIgcG9pbnRzPSIxNjUuOTc5NDY2IDAgOTAuMDIwNTMzOSAwIDcxLjA5NjUwOTIgMTkuMDU1NDQxNSA3MS4wOTY1MDkyIDM3Ljk3OTQ2NjEgOTAuMDIwNTMzOSAzNy45Nzk0NjYxIDkwLjAyMDUzMzkgMTkuMDU1NDQxNSAxNjUuOTc5NDY2IDE5LjA1NTQ0MTUgMTY1Ljk3OTQ2NiAzNy45Nzk0NjYxIDE4NC45MDM0OTEgMzcuOTc5NDY2MSAxODQuOTAzNDkxIDE5LjA1NTQ0MTUiPjwvcG9seWdvbj4KICAgICAgICA8cG9seWdvbiBmaWxsPSIjQkZCRkJGIiBwb2ludHM9IjkwLjAyMDUzNCA4Ljg4MTc4NDJlLTE1IDkwLjAyMDUzNCAxOS4wNTU0NDE1IDE2NS45Nzk0NjYgMTkuMDU1NDQxNSAxNjUuOTc5NDY2IDguODgxNzg0MmUtMTUiPjwvcG9seWdvbj4KICAgICAgICA8cGF0aCBkPSJNMzYuNDAyNDY0MSwzNy45Nzk0NjYgTDAsNzQuMzgxOTMwMSBMMCwyMDguNTU4NTIxIEMwLDIxOS4wNzE4NjggOC41NDIwOTQ0NiwyMjcuNDgyNTQ2IDE4LjkyNDAyNDYsMjI3LjQ4MjU0NiBMMjM3LjA3NTk3NSwyMjcuNDgyNTQ2IEMyNDcuNTg5MzIyLDIyNy40ODI1NDYgMjU2LDIxOC45NDA0NTIgMjU2LDIwOC41NTg1MjEgTDI1Niw3NC41MTMzNDY5IEwyMTkuNDY2MTE5LDM3Ljk3OTQ2NiBMMzYuNDAyNDY0MSwzNy45Nzk0NjYgWiIgZmlsbD0idXJsKCNnc2NSYWRpYWxHcmFkaWVudC0xKSI+PC9wYXRoPgogICAgICAgIDxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMjguNTE3NDUzOCAxMDkuMDc1OTc1IDIyNy42MTM5NjMgMTA5LjA3NTk3NSAyMjcuNjEzOTYzIDIyNy42MTM5NjMgMjguNTE3NDUzOCAyMjcuNjEzOTYzIj48L3BvbHlnb24+CiAgICAgICAgPHBvbHlnb24gZmlsbD0iI0UwRTBFMCIgcG9pbnRzPSIzNi40MDI0NjQxIDM3Ljk3OTQ2NiAwIDc0LjM4MTkzMDEgMCAxMDkuMDc1OTc1IDI1NiAxMDkuMDc1OTc1IDI1NiA3NC41MTMzNDY5IDIxOS40NjYxMTkgMzcuOTc5NDY2Ij48L3BvbHlnb24+CiAgICAgICAgPHBvbHlnb24gZmlsbD0iI0QxRDFEMSIgcG9pbnRzPSI0Mi43MTA0NzIgMjEzLjI4OTUyOCAxMjggMjEzLjI4OTUyOCAxMjggMjI3LjQ4MjU0NiA0Mi43MTA0NzIgMjI3LjQ4MjU0NiI+PC9wb2x5Z29uPgogICAgICAgIDxwYXRoIGQ9Ik0yOC41MTc0NTM4LDg2Ljk5Nzk0NjYgQzI4LjUxNzQ1MzgsNzguODUwMTAyNyAzNS4wODgyOTU3LDcyLjI3OTI2MDggNDMuMjM2MTM5Niw3Mi4yNzkyNjA4IEwyMTIuNzYzODYsNzIuMjc5MjYwOCBDMjIwLjkxMTcwNCw3Mi4yNzkyNjA4IDIyNy40ODI1NDYsNzguODUwMTAyNyAyMjcuNDgyNTQ2LDg2Ljk5Nzk0NjYgTDIyNy40ODI1NDYsMTA5LjA3NTk3NSBMMjguNTE3NDUzOCwxMDkuMDc1OTc1IEwyOC41MTc0NTM4LDg2Ljk5Nzk0NjYgWiIgZmlsbD0iIzQyODVGNCI+PC9wYXRoPgogICAgICAgIDxwYXRoIGQ9Ik01Ni45MDM0OTA4LDkwLjE1MTk1MDcgQzU2LjkwMzQ5MDgsOTQuMDk0NDU1OSA1My43NDk0ODY3LDk3LjI0ODQ2IDQ5LjgwNjk4MTUsOTcuMjQ4NDYgQzQ1Ljg2NDQ3NjQsOTcuMjQ4NDYgNDIuNzEwNDcyMyw5NC4wOTQ0NTU5IDQyLjcxMDQ3MjMsOTAuMTUxOTUwNyBDNDIuNzEwNDcyMyw4Ni4yMDk0NDU2IDQ1Ljg2NDQ3NjQsODMuMDU1NDQxNSA0OS44MDY5ODE1LDgzLjA1NTQ0MTUgQzUzLjc0OTQ4NjcsODMuMDU1NDQxNSA1Ni45MDM0OTA4LDg2LjIwOTQ0NTYgNTYuOTAzNDkwOCw5MC4xNTE5NTA3IE04MC41NTg1MjE2LDkwLjE1MTk1MDcgQzgwLjU1ODUyMTYsOTQuMDk0NDU1OSA3Ny40MDQ1MTc1LDk3LjI0ODQ2IDczLjQ2MjAxMjMsOTcuMjQ4NDYgQzY5LjUxOTUwNzIsOTcuMjQ4NDYgNjYuMzY1NTAzMSw5NC4wOTQ0NTU5IDY2LjM2NTUwMzEsOTAuMTUxOTUwNyBDNjYuMzY1NTAzMSw4Ni4yMDk0NDU2IDY5LjUxOTUwNzIsODMuMDU1NDQxNSA3My40NjIwMTIzLDgzLjA1NTQ0MTUgQzc3LjQwNDUxNzUsODMuMDU1NDQxNSA4MC41NTg1MjE2LDg2LjIwOTQ0NTYgODAuNTU4NTIxNiw5MC4xNTE5NTA3IiBmaWxsPSIjRTZFNkU2Ij48L3BhdGg+CiAgICAgICAgPHBhdGggZD0iTTIyNy40ODI1NDYsMTY1LjE5MDk2NSBMMTk3LjY1MDkyNCwxMzUuMzU5MzQzIEwxODcuNjYzMjQ0LDE2Ni4yNDIzIEwxNDYuOTI0MDI1LDEyNS42MzQ0OTcgTDE0NS43NDEyNzMsMTg4LjMyMDMyOSBMMTYwLjg1NDIwOSwyMTEuOTc1MzU5IEMxNjMuMDg4Mjk2LDIxMS41ODExMDkgMTQ5LjU1MjM2MSwyMjcuNDgyNTQ2IDE0OS41NTIzNjEsMjI3LjQ4MjU0NiBMMjI3LjQ4MjU0NiwyMjcuNDgyNTQ2IEwyMjcuNDgyNTQ2LDE2NS4xOTA5NjUgWiIgZmlsbD0iI0JBQkFCQSI+PC9wYXRoPgogICAgICAgIDxwYXRoIGQ9Ik0yMDguODIxMzU1LDE2NC4wMDgyMTQgQzIwOC44MjEzNTUsMTQ3LjE4Njg1OCAxOTguOTY1MDkyLDEzMi43MzEwMDYgMTg0LjkwMzQ5MSwxMjUuNzY1OTE0IEwxODQuOTAzNDkxLDE2NS43MTY2MzIgTDE2Ni4xMTA4ODMsMTc1LjgzNTcyOSBMMTQ3LjA1NTQ0MSwxNjUuNzE2NjMyIEwxNDcuMDU1NDQxLDEyNS42MzQ0OTcgQzEzMi45OTM4NCwxMzIuNTk5NTg5IDEyMy40MDA0MTEsMTQ3LjE4Njg1OCAxMjMuNDAwNDExLDE2My44NzY3OTcgQzEyMy40MDA0MTEsMTgwLjY5ODE1MiAxMzMuMTI1MjU3LDE5NS4xNTQwMDQgMTQ3LjE4Njg1OCwyMDIuMTE5MDk3IEwxNDcuMTg2ODU4LDIyNy40ODI1NDYgTDE4NS4wMzQ5MDgsMjI3LjQ4MjU0NiBMMTg1LjAzNDkwOCwyMDIuMTE5MDk3IEMxOTguOTY1MDkyLDE5NS4yODU0MjEgMjA4LjgyMTM1NSwxODAuNjk4MTUyIDIwOC44MjEzNTUsMTY0LjAwODIxNCIgZmlsbD0iIzRENEQ0RCI+PC9wYXRoPgogICAgICAgIDxwb2x5Z29uIGZpbGw9IiNEMUQxRDEiIHBvaW50cz0iNDIuNzEwNDcyIDEyMy4yNjg5OTQgMTA5LjA3NTk3NSAxMjMuMjY4OTk0IDEwOS4wNzU5NzUgMTk5LjA5NjUwOSA0Mi43MTA0NzIgMTk5LjA5NjUwOSI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4K\";","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis, Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nconst {\n  DropdownMenuV2: DropdownMenu,\n  DropdownMenuItemV2: DropdownMenuItem,\n  DropdownMenuItemLabelV2: DropdownMenuItemLabel\n} = unlock(componentsPrivateApis);\nfunction AddFilter({\n  filters,\n  view,\n  onChangeView,\n  setOpenedFilter\n}, ref) {\n  if (!filters.length || filters.every(({\n    isPrimary\n  }) => isPrimary)) {\n    return null;\n  }\n  const inactiveFilters = filters.filter(filter => !filter.isVisible);\n  return createElement(DropdownMenu, {\n    trigger: createElement(Button, {\n      __experimentalIsFocusable: true,\n      size: \"compact\",\n      className: \"dataviews-filters-button\",\n      variant: \"tertiary\",\n      disabled: !inactiveFilters.length,\n      ref: ref\n    }, __('Add filter'))\n  }, inactiveFilters.map(filter => {\n    return createElement(DropdownMenuItem, {\n      key: filter.field,\n      onClick: () => {\n        setOpenedFilter(filter.field);\n        onChangeView({\n          ...view,\n          page: 1,\n          filters: [...(view.filters || []), {\n            field: filter.field,\n            value: undefined,\n            operator: filter.operators[0]\n          }]\n        });\n      }\n    }, createElement(DropdownMenuItemLabel, null, filter.name));\n  }));\n}\nexport default forwardRef(AddFilter);\n//# sourceMappingURL=add-filter.js.map","import { createElement, Fragment } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis, Button, Modal } from '@wordpress/components';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { useMemo, useState, useCallback, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nconst {\n  DropdownMenuV2: DropdownMenu,\n  DropdownMenuGroupV2: DropdownMenuGroup,\n  DropdownMenuItemV2: DropdownMenuItem,\n  DropdownMenuSeparatorV2: DropdownMenuSeparator\n} = unlock(componentsPrivateApis);\nexport function useHasAPossibleBulkAction(actions, item) {\n  return useMemo(() => {\n    return actions.some(action => {\n      return action.supportsBulk && action.isEligible(item);\n    });\n  }, [actions, item]);\n}\nexport function useSomeItemHasAPossibleBulkAction(actions, data) {\n  return useMemo(() => {\n    return data.some(item => {\n      return actions.some(action => {\n        return action.supportsBulk && action.isEligible(item);\n      });\n    });\n  }, [actions, data]);\n}\nfunction ActionWithModal({\n  action,\n  selectedItems,\n  setActionWithModal,\n  onMenuOpenChange\n}) {\n  const eligibleItems = useMemo(() => {\n    return selectedItems.filter(item => action.isEligible(item));\n  }, [action, selectedItems]);\n  const {\n    RenderModal,\n    hideModalHeader\n  } = action;\n  const onCloseModal = useCallback(() => {\n    setActionWithModal(undefined);\n  }, [setActionWithModal]);\n  return createElement(Modal, {\n    title: !hideModalHeader && action.label,\n    __experimentalHideHeader: !!hideModalHeader,\n    onRequestClose: onCloseModal,\n    overlayClassName: \"dataviews-action-modal\"\n  }, createElement(RenderModal, {\n    items: eligibleItems,\n    closeModal: onCloseModal,\n    onPerform: () => onMenuOpenChange(false)\n  }));\n}\nfunction BulkActionItem({\n  action,\n  selectedItems,\n  setActionWithModal\n}) {\n  const eligibleItems = useMemo(() => {\n    return selectedItems.filter(item => action.isEligible(item));\n  }, [action, selectedItems]);\n  const shouldShowModal = !!action.RenderModal;\n  return createElement(DropdownMenuItem, {\n    key: action.id,\n    disabled: eligibleItems.length === 0,\n    hideOnClick: !shouldShowModal,\n    onClick: async () => {\n      if (shouldShowModal) {\n        setActionWithModal(action);\n      } else {\n        await action.callback(eligibleItems);\n      }\n    },\n    suffix: eligibleItems.length > 0 ? eligibleItems.length : undefined\n  }, action.label);\n}\nfunction ActionsMenuGroup({\n  actions,\n  selectedItems,\n  setActionWithModal\n}) {\n  return createElement(Fragment, null, createElement(DropdownMenuGroup, null, actions.map(action => createElement(BulkActionItem, {\n    key: action.id,\n    action: action,\n    selectedItems: selectedItems,\n    setActionWithModal: setActionWithModal\n  }))), createElement(DropdownMenuSeparator, null));\n}\nexport default function BulkActions({\n  data,\n  actions,\n  selection,\n  onSelectionChange,\n  getItemId\n}) {\n  const bulkActions = useMemo(() => actions.filter(action => action.supportsBulk), [actions]);\n  const [isMenuOpen, onMenuOpenChange] = useState(false);\n  const [actionWithModal, setActionWithModal] = useState();\n  const selectableItems = useMemo(() => {\n    return data.filter(item => {\n      return bulkActions.some(action => action.isEligible(item));\n    });\n  }, [data, bulkActions]);\n  const numberSelectableItems = selectableItems.length;\n  const areAllSelected = selection && selection.length === numberSelectableItems;\n  const selectedItems = useMemo(() => {\n    return data.filter(item => selection.includes(getItemId(item)));\n  }, [selection, data, getItemId]);\n  const hasNonSelectableItemSelected = useMemo(() => {\n    return selectedItems.some(item => {\n      return !selectableItems.includes(item);\n    });\n  }, [selectedItems, selectableItems]);\n  useEffect(() => {\n    if (hasNonSelectableItemSelected) {\n      onSelectionChange(selectedItems.filter(selectedItem => {\n        return selectableItems.some(item => {\n          return getItemId(selectedItem) === getItemId(item);\n        });\n      }));\n    }\n  }, [hasNonSelectableItemSelected, selectedItems, selectableItems, getItemId, onSelectionChange]);\n  if (bulkActions.length === 0) {\n    return null;\n  }\n  return createElement(Fragment, null, createElement(DropdownMenu, {\n    open: isMenuOpen,\n    onOpenChange: onMenuOpenChange,\n    label: __('Bulk actions'),\n    style: {\n      minWidth: '240px'\n    },\n    trigger: createElement(Button, {\n      className: \"dataviews-bulk-edit-button\",\n      __next40pxDefaultSize: true,\n      variant: \"tertiary\",\n      size: \"compact\"\n    }, selection.length ? sprintf( /* translators: %d: Number of items. */\n    _n('Edit %d item', 'Edit %d items', selection.length), selection.length) : __('Bulk edit'))\n  }, createElement(ActionsMenuGroup, {\n    actions: bulkActions,\n    setActionWithModal: setActionWithModal,\n    selectedItems: selectedItems\n  }), createElement(DropdownMenuGroup, null, createElement(DropdownMenuItem, {\n    disabled: areAllSelected,\n    hideOnClick: false,\n    onClick: () => {\n      onSelectionChange(selectableItems);\n    },\n    suffix: numberSelectableItems\n  }, __('Select all')), createElement(DropdownMenuItem, {\n    disabled: selection.length === 0,\n    hideOnClick: false,\n    onClick: () => {\n      onSelectionChange([]);\n    }\n  }, __('Deselect')))), actionWithModal && createElement(ActionWithModal, {\n    action: actionWithModal,\n    selectedItems: selectedItems,\n    setActionWithModal: setActionWithModal,\n    onMenuOpenChange: onMenuOpenChange\n  }));\n}\n//# sourceMappingURL=bulk-actions.js.map","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n// Filter operators.\nexport const OPERATOR_IS = 'is';\nexport const OPERATOR_IS_NOT = 'isNot';\nexport const OPERATOR_IS_ANY = 'isAny';\nexport const OPERATOR_IS_NONE = 'isNone';\nexport const OPERATOR_IS_ALL = 'isAll';\nexport const OPERATOR_IS_NOT_ALL = 'isNotAll';\nexport const ALL_OPERATORS = [OPERATOR_IS, OPERATOR_IS_NOT, OPERATOR_IS_ANY, OPERATOR_IS_NONE, OPERATOR_IS_ALL, OPERATOR_IS_NOT_ALL];\nexport const OPERATORS = {\n  [OPERATOR_IS]: {\n    key: 'is-filter',\n    label: __('Is')\n  },\n  [OPERATOR_IS_NOT]: {\n    key: 'is-not-filter',\n    label: __('Is not')\n  },\n  [OPERATOR_IS_ANY]: {\n    key: 'is-any-filter',\n    label: __('Is any')\n  },\n  [OPERATOR_IS_NONE]: {\n    key: 'is-none-filter',\n    label: __('Is none')\n  },\n  [OPERATOR_IS_ALL]: {\n    key: 'is-all-filter',\n    label: __('Is all')\n  },\n  [OPERATOR_IS_NOT_ALL]: {\n    key: 'is-not-all-filter',\n    label: __('Is not all')\n  }\n};\n\n// Sorting\nexport const SORTING_DIRECTIONS = {\n  asc: {\n    label: __('Sort ascending')\n  },\n  desc: {\n    label: __('Sort descending')\n  }\n};\n\n// View layouts.\nexport const LAYOUT_TABLE = 'table';\nexport const LAYOUT_GRID = 'grid';\nexport const LAYOUT_LIST = 'list';\n//# sourceMappingURL=constants.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { useMemo, useState, useCallback, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Pagination from './pagination';\nimport ViewActions from './view-actions';\nimport Filters from './filters';\nimport Search from './search';\nimport { LAYOUT_TABLE, LAYOUT_GRID } from './constants';\nimport { VIEW_LAYOUTS } from './layouts';\nimport BulkActions from './bulk-actions';\nimport { normalizeFields } from './normalize-fields';\nconst defaultGetItemId = item => item.id;\nconst defaultOnSelectionChange = () => {};\nfunction useSomeItemHasAPossibleBulkAction(actions, data) {\n  return useMemo(() => {\n    return data.some(item => {\n      return actions.some(action => {\n        return action.supportsBulk && action.isEligible(item);\n      });\n    });\n  }, [actions, data]);\n}\nexport default function DataViews({\n  view,\n  onChangeView,\n  fields,\n  search = true,\n  searchLabel = undefined,\n  actions = [],\n  data,\n  getItemId = defaultGetItemId,\n  isLoading = false,\n  paginationInfo,\n  supportedLayouts,\n  onSelectionChange = defaultOnSelectionChange\n}) {\n  const [selection, setSelection] = useState([]);\n  const [openedFilter, setOpenedFilter] = useState(null);\n  useEffect(() => {\n    if (selection.length > 0 && selection.some(id => !data.some(item => getItemId(item) === id))) {\n      const newSelection = selection.filter(id => data.some(item => getItemId(item) === id));\n      setSelection(newSelection);\n      onSelectionChange(data.filter(item => newSelection.includes(getItemId(item))));\n    }\n  }, [selection, data, getItemId, onSelectionChange]);\n  const onSetSelection = useCallback(items => {\n    setSelection(items.map(item => getItemId(item)));\n    onSelectionChange(items);\n  }, [setSelection, getItemId, onSelectionChange]);\n  const ViewComponent = VIEW_LAYOUTS.find(v => v.type === view.type).component;\n  const _fields = useMemo(() => normalizeFields(fields), [fields]);\n  const hasPossibleBulkAction = useSomeItemHasAPossibleBulkAction(actions, data);\n  return createElement(\"div\", {\n    className: \"dataviews-wrapper\"\n  }, createElement(HStack, {\n    alignment: \"top\",\n    justify: \"start\",\n    className: \"dataviews-filters__view-actions\"\n  }, createElement(HStack, {\n    justify: \"start\",\n    className: \"dataviews-filters__container\",\n    wrap: true\n  }, search && createElement(Search, {\n    label: searchLabel,\n    view: view,\n    onChangeView: onChangeView\n  }), createElement(Filters, {\n    fields: _fields,\n    view: view,\n    onChangeView: onChangeView,\n    openedFilter: openedFilter,\n    setOpenedFilter: setOpenedFilter\n  })), [LAYOUT_TABLE, LAYOUT_GRID].includes(view.type) && hasPossibleBulkAction && createElement(BulkActions, {\n    actions: actions,\n    data: data,\n    onSelectionChange: onSetSelection,\n    selection: selection,\n    getItemId: getItemId\n  }), createElement(ViewActions, {\n    fields: _fields,\n    view: view,\n    onChangeView: onChangeView,\n    supportedLayouts: supportedLayouts\n  })), createElement(ViewComponent, {\n    fields: _fields,\n    view: view,\n    onChangeView: onChangeView,\n    actions: actions,\n    data: data,\n    getItemId: getItemId,\n    isLoading: isLoading,\n    onSelectionChange: onSetSelection,\n    selection: selection,\n    setOpenedFilter: setOpenedFilter\n  }), createElement(Pagination, {\n    view: view,\n    onChangeView: onChangeView,\n    paginationInfo: paginationInfo\n  }));\n}\n//# sourceMappingURL=dataviews.js.map","import { createElement } from \"react\";\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Dropdown, __experimentalVStack as VStack, __experimentalHStack as HStack, FlexItem, SelectControl, Tooltip, Icon } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef, createInterpolateElement } from '@wordpress/element';\nimport { closeSmall } from '@wordpress/icons';\nconst ENTER = 'Enter';\nconst SPACE = ' ';\n\n/**\n * Internal dependencies\n */\nimport SearchWidget from './search-widget';\nimport { OPERATORS, OPERATOR_IS, OPERATOR_IS_NOT, OPERATOR_IS_ANY, OPERATOR_IS_NONE, OPERATOR_IS_ALL, OPERATOR_IS_NOT_ALL } from './constants';\nconst FilterText = ({\n  activeElements,\n  filterInView,\n  filter\n}) => {\n  if (activeElements === undefined || activeElements.length === 0) {\n    return filter.name;\n  }\n  const filterTextWrappers = {\n    Name: createElement(\"span\", {\n      className: \"dataviews-filter-summary__filter-text-name\"\n    }),\n    Value: createElement(\"span\", {\n      className: \"dataviews-filter-summary__filter-text-value\"\n    })\n  };\n  if (filterInView?.operator === OPERATOR_IS_ANY) {\n    return createInterpolateElement(sprintf( /* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is any: Admin, Editor\". */\n    __('<Name>%1$s is any: </Name><Value>%2$s</Value>'), filter.name, activeElements.map(element => element.label).join(', ')), filterTextWrappers);\n  }\n  if (filterInView?.operator === OPERATOR_IS_NONE) {\n    return createInterpolateElement(sprintf( /* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is none: Admin, Editor\". */\n    __('<Name>%1$s is none: </Name><Value>%2$s</Value>'), filter.name, activeElements.map(element => element.label).join(', ')), filterTextWrappers);\n  }\n  if (filterInView?.operator === OPERATOR_IS_ALL) {\n    return createInterpolateElement(sprintf( /* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is all: Admin, Editor\". */\n    __('<Name>%1$s is all: </Name><Value>%2$s</Value>'), filter.name, activeElements.map(element => element.label).join(', ')), filterTextWrappers);\n  }\n  if (filterInView?.operator === OPERATOR_IS_NOT_ALL) {\n    return createInterpolateElement(sprintf( /* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is not all: Admin, Editor\". */\n    __('<Name>%1$s is not all: </Name><Value>%2$s</Value>'), filter.name, activeElements.map(element => element.label).join(', ')), filterTextWrappers);\n  }\n  if (filterInView?.operator === OPERATOR_IS) {\n    return createInterpolateElement(sprintf( /* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is: Admin\". */\n    __('<Name>%1$s is: </Name><Value>%2$s</Value>'), filter.name, activeElements[0].label), filterTextWrappers);\n  }\n  if (filterInView?.operator === OPERATOR_IS_NOT) {\n    return createInterpolateElement(sprintf( /* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is not: Admin\". */\n    __('<Name>%1$s is not: </Name><Value>%2$s</Value>'), filter.name, activeElements[0].label), filterTextWrappers);\n  }\n  return sprintf( /* translators: 1: Filter name e.g.: \"Unknown status for Author\". */\n  __('Unknown status for %1$s'), filter.name);\n};\nfunction OperatorSelector({\n  filter,\n  view,\n  onChangeView\n}) {\n  const operatorOptions = filter.operators?.map(operator => ({\n    value: operator,\n    label: OPERATORS[operator]?.label\n  }));\n  const currentFilter = view.filters.find(_filter => _filter.field === filter.field);\n  const value = currentFilter?.operator || filter.operators[0];\n  return operatorOptions.length > 1 && createElement(HStack, {\n    spacing: 2,\n    justify: \"flex-start\",\n    className: \"dataviews-filter-summary__operators-container\"\n  }, createElement(FlexItem, {\n    className: \"dataviews-filter-summary__operators-filter-name\"\n  }, filter.name), createElement(SelectControl, {\n    label: __('Conditions'),\n    value: value,\n    options: operatorOptions,\n    onChange: newValue => {\n      const newFilters = currentFilter ? [...view.filters.map(_filter => {\n        if (_filter.field === filter.field) {\n          return {\n            ..._filter,\n            operator: newValue\n          };\n        }\n        return _filter;\n      })] : [...view.filters, {\n        field: filter.field,\n        operator: newValue\n      }];\n      onChangeView({\n        ...view,\n        page: 1,\n        filters: newFilters\n      });\n    },\n    size: \"small\",\n    __nextHasNoMarginBottom: true,\n    hideLabelFromVision: true\n  }));\n}\nexport default function FilterSummary({\n  addFilterRef,\n  openedFilter,\n  ...commonProps\n}) {\n  const toggleRef = useRef();\n  const {\n    filter,\n    view,\n    onChangeView\n  } = commonProps;\n  const filterInView = view.filters.find(f => f.field === filter.field);\n  const activeElements = filter.elements.filter(element => {\n    if (filter.singleSelection) {\n      return element.value === filterInView?.value;\n    }\n    return filterInView?.value?.includes(element.value);\n  });\n  const isPrimary = filter.isPrimary;\n  const hasValues = filterInView?.value !== undefined;\n  const canResetOrRemove = !isPrimary || hasValues;\n  return createElement(Dropdown, {\n    defaultOpen: openedFilter === filter.field,\n    contentClassName: \"dataviews-filter-summary__popover\",\n    popoverProps: {\n      placement: 'bottom-start',\n      role: 'dialog'\n    },\n    onClose: () => {\n      toggleRef.current?.focus();\n    },\n    renderToggle: ({\n      isOpen,\n      onToggle\n    }) => createElement(\"div\", {\n      className: \"dataviews-filter-summary__chip-container\"\n    }, createElement(Tooltip, {\n      text: sprintf( /* translators: 1: Filter name. */\n      __('Filter by: %1$s'), filter.name.toLowerCase()),\n      placement: \"top\"\n    }, createElement(\"div\", {\n      className: classnames('dataviews-filter-summary__chip', {\n        'has-reset': canResetOrRemove,\n        'has-values': hasValues\n      }),\n      role: \"button\",\n      tabIndex: 0,\n      onClick: onToggle,\n      onKeyDown: event => {\n        if ([ENTER, SPACE].includes(event.key)) {\n          onToggle();\n          event.preventDefault();\n        }\n      },\n      \"aria-pressed\": isOpen,\n      \"aria-expanded\": isOpen,\n      ref: toggleRef\n    }, createElement(FilterText, {\n      activeElements: activeElements,\n      filterInView: filterInView,\n      filter: filter\n    }))), canResetOrRemove && createElement(Tooltip, {\n      text: isPrimary ? __('Reset') : __('Remove'),\n      placement: \"top\"\n    }, createElement(\"button\", {\n      className: classnames('dataviews-filter-summary__chip-remove', {\n        'has-values': hasValues\n      }),\n      onClick: () => {\n        onChangeView({\n          ...view,\n          page: 1,\n          filters: view.filters.filter(_filter => _filter.field !== filter.field)\n        });\n        // If the filter is not primary and can be removed, it will be added\n        // back to the available filters from `Add filter` component.\n        if (!isPrimary) {\n          addFilterRef.current?.focus();\n        } else {\n          // If is primary, focus the toggle button.\n          toggleRef.current?.focus();\n        }\n      }\n    }, createElement(Icon, {\n      icon: closeSmall\n    })))),\n    renderContent: () => {\n      return createElement(VStack, {\n        spacing: 0,\n        justify: \"flex-start\"\n      }, createElement(OperatorSelector, {\n        ...commonProps\n      }), createElement(SearchWidget, {\n        ...commonProps\n      }));\n    }\n  });\n}\n//# sourceMappingURL=filter-summary.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { memo, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FilterSummary from './filter-summary';\nimport AddFilter from './add-filter';\nimport ResetFilters from './reset-filters';\nimport { sanitizeOperators } from './utils';\nimport { ALL_OPERATORS, OPERATOR_IS, OPERATOR_IS_NOT } from './constants';\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nconst Filters = memo(function Filters({\n  fields,\n  view,\n  onChangeView,\n  openedFilter,\n  setOpenedFilter\n}) {\n  const addFilterRef = useRef();\n  const filters = [];\n  fields.forEach(field => {\n    if (!field.elements?.length) {\n      return;\n    }\n    const operators = sanitizeOperators(field);\n    if (operators.length === 0) {\n      return;\n    }\n    const isPrimary = !!field.filterBy?.isPrimary;\n    filters.push({\n      field: field.id,\n      name: field.header,\n      elements: field.elements,\n      singleSelection: operators.some(op => [OPERATOR_IS, OPERATOR_IS_NOT].includes(op)),\n      operators,\n      isVisible: isPrimary || view.filters.some(f => f.field === field.id && ALL_OPERATORS.includes(f.operator)),\n      isPrimary\n    });\n  });\n  // Sort filters by primary property. We need the primary filters to be first.\n  // Then we sort by name.\n  filters.sort((a, b) => {\n    if (a.isPrimary && !b.isPrimary) {\n      return -1;\n    }\n    if (!a.isPrimary && b.isPrimary) {\n      return 1;\n    }\n    return a.name.localeCompare(b.name);\n  });\n  const addFilter = createElement(AddFilter, {\n    key: \"add-filter\",\n    filters: filters,\n    view: view,\n    onChangeView: onChangeView,\n    ref: addFilterRef,\n    setOpenedFilter: setOpenedFilter\n  });\n  const filterComponents = [...filters.map(filter => {\n    if (!filter.isVisible) {\n      return null;\n    }\n    return createElement(FilterSummary, {\n      key: filter.field,\n      filter: filter,\n      view: view,\n      onChangeView: onChangeView,\n      addFilterRef: addFilterRef,\n      openedFilter: openedFilter\n    });\n  }), addFilter];\n  if (filterComponents.length > 1) {\n    filterComponents.push(createElement(ResetFilters, {\n      key: \"reset-filters\",\n      filters: filters,\n      view: view,\n      onChangeView: onChangeView\n    }));\n  }\n  return createElement(HStack, {\n    justify: \"flex-start\",\n    style: {\n      width: 'fit-content'\n    },\n    wrap: true\n  }, filterComponents);\n});\nexport default Filters;\n//# sourceMappingURL=filters.js.map","import { createElement, Fragment } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { Button, Modal, __experimentalHStack as HStack, privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nconst {\n  DropdownMenuV2: DropdownMenu,\n  DropdownMenuGroupV2: DropdownMenuGroup,\n  DropdownMenuItemV2: DropdownMenuItem,\n  DropdownMenuItemLabelV2: DropdownMenuItemLabel,\n  kebabCase\n} = unlock(componentsPrivateApis);\nfunction ButtonTrigger({\n  action,\n  onClick\n}) {\n  return createElement(Button, {\n    label: action.label,\n    icon: action.icon,\n    isDestructive: action.isDestructive,\n    size: \"compact\",\n    onClick: onClick\n  });\n}\nfunction DropdownMenuItemTrigger({\n  action,\n  onClick\n}) {\n  return createElement(DropdownMenuItem, {\n    onClick: onClick,\n    hideOnClick: !action.RenderModal\n  }, createElement(DropdownMenuItemLabel, null, action.label));\n}\nfunction ActionWithModal({\n  action,\n  item,\n  ActionTrigger\n}) {\n  const [isModalOpen, setIsModalOpen] = useState(false);\n  const actionTriggerProps = {\n    action,\n    onClick: () => setIsModalOpen(true)\n  };\n  const {\n    RenderModal,\n    hideModalHeader\n  } = action;\n  return createElement(Fragment, null, createElement(ActionTrigger, {\n    ...actionTriggerProps\n  }), isModalOpen && createElement(Modal, {\n    title: action.modalHeader || action.label,\n    __experimentalHideHeader: !!hideModalHeader,\n    onRequestClose: () => {\n      setIsModalOpen(false);\n    },\n    overlayClassName: `dataviews-action-modal dataviews-action-modal__${kebabCase(action.id)}`\n  }, createElement(RenderModal, {\n    items: [item],\n    closeModal: () => setIsModalOpen(false)\n  })));\n}\nfunction ActionsDropdownMenuGroup({\n  actions,\n  item\n}) {\n  return createElement(DropdownMenuGroup, null, actions.map(action => {\n    if (!!action.RenderModal) {\n      return createElement(ActionWithModal, {\n        key: action.id,\n        action: action,\n        item: item,\n        ActionTrigger: DropdownMenuItemTrigger\n      });\n    }\n    return createElement(DropdownMenuItemTrigger, {\n      key: action.id,\n      action: action,\n      onClick: () => action.callback([item])\n    });\n  }));\n}\nexport default function ItemActions({\n  item,\n  actions,\n  isCompact\n}) {\n  const {\n    primaryActions,\n    eligibleActions\n  } = useMemo(() => {\n    // If an action is eligible for all items, doesn't need\n    // to provide the `isEligible` function.\n    const _eligibleActions = actions.filter(action => !action.isEligible || action.isEligible(item));\n    const _primaryActions = _eligibleActions.filter(action => action.isPrimary && !!action.icon);\n    return {\n      primaryActions: _primaryActions,\n      eligibleActions: _eligibleActions\n    };\n  }, [actions, item]);\n  if (isCompact) {\n    return createElement(CompactItemActions, {\n      item: item,\n      actions: eligibleActions\n    });\n  }\n  return createElement(HStack, {\n    spacing: 1,\n    justify: \"flex-end\",\n    className: \"dataviews-item-actions\",\n    style: {\n      flexShrink: '0',\n      width: 'auto'\n    }\n  }, !!primaryActions.length && primaryActions.map(action => {\n    if (!!action.RenderModal) {\n      return createElement(ActionWithModal, {\n        key: action.id,\n        action: action,\n        item: item,\n        ActionTrigger: ButtonTrigger\n      });\n    }\n    return createElement(ButtonTrigger, {\n      key: action.id,\n      action: action,\n      onClick: () => action.callback([item])\n    });\n  }), createElement(CompactItemActions, {\n    item: item,\n    actions: eligibleActions\n  }));\n}\nfunction CompactItemActions({\n  item,\n  actions\n}) {\n  return createElement(DropdownMenu, {\n    trigger: createElement(Button, {\n      size: \"compact\",\n      icon: moreVertical,\n      label: __('Actions'),\n      disabled: !actions.length,\n      className: \"dataviews-all-actions-button\"\n    }),\n    placement: \"bottom-end\"\n  }, createElement(ActionsDropdownMenuGroup, {\n    actions: actions,\n    item: item\n  }));\n}\n//# sourceMappingURL=item-actions.js.map","/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { blockTable, category, formatListBullets, formatListBulletsRTL } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ViewTable from './view-table';\nimport ViewGrid from './view-grid';\nimport ViewList from './view-list';\nimport { LAYOUT_GRID, LAYOUT_LIST, LAYOUT_TABLE } from './constants';\nexport const VIEW_LAYOUTS = [{\n  type: LAYOUT_TABLE,\n  label: __('Table'),\n  component: ViewTable,\n  icon: blockTable\n}, {\n  type: LAYOUT_GRID,\n  label: __('Grid'),\n  component: ViewGrid,\n  icon: category\n}, {\n  type: LAYOUT_LIST,\n  label: __('List'),\n  component: ViewList,\n  icon: isRTL() ? formatListBulletsRTL : formatListBullets\n}];\n//# sourceMappingURL=layouts.js.map","/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\nexport const {\n  lock,\n  unlock\n} = __dangerousOptInToUnstableAPIsOnlyForCoreModules('I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.', '@wordpress/dataviews');\n//# sourceMappingURL=lock-unlock.js.map","/**\n * Internal dependencies\n */\n\n/**\n * Apply default values and normalize the fields config.\n *\n * @param fields Fields config.\n * @return Normalized fields config.\n */\nexport function normalizeFields(fields) {\n  return fields.map(field => {\n    const getValue = field.getValue || (({\n      item\n    }) => item[field.id]);\n    return {\n      ...field,\n      header: field.header || field.id,\n      getValue,\n      render: field.render || getValue\n    };\n  });\n}\n//# sourceMappingURL=normalize-fields.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { Button, __experimentalHStack as HStack, SelectControl } from '@wordpress/components';\nimport { createInterpolateElement, memo } from '@wordpress/element';\nimport { sprintf, __, _x } from '@wordpress/i18n';\nimport { chevronRight, chevronLeft } from '@wordpress/icons';\nconst Pagination = memo(function Pagination({\n  view,\n  onChangeView,\n  paginationInfo: {\n    totalItems = 0,\n    totalPages\n  }\n}) {\n  if (!totalItems || !totalPages) {\n    return null;\n  }\n  return !!totalItems && totalPages !== 1 && createElement(HStack, {\n    expanded: false,\n    spacing: 6,\n    justify: \"end\",\n    className: \"dataviews-pagination\"\n  }, createElement(HStack, {\n    justify: \"flex-start\",\n    expanded: false,\n    spacing: 2,\n    className: \"dataviews-pagination__page-selection\"\n  }, createInterpolateElement(sprintf(\n  // translators: %s: Total number of pages.\n  _x('Page <CurrentPageControl /> of %s', 'paging'), totalPages), {\n    CurrentPageControl: createElement(SelectControl, {\n      \"aria-label\": __('Current page'),\n      value: view.page,\n      options: Array.from(Array(totalPages)).map((_, i) => {\n        const page = i + 1;\n        return {\n          value: page,\n          label: page\n        };\n      }),\n      onChange: newValue => {\n        onChangeView({\n          ...view,\n          page: +newValue\n        });\n      },\n      size: 'compact',\n      __nextHasNoMarginBottom: true\n    })\n  })), createElement(HStack, {\n    expanded: false,\n    spacing: 1\n  }, createElement(Button, {\n    onClick: () => onChangeView({\n      ...view,\n      page: view.page - 1\n    }),\n    disabled: view.page === 1,\n    __experimentalIsFocusable: true,\n    label: __('Previous page'),\n    icon: chevronLeft,\n    showTooltip: true,\n    size: \"compact\",\n    tooltipPosition: \"top\"\n  }), createElement(Button, {\n    onClick: () => onChangeView({\n      ...view,\n      page: view.page + 1\n    }),\n    disabled: view.page >= totalPages,\n    __experimentalIsFocusable: true,\n    label: __('Next page'),\n    icon: chevronRight,\n    showTooltip: true,\n    size: \"compact\",\n    tooltipPosition: \"top\"\n  })));\n});\nexport default Pagination;\n//# sourceMappingURL=pagination.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nexport default function ResetFilter({\n  filters,\n  view,\n  onChangeView\n}) {\n  const isPrimary = field => filters.some(_filter => _filter.field === field && _filter.isPrimary);\n  const isDisabled = !view.search && !view.filters?.some(_filter => _filter.value !== undefined || !isPrimary(_filter.field));\n  return createElement(Button, {\n    disabled: isDisabled,\n    __experimentalIsFocusable: true,\n    size: \"compact\",\n    variant: \"tertiary\",\n    className: \"dataviews-filters__reset-button\",\n    onClick: () => {\n      onChangeView({\n        ...view,\n        page: 1,\n        search: '',\n        filters: []\n      });\n    }\n  }, __('Reset'));\n}\n//# sourceMappingURL=reset-filters.js.map","import { createElement } from \"react\";\n/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useMemo, useDeferredValue } from '@wordpress/element';\nimport { VisuallyHidden, Icon, privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { search, check } from '@wordpress/icons';\nimport { SVG, Circle } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nconst {\n  CompositeV2: Composite,\n  CompositeItemV2: CompositeItem,\n  useCompositeStoreV2: useCompositeStore\n} = unlock(componentsPrivateApis);\nconst radioCheck = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Circle, {\n  cx: 12,\n  cy: 12,\n  r: 3\n}));\nfunction normalizeSearchInput(input = '') {\n  return removeAccents(input.trim().toLowerCase());\n}\nconst EMPTY_ARRAY = [];\nconst getCurrentValue = (filterDefinition, currentFilter) => {\n  if (filterDefinition.singleSelection) {\n    return currentFilter?.value;\n  }\n  if (Array.isArray(currentFilter?.value)) {\n    return currentFilter.value;\n  }\n  if (!Array.isArray(currentFilter?.value) && !!currentFilter?.value) {\n    return [currentFilter.value];\n  }\n  return EMPTY_ARRAY;\n};\nconst getNewValue = (filterDefinition, currentFilter, value) => {\n  if (filterDefinition.singleSelection) {\n    return value;\n  }\n  if (Array.isArray(currentFilter?.value)) {\n    return currentFilter.value.includes(value) ? currentFilter.value.filter(v => v !== value) : [...currentFilter.value, value];\n  }\n  return [value];\n};\nfunction ListBox({\n  view,\n  filter,\n  onChangeView\n}) {\n  const compositeStore = useCompositeStore({\n    virtualFocus: true,\n    focusLoop: true,\n    // When we have no or just one operator, we can set the first item as active.\n    // We do that by passing `undefined` to `defaultActiveId`. Otherwise, we set it to `null`,\n    // so the first item is not selected, since the focus is on the operators control.\n    defaultActiveId: filter.operators?.length === 1 ? undefined : null\n  });\n  const currentFilter = view.filters.find(f => f.field === filter.field);\n  const currentValue = getCurrentValue(filter, currentFilter);\n  return createElement(Composite, {\n    store: compositeStore,\n    role: \"listbox\",\n    className: \"dataviews-search-widget-listbox\",\n    \"aria-label\": sprintf( /* translators: List of items for a filter. 1: Filter name. e.g.: \"List of: Author\". */\n    __('List of: %1$s'), filter.name),\n    onFocusVisible: () => {\n      if (!compositeStore.getState().activeId) {\n        compositeStore.move(compositeStore.first());\n      }\n    },\n    render: createElement(Ariakit.CompositeTypeahead, {\n      store: compositeStore\n    })\n  }, filter.elements.map(element => createElement(Ariakit.CompositeHover, {\n    store: compositeStore,\n    key: element.value,\n    render: createElement(CompositeItem, {\n      render: createElement(\"div\", {\n        \"aria-label\": element.label,\n        role: \"option\",\n        className: \"dataviews-search-widget-listitem\"\n      }),\n      onClick: () => {\n        const newFilters = currentFilter ? [...view.filters.map(_filter => {\n          if (_filter.field === filter.field) {\n            return {\n              ..._filter,\n              operator: currentFilter.operator || filter.operators[0],\n              value: getNewValue(filter, currentFilter, element.value)\n            };\n          }\n          return _filter;\n        })] : [...view.filters, {\n          field: filter.field,\n          operator: filter.operators[0],\n          value: getNewValue(filter, currentFilter, element.value)\n        }];\n        onChangeView({\n          ...view,\n          page: 1,\n          filters: newFilters\n        });\n      }\n    })\n  }, createElement(\"span\", {\n    className: \"dataviews-search-widget-listitem-check\"\n  }, filter.singleSelection && currentValue === element.value && createElement(Icon, {\n    icon: radioCheck\n  }), !filter.singleSelection && currentValue.includes(element.value) && createElement(Icon, {\n    icon: check\n  })), createElement(\"span\", null, element.label, !!element.description && createElement(\"span\", {\n    className: \"dataviews-search-widget-listitem-description\"\n  }, element.description)))));\n}\nfunction ComboboxList({\n  view,\n  filter,\n  onChangeView\n}) {\n  const [searchValue, setSearchValue] = useState('');\n  const deferredSearchValue = useDeferredValue(searchValue);\n  const currentFilter = view.filters.find(_filter => _filter.field === filter.field);\n  const currentValue = getCurrentValue(filter, currentFilter);\n  const matches = useMemo(() => {\n    const normalizedSearch = normalizeSearchInput(deferredSearchValue);\n    return filter.elements.filter(item => normalizeSearchInput(item.label).includes(normalizedSearch));\n  }, [filter.elements, deferredSearchValue]);\n  return createElement(Ariakit.ComboboxProvider, {\n    resetValueOnSelect: false,\n    selectedValue: currentValue,\n    setSelectedValue: value => {\n      const newFilters = currentFilter ? [...view.filters.map(_filter => {\n        if (_filter.field === filter.field) {\n          return {\n            ..._filter,\n            operator: currentFilter.operator || filter.operators[0],\n            value\n          };\n        }\n        return _filter;\n      })] : [...view.filters, {\n        field: filter.field,\n        operator: filter.operators[0],\n        value\n      }];\n      onChangeView({\n        ...view,\n        page: 1,\n        filters: newFilters\n      });\n    },\n    setValue: setSearchValue\n  }, createElement(\"div\", {\n    className: \"dataviews-search-widget-filter-combobox__wrapper\"\n  }, createElement(Ariakit.ComboboxLabel, {\n    render: createElement(VisuallyHidden, null)\n  }, __('Search items')), createElement(Ariakit.Combobox, {\n    autoSelect: \"always\",\n    placeholder: __('Search'),\n    className: \"dataviews-search-widget-filter-combobox__input\"\n  }), createElement(\"div\", {\n    className: \"dataviews-search-widget-filter-combobox__icon\"\n  }, createElement(Icon, {\n    icon: search\n  }))), createElement(Ariakit.ComboboxList, {\n    className: \"dataviews-search-widget-filter-combobox-list\",\n    alwaysVisible: true\n  }, matches.map(element => {\n    return createElement(Ariakit.ComboboxItem, {\n      key: element.value,\n      value: element.value,\n      className: \"dataviews-search-widget-listitem\",\n      hideOnClick: false,\n      setValueOnClick: false,\n      focusOnHover: true\n    }, createElement(\"span\", {\n      className: \"dataviews-search-widget-listitem-check\"\n    }, filter.singleSelection && currentValue === element.value && createElement(Icon, {\n      icon: radioCheck\n    }), !filter.singleSelection && currentValue.includes(element.value) && createElement(Icon, {\n      icon: check\n    })), createElement(\"span\", null, createElement(Ariakit.ComboboxItemValue, {\n      className: \"dataviews-search-widget-filter-combobox-item-value\",\n      value: element.label\n    }), !!element.description && createElement(\"span\", {\n      className: \"dataviews-search-widget-listitem-description\"\n    }, element.description)));\n  }), !matches.length && createElement(\"p\", null, __('No results found'))));\n}\nexport default function SearchWidget(props) {\n  const Widget = props.filter.elements.length > 10 ? ComboboxList : ListBox;\n  return createElement(Widget, {\n    ...props\n  });\n}\n//# sourceMappingURL=search-widget.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef, memo } from '@wordpress/element';\nimport { SearchControl } from '@wordpress/components';\nimport { useDebouncedInput } from '@wordpress/compose';\nconst Search = memo(function Search({\n  label,\n  view,\n  onChangeView\n}) {\n  const [search, setSearch, debouncedSearch] = useDebouncedInput(view.search);\n  useEffect(() => {\n    setSearch(view.search);\n  }, [view]);\n  const onChangeViewRef = useRef(onChangeView);\n  useEffect(() => {\n    onChangeViewRef.current = onChangeView;\n  }, [onChangeView]);\n  useEffect(() => {\n    onChangeViewRef.current({\n      ...view,\n      page: 1,\n      search: debouncedSearch\n    });\n  }, [debouncedSearch]);\n  const searchLabel = label || __('Search');\n  return createElement(SearchControl, {\n    __nextHasNoMarginBottom: true,\n    onChange: setSearch,\n    value: search,\n    label: searchLabel,\n    placeholder: searchLabel,\n    size: \"compact\"\n  });\n});\nexport default Search;\n//# sourceMappingURL=search.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\nexport default function SingleSelectionCheckbox({\n  selection,\n  onSelectionChange,\n  item,\n  data,\n  getItemId,\n  primaryField,\n  disabled\n}) {\n  const id = getItemId(item);\n  const isSelected = selection.includes(id);\n  let selectionLabel;\n  if (primaryField?.getValue && item) {\n    // eslint-disable-next-line @wordpress/valid-sprintf\n    selectionLabel = sprintf( /* translators: %s: item title. */\n    isSelected ? __('Deselect item: %s') : __('Select item: %s'), primaryField.getValue({\n      item\n    }));\n  } else {\n    selectionLabel = isSelected ? __('Select a new item') : __('Deselect item');\n  }\n  return createElement(CheckboxControl, {\n    className: \"dataviews-view-table-selection-checkbox\",\n    __nextHasNoMarginBottom: true,\n    \"aria-label\": selectionLabel,\n    \"aria-disabled\": disabled,\n    checked: isSelected,\n    onChange: () => {\n      if (disabled) {\n        return;\n      }\n      if (!isSelected) {\n        onSelectionChange(data.filter(_item => {\n          const itemId = getItemId?.(_item);\n          return itemId === id || selection.includes(itemId);\n        }));\n      } else {\n        onSelectionChange(data.filter(_item => {\n          const itemId = getItemId?.(_item);\n          return itemId !== id && selection.includes(itemId);\n        }));\n      }\n    }\n  });\n}\n//# sourceMappingURL=single-selection-checkbox.js.map","/**\n * Internal dependencies\n */\nimport { ALL_OPERATORS, OPERATOR_IS, OPERATOR_IS_NOT, OPERATOR_IS_ANY, OPERATOR_IS_NONE } from './constants';\nexport const sanitizeOperators = field => {\n  let operators = field.filterBy?.operators;\n\n  // Assign default values.\n  if (!operators || !Array.isArray(operators)) {\n    operators = [OPERATOR_IS_ANY, OPERATOR_IS_NONE];\n  }\n\n  // Transform legacy in, notIn operators to is, isNot.\n  // To be removed in the future.\n  if (operators.includes('in')) {\n    operators = operators.filter(operator => operator !== 'is');\n    operators.push('is');\n  }\n  if (operators.includes('notIn')) {\n    operators = operators.filter(operator => operator !== 'notIn');\n    operators.push('isNot');\n  }\n\n  // Make sure only valid operators are used.\n  operators = operators.filter(operator => ALL_OPERATORS.includes(operator));\n\n  // Do not allow mixing single & multiselection operators.\n  // Remove multiselection operators if any of the single selection ones is present.\n  if (operators.includes(OPERATOR_IS) || operators.includes(OPERATOR_IS_NOT)) {\n    operators = operators.filter(operator => [OPERATOR_IS, OPERATOR_IS_NOT].includes(operator));\n  }\n  return operators;\n};\n//# sourceMappingURL=utils.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { Button, privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { memo } from '@wordpress/element';\nimport { settings } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport { SORTING_DIRECTIONS } from './constants';\nimport { VIEW_LAYOUTS } from './layouts';\nconst {\n  DropdownMenuV2: DropdownMenu,\n  DropdownMenuGroupV2: DropdownMenuGroup,\n  DropdownMenuItemV2: DropdownMenuItem,\n  DropdownMenuRadioItemV2: DropdownMenuRadioItem,\n  DropdownMenuCheckboxItemV2: DropdownMenuCheckboxItem,\n  DropdownMenuItemLabelV2: DropdownMenuItemLabel\n} = unlock(componentsPrivateApis);\nfunction ViewTypeMenu({\n  view,\n  onChangeView,\n  supportedLayouts\n}) {\n  let _availableViews = VIEW_LAYOUTS;\n  if (supportedLayouts) {\n    _availableViews = _availableViews.filter(_view => supportedLayouts.includes(_view.type));\n  }\n  if (_availableViews.length === 1) {\n    return null;\n  }\n  const activeView = _availableViews.find(v => view.type === v.type);\n  return createElement(DropdownMenu, {\n    trigger: createElement(DropdownMenuItem, {\n      suffix: createElement(\"span\", {\n        \"aria-hidden\": \"true\"\n      }, activeView.label)\n    }, createElement(DropdownMenuItemLabel, null, __('Layout')))\n  }, _availableViews.map(availableView => {\n    return createElement(DropdownMenuRadioItem, {\n      key: availableView.type,\n      value: availableView.type,\n      name: \"view-actions-available-view\",\n      checked: availableView.type === view.type,\n      hideOnClick: true,\n      onChange: e => {\n        onChangeView({\n          ...view,\n          type: e.target.value\n        });\n      }\n    }, createElement(DropdownMenuItemLabel, null, availableView.label));\n  }));\n}\nconst PAGE_SIZE_VALUES = [10, 20, 50, 100];\nfunction PageSizeMenu({\n  view,\n  onChangeView\n}) {\n  return createElement(DropdownMenu, {\n    trigger: createElement(DropdownMenuItem, {\n      suffix: createElement(\"span\", {\n        \"aria-hidden\": \"true\"\n      }, view.perPage)\n    }, createElement(DropdownMenuItemLabel, null, __('Items per page')))\n  }, PAGE_SIZE_VALUES.map(size => {\n    return createElement(DropdownMenuRadioItem, {\n      key: size,\n      value: size,\n      name: \"view-actions-page-size\",\n      checked: view.perPage === size,\n      onChange: () => {\n        onChangeView({\n          ...view,\n          // `e.target.value` holds the same value as `size` but as a string,\n          // so we use `size` directly to avoid parsing to int.\n          perPage: size,\n          page: 1\n        });\n      }\n    }, createElement(DropdownMenuItemLabel, null, size));\n  }));\n}\nfunction FieldsVisibilityMenu({\n  view,\n  onChangeView,\n  fields\n}) {\n  const hidableFields = fields.filter(field => field.enableHiding !== false && field.id !== view.layout.mediaField);\n  if (!hidableFields?.length) {\n    return null;\n  }\n  return createElement(DropdownMenu, {\n    trigger: createElement(DropdownMenuItem, null, createElement(DropdownMenuItemLabel, null, __('Fields')))\n  }, hidableFields?.map(field => {\n    return createElement(DropdownMenuCheckboxItem, {\n      key: field.id,\n      value: field.id,\n      checked: !view.hiddenFields?.includes(field.id),\n      onChange: () => {\n        onChangeView({\n          ...view,\n          hiddenFields: view.hiddenFields?.includes(field.id) ? view.hiddenFields.filter(id => id !== field.id) : [...(view.hiddenFields || []), field.id]\n        });\n      }\n    }, createElement(DropdownMenuItemLabel, null, field.header));\n  }));\n}\nfunction SortMenu({\n  fields,\n  view,\n  onChangeView\n}) {\n  const sortableFields = fields.filter(field => field.enableSorting !== false);\n  if (!sortableFields?.length) {\n    return null;\n  }\n  const currentSortedField = fields.find(field => field.id === view.sort?.field);\n  return createElement(DropdownMenu, {\n    trigger: createElement(DropdownMenuItem, {\n      suffix: createElement(\"span\", {\n        \"aria-hidden\": \"true\"\n      }, currentSortedField?.header)\n    }, createElement(DropdownMenuItemLabel, null, __('Sort by')))\n  }, sortableFields?.map(field => {\n    const sortedDirection = view.sort?.direction;\n    return createElement(DropdownMenu, {\n      key: field.id,\n      trigger: createElement(DropdownMenuItem, null, createElement(DropdownMenuItemLabel, null, field.header)),\n      style: {\n        minWidth: '220px'\n      }\n    }, Object.entries(SORTING_DIRECTIONS).map(([direction, info]) => {\n      const isChecked = currentSortedField !== undefined && sortedDirection === direction && field.id === currentSortedField.id;\n      const value = `${field.id}-${direction}`;\n      return createElement(DropdownMenuRadioItem, {\n        key: value\n        // All sorting radio items share the same name, so that\n        // selecting a sorting option automatically deselects the\n        // previously selected one, even if it is displayed in\n        // another submenu. The field and direction are passed via\n        // the `value` prop.\n        ,\n        name: \"view-actions-sorting\",\n        value: value,\n        checked: isChecked,\n        onChange: () => {\n          onChangeView({\n            ...view,\n            sort: {\n              field: field.id,\n              direction\n            }\n          });\n        }\n      }, createElement(DropdownMenuItemLabel, null, info.label));\n    }));\n  }));\n}\nconst ViewActions = memo(function ViewActions({\n  fields,\n  view,\n  onChangeView,\n  supportedLayouts\n}) {\n  return createElement(DropdownMenu, {\n    trigger: createElement(Button, {\n      size: \"compact\",\n      icon: settings,\n      label: __('View options')\n    })\n  }, createElement(DropdownMenuGroup, null, createElement(ViewTypeMenu, {\n    view: view,\n    onChangeView: onChangeView,\n    supportedLayouts: supportedLayouts\n  }), createElement(SortMenu, {\n    fields: fields,\n    view: view,\n    onChangeView: onChangeView\n  }), createElement(FieldsVisibilityMenu, {\n    fields: fields,\n    view: view,\n    onChangeView: onChangeView\n  }), createElement(PageSizeMenu, {\n    view: view,\n    onChangeView: onChangeView\n  })));\n});\nexport default ViewActions;\n//# sourceMappingURL=view-actions.js.map","import { createElement, Fragment } from \"react\";\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalGrid as Grid, __experimentalHStack as HStack, __experimentalVStack as VStack, Spinner, Flex, FlexItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ItemActions from './item-actions';\nimport SingleSelectionCheckbox from './single-selection-checkbox';\nimport { useHasAPossibleBulkAction } from './bulk-actions';\nfunction GridItem({\n  selection,\n  data,\n  onSelectionChange,\n  getItemId,\n  item,\n  actions,\n  mediaField,\n  primaryField,\n  visibleFields,\n  badgeFields,\n  columnFields\n}) {\n  const hasBulkAction = useHasAPossibleBulkAction(actions, item);\n  const id = getItemId(item);\n  const isSelected = selection.includes(id);\n  return createElement(VStack, {\n    spacing: 0,\n    key: id,\n    className: classnames('dataviews-view-grid__card', {\n      'is-selected': hasBulkAction && isSelected\n    }),\n    onClickCapture: event => {\n      if (event.ctrlKey || event.metaKey) {\n        event.stopPropagation();\n        event.preventDefault();\n        if (!hasBulkAction) {\n          return;\n        }\n        if (!isSelected) {\n          onSelectionChange(data.filter(_item => {\n            const itemId = getItemId?.(_item);\n            return itemId === id || selection.includes(itemId);\n          }));\n        } else {\n          onSelectionChange(data.filter(_item => {\n            const itemId = getItemId?.(_item);\n            return itemId !== id && selection.includes(itemId);\n          }));\n        }\n      }\n    }\n  }, createElement(\"div\", {\n    className: \"dataviews-view-grid__media\"\n  }, mediaField?.render({\n    item\n  })), createElement(HStack, {\n    justify: \"space-between\",\n    className: \"dataviews-view-grid__title-actions\"\n  }, createElement(SingleSelectionCheckbox, {\n    id: id,\n    item: item,\n    selection: selection,\n    onSelectionChange: onSelectionChange,\n    getItemId: getItemId,\n    data: data,\n    primaryField: primaryField,\n    disabled: !hasBulkAction\n  }), createElement(HStack, {\n    className: \"dataviews-view-grid__primary-field\"\n  }, primaryField?.render({\n    item\n  })), createElement(ItemActions, {\n    item: item,\n    actions: actions,\n    isCompact: true\n  })), !!badgeFields?.length && createElement(HStack, {\n    className: \"dataviews-view-grid__badge-fields\",\n    spacing: 2,\n    wrap: true,\n    align: \"top\",\n    justify: \"flex-start\"\n  }, badgeFields.map(field => {\n    const renderedValue = field.render({\n      item\n    });\n    if (!renderedValue) {\n      return null;\n    }\n    return createElement(FlexItem, {\n      key: field.id,\n      className: 'dataviews-view-grid__field-value'\n    }, renderedValue);\n  })), !!visibleFields?.length && createElement(VStack, {\n    className: \"dataviews-view-grid__fields\",\n    spacing: 3\n  }, visibleFields.map(field => {\n    const renderedValue = field.render({\n      item\n    });\n    if (!renderedValue) {\n      return null;\n    }\n    return createElement(Flex, {\n      className: classnames('dataviews-view-grid__field', columnFields?.includes(field.id) ? 'is-column' : 'is-row'),\n      key: field.id,\n      gap: 1,\n      justify: \"flex-start\",\n      expanded: true,\n      style: {\n        height: 'auto'\n      },\n      direction: columnFields?.includes(field.id) ? 'column' : 'row'\n    }, createElement(Fragment, null, createElement(FlexItem, {\n      className: \"dataviews-view-grid__field-name\"\n    }, field.header), createElement(FlexItem, {\n      className: \"dataviews-view-grid__field-value\",\n      style: {\n        maxHeight: 'none'\n      }\n    }, renderedValue)));\n  })));\n}\nexport default function ViewGrid({\n  data,\n  fields,\n  view,\n  actions,\n  isLoading,\n  getItemId,\n  selection,\n  onSelectionChange\n}) {\n  const mediaField = fields.find(field => field.id === view.layout.mediaField);\n  const primaryField = fields.find(field => field.id === view.layout.primaryField);\n  const {\n    visibleFields,\n    badgeFields\n  } = fields.reduce((accumulator, field) => {\n    if (view.hiddenFields.includes(field.id) || [view.layout.mediaField, view.layout.primaryField].includes(field.id)) {\n      return accumulator;\n    }\n    // If the field is a badge field, add it to the badgeFields array\n    // otherwise add it to the rest visibleFields array.\n    const key = view.layout.badgeFields?.includes(field.id) ? 'badgeFields' : 'visibleFields';\n    accumulator[key].push(field);\n    return accumulator;\n  }, {\n    visibleFields: [],\n    badgeFields: []\n  });\n  const hasData = !!data?.length;\n  return createElement(Fragment, null, hasData && createElement(Grid, {\n    gap: 6,\n    columns: 2,\n    alignment: \"top\",\n    className: \"dataviews-view-grid\",\n    \"aria-busy\": isLoading\n  }, data.map(item => {\n    return createElement(GridItem, {\n      key: getItemId(item),\n      selection: selection,\n      data: data,\n      onSelectionChange: onSelectionChange,\n      getItemId: getItemId,\n      item: item,\n      actions: actions,\n      mediaField: mediaField,\n      primaryField: primaryField,\n      visibleFields: visibleFields,\n      badgeFields: badgeFields,\n      columnFields: view.layout.columnFields\n    });\n  })), !hasData && createElement(\"div\", {\n    className: classnames({\n      'dataviews-loading': isLoading,\n      'dataviews-no-results': !isLoading\n    })\n  }, createElement(\"p\", null, isLoading ? createElement(Spinner, null) : __('No results'))));\n}\n//# sourceMappingURL=view-grid.js.map","import { createElement } from \"react\";\n/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { __experimentalHStack as HStack, __experimentalVStack as VStack, privateApis as componentsPrivateApis, Spinner, VisuallyHidden } from '@wordpress/components';\nimport { useCallback, useEffect, useRef } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nconst {\n  useCompositeStoreV2: useCompositeStore,\n  CompositeV2: Composite,\n  CompositeItemV2: CompositeItem,\n  CompositeRowV2: CompositeRow\n} = unlock(componentsPrivateApis);\nfunction ListItem({\n  id,\n  item,\n  isSelected,\n  onSelect,\n  mediaField,\n  primaryField,\n  visibleFields\n}) {\n  const itemRef = useRef(null);\n  const labelId = `${id}-label`;\n  const descriptionId = `${id}-description`;\n  useEffect(() => {\n    if (isSelected) {\n      itemRef.current?.scrollIntoView({\n        behavior: 'auto',\n        block: 'nearest',\n        inline: 'nearest'\n      });\n    }\n  }, [isSelected]);\n  return createElement(CompositeRow, {\n    ref: itemRef,\n    render: createElement(\"li\", null),\n    role: \"row\",\n    className: classNames({\n      'is-selected': isSelected\n    })\n  }, createElement(HStack, {\n    className: \"dataviews-view-list__item-wrapper\"\n  }, createElement(\"div\", {\n    role: \"gridcell\"\n  }, createElement(CompositeItem, {\n    render: createElement(\"div\", null),\n    role: \"button\",\n    id: id,\n    \"aria-pressed\": isSelected,\n    \"aria-labelledby\": labelId,\n    \"aria-describedby\": descriptionId,\n    className: \"dataviews-view-list__item\",\n    onClick: () => onSelect(item)\n  }, createElement(HStack, {\n    spacing: 3,\n    justify: \"start\",\n    alignment: \"flex-start\"\n  }, createElement(\"div\", {\n    className: \"dataviews-view-list__media-wrapper\"\n  }, mediaField?.render({\n    item\n  }) || createElement(\"div\", {\n    className: \"dataviews-view-list__media-placeholder\"\n  })), createElement(VStack, {\n    spacing: 1\n  }, createElement(\"span\", {\n    className: \"dataviews-view-list__primary-field\",\n    id: labelId\n  }, primaryField?.render({\n    item\n  })), createElement(\"div\", {\n    className: \"dataviews-view-list__fields\",\n    id: descriptionId\n  }, visibleFields.map(field => createElement(\"div\", {\n    key: field.id,\n    className: \"dataviews-view-list__field\"\n  }, createElement(VisuallyHidden, {\n    as: \"span\",\n    className: \"dataviews-view-list__field-label\"\n  }, field.header), createElement(\"span\", {\n    className: \"dataviews-view-list__field-value\"\n  }, field.render({\n    item\n  })))))))))));\n}\nexport default function ViewList({\n  view,\n  fields,\n  data,\n  isLoading,\n  getItemId,\n  onSelectionChange,\n  selection,\n  id: preferredId\n}) {\n  const baseId = useInstanceId(ViewList, 'view-list', preferredId);\n  const selectedItem = data?.findLast(item => selection.includes(item.id));\n  const mediaField = fields.find(field => field.id === view.layout.mediaField);\n  const primaryField = fields.find(field => field.id === view.layout.primaryField);\n  const visibleFields = fields.filter(field => !view.hiddenFields.includes(field.id) && ![view.layout.primaryField, view.layout.mediaField].includes(field.id));\n  const onSelect = useCallback(item => onSelectionChange([item]), [onSelectionChange]);\n  const getItemDomId = useCallback(item => item ? `${baseId}-${getItemId(item)}` : undefined, [baseId, getItemId]);\n  const store = useCompositeStore({\n    defaultActiveId: getItemDomId(selectedItem)\n  });\n  const hasData = data?.length;\n  if (!hasData) {\n    return createElement(\"div\", {\n      className: classNames({\n        'dataviews-loading': isLoading,\n        'dataviews-no-results': !hasData && !isLoading\n      })\n    }, !hasData && createElement(\"p\", null, isLoading ? createElement(Spinner, null) : __('No results')));\n  }\n  return createElement(Composite, {\n    id: baseId,\n    render: createElement(\"ul\", null),\n    className: \"dataviews-view-list\",\n    role: \"grid\",\n    store: store\n  }, data.map(item => {\n    const id = getItemDomId(item);\n    return createElement(ListItem, {\n      key: id,\n      id: id,\n      item: item,\n      isSelected: item === selectedItem,\n      onSelect: onSelect,\n      mediaField: mediaField,\n      primaryField: primaryField,\n      visibleFields: visibleFields\n    });\n  }));\n}\n//# sourceMappingURL=view-list.js.map","import { createElement } from \"react\";\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { unseen, funnel } from '@wordpress/icons';\nimport { Button, Icon, privateApis as componentsPrivateApis, CheckboxControl, Spinner } from '@wordpress/components';\nimport { forwardRef, useEffect, useId, useRef, useState, useMemo, Children, Fragment } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SingleSelectionCheckbox from './single-selection-checkbox';\nimport { unlock } from './lock-unlock';\nimport ItemActions from './item-actions';\nimport { sanitizeOperators } from './utils';\nimport { SORTING_DIRECTIONS } from './constants';\nimport { useSomeItemHasAPossibleBulkAction, useHasAPossibleBulkAction } from './bulk-actions';\nconst {\n  DropdownMenuV2: DropdownMenu,\n  DropdownMenuGroupV2: DropdownMenuGroup,\n  DropdownMenuItemV2: DropdownMenuItem,\n  DropdownMenuRadioItemV2: DropdownMenuRadioItem,\n  DropdownMenuItemLabelV2: DropdownMenuItemLabel,\n  DropdownMenuSeparatorV2: DropdownMenuSeparator\n} = unlock(componentsPrivateApis);\nfunction WithDropDownMenuSeparators({\n  children\n}) {\n  return Children.toArray(children).filter(Boolean).map((child, i) => createElement(Fragment, {\n    key: i\n  }, i > 0 && createElement(DropdownMenuSeparator, null), child));\n}\nconst sortArrows = {\n  asc: '↑',\n  desc: '↓'\n};\nconst HeaderMenu = forwardRef(function HeaderMenu({\n  field,\n  view,\n  onChangeView,\n  onHide,\n  setOpenedFilter\n}, ref) {\n  const isHidable = field.enableHiding !== false;\n  const isSortable = field.enableSorting !== false;\n  const isSorted = view.sort?.field === field.id;\n  const operators = sanitizeOperators(field);\n  // Filter can be added:\n  // 1. If the field is not already part of a view's filters.\n  // 2. If the field meets the type and operator requirements.\n  // 3. If it's not primary. If it is, it should be already visible.\n  const canAddFilter = !view.filters?.some(_filter => field.id === _filter.field) && !!field.elements?.length && !!operators.length && !field.filterBy?.isPrimary;\n  if (!isSortable && !isHidable && !canAddFilter) {\n    return field.header;\n  }\n  return createElement(DropdownMenu, {\n    align: \"start\",\n    trigger: createElement(Button, {\n      size: \"compact\",\n      className: \"dataviews-view-table-header-button\",\n      ref: ref,\n      variant: \"tertiary\"\n    }, field.header, isSorted && createElement(\"span\", {\n      \"aria-hidden\": \"true\"\n    }, isSorted && sortArrows[view.sort.direction])),\n    style: {\n      minWidth: '240px'\n    }\n  }, createElement(WithDropDownMenuSeparators, null, isSortable && createElement(DropdownMenuGroup, null, Object.entries(SORTING_DIRECTIONS).map(([direction, info]) => {\n    const isChecked = isSorted && view.sort.direction === direction;\n    const value = `${field.id}-${direction}`;\n    return createElement(DropdownMenuRadioItem, {\n      key: value\n      // All sorting radio items share the same name, so that\n      // selecting a sorting option automatically deselects the\n      // previously selected one, even if it is displayed in\n      // another submenu. The field and direction are passed via\n      // the `value` prop.\n      ,\n      name: \"view-table-sorting\",\n      value: value,\n      checked: isChecked,\n      onChange: () => {\n        onChangeView({\n          ...view,\n          sort: {\n            field: field.id,\n            direction\n          }\n        });\n      }\n    }, createElement(DropdownMenuItemLabel, null, info.label));\n  })), canAddFilter && createElement(DropdownMenuGroup, null, createElement(DropdownMenuItem, {\n    prefix: createElement(Icon, {\n      icon: funnel\n    }),\n    onClick: () => {\n      setOpenedFilter(field.id);\n      onChangeView({\n        ...view,\n        page: 1,\n        filters: [...(view.filters || []), {\n          field: field.id,\n          value: undefined,\n          operator: operators[0]\n        }]\n      });\n    }\n  }, createElement(DropdownMenuItemLabel, null, __('Add filter')))), isHidable && createElement(DropdownMenuItem, {\n    prefix: createElement(Icon, {\n      icon: unseen\n    }),\n    onClick: () => {\n      onHide(field);\n      onChangeView({\n        ...view,\n        hiddenFields: view.hiddenFields.concat(field.id)\n      });\n    }\n  }, createElement(DropdownMenuItemLabel, null, __('Hide')))));\n});\nfunction BulkSelectionCheckbox({\n  selection,\n  onSelectionChange,\n  data,\n  actions\n}) {\n  const selectableItems = useMemo(() => {\n    return data.filter(item => {\n      return actions.some(action => action.supportsBulk && action.isEligible(item));\n    });\n  }, [data, actions]);\n  const areAllSelected = selection.length === selectableItems.length;\n  return createElement(CheckboxControl, {\n    className: \"dataviews-view-table-selection-checkbox\",\n    __nextHasNoMarginBottom: true,\n    checked: areAllSelected,\n    indeterminate: !areAllSelected && selection.length,\n    onChange: () => {\n      if (areAllSelected) {\n        onSelectionChange([]);\n      } else {\n        onSelectionChange(selectableItems);\n      }\n    },\n    \"aria-label\": areAllSelected ? __('Deselect all') : __('Select all')\n  });\n}\nfunction TableRow({\n  hasBulkActions,\n  item,\n  actions,\n  id,\n  visibleFields,\n  primaryField,\n  selection,\n  getItemId,\n  onSelectionChange,\n  data\n}) {\n  const hasPossibleBulkAction = useHasAPossibleBulkAction(actions, item);\n  const isSelected = selection.includes(id);\n  const [isHovered, setIsHovered] = useState(false);\n  const handleMouseEnter = () => {\n    setIsHovered(true);\n  };\n  const handleMouseLeave = () => {\n    setIsHovered(false);\n  };\n\n  // Will be set to true if `onTouchStart` fires. This happens before\n  // `onClick` and can be used to exclude touchscreen devices from certain\n  // behaviours.\n  const isTouchDevice = useRef(false);\n  return createElement(\"tr\", {\n    className: classnames('dataviews-view-table__row', {\n      'is-selected': hasPossibleBulkAction && isSelected,\n      'is-hovered': isHovered,\n      'has-bulk-actions': hasPossibleBulkAction\n    }),\n    onMouseEnter: handleMouseEnter,\n    onMouseLeave: handleMouseLeave,\n    onTouchStart: () => {\n      isTouchDevice.current = true;\n    },\n    onClick: () => {\n      if (!isTouchDevice.current && document.getSelection().type !== 'Range') {\n        if (!isSelected) {\n          onSelectionChange(data.filter(_item => {\n            const itemId = getItemId?.(_item);\n            return itemId === id || selection.includes(itemId);\n          }));\n        } else {\n          onSelectionChange(data.filter(_item => {\n            const itemId = getItemId?.(_item);\n            return itemId !== id && selection.includes(itemId);\n          }));\n        }\n      }\n    }\n  }, hasBulkActions && createElement(\"td\", {\n    className: \"dataviews-view-table__checkbox-column\",\n    style: {\n      width: '1%'\n    }\n  }, createElement(\"div\", {\n    className: \"dataviews-view-table__cell-content-wrapper\"\n  }, createElement(SingleSelectionCheckbox, {\n    id: id,\n    item: item,\n    selection: selection,\n    onSelectionChange: onSelectionChange,\n    getItemId: getItemId,\n    data: data,\n    primaryField: primaryField,\n    disabled: !hasPossibleBulkAction\n  }))), visibleFields.map(field => createElement(\"td\", {\n    key: field.id,\n    style: {\n      width: field.width || undefined,\n      minWidth: field.minWidth || undefined,\n      maxWidth: field.maxWidth || undefined\n    }\n  }, createElement(\"div\", {\n    className: classnames('dataviews-view-table__cell-content-wrapper', {\n      'dataviews-view-table__primary-field': primaryField?.id === field.id\n    })\n  }, field.render({\n    item\n  })))), !!actions?.length &&\n  // Disable reason: we are not making the element interactive,\n  // but preventing any click events from bubbling up to the\n  // table row. This allows us to add a click handler to the row\n  // itself (to toggle row selection) without erroneously\n  // intercepting click events from ItemActions.\n\n  /* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n  createElement(\"td\", {\n    className: \"dataviews-view-table__actions-column\",\n    onClick: e => e.stopPropagation()\n  }, createElement(ItemActions, {\n    item: item,\n    actions: actions\n  }))\n  /* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */);\n}\nfunction ViewTable({\n  view,\n  onChangeView,\n  fields,\n  actions,\n  data,\n  getItemId,\n  isLoading = false,\n  selection,\n  onSelectionChange,\n  setOpenedFilter\n}) {\n  const headerMenuRefs = useRef(new Map());\n  const headerMenuToFocusRef = useRef();\n  const [nextHeaderMenuToFocus, setNextHeaderMenuToFocus] = useState();\n  const hasBulkActions = useSomeItemHasAPossibleBulkAction(actions, data);\n  useEffect(() => {\n    if (headerMenuToFocusRef.current) {\n      headerMenuToFocusRef.current.focus();\n      headerMenuToFocusRef.current = undefined;\n    }\n  });\n  const tableNoticeId = useId();\n  if (nextHeaderMenuToFocus) {\n    // If we need to force focus, we short-circuit rendering here\n    // to prevent any additional work while we handle that.\n    // Clearing out the focus directive is necessary to make sure\n    // future renders don't cause unexpected focus jumps.\n    headerMenuToFocusRef.current = nextHeaderMenuToFocus;\n    setNextHeaderMenuToFocus();\n    return;\n  }\n  const onHide = field => {\n    const hidden = headerMenuRefs.current.get(field.id);\n    const fallback = headerMenuRefs.current.get(hidden.fallback);\n    setNextHeaderMenuToFocus(fallback?.node);\n  };\n  const visibleFields = fields.filter(field => !view.hiddenFields.includes(field.id) && ![view.layout.mediaField].includes(field.id));\n  const hasData = !!data?.length;\n  const sortValues = {\n    asc: 'ascending',\n    desc: 'descending'\n  };\n  const primaryField = fields.find(field => field.id === view.layout.primaryField);\n  return createElement(Fragment, null, createElement(\"table\", {\n    className: \"dataviews-view-table\",\n    \"aria-busy\": isLoading,\n    \"aria-describedby\": tableNoticeId\n  }, createElement(\"thead\", null, createElement(\"tr\", {\n    className: \"dataviews-view-table__row\"\n  }, hasBulkActions && createElement(\"th\", {\n    className: \"dataviews-view-table__checkbox-column\",\n    style: {\n      width: '1%'\n    },\n    \"data-field-id\": \"selection\",\n    scope: \"col\"\n  }, createElement(BulkSelectionCheckbox, {\n    selection: selection,\n    onSelectionChange: onSelectionChange,\n    data: data,\n    actions: actions\n  })), visibleFields.map((field, index) => createElement(\"th\", {\n    key: field.id,\n    style: {\n      width: field.width || undefined,\n      minWidth: field.minWidth || undefined,\n      maxWidth: field.maxWidth || undefined\n    },\n    \"data-field-id\": field.id,\n    \"aria-sort\": view.sort?.field === field.id && sortValues[view.sort.direction],\n    scope: \"col\"\n  }, createElement(HeaderMenu, {\n    ref: node => {\n      if (node) {\n        headerMenuRefs.current.set(field.id, {\n          node,\n          fallback: visibleFields[index > 0 ? index - 1 : 1]?.id\n        });\n      } else {\n        headerMenuRefs.current.delete(field.id);\n      }\n    },\n    field: field,\n    view: view,\n    onChangeView: onChangeView,\n    onHide: onHide,\n    setOpenedFilter: setOpenedFilter\n  }))), !!actions?.length && createElement(\"th\", {\n    \"data-field-id\": \"actions\",\n    className: \"dataviews-view-table__actions-column\"\n  }, createElement(\"span\", {\n    className: \"dataviews-view-table-header\"\n  }, __('Actions'))))), createElement(\"tbody\", null, hasData && data.map((item, index) => createElement(TableRow, {\n    key: getItemId(item),\n    item: item,\n    hasBulkActions: hasBulkActions,\n    actions: actions,\n    id: getItemId(item) || index,\n    visibleFields: visibleFields,\n    primaryField: primaryField,\n    selection: selection,\n    getItemId: getItemId,\n    onSelectionChange: onSelectionChange,\n    data: data\n  })))), createElement(\"div\", {\n    className: classnames({\n      'dataviews-loading': isLoading,\n      'dataviews-no-results': !hasData && !isLoading\n    }),\n    id: tableNoticeId\n  }, !hasData && createElement(\"p\", null, isLoading ? createElement(Spinner, null) : __('No results'))));\n}\nexport default ViewTable;\n//# sourceMappingURL=view-table.js.map","/**\n * WordPress dependencies\n */\nimport { cloneElement, forwardRef } from '@wordpress/element';\n\n/** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */\n\n/**\n * Return an SVG icon.\n *\n * @param {IconProps}                                 props icon is the SVG component to render\n *                                                          size is a number specifiying the icon size in pixels\n *                                                          Other props will be passed to wrapped SVG component\n * @param {import('react').ForwardedRef<HTMLElement>} ref   The forwarded ref to the SVG element.\n *\n * @return {JSX.Element}  Icon component\n */\nfunction Icon({\n  icon,\n  size = 24,\n  ...props\n}, ref) {\n  return cloneElement(icon, {\n    width: size,\n    height: size,\n    ...props,\n    ref\n  });\n}\nexport default forwardRef(Icon);\n//# sourceMappingURL=index.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nconst blockTable = createElement(SVG, {\n  viewBox: \"0 0 24 24\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, createElement(Path, {\n  d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v3.5h-15V5c0-.3.2-.5.5-.5zm8 5.5h6.5v3.5H13V10zm-1.5 3.5h-7V10h7v3.5zm-7 5.5v-4h7v4.5H5c-.3 0-.5-.2-.5-.5zm14.5.5h-6V15h6.5v4c0 .3-.2.5-.5.5z\"\n}));\nexport default blockTable;\n//# sourceMappingURL=block-table.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst category = createElement(SVG, {\n  viewBox: \"0 0 24 24\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, createElement(Path, {\n  d: \"M6 5.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2V6zm11-.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM13 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2h-3a2 2 0 01-2-2V6zm5 8.5h-3a.5.5 0 00-.5.5v3a.5.5 0 00.5.5h3a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5zM15 13a2 2 0 00-2 2v3a2 2 0 002 2h3a2 2 0 002-2v-3a2 2 0 00-2-2h-3zm-9 1.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5zM4 15a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2v-3z\",\n  fillRule: \"evenodd\",\n  clipRule: \"evenodd\"\n}));\nexport default category;\n//# sourceMappingURL=category.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst check = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z\"\n}));\nexport default check;\n//# sourceMappingURL=check.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst chevronLeft = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z\"\n}));\nexport default chevronLeft;\n//# sourceMappingURL=chevron-left.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst chevronRight = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z\"\n}));\nexport default chevronRight;\n//# sourceMappingURL=chevron-right.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst closeSmall = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z\"\n}));\nexport default closeSmall;\n//# sourceMappingURL=close-small.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst cloud = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M17.3 10.1c0-2.5-2.1-4.4-4.8-4.4-2.2 0-4.1 1.4-4.6 3.3h-.2C5.7 9 4 10.7 4 12.8c0 2.1 1.7 3.8 3.7 3.8h9c1.8 0 3.2-1.5 3.2-3.3.1-1.6-1.1-2.9-2.6-3.2zm-.5 5.1h-9c-1.2 0-2.2-1.1-2.2-2.3s1-2.4 2.2-2.4h1.3l.3-1.1c.4-1.3 1.7-2.2 3.2-2.2 1.8 0 3.3 1.3 3.3 2.9v1.3l1.3.2c.8.1 1.4.9 1.4 1.8-.1 1-.9 1.8-1.8 1.8z\"\n}));\nexport default cloud;\n//# sourceMappingURL=cloud.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst formatListBulletsRTL = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M4 8.8h8.9V7.2H4v1.6zm0 7h8.9v-1.5H4v1.5zM18 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"\n}));\nexport default formatListBulletsRTL;\n//# sourceMappingURL=format-list-bullets-rtl.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst formatListBullets = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM6 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-7c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"\n}));\nexport default formatListBullets;\n//# sourceMappingURL=format-list-bullets.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst funnel = createElement(SVG, {\n  viewBox: \"0 0 24 24\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, createElement(Path, {\n  d: \"M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z\"\n}));\nexport default funnel;\n//# sourceMappingURL=funnel.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst moreVertical = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z\"\n}));\nexport default moreVertical;\n//# sourceMappingURL=more-vertical.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst plus = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z\"\n}));\nexport default plus;\n//# sourceMappingURL=plus.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst search = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z\"\n}));\nexport default search;\n//# sourceMappingURL=search.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst settings = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"m19 7.5h-7.628c-.3089-.87389-1.1423-1.5-2.122-1.5-.97966 0-1.81309.62611-2.12197 1.5h-2.12803v1.5h2.12803c.30888.87389 1.14231 1.5 2.12197 1.5.9797 0 1.8131-.62611 2.122-1.5h7.628z\"\n}), createElement(Path, {\n  d: \"m19 15h-2.128c-.3089-.8739-1.1423-1.5-2.122-1.5s-1.8131.6261-2.122 1.5h-7.628v1.5h7.628c.3089.8739 1.1423 1.5 2.122 1.5s1.8131-.6261 2.122-1.5h2.128z\"\n}));\nexport default settings;\n//# sourceMappingURL=settings.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst unseen = createElement(SVG, {\n  viewBox: \"0 0 24 24\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, createElement(Path, {\n  d: \"M4.67 10.664s-2.09 1.11-2.917 1.582l.494.87 1.608-.914.002.002c.343.502.86 1.17 1.563 1.84.348.33.742.663 1.185.976L5.57 16.744l.858.515 1.02-1.701a9.1 9.1 0 0 0 4.051 1.18V19h1v-2.263a9.1 9.1 0 0 0 4.05-1.18l1.021 1.7.858-.514-1.034-1.723c.442-.313.837-.646 1.184-.977.703-.669 1.22-1.337 1.563-1.839l.002-.003 1.61.914.493-.87c-1.75-.994-2.918-1.58-2.918-1.58l-.003.005a8.29 8.29 0 0 1-.422.689 10.097 10.097 0 0 1-1.36 1.598c-1.218 1.16-3.042 2.293-5.544 2.293-2.503 0-4.327-1.132-5.546-2.293a10.099 10.099 0 0 1-1.359-1.599 8.267 8.267 0 0 1-.422-.689l-.003-.005Z\"\n}));\nexport default unseen;\n//# sourceMappingURL=unseen.js.map","import { ExternalLink, Icon, Flex } from '@wordpress/components';\r\nimport { __ } from '@wordpress/i18n';\r\n\r\nexport default function Footer( { title } ) {\r\n\treturn (\r\n\t\t<div className=\"footer\">\r\n\t\t\t<div className=\"inner-container\">\r\n\t\t\t\t<a href=\"https://github.com/Tropicalista/search-console\" target=\"_blank\">\r\n\t\t\t\t\tGithub\r\n\t\t\t\t</a>\r\n\t\t\t\t<a href=\"https://wordpress.org/support/plugin/search-console/\" target=\"_blank\">\r\n\t\t\t\t\t{ __( 'Support', 'search-console' ) }\r\n\t\t\t\t</a>\r\n\t\t\t\t<a href=\"https://wordpress.org/support/plugin/formello/reviews/#new-post\" target=\"_blank\">\r\n\t\t\t\t\t{ __( 'Rate ', 'formello' ) }\r\n\t\t\t\t\t<Icon icon=\"star-filled\" />\r\n\t\t\t\t\t<Icon icon=\"star-filled\" />\r\n\t\t\t\t\t<Icon icon=\"star-filled\" />\r\n\t\t\t\t\t<Icon icon=\"star-filled\" />\r\n\t\t\t\t\t<Icon icon=\"star-filled\" />\r\n\t\t\t\t</a>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n}\r\n","import { ReactComponent as Logo } from '../../assets/logo.svg';\nimport {\n\t__experimentalHStack as HStack\n} from '@wordpress/components';\n\nexport default function Header( { title } ) {\n\treturn (\n\t\t<div className=\"masthead\">\n\t\t\t<Logo />\n\t\t\t<div className=\"masthead__branding\">\n\t\t\t\t<h1>{ title }</h1>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","import { Card } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport SlideShow from './slideshow';\nimport { useSelect } from '@wordpress/data';\n\nconst Ads = ( props ) => {\n\tconst { plugins } = useSelect( ( select ) => {\n\t\tconst myPlugins = select( 'core' ).getPlugins( { per_page: -1 } );\n\t\treturn {\n\t\t\tplugins: myPlugins?.filter( ( plugin ) => {\n\t\t\t\treturn [\n\t\t\t\t\t'formello/formello',\n\t\t\t\t\t'popper/popper',\n\t\t\t\t\t'pdf-embed/pdf-embed',\n\t\t\t\t].includes( plugin.plugin );\n\t\t\t} ),\n\t\t};\n\t} );\n\n\tconst [ shown, setShown ] = useState( () => {\n\t\t// getting stored value\n\t\tconst toShow = window.localStorage.getItem( 'sc-shown' );\n\t\tconst initialValue = JSON.parse( toShow );\n\t\treturn initialValue || new Date().getTime();\n\t} );\n\n\tif ( ! plugins ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Card>\n\t\t\t<div style={ { overflowX: 'hidden' } }>\n\t\t\t\t<SlideShow plugins={ plugins } { ...props } />\n\t\t\t</div>\n\t\t</Card>\n\t);\n};\n\nexport default Ads;\n","import { useState, useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { Button, __experimentalHStack as HStack } from '@wordpress/components';\n\nconst myAds = [\n\t{\n\t\tname: 'Systeme.io',\n\t\tad: __(\n\t\t\t'Free online marketing platform with funnel builder. Create popup, squeeze page, funnel automations all for FREE. No credit card required',\n\t\t\t'search-console'\n\t\t),\n\t\tlink: 'https://systeme.io/?sa=sa0181820865b77bd583c54e7e7668a6a77e78f1c7',\n\t\tisLink: true,\n\t},\n\t{\n\t\tname: 'Formello',\n\t\tad: __(\n\t\t\t'Lightweight Gutenberg contact form builder, blazingly fast with no external dependencies and ReCaptcha support.',\n\t\t\t'search-console'\n\t\t),\n\t\tslug: 'formello',\n\t},\n\t{\n\t\tname: 'Popper',\n\t\tad: __(\n\t\t\t'Do you need a POPUP plugin? Check Popper a Popup builder with exit-intent powered by Gutenberg.',\n\t\t\t'search-console'\n\t\t),\n\t\tslug: 'popper',\n\t},\n\t{\n\t\tname: 'Pdf Embed',\n\t\tad: __(\n\t\t\t'A Gutenberg block to embed your PDF with official Adobe API.',\n\t\t\t'search-console'\n\t\t),\n\t\tslug: 'pdf-embed',\n\t},\n];\n\nconst SlideShow = ( { plugins, direction, noSlide } ) => {\n\tconst [ currentIndex, setCurrentIndex ] = useState( 0 );\n\tconst [ slides, setSlides ] = useState( [] );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\tuseEffect( () => {\n\t\tinit();\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( noSlide ) {\n\t\t\treturn;\n\t\t}\n\t\tconst timer = setInterval( () => {\n\t\t\tgoToNextSlide();\n\t\t}, 5000 ); // Change slide every 5 seconds\n\n\t\treturn () => clearInterval( timer );\n\t} );\n\n\tconst init = () => {\n\t\tconst match = myAds.filter( ( ad ) => {\n\t\t\treturn plugins?.find( ( p ) => p.name === ad.name ) ? false : true;\n\t\t} );\n\t\tsetSlides( match );\n\t};\n\n\tconst installPlugin = ( slug ) => {\n\t\tsaveEntityRecord( 'root', 'plugin', {\n\t\t\tslug,\n\t\t\tstatus: 'active',\n\t\t} );\n\t};\n\n\tconst goToNextSlide = () => {\n\t\tif ( slides.length > 1 ) {\n\t\t\tconst nextIndex = ( currentIndex + 1 ) % slides.length;\n\t\t\tsetCurrentIndex( nextIndex );\n\t\t}\n\t};\n\n\tconst setMargin = ( index ) => {\n\t\tif ( 0 === index ) {\n\t\t\tconst margin =\n\t\t\t\tcurrentIndex > 0\n\t\t\t\t\t? '-' + ( 100 / slides.length ) * currentIndex + '%'\n\t\t\t\t\t: 0;\n\t\t\treturn margin;\n\t\t}\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"slideshow-container\"\n\t\t\tstyle={ {\n\t\t\t\twidth: `calc( 100% * ${ slides.length })`,\n\t\t\t} }\n\t\t>\n\t\t\t{ slides.map( ( plugin, index ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\tclassName={ `slide ${\n\t\t\t\t\t\t\tindex === currentIndex ? 'active' : ''\n\t\t\t\t\t\t}` }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\twidth: `calc( 100% / ${ slides.length })`,\n\t\t\t\t\t\t\tmarginLeft: setMargin( index ),\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack justify=\"flex-start\" direction={ direction }>\n\t\t\t\t\t\t\t<span>{ plugin.ad }</span>\n\t\t\t\t\t\t\t{ plugin.isLink ? (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t\t\t\t\t'Get FREE offer!',\n\t\t\t\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\thref={ plugin.link }\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\ticon=\"megaphone\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\ttext={ __( 'Install', 'search-console' ) }\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tinstallPlugin( plugin.slug )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</div>\n\t);\n};\n\nexport default SlideShow;\n","export default {\n\twidth: '100%',\n\theight: '400',\n\tcolors: [ '#4285f4', '#5e35b1', '#00897b', '#E8710A' ],\n\tanimation: {\n\t\tduration: 1000,\n\t\teasing: 'out',\n\t\tstartup: true,\n\t},\n\tfocusTarget: 'category',\n\tchartArea: {\n\t\t// leave room for y-axis labels\n\t\twidth: '100%',\n\t\theight: '80%',\n\t},\n\thAxis: {\n\t\tgridlines: {\n\t\t\tcount: 0,\n\t\t\tminSpacing: 150,\n\t\t},\n\t\tminorGridlines: { count: 0 },\n\t\tshowTextEvery: 1,\n\t\tformat: 'MMM dd',\n\t},\n\tvAxis: {\n\t\tgridlines: {\n\t\t\tcount: 0,\n\t\t\tminSpacing: 100,\n\t\t},\n\t\tminorGridlines: { count: 1 },\n\t\tshowTextEvery: 2,\n\t},\n\tvAxes: {\n\t\t0: { title: 'clicks' },\n\t\t1: { title: 'impressions' },\n\t\t2: {\n\t\t\tformat: '#%',\n\t\t\tviewWindow: {\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 1,\n\t\t\t},\n\t\t},\n\t\t3: {\n\t\t\tdirection: -1,\n\t\t\tviewWindow: {\n\t\t\t\tmin: 1,\n\t\t\t},\n\t\t},\n\t},\n\tseries: {\n\t\t0: { type: 'line', targetAxisIndex: 0, tooltip: true }, // Clicks\n\t\t1: { type: 'line', targetAxisIndex: 1, tooltip: true }, // Impressions\n\t\t2: { type: 'line', targetAxisIndex: 2, tooltip: true }, // CTR\n\t\t3: { type: 'line', targetAxisIndex: 3, tooltip: true }, // Positions\n\t},\n};\n","import { Chart } from 'react-google-charts';\nimport Options from './chart-options';\nimport { useState, useEffect, useContext } from '@wordpress/element';\nimport { Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { SettingsContext } from '../../../context/settings-context';\n\nimport LoadingSpinner from '../../loading-spinner.js';\n\nexport function MyChart() {\n\tconst { settings, query, showError } = useContext( SettingsContext );\n\n\tconst [ table, setTable ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( settings.token.access_token ) getData();\n\t}, [ query, settings.token ] );\n\n\tconst getData = () => {\n\t\twindow.gapi?.client?.setToken( settings.token );\n\n\t\twindow.gapi?.client?.webmasters?.searchanalytics\n\t\t\t.query( {\n\t\t\t\t...query,\n\t\t\t\tsiteUrl: settings.site,\n\t\t\t\tdimensions: [ 'date' ],\n\t\t\t\tfields: 'rows',\n\t\t\t} )\n\t\t\t.then( ( response ) => {\n\t\t\t\tconst data = response.result.rows;\n\t\t\t\tconst temp = [];\n\t\t\t\ttemp.push( [\n\t\t\t\t\t__( 'Keys', 'search-console' ),\n\t\t\t\t\t__( 'Clicks', 'search-console' ),\n\t\t\t\t\t__( 'Impressions', 'search-console' ),\n\t\t\t\t\t'CTR',\n\t\t\t\t\t__( 'Position', 'search-console' ),\n\t\t\t\t] );\n\t\t\t\tdata.forEach( ( row ) => {\n\t\t\t\t\ttemp.push( [\n\t\t\t\t\t\twindow.moment( row.keys[ 0 ], 'YYYY-MM-DD' ).toDate(),\n\t\t\t\t\t\tformatData( row.clicks ),\n\t\t\t\t\t\tformatData( row.impressions ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tv: row.ctr,\n\t\t\t\t\t\t\tf: formatData( row.ctr, 'ctr' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tv: row.position,\n\t\t\t\t\t\t\tf: formatData( row.position, 'position' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] );\n\t\t\t\t} );\n\t\t\t\tsetTable( temp );\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tshowError( error );\n\t\t\t} );\n\t};\n\n\tconst formatData = ( val, metric ) => {\n\t\tif ( 'ctr' === metric ) {\n\t\t\treturn ( val * 100 ).toFixed( 2 ) + '%';\n\t\t}\n\t\tif ( 'position' === metric ) {\n\t\t\treturn val.toFixed( 2 );\n\t\t}\n\t\treturn val;\n\t};\n\n\tif ( ! table ) {\n\t\treturn (\n\t\t\t<LoadingSpinner text={ __( 'Fetching data…', 'search-console' ) } />\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className=\"search-console-chart\">\n\t\t\t<Chart\n\t\t\t\tchartType=\"LineChart\"\n\t\t\t\tdata={ table }\n\t\t\t\toptions={ Options }\n\t\t\t\tlegendToggle\n\t\t\t/>\n\t\t</div>\n\t);\n}\n","export default {\n\tabw: 'Aruba',\n\tafg: 'Afghanistan',\n\tago: 'Angola',\n\taia: 'Anguilla',\n\tala: 'Åland Islands',\n\talb: 'Albania',\n\tand: 'Andorra',\n\tare: 'United Arab Emirates (the)',\n\targ: 'Argentina',\n\tarm: 'Armenia',\n\tasm: 'American Samoa',\n\tata: 'Antarctica',\n\tatf: 'French Southern Territories (the)',\n\tatg: 'Antigua and Barbuda',\n\taus: 'Australia',\n\taut: 'Austria',\n\taze: 'Azerbaijan',\n\tbdi: 'Burundi',\n\tbel: 'Belgium',\n\tben: 'Benin',\n\tbes: 'Bonaire, Sint Eustatius and Saba',\n\tbfa: 'Burkina Faso',\n\tbgd: 'Bangladesh',\n\tbgr: 'Bulgaria',\n\tbhr: 'Bahrain',\n\tbhs: 'Bahamas (the)',\n\tbih: 'Bosnia and Herzegovina',\n\tblm: 'Saint Barthélemy',\n\tblr: 'Belarus',\n\tblz: 'Belize',\n\tbmu: 'Bermuda',\n\tbol: 'Bolivia (Plurinational State of)',\n\tbra: 'Brazil',\n\tbrb: 'Barbados',\n\tbrn: 'Brunei Darussalam',\n\tbtn: 'Bhutan',\n\tbvt: 'Bouvet Island',\n\tbwa: 'Botswana',\n\tcaf: 'Central African Republic (the)',\n\tcan: 'Canada',\n\tcck: 'Cocos (Keeling) Islands (the)',\n\tche: 'Switzerland',\n\tchl: 'Chile',\n\tchn: 'China',\n\tciv: \"Côte d'Ivoire\",\n\tcmr: 'Cameroon',\n\tcod: 'Congo (the Democratic Republic of the)',\n\tcog: 'Congo (the)',\n\tcok: 'Cook Islands (the)',\n\tcol: 'Colombia',\n\tcom: 'Comoros (the)',\n\tcpv: 'Cabo Verde',\n\tcri: 'Costa Rica',\n\tcub: 'Cuba',\n\tcuw: 'Curaçao',\n\tcxr: 'Christmas Island',\n\tcym: 'Cayman Islands (the)',\n\tcyp: 'Cyprus',\n\tcze: 'Czechia',\n\tdeu: 'Germany',\n\tdji: 'Djibouti',\n\tdma: 'Dominica',\n\tdnk: 'Denmark',\n\tdom: 'Dominican Republic (the)',\n\tdza: 'Algeria',\n\tecu: 'Ecuador',\n\tegy: 'Egypt',\n\teri: 'Eritrea',\n\tesh: 'Western Sahara*',\n\tesp: 'Spain',\n\test: 'Estonia',\n\teth: 'Ethiopia',\n\tfin: 'Finland',\n\tfji: 'Fiji',\n\tflk: 'Falkland Islands (the) [Malvinas]',\n\tfra: 'France',\n\tfro: 'Faroe Islands (the)',\n\tfsm: 'Micronesia (Federated States of)',\n\tgab: 'Gabon',\n\tgbr: 'United Kingdom of Great Britain and Northern Ireland (the)',\n\tgeo: 'Georgia',\n\tggy: 'Guernsey',\n\tgha: 'Ghana',\n\tgib: 'Gibraltar',\n\tgin: 'Guinea',\n\tglp: 'Guadeloupe',\n\tgmb: 'Gambia (the)',\n\tgnb: 'Guinea-Bissau',\n\tgnq: 'Equatorial Guinea',\n\tgrc: 'Greece',\n\tgrd: 'Grenada',\n\tgrl: 'Greenland',\n\tgtm: 'Guatemala',\n\tguf: 'French Guiana',\n\tgum: 'Guam',\n\tguy: 'Guyana',\n\thkg: 'Hong Kong',\n\thmd: 'Heard Island and McDonald Islands',\n\thnd: 'Honduras',\n\thrv: 'Croatia',\n\thti: 'Haiti',\n\thun: 'Hungary',\n\tidn: 'Indonesia',\n\timn: 'Isle of Man',\n\tind: 'India',\n\tiot: 'British Indian Ocean Territory (the)',\n\tirl: 'Ireland',\n\tirn: 'Iran (Islamic Republic of)',\n\tirq: 'Iraq',\n\tisl: 'Iceland',\n\tisr: 'Israel',\n\tita: 'Italy',\n\tjam: 'Jamaica',\n\tjey: 'Jersey',\n\tjor: 'Jordan',\n\tjpn: 'Japan',\n\tkaz: 'Kazakhstan',\n\tken: 'Kenya',\n\tkgz: 'Kyrgyzstan',\n\tkhm: 'Cambodia',\n\tkir: 'Kiribati',\n\tkna: 'Saint Kitts and Nevis',\n\tkor: 'Korea (the Republic of)',\n\tkwt: 'Kuwait',\n\tlao: \"Lao People's Democratic Republic (the)\",\n\tlbn: 'Lebanon',\n\tlbr: 'Liberia',\n\tlby: 'Libya',\n\tlca: 'Saint Lucia',\n\tlie: 'Liechtenstein',\n\tlka: 'Sri Lanka',\n\tlso: 'Lesotho',\n\tltu: 'Lithuania',\n\tlux: 'Luxembourg',\n\tlva: 'Latvia',\n\tmac: 'Macao',\n\tmaf: 'Saint Martin (French part)',\n\tmar: 'Morocco',\n\tmco: 'Monaco',\n\tmda: 'Moldova (the Republic of)',\n\tmdg: 'Madagascar',\n\tmdv: 'Maldives',\n\tmex: 'Mexico',\n\tmhl: 'Marshall Islands (the)',\n\tmkd: 'Macedonia (the former Yugoslav Republic of)',\n\tmli: 'Mali',\n\tmlt: 'Malta',\n\tmmr: 'Myanmar',\n\tmne: 'Montenegro',\n\tmng: 'Mongolia',\n\tmnp: 'Northern Mariana Islands (the)',\n\tmoz: 'Mozambique',\n\tmrt: 'Mauritania',\n\tmsr: 'Montserrat',\n\tmtq: 'Martinique',\n\tmus: 'Mauritius',\n\tmwi: 'Malawi',\n\tmys: 'Malaysia',\n\tmyt: 'Mayotte',\n\tnam: 'Namibia',\n\tncl: 'New Caledonia',\n\tner: 'Niger (the)',\n\tnfk: 'Norfolk Island',\n\tnga: 'Nigeria',\n\tnic: 'Nicaragua',\n\tniu: 'Niue',\n\tnld: 'Netherlands (the)',\n\tnor: 'Norway',\n\tnpl: 'Nepal',\n\tnru: 'Nauru',\n\tnzl: 'New Zealand',\n\tomn: 'Oman',\n\tpak: 'Pakistan',\n\tpan: 'Panama',\n\tpcn: 'Pitcairn',\n\tper: 'Peru',\n\tphl: 'Philippines (the)',\n\tplw: 'Palau',\n\tpng: 'Papua New Guinea',\n\tpol: 'Poland',\n\tpri: 'Puerto Rico',\n\tprk: \"Korea (the Democratic People's Republic of)\",\n\tprt: 'Portugal',\n\tpry: 'Paraguay',\n\tpse: 'Palestine, State of',\n\tpyf: 'French Polynesia',\n\tqat: 'Qatar',\n\treu: 'Réunion',\n\trou: 'Romania',\n\trus: 'Russian Federation (the)',\n\trwa: 'Rwanda',\n\tsau: 'Saudi Arabia',\n\tsdn: 'Sudan (the)',\n\tsen: 'Senegal',\n\tsgp: 'Singapore',\n\tsgs: 'South Georgia and the South Sandwich Islands',\n\tshn: 'Saint Helena, Ascension and Tristan da Cunha',\n\tsjm: 'Svalbard and Jan Mayen',\n\tslb: 'Solomon Islands',\n\tsle: 'Sierra Leone',\n\tslv: 'El Salvador',\n\tsmr: 'San Marino',\n\tsom: 'Somalia',\n\tspm: 'Saint Pierre and Miquelon',\n\tsrb: 'Serbia',\n\tssd: 'South Sudan',\n\tstp: 'Sao Tome and Principe',\n\tsur: 'Suriname',\n\tsvk: 'Slovakia',\n\tsvn: 'Slovenia',\n\tswe: 'Sweden',\n\tswz: 'Swaziland',\n\tsxm: 'Sint Maarten (Dutch part)',\n\tsyc: 'Seychelles',\n\tsyr: 'Syrian Arab Republic',\n\ttca: 'Turks and Caicos Islands (the)',\n\ttcd: 'Chad',\n\ttgo: 'Togo',\n\ttha: 'Thailand',\n\ttjk: 'Tajikistan',\n\ttkl: 'Tokelau',\n\ttkm: 'Turkmenistan',\n\ttls: 'Timor-Leste',\n\tton: 'Tonga',\n\ttto: 'Trinidad and Tobago',\n\ttun: 'Tunisia',\n\ttur: 'Turkey',\n\ttuv: 'Tuvalu',\n\ttwn: 'Taiwan (Province of China)',\n\ttza: 'Tanzania, United Republic of',\n\tuga: 'Uganda',\n\tukr: 'Ukraine',\n\tumi: 'United States Minor Outlying Islands (the)',\n\tury: 'Uruguay',\n\tusa: 'United States of America (the)',\n\tuzb: 'Uzbekistan',\n\tvat: 'Holy See (the)',\n\tvct: 'Saint Vincent and the Grenadines',\n\tven: 'Venezuela (Bolivarian Republic of)',\n\tvgb: 'Virgin Islands (British)',\n\tvir: 'Virgin Islands (U.S.)',\n\tvnm: 'Viet Nam',\n\tvut: 'Vanuatu',\n\twlf: 'Wallis and Futuna',\n\twsm: 'Samoa',\n\tyem: 'Yemen',\n\tzaf: 'South Africa',\n\tzmb: 'Zambia',\n\tzwe: 'Zimbabwe',\n\tzzz: 'Others',\n};\n","import { FormTokenField } from '@wordpress/components';\nimport { Fragment } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\nimport countries from './countries';\n\nexport default function Country( props ) {\n\tconst { filter, handleChange } = props;\n\n\tconst onChange = ( val ) => {\n\t\thandleChange(\n\t\t\tObject.keys( countries )[\n\t\t\t\tObject.values( countries ).indexOf( val )\n\t\t\t]\n\t\t);\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<FormTokenField\n\t\t\t\tvalue={ filter.expression ? [ filter.expression ] : [] }\n\t\t\t\tsuggestions={ Object.values( countries ) }\n\t\t\t\tonChange={ ( tokens ) => onChange( tokens[ 0 ] ) }\n\t\t\t\tlabel={ __( 'Choose a country', 'search-console' ) }\n\t\t\t\tmaxLength=\"1\"\n\t\t\t\t__experimentalShowHowTo={ false }\n\t\t\t/>\n\t\t</Fragment>\n\t);\n}\n","import { RadioControl } from '@wordpress/components';\nimport { Fragment } from '@wordpress/element';\n\nimport { __ } from '@wordpress/i18n';\n\nexport default function Device( props ) {\n\tconst { filter, handleChange } = props;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<RadioControl\n\t\t\t\tselected={ filter?.expression }\n\t\t\t\toptions={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Desktop', 'search-console' ),\n\t\t\t\t\t\tvalue: 'desktop',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Mobile', 'search-console' ),\n\t\t\t\t\t\tvalue: 'mobile',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Tablet', 'search-console' ),\n\t\t\t\t\t\tvalue: 'tablet',\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tonChange={ ( option ) => {\n\t\t\t\t\thandleChange( option );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</Fragment>\n\t);\n}\n","import { SelectControl, TextControl, __experimentalVStack as VStack } from '@wordpress/components';\nimport { Fragment } from '@wordpress/element';\n\nimport { __ } from '@wordpress/i18n';\n\nexport default function Page( props ) {\n\tconst { filter, handleChange } = props;\n\n\treturn (\n\t\t<VStack>\n\t\t\t<SelectControl\n\t\t\t\tselected={ filter?.operator }\n\t\t\t\toptions={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'CONTAINS',\n\t\t\t\t\t\tlabel: __( 'Urls containing', 'search-console' ),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'NOT_CONTAINS',\n\t\t\t\t\t\tlabel: __( 'Urls not containing', 'search-console' ),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'EQUALS',\n\t\t\t\t\t\tlabel: __( 'Exact url', 'search-console' ),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tonChange={ ( option ) => {\n\t\t\t\t\thandleChange( filter?.expression, option );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<TextControl\n\t\t\t\tvalue={ filter?.expression }\n\t\t\t\tplaceholder={ 'https://www.example.com' }\n\t\t\t\tonChange={ ( option ) => {\n\t\t\t\t\thandleChange(\n\t\t\t\t\t\toption,\n\t\t\t\t\t\tfilter?.operator ? filter?.operator : 'CONTAINS'\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t</VStack>\n\t);\n}\n","import { SelectControl, TextControl, __experimentalVStack as VStack } from '@wordpress/components';\nimport { Fragment } from '@wordpress/element';\n\nimport { __ } from '@wordpress/i18n';\n\nexport default function Query( props ) {\n\tconst { filter, handleChange } = props;\n\n\treturn (\n\t\t<VStack>\n\t\t\t<SelectControl\n\t\t\t\tvalue={ filter?.operator }\n\t\t\t\toptions={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'CONTAINS',\n\t\t\t\t\t\tlabel: __( 'Queries containing', 'search-console' ),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'NOT_CONTAINS',\n\t\t\t\t\t\tlabel: __( 'Queries not containing', 'search-console' ),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'EQUALS',\n\t\t\t\t\t\tlabel: __( 'Exact query', 'search-console' ),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tonChange={ ( option ) => {\n\t\t\t\t\thandleChange( filter?.expression, option );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<TextControl\n\t\t\t\tvalue={ filter?.expression || '' }\n\t\t\t\tonChange={ ( option ) => {\n\t\t\t\t\thandleChange(\n\t\t\t\t\t\toption,\n\t\t\t\t\t\tfilter?.operator ? filter?.operator : 'CONTAINS'\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t</VStack>\n\t);\n}\n","import { Button, Dropdown, MenuGroup, MenuItem } from '@wordpress/components';\nimport { Fragment, useState, useContext } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { dateI18n } from '@wordpress/date';\nimport { SettingsContext } from '../../../context/settings-context';\n\nexport default function DateDropdown() {\n\tconst { updateQuery, updateSetting, settings } =\n\t\tuseContext( SettingsContext );\n\n\tconst [ range, setRange ] = useState(\n\t\t__( 'Last 28 days', 'search-console' )\n\t);\n\n\tconst setDate = ( num, period ) => {\n\t\tconst date = moment()\n\t\t\t.subtract( 2, 'days' )\n\t\t\t.subtract( num, period )\n\t\t\t.format( 'YYYY-MM-DD' );\n\t\tsetRange( 'Last ' + num + ' ' + period );\n\t\tupdateSetting( 'customDate', false );\n\t\tupdateQuery( 'startDate', date );\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tclassName=\"my-container-class-name\"\n\t\t\tcontentClassName=\"my-popover-content-classname\"\n\t\t\tplacement=\"bottom right\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t>\n\t\t\t\t\t{ settings.customDate\n\t\t\t\t\t\t? __( 'Custom date', 'search-console' )\n\t\t\t\t\t\t: range }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\trenderContent={ ( { onToggle } ) => (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetDate( 7, 'days' );\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Last 7 days', 'search-console' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetDate( 28, 'days' );\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Last 28 days', 'search-console' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetDate( 1, 'months' );\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Last month', 'search-console' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetDate( 3, 'months' );\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Last 3 months', 'search-console' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetDate( 6, 'months' );\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Last 6 months', 'search-console' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetDate( 12, 'months' );\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Last 12 months', 'search-console' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetDate( 16, 'months' );\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Last 18 months', 'search-console' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tupdateSetting(\n\t\t\t\t\t\t\t\t\t'customDate',\n\t\t\t\t\t\t\t\t\t! settings.customDate\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Custom date', 'search-console' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</Fragment>\n\t\t\t) }\n\t\t/>\n\t);\n}\n","import {\n\tButton,\n\tFlex,\n\tFlexItem,\n\tDatePicker,\n\tDropdown,\n} from '@wordpress/components';\nimport { dateI18n, format } from '@wordpress/date';\nimport DateDropdown from './datedropdown';\nimport { Fragment, useContext } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { SettingsContext } from '../../../context/settings-context';\n\nexport function DateSelect() {\n\tconst { query, updateQuery, settings } = useContext( SettingsContext );\n\n\treturn (\n\t\t<Flex>\n\t\t\t{ settings.customDate && (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<b>From:</b>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tpopoverProps={ { placement: 'bottom-start' } }\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ query.startDate\n\t\t\t\t\t\t\t\t\t\t? format( 'F j, Y', query.startDate )\n\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Click here to set start date.',\n\t\t\t\t\t\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t\t\t\t\t  ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\t\t__nextRemoveHelpButton\n\t\t\t\t\t\t\t\t\tcurrentDate={ query.startDate }\n\t\t\t\t\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\t\t\t\t\tupdateQuery(\n\t\t\t\t\t\t\t\t\t\t\t'startDate',\n\t\t\t\t\t\t\t\t\t\t\tdateI18n( 'Y-m-d', val )\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tisInvalidDate={ ( val ) => {\n\t\t\t\t\t\t\t\t\t\tif ( query.endDate ) {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\tnew Date( val ) >\n\t\t\t\t\t\t\t\t\t\t\t\tnew Date( query.endDate )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<b>To:</b>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tpopoverProps={ { placement: 'bottom-start' } }\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ query.endDate\n\t\t\t\t\t\t\t\t\t\t? format( 'F j, Y', query.endDate )\n\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Click here to set end date.',\n\t\t\t\t\t\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t\t\t\t\t  ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\t\t__nextRemoveHelpButton\n\t\t\t\t\t\t\t\t\tcurrentDate={ query.endDate }\n\t\t\t\t\t\t\t\t\tonChange={ ( val ) =>\n\t\t\t\t\t\t\t\t\t\tupdateQuery(\n\t\t\t\t\t\t\t\t\t\t\t'endDate',\n\t\t\t\t\t\t\t\t\t\t\tdateI18n( 'Y-m-d', val )\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisInvalidDate={ ( val ) =>\n\t\t\t\t\t\t\t\t\t\tnew Date( val ) <\n\t\t\t\t\t\t\t\t\t\t\tnew Date( query.startDate ) ||\n\t\t\t\t\t\t\t\t\t\tnew Date( val ) > new Date()\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Fragment>\n\t\t\t) }\n\t\t\t<FlexItem>\n\t\t\t\t<DateDropdown />\n\t\t\t</FlexItem>\n\t\t</Flex>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { useContext } from '@wordpress/element';\nimport { Button } from '@wordpress/components';\nimport { SettingsContext } from '../../../context/settings-context';\n\nexport default function Dimensions() {\n\tconst { updateQuery, query } = useContext( SettingsContext );\n\n\tconst onSelect = ( dimension ) => {\n\t\tupdateQuery( 'dimensions', [ dimension ] );\n\t};\n\n\treturn (\n\t\t<div className=\"search-console-dimensions\">\n\t\t\t<Button\n\t\t\t\tclassName={\n\t\t\t\t\tquery.dimensions.includes( 'query' ) ? 'is-selected' : ''\n\t\t\t\t}\n\t\t\t\tonClick={ () => onSelect( 'query' ) }\n\t\t\t>\n\t\t\t\t{ __( 'Query', 'search-console' ) }\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tclassName={\n\t\t\t\t\tquery.dimensions.includes( 'page' ) ? 'is-selected' : ''\n\t\t\t\t}\n\t\t\t\tonClick={ () => onSelect( 'page' ) }\n\t\t\t>\n\t\t\t\t{ __( 'Pages', 'search-console' ) }\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tclassName={\n\t\t\t\t\tquery.dimensions.includes( 'country' ) ? 'is-selected' : ''\n\t\t\t\t}\n\t\t\t\tonClick={ () => onSelect( 'country' ) }\n\t\t\t>\n\t\t\t\t{ __( 'Countries', 'search-console' ) }\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tclassName={\n\t\t\t\t\tquery.dimensions.includes( 'device' ) ? 'is-selected' : ''\n\t\t\t\t}\n\t\t\t\tonClick={ () => onSelect( 'device' ) }\n\t\t\t>\n\t\t\t\t{ __( 'Devices', 'search-console' ) }\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n","import {\n\tButton,\n\tDropdown,\n\tMenuItem,\n\tMenuGroup,\n\tIcon,\n} from '@wordpress/components';\n\nimport { __ } from '@wordpress/i18n';\nimport { closeSmall, plus } from '@wordpress/icons';\n\nimport { useState, Fragment, useContext } from '@wordpress/element';\n\nimport { MyModal } from './modals';\nimport { DateSelect } from './dateselect';\nimport { SettingsContext } from '../../../context/settings-context';\n\nconst ENTER = 'Enter';\nconst SPACE = ' ';\n\nexport function Filters() {\n\tconst [ showModal, setShowModal ] = useState( false );\n\tconst { query, updateQuery } = useContext( SettingsContext );\n\n\tconst onRequestClose = () => {\n\t\tsetShowModal( false );\n\t};\n\n\tconst remove = ( filter ) => {\n\t\tconst filters = query.dimensionFilterGroups.map( ( dimension ) => {\n\t\t\treturn dimension.filters;\n\t\t} );\n\n\t\tconst replaced = [\n\t\t\t...filters[ 0 ].filter( ( i ) => i.dimension !== filter.dimension ),\n\t\t];\n\t\tif ( replaced.length ) {\n\t\t\tupdateQuery( 'dimensionFilterGroups', [ { filters: replaced } ] );\n\t\t} else {\n\t\t\tupdateQuery( 'dimensionFilterGroups', [] );\n\t\t}\n\t};\n\n\tconst setType = ( type ) => {\n\t\tupdateQuery( 'type', type );\n\t};\n\n\tconst getSign = ( filter ) => {\n\t\tif ( ! filter.operator ) {\n\t\t\treturn '';\n\t\t}\n\t\t// eslint-disable-next-line no-nested-ternary\n\t\treturn 'EQUALS' === filter.operator\n\t\t\t? ''\n\t\t\t: 'CONTAINS' === filter.operator\n\t\t\t? '+'\n\t\t\t: '-';\n\t};\n\n\tconst filters = query.dimensionFilterGroups.map( ( f ) => f.filters );\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div className=\"search-console-filters\">\n\t\t\t\t<div className={ 'search-console-filters-options' }>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ { placement: 'bottom-start' } }\n\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Search type: ', 'search-console' ) +\n\t\t\t\t\t\t\t\t\tquery.type }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\trenderContent={ ( { onToggle } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetType( 'web' );\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Web', 'search-console' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetType( 'image' );\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Image', 'search-console' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetType( 'video' );\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Video', 'search-console' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetType( 'news' );\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'News', 'search-console' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tclassName=\"my-container-class-name\"\n\t\t\t\t\t\tcontentClassName=\"my-popover-content-classname\"\n\t\t\t\t\t\tplacement=\"bottom right\"\n\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\t\ticonPosition={ 'right' }\n\t\t\t\t\t\t\t\ttext={ __( 'New', 'search-console' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\trenderContent={ ( { onToggle } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetShowModal( {\n\t\t\t\t\t\t\t\t\t\t\tdimension: 'query',\n\t\t\t\t\t\t\t\t\t\t\texpression: '',\n\t\t\t\t\t\t\t\t\t\t\toperator: '',\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Query', 'search-console' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetShowModal( {\n\t\t\t\t\t\t\t\t\t\t\tdimension: 'page',\n\t\t\t\t\t\t\t\t\t\t\texpression: '',\n\t\t\t\t\t\t\t\t\t\t\toperator: '',\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Page', 'search-console' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetShowModal( {\n\t\t\t\t\t\t\t\t\t\t\tdimension: 'country',\n\t\t\t\t\t\t\t\t\t\t\texpression: '',\n\t\t\t\t\t\t\t\t\t\t\toperator: '',\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Country', 'search-console' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetShowModal( {\n\t\t\t\t\t\t\t\t\t\t\tdimension: 'device',\n\t\t\t\t\t\t\t\t\t\t\texpression: '',\n\t\t\t\t\t\t\t\t\t\t\toperator: '',\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Device', 'search-console' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ filters.map( ( filter ) => {\n\t\t\t\t\t\treturn filter.map( ( f, i ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t'dataviews-filter-summary__chip-container'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filter-summary__chip has-reset\"\n\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\t\t\taria-pressed=\"false\"\n\t\t\t\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t\t\t\t\tonClick={ () => setShowModal( f ) }\n\t\t\t\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t[ ENTER, SPACE ].includes(\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent.key\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\tsetShowModal( f );\n\t\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ f.dimension +\n\t\t\t\t\t\t\t\t\t\t\t': ' +\n\t\t\t\t\t\t\t\t\t\t\tgetSign( f ) +\n\t\t\t\t\t\t\t\t\t\t\tf.expression }\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\t'dataviews-filter-summary__chip-remove has-values'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\tremove( f );\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ closeSmall } />\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ) }\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<DateSelect query={ query } />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{ showModal && (\n\t\t\t\t<MyModal\n\t\t\t\t\tonRequestClose={ onRequestClose }\n\t\t\t\t\tmodal={ showModal }\n\t\t\t\t\ttitle={ showModal.dimension }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Fragment>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { useState, useContext, useEffect, useMemo } from '@wordpress/element';\nimport { DataViews } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport Dimensions from './dimensions';\nimport Countries from '../modals/countries';\nimport { SettingsContext } from '../../../context/settings-context';\n\nexport function Table() {\n\tconst { settings, query, showError } = useContext( SettingsContext );\n\n\tconst [ data, setData ] = useState( [] );\n\tconst [ view, setView ] = useState( {\n\t\ttype: 'table',\n\t\tperPage: 10,\n\t\tpage: 1,\n\t\tsort: {},\n\t\tsearch: '',\n\t\tfilters: [],\n\t\thiddenFields: [],\n\t\tlayout: {},\n\t} );\n\n\tuseEffect( () => {\n\t\tgetData();\n\t}, [ query, settings.token ] );\n\n\tuseEffect( () => {\n\t\tfilterData();\n\t}, [ view.sort ] );\n\n\tconst getData = () => {\n\t\twindow.gapi.client.setToken( settings.token );\n\n\t\twindow.gapi?.client?.webmasters.searchanalytics\n\t\t\t.query( {\n\t\t\t\t...query,\n\t\t\t\tsiteUrl: settings.site,\n\t\t\t} )\n\t\t\t.then( ( response ) => {\n\t\t\t\tif ( ! response.result.rows ) {\n\t\t\t\t\tsetData( [] );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tsetData( normalizeData( response.result.rows ) );\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tshowError( error );\n\t\t\t} );\n\t};\n\n\tconst paginateArray = ( array ) => {\n\t\tconst page = array.slice(\n\t\t\t( view.page - 1 ) * view.perPage,\n\t\t\tview.page * view.perPage\n\t\t);\n\t\treturn page;\n\t};\n\n\tconst filterData = () => {\n\t\tif ( 'keys' === view.sort.field ) {\n\t\t\tsortKeys();\n\t\t} else {\n\t\t\tsortData();\n\t\t}\n\t};\n\n\tconst sortKeys = () => {\n\t\tif ( 'desc' === view.sort.direction ) {\n\t\t\tdata.sort( ( a, b ) => b.keys.localeCompare( a.keys ) );\n\t\t} else {\n\t\t\tdata.sort( ( a, b ) => a.keys.localeCompare( b.keys ) );\n\t\t}\n\t};\n\n\tconst sortData = () => {\n\t\tif ( 'desc' === view.sort.direction ) {\n\t\t\tdata.sort(\n\t\t\t\t( a, b ) => a[ view.sort.field ] - b[ view.sort.field ]\n\t\t\t);\n\t\t} else {\n\t\t\tdata.sort(\n\t\t\t\t( a, b ) => b[ view.sort.field ] - a[ view.sort.field ]\n\t\t\t);\n\t\t}\n\t};\n\n\tconst normalizeData = ( array ) => {\n\t\treturn array.map( ( item ) => {\n\t\t\treturn { ...item, keys: item.keys[ 0 ] };\n\t\t} );\n\t};\n\n\tconst fields = [\n\t\t{\n\t\t\tid: 'keys',\n\t\t\theader: 'Query',\n\t\t\tenableHiding: false,\n\t\t\trender: ( { item } ) => {\n\t\t\t\tif ( query.dimensions.includes( 'country' ) ) {\n\t\t\t\t\treturn Countries[ item.keys ];\n\t\t\t\t}\n\t\t\t\treturn item.keys;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'clicks',\n\t\t\theader: 'Clicks',\n\t\t\tenableHiding: false,\n\t\t\trender: ( { item } ) => {\n\t\t\t\treturn item.clicks;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'ctr',\n\t\t\theader: 'CTR',\n\t\t\trender: ( { item } ) => {\n\t\t\t\treturn ( item.ctr * 100 ).toFixed( 2 ) + '%';\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'impressions',\n\t\t\theader: 'Impressions',\n\t\t\trender: ( { item } ) => {\n\t\t\t\treturn item.impressions;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'position',\n\t\t\theader: 'Position',\n\t\t\trender: ( { item } ) => {\n\t\t\t\treturn Math.round( item.position * 100 ) / 100;\n\t\t\t},\n\t\t},\n\t];\n\n\tconst paginationInfo = useMemo(\n\t\t() => ( {\n\t\t\ttotalItems: data.length,\n\t\t\ttotalPages: Math.ceil( data.length / view.perPage ),\n\t\t} ),\n\t\t[ data, view.perPage ]\n\t);\n\n\treturn (\n\t\t<div className=\"search-console-table-wrapper\">\n\t\t\t<div className=\"search-console-table-bar\">\n\t\t\t\t<Dimensions />\n\t\t\t</div>\n\t\t\t<DataViews\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tdata={ paginateArray( data ) }\n\t\t\t\tfields={ fields }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ setView }\n\t\t\t\tgetItemId={ ( item ) => item.keys }\n\t\t\t\tsupportedLayouts={ [ 'table' ] }\n\t\t\t\tsearch={ false }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { useState, useContext } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tModal,\n\tFlex,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport Device from '../modals/device';\nimport Country from '../modals/country';\nimport Page from '../modals/page';\nimport Query from '../modals/query';\nimport { SettingsContext } from '../../../context/settings-context';\n\nexport function MyModal( props ) {\n\tconst { onRequestClose, modal, title } = props;\n\tconst { query, updateQuery } = useContext( SettingsContext );\n\n\tconst [ filter, setFilter ] = useState( modal );\n\n\tconst [ searchType, setSearchType ] = useState( query.searchType );\n\n\tconst handleChange = ( expression, operator ) => {\n\t\tif ( 'searchType' === modal.dimension ) {\n\t\t\tsetSearchType( expression );\n\t\t} else {\n\t\t\tsetFilter( {\n\t\t\t\tdimension: modal.dimension,\n\t\t\t\texpression,\n\t\t\t\toperator,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst saveChange = () => {\n\t\tif ( 'searchType' === modal.dimension ) {\n\t\t\tupdateQuery( 'searchType', searchType );\n\t\t} else {\n\t\t\tconst dimensions = [ ...query.dimensionFilterGroups ];\n\n\t\t\tconst filtersArr = dimensions.map( ( dimension ) => {\n\t\t\t\treturn dimension.filters;\n\t\t\t} );\n\n\t\t\tlet filters = filtersArr.shift() || [];\n\n\t\t\tif ( ! filters.length ) {\n\t\t\t\tfilters.push( filter );\n\t\t\t} else {\n\t\t\t\tconst match = filters.find(\n\t\t\t\t\t( f ) => f.dimension === filter.dimension\n\t\t\t\t);\n\t\t\t\t// if not found we push\n\t\t\t\tif ( ! match ) {\n\t\t\t\t\tfilters.push( filter );\n\t\t\t\t}\n\t\t\t\tif ( match ) {\n\t\t\t\t\tfilters = filters.map( ( item ) =>\n\t\t\t\t\t\titem.dimension === filter.dimension ? filter : item\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tupdateQuery( 'dimensionFilterGroups', [ { filters } ] );\n\t\t}\n\t\tonRequestClose();\n\t};\n\n\tconst modals = {\n\t\tdevice: Device,\n\t\tcountry: Country,\n\t\tpage: Page,\n\t\tquery: Query,\n\t};\n\n\tconst ModalFilter = modals[ modal.dimension ];\n\n\treturn (\n\t\t<Modal title={ title } onRequestClose={ onRequestClose }>\n\t\t\t<VStack>\n\t\t\t\t<div className={ 'search-console-modal-container' }>\n\t\t\t\t\t<ModalFilter\n\t\t\t\t\t\thandleChange={ handleChange }\n\t\t\t\t\t\tsearchType={ searchType }\n\t\t\t\t\t\tfilter={ filter }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<Flex>\n\t\t\t\t\t<Button isDestructive={ true } onClick={ onRequestClose }>\n\t\t\t\t\t\t{ __( 'Cancel', 'search-console' ) }\n\t\t\t\t\t</Button>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ saveChange }\n\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t'searchType' === modal.dimension\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: ! filter?.expression\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Save', 'search-console' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Flex>\n\t\t\t</VStack>\n\t\t</Modal>\n\t);\n}\n","import { Spinner } from '@wordpress/components';\n\nexport default function LoadingSpinner( { text } ) {\n\treturn (\n\t\t<div className=\"loading-settings\">\n\t\t\t<Spinner />\n\t\t\t<span className=\"description\">{ text }</span>\n\t\t</div>\n\t);\n}\n","import { TextControl, Card, CardBody, CardHeader } from '@wordpress/components';\n\nimport { __, sprintf } from '@wordpress/i18n';\nimport { RawHTML, useContext } from '@wordpress/element';\nimport { SettingsContext } from '../../context/settings-context';\n\nconst Credentials = () => {\n\tconst { settings, updateSetting } = useContext( SettingsContext );\n\n\tfunction setCredentials( key, val ) {\n\t\tconst credentials = Object.assign( {}, settings.credentials );\n\t\tcredentials[ key ] = val;\n\n\t\tupdateSetting( 'credentials', credentials );\n\t}\n\n\tconst authUrl = sprintf(\n\t\t'https://developers.google.com/web/site-kit?sitename=%1$s&siteurl=%2$s',\n\t\tsettings.title,\n\t\tsettings.wp_url\n\t);\n\n\treturn (\n\t\t<Card>\n\t\t\t<CardHeader>\n\t\t\t\t<b>{ __( 'Google Credentials', 'search-console' ) }</b>\n\t\t\t</CardHeader>\n\n\t\t\t<CardBody>\n\t\t\t\t<RawHTML>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: Developer console url. */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'<p>You need to create a <a target=\"_blank\" href=\"%1$s\">Google Developer Console</a> account before proceeding to authorization.</p>' +\n\t\t\t\t\t\t\t\t'<p>Create a project from Google Developers Console if none exists.</p>' +\n\t\t\t\t\t\t\t\t'<p>Go to Credentials tab, then create credential for OAuth client.</p>' +\n\t\t\t\t\t\t\t\t'Application type will be Web Application. Add <code>%2$s</code> in Authorized redirect URIs. This will give you Client ID and Client Secret key.<p>',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t`https://console.developers.google.com/`,\n\t\t\t\t\t\tsettings.wp_url\n\t\t\t\t\t) }\n\t\t\t\t</RawHTML>\n\n\t\t\t\t<RawHTML>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: Google Site Kit url. */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'<p><b>Tip</b>: the simplest way to get your own credentials is to go to <a target=\"_blank\" href=\"%s\">Google Site Kit</a> site and follow step. Don\\'t forget to add your site url as authorized Javascript origin.</p>',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tauthUrl\n\t\t\t\t\t) }\n\t\t\t\t</RawHTML>\n\n\t\t\t\t<TextControl\n\t\t\t\t\tplaceholder={ 'CLIENT ID' }\n\t\t\t\t\tvalue={ settings?.credentials?.client_id ?? '' }\n\t\t\t\t\tlabel={ __( 'Client ID', 'search-console' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Please go to Developer Console to obtain your credentials.',\n\t\t\t\t\t\t'search-console'\n\t\t\t\t\t) }\n\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\tsetCredentials( 'client_id', val );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tplaceholder={ 'CLIENT SECRET' }\n\t\t\t\t\tvalue={ settings?.credentials?.client_secret ?? '' }\n\t\t\t\t\tlabel={ __( 'Client secret', 'search-console' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Please go to Developer Console to obtain your credentials.',\n\t\t\t\t\t\t'search-console'\n\t\t\t\t\t) }\n\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\tsetCredentials( 'client_secret', val );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</CardBody>\n\t\t</Card>\n\t);\n};\n\nexport default Credentials;\n","import { Notice, Card, CardBody, CardHeader } from '@wordpress/components';\n\nimport { __ } from '@wordpress/i18n';\n\nimport { useContext } from '@wordpress/element';\nimport { SettingsContext } from '../../context/settings-context';\n\nimport GoogleOauthButton from './oauth-button';\nimport { GoogleOAuthProvider } from '@react-oauth/google';\n\nconst GoogleOAuth = ( props ) => {\n\tconst { settings } = useContext( SettingsContext );\n\n\treturn (\n\t\t<Card>\n\t\t\t<CardHeader>\n\t\t\t\t<b>{ __( 'Google Oauth', 'search-console' ) }</b>\n\t\t\t</CardHeader>\n\n\t\t\t<CardBody>\n\t\t\t\t{ ( ! settings?.credentials?.client_id?.length ||\n\t\t\t\t\t! settings?.credentials?.client_secret?.length ) && (\n\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'You must insert a Client Id and a Client secret to correctly request your authentication token.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Notice>\n\t\t\t\t) }\n\t\t\t\t{ settings?.credentials?.client_id &&\n\t\t\t\t\tsettings?.credentials?.client_secret && (\n\t\t\t\t\t\t<GoogleOAuthProvider\n\t\t\t\t\t\t\tclientId={ settings?.credentials?.client_id }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<GoogleOauthButton { ...props } />\n\t\t\t\t\t\t</GoogleOAuthProvider>\n\t\t\t\t\t) }\n\t\t\t</CardBody>\n\t\t</Card>\n\t);\n};\n\nexport default GoogleOAuth;\n","import {\n\tCard,\n\tCardHeader,\n\tCardBody,\n\tExternalLink,\n\tButton,\n} from '@wordpress/components';\nimport Ads from '../ads';\n\nimport { __ } from '@wordpress/i18n';\n\nexport default function Help() {\n\treturn (\n\t\t<>\n\t\t\t\t<Ads direction=\"column\" />\n\t\t\t<Card>\n\t\t\t\t<CardHeader>\n\t\t\t\t\t<b>{ __( 'Need help?', 'search-console' ) }</b>\n\t\t\t\t</CardHeader>\n\n\t\t\t\t<CardBody>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Detailed documentation is available on the plugin website.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t<ExternalLink href=\"https://www.francescopepe.com/docs/search-console\">\n\t\t\t\t\t\t{ __( 'Documentation', 'search-console' ) }\n\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'We would love to help you out if you need any help.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t<ExternalLink href=\"https://wordpress.org/support/plugin/search-console/\">\n\t\t\t\t\t\t{ __( 'Ask a question', 'search-console' ) }\n\t\t\t\t\t</ExternalLink>\n\t\t\t\t</CardBody>\n\t\t\t</Card>\n\t\t\t<Card className=\"ads-container__reviews\">\n\t\t\t\t<CardHeader>\n\t\t\t\t\t<b>{ __( 'Do you like the plugin?', 'search-console' ) }</b>\n\t\t\t\t</CardHeader>\n\n\t\t\t\t<CardBody>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'If you like search-console plugin you can share a review to help us and spread some love!',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<ExternalLink href=\"https://wordpress.org/support/plugin/search-console/reviews/#new-post\">\n\t\t\t\t\t\t{ __( 'Rate 5 stars!', 'search-console' ) }\n\t\t\t\t\t</ExternalLink>\n\t\t\t\t</CardBody>\n\t\t\t</Card>\n\t\t</>\n\t);\n}\n","import { Button, Notice } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { Fragment, useState, useContext } from '@wordpress/element';\nimport apiFetch from '@wordpress/api-fetch';\nimport { SettingsContext } from '../../context/settings-context';\nimport { hasGrantedAnyScopeGoogle, useGoogleLogin } from '@react-oauth/google';\n\nconst GoogleOauthButton = () => {\n\tconst { updateSetting, settings, revokeToken } =\n\t\tuseContext( SettingsContext );\n\n\tconst [ message, setMessage ] = useState( false );\n\n\tconst googleLogin = useGoogleLogin( {\n\t\tflow: 'auth-code',\n\t\tonSuccess: async ( { code } ) => {\n\t\t\tgetToken( code );\n\t\t},\n\t\tscope: 'https://www.googleapis.com/auth/webmasters.readonly https://www.googleapis.com/auth/siteverification email',\n\t} );\n\n\tconst hasAccess = hasGrantedAnyScopeGoogle(\n\t\twindow.search_console.token,\n\t\t'https://www.googleapis.com/auth/webmasters.readonly'\n\t);\n\n\tconst getToken = ( code ) => {\n\t\tapiFetch( {\n\t\t\tpath: '/searchconsole/v1/credentials',\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\tcode,\n\t\t\t},\n\t\t} )\n\t\t\t.then( ( result ) => {\n\t\t\t\tupdateSetting( 'token', result );\n\t\t\t\tsetMessage( {\n\t\t\t\t\tstatus: 'success',\n\t\t\t\t\ttext: __( \"You're logged in\", 'search-console' ),\n\t\t\t\t} );\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tsetMessage( {\n\t\t\t\t\tstatus: 'error',\n\t\t\t\t\ttext: error.message,\n\t\t\t\t} );\n\t\t\t} )\n\t\t\t.finally( () => console.log( 'Success' ) );\n\t};\n\n\tconst getEmail = () => {\n\t\tif ( settings.token.id_token ) {\n\t\t\treturn JSON.parse(\n\t\t\t\tatob( settings.token.id_token.split( '.' )[ 1 ] )\n\t\t\t).email;\n\t\t}\n\t\treturn null;\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => googleLogin() }\n\t\t\t\ticon={ 'google' }\n\t\t\t>\n\t\t\t\t{ getEmail() || __( 'Login with Google', 'search-console' ) }\n\t\t\t</Button>\n\t\t\t{ settings.token.id_token && (\n\t\t\t\t<p>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttext={ __( 'Revoke token', 'search-console' ) }\n\t\t\t\t\t\tonClick={ () => revokeToken() }\n\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\tisSmall\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t{ message && (\n\t\t\t\t<Notice status={ message.status } isDismissible={ false }>\n\t\t\t\t\t{ message.text }\n\t\t\t\t</Notice>\n\t\t\t) }\n\t\t</Fragment>\n\t);\n};\n\nexport default GoogleOauthButton;\n","import { useSelect } from '@wordpress/data';\nimport { ToggleControl } from '@wordpress/components';\nimport { Fragment, useContext } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { SettingsContext } from '../../context/settings-context';\n\nexport default function PostTypeSelection() {\n\tconst { settings, updateSetting, saveSettings } =\n\t\tuseContext( SettingsContext );\n\n\t// useSelect to retrieve all post types\n\tconst postTypes = useSelect(\n\t\t( select ) => select( coreStore ).getPostTypes( { per_page: -1 } ),\n\t\t[]\n\t);\n\n\tconst addPostType = ( val ) => {\n\t\tupdateSetting( 'postTypes', [ ...settings.postTypes, val ] );\n\t\tsaveSettings();\n\t};\n\n\tconst removePostType = ( val ) => {\n\t\tconst filteredArray = settings.postTypes.filter(\n\t\t\t( item ) => item !== val\n\t\t);\n\t\tupdateSetting( 'postTypes', filteredArray );\n\t\tsaveSettings();\n\t};\n\n\t// Options expects [{label: ..., value: ...}]\n\tconst postTypeOptions = ! Array.isArray( postTypes )\n\t\t? postTypes\n\t\t: postTypes\n\t\t\t\t.filter(\n\t\t\t\t\t// Filter out internal WP post types eg: wp_block, wp_navigation, wp_template, wp_template_part..\n\t\t\t\t\t( postType ) => postType.viewable\n\t\t\t\t)\n\t\t\t\t.map(\n\t\t\t\t\t// Format the options for display in the <SelectControl/>\n\t\t\t\t\t( postType ) => ( {\n\t\t\t\t\t\tlabel: postType.labels.singular_name,\n\t\t\t\t\t\tvalue: postType.slug, // the value saved as postType in attributes\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Choose on which post type you want see Search Console data.',\n\t\t\t\t\t'search-console'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t{ postTypeOptions &&\n\t\t\t\tpostTypeOptions.map( ( postType, i ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tlabel={ postType.label }\n\t\t\t\t\t\t\tchecked={ settings.postTypes.includes(\n\t\t\t\t\t\t\t\tpostType.value\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\t\t\t\taddPostType( postType.value );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tremovePostType( postType.value );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t</Fragment>\n\t);\n}\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Animate, Button, Flex } from '@wordpress/components';\nimport { useState, useContext } from '@wordpress/element';\n\nimport { cloud, Icon } from '@wordpress/icons';\nimport { SettingsContext } from '../../context/settings-context';\n\nexport default function SaveButton() {\n\tconst [ status ] = useState( 'saved' );\n\n\tconst { isSaving, saveSettings, hasEdits } = useContext( SettingsContext );\n\n\treturn (\n\t\t<>\n\t\t\t<Flex justify=\"flex-start\">\n\t\t\t\t<Button\n\t\t\t\t\tclassName={ 'save-settings__save-button' }\n\t\t\t\t\tonClick={ () => saveSettings() }\n\t\t\t\t\tdisabled={ isSaving || ! hasEdits }\n\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Save', 'search-console' ) }\n\t\t\t\t</Button>\n\t\t\t\t{ [\n\t\t\t\t\tisSaving && (\n\t\t\t\t\t\t<Animate type=\"loading\" key=\"saving\">\n\t\t\t\t\t\t\t{ ( { className: animateClassName } ) => (\n\t\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'message',\n\t\t\t\t\t\t\t\t\t\tanimateClassName\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tgap={ 1 }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Icon icon={ cloud } />\n\t\t\t\t\t\t\t\t\t{ __( 'Saving', 'block-visibility' ) }\n\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Animate>\n\t\t\t\t\t),\n\t\t\t\t\tstatus === 'error' && (\n\t\t\t\t\t\t<span className=\"message update-failed\" key=\"error\">\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Update failed. Try again or get in touch with support.',\n\t\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t),\n\t\t\t\t] }\n\t\t\t</Flex>\n\t\t</>\n\t);\n}\n","import {\n\tCard,\n\tCardBody,\n\tCardHeader,\n\tSelectControl,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useContext, useEffect, useState } from '@wordpress/element';\nimport Verification from './verification';\nimport PostTypeSelection from './post-type-selection';\nimport { SettingsContext } from '../../context/settings-context';\n\nconst SiteSelect = ( props ) => {\n\tconst { settings, updateSetting, refreshToken, saveSettings } =\n\t\tuseContext( SettingsContext );\n\tconst [ sites, setSites ] = useState( null );\n\n\tuseEffect( () => {\n\t\tif ( settings.token.access_token ) getSites();\n\t}, [ settings.token ] );\n\n\tconst getSites = () => {\n\t\tconst options = [\n\t\t\t{ value: '', label: __( 'Select a site', 'search-console' ) },\n\t\t];\n\n\t\twindow.gapi?.client?.setToken( settings.token );\n\n\t\twindow.gapi?.client?.webmasters?.sites\n\t\t\t.list()\n\t\t\t.then( ( s ) => {\n\t\t\t\ts.result.siteEntry.forEach( ( site ) => {\n\t\t\t\t\toptions.push( {\n\t\t\t\t\t\tvalue: site.siteUrl,\n\t\t\t\t\t\tlabel: site.siteUrl,\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t\toptions.sort( function ( a, b ) {\n\t\t\t\t\tif ( a.value < b.value ) {\n\t\t\t\t\t\treturn -1;\n\t\t\t\t\t}\n\t\t\t\t\treturn 0;\n\t\t\t\t} );\n\t\t\t\tsetSites( options.sort() );\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tif ( 401 === error.status ) {\n\t\t\t\t\trefreshToken();\n\t\t\t\t}\n\t\t\t} );\n\t};\n\n\treturn (\n\t\t<Card>\n\t\t\t<CardHeader>\n\t\t\t\t<b>{ __( 'Options', 'search-console' ) }</b>\n\t\t\t</CardHeader>\n\n\t\t\t<CardBody>\n\t\t\t\t<SelectControl\n\t\t\t\t\toptions={ sites }\n\t\t\t\t\tlabel={ __( 'Choose site', 'search-console' ) }\n\t\t\t\t\thelp={ __( 'Choose one of your sites.', 'search-console' ) }\n\t\t\t\t\tvalue={ settings.site }\n\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\tupdateSetting( 'site', val );\n\t\t\t\t\t\tsaveSettings();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\n\t\t\t\t<PostTypeSelection { ...props } />\n\n\t\t\t\t<Verification { ...props } />\n\t\t\t</CardBody>\n\t\t</Card>\n\t);\n};\n\nexport default SiteSelect;\n","import {\n\tButton,\n\tToggleControl,\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalInputControl as InputControl,\n} from '@wordpress/components';\n\nimport { __ } from '@wordpress/i18n';\n\nimport { Fragment, useContext } from '@wordpress/element';\nimport { SettingsContext } from '../../context/settings-context';\n\nconst Verification = () => {\n\tconst { settings, updateSetting, refreshToken, saveSettings } =\n\t\tuseContext( SettingsContext );\n\n\tconst getMeta = () => {\n\t\tif ( settings.siteVerification && settings.site ) {\n\t\t\twindow.gapi.client.load( 'siteVerification', 'v1' ).then( () => {\n\t\t\t\twindow.gapi.client.siteVerification.webResource\n\t\t\t\t\t.getToken( {\n\t\t\t\t\t\tverificationMethod: 'META',\n\t\t\t\t\t\tsite: {\n\t\t\t\t\t\t\tidentifier: settings.site.replace(\n\t\t\t\t\t\t\t\t'sc-domain:',\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttype: 'SITE',\n\t\t\t\t\t\t},\n\t\t\t\t\t} )\n\t\t\t\t\t.then( ( r ) => {\n\t\t\t\t\t\tupdateSetting( 'meta', r.result.token );\n\t\t\t\t\t\tsaveSettings();\n\t\t\t\t\t} )\n\t\t\t\t\t.catch( ( error ) => {\n\t\t\t\t\t\tif ( 401 === error.status ) {\n\t\t\t\t\t\t\trefreshToken();\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t} );\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"search-console-Advanced\">\n\t\t\t{ settings.site && (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Do you want to add meta tag verification on your site?',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t'Add verification to site?',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Check this if you want output meta verification on frontend.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ settings.siteVerification }\n\t\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\t\tupdateSetting( 'siteVerification', val );\n\t\t\t\t\t\t\tsaveSettings();\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</Fragment>\n\t\t\t) }\n\t\t\t{ settings.siteVerification && (\n\t\t\t\t<InputControl\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Please click on icon to generate your meta verification tag.',\n\t\t\t\t\t\t'search-console'\n\t\t\t\t\t) }\n\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t'Your meta verification tag',\n\t\t\t\t\t\t'search-console'\n\t\t\t\t\t) }\n\t\t\t\t\tvalue={ settings.meta }\n\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\tupdateSetting( 'meta', val );\n\t\t\t\t\t} }\n\t\t\t\t\tsuffix={ <Button onClick={ getMeta } icon={ 'update' } /> }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport default Verification;\n","import { useState, createContext, useEffect } from '@wordpress/element';\nimport apiFetch from '@wordpress/api-fetch';\nimport { dateI18n } from '@wordpress/date';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore, useEntityProp } from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useHistory } from '../router';\n\nexport const SettingsContext = createContext();\n\nfunction SettingsContextProvider( props ) {\n\tconst defaultQuery = {\n\t\tcustomDate: false,\n\t\ttype: 'web',\n\t\tstartDate: dateI18n(\n\t\t\t'Y-m-d',\n\t\t\tnew Date().setDate( new Date().getDate() - 29 )\n\t\t),\n\t\tendDate: dateI18n(\n\t\t\t'Y-m-d',\n\t\t\tnew Date().setDate( new Date().getDate() - 1 )\n\t\t),\n\t\tdimensions: [ 'QUERY' ],\n\t\tfields: 'rows',\n\t\tdimensionFilterGroups: [\n\t\t\t/*{\n\t\t\t\tfilters: [],\n\t\t\t},*/\n\t\t],\n\t};\n\n\tconst [ ready, setReady ] = useState( false );\n\tconst [ query, setQuery ] = useState( defaultQuery );\n\tconst [ email, setEmail ] = useState( false );\n\n\tconst history = useHistory();\n\n\tconst [ settings, setSettings ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'search_console'\n\t);\n\n\tconst { saveEditedEntityRecord } = useDispatch( coreStore );\n\tconst { createNotice } = useDispatch( noticesStore );\n\n\tconst saveSettings = async () => {\n\t\treturn saveEditedEntityRecord( 'root', 'site' )\n\t\t\t.then( () => {\n\t\t\t\tcreateNotice(\n\t\t\t\t\t'info',\n\t\t\t\t\t'🎯 ' + __( 'Settings saved.', 'formello' ),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tcreateNotice( 'error', '⚠️ ' + error.message, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\texplicitDismiss: true,\n\t\t\t\t} );\n\t\t\t} );\n\t};\n\n\tconst showError = ( error ) => {\n\t\tif ( 401 !== error.status ) {\n\t\t\tcreateNotice( 'error', '⚠️ ' + error.result.error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\texplicitDismiss: true,\n\t\t\t} );\n\t\t}\n\t\tif ( 401 === error.status ) {\n\t\t\trefreshToken();\n\t\t}\n\t};\n\n\tconst { isSaving, hasEdits } = useSelect(\n\t\t( select ) => ( {\n\t\t\tisSaving: select( coreStore ).isSavingEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'site'\n\t\t\t),\n\t\t\thasEdits: select( coreStore ).hasEditsForEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'site',\n\t\t\t\tundefined,\n\t\t\t\t'search_console'\n\t\t\t),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst refreshToken = () => {\n\t\tapiFetch( {\n\t\t\tpath: '/searchconsole/v1/refresh',\n\t\t\tmethod: 'POST',\n\t\t} )\n\t\t\t.then( ( result ) => {\n\t\t\t\tsetSettings( {\n\t\t\t\t\t...settings,\n\t\t\t\t\ttoken: result,\n\t\t\t\t} );\n\t\t\t\twindow.gapi.client.setToken( result );\n\t\t\t\tloadSearchConsole();\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log( error );\n\t\t\t\tcreateNotice(\n\t\t\t\t\t'error',\n\t\t\t\t\t'⚠️ ' + error.message.error_description,\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\texplicitDismiss: true,\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: 'Reauthenticate on settings page',\n\t\t\t\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\t\t\tpage: 'search-console-settings',\n\t\t\t\t\t\t\t\t\t} ), // styled as a button link\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\t};\n\n\tconst revokeToken = () => {\n\t\tapiFetch( {\n\t\t\tpath: '/searchconsole/v1/revoke',\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\ttoken: settings.token.refresh_token,\n\t\t\t},\n\t\t} ).then( () => {\n\t\t\tupdateSetting( 'token', {\n\t\t\t\taccess_token: '',\n\t\t\t\texpires_in: 3600,\n\t\t\t\tid_token: '',\n\t\t\t\trefresh_token: '',\n\t\t\t\tscope: '',\n\t\t\t\ttoken_type: '',\n\t\t\t} );\n\t\t\tsetEmail( false );\n\t\t} );\n\t};\n\n\tconst updateSetting = ( key, value ) => {\n\t\tsetSettings( { ...settings, [ key ]: value } );\n\t};\n\n\tconst updateQuery = ( key, value ) => {\n\t\tsetQuery( { ...query, [ key ]: value } );\n\t};\n\n\tuseEffect( () => {\n\t\tconst handleClientLoad = async () =>\n\t\t\tawait window.gapi.load( 'client', loadSearchConsole );\n\n\t\tconst script = document.createElement( 'script' );\n\n\t\tscript.src = 'https://apis.google.com/js/api.js';\n\t\tscript.async = true;\n\t\tscript.defer = true;\n\t\tscript.onload = handleClientLoad;\n\n\t\tdocument.body.appendChild( script );\n\n\t\treturn () => {\n\t\t\tdocument.body.removeChild( script );\n\t\t};\n\t}, [] );\n\n\tconst loadSearchConsole = () => {\n\t\twindow.gapi.client.setToken( window.search_console.token );\n\t\twindow.gapi.client.load( 'searchconsole', 'v1' ).then( () => {\n\t\t\tcheck();\n\t\t} );\n\t};\n\n\tconst check = () => {\n\t\tsetReady( true );\n\t};\n\n\treturn (\n\t\t<SettingsContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tquery,\n\t\t\t\tupdateQuery,\n\t\t\t\tsettings,\n\t\t\t\tupdateSetting,\n\t\t\t\tsetSettings,\n\t\t\t\tsaveSettings,\n\t\t\t\tisSaving,\n\t\t\t\tready,\n\t\t\t\trefreshToken,\n\t\t\t\trevokeToken,\n\t\t\t\temail,\n\t\t\t\thasEdits,\n\t\t\t\tshowError,\n\t\t\t} }\n\t\t>\n\t\t\t{ props.children }\n\t\t</SettingsContext.Provider>\n\t);\n}\n\nexport default SettingsContextProvider;\n","import { createRoot, useEffect } from '@wordpress/element';\nimport { SnackbarList } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\nimport { RouterProvider, useLocation, useHistory } from './router';\nimport { getQueryArg } from '@wordpress/url';\n\nimport './style.scss';\nimport './store';\n\nimport Dashboard from './routes/dashboard';\nimport Settings from './routes/settings';\nimport Header from './components/Header';\nimport Footer from './components/Footer';\nimport SettingsContextProvider from './context/settings-context';\nimport { GoogleOAuthProvider } from '@react-oauth/google';\n\nconst Router = () => {\n\tconst history = useHistory();\n\tconst { params } = useLocation();\n\n\tconst menuRoot = document.querySelector( '#toplevel_page_search-console' );\n\tconst reset = () => {\n\t\tconst page = getQueryArg( window.location.href, 'page' );\n\t\tif ( ! page ) {\n\t\t\treturn;\n\t\t}\n\t\tfor ( const child of menuRoot.querySelectorAll( 'a' ) ) {\n\t\t\tconst target = getQueryArg( child.href, 'page' );\n\t\t\tif ( page === target ) {\n\t\t\t\tchild.classList.add( 'current' );\n\t\t\t\tchild.parentElement.classList.add( 'current' );\n\t\t\t} else {\n\t\t\t\tchild.classList.remove( 'current' );\n\t\t\t\tchild.parentElement.classList.remove( 'current' );\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleChange = ( e ) => {\n\t\te.preventDefault();\n\n\t\thistory.push( {\n\t\t\tpage: getQueryArg( e.target.href, 'page' ),\n\t\t} );\n\t\treset();\n\t};\n\n\tuseEffect( () => {\n\t\treset();\n\t\tmenuRoot.addEventListener( 'click', handleChange, false );\n\n\t\treturn () => {\n\t\t\tmenuRoot.removeEventListener( 'click', handleChange );\n\t\t};\n\t}, [] );\n\n\thistory.listen( () => {\n\t\treset();\n\t} );\n\n\tif ( 'search-console-settings' === params.page ) {\n\t\treturn <Settings />;\n\t}\n\treturn <Dashboard />;\n};\n\nconst App = () => {\n\treturn (\n\t\t<GoogleOAuthProvider>\n\t\t\t<RouterProvider>\n\t\t\t\t<Header title={ 'Search Console' } />\n\t\t\t\t<SettingsContextProvider>\n\t\t\t\t\t<Router />\n\t\t\t\t\t<Notifications />\n\t\t\t\t</SettingsContextProvider>\n\t\t\t\t<Footer />\n\t\t\t</RouterProvider>\n\t\t</GoogleOAuthProvider>\n\t);\n};\n\nfunction Notifications() {\n\tconst notices = useSelect(\n\t\t( select ) => select( noticesStore ).getNotices(),\n\t\t[]\n\t);\n\tconst { removeNotice } = useDispatch( noticesStore );\n\tconst snackbarNotices = notices.filter(\n\t\t( { type } ) => type === 'snackbar'\n\t);\n\n\treturn (\n\t\t<SnackbarList notices={ snackbarNotices } onRemove={ removeNotice } />\n\t);\n}\n\nwindow.addEventListener( 'DOMContentLoaded', () => {\n\tconst domNode = document.getElementById( 'search-console-wrapper' );\n\tconst root = createRoot( domNode );\n\n\troot.render( <App /> );\n} );\n","/**\n * External dependencies\n */\nimport { createBrowserHistory } from 'history';\n\n/**\n * WordPress dependencies\n */\nimport { addQueryArgs, getQueryArgs, removeQueryArgs } from '@wordpress/url';\n\nconst history = createBrowserHistory();\n\nconst originalHistoryPush = history.push;\nconst originalHistoryReplace = history.replace;\n\nfunction push( params, state ) {\n\tconst currentArgs = getQueryArgs( window.location.href );\n\tconst currentUrlWithoutArgs = removeQueryArgs(\n\t\twindow.location.href,\n\t\t...Object.keys( currentArgs )\n\t);\n\tconst newUrl = addQueryArgs( currentUrlWithoutArgs, params );\n\treturn originalHistoryPush.call( history, newUrl, state );\n}\n\nfunction replace( params, state ) {\n\tconst currentArgs = getQueryArgs( window.location.href );\n\tconst currentUrlWithoutArgs = removeQueryArgs(\n\t\twindow.location.href,\n\t\t...Object.keys( currentArgs )\n\t);\n\tconst newUrl = addQueryArgs( currentUrlWithoutArgs, params );\n\treturn originalHistoryReplace.call( history, newUrl, state );\n}\n\nhistory.push = push;\nhistory.replace = replace;\n\nexport default history;\n","/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseState,\n\tuseEffect,\n\tuseContext,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport history from './history';\n\nconst RoutesContext = createContext();\nconst HistoryContext = createContext();\n\nexport function useLocation() {\n\treturn useContext( RoutesContext );\n}\n\nexport function useHistory() {\n\treturn useContext( HistoryContext );\n}\n\nfunction getLocationWithParams( location ) {\n\tconst searchParams = new URLSearchParams( location.search );\n\treturn {\n\t\t...location,\n\t\tparams: Object.fromEntries( searchParams.entries() ),\n\t};\n}\n\nexport function RouterProvider( { children } ) {\n\tconst [ location, setLocation ] = useState( () =>\n\t\tgetLocationWithParams( history.location )\n\t);\n\n\tuseEffect( () => {\n\t\treturn history.listen( ( { location: updatedLocation } ) => {\n\t\t\tsetLocation( getLocationWithParams( updatedLocation ) );\n\t\t} );\n\t}, [] );\n\n\treturn (\n\t\t<HistoryContext.Provider value={ history }>\n\t\t\t<RoutesContext.Provider value={ location }>\n\t\t\t\t{ children }\n\t\t\t</RoutesContext.Provider>\n\t\t</HistoryContext.Provider>\n\t);\n}","import { __ } from '@wordpress/i18n';\nimport {\n\tCard,\n\tCardBody,\n\tNotice,\n\tButton,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useContext, createInterpolateElement } from '@wordpress/element';\nimport LoadingSpinner from '../components/loading-spinner.js';\nimport { MyChart } from '../components/dashboard/chart/index.js';\nimport { Table } from '../components/dashboard/table/index.js';\nimport { Filters } from '../components/dashboard/table/filters.js';\nimport Ads from '../components/ads/index';\nimport { SettingsContext } from '../context/settings-context';\nimport { useHistory } from '../router';\n\nconst Dashboard = () => {\n\tconst history = useHistory();\n\tconst { settings, ready } = useContext( SettingsContext );\n\n\tif ( ! ready || ! settings ) {\n\t\treturn (\n\t\t\t<LoadingSpinner text={ __( 'Fetching data…', 'search-console' ) } />\n\t\t);\n\t}\n\n\tconst noticeString = ( text ) =>\n\t\tcreateInterpolateElement( text, {\n\t\t\ta: (\n\t\t\t\t<Button\n\t\t\t\t\ttext={ __( 'settings page', 'search-console' ) }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\thistory.push( { page: 'search-console-settings' } )\n\t\t\t\t\t}\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t/>\n\t\t\t),\n\t\t} );\n\n\tif ( ! settings.token || ! settings.token.refresh_token ) {\n\t\treturn (\n\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t<p>\n\t\t\t\t\t{ noticeString(\n\t\t\t\t\t\t__( 'Please authenticate on <a />.', 'search-console' )\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</Notice>\n\t\t);\n\t}\n\n\tif (\n\t\t! settings.credentials.client_secret ||\n\t\t! settings.credentials.client_id\n\t) {\n\t\treturn (\n\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t<p>\n\t\t\t\t\t{ noticeString(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Please provide a Client Secret and a Client ID on <a />.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</Notice>\n\t\t);\n\t}\n\n\tif ( ! settings.site ) {\n\t\treturn (\n\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t<p>\n\t\t\t\t\t{ noticeString(\n\t\t\t\t\t\t__( 'Please select a site on <a />.', 'search-console' )\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</Notice>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className={ 'search-console-dashboard' }>\n\t\t\t<VStack>\n\t\t\t\t<Card>\n\t\t\t\t\t<CardBody>\n\t\t\t\t\t\t<MyChart />\n\t\t\t\t\t</CardBody>\n\t\t\t\t</Card>\n\t\t\t\t<Card>\n\t\t\t\t\t<CardBody>\n\t\t\t\t\t\t<Filters />\n\t\t\t\t\t</CardBody>\n\t\t\t\t</Card>\n\t\t\t\t<Ads noSlide={ true } />\n\t\t\t\t<Card>\n\t\t\t\t\t<CardBody>\n\t\t\t\t\t\t<Table />\n\t\t\t\t\t</CardBody>\n\t\t\t\t</Card>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n};\n\nexport default Dashboard;\n","import { __ } from '@wordpress/i18n';\nimport GoogleOAuth from '../components/settings/google-oauth';\nimport Credentials from '../components/settings/credentials';\nimport Help from '../components/settings/help';\nimport SiteSelect from '../components/settings/site-select';\nimport SaveButton from '../components/settings/save-button';\nimport LoadingSpinner from '../components/loading-spinner.js';\nimport { SettingsContext } from '../context/settings-context';\nimport { useContext } from '@wordpress/element';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalGrid as Grid,\n} from '@wordpress/components';\n\nconst Settings = () => {\n\tconst { ready, settings } = useContext( SettingsContext );\n\n\tif ( ! ready || ! settings ) {\n\t\treturn (\n\t\t\t<LoadingSpinner text={ __( 'Fetching data…', 'search-console' ) } />\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className={ 'search-console-settings' }>\n\t\t\t<Grid\n\t\t\t\tcolumns={ 4 }\n\t\t\t\ttemplateColumns=\"3fr 1fr\"\n\t\t\t\tgap=\"4\"\n\t\t\t\talign=\"flex-start\"\n\t\t\t\tclassName=\"popper-settings\"\n\t\t\t>\n\t\t\t\t<VStack>\n\t\t\t\t\t<GoogleOAuth />\n\t\t\t\t\t<SiteSelect />\n\t\t\t\t\t<Credentials />\n\t\t\t\t\t<SaveButton />\n\t\t\t\t</VStack>\n\t\t\t\t<VStack>\n\t\t\t\t\t<Help />\n\t\t\t\t</VStack>\n\t\t\t</Grid>\n\t\t</div>\n\t);\n};\n\nexport default Settings;\n","import apiFetch from '@wordpress/api-fetch';\nimport { createReduxStore, register } from '@wordpress/data';\nimport { dateI18n } from '@wordpress/date';\n\nconst DEFAULT_STATE = {\n\tsettings: false,\n\tsites: [\n\t\t{\n\t\t\tlabel: 'Select a site',\n\t\t\tvalue: '',\n\t\t},\n\t],\n\tcustomDate: false,\n\tdimension: 'query',\n\tsearchType: 'web',\n\tstartDate: dateI18n(\n\t\t'Y-m-d',\n\t\tnew Date().setDate( new Date().getDate() - 29 )\n\t),\n\tendDate: dateI18n(\n\t\t'Y-m-d',\n\t\tnew Date().setDate( new Date().getDate() - 1 )\n\t),\n\tfilters: [],\n};\n\nconst actions = {\n\tsetSites( sites ) {\n\t\treturn {\n\t\t\ttype: 'SET_SITES',\n\t\t\tsites,\n\t\t};\n\t},\n\n\tsetSettings( settings ) {\n\t\treturn {\n\t\t\ttype: 'SET_SETTINGS',\n\t\t\tsettings,\n\t\t};\n\t},\n\n\tsetSetting( setting, value ) {\n\t\treturn {\n\t\t\ttype: 'SET_SETTING',\n\t\t\tsetting,\n\t\t\tvalue,\n\t\t};\n\t},\n\n\tsetSearchType( searchType ) {\n\t\treturn {\n\t\t\ttype: 'SET_SEARCHTYPE',\n\t\t\tsearchType,\n\t\t};\n\t},\n\n\tsetFilter( filter ) {\n\t\treturn {\n\t\t\ttype: 'SET_FILTER',\n\t\t\tfilter,\n\t\t};\n\t},\n\n\tsetDimension( dimension ) {\n\t\treturn {\n\t\t\ttype: 'SET_DIMENSION',\n\t\t\tdimension,\n\t\t};\n\t},\n\n\tsetCustomDate( val ) {\n\t\treturn {\n\t\t\ttype: 'SET_CUSTOMDATE',\n\t\t\tval,\n\t\t};\n\t},\n\n\tsetStartDate( date ) {\n\t\treturn {\n\t\t\ttype: 'SET_STARTDATE',\n\t\t\tdate,\n\t\t};\n\t},\n\n\tsetEndDate( date ) {\n\t\treturn {\n\t\t\ttype: 'SET_ENDDATE',\n\t\t\tdate,\n\t\t};\n\t},\n\n\tremoveFilter( filter ) {\n\t\treturn {\n\t\t\ttype: 'REMOVE_FILTER',\n\t\t\tfilter,\n\t\t};\n\t},\n\n\tfetchFromAPI( path ) {\n\t\treturn {\n\t\t\ttype: 'FETCH_FROM_API',\n\t\t\tpath,\n\t\t};\n\t},\n};\n\nconst store = createReduxStore( 'searchconsole', {\n\treducer( state = DEFAULT_STATE, action ) {\n\t\tswitch ( action.type ) {\n\t\t\tcase 'SET_SETTINGS':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tsettings: action.settings,\n\t\t\t\t};\n\n\t\t\tcase 'SET_SITES':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tsites: action.sites,\n\t\t\t\t};\n\n\t\t\tcase 'SET_SETTING':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tsettings: {\n\t\t\t\t\t\t...state.settings,\n\t\t\t\t\t\t[ action.setting ]: action.value,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\tcase 'SET_SEARCHTYPE':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tsearchType: action.searchType,\n\t\t\t\t};\n\n\t\t\tcase 'SET_DIMENSION':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tdimension: action.dimension,\n\t\t\t\t};\n\n\t\t\tcase 'SET_CUSTOMDATE':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tcustomDate: action.val,\n\t\t\t\t};\n\n\t\t\tcase 'SET_STARTDATE':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tstartDate: action.date,\n\t\t\t\t};\n\n\t\t\tcase 'SET_ENDDATE':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tendDate: action.date,\n\t\t\t\t};\n\n\t\t\tcase 'SET_FILTER':\n\t\t\t\tconst newFilter = {\n\t\t\t\t\tdimension: action.filter.dimension,\n\t\t\t\t\texpression: action.filter.expression,\n\t\t\t\t\toperator: action.filter.operator,\n\t\t\t\t};\n\t\t\t\tconst arr = state.filters.filter( ( f ) => {\n\t\t\t\t\treturn f.dimension !== action.filter.dimension;\n\t\t\t\t} );\n\t\t\t\tarr.push( newFilter );\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tfilters: arr,\n\t\t\t\t};\n\n\t\t\tcase 'REMOVE_FILTER':\n\t\t\t\tconst cleanArr = state.filters.filter( ( f ) => {\n\t\t\t\t\treturn f.dimension !== action.filter.dimension;\n\t\t\t\t} );\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tfilters: cleanArr,\n\t\t\t\t};\n\t\t}\n\n\t\treturn state;\n\t},\n\n\tactions,\n\n\tselectors: {\n\t\tisReady( state ) {\n\t\t\treturn state.settings ?? false;\n\t\t},\n\t\tgetSettings( state ) {\n\t\t\tconst { settings } = state;\n\t\t\treturn settings;\n\t\t},\n\t\tgetSites( state ) {\n\t\t\tconst { sites } = state;\n\t\t\treturn sites;\n\t\t},\n\t\tgetSite( state ) {\n\t\t\tconst { settings } = state;\n\t\t\treturn settings.site;\n\t\t},\n\t\tgetQuery( state ) {\n\t\t\tconst { searchType, filters, dimension, startDate, endDate } =\n\t\t\t\tstate;\n\t\t\treturn {\n\t\t\t\tdimension,\n\t\t\t\tstartDate,\n\t\t\t\tendDate,\n\t\t\t\tsearchType,\n\t\t\t\tfilters,\n\t\t\t};\n\t\t},\n\t\tgetFilterByDimension( state, filter ) {\n\t\t\tif ( ! state.filters.length ) {\n\t\t\t\treturn {\n\t\t\t\t\tdimension: '',\n\t\t\t\t\texpression: '',\n\t\t\t\t\toperator: '',\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst target = state.filters.find( ( f ) => {\n\t\t\t\treturn f.dimension === filter;\n\t\t\t} );\n\t\t\treturn target;\n\t\t},\n\t\tgetSearchType( state ) {\n\t\t\tconst { searchType } = state;\n\t\t\treturn searchType;\n\t\t},\n\t\tgetFilters( state ) {\n\t\t\tconst { filters } = state;\n\t\t\treturn filters;\n\t\t},\n\t\tgetCustomDate( state ) {\n\t\t\tconst { customDate } = state;\n\t\t\treturn customDate;\n\t\t},\n\t},\n\n\tcontrols: {\n\t\tFETCH_FROM_API( action ) {\n\t\t\treturn apiFetch( { path: action.path } );\n\t\t},\n\t},\n\n\tresolvers: {\n\t\t*getSettings() {\n\t\t\tconst path = '/searchconsole/v1/settings/';\n\t\t\tconst settings = yield actions.fetchFromAPI( path );\n\t\t\treturn actions.setSettings( settings );\n\t\t},\n\t},\n} );\n\nregister( store );\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import _extends from '@babel/runtime/helpers/esm/extends';\n\n/**\r\n * Actions represent the type of change to a location value.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#action\r\n */\nvar Action;\n\n(function (Action) {\n  /**\r\n   * A POP indicates a change to an arbitrary index in the history stack, such\r\n   * as a back or forward navigation. It does not describe the direction of the\r\n   * navigation, only that the current index changed.\r\n   *\r\n   * Note: This is the default action for newly created history objects.\r\n   */\n  Action[\"Pop\"] = \"POP\";\n  /**\r\n   * A PUSH indicates a new entry being added to the history stack, such as when\r\n   * a link is clicked and a new page loads. When this happens, all subsequent\r\n   * entries in the stack are lost.\r\n   */\n\n  Action[\"Push\"] = \"PUSH\";\n  /**\r\n   * A REPLACE indicates the entry at the current index in the history stack\r\n   * being replaced by a new one.\r\n   */\n\n  Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\n\nvar readOnly = process.env.NODE_ENV !== \"production\" ? function (obj) {\n  return Object.freeze(obj);\n} : function (obj) {\n  return obj;\n};\n\nfunction warning(cond, message) {\n  if (!cond) {\n    // eslint-disable-next-line no-console\n    if (typeof console !== 'undefined') console.warn(message);\n\n    try {\n      // Welcome to debugging history!\n      //\n      // This error is thrown as a convenience so you can more easily\n      // find the source for a warning that appears in the console by\n      // enabling \"pause on exceptions\" in your JavaScript debugger.\n      throw new Error(message); // eslint-disable-next-line no-empty\n    } catch (e) {}\n  }\n}\n\nvar BeforeUnloadEventType = 'beforeunload';\nvar HashChangeEventType = 'hashchange';\nvar PopStateEventType = 'popstate';\n/**\r\n * Browser history stores the location in regular URLs. This is the standard for\r\n * most web apps, but it requires some configuration on the server to ensure you\r\n * serve the same app at multiple URLs.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\r\n */\n\nfunction createBrowserHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      _options$window = _options.window,\n      window = _options$window === void 0 ? document.defaultView : _options$window;\n  var globalHistory = window.history;\n\n  function getIndexAndLocation() {\n    var _window$location = window.location,\n        pathname = _window$location.pathname,\n        search = _window$location.search,\n        hash = _window$location.hash;\n    var state = globalHistory.state || {};\n    return [state.idx, readOnly({\n      pathname: pathname,\n      search: search,\n      hash: hash,\n      state: state.usr || null,\n      key: state.key || 'default'\n    })];\n  }\n\n  var blockedPopTx = null;\n\n  function handlePop() {\n    if (blockedPopTx) {\n      blockers.call(blockedPopTx);\n      blockedPopTx = null;\n    } else {\n      var nextAction = Action.Pop;\n\n      var _getIndexAndLocation = getIndexAndLocation(),\n          nextIndex = _getIndexAndLocation[0],\n          nextLocation = _getIndexAndLocation[1];\n\n      if (blockers.length) {\n        if (nextIndex != null) {\n          var delta = index - nextIndex;\n\n          if (delta) {\n            // Revert the POP\n            blockedPopTx = {\n              action: nextAction,\n              location: nextLocation,\n              retry: function retry() {\n                go(delta * -1);\n              }\n            };\n            go(delta);\n          }\n        } else {\n          // Trying to POP to a location with no index. We did not create\n          // this location, so we can't effectively block the navigation.\n          process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n          // detail and link to it here so people can understand better what\n          // is going on and how to avoid it.\n          \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n        }\n      } else {\n        applyTx(nextAction);\n      }\n    }\n  }\n\n  window.addEventListener(PopStateEventType, handlePop);\n  var action = Action.Pop;\n\n  var _getIndexAndLocation2 = getIndexAndLocation(),\n      index = _getIndexAndLocation2[0],\n      location = _getIndexAndLocation2[1];\n\n  var listeners = createEvents();\n  var blockers = createEvents();\n\n  if (index == null) {\n    index = 0;\n    globalHistory.replaceState(_extends({}, globalHistory.state, {\n      idx: index\n    }), '');\n  }\n\n  function createHref(to) {\n    return typeof to === 'string' ? to : createPath(to);\n  } // state defaults to `null` because `window.history.state` does\n\n\n  function getNextLocation(to, state) {\n    if (state === void 0) {\n      state = null;\n    }\n\n    return readOnly(_extends({\n      pathname: location.pathname,\n      hash: '',\n      search: ''\n    }, typeof to === 'string' ? parsePath(to) : to, {\n      state: state,\n      key: createKey()\n    }));\n  }\n\n  function getHistoryStateAndUrl(nextLocation, index) {\n    return [{\n      usr: nextLocation.state,\n      key: nextLocation.key,\n      idx: index\n    }, createHref(nextLocation)];\n  }\n\n  function allowTx(action, location, retry) {\n    return !blockers.length || (blockers.call({\n      action: action,\n      location: location,\n      retry: retry\n    }), false);\n  }\n\n  function applyTx(nextAction) {\n    action = nextAction;\n\n    var _getIndexAndLocation3 = getIndexAndLocation();\n\n    index = _getIndexAndLocation3[0];\n    location = _getIndexAndLocation3[1];\n    listeners.call({\n      action: action,\n      location: location\n    });\n  }\n\n  function push(to, state) {\n    var nextAction = Action.Push;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      push(to, state);\n    }\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr = getHistoryStateAndUrl(nextLocation, index + 1),\n          historyState = _getHistoryStateAndUr[0],\n          url = _getHistoryStateAndUr[1]; // TODO: Support forced reloading\n      // try...catch because iOS limits us to 100 pushState calls :/\n\n\n      try {\n        globalHistory.pushState(historyState, '', url);\n      } catch (error) {\n        // They are going to lose state here, but there is no real\n        // way to warn them about it since the page will refresh...\n        window.location.assign(url);\n      }\n\n      applyTx(nextAction);\n    }\n  }\n\n  function replace(to, state) {\n    var nextAction = Action.Replace;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      replace(to, state);\n    }\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr2 = getHistoryStateAndUrl(nextLocation, index),\n          historyState = _getHistoryStateAndUr2[0],\n          url = _getHistoryStateAndUr2[1]; // TODO: Support forced reloading\n\n\n      globalHistory.replaceState(historyState, '', url);\n      applyTx(nextAction);\n    }\n  }\n\n  function go(delta) {\n    globalHistory.go(delta);\n  }\n\n  var history = {\n    get action() {\n      return action;\n    },\n\n    get location() {\n      return location;\n    },\n\n    createHref: createHref,\n    push: push,\n    replace: replace,\n    go: go,\n    back: function back() {\n      go(-1);\n    },\n    forward: function forward() {\n      go(1);\n    },\n    listen: function listen(listener) {\n      return listeners.push(listener);\n    },\n    block: function block(blocker) {\n      var unblock = blockers.push(blocker);\n\n      if (blockers.length === 1) {\n        window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n      }\n\n      return function () {\n        unblock(); // Remove the beforeunload listener so the document may\n        // still be salvageable in the pagehide event.\n        // See https://html.spec.whatwg.org/#unloading-documents\n\n        if (!blockers.length) {\n          window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n        }\n      };\n    }\n  };\n  return history;\n}\n/**\r\n * Hash history stores the location in window.location.hash. This makes it ideal\r\n * for situations where you don't want to send the location to the server for\r\n * some reason, either because you do cannot configure it or the URL space is\r\n * reserved for something else.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\r\n */\n\nfunction createHashHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options2 = options,\n      _options2$window = _options2.window,\n      window = _options2$window === void 0 ? document.defaultView : _options2$window;\n  var globalHistory = window.history;\n\n  function getIndexAndLocation() {\n    var _parsePath = parsePath(window.location.hash.substr(1)),\n        _parsePath$pathname = _parsePath.pathname,\n        pathname = _parsePath$pathname === void 0 ? '/' : _parsePath$pathname,\n        _parsePath$search = _parsePath.search,\n        search = _parsePath$search === void 0 ? '' : _parsePath$search,\n        _parsePath$hash = _parsePath.hash,\n        hash = _parsePath$hash === void 0 ? '' : _parsePath$hash;\n\n    var state = globalHistory.state || {};\n    return [state.idx, readOnly({\n      pathname: pathname,\n      search: search,\n      hash: hash,\n      state: state.usr || null,\n      key: state.key || 'default'\n    })];\n  }\n\n  var blockedPopTx = null;\n\n  function handlePop() {\n    if (blockedPopTx) {\n      blockers.call(blockedPopTx);\n      blockedPopTx = null;\n    } else {\n      var nextAction = Action.Pop;\n\n      var _getIndexAndLocation4 = getIndexAndLocation(),\n          nextIndex = _getIndexAndLocation4[0],\n          nextLocation = _getIndexAndLocation4[1];\n\n      if (blockers.length) {\n        if (nextIndex != null) {\n          var delta = index - nextIndex;\n\n          if (delta) {\n            // Revert the POP\n            blockedPopTx = {\n              action: nextAction,\n              location: nextLocation,\n              retry: function retry() {\n                go(delta * -1);\n              }\n            };\n            go(delta);\n          }\n        } else {\n          // Trying to POP to a location with no index. We did not create\n          // this location, so we can't effectively block the navigation.\n          process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n          // detail and link to it here so people can understand better\n          // what is going on and how to avoid it.\n          \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n        }\n      } else {\n        applyTx(nextAction);\n      }\n    }\n  }\n\n  window.addEventListener(PopStateEventType, handlePop); // popstate does not fire on hashchange in IE 11 and old (trident) Edge\n  // https://developer.mozilla.org/de/docs/Web/API/Window/popstate_event\n\n  window.addEventListener(HashChangeEventType, function () {\n    var _getIndexAndLocation5 = getIndexAndLocation(),\n        nextLocation = _getIndexAndLocation5[1]; // Ignore extraneous hashchange events.\n\n\n    if (createPath(nextLocation) !== createPath(location)) {\n      handlePop();\n    }\n  });\n  var action = Action.Pop;\n\n  var _getIndexAndLocation6 = getIndexAndLocation(),\n      index = _getIndexAndLocation6[0],\n      location = _getIndexAndLocation6[1];\n\n  var listeners = createEvents();\n  var blockers = createEvents();\n\n  if (index == null) {\n    index = 0;\n    globalHistory.replaceState(_extends({}, globalHistory.state, {\n      idx: index\n    }), '');\n  }\n\n  function getBaseHref() {\n    var base = document.querySelector('base');\n    var href = '';\n\n    if (base && base.getAttribute('href')) {\n      var url = window.location.href;\n      var hashIndex = url.indexOf('#');\n      href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n    }\n\n    return href;\n  }\n\n  function createHref(to) {\n    return getBaseHref() + '#' + (typeof to === 'string' ? to : createPath(to));\n  }\n\n  function getNextLocation(to, state) {\n    if (state === void 0) {\n      state = null;\n    }\n\n    return readOnly(_extends({\n      pathname: location.pathname,\n      hash: '',\n      search: ''\n    }, typeof to === 'string' ? parsePath(to) : to, {\n      state: state,\n      key: createKey()\n    }));\n  }\n\n  function getHistoryStateAndUrl(nextLocation, index) {\n    return [{\n      usr: nextLocation.state,\n      key: nextLocation.key,\n      idx: index\n    }, createHref(nextLocation)];\n  }\n\n  function allowTx(action, location, retry) {\n    return !blockers.length || (blockers.call({\n      action: action,\n      location: location,\n      retry: retry\n    }), false);\n  }\n\n  function applyTx(nextAction) {\n    action = nextAction;\n\n    var _getIndexAndLocation7 = getIndexAndLocation();\n\n    index = _getIndexAndLocation7[0];\n    location = _getIndexAndLocation7[1];\n    listeners.call({\n      action: action,\n      location: location\n    });\n  }\n\n  function push(to, state) {\n    var nextAction = Action.Push;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      push(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr3 = getHistoryStateAndUrl(nextLocation, index + 1),\n          historyState = _getHistoryStateAndUr3[0],\n          url = _getHistoryStateAndUr3[1]; // TODO: Support forced reloading\n      // try...catch because iOS limits us to 100 pushState calls :/\n\n\n      try {\n        globalHistory.pushState(historyState, '', url);\n      } catch (error) {\n        // They are going to lose state here, but there is no real\n        // way to warn them about it since the page will refresh...\n        window.location.assign(url);\n      }\n\n      applyTx(nextAction);\n    }\n  }\n\n  function replace(to, state) {\n    var nextAction = Action.Replace;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      replace(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr4 = getHistoryStateAndUrl(nextLocation, index),\n          historyState = _getHistoryStateAndUr4[0],\n          url = _getHistoryStateAndUr4[1]; // TODO: Support forced reloading\n\n\n      globalHistory.replaceState(historyState, '', url);\n      applyTx(nextAction);\n    }\n  }\n\n  function go(delta) {\n    globalHistory.go(delta);\n  }\n\n  var history = {\n    get action() {\n      return action;\n    },\n\n    get location() {\n      return location;\n    },\n\n    createHref: createHref,\n    push: push,\n    replace: replace,\n    go: go,\n    back: function back() {\n      go(-1);\n    },\n    forward: function forward() {\n      go(1);\n    },\n    listen: function listen(listener) {\n      return listeners.push(listener);\n    },\n    block: function block(blocker) {\n      var unblock = blockers.push(blocker);\n\n      if (blockers.length === 1) {\n        window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n      }\n\n      return function () {\n        unblock(); // Remove the beforeunload listener so the document may\n        // still be salvageable in the pagehide event.\n        // See https://html.spec.whatwg.org/#unloading-documents\n\n        if (!blockers.length) {\n          window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n        }\n      };\n    }\n  };\n  return history;\n}\n/**\r\n * Memory history stores the current location in memory. It is designed for use\r\n * in stateful non-browser environments like tests and React Native.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#creatememoryhistory\r\n */\n\nfunction createMemoryHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options3 = options,\n      _options3$initialEntr = _options3.initialEntries,\n      initialEntries = _options3$initialEntr === void 0 ? ['/'] : _options3$initialEntr,\n      initialIndex = _options3.initialIndex;\n  var entries = initialEntries.map(function (entry) {\n    var location = readOnly(_extends({\n      pathname: '/',\n      search: '',\n      hash: '',\n      state: null,\n      key: createKey()\n    }, typeof entry === 'string' ? parsePath(entry) : entry));\n    process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: \" + JSON.stringify(entry) + \")\") : void 0;\n    return location;\n  });\n  var index = clamp(initialIndex == null ? entries.length - 1 : initialIndex, 0, entries.length - 1);\n  var action = Action.Pop;\n  var location = entries[index];\n  var listeners = createEvents();\n  var blockers = createEvents();\n\n  function createHref(to) {\n    return typeof to === 'string' ? to : createPath(to);\n  }\n\n  function getNextLocation(to, state) {\n    if (state === void 0) {\n      state = null;\n    }\n\n    return readOnly(_extends({\n      pathname: location.pathname,\n      search: '',\n      hash: ''\n    }, typeof to === 'string' ? parsePath(to) : to, {\n      state: state,\n      key: createKey()\n    }));\n  }\n\n  function allowTx(action, location, retry) {\n    return !blockers.length || (blockers.call({\n      action: action,\n      location: location,\n      retry: retry\n    }), false);\n  }\n\n  function applyTx(nextAction, nextLocation) {\n    action = nextAction;\n    location = nextLocation;\n    listeners.call({\n      action: action,\n      location: location\n    });\n  }\n\n  function push(to, state) {\n    var nextAction = Action.Push;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      push(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      index += 1;\n      entries.splice(index, entries.length, nextLocation);\n      applyTx(nextAction, nextLocation);\n    }\n  }\n\n  function replace(to, state) {\n    var nextAction = Action.Replace;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      replace(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      entries[index] = nextLocation;\n      applyTx(nextAction, nextLocation);\n    }\n  }\n\n  function go(delta) {\n    var nextIndex = clamp(index + delta, 0, entries.length - 1);\n    var nextAction = Action.Pop;\n    var nextLocation = entries[nextIndex];\n\n    function retry() {\n      go(delta);\n    }\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      index = nextIndex;\n      applyTx(nextAction, nextLocation);\n    }\n  }\n\n  var history = {\n    get index() {\n      return index;\n    },\n\n    get action() {\n      return action;\n    },\n\n    get location() {\n      return location;\n    },\n\n    createHref: createHref,\n    push: push,\n    replace: replace,\n    go: go,\n    back: function back() {\n      go(-1);\n    },\n    forward: function forward() {\n      go(1);\n    },\n    listen: function listen(listener) {\n      return listeners.push(listener);\n    },\n    block: function block(blocker) {\n      return blockers.push(blocker);\n    }\n  };\n  return history;\n} ////////////////////////////////////////////////////////////////////////////////\n// UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction clamp(n, lowerBound, upperBound) {\n  return Math.min(Math.max(n, lowerBound), upperBound);\n}\n\nfunction promptBeforeUnload(event) {\n  // Cancel the event.\n  event.preventDefault(); // Chrome (and legacy IE) requires returnValue to be set.\n\n  event.returnValue = '';\n}\n\nfunction createEvents() {\n  var handlers = [];\n  return {\n    get length() {\n      return handlers.length;\n    },\n\n    push: function push(fn) {\n      handlers.push(fn);\n      return function () {\n        handlers = handlers.filter(function (handler) {\n          return handler !== fn;\n        });\n      };\n    },\n    call: function call(arg) {\n      handlers.forEach(function (fn) {\n        return fn && fn(arg);\n      });\n    }\n  };\n}\n\nfunction createKey() {\n  return Math.random().toString(36).substr(2, 8);\n}\n/**\r\n * Creates a string URL path from the given pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createpath\r\n */\n\n\nfunction createPath(_ref) {\n  var _ref$pathname = _ref.pathname,\n      pathname = _ref$pathname === void 0 ? '/' : _ref$pathname,\n      _ref$search = _ref.search,\n      search = _ref$search === void 0 ? '' : _ref$search,\n      _ref$hash = _ref.hash,\n      hash = _ref$hash === void 0 ? '' : _ref$hash;\n  if (search && search !== '?') pathname += search.charAt(0) === '?' ? search : '?' + search;\n  if (hash && hash !== '#') pathname += hash.charAt(0) === '#' ? hash : '#' + hash;\n  return pathname;\n}\n/**\r\n * Parses a string URL path into its separate pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#parsepath\r\n */\n\nfunction parsePath(path) {\n  var parsedPath = {};\n\n  if (path) {\n    var hashIndex = path.indexOf('#');\n\n    if (hashIndex >= 0) {\n      parsedPath.hash = path.substr(hashIndex);\n      path = path.substr(0, hashIndex);\n    }\n\n    var searchIndex = path.indexOf('?');\n\n    if (searchIndex >= 0) {\n      parsedPath.search = path.substr(searchIndex);\n      path = path.substr(0, searchIndex);\n    }\n\n    if (path) {\n      parsedPath.pathname = path;\n    }\n  }\n\n  return parsedPath;\n}\n\nexport { Action, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, parsePath };\n//# sourceMappingURL=index.js.map\n","// extracted by mini-css-extract-plugin\nexport {};","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n  if (maybeIterable === null || typeof maybeIterable !== 'object') {\n    return null;\n  }\n\n  var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n  if (typeof maybeIterator === 'function') {\n    return maybeIterator;\n  }\n\n  return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n  {\n    {\n      for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n        args[_key2 - 1] = arguments[_key2];\n      }\n\n      printWarning('error', format, args);\n    }\n  }\n}\n\nfunction printWarning(level, format, args) {\n  // When changing this logic, you might want to also\n  // update consoleWithStackDev.www.js as well.\n  {\n    var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n    var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n    if (stack !== '') {\n      format += '%s';\n      args = args.concat([stack]);\n    } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n    var argsWithFormat = args.map(function (item) {\n      return String(item);\n    }); // Careful: RN currently depends on this prefix\n\n    argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n    // breaks IE9: https://github.com/facebook/react/issues/13610\n    // eslint-disable-next-line react-internal/no-production-logging\n\n    Function.prototype.apply.call(console[level], console, argsWithFormat);\n  }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n  REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n  if (typeof type === 'string' || typeof type === 'function') {\n    return true;\n  } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n  if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing  || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden  || type === REACT_OFFSCREEN_TYPE || enableScopeAPI  || enableCacheElement  || enableTransitionTracing ) {\n    return true;\n  }\n\n  if (typeof type === 'object' && type !== null) {\n    if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n    // types supported by any Flight configuration anywhere since\n    // we don't know which Flight build this will end up being used\n    // with.\n    type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n  var displayName = outerType.displayName;\n\n  if (displayName) {\n    return displayName;\n  }\n\n  var functionName = innerType.displayName || innerType.name || '';\n  return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n  return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n  if (type == null) {\n    // Host root, text node or just invalid type.\n    return null;\n  }\n\n  {\n    if (typeof type.tag === 'number') {\n      error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n    }\n  }\n\n  if (typeof type === 'function') {\n    return type.displayName || type.name || null;\n  }\n\n  if (typeof type === 'string') {\n    return type;\n  }\n\n  switch (type) {\n    case REACT_FRAGMENT_TYPE:\n      return 'Fragment';\n\n    case REACT_PORTAL_TYPE:\n      return 'Portal';\n\n    case REACT_PROFILER_TYPE:\n      return 'Profiler';\n\n    case REACT_STRICT_MODE_TYPE:\n      return 'StrictMode';\n\n    case REACT_SUSPENSE_TYPE:\n      return 'Suspense';\n\n    case REACT_SUSPENSE_LIST_TYPE:\n      return 'SuspenseList';\n\n  }\n\n  if (typeof type === 'object') {\n    switch (type.$$typeof) {\n      case REACT_CONTEXT_TYPE:\n        var context = type;\n        return getContextName(context) + '.Consumer';\n\n      case REACT_PROVIDER_TYPE:\n        var provider = type;\n        return getContextName(provider._context) + '.Provider';\n\n      case REACT_FORWARD_REF_TYPE:\n        return getWrappedName(type, type.render, 'ForwardRef');\n\n      case REACT_MEMO_TYPE:\n        var outerName = type.displayName || null;\n\n        if (outerName !== null) {\n          return outerName;\n        }\n\n        return getComponentNameFromType(type.type) || 'Memo';\n\n      case REACT_LAZY_TYPE:\n        {\n          var lazyComponent = type;\n          var payload = lazyComponent._payload;\n          var init = lazyComponent._init;\n\n          try {\n            return getComponentNameFromType(init(payload));\n          } catch (x) {\n            return null;\n          }\n        }\n\n      // eslint-disable-next-line no-fallthrough\n    }\n  }\n\n  return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n  {\n    if (disabledDepth === 0) {\n      /* eslint-disable react-internal/no-production-logging */\n      prevLog = console.log;\n      prevInfo = console.info;\n      prevWarn = console.warn;\n      prevError = console.error;\n      prevGroup = console.group;\n      prevGroupCollapsed = console.groupCollapsed;\n      prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n      var props = {\n        configurable: true,\n        enumerable: true,\n        value: disabledLog,\n        writable: true\n      }; // $FlowFixMe Flow thinks console is immutable.\n\n      Object.defineProperties(console, {\n        info: props,\n        log: props,\n        warn: props,\n        error: props,\n        group: props,\n        groupCollapsed: props,\n        groupEnd: props\n      });\n      /* eslint-enable react-internal/no-production-logging */\n    }\n\n    disabledDepth++;\n  }\n}\nfunction reenableLogs() {\n  {\n    disabledDepth--;\n\n    if (disabledDepth === 0) {\n      /* eslint-disable react-internal/no-production-logging */\n      var props = {\n        configurable: true,\n        enumerable: true,\n        writable: true\n      }; // $FlowFixMe Flow thinks console is immutable.\n\n      Object.defineProperties(console, {\n        log: assign({}, props, {\n          value: prevLog\n        }),\n        info: assign({}, props, {\n          value: prevInfo\n        }),\n        warn: assign({}, props, {\n          value: prevWarn\n        }),\n        error: assign({}, props, {\n          value: prevError\n        }),\n        group: assign({}, props, {\n          value: prevGroup\n        }),\n        groupCollapsed: assign({}, props, {\n          value: prevGroupCollapsed\n        }),\n        groupEnd: assign({}, props, {\n          value: prevGroupEnd\n        })\n      });\n      /* eslint-enable react-internal/no-production-logging */\n    }\n\n    if (disabledDepth < 0) {\n      error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n    }\n  }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n  {\n    if (prefix === undefined) {\n      // Extract the VM specific prefix used by each line.\n      try {\n        throw Error();\n      } catch (x) {\n        var match = x.stack.trim().match(/\\n( *(at )?)/);\n        prefix = match && match[1] || '';\n      }\n    } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n    return '\\n' + prefix + name;\n  }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n  var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n  componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n  // If something asked for a stack inside a fake render, it should get ignored.\n  if ( !fn || reentry) {\n    return '';\n  }\n\n  {\n    var frame = componentFrameCache.get(fn);\n\n    if (frame !== undefined) {\n      return frame;\n    }\n  }\n\n  var control;\n  reentry = true;\n  var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n  Error.prepareStackTrace = undefined;\n  var previousDispatcher;\n\n  {\n    previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n    // for warnings.\n\n    ReactCurrentDispatcher.current = null;\n    disableLogs();\n  }\n\n  try {\n    // This should throw.\n    if (construct) {\n      // Something should be setting the props in the constructor.\n      var Fake = function () {\n        throw Error();\n      }; // $FlowFixMe\n\n\n      Object.defineProperty(Fake.prototype, 'props', {\n        set: function () {\n          // We use a throwing setter instead of frozen or non-writable props\n          // because that won't throw in a non-strict mode function.\n          throw Error();\n        }\n      });\n\n      if (typeof Reflect === 'object' && Reflect.construct) {\n        // We construct a different control for this case to include any extra\n        // frames added by the construct call.\n        try {\n          Reflect.construct(Fake, []);\n        } catch (x) {\n          control = x;\n        }\n\n        Reflect.construct(fn, [], Fake);\n      } else {\n        try {\n          Fake.call();\n        } catch (x) {\n          control = x;\n        }\n\n        fn.call(Fake.prototype);\n      }\n    } else {\n      try {\n        throw Error();\n      } catch (x) {\n        control = x;\n      }\n\n      fn();\n    }\n  } catch (sample) {\n    // This is inlined manually because closure doesn't do it for us.\n    if (sample && control && typeof sample.stack === 'string') {\n      // This extracts the first frame from the sample that isn't also in the control.\n      // Skipping one frame that we assume is the frame that calls the two.\n      var sampleLines = sample.stack.split('\\n');\n      var controlLines = control.stack.split('\\n');\n      var s = sampleLines.length - 1;\n      var c = controlLines.length - 1;\n\n      while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n        // We expect at least one stack frame to be shared.\n        // Typically this will be the root most one. However, stack frames may be\n        // cut off due to maximum stack limits. In this case, one maybe cut off\n        // earlier than the other. We assume that the sample is longer or the same\n        // and there for cut off earlier. So we should find the root most frame in\n        // the sample somewhere in the control.\n        c--;\n      }\n\n      for (; s >= 1 && c >= 0; s--, c--) {\n        // Next we find the first one that isn't the same which should be the\n        // frame that called our sample function and the control.\n        if (sampleLines[s] !== controlLines[c]) {\n          // In V8, the first line is describing the message but other VMs don't.\n          // If we're about to return the first line, and the control is also on the same\n          // line, that's a pretty good indicator that our sample threw at same line as\n          // the control. I.e. before we entered the sample frame. So we ignore this result.\n          // This can happen if you passed a class to function component, or non-function.\n          if (s !== 1 || c !== 1) {\n            do {\n              s--;\n              c--; // We may still have similar intermediate frames from the construct call.\n              // The next one that isn't the same should be our match though.\n\n              if (c < 0 || sampleLines[s] !== controlLines[c]) {\n                // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n                var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n                // but we have a user-provided \"displayName\"\n                // splice it in to make the stack more readable.\n\n\n                if (fn.displayName && _frame.includes('<anonymous>')) {\n                  _frame = _frame.replace('<anonymous>', fn.displayName);\n                }\n\n                {\n                  if (typeof fn === 'function') {\n                    componentFrameCache.set(fn, _frame);\n                  }\n                } // Return the line we found.\n\n\n                return _frame;\n              }\n            } while (s >= 1 && c >= 0);\n          }\n\n          break;\n        }\n      }\n    }\n  } finally {\n    reentry = false;\n\n    {\n      ReactCurrentDispatcher.current = previousDispatcher;\n      reenableLogs();\n    }\n\n    Error.prepareStackTrace = previousPrepareStackTrace;\n  } // Fallback to just using the name if we couldn't make it throw.\n\n\n  var name = fn ? fn.displayName || fn.name : '';\n  var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n  {\n    if (typeof fn === 'function') {\n      componentFrameCache.set(fn, syntheticFrame);\n    }\n  }\n\n  return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n  {\n    return describeNativeComponentFrame(fn, false);\n  }\n}\n\nfunction shouldConstruct(Component) {\n  var prototype = Component.prototype;\n  return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n  if (type == null) {\n    return '';\n  }\n\n  if (typeof type === 'function') {\n    {\n      return describeNativeComponentFrame(type, shouldConstruct(type));\n    }\n  }\n\n  if (typeof type === 'string') {\n    return describeBuiltInComponentFrame(type);\n  }\n\n  switch (type) {\n    case REACT_SUSPENSE_TYPE:\n      return describeBuiltInComponentFrame('Suspense');\n\n    case REACT_SUSPENSE_LIST_TYPE:\n      return describeBuiltInComponentFrame('SuspenseList');\n  }\n\n  if (typeof type === 'object') {\n    switch (type.$$typeof) {\n      case REACT_FORWARD_REF_TYPE:\n        return describeFunctionComponentFrame(type.render);\n\n      case REACT_MEMO_TYPE:\n        // Memo may contain any component type so we recursively resolve it.\n        return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n      case REACT_LAZY_TYPE:\n        {\n          var lazyComponent = type;\n          var payload = lazyComponent._payload;\n          var init = lazyComponent._init;\n\n          try {\n            // Lazy may contain any component type so we recursively resolve it.\n            return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n          } catch (x) {}\n        }\n    }\n  }\n\n  return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n  {\n    if (element) {\n      var owner = element._owner;\n      var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n      ReactDebugCurrentFrame.setExtraStackFrame(stack);\n    } else {\n      ReactDebugCurrentFrame.setExtraStackFrame(null);\n    }\n  }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n  {\n    // $FlowFixMe This is okay but Flow doesn't know it.\n    var has = Function.call.bind(hasOwnProperty);\n\n    for (var typeSpecName in typeSpecs) {\n      if (has(typeSpecs, typeSpecName)) {\n        var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n        // fail the render phase where it didn't fail before. So we log it.\n        // After these have been cleaned up, we'll let them throw.\n\n        try {\n          // This is intentionally an invariant that gets caught. It's the same\n          // behavior as without this statement except with a better message.\n          if (typeof typeSpecs[typeSpecName] !== 'function') {\n            // eslint-disable-next-line react-internal/prod-error-codes\n            var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n            err.name = 'Invariant Violation';\n            throw err;\n          }\n\n          error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n        } catch (ex) {\n          error$1 = ex;\n        }\n\n        if (error$1 && !(error$1 instanceof Error)) {\n          setCurrentlyValidatingElement(element);\n\n          error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n          setCurrentlyValidatingElement(null);\n        }\n\n        if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n          // Only monitor this failure once because there tends to be a lot of the\n          // same error.\n          loggedTypeFailures[error$1.message] = true;\n          setCurrentlyValidatingElement(element);\n\n          error('Failed %s type: %s', location, error$1.message);\n\n          setCurrentlyValidatingElement(null);\n        }\n      }\n    }\n  }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n  return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n  {\n    // toStringTag is needed for namespaced types like Temporal.Instant\n    var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n    var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n    return type;\n  }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n  {\n    try {\n      testStringCoercion(value);\n      return false;\n    } catch (e) {\n      return true;\n    }\n  }\n}\n\nfunction testStringCoercion(value) {\n  // If you ended up here by following an exception call stack, here's what's\n  // happened: you supplied an object or symbol value to React (as a prop, key,\n  // DOM attribute, CSS property, string ref, etc.) and when React tried to\n  // coerce it to a string using `'' + value`, an exception was thrown.\n  //\n  // The most common types that will cause this exception are `Symbol` instances\n  // and Temporal objects like `Temporal.Instant`. But any object that has a\n  // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n  // exception. (Library authors do this to prevent users from using built-in\n  // numeric operators like `+` or comparison operators like `>=` because custom\n  // methods are needed to perform accurate arithmetic or comparison.)\n  //\n  // To fix the problem, coerce this object or symbol value to a string before\n  // passing it to React. The most reliable way is usually `String(value)`.\n  //\n  // To find which value is throwing, check the browser or debugger console.\n  // Before this exception was thrown, there should be `console.error` output\n  // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n  // problem and how that type was used: key, atrribute, input value prop, etc.\n  // In most cases, this console output also shows the component and its\n  // ancestor components where the exception happened.\n  //\n  // eslint-disable-next-line react-internal/safe-string-coercion\n  return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n  {\n    if (willCoercionThrow(value)) {\n      error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n      return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n    }\n  }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n  key: true,\n  ref: true,\n  __self: true,\n  __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n  didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n  {\n    if (hasOwnProperty.call(config, 'ref')) {\n      var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n      if (getter && getter.isReactWarning) {\n        return false;\n      }\n    }\n  }\n\n  return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n  {\n    if (hasOwnProperty.call(config, 'key')) {\n      var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n      if (getter && getter.isReactWarning) {\n        return false;\n      }\n    }\n  }\n\n  return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n  {\n    if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n      var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n      if (!didWarnAboutStringRefs[componentName]) {\n        error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n        didWarnAboutStringRefs[componentName] = true;\n      }\n    }\n  }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n  {\n    var warnAboutAccessingKey = function () {\n      if (!specialPropKeyWarningShown) {\n        specialPropKeyWarningShown = true;\n\n        error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n      }\n    };\n\n    warnAboutAccessingKey.isReactWarning = true;\n    Object.defineProperty(props, 'key', {\n      get: warnAboutAccessingKey,\n      configurable: true\n    });\n  }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n  {\n    var warnAboutAccessingRef = function () {\n      if (!specialPropRefWarningShown) {\n        specialPropRefWarningShown = true;\n\n        error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n      }\n    };\n\n    warnAboutAccessingRef.isReactWarning = true;\n    Object.defineProperty(props, 'ref', {\n      get: warnAboutAccessingRef,\n      configurable: true\n    });\n  }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n  var element = {\n    // This tag allows us to uniquely identify this as a React Element\n    $$typeof: REACT_ELEMENT_TYPE,\n    // Built-in properties that belong on the element\n    type: type,\n    key: key,\n    ref: ref,\n    props: props,\n    // Record the component responsible for creating this element.\n    _owner: owner\n  };\n\n  {\n    // The validation flag is currently mutative. We put it on\n    // an external backing store so that we can freeze the whole object.\n    // This can be replaced with a WeakMap once they are implemented in\n    // commonly used development environments.\n    element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n    // the validation flag non-enumerable (where possible, which should\n    // include every environment we run tests in), so the test framework\n    // ignores it.\n\n    Object.defineProperty(element._store, 'validated', {\n      configurable: false,\n      enumerable: false,\n      writable: true,\n      value: false\n    }); // self and source are DEV only properties.\n\n    Object.defineProperty(element, '_self', {\n      configurable: false,\n      enumerable: false,\n      writable: false,\n      value: self\n    }); // Two elements created in two different places should be considered\n    // equal for testing purposes and therefore we hide it from enumeration.\n\n    Object.defineProperty(element, '_source', {\n      configurable: false,\n      enumerable: false,\n      writable: false,\n      value: source\n    });\n\n    if (Object.freeze) {\n      Object.freeze(element.props);\n      Object.freeze(element);\n    }\n  }\n\n  return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n  {\n    var propName; // Reserved names are extracted\n\n    var props = {};\n    var key = null;\n    var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n    // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n    // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n    // but as an intermediary step, we will use jsxDEV for everything except\n    // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n    // key is explicitly declared to be undefined or not.\n\n    if (maybeKey !== undefined) {\n      {\n        checkKeyStringCoercion(maybeKey);\n      }\n\n      key = '' + maybeKey;\n    }\n\n    if (hasValidKey(config)) {\n      {\n        checkKeyStringCoercion(config.key);\n      }\n\n      key = '' + config.key;\n    }\n\n    if (hasValidRef(config)) {\n      ref = config.ref;\n      warnIfStringRefCannotBeAutoConverted(config, self);\n    } // Remaining properties are added to a new props object\n\n\n    for (propName in config) {\n      if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n        props[propName] = config[propName];\n      }\n    } // Resolve default props\n\n\n    if (type && type.defaultProps) {\n      var defaultProps = type.defaultProps;\n\n      for (propName in defaultProps) {\n        if (props[propName] === undefined) {\n          props[propName] = defaultProps[propName];\n        }\n      }\n    }\n\n    if (key || ref) {\n      var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n      if (key) {\n        defineKeyPropWarningGetter(props, displayName);\n      }\n\n      if (ref) {\n        defineRefPropWarningGetter(props, displayName);\n      }\n    }\n\n    return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n  }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n  {\n    if (element) {\n      var owner = element._owner;\n      var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n      ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n    } else {\n      ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n    }\n  }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n  propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n  {\n    return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n  }\n}\n\nfunction getDeclarationErrorAddendum() {\n  {\n    if (ReactCurrentOwner$1.current) {\n      var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n      if (name) {\n        return '\\n\\nCheck the render method of `' + name + '`.';\n      }\n    }\n\n    return '';\n  }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n  {\n    if (source !== undefined) {\n      var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n      var lineNumber = source.lineNumber;\n      return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n    }\n\n    return '';\n  }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n  {\n    var info = getDeclarationErrorAddendum();\n\n    if (!info) {\n      var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n      if (parentName) {\n        info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n      }\n    }\n\n    return info;\n  }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n  {\n    if (!element._store || element._store.validated || element.key != null) {\n      return;\n    }\n\n    element._store.validated = true;\n    var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n    if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n      return;\n    }\n\n    ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n    // property, it may be the creator of the child that's responsible for\n    // assigning it a key.\n\n    var childOwner = '';\n\n    if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n      // Give the component that originally created this child.\n      childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n    }\n\n    setCurrentlyValidatingElement$1(element);\n\n    error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n    setCurrentlyValidatingElement$1(null);\n  }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n  {\n    if (typeof node !== 'object') {\n      return;\n    }\n\n    if (isArray(node)) {\n      for (var i = 0; i < node.length; i++) {\n        var child = node[i];\n\n        if (isValidElement(child)) {\n          validateExplicitKey(child, parentType);\n        }\n      }\n    } else if (isValidElement(node)) {\n      // This element was passed in a valid location.\n      if (node._store) {\n        node._store.validated = true;\n      }\n    } else if (node) {\n      var iteratorFn = getIteratorFn(node);\n\n      if (typeof iteratorFn === 'function') {\n        // Entry iterators used to provide implicit keys,\n        // but now we print a separate warning for them later.\n        if (iteratorFn !== node.entries) {\n          var iterator = iteratorFn.call(node);\n          var step;\n\n          while (!(step = iterator.next()).done) {\n            if (isValidElement(step.value)) {\n              validateExplicitKey(step.value, parentType);\n            }\n          }\n        }\n      }\n    }\n  }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n  {\n    var type = element.type;\n\n    if (type === null || type === undefined || typeof type === 'string') {\n      return;\n    }\n\n    var propTypes;\n\n    if (typeof type === 'function') {\n      propTypes = type.propTypes;\n    } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n    // Inner props are checked in the reconciler.\n    type.$$typeof === REACT_MEMO_TYPE)) {\n      propTypes = type.propTypes;\n    } else {\n      return;\n    }\n\n    if (propTypes) {\n      // Intentionally inside to avoid triggering lazy initializers:\n      var name = getComponentNameFromType(type);\n      checkPropTypes(propTypes, element.props, 'prop', name, element);\n    } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n      propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n      var _name = getComponentNameFromType(type);\n\n      error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n    }\n\n    if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n      error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n    }\n  }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n  {\n    var keys = Object.keys(fragment.props);\n\n    for (var i = 0; i < keys.length; i++) {\n      var key = keys[i];\n\n      if (key !== 'children' && key !== 'key') {\n        setCurrentlyValidatingElement$1(fragment);\n\n        error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n        setCurrentlyValidatingElement$1(null);\n        break;\n      }\n    }\n\n    if (fragment.ref !== null) {\n      setCurrentlyValidatingElement$1(fragment);\n\n      error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n      setCurrentlyValidatingElement$1(null);\n    }\n  }\n}\n\nvar didWarnAboutKeySpread = {};\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n  {\n    var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n    // succeed and there will likely be errors in render.\n\n    if (!validType) {\n      var info = '';\n\n      if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n        info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n      }\n\n      var sourceInfo = getSourceInfoErrorAddendum(source);\n\n      if (sourceInfo) {\n        info += sourceInfo;\n      } else {\n        info += getDeclarationErrorAddendum();\n      }\n\n      var typeString;\n\n      if (type === null) {\n        typeString = 'null';\n      } else if (isArray(type)) {\n        typeString = 'array';\n      } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n        typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n        info = ' Did you accidentally export a JSX literal instead of a component?';\n      } else {\n        typeString = typeof type;\n      }\n\n      error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n    }\n\n    var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n    // TODO: Drop this when these are no longer allowed as the type argument.\n\n    if (element == null) {\n      return element;\n    } // Skip key warning if the type isn't valid since our key validation logic\n    // doesn't expect a non-string/function type and can throw confusing errors.\n    // We don't want exception behavior to differ between dev and prod.\n    // (Rendering will throw with a helpful message and as soon as the type is\n    // fixed, the key warnings will appear.)\n\n\n    if (validType) {\n      var children = props.children;\n\n      if (children !== undefined) {\n        if (isStaticChildren) {\n          if (isArray(children)) {\n            for (var i = 0; i < children.length; i++) {\n              validateChildKeys(children[i], type);\n            }\n\n            if (Object.freeze) {\n              Object.freeze(children);\n            }\n          } else {\n            error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n          }\n        } else {\n          validateChildKeys(children, type);\n        }\n      }\n    }\n\n    {\n      if (hasOwnProperty.call(props, 'key')) {\n        var componentName = getComponentNameFromType(type);\n        var keys = Object.keys(props).filter(function (k) {\n          return k !== 'key';\n        });\n        var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n        if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n          var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n          error('A props object containing a \"key\" prop is being spread into JSX:\\n' + '  let props = %s;\\n' + '  <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + '  let props = %s;\\n' + '  <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n          didWarnAboutKeySpread[componentName + beforeExample] = true;\n        }\n      }\n    }\n\n    if (type === REACT_FRAGMENT_TYPE) {\n      validateFragmentProps(element);\n    } else {\n      validatePropTypes(element);\n    }\n\n    return element;\n  }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n  {\n    return jsxWithValidation(type, props, key, true);\n  }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n  {\n    return jsxWithValidation(type, props, key, false);\n  }\n}\n\nvar jsx =  jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs =  jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n  })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n  module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","var characterMap = {\n\t\"À\": \"A\",\n\t\"Á\": \"A\",\n\t\"Â\": \"A\",\n\t\"Ã\": \"A\",\n\t\"Ä\": \"A\",\n\t\"Å\": \"A\",\n\t\"Ấ\": \"A\",\n\t\"Ắ\": \"A\",\n\t\"Ẳ\": \"A\",\n\t\"Ẵ\": \"A\",\n\t\"Ặ\": \"A\",\n\t\"Æ\": \"AE\",\n\t\"Ầ\": \"A\",\n\t\"Ằ\": \"A\",\n\t\"Ȃ\": \"A\",\n\t\"Ả\": \"A\",\n\t\"Ạ\": \"A\",\n\t\"Ẩ\": \"A\",\n\t\"Ẫ\": \"A\",\n\t\"Ậ\": \"A\",\n\t\"Ç\": \"C\",\n\t\"Ḉ\": \"C\",\n\t\"È\": \"E\",\n\t\"É\": \"E\",\n\t\"Ê\": \"E\",\n\t\"Ë\": \"E\",\n\t\"Ế\": \"E\",\n\t\"Ḗ\": \"E\",\n\t\"Ề\": \"E\",\n\t\"Ḕ\": \"E\",\n\t\"Ḝ\": \"E\",\n\t\"Ȇ\": \"E\",\n\t\"Ẻ\": \"E\",\n\t\"Ẽ\": \"E\",\n\t\"Ẹ\": \"E\",\n\t\"Ể\": \"E\",\n\t\"Ễ\": \"E\",\n\t\"Ệ\": \"E\",\n\t\"Ì\": \"I\",\n\t\"Í\": \"I\",\n\t\"Î\": \"I\",\n\t\"Ï\": \"I\",\n\t\"Ḯ\": \"I\",\n\t\"Ȋ\": \"I\",\n\t\"Ỉ\": \"I\",\n\t\"Ị\": \"I\",\n\t\"Ð\": \"D\",\n\t\"Ñ\": \"N\",\n\t\"Ò\": \"O\",\n\t\"Ó\": \"O\",\n\t\"Ô\": \"O\",\n\t\"Õ\": \"O\",\n\t\"Ö\": \"O\",\n\t\"Ø\": \"O\",\n\t\"Ố\": \"O\",\n\t\"Ṍ\": \"O\",\n\t\"Ṓ\": \"O\",\n\t\"Ȏ\": \"O\",\n\t\"Ỏ\": \"O\",\n\t\"Ọ\": \"O\",\n\t\"Ổ\": \"O\",\n\t\"Ỗ\": \"O\",\n\t\"Ộ\": \"O\",\n\t\"Ờ\": \"O\",\n\t\"Ở\": \"O\",\n\t\"Ỡ\": \"O\",\n\t\"Ớ\": \"O\",\n\t\"Ợ\": \"O\",\n\t\"Ù\": \"U\",\n\t\"Ú\": \"U\",\n\t\"Û\": \"U\",\n\t\"Ü\": \"U\",\n\t\"Ủ\": \"U\",\n\t\"Ụ\": \"U\",\n\t\"Ử\": \"U\",\n\t\"Ữ\": \"U\",\n\t\"Ự\": \"U\",\n\t\"Ý\": \"Y\",\n\t\"à\": \"a\",\n\t\"á\": \"a\",\n\t\"â\": \"a\",\n\t\"ã\": \"a\",\n\t\"ä\": \"a\",\n\t\"å\": \"a\",\n\t\"ấ\": \"a\",\n\t\"ắ\": \"a\",\n\t\"ẳ\": \"a\",\n\t\"ẵ\": \"a\",\n\t\"ặ\": \"a\",\n\t\"æ\": \"ae\",\n\t\"ầ\": \"a\",\n\t\"ằ\": \"a\",\n\t\"ȃ\": \"a\",\n\t\"ả\": \"a\",\n\t\"ạ\": \"a\",\n\t\"ẩ\": \"a\",\n\t\"ẫ\": \"a\",\n\t\"ậ\": \"a\",\n\t\"ç\": \"c\",\n\t\"ḉ\": \"c\",\n\t\"è\": \"e\",\n\t\"é\": \"e\",\n\t\"ê\": \"e\",\n\t\"ë\": \"e\",\n\t\"ế\": \"e\",\n\t\"ḗ\": \"e\",\n\t\"ề\": \"e\",\n\t\"ḕ\": \"e\",\n\t\"ḝ\": \"e\",\n\t\"ȇ\": \"e\",\n\t\"ẻ\": \"e\",\n\t\"ẽ\": \"e\",\n\t\"ẹ\": \"e\",\n\t\"ể\": \"e\",\n\t\"ễ\": \"e\",\n\t\"ệ\": \"e\",\n\t\"ì\": \"i\",\n\t\"í\": \"i\",\n\t\"î\": \"i\",\n\t\"ï\": \"i\",\n\t\"ḯ\": \"i\",\n\t\"ȋ\": \"i\",\n\t\"ỉ\": \"i\",\n\t\"ị\": \"i\",\n\t\"ð\": \"d\",\n\t\"ñ\": \"n\",\n\t\"ò\": \"o\",\n\t\"ó\": \"o\",\n\t\"ô\": \"o\",\n\t\"õ\": \"o\",\n\t\"ö\": \"o\",\n\t\"ø\": \"o\",\n\t\"ố\": \"o\",\n\t\"ṍ\": \"o\",\n\t\"ṓ\": \"o\",\n\t\"ȏ\": \"o\",\n\t\"ỏ\": \"o\",\n\t\"ọ\": \"o\",\n\t\"ổ\": \"o\",\n\t\"ỗ\": \"o\",\n\t\"ộ\": \"o\",\n\t\"ờ\": \"o\",\n\t\"ở\": \"o\",\n\t\"ỡ\": \"o\",\n\t\"ớ\": \"o\",\n\t\"ợ\": \"o\",\n\t\"ù\": \"u\",\n\t\"ú\": \"u\",\n\t\"û\": \"u\",\n\t\"ü\": \"u\",\n\t\"ủ\": \"u\",\n\t\"ụ\": \"u\",\n\t\"ử\": \"u\",\n\t\"ữ\": \"u\",\n\t\"ự\": \"u\",\n\t\"ý\": \"y\",\n\t\"ÿ\": \"y\",\n\t\"Ā\": \"A\",\n\t\"ā\": \"a\",\n\t\"Ă\": \"A\",\n\t\"ă\": \"a\",\n\t\"Ą\": \"A\",\n\t\"ą\": \"a\",\n\t\"Ć\": \"C\",\n\t\"ć\": \"c\",\n\t\"Ĉ\": \"C\",\n\t\"ĉ\": \"c\",\n\t\"Ċ\": \"C\",\n\t\"ċ\": \"c\",\n\t\"Č\": \"C\",\n\t\"č\": \"c\",\n\t\"C̆\": \"C\",\n\t\"c̆\": \"c\",\n\t\"Ď\": \"D\",\n\t\"ď\": \"d\",\n\t\"Đ\": \"D\",\n\t\"đ\": \"d\",\n\t\"Ē\": \"E\",\n\t\"ē\": \"e\",\n\t\"Ĕ\": \"E\",\n\t\"ĕ\": \"e\",\n\t\"Ė\": \"E\",\n\t\"ė\": \"e\",\n\t\"Ę\": \"E\",\n\t\"ę\": \"e\",\n\t\"Ě\": \"E\",\n\t\"ě\": \"e\",\n\t\"Ĝ\": \"G\",\n\t\"Ǵ\": \"G\",\n\t\"ĝ\": \"g\",\n\t\"ǵ\": \"g\",\n\t\"Ğ\": \"G\",\n\t\"ğ\": \"g\",\n\t\"Ġ\": \"G\",\n\t\"ġ\": \"g\",\n\t\"Ģ\": \"G\",\n\t\"ģ\": \"g\",\n\t\"Ĥ\": \"H\",\n\t\"ĥ\": \"h\",\n\t\"Ħ\": \"H\",\n\t\"ħ\": \"h\",\n\t\"Ḫ\": \"H\",\n\t\"ḫ\": \"h\",\n\t\"Ĩ\": \"I\",\n\t\"ĩ\": \"i\",\n\t\"Ī\": \"I\",\n\t\"ī\": \"i\",\n\t\"Ĭ\": \"I\",\n\t\"ĭ\": \"i\",\n\t\"Į\": \"I\",\n\t\"į\": \"i\",\n\t\"İ\": \"I\",\n\t\"ı\": \"i\",\n\t\"IJ\": \"IJ\",\n\t\"ij\": \"ij\",\n\t\"Ĵ\": \"J\",\n\t\"ĵ\": \"j\",\n\t\"Ķ\": \"K\",\n\t\"ķ\": \"k\",\n\t\"Ḱ\": \"K\",\n\t\"ḱ\": \"k\",\n\t\"K̆\": \"K\",\n\t\"k̆\": \"k\",\n\t\"Ĺ\": \"L\",\n\t\"ĺ\": \"l\",\n\t\"Ļ\": \"L\",\n\t\"ļ\": \"l\",\n\t\"Ľ\": \"L\",\n\t\"ľ\": \"l\",\n\t\"Ŀ\": \"L\",\n\t\"ŀ\": \"l\",\n\t\"Ł\": \"l\",\n\t\"ł\": \"l\",\n\t\"Ḿ\": \"M\",\n\t\"ḿ\": \"m\",\n\t\"M̆\": \"M\",\n\t\"m̆\": \"m\",\n\t\"Ń\": \"N\",\n\t\"ń\": \"n\",\n\t\"Ņ\": \"N\",\n\t\"ņ\": \"n\",\n\t\"Ň\": \"N\",\n\t\"ň\": \"n\",\n\t\"ʼn\": \"n\",\n\t\"N̆\": \"N\",\n\t\"n̆\": \"n\",\n\t\"Ō\": \"O\",\n\t\"ō\": \"o\",\n\t\"Ŏ\": \"O\",\n\t\"ŏ\": \"o\",\n\t\"Ő\": \"O\",\n\t\"ő\": \"o\",\n\t\"Œ\": \"OE\",\n\t\"œ\": \"oe\",\n\t\"P̆\": \"P\",\n\t\"p̆\": \"p\",\n\t\"Ŕ\": \"R\",\n\t\"ŕ\": \"r\",\n\t\"Ŗ\": \"R\",\n\t\"ŗ\": \"r\",\n\t\"Ř\": \"R\",\n\t\"ř\": \"r\",\n\t\"R̆\": \"R\",\n\t\"r̆\": \"r\",\n\t\"Ȓ\": \"R\",\n\t\"ȓ\": \"r\",\n\t\"Ś\": \"S\",\n\t\"ś\": \"s\",\n\t\"Ŝ\": \"S\",\n\t\"ŝ\": \"s\",\n\t\"Ş\": \"S\",\n\t\"Ș\": \"S\",\n\t\"ș\": \"s\",\n\t\"ş\": \"s\",\n\t\"Š\": \"S\",\n\t\"š\": \"s\",\n\t\"Ţ\": \"T\",\n\t\"ţ\": \"t\",\n\t\"ț\": \"t\",\n\t\"Ț\": \"T\",\n\t\"Ť\": \"T\",\n\t\"ť\": \"t\",\n\t\"Ŧ\": \"T\",\n\t\"ŧ\": \"t\",\n\t\"T̆\": \"T\",\n\t\"t̆\": \"t\",\n\t\"Ũ\": \"U\",\n\t\"ũ\": \"u\",\n\t\"Ū\": \"U\",\n\t\"ū\": \"u\",\n\t\"��\": \"U\",\n\t\"ŭ\": \"u\",\n\t\"Ů\": \"U\",\n\t\"ů\": \"u\",\n\t\"Ű\": \"U\",\n\t\"ű\": \"u\",\n\t\"Ų\": \"U\",\n\t\"ų\": \"u\",\n\t\"Ȗ\": \"U\",\n\t\"ȗ\": \"u\",\n\t\"V̆\": \"V\",\n\t\"v̆\": \"v\",\n\t\"Ŵ\": \"W\",\n\t\"ŵ\": \"w\",\n\t\"Ẃ\": \"W\",\n\t\"ẃ\": \"w\",\n\t\"X̆\": \"X\",\n\t\"x̆\": \"x\",\n\t\"Ŷ\": \"Y\",\n\t\"ŷ\": \"y\",\n\t\"Ÿ\": \"Y\",\n\t\"Y̆\": \"Y\",\n\t\"y̆\": \"y\",\n\t\"Ź\": \"Z\",\n\t\"ź\": \"z\",\n\t\"Ż\": \"Z\",\n\t\"ż\": \"z\",\n\t\"Ž\": \"Z\",\n\t\"ž\": \"z\",\n\t\"ſ\": \"s\",\n\t\"ƒ\": \"f\",\n\t\"Ơ\": \"O\",\n\t\"ơ\": \"o\",\n\t\"Ư\": \"U\",\n\t\"ư\": \"u\",\n\t\"Ǎ\": \"A\",\n\t\"ǎ\": \"a\",\n\t\"Ǐ\": \"I\",\n\t\"ǐ\": \"i\",\n\t\"Ǒ\": \"O\",\n\t\"ǒ\": \"o\",\n\t\"Ǔ\": \"U\",\n\t\"ǔ\": \"u\",\n\t\"Ǖ\": \"U\",\n\t\"ǖ\": \"u\",\n\t\"Ǘ\": \"U\",\n\t\"ǘ\": \"u\",\n\t\"Ǚ\": \"U\",\n\t\"ǚ\": \"u\",\n\t\"Ǜ\": \"U\",\n\t\"ǜ\": \"u\",\n\t\"Ứ\": \"U\",\n\t\"ứ\": \"u\",\n\t\"Ṹ\": \"U\",\n\t\"ṹ\": \"u\",\n\t\"Ǻ\": \"A\",\n\t\"ǻ\": \"a\",\n\t\"Ǽ\": \"AE\",\n\t\"ǽ\": \"ae\",\n\t\"Ǿ\": \"O\",\n\t\"ǿ\": \"o\",\n\t\"Þ\": \"TH\",\n\t\"þ\": \"th\",\n\t\"Ṕ\": \"P\",\n\t\"ṕ\": \"p\",\n\t\"Ṥ\": \"S\",\n\t\"ṥ\": \"s\",\n\t\"X́\": \"X\",\n\t\"x́\": \"x\",\n\t\"Ѓ\": \"Г\",\n\t\"ѓ\": \"г\",\n\t\"Ќ\": \"К\",\n\t\"ќ\": \"к\",\n\t\"A̋\": \"A\",\n\t\"a̋\": \"a\",\n\t\"E̋\": \"E\",\n\t\"e̋\": \"e\",\n\t\"I̋\": \"I\",\n\t\"i̋\": \"i\",\n\t\"Ǹ\": \"N\",\n\t\"ǹ\": \"n\",\n\t\"Ồ\": \"O\",\n\t\"ồ\": \"o\",\n\t\"Ṑ\": \"O\",\n\t\"ṑ\": \"o\",\n\t\"Ừ\": \"U\",\n\t\"ừ\": \"u\",\n\t\"Ẁ\": \"W\",\n\t\"ẁ\": \"w\",\n\t\"Ỳ\": \"Y\",\n\t\"ỳ\": \"y\",\n\t\"Ȁ\": \"A\",\n\t\"ȁ\": \"a\",\n\t\"Ȅ\": \"E\",\n\t\"ȅ\": \"e\",\n\t\"Ȉ\": \"I\",\n\t\"ȉ\": \"i\",\n\t\"Ȍ\": \"O\",\n\t\"ȍ\": \"o\",\n\t\"Ȑ\": \"R\",\n\t\"ȑ\": \"r\",\n\t\"Ȕ\": \"U\",\n\t\"ȕ\": \"u\",\n\t\"B̌\": \"B\",\n\t\"b̌\": \"b\",\n\t\"Č̣\": \"C\",\n\t\"č̣\": \"c\",\n\t\"Ê̌\": \"E\",\n\t\"ê̌\": \"e\",\n\t\"F̌\": \"F\",\n\t\"f̌\": \"f\",\n\t\"Ǧ\": \"G\",\n\t\"ǧ\": \"g\",\n\t\"Ȟ\": \"H\",\n\t\"ȟ\": \"h\",\n\t\"J̌\": \"J\",\n\t\"ǰ\": \"j\",\n\t\"Ǩ\": \"K\",\n\t\"ǩ\": \"k\",\n\t\"M̌\": \"M\",\n\t\"m̌\": \"m\",\n\t\"P̌\": \"P\",\n\t\"p̌\": \"p\",\n\t\"Q̌\": \"Q\",\n\t\"q̌\": \"q\",\n\t\"Ř̩\": \"R\",\n\t\"ř̩\": \"r\",\n\t\"Ṧ\": \"S\",\n\t\"ṧ\": \"s\",\n\t\"V̌\": \"V\",\n\t\"v̌\": \"v\",\n\t\"W̌\": \"W\",\n\t\"w̌\": \"w\",\n\t\"X̌\": \"X\",\n\t\"x̌\": \"x\",\n\t\"Y̌\": \"Y\",\n\t\"y̌\": \"y\",\n\t\"A̧\": \"A\",\n\t\"a̧\": \"a\",\n\t\"B̧\": \"B\",\n\t\"b̧\": \"b\",\n\t\"Ḑ\": \"D\",\n\t\"ḑ\": \"d\",\n\t\"Ȩ\": \"E\",\n\t\"ȩ\": \"e\",\n\t\"Ɛ̧\": \"E\",\n\t\"ɛ̧\": \"e\",\n\t\"Ḩ\": \"H\",\n\t\"ḩ\": \"h\",\n\t\"I̧\": \"I\",\n\t\"i̧\": \"i\",\n\t\"Ɨ̧\": \"I\",\n\t\"ɨ̧\": \"i\",\n\t\"M̧\": \"M\",\n\t\"m̧\": \"m\",\n\t\"O̧\": \"O\",\n\t\"o̧\": \"o\",\n\t\"Q̧\": \"Q\",\n\t\"q̧\": \"q\",\n\t\"U̧\": \"U\",\n\t\"u̧\": \"u\",\n\t\"X̧\": \"X\",\n\t\"x̧\": \"x\",\n\t\"Z̧\": \"Z\",\n\t\"z̧\": \"z\",\n\t\"й\":\"и\",\n\t\"Й\":\"И\",\n\t\"ё\":\"е\",\n\t\"Ё\":\"Е\",\n};\n\nvar chars = Object.keys(characterMap).join('|');\nvar allAccents = new RegExp(chars, 'g');\nvar firstAccent = new RegExp(chars, '');\n\nfunction matcher(match) {\n\treturn characterMap[match];\n}\n\nvar removeAccents = function(string) {\n\treturn string.replace(allAccents, matcher);\n};\n\nvar hasAccents = function(string) {\n\treturn !!string.match(firstAccent);\n};\n\nmodule.exports = removeAccents;\nmodule.exports.has = hasAccents;\nmodule.exports.remove = removeAccents;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n\n          'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n    'function'\n) {\n  __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n          var React = require('react');\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n  {\n    {\n      for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n        args[_key2 - 1] = arguments[_key2];\n      }\n\n      printWarning('error', format, args);\n    }\n  }\n}\n\nfunction printWarning(level, format, args) {\n  // When changing this logic, you might want to also\n  // update consoleWithStackDev.www.js as well.\n  {\n    var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n    var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n    if (stack !== '') {\n      format += '%s';\n      args = args.concat([stack]);\n    } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n    var argsWithFormat = args.map(function (item) {\n      return String(item);\n    }); // Careful: RN currently depends on this prefix\n\n    argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n    // breaks IE9: https://github.com/facebook/react/issues/13610\n    // eslint-disable-next-line react-internal/no-production-logging\n\n    Function.prototype.apply.call(console[level], console, argsWithFormat);\n  }\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n  return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n  ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n// dispatch for CommonJS interop named imports.\n\nvar useState = React.useState,\n    useEffect = React.useEffect,\n    useLayoutEffect = React.useLayoutEffect,\n    useDebugValue = React.useDebugValue;\nvar didWarnOld18Alpha = false;\nvar didWarnUncachedGetSnapshot = false; // Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\n\nfunction useSyncExternalStore(subscribe, getSnapshot, // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n// React do not expose a way to check if we're hydrating. So users of the shim\n// will need to track that themselves and return the correct value\n// from `getSnapshot`.\ngetServerSnapshot) {\n  {\n    if (!didWarnOld18Alpha) {\n      if (React.startTransition !== undefined) {\n        didWarnOld18Alpha = true;\n\n        error('You are using an outdated, pre-release alpha of React 18 that ' + 'does not support useSyncExternalStore. The ' + 'use-sync-external-store shim will not work correctly. Upgrade ' + 'to a newer pre-release.');\n      }\n    }\n  } // Read the current snapshot from the store on every render. Again, this\n  // breaks the rules of React, and only works here because of specific\n  // implementation details, most importantly that updates are\n  // always synchronous.\n\n\n  var value = getSnapshot();\n\n  {\n    if (!didWarnUncachedGetSnapshot) {\n      var cachedValue = getSnapshot();\n\n      if (!objectIs(value, cachedValue)) {\n        error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n        didWarnUncachedGetSnapshot = true;\n      }\n    }\n  } // Because updates are synchronous, we don't queue them. Instead we force a\n  // re-render whenever the subscribed state changes by updating an some\n  // arbitrary useState hook. Then, during render, we call getSnapshot to read\n  // the current value.\n  //\n  // Because we don't actually use the state returned by the useState hook, we\n  // can save a bit of memory by storing other stuff in that slot.\n  //\n  // To implement the early bailout, we need to track some things on a mutable\n  // object. Usually, we would put that in a useRef hook, but we can stash it in\n  // our useState hook instead.\n  //\n  // To force a re-render, we call forceUpdate({inst}). That works because the\n  // new object always fails an equality check.\n\n\n  var _useState = useState({\n    inst: {\n      value: value,\n      getSnapshot: getSnapshot\n    }\n  }),\n      inst = _useState[0].inst,\n      forceUpdate = _useState[1]; // Track the latest getSnapshot function with a ref. This needs to be updated\n  // in the layout phase so we can access it during the tearing check that\n  // happens on subscribe.\n\n\n  useLayoutEffect(function () {\n    inst.value = value;\n    inst.getSnapshot = getSnapshot; // Whenever getSnapshot or subscribe changes, we need to check in the\n    // commit phase if there was an interleaved mutation. In concurrent mode\n    // this can happen all the time, but even in synchronous mode, an earlier\n    // effect may have mutated the store.\n\n    if (checkIfSnapshotChanged(inst)) {\n      // Force a re-render.\n      forceUpdate({\n        inst: inst\n      });\n    }\n  }, [subscribe, value, getSnapshot]);\n  useEffect(function () {\n    // Check for changes right before subscribing. Subsequent changes will be\n    // detected in the subscription handler.\n    if (checkIfSnapshotChanged(inst)) {\n      // Force a re-render.\n      forceUpdate({\n        inst: inst\n      });\n    }\n\n    var handleStoreChange = function () {\n      // TODO: Because there is no cross-renderer API for batching updates, it's\n      // up to the consumer of this library to wrap their subscription event\n      // with unstable_batchedUpdates. Should we try to detect when this isn't\n      // the case and print a warning in development?\n      // The store changed. Check if the snapshot changed since the last time we\n      // read from the store.\n      if (checkIfSnapshotChanged(inst)) {\n        // Force a re-render.\n        forceUpdate({\n          inst: inst\n        });\n      }\n    }; // Subscribe to the store and return a clean-up function.\n\n\n    return subscribe(handleStoreChange);\n  }, [subscribe]);\n  useDebugValue(value);\n  return value;\n}\n\nfunction checkIfSnapshotChanged(inst) {\n  var latestGetSnapshot = inst.getSnapshot;\n  var prevValue = inst.value;\n\n  try {\n    var nextValue = latestGetSnapshot();\n    return !objectIs(prevValue, nextValue);\n  } catch (error) {\n    return true;\n  }\n}\n\nfunction useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) {\n  // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n  // React do not expose a way to check if we're hydrating. So users of the shim\n  // will need to track that themselves and return the correct value\n  // from `getSnapshot`.\n  return getSnapshot();\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar isServerEnvironment = !canUseDOM;\n\nvar shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore;\nvar useSyncExternalStore$2 = React.useSyncExternalStore !== undefined ? React.useSyncExternalStore : shim;\n\nexports.useSyncExternalStore = useSyncExternalStore$2;\n          /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n    'function'\n) {\n  __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n        \n  })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n  module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","module.exports = window[\"React\"];","module.exports = window[\"ReactDOM\"];","module.exports = window[\"wp\"][\"apiFetch\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"compose\"];","module.exports = window[\"wp\"][\"coreData\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"date\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"i18n\"];","module.exports = window[\"wp\"][\"notices\"];","module.exports = window[\"wp\"][\"primitives\"];","module.exports = window[\"wp\"][\"privateApis\"];","module.exports = window[\"wp\"][\"url\"];","\"use client\";\nimport {\n  batch,\n  createStore,\n  init,\n  setup,\n  throwOnConflictingProps\n} from \"./EAHJFCU4.js\";\nimport {\n  chain,\n  defaultValue\n} from \"./Y3OOHFCN.js\";\nimport {\n  getDocument\n} from \"./DLOEKDPY.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/collection/collection-store.ts\nfunction isElementPreceding(a, b) {\n  return Boolean(\n    b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING\n  );\n}\nfunction sortBasedOnDOMPosition(items) {\n  const pairs = items.map((item, index) => [index, item]);\n  let isOrderDifferent = false;\n  pairs.sort(([indexA, a], [indexB, b]) => {\n    const elementA = a.element;\n    const elementB = b.element;\n    if (elementA === elementB)\n      return 0;\n    if (!elementA || !elementB)\n      return 0;\n    if (isElementPreceding(elementA, elementB)) {\n      if (indexA > indexB) {\n        isOrderDifferent = true;\n      }\n      return -1;\n    }\n    if (indexA < indexB) {\n      isOrderDifferent = true;\n    }\n    return 1;\n  });\n  if (isOrderDifferent) {\n    return pairs.map(([_, item]) => item);\n  }\n  return items;\n}\nfunction getCommonParent(items) {\n  var _a;\n  const firstItem = items.find((item) => !!item.element);\n  const lastItem = [...items].reverse().find((item) => !!item.element);\n  let parentElement = (_a = firstItem == null ? void 0 : firstItem.element) == null ? void 0 : _a.parentElement;\n  while (parentElement && (lastItem == null ? void 0 : lastItem.element)) {\n    const parent = parentElement;\n    if (lastItem && parent.contains(lastItem.element)) {\n      return parentElement;\n    }\n    parentElement = parentElement.parentElement;\n  }\n  return getDocument(parentElement).body;\n}\nfunction getPrivateStore(store) {\n  return store == null ? void 0 : store.__unstablePrivateStore;\n}\nfunction createCollectionStore(props = {}) {\n  var _a;\n  throwOnConflictingProps(props, props.store);\n  const syncState = (_a = props.store) == null ? void 0 : _a.getState();\n  const items = defaultValue(\n    props.items,\n    syncState == null ? void 0 : syncState.items,\n    props.defaultItems,\n    []\n  );\n  const itemsMap = new Map(items.map((item) => [item.id, item]));\n  const initialState = {\n    items,\n    renderedItems: defaultValue(syncState == null ? void 0 : syncState.renderedItems, [])\n  };\n  const syncPrivateStore = getPrivateStore(props.store);\n  const privateStore = createStore(\n    { items, renderedItems: initialState.renderedItems },\n    syncPrivateStore\n  );\n  const collection = createStore(initialState, props.store);\n  const sortItems = (renderedItems) => {\n    const sortedItems = sortBasedOnDOMPosition(renderedItems);\n    privateStore.setState(\"renderedItems\", sortedItems);\n    collection.setState(\"renderedItems\", sortedItems);\n  };\n  setup(collection, () => init(privateStore));\n  setup(privateStore, () => {\n    return batch(privateStore, [\"items\"], (state) => {\n      collection.setState(\"items\", state.items);\n    });\n  });\n  setup(privateStore, () => {\n    return batch(privateStore, [\"renderedItems\"], (state) => {\n      let firstRun = true;\n      let raf = requestAnimationFrame(() => {\n        const { renderedItems } = collection.getState();\n        if (state.renderedItems === renderedItems)\n          return;\n        sortItems(state.renderedItems);\n      });\n      if (typeof IntersectionObserver !== \"function\") {\n        return () => cancelAnimationFrame(raf);\n      }\n      const ioCallback = () => {\n        if (firstRun) {\n          firstRun = false;\n          return;\n        }\n        cancelAnimationFrame(raf);\n        raf = requestAnimationFrame(() => sortItems(state.renderedItems));\n      };\n      const root = getCommonParent(state.renderedItems);\n      const observer = new IntersectionObserver(ioCallback, { root });\n      for (const item of state.renderedItems) {\n        if (!item.element)\n          continue;\n        observer.observe(item.element);\n      }\n      return () => {\n        cancelAnimationFrame(raf);\n        observer.disconnect();\n      };\n    });\n  });\n  const mergeItem = (item, setItems, canDeleteFromMap = false) => {\n    let prevItem;\n    setItems((items2) => {\n      const index = items2.findIndex(({ id }) => id === item.id);\n      const nextItems = items2.slice();\n      if (index !== -1) {\n        prevItem = items2[index];\n        const nextItem = __spreadValues(__spreadValues({}, prevItem), item);\n        nextItems[index] = nextItem;\n        itemsMap.set(item.id, nextItem);\n      } else {\n        nextItems.push(item);\n        itemsMap.set(item.id, item);\n      }\n      return nextItems;\n    });\n    const unmergeItem = () => {\n      setItems((items2) => {\n        if (!prevItem) {\n          if (canDeleteFromMap) {\n            itemsMap.delete(item.id);\n          }\n          return items2.filter(({ id }) => id !== item.id);\n        }\n        const index = items2.findIndex(({ id }) => id === item.id);\n        if (index === -1)\n          return items2;\n        const nextItems = items2.slice();\n        nextItems[index] = prevItem;\n        itemsMap.set(item.id, prevItem);\n        return nextItems;\n      });\n    };\n    return unmergeItem;\n  };\n  const registerItem = (item) => mergeItem(\n    item,\n    (getItems) => privateStore.setState(\"items\", getItems),\n    true\n  );\n  return __spreadProps(__spreadValues({}, collection), {\n    registerItem,\n    renderItem: (item) => chain(\n      registerItem(item),\n      mergeItem(\n        item,\n        (getItems) => privateStore.setState(\"renderedItems\", getItems)\n      )\n    ),\n    item: (id) => {\n      if (!id)\n        return null;\n      let item = itemsMap.get(id);\n      if (!item) {\n        const { items: items2 } = collection.getState();\n        item = items2.find((item2) => item2.id === id);\n        if (item) {\n          itemsMap.set(id, item);\n        }\n      }\n      return item || null;\n    },\n    // @ts-expect-error Internal\n    __unstablePrivateStore: privateStore\n  });\n}\n\nexport {\n  createCollectionStore\n};\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n  for (var prop in b || (b = {}))\n    if (__hasOwnProp.call(b, prop))\n      __defNormalProp(a, prop, b[prop]);\n  if (__getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(b)) {\n      if (__propIsEnum.call(b, prop))\n        __defNormalProp(a, prop, b[prop]);\n    }\n  return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n  var target = {};\n  for (var prop in source)\n    if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n      target[prop] = source[prop];\n  if (source != null && __getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(source)) {\n      if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n        target[prop] = source[prop];\n    }\n  return target;\n};\n\nexport {\n  __spreadValues,\n  __spreadProps,\n  __objRest\n};\n","\"use client\";\n\n// src/utils/array.ts\nfunction toArray(arg) {\n  if (Array.isArray(arg)) {\n    return arg;\n  }\n  return typeof arg !== \"undefined\" ? [arg] : [];\n}\nfunction addItemToArray(array, item, index = -1) {\n  if (!(index in array)) {\n    return [...array, item];\n  }\n  return [...array.slice(0, index), item, ...array.slice(index)];\n}\nfunction flatten2DArray(array) {\n  const flattened = [];\n  for (const row of array) {\n    flattened.push(...row);\n  }\n  return flattened;\n}\nfunction reverseArray(array) {\n  return array.slice().reverse();\n}\n\nexport {\n  toArray,\n  addItemToArray,\n  flatten2DArray,\n  reverseArray\n};\n","\"use client\";\nimport {\n  createDialogStore\n} from \"./SX2XFD6A.js\";\nimport {\n  createStore,\n  mergeStore,\n  omit,\n  throwOnConflictingProps\n} from \"./EAHJFCU4.js\";\nimport {\n  defaultValue\n} from \"./Y3OOHFCN.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/popover/popover-store.ts\nfunction createPopoverStore(_a = {}) {\n  var _b = _a, {\n    popover: otherPopover\n  } = _b, props = __objRest(_b, [\n    \"popover\"\n  ]);\n  const store = mergeStore(\n    props.store,\n    omit(otherPopover, [\n      \"arrowElement\",\n      \"anchorElement\",\n      \"contentElement\",\n      \"popoverElement\",\n      \"disclosureElement\"\n    ])\n  );\n  throwOnConflictingProps(props, store);\n  const syncState = store == null ? void 0 : store.getState();\n  const dialog = createDialogStore(__spreadProps(__spreadValues({}, props), { store }));\n  const placement = defaultValue(\n    props.placement,\n    syncState == null ? void 0 : syncState.placement,\n    \"bottom\"\n  );\n  const initialState = __spreadProps(__spreadValues({}, dialog.getState()), {\n    placement,\n    currentPlacement: placement,\n    anchorElement: defaultValue(syncState == null ? void 0 : syncState.anchorElement, null),\n    popoverElement: defaultValue(syncState == null ? void 0 : syncState.popoverElement, null),\n    arrowElement: defaultValue(syncState == null ? void 0 : syncState.arrowElement, null),\n    rendered: Symbol(\"rendered\")\n  });\n  const popover = createStore(initialState, dialog, store);\n  return __spreadProps(__spreadValues(__spreadValues({}, dialog), popover), {\n    setAnchorElement: (element) => popover.setState(\"anchorElement\", element),\n    setPopoverElement: (element) => popover.setState(\"popoverElement\", element),\n    setArrowElement: (element) => popover.setState(\"arrowElement\", element),\n    render: () => popover.setState(\"rendered\", Symbol(\"rendered\"))\n  });\n}\n\nexport {\n  createPopoverStore\n};\n","\"use client\";\n\n// src/utils/dom.ts\nvar canUseDOM = checkIsBrowser();\nfunction checkIsBrowser() {\n  var _a;\n  return typeof window !== \"undefined\" && !!((_a = window.document) == null ? void 0 : _a.createElement);\n}\nfunction getDocument(node) {\n  return node ? node.ownerDocument || node : document;\n}\nfunction getWindow(node) {\n  return getDocument(node).defaultView || window;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getDocument(node);\n  if (!(activeElement == null ? void 0 : activeElement.nodeName)) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(\n      activeElement.contentDocument.body,\n      activeDescendant\n    );\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction contains(parent, child) {\n  return parent === child || parent.contains(child);\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nfunction isButton(element) {\n  const tagName = element.tagName.toLowerCase();\n  if (tagName === \"button\")\n    return true;\n  if (tagName === \"input\" && element.type) {\n    return buttonInputTypes.indexOf(element.type) !== -1;\n  }\n  return false;\n}\nvar buttonInputTypes = [\n  \"button\",\n  \"color\",\n  \"file\",\n  \"image\",\n  \"reset\",\n  \"submit\"\n];\nfunction matches(element, selectors) {\n  if (\"matches\" in element) {\n    return element.matches(selectors);\n  }\n  if (\"msMatchesSelector\" in element) {\n    return element.msMatchesSelector(selectors);\n  }\n  return element.webkitMatchesSelector(selectors);\n}\nfunction isVisible(element) {\n  const htmlElement = element;\n  return htmlElement.offsetWidth > 0 || htmlElement.offsetHeight > 0 || element.getClientRects().length > 0;\n}\nfunction closest(element, selectors) {\n  if (\"closest\" in element)\n    return element.closest(selectors);\n  do {\n    if (matches(element, selectors))\n      return element;\n    element = element.parentElement || element.parentNode;\n  } while (element !== null && element.nodeType === 1);\n  return null;\n}\nfunction isTextField(element) {\n  try {\n    const isTextInput = element instanceof HTMLInputElement && element.selectionStart !== null;\n    const isTextArea = element.tagName === \"TEXTAREA\";\n    return isTextInput || isTextArea || false;\n  } catch (error) {\n    return false;\n  }\n}\nfunction getPopupRole(element, fallback) {\n  const allowedPopupRoles = [\"dialog\", \"menu\", \"listbox\", \"tree\", \"grid\"];\n  const role = element == null ? void 0 : element.getAttribute(\"role\");\n  if (role && allowedPopupRoles.indexOf(role) !== -1) {\n    return role;\n  }\n  return fallback;\n}\nfunction getPopupItemRole(element, fallback) {\n  var _a;\n  const itemRoleByPopupRole = {\n    menu: \"menuitem\",\n    listbox: \"option\",\n    tree: \"treeitem\",\n    grid: \"gridcell\"\n  };\n  const popupRole = getPopupRole(element);\n  if (!popupRole)\n    return fallback;\n  const key = popupRole;\n  return (_a = itemRoleByPopupRole[key]) != null ? _a : fallback;\n}\nfunction getTextboxSelection(element) {\n  let start = 0;\n  let end = 0;\n  if (isTextField(element)) {\n    start = element.selectionStart || 0;\n    end = element.selectionEnd || 0;\n  } else if (element.isContentEditable) {\n    const selection = getDocument(element).getSelection();\n    if ((selection == null ? void 0 : selection.rangeCount) && selection.anchorNode && contains(element, selection.anchorNode) && selection.focusNode && contains(element, selection.focusNode)) {\n      const range = selection.getRangeAt(0);\n      const nextRange = range.cloneRange();\n      nextRange.selectNodeContents(element);\n      nextRange.setEnd(range.startContainer, range.startOffset);\n      start = nextRange.toString().length;\n      nextRange.setEnd(range.endContainer, range.endOffset);\n      end = nextRange.toString().length;\n    }\n  }\n  return { start, end };\n}\nfunction scrollIntoViewIfNeeded(element, arg) {\n  if (isPartiallyHidden(element) && \"scrollIntoView\" in element) {\n    element.scrollIntoView(arg);\n  }\n}\nfunction getScrollingElement(element) {\n  if (!element)\n    return null;\n  if (element.clientHeight && element.scrollHeight > element.clientHeight) {\n    const { overflowY } = getComputedStyle(element);\n    const isScrollable = overflowY !== \"visible\" && overflowY !== \"hidden\";\n    if (isScrollable)\n      return element;\n  } else if (element.clientWidth && element.scrollWidth > element.clientWidth) {\n    const { overflowX } = getComputedStyle(element);\n    const isScrollable = overflowX !== \"visible\" && overflowX !== \"hidden\";\n    if (isScrollable)\n      return element;\n  }\n  return getScrollingElement(element.parentElement) || document.scrollingElement || document.body;\n}\nfunction isPartiallyHidden(element) {\n  const elementRect = element.getBoundingClientRect();\n  const scroller = getScrollingElement(element);\n  if (!scroller)\n    return false;\n  const scrollerRect = scroller.getBoundingClientRect();\n  const isHTML = scroller.tagName === \"HTML\";\n  const scrollerTop = isHTML ? scrollerRect.top + scroller.scrollTop : scrollerRect.top;\n  const scrollerBottom = isHTML ? scroller.clientHeight : scrollerRect.bottom;\n  const scrollerLeft = isHTML ? scrollerRect.left + scroller.scrollLeft : scrollerRect.left;\n  const scrollerRight = isHTML ? scroller.clientWidth : scrollerRect.right;\n  const top = elementRect.top < scrollerTop;\n  const left = elementRect.left < scrollerLeft;\n  const bottom = elementRect.bottom > scrollerBottom;\n  const right = elementRect.right > scrollerRight;\n  return top || left || bottom || right;\n}\nfunction setSelectionRange(element, ...args) {\n  if (/text|search|password|tel|url/i.test(element.type)) {\n    element.setSelectionRange(...args);\n  }\n}\n\nexport {\n  canUseDOM,\n  getDocument,\n  getWindow,\n  getActiveElement,\n  contains,\n  isFrame,\n  isButton,\n  matches,\n  isVisible,\n  closest,\n  isTextField,\n  getPopupRole,\n  getPopupItemRole,\n  getTextboxSelection,\n  scrollIntoViewIfNeeded,\n  getScrollingElement,\n  isPartiallyHidden,\n  setSelectionRange\n};\n","\"use client\";\nimport {\n  applyState,\n  chain,\n  getKeys,\n  hasOwnProperty,\n  invariant,\n  noop,\n  omit,\n  pick\n} from \"./Y3OOHFCN.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/store.ts\nfunction getInternal(store, key) {\n  const internals = store.__unstableInternals;\n  invariant(internals, \"Invalid store\");\n  return internals[key];\n}\nfunction createStore(initialState, ...stores) {\n  let state = initialState;\n  let prevStateBatch = state;\n  let lastUpdate = Symbol();\n  let destroy = noop;\n  const instances = /* @__PURE__ */ new Set();\n  const updatedKeys = /* @__PURE__ */ new Set();\n  const setups = /* @__PURE__ */ new Set();\n  const listeners = /* @__PURE__ */ new Set();\n  const batchListeners = /* @__PURE__ */ new Set();\n  const disposables = /* @__PURE__ */ new WeakMap();\n  const listenerKeys = /* @__PURE__ */ new WeakMap();\n  const storeSetup = (callback) => {\n    setups.add(callback);\n    return () => setups.delete(callback);\n  };\n  const storeInit = () => {\n    const initialized = instances.size;\n    const instance = Symbol();\n    instances.add(instance);\n    const maybeDestroy = () => {\n      instances.delete(instance);\n      if (instances.size)\n        return;\n      destroy();\n    };\n    if (initialized)\n      return maybeDestroy;\n    const desyncs = getKeys(state).map(\n      (key) => chain(\n        ...stores.map((store) => {\n          var _a;\n          const storeState = (_a = store == null ? void 0 : store.getState) == null ? void 0 : _a.call(store);\n          if (!storeState)\n            return;\n          if (!hasOwnProperty(storeState, key))\n            return;\n          return sync(store, [key], (state2) => {\n            setState(\n              key,\n              state2[key],\n              // @ts-expect-error - Not public API. This is just to prevent\n              // infinite loops.\n              true\n            );\n          });\n        })\n      )\n    );\n    const teardowns = [];\n    setups.forEach((setup2) => teardowns.push(setup2()));\n    const cleanups = stores.map(init);\n    destroy = chain(...desyncs, ...teardowns, ...cleanups);\n    return maybeDestroy;\n  };\n  const sub = (keys, listener, set = listeners) => {\n    set.add(listener);\n    listenerKeys.set(listener, keys);\n    return () => {\n      var _a;\n      (_a = disposables.get(listener)) == null ? void 0 : _a();\n      disposables.delete(listener);\n      listenerKeys.delete(listener);\n      set.delete(listener);\n    };\n  };\n  const storeSubscribe = (keys, listener) => sub(keys, listener);\n  const storeSync = (keys, listener) => {\n    disposables.set(listener, listener(state, state));\n    return sub(keys, listener);\n  };\n  const storeBatch = (keys, listener) => {\n    disposables.set(listener, listener(state, prevStateBatch));\n    return sub(keys, listener, batchListeners);\n  };\n  const storePick = (keys) => createStore(pick(state, keys), finalStore);\n  const storeOmit = (keys) => createStore(omit(state, keys), finalStore);\n  const getState = () => state;\n  const setState = (key, value, fromStores = false) => {\n    if (!hasOwnProperty(state, key))\n      return;\n    const nextValue = applyState(value, state[key]);\n    if (nextValue === state[key])\n      return;\n    if (!fromStores) {\n      stores.forEach((store) => {\n        var _a;\n        (_a = store == null ? void 0 : store.setState) == null ? void 0 : _a.call(store, key, nextValue);\n      });\n    }\n    const prevState = state;\n    state = __spreadProps(__spreadValues({}, state), { [key]: nextValue });\n    const thisUpdate = Symbol();\n    lastUpdate = thisUpdate;\n    updatedKeys.add(key);\n    const run = (listener, prev, uKeys) => {\n      var _a;\n      const keys = listenerKeys.get(listener);\n      const updated = (k) => uKeys ? uKeys.has(k) : k === key;\n      if (!keys || keys.some(updated)) {\n        (_a = disposables.get(listener)) == null ? void 0 : _a();\n        disposables.set(listener, listener(state, prev));\n      }\n    };\n    listeners.forEach((listener) => {\n      run(listener, prevState);\n    });\n    queueMicrotask(() => {\n      if (lastUpdate !== thisUpdate)\n        return;\n      const snapshot = state;\n      batchListeners.forEach((listener) => {\n        run(listener, prevStateBatch, updatedKeys);\n      });\n      prevStateBatch = snapshot;\n      updatedKeys.clear();\n    });\n  };\n  const finalStore = {\n    getState,\n    setState,\n    __unstableInternals: {\n      setup: storeSetup,\n      init: storeInit,\n      subscribe: storeSubscribe,\n      sync: storeSync,\n      batch: storeBatch,\n      pick: storePick,\n      omit: storeOmit\n    }\n  };\n  return finalStore;\n}\nfunction setup(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"setup\")(...args);\n}\nfunction init(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"init\")(...args);\n}\nfunction subscribe(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"subscribe\")(...args);\n}\nfunction sync(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"sync\")(...args);\n}\nfunction batch(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"batch\")(...args);\n}\nfunction omit2(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"omit\")(...args);\n}\nfunction pick2(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"pick\")(...args);\n}\nfunction mergeStore(...stores) {\n  const initialState = stores.reduce((state, store2) => {\n    var _a;\n    const nextState = (_a = store2 == null ? void 0 : store2.getState) == null ? void 0 : _a.call(store2);\n    if (!nextState)\n      return state;\n    return __spreadValues(__spreadValues({}, state), nextState);\n  }, {});\n  const store = createStore(initialState, ...stores);\n  return store;\n}\nfunction throwOnConflictingProps(props, store) {\n  if (process.env.NODE_ENV === \"production\")\n    return;\n  if (!store)\n    return;\n  const defaultKeys = Object.entries(props).filter(([key, value]) => key.startsWith(\"default\") && value !== void 0).map(([key]) => {\n    var _a;\n    const stateKey = key.replace(\"default\", \"\");\n    return `${((_a = stateKey[0]) == null ? void 0 : _a.toLowerCase()) || \"\"}${stateKey.slice(1)}`;\n  });\n  if (!defaultKeys.length)\n    return;\n  const storeState = store.getState();\n  const conflictingProps = defaultKeys.filter(\n    (key) => hasOwnProperty(storeState, key)\n  );\n  if (!conflictingProps.length)\n    return;\n  throw new Error(\n    `Passing a store prop in conjunction with a default state is not supported.\n\nconst store = useSelectStore();\n<SelectProvider store={store} defaultValue=\"Apple\" />\n                ^             ^\n\nInstead, pass the default state to the topmost store:\n\nconst store = useSelectStore({ defaultValue: \"Apple\" });\n<SelectProvider store={store} />\n\nSee https://github.com/ariakit/ariakit/pull/2745 for more details.\n\nIf there's a particular need for this, please submit a feature request at https://github.com/ariakit/ariakit\n`\n  );\n}\n\nexport {\n  createStore,\n  setup,\n  init,\n  subscribe,\n  sync,\n  batch,\n  omit2 as omit,\n  pick2 as pick,\n  mergeStore,\n  throwOnConflictingProps\n};\n","\"use client\";\nimport {\n  createCollectionStore\n} from \"./22K762VQ.js\";\nimport {\n  createStore,\n  setup,\n  sync\n} from \"./EAHJFCU4.js\";\nimport {\n  defaultValue\n} from \"./Y3OOHFCN.js\";\nimport {\n  flatten2DArray,\n  reverseArray\n} from \"./7PRQYBBV.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-store.ts\nvar NULL_ITEM = { id: null };\nfunction findFirstEnabledItem(items, excludeId) {\n  return items.find((item) => {\n    if (excludeId) {\n      return !item.disabled && item.id !== excludeId;\n    }\n    return !item.disabled;\n  });\n}\nfunction getEnabledItems(items, excludeId) {\n  return items.filter((item) => {\n    if (excludeId) {\n      return !item.disabled && item.id !== excludeId;\n    }\n    return !item.disabled;\n  });\n}\nfunction getOppositeOrientation(orientation) {\n  if (orientation === \"vertical\")\n    return \"horizontal\";\n  if (orientation === \"horizontal\")\n    return \"vertical\";\n  return;\n}\nfunction getItemsInRow(items, rowId) {\n  return items.filter((item) => item.rowId === rowId);\n}\nfunction flipItems(items, activeId, shouldInsertNullItem = false) {\n  const index = items.findIndex((item) => item.id === activeId);\n  return [\n    ...items.slice(index + 1),\n    ...shouldInsertNullItem ? [NULL_ITEM] : [],\n    ...items.slice(0, index)\n  ];\n}\nfunction groupItemsByRows(items) {\n  const rows = [];\n  for (const item of items) {\n    const row = rows.find((currentRow) => {\n      var _a;\n      return ((_a = currentRow[0]) == null ? void 0 : _a.rowId) === item.rowId;\n    });\n    if (row) {\n      row.push(item);\n    } else {\n      rows.push([item]);\n    }\n  }\n  return rows;\n}\nfunction getMaxRowLength(array) {\n  let maxLength = 0;\n  for (const { length } of array) {\n    if (length > maxLength) {\n      maxLength = length;\n    }\n  }\n  return maxLength;\n}\nfunction createEmptyItem(rowId) {\n  return {\n    id: \"__EMPTY_ITEM__\",\n    disabled: true,\n    rowId\n  };\n}\nfunction normalizeRows(rows, activeId, focusShift) {\n  const maxLength = getMaxRowLength(rows);\n  for (const row of rows) {\n    for (let i = 0; i < maxLength; i += 1) {\n      const item = row[i];\n      if (!item || focusShift && item.disabled) {\n        const isFirst = i === 0;\n        const previousItem = isFirst && focusShift ? findFirstEnabledItem(row) : row[i - 1];\n        row[i] = previousItem && activeId !== previousItem.id && focusShift ? previousItem : createEmptyItem(previousItem == null ? void 0 : previousItem.rowId);\n      }\n    }\n  }\n  return rows;\n}\nfunction verticalizeItems(items) {\n  const rows = groupItemsByRows(items);\n  const maxLength = getMaxRowLength(rows);\n  const verticalized = [];\n  for (let i = 0; i < maxLength; i += 1) {\n    for (const row of rows) {\n      const item = row[i];\n      if (item) {\n        verticalized.push(__spreadProps(__spreadValues({}, item), {\n          // If there's no rowId, it means that it's not a grid composite, but\n          // a single row instead. So, instead of verticalizing it, that is,\n          // assigning a different rowId based on the column index, we keep it\n          // undefined so they will be part of the same row. This is useful\n          // when using up/down on one-dimensional composites.\n          rowId: item.rowId ? `${i}` : void 0\n        }));\n      }\n    }\n  }\n  return verticalized;\n}\nfunction createCompositeStore(props = {}) {\n  var _a;\n  const syncState = (_a = props.store) == null ? void 0 : _a.getState();\n  const collection = createCollectionStore(props);\n  const activeId = defaultValue(\n    props.activeId,\n    syncState == null ? void 0 : syncState.activeId,\n    props.defaultActiveId\n  );\n  const initialState = __spreadProps(__spreadValues({}, collection.getState()), {\n    activeId,\n    baseElement: defaultValue(syncState == null ? void 0 : syncState.baseElement, null),\n    includesBaseElement: defaultValue(\n      props.includesBaseElement,\n      syncState == null ? void 0 : syncState.includesBaseElement,\n      activeId === null\n    ),\n    moves: defaultValue(syncState == null ? void 0 : syncState.moves, 0),\n    orientation: defaultValue(\n      props.orientation,\n      syncState == null ? void 0 : syncState.orientation,\n      \"both\"\n    ),\n    rtl: defaultValue(props.rtl, syncState == null ? void 0 : syncState.rtl, false),\n    virtualFocus: defaultValue(\n      props.virtualFocus,\n      syncState == null ? void 0 : syncState.virtualFocus,\n      false\n    ),\n    focusLoop: defaultValue(props.focusLoop, syncState == null ? void 0 : syncState.focusLoop, false),\n    focusWrap: defaultValue(props.focusWrap, syncState == null ? void 0 : syncState.focusWrap, false),\n    focusShift: defaultValue(props.focusShift, syncState == null ? void 0 : syncState.focusShift, false)\n  });\n  const composite = createStore(initialState, collection, props.store);\n  setup(\n    composite,\n    () => sync(composite, [\"renderedItems\", \"activeId\"], (state) => {\n      composite.setState(\"activeId\", (activeId2) => {\n        var _a2;\n        if (activeId2 !== void 0)\n          return activeId2;\n        return (_a2 = findFirstEnabledItem(state.renderedItems)) == null ? void 0 : _a2.id;\n      });\n    })\n  );\n  const getNextId = (items, orientation, hasNullItem, skip) => {\n    var _a2, _b;\n    const { activeId: activeId2, rtl, focusLoop, focusWrap, includesBaseElement } = composite.getState();\n    const isHorizontal = orientation !== \"vertical\";\n    const isRTL = rtl && isHorizontal;\n    const allItems = isRTL ? reverseArray(items) : items;\n    if (activeId2 == null) {\n      return (_a2 = findFirstEnabledItem(allItems)) == null ? void 0 : _a2.id;\n    }\n    const activeItem = allItems.find((item) => item.id === activeId2);\n    if (!activeItem) {\n      return (_b = findFirstEnabledItem(allItems)) == null ? void 0 : _b.id;\n    }\n    const isGrid = !!activeItem.rowId;\n    const activeIndex = allItems.indexOf(activeItem);\n    const nextItems = allItems.slice(activeIndex + 1);\n    const nextItemsInRow = getItemsInRow(nextItems, activeItem.rowId);\n    if (skip !== void 0) {\n      const nextEnabledItemsInRow = getEnabledItems(nextItemsInRow, activeId2);\n      const nextItem2 = nextEnabledItemsInRow.slice(skip)[0] || // If we can't find an item, just return the last one.\n      nextEnabledItemsInRow[nextEnabledItemsInRow.length - 1];\n      return nextItem2 == null ? void 0 : nextItem2.id;\n    }\n    const oppositeOrientation = getOppositeOrientation(\n      // If it's a grid and orientation is not set, it's a next/previous call,\n      // which is inherently horizontal. up/down will call next with orientation\n      // set to vertical by default (see below on up/down methods).\n      isGrid ? orientation || \"horizontal\" : orientation\n    );\n    const canLoop = focusLoop && focusLoop !== oppositeOrientation;\n    const canWrap = isGrid && focusWrap && focusWrap !== oppositeOrientation;\n    hasNullItem = hasNullItem || !isGrid && canLoop && includesBaseElement;\n    if (canLoop) {\n      const loopItems = canWrap && !hasNullItem ? allItems : getItemsInRow(allItems, activeItem.rowId);\n      const sortedItems = flipItems(loopItems, activeId2, hasNullItem);\n      const nextItem2 = findFirstEnabledItem(sortedItems, activeId2);\n      return nextItem2 == null ? void 0 : nextItem2.id;\n    }\n    if (canWrap) {\n      const nextItem2 = findFirstEnabledItem(\n        // We can use nextItems, which contains all the next items, including\n        // items from other rows, to wrap between rows. However, if there is a\n        // null item (the composite container), we'll only use the next items in\n        // the row. So moving next from the last item will focus on the\n        // composite container. On grid composites, horizontal navigation never\n        // focuses on the composite container, only vertical.\n        hasNullItem ? nextItemsInRow : nextItems,\n        activeId2\n      );\n      const nextId = hasNullItem ? (nextItem2 == null ? void 0 : nextItem2.id) || null : nextItem2 == null ? void 0 : nextItem2.id;\n      return nextId;\n    }\n    const nextItem = findFirstEnabledItem(nextItemsInRow, activeId2);\n    if (!nextItem && hasNullItem) {\n      return null;\n    }\n    return nextItem == null ? void 0 : nextItem.id;\n  };\n  return __spreadProps(__spreadValues(__spreadValues({}, collection), composite), {\n    setBaseElement: (element) => composite.setState(\"baseElement\", element),\n    setActiveId: (id) => composite.setState(\"activeId\", id),\n    move: (id) => {\n      if (id === void 0)\n        return;\n      composite.setState(\"activeId\", id);\n      composite.setState(\"moves\", (moves) => moves + 1);\n    },\n    first: () => {\n      var _a2;\n      return (_a2 = findFirstEnabledItem(composite.getState().renderedItems)) == null ? void 0 : _a2.id;\n    },\n    last: () => {\n      var _a2;\n      return (_a2 = findFirstEnabledItem(reverseArray(composite.getState().renderedItems))) == null ? void 0 : _a2.id;\n    },\n    next: (skip) => {\n      const { renderedItems, orientation } = composite.getState();\n      return getNextId(renderedItems, orientation, false, skip);\n    },\n    previous: (skip) => {\n      var _a2;\n      const { renderedItems, orientation, includesBaseElement } = composite.getState();\n      const isGrid = !!((_a2 = findFirstEnabledItem(renderedItems)) == null ? void 0 : _a2.rowId);\n      const hasNullItem = !isGrid && includesBaseElement;\n      return getNextId(\n        reverseArray(renderedItems),\n        orientation,\n        hasNullItem,\n        skip\n      );\n    },\n    down: (skip) => {\n      const {\n        activeId: activeId2,\n        renderedItems,\n        focusShift,\n        focusLoop,\n        includesBaseElement\n      } = composite.getState();\n      const shouldShift = focusShift && !skip;\n      const verticalItems = verticalizeItems(\n        flatten2DArray(\n          normalizeRows(groupItemsByRows(renderedItems), activeId2, shouldShift)\n        )\n      );\n      const canLoop = focusLoop && focusLoop !== \"horizontal\";\n      const hasNullItem = canLoop && includesBaseElement;\n      return getNextId(verticalItems, \"vertical\", hasNullItem, skip);\n    },\n    up: (skip) => {\n      const { activeId: activeId2, renderedItems, focusShift, includesBaseElement } = composite.getState();\n      const shouldShift = focusShift && !skip;\n      const verticalItems = verticalizeItems(\n        reverseArray(\n          flatten2DArray(\n            normalizeRows(\n              groupItemsByRows(renderedItems),\n              activeId2,\n              shouldShift\n            )\n          )\n        )\n      );\n      const hasNullItem = includesBaseElement;\n      return getNextId(verticalItems, \"vertical\", hasNullItem, skip);\n    }\n  });\n}\n\nexport {\n  createCompositeStore\n};\n","\"use client\";\nimport {\n  canUseDOM\n} from \"./DLOEKDPY.js\";\n\n// src/utils/platform.ts\nfunction isTouchDevice() {\n  return canUseDOM && !!navigator.maxTouchPoints;\n}\nfunction isApple() {\n  if (!canUseDOM)\n    return false;\n  return /mac|iphone|ipad|ipod/i.test(navigator.platform);\n}\nfunction isSafari() {\n  return canUseDOM && isApple() && /apple/i.test(navigator.vendor);\n}\nfunction isFirefox() {\n  return canUseDOM && /firefox\\//i.test(navigator.userAgent);\n}\nfunction isMac() {\n  return canUseDOM && navigator.platform.startsWith(\"Mac\") && !isTouchDevice();\n}\n\nexport {\n  isTouchDevice,\n  isApple,\n  isSafari,\n  isFirefox,\n  isMac\n};\n","\"use client\";\nimport {\n  createDisclosureStore\n} from \"./Z5IGYIPT.js\";\n\n// src/dialog/dialog-store.ts\nfunction createDialogStore(props = {}) {\n  return createDisclosureStore(props);\n}\n\nexport {\n  createDialogStore\n};\n","\"use client\";\nimport {\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/misc.ts\nfunction noop(..._) {\n}\nfunction shallowEqual(a, b) {\n  if (a === b)\n    return true;\n  if (!a)\n    return false;\n  if (!b)\n    return false;\n  if (typeof a !== \"object\")\n    return false;\n  if (typeof b !== \"object\")\n    return false;\n  const aKeys = Object.keys(a);\n  const bKeys = Object.keys(b);\n  const { length } = aKeys;\n  if (bKeys.length !== length)\n    return false;\n  for (const key of aKeys) {\n    if (a[key] !== b[key]) {\n      return false;\n    }\n  }\n  return true;\n}\nfunction applyState(argument, currentValue) {\n  if (isUpdater(argument)) {\n    const value = isLazyValue(currentValue) ? currentValue() : currentValue;\n    return argument(value);\n  }\n  return argument;\n}\nfunction isUpdater(argument) {\n  return typeof argument === \"function\";\n}\nfunction isLazyValue(value) {\n  return typeof value === \"function\";\n}\nfunction isObject(arg) {\n  return typeof arg === \"object\" && arg != null;\n}\nfunction isEmpty(arg) {\n  if (Array.isArray(arg))\n    return !arg.length;\n  if (isObject(arg))\n    return !Object.keys(arg).length;\n  if (arg == null)\n    return true;\n  if (arg === \"\")\n    return true;\n  return false;\n}\nfunction isInteger(arg) {\n  if (typeof arg === \"number\") {\n    return Math.floor(arg) === arg;\n  }\n  return String(Math.floor(Number(arg))) === arg;\n}\nfunction hasOwnProperty(object, prop) {\n  if (typeof Object.hasOwn === \"function\") {\n    return Object.hasOwn(object, prop);\n  }\n  return Object.prototype.hasOwnProperty.call(object, prop);\n}\nfunction chain(...fns) {\n  return (...args) => {\n    for (const fn of fns) {\n      if (typeof fn === \"function\") {\n        fn(...args);\n      }\n    }\n  };\n}\nfunction cx(...args) {\n  return args.filter(Boolean).join(\" \") || void 0;\n}\nfunction normalizeString(str) {\n  return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n}\nfunction omit(object, keys) {\n  const result = __spreadValues({}, object);\n  for (const key of keys) {\n    if (hasOwnProperty(result, key)) {\n      delete result[key];\n    }\n  }\n  return result;\n}\nfunction pick(object, paths) {\n  const result = {};\n  for (const key of paths) {\n    if (hasOwnProperty(object, key)) {\n      result[key] = object[key];\n    }\n  }\n  return result;\n}\nfunction identity(value) {\n  return value;\n}\nfunction beforePaint(cb = noop) {\n  const raf = requestAnimationFrame(cb);\n  return () => cancelAnimationFrame(raf);\n}\nfunction afterPaint(cb = noop) {\n  let raf = requestAnimationFrame(() => {\n    raf = requestAnimationFrame(cb);\n  });\n  return () => cancelAnimationFrame(raf);\n}\nfunction invariant(condition, message) {\n  if (condition)\n    return;\n  if (typeof message !== \"string\")\n    throw new Error(\"Invariant failed\");\n  throw new Error(message);\n}\nfunction getKeys(obj) {\n  return Object.keys(obj);\n}\nfunction isFalsyBooleanCallback(booleanOrCallback, ...args) {\n  const result = typeof booleanOrCallback === \"function\" ? booleanOrCallback(...args) : booleanOrCallback;\n  if (result == null)\n    return false;\n  return !result;\n}\nfunction disabledFromProps(props) {\n  return props.disabled || props[\"aria-disabled\"] === true || props[\"aria-disabled\"] === \"true\";\n}\nfunction defaultValue(...values) {\n  for (const value of values) {\n    if (value !== void 0)\n      return value;\n  }\n  return void 0;\n}\n\nexport {\n  noop,\n  shallowEqual,\n  applyState,\n  isObject,\n  isEmpty,\n  isInteger,\n  hasOwnProperty,\n  chain,\n  cx,\n  normalizeString,\n  omit,\n  pick,\n  identity,\n  beforePaint,\n  afterPaint,\n  invariant,\n  getKeys,\n  isFalsyBooleanCallback,\n  disabledFromProps,\n  defaultValue\n};\n","\"use client\";\nimport {\n  createStore,\n  mergeStore,\n  omit,\n  setup,\n  subscribe,\n  sync,\n  throwOnConflictingProps\n} from \"./EAHJFCU4.js\";\nimport {\n  defaultValue\n} from \"./Y3OOHFCN.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/disclosure/disclosure-store.ts\nfunction createDisclosureStore(props = {}) {\n  const store = mergeStore(\n    props.store,\n    omit(props.disclosure, [\"contentElement\", \"disclosureElement\"])\n  );\n  throwOnConflictingProps(props, store);\n  const syncState = store == null ? void 0 : store.getState();\n  const open = defaultValue(\n    props.open,\n    syncState == null ? void 0 : syncState.open,\n    props.defaultOpen,\n    false\n  );\n  const animated = defaultValue(props.animated, syncState == null ? void 0 : syncState.animated, false);\n  const initialState = {\n    open,\n    animated,\n    animating: !!animated && open,\n    mounted: open,\n    contentElement: defaultValue(syncState == null ? void 0 : syncState.contentElement, null),\n    disclosureElement: defaultValue(syncState == null ? void 0 : syncState.disclosureElement, null)\n  };\n  const disclosure = createStore(initialState, store);\n  setup(\n    disclosure,\n    () => sync(disclosure, [\"animated\", \"animating\"], (state) => {\n      if (state.animated)\n        return;\n      disclosure.setState(\"animating\", false);\n    })\n  );\n  setup(\n    disclosure,\n    () => subscribe(disclosure, [\"open\"], () => {\n      if (!disclosure.getState().animated)\n        return;\n      disclosure.setState(\"animating\", true);\n    })\n  );\n  setup(\n    disclosure,\n    () => sync(disclosure, [\"open\", \"animating\"], (state) => {\n      disclosure.setState(\"mounted\", state.open || state.animating);\n    })\n  );\n  return __spreadProps(__spreadValues({}, disclosure), {\n    setOpen: (value) => disclosure.setState(\"open\", value),\n    show: () => disclosure.setState(\"open\", true),\n    hide: () => disclosure.setState(\"open\", false),\n    toggle: () => disclosure.setState(\"open\", (open2) => !open2),\n    stopAnimation: () => disclosure.setState(\"animating\", false),\n    setContentElement: (value) => disclosure.setState(\"contentElement\", value),\n    setDisclosureElement: (value) => disclosure.setState(\"disclosureElement\", value)\n  });\n}\n\nexport {\n  createDisclosureStore\n};\n","\"use client\";\nimport {\n  createPopoverStore\n} from \"../__chunks/AF6IUUFN.js\";\nimport \"../__chunks/SX2XFD6A.js\";\nimport \"../__chunks/Z5IGYIPT.js\";\nimport {\n  createCompositeStore\n} from \"../__chunks/IERTEJ3A.js\";\nimport \"../__chunks/22K762VQ.js\";\nimport {\n  batch,\n  createStore,\n  setup,\n  sync,\n  throwOnConflictingProps\n} from \"../__chunks/EAHJFCU4.js\";\nimport {\n  defaultValue\n} from \"../__chunks/Y3OOHFCN.js\";\nimport {\n  isSafari,\n  isTouchDevice\n} from \"../__chunks/MHPO2BXA.js\";\nimport \"../__chunks/DLOEKDPY.js\";\nimport \"../__chunks/7PRQYBBV.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-store.ts\nvar isSafariOnMobile = isSafari() && isTouchDevice();\nfunction createComboboxStore(props = {}) {\n  var _a;\n  throwOnConflictingProps(props, props.store);\n  const syncState = (_a = props.store) == null ? void 0 : _a.getState();\n  const activeId = defaultValue(\n    props.activeId,\n    syncState == null ? void 0 : syncState.activeId,\n    props.defaultActiveId,\n    null\n  );\n  const composite = createCompositeStore(__spreadProps(__spreadValues({}, props), {\n    activeId,\n    includesBaseElement: defaultValue(\n      props.includesBaseElement,\n      syncState == null ? void 0 : syncState.includesBaseElement,\n      true\n    ),\n    orientation: defaultValue(\n      props.orientation,\n      syncState == null ? void 0 : syncState.orientation,\n      \"vertical\"\n    ),\n    focusLoop: defaultValue(props.focusLoop, syncState == null ? void 0 : syncState.focusLoop, true),\n    focusWrap: defaultValue(props.focusWrap, syncState == null ? void 0 : syncState.focusWrap, true),\n    virtualFocus: defaultValue(\n      props.virtualFocus,\n      syncState == null ? void 0 : syncState.virtualFocus,\n      !isSafariOnMobile\n    )\n  }));\n  const popover = createPopoverStore(__spreadProps(__spreadValues({}, props), {\n    placement: defaultValue(\n      props.placement,\n      syncState == null ? void 0 : syncState.placement,\n      \"bottom-start\"\n    )\n  }));\n  const value = defaultValue(\n    props.value,\n    syncState == null ? void 0 : syncState.value,\n    props.defaultValue,\n    \"\"\n  );\n  const selectedValue = defaultValue(\n    props.selectedValue,\n    syncState == null ? void 0 : syncState.selectedValue,\n    props.defaultSelectedValue,\n    \"\"\n  );\n  const multiSelectable = Array.isArray(selectedValue);\n  const initialState = __spreadProps(__spreadValues(__spreadValues({}, composite.getState()), popover.getState()), {\n    value,\n    selectedValue,\n    resetValueOnSelect: defaultValue(\n      props.resetValueOnSelect,\n      syncState == null ? void 0 : syncState.resetValueOnSelect,\n      multiSelectable\n    ),\n    resetValueOnHide: defaultValue(\n      props.resetValueOnHide,\n      syncState == null ? void 0 : syncState.resetValueOnHide,\n      multiSelectable\n    ),\n    activeValue: syncState == null ? void 0 : syncState.activeValue\n  });\n  const combobox = createStore(initialState, composite, popover, props.store);\n  setup(\n    combobox,\n    () => sync(combobox, [\"resetValueOnHide\", \"mounted\"], (state) => {\n      if (!state.resetValueOnHide)\n        return;\n      if (state.mounted)\n        return;\n      combobox.setState(\"value\", value);\n    })\n  );\n  setup(\n    combobox,\n    () => sync(combobox, [\"resetValueOnSelect\", \"selectedValue\"], (state) => {\n      if (!state.resetValueOnSelect)\n        return;\n      combobox.setState(\"value\", value);\n    })\n  );\n  setup(\n    combobox,\n    () => batch(combobox, [\"mounted\"], (state) => {\n      if (state.mounted)\n        return;\n      combobox.setState(\"activeId\", activeId);\n      combobox.setState(\"moves\", 0);\n    })\n  );\n  setup(\n    combobox,\n    () => sync(combobox, [\"moves\", \"activeId\"], (state, prevState) => {\n      if (state.moves === prevState.moves) {\n        combobox.setState(\"activeValue\", void 0);\n      }\n    })\n  );\n  setup(\n    combobox,\n    () => batch(combobox, [\"moves\", \"renderedItems\"], (state, prev) => {\n      if (state.moves === prev.moves)\n        return;\n      const { activeId: activeId2 } = combobox.getState();\n      const activeItem = composite.item(activeId2);\n      combobox.setState(\"activeValue\", activeItem == null ? void 0 : activeItem.value);\n    })\n  );\n  return __spreadProps(__spreadValues(__spreadValues(__spreadValues({}, popover), composite), combobox), {\n    setValue: (value2) => combobox.setState(\"value\", value2),\n    setSelectedValue: (selectedValue2) => combobox.setState(\"selectedValue\", selectedValue2)\n  });\n}\nexport {\n  createComboboxStore\n};\n","\"use client\";\nimport {\n  isApple\n} from \"../__chunks/MHPO2BXA.js\";\nimport {\n  contains\n} from \"../__chunks/DLOEKDPY.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/utils/events.ts\nfunction isPortalEvent(event) {\n  return Boolean(\n    event.currentTarget && !contains(event.currentTarget, event.target)\n  );\n}\nfunction isSelfTarget(event) {\n  return event.target === event.currentTarget;\n}\nfunction isOpeningInNewTab(event) {\n  const element = event.currentTarget;\n  if (!element)\n    return false;\n  const isAppleDevice = isApple();\n  if (isAppleDevice && !event.metaKey)\n    return false;\n  if (!isAppleDevice && !event.ctrlKey)\n    return false;\n  const tagName = element.tagName.toLowerCase();\n  if (tagName === \"a\")\n    return true;\n  if (tagName === \"button\" && element.type === \"submit\")\n    return true;\n  if (tagName === \"input\" && element.type === \"submit\")\n    return true;\n  return false;\n}\nfunction isDownloading(event) {\n  const element = event.currentTarget;\n  if (!element)\n    return false;\n  const tagName = element.tagName.toLowerCase();\n  if (!event.altKey)\n    return false;\n  if (tagName === \"a\")\n    return true;\n  if (tagName === \"button\" && element.type === \"submit\")\n    return true;\n  if (tagName === \"input\" && element.type === \"submit\")\n    return true;\n  return false;\n}\nfunction fireEvent(element, type, eventInit) {\n  const event = new Event(type, eventInit);\n  return element.dispatchEvent(event);\n}\nfunction fireBlurEvent(element, eventInit) {\n  const event = new FocusEvent(\"blur\", eventInit);\n  const defaultAllowed = element.dispatchEvent(event);\n  const bubbleInit = __spreadProps(__spreadValues({}, eventInit), { bubbles: true });\n  element.dispatchEvent(new FocusEvent(\"focusout\", bubbleInit));\n  return defaultAllowed;\n}\nfunction fireFocusEvent(element, eventInit) {\n  const event = new FocusEvent(\"focus\", eventInit);\n  const defaultAllowed = element.dispatchEvent(event);\n  const bubbleInit = __spreadProps(__spreadValues({}, eventInit), { bubbles: true });\n  element.dispatchEvent(new FocusEvent(\"focusin\", bubbleInit));\n  return defaultAllowed;\n}\nfunction fireKeyboardEvent(element, type, eventInit) {\n  const event = new KeyboardEvent(type, eventInit);\n  return element.dispatchEvent(event);\n}\nfunction fireClickEvent(element, eventInit) {\n  const event = new MouseEvent(\"click\", eventInit);\n  return element.dispatchEvent(event);\n}\nfunction isFocusEventOutside(event, container) {\n  const containerElement = container || event.currentTarget;\n  const relatedTarget = event.relatedTarget;\n  return !relatedTarget || !contains(containerElement, relatedTarget);\n}\nfunction queueBeforeEvent(element, type, callback) {\n  const raf = requestAnimationFrame(() => {\n    element.removeEventListener(type, callImmediately, true);\n    callback();\n  });\n  const callImmediately = () => {\n    cancelAnimationFrame(raf);\n    callback();\n  };\n  element.addEventListener(type, callImmediately, {\n    once: true,\n    capture: true\n  });\n  return raf;\n}\nfunction addGlobalEventListener(type, listener, options, scope = window) {\n  const children = [];\n  try {\n    scope.document.addEventListener(type, listener, options);\n    for (const frame of Array.from(scope.frames)) {\n      children.push(addGlobalEventListener(type, listener, options, frame));\n    }\n  } catch (e) {\n  }\n  const removeEventListener = () => {\n    try {\n      scope.document.removeEventListener(type, listener, options);\n    } catch (e) {\n    }\n    children.forEach((remove) => remove());\n  };\n  return removeEventListener;\n}\nexport {\n  addGlobalEventListener,\n  fireBlurEvent,\n  fireClickEvent,\n  fireEvent,\n  fireFocusEvent,\n  fireKeyboardEvent,\n  isDownloading,\n  isFocusEventOutside,\n  isOpeningInNewTab,\n  isPortalEvent,\n  isSelfTarget,\n  queueBeforeEvent\n};\n","\"use client\";\nimport {\n  closest,\n  contains,\n  getActiveElement,\n  isFrame,\n  isVisible,\n  matches\n} from \"../__chunks/DLOEKDPY.js\";\nimport {\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/utils/focus.ts\nvar selector = \"input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false'])\";\nfunction hasNegativeTabIndex(element) {\n  const tabIndex = parseInt(element.getAttribute(\"tabindex\") || \"0\", 10);\n  return tabIndex < 0;\n}\nfunction isFocusable(element) {\n  if (!matches(element, selector))\n    return false;\n  if (!isVisible(element))\n    return false;\n  if (closest(element, \"[inert]\"))\n    return false;\n  return true;\n}\nfunction isTabbable(element) {\n  if (!isFocusable(element))\n    return false;\n  if (hasNegativeTabIndex(element))\n    return false;\n  if (!(\"form\" in element))\n    return true;\n  if (!element.form)\n    return true;\n  if (element.checked)\n    return true;\n  if (element.type !== \"radio\")\n    return true;\n  const radioGroup = element.form.elements.namedItem(element.name);\n  if (!radioGroup)\n    return true;\n  if (!(\"length\" in radioGroup))\n    return true;\n  const activeElement = getActiveElement(element);\n  if (!activeElement)\n    return true;\n  if (activeElement === element)\n    return true;\n  if (!(\"form\" in activeElement))\n    return true;\n  if (activeElement.form !== element.form)\n    return true;\n  if (activeElement.name !== element.name)\n    return true;\n  return false;\n}\nfunction getAllFocusableIn(container, includeContainer) {\n  const elements = Array.from(\n    container.querySelectorAll(selector)\n  );\n  if (includeContainer) {\n    elements.unshift(container);\n  }\n  const focusableElements = elements.filter(isFocusable);\n  focusableElements.forEach((element, i) => {\n    if (isFrame(element) && element.contentDocument) {\n      const frameBody = element.contentDocument.body;\n      focusableElements.splice(i, 1, ...getAllFocusableIn(frameBody));\n    }\n  });\n  return focusableElements;\n}\nfunction getAllFocusable(includeBody) {\n  return getAllFocusableIn(document.body, includeBody);\n}\nfunction getFirstFocusableIn(container, includeContainer) {\n  const [first] = getAllFocusableIn(container, includeContainer);\n  return first || null;\n}\nfunction getFirstFocusable(includeBody) {\n  return getFirstFocusableIn(document.body, includeBody);\n}\nfunction getAllTabbableIn(container, includeContainer, fallbackToFocusable) {\n  const elements = Array.from(\n    container.querySelectorAll(selector)\n  );\n  const tabbableElements = elements.filter(isTabbable);\n  if (includeContainer && isTabbable(container)) {\n    tabbableElements.unshift(container);\n  }\n  tabbableElements.forEach((element, i) => {\n    if (isFrame(element) && element.contentDocument) {\n      const frameBody = element.contentDocument.body;\n      const allFrameTabbable = getAllTabbableIn(\n        frameBody,\n        false,\n        fallbackToFocusable\n      );\n      tabbableElements.splice(i, 1, ...allFrameTabbable);\n    }\n  });\n  if (!tabbableElements.length && fallbackToFocusable) {\n    return elements;\n  }\n  return tabbableElements;\n}\nfunction getAllTabbable(fallbackToFocusable) {\n  return getAllTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getFirstTabbableIn(container, includeContainer, fallbackToFocusable) {\n  const [first] = getAllTabbableIn(\n    container,\n    includeContainer,\n    fallbackToFocusable\n  );\n  return first || null;\n}\nfunction getFirstTabbable(fallbackToFocusable) {\n  return getFirstTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getLastTabbableIn(container, includeContainer, fallbackToFocusable) {\n  const allTabbable = getAllTabbableIn(\n    container,\n    includeContainer,\n    fallbackToFocusable\n  );\n  return allTabbable[allTabbable.length - 1] || null;\n}\nfunction getLastTabbable(fallbackToFocusable) {\n  return getLastTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getNextTabbableIn(container, includeContainer, fallbackToFirst, fallbackToFocusable) {\n  const activeElement = getActiveElement(container);\n  const allFocusable = getAllFocusableIn(container, includeContainer);\n  const activeIndex = allFocusable.indexOf(activeElement);\n  const nextFocusableElements = allFocusable.slice(activeIndex + 1);\n  return nextFocusableElements.find(isTabbable) || (fallbackToFirst ? allFocusable.find(isTabbable) : null) || (fallbackToFocusable ? nextFocusableElements[0] : null) || null;\n}\nfunction getNextTabbable(fallbackToFirst, fallbackToFocusable) {\n  return getNextTabbableIn(\n    document.body,\n    false,\n    fallbackToFirst,\n    fallbackToFocusable\n  );\n}\nfunction getPreviousTabbableIn(container, includeContainer, fallbackToLast, fallbackToFocusable) {\n  const activeElement = getActiveElement(container);\n  const allFocusable = getAllFocusableIn(container, includeContainer).reverse();\n  const activeIndex = allFocusable.indexOf(activeElement);\n  const previousFocusableElements = allFocusable.slice(activeIndex + 1);\n  return previousFocusableElements.find(isTabbable) || (fallbackToLast ? allFocusable.find(isTabbable) : null) || (fallbackToFocusable ? previousFocusableElements[0] : null) || null;\n}\nfunction getPreviousTabbable(fallbackToFirst, fallbackToFocusable) {\n  return getPreviousTabbableIn(\n    document.body,\n    false,\n    fallbackToFirst,\n    fallbackToFocusable\n  );\n}\nfunction getClosestFocusable(element) {\n  while (element && !isFocusable(element)) {\n    element = closest(element, selector);\n  }\n  return element || null;\n}\nfunction hasFocus(element) {\n  const activeElement = getActiveElement(element);\n  if (!activeElement)\n    return false;\n  if (activeElement === element)\n    return true;\n  const activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n  if (!activeDescendant)\n    return false;\n  return activeDescendant === element.id;\n}\nfunction hasFocusWithin(element) {\n  const activeElement = getActiveElement(element);\n  if (!activeElement)\n    return false;\n  if (contains(element, activeElement))\n    return true;\n  const activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n  if (!activeDescendant)\n    return false;\n  if (!(\"id\" in element))\n    return false;\n  if (activeDescendant === element.id)\n    return true;\n  return !!element.querySelector(`#${CSS.escape(activeDescendant)}`);\n}\nfunction focusIfNeeded(element) {\n  if (!hasFocusWithin(element) && isFocusable(element)) {\n    element.focus();\n  }\n}\nfunction disableFocus(element) {\n  var _a;\n  const currentTabindex = (_a = element.getAttribute(\"tabindex\")) != null ? _a : \"\";\n  element.setAttribute(\"data-tabindex\", currentTabindex);\n  element.setAttribute(\"tabindex\", \"-1\");\n}\nfunction disableFocusIn(container, includeContainer) {\n  const tabbableElements = getAllTabbableIn(container, includeContainer);\n  tabbableElements.forEach(disableFocus);\n}\nfunction restoreFocusIn(container) {\n  const elements = container.querySelectorAll(\"[data-tabindex]\");\n  const restoreTabIndex = (element) => {\n    const tabindex = element.getAttribute(\"data-tabindex\");\n    element.removeAttribute(\"data-tabindex\");\n    if (tabindex) {\n      element.setAttribute(\"tabindex\", tabindex);\n    } else {\n      element.removeAttribute(\"tabindex\");\n    }\n  };\n  if (container.hasAttribute(\"data-tabindex\")) {\n    restoreTabIndex(container);\n  }\n  elements.forEach(restoreTabIndex);\n}\nfunction focusIntoView(element, options) {\n  if (!(\"scrollIntoView\" in element)) {\n    element.focus();\n  } else {\n    element.focus({ preventScroll: true });\n    element.scrollIntoView(__spreadValues({ block: \"nearest\", inline: \"nearest\" }, options));\n  }\n}\nexport {\n  disableFocus,\n  disableFocusIn,\n  focusIfNeeded,\n  focusIntoView,\n  getAllFocusable,\n  getAllFocusableIn,\n  getAllTabbable,\n  getAllTabbableIn,\n  getClosestFocusable,\n  getFirstFocusable,\n  getFirstFocusableIn,\n  getFirstTabbable,\n  getFirstTabbableIn,\n  getLastTabbable,\n  getLastTabbableIn,\n  getNextTabbable,\n  getNextTabbableIn,\n  getPreviousTabbable,\n  getPreviousTabbableIn,\n  hasFocus,\n  hasFocusWithin,\n  isFocusable,\n  isTabbable,\n  restoreFocusIn\n};\n","\"use client\";\nimport {\n  flipItems\n} from \"./3IEDWLST.js\";\nimport {\n  useCompositeContext\n} from \"./IB7YUKH5.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useEvent\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-typeahead.ts\nimport { useRef } from \"react\";\nimport { isTextField } from \"@ariakit/core/utils/dom\";\nimport { isSelfTarget } from \"@ariakit/core/utils/events\";\nimport { invariant, normalizeString } from \"@ariakit/core/utils/misc\";\nvar chars = \"\";\nfunction clearChars() {\n  chars = \"\";\n}\nfunction isValidTypeaheadEvent(event) {\n  const target = event.target;\n  if (target && isTextField(target))\n    return false;\n  if (event.key === \" \" && chars.length)\n    return true;\n  return event.key.length === 1 && !event.ctrlKey && !event.altKey && !event.metaKey && /^[\\p{Letter}\\p{Number}]$/u.test(event.key);\n}\nfunction isSelfTargetOrItem(event, items) {\n  if (isSelfTarget(event))\n    return true;\n  const target = event.target;\n  if (!target)\n    return false;\n  const isItem = items.some((item) => item.element === target);\n  return isItem;\n}\nfunction getEnabledItems(items) {\n  return items.filter((item) => !item.disabled);\n}\nfunction itemTextStartsWith(item, text) {\n  var _a;\n  const itemText = ((_a = item.element) == null ? void 0 : _a.textContent) || item.children;\n  if (!itemText)\n    return false;\n  return normalizeString(itemText).trim().toLowerCase().startsWith(text.toLowerCase());\n}\nfunction getSameInitialItems(items, char, activeId) {\n  if (!activeId)\n    return items;\n  const activeItem = items.find((item) => item.id === activeId);\n  if (!activeItem)\n    return items;\n  if (!itemTextStartsWith(activeItem, char))\n    return items;\n  if (chars !== char && itemTextStartsWith(activeItem, chars))\n    return items;\n  chars = char;\n  return flipItems(\n    items.filter((item) => itemTextStartsWith(item, chars)),\n    activeId\n  ).filter((item) => item.id !== activeId);\n}\nvar useCompositeTypeahead = createHook(\n  (_a) => {\n    var _b = _a, { store, typeahead = true } = _b, props = __objRest(_b, [\"store\", \"typeahead\"]);\n    const context = useCompositeContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"CompositeTypeahead must be a Composite component\"\n    );\n    const onKeyDownCaptureProp = props.onKeyDownCapture;\n    const cleanupTimeoutRef = useRef(0);\n    const onKeyDownCapture = useEvent(\n      (event) => {\n        onKeyDownCaptureProp == null ? void 0 : onKeyDownCaptureProp(event);\n        if (event.defaultPrevented)\n          return;\n        if (!typeahead)\n          return;\n        if (!store)\n          return;\n        const { items, activeId } = store.getState();\n        if (!isValidTypeaheadEvent(event))\n          return clearChars();\n        let enabledItems = getEnabledItems(items);\n        if (!isSelfTargetOrItem(event, enabledItems))\n          return clearChars();\n        event.preventDefault();\n        window.clearTimeout(cleanupTimeoutRef.current);\n        cleanupTimeoutRef.current = window.setTimeout(() => {\n          chars = \"\";\n        }, 500);\n        const char = event.key.toLowerCase();\n        chars += char;\n        enabledItems = getSameInitialItems(enabledItems, char, activeId);\n        const item = enabledItems.find(\n          (item2) => itemTextStartsWith(item2, chars)\n        );\n        if (item) {\n          store.move(item.id);\n        } else {\n          clearChars();\n        }\n      }\n    );\n    props = __spreadProps(__spreadValues({}, props), {\n      onKeyDownCapture\n    });\n    return props;\n  }\n);\nvar CompositeTypeahead = createComponent(\n  (props) => {\n    const htmlProps = useCompositeTypeahead(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  CompositeTypeahead.displayName = \"CompositeTypeahead\";\n}\n\nexport {\n  useCompositeTypeahead,\n  CompositeTypeahead\n};\n","\"use client\";\n\n// src/composite/utils.ts\nimport { getDocument, isTextField } from \"@ariakit/core/utils/dom\";\nvar NULL_ITEM = { id: null };\nfunction flipItems(items, activeId, shouldInsertNullItem = false) {\n  const index = items.findIndex((item) => item.id === activeId);\n  return [\n    ...items.slice(index + 1),\n    ...shouldInsertNullItem ? [NULL_ITEM] : [],\n    ...items.slice(0, index)\n  ];\n}\nfunction findFirstEnabledItem(items, excludeId) {\n  return items.find((item) => {\n    if (excludeId) {\n      return !item.disabled && item.id !== excludeId;\n    }\n    return !item.disabled;\n  });\n}\nfunction getEnabledItem(store, id) {\n  if (!id)\n    return null;\n  return store.item(id) || null;\n}\nfunction groupItemsByRows(items) {\n  const rows = [];\n  for (const item of items) {\n    const row = rows.find((currentRow) => {\n      var _a;\n      return ((_a = currentRow[0]) == null ? void 0 : _a.rowId) === item.rowId;\n    });\n    if (row) {\n      row.push(item);\n    } else {\n      rows.push([item]);\n    }\n  }\n  return rows;\n}\nfunction selectTextField(element, collapseToEnd = false) {\n  if (isTextField(element)) {\n    element.setSelectionRange(\n      collapseToEnd ? element.value.length : 0,\n      element.value.length\n    );\n  } else if (element.isContentEditable) {\n    const selection = getDocument(element).getSelection();\n    selection == null ? void 0 : selection.selectAllChildren(element);\n    if (collapseToEnd) {\n      selection == null ? void 0 : selection.collapseToEnd();\n    }\n  }\n}\nvar FOCUS_SILENTLY = Symbol(\"FOCUS_SILENTLY\");\nfunction focusSilently(element) {\n  element[FOCUS_SILENTLY] = true;\n  element.focus({ preventScroll: true });\n}\nfunction silentlyFocused(element) {\n  const isSilentlyFocused = element[FOCUS_SILENTLY];\n  delete element[FOCUS_SILENTLY];\n  return isSilentlyFocused;\n}\nfunction isItem(store, element, exclude) {\n  if (!element)\n    return false;\n  if (element === exclude)\n    return false;\n  const item = store.item(element.id);\n  if (!item)\n    return false;\n  if (exclude && item.element === exclude)\n    return false;\n  return true;\n}\n\nexport {\n  flipItems,\n  findFirstEnabledItem,\n  getEnabledItem,\n  groupItemsByRows,\n  selectTextField,\n  focusSilently,\n  silentlyFocused,\n  isItem\n};\n","\"use client\";\nimport {\n  useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n  getRefProperty,\n  mergeProps\n} from \"./XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/system.tsx\nimport * as React from \"react\";\nimport { hasOwnProperty } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction isRenderProp(children) {\n  return typeof children === \"function\";\n}\nfunction forwardRef2(render) {\n  const Role = React.forwardRef((props, ref) => render(__spreadProps(__spreadValues({}, props), { ref })));\n  Role.displayName = render.displayName || render.name;\n  return Role;\n}\nfunction memo2(Component, propsAreEqual) {\n  const Role = React.memo(Component, propsAreEqual);\n  Role.displayName = Component.displayName || Component.name;\n  return Role;\n}\nfunction createComponent(render) {\n  const Role = (props, ref) => render(__spreadValues({ ref }, props));\n  return React.forwardRef(Role);\n}\nfunction createMemoComponent(render) {\n  const Role = createComponent(render);\n  return React.memo(Role);\n}\nfunction createElement(Type, props) {\n  const _a = props, { as: As, wrapElement, render } = _a, rest = __objRest(_a, [\"as\", \"wrapElement\", \"render\"]);\n  let element;\n  const mergedRef = useMergeRefs(props.ref, getRefProperty(render));\n  if (process.env.NODE_ENV !== \"production\") {\n    React.useEffect(() => {\n      if (!As)\n        return;\n      console.warn(\n        \"The `as` prop is deprecated. Use the `render` prop instead.\",\n        \"See https://ariakit.org/guide/composition\"\n      );\n    }, [As]);\n  }\n  if (As && typeof As !== \"string\") {\n    element = /* @__PURE__ */ jsx(As, __spreadProps(__spreadValues({}, rest), { render }));\n  } else if (React.isValidElement(render)) {\n    const renderProps = __spreadProps(__spreadValues({}, render.props), { ref: mergedRef });\n    element = React.cloneElement(render, mergeProps(rest, renderProps));\n  } else if (render) {\n    element = render(rest);\n  } else if (isRenderProp(props.children)) {\n    if (process.env.NODE_ENV !== \"production\") {\n      React.useEffect(() => {\n        console.warn(\n          \"The `children` prop as a function is deprecated. Use the `render` prop instead.\",\n          \"See https://ariakit.org/guide/composition\"\n        );\n      }, []);\n    }\n    const _b = rest, { children } = _b, otherProps = __objRest(_b, [\"children\"]);\n    element = props.children(otherProps);\n  } else if (As) {\n    element = /* @__PURE__ */ jsx(As, __spreadValues({}, rest));\n  } else {\n    element = /* @__PURE__ */ jsx(Type, __spreadValues({}, rest));\n  }\n  if (wrapElement) {\n    return wrapElement(element);\n  }\n  return element;\n}\nfunction createHook(useProps) {\n  const useRole = (props = {}) => {\n    const htmlProps = useProps(props);\n    const copy = {};\n    for (const prop in htmlProps) {\n      if (hasOwnProperty(htmlProps, prop) && htmlProps[prop] !== void 0) {\n        copy[prop] = htmlProps[prop];\n      }\n    }\n    return copy;\n  };\n  return useRole;\n}\nfunction createStoreContext(providers = [], scopedProviders = []) {\n  const context = React.createContext(void 0);\n  const scopedContext = React.createContext(void 0);\n  const useContext2 = () => React.useContext(context);\n  const useScopedContext = (onlyScoped = false) => {\n    const scoped = React.useContext(scopedContext);\n    const store = useContext2();\n    if (onlyScoped)\n      return scoped;\n    return scoped || store;\n  };\n  const useProviderContext = () => {\n    const scoped = React.useContext(scopedContext);\n    const store = useContext2();\n    if (scoped && scoped === store)\n      return;\n    return store;\n  };\n  const ContextProvider = (props) => {\n    return providers.reduceRight(\n      (children, Provider) => /* @__PURE__ */ jsx(Provider, __spreadProps(__spreadValues({}, props), { children })),\n      /* @__PURE__ */ jsx(context.Provider, __spreadValues({}, props))\n    );\n  };\n  const ScopedContextProvider = (props) => {\n    return /* @__PURE__ */ jsx(ContextProvider, __spreadProps(__spreadValues({}, props), { children: scopedProviders.reduceRight(\n      (children, Provider) => /* @__PURE__ */ jsx(Provider, __spreadProps(__spreadValues({}, props), { children })),\n      /* @__PURE__ */ jsx(scopedContext.Provider, __spreadValues({}, props))\n    ) }));\n  };\n  return {\n    context,\n    scopedContext,\n    useContext: useContext2,\n    useScopedContext,\n    useProviderContext,\n    ContextProvider,\n    ScopedContextProvider\n  };\n}\n\nexport {\n  forwardRef2 as forwardRef,\n  memo2 as memo,\n  createComponent,\n  createMemoComponent,\n  createElement,\n  createHook,\n  createStoreContext\n};\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n  for (var prop in b || (b = {}))\n    if (__hasOwnProp.call(b, prop))\n      __defNormalProp(a, prop, b[prop]);\n  if (__getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(b)) {\n      if (__propIsEnum.call(b, prop))\n        __defNormalProp(a, prop, b[prop]);\n    }\n  return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n  var target = {};\n  for (var prop in source)\n    if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n      target[prop] = source[prop];\n  if (source != null && __getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(source)) {\n      if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n        target[prop] = source[prop];\n    }\n  return target;\n};\n\nexport {\n  __spreadValues,\n  __spreadProps,\n  __objRest\n};\n","\"use client\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/collection/collection-context.tsx\nvar ctx = createStoreContext();\nvar useCollectionContext = ctx.useContext;\nvar useCollectionScopedContext = ctx.useScopedContext;\nvar useCollectionProviderContext = ctx.useProviderContext;\nvar CollectionContextProvider = ctx.ContextProvider;\nvar CollectionScopedContextProvider = ctx.ScopedContextProvider;\n\nexport {\n  useCollectionContext,\n  useCollectionScopedContext,\n  useCollectionProviderContext,\n  CollectionContextProvider,\n  CollectionScopedContextProvider\n};\n","\"use client\";\nimport {\n  setRef\n} from \"./XM66DUTO.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/hooks.ts\nimport {\n  useCallback,\n  useEffect,\n  useLayoutEffect,\n  useMemo,\n  useReducer,\n  useRef,\n  useState\n} from \"react\";\nimport * as React from \"react\";\nimport { canUseDOM } from \"@ariakit/core/utils/dom\";\nimport { addGlobalEventListener } from \"@ariakit/core/utils/events\";\nimport { applyState } from \"@ariakit/core/utils/misc\";\nvar _React = __spreadValues({}, React);\nvar useReactId = _React.useId;\nvar useReactDeferredValue = _React.useDeferredValue;\nvar useReactInsertionEffect = _React.useInsertionEffect;\nvar useSafeLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\nfunction useInitialValue(value) {\n  const [initialValue] = useState(value);\n  return initialValue;\n}\nfunction useLazyValue(init) {\n  const ref = useRef();\n  if (ref.current === void 0) {\n    ref.current = init();\n  }\n  return ref.current;\n}\nfunction useLiveRef(value) {\n  const ref = useRef(value);\n  useSafeLayoutEffect(() => {\n    ref.current = value;\n  });\n  return ref;\n}\nfunction usePreviousValue(value) {\n  const [previousValue, setPreviousValue] = useState(value);\n  if (value !== previousValue) {\n    setPreviousValue(value);\n  }\n  return previousValue;\n}\nfunction useEvent(callback) {\n  const ref = useRef(() => {\n    throw new Error(\"Cannot call an event handler while rendering.\");\n  });\n  if (useReactInsertionEffect) {\n    useReactInsertionEffect(() => {\n      ref.current = callback;\n    });\n  } else {\n    ref.current = callback;\n  }\n  return useCallback((...args) => {\n    var _a;\n    return (_a = ref.current) == null ? void 0 : _a.call(ref, ...args);\n  }, []);\n}\nfunction useMergeRefs(...refs) {\n  return useMemo(() => {\n    if (!refs.some(Boolean))\n      return;\n    return (value) => {\n      refs.forEach((ref) => setRef(ref, value));\n    };\n  }, refs);\n}\nfunction useRefId(ref, deps) {\n  const [id, setId] = useState(void 0);\n  useSafeLayoutEffect(() => {\n    var _a;\n    setId((_a = ref == null ? void 0 : ref.current) == null ? void 0 : _a.id);\n  }, deps);\n  return id;\n}\nfunction useId(defaultId) {\n  if (useReactId) {\n    const reactId = useReactId();\n    if (defaultId)\n      return defaultId;\n    return reactId;\n  }\n  const [id, setId] = useState(defaultId);\n  useSafeLayoutEffect(() => {\n    if (defaultId || id)\n      return;\n    const random = Math.random().toString(36).substr(2, 6);\n    setId(`id-${random}`);\n  }, [defaultId, id]);\n  return defaultId || id;\n}\nfunction useDeferredValue(value) {\n  if (useReactDeferredValue) {\n    return useReactDeferredValue(value);\n  }\n  const [deferredValue, setDeferredValue] = useState(value);\n  useEffect(() => {\n    const raf = requestAnimationFrame(() => setDeferredValue(value));\n    return () => cancelAnimationFrame(raf);\n  }, [value]);\n  return deferredValue;\n}\nfunction useTagName(refOrElement, type) {\n  const stringOrUndefined = (type2) => {\n    if (typeof type2 !== \"string\")\n      return;\n    return type2;\n  };\n  const [tagName, setTagName] = useState(() => stringOrUndefined(type));\n  useSafeLayoutEffect(() => {\n    const element = refOrElement && \"current\" in refOrElement ? refOrElement.current : refOrElement;\n    setTagName((element == null ? void 0 : element.tagName.toLowerCase()) || stringOrUndefined(type));\n  }, [refOrElement, type]);\n  return tagName;\n}\nfunction useAttribute(refOrElement, attributeName, defaultValue) {\n  const [attribute, setAttribute] = useState(defaultValue);\n  useSafeLayoutEffect(() => {\n    const element = refOrElement && \"current\" in refOrElement ? refOrElement.current : refOrElement;\n    const value = element == null ? void 0 : element.getAttribute(attributeName);\n    if (value == null)\n      return;\n    setAttribute(value);\n  }, [refOrElement, attributeName]);\n  return attribute;\n}\nfunction useUpdateEffect(effect, deps) {\n  const mounted = useRef(false);\n  useEffect(() => {\n    if (mounted.current) {\n      return effect();\n    }\n    mounted.current = true;\n  }, deps);\n  useEffect(\n    () => () => {\n      mounted.current = false;\n    },\n    []\n  );\n}\nfunction useUpdateLayoutEffect(effect, deps) {\n  const mounted = useRef(false);\n  useSafeLayoutEffect(() => {\n    if (mounted.current) {\n      return effect();\n    }\n    mounted.current = true;\n  }, deps);\n  useSafeLayoutEffect(\n    () => () => {\n      mounted.current = false;\n    },\n    []\n  );\n}\nfunction useControlledState(defaultState, state, setState) {\n  const [localState, setLocalState] = useState(defaultState);\n  const nextState = state !== void 0 ? state : localState;\n  const stateRef = useLiveRef(state);\n  const setStateRef = useLiveRef(setState);\n  const nextStateRef = useLiveRef(nextState);\n  const setNextState = useCallback((prevValue) => {\n    const setStateProp = setStateRef.current;\n    if (setStateProp) {\n      if (isSetNextState(setStateProp)) {\n        setStateProp(prevValue);\n      } else {\n        const nextValue = applyState(prevValue, nextStateRef.current);\n        nextStateRef.current = nextValue;\n        setStateProp(nextValue);\n      }\n    }\n    if (stateRef.current === void 0) {\n      setLocalState(prevValue);\n    }\n  }, []);\n  defineSetNextState(setNextState);\n  return [nextState, setNextState];\n}\nvar SET_NEXT_STATE = Symbol(\"setNextState\");\nfunction isSetNextState(arg) {\n  return arg[SET_NEXT_STATE] === true;\n}\nfunction defineSetNextState(arg) {\n  if (!isSetNextState(arg)) {\n    Object.defineProperty(arg, SET_NEXT_STATE, { value: true });\n  }\n}\nfunction useForceUpdate() {\n  return useReducer(() => [], []);\n}\nfunction useBooleanEvent(booleanOrCallback) {\n  return useEvent(\n    typeof booleanOrCallback === \"function\" ? booleanOrCallback : () => booleanOrCallback\n  );\n}\nfunction useWrapElement(props, callback, deps = []) {\n  const wrapElement = useCallback(\n    (element) => {\n      if (props.wrapElement) {\n        element = props.wrapElement(element);\n      }\n      return callback(element);\n    },\n    [...deps, props.wrapElement]\n  );\n  return __spreadProps(__spreadValues({}, props), { wrapElement });\n}\nfunction usePortalRef(portalProp = false, portalRefProp) {\n  const [portalNode, setPortalNode] = useState(null);\n  const portalRef = useMergeRefs(setPortalNode, portalRefProp);\n  const domReady = !portalProp || portalNode;\n  return { portalRef, portalNode, domReady };\n}\nfunction useMetadataProps(props, key, value) {\n  const parent = props.onLoadedMetadataCapture;\n  const onLoadedMetadataCapture = useMemo(() => {\n    return Object.assign(() => {\n    }, __spreadProps(__spreadValues({}, parent), { [key]: value }));\n  }, [parent, key, value]);\n  return [parent == null ? void 0 : parent[key], { onLoadedMetadataCapture }];\n}\nfunction useIsMouseMoving() {\n  useEffect(() => {\n    addGlobalEventListener(\"mousemove\", setMouseMoving, true);\n    addGlobalEventListener(\"mousedown\", resetMouseMoving, true);\n    addGlobalEventListener(\"mouseup\", resetMouseMoving, true);\n    addGlobalEventListener(\"keydown\", resetMouseMoving, true);\n    addGlobalEventListener(\"scroll\", resetMouseMoving, true);\n  }, []);\n  const isMouseMoving = useEvent(() => mouseMoving);\n  return isMouseMoving;\n}\nvar mouseMoving = false;\nvar previousScreenX = 0;\nvar previousScreenY = 0;\nfunction hasMouseMovement(event) {\n  const movementX = event.movementX || event.screenX - previousScreenX;\n  const movementY = event.movementY || event.screenY - previousScreenY;\n  previousScreenX = event.screenX;\n  previousScreenY = event.screenY;\n  return movementX || movementY || process.env.NODE_ENV === \"test\";\n}\nfunction setMouseMoving(event) {\n  if (!hasMouseMovement(event))\n    return;\n  mouseMoving = true;\n}\nfunction resetMouseMoving() {\n  mouseMoving = false;\n}\n\nexport {\n  useSafeLayoutEffect,\n  useInitialValue,\n  useLazyValue,\n  useLiveRef,\n  usePreviousValue,\n  useEvent,\n  useMergeRefs,\n  useRefId,\n  useId,\n  useDeferredValue,\n  useTagName,\n  useAttribute,\n  useUpdateEffect,\n  useUpdateLayoutEffect,\n  useControlledState,\n  useForceUpdate,\n  useBooleanEvent,\n  useWrapElement,\n  usePortalRef,\n  useMetadataProps,\n  useIsMouseMoving\n};\n","\"use client\";\nimport {\n  useCollectionStoreProps\n} from \"./Y6GYTNQ2.js\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\n\n// src/composite/composite-store.ts\nimport * as Core from \"@ariakit/core/composite/composite-store\";\nfunction useCompositeStoreProps(store, update, props) {\n  store = useCollectionStoreProps(store, update, props);\n  useStoreProps(store, props, \"activeId\", \"setActiveId\");\n  useStoreProps(store, props, \"includesBaseElement\");\n  useStoreProps(store, props, \"virtualFocus\");\n  useStoreProps(store, props, \"orientation\");\n  useStoreProps(store, props, \"rtl\");\n  useStoreProps(store, props, \"focusLoop\");\n  useStoreProps(store, props, \"focusWrap\");\n  useStoreProps(store, props, \"focusShift\");\n  return store;\n}\nfunction useCompositeStore(props = {}) {\n  const [store, update] = useStore(Core.createCompositeStore, props);\n  return useCompositeStoreProps(store, update, props);\n}\n\nexport {\n  useCompositeStoreProps,\n  useCompositeStore\n};\n","\"use client\";\nimport {\n  DialogContextProvider,\n  DialogScopedContextProvider\n} from \"./G6BJYYBK.js\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/popover/popover-context.tsx\nvar ctx = createStoreContext(\n  [DialogContextProvider],\n  [DialogScopedContextProvider]\n);\nvar usePopoverContext = ctx.useContext;\nvar usePopoverScopedContext = ctx.useScopedContext;\nvar usePopoverProviderContext = ctx.useProviderContext;\nvar PopoverContextProvider = ctx.ContextProvider;\nvar PopoverScopedContextProvider = ctx.ScopedContextProvider;\n\nexport {\n  usePopoverContext,\n  usePopoverScopedContext,\n  usePopoverProviderContext,\n  PopoverContextProvider,\n  PopoverScopedContextProvider\n};\n","\"use client\";\nimport {\n  findFirstEnabledItem,\n  getEnabledItem,\n  groupItemsByRows,\n  isItem,\n  silentlyFocused\n} from \"./3IEDWLST.js\";\nimport {\n  CompositeContextProvider,\n  useCompositeProviderContext\n} from \"./IB7YUKH5.js\";\nimport {\n  useFocusable\n} from \"./KK7H3W2B.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useMergeRefs,\n  useSafeLayoutEffect,\n  useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite.tsx\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { flatten2DArray, reverseArray } from \"@ariakit/core/utils/array\";\nimport { getActiveElement, isTextField } from \"@ariakit/core/utils/dom\";\nimport {\n  fireBlurEvent,\n  fireKeyboardEvent,\n  isSelfTarget\n} from \"@ariakit/core/utils/events\";\nimport { focusIntoView, hasFocus } from \"@ariakit/core/utils/focus\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction isGrid(items) {\n  return items.some((item) => !!item.rowId);\n}\nfunction isPrintableKey(event) {\n  const target = event.target;\n  if (target && !isTextField(target))\n    return false;\n  return event.key.length === 1 && !event.ctrlKey && !event.metaKey;\n}\nfunction isModifierKey(event) {\n  return event.key === \"Shift\" || event.key === \"Control\" || event.key === \"Alt\" || event.key === \"Meta\";\n}\nfunction useKeyboardEventProxy(store, onKeyboardEvent, previousElementRef) {\n  return useEvent((event) => {\n    var _a;\n    onKeyboardEvent == null ? void 0 : onKeyboardEvent(event);\n    if (event.defaultPrevented)\n      return;\n    if (event.isPropagationStopped())\n      return;\n    if (!isSelfTarget(event))\n      return;\n    if (isModifierKey(event))\n      return;\n    if (isPrintableKey(event))\n      return;\n    const state = store.getState();\n    const activeElement = (_a = getEnabledItem(store, state.activeId)) == null ? void 0 : _a.element;\n    if (!activeElement)\n      return;\n    const _b = event, { view } = _b, eventInit = __objRest(_b, [\"view\"]);\n    const previousElement = previousElementRef == null ? void 0 : previousElementRef.current;\n    if (activeElement !== previousElement) {\n      activeElement.focus();\n    }\n    if (!fireKeyboardEvent(activeElement, event.type, eventInit)) {\n      event.preventDefault();\n    }\n    if (event.currentTarget.contains(activeElement)) {\n      event.stopPropagation();\n    }\n  });\n}\nfunction findFirstEnabledItemInTheLastRow(items) {\n  return findFirstEnabledItem(\n    flatten2DArray(reverseArray(groupItemsByRows(items)))\n  );\n}\nfunction useScheduleFocus(store) {\n  const [scheduled, setScheduled] = useState(false);\n  const schedule = useCallback(() => setScheduled(true), []);\n  const activeItem = store.useState(\n    (state) => getEnabledItem(store, state.activeId)\n  );\n  useEffect(() => {\n    const activeElement = activeItem == null ? void 0 : activeItem.element;\n    if (!scheduled)\n      return;\n    if (!activeElement)\n      return;\n    setScheduled(false);\n    activeElement.focus({ preventScroll: true });\n  }, [activeItem, scheduled]);\n  return schedule;\n}\nvar useComposite = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      composite = true,\n      focusOnMove = composite,\n      moveOnKeyPress = true\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"composite\",\n      \"focusOnMove\",\n      \"moveOnKeyPress\"\n    ]);\n    const context = useCompositeProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"Composite must receive a `store` prop or be wrapped in a CompositeProvider component.\"\n    );\n    const previousElementRef = useRef(null);\n    const scheduleFocus = useScheduleFocus(store);\n    const moves = store.useState(\"moves\");\n    useEffect(() => {\n      var _a2;\n      if (!store)\n        return;\n      if (!moves)\n        return;\n      if (!composite)\n        return;\n      if (!focusOnMove)\n        return;\n      const { activeId: activeId2 } = store.getState();\n      const itemElement = (_a2 = getEnabledItem(store, activeId2)) == null ? void 0 : _a2.element;\n      if (!itemElement)\n        return;\n      focusIntoView(itemElement);\n    }, [store, moves, composite, focusOnMove]);\n    useSafeLayoutEffect(() => {\n      if (!store)\n        return;\n      if (!moves)\n        return;\n      if (!composite)\n        return;\n      const { baseElement, activeId: activeId2 } = store.getState();\n      const isSelfAcive = activeId2 === null;\n      if (!isSelfAcive)\n        return;\n      if (!baseElement)\n        return;\n      const previousElement = previousElementRef.current;\n      previousElementRef.current = null;\n      if (previousElement) {\n        fireBlurEvent(previousElement, { relatedTarget: baseElement });\n      }\n      if (!hasFocus(baseElement)) {\n        baseElement.focus();\n      }\n    }, [store, moves, composite]);\n    const activeId = store.useState(\"activeId\");\n    const virtualFocus = store.useState(\"virtualFocus\");\n    useSafeLayoutEffect(() => {\n      var _a2;\n      if (!store)\n        return;\n      if (!composite)\n        return;\n      if (!virtualFocus)\n        return;\n      const previousElement = previousElementRef.current;\n      previousElementRef.current = null;\n      if (!previousElement)\n        return;\n      const activeElement = (_a2 = getEnabledItem(store, activeId)) == null ? void 0 : _a2.element;\n      const relatedTarget = activeElement || getActiveElement(previousElement);\n      if (relatedTarget === previousElement)\n        return;\n      fireBlurEvent(previousElement, { relatedTarget });\n    }, [store, activeId, virtualFocus, composite]);\n    const onKeyDownCapture = useKeyboardEventProxy(\n      store,\n      props.onKeyDownCapture,\n      previousElementRef\n    );\n    const onKeyUpCapture = useKeyboardEventProxy(\n      store,\n      props.onKeyUpCapture,\n      previousElementRef\n    );\n    const onFocusCaptureProp = props.onFocusCapture;\n    const onFocusCapture = useEvent((event) => {\n      onFocusCaptureProp == null ? void 0 : onFocusCaptureProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!store)\n        return;\n      const { virtualFocus: virtualFocus2 } = store.getState();\n      if (!virtualFocus2)\n        return;\n      const previousActiveElement = event.relatedTarget;\n      const isSilentlyFocused = silentlyFocused(event.currentTarget);\n      if (isSelfTarget(event) && isSilentlyFocused) {\n        event.stopPropagation();\n        previousElementRef.current = previousActiveElement;\n      }\n    });\n    const onFocusProp = props.onFocus;\n    const onFocus = useEvent((event) => {\n      onFocusProp == null ? void 0 : onFocusProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!composite)\n        return;\n      if (!store)\n        return;\n      const { relatedTarget } = event;\n      const { virtualFocus: virtualFocus2 } = store.getState();\n      if (virtualFocus2) {\n        if (isSelfTarget(event) && !isItem(store, relatedTarget)) {\n          queueMicrotask(scheduleFocus);\n        }\n      } else if (isSelfTarget(event)) {\n        store.setActiveId(null);\n      }\n    });\n    const onBlurCaptureProp = props.onBlurCapture;\n    const onBlurCapture = useEvent((event) => {\n      var _a2;\n      onBlurCaptureProp == null ? void 0 : onBlurCaptureProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!store)\n        return;\n      const { virtualFocus: virtualFocus2, activeId: activeId2 } = store.getState();\n      if (!virtualFocus2)\n        return;\n      const activeElement = (_a2 = getEnabledItem(store, activeId2)) == null ? void 0 : _a2.element;\n      const nextActiveElement = event.relatedTarget;\n      const nextActiveElementIsItem = isItem(store, nextActiveElement);\n      const previousElement = previousElementRef.current;\n      previousElementRef.current = null;\n      if (isSelfTarget(event) && nextActiveElementIsItem) {\n        if (nextActiveElement === activeElement) {\n          if (previousElement && previousElement !== nextActiveElement) {\n            fireBlurEvent(previousElement, event);\n          }\n        } else if (activeElement) {\n          fireBlurEvent(activeElement, event);\n        } else if (previousElement) {\n          fireBlurEvent(previousElement, event);\n        }\n        event.stopPropagation();\n      } else {\n        const targetIsItem = isItem(store, event.target);\n        if (!targetIsItem && activeElement) {\n          fireBlurEvent(activeElement, event);\n        }\n      }\n    });\n    const onKeyDownProp = props.onKeyDown;\n    const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);\n    const onKeyDown = useEvent((event) => {\n      var _a2;\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!store)\n        return;\n      if (!isSelfTarget(event))\n        return;\n      const { orientation, items, renderedItems, activeId: activeId2 } = store.getState();\n      const activeItem = getEnabledItem(store, activeId2);\n      if ((_a2 = activeItem == null ? void 0 : activeItem.element) == null ? void 0 : _a2.isConnected)\n        return;\n      const isVertical = orientation !== \"horizontal\";\n      const isHorizontal = orientation !== \"vertical\";\n      const grid = isGrid(renderedItems);\n      const isHorizontalKey = event.key === \"ArrowLeft\" || event.key === \"ArrowRight\" || event.key === \"Home\" || event.key === \"End\";\n      if (isHorizontalKey && isTextField(event.currentTarget))\n        return;\n      const up = () => {\n        if (grid) {\n          const item = items && findFirstEnabledItemInTheLastRow(items);\n          return item == null ? void 0 : item.id;\n        }\n        return store == null ? void 0 : store.last();\n      };\n      const keyMap = {\n        ArrowUp: (grid || isVertical) && up,\n        ArrowRight: (grid || isHorizontal) && store.first,\n        ArrowDown: (grid || isVertical) && store.first,\n        ArrowLeft: (grid || isHorizontal) && store.last,\n        Home: store.first,\n        End: store.last,\n        PageUp: store.first,\n        PageDown: store.last\n      };\n      const action = keyMap[event.key];\n      if (action) {\n        const id = action();\n        if (id !== void 0) {\n          if (!moveOnKeyPressProp(event))\n            return;\n          event.preventDefault();\n          store.move(id);\n        }\n      }\n    });\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(CompositeContextProvider, { value: store, children: element }),\n      [store]\n    );\n    const activeDescendant = store.useState((state) => {\n      var _a2;\n      if (!store)\n        return;\n      if (!composite)\n        return;\n      if (!state.virtualFocus)\n        return;\n      return (_a2 = getEnabledItem(store, state.activeId)) == null ? void 0 : _a2.id;\n    });\n    props = __spreadProps(__spreadValues({\n      \"aria-activedescendant\": activeDescendant\n    }, props), {\n      ref: useMergeRefs(composite ? store.setBaseElement : null, props.ref),\n      onKeyDownCapture,\n      onKeyUpCapture,\n      onFocusCapture,\n      onFocus,\n      onBlurCapture,\n      onKeyDown\n    });\n    const focusable = store.useState(\n      (state) => composite && (state.virtualFocus || state.activeId === null)\n    );\n    props = useFocusable(__spreadValues({ focusable }, props));\n    return props;\n  }\n);\nvar Composite = createComponent((props) => {\n  const htmlProps = useComposite(props);\n  return createElement(\"div\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Composite.displayName = \"Composite\";\n}\n\nexport {\n  useComposite,\n  Composite\n};\n","\"use client\";\nimport {\n  DialogScopedContextProvider\n} from \"./G6BJYYBK.js\";\nimport {\n  useDisclosureProviderContext\n} from \"./OAYFXAQ2.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useStoreState\n} from \"./EKQEJRUF.js\";\nimport {\n  useId,\n  useMergeRefs,\n  useSafeLayoutEffect,\n  useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/disclosure/disclosure-content.tsx\nimport { useState } from \"react\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction afterTimeout(timeoutMs, cb) {\n  const timeoutId = setTimeout(cb, timeoutMs);\n  return () => clearTimeout(timeoutId);\n}\nfunction afterPaint(cb) {\n  let raf = requestAnimationFrame(() => {\n    raf = requestAnimationFrame(cb);\n  });\n  return () => cancelAnimationFrame(raf);\n}\nfunction parseCSSTime(...times) {\n  return times.join(\", \").split(\", \").reduce((longestTime, currentTimeString) => {\n    const currentTime = parseFloat(currentTimeString || \"0s\") * 1e3;\n    if (currentTime > longestTime)\n      return currentTime;\n    return longestTime;\n  }, 0);\n}\nfunction isHidden(mounted, hidden, alwaysVisible) {\n  return !alwaysVisible && hidden !== false && (!mounted || !!hidden);\n}\nvar useDisclosureContent = createHook(\n  (_a) => {\n    var _b = _a, { store, alwaysVisible } = _b, props = __objRest(_b, [\"store\", \"alwaysVisible\"]);\n    const context = useDisclosureProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"DisclosureContent must receive a `store` prop or be wrapped in a DisclosureProvider component.\"\n    );\n    const id = useId(props.id);\n    const [transition, setTransition] = useState(null);\n    const open = store.useState(\"open\");\n    const mounted = store.useState(\"mounted\");\n    const animated = store.useState(\"animated\");\n    const contentElement = store.useState(\"contentElement\");\n    useSafeLayoutEffect(() => {\n      if (!animated)\n        return;\n      if (!(contentElement == null ? void 0 : contentElement.isConnected)) {\n        setTransition(null);\n        return;\n      }\n      return afterPaint(() => {\n        setTransition(open ? \"enter\" : \"leave\");\n      });\n    }, [animated, contentElement, open]);\n    useSafeLayoutEffect(() => {\n      if (!store)\n        return;\n      if (!animated)\n        return;\n      if (!contentElement)\n        return;\n      if (!transition)\n        return;\n      if (transition === \"enter\" && !open)\n        return;\n      if (transition === \"leave\" && open)\n        return;\n      if (typeof animated === \"number\") {\n        const timeoutMs2 = animated;\n        return afterTimeout(timeoutMs2, store.stopAnimation);\n      }\n      const {\n        transitionDuration,\n        animationDuration,\n        transitionDelay,\n        animationDelay\n      } = getComputedStyle(contentElement);\n      const delay = parseCSSTime(transitionDelay, animationDelay);\n      const duration = parseCSSTime(transitionDuration, animationDuration);\n      const timeoutMs = delay + duration;\n      if (!timeoutMs)\n        return;\n      return afterTimeout(timeoutMs, store.stopAnimation);\n    }, [store, animated, contentElement, open, transition]);\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(DialogScopedContextProvider, { value: store, children: element }),\n      [store]\n    );\n    const hidden = isHidden(mounted, props.hidden, alwaysVisible);\n    const style = hidden ? __spreadProps(__spreadValues({}, props.style), { display: \"none\" }) : props.style;\n    props = __spreadProps(__spreadValues({\n      id,\n      \"data-enter\": transition === \"enter\" ? \"\" : void 0,\n      \"data-leave\": transition === \"leave\" ? \"\" : void 0,\n      hidden\n    }, props), {\n      ref: useMergeRefs(id ? store.setContentElement : null, props.ref),\n      style\n    });\n    return props;\n  }\n);\nvar DisclosureContentImpl = createComponent(\n  (props) => {\n    const htmlProps = useDisclosureContent(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nvar DisclosureContent = createComponent(\n  (_a) => {\n    var _b = _a, { unmountOnHide } = _b, props = __objRest(_b, [\"unmountOnHide\"]);\n    const context = useDisclosureProviderContext();\n    const store = props.store || context;\n    const mounted = useStoreState(\n      store,\n      (state) => !unmountOnHide || (state == null ? void 0 : state.mounted)\n    );\n    if (mounted === false)\n      return null;\n    return /* @__PURE__ */ jsx(DisclosureContentImpl, __spreadValues({}, props));\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  DisclosureContent.displayName = \"DisclosureContent\";\n}\n\nexport {\n  isHidden,\n  useDisclosureContent,\n  DisclosureContent\n};\n","\"use client\";\nimport {\n  useEvent,\n  useLiveRef,\n  useSafeLayoutEffect\n} from \"./6O5OEQGF.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/store.tsx\nimport * as React from \"react\";\nimport { hasOwnProperty, identity } from \"@ariakit/core/utils/misc\";\nimport { batch, init, subscribe, sync } from \"@ariakit/core/utils/store\";\nimport useSyncExternalStoreExports from \"use-sync-external-store/shim/index.js\";\nvar { useSyncExternalStore } = useSyncExternalStoreExports;\nvar noopSubscribe = () => () => {\n};\nfunction useStoreState(store, keyOrSelector = identity) {\n  const storeSubscribe = React.useCallback(\n    (callback) => {\n      if (!store)\n        return noopSubscribe();\n      return subscribe(store, null, callback);\n    },\n    [store]\n  );\n  const getSnapshot = () => {\n    const key = typeof keyOrSelector === \"string\" ? keyOrSelector : null;\n    const selector = typeof keyOrSelector === \"function\" ? keyOrSelector : null;\n    const state = store == null ? void 0 : store.getState();\n    if (selector)\n      return selector(state);\n    if (!state)\n      return;\n    if (!key)\n      return;\n    if (!hasOwnProperty(state, key))\n      return;\n    return state[key];\n  };\n  return useSyncExternalStore(storeSubscribe, getSnapshot, getSnapshot);\n}\nfunction useStoreProps(store, props, key, setKey) {\n  const value = hasOwnProperty(props, key) ? props[key] : void 0;\n  const setValue = setKey ? props[setKey] : void 0;\n  const propsRef = useLiveRef({ value, setValue });\n  useSafeLayoutEffect(() => {\n    return sync(store, [key], (state, prev) => {\n      const { value: value2, setValue: setValue2 } = propsRef.current;\n      if (!setValue2)\n        return;\n      if (state[key] === prev[key])\n        return;\n      if (state[key] === value2)\n        return;\n      setValue2(state[key]);\n    });\n  }, [store, key]);\n  useSafeLayoutEffect(() => {\n    if (value === void 0)\n      return;\n    store.setState(key, value);\n    return batch(store, [key], () => {\n      if (value === void 0)\n        return;\n      store.setState(key, value);\n    });\n  });\n}\nfunction useStore(createStore, props) {\n  const [store, setStore] = React.useState(() => createStore(props));\n  useSafeLayoutEffect(() => init(store), [store]);\n  const useState2 = React.useCallback(\n    (keyOrSelector) => useStoreState(store, keyOrSelector),\n    [store]\n  );\n  const memoizedStore = React.useMemo(\n    () => __spreadProps(__spreadValues({}, store), { useState: useState2 }),\n    [store, useState2]\n  );\n  const updateStore = useEvent(() => {\n    setStore((store2) => createStore(__spreadValues(__spreadValues({}, props), store2.getState())));\n  });\n  return [memoizedStore, updateStore];\n}\n\nexport {\n  useStoreState,\n  useStoreProps,\n  useStore\n};\n","\"use client\";\nimport {\n  DisclosureContextProvider,\n  DisclosureScopedContextProvider\n} from \"./OAYFXAQ2.js\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/dialog/dialog-context.tsx\nimport { createContext } from \"react\";\nvar ctx = createStoreContext(\n  [DisclosureContextProvider],\n  [DisclosureScopedContextProvider]\n);\nvar useDialogContext = ctx.useContext;\nvar useDialogScopedContext = ctx.useScopedContext;\nvar useDialogProviderContext = ctx.useProviderContext;\nvar DialogContextProvider = ctx.ContextProvider;\nvar DialogScopedContextProvider = ctx.ScopedContextProvider;\nvar DialogHeadingContext = createContext(void 0);\nvar DialogDescriptionContext = createContext(void 0);\n\nexport {\n  useDialogContext,\n  useDialogScopedContext,\n  useDialogProviderContext,\n  DialogContextProvider,\n  DialogScopedContextProvider,\n  DialogHeadingContext,\n  DialogDescriptionContext\n};\n","\"use client\";\nimport {\n  useCompositeContext\n} from \"./IB7YUKH5.js\";\nimport {\n  createElement,\n  createHook,\n  createMemoComponent\n} from \"./3ORBWXWF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useIsMouseMoving,\n  useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-hover.ts\nimport { useCallback } from \"react\";\nimport { contains } from \"@ariakit/core/utils/dom\";\nimport { hasFocus, hasFocusWithin } from \"@ariakit/core/utils/focus\";\nimport { hasOwnProperty, invariant } from \"@ariakit/core/utils/misc\";\nfunction getMouseDestination(event) {\n  const relatedTarget = event.relatedTarget;\n  if ((relatedTarget == null ? void 0 : relatedTarget.nodeType) === Node.ELEMENT_NODE) {\n    return relatedTarget;\n  }\n  return null;\n}\nfunction hoveringInside(event) {\n  const nextElement = getMouseDestination(event);\n  if (!nextElement)\n    return false;\n  return contains(event.currentTarget, nextElement);\n}\nvar symbol = Symbol(\"composite-hover\");\nfunction movingToAnotherItem(event) {\n  let dest = getMouseDestination(event);\n  if (!dest)\n    return false;\n  do {\n    if (hasOwnProperty(dest, symbol) && dest[symbol])\n      return true;\n    dest = dest.parentElement;\n  } while (dest);\n  return false;\n}\nvar useCompositeHover = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      focusOnHover = true,\n      blurOnHoverEnd = !!focusOnHover\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"focusOnHover\",\n      \"blurOnHoverEnd\"\n    ]);\n    const context = useCompositeContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"CompositeHover must be wrapped in a Composite component.\"\n    );\n    const isMouseMoving = useIsMouseMoving();\n    const onMouseMoveProp = props.onMouseMove;\n    const focusOnHoverProp = useBooleanEvent(focusOnHover);\n    const onMouseMove = useEvent((event) => {\n      onMouseMoveProp == null ? void 0 : onMouseMoveProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!isMouseMoving())\n        return;\n      if (!focusOnHoverProp(event))\n        return;\n      if (!hasFocusWithin(event.currentTarget)) {\n        const baseElement = store == null ? void 0 : store.getState().baseElement;\n        if (baseElement && !hasFocus(baseElement)) {\n          baseElement.focus();\n        }\n      }\n      store == null ? void 0 : store.setActiveId(event.currentTarget.id);\n    });\n    const onMouseLeaveProp = props.onMouseLeave;\n    const blurOnHoverEndProp = useBooleanEvent(blurOnHoverEnd);\n    const onMouseLeave = useEvent((event) => {\n      var _a2;\n      onMouseLeaveProp == null ? void 0 : onMouseLeaveProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!isMouseMoving())\n        return;\n      if (hoveringInside(event))\n        return;\n      if (movingToAnotherItem(event))\n        return;\n      if (!focusOnHoverProp(event))\n        return;\n      if (!blurOnHoverEndProp(event))\n        return;\n      store == null ? void 0 : store.setActiveId(null);\n      (_a2 = store == null ? void 0 : store.getState().baseElement) == null ? void 0 : _a2.focus();\n    });\n    const ref = useCallback((element) => {\n      if (!element)\n        return;\n      element[symbol] = true;\n    }, []);\n    props = __spreadProps(__spreadValues({}, props), {\n      ref: useMergeRefs(ref, props.ref),\n      onMouseMove,\n      onMouseLeave\n    });\n    return props;\n  }\n);\nvar CompositeHover = createMemoComponent(\n  (props) => {\n    const htmlProps = useCompositeHover(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  CompositeHover.displayName = \"CompositeHover\";\n}\n\nexport {\n  useCompositeHover,\n  CompositeHover\n};\n","\"use client\";\nimport {\n  CollectionContextProvider,\n  CollectionScopedContextProvider\n} from \"./4UUKJZ4V.js\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/composite/composite-context.tsx\nimport { createContext } from \"react\";\nvar ctx = createStoreContext(\n  [CollectionContextProvider],\n  [CollectionScopedContextProvider]\n);\nvar useCompositeContext = ctx.useContext;\nvar useCompositeScopedContext = ctx.useScopedContext;\nvar useCompositeProviderContext = ctx.useProviderContext;\nvar CompositeContextProvider = ctx.ContextProvider;\nvar CompositeScopedContextProvider = ctx.ScopedContextProvider;\nvar CompositeItemContext = createContext(\n  void 0\n);\nvar CompositeRowContext = createContext(\n  void 0\n);\n\nexport {\n  useCompositeContext,\n  useCompositeScopedContext,\n  useCompositeProviderContext,\n  CompositeContextProvider,\n  CompositeScopedContextProvider,\n  CompositeItemContext,\n  CompositeRowContext\n};\n","\"use client\";\nimport {\n  usePopoverProviderContext\n} from \"./7H5KSHHF.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/popover/popover-anchor.ts\nvar usePopoverAnchor = createHook(\n  (_a) => {\n    var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n    const context = usePopoverProviderContext();\n    store = store || context;\n    props = __spreadProps(__spreadValues({}, props), {\n      ref: useMergeRefs(store == null ? void 0 : store.setAnchorElement, props.ref)\n    });\n    return props;\n  }\n);\nvar PopoverAnchor = createComponent((props) => {\n  const htmlProps = usePopoverAnchor(props);\n  return createElement(\"div\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  PopoverAnchor.displayName = \"PopoverAnchor\";\n}\n\nexport {\n  usePopoverAnchor,\n  PopoverAnchor\n};\n","\"use client\";\nimport {\n  FocusableContext\n} from \"./SHA3WOPI.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useEvent,\n  useMergeRefs,\n  useTagName\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/focusable/focusable.ts\nimport { useContext, useEffect, useRef, useState } from \"react\";\nimport { isButton } from \"@ariakit/core/utils/dom\";\nimport {\n  addGlobalEventListener,\n  isFocusEventOutside,\n  isPortalEvent,\n  isSelfTarget,\n  queueBeforeEvent\n} from \"@ariakit/core/utils/events\";\nimport {\n  focusIfNeeded,\n  hasFocus,\n  isFocusable\n} from \"@ariakit/core/utils/focus\";\nimport { disabledFromProps } from \"@ariakit/core/utils/misc\";\nimport { isSafari } from \"@ariakit/core/utils/platform\";\nvar isSafariBrowser = isSafari();\nvar alwaysFocusVisibleInputTypes = [\n  \"text\",\n  \"search\",\n  \"url\",\n  \"tel\",\n  \"email\",\n  \"password\",\n  \"number\",\n  \"date\",\n  \"month\",\n  \"week\",\n  \"time\",\n  \"datetime\",\n  \"datetime-local\"\n];\nfunction isAlwaysFocusVisible(element) {\n  const { tagName, readOnly, type } = element;\n  if (tagName === \"TEXTAREA\" && !readOnly)\n    return true;\n  if (tagName === \"SELECT\" && !readOnly)\n    return true;\n  if (tagName === \"INPUT\" && !readOnly) {\n    return alwaysFocusVisibleInputTypes.includes(type);\n  }\n  if (element.isContentEditable)\n    return true;\n  return false;\n}\nfunction isAlwaysFocusVisibleDelayed(element) {\n  const role = element.getAttribute(\"role\");\n  if (role !== \"combobox\")\n    return false;\n  return !!element.dataset.name;\n}\nfunction getLabels(element) {\n  if (\"labels\" in element) {\n    return element.labels;\n  }\n  return null;\n}\nfunction isNativeCheckboxOrRadio(element) {\n  const tagName = element.tagName.toLowerCase();\n  if (tagName === \"input\" && element.type) {\n    return element.type === \"radio\" || element.type === \"checkbox\";\n  }\n  return false;\n}\nfunction isNativeTabbable(tagName) {\n  if (!tagName)\n    return true;\n  return tagName === \"button\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\" || tagName === \"a\";\n}\nfunction supportsDisabledAttribute(tagName) {\n  if (!tagName)\n    return true;\n  return tagName === \"button\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\";\n}\nfunction getTabIndex(focusable, trulyDisabled, nativeTabbable, supportsDisabled, tabIndexProp) {\n  if (!focusable) {\n    return tabIndexProp;\n  }\n  if (trulyDisabled) {\n    if (nativeTabbable && !supportsDisabled) {\n      return -1;\n    }\n    return;\n  }\n  if (nativeTabbable) {\n    return tabIndexProp;\n  }\n  return tabIndexProp || 0;\n}\nfunction useDisableEvent(onEvent, disabled) {\n  return useEvent((event) => {\n    onEvent == null ? void 0 : onEvent(event);\n    if (event.defaultPrevented)\n      return;\n    if (disabled) {\n      event.stopPropagation();\n      event.preventDefault();\n    }\n  });\n}\nvar isKeyboardModality = true;\nfunction onGlobalMouseDown(event) {\n  const target = event.target;\n  if (target && \"hasAttribute\" in target) {\n    if (!target.hasAttribute(\"data-focus-visible\")) {\n      isKeyboardModality = false;\n    }\n  }\n}\nfunction onGlobalKeyDown(event) {\n  if (event.metaKey)\n    return;\n  if (event.ctrlKey)\n    return;\n  if (event.altKey)\n    return;\n  isKeyboardModality = true;\n}\nvar useFocusable = createHook(\n  (_a) => {\n    var _b = _a, {\n      focusable = true,\n      accessibleWhenDisabled,\n      autoFocus,\n      onFocusVisible\n    } = _b, props = __objRest(_b, [\n      \"focusable\",\n      \"accessibleWhenDisabled\",\n      \"autoFocus\",\n      \"onFocusVisible\"\n    ]);\n    const ref = useRef(null);\n    useEffect(() => {\n      if (!focusable)\n        return;\n      addGlobalEventListener(\"mousedown\", onGlobalMouseDown, true);\n      addGlobalEventListener(\"keydown\", onGlobalKeyDown, true);\n    }, [focusable]);\n    if (isSafariBrowser) {\n      useEffect(() => {\n        if (!focusable)\n          return;\n        const element = ref.current;\n        if (!element)\n          return;\n        if (!isNativeCheckboxOrRadio(element))\n          return;\n        const labels = getLabels(element);\n        if (!labels)\n          return;\n        const onMouseUp = () => queueMicrotask(() => element.focus());\n        labels.forEach((label) => label.addEventListener(\"mouseup\", onMouseUp));\n        return () => {\n          labels.forEach(\n            (label) => label.removeEventListener(\"mouseup\", onMouseUp)\n          );\n        };\n      }, [focusable]);\n    }\n    const disabled = focusable && disabledFromProps(props);\n    const trulyDisabled = !!disabled && !accessibleWhenDisabled;\n    const [focusVisible, setFocusVisible] = useState(false);\n    useEffect(() => {\n      if (!focusable)\n        return;\n      if (trulyDisabled && focusVisible) {\n        setFocusVisible(false);\n      }\n    }, [focusable, trulyDisabled, focusVisible]);\n    useEffect(() => {\n      if (!focusable)\n        return;\n      if (!focusVisible)\n        return;\n      const element = ref.current;\n      if (!element)\n        return;\n      if (typeof IntersectionObserver === \"undefined\")\n        return;\n      const observer = new IntersectionObserver(() => {\n        if (!isFocusable(element)) {\n          setFocusVisible(false);\n        }\n      });\n      observer.observe(element);\n      return () => observer.disconnect();\n    }, [focusable, focusVisible]);\n    const onKeyPressCapture = useDisableEvent(\n      props.onKeyPressCapture,\n      disabled\n    );\n    const onMouseDownCapture = useDisableEvent(\n      props.onMouseDownCapture,\n      disabled\n    );\n    const onClickCapture = useDisableEvent(props.onClickCapture, disabled);\n    const onMouseDownProp = props.onMouseDown;\n    const onMouseDown = useEvent((event) => {\n      onMouseDownProp == null ? void 0 : onMouseDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!focusable)\n        return;\n      const element = event.currentTarget;\n      if (!isSafariBrowser)\n        return;\n      if (isPortalEvent(event))\n        return;\n      if (!isButton(element) && !isNativeCheckboxOrRadio(element))\n        return;\n      let receivedFocus = false;\n      const onFocus = () => {\n        receivedFocus = true;\n      };\n      const options = { capture: true, once: true };\n      element.addEventListener(\"focusin\", onFocus, options);\n      queueBeforeEvent(element, \"mouseup\", () => {\n        element.removeEventListener(\"focusin\", onFocus, true);\n        if (receivedFocus)\n          return;\n        focusIfNeeded(element);\n      });\n    });\n    const handleFocusVisible = (event, currentTarget) => {\n      if (currentTarget) {\n        event.currentTarget = currentTarget;\n      }\n      if (!focusable)\n        return;\n      const element = event.currentTarget;\n      if (!element)\n        return;\n      if (!hasFocus(element))\n        return;\n      onFocusVisible == null ? void 0 : onFocusVisible(event);\n      if (event.defaultPrevented)\n        return;\n      setFocusVisible(true);\n    };\n    const onKeyDownCaptureProp = props.onKeyDownCapture;\n    const onKeyDownCapture = useEvent(\n      (event) => {\n        onKeyDownCaptureProp == null ? void 0 : onKeyDownCaptureProp(event);\n        if (event.defaultPrevented)\n          return;\n        if (!focusable)\n          return;\n        if (focusVisible)\n          return;\n        if (event.metaKey)\n          return;\n        if (event.altKey)\n          return;\n        if (event.ctrlKey)\n          return;\n        if (!isSelfTarget(event))\n          return;\n        const element = event.currentTarget;\n        queueMicrotask(() => handleFocusVisible(event, element));\n      }\n    );\n    const onFocusCaptureProp = props.onFocusCapture;\n    const onFocusCapture = useEvent((event) => {\n      onFocusCaptureProp == null ? void 0 : onFocusCaptureProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!focusable)\n        return;\n      if (!isSelfTarget(event)) {\n        setFocusVisible(false);\n        return;\n      }\n      const element = event.currentTarget;\n      const applyFocusVisible = () => handleFocusVisible(event, element);\n      if (isKeyboardModality || isAlwaysFocusVisible(event.target)) {\n        queueMicrotask(applyFocusVisible);\n      } else if (isAlwaysFocusVisibleDelayed(event.target)) {\n        queueBeforeEvent(event.target, \"focusout\", applyFocusVisible);\n      } else {\n        setFocusVisible(false);\n      }\n    });\n    const onBlurProp = props.onBlur;\n    const onBlur = useEvent((event) => {\n      onBlurProp == null ? void 0 : onBlurProp(event);\n      if (!focusable)\n        return;\n      if (!isFocusEventOutside(event))\n        return;\n      setFocusVisible(false);\n    });\n    const autoFocusOnShow = useContext(FocusableContext);\n    const autoFocusRef = useEvent((element) => {\n      if (!focusable)\n        return;\n      if (!autoFocus)\n        return;\n      if (!element)\n        return;\n      if (!autoFocusOnShow)\n        return;\n      queueMicrotask(() => {\n        if (hasFocus(element))\n          return;\n        if (!isFocusable(element))\n          return;\n        element.focus();\n      });\n    });\n    const tagName = useTagName(ref, props.as);\n    const nativeTabbable = focusable && isNativeTabbable(tagName);\n    const supportsDisabled = focusable && supportsDisabledAttribute(tagName);\n    const style = trulyDisabled ? __spreadValues({ pointerEvents: \"none\" }, props.style) : props.style;\n    props = __spreadProps(__spreadValues({\n      \"data-focus-visible\": focusable && focusVisible ? \"\" : void 0,\n      \"data-autofocus\": autoFocus ? true : void 0,\n      \"aria-disabled\": disabled ? true : void 0\n    }, props), {\n      ref: useMergeRefs(ref, autoFocusRef, props.ref),\n      style,\n      tabIndex: getTabIndex(\n        focusable,\n        trulyDisabled,\n        nativeTabbable,\n        supportsDisabled,\n        props.tabIndex\n      ),\n      disabled: supportsDisabled && trulyDisabled ? true : void 0,\n      // TODO: Test Focusable contentEditable.\n      contentEditable: disabled ? void 0 : props.contentEditable,\n      onKeyPressCapture,\n      onClickCapture,\n      onMouseDownCapture,\n      onMouseDown,\n      onKeyDownCapture,\n      onFocusCapture,\n      onBlur\n    });\n    return props;\n  }\n);\nvar Focusable = createComponent((props) => {\n  props = useFocusable(props);\n  return createElement(\"div\", props);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Focusable.displayName = \"Focusable\";\n}\n\nexport {\n  useFocusable,\n  Focusable\n};\n","\"use client\";\nimport {\n  useDialogStoreProps\n} from \"./ZSELSBRM.js\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\nimport {\n  useUpdateEffect\n} from \"./6O5OEQGF.js\";\n\n// src/popover/popover-store.ts\nimport * as Core from \"@ariakit/core/popover/popover-store\";\nfunction usePopoverStoreProps(store, update, props) {\n  useUpdateEffect(update, [props.popover]);\n  store = useDialogStoreProps(store, update, props);\n  useStoreProps(store, props, \"placement\");\n  return store;\n}\nfunction usePopoverStore(props = {}) {\n  const [store, update] = useStore(Core.createPopoverStore, props);\n  return usePopoverStoreProps(store, update, props);\n}\n\nexport {\n  usePopoverStoreProps,\n  usePopoverStore\n};\n","\"use client\";\nimport {\n  useFocusable\n} from \"./KK7H3W2B.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useEvent,\n  useMergeRefs,\n  useMetadataProps,\n  useTagName\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/command/command.ts\nimport { useEffect, useRef, useState } from \"react\";\nimport { isButton, isTextField } from \"@ariakit/core/utils/dom\";\nimport {\n  fireClickEvent,\n  isSelfTarget,\n  queueBeforeEvent\n} from \"@ariakit/core/utils/events\";\nimport { disabledFromProps } from \"@ariakit/core/utils/misc\";\nimport { isFirefox } from \"@ariakit/core/utils/platform\";\nfunction isNativeClick(event) {\n  if (!event.isTrusted)\n    return false;\n  const element = event.currentTarget;\n  if (event.key === \"Enter\") {\n    return isButton(element) || element.tagName === \"SUMMARY\" || element.tagName === \"A\";\n  }\n  if (event.key === \" \") {\n    return isButton(element) || element.tagName === \"SUMMARY\" || element.tagName === \"INPUT\" || element.tagName === \"SELECT\";\n  }\n  return false;\n}\nvar symbol = Symbol(\"command\");\nvar useCommand = createHook(\n  (_a) => {\n    var _b = _a, { clickOnEnter = true, clickOnSpace = true } = _b, props = __objRest(_b, [\"clickOnEnter\", \"clickOnSpace\"]);\n    const ref = useRef(null);\n    const tagName = useTagName(ref, props.as);\n    const type = props.type;\n    const [isNativeButton, setIsNativeButton] = useState(\n      () => !!tagName && isButton({ tagName, type })\n    );\n    useEffect(() => {\n      if (!ref.current)\n        return;\n      setIsNativeButton(isButton(ref.current));\n    }, []);\n    const [active, setActive] = useState(false);\n    const activeRef = useRef(false);\n    const disabled = disabledFromProps(props);\n    const [isDuplicate, metadataProps] = useMetadataProps(props, symbol, true);\n    const onKeyDownProp = props.onKeyDown;\n    const onKeyDown = useEvent((event) => {\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      const element = event.currentTarget;\n      if (event.defaultPrevented)\n        return;\n      if (isDuplicate)\n        return;\n      if (disabled)\n        return;\n      if (!isSelfTarget(event))\n        return;\n      if (isTextField(element))\n        return;\n      if (element.isContentEditable)\n        return;\n      const isEnter = clickOnEnter && event.key === \"Enter\";\n      const isSpace = clickOnSpace && event.key === \" \";\n      const shouldPreventEnter = event.key === \"Enter\" && !clickOnEnter;\n      const shouldPreventSpace = event.key === \" \" && !clickOnSpace;\n      if (shouldPreventEnter || shouldPreventSpace) {\n        event.preventDefault();\n        return;\n      }\n      if (isEnter || isSpace) {\n        const nativeClick = isNativeClick(event);\n        if (isEnter) {\n          if (!nativeClick) {\n            event.preventDefault();\n            const _a2 = event, { view } = _a2, eventInit = __objRest(_a2, [\"view\"]);\n            const click = () => fireClickEvent(element, eventInit);\n            if (isFirefox()) {\n              queueBeforeEvent(element, \"keyup\", click);\n            } else {\n              queueMicrotask(click);\n            }\n          }\n        } else if (isSpace) {\n          activeRef.current = true;\n          if (!nativeClick) {\n            event.preventDefault();\n            setActive(true);\n          }\n        }\n      }\n    });\n    const onKeyUpProp = props.onKeyUp;\n    const onKeyUp = useEvent((event) => {\n      onKeyUpProp == null ? void 0 : onKeyUpProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (isDuplicate)\n        return;\n      if (disabled)\n        return;\n      if (event.metaKey)\n        return;\n      const isSpace = clickOnSpace && event.key === \" \";\n      if (activeRef.current && isSpace) {\n        activeRef.current = false;\n        if (!isNativeClick(event)) {\n          event.preventDefault();\n          setActive(false);\n          const element = event.currentTarget;\n          const _a2 = event, { view } = _a2, eventInit = __objRest(_a2, [\"view\"]);\n          queueMicrotask(() => fireClickEvent(element, eventInit));\n        }\n      }\n    });\n    props = __spreadProps(__spreadValues(__spreadValues({\n      \"data-active\": active ? \"\" : void 0,\n      type: isNativeButton ? \"button\" : void 0\n    }, metadataProps), props), {\n      ref: useMergeRefs(ref, props.ref),\n      onKeyDown,\n      onKeyUp\n    });\n    props = useFocusable(props);\n    return props;\n  }\n);\nvar Command = createComponent((props) => {\n  props = useCommand(props);\n  return createElement(\"button\", props);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Command.displayName = \"Command\";\n}\n\nexport {\n  useCommand,\n  Command\n};\n","\"use client\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/disclosure/disclosure-context.tsx\nvar ctx = createStoreContext();\nvar useDisclosureContext = ctx.useContext;\nvar useDisclosureScopedContext = ctx.useScopedContext;\nvar useDisclosureProviderContext = ctx.useProviderContext;\nvar DisclosureContextProvider = ctx.ContextProvider;\nvar DisclosureScopedContextProvider = ctx.ScopedContextProvider;\n\nexport {\n  useDisclosureContext,\n  useDisclosureScopedContext,\n  useDisclosureProviderContext,\n  DisclosureContextProvider,\n  DisclosureScopedContextProvider\n};\n","\"use client\";\nimport {\n  useCommand\n} from \"./NWCBQ4CV.js\";\nimport {\n  useCollectionItem\n} from \"./UH3I23HL.js\";\nimport {\n  focusSilently,\n  getEnabledItem,\n  isItem\n} from \"./3IEDWLST.js\";\nimport {\n  CompositeItemContext,\n  CompositeRowContext,\n  useCompositeContext\n} from \"./IB7YUKH5.js\";\nimport {\n  createElement,\n  createHook,\n  createMemoComponent\n} from \"./3ORBWXWF.js\";\nimport {\n  useStoreState\n} from \"./EKQEJRUF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useId,\n  useMergeRefs,\n  useSafeLayoutEffect,\n  useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-item.tsx\nimport { useCallback, useContext, useMemo, useRef, useState } from \"react\";\nimport {\n  getScrollingElement,\n  isButton,\n  isTextField\n} from \"@ariakit/core/utils/dom\";\nimport { isPortalEvent, isSelfTarget } from \"@ariakit/core/utils/events\";\nimport { disabledFromProps } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction isEditableElement(element) {\n  if (element.isContentEditable)\n    return true;\n  if (isTextField(element))\n    return true;\n  return element.tagName === \"INPUT\" && !isButton(element);\n}\nfunction getNextPageOffset(scrollingElement, pageUp = false) {\n  const height = scrollingElement.clientHeight;\n  const { top } = scrollingElement.getBoundingClientRect();\n  const pageSize = Math.max(height * 0.875, height - 40) * 1.5;\n  const pageOffset = pageUp ? height - pageSize + top : pageSize + top;\n  if (scrollingElement.tagName === \"HTML\") {\n    return pageOffset + scrollingElement.scrollTop;\n  }\n  return pageOffset;\n}\nfunction getItemOffset(itemElement, pageUp = false) {\n  const { top } = itemElement.getBoundingClientRect();\n  if (pageUp) {\n    return top + itemElement.clientHeight;\n  }\n  return top;\n}\nfunction findNextPageItemId(element, store, next, pageUp = false) {\n  var _a;\n  if (!store)\n    return;\n  if (!next)\n    return;\n  const { renderedItems } = store.getState();\n  const scrollingElement = getScrollingElement(element);\n  if (!scrollingElement)\n    return;\n  const nextPageOffset = getNextPageOffset(scrollingElement, pageUp);\n  let id;\n  let prevDifference;\n  for (let i = 0; i < renderedItems.length; i += 1) {\n    const previousId = id;\n    id = next(i);\n    if (!id)\n      break;\n    if (id === previousId)\n      continue;\n    const itemElement = (_a = getEnabledItem(store, id)) == null ? void 0 : _a.element;\n    if (!itemElement)\n      continue;\n    const itemOffset = getItemOffset(itemElement, pageUp);\n    const difference = itemOffset - nextPageOffset;\n    const absDifference = Math.abs(difference);\n    if (pageUp && difference <= 0 || !pageUp && difference >= 0) {\n      if (prevDifference !== void 0 && prevDifference < absDifference) {\n        id = previousId;\n      }\n      break;\n    }\n    prevDifference = absDifference;\n  }\n  return id;\n}\nfunction targetIsAnotherItem(event, store) {\n  if (isSelfTarget(event))\n    return false;\n  return isItem(store, event.target);\n}\nfunction useRole(ref, props) {\n  const roleProp = props.role;\n  const [role, setRole] = useState(roleProp);\n  useSafeLayoutEffect(() => {\n    const element = ref.current;\n    if (!element)\n      return;\n    setRole(element.getAttribute(\"role\") || roleProp);\n  }, [roleProp]);\n  return role;\n}\nfunction requiresAriaSelected(role) {\n  return role === \"option\" || role === \"treeitem\";\n}\nfunction supportsAriaSelected(role) {\n  if (role === \"option\")\n    return true;\n  if (role === \"tab\")\n    return true;\n  if (role === \"treeitem\")\n    return true;\n  if (role === \"gridcell\")\n    return true;\n  if (role === \"row\")\n    return true;\n  if (role === \"columnheader\")\n    return true;\n  if (role === \"rowheader\")\n    return true;\n  return false;\n}\nvar useCompositeItem = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      rowId: rowIdProp,\n      preventScrollOnKeyDown = false,\n      moveOnKeyPress = true,\n      tabbable = false,\n      getItem: getItemProp,\n      \"aria-setsize\": ariaSetSizeProp,\n      \"aria-posinset\": ariaPosInSetProp\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"rowId\",\n      \"preventScrollOnKeyDown\",\n      \"moveOnKeyPress\",\n      \"tabbable\",\n      \"getItem\",\n      \"aria-setsize\",\n      \"aria-posinset\"\n    ]);\n    const context = useCompositeContext();\n    store = store || context;\n    const id = useId(props.id);\n    const ref = useRef(null);\n    const row = useContext(CompositeRowContext);\n    const rowId = useStoreState(store, (state) => {\n      if (rowIdProp)\n        return rowIdProp;\n      if (!state)\n        return;\n      if (!(row == null ? void 0 : row.baseElement))\n        return;\n      if (row.baseElement !== state.baseElement)\n        return;\n      return row.id;\n    });\n    const disabled = disabledFromProps(props);\n    const trulyDisabled = disabled && !props.accessibleWhenDisabled;\n    const getItem = useCallback(\n      (item) => {\n        const nextItem = __spreadProps(__spreadValues({}, item), {\n          id: id || item.id,\n          rowId,\n          disabled: !!trulyDisabled\n        });\n        if (getItemProp) {\n          return getItemProp(nextItem);\n        }\n        return nextItem;\n      },\n      [id, rowId, trulyDisabled, getItemProp]\n    );\n    const onFocusProp = props.onFocus;\n    const hasFocusedComposite = useRef(false);\n    const onFocus = useEvent((event) => {\n      onFocusProp == null ? void 0 : onFocusProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (isPortalEvent(event))\n        return;\n      if (!id)\n        return;\n      if (!store)\n        return;\n      const { activeId, virtualFocus: virtualFocus2, baseElement: baseElement2 } = store.getState();\n      if (targetIsAnotherItem(event, store))\n        return;\n      if (activeId !== id) {\n        store.setActiveId(id);\n      }\n      if (!virtualFocus2)\n        return;\n      if (!isSelfTarget(event))\n        return;\n      if (isEditableElement(event.currentTarget))\n        return;\n      if (!(baseElement2 == null ? void 0 : baseElement2.isConnected))\n        return;\n      hasFocusedComposite.current = true;\n      const fromComposite = event.relatedTarget === baseElement2 || isItem(store, event.relatedTarget);\n      if (fromComposite) {\n        focusSilently(baseElement2);\n      } else {\n        baseElement2.focus();\n      }\n    });\n    const onBlurCaptureProp = props.onBlurCapture;\n    const onBlurCapture = useEvent((event) => {\n      onBlurCaptureProp == null ? void 0 : onBlurCaptureProp(event);\n      if (event.defaultPrevented)\n        return;\n      const state = store == null ? void 0 : store.getState();\n      if ((state == null ? void 0 : state.virtualFocus) && hasFocusedComposite.current) {\n        hasFocusedComposite.current = false;\n        event.preventDefault();\n        event.stopPropagation();\n      }\n    });\n    const onKeyDownProp = props.onKeyDown;\n    const preventScrollOnKeyDownProp = useBooleanEvent(preventScrollOnKeyDown);\n    const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);\n    const onKeyDown = useEvent((event) => {\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!isSelfTarget(event))\n        return;\n      if (!store)\n        return;\n      const { currentTarget } = event;\n      const state = store.getState();\n      const item = store.item(id);\n      const isGrid = !!(item == null ? void 0 : item.rowId);\n      const isVertical = state.orientation !== \"horizontal\";\n      const isHorizontal = state.orientation !== \"vertical\";\n      const canHomeEnd = () => {\n        if (isGrid)\n          return true;\n        if (isHorizontal)\n          return true;\n        if (!state.baseElement)\n          return true;\n        if (!isTextField(state.baseElement))\n          return true;\n        return false;\n      };\n      const keyMap = {\n        ArrowUp: (isGrid || isVertical) && store.up,\n        ArrowRight: (isGrid || isHorizontal) && store.next,\n        ArrowDown: (isGrid || isVertical) && store.down,\n        ArrowLeft: (isGrid || isHorizontal) && store.previous,\n        Home: () => {\n          if (!canHomeEnd())\n            return;\n          if (!isGrid || event.ctrlKey) {\n            return store == null ? void 0 : store.first();\n          }\n          return store == null ? void 0 : store.previous(-1);\n        },\n        End: () => {\n          if (!canHomeEnd())\n            return;\n          if (!isGrid || event.ctrlKey) {\n            return store == null ? void 0 : store.last();\n          }\n          return store == null ? void 0 : store.next(-1);\n        },\n        PageUp: () => {\n          return findNextPageItemId(currentTarget, store, store == null ? void 0 : store.up, true);\n        },\n        PageDown: () => {\n          return findNextPageItemId(currentTarget, store, store == null ? void 0 : store.down);\n        }\n      };\n      const action = keyMap[event.key];\n      if (action) {\n        const nextId = action();\n        if (preventScrollOnKeyDownProp(event) || nextId !== void 0) {\n          if (!moveOnKeyPressProp(event))\n            return;\n          event.preventDefault();\n          store.move(nextId);\n        }\n      }\n    });\n    const baseElement = useStoreState(\n      store,\n      (state) => (state == null ? void 0 : state.baseElement) || void 0\n    );\n    const providerValue = useMemo(\n      () => ({ id, baseElement }),\n      [id, baseElement]\n    );\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(CompositeItemContext.Provider, { value: providerValue, children: element }),\n      [providerValue]\n    );\n    const isActiveItem = useStoreState(\n      store,\n      (state) => !!state && state.activeId === id\n    );\n    const virtualFocus = useStoreState(store, \"virtualFocus\");\n    const role = useRole(ref, props);\n    let ariaSelected;\n    if (isActiveItem) {\n      if (requiresAriaSelected(role)) {\n        ariaSelected = true;\n      } else if (virtualFocus && supportsAriaSelected(role)) {\n        ariaSelected = true;\n      }\n    }\n    const ariaSetSize = useStoreState(store, (state) => {\n      if (ariaSetSizeProp != null)\n        return ariaSetSizeProp;\n      if (!state)\n        return;\n      if (!(row == null ? void 0 : row.ariaSetSize))\n        return;\n      if (row.baseElement !== state.baseElement)\n        return;\n      return row.ariaSetSize;\n    });\n    const ariaPosInSet = useStoreState(store, (state) => {\n      if (ariaPosInSetProp != null)\n        return ariaPosInSetProp;\n      if (!state)\n        return;\n      if (!(row == null ? void 0 : row.ariaPosInSet))\n        return;\n      if (row.baseElement !== state.baseElement)\n        return;\n      const itemsInRow = state.renderedItems.filter(\n        (item) => item.rowId === rowId\n      );\n      return row.ariaPosInSet + itemsInRow.findIndex((item) => item.id === id);\n    });\n    const isTabbable = useStoreState(store, (state) => {\n      if (!(state == null ? void 0 : state.renderedItems.length))\n        return true;\n      if (state.virtualFocus)\n        return false;\n      if (tabbable)\n        return true;\n      return state.activeId === id;\n    });\n    props = __spreadProps(__spreadValues({\n      id,\n      \"aria-selected\": ariaSelected,\n      \"data-active-item\": isActiveItem ? \"\" : void 0\n    }, props), {\n      ref: useMergeRefs(ref, props.ref),\n      tabIndex: isTabbable ? props.tabIndex : -1,\n      onFocus,\n      onBlurCapture,\n      onKeyDown\n    });\n    props = useCommand(props);\n    props = useCollectionItem(__spreadProps(__spreadValues({\n      store\n    }, props), {\n      getItem,\n      shouldRegisterItem: !!id ? props.shouldRegisterItem : false\n    }));\n    return __spreadProps(__spreadValues({}, props), {\n      \"aria-setsize\": ariaSetSize,\n      \"aria-posinset\": ariaPosInSet\n    });\n  }\n);\nvar CompositeItem = createMemoComponent(\n  (props) => {\n    const htmlProps = useCompositeItem(props);\n    return createElement(\"button\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  CompositeItem.displayName = \"CompositeItem\";\n}\n\nexport {\n  useCompositeItem,\n  CompositeItem\n};\n","\"use client\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\nimport {\n  useUpdateEffect\n} from \"./6O5OEQGF.js\";\n\n// src/disclosure/disclosure-store.ts\nimport * as Core from \"@ariakit/core/disclosure/disclosure-store\";\nfunction useDisclosureStoreProps(store, update, props) {\n  useUpdateEffect(update, [props.store, props.disclosure]);\n  useStoreProps(store, props, \"open\", \"setOpen\");\n  useStoreProps(store, props, \"mounted\", \"setMounted\");\n  useStoreProps(store, props, \"animated\");\n  return store;\n}\nfunction useDisclosureStore(props = {}) {\n  const [store, update] = useStore(Core.createDisclosureStore, props);\n  return useDisclosureStoreProps(store, update, props);\n}\n\nexport {\n  useDisclosureStoreProps,\n  useDisclosureStore\n};\n","\"use client\";\n\n// src/focusable/focusable-context.ts\nimport { createContext } from \"react\";\nvar FocusableContext = createContext(true);\n\nexport {\n  FocusableContext\n};\n","\"use client\";\nimport {\n  useCollectionContext\n} from \"./4UUKJZ4V.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useId,\n  useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/collection/collection-item.ts\nimport { useEffect, useRef } from \"react\";\nimport { identity } from \"@ariakit/core/utils/misc\";\nvar useCollectionItem = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      shouldRegisterItem = true,\n      getItem = identity,\n      element: element\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"shouldRegisterItem\",\n      \"getItem\",\n      // @ts-expect-error This prop may come from a collection renderer.\n      \"element\"\n    ]);\n    const context = useCollectionContext();\n    store = store || context;\n    const id = useId(props.id);\n    const ref = useRef(element);\n    useEffect(() => {\n      const element2 = ref.current;\n      if (!id)\n        return;\n      if (!element2)\n        return;\n      if (!shouldRegisterItem)\n        return;\n      const item = getItem({ id, element: element2 });\n      return store == null ? void 0 : store.renderItem(item);\n    }, [id, shouldRegisterItem, getItem, store]);\n    props = __spreadProps(__spreadValues({}, props), {\n      ref: useMergeRefs(ref, props.ref)\n    });\n    return props;\n  }\n);\nvar CollectionItem = createComponent(\n  (props) => {\n    const htmlProps = useCollectionItem(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  CollectionItem.displayName = \"CollectionItem\";\n}\n\nexport {\n  useCollectionItem,\n  CollectionItem\n};\n","\"use client\";\nimport {\n  CompositeContextProvider,\n  CompositeScopedContextProvider\n} from \"./IB7YUKH5.js\";\nimport {\n  PopoverContextProvider,\n  PopoverScopedContextProvider\n} from \"./7H5KSHHF.js\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/combobox/combobox-context.tsx\nimport { createContext } from \"react\";\nvar ctx = createStoreContext(\n  [PopoverContextProvider, CompositeContextProvider],\n  [PopoverScopedContextProvider, CompositeScopedContextProvider]\n);\nvar useComboboxContext = ctx.useContext;\nvar useComboboxScopedContext = ctx.useScopedContext;\nvar useComboboxProviderContext = ctx.useProviderContext;\nvar ComboboxContextProvider = ctx.ContextProvider;\nvar ComboboxScopedContextProvider = ctx.ScopedContextProvider;\nvar ComboboxItemValueContext = createContext(\n  void 0\n);\nvar ComboboxItemCheckedContext = createContext(false);\n\nexport {\n  useComboboxContext,\n  useComboboxScopedContext,\n  useComboboxProviderContext,\n  ComboboxContextProvider,\n  ComboboxScopedContextProvider,\n  ComboboxItemValueContext,\n  ComboboxItemCheckedContext\n};\n","\"use client\";\nimport {\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/misc.ts\nimport { isValidElement } from \"react\";\nimport { hasOwnProperty } from \"@ariakit/core/utils/misc\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    ref(value);\n  } else if (ref) {\n    ref.current = value;\n  }\n}\nfunction isValidElementWithRef(element) {\n  if (!element)\n    return false;\n  if (!isValidElement(element))\n    return false;\n  if (!(\"ref\" in element))\n    return false;\n  return true;\n}\nfunction getRefProperty(element) {\n  if (!isValidElementWithRef(element))\n    return null;\n  return element.ref;\n}\nfunction mergeProps(base, overrides) {\n  const props = __spreadValues({}, base);\n  for (const key in overrides) {\n    if (!hasOwnProperty(overrides, key))\n      continue;\n    if (key === \"className\") {\n      const prop = \"className\";\n      props[prop] = base[prop] ? `${base[prop]} ${overrides[prop]}` : overrides[prop];\n      continue;\n    }\n    if (key === \"style\") {\n      const prop = \"style\";\n      props[prop] = base[prop] ? __spreadValues(__spreadValues({}, base[prop]), overrides[prop]) : overrides[prop];\n      continue;\n    }\n    const overrideValue = overrides[key];\n    if (typeof overrideValue === \"function\" && key.startsWith(\"on\")) {\n      const baseValue = base[key];\n      if (typeof baseValue === \"function\") {\n        props[key] = (...args) => {\n          overrideValue(...args);\n          baseValue(...args);\n        };\n        continue;\n      }\n    }\n    props[key] = overrideValue;\n  }\n  return props;\n}\n\nexport {\n  setRef,\n  isValidElementWithRef,\n  getRefProperty,\n  mergeProps\n};\n","\"use client\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\nimport {\n  useUpdateEffect\n} from \"./6O5OEQGF.js\";\n\n// src/collection/collection-store.ts\nimport * as Core from \"@ariakit/core/collection/collection-store\";\nfunction useCollectionStoreProps(store, update, props) {\n  useUpdateEffect(update, [props.store]);\n  useStoreProps(store, props, \"items\", \"setItems\");\n  return store;\n}\nfunction useCollectionStore(props = {}) {\n  const [store, update] = useStore(Core.createCollectionStore, props);\n  return useCollectionStoreProps(store, update, props);\n}\n\nexport {\n  useCollectionStoreProps,\n  useCollectionStore\n};\n","\"use client\";\nimport {\n  ComboboxScopedContextProvider,\n  useComboboxProviderContext\n} from \"./W76OTZCC.js\";\nimport {\n  isHidden\n} from \"./CLE7NTOY.js\";\nimport {\n  useFocusable\n} from \"./KK7H3W2B.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useAttribute,\n  useEvent,\n  useId,\n  useMergeRefs,\n  useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/combobox/combobox-list.tsx\nimport { useRef } from \"react\";\nimport { isFocusEventOutside } from \"@ariakit/core/utils/events\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar useComboboxList = createHook(\n  (_a) => {\n    var _b = _a, { store, focusable = true, alwaysVisible } = _b, props = __objRest(_b, [\"store\", \"focusable\", \"alwaysVisible\"]);\n    const context = useComboboxProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"ComboboxList must receive a `store` prop or be wrapped in a ComboboxProvider component.\"\n    );\n    const ref = useRef(null);\n    const id = useId(props.id);\n    const onKeyDownProp = props.onKeyDown;\n    const onKeyDown = useEvent((event) => {\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (event.key === \"Escape\") {\n        store == null ? void 0 : store.move(null);\n      }\n    });\n    const restoreVirtualFocus = useRef(false);\n    const onFocusVisibleProp = props.onFocusVisible;\n    const onFocusVisible = useEvent((event) => {\n      onFocusVisibleProp == null ? void 0 : onFocusVisibleProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (event.type !== \"focus\")\n        return;\n      if (!store)\n        return;\n      const { virtualFocus } = store.getState();\n      if (!virtualFocus)\n        return;\n      const { relatedTarget, currentTarget } = event;\n      if (relatedTarget && currentTarget.contains(relatedTarget))\n        return;\n      restoreVirtualFocus.current = true;\n      store.setState(\"virtualFocus\", false);\n    });\n    const onBlurProp = props.onBlur;\n    const onBlur = useEvent((event) => {\n      onBlurProp == null ? void 0 : onBlurProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!restoreVirtualFocus.current)\n        return;\n      if (!isFocusEventOutside(event))\n        return;\n      restoreVirtualFocus.current = false;\n      store == null ? void 0 : store.setState(\"virtualFocus\", true);\n    });\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(ComboboxScopedContextProvider, { value: store, children: element }),\n      [store]\n    );\n    const mounted = store.useState(\"mounted\");\n    const hidden = isHidden(mounted, props.hidden, alwaysVisible);\n    const style = hidden ? __spreadProps(__spreadValues({}, props.style), { display: \"none\" }) : props.style;\n    const multiSelectable = store.useState(\n      (state) => Array.isArray(state.selectedValue)\n    );\n    const role = useAttribute(ref, \"role\", props.role);\n    const isCompositeRole = role === \"listbox\" || role === \"tree\" || role === \"grid\";\n    const ariaMultiSelectable = isCompositeRole ? multiSelectable || void 0 : void 0;\n    props = __spreadProps(__spreadValues({\n      id,\n      hidden,\n      role: \"listbox\",\n      tabIndex: focusable ? -1 : void 0,\n      \"aria-multiselectable\": ariaMultiSelectable\n    }, props), {\n      ref: useMergeRefs(id ? store.setContentElement : null, ref, props.ref),\n      style,\n      onKeyDown,\n      onFocusVisible,\n      onBlur\n    });\n    props = useFocusable(__spreadValues({ focusable }, props));\n    return props;\n  }\n);\nvar ComboboxList = createComponent((props) => {\n  const htmlProps = useComboboxList(props);\n  return createElement(\"div\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  ComboboxList.displayName = \"ComboboxList\";\n}\n\nexport {\n  useComboboxList,\n  ComboboxList\n};\n","\"use client\";\nimport {\n  useCompositeStoreProps\n} from \"./7GBW5FLS.js\";\nimport {\n  usePopoverStoreProps\n} from \"./MG4P3223.js\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\n\n// src/combobox/combobox-store.ts\nimport * as Core from \"@ariakit/core/combobox/combobox-store\";\nfunction useComboboxStoreProps(store, update, props) {\n  store = usePopoverStoreProps(store, update, props);\n  store = useCompositeStoreProps(store, update, props);\n  useStoreProps(store, props, \"value\", \"setValue\");\n  useStoreProps(store, props, \"selectedValue\", \"setSelectedValue\");\n  useStoreProps(store, props, \"resetValueOnHide\");\n  useStoreProps(store, props, \"resetValueOnSelect\");\n  return store;\n}\nfunction useComboboxStore(props = {}) {\n  const [store, update] = useStore(Core.createComboboxStore, props);\n  return useComboboxStoreProps(store, update, props);\n}\n\nexport {\n  useComboboxStoreProps,\n  useComboboxStore\n};\n","\"use client\";\nimport {\n  useDisclosureStoreProps\n} from \"./SFCBA2JZ.js\";\nimport {\n  useStore\n} from \"./EKQEJRUF.js\";\n\n// src/dialog/dialog-store.ts\nimport * as Core from \"@ariakit/core/dialog/dialog-store\";\nfunction useDialogStoreProps(store, update, props) {\n  return useDisclosureStoreProps(store, update, props);\n}\nfunction useDialogStore(props = {}) {\n  const [store, update] = useStore(Core.createDialogStore, props);\n  return useDialogStoreProps(store, update, props);\n}\n\nexport {\n  useDialogStoreProps,\n  useDialogStore\n};\n","\"use client\";\nimport {\n  ComboboxItemValueContext,\n  useComboboxScopedContext\n} from \"../__chunks/W76OTZCC.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"../__chunks/3ORBWXWF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-item-value.tsx\nimport { useContext, useMemo } from \"react\";\nimport { invariant, normalizeString } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction normalizeValue(value) {\n  return normalizeString(value).toLowerCase();\n}\nfunction splitValue(itemValue, userValue) {\n  userValue = normalizeValue(userValue);\n  let index = normalizeValue(itemValue).indexOf(userValue);\n  const parts = [];\n  while (index !== -1) {\n    if (index !== 0) {\n      parts.push(\n        /* @__PURE__ */ jsx(\"span\", { \"data-autocomplete-value\": \"\", children: itemValue.substr(0, index) }, parts.length)\n      );\n    }\n    parts.push(\n      /* @__PURE__ */ jsx(\"span\", { \"data-user-value\": \"\", children: itemValue.substr(index, userValue.length) }, parts.length)\n    );\n    itemValue = itemValue.substr(index + userValue.length);\n    index = normalizeValue(itemValue).indexOf(userValue);\n  }\n  if (itemValue) {\n    parts.push(\n      /* @__PURE__ */ jsx(\"span\", { \"data-autocomplete-value\": \"\", children: itemValue }, parts.length)\n    );\n  }\n  return parts;\n}\nvar useComboboxItemValue = createHook(\n  (_a) => {\n    var _b = _a, { store, value } = _b, props = __objRest(_b, [\"store\", \"value\"]);\n    const context = useComboboxScopedContext();\n    store = store || context;\n    const itemContext = useContext(ComboboxItemValueContext);\n    const itemValue = value != null ? value : itemContext;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"ComboboxItemValue must be wrapped in a ComboboxItem component.\"\n    );\n    const stateValue = store.useState(\n      (state) => itemValue && state.value ? state.value : void 0\n    );\n    const children = useMemo(\n      () => itemValue && stateValue ? splitValue(itemValue, stateValue) : itemValue,\n      [itemValue, stateValue]\n    );\n    props = __spreadValues({\n      children\n    }, props);\n    return props;\n  }\n);\nvar ComboboxItemValue = createComponent(\n  (props) => {\n    const htmlProps = useComboboxItemValue(props);\n    return createElement(\"span\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  ComboboxItemValue.displayName = \"ComboboxItemValue\";\n}\nexport {\n  ComboboxItemValue,\n  useComboboxItemValue\n};\n","\"use client\";\nimport {\n  useCompositeHover\n} from \"../__chunks/G6ONQ5EH.js\";\nimport {\n  ComboboxItemCheckedContext,\n  ComboboxItemValueContext,\n  useComboboxScopedContext\n} from \"../__chunks/W76OTZCC.js\";\nimport {\n  useCompositeItem\n} from \"../__chunks/QZLXIDNP.js\";\nimport \"../__chunks/NWCBQ4CV.js\";\nimport \"../__chunks/UH3I23HL.js\";\nimport \"../__chunks/3IEDWLST.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport \"../__chunks/KK7H3W2B.js\";\nimport \"../__chunks/SHA3WOPI.js\";\nimport {\n  createElement,\n  createHook,\n  createMemoComponent\n} from \"../__chunks/3ORBWXWF.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useWrapElement\n} from \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-item.tsx\nimport { useCallback } from \"react\";\nimport { getPopupItemRole, isTextField } from \"@ariakit/core/utils/dom\";\nimport { isDownloading, isOpeningInNewTab } from \"@ariakit/core/utils/events\";\nimport { hasFocus } from \"@ariakit/core/utils/focus\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction isSelected(storeValue, itemValue) {\n  if (itemValue == null)\n    return;\n  if (storeValue == null)\n    return false;\n  if (Array.isArray(storeValue)) {\n    return storeValue.includes(itemValue);\n  }\n  return storeValue === itemValue;\n}\nvar useComboboxItem = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      value,\n      hideOnClick,\n      selectValueOnClick = true,\n      setValueOnClick,\n      focusOnHover = false,\n      moveOnKeyPress = true,\n      getItem: getItemProp\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"value\",\n      \"hideOnClick\",\n      \"selectValueOnClick\",\n      \"setValueOnClick\",\n      \"focusOnHover\",\n      \"moveOnKeyPress\",\n      \"getItem\"\n    ]);\n    const context = useComboboxScopedContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"ComboboxItem must be wrapped in a ComboboxList or ComboboxPopover component.\"\n    );\n    const getItem = useCallback(\n      (item) => {\n        const nextItem = __spreadProps(__spreadValues({}, item), { value });\n        if (getItemProp) {\n          return getItemProp(nextItem);\n        }\n        return nextItem;\n      },\n      [value, getItemProp]\n    );\n    const multiSelectable = store.useState(\n      (state) => Array.isArray(state.selectedValue)\n    );\n    setValueOnClick = setValueOnClick != null ? setValueOnClick : !multiSelectable;\n    hideOnClick = hideOnClick != null ? hideOnClick : value != null && !multiSelectable;\n    const onClickProp = props.onClick;\n    const setValueOnClickProp = useBooleanEvent(setValueOnClick);\n    const selectValueOnClickProp = useBooleanEvent(selectValueOnClick);\n    const hideOnClickProp = useBooleanEvent(hideOnClick);\n    const onClick = useEvent((event) => {\n      onClickProp == null ? void 0 : onClickProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (isDownloading(event))\n        return;\n      if (isOpeningInNewTab(event))\n        return;\n      if (value != null) {\n        if (selectValueOnClickProp(event)) {\n          store == null ? void 0 : store.setSelectedValue((prevValue) => {\n            if (!Array.isArray(prevValue))\n              return value;\n            if (prevValue.includes(value)) {\n              return prevValue.filter((v) => v !== value);\n            }\n            return [...prevValue, value];\n          });\n        }\n        if (setValueOnClickProp(event)) {\n          store == null ? void 0 : store.setValue(value);\n        }\n      }\n      if (hideOnClickProp(event)) {\n        store == null ? void 0 : store.move(null);\n        store == null ? void 0 : store.hide();\n      }\n    });\n    const onKeyDownProp = props.onKeyDown;\n    const onKeyDown = useEvent((event) => {\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      const baseElement = store == null ? void 0 : store.getState().baseElement;\n      if (!baseElement)\n        return;\n      if (hasFocus(baseElement))\n        return;\n      const printable = event.key.length === 1;\n      if (printable || event.key === \"Backspace\" || event.key === \"Delete\") {\n        queueMicrotask(() => baseElement.focus());\n        if (isTextField(baseElement)) {\n          store == null ? void 0 : store.setValue(baseElement.value);\n        }\n      }\n    });\n    const selected = store.useState(\n      (state) => isSelected(state.selectedValue, value)\n    );\n    if (multiSelectable && selected != null) {\n      props = __spreadValues({\n        \"aria-selected\": selected\n      }, props);\n    }\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(ComboboxItemValueContext.Provider, { value, children: /* @__PURE__ */ jsx(ComboboxItemCheckedContext.Provider, { value: selected != null ? selected : false, children: element }) }),\n      [value, selected]\n    );\n    const contentElement = store.useState(\"contentElement\");\n    props = __spreadProps(__spreadValues({\n      role: getPopupItemRole(contentElement),\n      children: value\n    }, props), {\n      onClick,\n      onKeyDown\n    });\n    const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);\n    props = useCompositeItem(__spreadProps(__spreadValues({\n      store\n    }, props), {\n      getItem,\n      // Dispatch a custom event on the combobox input when moving to an item\n      // with the keyboard so the Combobox component can enable inline\n      // autocompletion.\n      moveOnKeyPress: (event) => {\n        if (!moveOnKeyPressProp(event))\n          return false;\n        const moveEvent = new Event(\"combobox-item-move\");\n        const baseElement = store == null ? void 0 : store.getState().baseElement;\n        baseElement == null ? void 0 : baseElement.dispatchEvent(moveEvent);\n        return true;\n      }\n    }));\n    props = useCompositeHover(__spreadValues({ store, focusOnHover }, props));\n    return props;\n  }\n);\nvar ComboboxItem = createMemoComponent(\n  (props) => {\n    const htmlProps = useComboboxItem(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  ComboboxItem.displayName = \"ComboboxItem\";\n}\nexport {\n  ComboboxItem,\n  useComboboxItem\n};\n","\"use client\";\nimport {\n  useComboboxProviderContext\n} from \"../__chunks/W76OTZCC.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport {\n  createElement,\n  createHook,\n  createMemoComponent\n} from \"../__chunks/3ORBWXWF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-label.ts\nimport { invariant } from \"@ariakit/core/utils/misc\";\nvar useComboboxLabel = createHook(\n  (_a) => {\n    var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n    const context = useComboboxProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"ComboboxLabel must receive a `store` prop or be wrapped in a ComboboxProvider component.\"\n    );\n    const comboboxId = store.useState((state) => {\n      var _a2;\n      return (_a2 = state.baseElement) == null ? void 0 : _a2.id;\n    });\n    props = __spreadValues({\n      htmlFor: comboboxId\n    }, props);\n    return props;\n  }\n);\nvar ComboboxLabel = createMemoComponent(\n  (props) => {\n    const htmlProps = useComboboxLabel(props);\n    return createElement(\"label\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  ComboboxLabel.displayName = \"ComboboxLabel\";\n}\nexport {\n  ComboboxLabel,\n  useComboboxLabel\n};\n","\"use client\";\nimport {\n  useComboboxStore\n} from \"../__chunks/ZKJ2WLF7.js\";\nimport {\n  ComboboxContextProvider\n} from \"../__chunks/W76OTZCC.js\";\nimport \"../__chunks/7GBW5FLS.js\";\nimport \"../__chunks/Y6GYTNQ2.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport \"../__chunks/3ORBWXWF.js\";\nimport \"../__chunks/MG4P3223.js\";\nimport \"../__chunks/ZSELSBRM.js\";\nimport \"../__chunks/SFCBA2JZ.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-provider.tsx\nimport { jsx } from \"react/jsx-runtime\";\nfunction ComboboxProvider(props = {}) {\n  const store = useComboboxStore(props);\n  return /* @__PURE__ */ jsx(ComboboxContextProvider, { value: store, children: props.children });\n}\nexport {\n  ComboboxProvider\n};\n","\"use client\";\nimport {\n  usePopoverAnchor\n} from \"../__chunks/JCH6MLL2.js\";\nimport {\n  useComboboxProviderContext\n} from \"../__chunks/W76OTZCC.js\";\nimport {\n  useComposite\n} from \"../__chunks/7QTPYGNZ.js\";\nimport \"../__chunks/3IEDWLST.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport \"../__chunks/KK7H3W2B.js\";\nimport \"../__chunks/SHA3WOPI.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"../__chunks/3ORBWXWF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useForceUpdate,\n  useId,\n  useMergeRefs,\n  useSafeLayoutEffect,\n  useUpdateEffect,\n  useUpdateLayoutEffect\n} from \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox.ts\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport {\n  getPopupRole,\n  getScrollingElement,\n  setSelectionRange\n} from \"@ariakit/core/utils/dom\";\nimport {\n  isFocusEventOutside,\n  queueBeforeEvent\n} from \"@ariakit/core/utils/events\";\nimport { hasFocus } from \"@ariakit/core/utils/focus\";\nimport {\n  invariant,\n  isFalsyBooleanCallback,\n  normalizeString\n} from \"@ariakit/core/utils/misc\";\nimport { flushSync } from \"react-dom\";\nfunction isFirstItemAutoSelected(items, activeValue, autoSelect) {\n  if (!autoSelect)\n    return false;\n  const firstItem = items.find((item) => !item.disabled && item.value);\n  return (firstItem == null ? void 0 : firstItem.value) === activeValue;\n}\nfunction hasCompletionString(value, activeValue) {\n  if (!activeValue)\n    return false;\n  if (value == null)\n    return false;\n  value = normalizeString(value);\n  return activeValue.length > value.length && activeValue.toLowerCase().indexOf(value.toLowerCase()) === 0;\n}\nfunction isInputEvent(event) {\n  return event.type === \"input\";\n}\nfunction isAriaAutoCompleteValue(value) {\n  return value === \"inline\" || value === \"list\" || value === \"both\" || value === \"none\";\n}\nvar useCombobox = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      focusable = true,\n      autoSelect: autoSelectProp = false,\n      getAutoSelectId,\n      showOnChange = true,\n      setValueOnChange = true,\n      showOnMouseDown = true,\n      setValueOnClick = true,\n      showOnKeyDown = true,\n      moveOnKeyPress = true,\n      autoComplete = \"list\"\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"focusable\",\n      \"autoSelect\",\n      \"getAutoSelectId\",\n      \"showOnChange\",\n      \"setValueOnChange\",\n      \"showOnMouseDown\",\n      \"setValueOnClick\",\n      \"showOnKeyDown\",\n      \"moveOnKeyPress\",\n      \"autoComplete\"\n    ]);\n    const context = useComboboxProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"Combobox must receive a `store` prop or be wrapped in a ComboboxProvider component.\"\n    );\n    const ref = useRef(null);\n    const [valueUpdated, forceValueUpdate] = useForceUpdate();\n    const canAutoSelectRef = useRef(false);\n    const composingRef = useRef(false);\n    const autoSelect = store.useState(\n      (state) => !!autoSelectProp && state.virtualFocus\n    );\n    const inline = autoComplete === \"inline\" || autoComplete === \"both\";\n    const [canInline, setCanInline] = useState(inline);\n    useUpdateLayoutEffect(() => {\n      if (!inline)\n        return;\n      setCanInline(true);\n    }, [inline]);\n    const storeValue = store.useState(\"value\");\n    const activeValue = store.useState(\n      (state) => inline && canInline ? state.activeValue : void 0\n    );\n    const items = store.useState(\"renderedItems\");\n    const open = store.useState(\"open\");\n    const contentElement = store.useState(\"contentElement\");\n    const value = useMemo(() => {\n      if (!inline)\n        return storeValue;\n      if (!canInline)\n        return storeValue;\n      const firstItemAutoSelected = isFirstItemAutoSelected(\n        items,\n        activeValue,\n        autoSelect\n      );\n      if (firstItemAutoSelected) {\n        if (hasCompletionString(storeValue, activeValue)) {\n          const slice = (activeValue == null ? void 0 : activeValue.slice(storeValue.length)) || \"\";\n          return storeValue + slice;\n        }\n        return storeValue;\n      }\n      return activeValue || storeValue;\n    }, [inline, canInline, items, activeValue, autoSelect, storeValue]);\n    useEffect(() => {\n      const element = ref.current;\n      if (!element)\n        return;\n      const onCompositeItemMove = () => setCanInline(true);\n      element.addEventListener(\"combobox-item-move\", onCompositeItemMove);\n      return () => {\n        element.removeEventListener(\"combobox-item-move\", onCompositeItemMove);\n      };\n    }, []);\n    useEffect(() => {\n      if (!inline)\n        return;\n      if (!canInline)\n        return;\n      if (!activeValue)\n        return;\n      const firstItemAutoSelected = isFirstItemAutoSelected(\n        items,\n        activeValue,\n        autoSelect\n      );\n      if (!firstItemAutoSelected)\n        return;\n      if (!hasCompletionString(storeValue, activeValue))\n        return;\n      queueMicrotask(() => {\n        const element = ref.current;\n        if (!element)\n          return;\n        setSelectionRange(element, storeValue.length, activeValue.length);\n      });\n    }, [\n      valueUpdated,\n      inline,\n      canInline,\n      activeValue,\n      items,\n      autoSelect,\n      storeValue\n    ]);\n    const scrollingElementRef = useRef(null);\n    const getAutoSelectIdProp = useEvent(getAutoSelectId);\n    const autoSelectIdRef = useRef(null);\n    useEffect(() => {\n      if (!open)\n        return;\n      if (!contentElement)\n        return;\n      const scrollingElement = getScrollingElement(contentElement);\n      if (!scrollingElement)\n        return;\n      scrollingElementRef.current = scrollingElement;\n      const onWheel = () => {\n        canAutoSelectRef.current = false;\n      };\n      const onScroll = () => {\n        if (!store)\n          return;\n        if (!canAutoSelectRef.current)\n          return;\n        const { activeId } = store.getState();\n        if (activeId === null)\n          return;\n        if (activeId === autoSelectIdRef.current)\n          return;\n        canAutoSelectRef.current = false;\n      };\n      const options = { passive: true, capture: true };\n      scrollingElement.addEventListener(\"wheel\", onWheel, options);\n      scrollingElement.addEventListener(\"scroll\", onScroll, options);\n      return () => {\n        scrollingElement.removeEventListener(\"wheel\", onWheel, true);\n        scrollingElement.removeEventListener(\"scroll\", onScroll, true);\n      };\n    }, [open, contentElement, store]);\n    useSafeLayoutEffect(() => {\n      if (!storeValue)\n        return;\n      if (composingRef.current)\n        return;\n      canAutoSelectRef.current = true;\n    }, [storeValue]);\n    useSafeLayoutEffect(() => {\n      if (open)\n        return;\n      canAutoSelectRef.current = false;\n    }, [open]);\n    const resetValueOnSelect = store.useState(\"resetValueOnSelect\");\n    useUpdateEffect(() => {\n      var _a2;\n      const canAutoSelect = canAutoSelectRef.current;\n      if (!store)\n        return;\n      if ((!autoSelect || !canAutoSelect) && !resetValueOnSelect)\n        return;\n      const { baseElement, contentElement: contentElement2, activeId } = store.getState();\n      if (baseElement && !hasFocus(baseElement))\n        return;\n      if (contentElement2 == null ? void 0 : contentElement2.hasAttribute(\"data-placing\")) {\n        const observer = new MutationObserver(forceValueUpdate);\n        observer.observe(contentElement2, { attributeFilter: [\"data-placing\"] });\n        return () => observer.disconnect();\n      }\n      if (autoSelect && canAutoSelect) {\n        const userAutoSelectId = getAutoSelectIdProp(items);\n        const autoSelectId = userAutoSelectId !== void 0 ? userAutoSelectId : store.first();\n        autoSelectIdRef.current = autoSelectId;\n        store.move(autoSelectId != null ? autoSelectId : null);\n      } else {\n        const element = (_a2 = store.item(activeId)) == null ? void 0 : _a2.element;\n        if (element && \"scrollIntoView\" in element) {\n          element.scrollIntoView({ block: \"nearest\", inline: \"nearest\" });\n        }\n      }\n      return;\n    }, [\n      store,\n      valueUpdated,\n      storeValue,\n      autoSelect,\n      resetValueOnSelect,\n      getAutoSelectIdProp,\n      items\n    ]);\n    useEffect(() => {\n      if (!inline)\n        return;\n      const combobox = ref.current;\n      if (!combobox)\n        return;\n      const elements = [combobox, contentElement].filter(\n        (value2) => !!value2\n      );\n      const onBlur2 = (event) => {\n        if (elements.every((el) => isFocusEventOutside(event, el))) {\n          store == null ? void 0 : store.setValue(value);\n        }\n      };\n      elements.forEach((el) => el.addEventListener(\"focusout\", onBlur2));\n      return () => {\n        elements.forEach((el) => el.removeEventListener(\"focusout\", onBlur2));\n      };\n    }, [inline, contentElement, store, value]);\n    const onChangeProp = props.onChange;\n    const showOnChangeProp = useBooleanEvent(showOnChange);\n    const setValueOnChangeProp = useBooleanEvent(setValueOnChange);\n    const onChange = useEvent((event) => {\n      onChangeProp == null ? void 0 : onChangeProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!store)\n        return;\n      const { value: value2, selectionStart, selectionEnd } = event.target;\n      const nativeEvent = event.nativeEvent;\n      canAutoSelectRef.current = true;\n      if (isInputEvent(nativeEvent)) {\n        if (nativeEvent.isComposing) {\n          canAutoSelectRef.current = false;\n          composingRef.current = true;\n        }\n        if (inline) {\n          const textInserted = nativeEvent.inputType === \"insertText\" || nativeEvent.inputType === \"insertCompositionText\";\n          const caretAtEnd = selectionStart === value2.length;\n          setCanInline(textInserted && caretAtEnd);\n        }\n      }\n      if (setValueOnChangeProp(event)) {\n        const isSameValue = value2 === store.getState().value;\n        flushSync(() => store == null ? void 0 : store.setValue(value2));\n        setSelectionRange(event.currentTarget, selectionStart, selectionEnd);\n        if (inline && autoSelect && isSameValue) {\n          forceValueUpdate();\n        }\n      }\n      if (showOnChangeProp(event)) {\n        store.show();\n      }\n      if (!autoSelect || !canAutoSelectRef.current) {\n        store.setActiveId(null);\n      }\n    });\n    const onCompositionEndProp = props.onCompositionEnd;\n    const onCompositionEnd = useEvent(\n      (event) => {\n        canAutoSelectRef.current = true;\n        composingRef.current = false;\n        onCompositionEndProp == null ? void 0 : onCompositionEndProp(event);\n        if (event.defaultPrevented)\n          return;\n        if (!autoSelect)\n          return;\n        forceValueUpdate();\n      }\n    );\n    const onMouseDownProp = props.onMouseDown;\n    const setValueOnClickProp = useBooleanEvent(setValueOnClick);\n    const showOnMouseDownProp = useBooleanEvent(showOnMouseDown);\n    const onMouseDown = useEvent((event) => {\n      onMouseDownProp == null ? void 0 : onMouseDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (event.button)\n        return;\n      if (event.ctrlKey)\n        return;\n      if (!store)\n        return;\n      store.setActiveId(null);\n      if (setValueOnClickProp(event)) {\n        store.setValue(value);\n      }\n      if (showOnMouseDownProp(event)) {\n        queueBeforeEvent(event.currentTarget, \"mouseup\", store.show);\n      }\n    });\n    const onKeyDownProp = props.onKeyDown;\n    const showOnKeyDownProp = useBooleanEvent(showOnKeyDown);\n    const onKeyDown = useEvent(\n      (event) => {\n        onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n        if (!event.repeat) {\n          canAutoSelectRef.current = false;\n        }\n        if (event.defaultPrevented)\n          return;\n        if (event.ctrlKey)\n          return;\n        if (event.altKey)\n          return;\n        if (event.shiftKey)\n          return;\n        if (event.metaKey)\n          return;\n        if (!store)\n          return;\n        const { open: open2, activeId } = store.getState();\n        if (open2)\n          return;\n        if (activeId !== null)\n          return;\n        if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n          if (showOnKeyDownProp(event)) {\n            event.preventDefault();\n            store.show();\n          }\n        }\n      }\n    );\n    const onBlurProp = props.onBlur;\n    const onBlur = useEvent((event) => {\n      canAutoSelectRef.current = false;\n      onBlurProp == null ? void 0 : onBlurProp(event);\n      if (event.defaultPrevented)\n        return;\n    });\n    const id = useId(props.id);\n    const ariaAutoComplete = isAriaAutoCompleteValue(autoComplete) ? autoComplete : void 0;\n    const isActiveItem = store.useState((state) => state.activeId === null);\n    props = __spreadProps(__spreadValues({\n      id,\n      role: \"combobox\",\n      \"aria-autocomplete\": ariaAutoComplete,\n      \"aria-haspopup\": getPopupRole(contentElement, \"listbox\"),\n      \"aria-expanded\": open,\n      \"aria-controls\": contentElement == null ? void 0 : contentElement.id,\n      \"data-active-item\": isActiveItem || void 0,\n      value\n    }, props), {\n      ref: useMergeRefs(ref, props.ref),\n      onChange,\n      onCompositionEnd,\n      onMouseDown,\n      onKeyDown,\n      onBlur\n    });\n    props = useComposite(__spreadProps(__spreadValues({\n      store,\n      focusable\n    }, props), {\n      // Enable inline autocomplete when the user moves from the combobox input\n      // to an item.\n      moveOnKeyPress: (event) => {\n        if (isFalsyBooleanCallback(moveOnKeyPress, event))\n          return false;\n        if (inline)\n          setCanInline(true);\n        return true;\n      }\n    }));\n    props = usePopoverAnchor(__spreadValues({ store }, props));\n    return __spreadValues({ autoComplete: \"off\" }, props);\n  }\n);\nvar Combobox = createComponent((props) => {\n  const htmlProps = useCombobox(props);\n  return createElement(\"input\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Combobox.displayName = \"Combobox\";\n}\nexport {\n  Combobox,\n  useCombobox\n};\n","export default function _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}","import * as React from 'react';\nimport { useEffect, useState } from 'react';\n\n/**\n * Hook to load external script.\n * @param src - Source url to load.\n * @param onLoad - Success callback.\n * @param onError - Error callback.\n */ function useLoadScript(src, onLoad, onError) {\n    useEffect(()=>{\n        if (!document) {\n            return;\n        }\n        // Find script tag with same src in DOM.\n        const foundScript = document.querySelector(\"script[src=\\\"\".concat(src, \"\\\"]\"));\n        // Call onLoad if script marked as loaded.\n        if (foundScript === null || foundScript === void 0 ? void 0 : foundScript.dataset.loaded) {\n            onLoad === null || onLoad === void 0 ? void 0 : onLoad();\n            return;\n        }\n        // Create or get existed tag.\n        const script = foundScript || document.createElement(\"script\");\n        // Set src if no script was found.\n        if (!foundScript) {\n            script.src = src;\n        }\n        // Mark script as loaded on load event.\n        const onLoadWithMarker = ()=>{\n            script.dataset.loaded = \"1\";\n            onLoad === null || onLoad === void 0 ? void 0 : onLoad();\n        };\n        script.addEventListener(\"load\", onLoadWithMarker);\n        if (onError) {\n            script.addEventListener(\"error\", onError);\n        }\n        // Add to DOM if not yet added.\n        if (!foundScript) {\n            document.head.append(script);\n        }\n        return ()=>{\n            script.removeEventListener(\"load\", onLoadWithMarker);\n            if (onError) {\n                script.removeEventListener(\"error\", onError);\n            }\n        };\n    }, []);\n}\n\n/**\n * Hook to load Google Charts JS API.\n * @param params - Load parameters.\n * @param [params.chartVersion] - Chart version to load.\n * @param [params.chartPackages] - Packages to load.\n * @param [params.chartLanguage] - Languages to load.\n * @param [params.mapsApiKey] - Google Maps api key.\n * @returns\n */ function useLoadGoogleCharts(param) {\n    let { chartVersion =\"current\" , chartPackages =[\n        \"corechart\",\n        \"controls\"\n    ] , chartLanguage =\"en\" , mapsApiKey  } = param;\n    const [googleCharts, setGoogleCharts] = useState(null);\n    const [failed, setFailed] = useState(false);\n    useLoadScript(\"https://www.gstatic.com/charts/loader.js\", ()=>{\n        // @ts-expect-error Getting object from global namespace.\n        const google = window === null || window === void 0 ? void 0 : window.google;\n        if (!google) {\n            return;\n        }\n        google.charts.load(chartVersion, {\n            packages: chartPackages,\n            language: chartLanguage,\n            mapsApiKey\n        });\n        google.charts.setOnLoadCallback(()=>{\n            setGoogleCharts(google);\n        });\n    }, ()=>{\n        setFailed(true);\n    });\n    return [\n        googleCharts,\n        failed\n    ];\n}\n/**\n * Wrapper around useLoadGoogleCharts to use in legacy components.\n */ function LoadGoogleCharts(param) {\n    let { onLoad , onError , ...params } = param;\n    const [googleCharts, failed] = useLoadGoogleCharts(params);\n    useEffect(()=>{\n        if (googleCharts && onLoad) {\n            onLoad(googleCharts);\n        }\n    }, [\n        googleCharts\n    ]);\n    useEffect(()=>{\n        if (failed && onError) {\n            onError();\n        }\n    }, [\n        failed\n    ]);\n    return null;\n}\n\nconst chartDefaultProps = {\n    // <DEPRECATED_PROPS>\n    legend_toggle: false,\n    // </DEPRECATED_PROPS>\n    options: {},\n    legendToggle: false,\n    getChartWrapper: ()=>{},\n    spreadSheetQueryParameters: {\n        headers: 1,\n        gid: 1\n    },\n    rootProps: {},\n    chartWrapperParams: {}\n};\n\nlet uniqueID = 0;\nconst generateUniqueID = ()=>{\n    uniqueID += 1;\n    return \"reactgooglegraph-\".concat(uniqueID);\n};\n\nconst DEFAULT_CHART_COLORS = [\n    \"#3366CC\",\n    \"#DC3912\",\n    \"#FF9900\",\n    \"#109618\",\n    \"#990099\",\n    \"#3B3EAC\",\n    \"#0099C6\",\n    \"#DD4477\",\n    \"#66AA00\",\n    \"#B82E2E\",\n    \"#316395\",\n    \"#994499\",\n    \"#22AA99\",\n    \"#AAAA11\",\n    \"#6633CC\",\n    \"#E67300\",\n    \"#8B0707\",\n    \"#329262\",\n    \"#5574A6\",\n    \"#3B3EAC\"\n];\n\nconst loadDataTableFromSpreadSheet = async function(googleViz, spreadSheetUrl) {\n    let urlParams = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n    return new Promise((resolve, reject)=>{\n        const headers = \"\".concat(urlParams.headers ? \"headers=\".concat(urlParams.headers) : \"headers=0\");\n        const queryString = \"\".concat(urlParams.query ? \"&tq=\".concat(encodeURIComponent(urlParams.query)) : \"\");\n        const gid = \"\".concat(urlParams.gid ? \"&gid=\".concat(urlParams.gid) : \"\");\n        const sheet = \"\".concat(urlParams.sheet ? \"&sheet=\".concat(urlParams.sheet) : \"\");\n        const access_token = \"\".concat(urlParams.access_token ? \"&access_token=\".concat(urlParams.access_token) : \"\");\n        const urlQueryString = \"\".concat(headers).concat(gid).concat(sheet).concat(queryString).concat(access_token);\n        const urlToSpreadSheet = \"\".concat(spreadSheetUrl, \"/gviz/tq?\").concat(urlQueryString); //&tq=${queryString}`;\n        const query = new googleViz.visualization.Query(urlToSpreadSheet);\n        query.send((response)=>{\n            if (response.isError()) {\n                reject(\"Error in query:  \".concat(response.getMessage(), \" \").concat(response.getDetailedMessage()));\n            } else {\n                resolve(response.getDataTable());\n            }\n        });\n    });\n};\n\nconst { Provider , Consumer  } = /*#__PURE__*/ React.createContext(chartDefaultProps);\nconst ContextProvider = (param)=>{\n    let { children , value  } = param;\n    return(/*#__PURE__*/ React.createElement(Provider, {\n        value: value\n    }, children));\n};\nconst ContextConsumer = (param)=>{\n    let { render  } = param;\n    return(/*#__PURE__*/ React.createElement(Consumer, null, (context)=>{\n        return render(context);\n    }));\n};\n\nconst GRAY_COLOR = \"#CCCCCC\";\nclass GoogleChartDataTableInner extends React.Component {\n    componentDidMount() {\n        this.draw(this.props);\n        window.addEventListener(\"resize\", this.onResize);\n        if (this.props.legend_toggle || this.props.legendToggle) {\n            this.listenToLegendToggle();\n        }\n    }\n    componentWillUnmount() {\n        const { google , googleChartWrapper  } = this.props;\n        window.removeEventListener(\"resize\", this.onResize);\n        google.visualization.events.removeAllListeners(googleChartWrapper);\n        if (googleChartWrapper.getChartType() === \"Timeline\") {\n            googleChartWrapper.getChart() && googleChartWrapper.getChart().clearChart();\n        }\n    }\n    componentDidUpdate() {\n        this.draw(this.props);\n    }\n    render() {\n        return null;\n    }\n    constructor(...args){\n        super(...args);\n        this.state = {\n            hiddenColumns: []\n        };\n        this.listenToLegendToggle = ()=>{\n            const { google , googleChartWrapper  } = this.props;\n            google.visualization.events.addListener(googleChartWrapper, \"select\", ()=>{\n                const chart = googleChartWrapper.getChart();\n                const selection = chart.getSelection();\n                const dataTable = googleChartWrapper.getDataTable();\n                if (selection.length === 0 || // We want to listen to when a whole row is selected. This is the case only when row === null\n                selection[0].row || !dataTable) {\n                    return;\n                }\n                const columnIndex = selection[0].column;\n                const columnID = this.getColumnID(dataTable, columnIndex);\n                if (this.state.hiddenColumns.includes(columnID)) {\n                    this.setState((state)=>({\n                            ...state,\n                            hiddenColumns: [\n                                ...state.hiddenColumns.filter((colID)=>colID !== columnID\n                                ), \n                            ]\n                        })\n                    );\n                } else {\n                    this.setState((state)=>({\n                            ...state,\n                            hiddenColumns: [\n                                ...state.hiddenColumns,\n                                columnID\n                            ]\n                        })\n                    );\n                }\n            });\n        };\n        this.applyFormatters = (dataTable, formatters)=>{\n            const { google  } = this.props;\n            for (let formatter of formatters){\n                switch(formatter.type){\n                    case \"ArrowFormat\":\n                        {\n                            const vizFormatter = new google.visualization.ArrowFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"BarFormat\":\n                        {\n                            const vizFormatter = new google.visualization.BarFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"ColorFormat\":\n                        {\n                            const vizFormatter = new google.visualization.ColorFormat(formatter.options);\n                            const { ranges  } = formatter;\n                            for (let range of ranges){\n                                vizFormatter.addRange(...range);\n                            }\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"DateFormat\":\n                        {\n                            const vizFormatter = new google.visualization.DateFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"NumberFormat\":\n                        {\n                            const vizFormatter = new google.visualization.NumberFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"PatternFormat\":\n                        {\n                            const vizFormatter = new google.visualization.PatternFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                }\n            }\n        };\n        this.getColumnID = (dataTable, columnIndex)=>{\n            return dataTable.getColumnId(columnIndex) || dataTable.getColumnLabel(columnIndex);\n        };\n        this.draw = async (param)=>{\n            let { data , diffdata , rows , columns , options , legend_toggle , legendToggle , chartType , formatters , spreadSheetUrl , spreadSheetQueryParameters  } = param;\n            const { google , googleChartWrapper  } = this.props;\n            let dataTable;\n            let chartDiff = null;\n            if (diffdata) {\n                const oldData = google.visualization.arrayToDataTable(diffdata.old);\n                const newData = google.visualization.arrayToDataTable(diffdata.new);\n                chartDiff = google.visualization[chartType].prototype.computeDiff(oldData, newData);\n            }\n            if (data !== null) {\n                if (Array.isArray(data)) {\n                    dataTable = google.visualization.arrayToDataTable(data);\n                } else {\n                    dataTable = new google.visualization.DataTable(data);\n                }\n            } else if (rows && columns) {\n                dataTable = google.visualization.arrayToDataTable([\n                    columns,\n                    ...rows\n                ]);\n            } else if (spreadSheetUrl) {\n                dataTable = await loadDataTableFromSpreadSheet(google, spreadSheetUrl, spreadSheetQueryParameters);\n            } else {\n                dataTable = google.visualization.arrayToDataTable([]);\n            }\n            const columnCount = dataTable.getNumberOfColumns();\n            for(let i = 0; i < columnCount; i += 1){\n                const columnID = this.getColumnID(dataTable, i);\n                if (this.state.hiddenColumns.includes(columnID)) {\n                    const previousColumnLabel = dataTable.getColumnLabel(i);\n                    const previousColumnID = dataTable.getColumnId(i);\n                    const previousColumnType = dataTable.getColumnType(i);\n                    dataTable.removeColumn(i);\n                    dataTable.addColumn({\n                        label: previousColumnLabel,\n                        id: previousColumnID,\n                        type: previousColumnType\n                    });\n                }\n            }\n            const chart = googleChartWrapper.getChart();\n            if (googleChartWrapper.getChartType() === \"Timeline\") {\n                chart && chart.clearChart();\n            }\n            googleChartWrapper.setChartType(chartType);\n            googleChartWrapper.setOptions(options || {});\n            googleChartWrapper.setDataTable(dataTable);\n            googleChartWrapper.draw();\n            if (this.props.googleChartDashboard !== null) {\n                this.props.googleChartDashboard.draw(dataTable);\n            }\n            if (chartDiff) {\n                googleChartWrapper.setDataTable(chartDiff);\n                googleChartWrapper.draw();\n            }\n            if (formatters) {\n                this.applyFormatters(dataTable, formatters);\n                googleChartWrapper.setDataTable(dataTable);\n                googleChartWrapper.draw();\n            }\n            if (legendToggle === true || legend_toggle === true) {\n                this.grayOutHiddenColumns({\n                    options\n                });\n            }\n            return;\n        };\n        this.grayOutHiddenColumns = (param)=>{\n            let { options  } = param;\n            const { googleChartWrapper  } = this.props;\n            const dataTable = googleChartWrapper.getDataTable();\n            if (!dataTable) return;\n            const columnCount = dataTable.getNumberOfColumns();\n            const hasAHiddenColumn = this.state.hiddenColumns.length > 0;\n            if (hasAHiddenColumn === false) return;\n            const colors = Array.from({\n                length: columnCount - 1\n            }).map((dontcare, i)=>{\n                const columnID = this.getColumnID(dataTable, i + 1);\n                if (this.state.hiddenColumns.includes(columnID)) {\n                    return GRAY_COLOR;\n                } else if (options && options.colors) {\n                    return options.colors[i];\n                } else {\n                    return DEFAULT_CHART_COLORS[i];\n                }\n            });\n            googleChartWrapper.setOptions({\n                ...options,\n                colors\n            });\n            googleChartWrapper.draw();\n        };\n        this.onResize = ()=>{\n            const { googleChartWrapper  } = this.props;\n            googleChartWrapper.draw();\n        };\n    }\n}\nclass GoogleChartDataTable extends React.Component {\n    componentDidMount() {}\n    componentWillUnmount() {}\n    shouldComponentUpdate() {\n        return false;\n    }\n    render() {\n        const { google , googleChartWrapper , googleChartDashboard  } = this.props;\n        return(/*#__PURE__*/ React.createElement(ContextConsumer, {\n            render: (props)=>{\n                return(/*#__PURE__*/ React.createElement(GoogleChartDataTableInner, Object.assign({}, props, {\n                    google: google,\n                    googleChartWrapper: googleChartWrapper,\n                    googleChartDashboard: googleChartDashboard\n                })));\n            }\n        }));\n    }\n}\n\nclass GoogleChartEvents extends React.Component {\n    shouldComponentUpdate() {\n        return false;\n    }\n    listenToEvents(param) {\n        let { chartEvents , google , googleChartWrapper  } = param;\n        if (!chartEvents) {\n            return;\n        }\n        google.visualization.events.removeAllListeners(googleChartWrapper);\n        for (let event of chartEvents){\n            var _this = this;\n            const { eventName , callback  } = event;\n            google.visualization.events.addListener(googleChartWrapper, eventName, function() {\n                for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n                    args[_key] = arguments[_key];\n                }\n                callback({\n                    chartWrapper: googleChartWrapper,\n                    props: _this.props,\n                    google: google,\n                    eventArgs: args\n                });\n            });\n        }\n    }\n    render() {\n        const { google , googleChartWrapper  } = this.props;\n        return(/*#__PURE__*/ React.createElement(ContextConsumer, {\n            render: (propsFromContext)=>{\n                this.listenToEvents({\n                    chartEvents: propsFromContext.chartEvents || null,\n                    google,\n                    googleChartWrapper\n                });\n                return null;\n            }\n        }));\n    }\n}\n\nlet controlCounter = 0;\nclass GoogleChart extends React.Component {\n    componentDidMount() {\n        const { options , google , chartType , chartWrapperParams , toolbarItems , getChartEditor , getChartWrapper ,  } = this.props;\n        const chartConfig = {\n            chartType,\n            options,\n            containerId: this.getGraphID(),\n            ...chartWrapperParams\n        };\n        const googleChartWrapper = new google.visualization.ChartWrapper(chartConfig);\n        googleChartWrapper.setOptions(options || {});\n        if (getChartWrapper) {\n            getChartWrapper(googleChartWrapper, google);\n        }\n        const googleChartDashboard = new google.visualization.Dashboard(this.dashboard_ref);\n        const googleChartControls = this.addControls(googleChartWrapper, googleChartDashboard);\n        if (toolbarItems) {\n            google.visualization.drawToolbar(this.toolbar_ref.current, toolbarItems);\n        }\n        let googleChartEditor = null;\n        if (getChartEditor) {\n            googleChartEditor = new google.visualization.ChartEditor();\n            getChartEditor({\n                chartEditor: googleChartEditor,\n                chartWrapper: googleChartWrapper,\n                google\n            });\n        }\n        this.setState({\n            googleChartEditor,\n            googleChartControls: googleChartControls,\n            googleChartDashboard: googleChartDashboard,\n            googleChartWrapper,\n            isReady: true\n        });\n    }\n    componentDidUpdate() {\n        if (!this.state.googleChartWrapper) return;\n        if (!this.state.googleChartDashboard) return;\n        if (!this.state.googleChartControls) return;\n        const { controls  } = this.props;\n        if (controls) {\n            for(let i = 0; i < controls.length; i += 1){\n                const { controlType , options , controlWrapperParams  } = controls[i];\n                if (controlWrapperParams && \"state\" in controlWrapperParams) {\n                    this.state.googleChartControls[i].control.setState(controlWrapperParams[\"state\"]);\n                }\n                this.state.googleChartControls[i].control.setOptions(options);\n                this.state.googleChartControls[i].control.setControlType(controlType);\n            }\n        }\n    }\n    shouldComponentUpdate(nextProps, nextState) {\n        return this.state.isReady !== nextState.isReady || nextProps.controls !== this.props.controls;\n    }\n    render() {\n        const { width , height , options , style  } = this.props;\n        const divStyle = {\n            height: height || options && options.height,\n            width: width || options && options.width,\n            ...style\n        };\n        if (this.props.render) {\n            return(/*#__PURE__*/ React.createElement(\"div\", {\n                ref: this.dashboard_ref,\n                style: divStyle\n            }, /*#__PURE__*/ React.createElement(\"div\", {\n                ref: this.toolbar_ref,\n                id: \"toolbar\"\n            }), this.props.render({\n                renderChart: this.renderChart,\n                renderControl: this.renderControl,\n                renderToolbar: this.renderToolBar\n            })));\n        } else {\n            return(/*#__PURE__*/ React.createElement(\"div\", {\n                ref: this.dashboard_ref,\n                style: divStyle\n            }, this.renderControl((param)=>{\n                let { controlProp  } = param;\n                return controlProp.controlPosition !== \"bottom\";\n            }), this.renderChart(), this.renderControl((param)=>{\n                let { controlProp  } = param;\n                return controlProp.controlPosition === \"bottom\";\n            }), this.renderToolBar()));\n        }\n    }\n    constructor(...args1){\n        var _this1;\n        super(), _this1 = this;\n        this.state = {\n            googleChartWrapper: null,\n            googleChartDashboard: null,\n            googleChartControls: null,\n            googleChartEditor: null,\n            isReady: false\n        };\n        this.graphID = null;\n        this.dashboard_ref = /*#__PURE__*/ React.createRef();\n        this.toolbar_ref = /*#__PURE__*/ React.createRef();\n        this.getGraphID = ()=>{\n            const { graphID , graph_id  } = this.props;\n            let instanceGraphID;\n            if (!graphID && !graph_id) {\n                if (!this.graphID) {\n                    instanceGraphID = generateUniqueID();\n                } else {\n                    instanceGraphID = this.graphID;\n                }\n            } else if (graphID && !graph_id) {\n                instanceGraphID = graphID;\n            } else if (graph_id && !graphID) {\n                instanceGraphID = graph_id;\n            } else {\n                instanceGraphID = graphID;\n            }\n            this.graphID = instanceGraphID;\n            return this.graphID;\n        };\n        this.getControlID = (id, index)=>{\n            controlCounter += 1;\n            let controlID;\n            if (typeof id === \"undefined\") {\n                controlID = \"googlechart-control-\".concat(index, \"-\").concat(controlCounter);\n            } else {\n                controlID = id;\n            }\n            return controlID;\n        };\n        this.addControls = (googleChartWrapper, googleChartDashboard)=>{\n            const { google , controls  } = this.props;\n            const googleChartControls = !controls ? null : controls.map((control, i)=>{\n                const { controlID: controlIDMaybe , controlType , options: controlOptions , controlWrapperParams ,  } = control;\n                const controlID = this.getControlID(controlIDMaybe, i);\n                return {\n                    controlProp: control,\n                    control: new google.visualization.ControlWrapper({\n                        containerId: controlID,\n                        controlType,\n                        options: controlOptions,\n                        ...controlWrapperParams\n                    })\n                };\n            });\n            if (!googleChartControls) {\n                return null;\n            }\n            googleChartDashboard.bind(googleChartControls.map((param)=>{\n                let { control  } = param;\n                return control;\n            }), googleChartWrapper);\n            for (let chartControl of googleChartControls){\n                const { control , controlProp  } = chartControl;\n                const { controlEvents =[]  } = controlProp;\n                for (let event of controlEvents){\n                    var _this = this;\n                    const { callback , eventName  } = event;\n                    google.visualization.events.removeListener(control, eventName, callback);\n                    google.visualization.events.addListener(control, eventName, function() {\n                        for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n                            args[_key] = arguments[_key];\n                        }\n                        callback({\n                            chartWrapper: googleChartWrapper,\n                            controlWrapper: control,\n                            props: _this.props,\n                            google: google,\n                            eventArgs: args\n                        });\n                    });\n                }\n            }\n            return googleChartControls;\n        };\n        this.renderChart = ()=>{\n            const { width , height , options , style , className , rootProps , google  } = this.props;\n            const divStyle = {\n                height: height || options && options.height,\n                width: width || options && options.width,\n                ...style\n            };\n            return(/*#__PURE__*/ React.createElement(\"div\", Object.assign({\n                id: this.getGraphID(),\n                style: divStyle,\n                className: className\n            }, rootProps), this.state.isReady && this.state.googleChartWrapper !== null ? /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(GoogleChartDataTable, {\n                googleChartWrapper: this.state.googleChartWrapper,\n                google: google,\n                googleChartDashboard: this.state.googleChartDashboard\n            }), /*#__PURE__*/ React.createElement(GoogleChartEvents, {\n                googleChartWrapper: this.state.googleChartWrapper,\n                google: google\n            })) : null));\n        };\n        this.renderControl = function() {\n            let filter = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : (param)=>{\n                return true;\n            };\n            return _this1.state.isReady && _this1.state.googleChartControls !== null ? /*#__PURE__*/ React.createElement(React.Fragment, null, _this1.state.googleChartControls.filter((param)=>{\n                let { controlProp , control  } = param;\n                return filter({\n                    control,\n                    controlProp\n                });\n            }).map((param)=>{\n                let { control , controlProp  } = param;\n                return(/*#__PURE__*/ React.createElement(\"div\", {\n                    key: control.getContainerId(),\n                    id: control.getContainerId()\n                }));\n            })) : null;\n        };\n        this.renderToolBar = ()=>{\n            if (!this.props.toolbarItems) return null;\n            return(/*#__PURE__*/ React.createElement(\"div\", {\n                ref: this.toolbar_ref\n            }));\n        };\n    }\n}\n\nclass Chart$1 extends React.Component {\n    render() {\n        const { chartLanguage , chartPackages , chartVersion , mapsApiKey , loader , errorElement ,  } = this.props;\n        return(/*#__PURE__*/ React.createElement(ContextProvider, {\n            value: this.props\n        }, this.state.loadingStatus === \"ready\" && this.state.google !== null ? /*#__PURE__*/ React.createElement(GoogleChart, Object.assign({}, this.props, {\n            google: this.state.google\n        })) : this.state.loadingStatus === \"errored\" && errorElement ? errorElement : loader, /*#__PURE__*/ React.createElement(LoadGoogleCharts, {\n            chartLanguage: chartLanguage,\n            chartPackages: chartPackages,\n            chartVersion: chartVersion,\n            mapsApiKey: mapsApiKey,\n            onLoad: this.onLoad,\n            onError: this.onError\n        })));\n    }\n    componentDidMount() {\n        this._isMounted = true;\n    }\n    componentWillUnmount() {\n        this._isMounted = false;\n    }\n    isFullyLoaded(google) {\n        const { controls , toolbarItems , getChartEditor  } = this.props;\n        return google && google.visualization && google.visualization.ChartWrapper && google.visualization.Dashboard && (!controls || google.visualization.ChartWrapper) && (!getChartEditor || google.visualization.ChartEditor) && (!toolbarItems || google.visualization.drawToolbar);\n    }\n    constructor(...args){\n        super(...args);\n        this._isMounted = false;\n        this.state = {\n            loadingStatus: \"loading\",\n            google: null\n        };\n        this.onLoad = (google1)=>{\n            if (this.props.onLoad) {\n                this.props.onLoad(google1);\n            }\n            if (this.isFullyLoaded(google1)) {\n                this.onSuccess(google1);\n            } else {\n                // IE11: window.google is not fully set, we have to wait\n                const id = setInterval(()=>{\n                    const google = window.google;\n                    if (this._isMounted) {\n                        if (google && this.isFullyLoaded(google)) {\n                            clearInterval(id);\n                            this.onSuccess(google);\n                        }\n                    } else {\n                        clearInterval(id);\n                    }\n                }, 1000);\n            }\n        };\n        this.onSuccess = (google)=>{\n            this.setState({\n                loadingStatus: \"ready\",\n                google\n            });\n        };\n        this.onError = ()=>{\n            this.setState({\n                loadingStatus: \"errored\"\n            });\n        };\n    }\n}\nChart$1.defaultProps = chartDefaultProps;\n\nvar GoogleDataTableColumnRoleType;\n(function(GoogleDataTableColumnRoleType) {\n    GoogleDataTableColumnRoleType[\"annotation\"] = \"annotation\";\n    GoogleDataTableColumnRoleType[\"annotationText\"] = \"annotationText\";\n    GoogleDataTableColumnRoleType[\"certainty\"] = \"certainty\";\n    GoogleDataTableColumnRoleType[\"emphasis\"] = \"emphasis\";\n    GoogleDataTableColumnRoleType[\"interval\"] = \"interval\";\n    GoogleDataTableColumnRoleType[\"scope\"] = \"scope\";\n    GoogleDataTableColumnRoleType[\"style\"] = \"style\";\n    GoogleDataTableColumnRoleType[\"tooltip\"] = \"tooltip\";\n    GoogleDataTableColumnRoleType[\"domain\"] = \"domain\";\n})(GoogleDataTableColumnRoleType || (GoogleDataTableColumnRoleType = {}));\n\nvar Chart = Chart$1;\n\nexport { Chart$1 as Chart, GoogleDataTableColumnRoleType, Chart as default };\n//# sourceMappingURL=index.js.map\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"index\": 0,\n\t\"./style-index\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunksearch_console\"] = globalThis[\"webpackChunksearch_console\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"./style-index\"], () => (__webpack_require__(\"./src/index.js\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["ExternalLink","Icon","Flex","__","Footer","title","createElement","className","href","target","icon","ReactComponent","Logo","__experimentalHStack","HStack","Header","Card","useState","SlideShow","useSelect","Ads","props","plugins","select","myPlugins","getPlugins","per_page","filter","plugin","includes","shown","setShown","toShow","window","localStorage","getItem","initialValue","JSON","parse","Date","getTime","style","overflowX","useEffect","useDispatch","store","coreStore","Button","myAds","name","ad","link","isLink","slug","direction","noSlide","currentIndex","setCurrentIndex","slides","setSlides","saveEntityRecord","init","timer","setInterval","goToNextSlide","clearInterval","match","find","p","installPlugin","status","length","nextIndex","setMargin","index","margin","width","map","key","marginLeft","justify","variant","size","text","onClick","height","colors","animation","duration","easing","startup","focusTarget","chartArea","hAxis","gridlines","count","minSpacing","minorGridlines","showTextEvery","format","vAxis","vAxes","viewWindow","min","max","series","type","targetAxisIndex","tooltip","Chart","Options","useContext","Spinner","SettingsContext","LoadingSpinner","MyChart","settings","query","showError","table","setTable","token","access_token","getData","gapi","client","setToken","webmasters","searchanalytics","siteUrl","site","dimensions","fields","then","response","data","result","rows","temp","push","forEach","row","moment","keys","toDate","formatData","clicks","impressions","v","ctr","f","position","catch","error","val","metric","toFixed","chartType","options","legendToggle","abw","afg","ago","aia","ala","alb","and","are","arg","arm","asm","ata","atf","atg","aus","aut","aze","bdi","bel","ben","bes","bfa","bgd","bgr","bhr","bhs","bih","blm","blr","blz","bmu","bol","bra","brb","brn","btn","bvt","bwa","caf","can","cck","che","chl","chn","civ","cmr","cod","cog","cok","col","com","cpv","cri","cub","cuw","cxr","cym","cyp","cze","deu","dji","dma","dnk","dom","dza","ecu","egy","eri","esh","esp","est","eth","fin","fji","flk","fra","fro","fsm","gab","gbr","geo","ggy","gha","gib","gin","glp","gmb","gnb","gnq","grc","grd","grl","gtm","guf","gum","guy","hkg","hmd","hnd","hrv","hti","hun","idn","imn","ind","iot","irl","irn","irq","isl","isr","ita","jam","jey","jor","jpn","kaz","ken","kgz","khm","kir","kna","kor","kwt","lao","lbn","lbr","lby","lca","lie","lka","lso","ltu","lux","lva","mac","maf","mar","mco","mda","mdg","mdv","mex","mhl","mkd","mli","mlt","mmr","mne","mng","mnp","moz","mrt","msr","mtq","mus","mwi","mys","myt","nam","ncl","ner","nfk","nga","nic","niu","nld","nor","npl","nru","nzl","omn","pak","pan","pcn","per","phl","plw","png","pol","pri","prk","prt","pry","pse","pyf","qat","reu","rou","rus","rwa","sau","sdn","sen","sgp","sgs","shn","sjm","slb","sle","slv","smr","som","spm","srb","ssd","stp","sur","svk","svn","swe","swz","sxm","syc","syr","tca","tcd","tgo","tha","tjk","tkl","tkm","tls","ton","tto","tun","tur","tuv","twn","tza","uga","ukr","umi","ury","usa","uzb","vat","vct","ven","vgb","vir","vnm","vut","wlf","wsm","yem","zaf","zmb","zwe","zzz","FormTokenField","Fragment","countries","Country","handleChange","onChange","Object","values","indexOf","value","expression","suggestions","tokens","label","maxLength","__experimentalShowHowTo","RadioControl","Device","selected","option","SelectControl","TextControl","__experimentalVStack","VStack","Page","operator","placeholder","Query","Dropdown","MenuGroup","MenuItem","dateI18n","DateDropdown","updateQuery","updateSetting","range","setRange","setDate","num","period","date","subtract","contentClassName","placement","renderToggle","isOpen","onToggle","customDate","renderContent","FlexItem","DatePicker","DateSelect","popoverProps","startDate","__nextRemoveHelpButton","currentDate","isInvalidDate","endDate","Dimensions","onSelect","dimension","closeSmall","plus","MyModal","ENTER","SPACE","Filters","showModal","setShowModal","onRequestClose","remove","filters","dimensionFilterGroups","replaced","i","setType","getSign","iconPosition","role","tabIndex","onKeyDown","event","preventDefault","e","stopPropagation","modal","useMemo","DataViews","Countries","Table","setData","view","setView","perPage","page","sort","search","hiddenFields","layout","filterData","normalizeData","paginateArray","array","slice","field","sortKeys","sortData","a","b","localeCompare","item","id","header","enableHiding","render","Math","round","paginationInfo","totalItems","totalPages","ceil","onChangeView","getItemId","supportedLayouts","Modal","setFilter","searchType","setSearchType","saveChange","filtersArr","shift","modals","device","country","ModalFilter","isDestructive","disabled","CardBody","CardHeader","sprintf","RawHTML","Credentials","_settings$credentials","_settings$credentials2","setCredentials","credentials","assign","authUrl","wp_url","client_id","help","client_secret","Notice","GoogleOauthButton","GoogleOAuthProvider","GoogleOAuth","isDismissible","clientId","Help","apiFetch","hasGrantedAnyScopeGoogle","useGoogleLogin","revokeToken","message","setMessage","googleLogin","flow","onSuccess","code","getToken","scope","hasAccess","search_console","path","method","finally","console","log","getEmail","id_token","atob","split","email","isSmall","ToggleControl","PostTypeSelection","saveSettings","postTypes","getPostTypes","addPostType","removePostType","filteredArray","postTypeOptions","Array","isArray","postType","viewable","labels","singular_name","checked","classnames","Animate","cloud","SaveButton","isSaving","hasEdits","isBusy","animateClassName","gap","Verification","SiteSelect","refreshToken","sites","setSites","getSites","list","s","siteEntry","__experimentalInputControl","InputControl","getMeta","siteVerification","load","webResource","verificationMethod","identifier","replace","r","meta","suffix","createContext","useEntityProp","noticesStore","useHistory","SettingsContextProvider","defaultQuery","getDate","ready","setReady","setQuery","setEmail","history","setSettings","saveEditedEntityRecord","createNotice","explicitDismiss","isSavingEntityRecord","hasEditsForEntityRecord","undefined","loadSearchConsole","error_description","actions","refresh_token","expires_in","token_type","handleClientLoad","script","document","src","async","defer","onload","body","appendChild","removeChild","check","Provider","children","createRoot","SnackbarList","RouterProvider","useLocation","getQueryArg","Dashboard","Settings","Router","params","menuRoot","querySelector","reset","location","child","querySelectorAll","classList","add","parentElement","addEventListener","removeEventListener","listen","App","Notifications","notices","getNotices","removeNotice","snackbarNotices","onRemove","domNode","getElementById","root","createBrowserHistory","addQueryArgs","getQueryArgs","removeQueryArgs","originalHistoryPush","originalHistoryReplace","state","currentArgs","currentUrlWithoutArgs","newUrl","call","RoutesContext","HistoryContext","getLocationWithParams","searchParams","URLSearchParams","fromEntries","entries","setLocation","updatedLocation","createInterpolateElement","noticeString","__experimentalGrid","Grid","columns","templateColumns","align","createReduxStore","register","DEFAULT_STATE","setSetting","setting","setDimension","setCustomDate","setStartDate","setEndDate","removeFilter","fetchFromAPI","reducer","action","newFilter","arr","cleanArr","selectors","isReady","_state$settings","getSettings","getSite","getQuery","getFilterByDimension","getSearchType","getFilters","getCustomDate","controls","FETCH_FROM_API","resolvers"],"sourceRoot":""}
     1{"version":3,"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;AAA4G;;AAE5G,sCAAsC;AACtC,YAAY,yCAAyC;AACrD,oEAAoE,+CAAQ;AAC5E,mCAAmC,6CAAM;AACzC;AACA,iCAAiC,6CAAM;AACvC;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,2BAA2B,oDAAa;AACxC,+BAA+B,6DAA6D;AAC5F;AACA;AACA;AACA,KAAK;AACL,yBAAyB,8CAAO;AAChC;AACA;AACA,KAAK;AACL,YAAY,0DAAmB,gCAAgC,qBAAqB;AACpF;AACA;AACA,oBAAoB,iDAAU;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,6BAA6B;AAC7B,uBAAuB,qLAAqL;AAC5M,4BAA4B,6CAAM;AAClC,YAAY,qCAAqC;AACjD,yBAAyB,6CAAM;AAC/B;AACA,uBAAuB,6CAAM;AAC7B;AACA,wCAAwC,6CAAM;AAC9C;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,0DAAmB,UAAU,+BAA+B,oCAAoC;AAC5G;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,6FAA6F;AACvH,YAAY,qCAAqC;AACjD,sBAAsB,6CAAM;AAC5B,yBAAyB,6CAAM;AAC/B;AACA,uBAAuB,6CAAM;AAC7B;AACA,+BAA+B,6CAAM;AACrC;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,MAAM;AACzE;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL,8BAA8B,kDAAW,uBAAuB,QAAQ,6GAA6G;AACrL,8BAA8B,kDAAW,SAAS,QAAQ,wFAAwF;AAClJ;AACA;;AAEA,gCAAgC,qFAAqF;AACrH,YAAY,qCAAqC;AACjD,yBAAyB,6CAAM;AAC/B;AACA,uBAAuB,6CAAM;AAC7B;AACA,wCAAwC,6CAAM;AAC9C;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEqJ;;;;;;;;;;;;;;;;;;;ACpOrJ;AACA,sBAAsB,sEAAsE,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,iCAAiC,kBAAkB;AAC3Q;AAC/B;AACA,sBAAsB,gDAAmB;AACzC;AACA;AACA;AACA;AACA;AACA,GAAG,yCAAyC,gDAAmB,4BAA4B,gDAAmB;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,eAAe,gDAAmB;AACrC;AACA;AACA,GAAG,gBAAgB,gDAAmB;AACtC;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,uCAAuC,gDAAmB;AAC7D;AACA;AACA,GAAG,uCAAuC,gDAAmB;AAC7D;AACA;AACA,GAAG;AACH;AACqC;AACrC,iEAAe,oBAAoB,gtJAAgtJ;;;;;;;;;;;;;;;;;;;;;;;;AC5D7sJ;AACtC;AACA;AACA;AACqF;AAChD;AACW;;AAEhD;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,SAAS,oDAAa;AACtB,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE,mDAAE;AACT,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG;AACH;AACA,iEAAe,8DAAU,WAAW,EAAC;AACrC;;;;;;;;;;;;;;;;;;;;;;;;;;ACzDgD;AAChD;AACA;AACA;AAC4F;AAC1C;AAC6B;;AAE/E;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AACzB;AACP,SAAS,2DAAO;AAChB;AACA;AACA,KAAK;AACL,GAAG;AACH;AACO;AACP,SAAS,2DAAO;AAChB;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB,2DAAO;AAC/B;AACA,GAAG;AACH;AACA;AACA;AACA,IAAI;AACJ,uBAAuB,+DAAW;AAClC;AACA,GAAG;AACH,SAAS,oDAAa,CAAC,wDAAK;AAC5B;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB,2DAAO;AAC/B;AACA,GAAG;AACH;AACA,SAAS,oDAAa;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa,CAAC,2CAAQ,QAAQ,oDAAa,gDAAgD,oDAAa;AACjH;AACA;AACA;AACA;AACA,GAAG,KAAK,oDAAa;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sBAAsB,2DAAO;AAC7B,yCAAyC,4DAAQ;AACjD,gDAAgD,4DAAQ;AACxD,0BAA0B,2DAAO;AACjC;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,wBAAwB,2DAAO;AAC/B;AACA,GAAG;AACH,uCAAuC,2DAAO;AAC9C;AACA;AACA,KAAK;AACL,GAAG;AACH,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,SAAS,oDAAa,CAAC,2CAAQ,QAAQ,oDAAa;AACpD;AACA;AACA,WAAW,mDAAE;AACb;AACA;AACA,KAAK;AACL,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA;AACA;AACA;AACA,KAAK,qBAAqB,wDAAO;AACjC,IAAI,mDAAE,yEAAyE,mDAAE;AACjF,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA,GAAG,GAAG,oDAAa,0BAA0B,oDAAa;AAC1D;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG,EAAE,mDAAE,iBAAiB,oDAAa;AACrC;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE,mDAAE,oCAAoC,oDAAa;AACxD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3KA;AACA;AACA;AACqC;;AAErC;AACO;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACP;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb;AACA;;AAEA;AACO;AACP;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA,WAAW,mDAAE;AACb;AACA;;AAEA;AACO;AACA;AACA;AACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtDsC;AACtC;AACA;AACA;AACuE;AACQ;;AAE/E;AACA;AACA;AACsC;AACG;AACT;AACF;AAC0B;AACf;AACA;AACY;AACrD;AACA;AACA;AACA,SAAS,2DAAO;AAChB;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,oCAAoC,4DAAQ;AAC5C,0CAA0C,4DAAQ;AAClD,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,yBAAyB,+DAAW;AACpC;AACA;AACA,GAAG;AACH,wBAAwB,kDAAY;AACpC,kBAAkB,2DAAO,OAAO,kEAAe;AAC/C;AACA,SAAS,oDAAa;AACtB;AACA,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA;AACA;AACA,GAAG,YAAY,oDAAa,CAAC,+CAAM;AACnC;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,gDAAO;AAC3B;AACA;AACA;AACA;AACA;AACA,GAAG,KAAK,oDAAY,EAAE,mDAAW,kDAAkD,oDAAa,CAAC,qDAAW;AAC5G;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,qDAAW;AAC/B;AACA;AACA;AACA;AACA,GAAG,IAAI,oDAAa;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,oDAAU;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3GsC;AACtC;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AACyJ;AAC3G;AACwB;AACxB;AAC9C;AACA;;AAEA;AACA;AACA;AAC2C;AACoG;AAC/I;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,UAAU,oDAAa;AACvB;AACA,KAAK;AACL,WAAW,oDAAa;AACxB;AACA,KAAK;AACL;AACA,iCAAiC,uDAAe;AAChD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,wDAAgB;AACjD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,uDAAe;AAChD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,2DAAmB;AACpD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,mDAAW;AAC5C,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,uDAAe;AAChD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,SAAS,wDAAO;AAChB,EAAE,mDAAE;AACJ;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,WAAW,iDAAS;AACpB,GAAG;AACH;AACA;AACA,uCAAuC,oDAAa,CAAC,uEAAM;AAC3D;AACA;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,2DAAQ;AAC3B;AACA,GAAG,gBAAgB,oDAAa,CAAC,gEAAa;AAC9C,WAAW,mDAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACe;AACf;AACA;AACA;AACA,CAAC;AACD,oBAAoB,0DAAM;AAC1B;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,SAAS,oDAAa,CAAC,2DAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK,KAAK,oDAAa;AACvB;AACA,KAAK,EAAE,oDAAa,CAAC,0DAAO;AAC5B,YAAY,wDAAO;AACnB,MAAM,mDAAE;AACR;AACA,KAAK,EAAE,oDAAa;AACpB,iBAAiB,iDAAU;AAC3B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK,EAAE,oDAAa;AACpB;AACA;AACA;AACA,KAAK,yBAAyB,oDAAa,CAAC,0DAAO;AACnD,wBAAwB,mDAAE,YAAY,mDAAE;AACxC;AACA,KAAK,EAAE,oDAAa;AACpB,iBAAiB,iDAAU;AAC3B;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK,EAAE,oDAAa,CAAC,uDAAI;AACzB,YAAY,wDAAU;AACtB,KAAK;AACL;AACA,aAAa,oDAAa,CAAC,uEAAM;AACjC;AACA;AACA,OAAO,EAAE,oDAAa;AACtB;AACA,OAAO,GAAG,oDAAa,CAAC,sDAAY;AACpC;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AC/MsC;AACtC;AACA;AACA;AACkD;;AAElD;AACA;AACA;AAC6C;AACR;AACM;AACC;AAC8B;AACH;AACvE,gBAAgB,wDAAI;AACpB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,uBAAuB,0DAAM;AAC7B;AACA;AACA;AACA;AACA;AACA,sBAAsB,yDAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,mDAAW,EAAE,uDAAe;AACzE;AACA,6EAA6E,qDAAa;AAC1F;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,oDAAa,CAAC,mDAAS;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,WAAW,oDAAa,CAAC,uDAAa;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,0BAA0B,oDAAa,CAAC,sDAAY;AACpD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,SAAS,oDAAa,CAAC,uEAAM;AAC7B;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH,CAAC;AACD,iEAAe,OAAO,EAAC;AACvB;;;;;;;;;;;;;;;;;;;;;;;;;AC5FgD;AAChD;AACA;AACA;AAC4H;AACvF;AACkB;AACP;;AAEhD;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa,CAAC,yDAAM;AAC7B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wCAAwC,4DAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,SAAS,oDAAa,CAAC,2CAAQ,QAAQ,oDAAa;AACpD;AACA,GAAG,kBAAkB,oDAAa,CAAC,wDAAK;AACxC;AACA;AACA;AACA;AACA,KAAK;AACL,wEAAwE,qBAAqB;AAC7F,GAAG,EAAE,oDAAa;AAClB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB;AACA,aAAa,oDAAa;AAC1B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,WAAW,oDAAa;AACxB;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACe;AACf;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,IAAI,EAAE,2DAAO;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,WAAW,oDAAa;AACxB;AACA;AACA,KAAK;AACL;AACA,SAAS,oDAAa,CAAC,uEAAM;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,aAAa,oDAAa;AAC1B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,WAAW,oDAAa;AACxB;AACA;AACA;AACA,KAAK;AACL,GAAG,GAAG,oDAAa;AACnB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA,YAAY,wDAAY;AACxB,aAAa,mDAAE;AACf;AACA;AACA,KAAK;AACL;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;AC9JA;AACA;AACA;AAC4C;AACqD;;AAEjG;AACA;AACA;AACqC;AACF;AACA;AACkC;AAC9D;AACP,QAAQ,oDAAY;AACpB,SAAS,mDAAE;AACX,aAAa,mDAAS;AACtB,QAAQ,wDAAU;AAClB,CAAC;AACD,QAAQ,mDAAW;AACnB,SAAS,mDAAE;AACX,aAAa,kDAAQ;AACrB,QAAQ,wDAAQ;AAChB,CAAC;AACD,QAAQ,mDAAW;AACnB,SAAS,mDAAE;AACX,aAAa,kDAAQ;AACrB,QAAQ,sDAAK,KAAK,wDAAoB,GAAG,wDAAiB;AAC1D,CAAC;AACD;;;;;;;;;;;;;;;;;;AC7BA;AACA;AACA;AAC2F;AACpF;AACP;AACA;AACA,EAAE,EAAE,yGAAgD;AACpD;;;;;;;;;;;;;;;ACRA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;ACvBsC;AACtC;AACA;AACA;AAC8F;AAC1B;AAClB;AACW;AAC7D,mBAAmB,wDAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,6CAA6C,oDAAa,CAAC,uEAAM;AACjE;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA;AACA;AACA;AACA,GAAG,EAAE,4EAAwB,CAAC,wDAAO;AACrC;AACA,EAAE,mDAAE;AACJ,wBAAwB,oDAAa,CAAC,gEAAa;AACnD,oBAAoB,mDAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;AACL,GAAG,IAAI,oDAAa,CAAC,uEAAM;AAC3B;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,yDAAM;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,mDAAE;AACb,UAAU,wDAAW;AACrB;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,yDAAM;AAC1B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,mDAAE;AACb,UAAU,wDAAY;AACtB;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,iEAAe,UAAU,EAAC;AAC1B;;;;;;;;;;;;;;;;;;;;;ACjFsC;AACtC;AACA;AACA;AAC+C;AACV;AACtB;AACf;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,SAAS,oDAAa,CAAC,yDAAM;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,EAAE,mDAAE;AACP;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BsC;AACtC;AACA;AACA;AACA;AAC0C;AACC;;AAE3C;AACA;AACA;AAC8C;AAC2B;AAC0B;AAClD;AACG;;AAEpD;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC,mBAAmB,oDAAa,CAAC,sDAAG;AACpC;AACA;AACA,CAAC,EAAE,oDAAa,CAAC,yDAAM;AACvB;AACA;AACA;AACA,CAAC;AACD;AACA,SAAS,qDAAa;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,SAAS,oDAAa;AACtB;AACA;AACA;AACA,kBAAkB,wDAAO;AACzB,IAAI,mDAAE;AACN;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,oDAAa,CAAC,8DAA0B;AACpD;AACA,KAAK;AACL,GAAG,iCAAiC,oDAAa,CAAC,0DAAsB;AACxE;AACA;AACA,YAAY,oDAAa;AACzB,cAAc,oDAAa;AAC3B;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,8DAA8D,oDAAa,CAAC,uDAAI;AACnF;AACA,GAAG,sEAAsE,oDAAa,CAAC,uDAAI;AAC3F,UAAU,wDAAK;AACf,GAAG,IAAI,oDAAa,uDAAuD,oDAAa;AACxF;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wCAAwC,4DAAQ;AAChD,8BAA8B,oEAAgB;AAC9C;AACA;AACA,kBAAkB,2DAAO;AACzB;AACA;AACA,GAAG;AACH,SAAS,oDAAa,CAAC,6DAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,EAAE,oDAAa,CAAC,0DAAqB;AACxC,YAAY,oDAAa,CAAC,iEAAc;AACxC,GAAG,EAAE,mDAAE,mBAAmB,oDAAa,CAAC,qDAAgB;AACxD;AACA,iBAAiB,mDAAE;AACnB;AACA,GAAG,GAAG,oDAAa;AACnB;AACA,GAAG,EAAE,oDAAa,CAAC,uDAAI;AACvB,UAAU,yDAAM;AAChB,GAAG,KAAK,oDAAa,CAAC,yDAAoB;AAC1C;AACA;AACA,GAAG;AACH,WAAW,oDAAa,CAAC,yDAAoB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE,oDAAa;AACpB;AACA,KAAK,8DAA8D,oDAAa,CAAC,uDAAI;AACrF;AACA,KAAK,sEAAsE,oDAAa,CAAC,uDAAI;AAC7F,YAAY,wDAAK;AACjB,KAAK,IAAI,oDAAa,eAAe,oDAAa,CAAC,8DAAyB;AAC5E;AACA;AACA,KAAK,4BAA4B,oDAAa;AAC9C;AACA,KAAK;AACL,GAAG,sBAAsB,oDAAa,YAAY,mDAAE;AACpD;AACe;AACf;AACA,SAAS,oDAAa;AACtB;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;AClNsC;AACtC;AACA;AACA;AACqC;AACwB;AACP;AACC;AACvD,eAAe,wDAAI;AACnB;AACA;AACA;AACA,CAAC;AACD,+CAA+C,qEAAiB;AAChE,EAAE,6DAAS;AACX;AACA,GAAG;AACH,0BAA0B,0DAAM;AAChC,EAAE,6DAAS;AACX;AACA,GAAG;AACH,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,+BAA+B,mDAAE;AACjC,SAAS,oDAAa,CAAC,gEAAa;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,iEAAe,MAAM,EAAC;AACtB;;;;;;;;;;;;;;;;;;;;;ACvCsC;AACtC;AACA;AACA;AAC8C;AACU;AACzC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,qBAAqB,wDAAO;AAC5B,iBAAiB,mDAAE,wBAAwB,mDAAE;AAC7C;AACA,KAAK;AACL,IAAI;AACJ,kCAAkC,mDAAE,wBAAwB,mDAAE;AAC9D;AACA,SAAS,oDAAa,CAAC,kEAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;ACnDA;AACA;AACA;AAC6G;AACtG;AACP;;AAEA;AACA;AACA,iBAAiB,uDAAe,EAAE,wDAAgB;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C,qDAAa;;AAExD;AACA;AACA,yBAAyB,mDAAW,wBAAwB,uDAAe;AAC3E,8CAA8C,mDAAW,EAAE,uDAAe;AAC1E;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCsC;AACtC;AACA;AACA;AACqF;AAChD;AACK;AACE;;AAE5C;AACA;AACA;AACuC;AACU;AACR;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB,kDAAY;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAa;AACtB,aAAa,oDAAa;AAC1B,cAAc,oDAAa;AAC3B;AACA,OAAO;AACP,KAAK,EAAE,oDAAa,8BAA8B,mDAAE;AACpD,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB,aAAa,oDAAa;AAC1B,cAAc,oDAAa;AAC3B;AACA,OAAO;AACP,KAAK,EAAE,oDAAa,8BAA8B,mDAAE;AACpD,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,SAAS,oDAAa;AACtB,aAAa,oDAAa,yBAAyB,oDAAa,8BAA8B,mDAAE;AAChG,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAa;AACtB,aAAa,oDAAa;AAC1B,cAAc,oDAAa;AAC3B;AACA,OAAO;AACP,KAAK,EAAE,oDAAa,8BAA8B,mDAAE;AACpD,GAAG;AACH;AACA,WAAW,oDAAa;AACxB;AACA,eAAe,oDAAa,yBAAyB,oDAAa;AAClE;AACA;AACA;AACA,KAAK,iBAAiB,0DAAkB;AACxC;AACA,uBAAuB,SAAS,GAAG,UAAU;AAC7C,aAAa,oDAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO,EAAE,oDAAa;AACtB,KAAK;AACL,GAAG;AACH;AACA,oBAAoB,wDAAI;AACxB;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA,YAAY,wDAAQ;AACpB,aAAa,mDAAE;AACf,KAAK;AACL,GAAG,EAAE,oDAAa,0BAA0B,oDAAa;AACzD;AACA;AACA;AACA,GAAG,GAAG,oDAAa;AACnB;AACA;AACA;AACA,GAAG,GAAG,oDAAa;AACnB;AACA;AACA;AACA,GAAG,GAAG,oDAAa;AACnB;AACA;AACA,GAAG;AACH,CAAC;AACD,iEAAe,WAAW,EAAC;AAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;ACjMgD;AAChD;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AAC4J;AACvH;;AAErC;AACA;AACA;AACyC;AACyB;AACP;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB,wEAAyB;AACjD;AACA;AACA,SAAS,oDAAa,CAAC,uEAAM;AAC7B;AACA;AACA,eAAe,iDAAU;AACzB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU;AACV;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG;AACH;AACA,GAAG,IAAI,oDAAa,CAAC,uEAAM;AAC3B;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,kEAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,uEAAM;AAC1B;AACA,GAAG;AACH;AACA,GAAG,IAAI,oDAAa,CAAC,qDAAW;AAChC;AACA;AACA;AACA,GAAG,6BAA6B,oDAAa,CAAC,uEAAM;AACpD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,oDAAa,CAAC,2DAAQ;AACjC;AACA;AACA,KAAK;AACL,GAAG,+BAA+B,oDAAa,CAAC,uEAAM;AACtD;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,oDAAa,CAAC,uDAAI;AAC7B,iBAAiB,iDAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK,EAAE,oDAAa,CAAC,2CAAQ,QAAQ,oDAAa,CAAC,2DAAQ;AAC3D;AACA,KAAK,iBAAiB,oDAAa,CAAC,2DAAQ;AAC5C;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,SAAS,oDAAa,CAAC,2CAAQ,mBAAmB,oDAAa,CAAC,qEAAI;AACpE;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG,gBAAgB,oDAAa;AAChC,eAAe,iDAAU;AACzB;AACA;AACA,KAAK;AACL,GAAG,EAAE,oDAAa,wBAAwB,oDAAa,CAAC,0DAAO,UAAU,mDAAE;AAC3E;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5LsC;AACtC;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AACmD;AACmH;AAClG;AAC/B;;AAErC;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAkB,0DAAM;AACxB,qBAAqB,GAAG;AACxB,2BAA2B,GAAG;AAC9B,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH,SAAS,oDAAa;AACtB;AACA,YAAY,oDAAa;AACzB;AACA,eAAe,iDAAU;AACzB;AACA,KAAK;AACL,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,EAAE,oDAAa;AAClB,YAAY,oDAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG;AACH;AACA,GAAG,KAAK,oDAAa;AACrB;AACA,GAAG,IAAI,oDAAa,CAAC,uEAAM;AAC3B;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA,GAAG;AACH;AACA,GAAG,IAAI,oDAAa;AACpB;AACA;AACA,GAAG,6BAA6B,oDAAa;AAC7C;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,iEAAc;AACjC;AACA;AACA,GAAG,iBAAiB,oDAAa;AACjC;AACA,GAAG;AACH;AACA,GAAG;AACH;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iBAAiB,iEAAa;AAC9B;AACA;AACA;AACA;AACA,mBAAmB,+DAAW;AAC9B,uBAAuB,+DAAW,mBAAmB,OAAO,GAAG,gBAAgB;AAC/E;AACA;AACA,GAAG;AACH;AACA;AACA,WAAW,oDAAa;AACxB,iBAAiB,iDAAU;AAC3B;AACA;AACA,OAAO;AACP,KAAK,cAAc,oDAAa,wBAAwB,oDAAa,CAAC,0DAAO,UAAU,mDAAE;AACzF;AACA,SAAS,oDAAa;AACtB;AACA,YAAY,oDAAa;AACzB;AACA;AACA;AACA,GAAG;AACH;AACA,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClJsC;AACtC;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AACqC;AACa;AACmE;AACJ;;AAEjH;AACA;AACA;AACkE;AAC3B;AACE;AACG;AACK;AAC6C;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA,CAAC;AACD,SAAS,wDAAQ,qDAAqD,oDAAa,CAAC,wDAAQ;AAC5F;AACA,GAAG,WAAW,oDAAa;AAC3B;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAU;AAC7B;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,oBAAoB,yDAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAa;AACtB;AACA,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA;AACA;AACA;AACA,KAAK,4BAA4B,oDAAa;AAC9C;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,EAAE,oDAAa,iDAAiD,oDAAa,yCAAyC,0DAAkB;AAC3I;AACA,qBAAqB,SAAS,GAAG,UAAU;AAC3C,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG,oBAAoB,oDAAa,0BAA0B,oDAAa;AAC3E,YAAY,oDAAa,CAAC,uDAAI;AAC9B,YAAY,wDAAM;AAClB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG,EAAE,oDAAa,8BAA8B,mDAAE,gCAAgC,oDAAa;AAC/F,YAAY,oDAAa,CAAC,uDAAI;AAC9B,YAAY,wDAAM;AAClB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,EAAE,oDAAa,8BAA8B,mDAAE;AAClD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,0BAA0B,2DAAO;AACjC;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,SAAS,oDAAa,CAAC,kEAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL,mCAAmC,mDAAE,mBAAmB,mDAAE;AAC1D,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gCAAgC,yEAAyB;AACzD;AACA,oCAAoC,4DAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,0DAAM;AAC9B,SAAS,oDAAa;AACtB,eAAe,iDAAU;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU;AACV;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG,oBAAoB,oDAAa;AACpC;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,EAAE,oDAAa,CAAC,mEAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gCAAgC,oDAAa;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB,eAAe,iDAAU;AACzB;AACA,KAAK;AACL,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,oDAAa;AACf;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,sDAAW;AAC9B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,yBAAyB,0DAAM;AAC/B,+BAA+B,0DAAM;AACrC,4DAA4D,4DAAQ;AACpE,yBAAyB,iFAAiC;AAC1D,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA,GAAG;AACH,wBAAwB,yDAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAa,CAAC,wDAAQ,QAAQ,oDAAa;AACpD;AACA;AACA;AACA,GAAG,EAAE,oDAAa,gBAAgB,oDAAa;AAC/C;AACA,GAAG,oBAAoB,oDAAa;AACpC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA;AACA,GAAG,wCAAwC,oDAAa;AACxD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,0BAA0B,oDAAa;AAC1C;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,EAAE,mDAAE,iBAAiB,oDAAa,qDAAqD,oDAAa;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,MAAM,oDAAa;AACtB,eAAe,iDAAU;AACzB;AACA;AACA,KAAK;AACL;AACA,GAAG,cAAc,oDAAa,wBAAwB,oDAAa,CAAC,0DAAO,UAAU,mDAAE;AACvF;AACA,iEAAe,SAAS,EAAC;AACzB;;;;;;;;;;;;;;;;;AC9WA;AACA;AACA;AAC8D;;AAE9D,eAAe,kCAAkC,4CAA4C;;AAE7F;AACA;AACA;AACA,WAAW,2CAA2C;AACtD;AACA;AACA,WAAW,2CAA2C;AACtD;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,gEAAY;AACrB;AACA;AACA;AACA;AACA,GAAG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>',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t`https://console.developers.google.com/`,\n\t\t\t\t\t\tsettings.wp_url\n\t\t\t\t\t) }\n\t\t\t\t</RawHTML>\n\n\t\t\t\t<RawHTML>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: Google Site Kit url. */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'<p><b>Tip</b>: the simplest way to get your own credentials is to go to <a target=\"_blank\" href=\"%s\">Google Site Kit</a> site and follow step. Don\\'t forget to add your site url as authorized Javascript origin.</p>',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tauthUrl\n\t\t\t\t\t) }\n\t\t\t\t</RawHTML>\n\n\t\t\t\t<TextControl\n\t\t\t\t\tplaceholder={ 'CLIENT ID' }\n\t\t\t\t\tvalue={ settings?.credentials?.client_id ?? '' }\n\t\t\t\t\tlabel={ __( 'Client ID', 'search-console' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Please go to Developer Console to obtain your credentials.',\n\t\t\t\t\t\t'search-console'\n\t\t\t\t\t) }\n\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\tsetCredentials( 'client_id', val );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tplaceholder={ 'CLIENT SECRET' }\n\t\t\t\t\tvalue={ settings?.credentials?.client_secret ?? '' }\n\t\t\t\t\tlabel={ __( 'Client secret', 'search-console' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Please go to Developer Console to obtain your credentials.',\n\t\t\t\t\t\t'search-console'\n\t\t\t\t\t) }\n\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\tsetCredentials( 'client_secret', val );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</CardBody>\n\t\t</Card>\n\t);\n};\n\nexport default Credentials;\n","import { Notice, Card, CardBody, CardHeader } from '@wordpress/components';\n\nimport { __ } from '@wordpress/i18n';\n\nimport { useContext } from '@wordpress/element';\nimport { SettingsContext } from '../../context/settings-context';\n\nimport GoogleOauthButton from './oauth-button';\nimport { GoogleOAuthProvider } from '@react-oauth/google';\n\nconst GoogleOAuth = ( props ) => {\n\tconst { settings } = useContext( SettingsContext );\n\n\treturn (\n\t\t<Card>\n\t\t\t<CardHeader>\n\t\t\t\t<b>{ __( 'Google Oauth', 'search-console' ) }</b>\n\t\t\t</CardHeader>\n\n\t\t\t<CardBody>\n\t\t\t\t{ ( ! settings?.credentials?.client_id?.length ||\n\t\t\t\t\t! settings?.credentials?.client_secret?.length ) && (\n\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'You must insert a Client Id and a Client secret to correctly request your authentication token.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Notice>\n\t\t\t\t) }\n\t\t\t\t{ settings?.credentials?.client_id &&\n\t\t\t\t\tsettings?.credentials?.client_secret && (\n\t\t\t\t\t\t<GoogleOAuthProvider\n\t\t\t\t\t\t\tclientId={ settings?.credentials?.client_id }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<GoogleOauthButton { ...props } />\n\t\t\t\t\t\t</GoogleOAuthProvider>\n\t\t\t\t\t) }\n\t\t\t</CardBody>\n\t\t</Card>\n\t);\n};\n\nexport default GoogleOAuth;\n","import {\n\tCard,\n\tCardHeader,\n\tCardBody,\n\tExternalLink,\n\tButton,\n} from '@wordpress/components';\nimport Ads from '../ads';\n\nimport { __ } from '@wordpress/i18n';\n\nexport default function Help() {\n\treturn (\n\t\t<>\n\t\t\t\t<Ads direction=\"column\" />\n\t\t\t<Card>\n\t\t\t\t<CardHeader>\n\t\t\t\t\t<b>{ __( 'Need help?', 'search-console' ) }</b>\n\t\t\t\t</CardHeader>\n\n\t\t\t\t<CardBody>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Detailed documentation is available on the plugin website.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t<ExternalLink href=\"https://www.francescopepe.com/docs/search-console\">\n\t\t\t\t\t\t{ __( 'Documentation', 'search-console' ) }\n\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'We would love to help you out if you need any help.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t<ExternalLink href=\"https://wordpress.org/support/plugin/search-console/\">\n\t\t\t\t\t\t{ __( 'Ask a question', 'search-console' ) }\n\t\t\t\t\t</ExternalLink>\n\t\t\t\t</CardBody>\n\t\t\t</Card>\n\t\t\t<Card className=\"ads-container__reviews\">\n\t\t\t\t<CardHeader>\n\t\t\t\t\t<b>{ __( 'Do you like the plugin?', 'search-console' ) }</b>\n\t\t\t\t</CardHeader>\n\n\t\t\t\t<CardBody>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'If you like search-console plugin you can share a review to help us and spread some love!',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<ExternalLink href=\"https://wordpress.org/support/plugin/search-console/reviews/#new-post\">\n\t\t\t\t\t\t{ __( 'Rate 5 stars!', 'search-console' ) }\n\t\t\t\t\t</ExternalLink>\n\t\t\t\t</CardBody>\n\t\t\t</Card>\n\t\t</>\n\t);\n}\n","import { Button, Notice } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { Fragment, useState, useContext } from '@wordpress/element';\nimport apiFetch from '@wordpress/api-fetch';\nimport { SettingsContext } from '../../context/settings-context';\nimport { hasGrantedAnyScopeGoogle, useGoogleLogin } from '@react-oauth/google';\n\nconst GoogleOauthButton = () => {\n\tconst { updateSetting, settings, revokeToken } =\n\t\tuseContext( SettingsContext );\n\n\tconst [ message, setMessage ] = useState( false );\n\n\tconst googleLogin = useGoogleLogin( {\n\t\tflow: 'auth-code',\n\t\tonSuccess: async ( { code } ) => {\n\t\t\tgetToken( code );\n\t\t},\n\t\tscope: 'https://www.googleapis.com/auth/webmasters.readonly https://www.googleapis.com/auth/siteverification email',\n\t} );\n\n\tconst hasAccess = hasGrantedAnyScopeGoogle(\n\t\twindow.search_console.token,\n\t\t'https://www.googleapis.com/auth/webmasters.readonly'\n\t);\n\n\tconst getToken = ( code ) => {\n\t\tapiFetch( {\n\t\t\tpath: '/searchconsole/v1/credentials',\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\tcode,\n\t\t\t},\n\t\t} )\n\t\t\t.then( ( result ) => {\n\t\t\t\tupdateSetting( 'token', result );\n\t\t\t\tsetMessage( {\n\t\t\t\t\tstatus: 'success',\n\t\t\t\t\ttext: __( \"You're logged in\", 'search-console' ),\n\t\t\t\t} );\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tsetMessage( {\n\t\t\t\t\tstatus: 'error',\n\t\t\t\t\ttext: error.message,\n\t\t\t\t} );\n\t\t\t} )\n\t\t\t.finally( () => console.log( 'Success' ) );\n\t};\n\n\tconst getEmail = () => {\n\t\tif ( settings.token.id_token ) {\n\t\t\treturn JSON.parse(\n\t\t\t\tatob( settings.token.id_token.split( '.' )[ 1 ] )\n\t\t\t).email;\n\t\t}\n\t\treturn null;\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => googleLogin() }\n\t\t\t\ticon={ 'google' }\n\t\t\t>\n\t\t\t\t{ getEmail() || __( 'Login with Google', 'search-console' ) }\n\t\t\t</Button>\n\t\t\t{ settings.token.id_token && (\n\t\t\t\t<p>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttext={ __( 'Revoke token', 'search-console' ) }\n\t\t\t\t\t\tonClick={ () => revokeToken() }\n\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\tisSmall\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t{ message && (\n\t\t\t\t<Notice status={ message.status } isDismissible={ false }>\n\t\t\t\t\t{ message.text }\n\t\t\t\t</Notice>\n\t\t\t) }\n\t\t</Fragment>\n\t);\n};\n\nexport default GoogleOauthButton;\n","import { useSelect } from '@wordpress/data';\nimport { ToggleControl } from '@wordpress/components';\nimport { Fragment, useContext } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { SettingsContext } from '../../context/settings-context';\n\nexport default function PostTypeSelection() {\n\tconst { settings, updateSetting, saveSettings } =\n\t\tuseContext( SettingsContext );\n\n\t// useSelect to retrieve all post types\n\tconst postTypes = useSelect(\n\t\t( select ) => select( coreStore ).getPostTypes( { per_page: -1 } ),\n\t\t[]\n\t);\n\n\tconst addPostType = ( val ) => {\n\t\tupdateSetting( 'postTypes', [ ...settings.postTypes, val ] );\n\t\tsaveSettings();\n\t};\n\n\tconst removePostType = ( val ) => {\n\t\tconst filteredArray = settings.postTypes.filter(\n\t\t\t( item ) => item !== val\n\t\t);\n\t\tupdateSetting( 'postTypes', filteredArray );\n\t\tsaveSettings();\n\t};\n\n\t// Options expects [{label: ..., value: ...}]\n\tconst postTypeOptions = ! Array.isArray( postTypes )\n\t\t? postTypes\n\t\t: postTypes\n\t\t\t\t.filter(\n\t\t\t\t\t// Filter out internal WP post types eg: wp_block, wp_navigation, wp_template, wp_template_part..\n\t\t\t\t\t( postType ) => postType.viewable\n\t\t\t\t)\n\t\t\t\t.map(\n\t\t\t\t\t// Format the options for display in the <SelectControl/>\n\t\t\t\t\t( postType ) => ( {\n\t\t\t\t\t\tlabel: postType.labels.singular_name,\n\t\t\t\t\t\tvalue: postType.slug, // the value saved as postType in attributes\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Choose on which post type you want see Search Console data.',\n\t\t\t\t\t'search-console'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t{ postTypeOptions &&\n\t\t\t\tpostTypeOptions.map( ( postType, i ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tlabel={ postType.label }\n\t\t\t\t\t\t\tchecked={ settings.postTypes.includes(\n\t\t\t\t\t\t\t\tpostType.value\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\t\t\t\taddPostType( postType.value );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tremovePostType( postType.value );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t</Fragment>\n\t);\n}\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Animate, Button, Flex } from '@wordpress/components';\nimport { useState, useContext } from '@wordpress/element';\n\nimport { cloud, Icon } from '@wordpress/icons';\nimport { SettingsContext } from '../../context/settings-context';\n\nexport default function SaveButton() {\n\tconst [ status ] = useState( 'saved' );\n\n\tconst { isSaving, saveSettings, hasEdits } = useContext( SettingsContext );\n\n\treturn (\n\t\t<>\n\t\t\t<Flex justify=\"flex-start\">\n\t\t\t\t<Button\n\t\t\t\t\tclassName={ 'save-settings__save-button' }\n\t\t\t\t\tonClick={ () => saveSettings() }\n\t\t\t\t\tdisabled={ isSaving || ! hasEdits }\n\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Save', 'search-console' ) }\n\t\t\t\t</Button>\n\t\t\t\t{ [\n\t\t\t\t\tisSaving && (\n\t\t\t\t\t\t<Animate type=\"loading\" key=\"saving\">\n\t\t\t\t\t\t\t{ ( { className: animateClassName } ) => (\n\t\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'message',\n\t\t\t\t\t\t\t\t\t\tanimateClassName\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tgap={ 1 }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Icon icon={ cloud } />\n\t\t\t\t\t\t\t\t\t{ __( 'Saving', 'block-visibility' ) }\n\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Animate>\n\t\t\t\t\t),\n\t\t\t\t\tstatus === 'error' && (\n\t\t\t\t\t\t<span className=\"message update-failed\" key=\"error\">\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Update failed. Try again or get in touch with support.',\n\t\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t),\n\t\t\t\t] }\n\t\t\t</Flex>\n\t\t</>\n\t);\n}\n","import {\n\tCard,\n\tCardBody,\n\tCardHeader,\n\tSelectControl,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useContext, useEffect, useState } from '@wordpress/element';\nimport Verification from './verification';\nimport PostTypeSelection from './post-type-selection';\nimport { SettingsContext } from '../../context/settings-context';\n\nconst SiteSelect = ( props ) => {\n\tconst { settings, updateSetting, refreshToken, saveSettings } =\n\t\tuseContext( SettingsContext );\n\tconst [ sites, setSites ] = useState( null );\n\n\tuseEffect( () => {\n\t\tif ( settings.token.access_token ) getSites();\n\t}, [ settings.token ] );\n\n\tconst getSites = () => {\n\t\tconst options = [\n\t\t\t{ value: '', label: __( 'Select a site', 'search-console' ) },\n\t\t];\n\n\t\twindow.gapi?.client?.setToken( settings.token );\n\n\t\twindow.gapi?.client?.webmasters?.sites\n\t\t\t.list()\n\t\t\t.then( ( s ) => {\n\t\t\t\ts.result.siteEntry.forEach( ( site ) => {\n\t\t\t\t\toptions.push( {\n\t\t\t\t\t\tvalue: site.siteUrl,\n\t\t\t\t\t\tlabel: site.siteUrl,\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t\toptions.sort( function ( a, b ) {\n\t\t\t\t\tif ( a.value < b.value ) {\n\t\t\t\t\t\treturn -1;\n\t\t\t\t\t}\n\t\t\t\t\treturn 0;\n\t\t\t\t} );\n\t\t\t\tsetSites( options.sort() );\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tif ( 401 === error.status ) {\n\t\t\t\t\trefreshToken();\n\t\t\t\t}\n\t\t\t} );\n\t};\n\n\treturn (\n\t\t<Card>\n\t\t\t<CardHeader>\n\t\t\t\t<b>{ __( 'Options', 'search-console' ) }</b>\n\t\t\t</CardHeader>\n\n\t\t\t<CardBody>\n\t\t\t\t<SelectControl\n\t\t\t\t\toptions={ sites }\n\t\t\t\t\tlabel={ __( 'Choose site', 'search-console' ) }\n\t\t\t\t\thelp={ __( 'Choose one of your sites.', 'search-console' ) }\n\t\t\t\t\tvalue={ settings.site }\n\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\tupdateSetting( 'site', val );\n\t\t\t\t\t\tsaveSettings();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\n\t\t\t\t<PostTypeSelection { ...props } />\n\n\t\t\t\t<Verification { ...props } />\n\t\t\t</CardBody>\n\t\t</Card>\n\t);\n};\n\nexport default SiteSelect;\n","import {\n\tButton,\n\tToggleControl,\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalInputControl as InputControl,\n} from '@wordpress/components';\n\nimport { __ } from '@wordpress/i18n';\n\nimport { Fragment, useContext } from '@wordpress/element';\nimport { SettingsContext } from '../../context/settings-context';\n\nconst Verification = () => {\n\tconst { settings, updateSetting, refreshToken, saveSettings } =\n\t\tuseContext( SettingsContext );\n\n\tconst getMeta = () => {\n\t\tif ( settings.siteVerification && settings.site ) {\n\t\t\twindow.gapi.client.load( 'siteVerification', 'v1' ).then( () => {\n\t\t\t\twindow.gapi.client.siteVerification.webResource\n\t\t\t\t\t.getToken( {\n\t\t\t\t\t\tverificationMethod: 'META',\n\t\t\t\t\t\tsite: {\n\t\t\t\t\t\t\tidentifier: settings.site.replace(\n\t\t\t\t\t\t\t\t'sc-domain:',\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttype: 'SITE',\n\t\t\t\t\t\t},\n\t\t\t\t\t} )\n\t\t\t\t\t.then( ( r ) => {\n\t\t\t\t\t\tupdateSetting( 'meta', r.result.token );\n\t\t\t\t\t\tsaveSettings();\n\t\t\t\t\t} )\n\t\t\t\t\t.catch( ( error ) => {\n\t\t\t\t\t\tif ( 401 === error.status ) {\n\t\t\t\t\t\t\trefreshToken();\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t} );\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"search-console-Advanced\">\n\t\t\t{ settings.site && (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Do you want to add meta tag verification on your site?',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t'Add verification to site?',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Check this if you want output meta verification on frontend.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ settings.siteVerification }\n\t\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\t\tupdateSetting( 'siteVerification', val );\n\t\t\t\t\t\t\tsaveSettings();\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</Fragment>\n\t\t\t) }\n\t\t\t{ settings.siteVerification && (\n\t\t\t\t<InputControl\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Please click on icon to generate your meta verification tag.',\n\t\t\t\t\t\t'search-console'\n\t\t\t\t\t) }\n\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t'Your meta verification tag',\n\t\t\t\t\t\t'search-console'\n\t\t\t\t\t) }\n\t\t\t\t\tvalue={ settings.meta }\n\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\tupdateSetting( 'meta', val );\n\t\t\t\t\t} }\n\t\t\t\t\tsuffix={ <Button onClick={ getMeta } icon={ 'update' } /> }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport default Verification;\n","import { useState, createContext, useEffect } from '@wordpress/element';\nimport apiFetch from '@wordpress/api-fetch';\nimport { dateI18n } from '@wordpress/date';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore, useEntityProp } from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useHistory } from '../router';\n\nexport const SettingsContext = createContext();\n\nfunction SettingsContextProvider( props ) {\n\tconst defaultQuery = {\n\t\tcustomDate: false,\n\t\ttype: 'web',\n\t\tstartDate: dateI18n(\n\t\t\t'Y-m-d',\n\t\t\tnew Date().setDate( new Date().getDate() - 29 )\n\t\t),\n\t\tendDate: dateI18n(\n\t\t\t'Y-m-d',\n\t\t\tnew Date().setDate( new Date().getDate() - 1 )\n\t\t),\n\t\tdimensions: [ 'QUERY' ],\n\t\tfields: 'rows',\n\t\tdimensionFilterGroups: [\n\t\t\t/*{\n\t\t\t\tfilters: [],\n\t\t\t},*/\n\t\t],\n\t};\n\n\tconst [ ready, setReady ] = useState( false );\n\tconst [ query, setQuery ] = useState( defaultQuery );\n\tconst [ email, setEmail ] = useState( false );\n\n\tconst history = useHistory();\n\n\tconst [ settings, setSettings ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'search_console'\n\t);\n\n\tconst { saveEditedEntityRecord } = useDispatch( coreStore );\n\tconst { createNotice } = useDispatch( noticesStore );\n\n\tconst saveSettings = async () => {\n\t\treturn saveEditedEntityRecord( 'root', 'site' )\n\t\t\t.then( () => {\n\t\t\t\tcreateNotice(\n\t\t\t\t\t'info',\n\t\t\t\t\t'🎯 ' + __( 'Settings saved.', 'formello' ),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tcreateNotice( 'error', '⚠️ ' + error.message, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\texplicitDismiss: true,\n\t\t\t\t} );\n\t\t\t} );\n\t};\n\n\tconst showError = ( error ) => {\n\t\tif ( 401 !== error.status ) {\n\t\t\tcreateNotice( 'error', '⚠️ ' + error.result.error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\texplicitDismiss: true,\n\t\t\t} );\n\t\t}\n\t\tif ( 401 === error.status ) {\n\t\t\trefreshToken();\n\t\t}\n\t};\n\n\tconst { isSaving, hasEdits } = useSelect(\n\t\t( select ) => ( {\n\t\t\tisSaving: select( coreStore ).isSavingEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'site'\n\t\t\t),\n\t\t\thasEdits: select( coreStore ).hasEditsForEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'site',\n\t\t\t\tundefined,\n\t\t\t\t'search_console'\n\t\t\t),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst refreshToken = () => {\n\t\tapiFetch( {\n\t\t\tpath: '/searchconsole/v1/refresh',\n\t\t\tmethod: 'POST',\n\t\t} )\n\t\t\t.then( ( result ) => {\n\t\t\t\tsetSettings( {\n\t\t\t\t\t...settings,\n\t\t\t\t\ttoken: result,\n\t\t\t\t} );\n\t\t\t\twindow.gapi.client.setToken( result );\n\t\t\t\tloadSearchConsole();\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log( error );\n\t\t\t\tcreateNotice(\n\t\t\t\t\t'error',\n\t\t\t\t\t'⚠️ ' + error.message.error_description,\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\texplicitDismiss: true,\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: 'Reauthenticate on settings page',\n\t\t\t\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\t\t\tpage: 'search-console-settings',\n\t\t\t\t\t\t\t\t\t} ), // styled as a button link\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\t};\n\n\tconst revokeToken = () => {\n\t\tapiFetch( {\n\t\t\tpath: '/searchconsole/v1/revoke',\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\ttoken: settings.token.refresh_token,\n\t\t\t},\n\t\t} ).then( () => {\n\t\t\tupdateSetting( 'token', {\n\t\t\t\taccess_token: '',\n\t\t\t\texpires_in: 3600,\n\t\t\t\tid_token: '',\n\t\t\t\trefresh_token: '',\n\t\t\t\tscope: '',\n\t\t\t\ttoken_type: '',\n\t\t\t} );\n\t\t\tsetEmail( false );\n\t\t} );\n\t};\n\n\tconst updateSetting = ( key, value ) => {\n\t\tsetSettings( { ...settings, [ key ]: value } );\n\t};\n\n\tconst updateQuery = ( key, value ) => {\n\t\tsetQuery( { ...query, [ key ]: value } );\n\t};\n\n\tuseEffect( () => {\n\t\tconst handleClientLoad = async () =>\n\t\t\tawait window.gapi.load( 'client', loadSearchConsole );\n\n\t\tconst script = document.createElement( 'script' );\n\n\t\tscript.src = 'https://apis.google.com/js/api.js';\n\t\tscript.async = true;\n\t\tscript.defer = true;\n\t\tscript.onload = handleClientLoad;\n\n\t\tdocument.body.appendChild( script );\n\n\t\treturn () => {\n\t\t\tdocument.body.removeChild( script );\n\t\t};\n\t}, [] );\n\n\tconst loadSearchConsole = () => {\n\t\twindow.gapi.client.setToken( window.search_console.token );\n\t\twindow.gapi.client.load( 'searchconsole', 'v1' ).then( () => {\n\t\t\tcheck();\n\t\t} );\n\t};\n\n\tconst check = () => {\n\t\tsetReady( true );\n\t};\n\n\treturn (\n\t\t<SettingsContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tquery,\n\t\t\t\tupdateQuery,\n\t\t\t\tsettings,\n\t\t\t\tupdateSetting,\n\t\t\t\tsetSettings,\n\t\t\t\tsaveSettings,\n\t\t\t\tisSaving,\n\t\t\t\tready,\n\t\t\t\trefreshToken,\n\t\t\t\trevokeToken,\n\t\t\t\temail,\n\t\t\t\thasEdits,\n\t\t\t\tshowError,\n\t\t\t} }\n\t\t>\n\t\t\t{ props.children }\n\t\t</SettingsContext.Provider>\n\t);\n}\n\nexport default SettingsContextProvider;\n","import { createRoot, useEffect } from '@wordpress/element';\nimport { SnackbarList } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\nimport { RouterProvider, useLocation, useHistory } from './router';\nimport { getQueryArg } from '@wordpress/url';\n\nimport './style.scss';\nimport './store';\n\nimport Dashboard from './routes/dashboard';\nimport Settings from './routes/settings';\nimport Header from './components/Header';\nimport Footer from './components/Footer';\nimport SettingsContextProvider from './context/settings-context';\nimport { GoogleOAuthProvider } from '@react-oauth/google';\n\nconst Router = () => {\n\tconst history = useHistory();\n\tconst { params } = useLocation();\n\n\tconst menuRoot = document.querySelector( '#toplevel_page_search-console' );\n\tconst reset = () => {\n\t\tconst page = getQueryArg( window.location.href, 'page' );\n\t\tif ( ! page ) {\n\t\t\treturn;\n\t\t}\n\t\tfor ( const child of menuRoot.querySelectorAll( 'a' ) ) {\n\t\t\tconst target = getQueryArg( child.href, 'page' );\n\t\t\tif ( page === target ) {\n\t\t\t\tchild.classList.add( 'current' );\n\t\t\t\tchild.parentElement.classList.add( 'current' );\n\t\t\t} else {\n\t\t\t\tchild.classList.remove( 'current' );\n\t\t\t\tchild.parentElement.classList.remove( 'current' );\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleChange = ( e ) => {\n\t\te.preventDefault();\n\n\t\thistory.push( {\n\t\t\tpage: getQueryArg( e.target.href, 'page' ),\n\t\t} );\n\t\treset();\n\t};\n\n\tuseEffect( () => {\n\t\treset();\n\t\tmenuRoot.addEventListener( 'click', handleChange, false );\n\n\t\treturn () => {\n\t\t\tmenuRoot.removeEventListener( 'click', handleChange );\n\t\t};\n\t}, [] );\n\n\thistory.listen( () => {\n\t\treset();\n\t} );\n\n\tif ( 'search-console-settings' === params.page ) {\n\t\treturn <Settings />;\n\t}\n\treturn <Dashboard />;\n};\n\nconst App = () => {\n\treturn (\n\t\t<GoogleOAuthProvider>\n\t\t\t<RouterProvider>\n\t\t\t\t<Header title={ 'Search Console' } />\n\t\t\t\t<SettingsContextProvider>\n\t\t\t\t\t<Router />\n\t\t\t\t\t<Notifications />\n\t\t\t\t</SettingsContextProvider>\n\t\t\t\t<Footer />\n\t\t\t</RouterProvider>\n\t\t</GoogleOAuthProvider>\n\t);\n};\n\nfunction Notifications() {\n\tconst notices = useSelect(\n\t\t( select ) => select( noticesStore ).getNotices(),\n\t\t[]\n\t);\n\tconst { removeNotice } = useDispatch( noticesStore );\n\tconst snackbarNotices = notices.filter(\n\t\t( { type } ) => type === 'snackbar'\n\t);\n\n\treturn (\n\t\t<SnackbarList notices={ snackbarNotices } onRemove={ removeNotice } />\n\t);\n}\n\nwindow.addEventListener( 'DOMContentLoaded', () => {\n\tconst domNode = document.getElementById( 'search-console-wrapper' );\n\tconst root = createRoot( domNode );\n\n\troot.render( <App /> );\n} );\n","/**\n * External dependencies\n */\nimport { createBrowserHistory } from 'history';\n\n/**\n * WordPress dependencies\n */\nimport { addQueryArgs, getQueryArgs, removeQueryArgs } from '@wordpress/url';\n\nconst history = createBrowserHistory();\n\nconst originalHistoryPush = history.push;\nconst originalHistoryReplace = history.replace;\n\nfunction push( params, state ) {\n\tconst currentArgs = getQueryArgs( window.location.href );\n\tconst currentUrlWithoutArgs = removeQueryArgs(\n\t\twindow.location.href,\n\t\t...Object.keys( currentArgs )\n\t);\n\tconst newUrl = addQueryArgs( currentUrlWithoutArgs, params );\n\treturn originalHistoryPush.call( history, newUrl, state );\n}\n\nfunction replace( params, state ) {\n\tconst currentArgs = getQueryArgs( window.location.href );\n\tconst currentUrlWithoutArgs = removeQueryArgs(\n\t\twindow.location.href,\n\t\t...Object.keys( currentArgs )\n\t);\n\tconst newUrl = addQueryArgs( currentUrlWithoutArgs, params );\n\treturn originalHistoryReplace.call( history, newUrl, state );\n}\n\nhistory.push = push;\nhistory.replace = replace;\n\nexport default history;\n","/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseState,\n\tuseEffect,\n\tuseContext,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport history from './history';\n\nconst RoutesContext = createContext();\nconst HistoryContext = createContext();\n\nexport function useLocation() {\n\treturn useContext( RoutesContext );\n}\n\nexport function useHistory() {\n\treturn useContext( HistoryContext );\n}\n\nfunction getLocationWithParams( location ) {\n\tconst searchParams = new URLSearchParams( location.search );\n\treturn {\n\t\t...location,\n\t\tparams: Object.fromEntries( searchParams.entries() ),\n\t};\n}\n\nexport function RouterProvider( { children } ) {\n\tconst [ location, setLocation ] = useState( () =>\n\t\tgetLocationWithParams( history.location )\n\t);\n\n\tuseEffect( () => {\n\t\treturn history.listen( ( { location: updatedLocation } ) => {\n\t\t\tsetLocation( getLocationWithParams( updatedLocation ) );\n\t\t} );\n\t}, [] );\n\n\treturn (\n\t\t<HistoryContext.Provider value={ history }>\n\t\t\t<RoutesContext.Provider value={ location }>\n\t\t\t\t{ children }\n\t\t\t</RoutesContext.Provider>\n\t\t</HistoryContext.Provider>\n\t);\n}","import { __ } from '@wordpress/i18n';\nimport {\n\tCard,\n\tCardBody,\n\tNotice,\n\tButton,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useContext, createInterpolateElement } from '@wordpress/element';\nimport LoadingSpinner from '../components/loading-spinner.js';\nimport { MyChart } from '../components/dashboard/chart/index.js';\nimport { Table } from '../components/dashboard/table/index.js';\nimport { Filters } from '../components/dashboard/table/filters.js';\nimport Ads from '../components/ads/index';\nimport { SettingsContext } from '../context/settings-context';\nimport { useHistory } from '../router';\n\nconst Dashboard = () => {\n\tconst history = useHistory();\n\tconst { settings, ready } = useContext( SettingsContext );\n\n\tif ( ! ready || ! settings ) {\n\t\treturn (\n\t\t\t<LoadingSpinner text={ __( 'Fetching data…', 'search-console' ) } />\n\t\t);\n\t}\n\n\tconst noticeString = ( text ) =>\n\t\tcreateInterpolateElement( text, {\n\t\t\ta: (\n\t\t\t\t<Button\n\t\t\t\t\ttext={ __( 'settings page', 'search-console' ) }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\thistory.push( { page: 'search-console-settings' } )\n\t\t\t\t\t}\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t/>\n\t\t\t),\n\t\t} );\n\n\tif ( ! settings.token || ! settings.token.refresh_token ) {\n\t\treturn (\n\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t<p>\n\t\t\t\t\t{ noticeString(\n\t\t\t\t\t\t__( 'Please authenticate on <a />.', 'search-console' )\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</Notice>\n\t\t);\n\t}\n\n\tif (\n\t\t! settings.credentials.client_secret ||\n\t\t! settings.credentials.client_id\n\t) {\n\t\treturn (\n\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t<p>\n\t\t\t\t\t{ noticeString(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Please provide a Client Secret and a Client ID on <a />.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</Notice>\n\t\t);\n\t}\n\n\tif ( ! settings.site ) {\n\t\treturn (\n\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t<p>\n\t\t\t\t\t{ noticeString(\n\t\t\t\t\t\t__( 'Please select a site on <a />.', 'search-console' )\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</Notice>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className={ 'search-console-dashboard' }>\n\t\t\t<VStack>\n\t\t\t\t<Card>\n\t\t\t\t\t<CardBody>\n\t\t\t\t\t\t<MyChart />\n\t\t\t\t\t</CardBody>\n\t\t\t\t</Card>\n\t\t\t\t<Card>\n\t\t\t\t\t<CardBody>\n\t\t\t\t\t\t<Filters />\n\t\t\t\t\t</CardBody>\n\t\t\t\t</Card>\n\t\t\t\t<Ads noSlide={ true } />\n\t\t\t\t<Card>\n\t\t\t\t\t<CardBody>\n\t\t\t\t\t\t<Table />\n\t\t\t\t\t</CardBody>\n\t\t\t\t</Card>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n};\n\nexport default Dashboard;\n","import { __ } from '@wordpress/i18n';\nimport GoogleOAuth from '../components/settings/google-oauth';\nimport Credentials from '../components/settings/credentials';\nimport Help from '../components/settings/help';\nimport SiteSelect from '../components/settings/site-select';\nimport SaveButton from '../components/settings/save-button';\nimport LoadingSpinner from '../components/loading-spinner.js';\nimport { SettingsContext } from '../context/settings-context';\nimport { useContext } from '@wordpress/element';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalGrid as Grid,\n} from '@wordpress/components';\n\nconst Settings = () => {\n\tconst { ready, settings } = useContext( SettingsContext );\n\n\tif ( ! ready || ! settings ) {\n\t\treturn (\n\t\t\t<LoadingSpinner text={ __( 'Fetching data…', 'search-console' ) } />\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className={ 'search-console-settings' }>\n\t\t\t<Grid\n\t\t\t\tcolumns={ 4 }\n\t\t\t\ttemplateColumns=\"3fr 1fr\"\n\t\t\t\tgap=\"4\"\n\t\t\t\talign=\"flex-start\"\n\t\t\t\tclassName=\"popper-settings\"\n\t\t\t>\n\t\t\t\t<VStack>\n\t\t\t\t\t<GoogleOAuth />\n\t\t\t\t\t<SiteSelect />\n\t\t\t\t\t<Credentials />\n\t\t\t\t\t<SaveButton />\n\t\t\t\t</VStack>\n\t\t\t\t<VStack>\n\t\t\t\t\t<Help />\n\t\t\t\t</VStack>\n\t\t\t</Grid>\n\t\t</div>\n\t);\n};\n\nexport default Settings;\n","import apiFetch from '@wordpress/api-fetch';\nimport { createReduxStore, register } from '@wordpress/data';\nimport { dateI18n } from '@wordpress/date';\n\nconst DEFAULT_STATE = {\n\tsettings: false,\n\tsites: [\n\t\t{\n\t\t\tlabel: 'Select a site',\n\t\t\tvalue: '',\n\t\t},\n\t],\n\tcustomDate: false,\n\tdimension: 'query',\n\tsearchType: 'web',\n\tstartDate: dateI18n(\n\t\t'Y-m-d',\n\t\tnew Date().setDate( new Date().getDate() - 29 )\n\t),\n\tendDate: dateI18n(\n\t\t'Y-m-d',\n\t\tnew Date().setDate( new Date().getDate() - 1 )\n\t),\n\tfilters: [],\n};\n\nconst actions = {\n\tsetSites( sites ) {\n\t\treturn {\n\t\t\ttype: 'SET_SITES',\n\t\t\tsites,\n\t\t};\n\t},\n\n\tsetSettings( settings ) {\n\t\treturn {\n\t\t\ttype: 'SET_SETTINGS',\n\t\t\tsettings,\n\t\t};\n\t},\n\n\tsetSetting( setting, value ) {\n\t\treturn {\n\t\t\ttype: 'SET_SETTING',\n\t\t\tsetting,\n\t\t\tvalue,\n\t\t};\n\t},\n\n\tsetSearchType( searchType ) {\n\t\treturn {\n\t\t\ttype: 'SET_SEARCHTYPE',\n\t\t\tsearchType,\n\t\t};\n\t},\n\n\tsetFilter( filter ) {\n\t\treturn {\n\t\t\ttype: 'SET_FILTER',\n\t\t\tfilter,\n\t\t};\n\t},\n\n\tsetDimension( dimension ) {\n\t\treturn {\n\t\t\ttype: 'SET_DIMENSION',\n\t\t\tdimension,\n\t\t};\n\t},\n\n\tsetCustomDate( val ) {\n\t\treturn {\n\t\t\ttype: 'SET_CUSTOMDATE',\n\t\t\tval,\n\t\t};\n\t},\n\n\tsetStartDate( date ) {\n\t\treturn {\n\t\t\ttype: 'SET_STARTDATE',\n\t\t\tdate,\n\t\t};\n\t},\n\n\tsetEndDate( date ) {\n\t\treturn {\n\t\t\ttype: 'SET_ENDDATE',\n\t\t\tdate,\n\t\t};\n\t},\n\n\tremoveFilter( filter ) {\n\t\treturn {\n\t\t\ttype: 'REMOVE_FILTER',\n\t\t\tfilter,\n\t\t};\n\t},\n\n\tfetchFromAPI( path ) {\n\t\treturn {\n\t\t\ttype: 'FETCH_FROM_API',\n\t\t\tpath,\n\t\t};\n\t},\n};\n\nconst store = createReduxStore( 'searchconsole', {\n\treducer( state = DEFAULT_STATE, action ) {\n\t\tswitch ( action.type ) {\n\t\t\tcase 'SET_SETTINGS':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tsettings: action.settings,\n\t\t\t\t};\n\n\t\t\tcase 'SET_SITES':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tsites: action.sites,\n\t\t\t\t};\n\n\t\t\tcase 'SET_SETTING':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tsettings: {\n\t\t\t\t\t\t...state.settings,\n\t\t\t\t\t\t[ action.setting ]: action.value,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\tcase 'SET_SEARCHTYPE':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tsearchType: action.searchType,\n\t\t\t\t};\n\n\t\t\tcase 'SET_DIMENSION':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tdimension: action.dimension,\n\t\t\t\t};\n\n\t\t\tcase 'SET_CUSTOMDATE':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tcustomDate: action.val,\n\t\t\t\t};\n\n\t\t\tcase 'SET_STARTDATE':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tstartDate: action.date,\n\t\t\t\t};\n\n\t\t\tcase 'SET_ENDDATE':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tendDate: action.date,\n\t\t\t\t};\n\n\t\t\tcase 'SET_FILTER':\n\t\t\t\tconst newFilter = {\n\t\t\t\t\tdimension: action.filter.dimension,\n\t\t\t\t\texpression: action.filter.expression,\n\t\t\t\t\toperator: action.filter.operator,\n\t\t\t\t};\n\t\t\t\tconst arr = state.filters.filter( ( f ) => {\n\t\t\t\t\treturn f.dimension !== action.filter.dimension;\n\t\t\t\t} );\n\t\t\t\tarr.push( newFilter );\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tfilters: arr,\n\t\t\t\t};\n\n\t\t\tcase 'REMOVE_FILTER':\n\t\t\t\tconst cleanArr = state.filters.filter( ( f ) => {\n\t\t\t\t\treturn f.dimension !== action.filter.dimension;\n\t\t\t\t} );\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tfilters: cleanArr,\n\t\t\t\t};\n\t\t}\n\n\t\treturn state;\n\t},\n\n\tactions,\n\n\tselectors: {\n\t\tisReady( state ) {\n\t\t\treturn state.settings ?? false;\n\t\t},\n\t\tgetSettings( state ) {\n\t\t\tconst { settings } = state;\n\t\t\treturn settings;\n\t\t},\n\t\tgetSites( state ) {\n\t\t\tconst { sites } = state;\n\t\t\treturn sites;\n\t\t},\n\t\tgetSite( state ) {\n\t\t\tconst { settings } = state;\n\t\t\treturn settings.site;\n\t\t},\n\t\tgetQuery( state ) {\n\t\t\tconst { searchType, filters, dimension, startDate, endDate } =\n\t\t\t\tstate;\n\t\t\treturn {\n\t\t\t\tdimension,\n\t\t\t\tstartDate,\n\t\t\t\tendDate,\n\t\t\t\tsearchType,\n\t\t\t\tfilters,\n\t\t\t};\n\t\t},\n\t\tgetFilterByDimension( state, filter ) {\n\t\t\tif ( ! state.filters.length ) {\n\t\t\t\treturn {\n\t\t\t\t\tdimension: '',\n\t\t\t\t\texpression: '',\n\t\t\t\t\toperator: '',\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst target = state.filters.find( ( f ) => {\n\t\t\t\treturn f.dimension === filter;\n\t\t\t} );\n\t\t\treturn target;\n\t\t},\n\t\tgetSearchType( state ) {\n\t\t\tconst { searchType } = state;\n\t\t\treturn searchType;\n\t\t},\n\t\tgetFilters( state ) {\n\t\t\tconst { filters } = state;\n\t\t\treturn filters;\n\t\t},\n\t\tgetCustomDate( state ) {\n\t\t\tconst { customDate } = state;\n\t\t\treturn customDate;\n\t\t},\n\t},\n\n\tcontrols: {\n\t\tFETCH_FROM_API( action ) {\n\t\t\treturn apiFetch( { path: action.path } );\n\t\t},\n\t},\n\n\tresolvers: {\n\t\t*getSettings() {\n\t\t\tconst path = '/searchconsole/v1/settings/';\n\t\t\tconst settings = yield actions.fetchFromAPI( path );\n\t\t\treturn actions.setSettings( settings );\n\t\t},\n\t},\n} );\n\nregister( store );\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import _extends from '@babel/runtime/helpers/esm/extends';\n\n/**\r\n * Actions represent the type of change to a location value.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#action\r\n */\nvar Action;\n\n(function (Action) {\n  /**\r\n   * A POP indicates a change to an arbitrary index in the history stack, such\r\n   * as a back or forward navigation. It does not describe the direction of the\r\n   * navigation, only that the current index changed.\r\n   *\r\n   * Note: This is the default action for newly created history objects.\r\n   */\n  Action[\"Pop\"] = \"POP\";\n  /**\r\n   * A PUSH indicates a new entry being added to the history stack, such as when\r\n   * a link is clicked and a new page loads. When this happens, all subsequent\r\n   * entries in the stack are lost.\r\n   */\n\n  Action[\"Push\"] = \"PUSH\";\n  /**\r\n   * A REPLACE indicates the entry at the current index in the history stack\r\n   * being replaced by a new one.\r\n   */\n\n  Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\n\nvar readOnly = process.env.NODE_ENV !== \"production\" ? function (obj) {\n  return Object.freeze(obj);\n} : function (obj) {\n  return obj;\n};\n\nfunction warning(cond, message) {\n  if (!cond) {\n    // eslint-disable-next-line no-console\n    if (typeof console !== 'undefined') console.warn(message);\n\n    try {\n      // Welcome to debugging history!\n      //\n      // This error is thrown as a convenience so you can more easily\n      // find the source for a warning that appears in the console by\n      // enabling \"pause on exceptions\" in your JavaScript debugger.\n      throw new Error(message); // eslint-disable-next-line no-empty\n    } catch (e) {}\n  }\n}\n\nvar BeforeUnloadEventType = 'beforeunload';\nvar HashChangeEventType = 'hashchange';\nvar PopStateEventType = 'popstate';\n/**\r\n * Browser history stores the location in regular URLs. This is the standard for\r\n * most web apps, but it requires some configuration on the server to ensure you\r\n * serve the same app at multiple URLs.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\r\n */\n\nfunction createBrowserHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      _options$window = _options.window,\n      window = _options$window === void 0 ? document.defaultView : _options$window;\n  var globalHistory = window.history;\n\n  function getIndexAndLocation() {\n    var _window$location = window.location,\n        pathname = _window$location.pathname,\n        search = _window$location.search,\n        hash = _window$location.hash;\n    var state = globalHistory.state || {};\n    return [state.idx, readOnly({\n      pathname: pathname,\n      search: search,\n      hash: hash,\n      state: state.usr || null,\n      key: state.key || 'default'\n    })];\n  }\n\n  var blockedPopTx = null;\n\n  function handlePop() {\n    if (blockedPopTx) {\n      blockers.call(blockedPopTx);\n      blockedPopTx = null;\n    } else {\n      var nextAction = Action.Pop;\n\n      var _getIndexAndLocation = getIndexAndLocation(),\n          nextIndex = _getIndexAndLocation[0],\n          nextLocation = _getIndexAndLocation[1];\n\n      if (blockers.length) {\n        if (nextIndex != null) {\n          var delta = index - nextIndex;\n\n          if (delta) {\n            // Revert the POP\n            blockedPopTx = {\n              action: nextAction,\n              location: nextLocation,\n              retry: function retry() {\n                go(delta * -1);\n              }\n            };\n            go(delta);\n          }\n        } else {\n          // Trying to POP to a location with no index. We did not create\n          // this location, so we can't effectively block the navigation.\n          process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n          // detail and link to it here so people can understand better what\n          // is going on and how to avoid it.\n          \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n        }\n      } else {\n        applyTx(nextAction);\n      }\n    }\n  }\n\n  window.addEventListener(PopStateEventType, handlePop);\n  var action = Action.Pop;\n\n  var _getIndexAndLocation2 = getIndexAndLocation(),\n      index = _getIndexAndLocation2[0],\n      location = _getIndexAndLocation2[1];\n\n  var listeners = createEvents();\n  var blockers = createEvents();\n\n  if (index == null) {\n    index = 0;\n    globalHistory.replaceState(_extends({}, globalHistory.state, {\n      idx: index\n    }), '');\n  }\n\n  function createHref(to) {\n    return typeof to === 'string' ? to : createPath(to);\n  } // state defaults to `null` because `window.history.state` does\n\n\n  function getNextLocation(to, state) {\n    if (state === void 0) {\n      state = null;\n    }\n\n    return readOnly(_extends({\n      pathname: location.pathname,\n      hash: '',\n      search: ''\n    }, typeof to === 'string' ? parsePath(to) : to, {\n      state: state,\n      key: createKey()\n    }));\n  }\n\n  function getHistoryStateAndUrl(nextLocation, index) {\n    return [{\n      usr: nextLocation.state,\n      key: nextLocation.key,\n      idx: index\n    }, createHref(nextLocation)];\n  }\n\n  function allowTx(action, location, retry) {\n    return !blockers.length || (blockers.call({\n      action: action,\n      location: location,\n      retry: retry\n    }), false);\n  }\n\n  function applyTx(nextAction) {\n    action = nextAction;\n\n    var _getIndexAndLocation3 = getIndexAndLocation();\n\n    index = _getIndexAndLocation3[0];\n    location = _getIndexAndLocation3[1];\n    listeners.call({\n      action: action,\n      location: location\n    });\n  }\n\n  function push(to, state) {\n    var nextAction = Action.Push;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      push(to, state);\n    }\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr = getHistoryStateAndUrl(nextLocation, index + 1),\n          historyState = _getHistoryStateAndUr[0],\n          url = _getHistoryStateAndUr[1]; // TODO: Support forced reloading\n      // try...catch because iOS limits us to 100 pushState calls :/\n\n\n      try {\n        globalHistory.pushState(historyState, '', url);\n      } catch (error) {\n        // They are going to lose state here, but there is no real\n        // way to warn them about it since the page will refresh...\n        window.location.assign(url);\n      }\n\n      applyTx(nextAction);\n    }\n  }\n\n  function replace(to, state) {\n    var nextAction = Action.Replace;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      replace(to, state);\n    }\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr2 = getHistoryStateAndUrl(nextLocation, index),\n          historyState = _getHistoryStateAndUr2[0],\n          url = _getHistoryStateAndUr2[1]; // TODO: Support forced reloading\n\n\n      globalHistory.replaceState(historyState, '', url);\n      applyTx(nextAction);\n    }\n  }\n\n  function go(delta) {\n    globalHistory.go(delta);\n  }\n\n  var history = {\n    get action() {\n      return action;\n    },\n\n    get location() {\n      return location;\n    },\n\n    createHref: createHref,\n    push: push,\n    replace: replace,\n    go: go,\n    back: function back() {\n      go(-1);\n    },\n    forward: function forward() {\n      go(1);\n    },\n    listen: function listen(listener) {\n      return listeners.push(listener);\n    },\n    block: function block(blocker) {\n      var unblock = blockers.push(blocker);\n\n      if (blockers.length === 1) {\n        window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n      }\n\n      return function () {\n        unblock(); // Remove the beforeunload listener so the document may\n        // still be salvageable in the pagehide event.\n        // See https://html.spec.whatwg.org/#unloading-documents\n\n        if (!blockers.length) {\n          window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n        }\n      };\n    }\n  };\n  return history;\n}\n/**\r\n * Hash history stores the location in window.location.hash. This makes it ideal\r\n * for situations where you don't want to send the location to the server for\r\n * some reason, either because you do cannot configure it or the URL space is\r\n * reserved for something else.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\r\n */\n\nfunction createHashHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options2 = options,\n      _options2$window = _options2.window,\n      window = _options2$window === void 0 ? document.defaultView : _options2$window;\n  var globalHistory = window.history;\n\n  function getIndexAndLocation() {\n    var _parsePath = parsePath(window.location.hash.substr(1)),\n        _parsePath$pathname = _parsePath.pathname,\n        pathname = _parsePath$pathname === void 0 ? '/' : _parsePath$pathname,\n        _parsePath$search = _parsePath.search,\n        search = _parsePath$search === void 0 ? '' : _parsePath$search,\n        _parsePath$hash = _parsePath.hash,\n        hash = _parsePath$hash === void 0 ? '' : _parsePath$hash;\n\n    var state = globalHistory.state || {};\n    return [state.idx, readOnly({\n      pathname: pathname,\n      search: search,\n      hash: hash,\n      state: state.usr || null,\n      key: state.key || 'default'\n    })];\n  }\n\n  var blockedPopTx = null;\n\n  function handlePop() {\n    if (blockedPopTx) {\n      blockers.call(blockedPopTx);\n      blockedPopTx = null;\n    } else {\n      var nextAction = Action.Pop;\n\n      var _getIndexAndLocation4 = getIndexAndLocation(),\n          nextIndex = _getIndexAndLocation4[0],\n          nextLocation = _getIndexAndLocation4[1];\n\n      if (blockers.length) {\n        if (nextIndex != null) {\n          var delta = index - nextIndex;\n\n          if (delta) {\n            // Revert the POP\n            blockedPopTx = {\n              action: nextAction,\n              location: nextLocation,\n              retry: function retry() {\n                go(delta * -1);\n              }\n            };\n            go(delta);\n          }\n        } else {\n          // Trying to POP to a location with no index. We did not create\n          // this location, so we can't effectively block the navigation.\n          process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n          // detail and link to it here so people can understand better\n          // what is going on and how to avoid it.\n          \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n        }\n      } else {\n        applyTx(nextAction);\n      }\n    }\n  }\n\n  window.addEventListener(PopStateEventType, handlePop); // popstate does not fire on hashchange in IE 11 and old (trident) Edge\n  // https://developer.mozilla.org/de/docs/Web/API/Window/popstate_event\n\n  window.addEventListener(HashChangeEventType, function () {\n    var _getIndexAndLocation5 = getIndexAndLocation(),\n        nextLocation = _getIndexAndLocation5[1]; // Ignore extraneous hashchange events.\n\n\n    if (createPath(nextLocation) !== createPath(location)) {\n      handlePop();\n    }\n  });\n  var action = Action.Pop;\n\n  var _getIndexAndLocation6 = getIndexAndLocation(),\n      index = _getIndexAndLocation6[0],\n      location = _getIndexAndLocation6[1];\n\n  var listeners = createEvents();\n  var blockers = createEvents();\n\n  if (index == null) {\n    index = 0;\n    globalHistory.replaceState(_extends({}, globalHistory.state, {\n      idx: index\n    }), '');\n  }\n\n  function getBaseHref() {\n    var base = document.querySelector('base');\n    var href = '';\n\n    if (base && base.getAttribute('href')) {\n      var url = window.location.href;\n      var hashIndex = url.indexOf('#');\n      href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n    }\n\n    return href;\n  }\n\n  function createHref(to) {\n    return getBaseHref() + '#' + (typeof to === 'string' ? to : createPath(to));\n  }\n\n  function getNextLocation(to, state) {\n    if (state === void 0) {\n      state = null;\n    }\n\n    return readOnly(_extends({\n      pathname: location.pathname,\n      hash: '',\n      search: ''\n    }, typeof to === 'string' ? parsePath(to) : to, {\n      state: state,\n      key: createKey()\n    }));\n  }\n\n  function getHistoryStateAndUrl(nextLocation, index) {\n    return [{\n      usr: nextLocation.state,\n      key: nextLocation.key,\n      idx: index\n    }, createHref(nextLocation)];\n  }\n\n  function allowTx(action, location, retry) {\n    return !blockers.length || (blockers.call({\n      action: action,\n      location: location,\n      retry: retry\n    }), false);\n  }\n\n  function applyTx(nextAction) {\n    action = nextAction;\n\n    var _getIndexAndLocation7 = getIndexAndLocation();\n\n    index = _getIndexAndLocation7[0];\n    location = _getIndexAndLocation7[1];\n    listeners.call({\n      action: action,\n      location: location\n    });\n  }\n\n  function push(to, state) {\n    var nextAction = Action.Push;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      push(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr3 = getHistoryStateAndUrl(nextLocation, index + 1),\n          historyState = _getHistoryStateAndUr3[0],\n          url = _getHistoryStateAndUr3[1]; // TODO: Support forced reloading\n      // try...catch because iOS limits us to 100 pushState calls :/\n\n\n      try {\n        globalHistory.pushState(historyState, '', url);\n      } catch (error) {\n        // They are going to lose state here, but there is no real\n        // way to warn them about it since the page will refresh...\n        window.location.assign(url);\n      }\n\n      applyTx(nextAction);\n    }\n  }\n\n  function replace(to, state) {\n    var nextAction = Action.Replace;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      replace(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr4 = getHistoryStateAndUrl(nextLocation, index),\n          historyState = _getHistoryStateAndUr4[0],\n          url = _getHistoryStateAndUr4[1]; // TODO: Support forced reloading\n\n\n      globalHistory.replaceState(historyState, '', url);\n      applyTx(nextAction);\n    }\n  }\n\n  function go(delta) {\n    globalHistory.go(delta);\n  }\n\n  var history = {\n    get action() {\n      return action;\n    },\n\n    get location() {\n      return location;\n    },\n\n    createHref: createHref,\n    push: push,\n    replace: replace,\n    go: go,\n    back: function back() {\n      go(-1);\n    },\n    forward: function forward() {\n      go(1);\n    },\n    listen: function listen(listener) {\n      return listeners.push(listener);\n    },\n    block: function block(blocker) {\n      var unblock = blockers.push(blocker);\n\n      if (blockers.length === 1) {\n        window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n      }\n\n      return function () {\n        unblock(); // Remove the beforeunload listener so the document may\n        // still be salvageable in the pagehide event.\n        // See https://html.spec.whatwg.org/#unloading-documents\n\n        if (!blockers.length) {\n          window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n        }\n      };\n    }\n  };\n  return history;\n}\n/**\r\n * Memory history stores the current location in memory. It is designed for use\r\n * in stateful non-browser environments like tests and React Native.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#creatememoryhistory\r\n */\n\nfunction createMemoryHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options3 = options,\n      _options3$initialEntr = _options3.initialEntries,\n      initialEntries = _options3$initialEntr === void 0 ? ['/'] : _options3$initialEntr,\n      initialIndex = _options3.initialIndex;\n  var entries = initialEntries.map(function (entry) {\n    var location = readOnly(_extends({\n      pathname: '/',\n      search: '',\n      hash: '',\n      state: null,\n      key: createKey()\n    }, typeof entry === 'string' ? parsePath(entry) : entry));\n    process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: \" + JSON.stringify(entry) + \")\") : void 0;\n    return location;\n  });\n  var index = clamp(initialIndex == null ? entries.length - 1 : initialIndex, 0, entries.length - 1);\n  var action = Action.Pop;\n  var location = entries[index];\n  var listeners = createEvents();\n  var blockers = createEvents();\n\n  function createHref(to) {\n    return typeof to === 'string' ? to : createPath(to);\n  }\n\n  function getNextLocation(to, state) {\n    if (state === void 0) {\n      state = null;\n    }\n\n    return readOnly(_extends({\n      pathname: location.pathname,\n      search: '',\n      hash: ''\n    }, typeof to === 'string' ? parsePath(to) : to, {\n      state: state,\n      key: createKey()\n    }));\n  }\n\n  function allowTx(action, location, retry) {\n    return !blockers.length || (blockers.call({\n      action: action,\n      location: location,\n      retry: retry\n    }), false);\n  }\n\n  function applyTx(nextAction, nextLocation) {\n    action = nextAction;\n    location = nextLocation;\n    listeners.call({\n      action: action,\n      location: location\n    });\n  }\n\n  function push(to, state) {\n    var nextAction = Action.Push;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      push(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      index += 1;\n      entries.splice(index, entries.length, nextLocation);\n      applyTx(nextAction, nextLocation);\n    }\n  }\n\n  function replace(to, state) {\n    var nextAction = Action.Replace;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      replace(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      entries[index] = nextLocation;\n      applyTx(nextAction, nextLocation);\n    }\n  }\n\n  function go(delta) {\n    var nextIndex = clamp(index + delta, 0, entries.length - 1);\n    var nextAction = Action.Pop;\n    var nextLocation = entries[nextIndex];\n\n    function retry() {\n      go(delta);\n    }\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      index = nextIndex;\n      applyTx(nextAction, nextLocation);\n    }\n  }\n\n  var history = {\n    get index() {\n      return index;\n    },\n\n    get action() {\n      return action;\n    },\n\n    get location() {\n      return location;\n    },\n\n    createHref: createHref,\n    push: push,\n    replace: replace,\n    go: go,\n    back: function back() {\n      go(-1);\n    },\n    forward: function forward() {\n      go(1);\n    },\n    listen: function listen(listener) {\n      return listeners.push(listener);\n    },\n    block: function block(blocker) {\n      return blockers.push(blocker);\n    }\n  };\n  return history;\n} ////////////////////////////////////////////////////////////////////////////////\n// UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction clamp(n, lowerBound, upperBound) {\n  return Math.min(Math.max(n, lowerBound), upperBound);\n}\n\nfunction promptBeforeUnload(event) {\n  // Cancel the event.\n  event.preventDefault(); // Chrome (and legacy IE) requires returnValue to be set.\n\n  event.returnValue = '';\n}\n\nfunction createEvents() {\n  var handlers = [];\n  return {\n    get length() {\n      return handlers.length;\n    },\n\n    push: function push(fn) {\n      handlers.push(fn);\n      return function () {\n        handlers = handlers.filter(function (handler) {\n          return handler !== fn;\n        });\n      };\n    },\n    call: function call(arg) {\n      handlers.forEach(function (fn) {\n        return fn && fn(arg);\n      });\n    }\n  };\n}\n\nfunction createKey() {\n  return Math.random().toString(36).substr(2, 8);\n}\n/**\r\n * Creates a string URL path from the given pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createpath\r\n */\n\n\nfunction createPath(_ref) {\n  var _ref$pathname = _ref.pathname,\n      pathname = _ref$pathname === void 0 ? '/' : _ref$pathname,\n      _ref$search = _ref.search,\n      search = _ref$search === void 0 ? '' : _ref$search,\n      _ref$hash = _ref.hash,\n      hash = _ref$hash === void 0 ? '' : _ref$hash;\n  if (search && search !== '?') pathname += search.charAt(0) === '?' ? search : '?' + search;\n  if (hash && hash !== '#') pathname += hash.charAt(0) === '#' ? hash : '#' + hash;\n  return pathname;\n}\n/**\r\n * Parses a string URL path into its separate pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#parsepath\r\n */\n\nfunction parsePath(path) {\n  var parsedPath = {};\n\n  if (path) {\n    var hashIndex = path.indexOf('#');\n\n    if (hashIndex >= 0) {\n      parsedPath.hash = path.substr(hashIndex);\n      path = path.substr(0, hashIndex);\n    }\n\n    var searchIndex = path.indexOf('?');\n\n    if (searchIndex >= 0) {\n      parsedPath.search = path.substr(searchIndex);\n      path = path.substr(0, searchIndex);\n    }\n\n    if (path) {\n      parsedPath.pathname = path;\n    }\n  }\n\n  return parsedPath;\n}\n\nexport { Action, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, parsePath };\n//# sourceMappingURL=index.js.map\n","// extracted by mini-css-extract-plugin\nexport {};","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n  if (maybeIterable === null || typeof maybeIterable !== 'object') {\n    return null;\n  }\n\n  var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n  if (typeof maybeIterator === 'function') {\n    return maybeIterator;\n  }\n\n  return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n  {\n    {\n      for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n        args[_key2 - 1] = arguments[_key2];\n      }\n\n      printWarning('error', format, args);\n    }\n  }\n}\n\nfunction printWarning(level, format, args) {\n  // When changing this logic, you might want to also\n  // update consoleWithStackDev.www.js as well.\n  {\n    var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n    var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n    if (stack !== '') {\n      format += '%s';\n      args = args.concat([stack]);\n    } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n    var argsWithFormat = args.map(function (item) {\n      return String(item);\n    }); // Careful: RN currently depends on this prefix\n\n    argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n    // breaks IE9: https://github.com/facebook/react/issues/13610\n    // eslint-disable-next-line react-internal/no-production-logging\n\n    Function.prototype.apply.call(console[level], console, argsWithFormat);\n  }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n  REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n  if (typeof type === 'string' || typeof type === 'function') {\n    return true;\n  } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n  if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing  || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden  || type === REACT_OFFSCREEN_TYPE || enableScopeAPI  || enableCacheElement  || enableTransitionTracing ) {\n    return true;\n  }\n\n  if (typeof type === 'object' && type !== null) {\n    if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n    // types supported by any Flight configuration anywhere since\n    // we don't know which Flight build this will end up being used\n    // with.\n    type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n  var displayName = outerType.displayName;\n\n  if (displayName) {\n    return displayName;\n  }\n\n  var functionName = innerType.displayName || innerType.name || '';\n  return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n  return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n  if (type == null) {\n    // Host root, text node or just invalid type.\n    return null;\n  }\n\n  {\n    if (typeof type.tag === 'number') {\n      error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n    }\n  }\n\n  if (typeof type === 'function') {\n    return type.displayName || type.name || null;\n  }\n\n  if (typeof type === 'string') {\n    return type;\n  }\n\n  switch (type) {\n    case REACT_FRAGMENT_TYPE:\n      return 'Fragment';\n\n    case REACT_PORTAL_TYPE:\n      return 'Portal';\n\n    case REACT_PROFILER_TYPE:\n      return 'Profiler';\n\n    case REACT_STRICT_MODE_TYPE:\n      return 'StrictMode';\n\n    case REACT_SUSPENSE_TYPE:\n      return 'Suspense';\n\n    case REACT_SUSPENSE_LIST_TYPE:\n      return 'SuspenseList';\n\n  }\n\n  if (typeof type === 'object') {\n    switch (type.$$typeof) {\n      case REACT_CONTEXT_TYPE:\n        var context = type;\n        return getContextName(context) + '.Consumer';\n\n      case REACT_PROVIDER_TYPE:\n        var provider = type;\n        return getContextName(provider._context) + '.Provider';\n\n      case REACT_FORWARD_REF_TYPE:\n        return getWrappedName(type, type.render, 'ForwardRef');\n\n      case REACT_MEMO_TYPE:\n        var outerName = type.displayName || null;\n\n        if (outerName !== null) {\n          return outerName;\n        }\n\n        return getComponentNameFromType(type.type) || 'Memo';\n\n      case REACT_LAZY_TYPE:\n        {\n          var lazyComponent = type;\n          var payload = lazyComponent._payload;\n          var init = lazyComponent._init;\n\n          try {\n            return getComponentNameFromType(init(payload));\n          } catch (x) {\n            return null;\n          }\n        }\n\n      // eslint-disable-next-line no-fallthrough\n    }\n  }\n\n  return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n  {\n    if (disabledDepth === 0) {\n      /* eslint-disable react-internal/no-production-logging */\n      prevLog = console.log;\n      prevInfo = console.info;\n      prevWarn = console.warn;\n      prevError = console.error;\n      prevGroup = console.group;\n      prevGroupCollapsed = console.groupCollapsed;\n      prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n      var props = {\n        configurable: true,\n        enumerable: true,\n        value: disabledLog,\n        writable: true\n      }; // $FlowFixMe Flow thinks console is immutable.\n\n      Object.defineProperties(console, {\n        info: props,\n        log: props,\n        warn: props,\n        error: props,\n        group: props,\n        groupCollapsed: props,\n        groupEnd: props\n      });\n      /* eslint-enable react-internal/no-production-logging */\n    }\n\n    disabledDepth++;\n  }\n}\nfunction reenableLogs() {\n  {\n    disabledDepth--;\n\n    if (disabledDepth === 0) {\n      /* eslint-disable react-internal/no-production-logging */\n      var props = {\n        configurable: true,\n        enumerable: true,\n        writable: true\n      }; // $FlowFixMe Flow thinks console is immutable.\n\n      Object.defineProperties(console, {\n        log: assign({}, props, {\n          value: prevLog\n        }),\n        info: assign({}, props, {\n          value: prevInfo\n        }),\n        warn: assign({}, props, {\n          value: prevWarn\n        }),\n        error: assign({}, props, {\n          value: prevError\n        }),\n        group: assign({}, props, {\n          value: prevGroup\n        }),\n        groupCollapsed: assign({}, props, {\n          value: prevGroupCollapsed\n        }),\n        groupEnd: assign({}, props, {\n          value: prevGroupEnd\n        })\n      });\n      /* eslint-enable react-internal/no-production-logging */\n    }\n\n    if (disabledDepth < 0) {\n      error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n    }\n  }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n  {\n    if (prefix === undefined) {\n      // Extract the VM specific prefix used by each line.\n      try {\n        throw Error();\n      } catch (x) {\n        var match = x.stack.trim().match(/\\n( *(at )?)/);\n        prefix = match && match[1] || '';\n      }\n    } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n    return '\\n' + prefix + name;\n  }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n  var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n  componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n  // If something asked for a stack inside a fake render, it should get ignored.\n  if ( !fn || reentry) {\n    return '';\n  }\n\n  {\n    var frame = componentFrameCache.get(fn);\n\n    if (frame !== undefined) {\n      return frame;\n    }\n  }\n\n  var control;\n  reentry = true;\n  var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n  Error.prepareStackTrace = undefined;\n  var previousDispatcher;\n\n  {\n    previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n    // for warnings.\n\n    ReactCurrentDispatcher.current = null;\n    disableLogs();\n  }\n\n  try {\n    // This should throw.\n    if (construct) {\n      // Something should be setting the props in the constructor.\n      var Fake = function () {\n        throw Error();\n      }; // $FlowFixMe\n\n\n      Object.defineProperty(Fake.prototype, 'props', {\n        set: function () {\n          // We use a throwing setter instead of frozen or non-writable props\n          // because that won't throw in a non-strict mode function.\n          throw Error();\n        }\n      });\n\n      if (typeof Reflect === 'object' && Reflect.construct) {\n        // We construct a different control for this case to include any extra\n        // frames added by the construct call.\n        try {\n          Reflect.construct(Fake, []);\n        } catch (x) {\n          control = x;\n        }\n\n        Reflect.construct(fn, [], Fake);\n      } else {\n        try {\n          Fake.call();\n        } catch (x) {\n          control = x;\n        }\n\n        fn.call(Fake.prototype);\n      }\n    } else {\n      try {\n        throw Error();\n      } catch (x) {\n        control = x;\n      }\n\n      fn();\n    }\n  } catch (sample) {\n    // This is inlined manually because closure doesn't do it for us.\n    if (sample && control && typeof sample.stack === 'string') {\n      // This extracts the first frame from the sample that isn't also in the control.\n      // Skipping one frame that we assume is the frame that calls the two.\n      var sampleLines = sample.stack.split('\\n');\n      var controlLines = control.stack.split('\\n');\n      var s = sampleLines.length - 1;\n      var c = controlLines.length - 1;\n\n      while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n        // We expect at least one stack frame to be shared.\n        // Typically this will be the root most one. However, stack frames may be\n        // cut off due to maximum stack limits. In this case, one maybe cut off\n        // earlier than the other. We assume that the sample is longer or the same\n        // and there for cut off earlier. So we should find the root most frame in\n        // the sample somewhere in the control.\n        c--;\n      }\n\n      for (; s >= 1 && c >= 0; s--, c--) {\n        // Next we find the first one that isn't the same which should be the\n        // frame that called our sample function and the control.\n        if (sampleLines[s] !== controlLines[c]) {\n          // In V8, the first line is describing the message but other VMs don't.\n          // If we're about to return the first line, and the control is also on the same\n          // line, that's a pretty good indicator that our sample threw at same line as\n          // the control. I.e. before we entered the sample frame. So we ignore this result.\n          // This can happen if you passed a class to function component, or non-function.\n          if (s !== 1 || c !== 1) {\n            do {\n              s--;\n              c--; // We may still have similar intermediate frames from the construct call.\n              // The next one that isn't the same should be our match though.\n\n              if (c < 0 || sampleLines[s] !== controlLines[c]) {\n                // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n                var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n                // but we have a user-provided \"displayName\"\n                // splice it in to make the stack more readable.\n\n\n                if (fn.displayName && _frame.includes('<anonymous>')) {\n                  _frame = _frame.replace('<anonymous>', fn.displayName);\n                }\n\n                {\n                  if (typeof fn === 'function') {\n                    componentFrameCache.set(fn, _frame);\n                  }\n                } // Return the line we found.\n\n\n                return _frame;\n              }\n            } while (s >= 1 && c >= 0);\n          }\n\n          break;\n        }\n      }\n    }\n  } finally {\n    reentry = false;\n\n    {\n      ReactCurrentDispatcher.current = previousDispatcher;\n      reenableLogs();\n    }\n\n    Error.prepareStackTrace = previousPrepareStackTrace;\n  } // Fallback to just using the name if we couldn't make it throw.\n\n\n  var name = fn ? fn.displayName || fn.name : '';\n  var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n  {\n    if (typeof fn === 'function') {\n      componentFrameCache.set(fn, syntheticFrame);\n    }\n  }\n\n  return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n  {\n    return describeNativeComponentFrame(fn, false);\n  }\n}\n\nfunction shouldConstruct(Component) {\n  var prototype = Component.prototype;\n  return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n  if (type == null) {\n    return '';\n  }\n\n  if (typeof type === 'function') {\n    {\n      return describeNativeComponentFrame(type, shouldConstruct(type));\n    }\n  }\n\n  if (typeof type === 'string') {\n    return describeBuiltInComponentFrame(type);\n  }\n\n  switch (type) {\n    case REACT_SUSPENSE_TYPE:\n      return describeBuiltInComponentFrame('Suspense');\n\n    case REACT_SUSPENSE_LIST_TYPE:\n      return describeBuiltInComponentFrame('SuspenseList');\n  }\n\n  if (typeof type === 'object') {\n    switch (type.$$typeof) {\n      case REACT_FORWARD_REF_TYPE:\n        return describeFunctionComponentFrame(type.render);\n\n      case REACT_MEMO_TYPE:\n        // Memo may contain any component type so we recursively resolve it.\n        return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n      case REACT_LAZY_TYPE:\n        {\n          var lazyComponent = type;\n          var payload = lazyComponent._payload;\n          var init = lazyComponent._init;\n\n          try {\n            // Lazy may contain any component type so we recursively resolve it.\n            return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n          } catch (x) {}\n        }\n    }\n  }\n\n  return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n  {\n    if (element) {\n      var owner = element._owner;\n      var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n      ReactDebugCurrentFrame.setExtraStackFrame(stack);\n    } else {\n      ReactDebugCurrentFrame.setExtraStackFrame(null);\n    }\n  }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n  {\n    // $FlowFixMe This is okay but Flow doesn't know it.\n    var has = Function.call.bind(hasOwnProperty);\n\n    for (var typeSpecName in typeSpecs) {\n      if (has(typeSpecs, typeSpecName)) {\n        var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n        // fail the render phase where it didn't fail before. So we log it.\n        // After these have been cleaned up, we'll let them throw.\n\n        try {\n          // This is intentionally an invariant that gets caught. It's the same\n          // behavior as without this statement except with a better message.\n          if (typeof typeSpecs[typeSpecName] !== 'function') {\n            // eslint-disable-next-line react-internal/prod-error-codes\n            var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n            err.name = 'Invariant Violation';\n            throw err;\n          }\n\n          error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n        } catch (ex) {\n          error$1 = ex;\n        }\n\n        if (error$1 && !(error$1 instanceof Error)) {\n          setCurrentlyValidatingElement(element);\n\n          error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n          setCurrentlyValidatingElement(null);\n        }\n\n        if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n          // Only monitor this failure once because there tends to be a lot of the\n          // same error.\n          loggedTypeFailures[error$1.message] = true;\n          setCurrentlyValidatingElement(element);\n\n          error('Failed %s type: %s', location, error$1.message);\n\n          setCurrentlyValidatingElement(null);\n        }\n      }\n    }\n  }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n  return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n  {\n    // toStringTag is needed for namespaced types like Temporal.Instant\n    var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n    var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n    return type;\n  }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n  {\n    try {\n      testStringCoercion(value);\n      return false;\n    } catch (e) {\n      return true;\n    }\n  }\n}\n\nfunction testStringCoercion(value) {\n  // If you ended up here by following an exception call stack, here's what's\n  // happened: you supplied an object or symbol value to React (as a prop, key,\n  // DOM attribute, CSS property, string ref, etc.) and when React tried to\n  // coerce it to a string using `'' + value`, an exception was thrown.\n  //\n  // The most common types that will cause this exception are `Symbol` instances\n  // and Temporal objects like `Temporal.Instant`. But any object that has a\n  // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n  // exception. (Library authors do this to prevent users from using built-in\n  // numeric operators like `+` or comparison operators like `>=` because custom\n  // methods are needed to perform accurate arithmetic or comparison.)\n  //\n  // To fix the problem, coerce this object or symbol value to a string before\n  // passing it to React. The most reliable way is usually `String(value)`.\n  //\n  // To find which value is throwing, check the browser or debugger console.\n  // Before this exception was thrown, there should be `console.error` output\n  // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n  // problem and how that type was used: key, atrribute, input value prop, etc.\n  // In most cases, this console output also shows the component and its\n  // ancestor components where the exception happened.\n  //\n  // eslint-disable-next-line react-internal/safe-string-coercion\n  return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n  {\n    if (willCoercionThrow(value)) {\n      error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n      return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n    }\n  }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n  key: true,\n  ref: true,\n  __self: true,\n  __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n  didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n  {\n    if (hasOwnProperty.call(config, 'ref')) {\n      var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n      if (getter && getter.isReactWarning) {\n        return false;\n      }\n    }\n  }\n\n  return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n  {\n    if (hasOwnProperty.call(config, 'key')) {\n      var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n      if (getter && getter.isReactWarning) {\n        return false;\n      }\n    }\n  }\n\n  return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n  {\n    if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n      var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n      if (!didWarnAboutStringRefs[componentName]) {\n        error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n        didWarnAboutStringRefs[componentName] = true;\n      }\n    }\n  }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n  {\n    var warnAboutAccessingKey = function () {\n      if (!specialPropKeyWarningShown) {\n        specialPropKeyWarningShown = true;\n\n        error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n      }\n    };\n\n    warnAboutAccessingKey.isReactWarning = true;\n    Object.defineProperty(props, 'key', {\n      get: warnAboutAccessingKey,\n      configurable: true\n    });\n  }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n  {\n    var warnAboutAccessingRef = function () {\n      if (!specialPropRefWarningShown) {\n        specialPropRefWarningShown = true;\n\n        error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n      }\n    };\n\n    warnAboutAccessingRef.isReactWarning = true;\n    Object.defineProperty(props, 'ref', {\n      get: warnAboutAccessingRef,\n      configurable: true\n    });\n  }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n  var element = {\n    // This tag allows us to uniquely identify this as a React Element\n    $$typeof: REACT_ELEMENT_TYPE,\n    // Built-in properties that belong on the element\n    type: type,\n    key: key,\n    ref: ref,\n    props: props,\n    // Record the component responsible for creating this element.\n    _owner: owner\n  };\n\n  {\n    // The validation flag is currently mutative. We put it on\n    // an external backing store so that we can freeze the whole object.\n    // This can be replaced with a WeakMap once they are implemented in\n    // commonly used development environments.\n    element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n    // the validation flag non-enumerable (where possible, which should\n    // include every environment we run tests in), so the test framework\n    // ignores it.\n\n    Object.defineProperty(element._store, 'validated', {\n      configurable: false,\n      enumerable: false,\n      writable: true,\n      value: false\n    }); // self and source are DEV only properties.\n\n    Object.defineProperty(element, '_self', {\n      configurable: false,\n      enumerable: false,\n      writable: false,\n      value: self\n    }); // Two elements created in two different places should be considered\n    // equal for testing purposes and therefore we hide it from enumeration.\n\n    Object.defineProperty(element, '_source', {\n      configurable: false,\n      enumerable: false,\n      writable: false,\n      value: source\n    });\n\n    if (Object.freeze) {\n      Object.freeze(element.props);\n      Object.freeze(element);\n    }\n  }\n\n  return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n  {\n    var propName; // Reserved names are extracted\n\n    var props = {};\n    var key = null;\n    var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n    // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n    // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n    // but as an intermediary step, we will use jsxDEV for everything except\n    // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n    // key is explicitly declared to be undefined or not.\n\n    if (maybeKey !== undefined) {\n      {\n        checkKeyStringCoercion(maybeKey);\n      }\n\n      key = '' + maybeKey;\n    }\n\n    if (hasValidKey(config)) {\n      {\n        checkKeyStringCoercion(config.key);\n      }\n\n      key = '' + config.key;\n    }\n\n    if (hasValidRef(config)) {\n      ref = config.ref;\n      warnIfStringRefCannotBeAutoConverted(config, self);\n    } // Remaining properties are added to a new props object\n\n\n    for (propName in config) {\n      if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n        props[propName] = config[propName];\n      }\n    } // Resolve default props\n\n\n    if (type && type.defaultProps) {\n      var defaultProps = type.defaultProps;\n\n      for (propName in defaultProps) {\n        if (props[propName] === undefined) {\n          props[propName] = defaultProps[propName];\n        }\n      }\n    }\n\n    if (key || ref) {\n      var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n      if (key) {\n        defineKeyPropWarningGetter(props, displayName);\n      }\n\n      if (ref) {\n        defineRefPropWarningGetter(props, displayName);\n      }\n    }\n\n    return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n  }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n  {\n    if (element) {\n      var owner = element._owner;\n      var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n      ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n    } else {\n      ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n    }\n  }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n  propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n  {\n    return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n  }\n}\n\nfunction getDeclarationErrorAddendum() {\n  {\n    if (ReactCurrentOwner$1.current) {\n      var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n      if (name) {\n        return '\\n\\nCheck the render method of `' + name + '`.';\n      }\n    }\n\n    return '';\n  }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n  {\n    if (source !== undefined) {\n      var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n      var lineNumber = source.lineNumber;\n      return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n    }\n\n    return '';\n  }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n  {\n    var info = getDeclarationErrorAddendum();\n\n    if (!info) {\n      var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n      if (parentName) {\n        info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n      }\n    }\n\n    return info;\n  }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n  {\n    if (!element._store || element._store.validated || element.key != null) {\n      return;\n    }\n\n    element._store.validated = true;\n    var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n    if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n      return;\n    }\n\n    ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n    // property, it may be the creator of the child that's responsible for\n    // assigning it a key.\n\n    var childOwner = '';\n\n    if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n      // Give the component that originally created this child.\n      childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n    }\n\n    setCurrentlyValidatingElement$1(element);\n\n    error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n    setCurrentlyValidatingElement$1(null);\n  }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n  {\n    if (typeof node !== 'object') {\n      return;\n    }\n\n    if (isArray(node)) {\n      for (var i = 0; i < node.length; i++) {\n        var child = node[i];\n\n        if (isValidElement(child)) {\n          validateExplicitKey(child, parentType);\n        }\n      }\n    } else if (isValidElement(node)) {\n      // This element was passed in a valid location.\n      if (node._store) {\n        node._store.validated = true;\n      }\n    } else if (node) {\n      var iteratorFn = getIteratorFn(node);\n\n      if (typeof iteratorFn === 'function') {\n        // Entry iterators used to provide implicit keys,\n        // but now we print a separate warning for them later.\n        if (iteratorFn !== node.entries) {\n          var iterator = iteratorFn.call(node);\n          var step;\n\n          while (!(step = iterator.next()).done) {\n            if (isValidElement(step.value)) {\n              validateExplicitKey(step.value, parentType);\n            }\n          }\n        }\n      }\n    }\n  }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n  {\n    var type = element.type;\n\n    if (type === null || type === undefined || typeof type === 'string') {\n      return;\n    }\n\n    var propTypes;\n\n    if (typeof type === 'function') {\n      propTypes = type.propTypes;\n    } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n    // Inner props are checked in the reconciler.\n    type.$$typeof === REACT_MEMO_TYPE)) {\n      propTypes = type.propTypes;\n    } else {\n      return;\n    }\n\n    if (propTypes) {\n      // Intentionally inside to avoid triggering lazy initializers:\n      var name = getComponentNameFromType(type);\n      checkPropTypes(propTypes, element.props, 'prop', name, element);\n    } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n      propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n      var _name = getComponentNameFromType(type);\n\n      error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n    }\n\n    if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n      error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n    }\n  }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n  {\n    var keys = Object.keys(fragment.props);\n\n    for (var i = 0; i < keys.length; i++) {\n      var key = keys[i];\n\n      if (key !== 'children' && key !== 'key') {\n        setCurrentlyValidatingElement$1(fragment);\n\n        error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n        setCurrentlyValidatingElement$1(null);\n        break;\n      }\n    }\n\n    if (fragment.ref !== null) {\n      setCurrentlyValidatingElement$1(fragment);\n\n      error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n      setCurrentlyValidatingElement$1(null);\n    }\n  }\n}\n\nvar didWarnAboutKeySpread = {};\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n  {\n    var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n    // succeed and there will likely be errors in render.\n\n    if (!validType) {\n      var info = '';\n\n      if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n        info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n      }\n\n      var sourceInfo = getSourceInfoErrorAddendum(source);\n\n      if (sourceInfo) {\n        info += sourceInfo;\n      } else {\n        info += getDeclarationErrorAddendum();\n      }\n\n      var typeString;\n\n      if (type === null) {\n        typeString = 'null';\n      } else if (isArray(type)) {\n        typeString = 'array';\n      } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n        typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n        info = ' Did you accidentally export a JSX literal instead of a component?';\n      } else {\n        typeString = typeof type;\n      }\n\n      error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n    }\n\n    var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n    // TODO: Drop this when these are no longer allowed as the type argument.\n\n    if (element == null) {\n      return element;\n    } // Skip key warning if the type isn't valid since our key validation logic\n    // doesn't expect a non-string/function type and can throw confusing errors.\n    // We don't want exception behavior to differ between dev and prod.\n    // (Rendering will throw with a helpful message and as soon as the type is\n    // fixed, the key warnings will appear.)\n\n\n    if (validType) {\n      var children = props.children;\n\n      if (children !== undefined) {\n        if (isStaticChildren) {\n          if (isArray(children)) {\n            for (var i = 0; i < children.length; i++) {\n              validateChildKeys(children[i], type);\n            }\n\n            if (Object.freeze) {\n              Object.freeze(children);\n            }\n          } else {\n            error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n          }\n        } else {\n          validateChildKeys(children, type);\n        }\n      }\n    }\n\n    {\n      if (hasOwnProperty.call(props, 'key')) {\n        var componentName = getComponentNameFromType(type);\n        var keys = Object.keys(props).filter(function (k) {\n          return k !== 'key';\n        });\n        var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n        if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n          var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n          error('A props object containing a \"key\" prop is being spread into JSX:\\n' + '  let props = %s;\\n' + '  <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + '  let props = %s;\\n' + '  <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n          didWarnAboutKeySpread[componentName + beforeExample] = true;\n        }\n      }\n    }\n\n    if (type === REACT_FRAGMENT_TYPE) {\n      validateFragmentProps(element);\n    } else {\n      validatePropTypes(element);\n    }\n\n    return element;\n  }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n  {\n    return jsxWithValidation(type, props, key, true);\n  }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n  {\n    return jsxWithValidation(type, props, key, false);\n  }\n}\n\nvar jsx =  jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs =  jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n  })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n  module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","var characterMap = {\n\t\"À\": \"A\",\n\t\"Á\": \"A\",\n\t\"Â\": \"A\",\n\t\"Ã\": \"A\",\n\t\"Ä\": \"A\",\n\t\"Å\": \"A\",\n\t\"Ấ\": \"A\",\n\t\"Ắ\": \"A\",\n\t\"Ẳ\": \"A\",\n\t\"Ẵ\": \"A\",\n\t\"Ặ\": \"A\",\n\t\"Æ\": \"AE\",\n\t\"Ầ\": \"A\",\n\t\"Ằ\": \"A\",\n\t\"Ȃ\": \"A\",\n\t\"Ả\": \"A\",\n\t\"Ạ\": \"A\",\n\t\"Ẩ\": \"A\",\n\t\"Ẫ\": \"A\",\n\t\"Ậ\": \"A\",\n\t\"Ç\": \"C\",\n\t\"Ḉ\": \"C\",\n\t\"È\": \"E\",\n\t\"É\": \"E\",\n\t\"Ê\": \"E\",\n\t\"Ë\": \"E\",\n\t\"Ế\": \"E\",\n\t\"Ḗ\": \"E\",\n\t\"Ề\": \"E\",\n\t\"Ḕ\": \"E\",\n\t\"Ḝ\": \"E\",\n\t\"Ȇ\": \"E\",\n\t\"Ẻ\": \"E\",\n\t\"Ẽ\": \"E\",\n\t\"Ẹ\": \"E\",\n\t\"Ể\": \"E\",\n\t\"Ễ\": \"E\",\n\t\"Ệ\": \"E\",\n\t\"Ì\": \"I\",\n\t\"Í\": \"I\",\n\t\"Î\": \"I\",\n\t\"Ï\": \"I\",\n\t\"Ḯ\": \"I\",\n\t\"Ȋ\": \"I\",\n\t\"Ỉ\": \"I\",\n\t\"Ị\": \"I\",\n\t\"Ð\": \"D\",\n\t\"Ñ\": \"N\",\n\t\"Ò\": \"O\",\n\t\"Ó\": \"O\",\n\t\"Ô\": \"O\",\n\t\"Õ\": \"O\",\n\t\"Ö\": \"O\",\n\t\"Ø\": \"O\",\n\t\"Ố\": \"O\",\n\t\"Ṍ\": \"O\",\n\t\"Ṓ\": \"O\",\n\t\"Ȏ\": \"O\",\n\t\"Ỏ\": \"O\",\n\t\"Ọ\": \"O\",\n\t\"Ổ\": \"O\",\n\t\"Ỗ\": \"O\",\n\t\"Ộ\": \"O\",\n\t\"Ờ\": \"O\",\n\t\"Ở\": \"O\",\n\t\"Ỡ\": \"O\",\n\t\"Ớ\": \"O\",\n\t\"Ợ\": \"O\",\n\t\"Ù\": \"U\",\n\t\"Ú\": \"U\",\n\t\"Û\": \"U\",\n\t\"Ü\": \"U\",\n\t\"Ủ\": \"U\",\n\t\"Ụ\": \"U\",\n\t\"Ử\": \"U\",\n\t\"Ữ\": \"U\",\n\t\"Ự\": \"U\",\n\t\"Ý\": \"Y\",\n\t\"à\": \"a\",\n\t\"á\": \"a\",\n\t\"â\": \"a\",\n\t\"ã\": \"a\",\n\t\"ä\": \"a\",\n\t\"å\": \"a\",\n\t\"ấ\": \"a\",\n\t\"ắ\": \"a\",\n\t\"ẳ\": \"a\",\n\t\"ẵ\": \"a\",\n\t\"ặ\": \"a\",\n\t\"æ\": \"ae\",\n\t\"ầ\": \"a\",\n\t\"ằ\": \"a\",\n\t\"ȃ\": \"a\",\n\t\"ả\": \"a\",\n\t\"ạ\": \"a\",\n\t\"ẩ\": \"a\",\n\t\"ẫ\": \"a\",\n\t\"ậ\": \"a\",\n\t\"ç\": \"c\",\n\t\"ḉ\": \"c\",\n\t\"è\": \"e\",\n\t\"é\": \"e\",\n\t\"ê\": \"e\",\n\t\"ë\": \"e\",\n\t\"ế\": \"e\",\n\t\"ḗ\": \"e\",\n\t\"ề\": \"e\",\n\t\"ḕ\": \"e\",\n\t\"ḝ\": \"e\",\n\t\"ȇ\": \"e\",\n\t\"ẻ\": \"e\",\n\t\"ẽ\": \"e\",\n\t\"ẹ\": \"e\",\n\t\"ể\": \"e\",\n\t\"ễ\": \"e\",\n\t\"ệ\": \"e\",\n\t\"ì\": \"i\",\n\t\"í\": \"i\",\n\t\"î\": \"i\",\n\t\"ï\": \"i\",\n\t\"ḯ\": \"i\",\n\t\"ȋ\": \"i\",\n\t\"ỉ\": \"i\",\n\t\"ị\": \"i\",\n\t\"ð\": \"d\",\n\t\"ñ\": \"n\",\n\t\"ò\": \"o\",\n\t\"ó\": \"o\",\n\t\"ô\": \"o\",\n\t\"õ\": \"o\",\n\t\"ö\": \"o\",\n\t\"ø\": \"o\",\n\t\"ố\": \"o\",\n\t\"ṍ\": \"o\",\n\t\"ṓ\": \"o\",\n\t\"ȏ\": \"o\",\n\t\"ỏ\": \"o\",\n\t\"ọ\": \"o\",\n\t\"ổ\": \"o\",\n\t\"ỗ\": \"o\",\n\t\"ộ\": \"o\",\n\t\"ờ\": \"o\",\n\t\"ở\": \"o\",\n\t\"ỡ\": \"o\",\n\t\"ớ\": \"o\",\n\t\"ợ\": \"o\",\n\t\"ù\": \"u\",\n\t\"ú\": \"u\",\n\t\"û\": \"u\",\n\t\"ü\": \"u\",\n\t\"ủ\": \"u\",\n\t\"ụ\": \"u\",\n\t\"ử\": \"u\",\n\t\"ữ\": \"u\",\n\t\"ự\": \"u\",\n\t\"ý\": \"y\",\n\t\"ÿ\": \"y\",\n\t\"Ā\": \"A\",\n\t\"ā\": \"a\",\n\t\"Ă\": \"A\",\n\t\"ă\": \"a\",\n\t\"Ą\": \"A\",\n\t\"ą\": \"a\",\n\t\"Ć\": \"C\",\n\t\"ć\": \"c\",\n\t\"Ĉ\": \"C\",\n\t\"ĉ\": \"c\",\n\t\"Ċ\": \"C\",\n\t\"ċ\": \"c\",\n\t\"Č\": \"C\",\n\t\"č\": \"c\",\n\t\"C̆\": \"C\",\n\t\"c̆\": \"c\",\n\t\"Ď\": \"D\",\n\t\"ď\": \"d\",\n\t\"Đ\": \"D\",\n\t\"đ\": \"d\",\n\t\"Ē\": \"E\",\n\t\"ē\": \"e\",\n\t\"Ĕ\": \"E\",\n\t\"ĕ\": \"e\",\n\t\"Ė\": \"E\",\n\t\"ė\": \"e\",\n\t\"Ę\": \"E\",\n\t\"ę\": \"e\",\n\t\"Ě\": \"E\",\n\t\"ě\": \"e\",\n\t\"Ĝ\": \"G\",\n\t\"Ǵ\": \"G\",\n\t\"ĝ\": \"g\",\n\t\"ǵ\": \"g\",\n\t\"Ğ\": \"G\",\n\t\"ğ\": \"g\",\n\t\"Ġ\": \"G\",\n\t\"ġ\": \"g\",\n\t\"Ģ\": \"G\",\n\t\"ģ\": \"g\",\n\t\"Ĥ\": \"H\",\n\t\"ĥ\": \"h\",\n\t\"Ħ\": \"H\",\n\t\"ħ\": \"h\",\n\t\"Ḫ\": \"H\",\n\t\"ḫ\": \"h\",\n\t\"Ĩ\": \"I\",\n\t\"ĩ\": \"i\",\n\t\"Ī\": \"I\",\n\t\"ī\": \"i\",\n\t\"Ĭ\": \"I\",\n\t\"ĭ\": \"i\",\n\t\"Į\": \"I\",\n\t\"į\": \"i\",\n\t\"İ\": \"I\",\n\t\"ı\": \"i\",\n\t\"IJ\": \"IJ\",\n\t\"ij\": \"ij\",\n\t\"Ĵ\": \"J\",\n\t\"ĵ\": \"j\",\n\t\"Ķ\": \"K\",\n\t\"ķ\": \"k\",\n\t\"Ḱ\": \"K\",\n\t\"ḱ\": \"k\",\n\t\"K̆\": \"K\",\n\t\"k̆\": \"k\",\n\t\"Ĺ\": \"L\",\n\t\"ĺ\": \"l\",\n\t\"Ļ\": \"L\",\n\t\"ļ\": \"l\",\n\t\"Ľ\": \"L\",\n\t\"ľ\": \"l\",\n\t\"Ŀ\": \"L\",\n\t\"ŀ\": \"l\",\n\t\"Ł\": \"l\",\n\t\"ł\": \"l\",\n\t\"Ḿ\": \"M\",\n\t\"ḿ\": \"m\",\n\t\"M̆\": \"M\",\n\t\"m̆\": \"m\",\n\t\"Ń\": \"N\",\n\t\"ń\": \"n\",\n\t\"Ņ\": \"N\",\n\t\"ņ\": \"n\",\n\t\"Ň\": \"N\",\n\t\"ň\": \"n\",\n\t\"ʼn\": \"n\",\n\t\"N̆\": \"N\",\n\t\"n̆\": \"n\",\n\t\"Ō\": \"O\",\n\t\"ō\": \"o\",\n\t\"Ŏ\": \"O\",\n\t\"ŏ\": \"o\",\n\t\"Ő\": \"O\",\n\t\"ő\": \"o\",\n\t\"Œ\": \"OE\",\n\t\"œ\": \"oe\",\n\t\"P̆\": \"P\",\n\t\"p̆\": \"p\",\n\t\"Ŕ\": \"R\",\n\t\"ŕ\": \"r\",\n\t\"Ŗ\": \"R\",\n\t\"ŗ\": \"r\",\n\t\"Ř\": \"R\",\n\t\"ř\": \"r\",\n\t\"R̆\": \"R\",\n\t\"r̆\": \"r\",\n\t\"Ȓ\": \"R\",\n\t\"ȓ\": \"r\",\n\t\"Ś\": \"S\",\n\t\"ś\": \"s\",\n\t\"Ŝ\": \"S\",\n\t\"ŝ\": \"s\",\n\t\"Ş\": \"S\",\n\t\"Ș\": \"S\",\n\t\"ș\": \"s\",\n\t\"ş\": \"s\",\n\t\"Š\": \"S\",\n\t\"š\": \"s\",\n\t\"Ţ\": \"T\",\n\t\"ţ\": \"t\",\n\t\"ț\": \"t\",\n\t\"Ț\": \"T\",\n\t\"Ť\": \"T\",\n\t\"ť\": \"t\",\n\t\"Ŧ\": \"T\",\n\t\"ŧ\": \"t\",\n\t\"T̆\": \"T\",\n\t\"t̆\": \"t\",\n\t\"Ũ\": \"U\",\n\t\"ũ\": \"u\",\n\t\"Ū\": \"U\",\n\t\"ū\": \"u\",\n\t\"Ŭ\": \"U\",\n\t\"ŭ\": \"u\",\n\t\"Ů\": \"U\",\n\t\"ů\": \"u\",\n\t\"Ű\": \"U\",\n\t\"ű\": \"u\",\n\t\"Ų\": \"U\",\n\t\"ų\": \"u\",\n\t\"Ȗ\": \"U\",\n\t\"ȗ\": \"u\",\n\t\"V̆\": \"V\",\n\t\"v̆\": \"v\",\n\t\"Ŵ\": \"W\",\n\t\"ŵ\": \"w\",\n\t\"Ẃ\": \"W\",\n\t\"ẃ\": \"w\",\n\t\"X̆\": \"X\",\n\t\"x̆\": \"x\",\n\t\"Ŷ\": \"Y\",\n\t\"ŷ\": \"y\",\n\t\"Ÿ\": \"Y\",\n\t\"Y̆\": \"Y\",\n\t\"y̆\": \"y\",\n\t\"Ź\": \"Z\",\n\t\"ź\": \"z\",\n\t\"Ż\": \"Z\",\n\t\"ż\": \"z\",\n\t\"Ž\": \"Z\",\n\t\"ž\": \"z\",\n\t\"ſ\": \"s\",\n\t\"ƒ\": \"f\",\n\t\"Ơ\": \"O\",\n\t\"ơ\": \"o\",\n\t\"Ư\": \"U\",\n\t\"ư\": \"u\",\n\t\"Ǎ\": \"A\",\n\t\"ǎ\": \"a\",\n\t\"Ǐ\": \"I\",\n\t\"ǐ\": \"i\",\n\t\"Ǒ\": \"O\",\n\t\"ǒ\": \"o\",\n\t\"Ǔ\": \"U\",\n\t\"ǔ\": \"u\",\n\t\"Ǖ\": \"U\",\n\t\"ǖ\": \"u\",\n\t\"Ǘ\": \"U\",\n\t\"ǘ\": \"u\",\n\t\"Ǚ\": \"U\",\n\t\"ǚ\": \"u\",\n\t\"Ǜ\": \"U\",\n\t\"ǜ\": \"u\",\n\t\"Ứ\": \"U\",\n\t\"ứ\": \"u\",\n\t\"Ṹ\": \"U\",\n\t\"ṹ\": \"u\",\n\t\"Ǻ\": \"A\",\n\t\"ǻ\": \"a\",\n\t\"Ǽ\": \"AE\",\n\t\"ǽ\": \"ae\",\n\t\"Ǿ\": \"O\",\n\t\"ǿ\": \"o\",\n\t\"Þ\": \"TH\",\n\t\"þ\": \"th\",\n\t\"Ṕ\": \"P\",\n\t\"ṕ\": \"p\",\n\t\"Ṥ\": \"S\",\n\t\"ṥ\": \"s\",\n\t\"X́\": \"X\",\n\t\"x́\": \"x\",\n\t\"Ѓ\": \"Г\",\n\t\"ѓ\": \"г\",\n\t\"Ќ\": \"К\",\n\t\"ќ\": \"к\",\n\t\"A̋\": \"A\",\n\t\"a̋\": \"a\",\n\t\"E̋\": \"E\",\n\t\"e̋\": \"e\",\n\t\"I̋\": \"I\",\n\t\"i̋\": \"i\",\n\t\"Ǹ\": \"N\",\n\t\"ǹ\": \"n\",\n\t\"Ồ\": \"O\",\n\t\"ồ\": \"o\",\n\t\"Ṑ\": \"O\",\n\t\"ṑ\": \"o\",\n\t\"Ừ\": \"U\",\n\t\"ừ\": \"u\",\n\t\"Ẁ\": \"W\",\n\t\"ẁ\": \"w\",\n\t\"Ỳ\": \"Y\",\n\t\"ỳ\": \"y\",\n\t\"Ȁ\": \"A\",\n\t\"ȁ\": \"a\",\n\t\"Ȅ\": \"E\",\n\t\"ȅ\": \"e\",\n\t\"Ȉ\": \"I\",\n\t\"ȉ\": \"i\",\n\t\"Ȍ\": \"O\",\n\t\"ȍ\": \"o\",\n\t\"Ȑ\": \"R\",\n\t\"ȑ\": \"r\",\n\t\"Ȕ\": \"U\",\n\t\"ȕ\": \"u\",\n\t\"B̌\": \"B\",\n\t\"b̌\": \"b\",\n\t\"Č̣\": \"C\",\n\t\"č̣\": \"c\",\n\t\"Ê̌\": \"E\",\n\t\"ê̌\": \"e\",\n\t\"F̌\": \"F\",\n\t\"f̌\": \"f\",\n\t\"Ǧ\": \"G\",\n\t\"ǧ\": \"g\",\n\t\"Ȟ\": \"H\",\n\t\"ȟ\": \"h\",\n\t\"J̌\": \"J\",\n\t\"ǰ\": \"j\",\n\t\"Ǩ\": \"K\",\n\t\"ǩ\": \"k\",\n\t\"M̌\": \"M\",\n\t\"m̌\": \"m\",\n\t\"P̌\": \"P\",\n\t\"p̌\": \"p\",\n\t\"Q̌\": \"Q\",\n\t\"q̌\": \"q\",\n\t\"Ř̩\": \"R\",\n\t\"ř̩\": \"r\",\n\t\"Ṧ\": \"S\",\n\t\"ṧ\": \"s\",\n\t\"V̌\": \"V\",\n\t\"v̌\": \"v\",\n\t\"W̌\": \"W\",\n\t\"w̌\": \"w\",\n\t\"X̌\": \"X\",\n\t\"x̌\": \"x\",\n\t\"Y̌\": \"Y\",\n\t\"y̌\": \"y\",\n\t\"A̧\": \"A\",\n\t\"a̧\": \"a\",\n\t\"B̧\": \"B\",\n\t\"b̧\": \"b\",\n\t\"Ḑ\": \"D\",\n\t\"ḑ\": \"d\",\n\t\"Ȩ\": \"E\",\n\t\"ȩ\": \"e\",\n\t\"Ɛ̧\": \"E\",\n\t\"ɛ̧\": \"e\",\n\t\"Ḩ\": \"H\",\n\t\"ḩ\": \"h\",\n\t\"I̧\": \"I\",\n\t\"i̧\": \"i\",\n\t\"Ɨ̧\": \"I\",\n\t\"ɨ̧\": \"i\",\n\t\"M̧\": \"M\",\n\t\"m̧\": \"m\",\n\t\"O̧\": \"O\",\n\t\"o̧\": \"o\",\n\t\"Q̧\": \"Q\",\n\t\"q̧\": \"q\",\n\t\"U̧\": \"U\",\n\t\"u̧\": \"u\",\n\t\"X̧\": \"X\",\n\t\"x̧\": \"x\",\n\t\"Z̧\": \"Z\",\n\t\"z̧\": \"z\",\n\t\"й\":\"и\",\n\t\"Й\":\"И\",\n\t\"ё\":\"е\",\n\t\"Ё\":\"Е\",\n};\n\nvar chars = Object.keys(characterMap).join('|');\nvar allAccents = new RegExp(chars, 'g');\nvar firstAccent = new RegExp(chars, '');\n\nfunction matcher(match) {\n\treturn characterMap[match];\n}\n\nvar removeAccents = function(string) {\n\treturn string.replace(allAccents, matcher);\n};\n\nvar hasAccents = function(string) {\n\treturn !!string.match(firstAccent);\n};\n\nmodule.exports = removeAccents;\nmodule.exports.has = hasAccents;\nmodule.exports.remove = removeAccents;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n\n          'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n    'function'\n) {\n  __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n          var React = require('react');\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n  {\n    {\n      for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n        args[_key2 - 1] = arguments[_key2];\n      }\n\n      printWarning('error', format, args);\n    }\n  }\n}\n\nfunction printWarning(level, format, args) {\n  // When changing this logic, you might want to also\n  // update consoleWithStackDev.www.js as well.\n  {\n    var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n    var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n    if (stack !== '') {\n      format += '%s';\n      args = args.concat([stack]);\n    } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n    var argsWithFormat = args.map(function (item) {\n      return String(item);\n    }); // Careful: RN currently depends on this prefix\n\n    argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n    // breaks IE9: https://github.com/facebook/react/issues/13610\n    // eslint-disable-next-line react-internal/no-production-logging\n\n    Function.prototype.apply.call(console[level], console, argsWithFormat);\n  }\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n  return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n  ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n// dispatch for CommonJS interop named imports.\n\nvar useState = React.useState,\n    useEffect = React.useEffect,\n    useLayoutEffect = React.useLayoutEffect,\n    useDebugValue = React.useDebugValue;\nvar didWarnOld18Alpha = false;\nvar didWarnUncachedGetSnapshot = false; // Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\n\nfunction useSyncExternalStore(subscribe, getSnapshot, // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n// React do not expose a way to check if we're hydrating. So users of the shim\n// will need to track that themselves and return the correct value\n// from `getSnapshot`.\ngetServerSnapshot) {\n  {\n    if (!didWarnOld18Alpha) {\n      if (React.startTransition !== undefined) {\n        didWarnOld18Alpha = true;\n\n        error('You are using an outdated, pre-release alpha of React 18 that ' + 'does not support useSyncExternalStore. The ' + 'use-sync-external-store shim will not work correctly. Upgrade ' + 'to a newer pre-release.');\n      }\n    }\n  } // Read the current snapshot from the store on every render. Again, this\n  // breaks the rules of React, and only works here because of specific\n  // implementation details, most importantly that updates are\n  // always synchronous.\n\n\n  var value = getSnapshot();\n\n  {\n    if (!didWarnUncachedGetSnapshot) {\n      var cachedValue = getSnapshot();\n\n      if (!objectIs(value, cachedValue)) {\n        error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n        didWarnUncachedGetSnapshot = true;\n      }\n    }\n  } // Because updates are synchronous, we don't queue them. Instead we force a\n  // re-render whenever the subscribed state changes by updating an some\n  // arbitrary useState hook. Then, during render, we call getSnapshot to read\n  // the current value.\n  //\n  // Because we don't actually use the state returned by the useState hook, we\n  // can save a bit of memory by storing other stuff in that slot.\n  //\n  // To implement the early bailout, we need to track some things on a mutable\n  // object. Usually, we would put that in a useRef hook, but we can stash it in\n  // our useState hook instead.\n  //\n  // To force a re-render, we call forceUpdate({inst}). That works because the\n  // new object always fails an equality check.\n\n\n  var _useState = useState({\n    inst: {\n      value: value,\n      getSnapshot: getSnapshot\n    }\n  }),\n      inst = _useState[0].inst,\n      forceUpdate = _useState[1]; // Track the latest getSnapshot function with a ref. This needs to be updated\n  // in the layout phase so we can access it during the tearing check that\n  // happens on subscribe.\n\n\n  useLayoutEffect(function () {\n    inst.value = value;\n    inst.getSnapshot = getSnapshot; // Whenever getSnapshot or subscribe changes, we need to check in the\n    // commit phase if there was an interleaved mutation. In concurrent mode\n    // this can happen all the time, but even in synchronous mode, an earlier\n    // effect may have mutated the store.\n\n    if (checkIfSnapshotChanged(inst)) {\n      // Force a re-render.\n      forceUpdate({\n        inst: inst\n      });\n    }\n  }, [subscribe, value, getSnapshot]);\n  useEffect(function () {\n    // Check for changes right before subscribing. Subsequent changes will be\n    // detected in the subscription handler.\n    if (checkIfSnapshotChanged(inst)) {\n      // Force a re-render.\n      forceUpdate({\n        inst: inst\n      });\n    }\n\n    var handleStoreChange = function () {\n      // TODO: Because there is no cross-renderer API for batching updates, it's\n      // up to the consumer of this library to wrap their subscription event\n      // with unstable_batchedUpdates. Should we try to detect when this isn't\n      // the case and print a warning in development?\n      // The store changed. Check if the snapshot changed since the last time we\n      // read from the store.\n      if (checkIfSnapshotChanged(inst)) {\n        // Force a re-render.\n        forceUpdate({\n          inst: inst\n        });\n      }\n    }; // Subscribe to the store and return a clean-up function.\n\n\n    return subscribe(handleStoreChange);\n  }, [subscribe]);\n  useDebugValue(value);\n  return value;\n}\n\nfunction checkIfSnapshotChanged(inst) {\n  var latestGetSnapshot = inst.getSnapshot;\n  var prevValue = inst.value;\n\n  try {\n    var nextValue = latestGetSnapshot();\n    return !objectIs(prevValue, nextValue);\n  } catch (error) {\n    return true;\n  }\n}\n\nfunction useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) {\n  // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n  // React do not expose a way to check if we're hydrating. So users of the shim\n  // will need to track that themselves and return the correct value\n  // from `getSnapshot`.\n  return getSnapshot();\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar isServerEnvironment = !canUseDOM;\n\nvar shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore;\nvar useSyncExternalStore$2 = React.useSyncExternalStore !== undefined ? React.useSyncExternalStore : shim;\n\nexports.useSyncExternalStore = useSyncExternalStore$2;\n          /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n    'function'\n) {\n  __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n        \n  })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n  module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","module.exports = window[\"React\"];","module.exports = window[\"ReactDOM\"];","module.exports = window[\"wp\"][\"apiFetch\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"compose\"];","module.exports = window[\"wp\"][\"coreData\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"date\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"i18n\"];","module.exports = window[\"wp\"][\"notices\"];","module.exports = window[\"wp\"][\"primitives\"];","module.exports = window[\"wp\"][\"privateApis\"];","module.exports = window[\"wp\"][\"url\"];","\"use client\";\nimport {\n  batch,\n  createStore,\n  init,\n  setup,\n  throwOnConflictingProps\n} from \"./EAHJFCU4.js\";\nimport {\n  chain,\n  defaultValue\n} from \"./Y3OOHFCN.js\";\nimport {\n  getDocument\n} from \"./DLOEKDPY.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/collection/collection-store.ts\nfunction isElementPreceding(a, b) {\n  return Boolean(\n    b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING\n  );\n}\nfunction sortBasedOnDOMPosition(items) {\n  const pairs = items.map((item, index) => [index, item]);\n  let isOrderDifferent = false;\n  pairs.sort(([indexA, a], [indexB, b]) => {\n    const elementA = a.element;\n    const elementB = b.element;\n    if (elementA === elementB)\n      return 0;\n    if (!elementA || !elementB)\n      return 0;\n    if (isElementPreceding(elementA, elementB)) {\n      if (indexA > indexB) {\n        isOrderDifferent = true;\n      }\n      return -1;\n    }\n    if (indexA < indexB) {\n      isOrderDifferent = true;\n    }\n    return 1;\n  });\n  if (isOrderDifferent) {\n    return pairs.map(([_, item]) => item);\n  }\n  return items;\n}\nfunction getCommonParent(items) {\n  var _a;\n  const firstItem = items.find((item) => !!item.element);\n  const lastItem = [...items].reverse().find((item) => !!item.element);\n  let parentElement = (_a = firstItem == null ? void 0 : firstItem.element) == null ? void 0 : _a.parentElement;\n  while (parentElement && (lastItem == null ? void 0 : lastItem.element)) {\n    const parent = parentElement;\n    if (lastItem && parent.contains(lastItem.element)) {\n      return parentElement;\n    }\n    parentElement = parentElement.parentElement;\n  }\n  return getDocument(parentElement).body;\n}\nfunction getPrivateStore(store) {\n  return store == null ? void 0 : store.__unstablePrivateStore;\n}\nfunction createCollectionStore(props = {}) {\n  var _a;\n  throwOnConflictingProps(props, props.store);\n  const syncState = (_a = props.store) == null ? void 0 : _a.getState();\n  const items = defaultValue(\n    props.items,\n    syncState == null ? void 0 : syncState.items,\n    props.defaultItems,\n    []\n  );\n  const itemsMap = new Map(items.map((item) => [item.id, item]));\n  const initialState = {\n    items,\n    renderedItems: defaultValue(syncState == null ? void 0 : syncState.renderedItems, [])\n  };\n  const syncPrivateStore = getPrivateStore(props.store);\n  const privateStore = createStore(\n    { items, renderedItems: initialState.renderedItems },\n    syncPrivateStore\n  );\n  const collection = createStore(initialState, props.store);\n  const sortItems = (renderedItems) => {\n    const sortedItems = sortBasedOnDOMPosition(renderedItems);\n    privateStore.setState(\"renderedItems\", sortedItems);\n    collection.setState(\"renderedItems\", sortedItems);\n  };\n  setup(collection, () => init(privateStore));\n  setup(privateStore, () => {\n    return batch(privateStore, [\"items\"], (state) => {\n      collection.setState(\"items\", state.items);\n    });\n  });\n  setup(privateStore, () => {\n    return batch(privateStore, [\"renderedItems\"], (state) => {\n      let firstRun = true;\n      let raf = requestAnimationFrame(() => {\n        const { renderedItems } = collection.getState();\n        if (state.renderedItems === renderedItems)\n          return;\n        sortItems(state.renderedItems);\n      });\n      if (typeof IntersectionObserver !== \"function\") {\n        return () => cancelAnimationFrame(raf);\n      }\n      const ioCallback = () => {\n        if (firstRun) {\n          firstRun = false;\n          return;\n        }\n        cancelAnimationFrame(raf);\n        raf = requestAnimationFrame(() => sortItems(state.renderedItems));\n      };\n      const root = getCommonParent(state.renderedItems);\n      const observer = new IntersectionObserver(ioCallback, { root });\n      for (const item of state.renderedItems) {\n        if (!item.element)\n          continue;\n        observer.observe(item.element);\n      }\n      return () => {\n        cancelAnimationFrame(raf);\n        observer.disconnect();\n      };\n    });\n  });\n  const mergeItem = (item, setItems, canDeleteFromMap = false) => {\n    let prevItem;\n    setItems((items2) => {\n      const index = items2.findIndex(({ id }) => id === item.id);\n      const nextItems = items2.slice();\n      if (index !== -1) {\n        prevItem = items2[index];\n        const nextItem = __spreadValues(__spreadValues({}, prevItem), item);\n        nextItems[index] = nextItem;\n        itemsMap.set(item.id, nextItem);\n      } else {\n        nextItems.push(item);\n        itemsMap.set(item.id, item);\n      }\n      return nextItems;\n    });\n    const unmergeItem = () => {\n      setItems((items2) => {\n        if (!prevItem) {\n          if (canDeleteFromMap) {\n            itemsMap.delete(item.id);\n          }\n          return items2.filter(({ id }) => id !== item.id);\n        }\n        const index = items2.findIndex(({ id }) => id === item.id);\n        if (index === -1)\n          return items2;\n        const nextItems = items2.slice();\n        nextItems[index] = prevItem;\n        itemsMap.set(item.id, prevItem);\n        return nextItems;\n      });\n    };\n    return unmergeItem;\n  };\n  const registerItem = (item) => mergeItem(\n    item,\n    (getItems) => privateStore.setState(\"items\", getItems),\n    true\n  );\n  return __spreadProps(__spreadValues({}, collection), {\n    registerItem,\n    renderItem: (item) => chain(\n      registerItem(item),\n      mergeItem(\n        item,\n        (getItems) => privateStore.setState(\"renderedItems\", getItems)\n      )\n    ),\n    item: (id) => {\n      if (!id)\n        return null;\n      let item = itemsMap.get(id);\n      if (!item) {\n        const { items: items2 } = collection.getState();\n        item = items2.find((item2) => item2.id === id);\n        if (item) {\n          itemsMap.set(id, item);\n        }\n      }\n      return item || null;\n    },\n    // @ts-expect-error Internal\n    __unstablePrivateStore: privateStore\n  });\n}\n\nexport {\n  createCollectionStore\n};\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n  for (var prop in b || (b = {}))\n    if (__hasOwnProp.call(b, prop))\n      __defNormalProp(a, prop, b[prop]);\n  if (__getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(b)) {\n      if (__propIsEnum.call(b, prop))\n        __defNormalProp(a, prop, b[prop]);\n    }\n  return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n  var target = {};\n  for (var prop in source)\n    if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n      target[prop] = source[prop];\n  if (source != null && __getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(source)) {\n      if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n        target[prop] = source[prop];\n    }\n  return target;\n};\n\nexport {\n  __spreadValues,\n  __spreadProps,\n  __objRest\n};\n","\"use client\";\n\n// src/utils/array.ts\nfunction toArray(arg) {\n  if (Array.isArray(arg)) {\n    return arg;\n  }\n  return typeof arg !== \"undefined\" ? [arg] : [];\n}\nfunction addItemToArray(array, item, index = -1) {\n  if (!(index in array)) {\n    return [...array, item];\n  }\n  return [...array.slice(0, index), item, ...array.slice(index)];\n}\nfunction flatten2DArray(array) {\n  const flattened = [];\n  for (const row of array) {\n    flattened.push(...row);\n  }\n  return flattened;\n}\nfunction reverseArray(array) {\n  return array.slice().reverse();\n}\n\nexport {\n  toArray,\n  addItemToArray,\n  flatten2DArray,\n  reverseArray\n};\n","\"use client\";\nimport {\n  createDialogStore\n} from \"./SX2XFD6A.js\";\nimport {\n  createStore,\n  mergeStore,\n  omit,\n  throwOnConflictingProps\n} from \"./EAHJFCU4.js\";\nimport {\n  defaultValue\n} from \"./Y3OOHFCN.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/popover/popover-store.ts\nfunction createPopoverStore(_a = {}) {\n  var _b = _a, {\n    popover: otherPopover\n  } = _b, props = __objRest(_b, [\n    \"popover\"\n  ]);\n  const store = mergeStore(\n    props.store,\n    omit(otherPopover, [\n      \"arrowElement\",\n      \"anchorElement\",\n      \"contentElement\",\n      \"popoverElement\",\n      \"disclosureElement\"\n    ])\n  );\n  throwOnConflictingProps(props, store);\n  const syncState = store == null ? void 0 : store.getState();\n  const dialog = createDialogStore(__spreadProps(__spreadValues({}, props), { store }));\n  const placement = defaultValue(\n    props.placement,\n    syncState == null ? void 0 : syncState.placement,\n    \"bottom\"\n  );\n  const initialState = __spreadProps(__spreadValues({}, dialog.getState()), {\n    placement,\n    currentPlacement: placement,\n    anchorElement: defaultValue(syncState == null ? void 0 : syncState.anchorElement, null),\n    popoverElement: defaultValue(syncState == null ? void 0 : syncState.popoverElement, null),\n    arrowElement: defaultValue(syncState == null ? void 0 : syncState.arrowElement, null),\n    rendered: Symbol(\"rendered\")\n  });\n  const popover = createStore(initialState, dialog, store);\n  return __spreadProps(__spreadValues(__spreadValues({}, dialog), popover), {\n    setAnchorElement: (element) => popover.setState(\"anchorElement\", element),\n    setPopoverElement: (element) => popover.setState(\"popoverElement\", element),\n    setArrowElement: (element) => popover.setState(\"arrowElement\", element),\n    render: () => popover.setState(\"rendered\", Symbol(\"rendered\"))\n  });\n}\n\nexport {\n  createPopoverStore\n};\n","\"use client\";\n\n// src/utils/dom.ts\nvar canUseDOM = checkIsBrowser();\nfunction checkIsBrowser() {\n  var _a;\n  return typeof window !== \"undefined\" && !!((_a = window.document) == null ? void 0 : _a.createElement);\n}\nfunction getDocument(node) {\n  return node ? node.ownerDocument || node : document;\n}\nfunction getWindow(node) {\n  return getDocument(node).defaultView || window;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getDocument(node);\n  if (!(activeElement == null ? void 0 : activeElement.nodeName)) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(\n      activeElement.contentDocument.body,\n      activeDescendant\n    );\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction contains(parent, child) {\n  return parent === child || parent.contains(child);\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nfunction isButton(element) {\n  const tagName = element.tagName.toLowerCase();\n  if (tagName === \"button\")\n    return true;\n  if (tagName === \"input\" && element.type) {\n    return buttonInputTypes.indexOf(element.type) !== -1;\n  }\n  return false;\n}\nvar buttonInputTypes = [\n  \"button\",\n  \"color\",\n  \"file\",\n  \"image\",\n  \"reset\",\n  \"submit\"\n];\nfunction matches(element, selectors) {\n  if (\"matches\" in element) {\n    return element.matches(selectors);\n  }\n  if (\"msMatchesSelector\" in element) {\n    return element.msMatchesSelector(selectors);\n  }\n  return element.webkitMatchesSelector(selectors);\n}\nfunction isVisible(element) {\n  const htmlElement = element;\n  return htmlElement.offsetWidth > 0 || htmlElement.offsetHeight > 0 || element.getClientRects().length > 0;\n}\nfunction closest(element, selectors) {\n  if (\"closest\" in element)\n    return element.closest(selectors);\n  do {\n    if (matches(element, selectors))\n      return element;\n    element = element.parentElement || element.parentNode;\n  } while (element !== null && element.nodeType === 1);\n  return null;\n}\nfunction isTextField(element) {\n  try {\n    const isTextInput = element instanceof HTMLInputElement && element.selectionStart !== null;\n    const isTextArea = element.tagName === \"TEXTAREA\";\n    return isTextInput || isTextArea || false;\n  } catch (error) {\n    return false;\n  }\n}\nfunction getPopupRole(element, fallback) {\n  const allowedPopupRoles = [\"dialog\", \"menu\", \"listbox\", \"tree\", \"grid\"];\n  const role = element == null ? void 0 : element.getAttribute(\"role\");\n  if (role && allowedPopupRoles.indexOf(role) !== -1) {\n    return role;\n  }\n  return fallback;\n}\nfunction getPopupItemRole(element, fallback) {\n  var _a;\n  const itemRoleByPopupRole = {\n    menu: \"menuitem\",\n    listbox: \"option\",\n    tree: \"treeitem\",\n    grid: \"gridcell\"\n  };\n  const popupRole = getPopupRole(element);\n  if (!popupRole)\n    return fallback;\n  const key = popupRole;\n  return (_a = itemRoleByPopupRole[key]) != null ? _a : fallback;\n}\nfunction getTextboxSelection(element) {\n  let start = 0;\n  let end = 0;\n  if (isTextField(element)) {\n    start = element.selectionStart || 0;\n    end = element.selectionEnd || 0;\n  } else if (element.isContentEditable) {\n    const selection = getDocument(element).getSelection();\n    if ((selection == null ? void 0 : selection.rangeCount) && selection.anchorNode && contains(element, selection.anchorNode) && selection.focusNode && contains(element, selection.focusNode)) {\n      const range = selection.getRangeAt(0);\n      const nextRange = range.cloneRange();\n      nextRange.selectNodeContents(element);\n      nextRange.setEnd(range.startContainer, range.startOffset);\n      start = nextRange.toString().length;\n      nextRange.setEnd(range.endContainer, range.endOffset);\n      end = nextRange.toString().length;\n    }\n  }\n  return { start, end };\n}\nfunction scrollIntoViewIfNeeded(element, arg) {\n  if (isPartiallyHidden(element) && \"scrollIntoView\" in element) {\n    element.scrollIntoView(arg);\n  }\n}\nfunction getScrollingElement(element) {\n  if (!element)\n    return null;\n  if (element.clientHeight && element.scrollHeight > element.clientHeight) {\n    const { overflowY } = getComputedStyle(element);\n    const isScrollable = overflowY !== \"visible\" && overflowY !== \"hidden\";\n    if (isScrollable)\n      return element;\n  } else if (element.clientWidth && element.scrollWidth > element.clientWidth) {\n    const { overflowX } = getComputedStyle(element);\n    const isScrollable = overflowX !== \"visible\" && overflowX !== \"hidden\";\n    if (isScrollable)\n      return element;\n  }\n  return getScrollingElement(element.parentElement) || document.scrollingElement || document.body;\n}\nfunction isPartiallyHidden(element) {\n  const elementRect = element.getBoundingClientRect();\n  const scroller = getScrollingElement(element);\n  if (!scroller)\n    return false;\n  const scrollerRect = scroller.getBoundingClientRect();\n  const isHTML = scroller.tagName === \"HTML\";\n  const scrollerTop = isHTML ? scrollerRect.top + scroller.scrollTop : scrollerRect.top;\n  const scrollerBottom = isHTML ? scroller.clientHeight : scrollerRect.bottom;\n  const scrollerLeft = isHTML ? scrollerRect.left + scroller.scrollLeft : scrollerRect.left;\n  const scrollerRight = isHTML ? scroller.clientWidth : scrollerRect.right;\n  const top = elementRect.top < scrollerTop;\n  const left = elementRect.left < scrollerLeft;\n  const bottom = elementRect.bottom > scrollerBottom;\n  const right = elementRect.right > scrollerRight;\n  return top || left || bottom || right;\n}\nfunction setSelectionRange(element, ...args) {\n  if (/text|search|password|tel|url/i.test(element.type)) {\n    element.setSelectionRange(...args);\n  }\n}\n\nexport {\n  canUseDOM,\n  getDocument,\n  getWindow,\n  getActiveElement,\n  contains,\n  isFrame,\n  isButton,\n  matches,\n  isVisible,\n  closest,\n  isTextField,\n  getPopupRole,\n  getPopupItemRole,\n  getTextboxSelection,\n  scrollIntoViewIfNeeded,\n  getScrollingElement,\n  isPartiallyHidden,\n  setSelectionRange\n};\n","\"use client\";\nimport {\n  applyState,\n  chain,\n  getKeys,\n  hasOwnProperty,\n  invariant,\n  noop,\n  omit,\n  pick\n} from \"./Y3OOHFCN.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/store.ts\nfunction getInternal(store, key) {\n  const internals = store.__unstableInternals;\n  invariant(internals, \"Invalid store\");\n  return internals[key];\n}\nfunction createStore(initialState, ...stores) {\n  let state = initialState;\n  let prevStateBatch = state;\n  let lastUpdate = Symbol();\n  let destroy = noop;\n  const instances = /* @__PURE__ */ new Set();\n  const updatedKeys = /* @__PURE__ */ new Set();\n  const setups = /* @__PURE__ */ new Set();\n  const listeners = /* @__PURE__ */ new Set();\n  const batchListeners = /* @__PURE__ */ new Set();\n  const disposables = /* @__PURE__ */ new WeakMap();\n  const listenerKeys = /* @__PURE__ */ new WeakMap();\n  const storeSetup = (callback) => {\n    setups.add(callback);\n    return () => setups.delete(callback);\n  };\n  const storeInit = () => {\n    const initialized = instances.size;\n    const instance = Symbol();\n    instances.add(instance);\n    const maybeDestroy = () => {\n      instances.delete(instance);\n      if (instances.size)\n        return;\n      destroy();\n    };\n    if (initialized)\n      return maybeDestroy;\n    const desyncs = getKeys(state).map(\n      (key) => chain(\n        ...stores.map((store) => {\n          var _a;\n          const storeState = (_a = store == null ? void 0 : store.getState) == null ? void 0 : _a.call(store);\n          if (!storeState)\n            return;\n          if (!hasOwnProperty(storeState, key))\n            return;\n          return sync(store, [key], (state2) => {\n            setState(\n              key,\n              state2[key],\n              // @ts-expect-error - Not public API. This is just to prevent\n              // infinite loops.\n              true\n            );\n          });\n        })\n      )\n    );\n    const teardowns = [];\n    setups.forEach((setup2) => teardowns.push(setup2()));\n    const cleanups = stores.map(init);\n    destroy = chain(...desyncs, ...teardowns, ...cleanups);\n    return maybeDestroy;\n  };\n  const sub = (keys, listener, set = listeners) => {\n    set.add(listener);\n    listenerKeys.set(listener, keys);\n    return () => {\n      var _a;\n      (_a = disposables.get(listener)) == null ? void 0 : _a();\n      disposables.delete(listener);\n      listenerKeys.delete(listener);\n      set.delete(listener);\n    };\n  };\n  const storeSubscribe = (keys, listener) => sub(keys, listener);\n  const storeSync = (keys, listener) => {\n    disposables.set(listener, listener(state, state));\n    return sub(keys, listener);\n  };\n  const storeBatch = (keys, listener) => {\n    disposables.set(listener, listener(state, prevStateBatch));\n    return sub(keys, listener, batchListeners);\n  };\n  const storePick = (keys) => createStore(pick(state, keys), finalStore);\n  const storeOmit = (keys) => createStore(omit(state, keys), finalStore);\n  const getState = () => state;\n  const setState = (key, value, fromStores = false) => {\n    if (!hasOwnProperty(state, key))\n      return;\n    const nextValue = applyState(value, state[key]);\n    if (nextValue === state[key])\n      return;\n    if (!fromStores) {\n      stores.forEach((store) => {\n        var _a;\n        (_a = store == null ? void 0 : store.setState) == null ? void 0 : _a.call(store, key, nextValue);\n      });\n    }\n    const prevState = state;\n    state = __spreadProps(__spreadValues({}, state), { [key]: nextValue });\n    const thisUpdate = Symbol();\n    lastUpdate = thisUpdate;\n    updatedKeys.add(key);\n    const run = (listener, prev, uKeys) => {\n      var _a;\n      const keys = listenerKeys.get(listener);\n      const updated = (k) => uKeys ? uKeys.has(k) : k === key;\n      if (!keys || keys.some(updated)) {\n        (_a = disposables.get(listener)) == null ? void 0 : _a();\n        disposables.set(listener, listener(state, prev));\n      }\n    };\n    listeners.forEach((listener) => {\n      run(listener, prevState);\n    });\n    queueMicrotask(() => {\n      if (lastUpdate !== thisUpdate)\n        return;\n      const snapshot = state;\n      batchListeners.forEach((listener) => {\n        run(listener, prevStateBatch, updatedKeys);\n      });\n      prevStateBatch = snapshot;\n      updatedKeys.clear();\n    });\n  };\n  const finalStore = {\n    getState,\n    setState,\n    __unstableInternals: {\n      setup: storeSetup,\n      init: storeInit,\n      subscribe: storeSubscribe,\n      sync: storeSync,\n      batch: storeBatch,\n      pick: storePick,\n      omit: storeOmit\n    }\n  };\n  return finalStore;\n}\nfunction setup(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"setup\")(...args);\n}\nfunction init(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"init\")(...args);\n}\nfunction subscribe(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"subscribe\")(...args);\n}\nfunction sync(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"sync\")(...args);\n}\nfunction batch(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"batch\")(...args);\n}\nfunction omit2(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"omit\")(...args);\n}\nfunction pick2(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"pick\")(...args);\n}\nfunction mergeStore(...stores) {\n  const initialState = stores.reduce((state, store2) => {\n    var _a;\n    const nextState = (_a = store2 == null ? void 0 : store2.getState) == null ? void 0 : _a.call(store2);\n    if (!nextState)\n      return state;\n    return __spreadValues(__spreadValues({}, state), nextState);\n  }, {});\n  const store = createStore(initialState, ...stores);\n  return store;\n}\nfunction throwOnConflictingProps(props, store) {\n  if (process.env.NODE_ENV === \"production\")\n    return;\n  if (!store)\n    return;\n  const defaultKeys = Object.entries(props).filter(([key, value]) => key.startsWith(\"default\") && value !== void 0).map(([key]) => {\n    var _a;\n    const stateKey = key.replace(\"default\", \"\");\n    return `${((_a = stateKey[0]) == null ? void 0 : _a.toLowerCase()) || \"\"}${stateKey.slice(1)}`;\n  });\n  if (!defaultKeys.length)\n    return;\n  const storeState = store.getState();\n  const conflictingProps = defaultKeys.filter(\n    (key) => hasOwnProperty(storeState, key)\n  );\n  if (!conflictingProps.length)\n    return;\n  throw new Error(\n    `Passing a store prop in conjunction with a default state is not supported.\n\nconst store = useSelectStore();\n<SelectProvider store={store} defaultValue=\"Apple\" />\n                ^             ^\n\nInstead, pass the default state to the topmost store:\n\nconst store = useSelectStore({ defaultValue: \"Apple\" });\n<SelectProvider store={store} />\n\nSee https://github.com/ariakit/ariakit/pull/2745 for more details.\n\nIf there's a particular need for this, please submit a feature request at https://github.com/ariakit/ariakit\n`\n  );\n}\n\nexport {\n  createStore,\n  setup,\n  init,\n  subscribe,\n  sync,\n  batch,\n  omit2 as omit,\n  pick2 as pick,\n  mergeStore,\n  throwOnConflictingProps\n};\n","\"use client\";\nimport {\n  createCollectionStore\n} from \"./22K762VQ.js\";\nimport {\n  createStore,\n  setup,\n  sync\n} from \"./EAHJFCU4.js\";\nimport {\n  defaultValue\n} from \"./Y3OOHFCN.js\";\nimport {\n  flatten2DArray,\n  reverseArray\n} from \"./7PRQYBBV.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-store.ts\nvar NULL_ITEM = { id: null };\nfunction findFirstEnabledItem(items, excludeId) {\n  return items.find((item) => {\n    if (excludeId) {\n      return !item.disabled && item.id !== excludeId;\n    }\n    return !item.disabled;\n  });\n}\nfunction getEnabledItems(items, excludeId) {\n  return items.filter((item) => {\n    if (excludeId) {\n      return !item.disabled && item.id !== excludeId;\n    }\n    return !item.disabled;\n  });\n}\nfunction getOppositeOrientation(orientation) {\n  if (orientation === \"vertical\")\n    return \"horizontal\";\n  if (orientation === \"horizontal\")\n    return \"vertical\";\n  return;\n}\nfunction getItemsInRow(items, rowId) {\n  return items.filter((item) => item.rowId === rowId);\n}\nfunction flipItems(items, activeId, shouldInsertNullItem = false) {\n  const index = items.findIndex((item) => item.id === activeId);\n  return [\n    ...items.slice(index + 1),\n    ...shouldInsertNullItem ? [NULL_ITEM] : [],\n    ...items.slice(0, index)\n  ];\n}\nfunction groupItemsByRows(items) {\n  const rows = [];\n  for (const item of items) {\n    const row = rows.find((currentRow) => {\n      var _a;\n      return ((_a = currentRow[0]) == null ? void 0 : _a.rowId) === item.rowId;\n    });\n    if (row) {\n      row.push(item);\n    } else {\n      rows.push([item]);\n    }\n  }\n  return rows;\n}\nfunction getMaxRowLength(array) {\n  let maxLength = 0;\n  for (const { length } of array) {\n    if (length > maxLength) {\n      maxLength = length;\n    }\n  }\n  return maxLength;\n}\nfunction createEmptyItem(rowId) {\n  return {\n    id: \"__EMPTY_ITEM__\",\n    disabled: true,\n    rowId\n  };\n}\nfunction normalizeRows(rows, activeId, focusShift) {\n  const maxLength = getMaxRowLength(rows);\n  for (const row of rows) {\n    for (let i = 0; i < maxLength; i += 1) {\n      const item = row[i];\n      if (!item || focusShift && item.disabled) {\n        const isFirst = i === 0;\n        const previousItem = isFirst && focusShift ? findFirstEnabledItem(row) : row[i - 1];\n        row[i] = previousItem && activeId !== previousItem.id && focusShift ? previousItem : createEmptyItem(previousItem == null ? void 0 : previousItem.rowId);\n      }\n    }\n  }\n  return rows;\n}\nfunction verticalizeItems(items) {\n  const rows = groupItemsByRows(items);\n  const maxLength = getMaxRowLength(rows);\n  const verticalized = [];\n  for (let i = 0; i < maxLength; i += 1) {\n    for (const row of rows) {\n      const item = row[i];\n      if (item) {\n        verticalized.push(__spreadProps(__spreadValues({}, item), {\n          // If there's no rowId, it means that it's not a grid composite, but\n          // a single row instead. So, instead of verticalizing it, that is,\n          // assigning a different rowId based on the column index, we keep it\n          // undefined so they will be part of the same row. This is useful\n          // when using up/down on one-dimensional composites.\n          rowId: item.rowId ? `${i}` : void 0\n        }));\n      }\n    }\n  }\n  return verticalized;\n}\nfunction createCompositeStore(props = {}) {\n  var _a;\n  const syncState = (_a = props.store) == null ? void 0 : _a.getState();\n  const collection = createCollectionStore(props);\n  const activeId = defaultValue(\n    props.activeId,\n    syncState == null ? void 0 : syncState.activeId,\n    props.defaultActiveId\n  );\n  const initialState = __spreadProps(__spreadValues({}, collection.getState()), {\n    activeId,\n    baseElement: defaultValue(syncState == null ? void 0 : syncState.baseElement, null),\n    includesBaseElement: defaultValue(\n      props.includesBaseElement,\n      syncState == null ? void 0 : syncState.includesBaseElement,\n      activeId === null\n    ),\n    moves: defaultValue(syncState == null ? void 0 : syncState.moves, 0),\n    orientation: defaultValue(\n      props.orientation,\n      syncState == null ? void 0 : syncState.orientation,\n      \"both\"\n    ),\n    rtl: defaultValue(props.rtl, syncState == null ? void 0 : syncState.rtl, false),\n    virtualFocus: defaultValue(\n      props.virtualFocus,\n      syncState == null ? void 0 : syncState.virtualFocus,\n      false\n    ),\n    focusLoop: defaultValue(props.focusLoop, syncState == null ? void 0 : syncState.focusLoop, false),\n    focusWrap: defaultValue(props.focusWrap, syncState == null ? void 0 : syncState.focusWrap, false),\n    focusShift: defaultValue(props.focusShift, syncState == null ? void 0 : syncState.focusShift, false)\n  });\n  const composite = createStore(initialState, collection, props.store);\n  setup(\n    composite,\n    () => sync(composite, [\"renderedItems\", \"activeId\"], (state) => {\n      composite.setState(\"activeId\", (activeId2) => {\n        var _a2;\n        if (activeId2 !== void 0)\n          return activeId2;\n        return (_a2 = findFirstEnabledItem(state.renderedItems)) == null ? void 0 : _a2.id;\n      });\n    })\n  );\n  const getNextId = (items, orientation, hasNullItem, skip) => {\n    var _a2, _b;\n    const { activeId: activeId2, rtl, focusLoop, focusWrap, includesBaseElement } = composite.getState();\n    const isHorizontal = orientation !== \"vertical\";\n    const isRTL = rtl && isHorizontal;\n    const allItems = isRTL ? reverseArray(items) : items;\n    if (activeId2 == null) {\n      return (_a2 = findFirstEnabledItem(allItems)) == null ? void 0 : _a2.id;\n    }\n    const activeItem = allItems.find((item) => item.id === activeId2);\n    if (!activeItem) {\n      return (_b = findFirstEnabledItem(allItems)) == null ? void 0 : _b.id;\n    }\n    const isGrid = !!activeItem.rowId;\n    const activeIndex = allItems.indexOf(activeItem);\n    const nextItems = allItems.slice(activeIndex + 1);\n    const nextItemsInRow = getItemsInRow(nextItems, activeItem.rowId);\n    if (skip !== void 0) {\n      const nextEnabledItemsInRow = getEnabledItems(nextItemsInRow, activeId2);\n      const nextItem2 = nextEnabledItemsInRow.slice(skip)[0] || // If we can't find an item, just return the last one.\n      nextEnabledItemsInRow[nextEnabledItemsInRow.length - 1];\n      return nextItem2 == null ? void 0 : nextItem2.id;\n    }\n    const oppositeOrientation = getOppositeOrientation(\n      // If it's a grid and orientation is not set, it's a next/previous call,\n      // which is inherently horizontal. up/down will call next with orientation\n      // set to vertical by default (see below on up/down methods).\n      isGrid ? orientation || \"horizontal\" : orientation\n    );\n    const canLoop = focusLoop && focusLoop !== oppositeOrientation;\n    const canWrap = isGrid && focusWrap && focusWrap !== oppositeOrientation;\n    hasNullItem = hasNullItem || !isGrid && canLoop && includesBaseElement;\n    if (canLoop) {\n      const loopItems = canWrap && !hasNullItem ? allItems : getItemsInRow(allItems, activeItem.rowId);\n      const sortedItems = flipItems(loopItems, activeId2, hasNullItem);\n      const nextItem2 = findFirstEnabledItem(sortedItems, activeId2);\n      return nextItem2 == null ? void 0 : nextItem2.id;\n    }\n    if (canWrap) {\n      const nextItem2 = findFirstEnabledItem(\n        // We can use nextItems, which contains all the next items, including\n        // items from other rows, to wrap between rows. However, if there is a\n        // null item (the composite container), we'll only use the next items in\n        // the row. So moving next from the last item will focus on the\n        // composite container. On grid composites, horizontal navigation never\n        // focuses on the composite container, only vertical.\n        hasNullItem ? nextItemsInRow : nextItems,\n        activeId2\n      );\n      const nextId = hasNullItem ? (nextItem2 == null ? void 0 : nextItem2.id) || null : nextItem2 == null ? void 0 : nextItem2.id;\n      return nextId;\n    }\n    const nextItem = findFirstEnabledItem(nextItemsInRow, activeId2);\n    if (!nextItem && hasNullItem) {\n      return null;\n    }\n    return nextItem == null ? void 0 : nextItem.id;\n  };\n  return __spreadProps(__spreadValues(__spreadValues({}, collection), composite), {\n    setBaseElement: (element) => composite.setState(\"baseElement\", element),\n    setActiveId: (id) => composite.setState(\"activeId\", id),\n    move: (id) => {\n      if (id === void 0)\n        return;\n      composite.setState(\"activeId\", id);\n      composite.setState(\"moves\", (moves) => moves + 1);\n    },\n    first: () => {\n      var _a2;\n      return (_a2 = findFirstEnabledItem(composite.getState().renderedItems)) == null ? void 0 : _a2.id;\n    },\n    last: () => {\n      var _a2;\n      return (_a2 = findFirstEnabledItem(reverseArray(composite.getState().renderedItems))) == null ? void 0 : _a2.id;\n    },\n    next: (skip) => {\n      const { renderedItems, orientation } = composite.getState();\n      return getNextId(renderedItems, orientation, false, skip);\n    },\n    previous: (skip) => {\n      var _a2;\n      const { renderedItems, orientation, includesBaseElement } = composite.getState();\n      const isGrid = !!((_a2 = findFirstEnabledItem(renderedItems)) == null ? void 0 : _a2.rowId);\n      const hasNullItem = !isGrid && includesBaseElement;\n      return getNextId(\n        reverseArray(renderedItems),\n        orientation,\n        hasNullItem,\n        skip\n      );\n    },\n    down: (skip) => {\n      const {\n        activeId: activeId2,\n        renderedItems,\n        focusShift,\n        focusLoop,\n        includesBaseElement\n      } = composite.getState();\n      const shouldShift = focusShift && !skip;\n      const verticalItems = verticalizeItems(\n        flatten2DArray(\n          normalizeRows(groupItemsByRows(renderedItems), activeId2, shouldShift)\n        )\n      );\n      const canLoop = focusLoop && focusLoop !== \"horizontal\";\n      const hasNullItem = canLoop && includesBaseElement;\n      return getNextId(verticalItems, \"vertical\", hasNullItem, skip);\n    },\n    up: (skip) => {\n      const { activeId: activeId2, renderedItems, focusShift, includesBaseElement } = composite.getState();\n      const shouldShift = focusShift && !skip;\n      const verticalItems = verticalizeItems(\n        reverseArray(\n          flatten2DArray(\n            normalizeRows(\n              groupItemsByRows(renderedItems),\n              activeId2,\n              shouldShift\n            )\n          )\n        )\n      );\n      const hasNullItem = includesBaseElement;\n      return getNextId(verticalItems, \"vertical\", hasNullItem, skip);\n    }\n  });\n}\n\nexport {\n  createCompositeStore\n};\n","\"use client\";\nimport {\n  canUseDOM\n} from \"./DLOEKDPY.js\";\n\n// src/utils/platform.ts\nfunction isTouchDevice() {\n  return canUseDOM && !!navigator.maxTouchPoints;\n}\nfunction isApple() {\n  if (!canUseDOM)\n    return false;\n  return /mac|iphone|ipad|ipod/i.test(navigator.platform);\n}\nfunction isSafari() {\n  return canUseDOM && isApple() && /apple/i.test(navigator.vendor);\n}\nfunction isFirefox() {\n  return canUseDOM && /firefox\\//i.test(navigator.userAgent);\n}\nfunction isMac() {\n  return canUseDOM && navigator.platform.startsWith(\"Mac\") && !isTouchDevice();\n}\n\nexport {\n  isTouchDevice,\n  isApple,\n  isSafari,\n  isFirefox,\n  isMac\n};\n","\"use client\";\nimport {\n  createDisclosureStore\n} from \"./Z5IGYIPT.js\";\n\n// src/dialog/dialog-store.ts\nfunction createDialogStore(props = {}) {\n  return createDisclosureStore(props);\n}\n\nexport {\n  createDialogStore\n};\n","\"use client\";\nimport {\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/misc.ts\nfunction noop(..._) {\n}\nfunction shallowEqual(a, b) {\n  if (a === b)\n    return true;\n  if (!a)\n    return false;\n  if (!b)\n    return false;\n  if (typeof a !== \"object\")\n    return false;\n  if (typeof b !== \"object\")\n    return false;\n  const aKeys = Object.keys(a);\n  const bKeys = Object.keys(b);\n  const { length } = aKeys;\n  if (bKeys.length !== length)\n    return false;\n  for (const key of aKeys) {\n    if (a[key] !== b[key]) {\n      return false;\n    }\n  }\n  return true;\n}\nfunction applyState(argument, currentValue) {\n  if (isUpdater(argument)) {\n    const value = isLazyValue(currentValue) ? currentValue() : currentValue;\n    return argument(value);\n  }\n  return argument;\n}\nfunction isUpdater(argument) {\n  return typeof argument === \"function\";\n}\nfunction isLazyValue(value) {\n  return typeof value === \"function\";\n}\nfunction isObject(arg) {\n  return typeof arg === \"object\" && arg != null;\n}\nfunction isEmpty(arg) {\n  if (Array.isArray(arg))\n    return !arg.length;\n  if (isObject(arg))\n    return !Object.keys(arg).length;\n  if (arg == null)\n    return true;\n  if (arg === \"\")\n    return true;\n  return false;\n}\nfunction isInteger(arg) {\n  if (typeof arg === \"number\") {\n    return Math.floor(arg) === arg;\n  }\n  return String(Math.floor(Number(arg))) === arg;\n}\nfunction hasOwnProperty(object, prop) {\n  if (typeof Object.hasOwn === \"function\") {\n    return Object.hasOwn(object, prop);\n  }\n  return Object.prototype.hasOwnProperty.call(object, prop);\n}\nfunction chain(...fns) {\n  return (...args) => {\n    for (const fn of fns) {\n      if (typeof fn === \"function\") {\n        fn(...args);\n      }\n    }\n  };\n}\nfunction cx(...args) {\n  return args.filter(Boolean).join(\" \") || void 0;\n}\nfunction normalizeString(str) {\n  return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n}\nfunction omit(object, keys) {\n  const result = __spreadValues({}, object);\n  for (const key of keys) {\n    if (hasOwnProperty(result, key)) {\n      delete result[key];\n    }\n  }\n  return result;\n}\nfunction pick(object, paths) {\n  const result = {};\n  for (const key of paths) {\n    if (hasOwnProperty(object, key)) {\n      result[key] = object[key];\n    }\n  }\n  return result;\n}\nfunction identity(value) {\n  return value;\n}\nfunction beforePaint(cb = noop) {\n  const raf = requestAnimationFrame(cb);\n  return () => cancelAnimationFrame(raf);\n}\nfunction afterPaint(cb = noop) {\n  let raf = requestAnimationFrame(() => {\n    raf = requestAnimationFrame(cb);\n  });\n  return () => cancelAnimationFrame(raf);\n}\nfunction invariant(condition, message) {\n  if (condition)\n    return;\n  if (typeof message !== \"string\")\n    throw new Error(\"Invariant failed\");\n  throw new Error(message);\n}\nfunction getKeys(obj) {\n  return Object.keys(obj);\n}\nfunction isFalsyBooleanCallback(booleanOrCallback, ...args) {\n  const result = typeof booleanOrCallback === \"function\" ? booleanOrCallback(...args) : booleanOrCallback;\n  if (result == null)\n    return false;\n  return !result;\n}\nfunction disabledFromProps(props) {\n  return props.disabled || props[\"aria-disabled\"] === true || props[\"aria-disabled\"] === \"true\";\n}\nfunction defaultValue(...values) {\n  for (const value of values) {\n    if (value !== void 0)\n      return value;\n  }\n  return void 0;\n}\n\nexport {\n  noop,\n  shallowEqual,\n  applyState,\n  isObject,\n  isEmpty,\n  isInteger,\n  hasOwnProperty,\n  chain,\n  cx,\n  normalizeString,\n  omit,\n  pick,\n  identity,\n  beforePaint,\n  afterPaint,\n  invariant,\n  getKeys,\n  isFalsyBooleanCallback,\n  disabledFromProps,\n  defaultValue\n};\n","\"use client\";\nimport {\n  createStore,\n  mergeStore,\n  omit,\n  setup,\n  subscribe,\n  sync,\n  throwOnConflictingProps\n} from \"./EAHJFCU4.js\";\nimport {\n  defaultValue\n} from \"./Y3OOHFCN.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/disclosure/disclosure-store.ts\nfunction createDisclosureStore(props = {}) {\n  const store = mergeStore(\n    props.store,\n    omit(props.disclosure, [\"contentElement\", \"disclosureElement\"])\n  );\n  throwOnConflictingProps(props, store);\n  const syncState = store == null ? void 0 : store.getState();\n  const open = defaultValue(\n    props.open,\n    syncState == null ? void 0 : syncState.open,\n    props.defaultOpen,\n    false\n  );\n  const animated = defaultValue(props.animated, syncState == null ? void 0 : syncState.animated, false);\n  const initialState = {\n    open,\n    animated,\n    animating: !!animated && open,\n    mounted: open,\n    contentElement: defaultValue(syncState == null ? void 0 : syncState.contentElement, null),\n    disclosureElement: defaultValue(syncState == null ? void 0 : syncState.disclosureElement, null)\n  };\n  const disclosure = createStore(initialState, store);\n  setup(\n    disclosure,\n    () => sync(disclosure, [\"animated\", \"animating\"], (state) => {\n      if (state.animated)\n        return;\n      disclosure.setState(\"animating\", false);\n    })\n  );\n  setup(\n    disclosure,\n    () => subscribe(disclosure, [\"open\"], () => {\n      if (!disclosure.getState().animated)\n        return;\n      disclosure.setState(\"animating\", true);\n    })\n  );\n  setup(\n    disclosure,\n    () => sync(disclosure, [\"open\", \"animating\"], (state) => {\n      disclosure.setState(\"mounted\", state.open || state.animating);\n    })\n  );\n  return __spreadProps(__spreadValues({}, disclosure), {\n    setOpen: (value) => disclosure.setState(\"open\", value),\n    show: () => disclosure.setState(\"open\", true),\n    hide: () => disclosure.setState(\"open\", false),\n    toggle: () => disclosure.setState(\"open\", (open2) => !open2),\n    stopAnimation: () => disclosure.setState(\"animating\", false),\n    setContentElement: (value) => disclosure.setState(\"contentElement\", value),\n    setDisclosureElement: (value) => disclosure.setState(\"disclosureElement\", value)\n  });\n}\n\nexport {\n  createDisclosureStore\n};\n","\"use client\";\nimport {\n  createPopoverStore\n} from \"../__chunks/AF6IUUFN.js\";\nimport \"../__chunks/SX2XFD6A.js\";\nimport \"../__chunks/Z5IGYIPT.js\";\nimport {\n  createCompositeStore\n} from \"../__chunks/IERTEJ3A.js\";\nimport \"../__chunks/22K762VQ.js\";\nimport {\n  batch,\n  createStore,\n  setup,\n  sync,\n  throwOnConflictingProps\n} from \"../__chunks/EAHJFCU4.js\";\nimport {\n  defaultValue\n} from \"../__chunks/Y3OOHFCN.js\";\nimport {\n  isSafari,\n  isTouchDevice\n} from \"../__chunks/MHPO2BXA.js\";\nimport \"../__chunks/DLOEKDPY.js\";\nimport \"../__chunks/7PRQYBBV.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-store.ts\nvar isSafariOnMobile = isSafari() && isTouchDevice();\nfunction createComboboxStore(props = {}) {\n  var _a;\n  throwOnConflictingProps(props, props.store);\n  const syncState = (_a = props.store) == null ? void 0 : _a.getState();\n  const activeId = defaultValue(\n    props.activeId,\n    syncState == null ? void 0 : syncState.activeId,\n    props.defaultActiveId,\n    null\n  );\n  const composite = createCompositeStore(__spreadProps(__spreadValues({}, props), {\n    activeId,\n    includesBaseElement: defaultValue(\n      props.includesBaseElement,\n      syncState == null ? void 0 : syncState.includesBaseElement,\n      true\n    ),\n    orientation: defaultValue(\n      props.orientation,\n      syncState == null ? void 0 : syncState.orientation,\n      \"vertical\"\n    ),\n    focusLoop: defaultValue(props.focusLoop, syncState == null ? void 0 : syncState.focusLoop, true),\n    focusWrap: defaultValue(props.focusWrap, syncState == null ? void 0 : syncState.focusWrap, true),\n    virtualFocus: defaultValue(\n      props.virtualFocus,\n      syncState == null ? void 0 : syncState.virtualFocus,\n      !isSafariOnMobile\n    )\n  }));\n  const popover = createPopoverStore(__spreadProps(__spreadValues({}, props), {\n    placement: defaultValue(\n      props.placement,\n      syncState == null ? void 0 : syncState.placement,\n      \"bottom-start\"\n    )\n  }));\n  const value = defaultValue(\n    props.value,\n    syncState == null ? void 0 : syncState.value,\n    props.defaultValue,\n    \"\"\n  );\n  const selectedValue = defaultValue(\n    props.selectedValue,\n    syncState == null ? void 0 : syncState.selectedValue,\n    props.defaultSelectedValue,\n    \"\"\n  );\n  const multiSelectable = Array.isArray(selectedValue);\n  const initialState = __spreadProps(__spreadValues(__spreadValues({}, composite.getState()), popover.getState()), {\n    value,\n    selectedValue,\n    resetValueOnSelect: defaultValue(\n      props.resetValueOnSelect,\n      syncState == null ? void 0 : syncState.resetValueOnSelect,\n      multiSelectable\n    ),\n    resetValueOnHide: defaultValue(\n      props.resetValueOnHide,\n      syncState == null ? void 0 : syncState.resetValueOnHide,\n      multiSelectable\n    ),\n    activeValue: syncState == null ? void 0 : syncState.activeValue\n  });\n  const combobox = createStore(initialState, composite, popover, props.store);\n  setup(\n    combobox,\n    () => sync(combobox, [\"resetValueOnHide\", \"mounted\"], (state) => {\n      if (!state.resetValueOnHide)\n        return;\n      if (state.mounted)\n        return;\n      combobox.setState(\"value\", value);\n    })\n  );\n  setup(\n    combobox,\n    () => sync(combobox, [\"resetValueOnSelect\", \"selectedValue\"], (state) => {\n      if (!state.resetValueOnSelect)\n        return;\n      combobox.setState(\"value\", value);\n    })\n  );\n  setup(\n    combobox,\n    () => batch(combobox, [\"mounted\"], (state) => {\n      if (state.mounted)\n        return;\n      combobox.setState(\"activeId\", activeId);\n      combobox.setState(\"moves\", 0);\n    })\n  );\n  setup(\n    combobox,\n    () => sync(combobox, [\"moves\", \"activeId\"], (state, prevState) => {\n      if (state.moves === prevState.moves) {\n        combobox.setState(\"activeValue\", void 0);\n      }\n    })\n  );\n  setup(\n    combobox,\n    () => batch(combobox, [\"moves\", \"renderedItems\"], (state, prev) => {\n      if (state.moves === prev.moves)\n        return;\n      const { activeId: activeId2 } = combobox.getState();\n      const activeItem = composite.item(activeId2);\n      combobox.setState(\"activeValue\", activeItem == null ? void 0 : activeItem.value);\n    })\n  );\n  return __spreadProps(__spreadValues(__spreadValues(__spreadValues({}, popover), composite), combobox), {\n    setValue: (value2) => combobox.setState(\"value\", value2),\n    setSelectedValue: (selectedValue2) => combobox.setState(\"selectedValue\", selectedValue2)\n  });\n}\nexport {\n  createComboboxStore\n};\n","\"use client\";\nimport {\n  isApple\n} from \"../__chunks/MHPO2BXA.js\";\nimport {\n  contains\n} from \"../__chunks/DLOEKDPY.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/utils/events.ts\nfunction isPortalEvent(event) {\n  return Boolean(\n    event.currentTarget && !contains(event.currentTarget, event.target)\n  );\n}\nfunction isSelfTarget(event) {\n  return event.target === event.currentTarget;\n}\nfunction isOpeningInNewTab(event) {\n  const element = event.currentTarget;\n  if (!element)\n    return false;\n  const isAppleDevice = isApple();\n  if (isAppleDevice && !event.metaKey)\n    return false;\n  if (!isAppleDevice && !event.ctrlKey)\n    return false;\n  const tagName = element.tagName.toLowerCase();\n  if (tagName === \"a\")\n    return true;\n  if (tagName === \"button\" && element.type === \"submit\")\n    return true;\n  if (tagName === \"input\" && element.type === \"submit\")\n    return true;\n  return false;\n}\nfunction isDownloading(event) {\n  const element = event.currentTarget;\n  if (!element)\n    return false;\n  const tagName = element.tagName.toLowerCase();\n  if (!event.altKey)\n    return false;\n  if (tagName === \"a\")\n    return true;\n  if (tagName === \"button\" && element.type === \"submit\")\n    return true;\n  if (tagName === \"input\" && element.type === \"submit\")\n    return true;\n  return false;\n}\nfunction fireEvent(element, type, eventInit) {\n  const event = new Event(type, eventInit);\n  return element.dispatchEvent(event);\n}\nfunction fireBlurEvent(element, eventInit) {\n  const event = new FocusEvent(\"blur\", eventInit);\n  const defaultAllowed = element.dispatchEvent(event);\n  const bubbleInit = __spreadProps(__spreadValues({}, eventInit), { bubbles: true });\n  element.dispatchEvent(new FocusEvent(\"focusout\", bubbleInit));\n  return defaultAllowed;\n}\nfunction fireFocusEvent(element, eventInit) {\n  const event = new FocusEvent(\"focus\", eventInit);\n  const defaultAllowed = element.dispatchEvent(event);\n  const bubbleInit = __spreadProps(__spreadValues({}, eventInit), { bubbles: true });\n  element.dispatchEvent(new FocusEvent(\"focusin\", bubbleInit));\n  return defaultAllowed;\n}\nfunction fireKeyboardEvent(element, type, eventInit) {\n  const event = new KeyboardEvent(type, eventInit);\n  return element.dispatchEvent(event);\n}\nfunction fireClickEvent(element, eventInit) {\n  const event = new MouseEvent(\"click\", eventInit);\n  return element.dispatchEvent(event);\n}\nfunction isFocusEventOutside(event, container) {\n  const containerElement = container || event.currentTarget;\n  const relatedTarget = event.relatedTarget;\n  return !relatedTarget || !contains(containerElement, relatedTarget);\n}\nfunction queueBeforeEvent(element, type, callback) {\n  const raf = requestAnimationFrame(() => {\n    element.removeEventListener(type, callImmediately, true);\n    callback();\n  });\n  const callImmediately = () => {\n    cancelAnimationFrame(raf);\n    callback();\n  };\n  element.addEventListener(type, callImmediately, {\n    once: true,\n    capture: true\n  });\n  return raf;\n}\nfunction addGlobalEventListener(type, listener, options, scope = window) {\n  const children = [];\n  try {\n    scope.document.addEventListener(type, listener, options);\n    for (const frame of Array.from(scope.frames)) {\n      children.push(addGlobalEventListener(type, listener, options, frame));\n    }\n  } catch (e) {\n  }\n  const removeEventListener = () => {\n    try {\n      scope.document.removeEventListener(type, listener, options);\n    } catch (e) {\n    }\n    children.forEach((remove) => remove());\n  };\n  return removeEventListener;\n}\nexport {\n  addGlobalEventListener,\n  fireBlurEvent,\n  fireClickEvent,\n  fireEvent,\n  fireFocusEvent,\n  fireKeyboardEvent,\n  isDownloading,\n  isFocusEventOutside,\n  isOpeningInNewTab,\n  isPortalEvent,\n  isSelfTarget,\n  queueBeforeEvent\n};\n","\"use client\";\nimport {\n  closest,\n  contains,\n  getActiveElement,\n  isFrame,\n  isVisible,\n  matches\n} from \"../__chunks/DLOEKDPY.js\";\nimport {\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/utils/focus.ts\nvar selector = \"input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false'])\";\nfunction hasNegativeTabIndex(element) {\n  const tabIndex = parseInt(element.getAttribute(\"tabindex\") || \"0\", 10);\n  return tabIndex < 0;\n}\nfunction isFocusable(element) {\n  if (!matches(element, selector))\n    return false;\n  if (!isVisible(element))\n    return false;\n  if (closest(element, \"[inert]\"))\n    return false;\n  return true;\n}\nfunction isTabbable(element) {\n  if (!isFocusable(element))\n    return false;\n  if (hasNegativeTabIndex(element))\n    return false;\n  if (!(\"form\" in element))\n    return true;\n  if (!element.form)\n    return true;\n  if (element.checked)\n    return true;\n  if (element.type !== \"radio\")\n    return true;\n  const radioGroup = element.form.elements.namedItem(element.name);\n  if (!radioGroup)\n    return true;\n  if (!(\"length\" in radioGroup))\n    return true;\n  const activeElement = getActiveElement(element);\n  if (!activeElement)\n    return true;\n  if (activeElement === element)\n    return true;\n  if (!(\"form\" in activeElement))\n    return true;\n  if (activeElement.form !== element.form)\n    return true;\n  if (activeElement.name !== element.name)\n    return true;\n  return false;\n}\nfunction getAllFocusableIn(container, includeContainer) {\n  const elements = Array.from(\n    container.querySelectorAll(selector)\n  );\n  if (includeContainer) {\n    elements.unshift(container);\n  }\n  const focusableElements = elements.filter(isFocusable);\n  focusableElements.forEach((element, i) => {\n    if (isFrame(element) && element.contentDocument) {\n      const frameBody = element.contentDocument.body;\n      focusableElements.splice(i, 1, ...getAllFocusableIn(frameBody));\n    }\n  });\n  return focusableElements;\n}\nfunction getAllFocusable(includeBody) {\n  return getAllFocusableIn(document.body, includeBody);\n}\nfunction getFirstFocusableIn(container, includeContainer) {\n  const [first] = getAllFocusableIn(container, includeContainer);\n  return first || null;\n}\nfunction getFirstFocusable(includeBody) {\n  return getFirstFocusableIn(document.body, includeBody);\n}\nfunction getAllTabbableIn(container, includeContainer, fallbackToFocusable) {\n  const elements = Array.from(\n    container.querySelectorAll(selector)\n  );\n  const tabbableElements = elements.filter(isTabbable);\n  if (includeContainer && isTabbable(container)) {\n    tabbableElements.unshift(container);\n  }\n  tabbableElements.forEach((element, i) => {\n    if (isFrame(element) && element.contentDocument) {\n      const frameBody = element.contentDocument.body;\n      const allFrameTabbable = getAllTabbableIn(\n        frameBody,\n        false,\n        fallbackToFocusable\n      );\n      tabbableElements.splice(i, 1, ...allFrameTabbable);\n    }\n  });\n  if (!tabbableElements.length && fallbackToFocusable) {\n    return elements;\n  }\n  return tabbableElements;\n}\nfunction getAllTabbable(fallbackToFocusable) {\n  return getAllTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getFirstTabbableIn(container, includeContainer, fallbackToFocusable) {\n  const [first] = getAllTabbableIn(\n    container,\n    includeContainer,\n    fallbackToFocusable\n  );\n  return first || null;\n}\nfunction getFirstTabbable(fallbackToFocusable) {\n  return getFirstTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getLastTabbableIn(container, includeContainer, fallbackToFocusable) {\n  const allTabbable = getAllTabbableIn(\n    container,\n    includeContainer,\n    fallbackToFocusable\n  );\n  return allTabbable[allTabbable.length - 1] || null;\n}\nfunction getLastTabbable(fallbackToFocusable) {\n  return getLastTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getNextTabbableIn(container, includeContainer, fallbackToFirst, fallbackToFocusable) {\n  const activeElement = getActiveElement(container);\n  const allFocusable = getAllFocusableIn(container, includeContainer);\n  const activeIndex = allFocusable.indexOf(activeElement);\n  const nextFocusableElements = allFocusable.slice(activeIndex + 1);\n  return nextFocusableElements.find(isTabbable) || (fallbackToFirst ? allFocusable.find(isTabbable) : null) || (fallbackToFocusable ? nextFocusableElements[0] : null) || null;\n}\nfunction getNextTabbable(fallbackToFirst, fallbackToFocusable) {\n  return getNextTabbableIn(\n    document.body,\n    false,\n    fallbackToFirst,\n    fallbackToFocusable\n  );\n}\nfunction getPreviousTabbableIn(container, includeContainer, fallbackToLast, fallbackToFocusable) {\n  const activeElement = getActiveElement(container);\n  const allFocusable = getAllFocusableIn(container, includeContainer).reverse();\n  const activeIndex = allFocusable.indexOf(activeElement);\n  const previousFocusableElements = allFocusable.slice(activeIndex + 1);\n  return previousFocusableElements.find(isTabbable) || (fallbackToLast ? allFocusable.find(isTabbable) : null) || (fallbackToFocusable ? previousFocusableElements[0] : null) || null;\n}\nfunction getPreviousTabbable(fallbackToFirst, fallbackToFocusable) {\n  return getPreviousTabbableIn(\n    document.body,\n    false,\n    fallbackToFirst,\n    fallbackToFocusable\n  );\n}\nfunction getClosestFocusable(element) {\n  while (element && !isFocusable(element)) {\n    element = closest(element, selector);\n  }\n  return element || null;\n}\nfunction hasFocus(element) {\n  const activeElement = getActiveElement(element);\n  if (!activeElement)\n    return false;\n  if (activeElement === element)\n    return true;\n  const activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n  if (!activeDescendant)\n    return false;\n  return activeDescendant === element.id;\n}\nfunction hasFocusWithin(element) {\n  const activeElement = getActiveElement(element);\n  if (!activeElement)\n    return false;\n  if (contains(element, activeElement))\n    return true;\n  const activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n  if (!activeDescendant)\n    return false;\n  if (!(\"id\" in element))\n    return false;\n  if (activeDescendant === element.id)\n    return true;\n  return !!element.querySelector(`#${CSS.escape(activeDescendant)}`);\n}\nfunction focusIfNeeded(element) {\n  if (!hasFocusWithin(element) && isFocusable(element)) {\n    element.focus();\n  }\n}\nfunction disableFocus(element) {\n  var _a;\n  const currentTabindex = (_a = element.getAttribute(\"tabindex\")) != null ? _a : \"\";\n  element.setAttribute(\"data-tabindex\", currentTabindex);\n  element.setAttribute(\"tabindex\", \"-1\");\n}\nfunction disableFocusIn(container, includeContainer) {\n  const tabbableElements = getAllTabbableIn(container, includeContainer);\n  tabbableElements.forEach(disableFocus);\n}\nfunction restoreFocusIn(container) {\n  const elements = container.querySelectorAll(\"[data-tabindex]\");\n  const restoreTabIndex = (element) => {\n    const tabindex = element.getAttribute(\"data-tabindex\");\n    element.removeAttribute(\"data-tabindex\");\n    if (tabindex) {\n      element.setAttribute(\"tabindex\", tabindex);\n    } else {\n      element.removeAttribute(\"tabindex\");\n    }\n  };\n  if (container.hasAttribute(\"data-tabindex\")) {\n    restoreTabIndex(container);\n  }\n  elements.forEach(restoreTabIndex);\n}\nfunction focusIntoView(element, options) {\n  if (!(\"scrollIntoView\" in element)) {\n    element.focus();\n  } else {\n    element.focus({ preventScroll: true });\n    element.scrollIntoView(__spreadValues({ block: \"nearest\", inline: \"nearest\" }, options));\n  }\n}\nexport {\n  disableFocus,\n  disableFocusIn,\n  focusIfNeeded,\n  focusIntoView,\n  getAllFocusable,\n  getAllFocusableIn,\n  getAllTabbable,\n  getAllTabbableIn,\n  getClosestFocusable,\n  getFirstFocusable,\n  getFirstFocusableIn,\n  getFirstTabbable,\n  getFirstTabbableIn,\n  getLastTabbable,\n  getLastTabbableIn,\n  getNextTabbable,\n  getNextTabbableIn,\n  getPreviousTabbable,\n  getPreviousTabbableIn,\n  hasFocus,\n  hasFocusWithin,\n  isFocusable,\n  isTabbable,\n  restoreFocusIn\n};\n","\"use client\";\nimport {\n  flipItems\n} from \"./3IEDWLST.js\";\nimport {\n  useCompositeContext\n} from \"./IB7YUKH5.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useEvent\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-typeahead.ts\nimport { useRef } from \"react\";\nimport { isTextField } from \"@ariakit/core/utils/dom\";\nimport { isSelfTarget } from \"@ariakit/core/utils/events\";\nimport { invariant, normalizeString } from \"@ariakit/core/utils/misc\";\nvar chars = \"\";\nfunction clearChars() {\n  chars = \"\";\n}\nfunction isValidTypeaheadEvent(event) {\n  const target = event.target;\n  if (target && isTextField(target))\n    return false;\n  if (event.key === \" \" && chars.length)\n    return true;\n  return event.key.length === 1 && !event.ctrlKey && !event.altKey && !event.metaKey && /^[\\p{Letter}\\p{Number}]$/u.test(event.key);\n}\nfunction isSelfTargetOrItem(event, items) {\n  if (isSelfTarget(event))\n    return true;\n  const target = event.target;\n  if (!target)\n    return false;\n  const isItem = items.some((item) => item.element === target);\n  return isItem;\n}\nfunction getEnabledItems(items) {\n  return items.filter((item) => !item.disabled);\n}\nfunction itemTextStartsWith(item, text) {\n  var _a;\n  const itemText = ((_a = item.element) == null ? void 0 : _a.textContent) || item.children;\n  if (!itemText)\n    return false;\n  return normalizeString(itemText).trim().toLowerCase().startsWith(text.toLowerCase());\n}\nfunction getSameInitialItems(items, char, activeId) {\n  if (!activeId)\n    return items;\n  const activeItem = items.find((item) => item.id === activeId);\n  if (!activeItem)\n    return items;\n  if (!itemTextStartsWith(activeItem, char))\n    return items;\n  if (chars !== char && itemTextStartsWith(activeItem, chars))\n    return items;\n  chars = char;\n  return flipItems(\n    items.filter((item) => itemTextStartsWith(item, chars)),\n    activeId\n  ).filter((item) => item.id !== activeId);\n}\nvar useCompositeTypeahead = createHook(\n  (_a) => {\n    var _b = _a, { store, typeahead = true } = _b, props = __objRest(_b, [\"store\", \"typeahead\"]);\n    const context = useCompositeContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"CompositeTypeahead must be a Composite component\"\n    );\n    const onKeyDownCaptureProp = props.onKeyDownCapture;\n    const cleanupTimeoutRef = useRef(0);\n    const onKeyDownCapture = useEvent(\n      (event) => {\n        onKeyDownCaptureProp == null ? void 0 : onKeyDownCaptureProp(event);\n        if (event.defaultPrevented)\n          return;\n        if (!typeahead)\n          return;\n        if (!store)\n          return;\n        const { items, activeId } = store.getState();\n        if (!isValidTypeaheadEvent(event))\n          return clearChars();\n        let enabledItems = getEnabledItems(items);\n        if (!isSelfTargetOrItem(event, enabledItems))\n          return clearChars();\n        event.preventDefault();\n        window.clearTimeout(cleanupTimeoutRef.current);\n        cleanupTimeoutRef.current = window.setTimeout(() => {\n          chars = \"\";\n        }, 500);\n        const char = event.key.toLowerCase();\n        chars += char;\n        enabledItems = getSameInitialItems(enabledItems, char, activeId);\n        const item = enabledItems.find(\n          (item2) => itemTextStartsWith(item2, chars)\n        );\n        if (item) {\n          store.move(item.id);\n        } else {\n          clearChars();\n        }\n      }\n    );\n    props = __spreadProps(__spreadValues({}, props), {\n      onKeyDownCapture\n    });\n    return props;\n  }\n);\nvar CompositeTypeahead = createComponent(\n  (props) => {\n    const htmlProps = useCompositeTypeahead(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  CompositeTypeahead.displayName = \"CompositeTypeahead\";\n}\n\nexport {\n  useCompositeTypeahead,\n  CompositeTypeahead\n};\n","\"use client\";\n\n// src/composite/utils.ts\nimport { getDocument, isTextField } from \"@ariakit/core/utils/dom\";\nvar NULL_ITEM = { id: null };\nfunction flipItems(items, activeId, shouldInsertNullItem = false) {\n  const index = items.findIndex((item) => item.id === activeId);\n  return [\n    ...items.slice(index + 1),\n    ...shouldInsertNullItem ? [NULL_ITEM] : [],\n    ...items.slice(0, index)\n  ];\n}\nfunction findFirstEnabledItem(items, excludeId) {\n  return items.find((item) => {\n    if (excludeId) {\n      return !item.disabled && item.id !== excludeId;\n    }\n    return !item.disabled;\n  });\n}\nfunction getEnabledItem(store, id) {\n  if (!id)\n    return null;\n  return store.item(id) || null;\n}\nfunction groupItemsByRows(items) {\n  const rows = [];\n  for (const item of items) {\n    const row = rows.find((currentRow) => {\n      var _a;\n      return ((_a = currentRow[0]) == null ? void 0 : _a.rowId) === item.rowId;\n    });\n    if (row) {\n      row.push(item);\n    } else {\n      rows.push([item]);\n    }\n  }\n  return rows;\n}\nfunction selectTextField(element, collapseToEnd = false) {\n  if (isTextField(element)) {\n    element.setSelectionRange(\n      collapseToEnd ? element.value.length : 0,\n      element.value.length\n    );\n  } else if (element.isContentEditable) {\n    const selection = getDocument(element).getSelection();\n    selection == null ? void 0 : selection.selectAllChildren(element);\n    if (collapseToEnd) {\n      selection == null ? void 0 : selection.collapseToEnd();\n    }\n  }\n}\nvar FOCUS_SILENTLY = Symbol(\"FOCUS_SILENTLY\");\nfunction focusSilently(element) {\n  element[FOCUS_SILENTLY] = true;\n  element.focus({ preventScroll: true });\n}\nfunction silentlyFocused(element) {\n  const isSilentlyFocused = element[FOCUS_SILENTLY];\n  delete element[FOCUS_SILENTLY];\n  return isSilentlyFocused;\n}\nfunction isItem(store, element, exclude) {\n  if (!element)\n    return false;\n  if (element === exclude)\n    return false;\n  const item = store.item(element.id);\n  if (!item)\n    return false;\n  if (exclude && item.element === exclude)\n    return false;\n  return true;\n}\n\nexport {\n  flipItems,\n  findFirstEnabledItem,\n  getEnabledItem,\n  groupItemsByRows,\n  selectTextField,\n  focusSilently,\n  silentlyFocused,\n  isItem\n};\n","\"use client\";\nimport {\n  useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n  getRefProperty,\n  mergeProps\n} from \"./XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/system.tsx\nimport * as React from \"react\";\nimport { hasOwnProperty } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction isRenderProp(children) {\n  return typeof children === \"function\";\n}\nfunction forwardRef2(render) {\n  const Role = React.forwardRef((props, ref) => render(__spreadProps(__spreadValues({}, props), { ref })));\n  Role.displayName = render.displayName || render.name;\n  return Role;\n}\nfunction memo2(Component, propsAreEqual) {\n  const Role = React.memo(Component, propsAreEqual);\n  Role.displayName = Component.displayName || Component.name;\n  return Role;\n}\nfunction createComponent(render) {\n  const Role = (props, ref) => render(__spreadValues({ ref }, props));\n  return React.forwardRef(Role);\n}\nfunction createMemoComponent(render) {\n  const Role = createComponent(render);\n  return React.memo(Role);\n}\nfunction createElement(Type, props) {\n  const _a = props, { as: As, wrapElement, render } = _a, rest = __objRest(_a, [\"as\", \"wrapElement\", \"render\"]);\n  let element;\n  const mergedRef = useMergeRefs(props.ref, getRefProperty(render));\n  if (process.env.NODE_ENV !== \"production\") {\n    React.useEffect(() => {\n      if (!As)\n        return;\n      console.warn(\n        \"The `as` prop is deprecated. Use the `render` prop instead.\",\n        \"See https://ariakit.org/guide/composition\"\n      );\n    }, [As]);\n  }\n  if (As && typeof As !== \"string\") {\n    element = /* @__PURE__ */ jsx(As, __spreadProps(__spreadValues({}, rest), { render }));\n  } else if (React.isValidElement(render)) {\n    const renderProps = __spreadProps(__spreadValues({}, render.props), { ref: mergedRef });\n    element = React.cloneElement(render, mergeProps(rest, renderProps));\n  } else if (render) {\n    element = render(rest);\n  } else if (isRenderProp(props.children)) {\n    if (process.env.NODE_ENV !== \"production\") {\n      React.useEffect(() => {\n        console.warn(\n          \"The `children` prop as a function is deprecated. Use the `render` prop instead.\",\n          \"See https://ariakit.org/guide/composition\"\n        );\n      }, []);\n    }\n    const _b = rest, { children } = _b, otherProps = __objRest(_b, [\"children\"]);\n    element = props.children(otherProps);\n  } else if (As) {\n    element = /* @__PURE__ */ jsx(As, __spreadValues({}, rest));\n  } else {\n    element = /* @__PURE__ */ jsx(Type, __spreadValues({}, rest));\n  }\n  if (wrapElement) {\n    return wrapElement(element);\n  }\n  return element;\n}\nfunction createHook(useProps) {\n  const useRole = (props = {}) => {\n    const htmlProps = useProps(props);\n    const copy = {};\n    for (const prop in htmlProps) {\n      if (hasOwnProperty(htmlProps, prop) && htmlProps[prop] !== void 0) {\n        copy[prop] = htmlProps[prop];\n      }\n    }\n    return copy;\n  };\n  return useRole;\n}\nfunction createStoreContext(providers = [], scopedProviders = []) {\n  const context = React.createContext(void 0);\n  const scopedContext = React.createContext(void 0);\n  const useContext2 = () => React.useContext(context);\n  const useScopedContext = (onlyScoped = false) => {\n    const scoped = React.useContext(scopedContext);\n    const store = useContext2();\n    if (onlyScoped)\n      return scoped;\n    return scoped || store;\n  };\n  const useProviderContext = () => {\n    const scoped = React.useContext(scopedContext);\n    const store = useContext2();\n    if (scoped && scoped === store)\n      return;\n    return store;\n  };\n  const ContextProvider = (props) => {\n    return providers.reduceRight(\n      (children, Provider) => /* @__PURE__ */ jsx(Provider, __spreadProps(__spreadValues({}, props), { children })),\n      /* @__PURE__ */ jsx(context.Provider, __spreadValues({}, props))\n    );\n  };\n  const ScopedContextProvider = (props) => {\n    return /* @__PURE__ */ jsx(ContextProvider, __spreadProps(__spreadValues({}, props), { children: scopedProviders.reduceRight(\n      (children, Provider) => /* @__PURE__ */ jsx(Provider, __spreadProps(__spreadValues({}, props), { children })),\n      /* @__PURE__ */ jsx(scopedContext.Provider, __spreadValues({}, props))\n    ) }));\n  };\n  return {\n    context,\n    scopedContext,\n    useContext: useContext2,\n    useScopedContext,\n    useProviderContext,\n    ContextProvider,\n    ScopedContextProvider\n  };\n}\n\nexport {\n  forwardRef2 as forwardRef,\n  memo2 as memo,\n  createComponent,\n  createMemoComponent,\n  createElement,\n  createHook,\n  createStoreContext\n};\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n  for (var prop in b || (b = {}))\n    if (__hasOwnProp.call(b, prop))\n      __defNormalProp(a, prop, b[prop]);\n  if (__getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(b)) {\n      if (__propIsEnum.call(b, prop))\n        __defNormalProp(a, prop, b[prop]);\n    }\n  return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n  var target = {};\n  for (var prop in source)\n    if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n      target[prop] = source[prop];\n  if (source != null && __getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(source)) {\n      if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n        target[prop] = source[prop];\n    }\n  return target;\n};\n\nexport {\n  __spreadValues,\n  __spreadProps,\n  __objRest\n};\n","\"use client\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/collection/collection-context.tsx\nvar ctx = createStoreContext();\nvar useCollectionContext = ctx.useContext;\nvar useCollectionScopedContext = ctx.useScopedContext;\nvar useCollectionProviderContext = ctx.useProviderContext;\nvar CollectionContextProvider = ctx.ContextProvider;\nvar CollectionScopedContextProvider = ctx.ScopedContextProvider;\n\nexport {\n  useCollectionContext,\n  useCollectionScopedContext,\n  useCollectionProviderContext,\n  CollectionContextProvider,\n  CollectionScopedContextProvider\n};\n","\"use client\";\nimport {\n  setRef\n} from \"./XM66DUTO.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/hooks.ts\nimport {\n  useCallback,\n  useEffect,\n  useLayoutEffect,\n  useMemo,\n  useReducer,\n  useRef,\n  useState\n} from \"react\";\nimport * as React from \"react\";\nimport { canUseDOM } from \"@ariakit/core/utils/dom\";\nimport { addGlobalEventListener } from \"@ariakit/core/utils/events\";\nimport { applyState } from \"@ariakit/core/utils/misc\";\nvar _React = __spreadValues({}, React);\nvar useReactId = _React.useId;\nvar useReactDeferredValue = _React.useDeferredValue;\nvar useReactInsertionEffect = _React.useInsertionEffect;\nvar useSafeLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\nfunction useInitialValue(value) {\n  const [initialValue] = useState(value);\n  return initialValue;\n}\nfunction useLazyValue(init) {\n  const ref = useRef();\n  if (ref.current === void 0) {\n    ref.current = init();\n  }\n  return ref.current;\n}\nfunction useLiveRef(value) {\n  const ref = useRef(value);\n  useSafeLayoutEffect(() => {\n    ref.current = value;\n  });\n  return ref;\n}\nfunction usePreviousValue(value) {\n  const [previousValue, setPreviousValue] = useState(value);\n  if (value !== previousValue) {\n    setPreviousValue(value);\n  }\n  return previousValue;\n}\nfunction useEvent(callback) {\n  const ref = useRef(() => {\n    throw new Error(\"Cannot call an event handler while rendering.\");\n  });\n  if (useReactInsertionEffect) {\n    useReactInsertionEffect(() => {\n      ref.current = callback;\n    });\n  } else {\n    ref.current = callback;\n  }\n  return useCallback((...args) => {\n    var _a;\n    return (_a = ref.current) == null ? void 0 : _a.call(ref, ...args);\n  }, []);\n}\nfunction useMergeRefs(...refs) {\n  return useMemo(() => {\n    if (!refs.some(Boolean))\n      return;\n    return (value) => {\n      refs.forEach((ref) => setRef(ref, value));\n    };\n  }, refs);\n}\nfunction useRefId(ref, deps) {\n  const [id, setId] = useState(void 0);\n  useSafeLayoutEffect(() => {\n    var _a;\n    setId((_a = ref == null ? void 0 : ref.current) == null ? void 0 : _a.id);\n  }, deps);\n  return id;\n}\nfunction useId(defaultId) {\n  if (useReactId) {\n    const reactId = useReactId();\n    if (defaultId)\n      return defaultId;\n    return reactId;\n  }\n  const [id, setId] = useState(defaultId);\n  useSafeLayoutEffect(() => {\n    if (defaultId || id)\n      return;\n    const random = Math.random().toString(36).substr(2, 6);\n    setId(`id-${random}`);\n  }, [defaultId, id]);\n  return defaultId || id;\n}\nfunction useDeferredValue(value) {\n  if (useReactDeferredValue) {\n    return useReactDeferredValue(value);\n  }\n  const [deferredValue, setDeferredValue] = useState(value);\n  useEffect(() => {\n    const raf = requestAnimationFrame(() => setDeferredValue(value));\n    return () => cancelAnimationFrame(raf);\n  }, [value]);\n  return deferredValue;\n}\nfunction useTagName(refOrElement, type) {\n  const stringOrUndefined = (type2) => {\n    if (typeof type2 !== \"string\")\n      return;\n    return type2;\n  };\n  const [tagName, setTagName] = useState(() => stringOrUndefined(type));\n  useSafeLayoutEffect(() => {\n    const element = refOrElement && \"current\" in refOrElement ? refOrElement.current : refOrElement;\n    setTagName((element == null ? void 0 : element.tagName.toLowerCase()) || stringOrUndefined(type));\n  }, [refOrElement, type]);\n  return tagName;\n}\nfunction useAttribute(refOrElement, attributeName, defaultValue) {\n  const [attribute, setAttribute] = useState(defaultValue);\n  useSafeLayoutEffect(() => {\n    const element = refOrElement && \"current\" in refOrElement ? refOrElement.current : refOrElement;\n    const value = element == null ? void 0 : element.getAttribute(attributeName);\n    if (value == null)\n      return;\n    setAttribute(value);\n  }, [refOrElement, attributeName]);\n  return attribute;\n}\nfunction useUpdateEffect(effect, deps) {\n  const mounted = useRef(false);\n  useEffect(() => {\n    if (mounted.current) {\n      return effect();\n    }\n    mounted.current = true;\n  }, deps);\n  useEffect(\n    () => () => {\n      mounted.current = false;\n    },\n    []\n  );\n}\nfunction useUpdateLayoutEffect(effect, deps) {\n  const mounted = useRef(false);\n  useSafeLayoutEffect(() => {\n    if (mounted.current) {\n      return effect();\n    }\n    mounted.current = true;\n  }, deps);\n  useSafeLayoutEffect(\n    () => () => {\n      mounted.current = false;\n    },\n    []\n  );\n}\nfunction useControlledState(defaultState, state, setState) {\n  const [localState, setLocalState] = useState(defaultState);\n  const nextState = state !== void 0 ? state : localState;\n  const stateRef = useLiveRef(state);\n  const setStateRef = useLiveRef(setState);\n  const nextStateRef = useLiveRef(nextState);\n  const setNextState = useCallback((prevValue) => {\n    const setStateProp = setStateRef.current;\n    if (setStateProp) {\n      if (isSetNextState(setStateProp)) {\n        setStateProp(prevValue);\n      } else {\n        const nextValue = applyState(prevValue, nextStateRef.current);\n        nextStateRef.current = nextValue;\n        setStateProp(nextValue);\n      }\n    }\n    if (stateRef.current === void 0) {\n      setLocalState(prevValue);\n    }\n  }, []);\n  defineSetNextState(setNextState);\n  return [nextState, setNextState];\n}\nvar SET_NEXT_STATE = Symbol(\"setNextState\");\nfunction isSetNextState(arg) {\n  return arg[SET_NEXT_STATE] === true;\n}\nfunction defineSetNextState(arg) {\n  if (!isSetNextState(arg)) {\n    Object.defineProperty(arg, SET_NEXT_STATE, { value: true });\n  }\n}\nfunction useForceUpdate() {\n  return useReducer(() => [], []);\n}\nfunction useBooleanEvent(booleanOrCallback) {\n  return useEvent(\n    typeof booleanOrCallback === \"function\" ? booleanOrCallback : () => booleanOrCallback\n  );\n}\nfunction useWrapElement(props, callback, deps = []) {\n  const wrapElement = useCallback(\n    (element) => {\n      if (props.wrapElement) {\n        element = props.wrapElement(element);\n      }\n      return callback(element);\n    },\n    [...deps, props.wrapElement]\n  );\n  return __spreadProps(__spreadValues({}, props), { wrapElement });\n}\nfunction usePortalRef(portalProp = false, portalRefProp) {\n  const [portalNode, setPortalNode] = useState(null);\n  const portalRef = useMergeRefs(setPortalNode, portalRefProp);\n  const domReady = !portalProp || portalNode;\n  return { portalRef, portalNode, domReady };\n}\nfunction useMetadataProps(props, key, value) {\n  const parent = props.onLoadedMetadataCapture;\n  const onLoadedMetadataCapture = useMemo(() => {\n    return Object.assign(() => {\n    }, __spreadProps(__spreadValues({}, parent), { [key]: value }));\n  }, [parent, key, value]);\n  return [parent == null ? void 0 : parent[key], { onLoadedMetadataCapture }];\n}\nfunction useIsMouseMoving() {\n  useEffect(() => {\n    addGlobalEventListener(\"mousemove\", setMouseMoving, true);\n    addGlobalEventListener(\"mousedown\", resetMouseMoving, true);\n    addGlobalEventListener(\"mouseup\", resetMouseMoving, true);\n    addGlobalEventListener(\"keydown\", resetMouseMoving, true);\n    addGlobalEventListener(\"scroll\", resetMouseMoving, true);\n  }, []);\n  const isMouseMoving = useEvent(() => mouseMoving);\n  return isMouseMoving;\n}\nvar mouseMoving = false;\nvar previousScreenX = 0;\nvar previousScreenY = 0;\nfunction hasMouseMovement(event) {\n  const movementX = event.movementX || event.screenX - previousScreenX;\n  const movementY = event.movementY || event.screenY - previousScreenY;\n  previousScreenX = event.screenX;\n  previousScreenY = event.screenY;\n  return movementX || movementY || process.env.NODE_ENV === \"test\";\n}\nfunction setMouseMoving(event) {\n  if (!hasMouseMovement(event))\n    return;\n  mouseMoving = true;\n}\nfunction resetMouseMoving() {\n  mouseMoving = false;\n}\n\nexport {\n  useSafeLayoutEffect,\n  useInitialValue,\n  useLazyValue,\n  useLiveRef,\n  usePreviousValue,\n  useEvent,\n  useMergeRefs,\n  useRefId,\n  useId,\n  useDeferredValue,\n  useTagName,\n  useAttribute,\n  useUpdateEffect,\n  useUpdateLayoutEffect,\n  useControlledState,\n  useForceUpdate,\n  useBooleanEvent,\n  useWrapElement,\n  usePortalRef,\n  useMetadataProps,\n  useIsMouseMoving\n};\n","\"use client\";\nimport {\n  useCollectionStoreProps\n} from \"./Y6GYTNQ2.js\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\n\n// src/composite/composite-store.ts\nimport * as Core from \"@ariakit/core/composite/composite-store\";\nfunction useCompositeStoreProps(store, update, props) {\n  store = useCollectionStoreProps(store, update, props);\n  useStoreProps(store, props, \"activeId\", \"setActiveId\");\n  useStoreProps(store, props, \"includesBaseElement\");\n  useStoreProps(store, props, \"virtualFocus\");\n  useStoreProps(store, props, \"orientation\");\n  useStoreProps(store, props, \"rtl\");\n  useStoreProps(store, props, \"focusLoop\");\n  useStoreProps(store, props, \"focusWrap\");\n  useStoreProps(store, props, \"focusShift\");\n  return store;\n}\nfunction useCompositeStore(props = {}) {\n  const [store, update] = useStore(Core.createCompositeStore, props);\n  return useCompositeStoreProps(store, update, props);\n}\n\nexport {\n  useCompositeStoreProps,\n  useCompositeStore\n};\n","\"use client\";\nimport {\n  DialogContextProvider,\n  DialogScopedContextProvider\n} from \"./G6BJYYBK.js\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/popover/popover-context.tsx\nvar ctx = createStoreContext(\n  [DialogContextProvider],\n  [DialogScopedContextProvider]\n);\nvar usePopoverContext = ctx.useContext;\nvar usePopoverScopedContext = ctx.useScopedContext;\nvar usePopoverProviderContext = ctx.useProviderContext;\nvar PopoverContextProvider = ctx.ContextProvider;\nvar PopoverScopedContextProvider = ctx.ScopedContextProvider;\n\nexport {\n  usePopoverContext,\n  usePopoverScopedContext,\n  usePopoverProviderContext,\n  PopoverContextProvider,\n  PopoverScopedContextProvider\n};\n","\"use client\";\nimport {\n  findFirstEnabledItem,\n  getEnabledItem,\n  groupItemsByRows,\n  isItem,\n  silentlyFocused\n} from \"./3IEDWLST.js\";\nimport {\n  CompositeContextProvider,\n  useCompositeProviderContext\n} from \"./IB7YUKH5.js\";\nimport {\n  useFocusable\n} from \"./KK7H3W2B.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useMergeRefs,\n  useSafeLayoutEffect,\n  useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite.tsx\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { flatten2DArray, reverseArray } from \"@ariakit/core/utils/array\";\nimport { getActiveElement, isTextField } from \"@ariakit/core/utils/dom\";\nimport {\n  fireBlurEvent,\n  fireKeyboardEvent,\n  isSelfTarget\n} from \"@ariakit/core/utils/events\";\nimport { focusIntoView, hasFocus } from \"@ariakit/core/utils/focus\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction isGrid(items) {\n  return items.some((item) => !!item.rowId);\n}\nfunction isPrintableKey(event) {\n  const target = event.target;\n  if (target && !isTextField(target))\n    return false;\n  return event.key.length === 1 && !event.ctrlKey && !event.metaKey;\n}\nfunction isModifierKey(event) {\n  return event.key === \"Shift\" || event.key === \"Control\" || event.key === \"Alt\" || event.key === \"Meta\";\n}\nfunction useKeyboardEventProxy(store, onKeyboardEvent, previousElementRef) {\n  return useEvent((event) => {\n    var _a;\n    onKeyboardEvent == null ? void 0 : onKeyboardEvent(event);\n    if (event.defaultPrevented)\n      return;\n    if (event.isPropagationStopped())\n      return;\n    if (!isSelfTarget(event))\n      return;\n    if (isModifierKey(event))\n      return;\n    if (isPrintableKey(event))\n      return;\n    const state = store.getState();\n    const activeElement = (_a = getEnabledItem(store, state.activeId)) == null ? void 0 : _a.element;\n    if (!activeElement)\n      return;\n    const _b = event, { view } = _b, eventInit = __objRest(_b, [\"view\"]);\n    const previousElement = previousElementRef == null ? void 0 : previousElementRef.current;\n    if (activeElement !== previousElement) {\n      activeElement.focus();\n    }\n    if (!fireKeyboardEvent(activeElement, event.type, eventInit)) {\n      event.preventDefault();\n    }\n    if (event.currentTarget.contains(activeElement)) {\n      event.stopPropagation();\n    }\n  });\n}\nfunction findFirstEnabledItemInTheLastRow(items) {\n  return findFirstEnabledItem(\n    flatten2DArray(reverseArray(groupItemsByRows(items)))\n  );\n}\nfunction useScheduleFocus(store) {\n  const [scheduled, setScheduled] = useState(false);\n  const schedule = useCallback(() => setScheduled(true), []);\n  const activeItem = store.useState(\n    (state) => getEnabledItem(store, state.activeId)\n  );\n  useEffect(() => {\n    const activeElement = activeItem == null ? void 0 : activeItem.element;\n    if (!scheduled)\n      return;\n    if (!activeElement)\n      return;\n    setScheduled(false);\n    activeElement.focus({ preventScroll: true });\n  }, [activeItem, scheduled]);\n  return schedule;\n}\nvar useComposite = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      composite = true,\n      focusOnMove = composite,\n      moveOnKeyPress = true\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"composite\",\n      \"focusOnMove\",\n      \"moveOnKeyPress\"\n    ]);\n    const context = useCompositeProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"Composite must receive a `store` prop or be wrapped in a CompositeProvider component.\"\n    );\n    const previousElementRef = useRef(null);\n    const scheduleFocus = useScheduleFocus(store);\n    const moves = store.useState(\"moves\");\n    useEffect(() => {\n      var _a2;\n      if (!store)\n        return;\n      if (!moves)\n        return;\n      if (!composite)\n        return;\n      if (!focusOnMove)\n        return;\n      const { activeId: activeId2 } = store.getState();\n      const itemElement = (_a2 = getEnabledItem(store, activeId2)) == null ? void 0 : _a2.element;\n      if (!itemElement)\n        return;\n      focusIntoView(itemElement);\n    }, [store, moves, composite, focusOnMove]);\n    useSafeLayoutEffect(() => {\n      if (!store)\n        return;\n      if (!moves)\n        return;\n      if (!composite)\n        return;\n      const { baseElement, activeId: activeId2 } = store.getState();\n      const isSelfAcive = activeId2 === null;\n      if (!isSelfAcive)\n        return;\n      if (!baseElement)\n        return;\n      const previousElement = previousElementRef.current;\n      previousElementRef.current = null;\n      if (previousElement) {\n        fireBlurEvent(previousElement, { relatedTarget: baseElement });\n      }\n      if (!hasFocus(baseElement)) {\n        baseElement.focus();\n      }\n    }, [store, moves, composite]);\n    const activeId = store.useState(\"activeId\");\n    const virtualFocus = store.useState(\"virtualFocus\");\n    useSafeLayoutEffect(() => {\n      var _a2;\n      if (!store)\n        return;\n      if (!composite)\n        return;\n      if (!virtualFocus)\n        return;\n      const previousElement = previousElementRef.current;\n      previousElementRef.current = null;\n      if (!previousElement)\n        return;\n      const activeElement = (_a2 = getEnabledItem(store, activeId)) == null ? void 0 : _a2.element;\n      const relatedTarget = activeElement || getActiveElement(previousElement);\n      if (relatedTarget === previousElement)\n        return;\n      fireBlurEvent(previousElement, { relatedTarget });\n    }, [store, activeId, virtualFocus, composite]);\n    const onKeyDownCapture = useKeyboardEventProxy(\n      store,\n      props.onKeyDownCapture,\n      previousElementRef\n    );\n    const onKeyUpCapture = useKeyboardEventProxy(\n      store,\n      props.onKeyUpCapture,\n      previousElementRef\n    );\n    const onFocusCaptureProp = props.onFocusCapture;\n    const onFocusCapture = useEvent((event) => {\n      onFocusCaptureProp == null ? void 0 : onFocusCaptureProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!store)\n        return;\n      const { virtualFocus: virtualFocus2 } = store.getState();\n      if (!virtualFocus2)\n        return;\n      const previousActiveElement = event.relatedTarget;\n      const isSilentlyFocused = silentlyFocused(event.currentTarget);\n      if (isSelfTarget(event) && isSilentlyFocused) {\n        event.stopPropagation();\n        previousElementRef.current = previousActiveElement;\n      }\n    });\n    const onFocusProp = props.onFocus;\n    const onFocus = useEvent((event) => {\n      onFocusProp == null ? void 0 : onFocusProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!composite)\n        return;\n      if (!store)\n        return;\n      const { relatedTarget } = event;\n      const { virtualFocus: virtualFocus2 } = store.getState();\n      if (virtualFocus2) {\n        if (isSelfTarget(event) && !isItem(store, relatedTarget)) {\n          queueMicrotask(scheduleFocus);\n        }\n      } else if (isSelfTarget(event)) {\n        store.setActiveId(null);\n      }\n    });\n    const onBlurCaptureProp = props.onBlurCapture;\n    const onBlurCapture = useEvent((event) => {\n      var _a2;\n      onBlurCaptureProp == null ? void 0 : onBlurCaptureProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!store)\n        return;\n      const { virtualFocus: virtualFocus2, activeId: activeId2 } = store.getState();\n      if (!virtualFocus2)\n        return;\n      const activeElement = (_a2 = getEnabledItem(store, activeId2)) == null ? void 0 : _a2.element;\n      const nextActiveElement = event.relatedTarget;\n      const nextActiveElementIsItem = isItem(store, nextActiveElement);\n      const previousElement = previousElementRef.current;\n      previousElementRef.current = null;\n      if (isSelfTarget(event) && nextActiveElementIsItem) {\n        if (nextActiveElement === activeElement) {\n          if (previousElement && previousElement !== nextActiveElement) {\n            fireBlurEvent(previousElement, event);\n          }\n        } else if (activeElement) {\n          fireBlurEvent(activeElement, event);\n        } else if (previousElement) {\n          fireBlurEvent(previousElement, event);\n        }\n        event.stopPropagation();\n      } else {\n        const targetIsItem = isItem(store, event.target);\n        if (!targetIsItem && activeElement) {\n          fireBlurEvent(activeElement, event);\n        }\n      }\n    });\n    const onKeyDownProp = props.onKeyDown;\n    const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);\n    const onKeyDown = useEvent((event) => {\n      var _a2;\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!store)\n        return;\n      if (!isSelfTarget(event))\n        return;\n      const { orientation, items, renderedItems, activeId: activeId2 } = store.getState();\n      const activeItem = getEnabledItem(store, activeId2);\n      if ((_a2 = activeItem == null ? void 0 : activeItem.element) == null ? void 0 : _a2.isConnected)\n        return;\n      const isVertical = orientation !== \"horizontal\";\n      const isHorizontal = orientation !== \"vertical\";\n      const grid = isGrid(renderedItems);\n      const isHorizontalKey = event.key === \"ArrowLeft\" || event.key === \"ArrowRight\" || event.key === \"Home\" || event.key === \"End\";\n      if (isHorizontalKey && isTextField(event.currentTarget))\n        return;\n      const up = () => {\n        if (grid) {\n          const item = items && findFirstEnabledItemInTheLastRow(items);\n          return item == null ? void 0 : item.id;\n        }\n        return store == null ? void 0 : store.last();\n      };\n      const keyMap = {\n        ArrowUp: (grid || isVertical) && up,\n        ArrowRight: (grid || isHorizontal) && store.first,\n        ArrowDown: (grid || isVertical) && store.first,\n        ArrowLeft: (grid || isHorizontal) && store.last,\n        Home: store.first,\n        End: store.last,\n        PageUp: store.first,\n        PageDown: store.last\n      };\n      const action = keyMap[event.key];\n      if (action) {\n        const id = action();\n        if (id !== void 0) {\n          if (!moveOnKeyPressProp(event))\n            return;\n          event.preventDefault();\n          store.move(id);\n        }\n      }\n    });\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(CompositeContextProvider, { value: store, children: element }),\n      [store]\n    );\n    const activeDescendant = store.useState((state) => {\n      var _a2;\n      if (!store)\n        return;\n      if (!composite)\n        return;\n      if (!state.virtualFocus)\n        return;\n      return (_a2 = getEnabledItem(store, state.activeId)) == null ? void 0 : _a2.id;\n    });\n    props = __spreadProps(__spreadValues({\n      \"aria-activedescendant\": activeDescendant\n    }, props), {\n      ref: useMergeRefs(composite ? store.setBaseElement : null, props.ref),\n      onKeyDownCapture,\n      onKeyUpCapture,\n      onFocusCapture,\n      onFocus,\n      onBlurCapture,\n      onKeyDown\n    });\n    const focusable = store.useState(\n      (state) => composite && (state.virtualFocus || state.activeId === null)\n    );\n    props = useFocusable(__spreadValues({ focusable }, props));\n    return props;\n  }\n);\nvar Composite = createComponent((props) => {\n  const htmlProps = useComposite(props);\n  return createElement(\"div\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Composite.displayName = \"Composite\";\n}\n\nexport {\n  useComposite,\n  Composite\n};\n","\"use client\";\nimport {\n  DialogScopedContextProvider\n} from \"./G6BJYYBK.js\";\nimport {\n  useDisclosureProviderContext\n} from \"./OAYFXAQ2.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useStoreState\n} from \"./EKQEJRUF.js\";\nimport {\n  useId,\n  useMergeRefs,\n  useSafeLayoutEffect,\n  useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/disclosure/disclosure-content.tsx\nimport { useState } from \"react\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction afterTimeout(timeoutMs, cb) {\n  const timeoutId = setTimeout(cb, timeoutMs);\n  return () => clearTimeout(timeoutId);\n}\nfunction afterPaint(cb) {\n  let raf = requestAnimationFrame(() => {\n    raf = requestAnimationFrame(cb);\n  });\n  return () => cancelAnimationFrame(raf);\n}\nfunction parseCSSTime(...times) {\n  return times.join(\", \").split(\", \").reduce((longestTime, currentTimeString) => {\n    const currentTime = parseFloat(currentTimeString || \"0s\") * 1e3;\n    if (currentTime > longestTime)\n      return currentTime;\n    return longestTime;\n  }, 0);\n}\nfunction isHidden(mounted, hidden, alwaysVisible) {\n  return !alwaysVisible && hidden !== false && (!mounted || !!hidden);\n}\nvar useDisclosureContent = createHook(\n  (_a) => {\n    var _b = _a, { store, alwaysVisible } = _b, props = __objRest(_b, [\"store\", \"alwaysVisible\"]);\n    const context = useDisclosureProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"DisclosureContent must receive a `store` prop or be wrapped in a DisclosureProvider component.\"\n    );\n    const id = useId(props.id);\n    const [transition, setTransition] = useState(null);\n    const open = store.useState(\"open\");\n    const mounted = store.useState(\"mounted\");\n    const animated = store.useState(\"animated\");\n    const contentElement = store.useState(\"contentElement\");\n    useSafeLayoutEffect(() => {\n      if (!animated)\n        return;\n      if (!(contentElement == null ? void 0 : contentElement.isConnected)) {\n        setTransition(null);\n        return;\n      }\n      return afterPaint(() => {\n        setTransition(open ? \"enter\" : \"leave\");\n      });\n    }, [animated, contentElement, open]);\n    useSafeLayoutEffect(() => {\n      if (!store)\n        return;\n      if (!animated)\n        return;\n      if (!contentElement)\n        return;\n      if (!transition)\n        return;\n      if (transition === \"enter\" && !open)\n        return;\n      if (transition === \"leave\" && open)\n        return;\n      if (typeof animated === \"number\") {\n        const timeoutMs2 = animated;\n        return afterTimeout(timeoutMs2, store.stopAnimation);\n      }\n      const {\n        transitionDuration,\n        animationDuration,\n        transitionDelay,\n        animationDelay\n      } = getComputedStyle(contentElement);\n      const delay = parseCSSTime(transitionDelay, animationDelay);\n      const duration = parseCSSTime(transitionDuration, animationDuration);\n      const timeoutMs = delay + duration;\n      if (!timeoutMs)\n        return;\n      return afterTimeout(timeoutMs, store.stopAnimation);\n    }, [store, animated, contentElement, open, transition]);\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(DialogScopedContextProvider, { value: store, children: element }),\n      [store]\n    );\n    const hidden = isHidden(mounted, props.hidden, alwaysVisible);\n    const style = hidden ? __spreadProps(__spreadValues({}, props.style), { display: \"none\" }) : props.style;\n    props = __spreadProps(__spreadValues({\n      id,\n      \"data-enter\": transition === \"enter\" ? \"\" : void 0,\n      \"data-leave\": transition === \"leave\" ? \"\" : void 0,\n      hidden\n    }, props), {\n      ref: useMergeRefs(id ? store.setContentElement : null, props.ref),\n      style\n    });\n    return props;\n  }\n);\nvar DisclosureContentImpl = createComponent(\n  (props) => {\n    const htmlProps = useDisclosureContent(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nvar DisclosureContent = createComponent(\n  (_a) => {\n    var _b = _a, { unmountOnHide } = _b, props = __objRest(_b, [\"unmountOnHide\"]);\n    const context = useDisclosureProviderContext();\n    const store = props.store || context;\n    const mounted = useStoreState(\n      store,\n      (state) => !unmountOnHide || (state == null ? void 0 : state.mounted)\n    );\n    if (mounted === false)\n      return null;\n    return /* @__PURE__ */ jsx(DisclosureContentImpl, __spreadValues({}, props));\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  DisclosureContent.displayName = \"DisclosureContent\";\n}\n\nexport {\n  isHidden,\n  useDisclosureContent,\n  DisclosureContent\n};\n","\"use client\";\nimport {\n  useEvent,\n  useLiveRef,\n  useSafeLayoutEffect\n} from \"./6O5OEQGF.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/store.tsx\nimport * as React from \"react\";\nimport { hasOwnProperty, identity } from \"@ariakit/core/utils/misc\";\nimport { batch, init, subscribe, sync } from \"@ariakit/core/utils/store\";\nimport useSyncExternalStoreExports from \"use-sync-external-store/shim/index.js\";\nvar { useSyncExternalStore } = useSyncExternalStoreExports;\nvar noopSubscribe = () => () => {\n};\nfunction useStoreState(store, keyOrSelector = identity) {\n  const storeSubscribe = React.useCallback(\n    (callback) => {\n      if (!store)\n        return noopSubscribe();\n      return subscribe(store, null, callback);\n    },\n    [store]\n  );\n  const getSnapshot = () => {\n    const key = typeof keyOrSelector === \"string\" ? keyOrSelector : null;\n    const selector = typeof keyOrSelector === \"function\" ? keyOrSelector : null;\n    const state = store == null ? void 0 : store.getState();\n    if (selector)\n      return selector(state);\n    if (!state)\n      return;\n    if (!key)\n      return;\n    if (!hasOwnProperty(state, key))\n      return;\n    return state[key];\n  };\n  return useSyncExternalStore(storeSubscribe, getSnapshot, getSnapshot);\n}\nfunction useStoreProps(store, props, key, setKey) {\n  const value = hasOwnProperty(props, key) ? props[key] : void 0;\n  const setValue = setKey ? props[setKey] : void 0;\n  const propsRef = useLiveRef({ value, setValue });\n  useSafeLayoutEffect(() => {\n    return sync(store, [key], (state, prev) => {\n      const { value: value2, setValue: setValue2 } = propsRef.current;\n      if (!setValue2)\n        return;\n      if (state[key] === prev[key])\n        return;\n      if (state[key] === value2)\n        return;\n      setValue2(state[key]);\n    });\n  }, [store, key]);\n  useSafeLayoutEffect(() => {\n    if (value === void 0)\n      return;\n    store.setState(key, value);\n    return batch(store, [key], () => {\n      if (value === void 0)\n        return;\n      store.setState(key, value);\n    });\n  });\n}\nfunction useStore(createStore, props) {\n  const [store, setStore] = React.useState(() => createStore(props));\n  useSafeLayoutEffect(() => init(store), [store]);\n  const useState2 = React.useCallback(\n    (keyOrSelector) => useStoreState(store, keyOrSelector),\n    [store]\n  );\n  const memoizedStore = React.useMemo(\n    () => __spreadProps(__spreadValues({}, store), { useState: useState2 }),\n    [store, useState2]\n  );\n  const updateStore = useEvent(() => {\n    setStore((store2) => createStore(__spreadValues(__spreadValues({}, props), store2.getState())));\n  });\n  return [memoizedStore, updateStore];\n}\n\nexport {\n  useStoreState,\n  useStoreProps,\n  useStore\n};\n","\"use client\";\nimport {\n  DisclosureContextProvider,\n  DisclosureScopedContextProvider\n} from \"./OAYFXAQ2.js\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/dialog/dialog-context.tsx\nimport { createContext } from \"react\";\nvar ctx = createStoreContext(\n  [DisclosureContextProvider],\n  [DisclosureScopedContextProvider]\n);\nvar useDialogContext = ctx.useContext;\nvar useDialogScopedContext = ctx.useScopedContext;\nvar useDialogProviderContext = ctx.useProviderContext;\nvar DialogContextProvider = ctx.ContextProvider;\nvar DialogScopedContextProvider = ctx.ScopedContextProvider;\nvar DialogHeadingContext = createContext(void 0);\nvar DialogDescriptionContext = createContext(void 0);\n\nexport {\n  useDialogContext,\n  useDialogScopedContext,\n  useDialogProviderContext,\n  DialogContextProvider,\n  DialogScopedContextProvider,\n  DialogHeadingContext,\n  DialogDescriptionContext\n};\n","\"use client\";\nimport {\n  useCompositeContext\n} from \"./IB7YUKH5.js\";\nimport {\n  createElement,\n  createHook,\n  createMemoComponent\n} from \"./3ORBWXWF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useIsMouseMoving,\n  useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-hover.ts\nimport { useCallback } from \"react\";\nimport { contains } from \"@ariakit/core/utils/dom\";\nimport { hasFocus, hasFocusWithin } from \"@ariakit/core/utils/focus\";\nimport { hasOwnProperty, invariant } from \"@ariakit/core/utils/misc\";\nfunction getMouseDestination(event) {\n  const relatedTarget = event.relatedTarget;\n  if ((relatedTarget == null ? void 0 : relatedTarget.nodeType) === Node.ELEMENT_NODE) {\n    return relatedTarget;\n  }\n  return null;\n}\nfunction hoveringInside(event) {\n  const nextElement = getMouseDestination(event);\n  if (!nextElement)\n    return false;\n  return contains(event.currentTarget, nextElement);\n}\nvar symbol = Symbol(\"composite-hover\");\nfunction movingToAnotherItem(event) {\n  let dest = getMouseDestination(event);\n  if (!dest)\n    return false;\n  do {\n    if (hasOwnProperty(dest, symbol) && dest[symbol])\n      return true;\n    dest = dest.parentElement;\n  } while (dest);\n  return false;\n}\nvar useCompositeHover = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      focusOnHover = true,\n      blurOnHoverEnd = !!focusOnHover\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"focusOnHover\",\n      \"blurOnHoverEnd\"\n    ]);\n    const context = useCompositeContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"CompositeHover must be wrapped in a Composite component.\"\n    );\n    const isMouseMoving = useIsMouseMoving();\n    const onMouseMoveProp = props.onMouseMove;\n    const focusOnHoverProp = useBooleanEvent(focusOnHover);\n    const onMouseMove = useEvent((event) => {\n      onMouseMoveProp == null ? void 0 : onMouseMoveProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!isMouseMoving())\n        return;\n      if (!focusOnHoverProp(event))\n        return;\n      if (!hasFocusWithin(event.currentTarget)) {\n        const baseElement = store == null ? void 0 : store.getState().baseElement;\n        if (baseElement && !hasFocus(baseElement)) {\n          baseElement.focus();\n        }\n      }\n      store == null ? void 0 : store.setActiveId(event.currentTarget.id);\n    });\n    const onMouseLeaveProp = props.onMouseLeave;\n    const blurOnHoverEndProp = useBooleanEvent(blurOnHoverEnd);\n    const onMouseLeave = useEvent((event) => {\n      var _a2;\n      onMouseLeaveProp == null ? void 0 : onMouseLeaveProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!isMouseMoving())\n        return;\n      if (hoveringInside(event))\n        return;\n      if (movingToAnotherItem(event))\n        return;\n      if (!focusOnHoverProp(event))\n        return;\n      if (!blurOnHoverEndProp(event))\n        return;\n      store == null ? void 0 : store.setActiveId(null);\n      (_a2 = store == null ? void 0 : store.getState().baseElement) == null ? void 0 : _a2.focus();\n    });\n    const ref = useCallback((element) => {\n      if (!element)\n        return;\n      element[symbol] = true;\n    }, []);\n    props = __spreadProps(__spreadValues({}, props), {\n      ref: useMergeRefs(ref, props.ref),\n      onMouseMove,\n      onMouseLeave\n    });\n    return props;\n  }\n);\nvar CompositeHover = createMemoComponent(\n  (props) => {\n    const htmlProps = useCompositeHover(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  CompositeHover.displayName = \"CompositeHover\";\n}\n\nexport {\n  useCompositeHover,\n  CompositeHover\n};\n","\"use client\";\nimport {\n  CollectionContextProvider,\n  CollectionScopedContextProvider\n} from \"./4UUKJZ4V.js\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/composite/composite-context.tsx\nimport { createContext } from \"react\";\nvar ctx = createStoreContext(\n  [CollectionContextProvider],\n  [CollectionScopedContextProvider]\n);\nvar useCompositeContext = ctx.useContext;\nvar useCompositeScopedContext = ctx.useScopedContext;\nvar useCompositeProviderContext = ctx.useProviderContext;\nvar CompositeContextProvider = ctx.ContextProvider;\nvar CompositeScopedContextProvider = ctx.ScopedContextProvider;\nvar CompositeItemContext = createContext(\n  void 0\n);\nvar CompositeRowContext = createContext(\n  void 0\n);\n\nexport {\n  useCompositeContext,\n  useCompositeScopedContext,\n  useCompositeProviderContext,\n  CompositeContextProvider,\n  CompositeScopedContextProvider,\n  CompositeItemContext,\n  CompositeRowContext\n};\n","\"use client\";\nimport {\n  usePopoverProviderContext\n} from \"./7H5KSHHF.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/popover/popover-anchor.ts\nvar usePopoverAnchor = createHook(\n  (_a) => {\n    var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n    const context = usePopoverProviderContext();\n    store = store || context;\n    props = __spreadProps(__spreadValues({}, props), {\n      ref: useMergeRefs(store == null ? void 0 : store.setAnchorElement, props.ref)\n    });\n    return props;\n  }\n);\nvar PopoverAnchor = createComponent((props) => {\n  const htmlProps = usePopoverAnchor(props);\n  return createElement(\"div\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  PopoverAnchor.displayName = \"PopoverAnchor\";\n}\n\nexport {\n  usePopoverAnchor,\n  PopoverAnchor\n};\n","\"use client\";\nimport {\n  FocusableContext\n} from \"./SHA3WOPI.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useEvent,\n  useMergeRefs,\n  useTagName\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/focusable/focusable.ts\nimport { useContext, useEffect, useRef, useState } from \"react\";\nimport { isButton } from \"@ariakit/core/utils/dom\";\nimport {\n  addGlobalEventListener,\n  isFocusEventOutside,\n  isPortalEvent,\n  isSelfTarget,\n  queueBeforeEvent\n} from \"@ariakit/core/utils/events\";\nimport {\n  focusIfNeeded,\n  hasFocus,\n  isFocusable\n} from \"@ariakit/core/utils/focus\";\nimport { disabledFromProps } from \"@ariakit/core/utils/misc\";\nimport { isSafari } from \"@ariakit/core/utils/platform\";\nvar isSafariBrowser = isSafari();\nvar alwaysFocusVisibleInputTypes = [\n  \"text\",\n  \"search\",\n  \"url\",\n  \"tel\",\n  \"email\",\n  \"password\",\n  \"number\",\n  \"date\",\n  \"month\",\n  \"week\",\n  \"time\",\n  \"datetime\",\n  \"datetime-local\"\n];\nfunction isAlwaysFocusVisible(element) {\n  const { tagName, readOnly, type } = element;\n  if (tagName === \"TEXTAREA\" && !readOnly)\n    return true;\n  if (tagName === \"SELECT\" && !readOnly)\n    return true;\n  if (tagName === \"INPUT\" && !readOnly) {\n    return alwaysFocusVisibleInputTypes.includes(type);\n  }\n  if (element.isContentEditable)\n    return true;\n  return false;\n}\nfunction isAlwaysFocusVisibleDelayed(element) {\n  const role = element.getAttribute(\"role\");\n  if (role !== \"combobox\")\n    return false;\n  return !!element.dataset.name;\n}\nfunction getLabels(element) {\n  if (\"labels\" in element) {\n    return element.labels;\n  }\n  return null;\n}\nfunction isNativeCheckboxOrRadio(element) {\n  const tagName = element.tagName.toLowerCase();\n  if (tagName === \"input\" && element.type) {\n    return element.type === \"radio\" || element.type === \"checkbox\";\n  }\n  return false;\n}\nfunction isNativeTabbable(tagName) {\n  if (!tagName)\n    return true;\n  return tagName === \"button\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\" || tagName === \"a\";\n}\nfunction supportsDisabledAttribute(tagName) {\n  if (!tagName)\n    return true;\n  return tagName === \"button\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\";\n}\nfunction getTabIndex(focusable, trulyDisabled, nativeTabbable, supportsDisabled, tabIndexProp) {\n  if (!focusable) {\n    return tabIndexProp;\n  }\n  if (trulyDisabled) {\n    if (nativeTabbable && !supportsDisabled) {\n      return -1;\n    }\n    return;\n  }\n  if (nativeTabbable) {\n    return tabIndexProp;\n  }\n  return tabIndexProp || 0;\n}\nfunction useDisableEvent(onEvent, disabled) {\n  return useEvent((event) => {\n    onEvent == null ? void 0 : onEvent(event);\n    if (event.defaultPrevented)\n      return;\n    if (disabled) {\n      event.stopPropagation();\n      event.preventDefault();\n    }\n  });\n}\nvar isKeyboardModality = true;\nfunction onGlobalMouseDown(event) {\n  const target = event.target;\n  if (target && \"hasAttribute\" in target) {\n    if (!target.hasAttribute(\"data-focus-visible\")) {\n      isKeyboardModality = false;\n    }\n  }\n}\nfunction onGlobalKeyDown(event) {\n  if (event.metaKey)\n    return;\n  if (event.ctrlKey)\n    return;\n  if (event.altKey)\n    return;\n  isKeyboardModality = true;\n}\nvar useFocusable = createHook(\n  (_a) => {\n    var _b = _a, {\n      focusable = true,\n      accessibleWhenDisabled,\n      autoFocus,\n      onFocusVisible\n    } = _b, props = __objRest(_b, [\n      \"focusable\",\n      \"accessibleWhenDisabled\",\n      \"autoFocus\",\n      \"onFocusVisible\"\n    ]);\n    const ref = useRef(null);\n    useEffect(() => {\n      if (!focusable)\n        return;\n      addGlobalEventListener(\"mousedown\", onGlobalMouseDown, true);\n      addGlobalEventListener(\"keydown\", onGlobalKeyDown, true);\n    }, [focusable]);\n    if (isSafariBrowser) {\n      useEffect(() => {\n        if (!focusable)\n          return;\n        const element = ref.current;\n        if (!element)\n          return;\n        if (!isNativeCheckboxOrRadio(element))\n          return;\n        const labels = getLabels(element);\n        if (!labels)\n          return;\n        const onMouseUp = () => queueMicrotask(() => element.focus());\n        labels.forEach((label) => label.addEventListener(\"mouseup\", onMouseUp));\n        return () => {\n          labels.forEach(\n            (label) => label.removeEventListener(\"mouseup\", onMouseUp)\n          );\n        };\n      }, [focusable]);\n    }\n    const disabled = focusable && disabledFromProps(props);\n    const trulyDisabled = !!disabled && !accessibleWhenDisabled;\n    const [focusVisible, setFocusVisible] = useState(false);\n    useEffect(() => {\n      if (!focusable)\n        return;\n      if (trulyDisabled && focusVisible) {\n        setFocusVisible(false);\n      }\n    }, [focusable, trulyDisabled, focusVisible]);\n    useEffect(() => {\n      if (!focusable)\n        return;\n      if (!focusVisible)\n        return;\n      const element = ref.current;\n      if (!element)\n        return;\n      if (typeof IntersectionObserver === \"undefined\")\n        return;\n      const observer = new IntersectionObserver(() => {\n        if (!isFocusable(element)) {\n          setFocusVisible(false);\n        }\n      });\n      observer.observe(element);\n      return () => observer.disconnect();\n    }, [focusable, focusVisible]);\n    const onKeyPressCapture = useDisableEvent(\n      props.onKeyPressCapture,\n      disabled\n    );\n    const onMouseDownCapture = useDisableEvent(\n      props.onMouseDownCapture,\n      disabled\n    );\n    const onClickCapture = useDisableEvent(props.onClickCapture, disabled);\n    const onMouseDownProp = props.onMouseDown;\n    const onMouseDown = useEvent((event) => {\n      onMouseDownProp == null ? void 0 : onMouseDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!focusable)\n        return;\n      const element = event.currentTarget;\n      if (!isSafariBrowser)\n        return;\n      if (isPortalEvent(event))\n        return;\n      if (!isButton(element) && !isNativeCheckboxOrRadio(element))\n        return;\n      let receivedFocus = false;\n      const onFocus = () => {\n        receivedFocus = true;\n      };\n      const options = { capture: true, once: true };\n      element.addEventListener(\"focusin\", onFocus, options);\n      queueBeforeEvent(element, \"mouseup\", () => {\n        element.removeEventListener(\"focusin\", onFocus, true);\n        if (receivedFocus)\n          return;\n        focusIfNeeded(element);\n      });\n    });\n    const handleFocusVisible = (event, currentTarget) => {\n      if (currentTarget) {\n        event.currentTarget = currentTarget;\n      }\n      if (!focusable)\n        return;\n      const element = event.currentTarget;\n      if (!element)\n        return;\n      if (!hasFocus(element))\n        return;\n      onFocusVisible == null ? void 0 : onFocusVisible(event);\n      if (event.defaultPrevented)\n        return;\n      setFocusVisible(true);\n    };\n    const onKeyDownCaptureProp = props.onKeyDownCapture;\n    const onKeyDownCapture = useEvent(\n      (event) => {\n        onKeyDownCaptureProp == null ? void 0 : onKeyDownCaptureProp(event);\n        if (event.defaultPrevented)\n          return;\n        if (!focusable)\n          return;\n        if (focusVisible)\n          return;\n        if (event.metaKey)\n          return;\n        if (event.altKey)\n          return;\n        if (event.ctrlKey)\n          return;\n        if (!isSelfTarget(event))\n          return;\n        const element = event.currentTarget;\n        queueMicrotask(() => handleFocusVisible(event, element));\n      }\n    );\n    const onFocusCaptureProp = props.onFocusCapture;\n    const onFocusCapture = useEvent((event) => {\n      onFocusCaptureProp == null ? void 0 : onFocusCaptureProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!focusable)\n        return;\n      if (!isSelfTarget(event)) {\n        setFocusVisible(false);\n        return;\n      }\n      const element = event.currentTarget;\n      const applyFocusVisible = () => handleFocusVisible(event, element);\n      if (isKeyboardModality || isAlwaysFocusVisible(event.target)) {\n        queueMicrotask(applyFocusVisible);\n      } else if (isAlwaysFocusVisibleDelayed(event.target)) {\n        queueBeforeEvent(event.target, \"focusout\", applyFocusVisible);\n      } else {\n        setFocusVisible(false);\n      }\n    });\n    const onBlurProp = props.onBlur;\n    const onBlur = useEvent((event) => {\n      onBlurProp == null ? void 0 : onBlurProp(event);\n      if (!focusable)\n        return;\n      if (!isFocusEventOutside(event))\n        return;\n      setFocusVisible(false);\n    });\n    const autoFocusOnShow = useContext(FocusableContext);\n    const autoFocusRef = useEvent((element) => {\n      if (!focusable)\n        return;\n      if (!autoFocus)\n        return;\n      if (!element)\n        return;\n      if (!autoFocusOnShow)\n        return;\n      queueMicrotask(() => {\n        if (hasFocus(element))\n          return;\n        if (!isFocusable(element))\n          return;\n        element.focus();\n      });\n    });\n    const tagName = useTagName(ref, props.as);\n    const nativeTabbable = focusable && isNativeTabbable(tagName);\n    const supportsDisabled = focusable && supportsDisabledAttribute(tagName);\n    const style = trulyDisabled ? __spreadValues({ pointerEvents: \"none\" }, props.style) : props.style;\n    props = __spreadProps(__spreadValues({\n      \"data-focus-visible\": focusable && focusVisible ? \"\" : void 0,\n      \"data-autofocus\": autoFocus ? true : void 0,\n      \"aria-disabled\": disabled ? true : void 0\n    }, props), {\n      ref: useMergeRefs(ref, autoFocusRef, props.ref),\n      style,\n      tabIndex: getTabIndex(\n        focusable,\n        trulyDisabled,\n        nativeTabbable,\n        supportsDisabled,\n        props.tabIndex\n      ),\n      disabled: supportsDisabled && trulyDisabled ? true : void 0,\n      // TODO: Test Focusable contentEditable.\n      contentEditable: disabled ? void 0 : props.contentEditable,\n      onKeyPressCapture,\n      onClickCapture,\n      onMouseDownCapture,\n      onMouseDown,\n      onKeyDownCapture,\n      onFocusCapture,\n      onBlur\n    });\n    return props;\n  }\n);\nvar Focusable = createComponent((props) => {\n  props = useFocusable(props);\n  return createElement(\"div\", props);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Focusable.displayName = \"Focusable\";\n}\n\nexport {\n  useFocusable,\n  Focusable\n};\n","\"use client\";\nimport {\n  useDialogStoreProps\n} from \"./ZSELSBRM.js\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\nimport {\n  useUpdateEffect\n} from \"./6O5OEQGF.js\";\n\n// src/popover/popover-store.ts\nimport * as Core from \"@ariakit/core/popover/popover-store\";\nfunction usePopoverStoreProps(store, update, props) {\n  useUpdateEffect(update, [props.popover]);\n  store = useDialogStoreProps(store, update, props);\n  useStoreProps(store, props, \"placement\");\n  return store;\n}\nfunction usePopoverStore(props = {}) {\n  const [store, update] = useStore(Core.createPopoverStore, props);\n  return usePopoverStoreProps(store, update, props);\n}\n\nexport {\n  usePopoverStoreProps,\n  usePopoverStore\n};\n","\"use client\";\nimport {\n  useFocusable\n} from \"./KK7H3W2B.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useEvent,\n  useMergeRefs,\n  useMetadataProps,\n  useTagName\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/command/command.ts\nimport { useEffect, useRef, useState } from \"react\";\nimport { isButton, isTextField } from \"@ariakit/core/utils/dom\";\nimport {\n  fireClickEvent,\n  isSelfTarget,\n  queueBeforeEvent\n} from \"@ariakit/core/utils/events\";\nimport { disabledFromProps } from \"@ariakit/core/utils/misc\";\nimport { isFirefox } from \"@ariakit/core/utils/platform\";\nfunction isNativeClick(event) {\n  if (!event.isTrusted)\n    return false;\n  const element = event.currentTarget;\n  if (event.key === \"Enter\") {\n    return isButton(element) || element.tagName === \"SUMMARY\" || element.tagName === \"A\";\n  }\n  if (event.key === \" \") {\n    return isButton(element) || element.tagName === \"SUMMARY\" || element.tagName === \"INPUT\" || element.tagName === \"SELECT\";\n  }\n  return false;\n}\nvar symbol = Symbol(\"command\");\nvar useCommand = createHook(\n  (_a) => {\n    var _b = _a, { clickOnEnter = true, clickOnSpace = true } = _b, props = __objRest(_b, [\"clickOnEnter\", \"clickOnSpace\"]);\n    const ref = useRef(null);\n    const tagName = useTagName(ref, props.as);\n    const type = props.type;\n    const [isNativeButton, setIsNativeButton] = useState(\n      () => !!tagName && isButton({ tagName, type })\n    );\n    useEffect(() => {\n      if (!ref.current)\n        return;\n      setIsNativeButton(isButton(ref.current));\n    }, []);\n    const [active, setActive] = useState(false);\n    const activeRef = useRef(false);\n    const disabled = disabledFromProps(props);\n    const [isDuplicate, metadataProps] = useMetadataProps(props, symbol, true);\n    const onKeyDownProp = props.onKeyDown;\n    const onKeyDown = useEvent((event) => {\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      const element = event.currentTarget;\n      if (event.defaultPrevented)\n        return;\n      if (isDuplicate)\n        return;\n      if (disabled)\n        return;\n      if (!isSelfTarget(event))\n        return;\n      if (isTextField(element))\n        return;\n      if (element.isContentEditable)\n        return;\n      const isEnter = clickOnEnter && event.key === \"Enter\";\n      const isSpace = clickOnSpace && event.key === \" \";\n      const shouldPreventEnter = event.key === \"Enter\" && !clickOnEnter;\n      const shouldPreventSpace = event.key === \" \" && !clickOnSpace;\n      if (shouldPreventEnter || shouldPreventSpace) {\n        event.preventDefault();\n        return;\n      }\n      if (isEnter || isSpace) {\n        const nativeClick = isNativeClick(event);\n        if (isEnter) {\n          if (!nativeClick) {\n            event.preventDefault();\n            const _a2 = event, { view } = _a2, eventInit = __objRest(_a2, [\"view\"]);\n            const click = () => fireClickEvent(element, eventInit);\n            if (isFirefox()) {\n              queueBeforeEvent(element, \"keyup\", click);\n            } else {\n              queueMicrotask(click);\n            }\n          }\n        } else if (isSpace) {\n          activeRef.current = true;\n          if (!nativeClick) {\n            event.preventDefault();\n            setActive(true);\n          }\n        }\n      }\n    });\n    const onKeyUpProp = props.onKeyUp;\n    const onKeyUp = useEvent((event) => {\n      onKeyUpProp == null ? void 0 : onKeyUpProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (isDuplicate)\n        return;\n      if (disabled)\n        return;\n      if (event.metaKey)\n        return;\n      const isSpace = clickOnSpace && event.key === \" \";\n      if (activeRef.current && isSpace) {\n        activeRef.current = false;\n        if (!isNativeClick(event)) {\n          event.preventDefault();\n          setActive(false);\n          const element = event.currentTarget;\n          const _a2 = event, { view } = _a2, eventInit = __objRest(_a2, [\"view\"]);\n          queueMicrotask(() => fireClickEvent(element, eventInit));\n        }\n      }\n    });\n    props = __spreadProps(__spreadValues(__spreadValues({\n      \"data-active\": active ? \"\" : void 0,\n      type: isNativeButton ? \"button\" : void 0\n    }, metadataProps), props), {\n      ref: useMergeRefs(ref, props.ref),\n      onKeyDown,\n      onKeyUp\n    });\n    props = useFocusable(props);\n    return props;\n  }\n);\nvar Command = createComponent((props) => {\n  props = useCommand(props);\n  return createElement(\"button\", props);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Command.displayName = \"Command\";\n}\n\nexport {\n  useCommand,\n  Command\n};\n","\"use client\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/disclosure/disclosure-context.tsx\nvar ctx = createStoreContext();\nvar useDisclosureContext = ctx.useContext;\nvar useDisclosureScopedContext = ctx.useScopedContext;\nvar useDisclosureProviderContext = ctx.useProviderContext;\nvar DisclosureContextProvider = ctx.ContextProvider;\nvar DisclosureScopedContextProvider = ctx.ScopedContextProvider;\n\nexport {\n  useDisclosureContext,\n  useDisclosureScopedContext,\n  useDisclosureProviderContext,\n  DisclosureContextProvider,\n  DisclosureScopedContextProvider\n};\n","\"use client\";\nimport {\n  useCommand\n} from \"./NWCBQ4CV.js\";\nimport {\n  useCollectionItem\n} from \"./UH3I23HL.js\";\nimport {\n  focusSilently,\n  getEnabledItem,\n  isItem\n} from \"./3IEDWLST.js\";\nimport {\n  CompositeItemContext,\n  CompositeRowContext,\n  useCompositeContext\n} from \"./IB7YUKH5.js\";\nimport {\n  createElement,\n  createHook,\n  createMemoComponent\n} from \"./3ORBWXWF.js\";\nimport {\n  useStoreState\n} from \"./EKQEJRUF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useId,\n  useMergeRefs,\n  useSafeLayoutEffect,\n  useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-item.tsx\nimport { useCallback, useContext, useMemo, useRef, useState } from \"react\";\nimport {\n  getScrollingElement,\n  isButton,\n  isTextField\n} from \"@ariakit/core/utils/dom\";\nimport { isPortalEvent, isSelfTarget } from \"@ariakit/core/utils/events\";\nimport { disabledFromProps } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction isEditableElement(element) {\n  if (element.isContentEditable)\n    return true;\n  if (isTextField(element))\n    return true;\n  return element.tagName === \"INPUT\" && !isButton(element);\n}\nfunction getNextPageOffset(scrollingElement, pageUp = false) {\n  const height = scrollingElement.clientHeight;\n  const { top } = scrollingElement.getBoundingClientRect();\n  const pageSize = Math.max(height * 0.875, height - 40) * 1.5;\n  const pageOffset = pageUp ? height - pageSize + top : pageSize + top;\n  if (scrollingElement.tagName === \"HTML\") {\n    return pageOffset + scrollingElement.scrollTop;\n  }\n  return pageOffset;\n}\nfunction getItemOffset(itemElement, pageUp = false) {\n  const { top } = itemElement.getBoundingClientRect();\n  if (pageUp) {\n    return top + itemElement.clientHeight;\n  }\n  return top;\n}\nfunction findNextPageItemId(element, store, next, pageUp = false) {\n  var _a;\n  if (!store)\n    return;\n  if (!next)\n    return;\n  const { renderedItems } = store.getState();\n  const scrollingElement = getScrollingElement(element);\n  if (!scrollingElement)\n    return;\n  const nextPageOffset = getNextPageOffset(scrollingElement, pageUp);\n  let id;\n  let prevDifference;\n  for (let i = 0; i < renderedItems.length; i += 1) {\n    const previousId = id;\n    id = next(i);\n    if (!id)\n      break;\n    if (id === previousId)\n      continue;\n    const itemElement = (_a = getEnabledItem(store, id)) == null ? void 0 : _a.element;\n    if (!itemElement)\n      continue;\n    const itemOffset = getItemOffset(itemElement, pageUp);\n    const difference = itemOffset - nextPageOffset;\n    const absDifference = Math.abs(difference);\n    if (pageUp && difference <= 0 || !pageUp && difference >= 0) {\n      if (prevDifference !== void 0 && prevDifference < absDifference) {\n        id = previousId;\n      }\n      break;\n    }\n    prevDifference = absDifference;\n  }\n  return id;\n}\nfunction targetIsAnotherItem(event, store) {\n  if (isSelfTarget(event))\n    return false;\n  return isItem(store, event.target);\n}\nfunction useRole(ref, props) {\n  const roleProp = props.role;\n  const [role, setRole] = useState(roleProp);\n  useSafeLayoutEffect(() => {\n    const element = ref.current;\n    if (!element)\n      return;\n    setRole(element.getAttribute(\"role\") || roleProp);\n  }, [roleProp]);\n  return role;\n}\nfunction requiresAriaSelected(role) {\n  return role === \"option\" || role === \"treeitem\";\n}\nfunction supportsAriaSelected(role) {\n  if (role === \"option\")\n    return true;\n  if (role === \"tab\")\n    return true;\n  if (role === \"treeitem\")\n    return true;\n  if (role === \"gridcell\")\n    return true;\n  if (role === \"row\")\n    return true;\n  if (role === \"columnheader\")\n    return true;\n  if (role === \"rowheader\")\n    return true;\n  return false;\n}\nvar useCompositeItem = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      rowId: rowIdProp,\n      preventScrollOnKeyDown = false,\n      moveOnKeyPress = true,\n      tabbable = false,\n      getItem: getItemProp,\n      \"aria-setsize\": ariaSetSizeProp,\n      \"aria-posinset\": ariaPosInSetProp\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"rowId\",\n      \"preventScrollOnKeyDown\",\n      \"moveOnKeyPress\",\n      \"tabbable\",\n      \"getItem\",\n      \"aria-setsize\",\n      \"aria-posinset\"\n    ]);\n    const context = useCompositeContext();\n    store = store || context;\n    const id = useId(props.id);\n    const ref = useRef(null);\n    const row = useContext(CompositeRowContext);\n    const rowId = useStoreState(store, (state) => {\n      if (rowIdProp)\n        return rowIdProp;\n      if (!state)\n        return;\n      if (!(row == null ? void 0 : row.baseElement))\n        return;\n      if (row.baseElement !== state.baseElement)\n        return;\n      return row.id;\n    });\n    const disabled = disabledFromProps(props);\n    const trulyDisabled = disabled && !props.accessibleWhenDisabled;\n    const getItem = useCallback(\n      (item) => {\n        const nextItem = __spreadProps(__spreadValues({}, item), {\n          id: id || item.id,\n          rowId,\n          disabled: !!trulyDisabled\n        });\n        if (getItemProp) {\n          return getItemProp(nextItem);\n        }\n        return nextItem;\n      },\n      [id, rowId, trulyDisabled, getItemProp]\n    );\n    const onFocusProp = props.onFocus;\n    const hasFocusedComposite = useRef(false);\n    const onFocus = useEvent((event) => {\n      onFocusProp == null ? void 0 : onFocusProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (isPortalEvent(event))\n        return;\n      if (!id)\n        return;\n      if (!store)\n        return;\n      const { activeId, virtualFocus: virtualFocus2, baseElement: baseElement2 } = store.getState();\n      if (targetIsAnotherItem(event, store))\n        return;\n      if (activeId !== id) {\n        store.setActiveId(id);\n      }\n      if (!virtualFocus2)\n        return;\n      if (!isSelfTarget(event))\n        return;\n      if (isEditableElement(event.currentTarget))\n        return;\n      if (!(baseElement2 == null ? void 0 : baseElement2.isConnected))\n        return;\n      hasFocusedComposite.current = true;\n      const fromComposite = event.relatedTarget === baseElement2 || isItem(store, event.relatedTarget);\n      if (fromComposite) {\n        focusSilently(baseElement2);\n      } else {\n        baseElement2.focus();\n      }\n    });\n    const onBlurCaptureProp = props.onBlurCapture;\n    const onBlurCapture = useEvent((event) => {\n      onBlurCaptureProp == null ? void 0 : onBlurCaptureProp(event);\n      if (event.defaultPrevented)\n        return;\n      const state = store == null ? void 0 : store.getState();\n      if ((state == null ? void 0 : state.virtualFocus) && hasFocusedComposite.current) {\n        hasFocusedComposite.current = false;\n        event.preventDefault();\n        event.stopPropagation();\n      }\n    });\n    const onKeyDownProp = props.onKeyDown;\n    const preventScrollOnKeyDownProp = useBooleanEvent(preventScrollOnKeyDown);\n    const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);\n    const onKeyDown = useEvent((event) => {\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!isSelfTarget(event))\n        return;\n      if (!store)\n        return;\n      const { currentTarget } = event;\n      const state = store.getState();\n      const item = store.item(id);\n      const isGrid = !!(item == null ? void 0 : item.rowId);\n      const isVertical = state.orientation !== \"horizontal\";\n      const isHorizontal = state.orientation !== \"vertical\";\n      const canHomeEnd = () => {\n        if (isGrid)\n          return true;\n        if (isHorizontal)\n          return true;\n        if (!state.baseElement)\n          return true;\n        if (!isTextField(state.baseElement))\n          return true;\n        return false;\n      };\n      const keyMap = {\n        ArrowUp: (isGrid || isVertical) && store.up,\n        ArrowRight: (isGrid || isHorizontal) && store.next,\n        ArrowDown: (isGrid || isVertical) && store.down,\n        ArrowLeft: (isGrid || isHorizontal) && store.previous,\n        Home: () => {\n          if (!canHomeEnd())\n            return;\n          if (!isGrid || event.ctrlKey) {\n            return store == null ? void 0 : store.first();\n          }\n          return store == null ? void 0 : store.previous(-1);\n        },\n        End: () => {\n          if (!canHomeEnd())\n            return;\n          if (!isGrid || event.ctrlKey) {\n            return store == null ? void 0 : store.last();\n          }\n          return store == null ? void 0 : store.next(-1);\n        },\n        PageUp: () => {\n          return findNextPageItemId(currentTarget, store, store == null ? void 0 : store.up, true);\n        },\n        PageDown: () => {\n          return findNextPageItemId(currentTarget, store, store == null ? void 0 : store.down);\n        }\n      };\n      const action = keyMap[event.key];\n      if (action) {\n        const nextId = action();\n        if (preventScrollOnKeyDownProp(event) || nextId !== void 0) {\n          if (!moveOnKeyPressProp(event))\n            return;\n          event.preventDefault();\n          store.move(nextId);\n        }\n      }\n    });\n    const baseElement = useStoreState(\n      store,\n      (state) => (state == null ? void 0 : state.baseElement) || void 0\n    );\n    const providerValue = useMemo(\n      () => ({ id, baseElement }),\n      [id, baseElement]\n    );\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(CompositeItemContext.Provider, { value: providerValue, children: element }),\n      [providerValue]\n    );\n    const isActiveItem = useStoreState(\n      store,\n      (state) => !!state && state.activeId === id\n    );\n    const virtualFocus = useStoreState(store, \"virtualFocus\");\n    const role = useRole(ref, props);\n    let ariaSelected;\n    if (isActiveItem) {\n      if (requiresAriaSelected(role)) {\n        ariaSelected = true;\n      } else if (virtualFocus && supportsAriaSelected(role)) {\n        ariaSelected = true;\n      }\n    }\n    const ariaSetSize = useStoreState(store, (state) => {\n      if (ariaSetSizeProp != null)\n        return ariaSetSizeProp;\n      if (!state)\n        return;\n      if (!(row == null ? void 0 : row.ariaSetSize))\n        return;\n      if (row.baseElement !== state.baseElement)\n        return;\n      return row.ariaSetSize;\n    });\n    const ariaPosInSet = useStoreState(store, (state) => {\n      if (ariaPosInSetProp != null)\n        return ariaPosInSetProp;\n      if (!state)\n        return;\n      if (!(row == null ? void 0 : row.ariaPosInSet))\n        return;\n      if (row.baseElement !== state.baseElement)\n        return;\n      const itemsInRow = state.renderedItems.filter(\n        (item) => item.rowId === rowId\n      );\n      return row.ariaPosInSet + itemsInRow.findIndex((item) => item.id === id);\n    });\n    const isTabbable = useStoreState(store, (state) => {\n      if (!(state == null ? void 0 : state.renderedItems.length))\n        return true;\n      if (state.virtualFocus)\n        return false;\n      if (tabbable)\n        return true;\n      return state.activeId === id;\n    });\n    props = __spreadProps(__spreadValues({\n      id,\n      \"aria-selected\": ariaSelected,\n      \"data-active-item\": isActiveItem ? \"\" : void 0\n    }, props), {\n      ref: useMergeRefs(ref, props.ref),\n      tabIndex: isTabbable ? props.tabIndex : -1,\n      onFocus,\n      onBlurCapture,\n      onKeyDown\n    });\n    props = useCommand(props);\n    props = useCollectionItem(__spreadProps(__spreadValues({\n      store\n    }, props), {\n      getItem,\n      shouldRegisterItem: !!id ? props.shouldRegisterItem : false\n    }));\n    return __spreadProps(__spreadValues({}, props), {\n      \"aria-setsize\": ariaSetSize,\n      \"aria-posinset\": ariaPosInSet\n    });\n  }\n);\nvar CompositeItem = createMemoComponent(\n  (props) => {\n    const htmlProps = useCompositeItem(props);\n    return createElement(\"button\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  CompositeItem.displayName = \"CompositeItem\";\n}\n\nexport {\n  useCompositeItem,\n  CompositeItem\n};\n","\"use client\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\nimport {\n  useUpdateEffect\n} from \"./6O5OEQGF.js\";\n\n// src/disclosure/disclosure-store.ts\nimport * as Core from \"@ariakit/core/disclosure/disclosure-store\";\nfunction useDisclosureStoreProps(store, update, props) {\n  useUpdateEffect(update, [props.store, props.disclosure]);\n  useStoreProps(store, props, \"open\", \"setOpen\");\n  useStoreProps(store, props, \"mounted\", \"setMounted\");\n  useStoreProps(store, props, \"animated\");\n  return store;\n}\nfunction useDisclosureStore(props = {}) {\n  const [store, update] = useStore(Core.createDisclosureStore, props);\n  return useDisclosureStoreProps(store, update, props);\n}\n\nexport {\n  useDisclosureStoreProps,\n  useDisclosureStore\n};\n","\"use client\";\n\n// src/focusable/focusable-context.ts\nimport { createContext } from \"react\";\nvar FocusableContext = createContext(true);\n\nexport {\n  FocusableContext\n};\n","\"use client\";\nimport {\n  useCollectionContext\n} from \"./4UUKJZ4V.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useId,\n  useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/collection/collection-item.ts\nimport { useEffect, useRef } from \"react\";\nimport { identity } from \"@ariakit/core/utils/misc\";\nvar useCollectionItem = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      shouldRegisterItem = true,\n      getItem = identity,\n      element: element\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"shouldRegisterItem\",\n      \"getItem\",\n      // @ts-expect-error This prop may come from a collection renderer.\n      \"element\"\n    ]);\n    const context = useCollectionContext();\n    store = store || context;\n    const id = useId(props.id);\n    const ref = useRef(element);\n    useEffect(() => {\n      const element2 = ref.current;\n      if (!id)\n        return;\n      if (!element2)\n        return;\n      if (!shouldRegisterItem)\n        return;\n      const item = getItem({ id, element: element2 });\n      return store == null ? void 0 : store.renderItem(item);\n    }, [id, shouldRegisterItem, getItem, store]);\n    props = __spreadProps(__spreadValues({}, props), {\n      ref: useMergeRefs(ref, props.ref)\n    });\n    return props;\n  }\n);\nvar CollectionItem = createComponent(\n  (props) => {\n    const htmlProps = useCollectionItem(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  CollectionItem.displayName = \"CollectionItem\";\n}\n\nexport {\n  useCollectionItem,\n  CollectionItem\n};\n","\"use client\";\nimport {\n  CompositeContextProvider,\n  CompositeScopedContextProvider\n} from \"./IB7YUKH5.js\";\nimport {\n  PopoverContextProvider,\n  PopoverScopedContextProvider\n} from \"./7H5KSHHF.js\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/combobox/combobox-context.tsx\nimport { createContext } from \"react\";\nvar ctx = createStoreContext(\n  [PopoverContextProvider, CompositeContextProvider],\n  [PopoverScopedContextProvider, CompositeScopedContextProvider]\n);\nvar useComboboxContext = ctx.useContext;\nvar useComboboxScopedContext = ctx.useScopedContext;\nvar useComboboxProviderContext = ctx.useProviderContext;\nvar ComboboxContextProvider = ctx.ContextProvider;\nvar ComboboxScopedContextProvider = ctx.ScopedContextProvider;\nvar ComboboxItemValueContext = createContext(\n  void 0\n);\nvar ComboboxItemCheckedContext = createContext(false);\n\nexport {\n  useComboboxContext,\n  useComboboxScopedContext,\n  useComboboxProviderContext,\n  ComboboxContextProvider,\n  ComboboxScopedContextProvider,\n  ComboboxItemValueContext,\n  ComboboxItemCheckedContext\n};\n","\"use client\";\nimport {\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/misc.ts\nimport { isValidElement } from \"react\";\nimport { hasOwnProperty } from \"@ariakit/core/utils/misc\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    ref(value);\n  } else if (ref) {\n    ref.current = value;\n  }\n}\nfunction isValidElementWithRef(element) {\n  if (!element)\n    return false;\n  if (!isValidElement(element))\n    return false;\n  if (!(\"ref\" in element))\n    return false;\n  return true;\n}\nfunction getRefProperty(element) {\n  if (!isValidElementWithRef(element))\n    return null;\n  return element.ref;\n}\nfunction mergeProps(base, overrides) {\n  const props = __spreadValues({}, base);\n  for (const key in overrides) {\n    if (!hasOwnProperty(overrides, key))\n      continue;\n    if (key === \"className\") {\n      const prop = \"className\";\n      props[prop] = base[prop] ? `${base[prop]} ${overrides[prop]}` : overrides[prop];\n      continue;\n    }\n    if (key === \"style\") {\n      const prop = \"style\";\n      props[prop] = base[prop] ? __spreadValues(__spreadValues({}, base[prop]), overrides[prop]) : overrides[prop];\n      continue;\n    }\n    const overrideValue = overrides[key];\n    if (typeof overrideValue === \"function\" && key.startsWith(\"on\")) {\n      const baseValue = base[key];\n      if (typeof baseValue === \"function\") {\n        props[key] = (...args) => {\n          overrideValue(...args);\n          baseValue(...args);\n        };\n        continue;\n      }\n    }\n    props[key] = overrideValue;\n  }\n  return props;\n}\n\nexport {\n  setRef,\n  isValidElementWithRef,\n  getRefProperty,\n  mergeProps\n};\n","\"use client\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\nimport {\n  useUpdateEffect\n} from \"./6O5OEQGF.js\";\n\n// src/collection/collection-store.ts\nimport * as Core from \"@ariakit/core/collection/collection-store\";\nfunction useCollectionStoreProps(store, update, props) {\n  useUpdateEffect(update, [props.store]);\n  useStoreProps(store, props, \"items\", \"setItems\");\n  return store;\n}\nfunction useCollectionStore(props = {}) {\n  const [store, update] = useStore(Core.createCollectionStore, props);\n  return useCollectionStoreProps(store, update, props);\n}\n\nexport {\n  useCollectionStoreProps,\n  useCollectionStore\n};\n","\"use client\";\nimport {\n  ComboboxScopedContextProvider,\n  useComboboxProviderContext\n} from \"./W76OTZCC.js\";\nimport {\n  isHidden\n} from \"./CLE7NTOY.js\";\nimport {\n  useFocusable\n} from \"./KK7H3W2B.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useAttribute,\n  useEvent,\n  useId,\n  useMergeRefs,\n  useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/combobox/combobox-list.tsx\nimport { useRef } from \"react\";\nimport { isFocusEventOutside } from \"@ariakit/core/utils/events\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar useComboboxList = createHook(\n  (_a) => {\n    var _b = _a, { store, focusable = true, alwaysVisible } = _b, props = __objRest(_b, [\"store\", \"focusable\", \"alwaysVisible\"]);\n    const context = useComboboxProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"ComboboxList must receive a `store` prop or be wrapped in a ComboboxProvider component.\"\n    );\n    const ref = useRef(null);\n    const id = useId(props.id);\n    const onKeyDownProp = props.onKeyDown;\n    const onKeyDown = useEvent((event) => {\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (event.key === \"Escape\") {\n        store == null ? void 0 : store.move(null);\n      }\n    });\n    const restoreVirtualFocus = useRef(false);\n    const onFocusVisibleProp = props.onFocusVisible;\n    const onFocusVisible = useEvent((event) => {\n      onFocusVisibleProp == null ? void 0 : onFocusVisibleProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (event.type !== \"focus\")\n        return;\n      if (!store)\n        return;\n      const { virtualFocus } = store.getState();\n      if (!virtualFocus)\n        return;\n      const { relatedTarget, currentTarget } = event;\n      if (relatedTarget && currentTarget.contains(relatedTarget))\n        return;\n      restoreVirtualFocus.current = true;\n      store.setState(\"virtualFocus\", false);\n    });\n    const onBlurProp = props.onBlur;\n    const onBlur = useEvent((event) => {\n      onBlurProp == null ? void 0 : onBlurProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!restoreVirtualFocus.current)\n        return;\n      if (!isFocusEventOutside(event))\n        return;\n      restoreVirtualFocus.current = false;\n      store == null ? void 0 : store.setState(\"virtualFocus\", true);\n    });\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(ComboboxScopedContextProvider, { value: store, children: element }),\n      [store]\n    );\n    const mounted = store.useState(\"mounted\");\n    const hidden = isHidden(mounted, props.hidden, alwaysVisible);\n    const style = hidden ? __spreadProps(__spreadValues({}, props.style), { display: \"none\" }) : props.style;\n    const multiSelectable = store.useState(\n      (state) => Array.isArray(state.selectedValue)\n    );\n    const role = useAttribute(ref, \"role\", props.role);\n    const isCompositeRole = role === \"listbox\" || role === \"tree\" || role === \"grid\";\n    const ariaMultiSelectable = isCompositeRole ? multiSelectable || void 0 : void 0;\n    props = __spreadProps(__spreadValues({\n      id,\n      hidden,\n      role: \"listbox\",\n      tabIndex: focusable ? -1 : void 0,\n      \"aria-multiselectable\": ariaMultiSelectable\n    }, props), {\n      ref: useMergeRefs(id ? store.setContentElement : null, ref, props.ref),\n      style,\n      onKeyDown,\n      onFocusVisible,\n      onBlur\n    });\n    props = useFocusable(__spreadValues({ focusable }, props));\n    return props;\n  }\n);\nvar ComboboxList = createComponent((props) => {\n  const htmlProps = useComboboxList(props);\n  return createElement(\"div\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  ComboboxList.displayName = \"ComboboxList\";\n}\n\nexport {\n  useComboboxList,\n  ComboboxList\n};\n","\"use client\";\nimport {\n  useCompositeStoreProps\n} from \"./7GBW5FLS.js\";\nimport {\n  usePopoverStoreProps\n} from \"./MG4P3223.js\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\n\n// src/combobox/combobox-store.ts\nimport * as Core from \"@ariakit/core/combobox/combobox-store\";\nfunction useComboboxStoreProps(store, update, props) {\n  store = usePopoverStoreProps(store, update, props);\n  store = useCompositeStoreProps(store, update, props);\n  useStoreProps(store, props, \"value\", \"setValue\");\n  useStoreProps(store, props, \"selectedValue\", \"setSelectedValue\");\n  useStoreProps(store, props, \"resetValueOnHide\");\n  useStoreProps(store, props, \"resetValueOnSelect\");\n  return store;\n}\nfunction useComboboxStore(props = {}) {\n  const [store, update] = useStore(Core.createComboboxStore, props);\n  return useComboboxStoreProps(store, update, props);\n}\n\nexport {\n  useComboboxStoreProps,\n  useComboboxStore\n};\n","\"use client\";\nimport {\n  useDisclosureStoreProps\n} from \"./SFCBA2JZ.js\";\nimport {\n  useStore\n} from \"./EKQEJRUF.js\";\n\n// src/dialog/dialog-store.ts\nimport * as Core from \"@ariakit/core/dialog/dialog-store\";\nfunction useDialogStoreProps(store, update, props) {\n  return useDisclosureStoreProps(store, update, props);\n}\nfunction useDialogStore(props = {}) {\n  const [store, update] = useStore(Core.createDialogStore, props);\n  return useDialogStoreProps(store, update, props);\n}\n\nexport {\n  useDialogStoreProps,\n  useDialogStore\n};\n","\"use client\";\nimport {\n  ComboboxItemValueContext,\n  useComboboxScopedContext\n} from \"../__chunks/W76OTZCC.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"../__chunks/3ORBWXWF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-item-value.tsx\nimport { useContext, useMemo } from \"react\";\nimport { invariant, normalizeString } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction normalizeValue(value) {\n  return normalizeString(value).toLowerCase();\n}\nfunction splitValue(itemValue, userValue) {\n  userValue = normalizeValue(userValue);\n  let index = normalizeValue(itemValue).indexOf(userValue);\n  const parts = [];\n  while (index !== -1) {\n    if (index !== 0) {\n      parts.push(\n        /* @__PURE__ */ jsx(\"span\", { \"data-autocomplete-value\": \"\", children: itemValue.substr(0, index) }, parts.length)\n      );\n    }\n    parts.push(\n      /* @__PURE__ */ jsx(\"span\", { \"data-user-value\": \"\", children: itemValue.substr(index, userValue.length) }, parts.length)\n    );\n    itemValue = itemValue.substr(index + userValue.length);\n    index = normalizeValue(itemValue).indexOf(userValue);\n  }\n  if (itemValue) {\n    parts.push(\n      /* @__PURE__ */ jsx(\"span\", { \"data-autocomplete-value\": \"\", children: itemValue }, parts.length)\n    );\n  }\n  return parts;\n}\nvar useComboboxItemValue = createHook(\n  (_a) => {\n    var _b = _a, { store, value } = _b, props = __objRest(_b, [\"store\", \"value\"]);\n    const context = useComboboxScopedContext();\n    store = store || context;\n    const itemContext = useContext(ComboboxItemValueContext);\n    const itemValue = value != null ? value : itemContext;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"ComboboxItemValue must be wrapped in a ComboboxItem component.\"\n    );\n    const stateValue = store.useState(\n      (state) => itemValue && state.value ? state.value : void 0\n    );\n    const children = useMemo(\n      () => itemValue && stateValue ? splitValue(itemValue, stateValue) : itemValue,\n      [itemValue, stateValue]\n    );\n    props = __spreadValues({\n      children\n    }, props);\n    return props;\n  }\n);\nvar ComboboxItemValue = createComponent(\n  (props) => {\n    const htmlProps = useComboboxItemValue(props);\n    return createElement(\"span\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  ComboboxItemValue.displayName = \"ComboboxItemValue\";\n}\nexport {\n  ComboboxItemValue,\n  useComboboxItemValue\n};\n","\"use client\";\nimport {\n  useCompositeHover\n} from \"../__chunks/G6ONQ5EH.js\";\nimport {\n  ComboboxItemCheckedContext,\n  ComboboxItemValueContext,\n  useComboboxScopedContext\n} from \"../__chunks/W76OTZCC.js\";\nimport {\n  useCompositeItem\n} from \"../__chunks/QZLXIDNP.js\";\nimport \"../__chunks/NWCBQ4CV.js\";\nimport \"../__chunks/UH3I23HL.js\";\nimport \"../__chunks/3IEDWLST.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport \"../__chunks/KK7H3W2B.js\";\nimport \"../__chunks/SHA3WOPI.js\";\nimport {\n  createElement,\n  createHook,\n  createMemoComponent\n} from \"../__chunks/3ORBWXWF.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useWrapElement\n} from \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-item.tsx\nimport { useCallback } from \"react\";\nimport { getPopupItemRole, isTextField } from \"@ariakit/core/utils/dom\";\nimport { isDownloading, isOpeningInNewTab } from \"@ariakit/core/utils/events\";\nimport { hasFocus } from \"@ariakit/core/utils/focus\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction isSelected(storeValue, itemValue) {\n  if (itemValue == null)\n    return;\n  if (storeValue == null)\n    return false;\n  if (Array.isArray(storeValue)) {\n    return storeValue.includes(itemValue);\n  }\n  return storeValue === itemValue;\n}\nvar useComboboxItem = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      value,\n      hideOnClick,\n      selectValueOnClick = true,\n      setValueOnClick,\n      focusOnHover = false,\n      moveOnKeyPress = true,\n      getItem: getItemProp\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"value\",\n      \"hideOnClick\",\n      \"selectValueOnClick\",\n      \"setValueOnClick\",\n      \"focusOnHover\",\n      \"moveOnKeyPress\",\n      \"getItem\"\n    ]);\n    const context = useComboboxScopedContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"ComboboxItem must be wrapped in a ComboboxList or ComboboxPopover component.\"\n    );\n    const getItem = useCallback(\n      (item) => {\n        const nextItem = __spreadProps(__spreadValues({}, item), { value });\n        if (getItemProp) {\n          return getItemProp(nextItem);\n        }\n        return nextItem;\n      },\n      [value, getItemProp]\n    );\n    const multiSelectable = store.useState(\n      (state) => Array.isArray(state.selectedValue)\n    );\n    setValueOnClick = setValueOnClick != null ? setValueOnClick : !multiSelectable;\n    hideOnClick = hideOnClick != null ? hideOnClick : value != null && !multiSelectable;\n    const onClickProp = props.onClick;\n    const setValueOnClickProp = useBooleanEvent(setValueOnClick);\n    const selectValueOnClickProp = useBooleanEvent(selectValueOnClick);\n    const hideOnClickProp = useBooleanEvent(hideOnClick);\n    const onClick = useEvent((event) => {\n      onClickProp == null ? void 0 : onClickProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (isDownloading(event))\n        return;\n      if (isOpeningInNewTab(event))\n        return;\n      if (value != null) {\n        if (selectValueOnClickProp(event)) {\n          store == null ? void 0 : store.setSelectedValue((prevValue) => {\n            if (!Array.isArray(prevValue))\n              return value;\n            if (prevValue.includes(value)) {\n              return prevValue.filter((v) => v !== value);\n            }\n            return [...prevValue, value];\n          });\n        }\n        if (setValueOnClickProp(event)) {\n          store == null ? void 0 : store.setValue(value);\n        }\n      }\n      if (hideOnClickProp(event)) {\n        store == null ? void 0 : store.move(null);\n        store == null ? void 0 : store.hide();\n      }\n    });\n    const onKeyDownProp = props.onKeyDown;\n    const onKeyDown = useEvent((event) => {\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      const baseElement = store == null ? void 0 : store.getState().baseElement;\n      if (!baseElement)\n        return;\n      if (hasFocus(baseElement))\n        return;\n      const printable = event.key.length === 1;\n      if (printable || event.key === \"Backspace\" || event.key === \"Delete\") {\n        queueMicrotask(() => baseElement.focus());\n        if (isTextField(baseElement)) {\n          store == null ? void 0 : store.setValue(baseElement.value);\n        }\n      }\n    });\n    const selected = store.useState(\n      (state) => isSelected(state.selectedValue, value)\n    );\n    if (multiSelectable && selected != null) {\n      props = __spreadValues({\n        \"aria-selected\": selected\n      }, props);\n    }\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(ComboboxItemValueContext.Provider, { value, children: /* @__PURE__ */ jsx(ComboboxItemCheckedContext.Provider, { value: selected != null ? selected : false, children: element }) }),\n      [value, selected]\n    );\n    const contentElement = store.useState(\"contentElement\");\n    props = __spreadProps(__spreadValues({\n      role: getPopupItemRole(contentElement),\n      children: value\n    }, props), {\n      onClick,\n      onKeyDown\n    });\n    const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);\n    props = useCompositeItem(__spreadProps(__spreadValues({\n      store\n    }, props), {\n      getItem,\n      // Dispatch a custom event on the combobox input when moving to an item\n      // with the keyboard so the Combobox component can enable inline\n      // autocompletion.\n      moveOnKeyPress: (event) => {\n        if (!moveOnKeyPressProp(event))\n          return false;\n        const moveEvent = new Event(\"combobox-item-move\");\n        const baseElement = store == null ? void 0 : store.getState().baseElement;\n        baseElement == null ? void 0 : baseElement.dispatchEvent(moveEvent);\n        return true;\n      }\n    }));\n    props = useCompositeHover(__spreadValues({ store, focusOnHover }, props));\n    return props;\n  }\n);\nvar ComboboxItem = createMemoComponent(\n  (props) => {\n    const htmlProps = useComboboxItem(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  ComboboxItem.displayName = \"ComboboxItem\";\n}\nexport {\n  ComboboxItem,\n  useComboboxItem\n};\n","\"use client\";\nimport {\n  useComboboxProviderContext\n} from \"../__chunks/W76OTZCC.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport {\n  createElement,\n  createHook,\n  createMemoComponent\n} from \"../__chunks/3ORBWXWF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-label.ts\nimport { invariant } from \"@ariakit/core/utils/misc\";\nvar useComboboxLabel = createHook(\n  (_a) => {\n    var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n    const context = useComboboxProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"ComboboxLabel must receive a `store` prop or be wrapped in a ComboboxProvider component.\"\n    );\n    const comboboxId = store.useState((state) => {\n      var _a2;\n      return (_a2 = state.baseElement) == null ? void 0 : _a2.id;\n    });\n    props = __spreadValues({\n      htmlFor: comboboxId\n    }, props);\n    return props;\n  }\n);\nvar ComboboxLabel = createMemoComponent(\n  (props) => {\n    const htmlProps = useComboboxLabel(props);\n    return createElement(\"label\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  ComboboxLabel.displayName = \"ComboboxLabel\";\n}\nexport {\n  ComboboxLabel,\n  useComboboxLabel\n};\n","\"use client\";\nimport {\n  useComboboxStore\n} from \"../__chunks/ZKJ2WLF7.js\";\nimport {\n  ComboboxContextProvider\n} from \"../__chunks/W76OTZCC.js\";\nimport \"../__chunks/7GBW5FLS.js\";\nimport \"../__chunks/Y6GYTNQ2.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport \"../__chunks/3ORBWXWF.js\";\nimport \"../__chunks/MG4P3223.js\";\nimport \"../__chunks/ZSELSBRM.js\";\nimport \"../__chunks/SFCBA2JZ.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-provider.tsx\nimport { jsx } from \"react/jsx-runtime\";\nfunction ComboboxProvider(props = {}) {\n  const store = useComboboxStore(props);\n  return /* @__PURE__ */ jsx(ComboboxContextProvider, { value: store, children: props.children });\n}\nexport {\n  ComboboxProvider\n};\n","\"use client\";\nimport {\n  usePopoverAnchor\n} from \"../__chunks/JCH6MLL2.js\";\nimport {\n  useComboboxProviderContext\n} from \"../__chunks/W76OTZCC.js\";\nimport {\n  useComposite\n} from \"../__chunks/7QTPYGNZ.js\";\nimport \"../__chunks/3IEDWLST.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport \"../__chunks/KK7H3W2B.js\";\nimport \"../__chunks/SHA3WOPI.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"../__chunks/3ORBWXWF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useForceUpdate,\n  useId,\n  useMergeRefs,\n  useSafeLayoutEffect,\n  useUpdateEffect,\n  useUpdateLayoutEffect\n} from \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox.ts\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport {\n  getPopupRole,\n  getScrollingElement,\n  setSelectionRange\n} from \"@ariakit/core/utils/dom\";\nimport {\n  isFocusEventOutside,\n  queueBeforeEvent\n} from \"@ariakit/core/utils/events\";\nimport { hasFocus } from \"@ariakit/core/utils/focus\";\nimport {\n  invariant,\n  isFalsyBooleanCallback,\n  normalizeString\n} from \"@ariakit/core/utils/misc\";\nimport { flushSync } from \"react-dom\";\nfunction isFirstItemAutoSelected(items, activeValue, autoSelect) {\n  if (!autoSelect)\n    return false;\n  const firstItem = items.find((item) => !item.disabled && item.value);\n  return (firstItem == null ? void 0 : firstItem.value) === activeValue;\n}\nfunction hasCompletionString(value, activeValue) {\n  if (!activeValue)\n    return false;\n  if (value == null)\n    return false;\n  value = normalizeString(value);\n  return activeValue.length > value.length && activeValue.toLowerCase().indexOf(value.toLowerCase()) === 0;\n}\nfunction isInputEvent(event) {\n  return event.type === \"input\";\n}\nfunction isAriaAutoCompleteValue(value) {\n  return value === \"inline\" || value === \"list\" || value === \"both\" || value === \"none\";\n}\nvar useCombobox = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      focusable = true,\n      autoSelect: autoSelectProp = false,\n      getAutoSelectId,\n      showOnChange = true,\n      setValueOnChange = true,\n      showOnMouseDown = true,\n      setValueOnClick = true,\n      showOnKeyDown = true,\n      moveOnKeyPress = true,\n      autoComplete = \"list\"\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"focusable\",\n      \"autoSelect\",\n      \"getAutoSelectId\",\n      \"showOnChange\",\n      \"setValueOnChange\",\n      \"showOnMouseDown\",\n      \"setValueOnClick\",\n      \"showOnKeyDown\",\n      \"moveOnKeyPress\",\n      \"autoComplete\"\n    ]);\n    const context = useComboboxProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"Combobox must receive a `store` prop or be wrapped in a ComboboxProvider component.\"\n    );\n    const ref = useRef(null);\n    const [valueUpdated, forceValueUpdate] = useForceUpdate();\n    const canAutoSelectRef = useRef(false);\n    const composingRef = useRef(false);\n    const autoSelect = store.useState(\n      (state) => !!autoSelectProp && state.virtualFocus\n    );\n    const inline = autoComplete === \"inline\" || autoComplete === \"both\";\n    const [canInline, setCanInline] = useState(inline);\n    useUpdateLayoutEffect(() => {\n      if (!inline)\n        return;\n      setCanInline(true);\n    }, [inline]);\n    const storeValue = store.useState(\"value\");\n    const activeValue = store.useState(\n      (state) => inline && canInline ? state.activeValue : void 0\n    );\n    const items = store.useState(\"renderedItems\");\n    const open = store.useState(\"open\");\n    const contentElement = store.useState(\"contentElement\");\n    const value = useMemo(() => {\n      if (!inline)\n        return storeValue;\n      if (!canInline)\n        return storeValue;\n      const firstItemAutoSelected = isFirstItemAutoSelected(\n        items,\n        activeValue,\n        autoSelect\n      );\n      if (firstItemAutoSelected) {\n        if (hasCompletionString(storeValue, activeValue)) {\n          const slice = (activeValue == null ? void 0 : activeValue.slice(storeValue.length)) || \"\";\n          return storeValue + slice;\n        }\n        return storeValue;\n      }\n      return activeValue || storeValue;\n    }, [inline, canInline, items, activeValue, autoSelect, storeValue]);\n    useEffect(() => {\n      const element = ref.current;\n      if (!element)\n        return;\n      const onCompositeItemMove = () => setCanInline(true);\n      element.addEventListener(\"combobox-item-move\", onCompositeItemMove);\n      return () => {\n        element.removeEventListener(\"combobox-item-move\", onCompositeItemMove);\n      };\n    }, []);\n    useEffect(() => {\n      if (!inline)\n        return;\n      if (!canInline)\n        return;\n      if (!activeValue)\n        return;\n      const firstItemAutoSelected = isFirstItemAutoSelected(\n        items,\n        activeValue,\n        autoSelect\n      );\n      if (!firstItemAutoSelected)\n        return;\n      if (!hasCompletionString(storeValue, activeValue))\n        return;\n      queueMicrotask(() => {\n        const element = ref.current;\n        if (!element)\n          return;\n        setSelectionRange(element, storeValue.length, activeValue.length);\n      });\n    }, [\n      valueUpdated,\n      inline,\n      canInline,\n      activeValue,\n      items,\n      autoSelect,\n      storeValue\n    ]);\n    const scrollingElementRef = useRef(null);\n    const getAutoSelectIdProp = useEvent(getAutoSelectId);\n    const autoSelectIdRef = useRef(null);\n    useEffect(() => {\n      if (!open)\n        return;\n      if (!contentElement)\n        return;\n      const scrollingElement = getScrollingElement(contentElement);\n      if (!scrollingElement)\n        return;\n      scrollingElementRef.current = scrollingElement;\n      const onWheel = () => {\n        canAutoSelectRef.current = false;\n      };\n      const onScroll = () => {\n        if (!store)\n          return;\n        if (!canAutoSelectRef.current)\n          return;\n        const { activeId } = store.getState();\n        if (activeId === null)\n          return;\n        if (activeId === autoSelectIdRef.current)\n          return;\n        canAutoSelectRef.current = false;\n      };\n      const options = { passive: true, capture: true };\n      scrollingElement.addEventListener(\"wheel\", onWheel, options);\n      scrollingElement.addEventListener(\"scroll\", onScroll, options);\n      return () => {\n        scrollingElement.removeEventListener(\"wheel\", onWheel, true);\n        scrollingElement.removeEventListener(\"scroll\", onScroll, true);\n      };\n    }, [open, contentElement, store]);\n    useSafeLayoutEffect(() => {\n      if (!storeValue)\n        return;\n      if (composingRef.current)\n        return;\n      canAutoSelectRef.current = true;\n    }, [storeValue]);\n    useSafeLayoutEffect(() => {\n      if (open)\n        return;\n      canAutoSelectRef.current = false;\n    }, [open]);\n    const resetValueOnSelect = store.useState(\"resetValueOnSelect\");\n    useUpdateEffect(() => {\n      var _a2;\n      const canAutoSelect = canAutoSelectRef.current;\n      if (!store)\n        return;\n      if ((!autoSelect || !canAutoSelect) && !resetValueOnSelect)\n        return;\n      const { baseElement, contentElement: contentElement2, activeId } = store.getState();\n      if (baseElement && !hasFocus(baseElement))\n        return;\n      if (contentElement2 == null ? void 0 : contentElement2.hasAttribute(\"data-placing\")) {\n        const observer = new MutationObserver(forceValueUpdate);\n        observer.observe(contentElement2, { attributeFilter: [\"data-placing\"] });\n        return () => observer.disconnect();\n      }\n      if (autoSelect && canAutoSelect) {\n        const userAutoSelectId = getAutoSelectIdProp(items);\n        const autoSelectId = userAutoSelectId !== void 0 ? userAutoSelectId : store.first();\n        autoSelectIdRef.current = autoSelectId;\n        store.move(autoSelectId != null ? autoSelectId : null);\n      } else {\n        const element = (_a2 = store.item(activeId)) == null ? void 0 : _a2.element;\n        if (element && \"scrollIntoView\" in element) {\n          element.scrollIntoView({ block: \"nearest\", inline: \"nearest\" });\n        }\n      }\n      return;\n    }, [\n      store,\n      valueUpdated,\n      storeValue,\n      autoSelect,\n      resetValueOnSelect,\n      getAutoSelectIdProp,\n      items\n    ]);\n    useEffect(() => {\n      if (!inline)\n        return;\n      const combobox = ref.current;\n      if (!combobox)\n        return;\n      const elements = [combobox, contentElement].filter(\n        (value2) => !!value2\n      );\n      const onBlur2 = (event) => {\n        if (elements.every((el) => isFocusEventOutside(event, el))) {\n          store == null ? void 0 : store.setValue(value);\n        }\n      };\n      elements.forEach((el) => el.addEventListener(\"focusout\", onBlur2));\n      return () => {\n        elements.forEach((el) => el.removeEventListener(\"focusout\", onBlur2));\n      };\n    }, [inline, contentElement, store, value]);\n    const onChangeProp = props.onChange;\n    const showOnChangeProp = useBooleanEvent(showOnChange);\n    const setValueOnChangeProp = useBooleanEvent(setValueOnChange);\n    const onChange = useEvent((event) => {\n      onChangeProp == null ? void 0 : onChangeProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!store)\n        return;\n      const { value: value2, selectionStart, selectionEnd } = event.target;\n      const nativeEvent = event.nativeEvent;\n      canAutoSelectRef.current = true;\n      if (isInputEvent(nativeEvent)) {\n        if (nativeEvent.isComposing) {\n          canAutoSelectRef.current = false;\n          composingRef.current = true;\n        }\n        if (inline) {\n          const textInserted = nativeEvent.inputType === \"insertText\" || nativeEvent.inputType === \"insertCompositionText\";\n          const caretAtEnd = selectionStart === value2.length;\n          setCanInline(textInserted && caretAtEnd);\n        }\n      }\n      if (setValueOnChangeProp(event)) {\n        const isSameValue = value2 === store.getState().value;\n        flushSync(() => store == null ? void 0 : store.setValue(value2));\n        setSelectionRange(event.currentTarget, selectionStart, selectionEnd);\n        if (inline && autoSelect && isSameValue) {\n          forceValueUpdate();\n        }\n      }\n      if (showOnChangeProp(event)) {\n        store.show();\n      }\n      if (!autoSelect || !canAutoSelectRef.current) {\n        store.setActiveId(null);\n      }\n    });\n    const onCompositionEndProp = props.onCompositionEnd;\n    const onCompositionEnd = useEvent(\n      (event) => {\n        canAutoSelectRef.current = true;\n        composingRef.current = false;\n        onCompositionEndProp == null ? void 0 : onCompositionEndProp(event);\n        if (event.defaultPrevented)\n          return;\n        if (!autoSelect)\n          return;\n        forceValueUpdate();\n      }\n    );\n    const onMouseDownProp = props.onMouseDown;\n    const setValueOnClickProp = useBooleanEvent(setValueOnClick);\n    const showOnMouseDownProp = useBooleanEvent(showOnMouseDown);\n    const onMouseDown = useEvent((event) => {\n      onMouseDownProp == null ? void 0 : onMouseDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (event.button)\n        return;\n      if (event.ctrlKey)\n        return;\n      if (!store)\n        return;\n      store.setActiveId(null);\n      if (setValueOnClickProp(event)) {\n        store.setValue(value);\n      }\n      if (showOnMouseDownProp(event)) {\n        queueBeforeEvent(event.currentTarget, \"mouseup\", store.show);\n      }\n    });\n    const onKeyDownProp = props.onKeyDown;\n    const showOnKeyDownProp = useBooleanEvent(showOnKeyDown);\n    const onKeyDown = useEvent(\n      (event) => {\n        onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n        if (!event.repeat) {\n          canAutoSelectRef.current = false;\n        }\n        if (event.defaultPrevented)\n          return;\n        if (event.ctrlKey)\n          return;\n        if (event.altKey)\n          return;\n        if (event.shiftKey)\n          return;\n        if (event.metaKey)\n          return;\n        if (!store)\n          return;\n        const { open: open2, activeId } = store.getState();\n        if (open2)\n          return;\n        if (activeId !== null)\n          return;\n        if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n          if (showOnKeyDownProp(event)) {\n            event.preventDefault();\n            store.show();\n          }\n        }\n      }\n    );\n    const onBlurProp = props.onBlur;\n    const onBlur = useEvent((event) => {\n      canAutoSelectRef.current = false;\n      onBlurProp == null ? void 0 : onBlurProp(event);\n      if (event.defaultPrevented)\n        return;\n    });\n    const id = useId(props.id);\n    const ariaAutoComplete = isAriaAutoCompleteValue(autoComplete) ? autoComplete : void 0;\n    const isActiveItem = store.useState((state) => state.activeId === null);\n    props = __spreadProps(__spreadValues({\n      id,\n      role: \"combobox\",\n      \"aria-autocomplete\": ariaAutoComplete,\n      \"aria-haspopup\": getPopupRole(contentElement, \"listbox\"),\n      \"aria-expanded\": open,\n      \"aria-controls\": contentElement == null ? void 0 : contentElement.id,\n      \"data-active-item\": isActiveItem || void 0,\n      value\n    }, props), {\n      ref: useMergeRefs(ref, props.ref),\n      onChange,\n      onCompositionEnd,\n      onMouseDown,\n      onKeyDown,\n      onBlur\n    });\n    props = useComposite(__spreadProps(__spreadValues({\n      store,\n      focusable\n    }, props), {\n      // Enable inline autocomplete when the user moves from the combobox input\n      // to an item.\n      moveOnKeyPress: (event) => {\n        if (isFalsyBooleanCallback(moveOnKeyPress, event))\n          return false;\n        if (inline)\n          setCanInline(true);\n        return true;\n      }\n    }));\n    props = usePopoverAnchor(__spreadValues({ store }, props));\n    return __spreadValues({ autoComplete: \"off\" }, props);\n  }\n);\nvar Combobox = createComponent((props) => {\n  const htmlProps = useCombobox(props);\n  return createElement(\"input\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Combobox.displayName = \"Combobox\";\n}\nexport {\n  Combobox,\n  useCombobox\n};\n","export default function _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}","import * as React from 'react';\nimport { useEffect, useState } from 'react';\n\n/**\n * Hook to load external script.\n * @param src - Source url to load.\n * @param onLoad - Success callback.\n * @param onError - Error callback.\n */ function useLoadScript(src, onLoad, onError) {\n    useEffect(()=>{\n        if (!document) {\n            return;\n        }\n        // Find script tag with same src in DOM.\n        const foundScript = document.querySelector(\"script[src=\\\"\".concat(src, \"\\\"]\"));\n        // Call onLoad if script marked as loaded.\n        if (foundScript === null || foundScript === void 0 ? void 0 : foundScript.dataset.loaded) {\n            onLoad === null || onLoad === void 0 ? void 0 : onLoad();\n            return;\n        }\n        // Create or get existed tag.\n        const script = foundScript || document.createElement(\"script\");\n        // Set src if no script was found.\n        if (!foundScript) {\n            script.src = src;\n        }\n        // Mark script as loaded on load event.\n        const onLoadWithMarker = ()=>{\n            script.dataset.loaded = \"1\";\n            onLoad === null || onLoad === void 0 ? void 0 : onLoad();\n        };\n        script.addEventListener(\"load\", onLoadWithMarker);\n        if (onError) {\n            script.addEventListener(\"error\", onError);\n        }\n        // Add to DOM if not yet added.\n        if (!foundScript) {\n            document.head.append(script);\n        }\n        return ()=>{\n            script.removeEventListener(\"load\", onLoadWithMarker);\n            if (onError) {\n                script.removeEventListener(\"error\", onError);\n            }\n        };\n    }, []);\n}\n\n/**\n * Hook to load Google Charts JS API.\n * @param params - Load parameters.\n * @param [params.chartVersion] - Chart version to load.\n * @param [params.chartPackages] - Packages to load.\n * @param [params.chartLanguage] - Languages to load.\n * @param [params.mapsApiKey] - Google Maps api key.\n * @returns\n */ function useLoadGoogleCharts(param) {\n    let { chartVersion =\"current\" , chartPackages =[\n        \"corechart\",\n        \"controls\"\n    ] , chartLanguage =\"en\" , mapsApiKey  } = param;\n    const [googleCharts, setGoogleCharts] = useState(null);\n    const [failed, setFailed] = useState(false);\n    useLoadScript(\"https://www.gstatic.com/charts/loader.js\", ()=>{\n        // @ts-expect-error Getting object from global namespace.\n        const google = window === null || window === void 0 ? void 0 : window.google;\n        if (!google) {\n            return;\n        }\n        google.charts.load(chartVersion, {\n            packages: chartPackages,\n            language: chartLanguage,\n            mapsApiKey\n        });\n        google.charts.setOnLoadCallback(()=>{\n            setGoogleCharts(google);\n        });\n    }, ()=>{\n        setFailed(true);\n    });\n    return [\n        googleCharts,\n        failed\n    ];\n}\n/**\n * Wrapper around useLoadGoogleCharts to use in legacy components.\n */ function LoadGoogleCharts(param) {\n    let { onLoad , onError , ...params } = param;\n    const [googleCharts, failed] = useLoadGoogleCharts(params);\n    useEffect(()=>{\n        if (googleCharts && onLoad) {\n            onLoad(googleCharts);\n        }\n    }, [\n        googleCharts\n    ]);\n    useEffect(()=>{\n        if (failed && onError) {\n            onError();\n        }\n    }, [\n        failed\n    ]);\n    return null;\n}\n\nconst chartDefaultProps = {\n    // <DEPRECATED_PROPS>\n    legend_toggle: false,\n    // </DEPRECATED_PROPS>\n    options: {},\n    legendToggle: false,\n    getChartWrapper: ()=>{},\n    spreadSheetQueryParameters: {\n        headers: 1,\n        gid: 1\n    },\n    rootProps: {},\n    chartWrapperParams: {}\n};\n\nlet uniqueID = 0;\nconst generateUniqueID = ()=>{\n    uniqueID += 1;\n    return \"reactgooglegraph-\".concat(uniqueID);\n};\n\nconst DEFAULT_CHART_COLORS = [\n    \"#3366CC\",\n    \"#DC3912\",\n    \"#FF9900\",\n    \"#109618\",\n    \"#990099\",\n    \"#3B3EAC\",\n    \"#0099C6\",\n    \"#DD4477\",\n    \"#66AA00\",\n    \"#B82E2E\",\n    \"#316395\",\n    \"#994499\",\n    \"#22AA99\",\n    \"#AAAA11\",\n    \"#6633CC\",\n    \"#E67300\",\n    \"#8B0707\",\n    \"#329262\",\n    \"#5574A6\",\n    \"#3B3EAC\"\n];\n\nconst loadDataTableFromSpreadSheet = async function(googleViz, spreadSheetUrl) {\n    let urlParams = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n    return new Promise((resolve, reject)=>{\n        const headers = \"\".concat(urlParams.headers ? \"headers=\".concat(urlParams.headers) : \"headers=0\");\n        const queryString = \"\".concat(urlParams.query ? \"&tq=\".concat(encodeURIComponent(urlParams.query)) : \"\");\n        const gid = \"\".concat(urlParams.gid ? \"&gid=\".concat(urlParams.gid) : \"\");\n        const sheet = \"\".concat(urlParams.sheet ? \"&sheet=\".concat(urlParams.sheet) : \"\");\n        const access_token = \"\".concat(urlParams.access_token ? \"&access_token=\".concat(urlParams.access_token) : \"\");\n        const urlQueryString = \"\".concat(headers).concat(gid).concat(sheet).concat(queryString).concat(access_token);\n        const urlToSpreadSheet = \"\".concat(spreadSheetUrl, \"/gviz/tq?\").concat(urlQueryString); //&tq=${queryString}`;\n        const query = new googleViz.visualization.Query(urlToSpreadSheet);\n        query.send((response)=>{\n            if (response.isError()) {\n                reject(\"Error in query:  \".concat(response.getMessage(), \" \").concat(response.getDetailedMessage()));\n            } else {\n                resolve(response.getDataTable());\n            }\n        });\n    });\n};\n\nconst { Provider , Consumer  } = /*#__PURE__*/ React.createContext(chartDefaultProps);\nconst ContextProvider = (param)=>{\n    let { children , value  } = param;\n    return(/*#__PURE__*/ React.createElement(Provider, {\n        value: value\n    }, children));\n};\nconst ContextConsumer = (param)=>{\n    let { render  } = param;\n    return(/*#__PURE__*/ React.createElement(Consumer, null, (context)=>{\n        return render(context);\n    }));\n};\n\nconst GRAY_COLOR = \"#CCCCCC\";\nclass GoogleChartDataTableInner extends React.Component {\n    componentDidMount() {\n        this.draw(this.props);\n        window.addEventListener(\"resize\", this.onResize);\n        if (this.props.legend_toggle || this.props.legendToggle) {\n            this.listenToLegendToggle();\n        }\n    }\n    componentWillUnmount() {\n        const { google , googleChartWrapper  } = this.props;\n        window.removeEventListener(\"resize\", this.onResize);\n        google.visualization.events.removeAllListeners(googleChartWrapper);\n        if (googleChartWrapper.getChartType() === \"Timeline\") {\n            googleChartWrapper.getChart() && googleChartWrapper.getChart().clearChart();\n        }\n    }\n    componentDidUpdate() {\n        this.draw(this.props);\n    }\n    render() {\n        return null;\n    }\n    constructor(...args){\n        super(...args);\n        this.state = {\n            hiddenColumns: []\n        };\n        this.listenToLegendToggle = ()=>{\n            const { google , googleChartWrapper  } = this.props;\n            google.visualization.events.addListener(googleChartWrapper, \"select\", ()=>{\n                const chart = googleChartWrapper.getChart();\n                const selection = chart.getSelection();\n                const dataTable = googleChartWrapper.getDataTable();\n                if (selection.length === 0 || // We want to listen to when a whole row is selected. This is the case only when row === null\n                selection[0].row || !dataTable) {\n                    return;\n                }\n                const columnIndex = selection[0].column;\n                const columnID = this.getColumnID(dataTable, columnIndex);\n                if (this.state.hiddenColumns.includes(columnID)) {\n                    this.setState((state)=>({\n                            ...state,\n                            hiddenColumns: [\n                                ...state.hiddenColumns.filter((colID)=>colID !== columnID\n                                ), \n                            ]\n                        })\n                    );\n                } else {\n                    this.setState((state)=>({\n                            ...state,\n                            hiddenColumns: [\n                                ...state.hiddenColumns,\n                                columnID\n                            ]\n                        })\n                    );\n                }\n            });\n        };\n        this.applyFormatters = (dataTable, formatters)=>{\n            const { google  } = this.props;\n            for (let formatter of formatters){\n                switch(formatter.type){\n                    case \"ArrowFormat\":\n                        {\n                            const vizFormatter = new google.visualization.ArrowFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"BarFormat\":\n                        {\n                            const vizFormatter = new google.visualization.BarFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"ColorFormat\":\n                        {\n                            const vizFormatter = new google.visualization.ColorFormat(formatter.options);\n                            const { ranges  } = formatter;\n                            for (let range of ranges){\n                                vizFormatter.addRange(...range);\n                            }\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"DateFormat\":\n                        {\n                            const vizFormatter = new google.visualization.DateFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"NumberFormat\":\n                        {\n                            const vizFormatter = new google.visualization.NumberFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"PatternFormat\":\n                        {\n                            const vizFormatter = new google.visualization.PatternFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                }\n            }\n        };\n        this.getColumnID = (dataTable, columnIndex)=>{\n            return dataTable.getColumnId(columnIndex) || dataTable.getColumnLabel(columnIndex);\n        };\n        this.draw = async (param)=>{\n            let { data , diffdata , rows , columns , options , legend_toggle , legendToggle , chartType , formatters , spreadSheetUrl , spreadSheetQueryParameters  } = param;\n            const { google , googleChartWrapper  } = this.props;\n            let dataTable;\n            let chartDiff = null;\n            if (diffdata) {\n                const oldData = google.visualization.arrayToDataTable(diffdata.old);\n                const newData = google.visualization.arrayToDataTable(diffdata.new);\n                chartDiff = google.visualization[chartType].prototype.computeDiff(oldData, newData);\n            }\n            if (data !== null) {\n                if (Array.isArray(data)) {\n                    dataTable = google.visualization.arrayToDataTable(data);\n                } else {\n                    dataTable = new google.visualization.DataTable(data);\n                }\n            } else if (rows && columns) {\n                dataTable = google.visualization.arrayToDataTable([\n                    columns,\n                    ...rows\n                ]);\n            } else if (spreadSheetUrl) {\n                dataTable = await loadDataTableFromSpreadSheet(google, spreadSheetUrl, spreadSheetQueryParameters);\n            } else {\n                dataTable = google.visualization.arrayToDataTable([]);\n            }\n            const columnCount = dataTable.getNumberOfColumns();\n            for(let i = 0; i < columnCount; i += 1){\n                const columnID = this.getColumnID(dataTable, i);\n                if (this.state.hiddenColumns.includes(columnID)) {\n                    const previousColumnLabel = dataTable.getColumnLabel(i);\n                    const previousColumnID = dataTable.getColumnId(i);\n                    const previousColumnType = dataTable.getColumnType(i);\n                    dataTable.removeColumn(i);\n                    dataTable.addColumn({\n                        label: previousColumnLabel,\n                        id: previousColumnID,\n                        type: previousColumnType\n                    });\n                }\n            }\n            const chart = googleChartWrapper.getChart();\n            if (googleChartWrapper.getChartType() === \"Timeline\") {\n                chart && chart.clearChart();\n            }\n            googleChartWrapper.setChartType(chartType);\n            googleChartWrapper.setOptions(options || {});\n            googleChartWrapper.setDataTable(dataTable);\n            googleChartWrapper.draw();\n            if (this.props.googleChartDashboard !== null) {\n                this.props.googleChartDashboard.draw(dataTable);\n            }\n            if (chartDiff) {\n                googleChartWrapper.setDataTable(chartDiff);\n                googleChartWrapper.draw();\n            }\n            if (formatters) {\n                this.applyFormatters(dataTable, formatters);\n                googleChartWrapper.setDataTable(dataTable);\n                googleChartWrapper.draw();\n            }\n            if (legendToggle === true || legend_toggle === true) {\n                this.grayOutHiddenColumns({\n                    options\n                });\n            }\n            return;\n        };\n        this.grayOutHiddenColumns = (param)=>{\n            let { options  } = param;\n            const { googleChartWrapper  } = this.props;\n            const dataTable = googleChartWrapper.getDataTable();\n            if (!dataTable) return;\n            const columnCount = dataTable.getNumberOfColumns();\n            const hasAHiddenColumn = this.state.hiddenColumns.length > 0;\n            if (hasAHiddenColumn === false) return;\n            const colors = Array.from({\n                length: columnCount - 1\n            }).map((dontcare, i)=>{\n                const columnID = this.getColumnID(dataTable, i + 1);\n                if (this.state.hiddenColumns.includes(columnID)) {\n                    return GRAY_COLOR;\n                } else if (options && options.colors) {\n                    return options.colors[i];\n                } else {\n                    return DEFAULT_CHART_COLORS[i];\n                }\n            });\n            googleChartWrapper.setOptions({\n                ...options,\n                colors\n            });\n            googleChartWrapper.draw();\n        };\n        this.onResize = ()=>{\n            const { googleChartWrapper  } = this.props;\n            googleChartWrapper.draw();\n        };\n    }\n}\nclass GoogleChartDataTable extends React.Component {\n    componentDidMount() {}\n    componentWillUnmount() {}\n    shouldComponentUpdate() {\n        return false;\n    }\n    render() {\n        const { google , googleChartWrapper , googleChartDashboard  } = this.props;\n        return(/*#__PURE__*/ React.createElement(ContextConsumer, {\n            render: (props)=>{\n                return(/*#__PURE__*/ React.createElement(GoogleChartDataTableInner, Object.assign({}, props, {\n                    google: google,\n                    googleChartWrapper: googleChartWrapper,\n                    googleChartDashboard: googleChartDashboard\n                })));\n            }\n        }));\n    }\n}\n\nclass GoogleChartEvents extends React.Component {\n    shouldComponentUpdate() {\n        return false;\n    }\n    listenToEvents(param) {\n        let { chartEvents , google , googleChartWrapper  } = param;\n        if (!chartEvents) {\n            return;\n        }\n        google.visualization.events.removeAllListeners(googleChartWrapper);\n        for (let event of chartEvents){\n            var _this = this;\n            const { eventName , callback  } = event;\n            google.visualization.events.addListener(googleChartWrapper, eventName, function() {\n                for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n                    args[_key] = arguments[_key];\n                }\n                callback({\n                    chartWrapper: googleChartWrapper,\n                    props: _this.props,\n                    google: google,\n                    eventArgs: args\n                });\n            });\n        }\n    }\n    render() {\n        const { google , googleChartWrapper  } = this.props;\n        return(/*#__PURE__*/ React.createElement(ContextConsumer, {\n            render: (propsFromContext)=>{\n                this.listenToEvents({\n                    chartEvents: propsFromContext.chartEvents || null,\n                    google,\n                    googleChartWrapper\n                });\n                return null;\n            }\n        }));\n    }\n}\n\nlet controlCounter = 0;\nclass GoogleChart extends React.Component {\n    componentDidMount() {\n        const { options , google , chartType , chartWrapperParams , toolbarItems , getChartEditor , getChartWrapper ,  } = this.props;\n        const chartConfig = {\n            chartType,\n            options,\n            containerId: this.getGraphID(),\n            ...chartWrapperParams\n        };\n        const googleChartWrapper = new google.visualization.ChartWrapper(chartConfig);\n        googleChartWrapper.setOptions(options || {});\n        if (getChartWrapper) {\n            getChartWrapper(googleChartWrapper, google);\n        }\n        const googleChartDashboard = new google.visualization.Dashboard(this.dashboard_ref);\n        const googleChartControls = this.addControls(googleChartWrapper, googleChartDashboard);\n        if (toolbarItems) {\n            google.visualization.drawToolbar(this.toolbar_ref.current, toolbarItems);\n        }\n        let googleChartEditor = null;\n        if (getChartEditor) {\n            googleChartEditor = new google.visualization.ChartEditor();\n            getChartEditor({\n                chartEditor: googleChartEditor,\n                chartWrapper: googleChartWrapper,\n                google\n            });\n        }\n        this.setState({\n            googleChartEditor,\n            googleChartControls: googleChartControls,\n            googleChartDashboard: googleChartDashboard,\n            googleChartWrapper,\n            isReady: true\n        });\n    }\n    componentDidUpdate() {\n        if (!this.state.googleChartWrapper) return;\n        if (!this.state.googleChartDashboard) return;\n        if (!this.state.googleChartControls) return;\n        const { controls  } = this.props;\n        if (controls) {\n            for(let i = 0; i < controls.length; i += 1){\n                const { controlType , options , controlWrapperParams  } = controls[i];\n                if (controlWrapperParams && \"state\" in controlWrapperParams) {\n                    this.state.googleChartControls[i].control.setState(controlWrapperParams[\"state\"]);\n                }\n                this.state.googleChartControls[i].control.setOptions(options);\n                this.state.googleChartControls[i].control.setControlType(controlType);\n            }\n        }\n    }\n    shouldComponentUpdate(nextProps, nextState) {\n        return this.state.isReady !== nextState.isReady || nextProps.controls !== this.props.controls;\n    }\n    render() {\n        const { width , height , options , style  } = this.props;\n        const divStyle = {\n            height: height || options && options.height,\n            width: width || options && options.width,\n            ...style\n        };\n        if (this.props.render) {\n            return(/*#__PURE__*/ React.createElement(\"div\", {\n                ref: this.dashboard_ref,\n                style: divStyle\n            }, /*#__PURE__*/ React.createElement(\"div\", {\n                ref: this.toolbar_ref,\n                id: \"toolbar\"\n            }), this.props.render({\n                renderChart: this.renderChart,\n                renderControl: this.renderControl,\n                renderToolbar: this.renderToolBar\n            })));\n        } else {\n            return(/*#__PURE__*/ React.createElement(\"div\", {\n                ref: this.dashboard_ref,\n                style: divStyle\n            }, this.renderControl((param)=>{\n                let { controlProp  } = param;\n                return controlProp.controlPosition !== \"bottom\";\n            }), this.renderChart(), this.renderControl((param)=>{\n                let { controlProp  } = param;\n                return controlProp.controlPosition === \"bottom\";\n            }), this.renderToolBar()));\n        }\n    }\n    constructor(...args1){\n        var _this1;\n        super(), _this1 = this;\n        this.state = {\n            googleChartWrapper: null,\n            googleChartDashboard: null,\n            googleChartControls: null,\n            googleChartEditor: null,\n            isReady: false\n        };\n        this.graphID = null;\n        this.dashboard_ref = /*#__PURE__*/ React.createRef();\n        this.toolbar_ref = /*#__PURE__*/ React.createRef();\n        this.getGraphID = ()=>{\n            const { graphID , graph_id  } = this.props;\n            let instanceGraphID;\n            if (!graphID && !graph_id) {\n                if (!this.graphID) {\n                    instanceGraphID = generateUniqueID();\n                } else {\n                    instanceGraphID = this.graphID;\n                }\n            } else if (graphID && !graph_id) {\n                instanceGraphID = graphID;\n            } else if (graph_id && !graphID) {\n                instanceGraphID = graph_id;\n            } else {\n                instanceGraphID = graphID;\n            }\n            this.graphID = instanceGraphID;\n            return this.graphID;\n        };\n        this.getControlID = (id, index)=>{\n            controlCounter += 1;\n            let controlID;\n            if (typeof id === \"undefined\") {\n                controlID = \"googlechart-control-\".concat(index, \"-\").concat(controlCounter);\n            } else {\n                controlID = id;\n            }\n            return controlID;\n        };\n        this.addControls = (googleChartWrapper, googleChartDashboard)=>{\n            const { google , controls  } = this.props;\n            const googleChartControls = !controls ? null : controls.map((control, i)=>{\n                const { controlID: controlIDMaybe , controlType , options: controlOptions , controlWrapperParams ,  } = control;\n                const controlID = this.getControlID(controlIDMaybe, i);\n                return {\n                    controlProp: control,\n                    control: new google.visualization.ControlWrapper({\n                        containerId: controlID,\n                        controlType,\n                        options: controlOptions,\n                        ...controlWrapperParams\n                    })\n                };\n            });\n            if (!googleChartControls) {\n                return null;\n            }\n            googleChartDashboard.bind(googleChartControls.map((param)=>{\n                let { control  } = param;\n                return control;\n            }), googleChartWrapper);\n            for (let chartControl of googleChartControls){\n                const { control , controlProp  } = chartControl;\n                const { controlEvents =[]  } = controlProp;\n                for (let event of controlEvents){\n                    var _this = this;\n                    const { callback , eventName  } = event;\n                    google.visualization.events.removeListener(control, eventName, callback);\n                    google.visualization.events.addListener(control, eventName, function() {\n                        for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n                            args[_key] = arguments[_key];\n                        }\n                        callback({\n                            chartWrapper: googleChartWrapper,\n                            controlWrapper: control,\n                            props: _this.props,\n                            google: google,\n                            eventArgs: args\n                        });\n                    });\n                }\n            }\n            return googleChartControls;\n        };\n        this.renderChart = ()=>{\n            const { width , height , options , style , className , rootProps , google  } = this.props;\n            const divStyle = {\n                height: height || options && options.height,\n                width: width || options && options.width,\n                ...style\n            };\n            return(/*#__PURE__*/ React.createElement(\"div\", Object.assign({\n                id: this.getGraphID(),\n                style: divStyle,\n                className: className\n            }, rootProps), this.state.isReady && this.state.googleChartWrapper !== null ? /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(GoogleChartDataTable, {\n                googleChartWrapper: this.state.googleChartWrapper,\n                google: google,\n                googleChartDashboard: this.state.googleChartDashboard\n            }), /*#__PURE__*/ React.createElement(GoogleChartEvents, {\n                googleChartWrapper: this.state.googleChartWrapper,\n                google: google\n            })) : null));\n        };\n        this.renderControl = function() {\n            let filter = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : (param)=>{\n                return true;\n            };\n            return _this1.state.isReady && _this1.state.googleChartControls !== null ? /*#__PURE__*/ React.createElement(React.Fragment, null, _this1.state.googleChartControls.filter((param)=>{\n                let { controlProp , control  } = param;\n                return filter({\n                    control,\n                    controlProp\n                });\n            }).map((param)=>{\n                let { control , controlProp  } = param;\n                return(/*#__PURE__*/ React.createElement(\"div\", {\n                    key: control.getContainerId(),\n                    id: control.getContainerId()\n                }));\n            })) : null;\n        };\n        this.renderToolBar = ()=>{\n            if (!this.props.toolbarItems) return null;\n            return(/*#__PURE__*/ React.createElement(\"div\", {\n                ref: this.toolbar_ref\n            }));\n        };\n    }\n}\n\nclass Chart$1 extends React.Component {\n    render() {\n        const { chartLanguage , chartPackages , chartVersion , mapsApiKey , loader , errorElement ,  } = this.props;\n        return(/*#__PURE__*/ React.createElement(ContextProvider, {\n            value: this.props\n        }, this.state.loadingStatus === \"ready\" && this.state.google !== null ? /*#__PURE__*/ React.createElement(GoogleChart, Object.assign({}, this.props, {\n            google: this.state.google\n        })) : this.state.loadingStatus === \"errored\" && errorElement ? errorElement : loader, /*#__PURE__*/ React.createElement(LoadGoogleCharts, {\n            chartLanguage: chartLanguage,\n            chartPackages: chartPackages,\n            chartVersion: chartVersion,\n            mapsApiKey: mapsApiKey,\n            onLoad: this.onLoad,\n            onError: this.onError\n        })));\n    }\n    componentDidMount() {\n        this._isMounted = true;\n    }\n    componentWillUnmount() {\n        this._isMounted = false;\n    }\n    isFullyLoaded(google) {\n        const { controls , toolbarItems , getChartEditor  } = this.props;\n        return google && google.visualization && google.visualization.ChartWrapper && google.visualization.Dashboard && (!controls || google.visualization.ChartWrapper) && (!getChartEditor || google.visualization.ChartEditor) && (!toolbarItems || google.visualization.drawToolbar);\n    }\n    constructor(...args){\n        super(...args);\n        this._isMounted = false;\n        this.state = {\n            loadingStatus: \"loading\",\n            google: null\n        };\n        this.onLoad = (google1)=>{\n            if (this.props.onLoad) {\n                this.props.onLoad(google1);\n            }\n            if (this.isFullyLoaded(google1)) {\n                this.onSuccess(google1);\n            } else {\n                // IE11: window.google is not fully set, we have to wait\n                const id = setInterval(()=>{\n                    const google = window.google;\n                    if (this._isMounted) {\n                        if (google && this.isFullyLoaded(google)) {\n                            clearInterval(id);\n                            this.onSuccess(google);\n                        }\n                    } else {\n                        clearInterval(id);\n                    }\n                }, 1000);\n            }\n        };\n        this.onSuccess = (google)=>{\n            this.setState({\n                loadingStatus: \"ready\",\n                google\n            });\n        };\n        this.onError = ()=>{\n            this.setState({\n                loadingStatus: \"errored\"\n            });\n        };\n    }\n}\nChart$1.defaultProps = chartDefaultProps;\n\nvar GoogleDataTableColumnRoleType;\n(function(GoogleDataTableColumnRoleType) {\n    GoogleDataTableColumnRoleType[\"annotation\"] = \"annotation\";\n    GoogleDataTableColumnRoleType[\"annotationText\"] = \"annotationText\";\n    GoogleDataTableColumnRoleType[\"certainty\"] = \"certainty\";\n    GoogleDataTableColumnRoleType[\"emphasis\"] = \"emphasis\";\n    GoogleDataTableColumnRoleType[\"interval\"] = \"interval\";\n    GoogleDataTableColumnRoleType[\"scope\"] = \"scope\";\n    GoogleDataTableColumnRoleType[\"style\"] = \"style\";\n    GoogleDataTableColumnRoleType[\"tooltip\"] = \"tooltip\";\n    GoogleDataTableColumnRoleType[\"domain\"] = \"domain\";\n})(GoogleDataTableColumnRoleType || (GoogleDataTableColumnRoleType = {}));\n\nvar Chart = Chart$1;\n\nexport { Chart$1 as Chart, GoogleDataTableColumnRoleType, Chart as default };\n//# sourceMappingURL=index.js.map\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"index\": 0,\n\t\"./style-index\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunksearch_console\"] = globalThis[\"webpackChunksearch_console\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"./style-index\"], () => (__webpack_require__(\"./src/index.js\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["ExternalLink","Icon","Flex","__","Footer","title","createElement","className","href","target","icon","ReactComponent","Logo","__experimentalHStack","HStack","Header","Card","useState","SlideShow","useSelect","Ads","props","plugins","select","myPlugins","getPlugins","per_page","filter","plugin","includes","shown","setShown","toShow","window","localStorage","getItem","initialValue","JSON","parse","Date","getTime","style","overflowX","useEffect","useDispatch","store","coreStore","Button","myAds","name","ad","link","isLink","slug","direction","noSlide","currentIndex","setCurrentIndex","slides","setSlides","saveEntityRecord","init","timer","setInterval","goToNextSlide","clearInterval","match","find","p","installPlugin","status","length","nextIndex","setMargin","index","margin","width","map","key","marginLeft","justify","variant","size","text","onClick","height","colors","animation","duration","easing","startup","focusTarget","chartArea","hAxis","gridlines","count","minSpacing","minorGridlines","showTextEvery","format","vAxis","vAxes","viewWindow","min","max","series","type","targetAxisIndex","tooltip","Chart","Options","useContext","Spinner","SettingsContext","LoadingSpinner","MyChart","settings","query","showError","table","setTable","token","access_token","getData","gapi","client","setToken","webmasters","searchanalytics","siteUrl","site","dimensions","fields","then","response","data","result","rows","temp","push","forEach","row","moment","keys","toDate","formatData","clicks","impressions","v","ctr","f","position","catch","error","val","metric","toFixed","chartType","options","legendToggle","abw","afg","ago","aia","ala","alb","and","are","arg","arm","asm","ata","atf","atg","aus","aut","aze","bdi","bel","ben","bes","bfa","bgd","bgr","bhr","bhs","bih","blm","blr","blz","bmu","bol","bra","brb","brn","btn","bvt","bwa","caf","can","cck","che","chl","chn","civ","cmr","cod","cog","cok","col","com","cpv","cri","cub","cuw","cxr","cym","cyp","cze","deu","dji","dma","dnk","dom","dza","ecu","egy","eri","esh","esp","est","eth","fin","fji","flk","fra","fro","fsm","gab","gbr","geo","ggy","gha","gib","gin","glp","gmb","gnb","gnq","grc","grd","grl","gtm","guf","gum","guy","hkg","hmd","hnd","hrv","hti","hun","idn","imn","ind","iot","irl","irn","irq","isl","isr","ita","jam","jey","jor","jpn","kaz","ken","kgz","khm","kir","kna","kor","kwt","lao","lbn","lbr","lby","lca","lie","lka","lso","ltu","lux","lva","mac","maf","mar","mco","mda","mdg","mdv","mex","mhl","mkd","mli","mlt","mmr","mne","mng","mnp","moz","mrt","msr","mtq","mus","mwi","mys","myt","nam","ncl","ner","nfk","nga","nic","niu","nld","nor","npl","nru","nzl","omn","pak","pan","pcn","per","phl","plw","png","pol","pri","prk","prt","pry","pse","pyf","qat","reu","rou","rus","rwa","sau","sdn","sen","sgp","sgs","shn","sjm","slb","sle","slv","smr","som","spm","srb","ssd","stp","sur","svk","svn","swe","swz","sxm","syc","syr","tca","tcd","tgo","tha","tjk","tkl","tkm","tls","ton","tto","tun","tur","tuv","twn","tza","uga","ukr","umi","ury","usa","uzb","vat","vct","ven","vgb","vir","vnm","vut","wlf","wsm","yem","zaf","zmb","zwe","zzz","FormTokenField","Fragment","countries","Country","handleChange","onChange","Object","values","indexOf","value","expression","suggestions","tokens","label","maxLength","__experimentalShowHowTo","RadioControl","Device","selected","option","SelectControl","TextControl","__experimentalVStack","VStack","Page","operator","placeholder","Query","Dropdown","MenuGroup","MenuItem","dateI18n","DateDropdown","updateQuery","updateSetting","range","setRange","setDate","num","period","date","subtract","contentClassName","placement","renderToggle","isOpen","onToggle","customDate","renderContent","FlexItem","DatePicker","DateSelect","popoverProps","startDate","__nextRemoveHelpButton","currentDate","isInvalidDate","endDate","Dimensions","onSelect","dimension","closeSmall","plus","MyModal","ENTER","SPACE","Filters","showModal","setShowModal","onRequestClose","remove","filters","dimensionFilterGroups","replaced","i","setType","getSign","iconPosition","role","tabIndex","onKeyDown","event","preventDefault","e","stopPropagation","modal","useMemo","DataViews","Countries","Table","setData","view","setView","perPage","page","sort","search","hiddenFields","layout","filterData","normalizeData","paginateArray","array","slice","field","sortKeys","sortData","a","b","localeCompare","item","id","header","enableHiding","render","Math","round","paginationInfo","totalItems","totalPages","ceil","onChangeView","getItemId","supportedLayouts","Modal","setFilter","searchType","setSearchType","saveChange","filtersArr","shift","modals","device","country","ModalFilter","isDestructive","disabled","CardBody","CardHeader","sprintf","RawHTML","Credentials","_settings$credentials","_settings$credentials2","setCredentials","credentials","assign","authUrl","wp_url","client_id","help","client_secret","Notice","GoogleOauthButton","GoogleOAuthProvider","GoogleOAuth","isDismissible","clientId","Help","apiFetch","hasGrantedAnyScopeGoogle","useGoogleLogin","revokeToken","message","setMessage","googleLogin","flow","onSuccess","code","getToken","scope","hasAccess","search_console","path","method","finally","console","log","getEmail","id_token","atob","split","email","isSmall","ToggleControl","PostTypeSelection","saveSettings","postTypes","getPostTypes","addPostType","removePostType","filteredArray","postTypeOptions","Array","isArray","postType","viewable","labels","singular_name","checked","classnames","Animate","cloud","SaveButton","isSaving","hasEdits","isBusy","animateClassName","gap","Verification","SiteSelect","refreshToken","sites","setSites","getSites","list","s","siteEntry","__experimentalInputControl","InputControl","getMeta","siteVerification","load","webResource","verificationMethod","identifier","replace","r","meta","suffix","createContext","useEntityProp","noticesStore","useHistory","SettingsContextProvider","defaultQuery","getDate","ready","setReady","setQuery","setEmail","history","setSettings","saveEditedEntityRecord","createNotice","explicitDismiss","isSavingEntityRecord","hasEditsForEntityRecord","undefined","loadSearchConsole","error_description","actions","refresh_token","expires_in","token_type","handleClientLoad","script","document","src","async","defer","onload","body","appendChild","removeChild","check","Provider","children","createRoot","SnackbarList","RouterProvider","useLocation","getQueryArg","Dashboard","Settings","Router","params","menuRoot","querySelector","reset","location","child","querySelectorAll","classList","add","parentElement","addEventListener","removeEventListener","listen","App","Notifications","notices","getNotices","removeNotice","snackbarNotices","onRemove","domNode","getElementById","root","createBrowserHistory","addQueryArgs","getQueryArgs","removeQueryArgs","originalHistoryPush","originalHistoryReplace","state","currentArgs","currentUrlWithoutArgs","newUrl","call","RoutesContext","HistoryContext","getLocationWithParams","searchParams","URLSearchParams","fromEntries","entries","setLocation","updatedLocation","createInterpolateElement","noticeString","__experimentalGrid","Grid","columns","templateColumns","align","createReduxStore","register","DEFAULT_STATE","setSetting","setting","setDimension","setCustomDate","setStartDate","setEndDate","removeFilter","fetchFromAPI","reducer","action","newFilter","arr","cleanArr","selectors","isReady","_state$settings","getSettings","getSite","getQuery","getFilterByDimension","getSearchType","getFilters","getCustomDate","controls","FETCH_FROM_API","resolvers"],"sourceRoot":""}
  • search-console/tags/3.0.4/build/style-index.css

    r3091052 r3115844  
    11:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.dataviews-wrapper{box-sizing:border-box;height:100%;overflow:auto;scroll-padding-bottom:64px}.dataviews-filters__view-actions{box-sizing:border-box;flex-shrink:0;left:0;margin-bottom:12px;padding:12px 32px 0;position:sticky}.dataviews-filters__view-actions .components-search-control .components-base-control__field{max-width:240px}.dataviews-filters__container{padding-right:32px}.dataviews-filters__container .dataviews-filters__reset-button[aria-disabled=true],.dataviews-filters__container .dataviews-filters__reset-button[aria-disabled=true]:hover{opacity:0}.dataviews-filters__container .dataviews-filters__reset-button[aria-disabled=true]:focus{opacity:1}.dataviews-filters-button{position:relative}.dataviews-pagination{background-color:#fff;border-top:1px solid #f0f0f0;bottom:0;color:#757575;flex-shrink:0;left:0;padding:12px 32px;position:sticky}.dataviews-pagination__page-selection{color:#1e1e1e;font-size:11px;font-weight:500;text-transform:uppercase}.dataviews-filters-options{margin:32px 0 16px}.dataviews-view-table{border-collapse:collapse;border-color:inherit;color:#757575;position:relative;text-indent:0;width:100%}.dataviews-view-table a{color:#1e1e1e;font-weight:500;text-decoration:none}.dataviews-view-table th{color:#1e1e1e;font-size:13px;font-weight:400;text-align:left}.dataviews-view-table td,.dataviews-view-table th{padding:12px;white-space:nowrap}.dataviews-view-table td[data-field-id=actions],.dataviews-view-table th[data-field-id=actions]{text-align:right}.dataviews-view-table td.dataviews-view-table__checkbox-column,.dataviews-view-table th.dataviews-view-table__checkbox-column{padding-right:0}.dataviews-view-table tr{border-bottom:1px solid #f0f0f0}.dataviews-view-table tr .dataviews-view-table-header-button{gap:4px}.dataviews-view-table tr td:first-child,.dataviews-view-table tr th:first-child{padding-left:32px}.dataviews-view-table tr td:first-child .dataviews-view-table-header,.dataviews-view-table tr td:first-child .dataviews-view-table-header-button,.dataviews-view-table tr th:first-child .dataviews-view-table-header,.dataviews-view-table tr th:first-child .dataviews-view-table-header-button{margin-left:-8px}.dataviews-view-table tr td:last-child,.dataviews-view-table tr th:last-child{padding-right:32px}.dataviews-view-table tr:last-child{border-bottom:0}.dataviews-view-table tr.is-hovered{background-color:#f8f8f8}.dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input{opacity:0}.dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input:checked,.dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input:focus,.dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input:indeterminate{opacity:1}.dataviews-view-table tr .dataviews-item-actions .components-button:not(.dataviews-all-actions-button){opacity:0}.dataviews-view-table tr.is-hovered .components-checkbox-control__input,.dataviews-view-table tr.is-hovered .dataviews-item-actions .components-button:not(.dataviews-all-actions-button),.dataviews-view-table tr:focus-within .components-checkbox-control__input,.dataviews-view-table tr:focus-within .dataviews-item-actions .components-button:not(.dataviews-all-actions-button),.dataviews-view-table tr:hover .components-checkbox-control__input,.dataviews-view-table tr:hover .dataviews-item-actions .components-button:not(.dataviews-all-actions-button){opacity:1}@media (hover:none){.dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input,.dataviews-view-table tr .dataviews-item-actions .components-button:not(.dataviews-all-actions-button){opacity:1}}.dataviews-view-table tr.is-selected{background-color:rgba(var(--wp-admin-theme-color--rgb),.04);color:#757575}.dataviews-view-table tr.is-selected:hover{background-color:rgba(var(--wp-admin-theme-color--rgb),.08)}.dataviews-view-table thead{inset-block-start:0;position:sticky;z-index:1}.dataviews-view-table thead tr{border:0}.dataviews-view-table thead th{background-color:#fff;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:11px;font-weight:500;padding-bottom:8px;padding-left:4px;padding-top:8px;text-transform:uppercase}.dataviews-view-table tbody td{vertical-align:top}.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper{align-items:center;display:flex;min-height:32px}.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper>*{flex-grow:1}.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper.dataviews-view-table__primary-field a{flex-grow:0}.dataviews-view-table .dataviews-view-table-header-button{font-size:11px;font-weight:500;padding:4px 8px;text-transform:uppercase}.dataviews-view-table .dataviews-view-table-header-button:not(:hover){color:#1e1e1e}.dataviews-view-table .dataviews-view-table-header-button span{speak:none}.dataviews-view-table .dataviews-view-table-header-button span:empty{display:none}.dataviews-view-table .dataviews-view-table-header{padding-left:4px}.dataviews-view-table .dataviews-view-table__actions-column{width:1%}.dataviews-view-table:has(tr.is-selected) .components-checkbox-control__input{opacity:1}.dataviews-view-grid__primary-field,.dataviews-view-list__primary-field,.dataviews-view-table__primary-field{color:#757575;display:block;font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap;width:100%}.dataviews-view-grid__primary-field a,.dataviews-view-list__primary-field a,.dataviews-view-table__primary-field a{color:#1e1e1e;display:block;flex-grow:0;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.dataviews-view-grid__primary-field a:hover,.dataviews-view-list__primary-field a:hover,.dataviews-view-table__primary-field a:hover{color:var(--wp-admin-theme-color)}.dataviews-view-grid__primary-field a:focus,.dataviews-view-list__primary-field a:focus,.dataviews-view-table__primary-field a:focus{border-radius:2px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color,#007cba);color:var(--wp-admin-theme-color--rgb)}.dataviews-view-grid__primary-field button.components-button.is-link,.dataviews-view-list__primary-field button.components-button.is-link,.dataviews-view-table__primary-field button.components-button.is-link{color:#1e1e1e;display:block;font-weight:inherit;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;width:100%}.dataviews-view-grid__primary-field button.components-button.is-link:hover,.dataviews-view-list__primary-field button.components-button.is-link:hover,.dataviews-view-table__primary-field button.components-button.is-link:hover{color:var(--wp-admin-theme-color)}.dataviews-view-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:max-content;margin-bottom:24px;padding:0 32px}@media (min-width:1080px){.dataviews-view-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media (min-width:1440px){.dataviews-view-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}.dataviews-view-grid .dataviews-view-grid__card{height:100%;justify-content:flex-start}.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__title-actions{padding:8px 0 4px}.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__primary-field{min-height:32px}.dataviews-view-grid .dataviews-view-grid__card.is-selected .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-value{color:#1e1e1e}.dataviews-view-grid .dataviews-view-grid__card.is-selected .page-pages-preview-field__button:after{background:rgba(var(--wp-admin-theme-color--rgb),.04);box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.dataviews-view-grid .dataviews-view-grid__media{aspect-ratio:1/1;background-color:#f0f0f0;border-radius:4px;min-height:200px;overflow:hidden;position:relative;width:100%}.dataviews-view-grid .dataviews-view-grid__media img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.dataviews-view-grid .dataviews-view-grid__media:after{border-radius:4px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.dataviews-view-grid .dataviews-view-grid__fields{font-size:12px;line-height:16px;position:relative}.dataviews-view-grid .dataviews-view-grid__fields:not(:empty){padding:0 0 12px}.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field{align-items:flex-start}.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column){align-items:center}.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column) .dataviews-view-grid__field-name{width:35%}.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column) .dataviews-view-grid__field-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:65%}.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-name{color:#757575}.dataviews-view-grid .dataviews-view-grid__badge-fields:not(:empty){padding-bottom:12px}.dataviews-view-grid .dataviews-view-grid__badge-fields .dataviews-view-grid__field-value{align-items:center;background:#f0f0f0;border-radius:2px;display:flex;font-size:12px;min-height:24px;padding:0 8px;width:-moz-fit-content;width:fit-content}.dataviews-view-list{margin:0;padding:8px}.dataviews-view-list li{cursor:pointer;margin:0}.dataviews-view-list li .dataviews-view-list__item-wrapper{border-radius:4px;padding-right:24px;position:relative}.dataviews-view-list li .dataviews-view-list__item-wrapper:after{background:#f0f0f0;content:"";height:1px;left:24px;position:absolute;right:24px;top:100%}.dataviews-view-list li .dataviews-view-list__item-wrapper>*{width:100%}.dataviews-view-list li:not(.is-selected) .dataviews-view-list__primary-field{color:#1e1e1e}.dataviews-view-list li:not(.is-selected):focus-within,.dataviews-view-list li:not(.is-selected):hover{color:var(--wp-admin-theme-color)}.dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__fields,.dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__primary-field,.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields,.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__primary-field{color:var(--wp-admin-theme-color)}.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper{background-color:var(--wp-admin-theme-color);color:#fff}.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .components-button,.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__fields,.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .components-button,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__fields,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field{color:#fff}.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper:after,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper:after{background:transparent}.dataviews-view-list .dataviews-view-list__item{padding:12px 0 12px 24px;scroll-margin:8px 0;width:100%}.dataviews-view-list .dataviews-view-list__item:focus-visible:before{border-radius:4px;bottom:-1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";left:-1px;position:absolute;right:-1px;top:-1px;z-index:-1}.dataviews-view-list .dataviews-view-list__item .dataviews-view-list__primary-field{min-height:20px;overflow:hidden}.dataviews-view-list .dataviews-view-list__media-wrapper{background-color:#f0f0f0;border-radius:4px;flex-shrink:0;height:40px;overflow:hidden;position:relative;width:40px}.dataviews-view-list .dataviews-view-list__media-wrapper img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.dataviews-view-list .dataviews-view-list__media-wrapper:after{border-radius:4px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.dataviews-view-list .dataviews-view-list__media-placeholder{background-color:#e0e0e0;height:32px;min-width:32px}.dataviews-view-list .dataviews-view-list__fields{color:#757575;display:flex;flex-wrap:wrap;font-size:12px;gap:8px;line-height:16px}.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:has(.dataviews-view-list__field-value:empty){display:none}.dataviews-view-list+.dataviews-pagination{justify-content:space-between}.dataviews-action-modal{z-index:1000001}.dataviews-loading,.dataviews-no-results{align-items:center;display:flex;flex-grow:1;justify-content:center;padding:0 32px}.dataviews-view-table-selection-checkbox{--checkbox-input-size:24px;line-height:0}@media (min-width:600px){.dataviews-view-table-selection-checkbox{--checkbox-input-size:16px}}.dataviews-filters__custom-menu-radio-item-prefix{display:block;width:24px}.dataviews-bulk-edit-button.components-button{flex-shrink:0}.dataviews-filter-summary__popover .components-popover__content{border-radius:4px;padding:0;width:230px}.dataviews-search-widget-filter-combobox-list{border-top:1px solid #e0e0e0;max-height:184px;overflow:auto;padding:4px}.dataviews-search-widget-filter-combobox-list .dataviews-search-widget-filter-combobox-item-value [data-user-value]{font-weight:600}.dataviews-search-widget-listbox{max-height:184px;overflow:auto;padding:4px}.dataviews-search-widget-listitem{align-items:center;border-radius:2px;box-sizing:border-box;cursor:default;display:flex;gap:8px;margin-block-end:2px;padding:8px 12px}.dataviews-search-widget-listitem:last-child{margin-block-end:0}.dataviews-search-widget-listitem:focus,.dataviews-search-widget-listitem:hover,.dataviews-search-widget-listitem[data-active-item]{background-color:var(--wp-admin-theme-color);color:#fff}.dataviews-search-widget-listitem:focus .dataviews-search-widget-listitem-check,.dataviews-search-widget-listitem:hover .dataviews-search-widget-listitem-check,.dataviews-search-widget-listitem[data-active-item] .dataviews-search-widget-listitem-check{fill:#fff}.dataviews-search-widget-listitem:focus .dataviews-search-widget-listitem-description,.dataviews-search-widget-listitem:hover .dataviews-search-widget-listitem-description,.dataviews-search-widget-listitem[data-active-item] .dataviews-search-widget-listitem-description{color:#fff}.dataviews-search-widget-listitem .dataviews-search-widget-listitem-check{flex-shrink:0;height:24px;width:24px}.dataviews-search-widget-listitem .dataviews-search-widget-listitem-description{color:#757575;display:block;font-size:12px;line-height:16px;overflow:hidden;text-overflow:ellipsis}.dataviews-search-widget-filter-combobox__wrapper{padding:8px;position:relative}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input{background:#f0f0f0;border:none;border-radius:2px;box-shadow:0 0 0 transparent;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:32px;line-height:normal;margin-left:0;margin-right:0;padding:0 32px 0 8px;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input{font-size:13px;line-height:normal}}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input{font-size:13px}}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input:focus{background:#fff;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-moz-placeholder{color:#757575}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::placeholder{color:#757575}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-search-cancel-button,.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-search-decoration,.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-search-results-button,.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-search-results-decoration{-webkit-appearance:none}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__icon{align-items:center;display:flex;justify-content:center;position:absolute;right:12px;top:50%;transform:translateY(-50%);width:24px}.dataviews-filter-summary__operators-container{padding:8px 8px 0}.dataviews-filter-summary__operators-container:has(+.dataviews-search-widget-listbox){border-bottom:1px solid #e0e0e0;padding-bottom:8px}.dataviews-filter-summary__operators-container:empty{display:none}.dataviews-filter-summary__operators-container .dataviews-filter-summary__operators-filter-name{color:#757575}.dataviews-filter-summary__chip-container{position:relative;white-space:pre-wrap}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip{align-items:center;background:#f0f0f0;border:1px solid transparent;border-radius:16px;color:#757575;cursor:pointer;display:flex;height:32px;padding:0 12px;position:relative}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-reset{padding-inline-end:28px}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip:focus-visible,.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip:hover,.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip[aria-expanded=true]{background:#e0e0e0;color:#1e1e1e}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-values{background:rgba(var(--wp-admin-theme-color--rgb),.04);color:var(--wp-admin-theme-color)}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-values:hover,.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-values[aria-expanded=true]{background:rgba(var(--wp-admin-theme-color--rgb),.12)}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip:focus-visible{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:none}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip .dataviews-filter-summary__filter-text-name{font-weight:500}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove{align-items:center;background:transparent;border:0;border-radius:50%;cursor:pointer;display:flex;height:24px;justify-content:center;padding:0;position:absolute;right:4px;top:50%;transform:translateY(-50%);width:24px}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove svg{fill:#757575}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:focus,.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:hover{background:#e0e0e0}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:focus svg,.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:hover svg{fill:#1e1e1e}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove.has-values svg{fill:var(--wp-admin-theme-color)}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove.has-values:hover{background:rgba(var(--wp-admin-theme-color--rgb),.08)}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:focus-visible{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:none}
    2 #wpwrap{background:#f1f1f1}.search-console_page_search-console-settings .notice,.toplevel_page_search-console .notice{display:none}.search-console_page_search-console-settings .star,.toplevel_page_search-console .star{color:#ffb900}.search-console_page_search-console-settings .red,.toplevel_page_search-console .red{color:red}.search-console.column-search-console{cursor:pointer}.google-visualization-tooltip{padding:2rem}#search-console-wrapper{margin-left:-20px}@media(max-width:782px){#search-console-wrapper{margin-left:-10px}}#search-console-wrapper hr{border-top:1px solid #eee;margin:24px 0}#search-console-wrapper .notice{display:block;margin-top:15px}#search-console-wrapper .loading-settings{align-items:center;display:flex;justify-content:center;margin:35vh 30px;text-align:center}#search-console-wrapper .loading-settings .components-spinner{float:none}#search-console-wrapper .loading-settings .description{color:#777;margin-top:4px}#search-console-wrapper .masthead{align-items:center;background-color:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.1);display:flex;gap:1rem;padding:15px 20px}#search-console-wrapper .masthead .masthead__branding h1{align-items:center;color:#222;display:flex;font-size:20px;font-weight:400;margin:0}@media(max-width:426px){#search-console-wrapper .masthead .masthead__branding h1{justify-content:center}}#search-console-wrapper .masthead .masthead__branding svg{fill:#222;height:40px;margin-right:10px;width:40px}@media(max-width:426px){#search-console-wrapper .masthead .masthead__branding{text-align:center}}#search-console-wrapper .masthead .masthead__plugin-links{align-items:center;display:flex;font-size:13px;justify-content:flex-end}#search-console-wrapper .masthead .masthead__plugin-links a{align-items:center;color:#23282d;cursor:pointer;display:inline-flex;gap:4px;margin-left:16px;text-decoration:none}#search-console-wrapper .masthead .masthead__plugin-links a svg{fill:currentColor;vertical-align:middle}#search-console-wrapper .masthead .masthead__plugin-links a:hover{color:#007cba;color:var(--wp-admin-theme-color)}#search-console-wrapper .masthead .masthead__plugin-links a:hover svg{fill:#007cba;fill:var(--wp-admin-theme-color)}@media(max-width:782px){#search-console-wrapper .masthead .masthead__plugin-links a{margin-left:8px}#search-console-wrapper .masthead .masthead__plugin-links a span{display:none}}@media(max-width:426px){#search-console-wrapper .masthead .masthead__plugin-links{justify-content:center;margin-top:10px;width:100%}}#search-console-wrapper .footer{box-shadow:0 0 0 1px #ccd0d4,0 1px 1px 1px rgba(0,0,0,.04);margin-top:2em;padding:10px 30px;text-align:center}#search-console-wrapper .footer .dashicons-star-filled{color:#ffb900}#search-console-wrapper .footer .inner-container{margin:0 auto;max-width:1024px}@media(max-width:1024px){#search-console-wrapper .footer .inner-container{display:block}}#search-console-wrapper .footer a{color:#555d66;display:inline-block;margin:5px 8px;text-decoration:none}#search-console-wrapper .footer a:hover{color:#007cba;color:var(--wp-admin-theme-color)}#search-console-wrapper .search-console-settings{margin:1em auto;max-width:1024px}#search-console-wrapper .search-console-dashboard{margin-top:1em;padding:0 1rem}#search-console-wrapper .search-console-dashboard .search-console-modal-container{padding:1em 0}#search-console-wrapper .search-console-dashboard .search-console-filters{display:flex;justify-content:space-between}#search-console-wrapper .search-console-dashboard .search-console-filters .search-console-filters-options{display:flex;gap:1em}#search-console-wrapper .search-console-dashboard .search-console-table-bar{align-items:center;display:flex;justify-content:space-between;padding:1 rem}#search-console-wrapper .search-console-dashboard .search-console-table-bar input{width:300px}#search-console-wrapper .search-console-dashboard .search-console-table-bar .search-console-dimensions{display:flex;flex:1;padding:0}#search-console-wrapper .search-console-dashboard .search-console-table-bar .search-console-dimensions button{border-bottom:2px solid transparent;cursor:pointer;font-weight:700;padding:1rem}#search-console-wrapper .search-console-dashboard .search-console-table-bar .search-console-dimensions .is-selected{border-bottom:2px solid #135e96}#search-console-wrapper .search-console-dashboard .search-console-table-bar .search-console-dimensions .components-button:focus:not(:disabled){box-shadow:none}#search-console-wrapper .ads-container__reviews{background-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color-darker-20),0 1px 1px 1px rgba(0,0,0,.04);color:#fff;position:relative}#search-console-wrapper .ads-container__reviews:before{background-color:var(--wp-admin-theme-color-darker-20);bottom:0;content:"";left:0;mask-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27><polygon points=%2712 17.7371778 5.81966011 21.5 7.49246652 14.4659011 2 9.75735421 9.2141911 9.1728642 12 2.5 14.7858089 9.1728642 22 9.75735421 16.5075335 14.4659011 18.1803399 21.5%27></polygon></svg>");-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27><polygon points=%2712 17.7371778 5.81966011 21.5 7.49246652 14.4659011 2 9.75735421 9.2141911 9.1728642 12 2.5 14.7858089 9.1728642 22 9.75735421 16.5075335 14.4659011 18.1803399 21.5%27></polygon></svg>");mask-position:-100px;-webkit-mask-position:-100px;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:200px;-webkit-mask-size:200px;position:absolute;right:0;top:0;z-index:0}#search-console-wrapper .ads-container__reviews>*{position:relative;z-index:1}#search-console-wrapper .ads-container__reviews a{color:#fff;display:block;font-size:1.1em;margin-top:10px}#search-console-wrapper .ads-container__reviews h2{color:#fff}#search-console-wrapper .components-card .message{margin:1rem 0}#search-console-wrapper .components-notice{margin:1em}#search-console-wrapper .components-snackbar-list{bottom:40px;padding-left:16px;padding-right:16px;position:fixed}#search-console-wrapper .slideshow-container{background-color:#fff;display:flex;flex-wrap:nowrap;overflow:hidden}#search-console-wrapper .slide{box-sizing:border-box;height:1px;max-width:100%;padding:1rem;transition:.5s cubic-bezier(.075,.82,.165,1)}#search-console-wrapper .slide p{margin:0}#search-console-wrapper .slide.active{height:auto}
     2#wpwrap{background:#f1f1f1}.search-console_page_search-console-settings .notice,.toplevel_page_search-console .notice{display:none}.search-console_page_search-console-settings .star,.toplevel_page_search-console .star{color:#ffb900}.search-console_page_search-console-settings .red,.toplevel_page_search-console .red{color:red}.search-console.column-search-console{cursor:pointer}.google-visualization-tooltip{padding:2rem}#search-console-wrapper{margin-left:-20px}@media(max-width:782px){#search-console-wrapper{margin-left:-10px}}#search-console-wrapper hr{border-top:1px solid #eee;margin:24px 0}#search-console-wrapper .notice{display:block;margin-top:15px}#search-console-wrapper .loading-settings{align-items:center;display:flex;justify-content:center;margin:35vh 30px;text-align:center}#search-console-wrapper .loading-settings .components-spinner{float:none}#search-console-wrapper .loading-settings .description{color:#777;margin-top:4px}#search-console-wrapper .masthead{align-items:center;background-color:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.1);display:flex;gap:1rem;padding:15px 20px}#search-console-wrapper .masthead .masthead__branding h1{align-items:center;color:#222;display:flex;font-size:20px;font-weight:400;margin:0}@media(max-width:426px){#search-console-wrapper .masthead .masthead__branding h1{justify-content:center}}#search-console-wrapper .masthead .masthead__branding svg{fill:#222;height:40px;margin-right:10px;width:40px}@media(max-width:426px){#search-console-wrapper .masthead .masthead__branding{text-align:center}}#search-console-wrapper .masthead .masthead__plugin-links{align-items:center;display:flex;font-size:13px;justify-content:flex-end}#search-console-wrapper .masthead .masthead__plugin-links a{align-items:center;color:#23282d;cursor:pointer;display:inline-flex;gap:4px;margin-left:16px;text-decoration:none}#search-console-wrapper .masthead .masthead__plugin-links a svg{fill:currentColor;vertical-align:middle}#search-console-wrapper .masthead .masthead__plugin-links a:hover{color:#007cba;color:var(--wp-admin-theme-color)}#search-console-wrapper .masthead .masthead__plugin-links a:hover svg{fill:#007cba;fill:var(--wp-admin-theme-color)}@media(max-width:782px){#search-console-wrapper .masthead .masthead__plugin-links a{margin-left:8px}#search-console-wrapper .masthead .masthead__plugin-links a span{display:none}}@media(max-width:426px){#search-console-wrapper .masthead .masthead__plugin-links{justify-content:center;margin-top:10px;width:100%}}#search-console-wrapper .footer{box-shadow:0 0 0 1px #ccd0d4,0 1px 1px 1px rgba(0,0,0,.04);margin-top:2em;padding:10px 30px;text-align:center}#search-console-wrapper .footer .dashicons-star-filled{color:#ffb900}#search-console-wrapper .footer .inner-container{margin:0 auto;max-width:1024px}@media(max-width:1024px){#search-console-wrapper .footer .inner-container{display:block}}#search-console-wrapper .footer a{color:#555d66;display:inline-block;margin:5px 8px;text-decoration:none}#search-console-wrapper .footer a:hover{color:#007cba;color:var(--wp-admin-theme-color)}#search-console-wrapper .search-console-settings{margin:1em auto;max-width:1024px}#search-console-wrapper .search-console-dashboard{margin-top:1em;padding:0 1rem}#search-console-wrapper .search-console-dashboard .search-console-modal-container{padding:1em 0}#search-console-wrapper .search-console-dashboard .search-console-filters{display:flex;justify-content:space-between}#search-console-wrapper .search-console-dashboard .search-console-filters .search-console-filters-options{display:flex;gap:1em}#search-console-wrapper .search-console-dashboard .search-console-table-bar{align-items:center;display:flex;justify-content:space-between;padding:1 rem}#search-console-wrapper .search-console-dashboard .search-console-table-bar input{width:300px}#search-console-wrapper .search-console-dashboard .search-console-table-bar .search-console-dimensions{display:flex;flex:1;padding:0}#search-console-wrapper .search-console-dashboard .search-console-table-bar .search-console-dimensions button{border-bottom:2px solid transparent;cursor:pointer;font-weight:700;padding:1rem}#search-console-wrapper .search-console-dashboard .search-console-table-bar .search-console-dimensions .is-selected{border-bottom:2px solid #135e96}#search-console-wrapper .search-console-dashboard .search-console-table-bar .search-console-dimensions .components-button:focus:not(:disabled){box-shadow:none}#search-console-wrapper .ads-container__reviews{background-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color-darker-20),0 1px 1px 1px rgba(0,0,0,.04);color:#fff;position:relative}#search-console-wrapper .ads-container__reviews:before{background-color:var(--wp-admin-theme-color-darker-20);bottom:0;content:"";left:0;mask-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27><polygon points=%2712 17.7371778 5.81966011 21.5 7.49246652 14.4659011 2 9.75735421 9.2141911 9.1728642 12 2.5 14.7858089 9.1728642 22 9.75735421 16.5075335 14.4659011 18.1803399 21.5%27></polygon></svg>");-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27><polygon points=%2712 17.7371778 5.81966011 21.5 7.49246652 14.4659011 2 9.75735421 9.2141911 9.1728642 12 2.5 14.7858089 9.1728642 22 9.75735421 16.5075335 14.4659011 18.1803399 21.5%27></polygon></svg>");mask-position:-100px;-webkit-mask-position:-100px;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:200px;-webkit-mask-size:200px;position:absolute;right:0;top:0;z-index:0}#search-console-wrapper .ads-container__reviews>*{position:relative;z-index:1}#search-console-wrapper .ads-container__reviews a{color:#fff;display:block;font-size:1.1em;margin-top:10px}#search-console-wrapper .ads-container__reviews h2{color:#fff}#search-console-wrapper .components-card .message{margin:1rem 0}#search-console-wrapper .components-notice{margin:1em}#search-console-wrapper .components-snackbar-list{bottom:40px;padding-left:16px;padding-right:16px;position:fixed}#search-console-wrapper .slideshow-container{background-color:#fff;}#search-console-wrapper .slide p{margin:0}#search-console-wrapper .slide.active{height:auto}
  • search-console/tags/3.0.4/build/style-index.css.map

    r3085081 r3115844  
    1 {"version":3,"file":"./style-index.css","mappings":";;;AAAA;;;;;CAKC;AACD;;EAEE;AACF;;EAEE;AACF;;;;;;EAME;AACF;;;;;CAKC;AACD;;EAEE;AACF;;EAEE;AACF;;;EAGE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;;EAGE;AACF;;;;;CAKC;AACD;;;;;EAKE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;;EAGE;AACF;;EAEE;AACF;EACE,+BAA+B;EAC/B,wCAAwC;EACxC,yCAAyC;EACzC,kDAAkD;EAClD,yCAAyC;EACzC,iDAAiD;EACjD,kCAAkC;EAClC,gCAAgC;EAChC,yCAAyC;EACzC,oDAAoD;AACtD;AACA;EACE;IACE,oCAAoC;EACtC;AACF;;AAEA;EACE,YAAY;EACZ,cAAc;EACd,sBAAsB;EACtB,2BAA2B;AAC7B;;AAEA;EACE,sBAAsB;EACtB,oBAAoB;EACpB,mBAAmB;EACnB,cAAc;EACd,gBAAgB;EAChB,OAAO;AACT;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,mBAAmB;AACrB;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,gBAAgB;EAChB,SAAS;EACT,OAAO;EACP,sBAAsB;EACtB,kBAAkB;EAClB,6BAA6B;EAC7B,cAAc;EACd,cAAc;AAChB;;AAEA;EACE,eAAe;EACf,yBAAyB;EACzB,gBAAgB;EAChB,cAAc;AAChB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,WAAW;EACX,cAAc;EACd,qBAAqB;EACrB,yBAAyB;EACzB,kBAAkB;EAClB,cAAc;AAChB;AACA;EACE,qBAAqB;EACrB,cAAc;EACd,gBAAgB;AAClB;AACA;EACE,gBAAgB;EAChB,cAAc;EACd,mBAAmB;EACnB,eAAe;AACjB;AACA;;EAEE,aAAa;EACb,mBAAmB;AACrB;AACA;;EAEE,iBAAiB;AACnB;AACA;;EAEE,gBAAgB;AAClB;AACA;EACE,gCAAgC;AAClC;AACA;EACE,QAAQ;AACV;AACA;;EAEE,kBAAkB;AACpB;AACA;;;;EAIE,iBAAiB;AACnB;AACA;;EAEE,mBAAmB;AACrB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;AACA;;;;EAIE,UAAU;AACZ;AACA;EACE;;IAEE,UAAU;EACZ;AACF;AACA;EACE,8DAA8D;EAC9D,cAAc;AAChB;AACA;EACE,8DAA8D;AAChE;AACA;EACE,gBAAgB;EAChB,oBAAoB;EACpB,UAAU;AACZ;AACA;EACE,SAAS;AACX;AACA;EACE,sBAAsB;EACtB,kCAAkC;EAClC,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;EACf,yBAAyB;EACzB,gBAAgB;EAChB,iBAAiB;AACnB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,gBAAgB;EAChB,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,yBAAyB;EACzB,gBAAgB;AAClB;AACA;EACE,cAAc;AAChB;AACA;EACE,WAAW;AACb;AACA;EACE,aAAa;AACf;AACA;EACE,iBAAiB;AACnB;AACA;EACE,SAAS;AACX;AACA;EACE,UAAU;AACZ;;AAEA;;;EAGE,eAAe;EACf,gBAAgB;EAChB,cAAc;EACd,uBAAuB;EACvB,mBAAmB;EACnB,cAAc;EACd,WAAW;AACb;AACA;;;EAGE,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;EACnB,gBAAgB;EAChB,cAAc;EACd,YAAY;EACZ,cAAc;AAChB;AACA;;;EAGE,kCAAkC;AACpC;AACA;;;EAGE,uCAAuC;EACvC,yFAAyF;EACzF,kBAAkB;AACpB;AACA;;;EAGE,qBAAqB;EACrB,oBAAoB;EACpB,uBAAuB;EACvB,mBAAmB;EACnB,gBAAgB;EAChB,cAAc;EACd,WAAW;EACX,cAAc;AAChB;AACA;;;EAGE,kCAAkC;AACpC;;AAEA;EACE,mBAAmB;EACnB,2DAA2D;EAC3D,+BAA+B;EAC/B,eAAe;AACjB;AACA;EACE;IACE,2DAA2D;EAC7D;AACF;AACA;EACE;IACE,2DAA2D;EAC7D;AACF;AACA;EACE,YAAY;EACZ,2BAA2B;AAC7B;AACA;EACE,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,cAAc;AAChB;AACA;EACE,sFAAsF;EACtF,wDAAwD;AAC1D;AACA;EACE,WAAW;EACX,iBAAiB;EACjB,iBAAiB;EACjB,yBAAyB;EACzB,kBAAkB;EAClB,gBAAgB;EAChB,kBAAkB;AACpB;AACA;EACE,oBAAiB;KAAjB,iBAAiB;EACjB,WAAW;EACX,YAAY;AACd;AACA;EACE,WAAW;EACX,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,8CAA8C;EAC9C,kBAAkB;AACpB;AACA;EACE,kBAAkB;EAClB,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,cAAc;AAChB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,uBAAuB;EACvB,kBAAkB;EAClB,mBAAmB;EACnB,cAAc;EACd,gBAAgB;EAChB,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,eAAe;AACjB;;AAEA;EACE,SAAS;EACT,YAAY;AACd;AACA;EACE,SAAS;EACT,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,UAAU;EACV,WAAW;EACX,mBAAmB;EACnB,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,cAAc;AAChB;AACA;EACE,kCAAkC;AACpC;AACA;;;EAGE,kCAAkC;AACpC;AACA;;EAEE,6CAA6C;EAC7C,WAAW;AACb;AACA;;;;;;EAME,WAAW;AACb;AACA;;EAEE,uBAAuB;AACzB;AACA;EACE,yBAAyB;EACzB,WAAW;EACX,oBAAoB;AACtB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,WAAW;EACX,YAAY;EACZ,UAAU;EACV,gFAAgF;EAChF,WAAW;EACX,kBAAkB;AACpB;AACA;EACE,gBAAgB;EAChB,gBAAgB;AAClB;AACA;EACE,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,gBAAgB;EAChB,kBAAkB;EAClB,cAAc;EACd,yBAAyB;AAC3B;AACA;EACE,WAAW;EACX,YAAY;EACZ,oBAAiB;KAAjB,iBAAiB;AACnB;AACA;EACE,WAAW;EACX,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,8CAA8C;EAC9C,kBAAkB;AACpB;AACA;EACE,eAAe;EACf,YAAY;EACZ,yBAAyB;AAC3B;AACA;EACE,cAAc;EACd,aAAa;EACb,QAAQ;EACR,eAAe;EACf,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,aAAa;AACf;AACA;EACE,8BAA8B;AAChC;;AAEA;EACE,gBAAgB;AAClB;;AAEA;;EAEE,eAAe;EACf,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,2BAA2B;EAC3B,cAAc;AAChB;AACA;EACE;IACE,2BAA2B;EAC7B;AACF;;AAEA;EACE,cAAc;EACd,WAAW;AACb;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,YAAY;EACZ,UAAU;EACV,kBAAkB;AACpB;;AAEA;EACE,iBAAiB;EACjB,YAAY;EACZ,cAAc;EACd,6BAA6B;AAC/B;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,iBAAiB;EACjB,YAAY;EACZ,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,kBAAkB;EAClB,sBAAsB;EACtB,iBAAiB;EACjB,eAAe;EACf,qBAAqB;AACvB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,6CAA6C;EAC7C,WAAW;AACb;AACA;EACE,UAAU;AACZ;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;EACX,YAAY;EACZ,cAAc;AAChB;AACA;EACE,cAAc;EACd,gBAAgB;EAChB,uBAAuB;EACvB,eAAe;EACf,iBAAiB;EACjB,cAAc;AAChB;;AAEA;EACE,kBAAkB;EAClB,YAAY;AACd;AACA;EACE,gIAAgI;EAChI,gBAAgB;EAChB,6BAA6B;EAC7B,kCAAkC;EAClC,kBAAkB;EAClB,yBAAyB;EACzB,0DAA0D;EAC1D,eAAe;EACf,+CAA+C;EAC/C,mBAAmB;EACnB,cAAc;EACd,qBAAqB;EACrB,mBAAmB;EACnB,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,cAAc;EACd,eAAe;EACf,0DAA0D;EAC1D,eAAe;AACjB;AACA;EACE;IACE,uBAAuB;IACvB,oBAAoB;EACtB;AACF;AACA;EACE;IACE,eAAe;IACf,+CAA+C;IAC/C,mBAAmB;EACrB;AACF;AACA;EACE,yCAAyC;EACzC,mDAAmD;EACnD,8BAA8B;AAChC;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,UAAU;EACV,6BAA6B;AAC/B;AACA;EACE,6BAA6B;AAC/B;AACA;EACE;IACE,eAAe;EACjB;AACF;AACA;EACE,gBAAgB;EAChB,sFAAsF;AACxF;AACA;EACE,cAAc;AAChB;AAFA;EACE,cAAc;AAChB;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,QAAQ;EACR,2BAA2B;EAC3B,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;AACb;;AAEA;EACE,kBAAkB;AACpB;AACA;EACE,gCAAgC;EAChC,mBAAmB;AACrB;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;;AAEA;EACE,kBAAkB;EAClB,qBAAqB;AACvB;AACA;EACE,mBAAmB;EACnB,6BAA6B;EAC7B,eAAe;EACf,eAAe;EACf,YAAY;EACZ,mBAAmB;EACnB,cAAc;EACd,kBAAkB;EAClB,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,mBAAmB;EACnB,cAAc;AAChB;AACA;EACE,kCAAkC;EAClC,wDAAwD;AAC1D;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,aAAa;EACb,gFAAgF;AAClF;AACA;EACE,gBAAgB;AAClB;AACA;EACE,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,kBAAkB;EAClB,UAAU;EACV,QAAQ;EACR,2BAA2B;EAC3B,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,uBAAuB;EACvB,eAAe;AACjB;AACA;EACE,aAAa;AACf;AACA;EACE,mBAAmB;AACrB;AACA;EACE,aAAa;AACf;AACA;EACE,iCAAiC;AACnC;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,aAAa;EACb,gFAAgF;AAClF,C;;;;ACrzBA;AACA;EACC;AALD;;AAQA;AAGC;;EACC;AANF;AASC;;EACC;AANF;AASC;;EACC;AANF;;AAUA;EACC;AAPD;;AAUA;EACC;AAPD;;AAUA;EACC;EAqJA;AA3JD;AAQC;EAHD;IAIE;EALA;AACF;AAOC;EACC;EACA;AALF;AAQC;EACC;EACA;AANF;AASC;EACC;EACA;EACA;EACA;EACA;AAPF;AASE;EACC;AAPH;AAUE;EACC;EACA;AARH;AAYC;EACC;EACA;EACA;EACA;EACA;EACA;AAVF;AAaG;EACC;EACA;EACA;EACA;EACA;EACA;AAXJ;AAaI;EARD;IASE;EAVH;AACF;AAaG;EACC;EACA;EACA;EACA;AAXJ;AAcG;EArBD;IAsBE;EAXF;AACF;AAcE;EACC;EACA;EACA;EACA;AAZH;AAcG;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAZJ;AAcI;EACC;EACA;AAZL;AAeI;EACC;EACA;AAbL;AAeK;EACC;EACA;AAbN;AAkBG;EACC;IACC;EAhBH;EAkBG;IACC;EAhBJ;AACF;AAoBG;EAzCD;IA0CE;IACA;IACA;EAjBF;AACF;AAsBC;EACC;EACA;EACA;EACA;AApBF;AAsBE;EACC;AApBH;AAuBE;EACC;EACA;AArBH;AAuBG;EAJD;IAKE;EApBF;AACF;AAuBE;EACC;EACA;EACA;EACA;AArBH;AAuBG;EACC;EACA;AArBJ;AA2BC;EAEC;EACA;AA1BF;AA8BC;EACC;EACA;AA5BF;AA8BE;EACC;AA5BH;AA+BE;EACC;EACA;AA7BH;AA+BG;EACC;EACA;AA7BJ;AAiCE;EACC;EACA;EACA;EACA;AA/BH;AAiCG;EACC;AA/BJ;AAkCG;EACC;EACA;EACA;AAhCJ;AAkCI;EACC;EACA;EACA;EACA;AAhCL;AAmCI;EACC;AAjCL;AAoCI;EACC;AAlCL;AA0CC;EACC;EACA;EACA;EACA;AAxCF;AA0CE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAxCH;AA2CE;EACC;EACA;AAzCH;AA4CE;EACC;EACA;EACA;EACA;AA1CH;AA6CE;EACC;AA3CH;AAgDE;EACC;AA9CH;AAkDC;EACC;AAhDF;AAmDC;EACC;EACA;EACA;EACA;AAjDF;AAoDC;EACC;EACA;EACA;EACA;AAlDF;AAqDC;EACC;EACA;EACA;EACA;EACA;AAnDF;AAqDE;EACC;AAnDH;AAsDE;EACC;AApDH,C","sources":["webpack://search-console/./node_modules/@wordpress/dataviews/build-style/style.css","webpack://search-console/./src/style.scss"],"sourcesContent":["/**\n*  Converts a hex value into the rgb equivalent.\n*\n* @param {string} hex - the hexadecimal value to convert\n* @return {string} comma separated rgb values\n*/\n/**\n * Colors\n */\n/**\n * Breakpoints & Media Queries\n */\n/**\n * SCSS Variables.\n *\n * Please use variables from this sheet to ensure consistency across the UI.\n * Don't add to this sheet unless you're pretty sure the value will be reused in many places.\n * For example, don't add rules to this sheet that affect block visuals. It's purely for UI.\n */\n/**\n*  Converts a hex value into the rgb equivalent.\n*\n* @param {string} hex - the hexadecimal value to convert\n* @return {string} comma separated rgb values\n*/\n/**\n * Colors\n */\n/**\n * Fonts & basic variables.\n */\n/**\n * Grid System.\n * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/\n */\n/**\n * Dimensions.\n */\n/**\n * Shadows.\n */\n/**\n * Editor widths.\n */\n/**\n * Block & Editor UI.\n */\n/**\n * Block paddings.\n */\n/**\n * React Native specific.\n * These variables do not appear to be used anywhere else.\n */\n/**\n*  Converts a hex value into the rgb equivalent.\n*\n* @param {string} hex - the hexadecimal value to convert\n* @return {string} comma separated rgb values\n*/\n/**\n * Long content fade mixin\n *\n * Creates a fading overlay to signify that the content is longer\n * than the space allows.\n */\n/**\n * Breakpoint mixins\n */\n/**\n * Focus styles.\n */\n/**\n * Applies editor left position to the selector passed as argument\n */\n/**\n * Styles that are reused verbatim in a few places\n */\n/**\n * Allows users to opt-out of animations via OS-level preferences.\n */\n/**\n * Reset default styles for JavaScript UI based pages.\n * This is a WP-admin agnostic reset\n */\n/**\n * Reset the WP Admin page styles for Gutenberg-like pages.\n */\n:root {\n  --wp-admin-theme-color: #007cba;\n  --wp-admin-theme-color--rgb: 0, 124, 186;\n  --wp-admin-theme-color-darker-10: #006ba1;\n  --wp-admin-theme-color-darker-10--rgb: 0, 107, 161;\n  --wp-admin-theme-color-darker-20: #005a87;\n  --wp-admin-theme-color-darker-20--rgb: 0, 90, 135;\n  --wp-admin-border-width-focus: 2px;\n  --wp-block-synced-color: #7a00df;\n  --wp-block-synced-color--rgb: 122, 0, 223;\n  --wp-bound-block-color: var(--wp-block-synced-color);\n}\n@media (min-resolution: 192dpi) {\n  :root {\n    --wp-admin-border-width-focus: 1.5px;\n  }\n}\n\n.dataviews-wrapper {\n  height: 100%;\n  overflow: auto;\n  box-sizing: border-box;\n  scroll-padding-bottom: 64px;\n}\n\n.dataviews-filters__view-actions {\n  box-sizing: border-box;\n  padding: 12px 32px 0;\n  margin-bottom: 12px;\n  flex-shrink: 0;\n  position: sticky;\n  left: 0;\n}\n.dataviews-filters__view-actions .components-search-control .components-base-control__field {\n  max-width: 240px;\n}\n\n.dataviews-filters__container {\n  padding-right: 32px;\n}\n.dataviews-filters__container .dataviews-filters__reset-button[aria-disabled=true], .dataviews-filters__container .dataviews-filters__reset-button[aria-disabled=true]:hover {\n  opacity: 0;\n}\n.dataviews-filters__container .dataviews-filters__reset-button[aria-disabled=true]:focus {\n  opacity: 1;\n}\n\n.dataviews-filters-button {\n  position: relative;\n}\n\n.dataviews-pagination {\n  position: sticky;\n  bottom: 0;\n  left: 0;\n  background-color: #fff;\n  padding: 12px 32px;\n  border-top: 1px solid #f0f0f0;\n  color: #757575;\n  flex-shrink: 0;\n}\n\n.dataviews-pagination__page-selection {\n  font-size: 11px;\n  text-transform: uppercase;\n  font-weight: 500;\n  color: #1e1e1e;\n}\n\n.dataviews-filters-options {\n  margin: 32px 0 16px;\n}\n\n.dataviews-view-table {\n  width: 100%;\n  text-indent: 0;\n  border-color: inherit;\n  border-collapse: collapse;\n  position: relative;\n  color: #757575;\n}\n.dataviews-view-table a {\n  text-decoration: none;\n  color: #1e1e1e;\n  font-weight: 500;\n}\n.dataviews-view-table th {\n  text-align: left;\n  color: #1e1e1e;\n  font-weight: normal;\n  font-size: 13px;\n}\n.dataviews-view-table td,\n.dataviews-view-table th {\n  padding: 12px;\n  white-space: nowrap;\n}\n.dataviews-view-table td[data-field-id=actions],\n.dataviews-view-table th[data-field-id=actions] {\n  text-align: right;\n}\n.dataviews-view-table td.dataviews-view-table__checkbox-column,\n.dataviews-view-table th.dataviews-view-table__checkbox-column {\n  padding-right: 0;\n}\n.dataviews-view-table tr {\n  border-bottom: 1px solid #f0f0f0;\n}\n.dataviews-view-table tr .dataviews-view-table-header-button {\n  gap: 4px;\n}\n.dataviews-view-table tr td:first-child,\n.dataviews-view-table tr th:first-child {\n  padding-left: 32px;\n}\n.dataviews-view-table tr td:first-child .dataviews-view-table-header-button,\n.dataviews-view-table tr td:first-child .dataviews-view-table-header,\n.dataviews-view-table tr th:first-child .dataviews-view-table-header-button,\n.dataviews-view-table tr th:first-child .dataviews-view-table-header {\n  margin-left: -8px;\n}\n.dataviews-view-table tr td:last-child,\n.dataviews-view-table tr th:last-child {\n  padding-right: 32px;\n}\n.dataviews-view-table tr:last-child {\n  border-bottom: 0;\n}\n.dataviews-view-table tr.is-hovered {\n  background-color: #f8f8f8;\n}\n.dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input {\n  opacity: 0;\n}\n.dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input:checked, .dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input:indeterminate, .dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input:focus {\n  opacity: 1;\n}\n.dataviews-view-table tr .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {\n  opacity: 0;\n}\n.dataviews-view-table tr:focus-within .components-checkbox-control__input,\n.dataviews-view-table tr:focus-within .dataviews-item-actions .components-button:not(.dataviews-all-actions-button), .dataviews-view-table tr.is-hovered .components-checkbox-control__input,\n.dataviews-view-table tr.is-hovered .dataviews-item-actions .components-button:not(.dataviews-all-actions-button), .dataviews-view-table tr:hover .components-checkbox-control__input,\n.dataviews-view-table tr:hover .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {\n  opacity: 1;\n}\n@media (hover: none) {\n  .dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input,\n.dataviews-view-table tr .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {\n    opacity: 1;\n  }\n}\n.dataviews-view-table tr.is-selected {\n  background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);\n  color: #757575;\n}\n.dataviews-view-table tr.is-selected:hover {\n  background-color: rgba(var(--wp-admin-theme-color--rgb), 0.08);\n}\n.dataviews-view-table thead {\n  position: sticky;\n  inset-block-start: 0;\n  z-index: 1;\n}\n.dataviews-view-table thead tr {\n  border: 0;\n}\n.dataviews-view-table thead th {\n  background-color: #fff;\n  box-shadow: inset 0 -1px 0 #f0f0f0;\n  padding-top: 8px;\n  padding-bottom: 8px;\n  font-size: 11px;\n  text-transform: uppercase;\n  font-weight: 500;\n  padding-left: 4px;\n}\n.dataviews-view-table tbody td {\n  vertical-align: top;\n}\n.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper {\n  min-height: 32px;\n  display: flex;\n  align-items: center;\n}\n.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper > * {\n  flex-grow: 1;\n}\n.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper.dataviews-view-table__primary-field a {\n  flex-grow: 0;\n}\n.dataviews-view-table .dataviews-view-table-header-button {\n  padding: 4px 8px;\n  font-size: 11px;\n  text-transform: uppercase;\n  font-weight: 500;\n}\n.dataviews-view-table .dataviews-view-table-header-button:not(:hover) {\n  color: #1e1e1e;\n}\n.dataviews-view-table .dataviews-view-table-header-button span {\n  speak: none;\n}\n.dataviews-view-table .dataviews-view-table-header-button span:empty {\n  display: none;\n}\n.dataviews-view-table .dataviews-view-table-header {\n  padding-left: 4px;\n}\n.dataviews-view-table .dataviews-view-table__actions-column {\n  width: 1%;\n}\n.dataviews-view-table:has(tr.is-selected) .components-checkbox-control__input {\n  opacity: 1;\n}\n\n.dataviews-view-list__primary-field,\n.dataviews-view-grid__primary-field,\n.dataviews-view-table__primary-field {\n  font-size: 13px;\n  font-weight: 500;\n  color: #757575;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  display: block;\n  width: 100%;\n}\n.dataviews-view-list__primary-field a,\n.dataviews-view-grid__primary-field a,\n.dataviews-view-table__primary-field a {\n  text-decoration: none;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  overflow: hidden;\n  display: block;\n  flex-grow: 0;\n  color: #1e1e1e;\n}\n.dataviews-view-list__primary-field a:hover,\n.dataviews-view-grid__primary-field a:hover,\n.dataviews-view-table__primary-field a:hover {\n  color: var(--wp-admin-theme-color);\n}\n.dataviews-view-list__primary-field a:focus,\n.dataviews-view-grid__primary-field a:focus,\n.dataviews-view-table__primary-field a:focus {\n  color: var(--wp-admin-theme-color--rgb);\n  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color, #007cba);\n  border-radius: 2px;\n}\n.dataviews-view-list__primary-field button.components-button.is-link,\n.dataviews-view-grid__primary-field button.components-button.is-link,\n.dataviews-view-table__primary-field button.components-button.is-link {\n  text-decoration: none;\n  font-weight: inherit;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  overflow: hidden;\n  display: block;\n  width: 100%;\n  color: #1e1e1e;\n}\n.dataviews-view-list__primary-field button.components-button.is-link:hover,\n.dataviews-view-grid__primary-field button.components-button.is-link:hover,\n.dataviews-view-table__primary-field button.components-button.is-link:hover {\n  color: var(--wp-admin-theme-color);\n}\n\n.dataviews-view-grid {\n  margin-bottom: 24px;\n  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;\n  grid-template-rows: max-content;\n  padding: 0 32px;\n}\n@media (min-width: 1080px) {\n  .dataviews-view-grid {\n    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;\n  }\n}\n@media (min-width: 1440px) {\n  .dataviews-view-grid {\n    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;\n  }\n}\n.dataviews-view-grid .dataviews-view-grid__card {\n  height: 100%;\n  justify-content: flex-start;\n}\n.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__title-actions {\n  padding: 8px 0 4px;\n}\n.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__primary-field {\n  min-height: 32px;\n}\n.dataviews-view-grid .dataviews-view-grid__card.is-selected .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-value {\n  color: #1e1e1e;\n}\n.dataviews-view-grid .dataviews-view-grid__card.is-selected .page-pages-preview-field__button::after {\n  box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);\n  background: rgba(var(--wp-admin-theme-color--rgb), 0.04);\n}\n.dataviews-view-grid .dataviews-view-grid__media {\n  width: 100%;\n  min-height: 200px;\n  aspect-ratio: 1/1;\n  background-color: #f0f0f0;\n  border-radius: 4px;\n  overflow: hidden;\n  position: relative;\n}\n.dataviews-view-grid .dataviews-view-grid__media img {\n  object-fit: cover;\n  width: 100%;\n  height: 100%;\n}\n.dataviews-view-grid .dataviews-view-grid__media::after {\n  content: \"\";\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);\n  border-radius: 4px;\n}\n.dataviews-view-grid .dataviews-view-grid__fields {\n  position: relative;\n  font-size: 12px;\n  line-height: 16px;\n}\n.dataviews-view-grid .dataviews-view-grid__fields:not(:empty) {\n  padding: 12px 0;\n  padding-top: 0;\n}\n.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field {\n  align-items: flex-start;\n}\n.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column) {\n  align-items: center;\n}\n.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column) .dataviews-view-grid__field-name {\n  width: 35%;\n}\n.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column) .dataviews-view-grid__field-value {\n  width: 65%;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-name {\n  color: #757575;\n}\n.dataviews-view-grid .dataviews-view-grid__badge-fields:not(:empty) {\n  padding-bottom: 12px;\n}\n.dataviews-view-grid .dataviews-view-grid__badge-fields .dataviews-view-grid__field-value {\n  width: -moz-fit-content;\n  width: fit-content;\n  background: #f0f0f0;\n  padding: 0 8px;\n  min-height: 24px;\n  border-radius: 2px;\n  display: flex;\n  align-items: center;\n  font-size: 12px;\n}\n\n.dataviews-view-list {\n  margin: 0;\n  padding: 8px;\n}\n.dataviews-view-list li {\n  margin: 0;\n  cursor: pointer;\n}\n.dataviews-view-list li .dataviews-view-list__item-wrapper {\n  position: relative;\n  padding-right: 24px;\n  border-radius: 4px;\n}\n.dataviews-view-list li .dataviews-view-list__item-wrapper::after {\n  position: absolute;\n  content: \"\";\n  top: 100%;\n  left: 24px;\n  right: 24px;\n  background: #f0f0f0;\n  height: 1px;\n}\n.dataviews-view-list li .dataviews-view-list__item-wrapper > * {\n  width: 100%;\n}\n.dataviews-view-list li:not(.is-selected) .dataviews-view-list__primary-field {\n  color: #1e1e1e;\n}\n.dataviews-view-list li:not(.is-selected):hover, .dataviews-view-list li:not(.is-selected):focus-within {\n  color: var(--wp-admin-theme-color);\n}\n.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__primary-field,\n.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields, .dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__primary-field,\n.dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__fields {\n  color: var(--wp-admin-theme-color);\n}\n.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper,\n.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper {\n  background-color: var(--wp-admin-theme-color);\n  color: #fff;\n}\n.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,\n.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__fields,\n.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .components-button,\n.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,\n.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__fields,\n.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .components-button {\n  color: #fff;\n}\n.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper::after,\n.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper::after {\n  background: transparent;\n}\n.dataviews-view-list .dataviews-view-list__item {\n  padding: 12px 0 12px 24px;\n  width: 100%;\n  scroll-margin: 8px 0;\n}\n.dataviews-view-list .dataviews-view-list__item:focus-visible::before {\n  position: absolute;\n  content: \"\";\n  top: -1px;\n  right: -1px;\n  bottom: -1px;\n  left: -1px;\n  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);\n  z-index: -1;\n  border-radius: 4px;\n}\n.dataviews-view-list .dataviews-view-list__item .dataviews-view-list__primary-field {\n  min-height: 20px;\n  overflow: hidden;\n}\n.dataviews-view-list .dataviews-view-list__media-wrapper {\n  width: 40px;\n  height: 40px;\n  border-radius: 4px;\n  overflow: hidden;\n  position: relative;\n  flex-shrink: 0;\n  background-color: #f0f0f0;\n}\n.dataviews-view-list .dataviews-view-list__media-wrapper img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n}\n.dataviews-view-list .dataviews-view-list__media-wrapper::after {\n  content: \"\";\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);\n  border-radius: 4px;\n}\n.dataviews-view-list .dataviews-view-list__media-placeholder {\n  min-width: 32px;\n  height: 32px;\n  background-color: #e0e0e0;\n}\n.dataviews-view-list .dataviews-view-list__fields {\n  color: #757575;\n  display: flex;\n  gap: 8px;\n  flex-wrap: wrap;\n  font-size: 12px;\n  line-height: 16px;\n}\n.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:has(.dataviews-view-list__field-value:empty) {\n  display: none;\n}\n.dataviews-view-list + .dataviews-pagination {\n  justify-content: space-between;\n}\n\n.dataviews-action-modal {\n  z-index: 1000001;\n}\n\n.dataviews-no-results,\n.dataviews-loading {\n  padding: 0 32px;\n  flex-grow: 1;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.dataviews-view-table-selection-checkbox {\n  --checkbox-input-size: 24px;\n  line-height: 0;\n}\n@media (min-width: 600px) {\n  .dataviews-view-table-selection-checkbox {\n    --checkbox-input-size: 16px;\n  }\n}\n\n.dataviews-filters__custom-menu-radio-item-prefix {\n  display: block;\n  width: 24px;\n}\n\n.dataviews-bulk-edit-button.components-button {\n  flex-shrink: 0;\n}\n\n.dataviews-filter-summary__popover .components-popover__content {\n  width: 230px;\n  padding: 0;\n  border-radius: 4px;\n}\n\n.dataviews-search-widget-filter-combobox-list {\n  max-height: 184px;\n  padding: 4px;\n  overflow: auto;\n  border-top: 1px solid #e0e0e0;\n}\n.dataviews-search-widget-filter-combobox-list .dataviews-search-widget-filter-combobox-item-value [data-user-value] {\n  font-weight: 600;\n}\n\n.dataviews-search-widget-listbox {\n  max-height: 184px;\n  padding: 4px;\n  overflow: auto;\n}\n\n.dataviews-search-widget-listitem {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  border-radius: 2px;\n  box-sizing: border-box;\n  padding: 8px 12px;\n  cursor: default;\n  margin-block-end: 2px;\n}\n.dataviews-search-widget-listitem:last-child {\n  margin-block-end: 0;\n}\n.dataviews-search-widget-listitem:hover, .dataviews-search-widget-listitem[data-active-item], .dataviews-search-widget-listitem:focus {\n  background-color: var(--wp-admin-theme-color);\n  color: #fff;\n}\n.dataviews-search-widget-listitem:hover .dataviews-search-widget-listitem-check, .dataviews-search-widget-listitem[data-active-item] .dataviews-search-widget-listitem-check, .dataviews-search-widget-listitem:focus .dataviews-search-widget-listitem-check {\n  fill: #fff;\n}\n.dataviews-search-widget-listitem:hover .dataviews-search-widget-listitem-description, .dataviews-search-widget-listitem[data-active-item] .dataviews-search-widget-listitem-description, .dataviews-search-widget-listitem:focus .dataviews-search-widget-listitem-description {\n  color: #fff;\n}\n.dataviews-search-widget-listitem .dataviews-search-widget-listitem-check {\n  width: 24px;\n  height: 24px;\n  flex-shrink: 0;\n}\n.dataviews-search-widget-listitem .dataviews-search-widget-listitem-description {\n  display: block;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  font-size: 12px;\n  line-height: 16px;\n  color: #757575;\n}\n\n.dataviews-search-widget-filter-combobox__wrapper {\n  position: relative;\n  padding: 8px;\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input {\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n  padding: 6px 8px;\n  box-shadow: 0 0 0 transparent;\n  transition: box-shadow 0.1s linear;\n  border-radius: 2px;\n  border: 1px solid #949494;\n  /* Fonts smaller than 16px causes mobile safari to zoom. */\n  font-size: 16px;\n  /* Override core line-height. To be reviewed. */\n  line-height: normal;\n  display: block;\n  padding: 0 32px 0 8px;\n  background: #f0f0f0;\n  border: none;\n  width: 100%;\n  height: 32px;\n  margin-left: 0;\n  margin-right: 0;\n  /* Fonts smaller than 16px causes mobile safari to zoom. */\n  font-size: 16px;\n}\n@media (prefers-reduced-motion: reduce) {\n  .dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input {\n    transition-duration: 0s;\n    transition-delay: 0s;\n  }\n}\n@media (min-width: 600px) {\n  .dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input {\n    font-size: 13px;\n    /* Override core line-height. To be reviewed. */\n    line-height: normal;\n  }\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input:focus {\n  border-color: var(--wp-admin-theme-color);\n  box-shadow: 0 0 0 0.5px var(--wp-admin-theme-color);\n  outline: 2px solid transparent;\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-input-placeholder {\n  color: rgba(30, 30, 30, 0.62);\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-moz-placeholder {\n  opacity: 1;\n  color: rgba(30, 30, 30, 0.62);\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input:-ms-input-placeholder {\n  color: rgba(30, 30, 30, 0.62);\n}\n@media (min-width: 600px) {\n  .dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input {\n    font-size: 13px;\n  }\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input:focus {\n  background: #fff;\n  box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::placeholder {\n  color: #757575;\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-search-decoration, .dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-search-cancel-button, .dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-search-results-button, .dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-search-results-decoration {\n  -webkit-appearance: none;\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__icon {\n  position: absolute;\n  right: 12px;\n  top: 50%;\n  transform: translateY(-50%);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 24px;\n}\n\n.dataviews-filter-summary__operators-container {\n  padding: 8px 8px 0;\n}\n.dataviews-filter-summary__operators-container:has(+ .dataviews-search-widget-listbox) {\n  border-bottom: 1px solid #e0e0e0;\n  padding-bottom: 8px;\n}\n.dataviews-filter-summary__operators-container:empty {\n  display: none;\n}\n.dataviews-filter-summary__operators-container .dataviews-filter-summary__operators-filter-name {\n  color: #757575;\n}\n\n.dataviews-filter-summary__chip-container {\n  position: relative;\n  white-space: pre-wrap;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip {\n  border-radius: 16px;\n  border: 1px solid transparent;\n  cursor: pointer;\n  padding: 0 12px;\n  height: 32px;\n  background: #f0f0f0;\n  color: #757575;\n  position: relative;\n  display: flex;\n  align-items: center;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-reset {\n  padding-inline-end: 28px;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip:hover, .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip:focus-visible, .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip[aria-expanded=true] {\n  background: #e0e0e0;\n  color: #1e1e1e;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-values {\n  color: var(--wp-admin-theme-color);\n  background: rgba(var(--wp-admin-theme-color--rgb), 0.04);\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-values:hover, .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-values[aria-expanded=true] {\n  background: rgba(var(--wp-admin-theme-color--rgb), 0.12);\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip:focus-visible {\n  outline: none;\n  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip .dataviews-filter-summary__filter-text-name {\n  font-weight: 500;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove {\n  width: 24px;\n  height: 24px;\n  border-radius: 50%;\n  border: 0;\n  padding: 0;\n  position: absolute;\n  right: 4px;\n  top: 50%;\n  transform: translateY(-50%);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: transparent;\n  cursor: pointer;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove svg {\n  fill: #757575;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:hover, .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:focus {\n  background: #e0e0e0;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:hover svg, .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:focus svg {\n  fill: #1e1e1e;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove.has-values svg {\n  fill: var(--wp-admin-theme-color);\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove.has-values:hover {\n  background: rgba(var(--wp-admin-theme-color--rgb), 0.08);\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:focus-visible {\n  outline: none;\n  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);\n}","@import '@wordpress/dataviews/build-style/style.css';\r\n\r\n// Media query variables\r\n$desktop: 1024px;\r\n$tablet: 782px;\r\n$mobile: 426px;\r\n\r\n/* To fix rendering quirk in Chrome */\r\n#wpwrap {\r\n\tbackground: #f1f1f1;\r\n}\r\n\r\n/* Hide WP notices on the settings page */\r\n.toplevel_page_search-console,\r\n.search-console_page_search-console-settings {\r\n\t.notice {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\t.star {\r\n\t\tcolor: #ffb900;\r\n\t}\r\n\r\n\t.red {\r\n\t\tcolor: red;\r\n\t}\r\n}\r\n\r\n.search-console.column-search-console {\r\n\tcursor: pointer;\r\n}\r\n\r\n.google-visualization-tooltip {\r\n\tpadding: 2rem;\r\n}\r\n\r\n#search-console-wrapper {\r\n\tmargin-left: -20px;\r\n\r\n\t@media (max-width: $tablet ) {\r\n\t\tmargin-left: -10px;\r\n\t}\r\n\r\n\thr {\r\n\t\tmargin: 24px 0;\r\n\t\tborder-top: 1px solid #eee;\r\n\t}\r\n\r\n\t.notice {\r\n\t\tdisplay: block;\r\n\t\tmargin-top: 15px;\r\n\t}\r\n\r\n\t.loading-settings {\r\n\t\ttext-align: center;\r\n\t\tmargin: 35vh 30px;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\r\n\t\t.components-spinner {\r\n\t\t\tfloat: none;\r\n\t\t}\r\n\r\n\t\t.description {\r\n\t\t\tcolor: #777;\r\n\t\t\tmargin-top: 4px;\r\n\t\t}\r\n\t}\r\n\r\n\t.masthead {\r\n\t\tbackground-color: #fff;\r\n\t\tpadding: 15px 20px;\r\n\t\tbox-shadow: rgb(0 0 0 / 10%) 0px 0px 0px 1px;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tgap: 1rem;\r\n\r\n\t\t.masthead__branding {\r\n\t\t\th1 {\r\n\t\t\t\tcolor: #222;\r\n\t\t\t\tfont-size: 20px;\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tmargin: 0;\r\n\r\n\t\t\t\t@media (max-width: $mobile ) {\r\n\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tsvg {\r\n\t\t\t\tfill: #222;\r\n\t\t\t\theight: 40px;\r\n\t\t\t\twidth: 40px;\r\n\t\t\t\tmargin-right: 10px;\r\n\t\t\t}\r\n\r\n\t\t\t@media (max-width: $mobile ) {\r\n\t\t\t\ttext-align: center;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.masthead__plugin-links {\r\n\t\t\tfont-size: 13px;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: flex-end;\r\n\t\t\talign-items: center;\r\n\r\n\t\t\ta {\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tcolor: #23282d;\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t\tdisplay: inline-flex;\r\n\t\t\t\tgap: 4px;\r\n\t\t\t\tmargin-left: 16px;\r\n\t\t\t\ttext-decoration: none;\r\n\r\n\t\t\t\tsvg {\r\n\t\t\t\t\tfill: currentColor;\r\n\t\t\t\t\tvertical-align: middle;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t&:hover {\r\n\t\t\t\t\tcolor: #007cba;\r\n\t\t\t\t\tcolor: var(--wp-admin-theme-color);\r\n\r\n\t\t\t\t\tsvg {\r\n\t\t\t\t\t\tfill: #007cba;\r\n\t\t\t\t\t\tfill: var(--wp-admin-theme-color);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t@media (max-width: $tablet ) {\r\n\t\t\t\ta {\r\n\t\t\t\t\tmargin-left: 8px;\r\n\r\n\t\t\t\t\tspan {\r\n\t\t\t\t\t\tdisplay: none;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t@media (max-width: $mobile ) {\r\n\t\t\t\tjustify-content: center;\r\n\t\t\t\tmargin-top: 10px;\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t.footer {\r\n\t\tpadding: 10px 30px;\r\n\t\tbox-shadow: 0 0 0 1px #ccd0d4, 0 1px 1px 1px rgba(0, 0, 0, .04);\r\n\t\ttext-align: center;\r\n\t\tmargin-top: 2em;\r\n\r\n\t\t.dashicons-star-filled {\r\n\t\t\tcolor: #ffb900;\r\n\t\t}\r\n\r\n\t\t.inner-container {\r\n\t\t\tmargin: 0 auto;\r\n\t\t\tmax-width: 1024px;\r\n\r\n\t\t\t@media (max-width: $desktop ) {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\ta {\r\n\t\t\tcolor: #555d66;\r\n\t\t\tdisplay: inline-block;\r\n\t\t\tmargin: 5px 8px;\r\n\t\t\ttext-decoration: none;\r\n\r\n\t\t\t&:hover {\r\n\t\t\t\tcolor: #007cba;\r\n\t\t\t\tcolor: var(--wp-admin-theme-color);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/* General styles for all setting tabs */\r\n\t.search-console-settings {\r\n\r\n\t\tmax-width: 1024px;\r\n\t\tmargin: 1em auto;\r\n\r\n\t}\r\n\r\n\t.search-console-dashboard {\r\n\t\tmargin-top: 1em;\r\n\t\tpadding: 0 1rem;\r\n\r\n\t\t.search-console-modal-container {\r\n\t\t\tpadding: 1em 0;\r\n\t\t}\r\n\r\n\t\t.search-console-filters {\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: space-between;\r\n\r\n\t\t\t.search-console-filters-options {\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tgap: 1em;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.search-console-table-bar {\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: space-between;\r\n\t\t\tpadding: 1 rem;\r\n\r\n\t\t\tinput {\r\n\t\t\t\twidth: 300px;\r\n\t\t\t}\r\n\r\n\t\t\t.search-console-dimensions {\r\n\t\t\t\tpadding: 0;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tflex: 1;\r\n\r\n\t\t\t\tbutton {\r\n\t\t\t\t\tpadding: 1rem;\r\n\t\t\t\t\tcursor: pointer;\r\n\t\t\t\t\tfont-weight: bold;\r\n\t\t\t\t\tborder-bottom: 2px solid transparent;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t.is-selected {\r\n\t\t\t\t\tborder-bottom: 2px solid #135e96;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t.components-button:focus:not(:disabled) {\r\n\t\t\t\t\tbox-shadow: none;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t.ads-container__reviews {\r\n\t\tbackground-color: var(--wp-admin-theme-color);\r\n\t\tbox-shadow: 0 0 0 1px var(--wp-admin-theme-color-darker-20), 0 1px 1px 1px rgb(0 0 0 / 4%);\r\n\t\tcolor: #fff;\r\n\t\tposition: relative;\r\n\r\n\t\t&::before {\r\n\t\t\tcontent: \"\";\r\n\t\t\tposition: absolute;\r\n\t\t\ttop: 0;\r\n\t\t\tright: 0;\r\n\t\t\tbottom: 0;\r\n\t\t\tleft: 0;\r\n\t\t\tz-index: 0;\r\n\t\t\tbackground-color: var(--wp-admin-theme-color-darker-20);\r\n\t\t\tmask-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polygon points='12 17.7371778 5.81966011 21.5 7.49246652 14.4659011 2 9.75735421 9.2141911 9.1728642 12 2.5 14.7858089 9.1728642 22 9.75735421 16.5075335 14.4659011 18.1803399 21.5'></polygon></svg>\");\r\n\t\t\t-webkit-mask-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polygon points='12 17.7371778 5.81966011 21.5 7.49246652 14.4659011 2 9.75735421 9.2141911 9.1728642 12 2.5 14.7858089 9.1728642 22 9.75735421 16.5075335 14.4659011 18.1803399 21.5'></polygon></svg>\");\r\n\t\t\tmask-size: 200px;\r\n\t\t\t-webkit-mask-size: 200px;\r\n\t\t\tmask-repeat: no-repeat;\r\n\t\t\t-webkit-mask-repeat: no-repeat;\r\n\t\t\tmask-position: -100px;\r\n\t\t\t-webkit-mask-position: -100px;\r\n\t\t}\r\n\r\n\t\t>* {\r\n\t\t\tposition: relative;\r\n\t\t\tz-index: 1;\r\n\t\t}\r\n\r\n\t\ta {\r\n\t\t\tcolor: #fff;\r\n\t\t\tdisplay: block;\r\n\t\t\tmargin-top: 10px;\r\n\t\t\tfont-size: 1.1em;\r\n\t\t}\r\n\r\n\t\th2 {\r\n\t\t\tcolor: #fff;\r\n\t\t}\r\n\t}\r\n\r\n\t.components-card {\r\n\t\t.message {\r\n\t\t\tmargin: 1rem 0;\r\n\t\t}\r\n\t}\r\n\r\n\t.components-notice {\r\n\t\tmargin: 1em;\r\n\t}\r\n\r\n\t.components-snackbar-list {\r\n\t\tbottom: 40px;\r\n\t\tpadding-left: 16px;\r\n\t\tpadding-right: 16px;\r\n\t\tposition: fixed;\r\n\t}\r\n\r\n\t.slideshow-container {\r\n\t\toverflow: hidden;\r\n\t\tdisplay: flex;\r\n\t\tbackground-color: #fff;\r\n\t\tflex-wrap: nowrap;\r\n\t}\r\n\r\n\t.slide {\r\n\t\theight: 1px;\r\n\t\ttransition: .5s cubic-bezier(0.075, 0.82, 0.165, 1);\r\n\t\tmax-width: 100%;\r\n\t\tbox-sizing: border-box;\r\n\t\tpadding: 1rem;\r\n\r\n\t\tp {\r\n\t\t\tmargin: 0;\r\n\t\t}\r\n\r\n\t\t&.active {\r\n\t\t\theight: auto;\r\n\t\t}\r\n\t}\r\n\r\n}"],"names":[],"sourceRoot":""}
     1{"version":3,"file":"./style-index.css","mappings":";;;AAAA;;;;;CAKC;AACD;;EAEE;AACF;;EAEE;AACF;;;;;;EAME;AACF;;;;;CAKC;AACD;;EAEE;AACF;;EAEE;AACF;;;EAGE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;;EAGE;AACF;;;;;CAKC;AACD;;;;;EAKE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;;EAGE;AACF;;EAEE;AACF;EACE,+BAA+B;EAC/B,wCAAwC;EACxC,yCAAyC;EACzC,kDAAkD;EAClD,yCAAyC;EACzC,iDAAiD;EACjD,kCAAkC;EAClC,gCAAgC;EAChC,yCAAyC;EACzC,oDAAoD;AACtD;AACA;EACE;IACE,oCAAoC;EACtC;AACF;;AAEA;EACE,YAAY;EACZ,cAAc;EACd,sBAAsB;EACtB,2BAA2B;AAC7B;;AAEA;EACE,sBAAsB;EACtB,oBAAoB;EACpB,mBAAmB;EACnB,cAAc;EACd,gBAAgB;EAChB,OAAO;AACT;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,mBAAmB;AACrB;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,gBAAgB;EAChB,SAAS;EACT,OAAO;EACP,sBAAsB;EACtB,kBAAkB;EAClB,6BAA6B;EAC7B,cAAc;EACd,cAAc;AAChB;;AAEA;EACE,eAAe;EACf,yBAAyB;EACzB,gBAAgB;EAChB,cAAc;AAChB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,WAAW;EACX,cAAc;EACd,qBAAqB;EACrB,yBAAyB;EACzB,kBAAkB;EAClB,cAAc;AAChB;AACA;EACE,qBAAqB;EACrB,cAAc;EACd,gBAAgB;AAClB;AACA;EACE,gBAAgB;EAChB,cAAc;EACd,mBAAmB;EACnB,eAAe;AACjB;AACA;;EAEE,aAAa;EACb,mBAAmB;AACrB;AACA;;EAEE,iBAAiB;AACnB;AACA;;EAEE,gBAAgB;AAClB;AACA;EACE,gCAAgC;AAClC;AACA;EACE,QAAQ;AACV;AACA;;EAEE,kBAAkB;AACpB;AACA;;;;EAIE,iBAAiB;AACnB;AACA;;EAEE,mBAAmB;AACrB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;AACA;;;;EAIE,UAAU;AACZ;AACA;EACE;;IAEE,UAAU;EACZ;AACF;AACA;EACE,8DAA8D;EAC9D,cAAc;AAChB;AACA;EACE,8DAA8D;AAChE;AACA;EACE,gBAAgB;EAChB,oBAAoB;EACpB,UAAU;AACZ;AACA;EACE,SAAS;AACX;AACA;EACE,sBAAsB;EACtB,kCAAkC;EAClC,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;EACf,yBAAyB;EACzB,gBAAgB;EAChB,iBAAiB;AACnB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,gBAAgB;EAChB,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,yBAAyB;EACzB,gBAAgB;AAClB;AACA;EACE,cAAc;AAChB;AACA;EACE,WAAW;AACb;AACA;EACE,aAAa;AACf;AACA;EACE,iBAAiB;AACnB;AACA;EACE,SAAS;AACX;AACA;EACE,UAAU;AACZ;;AAEA;;;EAGE,eAAe;EACf,gBAAgB;EAChB,cAAc;EACd,uBAAuB;EACvB,mBAAmB;EACnB,cAAc;EACd,WAAW;AACb;AACA;;;EAGE,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;EACnB,gBAAgB;EAChB,cAAc;EACd,YAAY;EACZ,cAAc;AAChB;AACA;;;EAGE,kCAAkC;AACpC;AACA;;;EAGE,uCAAuC;EACvC,yFAAyF;EACzF,kBAAkB;AACpB;AACA;;;EAGE,qBAAqB;EACrB,oBAAoB;EACpB,uBAAuB;EACvB,mBAAmB;EACnB,gBAAgB;EAChB,cAAc;EACd,WAAW;EACX,cAAc;AAChB;AACA;;;EAGE,kCAAkC;AACpC;;AAEA;EACE,mBAAmB;EACnB,2DAA2D;EAC3D,+BAA+B;EAC/B,eAAe;AACjB;AACA;EACE;IACE,2DAA2D;EAC7D;AACF;AACA;EACE;IACE,2DAA2D;EAC7D;AACF;AACA;EACE,YAAY;EACZ,2BAA2B;AAC7B;AACA;EACE,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,cAAc;AAChB;AACA;EACE,sFAAsF;EACtF,wDAAwD;AAC1D;AACA;EACE,WAAW;EACX,iBAAiB;EACjB,iBAAiB;EACjB,yBAAyB;EACzB,kBAAkB;EAClB,gBAAgB;EAChB,kBAAkB;AACpB;AACA;EACE,oBAAiB;KAAjB,iBAAiB;EACjB,WAAW;EACX,YAAY;AACd;AACA;EACE,WAAW;EACX,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,8CAA8C;EAC9C,kBAAkB;AACpB;AACA;EACE,kBAAkB;EAClB,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,cAAc;AAChB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,uBAAuB;EACvB,kBAAkB;EAClB,mBAAmB;EACnB,cAAc;EACd,gBAAgB;EAChB,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,eAAe;AACjB;;AAEA;EACE,SAAS;EACT,YAAY;AACd;AACA;EACE,SAAS;EACT,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,UAAU;EACV,WAAW;EACX,mBAAmB;EACnB,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,cAAc;AAChB;AACA;EACE,kCAAkC;AACpC;AACA;;;EAGE,kCAAkC;AACpC;AACA;;EAEE,6CAA6C;EAC7C,WAAW;AACb;AACA;;;;;;EAME,WAAW;AACb;AACA;;EAEE,uBAAuB;AACzB;AACA;EACE,yBAAyB;EACzB,WAAW;EACX,oBAAoB;AACtB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,WAAW;EACX,YAAY;EACZ,UAAU;EACV,gFAAgF;EAChF,WAAW;EACX,kBAAkB;AACpB;AACA;EACE,gBAAgB;EAChB,gBAAgB;AAClB;AACA;EACE,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,gBAAgB;EAChB,kBAAkB;EAClB,cAAc;EACd,yBAAyB;AAC3B;AACA;EACE,WAAW;EACX,YAAY;EACZ,oBAAiB;KAAjB,iBAAiB;AACnB;AACA;EACE,WAAW;EACX,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,8CAA8C;EAC9C,kBAAkB;AACpB;AACA;EACE,eAAe;EACf,YAAY;EACZ,yBAAyB;AAC3B;AACA;EACE,cAAc;EACd,aAAa;EACb,QAAQ;EACR,eAAe;EACf,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,aAAa;AACf;AACA;EACE,8BAA8B;AAChC;;AAEA;EACE,gBAAgB;AAClB;;AAEA;;EAEE,eAAe;EACf,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,2BAA2B;EAC3B,cAAc;AAChB;AACA;EACE;IACE,2BAA2B;EAC7B;AACF;;AAEA;EACE,cAAc;EACd,WAAW;AACb;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,YAAY;EACZ,UAAU;EACV,kBAAkB;AACpB;;AAEA;EACE,iBAAiB;EACjB,YAAY;EACZ,cAAc;EACd,6BAA6B;AAC/B;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,iBAAiB;EACjB,YAAY;EACZ,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,kBAAkB;EAClB,sBAAsB;EACtB,iBAAiB;EACjB,eAAe;EACf,qBAAqB;AACvB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,6CAA6C;EAC7C,WAAW;AACb;AACA;EACE,UAAU;AACZ;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;EACX,YAAY;EACZ,cAAc;AAChB;AACA;EACE,cAAc;EACd,gBAAgB;EAChB,uBAAuB;EACvB,eAAe;EACf,iBAAiB;EACjB,cAAc;AAChB;;AAEA;EACE,kBAAkB;EAClB,YAAY;AACd;AACA;EACE,gIAAgI;EAChI,gBAAgB;EAChB,6BAA6B;EAC7B,kCAAkC;EAClC,kBAAkB;EAClB,yBAAyB;EACzB,0DAA0D;EAC1D,eAAe;EACf,+CAA+C;EAC/C,mBAAmB;EACnB,cAAc;EACd,qBAAqB;EACrB,mBAAmB;EACnB,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,cAAc;EACd,eAAe;EACf,0DAA0D;EAC1D,eAAe;AACjB;AACA;EACE;IACE,uBAAuB;IACvB,oBAAoB;EACtB;AACF;AACA;EACE;IACE,eAAe;IACf,+CAA+C;IAC/C,mBAAmB;EACrB;AACF;AACA;EACE,yCAAyC;EACzC,mDAAmD;EACnD,8BAA8B;AAChC;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,UAAU;EACV,6BAA6B;AAC/B;AACA;EACE,6BAA6B;AAC/B;AACA;EACE;IACE,eAAe;EACjB;AACF;AACA;EACE,gBAAgB;EAChB,sFAAsF;AACxF;AACA;EACE,cAAc;AAChB;AAFA;EACE,cAAc;AAChB;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,QAAQ;EACR,2BAA2B;EAC3B,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;AACb;;AAEA;EACE,kBAAkB;AACpB;AACA;EACE,gCAAgC;EAChC,mBAAmB;AACrB;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;;AAEA;EACE,kBAAkB;EAClB,qBAAqB;AACvB;AACA;EACE,mBAAmB;EACnB,6BAA6B;EAC7B,eAAe;EACf,eAAe;EACf,YAAY;EACZ,mBAAmB;EACnB,cAAc;EACd,kBAAkB;EAClB,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,mBAAmB;EACnB,cAAc;AAChB;AACA;EACE,kCAAkC;EAClC,wDAAwD;AAC1D;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,aAAa;EACb,gFAAgF;AAClF;AACA;EACE,gBAAgB;AAClB;AACA;EACE,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,kBAAkB;EAClB,UAAU;EACV,QAAQ;EACR,2BAA2B;EAC3B,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,uBAAuB;EACvB,eAAe;AACjB;AACA;EACE,aAAa;AACf;AACA;EACE,mBAAmB;AACrB;AACA;EACE,aAAa;AACf;AACA;EACE,iCAAiC;AACnC;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,aAAa;EACb,gFAAgF;AAClF,C;;;;ACrzBA;AACA;EACC;AALD;;AAQA;AAGC;;EACC;AANF;AASC;;EACC;AANF;AASC;;EACC;AANF;;AAUA;EACC;AAPD;;AAUA;EACC;AAPD;;AAUA;EACC;EAqJA;AA3JD;AAQC;EAHD;IAIE;EALA;AACF;AAOC;EACC;EACA;AALF;AAQC;EACC;EACA;AANF;AASC;EACC;EACA;EACA;EACA;EACA;AAPF;AASE;EACC;AAPH;AAUE;EACC;EACA;AARH;AAYC;EACC;EACA;EACA;EACA;EACA;EACA;AAVF;AAaG;EACC;EACA;EACA;EACA;EACA;EACA;AAXJ;AAaI;EARD;IASE;EAVH;AACF;AAaG;EACC;EACA;EACA;EACA;AAXJ;AAcG;EArBD;IAsBE;EAXF;AACF;AAcE;EACC;EACA;EACA;EACA;AAZH;AAcG;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAZJ;AAcI;EACC;EACA;AAZL;AAeI;EACC;EACA;AAbL;AAeK;EACC;EACA;AAbN;AAkBG;EACC;IACC;EAhBH;EAkBG;IACC;EAhBJ;AACF;AAoBG;EAzCD;IA0CE;IACA;IACA;EAjBF;AACF;AAsBC;EACC;EACA;EACA;EACA;AApBF;AAsBE;EACC;AApBH;AAuBE;EACC;EACA;AArBH;AAuBG;EAJD;IAKE;EApBF;AACF;AAuBE;EACC;EACA;EACA;EACA;AArBH;AAuBG;EACC;EACA;AArBJ;AA2BC;EAEC;EACA;AA1BF;AA8BC;EACC;EACA;AA5BF;AA8BE;EACC;AA5BH;AA+BE;EACC;EACA;AA7BH;AA+BG;EACC;EACA;AA7BJ;AAiCE;EACC;EACA;EACA;EACA;AA/BH;AAiCG;EACC;AA/BJ;AAkCG;EACC;EACA;EACA;AAhCJ;AAkCI;EACC;EACA;EACA;EACA;AAhCL;AAmCI;EACC;AAjCL;AAoCI;EACC;AAlCL;AA0CC;EACC;EACA;EACA;EACA;AAxCF;AA0CE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAxCH;AA2CE;EACC;EACA;AAzCH;AA4CE;EACC;EACA;EACA;EACA;AA1CH;AA6CE;EACC;AA3CH;AAgDE;EACC;AA9CH;AAkDC;EACC;AAhDF;AAmDC;EACC;EACA;EACA;EACA;AAjDF;AAoDC;EACC;EACA;EACA;EACA;em;\r\n\r\n\t\tp {\r\n\t\t\tmargin: 0;\r\n\t\t}\r\n\r\n\t\t&.active {\r\n\t\t\theight: auto;\r\n\t\t}\r\n\t}\r\n\r\n}"],"names":[],"sourceRoot":""}
  • search-console/tags/3.0.4/readme.txt

    r3091052 r3115844  
    66Requires PHP: 5.6
    77Tested up to: 6.5
    8 Stable tag: 3.0.3
     8Stable tag: 3.0.
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    9191== Changelog ==
    9292
     93
     94
     95
    9396= 3.0.3 =
    9497* Small fix
  • search-console/tags/3.0.4/search-console.php

    r3091052 r3115844  
    66 * Plugin URI:     https://www.francescopepe.com/
    77 * Description:    This plugin displays your Google Search Console Analytics data inside your WordPress.
    8  * Version:        3.0.3
     8 * Version:        3.0.
    99 * Author:         Tropicalista
    1010 * Author URI:     https://www.francescopepe.com
  • search-console/trunk/build/index.asset.php

    r3091052 r3115844  
    1 <?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-primitives', 'wp-private-apis', 'wp-url'), 'version' => '29ae4c1f95e1c3a20696');
     1<?php return array('dependencies' => array('react', 'react-dom', 'wp-api-fetch', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-primitives', 'wp-private-apis', 'wp-url'), 'version' => '');
  • search-console/trunk/build/index.js

    r3091052 r3115844  
    1 (()=>{var e,t,n,r={761:(e,t,n)=>{"use strict";var r=n(609),a=n.t(r,2),o=n.n(r);const i=window.wp.element,l=window.wp.components,s=window.wp.data,c=window.wp.notices;function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u.apply(this,arguments)}var d;!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(d||(d={}));var m="beforeunload";function p(e){e.preventDefault(),e.returnValue=""}function f(){var e=[];return{get length(){return e.length},push:function(t){return e.push(t),function(){e=e.filter((function(e){return e!==t}))}},call:function(t){e.forEach((function(e){return e&&e(t)}))}}}const h=window.wp.url,v=function(e){void 0===e&&(e={});var t=e.window,n=void 0===t?document.defaultView:t,r=n.history;function a(){var e=n.location,t=e.pathname,a=e.search,o=e.hash,i=r.state||{};return[i.idx,{pathname:t,search:a,hash:o,state:i.usr||null,key:i.key||"default"}]}var o=null;n.addEventListener("popstate",(function(){if(o)v.call(o),o=null;else{var e=d.Pop,t=a(),n=t[0],r=t[1];if(v.length){if(null!=n){var i=s-n;i&&(o={action:e,location:r,retry:function(){C(-1*i)}},C(i))}}else b(e)}}));var i=d.Pop,l=a(),s=l[0],c=l[1],h=f(),v=f();function g(e){return"string"==typeof e?e:(n=(t=e).pathname,r=void 0===n?"/":n,a=t.search,o=void 0===a?"":a,i=t.hash,l=void 0===i?"":i,o&&"?"!==o&&(r+="?"===o.charAt(0)?o:"?"+o),l&&"#"!==l&&(r+="#"===l.charAt(0)?l:"#"+l),r);var t,n,r,a,o,i,l}function E(e,t){return void 0===t&&(t=null),u({pathname:c.pathname,hash:"",search:""},"string"==typeof e?function(e){var t={};if(e){var n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}(e):e,{state:t,key:Math.random().toString(36).substr(2,8)})}function w(e,t){return[{usr:e.state,key:e.key,idx:t},g(e)]}function y(e,t,n){return!v.length||(v.call({action:e,location:t,retry:n}),!1)}function b(e){i=e;var t=a();s=t[0],c=t[1],h.call({action:i,location:c})}function C(e){r.go(e)}return null==s&&(s=0,r.replaceState(u({},r.state,{idx:s}),"")),{get action(){return i},get location(){return c},createHref:g,push:function e(t,a){var o=d.Push,i=E(t,a);if(y(o,i,(function(){e(t,a)}))){var l=w(i,s+1),c=l[0],u=l[1];try{r.pushState(c,"",u)}catch(e){n.location.assign(u)}b(o)}},replace:function e(t,n){var a=d.Replace,o=E(t,n);if(y(a,o,(function(){e(t,n)}))){var i=w(o,s),l=i[0],c=i[1];r.replaceState(l,"",c),b(a)}},go:C,back:function(){C(-1)},forward:function(){C(1)},listen:function(e){return h.push(e)},block:function(e){var t=v.push(e);return 1===v.length&&n.addEventListener(m,p),function(){t(),v.length||n.removeEventListener(m,p)}}}}(),g=v.push,E=v.replace;v.push=function(e,t){const n=(0,h.getQueryArgs)(window.location.href),r=(0,h.removeQueryArgs)(window.location.href,...Object.keys(n)),a=(0,h.addQueryArgs)(r,e);return g.call(v,a,t)},v.replace=function(e,t){const n=(0,h.getQueryArgs)(window.location.href),r=(0,h.removeQueryArgs)(window.location.href,...Object.keys(n)),a=(0,h.addQueryArgs)(r,e);return E.call(v,a,t)};const w=v,y=(0,i.createContext)(),b=(0,i.createContext)();function C(){return(0,i.useContext)(b)}function _(e){const t=new URLSearchParams(e.search);return{...e,params:Object.fromEntries(t.entries())}}function S({children:e}){const[t,n]=(0,i.useState)((()=>_(w.location)));return(0,i.useEffect)((()=>w.listen((({location:e})=>{n(_(e))}))),[]),(0,r.createElement)(b.Provider,{value:w},(0,r.createElement)(y.Provider,{value:t},e))}const k=window.wp.apiFetch;var I=n.n(k);const x=window.wp.date,D={settings:!1,sites:[{label:"Select a site",value:""}],customDate:!1,dimension:"query",searchType:"web",startDate:(0,x.dateI18n)("Y-m-d",(new Date).setDate((new Date).getDate()-29)),endDate:(0,x.dateI18n)("Y-m-d",(new Date).setDate((new Date).getDate()-1)),filters:[]},T={setSites:e=>({type:"SET_SITES",sites:e}),setSettings:e=>({type:"SET_SETTINGS",settings:e}),setSetting:(e,t)=>({type:"SET_SETTING",setting:e,value:t}),setSearchType:e=>({type:"SET_SEARCHTYPE",searchType:e}),setFilter:e=>({type:"SET_FILTER",filter:e}),setDimension:e=>({type:"SET_DIMENSION",dimension:e}),setCustomDate:e=>({type:"SET_CUSTOMDATE",val:e}),setStartDate:e=>({type:"SET_STARTDATE",date:e}),setEndDate:e=>({type:"SET_ENDDATE",date:e}),removeFilter:e=>({type:"REMOVE_FILTER",filter:e}),fetchFromAPI:e=>({type:"FETCH_FROM_API",path:e})},O=(0,s.createReduxStore)("searchconsole",{reducer(e=D,t){switch(t.type){case"SET_SETTINGS":return{...e,settings:t.settings};case"SET_SITES":return{...e,sites:t.sites};case"SET_SETTING":return{...e,settings:{...e.settings,[t.setting]:t.value}};case"SET_SEARCHTYPE":return{...e,searchType:t.searchType};case"SET_DIMENSION":return{...e,dimension:t.dimension};case"SET_CUSTOMDATE":return{...e,customDate:t.val};case"SET_STARTDATE":return{...e,startDate:t.date};case"SET_ENDDATE":return{...e,endDate:t.date};case"SET_FILTER":const n={dimension:t.filter.dimension,expression:t.filter.expression,operator:t.filter.operator},r=e.filters.filter((e=>e.dimension!==t.filter.dimension));return r.push(n),{...e,filters:r};case"REMOVE_FILTER":const a=e.filters.filter((e=>e.dimension!==t.filter.dimension));return{...e,filters:a}}return e},actions:T,selectors:{isReady(e){var t;return null!==(t=e.settings)&&void 0!==t&&t},getSettings(e){const{settings:t}=e;return t},getSites(e){const{sites:t}=e;return t},getSite(e){const{settings:t}=e;return t.site},getQuery(e){const{searchType:t,filters:n,dimension:r,startDate:a,endDate:o}=e;return{dimension:r,startDate:a,endDate:o,searchType:t,filters:n}},getFilterByDimension:(e,t)=>e.filters.length?e.filters.find((e=>e.dimension===t)):{dimension:"",expression:"",operator:""},getSearchType(e){const{searchType:t}=e;return t},getFilters(e){const{filters:t}=e;return t},getCustomDate(e){const{customDate:t}=e;return t}},controls:{FETCH_FROM_API:e=>I()({path:e.path})},resolvers:{*getSettings(){const e=yield T.fetchFromAPI("/searchconsole/v1/settings/");return T.setSettings(e)}}});(0,s.register)(O);const A=window.wp.i18n;function P({text:e}){return(0,r.createElement)("div",{className:"loading-settings"},(0,r.createElement)(l.Spinner,null),(0,r.createElement)("span",{className:"description"},e))}function M(e){let{onLoad:t,onError:n,...a}=e;const[o,i]=function(e){let{chartVersion:t="current",chartPackages:n=["corechart","controls"],chartLanguage:a="en",mapsApiKey:o}=e;const[i,l]=(0,r.useState)(null),[s,c]=(0,r.useState)(!1);var u,d,m;return u="https://www.gstatic.com/charts/loader.js",d=()=>{const e=null===window||void 0===window?void 0:window.google;e&&(e.charts.load(t,{packages:n,language:a,mapsApiKey:o}),e.charts.setOnLoadCallback((()=>{l(e)})))},m=()=>{c(!0)},(0,r.useEffect)((()=>{if(!document)return;const e=document.querySelector('script[src="'.concat(u,'"]'));if(null==e?void 0:e.dataset.loaded)return void(null==d||d());const t=e||document.createElement("script");e||(t.src=u);const n=()=>{t.dataset.loaded="1",null==d||d()};return t.addEventListener("load",n),m&&t.addEventListener("error",m),e||document.head.append(t),()=>{t.removeEventListener("load",n),m&&t.removeEventListener("error",m)}}),[]),[i,s]}(a);return(0,r.useEffect)((()=>{o&&t&&t(o)}),[o]),(0,r.useEffect)((()=>{i&&n&&n()}),[i]),null}const F={legend_toggle:!1,options:{},legendToggle:!1,getChartWrapper:()=>{},spreadSheetQueryParameters:{headers:1,gid:1},rootProps:{},chartWrapperParams:{}};let N=0;const V=["#3366CC","#DC3912","#FF9900","#109618","#990099","#3B3EAC","#0099C6","#DD4477","#66AA00","#B82E2E","#316395","#994499","#22AA99","#AAAA11","#6633CC","#E67300","#8B0707","#329262","#5574A6","#3B3EAC"],{Provider:L,Consumer:R}=r.createContext(F),z=e=>{let{children:t,value:n}=e;return r.createElement(L,{value:n},t)},B=e=>{let{render:t}=e;return r.createElement(R,null,(e=>t(e)))};class H extends r.Component{componentDidMount(){this.draw(this.props),window.addEventListener("resize",this.onResize),(this.props.legend_toggle||this.props.legendToggle)&&this.listenToLegendToggle()}componentWillUnmount(){const{google:e,googleChartWrapper:t}=this.props;window.removeEventListener("resize",this.onResize),e.visualization.events.removeAllListeners(t),"Timeline"===t.getChartType()&&t.getChart()&&t.getChart().clearChart()}componentDidUpdate(){this.draw(this.props)}render(){return null}constructor(...e){super(...e),this.state={hiddenColumns:[]},this.listenToLegendToggle=()=>{const{google:e,googleChartWrapper:t}=this.props;e.visualization.events.addListener(t,"select",(()=>{const e=t.getChart().getSelection(),n=t.getDataTable();if(0===e.length||e[0].row||!n)return;const r=e[0].column,a=this.getColumnID(n,r);this.state.hiddenColumns.includes(a)?this.setState((e=>({...e,hiddenColumns:[...e.hiddenColumns.filter((e=>e!==a))]}))):this.setState((e=>({...e,hiddenColumns:[...e.hiddenColumns,a]})))}))},this.applyFormatters=(e,t)=>{const{google:n}=this.props;for(let r of t)switch(r.type){case"ArrowFormat":new n.visualization.ArrowFormat(r.options).format(e,r.column);break;case"BarFormat":new n.visualization.BarFormat(r.options).format(e,r.column);break;case"ColorFormat":{const t=new n.visualization.ColorFormat(r.options),{ranges:a}=r;for(let e of a)t.addRange(...e);t.format(e,r.column);break}case"DateFormat":new n.visualization.DateFormat(r.options).format(e,r.column);break;case"NumberFormat":new n.visualization.NumberFormat(r.options).format(e,r.column);break;case"PatternFormat":new n.visualization.PatternFormat(r.options).format(e,r.column)}},this.getColumnID=(e,t)=>e.getColumnId(t)||e.getColumnLabel(t),this.draw=async e=>{let{data:t,diffdata:n,rows:r,columns:a,options:o,legend_toggle:i,legendToggle:l,chartType:s,formatters:c,spreadSheetUrl:u,spreadSheetQueryParameters:d}=e;const{google:m,googleChartWrapper:p}=this.props;let f,h=null;if(n){const e=m.visualization.arrayToDataTable(n.old),t=m.visualization.arrayToDataTable(n.new);h=m.visualization[s].prototype.computeDiff(e,t)}f=null!==t?Array.isArray(t)?m.visualization.arrayToDataTable(t):new m.visualization.DataTable(t):r&&a?m.visualization.arrayToDataTable([a,...r]):u?await async function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise(((r,a)=>{const o="".concat(n.headers?"headers=".concat(n.headers):"headers=0"),i="".concat(n.query?"&tq=".concat(encodeURIComponent(n.query)):""),l="".concat(n.gid?"&gid=".concat(n.gid):""),s="".concat(n.sheet?"&sheet=".concat(n.sheet):""),c="".concat(n.access_token?"&access_token=".concat(n.access_token):""),u="".concat(o).concat(l).concat(s).concat(i).concat(c),d="".concat(t,"/gviz/tq?").concat(u);new e.visualization.Query(d).send((e=>{e.isError()?a("Error in query:  ".concat(e.getMessage()," ").concat(e.getDetailedMessage())):r(e.getDataTable())}))}))}(m,u,d):m.visualization.arrayToDataTable([]);const v=f.getNumberOfColumns();for(let e=0;e<v;e+=1){const t=this.getColumnID(f,e);if(this.state.hiddenColumns.includes(t)){const t=f.getColumnLabel(e),n=f.getColumnId(e),r=f.getColumnType(e);f.removeColumn(e),f.addColumn({label:t,id:n,type:r})}}const g=p.getChart();"Timeline"===p.getChartType()&&g&&g.clearChart(),p.setChartType(s),p.setOptions(o||{}),p.setDataTable(f),p.draw(),null!==this.props.googleChartDashboard&&this.props.googleChartDashboard.draw(f),h&&(p.setDataTable(h),p.draw()),c&&(this.applyFormatters(f,c),p.setDataTable(f),p.draw()),!0!==l&&!0!==i||this.grayOutHiddenColumns({options:o})},this.grayOutHiddenColumns=e=>{let{options:t}=e;const{googleChartWrapper:n}=this.props,r=n.getDataTable();if(!r)return;const a=r.getNumberOfColumns();if(!1==this.state.hiddenColumns.length>0)return;const o=Array.from({length:a-1}).map(((e,n)=>{const a=this.getColumnID(r,n+1);return this.state.hiddenColumns.includes(a)?"#CCCCCC":t&&t.colors?t.colors[n]:V[n]}));n.setOptions({...t,colors:o}),n.draw()},this.onResize=()=>{const{googleChartWrapper:e}=this.props;e.draw()}}}class j extends r.Component{componentDidMount(){}componentWillUnmount(){}shouldComponentUpdate(){return!1}render(){const{google:e,googleChartWrapper:t,googleChartDashboard:n}=this.props;return r.createElement(B,{render:a=>r.createElement(H,Object.assign({},a,{google:e,googleChartWrapper:t,googleChartDashboard:n}))})}}class K extends r.Component{shouldComponentUpdate(){return!1}listenToEvents(e){let{chartEvents:t,google:n,googleChartWrapper:r}=e;if(t){n.visualization.events.removeAllListeners(r);for(let e of t){var a=this;const{eventName:t,callback:o}=e;n.visualization.events.addListener(r,t,(function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];o({chartWrapper:r,props:a.props,google:n,eventArgs:t})}))}}}render(){const{google:e,googleChartWrapper:t}=this.props;return r.createElement(B,{render:n=>(this.listenToEvents({chartEvents:n.chartEvents||null,google:e,googleChartWrapper:t}),null)})}}let G=0;class U extends r.Component{componentDidMount(){const{options:e,google:t,chartType:n,chartWrapperParams:r,toolbarItems:a,getChartEditor:o,getChartWrapper:i}=this.props,l={chartType:n,options:e,containerId:this.getGraphID(),...r},s=new t.visualization.ChartWrapper(l);s.setOptions(e||{}),i&&i(s,t);const c=new t.visualization.Dashboard(this.dashboard_ref),u=this.addControls(s,c);a&&t.visualization.drawToolbar(this.toolbar_ref.current,a);let d=null;o&&(d=new t.visualization.ChartEditor,o({chartEditor:d,chartWrapper:s,google:t})),this.setState({googleChartEditor:d,googleChartControls:u,googleChartDashboard:c,googleChartWrapper:s,isReady:!0})}componentDidUpdate(){if(!this.state.googleChartWrapper)return;if(!this.state.googleChartDashboard)return;if(!this.state.googleChartControls)return;const{controls:e}=this.props;if(e)for(let t=0;t<e.length;t+=1){const{controlType:n,options:r,controlWrapperParams:a}=e[t];a&&"state"in a&&this.state.googleChartControls[t].control.setState(a.state),this.state.googleChartControls[t].control.setOptions(r),this.state.googleChartControls[t].control.setControlType(n)}}shouldComponentUpdate(e,t){return this.state.isReady!==t.isReady||e.controls!==this.props.controls}render(){const{width:e,height:t,options:n,style:a}=this.props,o={height:t||n&&n.height,width:e||n&&n.width,...a};return this.props.render?r.createElement("div",{ref:this.dashboard_ref,style:o},r.createElement("div",{ref:this.toolbar_ref,id:"toolbar"}),this.props.render({renderChart:this.renderChart,renderControl:this.renderControl,renderToolbar:this.renderToolBar})):r.createElement("div",{ref:this.dashboard_ref,style:o},this.renderControl((e=>{let{controlProp:t}=e;return"bottom"!==t.controlPosition})),this.renderChart(),this.renderControl((e=>{let{controlProp:t}=e;return"bottom"===t.controlPosition})),this.renderToolBar())}constructor(...e){var t;super(),t=this,this.state={googleChartWrapper:null,googleChartDashboard:null,googleChartControls:null,googleChartEditor:null,isReady:!1},this.graphID=null,this.dashboard_ref=r.createRef(),this.toolbar_ref=r.createRef(),this.getGraphID=()=>{const{graphID:e,graph_id:t}=this.props;let n;return e||t?n=e&&!t?e:t&&!e?t:e:this.graphID?n=this.graphID:(N+=1,n="reactgooglegraph-".concat(N)),this.graphID=n,this.graphID},this.getControlID=(e,t)=>{let n;return G+=1,n=void 0===e?"googlechart-control-".concat(t,"-").concat(G):e,n},this.addControls=(e,t)=>{const{google:n,controls:r}=this.props,a=r?r.map(((e,t)=>{const{controlID:r,controlType:a,options:o,controlWrapperParams:i}=e,l=this.getControlID(r,t);return{controlProp:e,control:new n.visualization.ControlWrapper({containerId:l,controlType:a,options:o,...i})}})):null;if(!a)return null;t.bind(a.map((e=>{let{control:t}=e;return t})),e);for(let t of a){const{control:r,controlProp:a}=t,{controlEvents:i=[]}=a;for(let t of i){var o=this;const{callback:a,eventName:i}=t;n.visualization.events.removeListener(r,i,a),n.visualization.events.addListener(r,i,(function(){for(var t=arguments.length,i=new Array(t),l=0;l<t;l++)i[l]=arguments[l];a({chartWrapper:e,controlWrapper:r,props:o.props,google:n,eventArgs:i})}))}}return a},this.renderChart=()=>{const{width:e,height:t,options:n,style:a,className:o,rootProps:i,google:l}=this.props,s={height:t||n&&n.height,width:e||n&&n.width,...a};return r.createElement("div",Object.assign({id:this.getGraphID(),style:s,className:o},i),this.state.isReady&&null!==this.state.googleChartWrapper?r.createElement(r.Fragment,null,r.createElement(j,{googleChartWrapper:this.state.googleChartWrapper,google:l,googleChartDashboard:this.state.googleChartDashboard}),r.createElement(K,{googleChartWrapper:this.state.googleChartWrapper,google:l})):null)},this.renderControl=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e=>!0;return t.state.isReady&&null!==t.state.googleChartControls?r.createElement(r.Fragment,null,t.state.googleChartControls.filter((t=>{let{controlProp:n,control:r}=t;return e({control:r,controlProp:n})})).map((e=>{let{control:t,controlProp:n}=e;return r.createElement("div",{key:t.getContainerId(),id:t.getContainerId()})}))):null},this.renderToolBar=()=>this.props.toolbarItems?r.createElement("div",{ref:this.toolbar_ref}):null}}class W extends r.Component{render(){const{chartLanguage:e,chartPackages:t,chartVersion:n,mapsApiKey:a,loader:o,errorElement:i}=this.props;return r.createElement(z,{value:this.props},"ready"===this.state.loadingStatus&&null!==this.state.google?r.createElement(U,Object.assign({},this.props,{google:this.state.google})):"errored"===this.state.loadingStatus&&i?i:o,r.createElement(M,{chartLanguage:e,chartPackages:t,chartVersion:n,mapsApiKey:a,onLoad:this.onLoad,onError:this.onError}))}componentDidMount(){this._isMounted=!0}componentWillUnmount(){this._isMounted=!1}isFullyLoaded(e){const{controls:t,toolbarItems:n,getChartEditor:r}=this.props;return e&&e.visualization&&e.visualization.ChartWrapper&&e.visualization.Dashboard&&(!t||e.visualization.ChartWrapper)&&(!r||e.visualization.ChartEditor)&&(!n||e.visualization.drawToolbar)}constructor(...e){super(...e),this._isMounted=!1,this.state={loadingStatus:"loading",google:null},this.onLoad=e=>{if(this.props.onLoad&&this.props.onLoad(e),this.isFullyLoaded(e))this.onSuccess(e);else{const e=setInterval((()=>{const t=window.google;this._isMounted?t&&this.isFullyLoaded(t)&&(clearInterval(e),this.onSuccess(t)):clearInterval(e)}),1e3)}},this.onSuccess=e=>{this.setState({loadingStatus:"ready",google:e})},this.onError=()=>{this.setState({loadingStatus:"errored"})}}}var q;W.defaultProps=F,function(e){e.annotation="annotation",e.annotationText="annotationText",e.certainty="certainty",e.emphasis="emphasis",e.interval="interval",e.scope="scope",e.style="style",e.tooltip="tooltip",e.domain="domain"}(q||(q={}));const Y={width:"100%",height:"400",colors:["#4285f4","#5e35b1","#00897b","#E8710A"],animation:{duration:1e3,easing:"out",startup:!0},focusTarget:"category",chartArea:{width:"100%",height:"80%"},hAxis:{gridlines:{count:0,minSpacing:150},minorGridlines:{count:0},showTextEvery:1,format:"MMM dd"},vAxis:{gridlines:{count:0,minSpacing:100},minorGridlines:{count:1},showTextEvery:2},vAxes:{0:{title:"clicks"},1:{title:"impressions"},2:{format:"#%",viewWindow:{min:0,max:1}},3:{direction:-1,viewWindow:{min:1}}},series:{0:{type:"line",targetAxisIndex:0,tooltip:!0},1:{type:"line",targetAxisIndex:1,tooltip:!0},2:{type:"line",targetAxisIndex:2,tooltip:!0},3:{type:"line",targetAxisIndex:3,tooltip:!0}}},$=window.wp.coreData,Q=(0,i.createContext)(),X=function(e){const t={customDate:!1,type:"web",startDate:(0,x.dateI18n)("Y-m-d",(new Date).setDate((new Date).getDate()-29)),endDate:(0,x.dateI18n)("Y-m-d",(new Date).setDate((new Date).getDate()-1)),dimensions:["QUERY"],fields:"rows",dimensionFilterGroups:[]},[n,a]=(0,i.useState)(!1),[o,l]=(0,i.useState)(t),[u,d]=(0,i.useState)(!1),m=C(),[p,f]=(0,$.useEntityProp)("root","site","search_console"),{saveEditedEntityRecord:h}=(0,s.useDispatch)($.store),{createNotice:v}=(0,s.useDispatch)(c.store),{isSaving:g,hasEdits:E}=(0,s.useSelect)((e=>({isSaving:e($.store).isSavingEntityRecord("root","site"),hasEdits:e($.store).hasEditsForEntityRecord("root","site",void 0,"search_console")})),[]),w=()=>{I()({path:"/searchconsole/v1/refresh",method:"POST"}).then((e=>{f({...p,token:e}),window.gapi.client.setToken(e),b()})).catch((e=>{console.log(e),v("error","⚠️ "+e.message.error_description,{type:"snackbar",explicitDismiss:!0,actions:[{label:"Reauthenticate on settings page",onClick:()=>m.push({page:"search-console-settings"})}]})}))},y=(e,t)=>{f({...p,[e]:t})};(0,i.useEffect)((()=>{const e=document.createElement("script");return e.src="https://apis.google.com/js/api.js",e.async=!0,e.defer=!0,e.onload=async()=>await window.gapi.load("client",b),document.body.appendChild(e),()=>{document.body.removeChild(e)}}),[]);const b=()=>{window.gapi.client.setToken(window.search_console.token),window.gapi.client.load("searchconsole","v1").then((()=>{_()}))},_=()=>{a(!0)};return(0,r.createElement)(Q.Provider,{value:{query:o,updateQuery:(e,t)=>{l({...o,[e]:t})},settings:p,updateSetting:y,setSettings:f,saveSettings:async()=>h("root","site").then((()=>{v("info","🎯 "+(0,A.__)("Settings saved.","formello"),{type:"snackbar"})})).catch((e=>{v("error","⚠️ "+e.message,{type:"snackbar",explicitDismiss:!0})})),isSaving:g,ready:n,refreshToken:w,revokeToken:()=>{I()({path:"/searchconsole/v1/revoke",method:"POST",data:{token:p.token.refresh_token}}).then((()=>{y("token",{access_token:"",expires_in:3600,id_token:"",refresh_token:"",scope:"",token_type:""}),d(!1)}))},email:u,hasEdits:E,showError:e=>{401!==e.status&&v("error","⚠️ "+e.result.error.message,{type:"snackbar",explicitDismiss:!0}),401===e.status&&w()}}},e.children)};function Z(){const{settings:e,query:t,showError:n}=(0,i.useContext)(Q),[a,o]=(0,i.useState)(!1);(0,i.useEffect)((()=>{e.token.access_token&&l()}),[t,e.token]);const l=()=>{window.gapi?.client?.setToken(e.token),window.gapi?.client?.webmasters?.searchanalytics.query({...t,siteUrl:e.site,dimensions:["date"],fields:"rows"}).then((e=>{const t=e.result.rows,n=[];n.push([(0,A.__)("Keys","search-console"),(0,A.__)("Clicks","search-console"),(0,A.__)("Impressions","search-console"),"CTR",(0,A.__)("Position","search-console")]),t.forEach((e=>{n.push([window.moment(e.keys[0],"YYYY-MM-DD").toDate(),s(e.clicks),s(e.impressions),{v:e.ctr,f:s(e.ctr,"ctr")},{v:e.position,f:s(e.position,"position")}])})),o(n)})).catch((e=>{n(e)}))},s=(e,t)=>"ctr"===t?(100*e).toFixed(2)+"%":"position"===t?e.toFixed(2):e;return a?(0,r.createElement)("div",{className:"search-console-chart"},(0,r.createElement)(W,{chartType:"LineChart",data:a,options:Y,legendToggle:!0})):(0,r.createElement)(P,{text:(0,A.__)("Fetching data…","search-console")})}const J=window.wp.primitives,ee=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z"})),te=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z"})),ne=(0,i.memo)((function({view:e,onChangeView:t,paginationInfo:{totalItems:n=0,totalPages:a}}){return n&&a?!!n&&1!==a&&(0,r.createElement)(l.__experimentalHStack,{expanded:!1,spacing:6,justify:"end",className:"dataviews-pagination"},(0,r.createElement)(l.__experimentalHStack,{justify:"flex-start",expanded:!1,spacing:2,className:"dataviews-pagination__page-selection"},(0,i.createInterpolateElement)((0,A.sprintf)(
     1(()=>{var e,t,n,r={761:(e,t,n)=>{"use strict";var r=n(609),a=n.t(r,2),o=n.n(r);const i=window.wp.element,l=window.wp.components,s=window.wp.data,c=window.wp.notices;function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u.apply(this,arguments)}var d;!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(d||(d={}));var m="beforeunload";function p(e){e.preventDefault(),e.returnValue=""}function f(){var e=[];return{get length(){return e.length},push:function(t){return e.push(t),function(){e=e.filter((function(e){return e!==t}))}},call:function(t){e.forEach((function(e){return e&&e(t)}))}}}const h=window.wp.url,v=function(e){void 0===e&&(e={});var t=e.window,n=void 0===t?document.defaultView:t,r=n.history;function a(){var e=n.location,t=e.pathname,a=e.search,o=e.hash,i=r.state||{};return[i.idx,{pathname:t,search:a,hash:o,state:i.usr||null,key:i.key||"default"}]}var o=null;n.addEventListener("popstate",(function(){if(o)v.call(o),o=null;else{var e=d.Pop,t=a(),n=t[0],r=t[1];if(v.length){if(null!=n){var i=s-n;i&&(o={action:e,location:r,retry:function(){C(-1*i)}},C(i))}}else b(e)}}));var i=d.Pop,l=a(),s=l[0],c=l[1],h=f(),v=f();function g(e){return"string"==typeof e?e:(n=(t=e).pathname,r=void 0===n?"/":n,a=t.search,o=void 0===a?"":a,i=t.hash,l=void 0===i?"":i,o&&"?"!==o&&(r+="?"===o.charAt(0)?o:"?"+o),l&&"#"!==l&&(r+="#"===l.charAt(0)?l:"#"+l),r);var t,n,r,a,o,i,l}function E(e,t){return void 0===t&&(t=null),u({pathname:c.pathname,hash:"",search:""},"string"==typeof e?function(e){var t={};if(e){var n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}(e):e,{state:t,key:Math.random().toString(36).substr(2,8)})}function w(e,t){return[{usr:e.state,key:e.key,idx:t},g(e)]}function y(e,t,n){return!v.length||(v.call({action:e,location:t,retry:n}),!1)}function b(e){i=e;var t=a();s=t[0],c=t[1],h.call({action:i,location:c})}function C(e){r.go(e)}return null==s&&(s=0,r.replaceState(u({},r.state,{idx:s}),"")),{get action(){return i},get location(){return c},createHref:g,push:function e(t,a){var o=d.Push,i=E(t,a);if(y(o,i,(function(){e(t,a)}))){var l=w(i,s+1),c=l[0],u=l[1];try{r.pushState(c,"",u)}catch(e){n.location.assign(u)}b(o)}},replace:function e(t,n){var a=d.Replace,o=E(t,n);if(y(a,o,(function(){e(t,n)}))){var i=w(o,s),l=i[0],c=i[1];r.replaceState(l,"",c),b(a)}},go:C,back:function(){C(-1)},forward:function(){C(1)},listen:function(e){return h.push(e)},block:function(e){var t=v.push(e);return 1===v.length&&n.addEventListener(m,p),function(){t(),v.length||n.removeEventListener(m,p)}}}}(),g=v.push,E=v.replace;v.push=function(e,t){const n=(0,h.getQueryArgs)(window.location.href),r=(0,h.removeQueryArgs)(window.location.href,...Object.keys(n)),a=(0,h.addQueryArgs)(r,e);return g.call(v,a,t)},v.replace=function(e,t){const n=(0,h.getQueryArgs)(window.location.href),r=(0,h.removeQueryArgs)(window.location.href,...Object.keys(n)),a=(0,h.addQueryArgs)(r,e);return E.call(v,a,t)};const w=v,y=(0,i.createContext)(),b=(0,i.createContext)();function C(){return(0,i.useContext)(b)}function _(e){const t=new URLSearchParams(e.search);return{...e,params:Object.fromEntries(t.entries())}}function S({children:e}){const[t,n]=(0,i.useState)((()=>_(w.location)));return(0,i.useEffect)((()=>w.listen((({location:e})=>{n(_(e))}))),[]),(0,r.createElement)(b.Provider,{value:w},(0,r.createElement)(y.Provider,{value:t},e))}const k=window.wp.apiFetch;var I=n.n(k);const x=window.wp.date,D={settings:!1,sites:[{label:"Select a site",value:""}],customDate:!1,dimension:"query",searchType:"web",startDate:(0,x.dateI18n)("Y-m-d",(new Date).setDate((new Date).getDate()-29)),endDate:(0,x.dateI18n)("Y-m-d",(new Date).setDate((new Date).getDate()-1)),filters:[]},T={setSites:e=>({type:"SET_SITES",sites:e}),setSettings:e=>({type:"SET_SETTINGS",settings:e}),setSetting:(e,t)=>({type:"SET_SETTING",setting:e,value:t}),setSearchType:e=>({type:"SET_SEARCHTYPE",searchType:e}),setFilter:e=>({type:"SET_FILTER",filter:e}),setDimension:e=>({type:"SET_DIMENSION",dimension:e}),setCustomDate:e=>({type:"SET_CUSTOMDATE",val:e}),setStartDate:e=>({type:"SET_STARTDATE",date:e}),setEndDate:e=>({type:"SET_ENDDATE",date:e}),removeFilter:e=>({type:"REMOVE_FILTER",filter:e}),fetchFromAPI:e=>({type:"FETCH_FROM_API",path:e})},O=(0,s.createReduxStore)("searchconsole",{reducer(e=D,t){switch(t.type){case"SET_SETTINGS":return{...e,settings:t.settings};case"SET_SITES":return{...e,sites:t.sites};case"SET_SETTING":return{...e,settings:{...e.settings,[t.setting]:t.value}};case"SET_SEARCHTYPE":return{...e,searchType:t.searchType};case"SET_DIMENSION":return{...e,dimension:t.dimension};case"SET_CUSTOMDATE":return{...e,customDate:t.val};case"SET_STARTDATE":return{...e,startDate:t.date};case"SET_ENDDATE":return{...e,endDate:t.date};case"SET_FILTER":const n={dimension:t.filter.dimension,expression:t.filter.expression,operator:t.filter.operator},r=e.filters.filter((e=>e.dimension!==t.filter.dimension));return r.push(n),{...e,filters:r};case"REMOVE_FILTER":const a=e.filters.filter((e=>e.dimension!==t.filter.dimension));return{...e,filters:a}}return e},actions:T,selectors:{isReady(e){var t;return null!==(t=e.settings)&&void 0!==t&&t},getSettings(e){const{settings:t}=e;return t},getSites(e){const{sites:t}=e;return t},getSite(e){const{settings:t}=e;return t.site},getQuery(e){const{searchType:t,filters:n,dimension:r,startDate:a,endDate:o}=e;return{dimension:r,startDate:a,endDate:o,searchType:t,filters:n}},getFilterByDimension:(e,t)=>e.filters.length?e.filters.find((e=>e.dimension===t)):{dimension:"",expression:"",operator:""},getSearchType(e){const{searchType:t}=e;return t},getFilters(e){const{filters:t}=e;return t},getCustomDate(e){const{customDate:t}=e;return t}},controls:{FETCH_FROM_API:e=>I()({path:e.path})},resolvers:{*getSettings(){const e=yield T.fetchFromAPI("/searchconsole/v1/settings/");return T.setSettings(e)}}});(0,s.register)(O);const .sprintf)(
    22// translators: %s: Total number of pages.
    33// translators: %s: Total number of pages.
    4 (0,A._x)("Page <CurrentPageControl /> of %s","paging"),a),{CurrentPageControl:(0,r.createElement)(l.SelectControl,{"aria-label":(0,A.__)("Current page"),value:e.page,options:Array.from(Array(a)).map(((e,t)=>{const n=t+1;return{value:n,label:n}})),onChange:n=>{t({...e,page:+n})},size:"compact",__nextHasNoMarginBottom:!0})})),(0,r.createElement)(l.__experimentalHStack,{expanded:!1,spacing:1},(0,r.createElement)(l.Button,{onClick:()=>t({...e,page:e.page-1}),disabled:1===e.page,__experimentalIsFocusable:!0,label:(0,A.__)("Previous page"),icon:ee,showTooltip:!0,size:"compact",tooltipPosition:"top"}),(0,r.createElement)(l.Button,{onClick:()=>t({...e,page:e.page+1}),disabled:e.page>=a,__experimentalIsFocusable:!0,label:(0,A.__)("Next page"),icon:te,showTooltip:!0,size:"compact",tooltipPosition:"top"}))):null})),re=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"m19 7.5h-7.628c-.3089-.87389-1.1423-1.5-2.122-1.5-.97966 0-1.81309.62611-2.12197 1.5h-2.12803v1.5h2.12803c.30888.87389 1.14231 1.5 2.12197 1.5.9797 0 1.8131-.62611 2.122-1.5h7.628z"}),(0,r.createElement)(J.Path,{d:"m19 15h-2.128c-.3089-.8739-1.1423-1.5-2.122-1.5s-1.8131.6261-2.122 1.5h-7.628v1.5h7.628c.3089.8739 1.1423 1.5 2.122 1.5s1.8131-.6261 2.122-1.5h2.128z"})),ae=window.wp.privateApis,{lock:oe,unlock:ie}=(0,ae.__dangerousOptInToUnstableAPIsOnlyForCoreModules)("I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.","@wordpress/dataviews"),le="is",se="isNot",ce="isAny",ue="isNone",de="isAll",me="isNotAll",pe=[le,se,ce,ue,de,me],fe={[le]:{key:"is-filter",label:(0,A.__)("Is")},[se]:{key:"is-not-filter",label:(0,A.__)("Is not")},[ce]:{key:"is-any-filter",label:(0,A.__)("Is any")},[ue]:{key:"is-none-filter",label:(0,A.__)("Is none")},[de]:{key:"is-all-filter",label:(0,A.__)("Is all")},[me]:{key:"is-not-all-filter",label:(0,A.__)("Is not all")}},he={asc:{label:(0,A.__)("Sort ascending")},desc:{label:(0,A.__)("Sort descending")}},ve="table",ge="grid",Ee=(0,r.createElement)(J.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,r.createElement)(J.Path,{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v3.5h-15V5c0-.3.2-.5.5-.5zm8 5.5h6.5v3.5H13V10zm-1.5 3.5h-7V10h7v3.5zm-7 5.5v-4h7v4.5H5c-.3 0-.5-.2-.5-.5zm14.5.5h-6V15h6.5v4c0 .3-.2.5-.5.5z"})),we=(0,r.createElement)(J.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,r.createElement)(J.Path,{d:"M6 5.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2V6zm11-.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM13 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2h-3a2 2 0 01-2-2V6zm5 8.5h-3a.5.5 0 00-.5.5v3a.5.5 0 00.5.5h3a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5zM15 13a2 2 0 00-2 2v3a2 2 0 002 2h3a2 2 0 002-2v-3a2 2 0 00-2-2h-3zm-9 1.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5zM4 15a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2v-3z",fillRule:"evenodd",clipRule:"evenodd"})),ye=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M4 8.8h8.9V7.2H4v1.6zm0 7h8.9v-1.5H4v1.5zM18 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z"})),be=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM6 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-7c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}));var Ce=n(485),_e=n.n(Ce);const Se=(0,r.createElement)(J.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,r.createElement)(J.Path,{d:"M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z"})),ke=(0,r.createElement)(J.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},(0,r.createElement)(J.Path,{d:"M4.67 10.664s-2.09 1.11-2.917 1.582l.494.87 1.608-.914.002.002c.343.502.86 1.17 1.563 1.84.348.33.742.663 1.185.976L5.57 16.744l.858.515 1.02-1.701a9.1 9.1 0 0 0 4.051 1.18V19h1v-2.263a9.1 9.1 0 0 0 4.05-1.18l1.021 1.7.858-.514-1.034-1.723c.442-.313.837-.646 1.184-.977.703-.669 1.22-1.337 1.563-1.839l.002-.003 1.61.914.493-.87c-1.75-.994-2.918-1.58-2.918-1.58l-.003.005a8.29 8.29 0 0 1-.422.689 10.097 10.097 0 0 1-1.36 1.598c-1.218 1.16-3.042 2.293-5.544 2.293-2.503 0-4.327-1.132-5.546-2.293a10.099 10.099 0 0 1-1.359-1.599 8.267 8.267 0 0 1-.422-.689l-.003-.005Z"}));function Ie({selection:e,onSelectionChange:t,item:n,data:a,getItemId:o,primaryField:i,disabled:s}){const c=o(n),u=e.includes(c);let d;return d=i?.getValue&&n?(0,A.sprintf)(/* translators: %s: item title. */
    5 u?(0,A.__)("Deselect item: %s"):(0,A.__)("Select item: %s"),i.getValue({item:n})):u?(0,A.__)("Select a new item"):(0,A.__)("Deselect item"),(0,r.createElement)(l.CheckboxControl,{className:"dataviews-view-table-selection-checkbox",__nextHasNoMarginBottom:!0,"aria-label":d,"aria-disabled":s,checked:u,onChange:()=>{s||t(u?a.filter((t=>{const n=o?.(t);return n!==c&&e.includes(n)})):a.filter((t=>{const n=o?.(t);return n===c||e.includes(n)})))}})}const xe=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z"})),{DropdownMenuV2:De,DropdownMenuGroupV2:Te,DropdownMenuItemV2:Oe,DropdownMenuItemLabelV2:Ae,kebabCase:Pe}=ie(l.privateApis);function Me({action:e,onClick:t}){return(0,r.createElement)(l.Button,{label:e.label,icon:e.icon,isDestructive:e.isDestructive,size:"compact",onClick:t})}function Fe({action:e,onClick:t}){return(0,r.createElement)(Oe,{onClick:t,hideOnClick:!e.RenderModal},(0,r.createElement)(Ae,null,e.label))}function Ne({action:e,item:t,ActionTrigger:n}){const[a,o]=(0,i.useState)(!1),s={action:e,onClick:()=>o(!0)},{RenderModal:c,hideModalHeader:u}=e;return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(n,{...s}),a&&(0,r.createElement)(l.Modal,{title:e.modalHeader||e.label,__experimentalHideHeader:!!u,onRequestClose:()=>{o(!1)},overlayClassName:`dataviews-action-modal dataviews-action-modal__${Pe(e.id)}`},(0,r.createElement)(c,{items:[t],closeModal:()=>o(!1)})))}function Ve({actions:e,item:t}){return(0,r.createElement)(Te,null,e.map((e=>e.RenderModal?(0,r.createElement)(Ne,{key:e.id,action:e,item:t,ActionTrigger:Fe}):(0,r.createElement)(Fe,{key:e.id,action:e,onClick:()=>e.callback([t])}))))}function Le({item:e,actions:t,isCompact:n}){const{primaryActions:a,eligibleActions:o}=(0,i.useMemo)((()=>{const n=t.filter((t=>!t.isEligible||t.isEligible(e)));return{primaryActions:n.filter((e=>e.isPrimary&&!!e.icon)),eligibleActions:n}}),[t,e]);return n?(0,r.createElement)(Re,{item:e,actions:o}):(0,r.createElement)(l.__experimentalHStack,{spacing:1,justify:"flex-end",className:"dataviews-item-actions",style:{flexShrink:"0",width:"auto"}},!!a.length&&a.map((t=>t.RenderModal?(0,r.createElement)(Ne,{key:t.id,action:t,item:e,ActionTrigger:Me}):(0,r.createElement)(Me,{key:t.id,action:t,onClick:()=>t.callback([e])}))),(0,r.createElement)(Re,{item:e,actions:o}))}function Re({item:e,actions:t}){return(0,r.createElement)(De,{trigger:(0,r.createElement)(l.Button,{size:"compact",icon:xe,label:(0,A.__)("Actions"),disabled:!t.length,className:"dataviews-all-actions-button"}),placement:"bottom-end"},(0,r.createElement)(Ve,{actions:t,item:e}))}const ze=e=>{let t=e.filterBy?.operators;return t&&Array.isArray(t)||(t=[ce,ue]),t.includes("in")&&(t=t.filter((e=>"is"!==e)),t.push("is")),t.includes("notIn")&&(t=t.filter((e=>"notIn"!==e)),t.push("isNot")),t=t.filter((e=>pe.includes(e))),(t.includes(le)||t.includes(se))&&(t=t.filter((e=>[le,se].includes(e)))),t},{DropdownMenuV2:Be,DropdownMenuGroupV2:He,DropdownMenuItemV2:je,DropdownMenuSeparatorV2:Ke}=ie(l.privateApis);function Ge(e,t){return(0,i.useMemo)((()=>e.some((e=>e.supportsBulk&&e.isEligible(t)))),[e,t])}function Ue({action:e,selectedItems:t,setActionWithModal:n,onMenuOpenChange:a}){const o=(0,i.useMemo)((()=>t.filter((t=>e.isEligible(t)))),[e,t]),{RenderModal:s,hideModalHeader:c}=e,u=(0,i.useCallback)((()=>{n(void 0)}),[n]);return(0,r.createElement)(l.Modal,{title:!c&&e.label,__experimentalHideHeader:!!c,onRequestClose:u,overlayClassName:"dataviews-action-modal"},(0,r.createElement)(s,{items:o,closeModal:u,onPerform:()=>a(!1)}))}function We({action:e,selectedItems:t,setActionWithModal:n}){const a=(0,i.useMemo)((()=>t.filter((t=>e.isEligible(t)))),[e,t]),o=!!e.RenderModal;return(0,r.createElement)(je,{key:e.id,disabled:0===a.length,hideOnClick:!o,onClick:async()=>{o?n(e):await e.callback(a)},suffix:a.length>0?a.length:void 0},e.label)}function qe({actions:e,selectedItems:t,setActionWithModal:n}){return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(He,null,e.map((e=>(0,r.createElement)(We,{key:e.id,action:e,selectedItems:t,setActionWithModal:n})))),(0,r.createElement)(Ke,null))}function Ye({data:e,actions:t,selection:n,onSelectionChange:a,getItemId:o}){const s=(0,i.useMemo)((()=>t.filter((e=>e.supportsBulk))),[t]),[c,u]=(0,i.useState)(!1),[d,m]=(0,i.useState)(),p=(0,i.useMemo)((()=>e.filter((e=>s.some((t=>t.isEligible(e)))))),[e,s]),f=p.length,h=n&&n.length===f,v=(0,i.useMemo)((()=>e.filter((e=>n.includes(o(e))))),[n,e,o]),g=(0,i.useMemo)((()=>v.some((e=>!p.includes(e)))),[v,p]);return(0,i.useEffect)((()=>{g&&a(v.filter((e=>p.some((t=>o(e)===o(t))))))}),[g,v,p,o,a]),0===s.length?null:(0,r.createElement)(r.Fragment,null,(0,r.createElement)(Be,{open:c,onOpenChange:u,label:(0,A.__)("Bulk actions"),style:{minWidth:"240px"},trigger:(0,r.createElement)(l.Button,{className:"dataviews-bulk-edit-button",__next40pxDefaultSize:!0,variant:"tertiary",size:"compact"},n.length?(0,A.sprintf)(/* translators: %d: Number of items. */ /* translators: %d: Number of items. */
    6 (0,A._n)("Edit %d item","Edit %d items",n.length),n.length):(0,A.__)("Bulk edit"))},(0,r.createElement)(qe,{actions:s,setActionWithModal:m,selectedItems:v}),(0,r.createElement)(He,null,(0,r.createElement)(je,{disabled:h,hideOnClick:!1,onClick:()=>{a(p)},suffix:f},(0,A.__)("Select all")),(0,r.createElement)(je,{disabled:0===n.length,hideOnClick:!1,onClick:()=>{a([])}},(0,A.__)("Deselect")))),d&&(0,r.createElement)(Ue,{action:d,selectedItems:v,setActionWithModal:m,onMenuOpenChange:u}))}const{DropdownMenuV2:$e,DropdownMenuGroupV2:Qe,DropdownMenuItemV2:Xe,DropdownMenuRadioItemV2:Ze,DropdownMenuItemLabelV2:Je,DropdownMenuSeparatorV2:et}=ie(l.privateApis);function tt({children:e}){return i.Children.toArray(e).filter(Boolean).map(((e,t)=>(0,r.createElement)(i.Fragment,{key:t},t>0&&(0,r.createElement)(et,null),e)))}const nt={asc:"↑",desc:"↓"},rt=(0,i.forwardRef)((function({field:e,view:t,onChangeView:n,onHide:a,setOpenedFilter:o},i){const s=!1!==e.enableHiding,c=!1!==e.enableSorting,u=t.sort?.field===e.id,d=ze(e),m=!(t.filters?.some((t=>e.id===t.field))||!e.elements?.length||!d.length||e.filterBy?.isPrimary);return c||s||m?(0,r.createElement)($e,{align:"start",trigger:(0,r.createElement)(l.Button,{size:"compact",className:"dataviews-view-table-header-button",ref:i,variant:"tertiary"},e.header,u&&(0,r.createElement)("span",{"aria-hidden":"true"},u&&nt[t.sort.direction])),style:{minWidth:"240px"}},(0,r.createElement)(tt,null,c&&(0,r.createElement)(Qe,null,Object.entries(he).map((([a,o])=>{const i=u&&t.sort.direction===a,l=`${e.id}-${a}`;return(0,r.createElement)(Ze,{key:l,name:"view-table-sorting",value:l,checked:i,onChange:()=>{n({...t,sort:{field:e.id,direction:a}})}},(0,r.createElement)(Je,null,o.label))}))),m&&(0,r.createElement)(Qe,null,(0,r.createElement)(Xe,{prefix:(0,r.createElement)(l.Icon,{icon:Se}),onClick:()=>{o(e.id),n({...t,page:1,filters:[...t.filters||[],{field:e.id,value:void 0,operator:d[0]}]})}},(0,r.createElement)(Je,null,(0,A.__)("Add filter")))),s&&(0,r.createElement)(Xe,{prefix:(0,r.createElement)(l.Icon,{icon:ke}),onClick:()=>{a(e),n({...t,hiddenFields:t.hiddenFields.concat(e.id)})}},(0,r.createElement)(Je,null,(0,A.__)("Hide"))))):e.header}));function at({selection:e,onSelectionChange:t,data:n,actions:a}){const o=(0,i.useMemo)((()=>n.filter((e=>a.some((t=>t.supportsBulk&&t.isEligible(e)))))),[n,a]),s=e.length===o.length;return(0,r.createElement)(l.CheckboxControl,{className:"dataviews-view-table-selection-checkbox",__nextHasNoMarginBottom:!0,checked:s,indeterminate:!s&&e.length,onChange:()=>{t(s?[]:o)},"aria-label":s?(0,A.__)("Deselect all"):(0,A.__)("Select all")})}function ot({hasBulkActions:e,item:t,actions:n,id:a,visibleFields:o,primaryField:l,selection:s,getItemId:c,onSelectionChange:u,data:d}){const m=Ge(n,t),p=s.includes(a),[f,h]=(0,i.useState)(!1),v=(0,i.useRef)(!1);return(0,r.createElement)("tr",{className:_e()("dataviews-view-table__row",{"is-selected":m&&p,"is-hovered":f,"has-bulk-actions":m}),onMouseEnter:()=>{h(!0)},onMouseLeave:()=>{h(!1)},onTouchStart:()=>{v.current=!0},onClick:()=>{v.current||"Range"===document.getSelection().type||u(p?d.filter((e=>{const t=c?.(e);return t!==a&&s.includes(t)})):d.filter((e=>{const t=c?.(e);return t===a||s.includes(t)})))}},e&&(0,r.createElement)("td",{className:"dataviews-view-table__checkbox-column",style:{width:"1%"}},(0,r.createElement)("div",{className:"dataviews-view-table__cell-content-wrapper"},(0,r.createElement)(Ie,{id:a,item:t,selection:s,onSelectionChange:u,getItemId:c,data:d,primaryField:l,disabled:!m}))),o.map((e=>(0,r.createElement)("td",{key:e.id,style:{width:e.width||void 0,minWidth:e.minWidth||void 0,maxWidth:e.maxWidth||void 0}},(0,r.createElement)("div",{className:_e()("dataviews-view-table__cell-content-wrapper",{"dataviews-view-table__primary-field":l?.id===e.id})},e.render({item:t}))))),!!n?.length&&(0,r.createElement)("td",{className:"dataviews-view-table__actions-column",onClick:e=>e.stopPropagation()},(0,r.createElement)(Le,{item:t,actions:n})))}function it({selection:e,data:t,onSelectionChange:n,getItemId:a,item:o,actions:i,mediaField:s,primaryField:c,visibleFields:u,badgeFields:d,columnFields:m}){const p=Ge(i,o),f=a(o),h=e.includes(f);return(0,r.createElement)(l.__experimentalVStack,{spacing:0,key:f,className:_e()("dataviews-view-grid__card",{"is-selected":p&&h}),onClickCapture:r=>{if(r.ctrlKey||r.metaKey){if(r.stopPropagation(),r.preventDefault(),!p)return;n(h?t.filter((t=>{const n=a?.(t);return n!==f&&e.includes(n)})):t.filter((t=>{const n=a?.(t);return n===f||e.includes(n)})))}}},(0,r.createElement)("div",{className:"dataviews-view-grid__media"},s?.render({item:o})),(0,r.createElement)(l.__experimentalHStack,{justify:"space-between",className:"dataviews-view-grid__title-actions"},(0,r.createElement)(Ie,{id:f,item:o,selection:e,onSelectionChange:n,getItemId:a,data:t,primaryField:c,disabled:!p}),(0,r.createElement)(l.__experimentalHStack,{className:"dataviews-view-grid__primary-field"},c?.render({item:o})),(0,r.createElement)(Le,{item:o,actions:i,isCompact:!0})),!!d?.length&&(0,r.createElement)(l.__experimentalHStack,{className:"dataviews-view-grid__badge-fields",spacing:2,wrap:!0,align:"top",justify:"flex-start"},d.map((e=>{const t=e.render({item:o});return t?(0,r.createElement)(l.FlexItem,{key:e.id,className:"dataviews-view-grid__field-value"},t):null}))),!!u?.length&&(0,r.createElement)(l.__experimentalVStack,{className:"dataviews-view-grid__fields",spacing:3},u.map((e=>{const t=e.render({item:o});return t?(0,r.createElement)(l.Flex,{className:_e()("dataviews-view-grid__field",m?.includes(e.id)?"is-column":"is-row"),key:e.id,gap:1,justify:"flex-start",expanded:!0,style:{height:"auto"},direction:m?.includes(e.id)?"column":"row"},(0,r.createElement)(r.Fragment,null,(0,r.createElement)(l.FlexItem,{className:"dataviews-view-grid__field-name"},e.header),(0,r.createElement)(l.FlexItem,{className:"dataviews-view-grid__field-value",style:{maxHeight:"none"}},t))):null}))))}const lt=window.wp.compose,{useCompositeStoreV2:st,CompositeV2:ct,CompositeItemV2:ut,CompositeRowV2:dt}=ie(l.privateApis);function mt({id:e,item:t,isSelected:n,onSelect:a,mediaField:o,primaryField:s,visibleFields:c}){const u=(0,i.useRef)(null),d=`${e}-label`,m=`${e}-description`;return(0,i.useEffect)((()=>{n&&u.current?.scrollIntoView({behavior:"auto",block:"nearest",inline:"nearest"})}),[n]),(0,r.createElement)(dt,{ref:u,render:(0,r.createElement)("li",null),role:"row",className:_e()({"is-selected":n})},(0,r.createElement)(l.__experimentalHStack,{className:"dataviews-view-list__item-wrapper"},(0,r.createElement)("div",{role:"gridcell"},(0,r.createElement)(ut,{render:(0,r.createElement)("div",null),role:"button",id:e,"aria-pressed":n,"aria-labelledby":d,"aria-describedby":m,className:"dataviews-view-list__item",onClick:()=>a(t)},(0,r.createElement)(l.__experimentalHStack,{spacing:3,justify:"start",alignment:"flex-start"},(0,r.createElement)("div",{className:"dataviews-view-list__media-wrapper"},o?.render({item:t})||(0,r.createElement)("div",{className:"dataviews-view-list__media-placeholder"})),(0,r.createElement)(l.__experimentalVStack,{spacing:1},(0,r.createElement)("span",{className:"dataviews-view-list__primary-field",id:d},s?.render({item:t})),(0,r.createElement)("div",{className:"dataviews-view-list__fields",id:m},c.map((e=>(0,r.createElement)("div",{key:e.id,className:"dataviews-view-list__field"},(0,r.createElement)(l.VisuallyHidden,{as:"span",className:"dataviews-view-list__field-label"},e.header),(0,r.createElement)("span",{className:"dataviews-view-list__field-value"},e.render({item:t}))))))))))))}const pt=[{type:ve,label:(0,A.__)("Table"),component:function({view:e,onChangeView:t,fields:n,actions:a,data:o,getItemId:s,isLoading:c=!1,selection:u,onSelectionChange:d,setOpenedFilter:m}){const p=(0,i.useRef)(new Map),f=(0,i.useRef)(),[h,v]=(0,i.useState)(),g=function(e,t){return(0,i.useMemo)((()=>t.some((t=>e.some((e=>e.supportsBulk&&e.isEligible(t)))))),[e,t])}(a,o);(0,i.useEffect)((()=>{f.current&&(f.current.focus(),f.current=void 0)}));const E=(0,i.useId)();if(h)return f.current=h,void v();const w=e=>{const t=p.current.get(e.id),n=p.current.get(t.fallback);v(n?.node)},y=n.filter((t=>!e.hiddenFields.includes(t.id)&&![e.layout.mediaField].includes(t.id))),b=!!o?.length,C={asc:"ascending",desc:"descending"},_=n.find((t=>t.id===e.layout.primaryField));return(0,r.createElement)(i.Fragment,null,(0,r.createElement)("table",{className:"dataviews-view-table","aria-busy":c,"aria-describedby":E},(0,r.createElement)("thead",null,(0,r.createElement)("tr",{className:"dataviews-view-table__row"},g&&(0,r.createElement)("th",{className:"dataviews-view-table__checkbox-column",style:{width:"1%"},"data-field-id":"selection",scope:"col"},(0,r.createElement)(at,{selection:u,onSelectionChange:d,data:o,actions:a})),y.map(((n,a)=>(0,r.createElement)("th",{key:n.id,style:{width:n.width||void 0,minWidth:n.minWidth||void 0,maxWidth:n.maxWidth||void 0},"data-field-id":n.id,"aria-sort":e.sort?.field===n.id&&C[e.sort.direction],scope:"col"},(0,r.createElement)(rt,{ref:e=>{e?p.current.set(n.id,{node:e,fallback:y[a>0?a-1:1]?.id}):p.current.delete(n.id)},field:n,view:e,onChangeView:t,onHide:w,setOpenedFilter:m})))),!!a?.length&&(0,r.createElement)("th",{"data-field-id":"actions",className:"dataviews-view-table__actions-column"},(0,r.createElement)("span",{className:"dataviews-view-table-header"},(0,A.__)("Actions"))))),(0,r.createElement)("tbody",null,b&&o.map(((e,t)=>(0,r.createElement)(ot,{key:s(e),item:e,hasBulkActions:g,actions:a,id:s(e)||t,visibleFields:y,primaryField:_,selection:u,getItemId:s,onSelectionChange:d,data:o}))))),(0,r.createElement)("div",{className:_e()({"dataviews-loading":c,"dataviews-no-results":!b&&!c}),id:E},!b&&(0,r.createElement)("p",null,c?(0,r.createElement)(l.Spinner,null):(0,A.__)("No results"))))},icon:Ee},{type:ge,label:(0,A.__)("Grid"),component:function({data:e,fields:t,view:n,actions:a,isLoading:o,getItemId:i,selection:s,onSelectionChange:c}){const u=t.find((e=>e.id===n.layout.mediaField)),d=t.find((e=>e.id===n.layout.primaryField)),{visibleFields:m,badgeFields:p}=t.reduce(((e,t)=>(n.hiddenFields.includes(t.id)||[n.layout.mediaField,n.layout.primaryField].includes(t.id)||e[n.layout.badgeFields?.includes(t.id)?"badgeFields":"visibleFields"].push(t),e)),{visibleFields:[],badgeFields:[]}),f=!!e?.length;return(0,r.createElement)(r.Fragment,null,f&&(0,r.createElement)(l.__experimentalGrid,{gap:6,columns:2,alignment:"top",className:"dataviews-view-grid","aria-busy":o},e.map((t=>(0,r.createElement)(it,{key:i(t),selection:s,data:e,onSelectionChange:c,getItemId:i,item:t,actions:a,mediaField:u,primaryField:d,visibleFields:m,badgeFields:p,columnFields:n.layout.columnFields})))),!f&&(0,r.createElement)("div",{className:_e()({"dataviews-loading":o,"dataviews-no-results":!o})},(0,r.createElement)("p",null,o?(0,r.createElement)(l.Spinner,null):(0,A.__)("No results"))))},icon:we},{type:"list",label:(0,A.__)("List"),component:function e({view:t,fields:n,data:a,isLoading:o,getItemId:s,onSelectionChange:c,selection:u,id:d}){const m=(0,lt.useInstanceId)(e,"view-list",d),p=a?.findLast((e=>u.includes(e.id))),f=n.find((e=>e.id===t.layout.mediaField)),h=n.find((e=>e.id===t.layout.primaryField)),v=n.filter((e=>!t.hiddenFields.includes(e.id)&&![t.layout.primaryField,t.layout.mediaField].includes(e.id))),g=(0,i.useCallback)((e=>c([e])),[c]),E=(0,i.useCallback)((e=>e?`${m}-${s(e)}`:void 0),[m,s]),w=st({defaultActiveId:E(p)}),y=a?.length;return y?(0,r.createElement)(ct,{id:m,render:(0,r.createElement)("ul",null),className:"dataviews-view-list",role:"grid",store:w},a.map((e=>{const t=E(e);return(0,r.createElement)(mt,{key:t,id:t,item:e,isSelected:e===p,onSelect:g,mediaField:f,primaryField:h,visibleFields:v})}))):(0,r.createElement)("div",{className:_e()({"dataviews-loading":o,"dataviews-no-results":!y&&!o})},!y&&(0,r.createElement)("p",null,o?(0,r.createElement)(l.Spinner,null):(0,A.__)("No results")))},icon:(0,A.isRTL)()?ye:be}],{DropdownMenuV2:ft,DropdownMenuGroupV2:ht,DropdownMenuItemV2:vt,DropdownMenuRadioItemV2:gt,DropdownMenuCheckboxItemV2:Et,DropdownMenuItemLabelV2:wt}=ie(l.privateApis);function yt({view:e,onChangeView:t,supportedLayouts:n}){let a=pt;if(n&&(a=a.filter((e=>n.includes(e.type)))),1===a.length)return null;const o=a.find((t=>e.type===t.type));return(0,r.createElement)(ft,{trigger:(0,r.createElement)(vt,{suffix:(0,r.createElement)("span",{"aria-hidden":"true"},o.label)},(0,r.createElement)(wt,null,(0,A.__)("Layout")))},a.map((n=>(0,r.createElement)(gt,{key:n.type,value:n.type,name:"view-actions-available-view",checked:n.type===e.type,hideOnClick:!0,onChange:n=>{t({...e,type:n.target.value})}},(0,r.createElement)(wt,null,n.label)))))}const bt=[10,20,50,100];function Ct({view:e,onChangeView:t}){return(0,r.createElement)(ft,{trigger:(0,r.createElement)(vt,{suffix:(0,r.createElement)("span",{"aria-hidden":"true"},e.perPage)},(0,r.createElement)(wt,null,(0,A.__)("Items per page")))},bt.map((n=>(0,r.createElement)(gt,{key:n,value:n,name:"view-actions-page-size",checked:e.perPage===n,onChange:()=>{t({...e,perPage:n,page:1})}},(0,r.createElement)(wt,null,n)))))}function _t({view:e,onChangeView:t,fields:n}){const a=n.filter((t=>!1!==t.enableHiding&&t.id!==e.layout.mediaField));return a?.length?(0,r.createElement)(ft,{trigger:(0,r.createElement)(vt,null,(0,r.createElement)(wt,null,(0,A.__)("Fields")))},a?.map((n=>(0,r.createElement)(Et,{key:n.id,value:n.id,checked:!e.hiddenFields?.includes(n.id),onChange:()=>{t({...e,hiddenFields:e.hiddenFields?.includes(n.id)?e.hiddenFields.filter((e=>e!==n.id)):[...e.hiddenFields||[],n.id]})}},(0,r.createElement)(wt,null,n.header))))):null}function St({fields:e,view:t,onChangeView:n}){const a=e.filter((e=>!1!==e.enableSorting));if(!a?.length)return null;const o=e.find((e=>e.id===t.sort?.field));return(0,r.createElement)(ft,{trigger:(0,r.createElement)(vt,{suffix:(0,r.createElement)("span",{"aria-hidden":"true"},o?.header)},(0,r.createElement)(wt,null,(0,A.__)("Sort by")))},a?.map((e=>{const a=t.sort?.direction;return(0,r.createElement)(ft,{key:e.id,trigger:(0,r.createElement)(vt,null,(0,r.createElement)(wt,null,e.header)),style:{minWidth:"220px"}},Object.entries(he).map((([i,l])=>{const s=void 0!==o&&a===i&&e.id===o.id,c=`${e.id}-${i}`;return(0,r.createElement)(gt,{key:c,name:"view-actions-sorting",value:c,checked:s,onChange:()=>{n({...t,sort:{field:e.id,direction:i}})}},(0,r.createElement)(wt,null,l.label))})))})))}const kt=(0,i.memo)((function({fields:e,view:t,onChangeView:n,supportedLayouts:a}){return(0,r.createElement)(ft,{trigger:(0,r.createElement)(l.Button,{size:"compact",icon:re,label:(0,A.__)("View options")})},(0,r.createElement)(ht,null,(0,r.createElement)(yt,{view:t,onChangeView:n,supportedLayouts:a}),(0,r.createElement)(St,{fields:e,view:t,onChangeView:n}),(0,r.createElement)(_t,{fields:e,view:t,onChangeView:n}),(0,r.createElement)(Ct,{view:t,onChangeView:n})))})),It=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z"}));var xt={id:null};function Dt(e,t){return t&&e.item(t)||null}var Tt=Symbol("FOCUS_SILENTLY");function Ot(e,t,n){if(!t)return!1;if(t===n)return!1;const r=e.item(t.id);return!(!r||n&&r.element===n)}var At=Object.defineProperty,Pt=Object.defineProperties,Mt=Object.getOwnPropertyDescriptors,Ft=Object.getOwnPropertySymbols,Nt=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable,Lt=(e,t,n)=>t in e?At(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Rt=(e,t)=>{for(var n in t||(t={}))Nt.call(t,n)&&Lt(e,n,t[n]);if(Ft)for(var n of Ft(t))Vt.call(t,n)&&Lt(e,n,t[n]);return e},zt=(e,t)=>Pt(e,Mt(t)),Bt=(e,t)=>{var n={};for(var r in e)Nt.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Ft)for(var r of Ft(e))t.indexOf(r)<0&&Vt.call(e,r)&&(n[r]=e[r]);return n},Ht=Object.defineProperty,jt=Object.defineProperties,Kt=Object.getOwnPropertyDescriptors,Gt=Object.getOwnPropertySymbols,Ut=Object.prototype.hasOwnProperty,Wt=Object.prototype.propertyIsEnumerable,qt=(e,t,n)=>t in e?Ht(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Yt=(e,t)=>{for(var n in t||(t={}))Ut.call(t,n)&&qt(e,n,t[n]);if(Gt)for(var n of Gt(t))Wt.call(t,n)&&qt(e,n,t[n]);return e},$t=(e,t)=>jt(e,Kt(t)),Qt=(e,t)=>{var n={};for(var r in e)Ut.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Gt)for(var r of Gt(e))t.indexOf(r)<0&&Wt.call(e,r)&&(n[r]=e[r]);return n};function Xt(...e){}function Zt(e,t){return"function"==typeof Object.hasOwn?Object.hasOwn(e,t):Object.prototype.hasOwnProperty.call(e,t)}function Jt(...e){return(...t)=>{for(const n of e)"function"==typeof n&&n(...t)}}function en(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}function tn(e){return e}function nn(e,t){if(!e){if("string"!=typeof t)throw new Error("Invariant failed");throw new Error(t)}}function rn(e){return e.disabled||!0===e["aria-disabled"]||"true"===e["aria-disabled"]}function an(...e){for(const t of e)if(void 0!==t)return t}var on,ln="undefined"!=typeof window&&!!(null==(on=window.document)?void 0:on.createElement);function sn(e){return e?e.ownerDocument||e:document}function cn(e,t=!1){const{activeElement:n}=sn(e);if(!(null==n?void 0:n.nodeName))return null;if("IFRAME"===n.tagName&&n.contentDocument)return cn(n.contentDocument.body,t);if(t){const e=n.getAttribute("aria-activedescendant");if(e){const t=sn(n).getElementById(e);if(t)return t}}return n}function un(e,t){return e===t||e.contains(t)}function dn(e){const t=e.tagName.toLowerCase();return"button"===t||!("input"!==t||!e.type)&&-1!==mn.indexOf(e.type)}var mn=["button","color","file","image","reset","submit"];function pn(e,t){return"matches"in e?e.matches(t):"msMatchesSelector"in e?e.msMatchesSelector(t):e.webkitMatchesSelector(t)}function fn(e){try{const t=e instanceof HTMLInputElement&&null!==e.selectionStart,n="TEXTAREA"===e.tagName;return t||n||!1}catch(e){return!1}}function hn(e,t){const n=null==e?void 0:e.getAttribute("role");return n&&-1!==["dialog","menu","listbox","tree","grid"].indexOf(n)?n:t}function vn(e,t){var n;const r=hn(e);return r&&null!=(n={menu:"menuitem",listbox:"option",tree:"treeitem",grid:"gridcell"}[r])?n:t}function gn(e){if(!e)return null;if(e.clientHeight&&e.scrollHeight>e.clientHeight){const{overflowY:t}=getComputedStyle(e);if("visible"!==t&&"hidden"!==t)return e}else if(e.clientWidth&&e.scrollWidth>e.clientWidth){const{overflowX:t}=getComputedStyle(e);if("visible"!==t&&"hidden"!==t)return e}return gn(e.parentElement)||document.scrollingElement||document.body}function En(e,...t){/text|search|password|tel|url/i.test(e.type)&&e.setSelectionRange(...t)}function wn(){return!!ln&&/mac|iphone|ipad|ipod/i.test(navigator.platform)}function yn(){return ln&&wn()&&/apple/i.test(navigator.vendor)}function bn(e){return Boolean(e.currentTarget&&!un(e.currentTarget,e.target))}function Cn(e){return e.target===e.currentTarget}function Sn(e,t){const n=new FocusEvent("blur",t),r=e.dispatchEvent(n),a=$t(Yt({},t),{bubbles:!0});return e.dispatchEvent(new FocusEvent("focusout",a)),r}function kn(e,t){const n=new MouseEvent("click",t);return e.dispatchEvent(n)}function In(e,t){const n=t||e.currentTarget,r=e.relatedTarget;return!r||!un(n,r)}function xn(e,t,n){const r=requestAnimationFrame((()=>{e.removeEventListener(t,a,!0),n()})),a=()=>{cancelAnimationFrame(r),n()};return e.addEventListener(t,a,{once:!0,capture:!0}),r}function Dn(e,t,n,r=window){const a=[];try{r.document.addEventListener(e,t,n);for(const o of Array.from(r.frames))a.push(Dn(e,t,n,o))}catch(e){}return()=>{try{r.document.removeEventListener(e,t,n)}catch(e){}a.forEach((e=>e()))}}var Tn=Rt({},a),On=Tn.useId,An=(Tn.useDeferredValue,Tn.useInsertionEffect),Pn=ln?r.useLayoutEffect:r.useEffect;function Mn(e){const t=(0,r.useRef)((()=>{throw new Error("Cannot call an event handler while rendering.")}));return An?An((()=>{t.current=e})):t.current=e,(0,r.useCallback)(((...e)=>{var n;return null==(n=t.current)?void 0:n.call(t,...e)}),[])}function Fn(...e){return(0,r.useMemo)((()=>{if(e.some(Boolean))return t=>{e.forEach((e=>function(e,t){"function"==typeof e?e(t):e&&(e.current=t)}(e,t)))}}),e)}function Nn(e){if(On){const t=On();return e||t}const[t,n]=(0,r.useState)(e);return Pn((()=>{if(e||t)return;const r=Math.random().toString(36).substr(2,6);n(`id-${r}`)}),[e,t]),e||t}function Vn(e,t){const n=e=>{if("string"==typeof e)return e},[a,o]=(0,r.useState)((()=>n(t)));return Pn((()=>{const r=e&&"current"in e?e.current:e;o((null==r?void 0:r.tagName.toLowerCase())||n(t))}),[e,t]),a}function Ln(e,t){const n=(0,r.useRef)(!1);(0,r.useEffect)((()=>{if(n.current)return e();n.current=!0}),t),(0,r.useEffect)((()=>()=>{n.current=!1}),[])}function Rn(e){return Mn("function"==typeof e?e:()=>e)}function zn(e,t,n=[]){const a=(0,r.useCallback)((n=>(e.wrapElement&&(n=e.wrapElement(n)),t(n))),[...n,e.wrapElement]);return zt(Rt({},e),{wrapElement:a})}Symbol("setNextState");var Bn=!1,Hn=0,jn=0;function Kn(e){(function(e){const t=e.movementX||e.screenX-Hn,n=e.movementY||e.screenY-jn;return Hn=e.screenX,jn=e.screenY,t||n||!1})(e)&&(Bn=!0)}function Gn(){Bn=!1}var Un=n(848);function Wn(e){return r.forwardRef(((t,n)=>e(Rt({ref:n},t))))}function qn(e){const t=Wn(e);return r.memo(t)}function Yn(e,t){const n=t,{as:a,wrapElement:o,render:i}=n,l=Bt(n,["as","wrapElement","render"]);let s;const c=Fn(t.ref,function(e){return function(e){return!!e&&!!(0,r.isValidElement)(e)&&"ref"in e}(e)?e.ref:null}(i));if(a&&"string"!=typeof a)s=(0,Un.jsx)(a,zt(Rt({},l),{render:i}));else if(r.isValidElement(i)){const e=zt(Rt({},i.props),{ref:c});s=r.cloneElement(i,function(e,t){const n=Rt({},e);for(const r in t){if(!Zt(t,r))continue;if("className"===r){const r="className";n[r]=e[r]?`${e[r]} ${t[r]}`:t[r];continue}if("style"===r){const r="style";n[r]=e[r]?Rt(Rt({},e[r]),t[r]):t[r];continue}const a=t[r];if("function"==typeof a&&r.startsWith("on")){const t=e[r];if("function"==typeof t){n[r]=(...e)=>{a(...e),t(...e)};continue}}n[r]=a}return n}(l,e))}else if(i)s=i(l);else if("function"==typeof t.children){const e=l,{children:n}=e,r=Bt(e,["children"]);s=t.children(r)}else s=a?(0,Un.jsx)(a,Rt({},l)):(0,Un.jsx)(e,Rt({},l));return o?o(s):s}function $n(e){return(t={})=>{const n=e(t),r={};for(const e in n)Zt(n,e)&&void 0!==n[e]&&(r[e]=n[e]);return r}}function Qn(e=[],t=[]){const n=r.createContext(void 0),a=r.createContext(void 0),o=()=>r.useContext(n),i=t=>e.reduceRight(((e,n)=>(0,Un.jsx)(n,zt(Rt({},t),{children:e}))),(0,Un.jsx)(n.Provider,Rt({},t)));return{context:n,scopedContext:a,useContext:o,useScopedContext:(e=!1)=>{const t=r.useContext(a),n=o();return e?t:t||n},useProviderContext:()=>{const e=r.useContext(a),t=o();if(!e||e!==t)return t},ContextProvider:i,ScopedContextProvider:e=>(0,Un.jsx)(i,zt(Rt({},e),{children:t.reduceRight(((t,n)=>(0,Un.jsx)(n,zt(Rt({},e),{children:t}))),(0,Un.jsx)(a.Provider,Rt({},e)))}))}}var Xn=Qn(),Zn=Xn.useContext,Jn=(Xn.useScopedContext,Xn.useProviderContext,Qn([Xn.ContextProvider],[Xn.ScopedContextProvider])),er=Jn.useContext,tr=(Jn.useScopedContext,Jn.useProviderContext),nr=Jn.ContextProvider,rr=Jn.ScopedContextProvider,ar=(0,r.createContext)(void 0),or=(0,r.createContext)(void 0),ir="";function lr(){ir=""}function sr(e,t){var n;const r=(null==(n=e.element)?void 0:n.textContent)||e.children;return!!r&&en(r).trim().toLowerCase().startsWith(t.toLowerCase())}var cr=$n((e=>{var t=e,{store:n,typeahead:a=!0}=t,o=Bt(t,["store","typeahead"]);const i=er();nn(n=n||i,!1);const l=o.onKeyDownCapture,s=(0,r.useRef)(0),c=Mn((e=>{if(null==l||l(e),e.defaultPrevented)return;if(!a)return;if(!n)return;const{items:t,activeId:r}=n.getState();if(!function(e){const t=e.target;return(!t||!fn(t))&&(!(" "!==e.key||!ir.length)||1===e.key.length&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&/^[\p{Letter}\p{Number}]$/u.test(e.key))}(e))return lr();let o=function(e){return e.filter((e=>!e.disabled))}(t);if(!function(e,t){if(Cn(e))return!0;const n=e.target;return!!n&&t.some((e=>e.element===n))}(e,o))return lr();e.preventDefault(),window.clearTimeout(s.current),s.current=window.setTimeout((()=>{ir=""}),500);const i=e.key.toLowerCase();ir+=i,o=function(e,t,n){if(!n)return e;const r=e.find((e=>e.id===n));return r&&sr(r,t)?ir!==t&&sr(r,ir)?e:(ir=t,function(e,t,n=!1){const r=e.findIndex((e=>e.id===t));return[...e.slice(r+1),...n?[xt]:[],...e.slice(0,r)]}(e.filter((e=>sr(e,ir))),n).filter((e=>e.id!==n))):e}(o,i,r);const c=o.find((e=>sr(e,ir)));c?n.move(c.id):lr()}));return zt(Rt({},o),{onKeyDownCapture:c})})),ur=Wn((e=>Yn("div",cr(e))));function dr(e){return!!pn(e,"input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false'])")&&!!function(e){const t=e;return t.offsetWidth>0||t.offsetHeight>0||e.getClientRects().length>0}(e)&&!function(e,t){if("closest"in e)return e.closest(t);do{if(pn(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null}(e,"[inert]")}function mr(e){const t=cn(e);if(!t)return!1;if(t===e)return!0;const n=t.getAttribute("aria-activedescendant");return!!n&&n===e.id}function pr(e){const t=cn(e);if(!t)return!1;if(un(e,t))return!0;const n=t.getAttribute("aria-activedescendant");return!!n&&"id"in e&&(n===e.id||!!e.querySelector(`#${CSS.escape(n)}`))}function fr(e){const t=e.relatedTarget;return(null==t?void 0:t.nodeType)===Node.ELEMENT_NODE?t:null}var hr=Symbol("composite-hover"),vr=$n((e=>{var t=e,{store:n,focusOnHover:a=!0,blurOnHoverEnd:o=!!a}=t,i=Bt(t,["store","focusOnHover","blurOnHoverEnd"]);const l=er();nn(n=n||l,!1);const s=((0,r.useEffect)((()=>{Dn("mousemove",Kn,!0),Dn("mousedown",Gn,!0),Dn("mouseup",Gn,!0),Dn("keydown",Gn,!0),Dn("scroll",Gn,!0)}),[]),Mn((()=>Bn))),c=i.onMouseMove,u=Rn(a),d=Mn((e=>{if(null==c||c(e),!e.defaultPrevented&&s()&&u(e)){if(!pr(e.currentTarget)){const e=null==n?void 0:n.getState().baseElement;e&&!mr(e)&&e.focus()}null==n||n.setActiveId(e.currentTarget.id)}})),m=i.onMouseLeave,p=Rn(o),f=Mn((e=>{var t;null==m||m(e),e.defaultPrevented||s()&&(function(e){const t=fr(e);return!!t&&un(e.currentTarget,t)}(e)||function(e){let t=fr(e);if(!t)return!1;do{if(Zt(t,hr)&&t[hr])return!0;t=t.parentElement}while(t);return!1}(e)||u(e)&&p(e)&&(null==n||n.setActiveId(null),null==(t=null==n?void 0:n.getState().baseElement)||t.focus()))})),h=(0,r.useCallback)((e=>{e&&(e[hr]=!0)}),[]);return zt(Rt({},i),{ref:Fn(h,i.ref),onMouseMove:d,onMouseLeave:f})})),gr=qn((e=>Yn("div",vr(e))));function Er(e,t){const n=e.__unstableInternals;return nn(n,"Invalid store"),n[t]}function wr(e,...t){let n=e,r=n,a=Symbol(),o=Xt;const i=new Set,l=new Set,s=new Set,c=new Set,u=new Set,d=new WeakMap,m=new WeakMap,p=(e,t,n=c)=>(n.add(t),m.set(t,e),()=>{var e;null==(e=d.get(t))||e(),d.delete(t),m.delete(t),n.delete(t)}),f=(e,o,i=!1)=>{if(!Zt(n,e))return;const s=(p=o,f=n[e],function(e){return"function"==typeof e}(p)?p(function(e){return"function"==typeof e}(f)?f():f):p);var p,f;if(s===n[e])return;i||t.forEach((t=>{var n;null==(n=null==t?void 0:t.setState)||n.call(t,e,s)}));const h=n;n=$t(Yt({},n),{[e]:s});const v=Symbol();a=v,l.add(e);const g=(t,r,a)=>{var o;const i=m.get(t);i&&!i.some((t=>a?a.has(t):t===e))||(null==(o=d.get(t))||o(),d.set(t,t(n,r)))};c.forEach((e=>{g(e,h)})),queueMicrotask((()=>{if(a!==v)return;const e=n;u.forEach((e=>{g(e,r,l)})),r=e,l.clear()}))},h={getState:()=>n,setState:f,__unstableInternals:{setup:e=>(s.add(e),()=>s.delete(e)),init:()=>{const e=i.size,r=Symbol();i.add(r);const a=()=>{i.delete(r),i.size||o()};if(e)return a;const l=(c=n,Object.keys(c)).map((e=>Jt(...t.map((t=>{var n;const r=null==(n=null==t?void 0:t.getState)?void 0:n.call(t);if(r&&Zt(r,e))return _r(t,[e],(t=>{f(e,t[e],!0)}))})))));var c;const u=[];s.forEach((e=>u.push(e())));const d=t.map(br);return o=Jt(...l,...u,...d),a},subscribe:(e,t)=>p(e,t),sync:(e,t)=>(d.set(t,t(n,n)),p(e,t)),batch:(e,t)=>(d.set(t,t(n,r)),p(e,t,u)),pick:e=>wr(function(e,t){const n={};for(const r of t)Zt(e,r)&&(n[r]=e[r]);return n}(n,e),h),omit:e=>wr(function(e,t){const n=Yt({},e);for(const e of t)Zt(n,e)&&delete n[e];return n}(n,e),h)}};return h}function yr(e,...t){if(e)return Er(e,"setup")(...t)}function br(e,...t){if(e)return Er(e,"init")(...t)}function Cr(e,...t){if(e)return Er(e,"subscribe")(...t)}function _r(e,...t){if(e)return Er(e,"sync")(...t)}function Sr(e,...t){if(e)return Er(e,"batch")(...t)}function kr(e,...t){if(e)return Er(e,"omit")(...t)}function Ir(...e){const t=e.reduce(((e,t)=>{var n;const r=null==(n=null==t?void 0:t.getState)?void 0:n.call(t);return r?Yt(Yt({},e),r):e}),{});return wr(t,...e)}var xr=n(888),{useSyncExternalStore:Dr}=xr,Tr=()=>()=>{};function Or(e,t=tn){const n=r.useCallback((t=>e?Cr(e,null,t):Tr()),[e]),a=()=>{const n="string"==typeof t?t:null,r="function"==typeof t?t:null,a=null==e?void 0:e.getState();return r?r(a):a&&n&&Zt(a,n)?a[n]:void 0};return Dr(n,a,a)}function Ar(e,t,n,a){const o=Zt(t,n)?t[n]:void 0,i=a?t[a]:void 0,l=function(e){const t=(0,r.useRef)(e);return Pn((()=>{t.current=e})),t}({value:o,setValue:i});Pn((()=>_r(e,[n],((e,t)=>{const{value:r,setValue:a}=l.current;a&&e[n]!==t[n]&&e[n]!==r&&a(e[n])}))),[e,n]),Pn((()=>{if(void 0!==o)return e.setState(n,o),Sr(e,[n],(()=>{void 0!==o&&e.setState(n,o)}))}))}function Pr(e,t,n){return Ar(e=function(e,t,n){return Ln(t,[n.store]),Ar(e,n,"items","setItems"),e}(e,t,n),n,"activeId","setActiveId"),Ar(e,n,"includesBaseElement"),Ar(e,n,"virtualFocus"),Ar(e,n,"orientation"),Ar(e,n,"rtl"),Ar(e,n,"focusLoop"),Ar(e,n,"focusWrap"),Ar(e,n,"focusShift"),e}function Mr(e,t,n){return function(e,t,n){return Ln(t,[n.store,n.disclosure]),Ar(e,n,"open","setOpen"),Ar(e,n,"mounted","setMounted"),Ar(e,n,"animated"),e}(e,t,n)}function Fr(e={}){var t;e.store;const n=null==(t=e.store)?void 0:t.getState(),r=an(e.items,null==n?void 0:n.items,e.defaultItems,[]),a=new Map(r.map((e=>[e.id,e]))),o={items:r,renderedItems:an(null==n?void 0:n.renderedItems,[])},i=function(e){return null==e?void 0:e.__unstablePrivateStore}(e.store),l=wr({items:r,renderedItems:o.renderedItems},i),s=wr(o,e.store),c=e=>{const t=function(e){const t=e.map(((e,t)=>[t,e]));let n=!1;return t.sort((([e,t],[r,a])=>{const o=t.element,i=a.element;return o===i?0:o&&i?function(e,t){return Boolean(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}(o,i)?(e>r&&(n=!0),-1):(e<r&&(n=!0),1):0})),n?t.map((([e,t])=>t)):e}(e);l.setState("renderedItems",t),s.setState("renderedItems",t)};yr(s,(()=>br(l))),yr(l,(()=>Sr(l,["items"],(e=>{s.setState("items",e.items)})))),yr(l,(()=>Sr(l,["renderedItems"],(e=>{let t=!0,n=requestAnimationFrame((()=>{const{renderedItems:t}=s.getState();e.renderedItems!==t&&c(e.renderedItems)}));if("function"!=typeof IntersectionObserver)return()=>cancelAnimationFrame(n);const r=function(e){var t;const n=e.find((e=>!!e.element)),r=[...e].reverse().find((e=>!!e.element));let a=null==(t=null==n?void 0:n.element)?void 0:t.parentElement;for(;a&&(null==r?void 0:r.element);){if(r&&a.contains(r.element))return a;a=a.parentElement}return sn(a).body}(e.renderedItems),a=new IntersectionObserver((()=>{t?t=!1:(cancelAnimationFrame(n),n=requestAnimationFrame((()=>c(e.renderedItems))))}),{root:r});for(const t of e.renderedItems)t.element&&a.observe(t.element);return()=>{cancelAnimationFrame(n),a.disconnect()}}))));const u=(e,t,n=!1)=>{let r;return t((t=>{const n=t.findIndex((({id:t})=>t===e.id)),o=t.slice();if(-1!==n){r=t[n];const i=Yt(Yt({},r),e);o[n]=i,a.set(e.id,i)}else o.push(e),a.set(e.id,e);return o})),()=>{t((t=>{if(!r)return n&&a.delete(e.id),t.filter((({id:t})=>t!==e.id));const o=t.findIndex((({id:t})=>t===e.id));if(-1===o)return t;const i=t.slice();return i[o]=r,a.set(e.id,r),i}))}},d=e=>u(e,(e=>l.setState("items",e)),!0);return $t(Yt({},s),{registerItem:d,renderItem:e=>Jt(d(e),u(e,(e=>l.setState("renderedItems",e)))),item:e=>{if(!e)return null;let t=a.get(e);if(!t){const{items:n}=s.getState();t=n.find((t=>t.id===e)),t&&a.set(e,t)}return t||null},__unstablePrivateStore:l})}function Nr(e){const t=[];for(const n of e)t.push(...n);return t}function Vr(e){return e.slice().reverse()}var Lr={id:null};function Rr(e,t){return e.find((e=>t?!e.disabled&&e.id!==t:!e.disabled))}function zr(e,t){return e.filter((e=>e.rowId===t))}function Br(e){const t=[];for(const n of e){const e=t.find((e=>{var t;return(null==(t=e[0])?void 0:t.rowId)===n.rowId}));e?e.push(n):t.push([n])}return t}function Hr(e){let t=0;for(const{length:n}of e)n>t&&(t=n);return t}function jr(e,t,n){const r=Hr(e);for(const a of e)for(let e=0;e<r;e+=1){const r=a[e];if(!r||n&&r.disabled){const r=0===e&&n?Rr(a):a[e-1];a[e]=r&&t!==r.id&&n?r:{id:"__EMPTY_ITEM__",disabled:!0,rowId:null==r?void 0:r.rowId}}}return e}function Kr(e){const t=Br(e),n=Hr(t),r=[];for(let e=0;e<n;e+=1)for(const n of t){const t=n[e];t&&r.push($t(Yt({},t),{rowId:t.rowId?`${e}`:void 0}))}return r}var Gr=yn()&&ln&&!!navigator.maxTouchPoints;function Ur(e={}){var t;e.store;const n=null==(t=e.store)?void 0:t.getState(),r=an(e.activeId,null==n?void 0:n.activeId,e.defaultActiveId,null),a=function(e={}){var t;const n=null==(t=e.store)?void 0:t.getState(),r=Fr(e),a=an(e.activeId,null==n?void 0:n.activeId,e.defaultActiveId),o=wr($t(Yt({},r.getState()),{activeId:a,baseElement:an(null==n?void 0:n.baseElement,null),includesBaseElement:an(e.includesBaseElement,null==n?void 0:n.includesBaseElement,null===a),moves:an(null==n?void 0:n.moves,0),orientation:an(e.orientation,null==n?void 0:n.orientation,"both"),rtl:an(e.rtl,null==n?void 0:n.rtl,!1),virtualFocus:an(e.virtualFocus,null==n?void 0:n.virtualFocus,!1),focusLoop:an(e.focusLoop,null==n?void 0:n.focusLoop,!1),focusWrap:an(e.focusWrap,null==n?void 0:n.focusWrap,!1),focusShift:an(e.focusShift,null==n?void 0:n.focusShift,!1)}),r,e.store);yr(o,(()=>_r(o,["renderedItems","activeId"],(e=>{o.setState("activeId",(t=>{var n;return void 0!==t?t:null==(n=Rr(e.renderedItems))?void 0:n.id}))}))));const i=(e,t,n,r)=>{var a,i;const{activeId:l,rtl:s,focusLoop:c,focusWrap:u,includesBaseElement:d}=o.getState(),m=s&&"vertical"!==t?Vr(e):e;if(null==l)return null==(a=Rr(m))?void 0:a.id;const p=m.find((e=>e.id===l));if(!p)return null==(i=Rr(m))?void 0:i.id;const f=!!p.rowId,h=m.indexOf(p),v=m.slice(h+1),g=zr(v,p.rowId);if(void 0!==r){const e=function(e,t){return e.filter((e=>t?!e.disabled&&e.id!==t:!e.disabled))}(g,l),t=e.slice(r)[0]||e[e.length-1];return null==t?void 0:t.id}const E=function(e){return"vertical"===e?"horizontal":"horizontal"===e?"vertical":void 0}(f?t||"horizontal":t),w=c&&c!==E,y=f&&u&&u!==E;if(n=n||!f&&w&&d,w){const e=function(e,t,n=!1){const r=e.findIndex((e=>e.id===t));return[...e.slice(r+1),...n?[Lr]:[],...e.slice(0,r)]}(y&&!n?m:zr(m,p.rowId),l,n),t=Rr(e,l);return null==t?void 0:t.id}if(y){const e=Rr(n?g:v,l);return n?(null==e?void 0:e.id)||null:null==e?void 0:e.id}const b=Rr(g,l);return!b&&n?null:null==b?void 0:b.id};return $t(Yt(Yt({},r),o),{setBaseElement:e=>o.setState("baseElement",e),setActiveId:e=>o.setState("activeId",e),move:e=>{void 0!==e&&(o.setState("activeId",e),o.setState("moves",(e=>e+1)))},first:()=>{var e;return null==(e=Rr(o.getState().renderedItems))?void 0:e.id},last:()=>{var e;return null==(e=Rr(Vr(o.getState().renderedItems)))?void 0:e.id},next:e=>{const{renderedItems:t,orientation:n}=o.getState();return i(t,n,!1,e)},previous:e=>{var t;const{renderedItems:n,orientation:r,includesBaseElement:a}=o.getState(),l=!(null==(t=Rr(n))?void 0:t.rowId)&&a;return i(Vr(n),r,l,e)},down:e=>{const{activeId:t,renderedItems:n,focusShift:r,focusLoop:a,includesBaseElement:l}=o.getState(),s=r&&!e,c=Kr(Nr(jr(Br(n),t,s)));return i(c,"vertical",a&&"horizontal"!==a&&l,e)},up:e=>{const{activeId:t,renderedItems:n,focusShift:r,includesBaseElement:a}=o.getState(),l=r&&!e,s=Kr(Vr(Nr(jr(Br(n),t,l))));return i(s,"vertical",a,e)}})}($t(Yt({},e),{activeId:r,includesBaseElement:an(e.includesBaseElement,null==n?void 0:n.includesBaseElement,!0),orientation:an(e.orientation,null==n?void 0:n.orientation,"vertical"),focusLoop:an(e.focusLoop,null==n?void 0:n.focusLoop,!0),focusWrap:an(e.focusWrap,null==n?void 0:n.focusWrap,!0),virtualFocus:an(e.virtualFocus,null==n?void 0:n.virtualFocus,!Gr)})),o=function(e={}){var t=e,{popover:n}=t,r=Qt(t,["popover"]);const a=Ir(r.store,kr(n,["arrowElement","anchorElement","contentElement","popoverElement","disclosureElement"])),o=null==a?void 0:a.getState(),i=function(e={}){return function(e={}){const t=Ir(e.store,kr(e.disclosure,["contentElement","disclosureElement"])),n=null==t?void 0:t.getState(),r=an(e.open,null==n?void 0:n.open,e.defaultOpen,!1),a=an(e.animated,null==n?void 0:n.animated,!1),o=wr({open:r,animated:a,animating:!!a&&r,mounted:r,contentElement:an(null==n?void 0:n.contentElement,null),disclosureElement:an(null==n?void 0:n.disclosureElement,null)},t);return yr(o,(()=>_r(o,["animated","animating"],(e=>{e.animated||o.setState("animating",!1)})))),yr(o,(()=>Cr(o,["open"],(()=>{o.getState().animated&&o.setState("animating",!0)})))),yr(o,(()=>_r(o,["open","animating"],(e=>{o.setState("mounted",e.open||e.animating)})))),$t(Yt({},o),{setOpen:e=>o.setState("open",e),show:()=>o.setState("open",!0),hide:()=>o.setState("open",!1),toggle:()=>o.setState("open",(e=>!e)),stopAnimation:()=>o.setState("animating",!1),setContentElement:e=>o.setState("contentElement",e),setDisclosureElement:e=>o.setState("disclosureElement",e)})}(e)}($t(Yt({},r),{store:a})),l=an(r.placement,null==o?void 0:o.placement,"bottom"),s=wr($t(Yt({},i.getState()),{placement:l,currentPlacement:l,anchorElement:an(null==o?void 0:o.anchorElement,null),popoverElement:an(null==o?void 0:o.popoverElement,null),arrowElement:an(null==o?void 0:o.arrowElement,null),rendered:Symbol("rendered")}),i,a);return $t(Yt(Yt({},i),s),{setAnchorElement:e=>s.setState("anchorElement",e),setPopoverElement:e=>s.setState("popoverElement",e),setArrowElement:e=>s.setState("arrowElement",e),render:()=>s.setState("rendered",Symbol("rendered"))})}($t(Yt({},e),{placement:an(e.placement,null==n?void 0:n.placement,"bottom-start")})),i=an(e.value,null==n?void 0:n.value,e.defaultValue,""),l=an(e.selectedValue,null==n?void 0:n.selectedValue,e.defaultSelectedValue,""),s=Array.isArray(l),c=wr($t(Yt(Yt({},a.getState()),o.getState()),{value:i,selectedValue:l,resetValueOnSelect:an(e.resetValueOnSelect,null==n?void 0:n.resetValueOnSelect,s),resetValueOnHide:an(e.resetValueOnHide,null==n?void 0:n.resetValueOnHide,s),activeValue:null==n?void 0:n.activeValue}),a,o,e.store);return yr(c,(()=>_r(c,["resetValueOnHide","mounted"],(e=>{e.resetValueOnHide&&(e.mounted||c.setState("value",i))})))),yr(c,(()=>_r(c,["resetValueOnSelect","selectedValue"],(e=>{e.resetValueOnSelect&&c.setState("value",i)})))),yr(c,(()=>Sr(c,["mounted"],(e=>{e.mounted||(c.setState("activeId",r),c.setState("moves",0))})))),yr(c,(()=>_r(c,["moves","activeId"],((e,t)=>{e.moves===t.moves&&c.setState("activeValue",void 0)})))),yr(c,(()=>Sr(c,["moves","renderedItems"],((e,t)=>{if(e.moves===t.moves)return;const{activeId:n}=c.getState(),r=a.item(n);c.setState("activeValue",null==r?void 0:r.value)})))),$t(Yt(Yt(Yt({},o),a),c),{setValue:e=>c.setState("value",e),setSelectedValue:e=>c.setState("selectedValue",e)})}function Wr(e={}){const[t,n]=function(e,t){const[n,a]=r.useState((()=>e(t)));Pn((()=>br(n)),[n]);const o=r.useCallback((e=>Or(n,e)),[n]);return[r.useMemo((()=>zt(Rt({},n),{useState:o})),[n,o]),Mn((()=>{a((n=>e(Rt(Rt({},t),n.getState()))))}))]}(Ur,e);return function(e,t,n){return Ar(e=Pr(e=function(e,t,n){return Ln(t,[n.popover]),Ar(e=Mr(e,t,n),n,"placement"),e}(e,t,n),t,n),n,"value","setValue"),Ar(e,n,"selectedValue","setSelectedValue"),Ar(e,n,"resetValueOnHide"),Ar(e,n,"resetValueOnSelect"),e}(t,n,e)}var qr=Qn(),Yr=(qr.useContext,qr.useScopedContext,qr.useProviderContext),$r=Qn([qr.ContextProvider],[qr.ScopedContextProvider]),Qr=($r.useContext,$r.useScopedContext,$r.useProviderContext,$r.ContextProvider),Xr=$r.ScopedContextProvider,Zr=((0,r.createContext)(void 0),(0,r.createContext)(void 0),Qn([Qr],[Xr])),Jr=(Zr.useContext,Zr.useScopedContext,Zr.useProviderContext),ea=Zr.ContextProvider,ta=Zr.ScopedContextProvider,na=Qn([ea,nr],[ta,rr]),ra=(na.useContext,na.useScopedContext),aa=na.useProviderContext,oa=na.ContextProvider,ia=na.ScopedContextProvider,la=(0,r.createContext)(void 0),sa=(0,r.createContext)(!1);function ca(e={}){const t=Wr(e);return(0,Un.jsx)(oa,{value:t,children:e.children})}var ua=$n((e=>{var t=e,{store:n}=t,r=Bt(t,["store"]);const a=aa();nn(n=n||a,!1);const o=n.useState((e=>{var t;return null==(t=e.baseElement)?void 0:t.id}));return Rt({htmlFor:o},r)})),da=qn((e=>Yn("label",ua(e)))),ma=$n((e=>{var t=e,{store:n}=t,r=Bt(t,["store"]);const a=Jr();return n=n||a,zt(Rt({},r),{ref:Fn(null==n?void 0:n.setAnchorElement,r.ref)})}));Wn((e=>Yn("div",ma(e))));var pa=(0,r.createContext)(!0),fa=yn(),ha=["text","search","url","tel","email","password","number","date","month","week","time","datetime","datetime-local"];function va(e){return!("input"!==e.tagName.toLowerCase()||!e.type||"radio"!==e.type&&"checkbox"!==e.type)}function ga(e,t,n,r,a){return e?t?n&&!r?-1:void 0:n?a:a||0:a}function Ea(e,t){return Mn((n=>{null==e||e(n),n.defaultPrevented||t&&(n.stopPropagation(),n.preventDefault())}))}var wa=!0;function ya(e){const t=e.target;t&&"hasAttribute"in t&&(t.hasAttribute("data-focus-visible")||(wa=!1))}function ba(e){e.metaKey||e.ctrlKey||e.altKey||(wa=!0)}var Ca=$n((e=>{var t=e,{focusable:n=!0,accessibleWhenDisabled:a,autoFocus:o,onFocusVisible:i}=t,l=Bt(t,["focusable","accessibleWhenDisabled","autoFocus","onFocusVisible"]);const s=(0,r.useRef)(null);(0,r.useEffect)((()=>{n&&(Dn("mousedown",ya,!0),Dn("keydown",ba,!0))}),[n]),fa&&(0,r.useEffect)((()=>{if(!n)return;const e=s.current;if(!e)return;if(!va(e))return;const t=function(e){return"labels"in e?e.labels:null}(e);if(!t)return;const r=()=>queueMicrotask((()=>e.focus()));return t.forEach((e=>e.addEventListener("mouseup",r))),()=>{t.forEach((e=>e.removeEventListener("mouseup",r)))}}),[n]);const c=n&&rn(l),u=!!c&&!a,[d,m]=(0,r.useState)(!1);(0,r.useEffect)((()=>{n&&u&&d&&m(!1)}),[n,u,d]),(0,r.useEffect)((()=>{if(!n)return;if(!d)return;const e=s.current;if(!e)return;if("undefined"==typeof IntersectionObserver)return;const t=new IntersectionObserver((()=>{dr(e)||m(!1)}));return t.observe(e),()=>t.disconnect()}),[n,d]);const p=Ea(l.onKeyPressCapture,c),f=Ea(l.onMouseDownCapture,c),h=Ea(l.onClickCapture,c),v=l.onMouseDown,g=Mn((e=>{if(null==v||v(e),e.defaultPrevented)return;if(!n)return;const t=e.currentTarget;if(!fa)return;if(bn(e))return;if(!dn(t)&&!va(t))return;let r=!1;const a=()=>{r=!0};t.addEventListener("focusin",a,{capture:!0,once:!0}),xn(t,"mouseup",(()=>{t.removeEventListener("focusin",a,!0),r||function(e){!pr(e)&&dr(e)&&e.focus()}(t)}))})),E=(e,t)=>{if(t&&(e.currentTarget=t),!n)return;const r=e.currentTarget;r&&mr(r)&&(null==i||i(e),e.defaultPrevented||m(!0))},w=l.onKeyDownCapture,y=Mn((e=>{if(null==w||w(e),e.defaultPrevented)return;if(!n)return;if(d)return;if(e.metaKey)return;if(e.altKey)return;if(e.ctrlKey)return;if(!Cn(e))return;const t=e.currentTarget;queueMicrotask((()=>E(e,t)))})),b=l.onFocusCapture,C=Mn((e=>{if(null==b||b(e),e.defaultPrevented)return;if(!n)return;if(!Cn(e))return void m(!1);const t=e.currentTarget,r=()=>E(e,t);wa||function(e){const{tagName:t,readOnly:n,type:r}=e;return"TEXTAREA"===t&&!n||"SELECT"===t&&!n||("INPUT"!==t||n?!!e.isContentEditable:ha.includes(r))}(e.target)?queueMicrotask(r):function(e){return"combobox"===e.getAttribute("role")&&!!e.dataset.name}(e.target)?xn(e.target,"focusout",r):m(!1)})),_=l.onBlur,S=Mn((e=>{null==_||_(e),n&&In(e)&&m(!1)})),k=(0,r.useContext)(pa),I=Mn((e=>{n&&o&&e&&k&&queueMicrotask((()=>{mr(e)||dr(e)&&e.focus()}))})),x=Vn(s,l.as),D=n&&function(e){return!e||"button"===e||"input"===e||"select"===e||"textarea"===e||"a"===e}(x),T=n&&function(e){return!e||"button"===e||"input"===e||"select"===e||"textarea"===e}(x),O=u?Rt({pointerEvents:"none"},l.style):l.style;return zt(Rt({"data-focus-visible":n&&d?"":void 0,"data-autofocus":!!o||void 0,"aria-disabled":!!c||void 0},l),{ref:Fn(s,I,l.ref),style:O,tabIndex:ga(n,u,D,T,l.tabIndex),disabled:!(!T||!u)||void 0,contentEditable:c?void 0:l.contentEditable,onKeyPressCapture:p,onClickCapture:h,onMouseDownCapture:f,onMouseDown:g,onKeyDownCapture:y,onFocusCapture:C,onBlur:S})}));function _a(e,t,n){return Mn((r=>{var a;if(null==t||t(r),r.defaultPrevented)return;if(r.isPropagationStopped())return;if(!Cn(r))return;if(function(e){return"Shift"===e.key||"Control"===e.key||"Alt"===e.key||"Meta"===e.key}(r))return;if(function(e){const t=e.target;return!(t&&!fn(t)||1!==e.key.length||e.ctrlKey||e.metaKey)}(r))return;const o=e.getState(),i=null==(a=Dt(e,o.activeId))?void 0:a.element;if(!i)return;const l=r,{view:s}=l,c=Bt(l,["view"]);i!==(null==n?void 0:n.current)&&i.focus(),function(e,t,n){const r=new KeyboardEvent(t,n);return e.dispatchEvent(r)}(i,r.type,c)||r.preventDefault(),r.currentTarget.contains(i)&&r.stopPropagation()}))}Wn((e=>Yn("div",e=Ca(e))));var Sa=$n((e=>{var t=e,{store:n,composite:a=!0,focusOnMove:o=a,moveOnKeyPress:i=!0}=t,l=Bt(t,["store","composite","focusOnMove","moveOnKeyPress"]);const s=tr();nn(n=n||s,!1);const c=(0,r.useRef)(null),u=function(e){const[t,n]=(0,r.useState)(!1),a=(0,r.useCallback)((()=>n(!0)),[]),o=e.useState((t=>Dt(e,t.activeId)));return(0,r.useEffect)((()=>{const e=null==o?void 0:o.element;t&&e&&(n(!1),e.focus({preventScroll:!0}))}),[o,t]),a}(n),d=n.useState("moves");(0,r.useEffect)((()=>{var e;if(!n)return;if(!d)return;if(!a)return;if(!o)return;const{activeId:t}=n.getState(),r=null==(e=Dt(n,t))?void 0:e.element;var i;r&&("scrollIntoView"in(i=r)?(i.focus({preventScroll:!0}),i.scrollIntoView(Yt({block:"nearest",inline:"nearest"},undefined))):i.focus())}),[n,d,a,o]),Pn((()=>{if(!n)return;if(!d)return;if(!a)return;const{baseElement:e,activeId:t}=n.getState();if(null!==t)return;if(!e)return;const r=c.current;c.current=null,r&&Sn(r,{relatedTarget:e}),mr(e)||e.focus()}),[n,d,a]);const m=n.useState("activeId"),p=n.useState("virtualFocus");Pn((()=>{var e;if(!n)return;if(!a)return;if(!p)return;const t=c.current;if(c.current=null,!t)return;const r=(null==(e=Dt(n,m))?void 0:e.element)||cn(t);r!==t&&Sn(t,{relatedTarget:r})}),[n,m,p,a]);const f=_a(n,l.onKeyDownCapture,c),h=_a(n,l.onKeyUpCapture,c),v=l.onFocusCapture,g=Mn((e=>{if(null==v||v(e),e.defaultPrevented)return;if(!n)return;const{virtualFocus:t}=n.getState();if(!t)return;const r=e.relatedTarget,a=function(e){const t=e[Tt];return delete e[Tt],t}(e.currentTarget);Cn(e)&&a&&(e.stopPropagation(),c.current=r)})),E=l.onFocus,w=Mn((e=>{if(null==E||E(e),e.defaultPrevented)return;if(!a)return;if(!n)return;const{relatedTarget:t}=e,{virtualFocus:r}=n.getState();r?Cn(e)&&!Ot(n,t)&&queueMicrotask(u):Cn(e)&&n.setActiveId(null)})),y=l.onBlurCapture,b=Mn((e=>{var t;if(null==y||y(e),e.defaultPrevented)return;if(!n)return;const{virtualFocus:r,activeId:a}=n.getState();if(!r)return;const o=null==(t=Dt(n,a))?void 0:t.element,i=e.relatedTarget,l=Ot(n,i),s=c.current;c.current=null,Cn(e)&&l?(i===o?s&&s!==i&&Sn(s,e):o?Sn(o,e):s&&Sn(s,e),e.stopPropagation()):!Ot(n,e.target)&&o&&Sn(o,e)})),C=l.onKeyDown,_=Rn(i),S=Mn((e=>{var t;if(null==C||C(e),e.defaultPrevented)return;if(!n)return;if(!Cn(e))return;const{orientation:r,items:a,renderedItems:o,activeId:i}=n.getState(),l=Dt(n,i);if(null==(t=null==l?void 0:l.element)?void 0:t.isConnected)return;const s="horizontal"!==r,c="vertical"!==r,u=function(e){return e.some((e=>!!e.rowId))}(o);if(("ArrowLeft"===e.key||"ArrowRight"===e.key||"Home"===e.key||"End"===e.key)&&fn(e.currentTarget))return;const d={ArrowUp:(u||s)&&(()=>{if(u){const e=a&&function(e){return function(e,t){return e.find((e=>!e.disabled))}(Nr(Vr(function(e){const t=[];for(const n of e){const e=t.find((e=>{var t;return(null==(t=e[0])?void 0:t.rowId)===n.rowId}));e?e.push(n):t.push([n])}return t}(e))))}(a);return null==e?void 0:e.id}return null==n?void 0:n.last()}),ArrowRight:(u||c)&&n.first,ArrowDown:(u||s)&&n.first,ArrowLeft:(u||c)&&n.last,Home:n.first,End:n.last,PageUp:n.first,PageDown:n.last},m=d[e.key];if(m){const t=m();if(void 0!==t){if(!_(e))return;e.preventDefault(),n.move(t)}}}));l=zn(l,(e=>(0,Un.jsx)(nr,{value:n,children:e})),[n]);const k=n.useState((e=>{var t;if(n&&a&&e.virtualFocus)return null==(t=Dt(n,e.activeId))?void 0:t.id}));l=zt(Rt({"aria-activedescendant":k},l),{ref:Fn(a?n.setBaseElement:null,l.ref),onKeyDownCapture:f,onKeyUpCapture:h,onFocusCapture:g,onFocus:w,onBlurCapture:b,onKeyDown:S});const I=n.useState((e=>a&&(e.virtualFocus||null===e.activeId)));return Ca(Rt({focusable:I},l))}));Wn((e=>Yn("div",Sa(e))));const ka=window.ReactDOM;function Ia(e,t,n){if(!n)return!1;const r=e.find((e=>!e.disabled&&e.value));return(null==r?void 0:r.value)===t}function xa(e,t){return!!t&&null!=e&&(e=en(e),t.length>e.length&&0===t.toLowerCase().indexOf(e.toLowerCase()))}var Da=$n((e=>{var t=e,{store:n,focusable:a=!0,autoSelect:o=!1,getAutoSelectId:i,showOnChange:l=!0,setValueOnChange:s=!0,showOnMouseDown:c=!0,setValueOnClick:u=!0,showOnKeyDown:d=!0,moveOnKeyPress:m=!0,autoComplete:p="list"}=t,f=Bt(t,["store","focusable","autoSelect","getAutoSelectId","showOnChange","setValueOnChange","showOnMouseDown","setValueOnClick","showOnKeyDown","moveOnKeyPress","autoComplete"]);const h=aa();nn(n=n||h,!1);const v=(0,r.useRef)(null),[g,E]=(0,r.useReducer)((()=>[]),[]),w=(0,r.useRef)(!1),y=(0,r.useRef)(!1),b=n.useState((e=>!!o&&e.virtualFocus)),C="inline"===p||"both"===p,[_,S]=(0,r.useState)(C);!function(e,t){const n=(0,r.useRef)(!1);Pn((()=>{n.current?C&&S(!0):n.current=!0}),t),Pn((()=>()=>{n.current=!1}),[])}(0,[C]);const k=n.useState("value"),I=n.useState((e=>C&&_?e.activeValue:void 0)),x=n.useState("renderedItems"),D=n.useState("open"),T=n.useState("contentElement"),O=(0,r.useMemo)((()=>{if(!C)return k;if(!_)return k;if(Ia(x,I,b)){if(xa(k,I)){const e=(null==I?void 0:I.slice(k.length))||"";return k+e}return k}return I||k}),[C,_,x,I,b,k]);(0,r.useEffect)((()=>{const e=v.current;if(!e)return;const t=()=>S(!0);return e.addEventListener("combobox-item-move",t),()=>{e.removeEventListener("combobox-item-move",t)}}),[]),(0,r.useEffect)((()=>{C&&_&&I&&Ia(x,I,b)&&xa(k,I)&&queueMicrotask((()=>{const e=v.current;e&&En(e,k.length,I.length)}))}),[g,C,_,I,x,b,k]);const A=(0,r.useRef)(null),P=Mn(i),M=(0,r.useRef)(null);(0,r.useEffect)((()=>{if(!D)return;if(!T)return;const e=gn(T);if(!e)return;A.current=e;const t=()=>{w.current=!1},r=()=>{if(!n)return;if(!w.current)return;const{activeId:e}=n.getState();null!==e&&e!==M.current&&(w.current=!1)},a={passive:!0,capture:!0};return e.addEventListener("wheel",t,a),e.addEventListener("scroll",r,a),()=>{e.removeEventListener("wheel",t,!0),e.removeEventListener("scroll",r,!0)}}),[D,T,n]),Pn((()=>{k&&(y.current||(w.current=!0))}),[k]),Pn((()=>{D||(w.current=!1)}),[D]);const F=n.useState("resetValueOnSelect");Ln((()=>{var e;const t=w.current;if(!n)return;if(!(b&&t||F))return;const{baseElement:r,contentElement:a,activeId:o}=n.getState();if(!r||mr(r)){if(null==a?void 0:a.hasAttribute("data-placing")){const e=new MutationObserver(E);return e.observe(a,{attributeFilter:["data-placing"]}),()=>e.disconnect()}if(b&&t){const e=P(x),t=void 0!==e?e:n.first();M.current=t,n.move(null!=t?t:null)}else{const t=null==(e=n.item(o))?void 0:e.element;t&&"scrollIntoView"in t&&t.scrollIntoView({block:"nearest",inline:"nearest"})}}}),[n,g,k,b,F,P,x]),(0,r.useEffect)((()=>{if(!C)return;const e=v.current;if(!e)return;const t=[e,T].filter((e=>!!e)),r=e=>{t.every((t=>In(e,t)))&&(null==n||n.setValue(O))};return t.forEach((e=>e.addEventListener("focusout",r))),()=>{t.forEach((e=>e.removeEventListener("focusout",r)))}}),[C,T,n,O]);const N=f.onChange,V=Rn(l),L=Rn(s),R=Mn((e=>{if(null==N||N(e),e.defaultPrevented)return;if(!n)return;const{value:t,selectionStart:r,selectionEnd:a}=e.target,o=e.nativeEvent;if(w.current=!0,function(e){return"input"===e.type}(o)&&(o.isComposing&&(w.current=!1,y.current=!0),C)){const e="insertText"===o.inputType||"insertCompositionText"===o.inputType,n=r===t.length;S(e&&n)}if(L(e)){const o=t===n.getState().value;(0,ka.flushSync)((()=>null==n?void 0:n.setValue(t))),En(e.currentTarget,r,a),C&&b&&o&&E()}V(e)&&n.show(),b&&w.current||n.setActiveId(null)})),z=f.onCompositionEnd,B=Mn((e=>{w.current=!0,y.current=!1,null==z||z(e),e.defaultPrevented||b&&E()})),H=f.onMouseDown,j=Rn(u),K=Rn(c),G=Mn((e=>{null==H||H(e),e.defaultPrevented||e.button||e.ctrlKey||n&&(n.setActiveId(null),j(e)&&n.setValue(O),K(e)&&xn(e.currentTarget,"mouseup",n.show))})),U=f.onKeyDown,W=Rn(d),q=Mn((e=>{if(null==U||U(e),e.repeat||(w.current=!1),e.defaultPrevented)return;if(e.ctrlKey)return;if(e.altKey)return;if(e.shiftKey)return;if(e.metaKey)return;if(!n)return;const{open:t,activeId:r}=n.getState();t||null===r&&("ArrowUp"!==e.key&&"ArrowDown"!==e.key||W(e)&&(e.preventDefault(),n.show()))})),Y=f.onBlur,$=Mn((e=>{w.current=!1,null==Y||Y(e),e.defaultPrevented})),Q=Nn(f.id),X=function(e){return"inline"===e||"list"===e||"both"===e||"none"===e}(p)?p:void 0,Z=n.useState((e=>null===e.activeId));return f=zt(Rt({id:Q,role:"combobox","aria-autocomplete":X,"aria-haspopup":hn(T,"listbox"),"aria-expanded":D,"aria-controls":null==T?void 0:T.id,"data-active-item":Z||void 0,value:O},f),{ref:Fn(v,f.ref),onChange:R,onCompositionEnd:B,onMouseDown:G,onKeyDown:q,onBlur:$}),f=Sa(zt(Rt({store:n,focusable:a},f),{moveOnKeyPress:e=>!function(e,...t){const n="function"==typeof e?e(...t):e;return null!=n&&!n}(m,e)&&(C&&S(!0),!0)})),f=ma(Rt({store:n},f)),Rt({autoComplete:"off"},f)})),Ta=Wn((e=>Yn("input",Da(e))));function Oa(e,t){const n=setTimeout(t,e);return()=>clearTimeout(n)}function Aa(...e){return e.join(", ").split(", ").reduce(((e,t)=>{const n=1e3*parseFloat(t||"0s");return n>e?n:e}),0)}function Pa(e,t,n){return!(n||!1===t||e&&!t)}var Ma=$n((e=>{var t=e,{store:n,alwaysVisible:a}=t,o=Bt(t,["store","alwaysVisible"]);const i=Yr();nn(n=n||i,!1);const l=Nn(o.id),[s,c]=(0,r.useState)(null),u=n.useState("open"),d=n.useState("mounted"),m=n.useState("animated"),p=n.useState("contentElement");Pn((()=>{if(m){if(null==p?void 0:p.isConnected)return function(e){let t=requestAnimationFrame((()=>{t=requestAnimationFrame(e)}));return()=>cancelAnimationFrame(t)}((()=>{c(u?"enter":"leave")}));c(null)}}),[m,p,u]),Pn((()=>{if(!n)return;if(!m)return;if(!p)return;if(!s)return;if("enter"===s&&!u)return;if("leave"===s&&u)return;if("number"==typeof m)return Oa(m,n.stopAnimation);const{transitionDuration:e,animationDuration:t,transitionDelay:r,animationDelay:a}=getComputedStyle(p),o=Aa(r,a)+Aa(e,t);return o?Oa(o,n.stopAnimation):void 0}),[n,m,p,u,s]);const f=Pa(d,(o=zn(o,(e=>(0,Un.jsx)(Xr,{value:n,children:e})),[n])).hidden,a),h=f?zt(Rt({},o.style),{display:"none"}):o.style;return zt(Rt({id:l,"data-enter":"enter"===s?"":void 0,"data-leave":"leave"===s?"":void 0,hidden:f},o),{ref:Fn(l?n.setContentElement:null,o.ref),style:h})})),Fa=Wn((e=>Yn("div",Ma(e))));Wn((e=>{var t=e,{unmountOnHide:n}=t,r=Bt(t,["unmountOnHide"]);const a=Yr();return!1===Or(r.store||a,(e=>!n||(null==e?void 0:e.mounted)))?null:(0,Un.jsx)(Fa,Rt({},r))}));var Na=$n((e=>{var t=e,{store:n,focusable:a=!0,alwaysVisible:o}=t,i=Bt(t,["store","focusable","alwaysVisible"]);const l=aa();nn(n=n||l,!1);const s=(0,r.useRef)(null),c=Nn(i.id),u=i.onKeyDown,d=Mn((e=>{null==u||u(e),e.defaultPrevented||"Escape"===e.key&&(null==n||n.move(null))})),m=(0,r.useRef)(!1),p=i.onFocusVisible,f=Mn((e=>{if(null==p||p(e),e.defaultPrevented)return;if("focus"!==e.type)return;if(!n)return;const{virtualFocus:t}=n.getState();if(!t)return;const{relatedTarget:r,currentTarget:a}=e;r&&a.contains(r)||(m.current=!0,n.setState("virtualFocus",!1))})),h=i.onBlur,v=Mn((e=>{null==h||h(e),e.defaultPrevented||m.current&&In(e)&&(m.current=!1,null==n||n.setState("virtualFocus",!0))}));i=zn(i,(e=>(0,Un.jsx)(ia,{value:n,children:e})),[n]);const g=Pa(n.useState("mounted"),i.hidden,o),E=g?zt(Rt({},i.style),{display:"none"}):i.style,w=n.useState((e=>Array.isArray(e.selectedValue))),y=function(e,t,n){const[a,o]=(0,r.useState)(n);return Pn((()=>{const n=e&&"current"in e?e.current:e,r=null==n?void 0:n.getAttribute(t);null!=r&&o(r)}),[e,t]),a}(s,"role",i.role);return i=zt(Rt({id:c,hidden:g,role:"listbox",tabIndex:a?-1:void 0,"aria-multiselectable":("listbox"===y||"tree"===y||"grid"===y)&&w||void 0},i),{ref:Fn(c?n.setContentElement:null,s,i.ref),style:E,onKeyDown:d,onFocusVisible:f,onBlur:v}),Ca(Rt({focusable:a},i))})),Va=Wn((e=>Yn("div",Na(e))));function La(e){if(!e.isTrusted)return!1;const t=e.currentTarget;return"Enter"===e.key?dn(t)||"SUMMARY"===t.tagName||"A"===t.tagName:" "===e.key&&(dn(t)||"SUMMARY"===t.tagName||"INPUT"===t.tagName||"SELECT"===t.tagName)}var Ra=Symbol("command"),za=$n((e=>{var t=e,{clickOnEnter:n=!0,clickOnSpace:a=!0}=t,o=Bt(t,["clickOnEnter","clickOnSpace"]);const i=(0,r.useRef)(null),l=Vn(i,o.as),s=o.type,[c,u]=(0,r.useState)((()=>!!l&&dn({tagName:l,type:s})));(0,r.useEffect)((()=>{i.current&&u(dn(i.current))}),[]);const[d,m]=(0,r.useState)(!1),p=(0,r.useRef)(!1),f=rn(o),[h,v]=function(e,t,n){const a=e.onLoadedMetadataCapture,o=(0,r.useMemo)((()=>Object.assign((()=>{}),zt(Rt({},a),{[t]:n}))),[a,t,n]);return[null==a?void 0:a[t],{onLoadedMetadataCapture:o}]}(o,Ra,!0),g=o.onKeyDown,E=Mn((e=>{null==g||g(e);const t=e.currentTarget;if(e.defaultPrevented)return;if(h)return;if(f)return;if(!Cn(e))return;if(fn(t))return;if(t.isContentEditable)return;const r=n&&"Enter"===e.key,o=a&&" "===e.key,i="Enter"===e.key&&!n,l=" "===e.key&&!a;if(i||l)e.preventDefault();else if(r||o){const n=La(e);if(r){if(!n){e.preventDefault();const n=e,{view:r}=n,a=Bt(n,["view"]),o=()=>kn(t,a);ln&&/firefox\//i.test(navigator.userAgent)?xn(t,"keyup",o):queueMicrotask(o)}}else o&&(p.current=!0,n||(e.preventDefault(),m(!0)))}})),w=o.onKeyUp,y=Mn((e=>{if(null==w||w(e),e.defaultPrevented)return;if(h)return;if(f)return;if(e.metaKey)return;const t=a&&" "===e.key;if(p.current&&t&&(p.current=!1,!La(e))){e.preventDefault(),m(!1);const t=e.currentTarget,n=e,{view:r}=n,a=Bt(n,["view"]);queueMicrotask((()=>kn(t,a)))}}));return o=zt(Rt(Rt({"data-active":d?"":void 0,type:c?"button":void 0},v),o),{ref:Fn(i,o.ref),onKeyDown:E,onKeyUp:y}),Ca(o)}));Wn((e=>Yn("button",e=za(e))));var Ba=$n((e=>{var t=e,{store:n,shouldRegisterItem:a=!0,getItem:o=tn,element:i}=t,l=Bt(t,["store","shouldRegisterItem","getItem","element"]);const s=Zn();n=n||s;const c=Nn(l.id),u=(0,r.useRef)(i);return(0,r.useEffect)((()=>{const e=u.current;if(!c)return;if(!e)return;if(!a)return;const t=o({id:c,element:e});return null==n?void 0:n.renderItem(t)}),[c,a,o,n]),zt(Rt({},l),{ref:Fn(u,l.ref)})}));function Ha(e,t=!1){const{top:n}=e.getBoundingClientRect();return t?n+e.clientHeight:n}function ja(e,t,n,r=!1){var a;if(!t)return;if(!n)return;const{renderedItems:o}=t.getState(),i=gn(e);if(!i)return;const l=function(e,t=!1){const n=e.clientHeight,{top:r}=e.getBoundingClientRect(),a=1.5*Math.max(.875*n,n-40),o=t?n-a+r:a+r;return"HTML"===e.tagName?o+e.scrollTop:o}(i,r);let s,c;for(let e=0;e<o.length;e+=1){const o=s;if(s=n(e),!s)break;if(s===o)continue;const i=null==(a=Dt(t,s))?void 0:a.element;if(!i)continue;const u=Ha(i,r)-l,d=Math.abs(u);if(r&&u<=0||!r&&u>=0){void 0!==c&&c<d&&(s=o);break}c=d}return s}Wn((e=>Yn("div",Ba(e))));var Ka=$n((e=>{var t=e,{store:n,rowId:a,preventScrollOnKeyDown:o=!1,moveOnKeyPress:i=!0,tabbable:l=!1,getItem:s,"aria-setsize":c,"aria-posinset":u}=t,d=Bt(t,["store","rowId","preventScrollOnKeyDown","moveOnKeyPress","tabbable","getItem","aria-setsize","aria-posinset"]);const m=er();n=n||m;const p=Nn(d.id),f=(0,r.useRef)(null),h=(0,r.useContext)(or),v=Or(n,(e=>a||(e&&(null==h?void 0:h.baseElement)&&h.baseElement===e.baseElement?h.id:void 0))),g=rn(d)&&!d.accessibleWhenDisabled,E=(0,r.useCallback)((e=>{const t=zt(Rt({},e),{id:p||e.id,rowId:v,disabled:!!g});return s?s(t):t}),[p,v,g,s]),w=d.onFocus,y=(0,r.useRef)(!1),b=Mn((e=>{if(null==w||w(e),e.defaultPrevented)return;if(bn(e))return;if(!p)return;if(!n)return;const{activeId:t,virtualFocus:r,baseElement:a}=n.getState();var o;(function(e,t){return!Cn(e)&&Ot(t,e.target)})(e,n)||(t!==p&&n.setActiveId(p),r&&Cn(e)&&((o=e.currentTarget).isContentEditable||fn(o)||"INPUT"===o.tagName&&!dn(o)||(null==a?void 0:a.isConnected)&&(y.current=!0,e.relatedTarget===a||Ot(n,e.relatedTarget)?function(e){e[Tt]=!0,e.focus({preventScroll:!0})}(a):a.focus())))})),C=d.onBlurCapture,_=Mn((e=>{if(null==C||C(e),e.defaultPrevented)return;const t=null==n?void 0:n.getState();(null==t?void 0:t.virtualFocus)&&y.current&&(y.current=!1,e.preventDefault(),e.stopPropagation())})),S=d.onKeyDown,k=Rn(o),I=Rn(i),x=Mn((e=>{if(null==S||S(e),e.defaultPrevented)return;if(!Cn(e))return;if(!n)return;const{currentTarget:t}=e,r=n.getState(),a=n.item(p),o=!!(null==a?void 0:a.rowId),i="horizontal"!==r.orientation,l="vertical"!==r.orientation,s=()=>!(!o&&!l&&r.baseElement&&fn(r.baseElement)),c={ArrowUp:(o||i)&&n.up,ArrowRight:(o||l)&&n.next,ArrowDown:(o||i)&&n.down,ArrowLeft:(o||l)&&n.previous,Home:()=>{if(s())return!o||e.ctrlKey?null==n?void 0:n.first():null==n?void 0:n.previous(-1)},End:()=>{if(s())return!o||e.ctrlKey?null==n?void 0:n.last():null==n?void 0:n.next(-1)},PageUp:()=>ja(t,n,null==n?void 0:n.up,!0),PageDown:()=>ja(t,n,null==n?void 0:n.down)}[e.key];if(c){const t=c();if(k(e)||void 0!==t){if(!I(e))return;e.preventDefault(),n.move(t)}}})),D=Or(n,(e=>(null==e?void 0:e.baseElement)||void 0)),T=(0,r.useMemo)((()=>({id:p,baseElement:D})),[p,D]);d=zn(d,(e=>(0,Un.jsx)(ar.Provider,{value:T,children:e})),[T]);const O=Or(n,(e=>!!e&&e.activeId===p)),A=Or(n,"virtualFocus"),P=function(e,t){const n=t.role,[a,o]=(0,r.useState)(n);return Pn((()=>{const t=e.current;t&&o(t.getAttribute("role")||n)}),[n]),a}(f,d);let M;O&&(function(e){return"option"===e||"treeitem"===e}(P)||A&&function(e){return"option"===e||"tab"===e||"treeitem"===e||"gridcell"===e||"row"===e||"columnheader"===e||"rowheader"===e}(P))&&(M=!0);const F=Or(n,(e=>null!=c?c:e&&(null==h?void 0:h.ariaSetSize)&&h.baseElement===e.baseElement?h.ariaSetSize:void 0)),N=Or(n,(e=>{if(null!=u)return u;if(!e)return;if(!(null==h?void 0:h.ariaPosInSet))return;if(h.baseElement!==e.baseElement)return;const t=e.renderedItems.filter((e=>e.rowId===v));return h.ariaPosInSet+t.findIndex((e=>e.id===p))})),V=Or(n,(e=>!(null==e?void 0:e.renderedItems.length)||!e.virtualFocus&&(!!l||e.activeId===p)));return d=zt(Rt({id:p,"aria-selected":M,"data-active-item":O?"":void 0},d),{ref:Fn(f,d.ref),tabIndex:V?d.tabIndex:-1,onFocus:b,onBlurCapture:_,onKeyDown:x}),d=za(d),d=Ba(zt(Rt({store:n},d),{getItem:E,shouldRegisterItem:!!p&&d.shouldRegisterItem})),zt(Rt({},d),{"aria-setsize":F,"aria-posinset":N})}));qn((e=>Yn("button",Ka(e))));var Ga=$n((e=>{var t=e,{store:n,value:a,hideOnClick:o,selectValueOnClick:i=!0,setValueOnClick:l,focusOnHover:s=!1,moveOnKeyPress:c=!0,getItem:u}=t,d=Bt(t,["store","value","hideOnClick","selectValueOnClick","setValueOnClick","focusOnHover","moveOnKeyPress","getItem"]);const m=ra();nn(n=n||m,!1);const p=(0,r.useCallback)((e=>{const t=zt(Rt({},e),{value:a});return u?u(t):t}),[a,u]),f=n.useState((e=>Array.isArray(e.selectedValue)));l=null!=l?l:!f,o=null!=o?o:null!=a&&!f;const h=d.onClick,v=Rn(l),g=Rn(i),E=Rn(o),w=Mn((e=>{null==h||h(e),e.defaultPrevented||function(e){const t=e.currentTarget;if(!t)return!1;const n=t.tagName.toLowerCase();return!!e.altKey&&("a"===n||"button"===n&&"submit"===t.type||"input"===n&&"submit"===t.type)}(e)||function(e){const t=e.currentTarget;if(!t)return!1;const n=wn();if(n&&!e.metaKey)return!1;if(!n&&!e.ctrlKey)return!1;const r=t.tagName.toLowerCase();return"a"===r||"button"===r&&"submit"===t.type||"input"===r&&"submit"===t.type}(e)||(null!=a&&(g(e)&&(null==n||n.setSelectedValue((e=>Array.isArray(e)?e.includes(a)?e.filter((e=>e!==a)):[...e,a]:a))),v(e)&&(null==n||n.setValue(a))),E(e)&&(null==n||n.move(null),null==n||n.hide()))})),y=d.onKeyDown,b=Mn((e=>{if(null==y||y(e),e.defaultPrevented)return;const t=null==n?void 0:n.getState().baseElement;t&&(mr(t)||(1===e.key.length||"Backspace"===e.key||"Delete"===e.key)&&(queueMicrotask((()=>t.focus())),fn(t)&&(null==n||n.setValue(t.value))))})),C=n.useState((e=>function(e,t){if(null!=t)return null!=e&&(Array.isArray(e)?e.includes(t):e===t)}(e.selectedValue,a)));f&&null!=C&&(d=Rt({"aria-selected":C},d)),d=zn(d,(e=>(0,Un.jsx)(la.Provider,{value:a,children:(0,Un.jsx)(sa.Provider,{value:null!=C&&C,children:e})})),[a,C]);const _=n.useState("contentElement");d=zt(Rt({role:vn(_),children:a},d),{onClick:w,onKeyDown:b});const S=Rn(c);return d=Ka(zt(Rt({store:n},d),{getItem:p,moveOnKeyPress:e=>{if(!S(e))return!1;const t=new Event("combobox-item-move"),r=null==n?void 0:n.getState().baseElement;return null==r||r.dispatchEvent(t),!0}})),vr(Rt({store:n,focusOnHover:s},d))})),Ua=qn((e=>Yn("div",Ga(e))));function Wa(e){return en(e).toLowerCase()}var qa=$n((e=>{var t=e,{store:n,value:a}=t,o=Bt(t,["store","value"]);const i=ra();n=n||i;const l=(0,r.useContext)(la),s=null!=a?a:l;nn(n,!1);const c=n.useState((e=>s&&e.value?e.value:void 0)),u=(0,r.useMemo)((()=>s&&c?function(e,t){t=Wa(t);let n=Wa(e).indexOf(t);const r=[];for(;-1!==n;)0!==n&&r.push((0,Un.jsx)("span",{"data-autocomplete-value":"",children:e.substr(0,n)},r.length)),r.push((0,Un.jsx)("span",{"data-user-value":"",children:e.substr(n,t.length)},r.length)),n=Wa(e=e.substr(n+t.length)).indexOf(t);return e&&r.push((0,Un.jsx)("span",{"data-autocomplete-value":"",children:e},r.length)),r}(s,c):s),[s,c]);return Rt({children:u},o)})),Ya=Wn((e=>Yn("span",qa(e)))),$a=n(731),Qa=n.n($a);const Xa=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z"})),Za=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"})),{CompositeV2:Ja,CompositeItemV2:eo,useCompositeStoreV2:to}=ie(l.privateApis),no=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Circle,{cx:12,cy:12,r:3}));function ro(e=""){return Qa()(e.trim().toLowerCase())}const ao=[],oo=(e,t)=>e.singleSelection?t?.value:Array.isArray(t?.value)?t.value:!Array.isArray(t?.value)&&t?.value?[t.value]:ao,io=(e,t,n)=>e.singleSelection?n:Array.isArray(t?.value)?t.value.includes(n)?t.value.filter((e=>e!==n)):[...t.value,n]:[n];function lo({view:e,filter:t,onChangeView:n}){const a=to({virtualFocus:!0,focusLoop:!0,defaultActiveId:1===t.operators?.length?void 0:null}),o=e.filters.find((e=>e.field===t.field)),i=oo(t,o);return(0,r.createElement)(Ja,{store:a,role:"listbox",className:"dataviews-search-widget-listbox","aria-label":(0,A.sprintf)(/* translators: List of items for a filter. 1: Filter name. e.g.: "List of: Author". */ /* translators: List of items for a filter. 1: Filter name. e.g.: "List of: Author". */
    7 (0,A.__)("List of: %1$s"),t.name),onFocusVisible:()=>{a.getState().activeId||a.move(a.first())},render:(0,r.createElement)(ur,{store:a})},t.elements.map((s=>(0,r.createElement)(gr,{store:a,key:s.value,render:(0,r.createElement)(eo,{render:(0,r.createElement)("div",{"aria-label":s.label,role:"option",className:"dataviews-search-widget-listitem"}),onClick:()=>{const r=o?[...e.filters.map((e=>e.field===t.field?{...e,operator:o.operator||t.operators[0],value:io(t,o,s.value)}:e))]:[...e.filters,{field:t.field,operator:t.operators[0],value:io(t,o,s.value)}];n({...e,page:1,filters:r})}})},(0,r.createElement)("span",{className:"dataviews-search-widget-listitem-check"},t.singleSelection&&i===s.value&&(0,r.createElement)(l.Icon,{icon:no}),!t.singleSelection&&i.includes(s.value)&&(0,r.createElement)(l.Icon,{icon:Xa})),(0,r.createElement)("span",null,s.label,!!s.description&&(0,r.createElement)("span",{className:"dataviews-search-widget-listitem-description"},s.description))))))}function so({view:e,filter:t,onChangeView:n}){const[a,o]=(0,i.useState)(""),s=(0,i.useDeferredValue)(a),c=e.filters.find((e=>e.field===t.field)),u=oo(t,c),d=(0,i.useMemo)((()=>{const e=ro(s);return t.elements.filter((t=>ro(t.label).includes(e)))}),[t.elements,s]);return(0,r.createElement)(ca,{resetValueOnSelect:!1,selectedValue:u,setSelectedValue:r=>{const a=c?[...e.filters.map((e=>e.field===t.field?{...e,operator:c.operator||t.operators[0],value:r}:e))]:[...e.filters,{field:t.field,operator:t.operators[0],value:r}];n({...e,page:1,filters:a})},setValue:o},(0,r.createElement)("div",{className:"dataviews-search-widget-filter-combobox__wrapper"},(0,r.createElement)(da,{render:(0,r.createElement)(l.VisuallyHidden,null)},(0,A.__)("Search items")),(0,r.createElement)(Ta,{autoSelect:"always",placeholder:(0,A.__)("Search"),className:"dataviews-search-widget-filter-combobox__input"}),(0,r.createElement)("div",{className:"dataviews-search-widget-filter-combobox__icon"},(0,r.createElement)(l.Icon,{icon:Za}))),(0,r.createElement)(Va,{className:"dataviews-search-widget-filter-combobox-list",alwaysVisible:!0},d.map((e=>(0,r.createElement)(Ua,{key:e.value,value:e.value,className:"dataviews-search-widget-listitem",hideOnClick:!1,setValueOnClick:!1,focusOnHover:!0},(0,r.createElement)("span",{className:"dataviews-search-widget-listitem-check"},t.singleSelection&&u===e.value&&(0,r.createElement)(l.Icon,{icon:no}),!t.singleSelection&&u.includes(e.value)&&(0,r.createElement)(l.Icon,{icon:Xa})),(0,r.createElement)("span",null,(0,r.createElement)(Ya,{className:"dataviews-search-widget-filter-combobox-item-value",value:e.label}),!!e.description&&(0,r.createElement)("span",{className:"dataviews-search-widget-listitem-description"},e.description))))),!d.length&&(0,r.createElement)("p",null,(0,A.__)("No results found"))))}function co(e){const t=e.filter.elements.length>10?so:lo;return(0,r.createElement)(t,{...e})}const uo="Enter",mo=" ",po=({activeElements:e,filterInView:t,filter:n})=>{if(void 0===e||0===e.length)return n.name;const a={Name:(0,r.createElement)("span",{className:"dataviews-filter-summary__filter-text-name"}),Value:(0,r.createElement)("span",{className:"dataviews-filter-summary__filter-text-value"})};return t?.operator===ce?(0,i.createInterpolateElement)((0,A.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is any: Admin, Editor". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is any: Admin, Editor". */
    8 (0,A.__)("<Name>%1$s is any: </Name><Value>%2$s</Value>"),n.name,e.map((e=>e.label)).join(", ")),a):t?.operator===ue?(0,i.createInterpolateElement)((0,A.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is none: Admin, Editor". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is none: Admin, Editor". */
    9 (0,A.__)("<Name>%1$s is none: </Name><Value>%2$s</Value>"),n.name,e.map((e=>e.label)).join(", ")),a):t?.operator===de?(0,i.createInterpolateElement)((0,A.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is all: Admin, Editor". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is all: Admin, Editor". */
    10 (0,A.__)("<Name>%1$s is all: </Name><Value>%2$s</Value>"),n.name,e.map((e=>e.label)).join(", ")),a):t?.operator===me?(0,i.createInterpolateElement)((0,A.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not all: Admin, Editor". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not all: Admin, Editor". */
    11 (0,A.__)("<Name>%1$s is not all: </Name><Value>%2$s</Value>"),n.name,e.map((e=>e.label)).join(", ")),a):t?.operator===le?(0,i.createInterpolateElement)((0,A.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is: Admin". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is: Admin". */
    12 (0,A.__)("<Name>%1$s is: </Name><Value>%2$s</Value>"),n.name,e[0].label),a):t?.operator===se?(0,i.createInterpolateElement)((0,A.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not: Admin". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not: Admin". */
    13 (0,A.__)("<Name>%1$s is not: </Name><Value>%2$s</Value>"),n.name,e[0].label),a):(0,A.sprintf)(/* translators: 1: Filter name e.g.: "Unknown status for Author". */ /* translators: 1: Filter name e.g.: "Unknown status for Author". */
    14 (0,A.__)("Unknown status for %1$s"),n.name)};function fo({filter:e,view:t,onChangeView:n}){const a=e.operators?.map((e=>({value:e,label:fe[e]?.label}))),o=t.filters.find((t=>t.field===e.field)),i=o?.operator||e.operators[0];return a.length>1&&(0,r.createElement)(l.__experimentalHStack,{spacing:2,justify:"flex-start",className:"dataviews-filter-summary__operators-container"},(0,r.createElement)(l.FlexItem,{className:"dataviews-filter-summary__operators-filter-name"},e.name),(0,r.createElement)(l.SelectControl,{label:(0,A.__)("Conditions"),value:i,options:a,onChange:r=>{const a=o?[...t.filters.map((t=>t.field===e.field?{...t,operator:r}:t))]:[...t.filters,{field:e.field,operator:r}];n({...t,page:1,filters:a})},size:"small",__nextHasNoMarginBottom:!0,hideLabelFromVision:!0}))}function ho({addFilterRef:e,openedFilter:t,...n}){const a=(0,i.useRef)(),{filter:o,view:s,onChangeView:c}=n,u=s.filters.find((e=>e.field===o.field)),d=o.elements.filter((e=>o.singleSelection?e.value===u?.value:u?.value?.includes(e.value))),m=o.isPrimary,p=void 0!==u?.value,f=!m||p;return(0,r.createElement)(l.Dropdown,{defaultOpen:t===o.field,contentClassName:"dataviews-filter-summary__popover",popoverProps:{placement:"bottom-start",role:"dialog"},onClose:()=>{a.current?.focus()},renderToggle:({isOpen:t,onToggle:n})=>(0,r.createElement)("div",{className:"dataviews-filter-summary__chip-container"},(0,r.createElement)(l.Tooltip,{text:(0,A.sprintf)(/* translators: 1: Filter name. */ /* translators: 1: Filter name. */
    15 (0,A.__)("Filter by: %1$s"),o.name.toLowerCase()),placement:"top"},(0,r.createElement)("div",{className:_e()("dataviews-filter-summary__chip",{"has-reset":f,"has-values":p}),role:"button",tabIndex:0,onClick:n,onKeyDown:e=>{[uo,mo].includes(e.key)&&(n(),e.preventDefault())},"aria-pressed":t,"aria-expanded":t,ref:a},(0,r.createElement)(po,{activeElements:d,filterInView:u,filter:o}))),f&&(0,r.createElement)(l.Tooltip,{text:m?(0,A.__)("Reset"):(0,A.__)("Remove"),placement:"top"},(0,r.createElement)("button",{className:_e()("dataviews-filter-summary__chip-remove",{"has-values":p}),onClick:()=>{c({...s,page:1,filters:s.filters.filter((e=>e.field!==o.field))}),m?a.current?.focus():e.current?.focus()}},(0,r.createElement)(l.Icon,{icon:It})))),renderContent:()=>(0,r.createElement)(l.__experimentalVStack,{spacing:0,justify:"flex-start"},(0,r.createElement)(fo,{...n}),(0,r.createElement)(co,{...n}))})}const{DropdownMenuV2:vo,DropdownMenuItemV2:go,DropdownMenuItemLabelV2:Eo}=ie(l.privateApis),wo=(0,i.forwardRef)((function({filters:e,view:t,onChangeView:n,setOpenedFilter:a},o){if(!e.length||e.every((({isPrimary:e})=>e)))return null;const i=e.filter((e=>!e.isVisible));return(0,r.createElement)(vo,{trigger:(0,r.createElement)(l.Button,{__experimentalIsFocusable:!0,size:"compact",className:"dataviews-filters-button",variant:"tertiary",disabled:!i.length,ref:o},(0,A.__)("Add filter"))},i.map((e=>(0,r.createElement)(go,{key:e.field,onClick:()=>{a(e.field),n({...t,page:1,filters:[...t.filters||[],{field:e.field,value:void 0,operator:e.operators[0]}]})}},(0,r.createElement)(Eo,null,e.name)))))}));function yo({filters:e,view:t,onChangeView:n}){const a=!t.search&&!t.filters?.some((t=>{return void 0!==t.value||(n=t.field,!e.some((e=>e.field===n&&e.isPrimary)));var n}));return(0,r.createElement)(l.Button,{disabled:a,__experimentalIsFocusable:!0,size:"compact",variant:"tertiary",className:"dataviews-filters__reset-button",onClick:()=>{n({...t,page:1,search:"",filters:[]})}},(0,A.__)("Reset"))}const bo=(0,i.memo)((function({fields:e,view:t,onChangeView:n,openedFilter:a,setOpenedFilter:o}){const s=(0,i.useRef)(),c=[];e.forEach((e=>{if(!e.elements?.length)return;const n=ze(e);if(0===n.length)return;const r=!!e.filterBy?.isPrimary;c.push({field:e.id,name:e.header,elements:e.elements,singleSelection:n.some((e=>[le,se].includes(e))),operators:n,isVisible:r||t.filters.some((t=>t.field===e.id&&pe.includes(t.operator))),isPrimary:r})})),c.sort(((e,t)=>e.isPrimary&&!t.isPrimary?-1:!e.isPrimary&&t.isPrimary?1:e.name.localeCompare(t.name)));const u=(0,r.createElement)(wo,{key:"add-filter",filters:c,view:t,onChangeView:n,ref:s,setOpenedFilter:o}),d=[...c.map((e=>e.isVisible?(0,r.createElement)(ho,{key:e.field,filter:e,view:t,onChangeView:n,addFilterRef:s,openedFilter:a}):null)),u];return d.length>1&&d.push((0,r.createElement)(yo,{key:"reset-filters",filters:c,view:t,onChangeView:n})),(0,r.createElement)(l.__experimentalHStack,{justify:"flex-start",style:{width:"fit-content"},wrap:!0},d)})),Co=bo,_o=(0,i.memo)((function({label:e,view:t,onChangeView:n}){const[a,o,s]=(0,lt.useDebouncedInput)(t.search);(0,i.useEffect)((()=>{o(t.search)}),[t]);const c=(0,i.useRef)(n);(0,i.useEffect)((()=>{c.current=n}),[n]),(0,i.useEffect)((()=>{c.current({...t,page:1,search:s})}),[s]);const u=e||(0,A.__)("Search");return(0,r.createElement)(l.SearchControl,{__nextHasNoMarginBottom:!0,onChange:o,value:a,label:u,placeholder:u,size:"compact"})})),So=e=>e.id,ko=()=>{};function Io({view:e,onChangeView:t,fields:n,search:a=!0,searchLabel:o,actions:s=[],data:c,getItemId:u=So,isLoading:d=!1,paginationInfo:m,supportedLayouts:p,onSelectionChange:f=ko}){const[h,v]=(0,i.useState)([]),[g,E]=(0,i.useState)(null);(0,i.useEffect)((()=>{if(h.length>0&&h.some((e=>!c.some((t=>u(t)===e))))){const e=h.filter((e=>c.some((t=>u(t)===e))));v(e),f(c.filter((t=>e.includes(u(t)))))}}),[h,c,u,f]);const w=(0,i.useCallback)((e=>{v(e.map((e=>u(e)))),f(e)}),[v,u,f]),y=pt.find((t=>t.type===e.type)).component,b=(0,i.useMemo)((()=>function(e){return e.map((e=>{const t=e.getValue||(({item:t})=>t[e.id]);return{...e,header:e.header||e.id,getValue:t,render:e.render||t}}))}(n)),[n]),C=function(e,t){return(0,i.useMemo)((()=>t.some((t=>e.some((e=>e.supportsBulk&&e.isEligible(t)))))),[e,t])}(s,c);return(0,r.createElement)("div",{className:"dataviews-wrapper"},(0,r.createElement)(l.__experimentalHStack,{alignment:"top",justify:"start",className:"dataviews-filters__view-actions"},(0,r.createElement)(l.__experimentalHStack,{justify:"start",className:"dataviews-filters__container",wrap:!0},a&&(0,r.createElement)(_o,{label:o,view:e,onChangeView:t}),(0,r.createElement)(Co,{fields:b,view:e,onChangeView:t,openedFilter:g,setOpenedFilter:E})),[ve,ge].includes(e.type)&&C&&(0,r.createElement)(Ye,{actions:s,data:c,onSelectionChange:w,selection:h,getItemId:u}),(0,r.createElement)(kt,{fields:b,view:e,onChangeView:t,supportedLayouts:p})),(0,r.createElement)(y,{fields:b,view:e,onChangeView:t,actions:s,data:c,getItemId:u,isLoading:d,onSelectionChange:w,selection:h,setOpenedFilter:E}),(0,r.createElement)(ne,{view:e,onChangeView:t,paginationInfo:m}))}function xo(){const{updateQuery:e,query:t}=(0,i.useContext)(Q),n=t=>{e("dimensions",[t])};return(0,r.createElement)("div",{className:"search-console-dimensions"},(0,r.createElement)(l.Button,{className:t.dimensions.includes("query")?"is-selected":"",onClick:()=>n("query")},(0,A.__)("Query","search-console")),(0,r.createElement)(l.Button,{className:t.dimensions.includes("page")?"is-selected":"",onClick:()=>n("page")},(0,A.__)("Pages","search-console")),(0,r.createElement)(l.Button,{className:t.dimensions.includes("country")?"is-selected":"",onClick:()=>n("country")},(0,A.__)("Countries","search-console")),(0,r.createElement)(l.Button,{className:t.dimensions.includes("device")?"is-selected":"",onClick:()=>n("device")},(0,A.__)("Devices","search-console")))}const Do={abw:"Aruba",afg:"Afghanistan",ago:"Angola",aia:"Anguilla",ala:"Åland Islands",alb:"Albania",and:"Andorra",are:"United Arab Emirates (the)",arg:"Argentina",arm:"Armenia",asm:"American Samoa",ata:"Antarctica",atf:"French Southern Territories (the)",atg:"Antigua and Barbuda",aus:"Australia",aut:"Austria",aze:"Azerbaijan",bdi:"Burundi",bel:"Belgium",ben:"Benin",bes:"Bonaire, Sint Eustatius and Saba",bfa:"Burkina Faso",bgd:"Bangladesh",bgr:"Bulgaria",bhr:"Bahrain",bhs:"Bahamas (the)",bih:"Bosnia and Herzegovina",blm:"Saint Barthélemy",blr:"Belarus",blz:"Belize",bmu:"Bermuda",bol:"Bolivia (Plurinational State of)",bra:"Brazil",brb:"Barbados",brn:"Brunei Darussalam",btn:"Bhutan",bvt:"Bouvet Island",bwa:"Botswana",caf:"Central African Republic (the)",can:"Canada",cck:"Cocos (Keeling) Islands (the)",che:"Switzerland",chl:"Chile",chn:"China",civ:"Côte d'Ivoire",cmr:"Cameroon",cod:"Congo (the Democratic Republic of the)",cog:"Congo (the)",cok:"Cook Islands (the)",col:"Colombia",com:"Comoros (the)",cpv:"Cabo Verde",cri:"Costa Rica",cub:"Cuba",cuw:"Curaçao",cxr:"Christmas Island",cym:"Cayman Islands (the)",cyp:"Cyprus",cze:"Czechia",deu:"Germany",dji:"Djibouti",dma:"Dominica",dnk:"Denmark",dom:"Dominican Republic (the)",dza:"Algeria",ecu:"Ecuador",egy:"Egypt",eri:"Eritrea",esh:"Western Sahara*",esp:"Spain",est:"Estonia",eth:"Ethiopia",fin:"Finland",fji:"Fiji",flk:"Falkland Islands (the) [Malvinas]",fra:"France",fro:"Faroe Islands (the)",fsm:"Micronesia (Federated States of)",gab:"Gabon",gbr:"United Kingdom of Great Britain and Northern Ireland (the)",geo:"Georgia",ggy:"Guernsey",gha:"Ghana",gib:"Gibraltar",gin:"Guinea",glp:"Guadeloupe",gmb:"Gambia (the)",gnb:"Guinea-Bissau",gnq:"Equatorial Guinea",grc:"Greece",grd:"Grenada",grl:"Greenland",gtm:"Guatemala",guf:"French Guiana",gum:"Guam",guy:"Guyana",hkg:"Hong Kong",hmd:"Heard Island and McDonald Islands",hnd:"Honduras",hrv:"Croatia",hti:"Haiti",hun:"Hungary",idn:"Indonesia",imn:"Isle of Man",ind:"India",iot:"British Indian Ocean Territory (the)",irl:"Ireland",irn:"Iran (Islamic Republic of)",irq:"Iraq",isl:"Iceland",isr:"Israel",ita:"Italy",jam:"Jamaica",jey:"Jersey",jor:"Jordan",jpn:"Japan",kaz:"Kazakhstan",ken:"Kenya",kgz:"Kyrgyzstan",khm:"Cambodia",kir:"Kiribati",kna:"Saint Kitts and Nevis",kor:"Korea (the Republic of)",kwt:"Kuwait",lao:"Lao People's Democratic Republic (the)",lbn:"Lebanon",lbr:"Liberia",lby:"Libya",lca:"Saint Lucia",lie:"Liechtenstein",lka:"Sri Lanka",lso:"Lesotho",ltu:"Lithuania",lux:"Luxembourg",lva:"Latvia",mac:"Macao",maf:"Saint Martin (French part)",mar:"Morocco",mco:"Monaco",mda:"Moldova (the Republic of)",mdg:"Madagascar",mdv:"Maldives",mex:"Mexico",mhl:"Marshall Islands (the)",mkd:"Macedonia (the former Yugoslav Republic of)",mli:"Mali",mlt:"Malta",mmr:"Myanmar",mne:"Montenegro",mng:"Mongolia",mnp:"Northern Mariana Islands (the)",moz:"Mozambique",mrt:"Mauritania",msr:"Montserrat",mtq:"Martinique",mus:"Mauritius",mwi:"Malawi",mys:"Malaysia",myt:"Mayotte",nam:"Namibia",ncl:"New Caledonia",ner:"Niger (the)",nfk:"Norfolk Island",nga:"Nigeria",nic:"Nicaragua",niu:"Niue",nld:"Netherlands (the)",nor:"Norway",npl:"Nepal",nru:"Nauru",nzl:"New Zealand",omn:"Oman",pak:"Pakistan",pan:"Panama",pcn:"Pitcairn",per:"Peru",phl:"Philippines (the)",plw:"Palau",png:"Papua New Guinea",pol:"Poland",pri:"Puerto Rico",prk:"Korea (the Democratic People's Republic of)",prt:"Portugal",pry:"Paraguay",pse:"Palestine, State of",pyf:"French Polynesia",qat:"Qatar",reu:"Réunion",rou:"Romania",rus:"Russian Federation (the)",rwa:"Rwanda",sau:"Saudi Arabia",sdn:"Sudan (the)",sen:"Senegal",sgp:"Singapore",sgs:"South Georgia and the South Sandwich Islands",shn:"Saint Helena, Ascension and Tristan da Cunha",sjm:"Svalbard and Jan Mayen",slb:"Solomon Islands",sle:"Sierra Leone",slv:"El Salvador",smr:"San Marino",som:"Somalia",spm:"Saint Pierre and Miquelon",srb:"Serbia",ssd:"South Sudan",stp:"Sao Tome and Principe",sur:"Suriname",svk:"Slovakia",svn:"Slovenia",swe:"Sweden",swz:"Swaziland",sxm:"Sint Maarten (Dutch part)",syc:"Seychelles",syr:"Syrian Arab Republic",tca:"Turks and Caicos Islands (the)",tcd:"Chad",tgo:"Togo",tha:"Thailand",tjk:"Tajikistan",tkl:"Tokelau",tkm:"Turkmenistan",tls:"Timor-Leste",ton:"Tonga",tto:"Trinidad and Tobago",tun:"Tunisia",tur:"Turkey",tuv:"Tuvalu",twn:"Taiwan (Province of China)",tza:"Tanzania, United Republic of",uga:"Uganda",ukr:"Ukraine",umi:"United States Minor Outlying Islands (the)",ury:"Uruguay",usa:"United States of America (the)",uzb:"Uzbekistan",vat:"Holy See (the)",vct:"Saint Vincent and the Grenadines",ven:"Venezuela (Bolivarian Republic of)",vgb:"Virgin Islands (British)",vir:"Virgin Islands (U.S.)",vnm:"Viet Nam",vut:"Vanuatu",wlf:"Wallis and Futuna",wsm:"Samoa",yem:"Yemen",zaf:"South Africa",zmb:"Zambia",zwe:"Zimbabwe",zzz:"Others"};function To(){const{settings:e,query:t,showError:n}=(0,i.useContext)(Q),[a,o]=(0,i.useState)([]),[l,s]=(0,i.useState)({type:"table",perPage:10,page:1,sort:{},search:"",filters:[],hiddenFields:[],layout:{}});(0,i.useEffect)((()=>{c()}),[t,e.token]),(0,i.useEffect)((()=>{u()}),[l.sort]);const c=()=>{window.gapi.client.setToken(e.token),window.gapi?.client?.webmasters.searchanalytics.query({...t,siteUrl:e.site}).then((e=>{e.result.rows?o(p(e.result.rows)):o([])})).catch((e=>{n(e)}))},u=()=>{"keys"===l.sort.field?d():m()},d=()=>{"desc"===l.sort.direction?a.sort(((e,t)=>t.keys.localeCompare(e.keys))):a.sort(((e,t)=>e.keys.localeCompare(t.keys)))},m=()=>{"desc"===l.sort.direction?a.sort(((e,t)=>e[l.sort.field]-t[l.sort.field])):a.sort(((e,t)=>t[l.sort.field]-e[l.sort.field]))},p=e=>e.map((e=>({...e,keys:e.keys[0]}))),f=[{id:"keys",header:"Query",enableHiding:!1,render:({item:e})=>t.dimensions.includes("country")?Do[e.keys]:e.keys},{id:"clicks",header:"Clicks",enableHiding:!1,render:({item:e})=>e.clicks},{id:"ctr",header:"CTR",render:({item:e})=>(100*e.ctr).toFixed(2)+"%"},{id:"impressions",header:"Impressions",render:({item:e})=>e.impressions},{id:"position",header:"Position",render:({item:e})=>Math.round(100*e.position)/100}],h=(0,i.useMemo)((()=>({totalItems:a.length,totalPages:Math.ceil(a.length/l.perPage)})),[a,l.perPage]);return(0,r.createElement)("div",{className:"search-console-table-wrapper"},(0,r.createElement)("div",{className:"search-console-table-bar"},(0,r.createElement)(xo,null)),(0,r.createElement)(Io,{paginationInfo:h,data:(v=a,v.slice((l.page-1)*l.perPage,l.page*l.perPage)),fields:f,view:l,onChangeView:s,getItemId:e=>e.keys,supportedLayouts:["table"],search:!1}));var v}const Oo=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z"}));function Ao(e){const{filter:t,handleChange:n}=e;return(0,r.createElement)(i.Fragment,null,(0,r.createElement)(l.RadioControl,{selected:t?.expression,options:[{label:(0,A.__)("Desktop","search-console"),value:"desktop"},{label:(0,A.__)("Mobile","search-console"),value:"mobile"},{label:(0,A.__)("Tablet","search-console"),value:"tablet"}],onChange:e=>{n(e)}}))}function Po(e){const{filter:t,handleChange:n}=e;return(0,r.createElement)(i.Fragment,null,(0,r.createElement)(l.FormTokenField,{value:t.expression?[t.expression]:[],suggestions:Object.values(Do),onChange:e=>{return t=e[0],void n(Object.keys(Do)[Object.values(Do).indexOf(t)]);var t},label:(0,A.__)("Choose a country","search-console"),maxLength:"1",__experimentalShowHowTo:!1}))}function Mo(e){const{filter:t,handleChange:n}=e;return(0,r.createElement)(l.__experimentalVStack,null,(0,r.createElement)(l.SelectControl,{selected:t?.operator,options:[{value:"CONTAINS",label:(0,A.__)("Urls containing","search-console")},{value:"NOT_CONTAINS",label:(0,A.__)("Urls not containing","search-console")},{value:"EQUALS",label:(0,A.__)("Exact url","search-console")}],onChange:e=>{n(t?.expression,e)}}),(0,r.createElement)(l.TextControl,{value:t?.expression,placeholder:"https://www.example.com",onChange:e=>{n(e,t?.operator?t?.operator:"CONTAINS")}}))}function Fo(e){const{filter:t,handleChange:n}=e;return(0,r.createElement)(l.__experimentalVStack,null,(0,r.createElement)(l.SelectControl,{value:t?.operator,options:[{value:"CONTAINS",label:(0,A.__)("Queries containing","search-console")},{value:"NOT_CONTAINS",label:(0,A.__)("Queries not containing","search-console")},{value:"EQUALS",label:(0,A.__)("Exact query","search-console")}],onChange:e=>{n(t?.expression,e)}}),(0,r.createElement)(l.TextControl,{value:t?.expression||"",onChange:e=>{n(e,t?.operator?t?.operator:"CONTAINS")}}))}function No(e){const{onRequestClose:t,modal:n,title:a}=e,{query:o,updateQuery:s}=(0,i.useContext)(Q),[c,u]=(0,i.useState)(n),[d,m]=(0,i.useState)(o.searchType),p={device:Ao,country:Po,page:Mo,query:Fo}[n.dimension];return(0,r.createElement)(l.Modal,{title:a,onRequestClose:t},(0,r.createElement)(l.__experimentalVStack,null,(0,r.createElement)("div",{className:"search-console-modal-container"},(0,r.createElement)(p,{handleChange:(e,t)=>{"searchType"===n.dimension?m(e):u({dimension:n.dimension,expression:e,operator:t})},searchType:d,filter:c})),(0,r.createElement)(l.Flex,null,(0,r.createElement)(l.Button,{isDestructive:!0,onClick:t},(0,A.__)("Cancel","search-console")),(0,r.createElement)(l.Button,{variant:"primary",onClick:()=>{if("searchType"===n.dimension)s("searchType",d);else{let e=[...o.dimensionFilterGroups].map((e=>e.filters)).shift()||[];if(e.length){const t=e.find((e=>e.dimension===c.dimension));t||e.push(c),t&&(e=e.map((e=>e.dimension===c.dimension?c:e)))}else e.push(c);s("dimensionFilterGroups",[{filters:e}])}t()},disabled:"searchType"!==n.dimension&&!c?.expression},(0,A.__)("Save","search-console")))))}function Vo(){const{updateQuery:e,updateSetting:t,settings:n}=(0,i.useContext)(Q),[a,o]=(0,i.useState)((0,A.__)("Last 28 days","search-console")),s=(n,r)=>{const a=moment().subtract(2,"days").subtract(n,r).format("YYYY-MM-DD");o("Last "+n+" "+r),t("customDate",!1),e("startDate",a)};return(0,r.createElement)(l.Dropdown,{className:"my-container-class-name",contentClassName:"my-popover-content-classname",placement:"bottom right",renderToggle:({isOpen:e,onToggle:t})=>(0,r.createElement)(l.Button,{variant:"secondary",onClick:t,"aria-expanded":e},n.customDate?(0,A.__)("Custom date","search-console"):a),renderContent:({onToggle:e})=>(0,r.createElement)(i.Fragment,null,(0,r.createElement)(l.MenuGroup,null,(0,r.createElement)(l.MenuItem,{onClick:()=>{s(7,"days"),e()}},(0,A.__)("Last 7 days","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{s(28,"days"),e()}},(0,A.__)("Last 28 days","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{s(1,"months"),e()}},(0,A.__)("Last month","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{s(3,"months"),e()}},(0,A.__)("Last 3 months","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{s(6,"months"),e()}},(0,A.__)("Last 6 months","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{s(12,"months"),e()}},(0,A.__)("Last 12 months","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{s(16,"months"),e()}},(0,A.__)("Last 18 months","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{t("customDate",!n.customDate),e()}},(0,A.__)("Custom date","search-console"))))})}function Lo(){const{query:e,updateQuery:t,settings:n}=(0,i.useContext)(Q);return(0,r.createElement)(l.Flex,null,n.customDate&&(0,r.createElement)(i.Fragment,null,(0,r.createElement)(l.FlexItem,null,(0,r.createElement)("b",null,"From:")),(0,r.createElement)(l.FlexItem,null,(0,r.createElement)(l.Dropdown,{popoverProps:{placement:"bottom-start"},renderToggle:({isOpen:t,onToggle:n})=>(0,r.createElement)(l.Button,{variant:"secondary",onClick:n,"aria-expanded":t},e.startDate?(0,x.format)("F j, Y",e.startDate):(0,A.__)("Click here to set start date.","search-console")),renderContent:()=>(0,r.createElement)(l.DatePicker,{__nextRemoveHelpButton:!0,currentDate:e.startDate,onChange:e=>{t("startDate",(0,x.dateI18n)("Y-m-d",e))},isInvalidDate:t=>{if(e.endDate)return new Date(t)>new Date(e.endDate)}})})),(0,r.createElement)(l.FlexItem,null,(0,r.createElement)("b",null,"To:")),(0,r.createElement)(l.FlexItem,null,(0,r.createElement)(l.Dropdown,{popoverProps:{placement:"bottom-start"},renderToggle:({isOpen:t,onToggle:n})=>(0,r.createElement)(l.Button,{variant:"secondary",onClick:n,"aria-expanded":t},e.endDate?(0,x.format)("F j, Y",e.endDate):(0,A.__)("Click here to set end date.","search-console")),renderContent:()=>(0,r.createElement)(l.DatePicker,{__nextRemoveHelpButton:!0,currentDate:e.endDate,onChange:e=>t("endDate",(0,x.dateI18n)("Y-m-d",e)),isInvalidDate:t=>new Date(t)<new Date(e.startDate)||new Date(t)>new Date})}))),(0,r.createElement)(l.FlexItem,null,(0,r.createElement)(Vo,null)))}const Ro="Enter",zo=" ";function Bo(){const[e,t]=(0,i.useState)(!1),{query:n,updateQuery:a}=(0,i.useContext)(Q),o=e=>{a("type",e)},s=n.dimensionFilterGroups.map((e=>e.filters));return(0,r.createElement)(i.Fragment,null,(0,r.createElement)("div",{className:"search-console-filters"},(0,r.createElement)("div",{className:"search-console-filters-options"},(0,r.createElement)(l.Dropdown,{popoverProps:{placement:"bottom-start"},renderToggle:({isOpen:e,onToggle:t})=>(0,r.createElement)(l.Button,{variant:"primary",onClick:t,"aria-expanded":e},(0,A.__)("Search type: ","search-console")+n.type),renderContent:({onToggle:e})=>(0,r.createElement)(l.MenuGroup,null,(0,r.createElement)(l.MenuItem,{onClick:()=>{o("web"),e()}},(0,A.__)("Web","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{o("image"),e()}},(0,A.__)("Image","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{o("video"),e()}},(0,A.__)("Video","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{o("news"),e()}},(0,A.__)("News","search-console")))}),(0,r.createElement)(l.Dropdown,{className:"my-container-class-name",contentClassName:"my-popover-content-classname",placement:"bottom right",renderToggle:({isOpen:e,onToggle:t})=>(0,r.createElement)(l.Button,{variant:"secondary",onClick:t,"aria-expanded":e,icon:Oo,iconPosition:"right",text:(0,A.__)("New","search-console")}),renderContent:({onToggle:e})=>(0,r.createElement)(l.MenuGroup,null,(0,r.createElement)(l.MenuItem,{onClick:()=>{t({dimension:"query",expression:"",operator:""}),e()}},(0,A.__)("Query","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{t({dimension:"page",expression:"",operator:""}),e()}},(0,A.__)("Page","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{t({dimension:"country",expression:"",operator:""}),e()}},(0,A.__)("Country","search-console")),(0,r.createElement)(l.MenuItem,{onClick:()=>{t({dimension:"device",expression:"",operator:""}),e()}},(0,A.__)("Device","search-console")))}),s.map((e=>e.map(((e,o)=>(0,r.createElement)("div",{className:"dataviews-filter-summary__chip-container",key:o},(0,r.createElement)("div",{className:"dataviews-filter-summary__chip has-reset",role:"button",tabIndex:"0","aria-pressed":"false","aria-expanded":"false",onClick:()=>t(e),onKeyDown:n=>{[Ro,zo].includes(n.key)&&(t(e),n.preventDefault())}},e.dimension+": "+(e=>e.operator?"EQUALS"===e.operator?"":"CONTAINS"===e.operator?"+":"-":"")(e)+e.expression,(0,r.createElement)("button",{className:"dataviews-filter-summary__chip-remove has-values",onClick:t=>{t.stopPropagation(),(e=>{const t=[...n.dimensionFilterGroups.map((e=>e.filters))[0].filter((t=>t.dimension!==e.dimension))];a("dimensionFilterGroups",t.length?[{filters:t}]:[])})(e)}},(0,r.createElement)(l.Icon,{icon:It}))))))))),(0,r.createElement)("div",null,(0,r.createElement)(Lo,{query:n}))),e&&(0,r.createElement)(No,{onRequestClose:()=>{t(!1)},modal:e,title:e.dimension}))}const Ho=[{name:"Systeme.io",ad:(0,A.__)("Free online marketing platform with funnel builder. Create popup, squeeze page, funnel automations all for FREE. No credit card required","search-console"),link:"https://systeme.io/?sa=sa0181820865b77bd583c54e7e7668a6a77e78f1c7",isLink:!0},{name:"Formello",ad:(0,A.__)("Lightweight Gutenberg contact form builder, blazingly fast with no external dependencies and ReCaptcha support.","search-console"),slug:"formello"},{name:"Popper",ad:(0,A.__)("Do you need a POPUP plugin? Check Popper a Popup builder with exit-intent powered by Gutenberg.","search-console"),slug:"popper"},{name:"Pdf Embed",ad:(0,A.__)("A Gutenberg block to embed your PDF with official Adobe API.","search-console"),slug:"pdf-embed"}],jo=({plugins:e,direction:t,noSlide:n})=>{const[a,o]=(0,i.useState)(0),[c,u]=(0,i.useState)([]),{saveEntityRecord:d}=(0,s.useDispatch)($.store);(0,i.useEffect)((()=>{m()}),[]),(0,i.useEffect)((()=>{if(n)return;const e=setInterval((()=>{p()}),5e3);return()=>clearInterval(e)}));const m=()=>{const t=Ho.filter((t=>!e?.find((e=>e.name===t.name))));u(t)},p=()=>{if(c.length>1){const e=(a+1)%c.length;o(e)}},f=e=>{if(0===e)return a>0?"-"+100/c.length*a+"%":0};return(0,r.createElement)("div",{className:"slideshow-container",style:{width:`calc( 100% * ${c.length})`}},c.map(((e,n)=>(0,r.createElement)("div",{key:n,className:"slide "+(n===a?"active":""),style:{width:`calc( 100% / ${c.length})`,marginLeft:f(n)}},(0,r.createElement)(l.__experimentalHStack,{justify:"flex-start",direction:t},(0,r.createElement)("span",null,e.ad),e.isLink?(0,r.createElement)(l.Button,{variant:"primary",size:"small",text:(0,A.__)("Get FREE offer!","search-console"),href:e.link,target:"_blank",icon:"megaphone"}):(0,r.createElement)(l.Button,{variant:"primary",size:"small",text:(0,A.__)("Install","search-console"),onClick:()=>{return t=e.slug,void d("root","plugin",{slug:t,status:"active"});var t}}))))))},Ko=e=>{const{plugins:t}=(0,s.useSelect)((e=>{const t=e("core").getPlugins({per_page:-1});return{plugins:t?.filter((e=>["formello/formello","popper/popper","pdf-embed/pdf-embed"].includes(e.plugin)))}})),[n,a]=(0,i.useState)((()=>{const e=window.localStorage.getItem("sc-shown");return JSON.parse(e)||(new Date).getTime()}));return t?(0,r.createElement)(l.Card,null,(0,r.createElement)("div",{style:{overflowX:"hidden"}},(0,r.createElement)(jo,{plugins:t,...e}))):null},Go=()=>{const e=C(),{settings:t,ready:n}=(0,i.useContext)(Q);if(!n||!t)return(0,r.createElement)(P,{text:(0,A.__)("Fetching data…","search-console")});const a=t=>(0,i.createInterpolateElement)(t,{a:(0,r.createElement)(l.Button,{text:(0,A.__)("settings page","search-console"),onClick:()=>e.push({page:"search-console-settings"}),variant:"link"})});return t.token&&t.token.refresh_token?t.credentials.client_secret&&t.credentials.client_id?t.site?(0,r.createElement)("div",{className:"search-console-dashboard"},(0,r.createElement)(l.__experimentalVStack,null,(0,r.createElement)(l.Card,null,(0,r.createElement)(l.CardBody,null,(0,r.createElement)(Z,null))),(0,r.createElement)(l.Card,null,(0,r.createElement)(l.CardBody,null,(0,r.createElement)(Bo,null))),(0,r.createElement)(Ko,{noSlide:!0}),(0,r.createElement)(l.Card,null,(0,r.createElement)(l.CardBody,null,(0,r.createElement)(To,null))))):(0,r.createElement)(l.Notice,{status:"warning",isDismissible:!1},(0,r.createElement)("p",null,a((0,A.__)("Please select a site on <a />.","search-console")))):(0,r.createElement)(l.Notice,{status:"warning",isDismissible:!1},(0,r.createElement)("p",null,a((0,A.__)("Please provide a Client Secret and a Client ID on <a />.","search-console")))):(0,r.createElement)(l.Notice,{status:"warning",isDismissible:!1},(0,r.createElement)("p",null,a((0,A.__)("Please authenticate on <a />.","search-console"))))},Uo=(0,r.createContext)(null);function Wo({clientId:e,onScriptLoadSuccess:t,onScriptLoadError:n,children:a}){const i=function(e={}){const{onScriptLoadSuccess:t,onScriptLoadError:n}=e,[a,o]=(0,r.useState)(!1),i=(0,r.useRef)(t);i.current=t;const l=(0,r.useRef)(n);return l.current=n,(0,r.useEffect)((()=>{const e=document.createElement("script");return e.src="https://accounts.google.com/gsi/client",e.async=!0,e.defer=!0,e.onload=()=>{var e;o(!0),null===(e=i.current)||void 0===e||e.call(i)},e.onerror=()=>{var e;o(!1),null===(e=l.current)||void 0===e||e.call(l)},document.body.appendChild(e),()=>{document.body.removeChild(e)}}),[]),a}({onScriptLoadSuccess:t,onScriptLoadError:n}),l=(0,r.useMemo)((()=>({clientId:e,scriptLoadedSuccessfully:i})),[e,i]);return o().createElement(Uo.Provider,{value:l},a)}const qo=()=>{const{updateSetting:e,settings:t,revokeToken:n}=(0,i.useContext)(Q),[a,o]=(0,i.useState)(!1),s=function({flow:e="implicit",scope:t="",onSuccess:n,onError:a,onNonOAuthError:o,overrideScope:i,...l}){const{clientId:s,scriptLoadedSuccessfully:c}=function(){const e=(0,r.useContext)(Uo);if(!e)throw new Error("Google OAuth components must be used within GoogleOAuthProvider");return e}(),u=(0,r.useRef)(),d=(0,r.useRef)(n);d.current=n;const m=(0,r.useRef)(a);m.current=a;const p=(0,r.useRef)(o);p.current=o,(0,r.useEffect)((()=>{var n;if(!c)return;const r="implicit"===e?"initTokenClient":"initCodeClient",a=null===(n=window.google)||void 0===n?void 0:n.accounts.oauth2[r]({client_id:s,scope:i?t:`openid profile email ${t}`,callback:e=>{var t,n;if(e.error)return null===(t=m.current)||void 0===t?void 0:t.call(m,e);null===(n=d.current)||void 0===n||n.call(d,e)},error_callback:e=>{var t;null===(t=p.current)||void 0===t||t.call(p,e)},...l});u.current=a}),[s,c,e,t]);const f=(0,r.useCallback)((e=>{var t;return null===(t=u.current)||void 0===t?void 0:t.requestAccessToken(e)}),[]),h=(0,r.useCallback)((()=>{var e;return null===(e=u.current)||void 0===e?void 0:e.requestCode()}),[]);return"implicit"===e?f:h}({flow:"auth-code",onSuccess:async({code:e})=>{c(e)},scope:"https://www.googleapis.com/auth/webmasters.readonly https://www.googleapis.com/auth/siteverification email"}),c=(function(e,t,...n){window.google&&window.google.accounts.oauth2.hasGrantedAnyScope(e,t,...n)}(window.search_console.token,"https://www.googleapis.com/auth/webmasters.readonly"),t=>{I()({path:"/searchconsole/v1/credentials",method:"POST",data:{code:t}}).then((t=>{e("token",t),o({status:"success",text:(0,A.__)("You're logged in","search-console")})})).catch((e=>{o({status:"error",text:e.message})})).finally((()=>console.log("Success")))});return(0,r.createElement)(i.Fragment,null,(0,r.createElement)(l.Button,{variant:"primary",onClick:()=>s(),icon:"google"},(t.token.id_token?JSON.parse(atob(t.token.id_token.split(".")[1])).email:null)||(0,A.__)("Login with Google","search-console")),t.token.id_token&&(0,r.createElement)("p",null,(0,r.createElement)(l.Button,{text:(0,A.__)("Revoke token","search-console"),onClick:()=>n(),isDestructive:!0,isSmall:!0})),a&&(0,r.createElement)(l.Notice,{status:a.status,isDismissible:!1},a.text))},Yo=e=>{const{settings:t}=(0,i.useContext)(Q);return(0,r.createElement)(l.Card,null,(0,r.createElement)(l.CardHeader,null,(0,r.createElement)("b",null,(0,A.__)("Google Oauth","search-console"))),(0,r.createElement)(l.CardBody,null,(!t?.credentials?.client_id?.length||!t?.credentials?.client_secret?.length)&&(0,r.createElement)(l.Notice,{status:"warning",isDismissible:!1},(0,A.__)("You must insert a Client Id and a Client secret to correctly request your authentication token.","search-console")),t?.credentials?.client_id&&t?.credentials?.client_secret&&(0,r.createElement)(Wo,{clientId:t?.credentials?.client_id},(0,r.createElement)(qo,{...e}))))},$o=()=>{var e,t;const{settings:n,updateSetting:a}=(0,i.useContext)(Q);function o(e,t){const r=Object.assign({},n.credentials);r[e]=t,a("credentials",r)}const s=(0,A.sprintf)("https://developers.google.com/web/site-kit?sitename=%1$s&siteurl=%2$s",n.title,n.wp_url);return(0,r.createElement)(l.Card,null,(0,r.createElement)(l.CardHeader,null,(0,r.createElement)("b",null,(0,A.__)("Google Credentials","search-console"))),(0,r.createElement)(l.CardBody,null,(0,r.createElement)(i.RawHTML,null,(0,A.sprintf)(/* translators: Developer console url. */ /* translators: Developer console url. */
    16 (0,A.__)('<p>You need to create a <a target="_blank" href="%1$s">Google Developer Console</a> account before proceeding to authorization.</p><p>Create a project from Google Developers Console if none exists.</p><p>Go to Credentials tab, then create credential for OAuth client.</p>Application type will be Web Application. Add <code>%2$s</code> in Authorized redirect URIs. This will give you Client ID and Client Secret key.<p>',"search-console"),"https://console.developers.google.com/",n.wp_url)),(0,r.createElement)(i.RawHTML,null,(0,A.sprintf)(/* translators: Google Site Kit url. */ /* translators: Google Site Kit url. */
    17 (0,A.__)('<p><b>Tip</b>: the simplest way to get your own credentials is to go to <a target="_blank" href="%s">Google Site Kit</a> site and follow step. Don\'t forget to add your site url as authorized Javascript origin.</p>',"search-console"),s)),(0,r.createElement)(l.TextControl,{placeholder:"CLIENT ID",value:null!==(e=n?.credentials?.client_id)&&void 0!==e?e:"",label:(0,A.__)("Client ID","search-console"),help:(0,A.__)("Please go to Developer Console to obtain your credentials.","search-console"),onChange:e=>{o("client_id",e)}}),(0,r.createElement)(l.TextControl,{placeholder:"CLIENT SECRET",value:null!==(t=n?.credentials?.client_secret)&&void 0!==t?t:"",label:(0,A.__)("Client secret","search-console"),help:(0,A.__)("Please go to Developer Console to obtain your credentials.","search-console"),onChange:e=>{o("client_secret",e)}})))};function Qo(){return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(Ko,{direction:"column"}),(0,r.createElement)(l.Card,null,(0,r.createElement)(l.CardHeader,null,(0,r.createElement)("b",null,(0,A.__)("Need help?","search-console"))),(0,r.createElement)(l.CardBody,null,(0,r.createElement)("p",null,(0,A.__)("Detailed documentation is available on the plugin website.","search-console")),(0,r.createElement)(l.ExternalLink,{href:"https://www.francescopepe.com/docs/search-console"},(0,A.__)("Documentation","search-console")),(0,r.createElement)("p",null,(0,A.__)("We would love to help you out if you need any help.","search-console")),(0,r.createElement)(l.ExternalLink,{href:"https://wordpress.org/support/plugin/search-console/"},(0,A.__)("Ask a question","search-console")))),(0,r.createElement)(l.Card,{className:"ads-container__reviews"},(0,r.createElement)(l.CardHeader,null,(0,r.createElement)("b",null,(0,A.__)("Do you like the plugin?","search-console"))),(0,r.createElement)(l.CardBody,null,(0,r.createElement)("p",null,(0,A.__)("If you like search-console plugin you can share a review to help us and spread some love!","search-console")),(0,r.createElement)(l.ExternalLink,{href:"https://wordpress.org/support/plugin/search-console/reviews/#new-post"},(0,A.__)("Rate 5 stars!","search-console")))))}const Xo=()=>{const{settings:e,updateSetting:t,refreshToken:n,saveSettings:a}=(0,i.useContext)(Q);return(0,r.createElement)("div",{className:"search-console-Advanced"},e.site&&(0,r.createElement)(i.Fragment,null,(0,r.createElement)("p",null,(0,A.__)("Do you want to add meta tag verification on your site?","search-console")),(0,r.createElement)(l.ToggleControl,{label:(0,A.__)("Add verification to site?","search-console"),help:(0,A.__)("Check this if you want output meta verification on frontend.","search-console"),checked:e.siteVerification,onChange:e=>{t("siteVerification",e),a()}})),e.siteVerification&&(0,r.createElement)(l.__experimentalInputControl,{help:(0,A.__)("Please click on icon to generate your meta verification tag.","search-console"),label:(0,A.__)("Your meta verification tag","search-console"),value:e.meta,onChange:e=>{t("meta",e)},suffix:(0,r.createElement)(l.Button,{onClick:()=>{e.siteVerification&&e.site&&window.gapi.client.load("siteVerification","v1").then((()=>{window.gapi.client.siteVerification.webResource.getToken({verificationMethod:"META",site:{identifier:e.site.replace("sc-domain:",""),type:"SITE"}}).then((e=>{t("meta",e.result.token),a()})).catch((e=>{401===e.status&&n()}))}))},icon:"update"})}))};function Zo(){const{settings:e,updateSetting:t,saveSettings:n}=(0,i.useContext)(Q),a=(0,s.useSelect)((e=>e($.store).getPostTypes({per_page:-1})),[]),o=Array.isArray(a)?a.filter((e=>e.viewable)).map((e=>({label:e.labels.singular_name,value:e.slug}))):a;return(0,r.createElement)(i.Fragment,null,(0,r.createElement)("p",null,(0,A.__)("Choose on which post type you want see Search Console data.","search-console")),o&&o.map(((a,o)=>(0,r.createElement)(l.ToggleControl,{key:o,label:a.label,checked:e.postTypes.includes(a.value),onChange:r=>{r?(r=>{t("postTypes",[...e.postTypes,r]),n()})(a.value):(r=>{const a=e.postTypes.filter((e=>e!==r));t("postTypes",a),n()})(a.value)}}))))}const Jo=e=>{const{settings:t,updateSetting:n,refreshToken:a,saveSettings:o}=(0,i.useContext)(Q),[s,c]=(0,i.useState)(null);(0,i.useEffect)((()=>{t.token.access_token&&u()}),[t.token]);const u=()=>{const e=[{value:"",label:(0,A.__)("Select a site","search-console")}];window.gapi?.client?.setToken(t.token),window.gapi?.client?.webmasters?.sites.list().then((t=>{t.result.siteEntry.forEach((t=>{e.push({value:t.siteUrl,label:t.siteUrl})})),e.sort((function(e,t){return e.value<t.value?-1:0})),c(e.sort())})).catch((e=>{401===e.status&&a()}))};return(0,r.createElement)(l.Card,null,(0,r.createElement)(l.CardHeader,null,(0,r.createElement)("b",null,(0,A.__)("Options","search-console"))),(0,r.createElement)(l.CardBody,null,(0,r.createElement)(l.SelectControl,{options:s,label:(0,A.__)("Choose site","search-console"),help:(0,A.__)("Choose one of your sites.","search-console"),value:t.site,onChange:e=>{n("site",e),o()}}),(0,r.createElement)(Zo,{...e}),(0,r.createElement)(Xo,{...e})))},ei=(0,i.forwardRef)((function({icon:e,size:t=24,...n},r){return(0,i.cloneElement)(e,{width:t,height:t,...n,ref:r})})),ti=(0,r.createElement)(J.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,r.createElement)(J.Path,{d:"M17.3 10.1c0-2.5-2.1-4.4-4.8-4.4-2.2 0-4.1 1.4-4.6 3.3h-.2C5.7 9 4 10.7 4 12.8c0 2.1 1.7 3.8 3.7 3.8h9c1.8 0 3.2-1.5 3.2-3.3.1-1.6-1.1-2.9-2.6-3.2zm-.5 5.1h-9c-1.2 0-2.2-1.1-2.2-2.3s1-2.4 2.2-2.4h1.3l.3-1.1c.4-1.3 1.7-2.2 3.2-2.2 1.8 0 3.3 1.3 3.3 2.9v1.3l1.3.2c.8.1 1.4.9 1.4 1.8-.1 1-.9 1.8-1.8 1.8z"}));function ni(){const[e]=(0,i.useState)("saved"),{isSaving:t,saveSettings:n,hasEdits:a}=(0,i.useContext)(Q);return(0,r.createElement)(r.Fragment,null,(0,r.createElement)(l.Flex,{justify:"flex-start"},(0,r.createElement)(l.Button,{className:"save-settings__save-button",onClick:()=>n(),disabled:t||!a,isBusy:t,variant:"primary"},(0,A.__)("Save","search-console")),[t&&(0,r.createElement)(l.Animate,{type:"loading",key:"saving"},(({className:e})=>(0,r.createElement)(l.Flex,{justify:"flex-start",className:_e()("message",e),gap:1},(0,r.createElement)(ei,{icon:ti}),(0,A.__)("Saving","block-visibility")))),"error"===e&&(0,r.createElement)("span",{className:"message update-failed",key:"error"},(0,A.__)("Update failed. Try again or get in touch with support.","search-console"))]))}const ri=()=>{const{ready:e,settings:t}=(0,i.useContext)(Q);return e&&t?(0,r.createElement)("div",{className:"search-console-settings"},(0,r.createElement)(l.__experimentalGrid,{columns:4,templateColumns:"3fr 1fr",gap:"4",align:"flex-start",className:"popper-settings"},(0,r.createElement)(l.__experimentalVStack,null,(0,r.createElement)(Yo,null),(0,r.createElement)(Jo,null),(0,r.createElement)($o,null),(0,r.createElement)(ni,null)),(0,r.createElement)(l.__experimentalVStack,null,(0,r.createElement)(Qo,null)))):(0,r.createElement)(P,{text:(0,A.__)("Fetching data…","search-console")})};var ai,oi,ii,li,si,ci,ui,di,mi,pi,fi,hi;function vi(){return vi=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},vi.apply(this,arguments)}var gi=function(e){return r.createElement("svg",vi({xmlns:"http://www.w3.org/2000/svg",width:32,height:28,preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 228"},e),ai||(ai=r.createElement("defs",null,r.createElement("radialGradient",{id:"logo_svg__a",cx:"21.66%",cy:"28.708%",r:"82.87%",fx:"21.66%",fy:"28.708%",gradientTransform:"matrix(.59503 .59486 -.44034 .80383 .214 -.073)"},r.createElement("stop",{offset:"0%",stopColor:"#F1F2F2"}),r.createElement("stop",{offset:"100%",stopColor:"#E6E7E8"})))),oi||(oi=r.createElement("path",{fill:"#737373",d:"M165.98 0H90.02L71.098 19.055V37.98H90.02V19.055h75.958V37.98h18.924V19.055z"})),ii||(ii=r.createElement("path",{fill:"#BFBFBF",d:"M90.02 0v19.055h75.96V0z"})),li||(li=r.createElement("path",{fill:"url(#logo_svg__a)",d:"M36.402 37.98 0 74.381v134.177c0 10.513 8.542 18.924 18.924 18.924h218.152c10.513 0 18.924-8.543 18.924-18.924V74.513L219.466 37.98z"})),si||(si=r.createElement("path",{fill:"#FFF",d:"M28.517 109.076h199.097v118.538H28.517z"})),ci||(ci=r.createElement("path",{fill:"#E0E0E0",d:"M36.402 37.98 0 74.381v34.694h256V74.513L219.466 37.98z"})),ui||(ui=r.createElement("path",{fill:"#D1D1D1",d:"M42.71 213.29H128v14.193H42.71z"})),di||(di=r.createElement("path",{fill:"#4285F4",d:"M28.517 86.998c0-8.148 6.571-14.719 14.72-14.719h169.527c8.148 0 14.719 6.571 14.719 14.719v22.078H28.517z"})),mi||(mi=r.createElement("path",{fill:"#E6E6E6",d:"M56.903 90.152a7.067 7.067 0 0 1-7.096 7.096 7.067 7.067 0 0 1-7.097-7.096 7.067 7.067 0 0 1 7.097-7.097 7.067 7.067 0 0 1 7.096 7.097m23.656 0a7.067 7.067 0 0 1-7.097 7.096 7.067 7.067 0 0 1-7.096-7.096 7.067 7.067 0 0 1 7.096-7.097 7.067 7.067 0 0 1 7.097 7.097"})),pi||(pi=r.createElement("path",{fill:"#BABABA",d:"m227.483 165.191-29.832-29.832-9.988 30.883-40.739-40.608-1.183 62.686 15.113 23.655c2.234-.394-11.302 15.508-11.302 15.508h77.93z"})),fi||(fi=r.createElement("path",{fill:"#4D4D4D",d:"M208.821 164.008c0-16.821-9.856-31.277-23.918-38.242v39.95l-18.792 10.12-19.056-10.12v-40.082c-14.061 6.966-23.655 21.553-23.655 38.243 0 16.821 9.725 31.277 23.787 38.242v25.364h37.848v-25.364c13.93-6.834 23.786-21.42 23.786-38.11"})),hi||(hi=r.createElement("path",{fill:"#D1D1D1",d:"M42.71 123.269h66.366v75.828H42.71z"})))};function Ei({title:e}){return(0,r.createElement)("div",{className:"masthead"},(0,r.createElement)(gi,null),(0,r.createElement)("div",{className:"masthead__branding"},(0,r.createElement)("h1",null,e)))}function wi({title:e}){return(0,r.createElement)("div",{className:"footer"},(0,r.createElement)("div",{className:"inner-container"},(0,r.createElement)("a",{href:"https://github.com/Tropicalista/search-console",target:"_blank"},"Github"),(0,r.createElement)("a",{href:"https://wordpress.org/support/plugin/search-console/",target:"_blank"},(0,A.__)("Support","search-console")),(0,r.createElement)("a",{href:"https://wordpress.org/support/plugin/formello/reviews/#new-post",target:"_blank"},(0,A.__)("Rate ","formello"),(0,r.createElement)(l.Icon,{icon:"star-filled"}),(0,r.createElement)(l.Icon,{icon:"star-filled"}),(0,r.createElement)(l.Icon,{icon:"star-filled"}),(0,r.createElement)(l.Icon,{icon:"star-filled"}),(0,r.createElement)(l.Icon,{icon:"star-filled"}))))}const yi=()=>{const e=C(),{params:t}=(0,i.useContext)(y),n=document.querySelector("#toplevel_page_search-console"),a=()=>{const e=(0,h.getQueryArg)(window.location.href,"page");if(e)for(const t of n.querySelectorAll("a"))e===(0,h.getQueryArg)(t.href,"page")?(t.classList.add("current"),t.parentElement.classList.add("current")):(t.classList.remove("current"),t.parentElement.classList.remove("current"))},o=t=>{t.preventDefault(),e.push({page:(0,h.getQueryArg)(t.target.href,"page")}),a()};return(0,i.useEffect)((()=>(a(),n.addEventListener("click",o,!1),()=>{n.removeEventListener("click",o)})),[]),e.listen((()=>{a()})),"search-console-settings"===t.page?(0,r.createElement)(ri,null):(0,r.createElement)(Go,null)},bi=()=>(0,r.createElement)(Wo,null,(0,r.createElement)(S,null,(0,r.createElement)(Ei,{title:"Search Console"}),(0,r.createElement)(X,null,(0,r.createElement)(yi,null),(0,r.createElement)(Ci,null)),(0,r.createElement)(wi,null)));function Ci(){const e=(0,s.useSelect)((e=>e(c.store).getNotices()),[]),{removeNotice:t}=(0,s.useDispatch)(c.store),n=e.filter((({type:e})=>"snackbar"===e));return(0,r.createElement)(l.SnackbarList,{notices:n,onRemove:t})}window.addEventListener("DOMContentLoaded",(()=>{const e=document.getElementById("search-console-wrapper");(0,i.createRoot)(e).render((0,r.createElement)(bi,null))}))},485:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)){if(n.length){var i=a.apply(null,n);i&&e.push(i)}}else if("object"===o){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]")){e.push(n.toString());continue}for(var l in n)r.call(n,l)&&n[l]&&e.push(l)}}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(n=function(){return a}.apply(t,[]))||(e.exports=n)}()},20:(e,t,n)=>{"use strict";var r=n(609),a=Symbol.for("react.element"),o=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};t.jsx=function(e,t,n){var r,s={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)o.call(t,r)&&!l.hasOwnProperty(r)&&(s[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===s[r]&&(s[r]=t[r]);return{$$typeof:a,type:e,key:c,ref:u,props:s,_owner:i.current}}},848:(e,t,n)=>{"use strict";e.exports=n(20)},731:e=>{var t={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ả:"A",Ạ:"A",Ẩ:"A",Ẫ:"A",Ậ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ẻ:"E",Ẽ:"E",Ẹ:"E",Ể:"E",Ễ:"E",Ệ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ỉ:"I",Ị:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ỏ:"O",Ọ:"O",Ổ:"O",Ỗ:"O",Ộ:"O",Ờ:"O",Ở:"O",Ỡ:"O",Ớ:"O",Ợ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ủ:"U",Ụ:"U",Ử:"U",Ữ:"U",Ự:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ả:"a",ạ:"a",ẩ:"a",ẫ:"a",ậ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ẻ:"e",ẽ:"e",ẹ:"e",ể:"e",ễ:"e",ệ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ỉ:"i",ị:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ỏ:"o",ọ:"o",ổ:"o",ỗ:"o",ộ:"o",ờ:"o",ở:"o",ỡ:"o",ớ:"o",ợ:"o",ù:"u",ú:"u",û:"u",ü:"u",ủ:"u",ụ:"u",ử:"u",ữ:"u",ự:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z",й:"и",Й:"И",ё:"е",Ё:"Е"},n=Object.keys(t).join("|"),r=new RegExp(n,"g"),a=new RegExp(n,"");function o(e){return t[e]}var i=function(e){return e.replace(r,o)};e.exports=i,e.exports.has=function(e){return!!e.match(a)},e.exports.remove=i},63:(e,t,n)=>{"use strict";var r=n(609),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=r.useState,i=r.useEffect,l=r.useLayoutEffect,s=r.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!a(e,n)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=o({inst:{value:n,getSnapshot:t}}),a=r[0].inst,u=r[1];return l((function(){a.value=n,a.getSnapshot=t,c(a)&&u({inst:a})}),[e,n,t]),i((function(){return c(a)&&u({inst:a}),e((function(){c(a)&&u({inst:a})}))}),[e]),s(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:u},888:(e,t,n)=>{"use strict";e.exports=n(63)},609:e=>{"use strict";e.exports=window.React}},a={};function o(e){var t=a[e];if(void 0!==t)return t.exports;var n=a[e]={exports:{}};return r[e](n,n.exports,o),n.exports}o.m=r,e=[],o.O=(t,n,r,a)=>{if(!n){var i=1/0;for(u=0;u<e.length;u++){for(var[n,r,a]=e[u],l=!0,s=0;s<n.length;s++)(!1&a||i>=a)&&Object.keys(o.O).every((e=>o.O[e](n[s])))?n.splice(s--,1):(l=!1,a<i&&(i=a));if(l){e.splice(u--,1);var c=r();void 0!==c&&(t=c)}}return t}a=a||0;for(var u=e.length;u>0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[n,r,a]},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},n=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,o.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var a=Object.create(null);o.r(a);var i={};t=t||[null,n({}),n([]),n(n)];for(var l=2&r&&e;"object"==typeof l&&!~t.indexOf(l);l=n(l))Object.getOwnPropertyNames(l).forEach((t=>i[t]=()=>e[t]));return i.default=()=>e,o.d(a,i),a},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={57:0,350:0};o.O.j=t=>0===e[t];var t=(t,n)=>{var r,a,[i,l,s]=n,c=0;if(i.some((t=>0!==e[t]))){for(r in l)o.o(l,r)&&(o.m[r]=l[r]);if(s)var u=s(o)}for(t&&t(n);c<i.length;c++)a=i[c],o.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return o.O(u)},n=globalThis.webpackChunksearch_console=globalThis.webpackChunksearch_console||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var i=o.O(void 0,[350],(()=>o(761)));i=o.O(i)})();
     4(0,.sprintf)(/* translators: %s: item title. */
     5u?(0,.sprintf)(/* translators: %d: Number of items. */ /* translators: %d: Number of items. */
     6(0,.sprintf)(/* translators: List of items for a filter. 1: Filter name. e.g.: "List of: Author". */ /* translators: List of items for a filter. 1: Filter name. e.g.: "List of: Author". */
     7(0,.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is any: Admin, Editor". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is any: Admin, Editor". */
     8(0,.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is none: Admin, Editor". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is none: Admin, Editor". */
     9(0,.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is all: Admin, Editor". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is all: Admin, Editor". */
     10(0,.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not all: Admin, Editor". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not all: Admin, Editor". */
     11(0,.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is: Admin". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is: Admin". */
     12(0,.sprintf)(/* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not: Admin". */ /* translators: 1: Filter name. 3: Filter value. e.g.: "Author is not: Admin". */
     13(0,.sprintf)(/* translators: 1: Filter name e.g.: "Unknown status for Author". */ /* translators: 1: Filter name e.g.: "Unknown status for Author". */
     14(0,.sprintf)(/* translators: 1: Filter name. */ /* translators: 1: Filter name. */
     15(0,.sprintf)(/* translators: Developer console url. */ /* translators: Developer console url. */
     16(0,.sprintf)(/* translators: Google Site Kit url. */ /* translators: Google Site Kit url. */
     17(0,.__)("Rate ","formello"),(0,r.createElement)(l.Icon,{icon:"star-filled"}),(0,r.createElement)(l.Icon,{icon:"star-filled"}),(0,r.createElement)(l.Icon,{icon:"star-filled"}),(0,r.createElement)(l.Icon,{icon:"star-filled"}),(0,r.createElement)(l.Icon,{icon:"star-filled"}))))}const yi=()=>{const e=C(),{params:t}=(0,i.useContext)(y),n=document.querySelector("#toplevel_page_search-console"),a=()=>{const e=(0,h.getQueryArg)(window.location.href,"page");if(e)for(const t of n.querySelectorAll("a"))e===(0,h.getQueryArg)(t.href,"page")?(t.classList.add("current"),t.parentElement.classList.add("current")):(t.classList.remove("current"),t.parentElement.classList.remove("current"))},o=t=>{t.preventDefault(),e.push({page:(0,h.getQueryArg)(t.target.href,"page")}),a()};return(0,i.useEffect)((()=>(a(),n.addEventListener("click",o,!1),()=>{n.removeEventListener("click",o)})),[]),e.listen((()=>{a()})),"search-console-settings"===t.page?(0,r.createElement)(ri,null):(0,r.createElement)(Go,null)},bi=()=>(0,r.createElement)(Wo,null,(0,r.createElement)(S,null,(0,r.createElement)(Ei,{title:"Search Console"}),(0,r.createElement)(X,null,(0,r.createElement)(yi,null),(0,r.createElement)(Ci,null)),(0,r.createElement)(wi,null)));function Ci(){const e=(0,s.useSelect)((e=>e(c.store).getNotices()),[]),{removeNotice:t}=(0,s.useDispatch)(c.store),n=e.filter((({type:e})=>"snackbar"===e));return(0,r.createElement)(l.SnackbarList,{notices:n,onRemove:t})}window.addEventListener("DOMContentLoaded",(()=>{const e=document.getElementById("search-console-wrapper");(0,i.createRoot)(e).render((0,r.createElement)(bi,null))}))},485:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)){if(n.length){var i=a.apply(null,n);i&&e.push(i)}}else if("object"===o){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]")){e.push(n.toString());continue}for(var l in n)r.call(n,l)&&n[l]&&e.push(l)}}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(n=function(){return a}.apply(t,[]))||(e.exports=n)}()},20:(e,t,n)=>{"use strict";var r=n(609),a=Symbol.for("react.element"),o=(Symbol.for("react.fragment"),Object.prototype.hasOwnProperty),i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};t.jsx=function(e,t,n){var r,s={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)o.call(t,r)&&!l.hasOwnProperty(r)&&(s[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===s[r]&&(s[r]=t[r]);return{$$typeof:a,type:e,key:c,ref:u,props:s,_owner:i.current}}},848:(e,t,n)=>{"use strict";e.exports=n(20)},731:e=>{var t={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",Ấ:"A",Ắ:"A",Ẳ:"A",Ẵ:"A",Ặ:"A",Æ:"AE",Ầ:"A",Ằ:"A",Ȃ:"A",Ả:"A",Ạ:"A",Ẩ:"A",Ẫ:"A",Ậ:"A",Ç:"C",Ḉ:"C",È:"E",É:"E",Ê:"E",Ë:"E",Ế:"E",Ḗ:"E",Ề:"E",Ḕ:"E",Ḝ:"E",Ȇ:"E",Ẻ:"E",Ẽ:"E",Ẹ:"E",Ể:"E",Ễ:"E",Ệ:"E",Ì:"I",Í:"I",Î:"I",Ï:"I",Ḯ:"I",Ȋ:"I",Ỉ:"I",Ị:"I",Ð:"D",Ñ:"N",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",Ố:"O",Ṍ:"O",Ṓ:"O",Ȏ:"O",Ỏ:"O",Ọ:"O",Ổ:"O",Ỗ:"O",Ộ:"O",Ờ:"O",Ở:"O",Ỡ:"O",Ớ:"O",Ợ:"O",Ù:"U",Ú:"U",Û:"U",Ü:"U",Ủ:"U",Ụ:"U",Ử:"U",Ữ:"U",Ự:"U",Ý:"Y",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",ấ:"a",ắ:"a",ẳ:"a",ẵ:"a",ặ:"a",æ:"ae",ầ:"a",ằ:"a",ȃ:"a",ả:"a",ạ:"a",ẩ:"a",ẫ:"a",ậ:"a",ç:"c",ḉ:"c",è:"e",é:"e",ê:"e",ë:"e",ế:"e",ḗ:"e",ề:"e",ḕ:"e",ḝ:"e",ȇ:"e",ẻ:"e",ẽ:"e",ẹ:"e",ể:"e",ễ:"e",ệ:"e",ì:"i",í:"i",î:"i",ï:"i",ḯ:"i",ȋ:"i",ỉ:"i",ị:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ố:"o",ṍ:"o",ṓ:"o",ȏ:"o",ỏ:"o",ọ:"o",ổ:"o",ỗ:"o",ộ:"o",ờ:"o",ở:"o",ỡ:"o",ớ:"o",ợ:"o",ù:"u",ú:"u",û:"u",ü:"u",ủ:"u",ụ:"u",ử:"u",ữ:"u",ự:"u",ý:"y",ÿ:"y",Ā:"A",ā:"a",Ă:"A",ă:"a",Ą:"A",ą:"a",Ć:"C",ć:"c",Ĉ:"C",ĉ:"c",Ċ:"C",ċ:"c",Č:"C",č:"c",C̆:"C",c̆:"c",Ď:"D",ď:"d",Đ:"D",đ:"d",Ē:"E",ē:"e",Ĕ:"E",ĕ:"e",Ė:"E",ė:"e",Ę:"E",ę:"e",Ě:"E",ě:"e",Ĝ:"G",Ǵ:"G",ĝ:"g",ǵ:"g",Ğ:"G",ğ:"g",Ġ:"G",ġ:"g",Ģ:"G",ģ:"g",Ĥ:"H",ĥ:"h",Ħ:"H",ħ:"h",Ḫ:"H",ḫ:"h",Ĩ:"I",ĩ:"i",Ī:"I",ī:"i",Ĭ:"I",ĭ:"i",Į:"I",į:"i",İ:"I",ı:"i",IJ:"IJ",ij:"ij",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",Ḱ:"K",ḱ:"k",K̆:"K",k̆:"k",Ĺ:"L",ĺ:"l",Ļ:"L",ļ:"l",Ľ:"L",ľ:"l",Ŀ:"L",ŀ:"l",Ł:"l",ł:"l",Ḿ:"M",ḿ:"m",M̆:"M",m̆:"m",Ń:"N",ń:"n",Ņ:"N",ņ:"n",Ň:"N",ň:"n",ʼn:"n",N̆:"N",n̆:"n",Ō:"O",ō:"o",Ŏ:"O",ŏ:"o",Ő:"O",ő:"o",Œ:"OE",œ:"oe",P̆:"P",p̆:"p",Ŕ:"R",ŕ:"r",Ŗ:"R",ŗ:"r",Ř:"R",ř:"r",R̆:"R",r̆:"r",Ȓ:"R",ȓ:"r",Ś:"S",ś:"s",Ŝ:"S",ŝ:"s",Ş:"S",Ș:"S",ș:"s",ş:"s",Š:"S",š:"s",Ţ:"T",ţ:"t",ț:"t",Ț:"T",Ť:"T",ť:"t",Ŧ:"T",ŧ:"t",T̆:"T",t̆:"t",Ũ:"U",ũ:"u",Ū:"U",ū:"u",Ŭ:"U",ŭ:"u",Ů:"U",ů:"u",Ű:"U",ű:"u",Ų:"U",ų:"u",Ȗ:"U",ȗ:"u",V̆:"V",v̆:"v",Ŵ:"W",ŵ:"w",Ẃ:"W",ẃ:"w",X̆:"X",x̆:"x",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Y̆:"Y",y̆:"y",Ź:"Z",ź:"z",Ż:"Z",ż:"z",Ž:"Z",ž:"z",ſ:"s",ƒ:"f",Ơ:"O",ơ:"o",Ư:"U",ư:"u",Ǎ:"A",ǎ:"a",Ǐ:"I",ǐ:"i",Ǒ:"O",ǒ:"o",Ǔ:"U",ǔ:"u",Ǖ:"U",ǖ:"u",Ǘ:"U",ǘ:"u",Ǚ:"U",ǚ:"u",Ǜ:"U",ǜ:"u",Ứ:"U",ứ:"u",Ṹ:"U",ṹ:"u",Ǻ:"A",ǻ:"a",Ǽ:"AE",ǽ:"ae",Ǿ:"O",ǿ:"o",Þ:"TH",þ:"th",Ṕ:"P",ṕ:"p",Ṥ:"S",ṥ:"s",X́:"X",x́:"x",Ѓ:"Г",ѓ:"г",Ќ:"К",ќ:"к",A̋:"A",a̋:"a",E̋:"E",e̋:"e",I̋:"I",i̋:"i",Ǹ:"N",ǹ:"n",Ồ:"O",ồ:"o",Ṑ:"O",ṑ:"o",Ừ:"U",ừ:"u",Ẁ:"W",ẁ:"w",Ỳ:"Y",ỳ:"y",Ȁ:"A",ȁ:"a",Ȅ:"E",ȅ:"e",Ȉ:"I",ȉ:"i",Ȍ:"O",ȍ:"o",Ȑ:"R",ȑ:"r",Ȕ:"U",ȕ:"u",B̌:"B",b̌:"b",Č̣:"C",č̣:"c",Ê̌:"E",ê̌:"e",F̌:"F",f̌:"f",Ǧ:"G",ǧ:"g",Ȟ:"H",ȟ:"h",J̌:"J",ǰ:"j",Ǩ:"K",ǩ:"k",M̌:"M",m̌:"m",P̌:"P",p̌:"p",Q̌:"Q",q̌:"q",Ř̩:"R",ř̩:"r",Ṧ:"S",ṧ:"s",V̌:"V",v̌:"v",W̌:"W",w̌:"w",X̌:"X",x̌:"x",Y̌:"Y",y̌:"y",A̧:"A",a̧:"a",B̧:"B",b̧:"b",Ḑ:"D",ḑ:"d",Ȩ:"E",ȩ:"e",Ɛ̧:"E",ɛ̧:"e",Ḩ:"H",ḩ:"h",I̧:"I",i̧:"i",Ɨ̧:"I",ɨ̧:"i",M̧:"M",m̧:"m",O̧:"O",o̧:"o",Q̧:"Q",q̧:"q",U̧:"U",u̧:"u",X̧:"X",x̧:"x",Z̧:"Z",z̧:"z",й:"и",Й:"И",ё:"е",Ё:"Е"},n=Object.keys(t).join("|"),r=new RegExp(n,"g"),a=new RegExp(n,"");function o(e){return t[e]}var i=function(e){return e.replace(r,o)};e.exports=i,e.exports.has=function(e){return!!e.match(a)},e.exports.remove=i},63:(e,t,n)=>{"use strict";var r=n(609),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=r.useState,i=r.useEffect,l=r.useLayoutEffect,s=r.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!a(e,n)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=o({inst:{value:n,getSnapshot:t}}),a=r[0].inst,u=r[1];return l((function(){a.value=n,a.getSnapshot=t,c(a)&&u({inst:a})}),[e,n,t]),i((function(){return c(a)&&u({inst:a}),e((function(){c(a)&&u({inst:a})}))}),[e]),s(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:u},888:(e,t,n)=>{"use strict";e.exports=n(63)},609:e=>{"use strict";e.exports=window.React}},a={};function o(e){var t=a[e];if(void 0!==t)return t.exports;var n=a[e]={exports:{}};return r[e](n,n.exports,o),n.exports}o.m=r,e=[],o.O=(t,n,r,a)=>{if(!n){var i=1/0;for(u=0;u<e.length;u++){for(var[n,r,a]=e[u],l=!0,s=0;s<n.length;s++)(!1&a||i>=a)&&Object.keys(o.O).every((e=>o.O[e](n[s])))?n.splice(s--,1):(l=!1,a<i&&(i=a));if(l){e.splice(u--,1);var c=r();void 0!==c&&(t=c)}}return t}a=a||0;for(var u=e.length;u>0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[n,r,a]},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},n=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,o.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var a=Object.create(null);o.r(a);var i={};t=t||[null,n({}),n([]),n(n)];for(var l=2&r&&e;"object"==typeof l&&!~t.indexOf(l);l=n(l))Object.getOwnPropertyNames(l).forEach((t=>i[t]=()=>e[t]));return i.default=()=>e,o.d(a,i),a},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={57:0,350:0};o.O.j=t=>0===e[t];var t=(t,n)=>{var r,a,[i,l,s]=n,c=0;if(i.some((t=>0!==e[t]))){for(r in l)o.o(l,r)&&(o.m[r]=l[r]);if(s)var u=s(o)}for(t&&t(n);c<i.length;c++)a=i[c],o.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return o.O(u)},n=globalThis.webpackChunksearch_console=globalThis.webpackChunksearch_console||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var i=o.O(void 0,[350],(()=>o(761)));i=o.O(i)})();
  • search-console/trunk/build/index.js.map

    r3091052 r3115844  
    1 {"version":3,"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;AAA4G;;AAE5G,sCAAsC;AACtC,YAAY,yCAAyC;AACrD,oEAAoE,+CAAQ;AAC5E,mCAAmC,6CAAM;AACzC;AACA,iCAAiC,6CAAM;AACvC;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,2BAA2B,oDAAa;AACxC,+BAA+B,6DAA6D;AAC5F;AACA;AACA;AACA,KAAK;AACL,yBAAyB,8CAAO;AAChC;AACA;AACA,KAAK;AACL,YAAY,0DAAmB,gCAAgC,qBAAqB;AACpF;AACA;AACA,oBAAoB,iDAAU;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,6BAA6B;AAC7B,uBAAuB,qLAAqL;AAC5M,4BAA4B,6CAAM;AAClC,YAAY,qCAAqC;AACjD,yBAAyB,6CAAM;AAC/B;AACA,uBAAuB,6CAAM;AAC7B;AACA,wCAAwC,6CAAM;AAC9C;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,0DAAmB,UAAU,+BAA+B,oCAAoC;AAC5G;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,6FAA6F;AACvH,YAAY,qCAAqC;AACjD,sBAAsB,6CAAM;AAC5B,yBAAyB,6CAAM;AAC/B;AACA,uBAAuB,6CAAM;AAC7B;AACA,+BAA+B,6CAAM;AACrC;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,MAAM;AACzE;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL,8BAA8B,kDAAW,uBAAuB,QAAQ,6GAA6G;AACrL,8BAA8B,kDAAW,SAAS,QAAQ,wFAAwF;AAClJ;AACA;;AAEA,gCAAgC,qFAAqF;AACrH,YAAY,qCAAqC;AACjD,yBAAyB,6CAAM;AAC/B;AACA,uBAAuB,6CAAM;AAC7B;AACA,wCAAwC,6CAAM;AAC9C;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEqJ;;;;;;;;;;;;;;;;;;;ACpOrJ;AACA,sBAAsB,sEAAsE,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,iCAAiC,kBAAkB;AAC3Q;AAC/B;AACA,sBAAsB,gDAAmB;AACzC;AACA;AACA;AACA;AACA;AACA,GAAG,yCAAyC,gDAAmB,4BAA4B,gDAAmB;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,eAAe,gDAAmB;AACrC;AACA;AACA,GAAG,gBAAgB,gDAAmB;AACtC;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,uCAAuC,gDAAmB;AAC7D;AACA;AACA,GAAG,uCAAuC,gDAAmB;AAC7D;AACA;AACA,GAAG;AACH;AACqC;AACrC,iEAAe,oBAAoB,gtJAAgtJ;;;;;;;;;;;;;;;;;;;;;;;;AC5D7sJ;AACtC;AACA;AACA;AACqF;AAChD;AACW;;AAEhD;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,SAAS,oDAAa;AACtB,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE,mDAAE;AACT,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG;AACH;AACA,iEAAe,8DAAU,WAAW,EAAC;AACrC;;;;;;;;;;;;;;;;;;;;;;;;;;ACzDgD;AAChD;AACA;AACA;AAC4F;AAC1C;AAC6B;;AAE/E;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AACzB;AACP,SAAS,2DAAO;AAChB;AACA;AACA,KAAK;AACL,GAAG;AACH;AACO;AACP,SAAS,2DAAO;AAChB;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB,2DAAO;AAC/B;AACA,GAAG;AACH;AACA;AACA;AACA,IAAI;AACJ,uBAAuB,+DAAW;AAClC;AACA,GAAG;AACH,SAAS,oDAAa,CAAC,wDAAK;AAC5B;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB,2DAAO;AAC/B;AACA,GAAG;AACH;AACA,SAAS,oDAAa;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa,CAAC,2CAAQ,QAAQ,oDAAa,gDAAgD,oDAAa;AACjH;AACA;AACA;AACA;AACA,GAAG,KAAK,oDAAa;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sBAAsB,2DAAO;AAC7B,yCAAyC,4DAAQ;AACjD,gDAAgD,4DAAQ;AACxD,0BAA0B,2DAAO;AACjC;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,wBAAwB,2DAAO;AAC/B;AACA,GAAG;AACH,uCAAuC,2DAAO;AAC9C;AACA;AACA,KAAK;AACL,GAAG;AACH,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,SAAS,oDAAa,CAAC,2CAAQ,QAAQ,oDAAa;AACpD;AACA;AACA,WAAW,mDAAE;AACb;AACA;AACA,KAAK;AACL,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA;AACA;AACA;AACA,KAAK,qBAAqB,wDAAO;AACjC,IAAI,mDAAE,yEAAyE,mDAAE;AACjF,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA,GAAG,GAAG,oDAAa,0BAA0B,oDAAa;AAC1D;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG,EAAE,mDAAE,iBAAiB,oDAAa;AACrC;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE,mDAAE,oCAAoC,oDAAa;AACxD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3KA;AACA;AACA;AACqC;;AAErC;AACO;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACP;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb;AACA;;AAEA;AACO;AACP;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA,WAAW,mDAAE;AACb;AACA;;AAEA;AACO;AACA;AACA;AACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtDsC;AACtC;AACA;AACA;AACuE;AACQ;;AAE/E;AACA;AACA;AACsC;AACG;AACT;AACF;AAC0B;AACf;AACA;AACY;AACrD;AACA;AACA;AACA,SAAS,2DAAO;AAChB;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,oCAAoC,4DAAQ;AAC5C,0CAA0C,4DAAQ;AAClD,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,yBAAyB,+DAAW;AACpC;AACA;AACA,GAAG;AACH,wBAAwB,kDAAY;AACpC,kBAAkB,2DAAO,OAAO,kEAAe;AAC/C;AACA,SAAS,oDAAa;AACtB;AACA,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA;AACA;AACA,GAAG,YAAY,oDAAa,CAAC,+CAAM;AACnC;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,gDAAO;AAC3B;AACA;AACA;AACA;AACA;AACA,GAAG,KAAK,oDAAY,EAAE,mDAAW,kDAAkD,oDAAa,CAAC,qDAAW;AAC5G;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,qDAAW;AAC/B;AACA;AACA;AACA;AACA,GAAG,IAAI,oDAAa;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,oDAAU;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3GsC;AACtC;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AACyJ;AAC3G;AACwB;AACxB;AAC9C;AACA;;AAEA;AACA;AACA;AAC2C;AACoG;AAC/I;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,UAAU,oDAAa;AACvB;AACA,KAAK;AACL,WAAW,oDAAa;AACxB;AACA,KAAK;AACL;AACA,iCAAiC,uDAAe;AAChD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,wDAAgB;AACjD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,uDAAe;AAChD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,2DAAmB;AACpD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,mDAAW;AAC5C,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,uDAAe;AAChD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,SAAS,wDAAO;AAChB,EAAE,mDAAE;AACJ;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,WAAW,iDAAS;AACpB,GAAG;AACH;AACA;AACA,uCAAuC,oDAAa,CAAC,uEAAM;AAC3D;AACA;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,2DAAQ;AAC3B;AACA,GAAG,gBAAgB,oDAAa,CAAC,gEAAa;AAC9C,WAAW,mDAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACe;AACf;AACA;AACA;AACA,CAAC;AACD,oBAAoB,0DAAM;AAC1B;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,SAAS,oDAAa,CAAC,2DAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK,KAAK,oDAAa;AACvB;AACA,KAAK,EAAE,oDAAa,CAAC,0DAAO;AAC5B,YAAY,wDAAO;AACnB,MAAM,mDAAE;AACR;AACA,KAAK,EAAE,oDAAa;AACpB,iBAAiB,iDAAU;AAC3B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK,EAAE,oDAAa;AACpB;AACA;AACA;AACA,KAAK,yBAAyB,oDAAa,CAAC,0DAAO;AACnD,wBAAwB,mDAAE,YAAY,mDAAE;AACxC;AACA,KAAK,EAAE,oDAAa;AACpB,iBAAiB,iDAAU;AAC3B;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK,EAAE,oDAAa,CAAC,uDAAI;AACzB,YAAY,wDAAU;AACtB,KAAK;AACL;AACA,aAAa,oDAAa,CAAC,uEAAM;AACjC;AACA;AACA,OAAO,EAAE,oDAAa;AACtB;AACA,OAAO,GAAG,oDAAa,CAAC,sDAAY;AACpC;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AC/MsC;AACtC;AACA;AACA;AACkD;;AAElD;AACA;AACA;AAC6C;AACR;AACM;AACC;AAC8B;AACH;AACvE,gBAAgB,wDAAI;AACpB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,uBAAuB,0DAAM;AAC7B;AACA;AACA;AACA;AACA;AACA,sBAAsB,yDAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,mDAAW,EAAE,uDAAe;AACzE;AACA,6EAA6E,qDAAa;AAC1F;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,oDAAa,CAAC,mDAAS;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,WAAW,oDAAa,CAAC,uDAAa;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,0BAA0B,oDAAa,CAAC,sDAAY;AACpD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,SAAS,oDAAa,CAAC,uEAAM;AAC7B;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH,CAAC;AACD,iEAAe,OAAO,EAAC;AACvB;;;;;;;;;;;;;;;;;;;;;;;;;AC5FgD;AAChD;AACA;AACA;AAC4H;AACvF;AACkB;AACP;;AAEhD;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa,CAAC,yDAAM;AAC7B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wCAAwC,4DAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,SAAS,oDAAa,CAAC,2CAAQ,QAAQ,oDAAa;AACpD;AACA,GAAG,kBAAkB,oDAAa,CAAC,wDAAK;AACxC;AACA;AACA;AACA;AACA,KAAK;AACL,wEAAwE,qBAAqB;AAC7F,GAAG,EAAE,oDAAa;AAClB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB;AACA,aAAa,oDAAa;AAC1B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,WAAW,oDAAa;AACxB;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACe;AACf;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,IAAI,EAAE,2DAAO;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,WAAW,oDAAa;AACxB;AACA;AACA,KAAK;AACL;AACA,SAAS,oDAAa,CAAC,uEAAM;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,aAAa,oDAAa;AAC1B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,WAAW,oDAAa;AACxB;AACA;AACA;AACA,KAAK;AACL,GAAG,GAAG,oDAAa;AACnB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA,YAAY,wDAAY;AACxB,aAAa,mDAAE;AACf;AACA;AACA,KAAK;AACL;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;AC9JA;AACA;AACA;AAC4C;AACqD;;AAEjG;AACA;AACA;AACqC;AACF;AACA;AACkC;AAC9D;AACP,QAAQ,oDAAY;AACpB,SAAS,mDAAE;AACX,aAAa,mDAAS;AACtB,QAAQ,wDAAU;AAClB,CAAC;AACD,QAAQ,mDAAW;AACnB,SAAS,mDAAE;AACX,aAAa,kDAAQ;AACrB,QAAQ,wDAAQ;AAChB,CAAC;AACD,QAAQ,mDAAW;AACnB,SAAS,mDAAE;AACX,aAAa,kDAAQ;AACrB,QAAQ,sDAAK,KAAK,wDAAoB,GAAG,wDAAiB;AAC1D,CAAC;AACD;;;;;;;;;;;;;;;;;;AC7BA;AACA;AACA;AAC2F;AACpF;AACP;AACA;AACA,EAAE,EAAE,yGAAgD;AACpD;;;;;;;;;;;;;;;ACRA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;ACvBsC;AACtC;AACA;AACA;AAC8F;AAC1B;AAClB;AACW;AAC7D,mBAAmB,wDAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,6CAA6C,oDAAa,CAAC,uEAAM;AACjE;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA;AACA;AACA;AACA,GAAG,EAAE,4EAAwB,CAAC,wDAAO;AACrC;AACA,EAAE,mDAAE;AACJ,wBAAwB,oDAAa,CAAC,gEAAa;AACnD,oBAAoB,mDAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;AACL,GAAG,IAAI,oDAAa,CAAC,uEAAM;AAC3B;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,yDAAM;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,mDAAE;AACb,UAAU,wDAAW;AACrB;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,yDAAM;AAC1B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,mDAAE;AACb,UAAU,wDAAY;AACtB;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,iEAAe,UAAU,EAAC;AAC1B;;;;;;;;;;;;;;;;;;;;;ACjFsC;AACtC;AACA;AACA;AAC+C;AACV;AACtB;AACf;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,SAAS,oDAAa,CAAC,yDAAM;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,EAAE,mDAAE;AACP;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BsC;AACtC;AACA;AACA;AACA;AAC0C;AACC;;AAE3C;AACA;AACA;AAC8C;AAC2B;AAC0B;AAClD;AACG;;AAEpD;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC,mBAAmB,oDAAa,CAAC,sDAAG;AACpC;AACA;AACA,CAAC,EAAE,oDAAa,CAAC,yDAAM;AACvB;AACA;AACA;AACA,CAAC;AACD;AACA,SAAS,qDAAa;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,SAAS,oDAAa;AACtB;AACA;AACA;AACA,kBAAkB,wDAAO;AACzB,IAAI,mDAAE;AACN;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,oDAAa,CAAC,8DAA0B;AACpD;AACA,KAAK;AACL,GAAG,iCAAiC,oDAAa,CAAC,0DAAsB;AACxE;AACA;AACA,YAAY,oDAAa;AACzB,cAAc,oDAAa;AAC3B;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,8DAA8D,oDAAa,CAAC,uDAAI;AACnF;AACA,GAAG,sEAAsE,oDAAa,CAAC,uDAAI;AAC3F,UAAU,wDAAK;AACf,GAAG,IAAI,oDAAa,uDAAuD,oDAAa;AACxF;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wCAAwC,4DAAQ;AAChD,8BAA8B,oEAAgB;AAC9C;AACA;AACA,kBAAkB,2DAAO;AACzB;AACA;AACA,GAAG;AACH,SAAS,oDAAa,CAAC,6DAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,EAAE,oDAAa,CAAC,0DAAqB;AACxC,YAAY,oDAAa,CAAC,iEAAc;AACxC,GAAG,EAAE,mDAAE,mBAAmB,oDAAa,CAAC,qDAAgB;AACxD;AACA,iBAAiB,mDAAE;AACnB;AACA,GAAG,GAAG,oDAAa;AACnB;AACA,GAAG,EAAE,oDAAa,CAAC,uDAAI;AACvB,UAAU,yDAAM;AAChB,GAAG,KAAK,oDAAa,CAAC,yDAAoB;AAC1C;AACA;AACA,GAAG;AACH,WAAW,oDAAa,CAAC,yDAAoB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE,oDAAa;AACpB;AACA,KAAK,8DAA8D,oDAAa,CAAC,uDAAI;AACrF;AACA,KAAK,sEAAsE,oDAAa,CAAC,uDAAI;AAC7F,YAAY,wDAAK;AACjB,KAAK,IAAI,oDAAa,eAAe,oDAAa,CAAC,8DAAyB;AAC5E;AACA;AACA,KAAK,4BAA4B,oDAAa;AAC9C;AACA,KAAK;AACL,GAAG,sBAAsB,oDAAa,YAAY,mDAAE;AACpD;AACe;AACf;AACA,SAAS,oDAAa;AACtB;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;AClNsC;AACtC;AACA;AACA;AACqC;AACwB;AACP;AACC;AACvD,eAAe,wDAAI;AACnB;AACA;AACA;AACA,CAAC;AACD,+CAA+C,qEAAiB;AAChE,EAAE,6DAAS;AACX;AACA,GAAG;AACH,0BAA0B,0DAAM;AAChC,EAAE,6DAAS;AACX;AACA,GAAG;AACH,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,+BAA+B,mDAAE;AACjC,SAAS,oDAAa,CAAC,gEAAa;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,iEAAe,MAAM,EAAC;AACtB;;;;;;;;;;;;;;;;;;;;;ACvCsC;AACtC;AACA;AACA;AAC8C;AACU;AACzC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,qBAAqB,wDAAO;AAC5B,iBAAiB,mDAAE,wBAAwB,mDAAE;AAC7C;AACA,KAAK;AACL,IAAI;AACJ,kCAAkC,mDAAE,wBAAwB,mDAAE;AAC9D;AACA,SAAS,oDAAa,CAAC,kEAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;ACnDA;AACA;AACA;AAC6G;AACtG;AACP;;AAEA;AACA;AACA,iBAAiB,uDAAe,EAAE,wDAAgB;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C,qDAAa;;AAExD;AACA;AACA,yBAAyB,mDAAW,wBAAwB,uDAAe;AAC3E,8CAA8C,mDAAW,EAAE,uDAAe;AAC1E;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCsC;AACtC;AACA;AACA;AACqF;AAChD;AACK;AACE;;AAE5C;AACA;AACA;AACuC;AACU;AACR;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB,kDAAY;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAa;AACtB,aAAa,oDAAa;AAC1B,cAAc,oDAAa;AAC3B;AACA,OAAO;AACP,KAAK,EAAE,oDAAa,8BAA8B,mDAAE;AACpD,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB,aAAa,oDAAa;AAC1B,cAAc,oDAAa;AAC3B;AACA,OAAO;AACP,KAAK,EAAE,oDAAa,8BAA8B,mDAAE;AACpD,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,SAAS,oDAAa;AACtB,aAAa,oDAAa,yBAAyB,oDAAa,8BAA8B,mDAAE;AAChG,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAa;AACtB,aAAa,oDAAa;AAC1B,cAAc,oDAAa;AAC3B;AACA,OAAO;AACP,KAAK,EAAE,oDAAa,8BAA8B,mDAAE;AACpD,GAAG;AACH;AACA,WAAW,oDAAa;AACxB;AACA,eAAe,oDAAa,yBAAyB,oDAAa;AAClE;AACA;AACA;AACA,KAAK,iBAAiB,0DAAkB;AACxC;AACA,uBAAuB,SAAS,GAAG,UAAU;AAC7C,aAAa,oDAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO,EAAE,oDAAa;AACtB,KAAK;AACL,GAAG;AACH;AACA,oBAAoB,wDAAI;AACxB;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA,YAAY,wDAAQ;AACpB,aAAa,mDAAE;AACf,KAAK;AACL,GAAG,EAAE,oDAAa,0BAA0B,oDAAa;AACzD;AACA;AACA;AACA,GAAG,GAAG,oDAAa;AACnB;AACA;AACA;AACA,GAAG,GAAG,oDAAa;AACnB;AACA;AACA;AACA,GAAG,GAAG,oDAAa;AACnB;AACA;AACA,GAAG;AACH,CAAC;AACD,iEAAe,WAAW,EAAC;AAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;ACjMgD;AAChD;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AAC4J;AACvH;;AAErC;AACA;AACA;AACyC;AACyB;AACP;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB,wEAAyB;AACjD;AACA;AACA,SAAS,oDAAa,CAAC,uEAAM;AAC7B;AACA;AACA,eAAe,iDAAU;AACzB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU;AACV;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG;AACH;AACA,GAAG,IAAI,oDAAa,CAAC,uEAAM;AAC3B;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,kEAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,uEAAM;AAC1B;AACA,GAAG;AACH;AACA,GAAG,IAAI,oDAAa,CAAC,qDAAW;AAChC;AACA;AACA;AACA,GAAG,6BAA6B,oDAAa,CAAC,uEAAM;AACpD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,oDAAa,CAAC,2DAAQ;AACjC;AACA;AACA,KAAK;AACL,GAAG,+BAA+B,oDAAa,CAAC,uEAAM;AACtD;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,oDAAa,CAAC,uDAAI;AAC7B,iBAAiB,iDAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK,EAAE,oDAAa,CAAC,2CAAQ,QAAQ,oDAAa,CAAC,2DAAQ;AAC3D;AACA,KAAK,iBAAiB,oDAAa,CAAC,2DAAQ;AAC5C;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,SAAS,oDAAa,CAAC,2CAAQ,mBAAmB,oDAAa,CAAC,qEAAI;AACpE;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG,gBAAgB,oDAAa;AAChC,eAAe,iDAAU;AACzB;AACA;AACA,KAAK;AACL,GAAG,EAAE,oDAAa,wBAAwB,oDAAa,CAAC,0DAAO,UAAU,mDAAE;AAC3E;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5LsC;AACtC;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AACmD;AACmH;AAClG;AAC/B;;AAErC;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAkB,0DAAM;AACxB,qBAAqB,GAAG;AACxB,2BAA2B,GAAG;AAC9B,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH,SAAS,oDAAa;AACtB;AACA,YAAY,oDAAa;AACzB;AACA,eAAe,iDAAU;AACzB;AACA,KAAK;AACL,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,EAAE,oDAAa;AAClB,YAAY,oDAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG;AACH;AACA,GAAG,KAAK,oDAAa;AACrB;AACA,GAAG,IAAI,oDAAa,CAAC,uEAAM;AAC3B;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA,GAAG;AACH;AACA,GAAG,IAAI,oDAAa;AACpB;AACA;AACA,GAAG,6BAA6B,oDAAa;AAC7C;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,iEAAc;AACjC;AACA;AACA,GAAG,iBAAiB,oDAAa;AACjC;AACA,GAAG;AACH;AACA,GAAG;AACH;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iBAAiB,iEAAa;AAC9B;AACA;AACA;AACA;AACA,mBAAmB,+DAAW;AAC9B,uBAAuB,+DAAW,mBAAmB,OAAO,GAAG,gBAAgB;AAC/E;AACA;AACA,GAAG;AACH;AACA;AACA,WAAW,oDAAa;AACxB,iBAAiB,iDAAU;AAC3B;AACA;AACA,OAAO;AACP,KAAK,cAAc,oDAAa,wBAAwB,oDAAa,CAAC,0DAAO,UAAU,mDAAE;AACzF;AACA,SAAS,oDAAa;AACtB;AACA,YAAY,oDAAa;AACzB;AACA;AACA;AACA,GAAG;AACH;AACA,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClJsC;AACtC;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AACqC;AACa;AACmE;AACJ;;AAEjH;AACA;AACA;AACkE;AAC3B;AACE;AACG;AACK;AAC6C;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA,CAAC;AACD,SAAS,wDAAQ,qDAAqD,oDAAa,CAAC,wDAAQ;AAC5F;AACA,GAAG,WAAW,oDAAa;AAC3B;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAU;AAC7B;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,oBAAoB,yDAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAa;AACtB;AACA,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA;AACA;AACA;AACA,KAAK,4BAA4B,oDAAa;AAC9C;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,EAAE,oDAAa,iDAAiD,oDAAa,yCAAyC,0DAAkB;AAC3I;AACA,qBAAqB,SAAS,GAAG,UAAU;AAC3C,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG,oBAAoB,oDAAa,0BAA0B,oDAAa;AAC3E,YAAY,oDAAa,CAAC,uDAAI;AAC9B,YAAY,wDAAM;AAClB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG,EAAE,oDAAa,8BAA8B,mDAAE,gCAAgC,oDAAa;AAC/F,YAAY,oDAAa,CAAC,uDAAI;AAC9B,YAAY,wDAAM;AAClB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,EAAE,oDAAa,8BAA8B,mDAAE;AAClD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,0BAA0B,2DAAO;AACjC;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,SAAS,oDAAa,CAAC,kEAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL,mCAAmC,mDAAE,mBAAmB,mDAAE;AAC1D,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gCAAgC,yEAAyB;AACzD;AACA,oCAAoC,4DAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,0DAAM;AAC9B,SAAS,oDAAa;AACtB,eAAe,iDAAU;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU;AACV;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG,oBAAoB,oDAAa;AACpC;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,EAAE,oDAAa,CAAC,mEAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gCAAgC,oDAAa;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB,eAAe,iDAAU;AACzB;AACA,KAAK;AACL,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,oDAAa;AACf;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,sDAAW;AAC9B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,yBAAyB,0DAAM;AAC/B,+BAA+B,0DAAM;AACrC,4DAA4D,4DAAQ;AACpE,yBAAyB,iFAAiC;AAC1D,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA,GAAG;AACH,wBAAwB,yDAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAa,CAAC,wDAAQ,QAAQ,oDAAa;AACpD;AACA;AACA;AACA,GAAG,EAAE,oDAAa,gBAAgB,oDAAa;AAC/C;AACA,GAAG,oBAAoB,oDAAa;AACpC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA;AACA,GAAG,wCAAwC,oDAAa;AACxD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,0BAA0B,oDAAa;AAC1C;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,EAAE,mDAAE,iBAAiB,oDAAa,qDAAqD,oDAAa;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,MAAM,oDAAa;AACtB,eAAe,iDAAU;AACzB;AACA;AACA,KAAK;AACL;AACA,GAAG,cAAc,oDAAa,wBAAwB,oDAAa,CAAC,0DAAO,UAAU,mDAAE;AACvF;AACA,iEAAe,SAAS,EAAC;AACzB;;;;;;;;;;;;;;;;;AC9WA;AACA;AACA;AAC8D;;AAE9D,eAAe,kCAAkC,4CAA4C;;AAE7F;AACA;AACA;AACA,WAAW,2CAA2C;AACtD;AACA;AACA,WAAW,2CAA2C;AACtD;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,gEAAY;AACrB;AACA;AACA;AACA;AACA,GAAG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AACA;;AAEA;AACA,CAAC,wBAAwB;;AAEzB,eAAe,KAAqC;AACpD;AACA,EAAE,EAAE,CAEH;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA,sUAAsU,CAAM;AAC5U;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+BAA+B,8EAAQ,GAAG;AAC1C;AACA,KAAK;AACL;;AAEA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;AACA;;AAEA,oBAAoB,8EAAQ;AAC5B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C;AAC1C;;;AAGA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;;;AAG3C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA,sUAAsU,CAAM;AAC5U;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA,yDAAyD;AACzD;;AAEA;AACA;AACA,iDAAiD;;;AAGjD;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+BAA+B,8EAAQ,GAAG;AAC1C;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oBAAoB,8EAAQ;AAC5B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,KAAqC,+IAA+I,CAAM;;AAE9L;AACA;AACA;AACA,2CAA2C;AAC3C;;;AAGA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,KAAqC,kJAAkJ,CAAM;;AAEjM;AACA;AACA;AACA,2CAA2C;;;AAG3C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,4BAA4B,8EAAQ;AACpC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,KAAqC,+GAA+G,gBAAgB,qDAAqD,CAAM;AACnO;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oBAAoB,8EAAQ;AAC5B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,KAAqC,6IAA6I,CAAM;;AAE5L;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,KAAqC,gJAAgJ,CAAM;;AAE/L;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;;AAE1B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEuG;AACvG;;;;;;;;;;;;;AC5xBA;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,IAAI,IAAqC;AACzC;AACA;;AAEA,YAAY,mBAAO,CAAC,oBAAO;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iGAAiG,eAAe;AAChH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,KAAK,GAAG;;AAER,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,4BAA4B;AAC5B;AACA,qCAAqC;;AAErC,gCAAgC;AAChC;AACA;;AAEA,gCAAgC;;AAEhC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,sBAAsB;AACtB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,iCAAiC;AACjC;AACA,SAAS;AACT,2BAA2B;AAC3B;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;;AAE3D;AACA;;AAEA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA,gFAAgF;AAChF;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;;;AAGlB;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2HAA2H;AAC3H;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA,oEAAoE;;AAEpE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC;;AAEjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,eAAe;AAC1B,WAAW,GAAG;AACd,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;;AAER;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,oBAAoB;AACpB,2DAA2D,UAAU;AACrE,yBAAyB,UAAU;AACnC;AACA,aAAa,UAAU;AACvB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,6DAA6D;AAC7D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN,4CAA4C;;AAE5C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8CAA8C;AAC9C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,0DAA0D;AAC1D;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,gDAAgD,gDAAgD,MAAM,aAAa;;AAEnH;AACA,iDAAiD,kCAAkC,OAAO;;AAE1F,yGAAyG,cAAc,UAAU,gGAAgG,kBAAkB,UAAU,UAAU;;AAEvQ;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAsC;AACtC;;AAEA;;AAEA,gBAAgB;AAChB,WAAW;AACX,YAAY;AACZ,GAAG;AACH;;;;;;;;;;;;ACpzCa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,+IAAkE;AACpE;;;;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB;AAClB,qBAAqB;;;;;;;;;;;;ACherB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,IAAI,IAAqC;AACzC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mBAAO,CAAC,oBAAO;;AAErC;;AAEA;AACA;AACA;AACA,iGAAiG,eAAe;AAChH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,KAAK,GAAG;;AAER,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,KAAK;AACrD;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,kCAAkC;AAClC;AACA;;;AAGA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;;;AAGP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;AC9Oa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,wLAA8E;AAChF;;;;;;;;;;;;ACNA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;ACAA;AAOuB;AAIA;AAGA;AAIA;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yDAAW;AACpB;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,EAAE,qEAAuB;AACzB;AACA,gBAAgB,0DAAY;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,0DAAY;AAC/B;AACA;AACA,uBAAuB,yDAAW;AAClC,MAAM,kDAAkD;AACxD;AACA;AACA,qBAAqB,yDAAW;AAChC;AACA;AACA;AACA;AACA;AACA,EAAE,mDAAK,mBAAmB,kDAAI;AAC9B,EAAE,mDAAK;AACP,WAAW,mDAAK;AAChB;AACA,KAAK;AACL,GAAG;AACH,EAAE,mDAAK;AACP,WAAW,mDAAK;AAChB;AACA;AACA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,MAAM;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,wCAAwC,IAAI;AAC5C;AACA;AACA;AACA,yBAAyB,4DAAc,CAAC,4DAAc,GAAG;AACzD;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,IAAI;AACtC;AACA,0CAA0C,IAAI;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,2DAAa,CAAC,4DAAc,GAAG;AACxC;AACA,0BAA0B,mDAAK;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAIE;;;;;;;;;;;;;;;;;;AC3MF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,6DAA6D;AAC3I;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAME;;;;;;;;;;;;;;;;;;;ACrCF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOE;;;;;;;;;;;;;;;;;;;;AC/BF;AAGuB;AAMA;AAGA;AAKA;;AAEvB;AACA,mCAAmC;AACnC;AACA;AACA,IAAI,cAAc,uDAAS;AAC3B;AACA;AACA,gBAAgB,wDAAU;AAC1B;AACA,IAAI,kDAAI;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,qEAAuB;AACzB;AACA,iBAAiB,+DAAiB,CAAC,2DAAa,CAAC,4DAAc,GAAG,YAAY,OAAO;AACrF,oBAAoB,0DAAY;AAChC;AACA;AACA;AACA;AACA,uBAAuB,2DAAa,CAAC,4DAAc,GAAG;AACtD;AACA;AACA,mBAAmB,0DAAY;AAC/B,oBAAoB,0DAAY;AAChC,kBAAkB,0DAAY;AAC9B;AACA,GAAG;AACH,kBAAkB,yDAAW;AAC7B,SAAS,2DAAa,CAAC,4DAAc,CAAC,4DAAc,GAAG;AACvD;AACA;AACA;AACA;AACA,GAAG;AACH;;AAIE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/DF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,gBAAgB;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,YAAY;AACxB;AACA;AACA;AACA,IAAI;AACJ,YAAY,YAAY;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAqBE;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpMF;AAUuB;AAIA;;AAEvB;AACA;AACA;AACA,EAAE,uDAAS;AACX;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,8CAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qDAAO;AAC3B,eAAe,mDAAK;AACpB;AACA;AACA;AACA;AACA;AACA,eAAe,4DAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,cAAc,mDAAK;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,kDAAI;AAC9C,0CAA0C,kDAAI;AAC9C;AACA;AACA,SAAS,4DAAc;AACvB;AACA,sBAAsB,wDAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,YAAY,2DAAa,CAAC,4DAAc,GAAG,YAAY,kBAAkB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,4DAAc,CAAC,4DAAc,GAAG;AAC3C,GAAG,IAAI;AACP;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C,IAAI,EAAO;AACX;AACA;AACA;AACA;AACA;AACA,cAAc,+DAA+D,EAAE,kBAAkB;AACjG,GAAG;AACH;AACA;AACA;AACA;AACA,aAAa,4DAAc;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;;AAEA;;AAEA,+BAA+B,uBAAuB;AACtD,uBAAuB,OAAO;;AAE9B;;AAEA;AACA;AACA;AACA;;AAaE;;;;;;;;;;;;;;;;;;;;;ACzPF;AAGuB;AAKA;AAGA;AAIA;AAIA;;AAEvB;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,eAAe;AACjC;AACA;AACA;AACA,0BAA0B,2DAAa,CAAC,4DAAc,GAAG;AACzD;AACA;AACA;AACA;AACA;AACA,iCAAiC,EAAE;AACnC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,qBAAqB,mEAAqB;AAC1C,mBAAmB,0DAAY;AAC/B;AACA;AACA;AACA;AACA,uBAAuB,2DAAa,CAAC,4DAAc,GAAG;AACtD;AACA,iBAAiB,0DAAY;AAC7B,yBAAyB,0DAAY;AACrC;AACA;AACA;AACA;AACA,WAAW,0DAAY;AACvB,iBAAiB,0DAAY;AAC7B;AACA;AACA;AACA;AACA,SAAS,0DAAY;AACrB,kBAAkB,0DAAY;AAC9B;AACA;AACA;AACA;AACA,eAAe,0DAAY;AAC3B,eAAe,0DAAY;AAC3B,gBAAgB,0DAAY;AAC5B,GAAG;AACH,oBAAoB,yDAAW;AAC/B,EAAE,mDAAK;AACP;AACA,UAAU,kDAAI;AACd;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,YAAY,sEAAsE;AAClF;AACA;AACA,6BAA6B,0DAAY;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,2DAAa,CAAC,4DAAc,CAAC,4DAAc,GAAG;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,yCAAyC,0DAAY;AACrD,KAAK;AACL;AACA,cAAc,6BAA6B;AAC3C;AACA,KAAK;AACL;AACA;AACA,cAAc,kDAAkD;AAChE;AACA;AACA;AACA,QAAQ,0DAAY;AACpB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ,4DAAc;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,cAAc,sEAAsE;AACpF;AACA;AACA,QAAQ,0DAAY;AACpB,UAAU,4DAAc;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAIE;;;;;;;;;;;;;;;;;;;;;AC3SF;AAGuB;;AAEvB;AACA;AACA,SAAS,mDAAS;AAClB;AACA;AACA,OAAO,mDAAS;AAChB;AACA;AACA;AACA;AACA,SAAS,mDAAS;AAClB;AACA;AACA,SAAS,mDAAS;AAClB;AACA;AACA,SAAS,mDAAS;AAClB;;AAQE;;;;;;;;;;;;;;;;;AC9BF;AAGuB;;AAEvB;AACA,qCAAqC;AACrC,SAAS,mEAAqB;AAC9B;;AAIE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZF;AAGuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,4DAAc,GAAG;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAuBE;;;;;;;;;;;;;;;;;;;ACpKF;AASuB;AAGA;AAIA;;AAEvB;AACA,yCAAyC;AACzC,gBAAgB,wDAAU;AAC1B;AACA,IAAI,kDAAI;AACR;AACA,EAAE,qEAAuB;AACzB;AACA,eAAe,0DAAY;AAC3B;AACA;AACA;AACA;AACA;AACA,mBAAmB,0DAAY;AAC/B;AACA;AACA;AACA;AACA;AACA,oBAAoB,0DAAY;AAChC,uBAAuB,0DAAY;AACnC;AACA,qBAAqB,yDAAW;AAChC,EAAE,mDAAK;AACP;AACA,UAAU,kDAAI;AACd;AACA;AACA;AACA,KAAK;AACL;AACA,EAAE,mDAAK;AACP;AACA,UAAU,uDAAS;AACnB;AACA;AACA;AACA,KAAK;AACL;AACA,EAAE,mDAAK;AACP;AACA,UAAU,kDAAI;AACd;AACA,KAAK;AACL;AACA,SAAS,2DAAa,CAAC,4DAAc,GAAG;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAIE;;;;;;;;;;;;;;;;;;;;;;AC7EF;AAGiC;AACA;AACA;AAGA;AACA;AAOA;AAGA;AAIA;AACA;AACA;AAIA;;AAEjC;AACA,uBAAuB,6DAAQ,MAAM,kEAAa;AAClD,uCAAuC;AACvC;AACA,EAAE,4EAAuB;AACzB;AACA,mBAAmB,iEAAY;AAC/B;AACA;AACA;AACA;AACA;AACA,oBAAoB,yEAAoB,CAAC,kEAAa,CAAC,mEAAc,GAAG;AACxE;AACA,yBAAyB,iEAAY;AACrC;AACA;AACA;AACA;AACA,iBAAiB,iEAAY;AAC7B;AACA;AACA;AACA;AACA,eAAe,iEAAY;AAC3B,eAAe,iEAAY;AAC3B,kBAAkB,iEAAY;AAC9B;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,uEAAkB,CAAC,kEAAa,CAAC,mEAAc,GAAG;AACpE,eAAe,iEAAY;AAC3B;AACA;AACA;AACA;AACA,GAAG;AACH,gBAAgB,iEAAY;AAC5B;AACA;AACA;AACA;AACA;AACA,wBAAwB,iEAAY;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,kEAAa,CAAC,mEAAc,CAAC,mEAAc,GAAG;AACrE;AACA;AACA,wBAAwB,iEAAY;AACpC;AACA;AACA;AACA;AACA,sBAAsB,iEAAY;AAClC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mBAAmB,gEAAW;AAC9B,EAAE,0DAAK;AACP;AACA,UAAU,yDAAI;AACd;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,EAAE,0DAAK;AACP;AACA,UAAU,yDAAI;AACd;AACA;AACA;AACA,KAAK;AACL;AACA,EAAE,0DAAK;AACP;AACA,UAAU,0DAAK;AACf;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,EAAE,0DAAK;AACP;AACA,UAAU,yDAAI;AACd;AACA;AACA;AACA,KAAK;AACL;AACA,EAAE,0DAAK;AACP;AACA,UAAU,0DAAK;AACf;AACA;AACA,cAAc,sBAAsB;AACpC;AACA;AACA,KAAK;AACL;AACA,SAAS,kEAAa,CAAC,mEAAc,CAAC,mEAAc,CAAC,mEAAc,GAAG;AACtE;AACA;AACA,GAAG;AACH;AAGE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvJF;AAGiC;AAGA;AAIA;;AAEjC;AACA;AACA;AACA,4BAA4B,6DAAQ;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,4DAAO;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kEAAa,CAAC,mEAAc,GAAG,gBAAgB,eAAe;AACnF;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kEAAa,CAAC,mEAAc,GAAG,gBAAgB,eAAe;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,6DAAQ;AACpC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AAcE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnIF;AAQiC;AAGA;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,4DAAO;AACd;AACA,OAAO,8DAAS;AAChB;AACA,MAAM,4DAAO;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qEAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4DAAO;AACf;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4DAAO;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qEAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qEAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,4DAAO;AACrB;AACA;AACA;AACA;AACA,wBAAwB,qEAAgB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,qEAAgB;AACxC;AACA;AACA,MAAM,6DAAQ;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,6BAA6B;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,oBAAoB,qBAAqB;AACzC,2BAA2B,mEAAc,GAAG,qCAAqC;AACjF;AACA;AA0BE;;;;;;;;;;;;;;;;;;;;;;;;;;ACpQF;AAGuB;AAGA;AAKA;AAGA;AAKA;;AAEvB;AAC+B;AACuB;AACI;AACY;AACtE;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,oEAAW;AAC3B;AACA;AACA;AACA,8FAA8F,OAAO,GAAG,OAAO;AAC/G;AACA;AACA,MAAM,wEAAY;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yEAAe;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,uDAAS;AAClB;AACA;AACA;AACA;AACA,4BAA4B,wDAAU;AACtC;AACA,mBAAmB,0BAA0B,cAAc,uDAAS;AACpE,oBAAoB,iEAAmB;AACvC;AACA,IAAI,mEAAS;AACb;AACA,MAAM,KAAqC;AAC3C;AACA;AACA,8BAA8B,6CAAM;AACpC,6BAA6B,sDAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,YAAY,2DAAa,CAAC,4DAAc,GAAG;AAC3C;AACA,KAAK;AACL;AACA;AACA;AACA,yBAAyB,6DAAe;AACxC;AACA;AACA,WAAW,2DAAa;AACxB;AACA;AACA,IAAI,IAAqC;AACzC;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;;;;ACxIF;;AAEA;AACmE;AACnE,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,oEAAW;AACjB;AACA;AACA;AACA;AACA,IAAI;AACJ,sBAAsB,oEAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWE;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvFF;AAGuB;AAIA;AAKA;;AAEvB;AAC+B;AAC2B;AAClB;AACxC;AACA;AACA;AACA;AACA,eAAe,6CAAgB,wBAAwB,2DAAa,CAAC,4DAAc,GAAG,YAAY,KAAK;AACvG;AACA;AACA;AACA;AACA,eAAe,uCAAU;AACzB;AACA;AACA;AACA;AACA,sCAAsC,4DAAc,GAAG,KAAK;AAC5D,SAAS,6CAAgB;AACzB;AACA;AACA;AACA,SAAS,uCAAU;AACnB;AACA;AACA,sBAAsB,8BAA8B,aAAa,uDAAS;AAC1E;AACA,oBAAoB,0DAAY,YAAY,4DAAc;AAC1D,MAAM,IAAqC;AAC3C,IAAI,4CAAe;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,8BAA8B,sDAAG,KAAK,2DAAa,CAAC,4DAAc,GAAG,WAAW,QAAQ;AACxF,IAAI,SAAS,iDAAoB;AACjC,wBAAwB,2DAAa,CAAC,4DAAc,GAAG,mBAAmB,gBAAgB;AAC1F,cAAc,+CAAkB,SAAS,wDAAU;AACnD,IAAI;AACJ;AACA,IAAI;AACJ,QAAQ,IAAqC;AAC7C,MAAM,4CAAe;AACrB;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,uBAAuB,WAAW,mBAAmB,uDAAS;AAC9D;AACA,IAAI;AACJ,8BAA8B,sDAAG,KAAK,4DAAc,GAAG;AACvD,IAAI;AACJ,8BAA8B,sDAAG,OAAO,4DAAc,GAAG;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,UAAU,wEAAc;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gDAAmB;AACrC,wBAAwB,gDAAmB;AAC3C,4BAA4B,6CAAgB;AAC5C;AACA,mBAAmB,6CAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,6CAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,sDAAG,WAAW,2DAAa,CAAC,4DAAc,GAAG,YAAY,UAAU;AACjH,sBAAsB,sDAAG,mBAAmB,4DAAc,GAAG;AAC7D;AACA;AACA;AACA,2BAA2B,sDAAG,kBAAkB,2DAAa,CAAC,4DAAc,GAAG,YAAY;AAC3F,8CAA8C,sDAAG,WAAW,2DAAa,CAAC,4DAAc,GAAG,YAAY,UAAU;AACjH,sBAAsB,sDAAG,yBAAyB,4DAAc,GAAG;AACnE,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUE;;;;;;;;;;;;;;;;;;AC/IF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA8E,6DAA6D;AAC3I;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAME;;;;;;;;;;;;;;;;;;;;;ACrCF;AAGuB;;AAEvB;AACA,UAAU,gEAAkB;AAC5B;AACA;AACA;AACA;AACA;;AAQE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBF;AAGuB;AAIA;;AAEvB;AASe;AACgB;AACqB;AACgB;AACd;AACtD,aAAa,4DAAc,GAAG,EAAE,yLAAK;AACrC;AACA;AACA;AACA,0BAA0B,8DAAS,GAAG,kDAAe,GAAG,4CAAS;AACjE;AACA,yBAAyB,+CAAQ;AACjC;AACA;AACA;AACA,cAAc,6CAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,6CAAM;AACpB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,4CAA4C,+CAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,6CAAM;AACpB;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA,SAAS,kDAAW;AACpB;AACA;AACA,GAAG;AACH;AACA;AACA,SAAS,8CAAO;AAChB;AACA;AACA;AACA,4BAA4B,oDAAM;AAClC;AACA,GAAG;AACH;AACA;AACA,sBAAsB,+CAAQ;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,+CAAQ;AAC9B;AACA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,+CAAQ;AACpD,EAAE,gDAAS;AACX;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,+CAAQ;AACxC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,oCAAoC,+CAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,kBAAkB,6CAAM;AACxB,EAAE,gDAAS;AACX;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE,gDAAS;AACX;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,kBAAkB,6CAAM;AACxB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,sCAAsC,+CAAQ;AAC9C;AACA;AACA;AACA;AACA,uBAAuB,kDAAW;AAClC;AACA;AACA;AACA;AACA,QAAQ;AACR,0BAA0B,oEAAU;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,aAAa;AAC9D;AACA;AACA;AACA,SAAS,iDAAU;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kDAAW;AACjC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,SAAS,2DAAa,CAAC,4DAAc,GAAG,YAAY,aAAa;AACjE;AACA;AACA,sCAAsC,+CAAQ;AAC9C;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,kCAAkC,8CAAO;AACzC;AACA,KAAK,EAAE,2DAAa,CAAC,4DAAc,GAAG,aAAa,cAAc;AACjE,GAAG;AACH,mDAAmD,yBAAyB;AAC5E;AACA;AACA,EAAE,gDAAS;AACX,IAAI,kFAAsB;AAC1B,IAAI,kFAAsB;AAC1B,IAAI,kFAAsB;AAC1B,IAAI,kFAAsB;AAC1B,IAAI,kFAAsB;AAC1B,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,aAAoB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAwBE;;;;;;;;;;;;;;;;;;;;AC9RF;AAGuB;AAIA;;AAEvB;AACgE;AAChE;AACA,UAAU,qEAAuB;AACjC,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf,EAAE,2DAAa;AACf;AACA;AACA,qCAAqC;AACrC,0BAA0B,sDAAQ,CAAC,yFAAyB;AAC5D;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;;AC/BF;AAIuB;AAGA;;AAEvB;AACA,UAAU,gEAAkB;AAC5B,GAAG,+DAAqB;AACxB,GAAG,qEAA2B;AAC9B;AACA;AACA;AACA;AACA;AACA;;AAQE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BF;AAOuB;AAIA;AAGA;AAKA;AAOA;AAKA;;AAEvB;AACiE;AACQ;AACD;AAKpC;AACgC;AACf;AACb;AACxC;AACA;AACA;AACA;AACA;AACA,iBAAiB,oEAAW;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,sDAAQ;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,wEAAY;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,4DAAc;AAC9C;AACA;AACA,wBAAwB,OAAO,kBAAkB,uDAAS;AAC1D;AACA;AACA;AACA;AACA,SAAS,6EAAiB;AAC1B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,SAAS,kEAAoB;AAC7B,IAAI,yEAAc,CAAC,uEAAY,CAAC,8DAAgB;AAChD;AACA;AACA;AACA,oCAAoC,+CAAQ;AAC5C,mBAAmB,kDAAW;AAC9B;AACA,eAAe,4DAAc;AAC7B;AACA,EAAE,gDAAS;AACX;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,qBAAqB;AAC/C,GAAG;AACH;AACA;AACA,mBAAmB,wDAAU;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,cAAc,uDAAS;AAC7B;AACA;AACA;AACA;AACA;AACA,oBAAoB,yEAA2B;AAC/C;AACA,IAAI,oEAAS;AACb;AACA,MAAM,KAAqC;AAC3C;AACA,+BAA+B,6CAAM;AACrC;AACA;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,sBAAsB;AACpC,iCAAiC,4DAAc;AAC/C;AACA;AACA,MAAM,yEAAa;AACnB,KAAK;AACL,IAAI,iEAAmB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,mCAAmC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,yEAAa,oBAAoB,4BAA4B;AACrE;AACA,WAAW,oEAAQ;AACnB;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI,iEAAmB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,4DAAc;AACjD,6CAA6C,yEAAgB;AAC7D;AACA;AACA,MAAM,yEAAa,oBAAoB,eAAe;AACtD,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,sDAAQ;AACnC;AACA;AACA;AACA;AACA;AACA,cAAc,8BAA8B;AAC5C;AACA;AACA;AACA,gCAAgC,6DAAe;AAC/C,UAAU,wEAAY;AACtB;AACA;AACA;AACA,KAAK;AACL;AACA,oBAAoB,sDAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,gBAAgB;AAC9B,cAAc,8BAA8B;AAC5C;AACA,YAAY,wEAAY,YAAY,oDAAM;AAC1C;AACA;AACA,QAAQ,SAAS,wEAAY;AAC7B;AACA;AACA,KAAK;AACL;AACA,0BAA0B,sDAAQ;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,mDAAmD;AACjE;AACA;AACA,mCAAmC,4DAAc;AACjD;AACA,sCAAsC,oDAAM;AAC5C;AACA;AACA,UAAU,wEAAY;AACtB;AACA;AACA,YAAY,yEAAa;AACzB;AACA,UAAU;AACV,UAAU,yEAAa;AACvB,UAAU;AACV,UAAU,yEAAa;AACvB;AACA;AACA,QAAQ;AACR,6BAA6B,oDAAM;AACnC;AACA,UAAU,yEAAa;AACvB;AACA;AACA,KAAK;AACL;AACA,+BAA+B,6DAAe;AAC9C,sBAAsB,sDAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wEAAY;AACvB;AACA,cAAc,yDAAyD;AACvE,yBAAyB,4DAAc;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,oEAAW;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,4DAAc;AAC1B;AACA,mCAAmC,sDAAG,CAAC,kEAAwB,IAAI,iCAAiC;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,4DAAc;AAClC,KAAK;AACL,YAAY,2DAAa,CAAC,4DAAc;AACxC;AACA,KAAK;AACL,WAAW,0DAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY,2DAAY,CAAC,4DAAc,GAAG,WAAW;AACrD;AACA;AACA;AACA,gBAAgB,6DAAe;AAC/B;AACA,SAAS,2DAAa;AACtB,CAAC;AACD,IAAI,IAAqC;AACzC;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3WF;AAGuB;AAGA;AAKA;AAGA;AAMA;AAKA;;AAEvB;AACiC;AACoB;AACb;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,2BAA2B,wDAAU;AACrC;AACA,mBAAmB,uBAAuB,cAAc,uDAAS;AACjE,oBAAoB,0EAA4B;AAChD;AACA,IAAI,mEAAS;AACb;AACA,MAAM,KAAqC;AAC3C;AACA,eAAe,mDAAK;AACpB,wCAAwC,+CAAQ;AAChD;AACA;AACA;AACA;AACA,IAAI,iEAAmB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,IAAI,iEAAmB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,4DAAc;AAC1B;AACA,mCAAmC,sDAAG,CAAC,qEAA2B,IAAI,iCAAiC;AACvG;AACA;AACA;AACA,2BAA2B,2DAAa,CAAC,4DAAc,GAAG,kBAAkB,iBAAiB;AAC7F,YAAY,2DAAa,CAAC,4DAAc;AACxC;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,0DAAY;AACvB;AACA,KAAK;AACL;AACA;AACA;AACA,4BAA4B,6DAAe;AAC3C;AACA;AACA,WAAW,2DAAa;AACxB;AACA;AACA,wBAAwB,6DAAe;AACvC;AACA,mBAAmB,gBAAgB,cAAc,uDAAS;AAC1D,oBAAoB,0EAA4B;AAChD;AACA,oBAAoB,2DAAa;AACjC;AACA;AACA;AACA;AACA;AACA,2BAA2B,sDAAG,wBAAwB,4DAAc,GAAG;AACvE;AACA;AACA,IAAI,IAAqC;AACzC;AACA;;AAME;;;;;;;;;;;;;;;;;;;;;;;;AC3JF;AAKuB;AAIA;;AAEvB;AAC+B;AACqC;AACK;AACO;AAChF,MAAM,uBAAuB,EAAE,kEAA2B;AAC1D;AACA;AACA,8CAA8C,8DAAQ;AACtD,yBAAyB,8CAAiB;AAC1C;AACA;AACA;AACA,aAAa,oEAAS;AACtB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,wEAAc;AACvB;AACA;AACA;AA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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,sDAAQ;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wDAAU;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,cAAc,uDAAS;AAC7B;AACA;AACA;AACA;AACA;AACA,gBAAgB,6CAAM;AACtB,IAAI,gDAAS;AACb;AACA;AACA,MAAM,kFAAsB;AAC5B,MAAM,kFAAsB;AAC5B,KAAK;AACL;AACA,MAAM,gDAAS;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,kCAAkC,2EAAiB;AACnD;AACA,4CAA4C,+CAAQ;AACpD,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,sEAAW;AACxB;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,sDAAQ;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,yEAAa;AACvB;AACA,WAAW,iEAAQ;AACnB;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,MAAM,4EAAgB;AACtB;AACA;AACA;AACA,QAAQ,wEAAa;AACrB,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,mEAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,sDAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wEAAY;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,sDAAQ;AACnC;AACA;AACA;AACA;AACA;AACA,WAAW,wEAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,QAAQ,4EAAgB;AACxB,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA,mBAAmB,sDAAQ;AAC3B;AACA;AACA;AACA,WAAW,+EAAmB;AAC9B;AACA;AACA,KAAK;AACL,4BAA4B,iDAAU,CAAC,0DAAgB;AACvD,yBAAyB,sDAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,mEAAQ;AACpB;AACA,aAAa,sEAAW;AACxB;AACA;AACA,OAAO;AACP,KAAK;AACL,oBAAoB,wDAAU;AAC9B;AACA;AACA,kCAAkC,4DAAc,GAAG,uBAAuB;AAC1E,YAAY,2DAAa,CAAC,4DAAc;AACxC;AACA;AACA;AACA,KAAK;AACL,WAAW,0DAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,gBAAgB,6DAAe;AAC/B;AACA,SAAS,2DAAa;AACtB,CAAC;AACD,IAAI,IAAqC;AACzC;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;ACrXF;AAGuB;AAIA;AAGA;;AAEvB;AAC4D;AAC5D;AACA,EAAE,6DAAe;AACjB,UAAU,iEAAmB;AAC7B,EAAE,2DAAa;AACf;AACA;AACA,mCAAmC;AACnC,0BAA0B,sDAAQ,CAAC,mFAAuB;AAC1D;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BF;AAGuB;AAKA;AAMA;AAKA;;AAEvB;AACoD;AACY;AAK5B;AACyB;AACJ;AACzD;AACA;AACA;AACA;AACA;AACA,WAAW,iEAAQ;AACnB;AACA;AACA,WAAW,iEAAQ;AACnB;AACA;AACA;AACA;AACA,iBAAiB,wDAAU;AAC3B;AACA,mBAAmB,2CAA2C,cAAc,uDAAS;AACrF,gBAAgB,6CAAM;AACtB,oBAAoB,wDAAU;AAC9B;AACA,gDAAgD,+CAAQ;AACxD,yBAAyB,iEAAQ,GAAG,eAAe;AACnD;AACA,IAAI,gDAAS;AACb;AACA;AACA,wBAAwB,iEAAQ;AAChC,KAAK;AACL,gCAAgC,+CAAQ;AACxC,sBAAsB,6CAAM;AAC5B,qBAAqB,2EAAiB;AACtC,yCAAyC,8DAAgB;AACzD;AACA,sBAAsB,sDAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wEAAY;AACvB;AACA,UAAU,oEAAW;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO,mBAAmB,uDAAS;AACpE,gCAAgC,0EAAc;AAC9C,gBAAgB,uEAAS;AACzB,cAAc,4EAAgB;AAC9B,cAAc;AACd;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,oBAAoB,sDAAQ;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO,mBAAmB,uDAAS;AAClE,+BAA+B,0EAAc;AAC7C;AACA;AACA,KAAK;AACL,YAAY,2DAAa,CAAC,4DAAc,CAAC,4DAAc;AACvD;AACA;AACA,KAAK;AACL,WAAW,0DAAY;AACvB;AACA;AACA,KAAK;AACL,YAAY,0DAAY;AACxB;AACA;AACA;AACA,cAAc,6DAAe;AAC7B;AACA,SAAS,2DAAa;AACtB,CAAC;AACD,IAAI,IAAqC;AACzC;AACA;;AAKE;;;;;;;;;;;;;;;;;;;;;AC1JF;AAGuB;;AAEvB;AACA,UAAU,gEAAkB;AAC5B;AACA;AACA;AACA;AACA;;AAQE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBF;AAGuB;AAGA;AAKA;AAKA;AAKA;AAGA;AAQA;AAKA;;AAEvB;AAC2E;AAK1C;AACwC;AACZ;AACrB;AACxC;AACA;AACA;AACA,MAAM,oEAAW;AACjB;AACA,yCAAyC,iEAAQ;AACjD;AACA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,MAAM;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,gBAAgB;AAC1B,2BAA2B,4EAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA,kBAAkB,0BAA0B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,4DAAc;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,wEAAY;AAClB;AACA,SAAS,oDAAM;AACf;AACA;AACA;AACA,0BAA0B,+CAAQ;AAClC,EAAE,iEAAmB;AACrB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,wDAAU;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,cAAc,uDAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iEAAmB;AACvC;AACA,eAAe,mDAAK;AACpB,gBAAgB,6CAAM;AACtB,gBAAgB,iDAAU,CAAC,6DAAmB;AAC9C,kBAAkB,2DAAa;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,qBAAqB,4EAAiB;AACtC;AACA,oBAAoB,kDAAW;AAC/B;AACA,yBAAyB,2DAAa,CAAC,4DAAc,GAAG;AACxD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,gCAAgC,6CAAM;AACtC,oBAAoB,sDAAQ;AAC5B;AACA;AACA;AACA,UAAU,yEAAa;AACvB;AACA;AACA;AACA;AACA;AACA,cAAc,mEAAmE;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wEAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE,oDAAM;AAC1E;AACA,QAAQ,2DAAa;AACrB,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA,0BAA0B,sDAAQ;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,uCAAuC,6DAAe;AACtD,+BAA+B,6DAAe;AAC9C,sBAAsB,sDAAQ;AAC9B;AACA;AACA;AACA,WAAW,wEAAY;AACvB;AACA;AACA;AACA,cAAc,gBAAgB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oEAAW;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,wBAAwB,2DAAa;AACrC;AACA;AACA;AACA,0BAA0B,8CAAO;AACjC,eAAe,iBAAiB;AAChC;AACA;AACA,YAAY,4DAAc;AAC1B;AACA,mCAAmC,sDAAG,CAAC,8DAAoB,aAAa,yCAAyC;AACjH;AACA;AACA,yBAAyB,2DAAa;AACtC;AACA;AACA;AACA,yBAAyB,2DAAa;AACtC;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,wBAAwB,2DAAa;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,yBAAyB,2DAAa;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,uBAAuB,2DAAa;AACpC;AACA;AACA;AACA;A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CA;AACA,2BAA2B,+DAAU;AACrC;AACA,mBAAmB,eAAe,cAAc,8DAAS;AACzD,oBAAoB,6EAAwB;AAC5C;AACA,wBAAwB,iDAAU,CAAC,yEAAwB;AAC3D;AACA,IAAI,mEAAS;AACb;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA,qBAAqB,8CAAO;AAC5B;AACA;AACA;AACA,YAAY,mEAAc;AAC1B;AACA,KAAK;AACL;AACA;AACA;AACA,wBAAwB,oEAAe;AACvC;AACA;AACA,WAAW,kEAAa;AACxB;AACA;AACA,IAAI,IAAqC;AACzC;AACA;AAIE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxFF;AAGiC;AAKA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AAKA;AACA;AAKA;;AAEjC;AACoC;AACoC;AACM;AACzB;AACA;AACb;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,+DAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,cAAc,8DAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,6EAAwB;AAC5C;AACA,IAAI,mEAAS;AACb;AACA,MAAM,KAAqC;AAC3C;AACA,oBAAoB,kDAAW;AAC/B;AACA,yBAAyB,kEAAa,CAAC,mEAAc,GAAG,WAAW,OAAO;AAC1E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oEAAe;AAC/C,mCAAmC,oEAAe;AAClD,4BAA4B,oEAAe;AAC3C,oBAAoB,6DAAQ;AAC5B;AACA;AACA;AACA,UAAU,yEAAa;AACvB;AACA,UAAU,6EAAiB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,sBAAsB,6DAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,mEAAQ;AAClB;AACA;AACA;AACA;AACA,YAAY,oEAAW;AACvB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,cAAc,mEAAc;AAC5B;AACA,OAAO;AACP;AACA,YAAY,mEAAc;AAC1B;AACA,mCAAmC,sDAAG,CAAC,yEAAwB,aAAa,iCAAiC,sDAAG,CAAC,2EAA0B,aAAa,+DAA+D,GAAG;AAC1N;AACA;AACA;AACA,YAAY,kEAAa,CAAC,mEAAc;AACxC,YAAY,yEAAgB;AAC5B;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,+BAA+B,oEAAe;AAC9C,YAAY,sEAAgB,CAAC,kEAAa,CAAC,mEAAc;AACzD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,uEAAiB,CAAC,mEAAc,GAAG,qBAAqB;AACpE;AACA;AACA;AACA,mBAAmB,wEAAmB;AACtC;AACA;AACA,WAAW,kEAAa;AACxB;AACA;AACA,IAAI,IAAqC;AACzC;AACA;AAIE;;;;;;;;;;;;;;;;;;;;;AC3MF;AAGiC;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AAIA;;AAEjC;AACqD;AACrD,uBAAuB,+DAAU;AACjC;AACA,mBAAmB,QAAQ,cAAc,8DAAS;AAClD,oBAAoB,+EAA0B;AAC9C;AACA,IAAI,mEAAS;AACb;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,mEAAc;AAC1B;AACA,KAAK;AACL;AACA;AACA;AACA,oBAAoB,wEAAmB;AACvC;AACA;AACA,WAAW,kEAAa;AACxB;AACA;AACA,IAAI,IAAqC;AACzC;AACA;AAIE;;;;;;;;;;;;;;;;;;;ACtDF;AAGiC;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEjC;AACwC;AACxC,oCAAoC;AACpC,gBAAgB,qEAAgB;AAChC,yBAAyB,sDAAG,CAAC,wEAAuB,IAAI,wCAAwC;AAChG;AAGE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/BF;AAGiC;AAGA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AAUA;AACA;AAKA;;AAEjC;AAC6D;AAK5B;AAIG;AACiB;AAKnB;AACI;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,yEAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,+DAAU;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,cAAc,8DAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,+EAA0B;AAC9C;AACA,IAAI,mEAAS;AACb;AACA,MAAM,KAAqC;AAC3C;AACA,gBAAgB,6CAAM;AACtB,6CAA6C,mEAAc;AAC3D,6BAA6B,6CAAM;AACnC,yBAAyB,6CAAM;AAC/B;AACA;AACA;AACA;AACA,sCAAsC,+CAAQ;AAC9C,IAAI,0EAAqB;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,8CAAO;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,0EAAiB;AACzB,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,6CAAM;AACtC,gCAAgC,6DAAQ;AACxC,4BAA4B,6CAAM;AAClC,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA,+BAA+B,4EAAmB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,wEAAmB;AACvB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI,wEAAmB;AACvB;AACA;AACA;AACA,KAAK;AACL;AACA,IAAI,oEAAe;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,yDAAyD;AACvE,0BAA0B,mEAAQ;AAClC;AACA;AACA;AACA,4CAA4C,mCAAmC;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,mCAAmC,qCAAqC;AACxE;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,+EAAmB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,6BAA6B,oEAAe;AAC5C,iCAAiC,oEAAe;AAChD,qBAAqB,6DAAQ;AAC7B;AACA;AACA;AACA;AACA;AACA,cAAc,8CAA8C;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,oDAAS;AACjB,QAAQ,0EAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,6BAA6B,6DAAQ;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oEAAe;AAC/C,gCAAgC,oEAAe;AAC/C,wBAAwB,6DAAQ;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,4EAAgB;AACxB;AACA,KAAK;AACL;AACA,8BAA8B,oEAAe;AAC7C,sBAAsB,6DAAQ;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,wBAAwB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,6DAAQ;AAC3B;AACA;AACA;AACA;AACA,KAAK;AACL,eAAe,0DAAK;AACpB;AACA;AACA,YAAY,kEAAa,CAAC,mEAAc;AACxC;AACA;AACA;AACA,uBAAuB,qEAAY;AACnC;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,iEAAY;AACvB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,kEAAY,CAAC,kEAAa,CAAC,mEAAc;AACrD;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY,gFAAsB;AAClC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,sEAAgB,CAAC,mEAAc,GAAG,OAAO;AACrD,WAAW,mEAAc,GAAG,qBAAqB;AACjD;AACA;AACA,eAAe,oEAAe;AAC9B;AACA,SAAS,kEAAa;AACtB,CAAC;AACD,IAAI,IAAqC;AACzC;AACA;AAIE;;;;;;;;;;;;;;;;ACvca;AACf;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACb+B;AACa;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,4CAA4C;AAC5C,4CAA4C,+CAAQ;AACpD,gCAAgC,+CAAQ;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,+BAA+B;AACzC;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,KAAK;AACL,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gGAAgG,QAAQ,YAAY;AACpH;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA,QAAQ,uBAAuB,gBAAgB,gDAAmB;AAClE;AACA,UAAU,oBAAoB;AAC9B,yBAAyB,gDAAmB;AAC5C;AACA,KAAK;AACL;AACA;AACA,UAAU,UAAU;AACpB,yBAAyB,gDAAmB;AAC5C;AACA,KAAK;AACL;;AAEA;AACA,wCAAwC,4CAAe;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,+BAA+B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,+BAA+B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,aAAa;AACb;AACA;AACA,oBAAoB,UAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,UAAU;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,oJAAoJ;AACtK,oBAAoB,+BAA+B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,kBAAkB,WAAW;AAC7B,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,kBAAkB;AAClB;AACA,kBAAkB;AAClB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA,mCAAmC,4CAAe;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,sDAAsD;AACtE,6BAA6B,gDAAmB;AAChD;AACA,qCAAqC,gDAAmB,4CAA4C;AACpG;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;AACA;;AAEA,gCAAgC,4CAAe;AAC/C;AACA;AACA;AACA;AACA,cAAc,6CAA6C;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,wBAAwB;AAC5C;AACA,mFAAmF,aAAa;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA,gBAAgB,+BAA+B;AAC/C,6BAA6B,gDAAmB;AAChD;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,0BAA0B,4CAAe;AACzC;AACA,gBAAgB,yGAAyG;AACzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA,2BAA2B,qBAAqB;AAChD,wBAAwB,gDAAgD;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,oCAAoC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,gDAAmB;AACpD;AACA;AACA,aAAa,gBAAgB,gDAAmB;AAChD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb,UAAU;AACV,iCAAiC,gDAAmB;AACpD;AACA;AACA,aAAa;AACb,sBAAsB,eAAe;AACrC;AACA,aAAa;AACb,sBAAsB,eAAe;AACrC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,4CAAe;AAC1D,yCAAyC,4CAAe;AACxD;AACA,oBAAoB,sBAAsB;AAC1C;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA,wBAAwB,8FAA8F;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA,aAAa;AACb;AACA,wBAAwB,yBAAyB;AACjD,wBAAwB,qBAAqB;AAC7C;AACA;AACA,4BAA4B,wBAAwB;AACpD;AACA;AACA,2FAA2F,aAAa;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,oBAAoB,qEAAqE;AACzF;AACA;AACA;AACA;AACA;AACA,iCAAiC,gDAAmB;AACpD;AACA;AACA;AACA,aAAa,2FAA2F,gDAAmB,CAAC,2CAAc,sBAAsB,gDAAmB;AACnL;AACA;AACA;AACA,aAAa,iBAAiB,gDAAmB;AACjD;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,qGAAqG,gDAAmB,CAAC,2CAAc;AACvI,sBAAsB,yBAAyB;AAC/C;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,sBAAsB,yBAAyB;AAC/C,qCAAqC,gDAAmB;AACxD;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA,iCAAiC,gDAAmB;AACpD;AACA,aAAa;AACb;AACA;AACA;;AAEA,sBAAsB,4CAAe;AACrC;AACA,gBAAgB,uFAAuF;AACvG,6BAA6B,gDAAmB;AAChD;AACA,SAAS,qFAAqF,gDAAmB,8BAA8B;AAC/I;AACA,SAAS,mGAAmG,gDAAmB;AAC/H;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,4CAA4C;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,sEAAsE;;AAEvE;;AAE6E;AAC7E;;;;;;;UC7vBA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA,+BAA+B,wCAAwC;WACvE;WACA;WACA;WACA;WACA,iBAAiB,qBAAqB;WACtC;WACA;WACA,kBAAkB,qBAAqB;WACvC;WACA;WACA,KAAK;WACL;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC3BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,sDAAsD;WACtD,sCAAsC,iEAAiE;WACvG;WACA;WACA;WACA;WACA;WACA;;;;;WCzBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;;;;;UEjDA;UACA;UACA;UACA;UACA","sources":["webpack://search-console/./node_modules/@react-oauth/google/dist/index.esm.js","webpack://search-console/./assets/logo.svg","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/add-filter.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/bulk-actions.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/constants.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/dataviews.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/filter-summary.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/filters.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/item-actions.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/layouts.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/lock-unlock.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/normalize-fields.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/pagination.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/reset-filters.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/search-widget.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/search.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/single-selection-checkbox.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/utils.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/view-actions.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/view-grid.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/view-list.js","webpack://search-console/./node_modules/@wordpress/dataviews/build-module/view-table.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/icon/index.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/block-table.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/category.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/check.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/chevron-left.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/chevron-right.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/close-small.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/cloud.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/format-list-bullets-rtl.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/format-list-bullets.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/funnel.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/more-vertical.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/plus.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/search.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/settings.js","webpack://search-console/./node_modules/@wordpress/icons/build-module/library/unseen.js","webpack://search-console/./src/components/Footer.js","webpack://search-console/./src/components/Header.js","webpack://search-console/./src/components/ads/index.js","webpack://search-console/./src/components/ads/slideshow.js","webpack://search-console/./src/components/dashboard/chart/chart-options.js","webpack://search-console/./src/components/dashboard/chart/index.js","webpack://search-console/./src/components/dashboard/modals/countries.js","webpack://search-console/./src/components/dashboard/modals/country.js","webpack://search-console/./src/components/dashboard/modals/device.js","webpack://search-console/./src/components/dashboard/modals/page.js","webpack://search-console/./src/components/dashboard/modals/query.js","webpack://search-console/./src/components/dashboard/table/datedropdown.js","webpack://search-console/./src/components/dashboard/table/dateselect.js","webpack://search-console/./src/components/dashboard/table/dimensions.js","webpack://search-console/./src/components/dashboard/table/filters.js","webpack://search-console/./src/components/dashboard/table/index.js","webpack://search-console/./src/components/dashboard/table/modals.js","webpack://search-console/./src/components/loading-spinner.js","webpack://search-console/./src/components/settings/credentials.js","webpack://search-console/./src/components/settings/google-oauth.js","webpack://search-console/./src/components/settings/help.js","webpack://search-console/./src/components/settings/oauth-button.js","webpack://search-console/./src/components/settings/post-type-selection.js","webpack://search-console/./src/components/settings/save-button.js","webpack://search-console/./src/components/settings/site-select.js","webpack://search-console/./src/components/settings/verification.js","webpack://search-console/./src/context/settings-context.js","webpack://search-console/./src/index.js","webpack://search-console/./src/router/history.js","webpack://search-console/./src/router/index.js","webpack://search-console/./src/routes/dashboard.js","webpack://search-console/./src/routes/settings.js","webpack://search-console/./src/store/index.js","webpack://search-console/./node_modules/classnames/index.js","webpack://search-console/./node_modules/history/index.js","webpack://search-console/./src/style.scss","webpack://search-console/./node_modules/react/cjs/react-jsx-runtime.development.js","webpack://search-console/./node_modules/react/jsx-runtime.js","webpack://search-console/./node_modules/remove-accents/index.js","webpack://search-console/./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","webpack://search-console/./node_modules/use-sync-external-store/shim/index.js","webpack://search-console/external window \"React\"","webpack://search-console/external window \"ReactDOM\"","webpack://search-console/external window [\"wp\",\"apiFetch\"]","webpack://search-console/external window [\"wp\",\"components\"]","webpack://search-console/external window [\"wp\",\"compose\"]","webpack://search-console/external window [\"wp\",\"coreData\"]","webpack://search-console/external window [\"wp\",\"data\"]","webpack://search-console/external window [\"wp\",\"date\"]","webpack://search-console/external window [\"wp\",\"element\"]","webpack://search-console/external window [\"wp\",\"i18n\"]","webpack://search-console/external window [\"wp\",\"notices\"]","webpack://search-console/external window [\"wp\",\"primitives\"]","webpack://search-console/external window [\"wp\",\"privateApis\"]","webpack://search-console/external window [\"wp\",\"url\"]","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/22K762VQ.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/4R3V3JGP.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/7PRQYBBV.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/AF6IUUFN.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/DLOEKDPY.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/EAHJFCU4.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/IERTEJ3A.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/MHPO2BXA.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/SX2XFD6A.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/Y3OOHFCN.js","webpack://search-console/./node_modules/@ariakit/core/esm/__chunks/Z5IGYIPT.js","webpack://search-console/./node_modules/@ariakit/core/esm/combobox/combobox-store.js","webpack://search-console/./node_modules/@ariakit/core/esm/utils/events.js","webpack://search-console/./node_modules/@ariakit/core/esm/utils/focus.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/346FK57L.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/3IEDWLST.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/3ORBWXWF.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/4R3V3JGP.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/4UUKJZ4V.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/6O5OEQGF.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/7GBW5FLS.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/7H5KSHHF.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/7QTPYGNZ.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/CLE7NTOY.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/EKQEJRUF.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/G6BJYYBK.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/G6ONQ5EH.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/IB7YUKH5.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/JCH6MLL2.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/KK7H3W2B.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/MG4P3223.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/NWCBQ4CV.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/OAYFXAQ2.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/QZLXIDNP.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/SFCBA2JZ.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/SHA3WOPI.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/UH3I23HL.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/W76OTZCC.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/XM66DUTO.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/Y6GYTNQ2.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/ZEXNX5JH.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/ZKJ2WLF7.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/__chunks/ZSELSBRM.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/combobox/combobox-item-value.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/combobox/combobox-item.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/combobox/combobox-label.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/combobox/combobox-provider.js","webpack://search-console/./node_modules/@ariakit/react-core/esm/combobox/combobox.js","webpack://search-console/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://search-console/./node_modules/react-google-charts/dist/index.js","webpack://search-console/webpack/bootstrap","webpack://search-console/webpack/runtime/chunk loaded","webpack://search-console/webpack/runtime/compat get default export","webpack://search-console/webpack/runtime/create fake namespace object","webpack://search-console/webpack/runtime/define property getters","webpack://search-console/webpack/runtime/hasOwnProperty shorthand","webpack://search-console/webpack/runtime/make namespace object","webpack://search-console/webpack/runtime/jsonp chunk loading","webpack://search-console/webpack/before-startup","webpack://search-console/webpack/startup","webpack://search-console/webpack/after-startup"],"sourcesContent":["import React, { useState, useRef, useEffect, createContext, useMemo, useContext, useCallback } from 'react';\n\nfunction useLoadGsiScript(options = {}) {\r\n    const { onScriptLoadSuccess, onScriptLoadError } = options;\r\n    const [scriptLoadedSuccessfully, setScriptLoadedSuccessfully] = useState(false);\r\n    const onScriptLoadSuccessRef = useRef(onScriptLoadSuccess);\r\n    onScriptLoadSuccessRef.current = onScriptLoadSuccess;\r\n    const onScriptLoadErrorRef = useRef(onScriptLoadError);\r\n    onScriptLoadErrorRef.current = onScriptLoadError;\r\n    useEffect(() => {\r\n        const scriptTag = document.createElement('script');\r\n        scriptTag.src = 'https://accounts.google.com/gsi/client';\r\n        scriptTag.async = true;\r\n        scriptTag.defer = true;\r\n        scriptTag.onload = () => {\r\n            var _a;\r\n            setScriptLoadedSuccessfully(true);\r\n            (_a = onScriptLoadSuccessRef.current) === null || _a === void 0 ? void 0 : _a.call(onScriptLoadSuccessRef);\r\n        };\r\n        scriptTag.onerror = () => {\r\n            var _a;\r\n            setScriptLoadedSuccessfully(false);\r\n            (_a = onScriptLoadErrorRef.current) === null || _a === void 0 ? void 0 : _a.call(onScriptLoadErrorRef);\r\n        };\r\n        document.body.appendChild(scriptTag);\r\n        return () => {\r\n            document.body.removeChild(scriptTag);\r\n        };\r\n    }, []);\r\n    return scriptLoadedSuccessfully;\r\n}\n\nconst GoogleOAuthContext = createContext(null);\r\nfunction GoogleOAuthProvider({ clientId, onScriptLoadSuccess, onScriptLoadError, children, }) {\r\n    const scriptLoadedSuccessfully = useLoadGsiScript({\r\n        onScriptLoadSuccess,\r\n        onScriptLoadError,\r\n    });\r\n    const contextValue = useMemo(() => ({\r\n        clientId,\r\n        scriptLoadedSuccessfully,\r\n    }), [clientId, scriptLoadedSuccessfully]);\r\n    return (React.createElement(GoogleOAuthContext.Provider, { value: contextValue }, children));\r\n}\r\nfunction useGoogleOAuth() {\r\n    const context = useContext(GoogleOAuthContext);\r\n    if (!context) {\r\n        throw new Error('Google OAuth components must be used within GoogleOAuthProvider');\r\n    }\r\n    return context;\r\n}\n\nfunction extractClientId(credentialResponse) {\r\n    var _a;\r\n    const clientId = (_a = credentialResponse === null || credentialResponse === void 0 ? void 0 : credentialResponse.clientId) !== null && _a !== void 0 ? _a : credentialResponse === null || credentialResponse === void 0 ? void 0 : credentialResponse.client_id;\r\n    return clientId;\r\n}\n\nconst containerHeightMap = { large: 40, medium: 32, small: 20 };\r\nfunction GoogleLogin({ onSuccess, onError, useOneTap, promptMomentNotification, type = 'standard', theme = 'outline', size = 'large', text, shape, logo_alignment, width, locale, click_listener, ...props }) {\r\n    const btnContainerRef = useRef(null);\r\n    const { clientId, scriptLoadedSuccessfully } = useGoogleOAuth();\r\n    const onSuccessRef = useRef(onSuccess);\r\n    onSuccessRef.current = onSuccess;\r\n    const onErrorRef = useRef(onError);\r\n    onErrorRef.current = onError;\r\n    const promptMomentNotificationRef = useRef(promptMomentNotification);\r\n    promptMomentNotificationRef.current = promptMomentNotification;\r\n    useEffect(() => {\r\n        var _a, _b, _c;\r\n        if (!scriptLoadedSuccessfully)\r\n            return;\r\n        (_a = window.google) === null || _a === void 0 ? void 0 : _a.accounts.id.initialize({\r\n            client_id: clientId,\r\n            callback: (credentialResponse) => {\r\n                var _a;\r\n                if (!(credentialResponse === null || credentialResponse === void 0 ? void 0 : credentialResponse.credential)) {\r\n                    return (_a = onErrorRef.current) === null || _a === void 0 ? void 0 : _a.call(onErrorRef);\r\n                }\r\n                const { credential, select_by } = credentialResponse;\r\n                onSuccessRef.current({\r\n                    credential,\r\n                    clientId: extractClientId(credentialResponse),\r\n                    select_by,\r\n                });\r\n            },\r\n            ...props,\r\n        });\r\n        (_b = window.google) === null || _b === void 0 ? void 0 : _b.accounts.id.renderButton(btnContainerRef.current, {\r\n            type,\r\n            theme,\r\n            size,\r\n            text,\r\n            shape,\r\n            logo_alignment,\r\n            width,\r\n            locale,\r\n            click_listener,\r\n        });\r\n        if (useOneTap)\r\n            (_c = window.google) === null || _c === void 0 ? void 0 : _c.accounts.id.prompt(promptMomentNotificationRef.current);\r\n        return () => {\r\n            var _a;\r\n            if (useOneTap)\r\n                (_a = window.google) === null || _a === void 0 ? void 0 : _a.accounts.id.cancel();\r\n        };\r\n        // eslint-disable-next-line react-hooks/exhaustive-deps\r\n    }, [\r\n        clientId,\r\n        scriptLoadedSuccessfully,\r\n        useOneTap,\r\n        type,\r\n        theme,\r\n        size,\r\n        text,\r\n        shape,\r\n        logo_alignment,\r\n        width,\r\n        locale,\r\n    ]);\r\n    return (React.createElement(\"div\", { ref: btnContainerRef, style: { height: containerHeightMap[size] } }));\r\n}\n\nfunction googleLogout() {\r\n    var _a;\r\n    (_a = window.google) === null || _a === void 0 ? void 0 : _a.accounts.id.disableAutoSelect();\r\n}\n\n/* eslint-disable import/export */\r\nfunction useGoogleLogin({ flow = 'implicit', scope = '', onSuccess, onError, onNonOAuthError, overrideScope, ...props }) {\r\n    const { clientId, scriptLoadedSuccessfully } = useGoogleOAuth();\r\n    const clientRef = useRef();\r\n    const onSuccessRef = useRef(onSuccess);\r\n    onSuccessRef.current = onSuccess;\r\n    const onErrorRef = useRef(onError);\r\n    onErrorRef.current = onError;\r\n    const onNonOAuthErrorRef = useRef(onNonOAuthError);\r\n    onNonOAuthErrorRef.current = onNonOAuthError;\r\n    useEffect(() => {\r\n        var _a;\r\n        if (!scriptLoadedSuccessfully)\r\n            return;\r\n        const clientMethod = flow === 'implicit' ? 'initTokenClient' : 'initCodeClient';\r\n        const client = (_a = window.google) === null || _a === void 0 ? void 0 : _a.accounts.oauth2[clientMethod]({\r\n            client_id: clientId,\r\n            scope: overrideScope ? scope : `openid profile email ${scope}`,\r\n            callback: (response) => {\r\n                var _a, _b;\r\n                if (response.error)\r\n                    return (_a = onErrorRef.current) === null || _a === void 0 ? void 0 : _a.call(onErrorRef, response);\r\n                (_b = onSuccessRef.current) === null || _b === void 0 ? void 0 : _b.call(onSuccessRef, response);\r\n            },\r\n            error_callback: (nonOAuthError) => {\r\n                var _a;\r\n                (_a = onNonOAuthErrorRef.current) === null || _a === void 0 ? void 0 : _a.call(onNonOAuthErrorRef, nonOAuthError);\r\n            },\r\n            ...props,\r\n        });\r\n        clientRef.current = client;\r\n        // eslint-disable-next-line react-hooks/exhaustive-deps\r\n    }, [clientId, scriptLoadedSuccessfully, flow, scope]);\r\n    const loginImplicitFlow = useCallback((overrideConfig) => { var _a; return (_a = clientRef.current) === null || _a === void 0 ? void 0 : _a.requestAccessToken(overrideConfig); }, []);\r\n    const loginAuthCodeFlow = useCallback(() => { var _a; return (_a = clientRef.current) === null || _a === void 0 ? void 0 : _a.requestCode(); }, []);\r\n    return flow === 'implicit' ? loginImplicitFlow : loginAuthCodeFlow;\r\n}\n\nfunction useGoogleOneTapLogin({ onSuccess, onError, promptMomentNotification, cancel_on_tap_outside, hosted_domain, }) {\r\n    const { clientId, scriptLoadedSuccessfully } = useGoogleOAuth();\r\n    const onSuccessRef = useRef(onSuccess);\r\n    onSuccessRef.current = onSuccess;\r\n    const onErrorRef = useRef(onError);\r\n    onErrorRef.current = onError;\r\n    const promptMomentNotificationRef = useRef(promptMomentNotification);\r\n    promptMomentNotificationRef.current = promptMomentNotification;\r\n    useEffect(() => {\r\n        var _a, _b;\r\n        if (!scriptLoadedSuccessfully)\r\n            return;\r\n        (_a = window.google) === null || _a === void 0 ? void 0 : _a.accounts.id.initialize({\r\n            client_id: clientId,\r\n            callback: (credentialResponse) => {\r\n                var _a;\r\n                if (!(credentialResponse === null || credentialResponse === void 0 ? void 0 : credentialResponse.credential)) {\r\n                    return (_a = onErrorRef.current) === null || _a === void 0 ? void 0 : _a.call(onErrorRef);\r\n                }\r\n                const { credential, select_by } = credentialResponse;\r\n                onSuccessRef.current({\r\n                    credential,\r\n                    clientId: extractClientId(credentialResponse),\r\n                    select_by,\r\n                });\r\n            },\r\n            hosted_domain,\r\n            cancel_on_tap_outside,\r\n        });\r\n        (_b = window.google) === null || _b === void 0 ? void 0 : _b.accounts.id.prompt(promptMomentNotificationRef.current);\r\n        return () => {\r\n            var _a;\r\n            (_a = window.google) === null || _a === void 0 ? void 0 : _a.accounts.id.cancel();\r\n        };\r\n    }, [\r\n        clientId,\r\n        scriptLoadedSuccessfully,\r\n        cancel_on_tap_outside,\r\n        hosted_domain,\r\n    ]);\r\n}\n\n/**\r\n * Checks if the user granted all the specified scope or scopes\r\n * @returns True if all the scopes are granted\r\n */\r\nfunction hasGrantedAllScopesGoogle(tokenResponse, firstScope, ...restScopes) {\r\n    if (!window.google)\r\n        return false;\r\n    return window.google.accounts.oauth2.hasGrantedAllScopes(tokenResponse, firstScope, ...restScopes);\r\n}\n\n/**\r\n * Checks if the user granted any of the specified scope or scopes.\r\n * @returns True if any of the scopes are granted\r\n */\r\nfunction hasGrantedAnyScopeGoogle(tokenResponse, firstScope, ...restScopes) {\r\n    if (!window.google)\r\n        return false;\r\n    return window.google.accounts.oauth2.hasGrantedAnyScope(tokenResponse, firstScope, ...restScopes);\r\n}\n\nexport { GoogleLogin, GoogleOAuthProvider, googleLogout, hasGrantedAllScopesGoogle, hasGrantedAnyScopeGoogle, useGoogleLogin, useGoogleOneTapLogin };\n","var _defs, _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11;\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nvar SvgLogo = function SvgLogo(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    xmlns: \"http://www.w3.org/2000/svg\",\n    width: 32,\n    height: 28,\n    preserveAspectRatio: \"xMidYMid\",\n    viewBox: \"0 0 256 228\"\n  }, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"radialGradient\", {\n    id: \"logo_svg__a\",\n    cx: \"21.66%\",\n    cy: \"28.708%\",\n    r: \"82.87%\",\n    fx: \"21.66%\",\n    fy: \"28.708%\",\n    gradientTransform: \"matrix(.59503 .59486 -.44034 .80383 .214 -.073)\"\n  }, /*#__PURE__*/React.createElement(\"stop\", {\n    offset: \"0%\",\n    stopColor: \"#F1F2F2\"\n  }), /*#__PURE__*/React.createElement(\"stop\", {\n    offset: \"100%\",\n    stopColor: \"#E6E7E8\"\n  })))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#737373\",\n    d: \"M165.98 0H90.02L71.098 19.055V37.98H90.02V19.055h75.958V37.98h18.924V19.055z\"\n  })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#BFBFBF\",\n    d: \"M90.02 0v19.055h75.96V0z\"\n  })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"url(#logo_svg__a)\",\n    d: \"M36.402 37.98 0 74.381v134.177c0 10.513 8.542 18.924 18.924 18.924h218.152c10.513 0 18.924-8.543 18.924-18.924V74.513L219.466 37.98z\"\n  })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#FFF\",\n    d: \"M28.517 109.076h199.097v118.538H28.517z\"\n  })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#E0E0E0\",\n    d: \"M36.402 37.98 0 74.381v34.694h256V74.513L219.466 37.98z\"\n  })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#D1D1D1\",\n    d: \"M42.71 213.29H128v14.193H42.71z\"\n  })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#4285F4\",\n    d: \"M28.517 86.998c0-8.148 6.571-14.719 14.72-14.719h169.527c8.148 0 14.719 6.571 14.719 14.719v22.078H28.517z\"\n  })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#E6E6E6\",\n    d: \"M56.903 90.152a7.067 7.067 0 0 1-7.096 7.096 7.067 7.067 0 0 1-7.097-7.096 7.067 7.067 0 0 1 7.097-7.097 7.067 7.067 0 0 1 7.096 7.097m23.656 0a7.067 7.067 0 0 1-7.097 7.096 7.067 7.067 0 0 1-7.096-7.096 7.067 7.067 0 0 1 7.096-7.097 7.067 7.067 0 0 1 7.097 7.097\"\n  })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#BABABA\",\n    d: \"m227.483 165.191-29.832-29.832-9.988 30.883-40.739-40.608-1.183 62.686 15.113 23.655c2.234-.394-11.302 15.508-11.302 15.508h77.93z\"\n  })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#4D4D4D\",\n    d: \"M208.821 164.008c0-16.821-9.856-31.277-23.918-38.242v39.95l-18.792 10.12-19.056-10.12v-40.082c-14.061 6.966-23.655 21.553-23.655 38.243 0 16.821 9.725 31.277 23.787 38.242v25.364h37.848v-25.364c13.93-6.834 23.786-21.42 23.786-38.11\"\n  })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n    fill: \"#D1D1D1\",\n    d: \"M42.71 123.269h66.366v75.828H42.71z\"\n  })));\n};\nexport { SvgLogo as ReactComponent };\nexport default \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzJweCIgaGVpZ2h0PSIyOHB4IiB2aWV3Qm94PSIwIDAgMjU2IDIyOCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICAgIDx0aXRsZT5Hb29nbGUgU2VhcmNoIENvbnNvbGU8L3RpdGxlPgogICAgPGRlZnM+CiAgICAgICAgPHJhZGlhbEdyYWRpZW50IGN4PSIyMS42NTk3OTI2JSIgY3k9IjI4LjcwNzU4MzUlIiBmeD0iMjEuNjU5NzkyNiUiIGZ5PSIyOC43MDc1ODM1JSIgcj0iODIuODY5Njg1OCUiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4yMTY1OTgsMC4yODcwNzYpLHNjYWxlKDAuNzQwMjQ2LDEuMDAwMDAwKSxyb3RhdGUoMzYuNTAyNDc5KSx0cmFuc2xhdGUoLTAuMjE2NTk4LC0wLjI4NzA3NikiIGlkPSJnc2NSYWRpYWxHcmFkaWVudC0xIj4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0YxRjJGMiIgb2Zmc2V0PSIwJSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRTZFN0U4IiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L3JhZGlhbEdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPGc+CiAgICAgICAgPHBvbHlnb24gZmlsbD0iIzczNzM3MyIgcG9pbnRzPSIxNjUuOTc5NDY2IDAgOTAuMDIwNTMzOSAwIDcxLjA5NjUwOTIgMTkuMDU1NDQxNSA3MS4wOTY1MDkyIDM3Ljk3OTQ2NjEgOTAuMDIwNTMzOSAzNy45Nzk0NjYxIDkwLjAyMDUzMzkgMTkuMDU1NDQxNSAxNjUuOTc5NDY2IDE5LjA1NTQ0MTUgMTY1Ljk3OTQ2NiAzNy45Nzk0NjYxIDE4NC45MDM0OTEgMzcuOTc5NDY2MSAxODQuOTAzNDkxIDE5LjA1NTQ0MTUiPjwvcG9seWdvbj4KICAgICAgICA8cG9seWdvbiBmaWxsPSIjQkZCRkJGIiBwb2ludHM9IjkwLjAyMDUzNCA4Ljg4MTc4NDJlLTE1IDkwLjAyMDUzNCAxOS4wNTU0NDE1IDE2NS45Nzk0NjYgMTkuMDU1NDQxNSAxNjUuOTc5NDY2IDguODgxNzg0MmUtMTUiPjwvcG9seWdvbj4KICAgICAgICA8cGF0aCBkPSJNMzYuNDAyNDY0MSwzNy45Nzk0NjYgTDAsNzQuMzgxOTMwMSBMMCwyMDguNTU4NTIxIEMwLDIxOS4wNzE4NjggOC41NDIwOTQ0NiwyMjcuNDgyNTQ2IDE4LjkyNDAyNDYsMjI3LjQ4MjU0NiBMMjM3LjA3NTk3NSwyMjcuNDgyNTQ2IEMyNDcuNTg5MzIyLDIyNy40ODI1NDYgMjU2LDIxOC45NDA0NTIgMjU2LDIwOC41NTg1MjEgTDI1Niw3NC41MTMzNDY5IEwyMTkuNDY2MTE5LDM3Ljk3OTQ2NiBMMzYuNDAyNDY0MSwzNy45Nzk0NjYgWiIgZmlsbD0idXJsKCNnc2NSYWRpYWxHcmFkaWVudC0xKSI+PC9wYXRoPgogICAgICAgIDxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMjguNTE3NDUzOCAxMDkuMDc1OTc1IDIyNy42MTM5NjMgMTA5LjA3NTk3NSAyMjcuNjEzOTYzIDIyNy42MTM5NjMgMjguNTE3NDUzOCAyMjcuNjEzOTYzIj48L3BvbHlnb24+CiAgICAgICAgPHBvbHlnb24gZmlsbD0iI0UwRTBFMCIgcG9pbnRzPSIzNi40MDI0NjQxIDM3Ljk3OTQ2NiAwIDc0LjM4MTkzMDEgMCAxMDkuMDc1OTc1IDI1NiAxMDkuMDc1OTc1IDI1NiA3NC41MTMzNDY5IDIxOS40NjYxMTkgMzcuOTc5NDY2Ij48L3BvbHlnb24+CiAgICAgICAgPHBvbHlnb24gZmlsbD0iI0QxRDFEMSIgcG9pbnRzPSI0Mi43MTA0NzIgMjEzLjI4OTUyOCAxMjggMjEzLjI4OTUyOCAxMjggMjI3LjQ4MjU0NiA0Mi43MTA0NzIgMjI3LjQ4MjU0NiI+PC9wb2x5Z29uPgogICAgICAgIDxwYXRoIGQ9Ik0yOC41MTc0NTM4LDg2Ljk5Nzk0NjYgQzI4LjUxNzQ1MzgsNzguODUwMTAyNyAzNS4wODgyOTU3LDcyLjI3OTI2MDggNDMuMjM2MTM5Niw3Mi4yNzkyNjA4IEwyMTIuNzYzODYsNzIuMjc5MjYwOCBDMjIwLjkxMTcwNCw3Mi4yNzkyNjA4IDIyNy40ODI1NDYsNzguODUwMTAyNyAyMjcuNDgyNTQ2LDg2Ljk5Nzk0NjYgTDIyNy40ODI1NDYsMTA5LjA3NTk3NSBMMjguNTE3NDUzOCwxMDkuMDc1OTc1IEwyOC41MTc0NTM4LDg2Ljk5Nzk0NjYgWiIgZmlsbD0iIzQyODVGNCI+PC9wYXRoPgogICAgICAgIDxwYXRoIGQ9Ik01Ni45MDM0OTA4LDkwLjE1MTk1MDcgQzU2LjkwMzQ5MDgsOTQuMDk0NDU1OSA1My43NDk0ODY3LDk3LjI0ODQ2IDQ5LjgwNjk4MTUsOTcuMjQ4NDYgQzQ1Ljg2NDQ3NjQsOTcuMjQ4NDYgNDIuNzEwNDcyMyw5NC4wOTQ0NTU5IDQyLjcxMDQ3MjMsOTAuMTUxOTUwNyBDNDIuNzEwNDcyMyw4Ni4yMDk0NDU2IDQ1Ljg2NDQ3NjQsODMuMDU1NDQxNSA0OS44MDY5ODE1LDgzLjA1NTQ0MTUgQzUzLjc0OTQ4NjcsODMuMDU1NDQxNSA1Ni45MDM0OTA4LDg2LjIwOTQ0NTYgNTYuOTAzNDkwOCw5MC4xNTE5NTA3IE04MC41NTg1MjE2LDkwLjE1MTk1MDcgQzgwLjU1ODUyMTYsOTQuMDk0NDU1OSA3Ny40MDQ1MTc1LDk3LjI0ODQ2IDczLjQ2MjAxMjMsOTcuMjQ4NDYgQzY5LjUxOTUwNzIsOTcuMjQ4NDYgNjYuMzY1NTAzMSw5NC4wOTQ0NTU5IDY2LjM2NTUwMzEsOTAuMTUxOTUwNyBDNjYuMzY1NTAzMSw4Ni4yMDk0NDU2IDY5LjUxOTUwNzIsODMuMDU1NDQxNSA3My40NjIwMTIzLDgzLjA1NTQ0MTUgQzc3LjQwNDUxNzUsODMuMDU1NDQxNSA4MC41NTg1MjE2LDg2LjIwOTQ0NTYgODAuNTU4NTIxNiw5MC4xNTE5NTA3IiBmaWxsPSIjRTZFNkU2Ij48L3BhdGg+CiAgICAgICAgPHBhdGggZD0iTTIyNy40ODI1NDYsMTY1LjE5MDk2NSBMMTk3LjY1MDkyNCwxMzUuMzU5MzQzIEwxODcuNjYzMjQ0LDE2Ni4yNDIzIEwxNDYuOTI0MDI1LDEyNS42MzQ0OTcgTDE0NS43NDEyNzMsMTg4LjMyMDMyOSBMMTYwLjg1NDIwOSwyMTEuOTc1MzU5IEMxNjMuMDg4Mjk2LDIxMS41ODExMDkgMTQ5LjU1MjM2MSwyMjcuNDgyNTQ2IDE0OS41NTIzNjEsMjI3LjQ4MjU0NiBMMjI3LjQ4MjU0NiwyMjcuNDgyNTQ2IEwyMjcuNDgyNTQ2LDE2NS4xOTA5NjUgWiIgZmlsbD0iI0JBQkFCQSI+PC9wYXRoPgogICAgICAgIDxwYXRoIGQ9Ik0yMDguODIxMzU1LDE2NC4wMDgyMTQgQzIwOC44MjEzNTUsMTQ3LjE4Njg1OCAxOTguOTY1MDkyLDEzMi43MzEwMDYgMTg0LjkwMzQ5MSwxMjUuNzY1OTE0IEwxODQuOTAzNDkxLDE2NS43MTY2MzIgTDE2Ni4xMTA4ODMsMTc1LjgzNTcyOSBMMTQ3LjA1NTQ0MSwxNjUuNzE2NjMyIEwxNDcuMDU1NDQxLDEyNS42MzQ0OTcgQzEzMi45OTM4NCwxMzIuNTk5NTg5IDEyMy40MDA0MTEsMTQ3LjE4Njg1OCAxMjMuNDAwNDExLDE2My44NzY3OTcgQzEyMy40MDA0MTEsMTgwLjY5ODE1MiAxMzMuMTI1MjU3LDE5NS4xNTQwMDQgMTQ3LjE4Njg1OCwyMDIuMTE5MDk3IEwxNDcuMTg2ODU4LDIyNy40ODI1NDYgTDE4NS4wMzQ5MDgsMjI3LjQ4MjU0NiBMMTg1LjAzNDkwOCwyMDIuMTE5MDk3IEMxOTguOTY1MDkyLDE5NS4yODU0MjEgMjA4LjgyMTM1NSwxODAuNjk4MTUyIDIwOC44MjEzNTUsMTY0LjAwODIxNCIgZmlsbD0iIzRENEQ0RCI+PC9wYXRoPgogICAgICAgIDxwb2x5Z29uIGZpbGw9IiNEMUQxRDEiIHBvaW50cz0iNDIuNzEwNDcyIDEyMy4yNjg5OTQgMTA5LjA3NTk3NSAxMjMuMjY4OTk0IDEwOS4wNzU5NzUgMTk5LjA5NjUwOSA0Mi43MTA0NzIgMTk5LjA5NjUwOSI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4K\";","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis, Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nconst {\n  DropdownMenuV2: DropdownMenu,\n  DropdownMenuItemV2: DropdownMenuItem,\n  DropdownMenuItemLabelV2: DropdownMenuItemLabel\n} = unlock(componentsPrivateApis);\nfunction AddFilter({\n  filters,\n  view,\n  onChangeView,\n  setOpenedFilter\n}, ref) {\n  if (!filters.length || filters.every(({\n    isPrimary\n  }) => isPrimary)) {\n    return null;\n  }\n  const inactiveFilters = filters.filter(filter => !filter.isVisible);\n  return createElement(DropdownMenu, {\n    trigger: createElement(Button, {\n      __experimentalIsFocusable: true,\n      size: \"compact\",\n      className: \"dataviews-filters-button\",\n      variant: \"tertiary\",\n      disabled: !inactiveFilters.length,\n      ref: ref\n    }, __('Add filter'))\n  }, inactiveFilters.map(filter => {\n    return createElement(DropdownMenuItem, {\n      key: filter.field,\n      onClick: () => {\n        setOpenedFilter(filter.field);\n        onChangeView({\n          ...view,\n          page: 1,\n          filters: [...(view.filters || []), {\n            field: filter.field,\n            value: undefined,\n            operator: filter.operators[0]\n          }]\n        });\n      }\n    }, createElement(DropdownMenuItemLabel, null, filter.name));\n  }));\n}\nexport default forwardRef(AddFilter);\n//# sourceMappingURL=add-filter.js.map","import { createElement, Fragment } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis, Button, Modal } from '@wordpress/components';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { useMemo, useState, useCallback, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nconst {\n  DropdownMenuV2: DropdownMenu,\n  DropdownMenuGroupV2: DropdownMenuGroup,\n  DropdownMenuItemV2: DropdownMenuItem,\n  DropdownMenuSeparatorV2: DropdownMenuSeparator\n} = unlock(componentsPrivateApis);\nexport function useHasAPossibleBulkAction(actions, item) {\n  return useMemo(() => {\n    return actions.some(action => {\n      return action.supportsBulk && action.isEligible(item);\n    });\n  }, [actions, item]);\n}\nexport function useSomeItemHasAPossibleBulkAction(actions, data) {\n  return useMemo(() => {\n    return data.some(item => {\n      return actions.some(action => {\n        return action.supportsBulk && action.isEligible(item);\n      });\n    });\n  }, [actions, data]);\n}\nfunction ActionWithModal({\n  action,\n  selectedItems,\n  setActionWithModal,\n  onMenuOpenChange\n}) {\n  const eligibleItems = useMemo(() => {\n    return selectedItems.filter(item => action.isEligible(item));\n  }, [action, selectedItems]);\n  const {\n    RenderModal,\n    hideModalHeader\n  } = action;\n  const onCloseModal = useCallback(() => {\n    setActionWithModal(undefined);\n  }, [setActionWithModal]);\n  return createElement(Modal, {\n    title: !hideModalHeader && action.label,\n    __experimentalHideHeader: !!hideModalHeader,\n    onRequestClose: onCloseModal,\n    overlayClassName: \"dataviews-action-modal\"\n  }, createElement(RenderModal, {\n    items: eligibleItems,\n    closeModal: onCloseModal,\n    onPerform: () => onMenuOpenChange(false)\n  }));\n}\nfunction BulkActionItem({\n  action,\n  selectedItems,\n  setActionWithModal\n}) {\n  const eligibleItems = useMemo(() => {\n    return selectedItems.filter(item => action.isEligible(item));\n  }, [action, selectedItems]);\n  const shouldShowModal = !!action.RenderModal;\n  return createElement(DropdownMenuItem, {\n    key: action.id,\n    disabled: eligibleItems.length === 0,\n    hideOnClick: !shouldShowModal,\n    onClick: async () => {\n      if (shouldShowModal) {\n        setActionWithModal(action);\n      } else {\n        await action.callback(eligibleItems);\n      }\n    },\n    suffix: eligibleItems.length > 0 ? eligibleItems.length : undefined\n  }, action.label);\n}\nfunction ActionsMenuGroup({\n  actions,\n  selectedItems,\n  setActionWithModal\n}) {\n  return createElement(Fragment, null, createElement(DropdownMenuGroup, null, actions.map(action => createElement(BulkActionItem, {\n    key: action.id,\n    action: action,\n    selectedItems: selectedItems,\n    setActionWithModal: setActionWithModal\n  }))), createElement(DropdownMenuSeparator, null));\n}\nexport default function BulkActions({\n  data,\n  actions,\n  selection,\n  onSelectionChange,\n  getItemId\n}) {\n  const bulkActions = useMemo(() => actions.filter(action => action.supportsBulk), [actions]);\n  const [isMenuOpen, onMenuOpenChange] = useState(false);\n  const [actionWithModal, setActionWithModal] = useState();\n  const selectableItems = useMemo(() => {\n    return data.filter(item => {\n      return bulkActions.some(action => action.isEligible(item));\n    });\n  }, [data, bulkActions]);\n  const numberSelectableItems = selectableItems.length;\n  const areAllSelected = selection && selection.length === numberSelectableItems;\n  const selectedItems = useMemo(() => {\n    return data.filter(item => selection.includes(getItemId(item)));\n  }, [selection, data, getItemId]);\n  const hasNonSelectableItemSelected = useMemo(() => {\n    return selectedItems.some(item => {\n      return !selectableItems.includes(item);\n    });\n  }, [selectedItems, selectableItems]);\n  useEffect(() => {\n    if (hasNonSelectableItemSelected) {\n      onSelectionChange(selectedItems.filter(selectedItem => {\n        return selectableItems.some(item => {\n          return getItemId(selectedItem) === getItemId(item);\n        });\n      }));\n    }\n  }, [hasNonSelectableItemSelected, selectedItems, selectableItems, getItemId, onSelectionChange]);\n  if (bulkActions.length === 0) {\n    return null;\n  }\n  return createElement(Fragment, null, createElement(DropdownMenu, {\n    open: isMenuOpen,\n    onOpenChange: onMenuOpenChange,\n    label: __('Bulk actions'),\n    style: {\n      minWidth: '240px'\n    },\n    trigger: createElement(Button, {\n      className: \"dataviews-bulk-edit-button\",\n      __next40pxDefaultSize: true,\n      variant: \"tertiary\",\n      size: \"compact\"\n    }, selection.length ? sprintf( /* translators: %d: Number of items. */\n    _n('Edit %d item', 'Edit %d items', selection.length), selection.length) : __('Bulk edit'))\n  }, createElement(ActionsMenuGroup, {\n    actions: bulkActions,\n    setActionWithModal: setActionWithModal,\n    selectedItems: selectedItems\n  }), createElement(DropdownMenuGroup, null, createElement(DropdownMenuItem, {\n    disabled: areAllSelected,\n    hideOnClick: false,\n    onClick: () => {\n      onSelectionChange(selectableItems);\n    },\n    suffix: numberSelectableItems\n  }, __('Select all')), createElement(DropdownMenuItem, {\n    disabled: selection.length === 0,\n    hideOnClick: false,\n    onClick: () => {\n      onSelectionChange([]);\n    }\n  }, __('Deselect')))), actionWithModal && createElement(ActionWithModal, {\n    action: actionWithModal,\n    selectedItems: selectedItems,\n    setActionWithModal: setActionWithModal,\n    onMenuOpenChange: onMenuOpenChange\n  }));\n}\n//# sourceMappingURL=bulk-actions.js.map","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n// Filter operators.\nexport const OPERATOR_IS = 'is';\nexport const OPERATOR_IS_NOT = 'isNot';\nexport const OPERATOR_IS_ANY = 'isAny';\nexport const OPERATOR_IS_NONE = 'isNone';\nexport const OPERATOR_IS_ALL = 'isAll';\nexport const OPERATOR_IS_NOT_ALL = 'isNotAll';\nexport const ALL_OPERATORS = [OPERATOR_IS, OPERATOR_IS_NOT, OPERATOR_IS_ANY, OPERATOR_IS_NONE, OPERATOR_IS_ALL, OPERATOR_IS_NOT_ALL];\nexport const OPERATORS = {\n  [OPERATOR_IS]: {\n    key: 'is-filter',\n    label: __('Is')\n  },\n  [OPERATOR_IS_NOT]: {\n    key: 'is-not-filter',\n    label: __('Is not')\n  },\n  [OPERATOR_IS_ANY]: {\n    key: 'is-any-filter',\n    label: __('Is any')\n  },\n  [OPERATOR_IS_NONE]: {\n    key: 'is-none-filter',\n    label: __('Is none')\n  },\n  [OPERATOR_IS_ALL]: {\n    key: 'is-all-filter',\n    label: __('Is all')\n  },\n  [OPERATOR_IS_NOT_ALL]: {\n    key: 'is-not-all-filter',\n    label: __('Is not all')\n  }\n};\n\n// Sorting\nexport const SORTING_DIRECTIONS = {\n  asc: {\n    label: __('Sort ascending')\n  },\n  desc: {\n    label: __('Sort descending')\n  }\n};\n\n// View layouts.\nexport const LAYOUT_TABLE = 'table';\nexport const LAYOUT_GRID = 'grid';\nexport const LAYOUT_LIST = 'list';\n//# sourceMappingURL=constants.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nimport { useMemo, useState, useCallback, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Pagination from './pagination';\nimport ViewActions from './view-actions';\nimport Filters from './filters';\nimport Search from './search';\nimport { LAYOUT_TABLE, LAYOUT_GRID } from './constants';\nimport { VIEW_LAYOUTS } from './layouts';\nimport BulkActions from './bulk-actions';\nimport { normalizeFields } from './normalize-fields';\nconst defaultGetItemId = item => item.id;\nconst defaultOnSelectionChange = () => {};\nfunction useSomeItemHasAPossibleBulkAction(actions, data) {\n  return useMemo(() => {\n    return data.some(item => {\n      return actions.some(action => {\n        return action.supportsBulk && action.isEligible(item);\n      });\n    });\n  }, [actions, data]);\n}\nexport default function DataViews({\n  view,\n  onChangeView,\n  fields,\n  search = true,\n  searchLabel = undefined,\n  actions = [],\n  data,\n  getItemId = defaultGetItemId,\n  isLoading = false,\n  paginationInfo,\n  supportedLayouts,\n  onSelectionChange = defaultOnSelectionChange\n}) {\n  const [selection, setSelection] = useState([]);\n  const [openedFilter, setOpenedFilter] = useState(null);\n  useEffect(() => {\n    if (selection.length > 0 && selection.some(id => !data.some(item => getItemId(item) === id))) {\n      const newSelection = selection.filter(id => data.some(item => getItemId(item) === id));\n      setSelection(newSelection);\n      onSelectionChange(data.filter(item => newSelection.includes(getItemId(item))));\n    }\n  }, [selection, data, getItemId, onSelectionChange]);\n  const onSetSelection = useCallback(items => {\n    setSelection(items.map(item => getItemId(item)));\n    onSelectionChange(items);\n  }, [setSelection, getItemId, onSelectionChange]);\n  const ViewComponent = VIEW_LAYOUTS.find(v => v.type === view.type).component;\n  const _fields = useMemo(() => normalizeFields(fields), [fields]);\n  const hasPossibleBulkAction = useSomeItemHasAPossibleBulkAction(actions, data);\n  return createElement(\"div\", {\n    className: \"dataviews-wrapper\"\n  }, createElement(HStack, {\n    alignment: \"top\",\n    justify: \"start\",\n    className: \"dataviews-filters__view-actions\"\n  }, createElement(HStack, {\n    justify: \"start\",\n    className: \"dataviews-filters__container\",\n    wrap: true\n  }, search && createElement(Search, {\n    label: searchLabel,\n    view: view,\n    onChangeView: onChangeView\n  }), createElement(Filters, {\n    fields: _fields,\n    view: view,\n    onChangeView: onChangeView,\n    openedFilter: openedFilter,\n    setOpenedFilter: setOpenedFilter\n  })), [LAYOUT_TABLE, LAYOUT_GRID].includes(view.type) && hasPossibleBulkAction && createElement(BulkActions, {\n    actions: actions,\n    data: data,\n    onSelectionChange: onSetSelection,\n    selection: selection,\n    getItemId: getItemId\n  }), createElement(ViewActions, {\n    fields: _fields,\n    view: view,\n    onChangeView: onChangeView,\n    supportedLayouts: supportedLayouts\n  })), createElement(ViewComponent, {\n    fields: _fields,\n    view: view,\n    onChangeView: onChangeView,\n    actions: actions,\n    data: data,\n    getItemId: getItemId,\n    isLoading: isLoading,\n    onSelectionChange: onSetSelection,\n    selection: selection,\n    setOpenedFilter: setOpenedFilter\n  }), createElement(Pagination, {\n    view: view,\n    onChangeView: onChangeView,\n    paginationInfo: paginationInfo\n  }));\n}\n//# sourceMappingURL=dataviews.js.map","import { createElement } from \"react\";\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Dropdown, __experimentalVStack as VStack, __experimentalHStack as HStack, FlexItem, SelectControl, Tooltip, Icon } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef, createInterpolateElement } from '@wordpress/element';\nimport { closeSmall } from '@wordpress/icons';\nconst ENTER = 'Enter';\nconst SPACE = ' ';\n\n/**\n * Internal dependencies\n */\nimport SearchWidget from './search-widget';\nimport { OPERATORS, OPERATOR_IS, OPERATOR_IS_NOT, OPERATOR_IS_ANY, OPERATOR_IS_NONE, OPERATOR_IS_ALL, OPERATOR_IS_NOT_ALL } from './constants';\nconst FilterText = ({\n  activeElements,\n  filterInView,\n  filter\n}) => {\n  if (activeElements === undefined || activeElements.length === 0) {\n    return filter.name;\n  }\n  const filterTextWrappers = {\n    Name: createElement(\"span\", {\n      className: \"dataviews-filter-summary__filter-text-name\"\n    }),\n    Value: createElement(\"span\", {\n      className: \"dataviews-filter-summary__filter-text-value\"\n    })\n  };\n  if (filterInView?.operator === OPERATOR_IS_ANY) {\n    return createInterpolateElement(sprintf( /* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is any: Admin, Editor\". */\n    __('<Name>%1$s is any: </Name><Value>%2$s</Value>'), filter.name, activeElements.map(element => element.label).join(', ')), filterTextWrappers);\n  }\n  if (filterInView?.operator === OPERATOR_IS_NONE) {\n    return createInterpolateElement(sprintf( /* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is none: Admin, Editor\". */\n    __('<Name>%1$s is none: </Name><Value>%2$s</Value>'), filter.name, activeElements.map(element => element.label).join(', ')), filterTextWrappers);\n  }\n  if (filterInView?.operator === OPERATOR_IS_ALL) {\n    return createInterpolateElement(sprintf( /* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is all: Admin, Editor\". */\n    __('<Name>%1$s is all: </Name><Value>%2$s</Value>'), filter.name, activeElements.map(element => element.label).join(', ')), filterTextWrappers);\n  }\n  if (filterInView?.operator === OPERATOR_IS_NOT_ALL) {\n    return createInterpolateElement(sprintf( /* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is not all: Admin, Editor\". */\n    __('<Name>%1$s is not all: </Name><Value>%2$s</Value>'), filter.name, activeElements.map(element => element.label).join(', ')), filterTextWrappers);\n  }\n  if (filterInView?.operator === OPERATOR_IS) {\n    return createInterpolateElement(sprintf( /* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is: Admin\". */\n    __('<Name>%1$s is: </Name><Value>%2$s</Value>'), filter.name, activeElements[0].label), filterTextWrappers);\n  }\n  if (filterInView?.operator === OPERATOR_IS_NOT) {\n    return createInterpolateElement(sprintf( /* translators: 1: Filter name. 3: Filter value. e.g.: \"Author is not: Admin\". */\n    __('<Name>%1$s is not: </Name><Value>%2$s</Value>'), filter.name, activeElements[0].label), filterTextWrappers);\n  }\n  return sprintf( /* translators: 1: Filter name e.g.: \"Unknown status for Author\". */\n  __('Unknown status for %1$s'), filter.name);\n};\nfunction OperatorSelector({\n  filter,\n  view,\n  onChangeView\n}) {\n  const operatorOptions = filter.operators?.map(operator => ({\n    value: operator,\n    label: OPERATORS[operator]?.label\n  }));\n  const currentFilter = view.filters.find(_filter => _filter.field === filter.field);\n  const value = currentFilter?.operator || filter.operators[0];\n  return operatorOptions.length > 1 && createElement(HStack, {\n    spacing: 2,\n    justify: \"flex-start\",\n    className: \"dataviews-filter-summary__operators-container\"\n  }, createElement(FlexItem, {\n    className: \"dataviews-filter-summary__operators-filter-name\"\n  }, filter.name), createElement(SelectControl, {\n    label: __('Conditions'),\n    value: value,\n    options: operatorOptions,\n    onChange: newValue => {\n      const newFilters = currentFilter ? [...view.filters.map(_filter => {\n        if (_filter.field === filter.field) {\n          return {\n            ..._filter,\n            operator: newValue\n          };\n        }\n        return _filter;\n      })] : [...view.filters, {\n        field: filter.field,\n        operator: newValue\n      }];\n      onChangeView({\n        ...view,\n        page: 1,\n        filters: newFilters\n      });\n    },\n    size: \"small\",\n    __nextHasNoMarginBottom: true,\n    hideLabelFromVision: true\n  }));\n}\nexport default function FilterSummary({\n  addFilterRef,\n  openedFilter,\n  ...commonProps\n}) {\n  const toggleRef = useRef();\n  const {\n    filter,\n    view,\n    onChangeView\n  } = commonProps;\n  const filterInView = view.filters.find(f => f.field === filter.field);\n  const activeElements = filter.elements.filter(element => {\n    if (filter.singleSelection) {\n      return element.value === filterInView?.value;\n    }\n    return filterInView?.value?.includes(element.value);\n  });\n  const isPrimary = filter.isPrimary;\n  const hasValues = filterInView?.value !== undefined;\n  const canResetOrRemove = !isPrimary || hasValues;\n  return createElement(Dropdown, {\n    defaultOpen: openedFilter === filter.field,\n    contentClassName: \"dataviews-filter-summary__popover\",\n    popoverProps: {\n      placement: 'bottom-start',\n      role: 'dialog'\n    },\n    onClose: () => {\n      toggleRef.current?.focus();\n    },\n    renderToggle: ({\n      isOpen,\n      onToggle\n    }) => createElement(\"div\", {\n      className: \"dataviews-filter-summary__chip-container\"\n    }, createElement(Tooltip, {\n      text: sprintf( /* translators: 1: Filter name. */\n      __('Filter by: %1$s'), filter.name.toLowerCase()),\n      placement: \"top\"\n    }, createElement(\"div\", {\n      className: classnames('dataviews-filter-summary__chip', {\n        'has-reset': canResetOrRemove,\n        'has-values': hasValues\n      }),\n      role: \"button\",\n      tabIndex: 0,\n      onClick: onToggle,\n      onKeyDown: event => {\n        if ([ENTER, SPACE].includes(event.key)) {\n          onToggle();\n          event.preventDefault();\n        }\n      },\n      \"aria-pressed\": isOpen,\n      \"aria-expanded\": isOpen,\n      ref: toggleRef\n    }, createElement(FilterText, {\n      activeElements: activeElements,\n      filterInView: filterInView,\n      filter: filter\n    }))), canResetOrRemove && createElement(Tooltip, {\n      text: isPrimary ? __('Reset') : __('Remove'),\n      placement: \"top\"\n    }, createElement(\"button\", {\n      className: classnames('dataviews-filter-summary__chip-remove', {\n        'has-values': hasValues\n      }),\n      onClick: () => {\n        onChangeView({\n          ...view,\n          page: 1,\n          filters: view.filters.filter(_filter => _filter.field !== filter.field)\n        });\n        // If the filter is not primary and can be removed, it will be added\n        // back to the available filters from `Add filter` component.\n        if (!isPrimary) {\n          addFilterRef.current?.focus();\n        } else {\n          // If is primary, focus the toggle button.\n          toggleRef.current?.focus();\n        }\n      }\n    }, createElement(Icon, {\n      icon: closeSmall\n    })))),\n    renderContent: () => {\n      return createElement(VStack, {\n        spacing: 0,\n        justify: \"flex-start\"\n      }, createElement(OperatorSelector, {\n        ...commonProps\n      }), createElement(SearchWidget, {\n        ...commonProps\n      }));\n    }\n  });\n}\n//# sourceMappingURL=filter-summary.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { memo, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FilterSummary from './filter-summary';\nimport AddFilter from './add-filter';\nimport ResetFilters from './reset-filters';\nimport { sanitizeOperators } from './utils';\nimport { ALL_OPERATORS, OPERATOR_IS, OPERATOR_IS_NOT } from './constants';\nimport { __experimentalHStack as HStack } from '@wordpress/components';\nconst Filters = memo(function Filters({\n  fields,\n  view,\n  onChangeView,\n  openedFilter,\n  setOpenedFilter\n}) {\n  const addFilterRef = useRef();\n  const filters = [];\n  fields.forEach(field => {\n    if (!field.elements?.length) {\n      return;\n    }\n    const operators = sanitizeOperators(field);\n    if (operators.length === 0) {\n      return;\n    }\n    const isPrimary = !!field.filterBy?.isPrimary;\n    filters.push({\n      field: field.id,\n      name: field.header,\n      elements: field.elements,\n      singleSelection: operators.some(op => [OPERATOR_IS, OPERATOR_IS_NOT].includes(op)),\n      operators,\n      isVisible: isPrimary || view.filters.some(f => f.field === field.id && ALL_OPERATORS.includes(f.operator)),\n      isPrimary\n    });\n  });\n  // Sort filters by primary property. We need the primary filters to be first.\n  // Then we sort by name.\n  filters.sort((a, b) => {\n    if (a.isPrimary && !b.isPrimary) {\n      return -1;\n    }\n    if (!a.isPrimary && b.isPrimary) {\n      return 1;\n    }\n    return a.name.localeCompare(b.name);\n  });\n  const addFilter = createElement(AddFilter, {\n    key: \"add-filter\",\n    filters: filters,\n    view: view,\n    onChangeView: onChangeView,\n    ref: addFilterRef,\n    setOpenedFilter: setOpenedFilter\n  });\n  const filterComponents = [...filters.map(filter => {\n    if (!filter.isVisible) {\n      return null;\n    }\n    return createElement(FilterSummary, {\n      key: filter.field,\n      filter: filter,\n      view: view,\n      onChangeView: onChangeView,\n      addFilterRef: addFilterRef,\n      openedFilter: openedFilter\n    });\n  }), addFilter];\n  if (filterComponents.length > 1) {\n    filterComponents.push(createElement(ResetFilters, {\n      key: \"reset-filters\",\n      filters: filters,\n      view: view,\n      onChangeView: onChangeView\n    }));\n  }\n  return createElement(HStack, {\n    justify: \"flex-start\",\n    style: {\n      width: 'fit-content'\n    },\n    wrap: true\n  }, filterComponents);\n});\nexport default Filters;\n//# sourceMappingURL=filters.js.map","import { createElement, Fragment } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { Button, Modal, __experimentalHStack as HStack, privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nconst {\n  DropdownMenuV2: DropdownMenu,\n  DropdownMenuGroupV2: DropdownMenuGroup,\n  DropdownMenuItemV2: DropdownMenuItem,\n  DropdownMenuItemLabelV2: DropdownMenuItemLabel,\n  kebabCase\n} = unlock(componentsPrivateApis);\nfunction ButtonTrigger({\n  action,\n  onClick\n}) {\n  return createElement(Button, {\n    label: action.label,\n    icon: action.icon,\n    isDestructive: action.isDestructive,\n    size: \"compact\",\n    onClick: onClick\n  });\n}\nfunction DropdownMenuItemTrigger({\n  action,\n  onClick\n}) {\n  return createElement(DropdownMenuItem, {\n    onClick: onClick,\n    hideOnClick: !action.RenderModal\n  }, createElement(DropdownMenuItemLabel, null, action.label));\n}\nfunction ActionWithModal({\n  action,\n  item,\n  ActionTrigger\n}) {\n  const [isModalOpen, setIsModalOpen] = useState(false);\n  const actionTriggerProps = {\n    action,\n    onClick: () => setIsModalOpen(true)\n  };\n  const {\n    RenderModal,\n    hideModalHeader\n  } = action;\n  return createElement(Fragment, null, createElement(ActionTrigger, {\n    ...actionTriggerProps\n  }), isModalOpen && createElement(Modal, {\n    title: action.modalHeader || action.label,\n    __experimentalHideHeader: !!hideModalHeader,\n    onRequestClose: () => {\n      setIsModalOpen(false);\n    },\n    overlayClassName: `dataviews-action-modal dataviews-action-modal__${kebabCase(action.id)}`\n  }, createElement(RenderModal, {\n    items: [item],\n    closeModal: () => setIsModalOpen(false)\n  })));\n}\nfunction ActionsDropdownMenuGroup({\n  actions,\n  item\n}) {\n  return createElement(DropdownMenuGroup, null, actions.map(action => {\n    if (!!action.RenderModal) {\n      return createElement(ActionWithModal, {\n        key: action.id,\n        action: action,\n        item: item,\n        ActionTrigger: DropdownMenuItemTrigger\n      });\n    }\n    return createElement(DropdownMenuItemTrigger, {\n      key: action.id,\n      action: action,\n      onClick: () => action.callback([item])\n    });\n  }));\n}\nexport default function ItemActions({\n  item,\n  actions,\n  isCompact\n}) {\n  const {\n    primaryActions,\n    eligibleActions\n  } = useMemo(() => {\n    // If an action is eligible for all items, doesn't need\n    // to provide the `isEligible` function.\n    const _eligibleActions = actions.filter(action => !action.isEligible || action.isEligible(item));\n    const _primaryActions = _eligibleActions.filter(action => action.isPrimary && !!action.icon);\n    return {\n      primaryActions: _primaryActions,\n      eligibleActions: _eligibleActions\n    };\n  }, [actions, item]);\n  if (isCompact) {\n    return createElement(CompactItemActions, {\n      item: item,\n      actions: eligibleActions\n    });\n  }\n  return createElement(HStack, {\n    spacing: 1,\n    justify: \"flex-end\",\n    className: \"dataviews-item-actions\",\n    style: {\n      flexShrink: '0',\n      width: 'auto'\n    }\n  }, !!primaryActions.length && primaryActions.map(action => {\n    if (!!action.RenderModal) {\n      return createElement(ActionWithModal, {\n        key: action.id,\n        action: action,\n        item: item,\n        ActionTrigger: ButtonTrigger\n      });\n    }\n    return createElement(ButtonTrigger, {\n      key: action.id,\n      action: action,\n      onClick: () => action.callback([item])\n    });\n  }), createElement(CompactItemActions, {\n    item: item,\n    actions: eligibleActions\n  }));\n}\nfunction CompactItemActions({\n  item,\n  actions\n}) {\n  return createElement(DropdownMenu, {\n    trigger: createElement(Button, {\n      size: \"compact\",\n      icon: moreVertical,\n      label: __('Actions'),\n      disabled: !actions.length,\n      className: \"dataviews-all-actions-button\"\n    }),\n    placement: \"bottom-end\"\n  }, createElement(ActionsDropdownMenuGroup, {\n    actions: actions,\n    item: item\n  }));\n}\n//# sourceMappingURL=item-actions.js.map","/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { blockTable, category, formatListBullets, formatListBulletsRTL } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ViewTable from './view-table';\nimport ViewGrid from './view-grid';\nimport ViewList from './view-list';\nimport { LAYOUT_GRID, LAYOUT_LIST, LAYOUT_TABLE } from './constants';\nexport const VIEW_LAYOUTS = [{\n  type: LAYOUT_TABLE,\n  label: __('Table'),\n  component: ViewTable,\n  icon: blockTable\n}, {\n  type: LAYOUT_GRID,\n  label: __('Grid'),\n  component: ViewGrid,\n  icon: category\n}, {\n  type: LAYOUT_LIST,\n  label: __('List'),\n  component: ViewList,\n  icon: isRTL() ? formatListBulletsRTL : formatListBullets\n}];\n//# sourceMappingURL=layouts.js.map","/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\nexport const {\n  lock,\n  unlock\n} = __dangerousOptInToUnstableAPIsOnlyForCoreModules('I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.', '@wordpress/dataviews');\n//# sourceMappingURL=lock-unlock.js.map","/**\n * Internal dependencies\n */\n\n/**\n * Apply default values and normalize the fields config.\n *\n * @param fields Fields config.\n * @return Normalized fields config.\n */\nexport function normalizeFields(fields) {\n  return fields.map(field => {\n    const getValue = field.getValue || (({\n      item\n    }) => item[field.id]);\n    return {\n      ...field,\n      header: field.header || field.id,\n      getValue,\n      render: field.render || getValue\n    };\n  });\n}\n//# sourceMappingURL=normalize-fields.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { Button, __experimentalHStack as HStack, SelectControl } from '@wordpress/components';\nimport { createInterpolateElement, memo } from '@wordpress/element';\nimport { sprintf, __, _x } from '@wordpress/i18n';\nimport { chevronRight, chevronLeft } from '@wordpress/icons';\nconst Pagination = memo(function Pagination({\n  view,\n  onChangeView,\n  paginationInfo: {\n    totalItems = 0,\n    totalPages\n  }\n}) {\n  if (!totalItems || !totalPages) {\n    return null;\n  }\n  return !!totalItems && totalPages !== 1 && createElement(HStack, {\n    expanded: false,\n    spacing: 6,\n    justify: \"end\",\n    className: \"dataviews-pagination\"\n  }, createElement(HStack, {\n    justify: \"flex-start\",\n    expanded: false,\n    spacing: 2,\n    className: \"dataviews-pagination__page-selection\"\n  }, createInterpolateElement(sprintf(\n  // translators: %s: Total number of pages.\n  _x('Page <CurrentPageControl /> of %s', 'paging'), totalPages), {\n    CurrentPageControl: createElement(SelectControl, {\n      \"aria-label\": __('Current page'),\n      value: view.page,\n      options: Array.from(Array(totalPages)).map((_, i) => {\n        const page = i + 1;\n        return {\n          value: page,\n          label: page\n        };\n      }),\n      onChange: newValue => {\n        onChangeView({\n          ...view,\n          page: +newValue\n        });\n      },\n      size: 'compact',\n      __nextHasNoMarginBottom: true\n    })\n  })), createElement(HStack, {\n    expanded: false,\n    spacing: 1\n  }, createElement(Button, {\n    onClick: () => onChangeView({\n      ...view,\n      page: view.page - 1\n    }),\n    disabled: view.page === 1,\n    __experimentalIsFocusable: true,\n    label: __('Previous page'),\n    icon: chevronLeft,\n    showTooltip: true,\n    size: \"compact\",\n    tooltipPosition: \"top\"\n  }), createElement(Button, {\n    onClick: () => onChangeView({\n      ...view,\n      page: view.page + 1\n    }),\n    disabled: view.page >= totalPages,\n    __experimentalIsFocusable: true,\n    label: __('Next page'),\n    icon: chevronRight,\n    showTooltip: true,\n    size: \"compact\",\n    tooltipPosition: \"top\"\n  })));\n});\nexport default Pagination;\n//# sourceMappingURL=pagination.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nexport default function ResetFilter({\n  filters,\n  view,\n  onChangeView\n}) {\n  const isPrimary = field => filters.some(_filter => _filter.field === field && _filter.isPrimary);\n  const isDisabled = !view.search && !view.filters?.some(_filter => _filter.value !== undefined || !isPrimary(_filter.field));\n  return createElement(Button, {\n    disabled: isDisabled,\n    __experimentalIsFocusable: true,\n    size: \"compact\",\n    variant: \"tertiary\",\n    className: \"dataviews-filters__reset-button\",\n    onClick: () => {\n      onChangeView({\n        ...view,\n        page: 1,\n        search: '',\n        filters: []\n      });\n    }\n  }, __('Reset'));\n}\n//# sourceMappingURL=reset-filters.js.map","import { createElement } from \"react\";\n/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState, useMemo, useDeferredValue } from '@wordpress/element';\nimport { VisuallyHidden, Icon, privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { search, check } from '@wordpress/icons';\nimport { SVG, Circle } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nconst {\n  CompositeV2: Composite,\n  CompositeItemV2: CompositeItem,\n  useCompositeStoreV2: useCompositeStore\n} = unlock(componentsPrivateApis);\nconst radioCheck = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Circle, {\n  cx: 12,\n  cy: 12,\n  r: 3\n}));\nfunction normalizeSearchInput(input = '') {\n  return removeAccents(input.trim().toLowerCase());\n}\nconst EMPTY_ARRAY = [];\nconst getCurrentValue = (filterDefinition, currentFilter) => {\n  if (filterDefinition.singleSelection) {\n    return currentFilter?.value;\n  }\n  if (Array.isArray(currentFilter?.value)) {\n    return currentFilter.value;\n  }\n  if (!Array.isArray(currentFilter?.value) && !!currentFilter?.value) {\n    return [currentFilter.value];\n  }\n  return EMPTY_ARRAY;\n};\nconst getNewValue = (filterDefinition, currentFilter, value) => {\n  if (filterDefinition.singleSelection) {\n    return value;\n  }\n  if (Array.isArray(currentFilter?.value)) {\n    return currentFilter.value.includes(value) ? currentFilter.value.filter(v => v !== value) : [...currentFilter.value, value];\n  }\n  return [value];\n};\nfunction ListBox({\n  view,\n  filter,\n  onChangeView\n}) {\n  const compositeStore = useCompositeStore({\n    virtualFocus: true,\n    focusLoop: true,\n    // When we have no or just one operator, we can set the first item as active.\n    // We do that by passing `undefined` to `defaultActiveId`. Otherwise, we set it to `null`,\n    // so the first item is not selected, since the focus is on the operators control.\n    defaultActiveId: filter.operators?.length === 1 ? undefined : null\n  });\n  const currentFilter = view.filters.find(f => f.field === filter.field);\n  const currentValue = getCurrentValue(filter, currentFilter);\n  return createElement(Composite, {\n    store: compositeStore,\n    role: \"listbox\",\n    className: \"dataviews-search-widget-listbox\",\n    \"aria-label\": sprintf( /* translators: List of items for a filter. 1: Filter name. e.g.: \"List of: Author\". */\n    __('List of: %1$s'), filter.name),\n    onFocusVisible: () => {\n      if (!compositeStore.getState().activeId) {\n        compositeStore.move(compositeStore.first());\n      }\n    },\n    render: createElement(Ariakit.CompositeTypeahead, {\n      store: compositeStore\n    })\n  }, filter.elements.map(element => createElement(Ariakit.CompositeHover, {\n    store: compositeStore,\n    key: element.value,\n    render: createElement(CompositeItem, {\n      render: createElement(\"div\", {\n        \"aria-label\": element.label,\n        role: \"option\",\n        className: \"dataviews-search-widget-listitem\"\n      }),\n      onClick: () => {\n        const newFilters = currentFilter ? [...view.filters.map(_filter => {\n          if (_filter.field === filter.field) {\n            return {\n              ..._filter,\n              operator: currentFilter.operator || filter.operators[0],\n              value: getNewValue(filter, currentFilter, element.value)\n            };\n          }\n          return _filter;\n        })] : [...view.filters, {\n          field: filter.field,\n          operator: filter.operators[0],\n          value: getNewValue(filter, currentFilter, element.value)\n        }];\n        onChangeView({\n          ...view,\n          page: 1,\n          filters: newFilters\n        });\n      }\n    })\n  }, createElement(\"span\", {\n    className: \"dataviews-search-widget-listitem-check\"\n  }, filter.singleSelection && currentValue === element.value && createElement(Icon, {\n    icon: radioCheck\n  }), !filter.singleSelection && currentValue.includes(element.value) && createElement(Icon, {\n    icon: check\n  })), createElement(\"span\", null, element.label, !!element.description && createElement(\"span\", {\n    className: \"dataviews-search-widget-listitem-description\"\n  }, element.description)))));\n}\nfunction ComboboxList({\n  view,\n  filter,\n  onChangeView\n}) {\n  const [searchValue, setSearchValue] = useState('');\n  const deferredSearchValue = useDeferredValue(searchValue);\n  const currentFilter = view.filters.find(_filter => _filter.field === filter.field);\n  const currentValue = getCurrentValue(filter, currentFilter);\n  const matches = useMemo(() => {\n    const normalizedSearch = normalizeSearchInput(deferredSearchValue);\n    return filter.elements.filter(item => normalizeSearchInput(item.label).includes(normalizedSearch));\n  }, [filter.elements, deferredSearchValue]);\n  return createElement(Ariakit.ComboboxProvider, {\n    resetValueOnSelect: false,\n    selectedValue: currentValue,\n    setSelectedValue: value => {\n      const newFilters = currentFilter ? [...view.filters.map(_filter => {\n        if (_filter.field === filter.field) {\n          return {\n            ..._filter,\n            operator: currentFilter.operator || filter.operators[0],\n            value\n          };\n        }\n        return _filter;\n      })] : [...view.filters, {\n        field: filter.field,\n        operator: filter.operators[0],\n        value\n      }];\n      onChangeView({\n        ...view,\n        page: 1,\n        filters: newFilters\n      });\n    },\n    setValue: setSearchValue\n  }, createElement(\"div\", {\n    className: \"dataviews-search-widget-filter-combobox__wrapper\"\n  }, createElement(Ariakit.ComboboxLabel, {\n    render: createElement(VisuallyHidden, null)\n  }, __('Search items')), createElement(Ariakit.Combobox, {\n    autoSelect: \"always\",\n    placeholder: __('Search'),\n    className: \"dataviews-search-widget-filter-combobox__input\"\n  }), createElement(\"div\", {\n    className: \"dataviews-search-widget-filter-combobox__icon\"\n  }, createElement(Icon, {\n    icon: search\n  }))), createElement(Ariakit.ComboboxList, {\n    className: \"dataviews-search-widget-filter-combobox-list\",\n    alwaysVisible: true\n  }, matches.map(element => {\n    return createElement(Ariakit.ComboboxItem, {\n      key: element.value,\n      value: element.value,\n      className: \"dataviews-search-widget-listitem\",\n      hideOnClick: false,\n      setValueOnClick: false,\n      focusOnHover: true\n    }, createElement(\"span\", {\n      className: \"dataviews-search-widget-listitem-check\"\n    }, filter.singleSelection && currentValue === element.value && createElement(Icon, {\n      icon: radioCheck\n    }), !filter.singleSelection && currentValue.includes(element.value) && createElement(Icon, {\n      icon: check\n    })), createElement(\"span\", null, createElement(Ariakit.ComboboxItemValue, {\n      className: \"dataviews-search-widget-filter-combobox-item-value\",\n      value: element.label\n    }), !!element.description && createElement(\"span\", {\n      className: \"dataviews-search-widget-listitem-description\"\n    }, element.description)));\n  }), !matches.length && createElement(\"p\", null, __('No results found'))));\n}\nexport default function SearchWidget(props) {\n  const Widget = props.filter.elements.length > 10 ? ComboboxList : ListBox;\n  return createElement(Widget, {\n    ...props\n  });\n}\n//# sourceMappingURL=search-widget.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef, memo } from '@wordpress/element';\nimport { SearchControl } from '@wordpress/components';\nimport { useDebouncedInput } from '@wordpress/compose';\nconst Search = memo(function Search({\n  label,\n  view,\n  onChangeView\n}) {\n  const [search, setSearch, debouncedSearch] = useDebouncedInput(view.search);\n  useEffect(() => {\n    setSearch(view.search);\n  }, [view]);\n  const onChangeViewRef = useRef(onChangeView);\n  useEffect(() => {\n    onChangeViewRef.current = onChangeView;\n  }, [onChangeView]);\n  useEffect(() => {\n    onChangeViewRef.current({\n      ...view,\n      page: 1,\n      search: debouncedSearch\n    });\n  }, [debouncedSearch]);\n  const searchLabel = label || __('Search');\n  return createElement(SearchControl, {\n    __nextHasNoMarginBottom: true,\n    onChange: setSearch,\n    value: search,\n    label: searchLabel,\n    placeholder: searchLabel,\n    size: \"compact\"\n  });\n});\nexport default Search;\n//# sourceMappingURL=search.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\nexport default function SingleSelectionCheckbox({\n  selection,\n  onSelectionChange,\n  item,\n  data,\n  getItemId,\n  primaryField,\n  disabled\n}) {\n  const id = getItemId(item);\n  const isSelected = selection.includes(id);\n  let selectionLabel;\n  if (primaryField?.getValue && item) {\n    // eslint-disable-next-line @wordpress/valid-sprintf\n    selectionLabel = sprintf( /* translators: %s: item title. */\n    isSelected ? __('Deselect item: %s') : __('Select item: %s'), primaryField.getValue({\n      item\n    }));\n  } else {\n    selectionLabel = isSelected ? __('Select a new item') : __('Deselect item');\n  }\n  return createElement(CheckboxControl, {\n    className: \"dataviews-view-table-selection-checkbox\",\n    __nextHasNoMarginBottom: true,\n    \"aria-label\": selectionLabel,\n    \"aria-disabled\": disabled,\n    checked: isSelected,\n    onChange: () => {\n      if (disabled) {\n        return;\n      }\n      if (!isSelected) {\n        onSelectionChange(data.filter(_item => {\n          const itemId = getItemId?.(_item);\n          return itemId === id || selection.includes(itemId);\n        }));\n      } else {\n        onSelectionChange(data.filter(_item => {\n          const itemId = getItemId?.(_item);\n          return itemId !== id && selection.includes(itemId);\n        }));\n      }\n    }\n  });\n}\n//# sourceMappingURL=single-selection-checkbox.js.map","/**\n * Internal dependencies\n */\nimport { ALL_OPERATORS, OPERATOR_IS, OPERATOR_IS_NOT, OPERATOR_IS_ANY, OPERATOR_IS_NONE } from './constants';\nexport const sanitizeOperators = field => {\n  let operators = field.filterBy?.operators;\n\n  // Assign default values.\n  if (!operators || !Array.isArray(operators)) {\n    operators = [OPERATOR_IS_ANY, OPERATOR_IS_NONE];\n  }\n\n  // Transform legacy in, notIn operators to is, isNot.\n  // To be removed in the future.\n  if (operators.includes('in')) {\n    operators = operators.filter(operator => operator !== 'is');\n    operators.push('is');\n  }\n  if (operators.includes('notIn')) {\n    operators = operators.filter(operator => operator !== 'notIn');\n    operators.push('isNot');\n  }\n\n  // Make sure only valid operators are used.\n  operators = operators.filter(operator => ALL_OPERATORS.includes(operator));\n\n  // Do not allow mixing single & multiselection operators.\n  // Remove multiselection operators if any of the single selection ones is present.\n  if (operators.includes(OPERATOR_IS) || operators.includes(OPERATOR_IS_NOT)) {\n    operators = operators.filter(operator => [OPERATOR_IS, OPERATOR_IS_NOT].includes(operator));\n  }\n  return operators;\n};\n//# sourceMappingURL=utils.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { Button, privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { memo } from '@wordpress/element';\nimport { settings } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nimport { SORTING_DIRECTIONS } from './constants';\nimport { VIEW_LAYOUTS } from './layouts';\nconst {\n  DropdownMenuV2: DropdownMenu,\n  DropdownMenuGroupV2: DropdownMenuGroup,\n  DropdownMenuItemV2: DropdownMenuItem,\n  DropdownMenuRadioItemV2: DropdownMenuRadioItem,\n  DropdownMenuCheckboxItemV2: DropdownMenuCheckboxItem,\n  DropdownMenuItemLabelV2: DropdownMenuItemLabel\n} = unlock(componentsPrivateApis);\nfunction ViewTypeMenu({\n  view,\n  onChangeView,\n  supportedLayouts\n}) {\n  let _availableViews = VIEW_LAYOUTS;\n  if (supportedLayouts) {\n    _availableViews = _availableViews.filter(_view => supportedLayouts.includes(_view.type));\n  }\n  if (_availableViews.length === 1) {\n    return null;\n  }\n  const activeView = _availableViews.find(v => view.type === v.type);\n  return createElement(DropdownMenu, {\n    trigger: createElement(DropdownMenuItem, {\n      suffix: createElement(\"span\", {\n        \"aria-hidden\": \"true\"\n      }, activeView.label)\n    }, createElement(DropdownMenuItemLabel, null, __('Layout')))\n  }, _availableViews.map(availableView => {\n    return createElement(DropdownMenuRadioItem, {\n      key: availableView.type,\n      value: availableView.type,\n      name: \"view-actions-available-view\",\n      checked: availableView.type === view.type,\n      hideOnClick: true,\n      onChange: e => {\n        onChangeView({\n          ...view,\n          type: e.target.value\n        });\n      }\n    }, createElement(DropdownMenuItemLabel, null, availableView.label));\n  }));\n}\nconst PAGE_SIZE_VALUES = [10, 20, 50, 100];\nfunction PageSizeMenu({\n  view,\n  onChangeView\n}) {\n  return createElement(DropdownMenu, {\n    trigger: createElement(DropdownMenuItem, {\n      suffix: createElement(\"span\", {\n        \"aria-hidden\": \"true\"\n      }, view.perPage)\n    }, createElement(DropdownMenuItemLabel, null, __('Items per page')))\n  }, PAGE_SIZE_VALUES.map(size => {\n    return createElement(DropdownMenuRadioItem, {\n      key: size,\n      value: size,\n      name: \"view-actions-page-size\",\n      checked: view.perPage === size,\n      onChange: () => {\n        onChangeView({\n          ...view,\n          // `e.target.value` holds the same value as `size` but as a string,\n          // so we use `size` directly to avoid parsing to int.\n          perPage: size,\n          page: 1\n        });\n      }\n    }, createElement(DropdownMenuItemLabel, null, size));\n  }));\n}\nfunction FieldsVisibilityMenu({\n  view,\n  onChangeView,\n  fields\n}) {\n  const hidableFields = fields.filter(field => field.enableHiding !== false && field.id !== view.layout.mediaField);\n  if (!hidableFields?.length) {\n    return null;\n  }\n  return createElement(DropdownMenu, {\n    trigger: createElement(DropdownMenuItem, null, createElement(DropdownMenuItemLabel, null, __('Fields')))\n  }, hidableFields?.map(field => {\n    return createElement(DropdownMenuCheckboxItem, {\n      key: field.id,\n      value: field.id,\n      checked: !view.hiddenFields?.includes(field.id),\n      onChange: () => {\n        onChangeView({\n          ...view,\n          hiddenFields: view.hiddenFields?.includes(field.id) ? view.hiddenFields.filter(id => id !== field.id) : [...(view.hiddenFields || []), field.id]\n        });\n      }\n    }, createElement(DropdownMenuItemLabel, null, field.header));\n  }));\n}\nfunction SortMenu({\n  fields,\n  view,\n  onChangeView\n}) {\n  const sortableFields = fields.filter(field => field.enableSorting !== false);\n  if (!sortableFields?.length) {\n    return null;\n  }\n  const currentSortedField = fields.find(field => field.id === view.sort?.field);\n  return createElement(DropdownMenu, {\n    trigger: createElement(DropdownMenuItem, {\n      suffix: createElement(\"span\", {\n        \"aria-hidden\": \"true\"\n      }, currentSortedField?.header)\n    }, createElement(DropdownMenuItemLabel, null, __('Sort by')))\n  }, sortableFields?.map(field => {\n    const sortedDirection = view.sort?.direction;\n    return createElement(DropdownMenu, {\n      key: field.id,\n      trigger: createElement(DropdownMenuItem, null, createElement(DropdownMenuItemLabel, null, field.header)),\n      style: {\n        minWidth: '220px'\n      }\n    }, Object.entries(SORTING_DIRECTIONS).map(([direction, info]) => {\n      const isChecked = currentSortedField !== undefined && sortedDirection === direction && field.id === currentSortedField.id;\n      const value = `${field.id}-${direction}`;\n      return createElement(DropdownMenuRadioItem, {\n        key: value\n        // All sorting radio items share the same name, so that\n        // selecting a sorting option automatically deselects the\n        // previously selected one, even if it is displayed in\n        // another submenu. The field and direction are passed via\n        // the `value` prop.\n        ,\n        name: \"view-actions-sorting\",\n        value: value,\n        checked: isChecked,\n        onChange: () => {\n          onChangeView({\n            ...view,\n            sort: {\n              field: field.id,\n              direction\n            }\n          });\n        }\n      }, createElement(DropdownMenuItemLabel, null, info.label));\n    }));\n  }));\n}\nconst ViewActions = memo(function ViewActions({\n  fields,\n  view,\n  onChangeView,\n  supportedLayouts\n}) {\n  return createElement(DropdownMenu, {\n    trigger: createElement(Button, {\n      size: \"compact\",\n      icon: settings,\n      label: __('View options')\n    })\n  }, createElement(DropdownMenuGroup, null, createElement(ViewTypeMenu, {\n    view: view,\n    onChangeView: onChangeView,\n    supportedLayouts: supportedLayouts\n  }), createElement(SortMenu, {\n    fields: fields,\n    view: view,\n    onChangeView: onChangeView\n  }), createElement(FieldsVisibilityMenu, {\n    fields: fields,\n    view: view,\n    onChangeView: onChangeView\n  }), createElement(PageSizeMenu, {\n    view: view,\n    onChangeView: onChangeView\n  })));\n});\nexport default ViewActions;\n//# sourceMappingURL=view-actions.js.map","import { createElement, Fragment } from \"react\";\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalGrid as Grid, __experimentalHStack as HStack, __experimentalVStack as VStack, Spinner, Flex, FlexItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ItemActions from './item-actions';\nimport SingleSelectionCheckbox from './single-selection-checkbox';\nimport { useHasAPossibleBulkAction } from './bulk-actions';\nfunction GridItem({\n  selection,\n  data,\n  onSelectionChange,\n  getItemId,\n  item,\n  actions,\n  mediaField,\n  primaryField,\n  visibleFields,\n  badgeFields,\n  columnFields\n}) {\n  const hasBulkAction = useHasAPossibleBulkAction(actions, item);\n  const id = getItemId(item);\n  const isSelected = selection.includes(id);\n  return createElement(VStack, {\n    spacing: 0,\n    key: id,\n    className: classnames('dataviews-view-grid__card', {\n      'is-selected': hasBulkAction && isSelected\n    }),\n    onClickCapture: event => {\n      if (event.ctrlKey || event.metaKey) {\n        event.stopPropagation();\n        event.preventDefault();\n        if (!hasBulkAction) {\n          return;\n        }\n        if (!isSelected) {\n          onSelectionChange(data.filter(_item => {\n            const itemId = getItemId?.(_item);\n            return itemId === id || selection.includes(itemId);\n          }));\n        } else {\n          onSelectionChange(data.filter(_item => {\n            const itemId = getItemId?.(_item);\n            return itemId !== id && selection.includes(itemId);\n          }));\n        }\n      }\n    }\n  }, createElement(\"div\", {\n    className: \"dataviews-view-grid__media\"\n  }, mediaField?.render({\n    item\n  })), createElement(HStack, {\n    justify: \"space-between\",\n    className: \"dataviews-view-grid__title-actions\"\n  }, createElement(SingleSelectionCheckbox, {\n    id: id,\n    item: item,\n    selection: selection,\n    onSelectionChange: onSelectionChange,\n    getItemId: getItemId,\n    data: data,\n    primaryField: primaryField,\n    disabled: !hasBulkAction\n  }), createElement(HStack, {\n    className: \"dataviews-view-grid__primary-field\"\n  }, primaryField?.render({\n    item\n  })), createElement(ItemActions, {\n    item: item,\n    actions: actions,\n    isCompact: true\n  })), !!badgeFields?.length && createElement(HStack, {\n    className: \"dataviews-view-grid__badge-fields\",\n    spacing: 2,\n    wrap: true,\n    align: \"top\",\n    justify: \"flex-start\"\n  }, badgeFields.map(field => {\n    const renderedValue = field.render({\n      item\n    });\n    if (!renderedValue) {\n      return null;\n    }\n    return createElement(FlexItem, {\n      key: field.id,\n      className: 'dataviews-view-grid__field-value'\n    }, renderedValue);\n  })), !!visibleFields?.length && createElement(VStack, {\n    className: \"dataviews-view-grid__fields\",\n    spacing: 3\n  }, visibleFields.map(field => {\n    const renderedValue = field.render({\n      item\n    });\n    if (!renderedValue) {\n      return null;\n    }\n    return createElement(Flex, {\n      className: classnames('dataviews-view-grid__field', columnFields?.includes(field.id) ? 'is-column' : 'is-row'),\n      key: field.id,\n      gap: 1,\n      justify: \"flex-start\",\n      expanded: true,\n      style: {\n        height: 'auto'\n      },\n      direction: columnFields?.includes(field.id) ? 'column' : 'row'\n    }, createElement(Fragment, null, createElement(FlexItem, {\n      className: \"dataviews-view-grid__field-name\"\n    }, field.header), createElement(FlexItem, {\n      className: \"dataviews-view-grid__field-value\",\n      style: {\n        maxHeight: 'none'\n      }\n    }, renderedValue)));\n  })));\n}\nexport default function ViewGrid({\n  data,\n  fields,\n  view,\n  actions,\n  isLoading,\n  getItemId,\n  selection,\n  onSelectionChange\n}) {\n  const mediaField = fields.find(field => field.id === view.layout.mediaField);\n  const primaryField = fields.find(field => field.id === view.layout.primaryField);\n  const {\n    visibleFields,\n    badgeFields\n  } = fields.reduce((accumulator, field) => {\n    if (view.hiddenFields.includes(field.id) || [view.layout.mediaField, view.layout.primaryField].includes(field.id)) {\n      return accumulator;\n    }\n    // If the field is a badge field, add it to the badgeFields array\n    // otherwise add it to the rest visibleFields array.\n    const key = view.layout.badgeFields?.includes(field.id) ? 'badgeFields' : 'visibleFields';\n    accumulator[key].push(field);\n    return accumulator;\n  }, {\n    visibleFields: [],\n    badgeFields: []\n  });\n  const hasData = !!data?.length;\n  return createElement(Fragment, null, hasData && createElement(Grid, {\n    gap: 6,\n    columns: 2,\n    alignment: \"top\",\n    className: \"dataviews-view-grid\",\n    \"aria-busy\": isLoading\n  }, data.map(item => {\n    return createElement(GridItem, {\n      key: getItemId(item),\n      selection: selection,\n      data: data,\n      onSelectionChange: onSelectionChange,\n      getItemId: getItemId,\n      item: item,\n      actions: actions,\n      mediaField: mediaField,\n      primaryField: primaryField,\n      visibleFields: visibleFields,\n      badgeFields: badgeFields,\n      columnFields: view.layout.columnFields\n    });\n  })), !hasData && createElement(\"div\", {\n    className: classnames({\n      'dataviews-loading': isLoading,\n      'dataviews-no-results': !isLoading\n    })\n  }, createElement(\"p\", null, isLoading ? createElement(Spinner, null) : __('No results'))));\n}\n//# sourceMappingURL=view-grid.js.map","import { createElement } from \"react\";\n/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { __experimentalHStack as HStack, __experimentalVStack as VStack, privateApis as componentsPrivateApis, Spinner, VisuallyHidden } from '@wordpress/components';\nimport { useCallback, useEffect, useRef } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from './lock-unlock';\nconst {\n  useCompositeStoreV2: useCompositeStore,\n  CompositeV2: Composite,\n  CompositeItemV2: CompositeItem,\n  CompositeRowV2: CompositeRow\n} = unlock(componentsPrivateApis);\nfunction ListItem({\n  id,\n  item,\n  isSelected,\n  onSelect,\n  mediaField,\n  primaryField,\n  visibleFields\n}) {\n  const itemRef = useRef(null);\n  const labelId = `${id}-label`;\n  const descriptionId = `${id}-description`;\n  useEffect(() => {\n    if (isSelected) {\n      itemRef.current?.scrollIntoView({\n        behavior: 'auto',\n        block: 'nearest',\n        inline: 'nearest'\n      });\n    }\n  }, [isSelected]);\n  return createElement(CompositeRow, {\n    ref: itemRef,\n    render: createElement(\"li\", null),\n    role: \"row\",\n    className: classNames({\n      'is-selected': isSelected\n    })\n  }, createElement(HStack, {\n    className: \"dataviews-view-list__item-wrapper\"\n  }, createElement(\"div\", {\n    role: \"gridcell\"\n  }, createElement(CompositeItem, {\n    render: createElement(\"div\", null),\n    role: \"button\",\n    id: id,\n    \"aria-pressed\": isSelected,\n    \"aria-labelledby\": labelId,\n    \"aria-describedby\": descriptionId,\n    className: \"dataviews-view-list__item\",\n    onClick: () => onSelect(item)\n  }, createElement(HStack, {\n    spacing: 3,\n    justify: \"start\",\n    alignment: \"flex-start\"\n  }, createElement(\"div\", {\n    className: \"dataviews-view-list__media-wrapper\"\n  }, mediaField?.render({\n    item\n  }) || createElement(\"div\", {\n    className: \"dataviews-view-list__media-placeholder\"\n  })), createElement(VStack, {\n    spacing: 1\n  }, createElement(\"span\", {\n    className: \"dataviews-view-list__primary-field\",\n    id: labelId\n  }, primaryField?.render({\n    item\n  })), createElement(\"div\", {\n    className: \"dataviews-view-list__fields\",\n    id: descriptionId\n  }, visibleFields.map(field => createElement(\"div\", {\n    key: field.id,\n    className: \"dataviews-view-list__field\"\n  }, createElement(VisuallyHidden, {\n    as: \"span\",\n    className: \"dataviews-view-list__field-label\"\n  }, field.header), createElement(\"span\", {\n    className: \"dataviews-view-list__field-value\"\n  }, field.render({\n    item\n  })))))))))));\n}\nexport default function ViewList({\n  view,\n  fields,\n  data,\n  isLoading,\n  getItemId,\n  onSelectionChange,\n  selection,\n  id: preferredId\n}) {\n  const baseId = useInstanceId(ViewList, 'view-list', preferredId);\n  const selectedItem = data?.findLast(item => selection.includes(item.id));\n  const mediaField = fields.find(field => field.id === view.layout.mediaField);\n  const primaryField = fields.find(field => field.id === view.layout.primaryField);\n  const visibleFields = fields.filter(field => !view.hiddenFields.includes(field.id) && ![view.layout.primaryField, view.layout.mediaField].includes(field.id));\n  const onSelect = useCallback(item => onSelectionChange([item]), [onSelectionChange]);\n  const getItemDomId = useCallback(item => item ? `${baseId}-${getItemId(item)}` : undefined, [baseId, getItemId]);\n  const store = useCompositeStore({\n    defaultActiveId: getItemDomId(selectedItem)\n  });\n  const hasData = data?.length;\n  if (!hasData) {\n    return createElement(\"div\", {\n      className: classNames({\n        'dataviews-loading': isLoading,\n        'dataviews-no-results': !hasData && !isLoading\n      })\n    }, !hasData && createElement(\"p\", null, isLoading ? createElement(Spinner, null) : __('No results')));\n  }\n  return createElement(Composite, {\n    id: baseId,\n    render: createElement(\"ul\", null),\n    className: \"dataviews-view-list\",\n    role: \"grid\",\n    store: store\n  }, data.map(item => {\n    const id = getItemDomId(item);\n    return createElement(ListItem, {\n      key: id,\n      id: id,\n      item: item,\n      isSelected: item === selectedItem,\n      onSelect: onSelect,\n      mediaField: mediaField,\n      primaryField: primaryField,\n      visibleFields: visibleFields\n    });\n  }));\n}\n//# sourceMappingURL=view-list.js.map","import { createElement } from \"react\";\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { unseen, funnel } from '@wordpress/icons';\nimport { Button, Icon, privateApis as componentsPrivateApis, CheckboxControl, Spinner } from '@wordpress/components';\nimport { forwardRef, useEffect, useId, useRef, useState, useMemo, Children, Fragment } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport SingleSelectionCheckbox from './single-selection-checkbox';\nimport { unlock } from './lock-unlock';\nimport ItemActions from './item-actions';\nimport { sanitizeOperators } from './utils';\nimport { SORTING_DIRECTIONS } from './constants';\nimport { useSomeItemHasAPossibleBulkAction, useHasAPossibleBulkAction } from './bulk-actions';\nconst {\n  DropdownMenuV2: DropdownMenu,\n  DropdownMenuGroupV2: DropdownMenuGroup,\n  DropdownMenuItemV2: DropdownMenuItem,\n  DropdownMenuRadioItemV2: DropdownMenuRadioItem,\n  DropdownMenuItemLabelV2: DropdownMenuItemLabel,\n  DropdownMenuSeparatorV2: DropdownMenuSeparator\n} = unlock(componentsPrivateApis);\nfunction WithDropDownMenuSeparators({\n  children\n}) {\n  return Children.toArray(children).filter(Boolean).map((child, i) => createElement(Fragment, {\n    key: i\n  }, i > 0 && createElement(DropdownMenuSeparator, null), child));\n}\nconst sortArrows = {\n  asc: '↑',\n  desc: '↓'\n};\nconst HeaderMenu = forwardRef(function HeaderMenu({\n  field,\n  view,\n  onChangeView,\n  onHide,\n  setOpenedFilter\n}, ref) {\n  const isHidable = field.enableHiding !== false;\n  const isSortable = field.enableSorting !== false;\n  const isSorted = view.sort?.field === field.id;\n  const operators = sanitizeOperators(field);\n  // Filter can be added:\n  // 1. If the field is not already part of a view's filters.\n  // 2. If the field meets the type and operator requirements.\n  // 3. If it's not primary. If it is, it should be already visible.\n  const canAddFilter = !view.filters?.some(_filter => field.id === _filter.field) && !!field.elements?.length && !!operators.length && !field.filterBy?.isPrimary;\n  if (!isSortable && !isHidable && !canAddFilter) {\n    return field.header;\n  }\n  return createElement(DropdownMenu, {\n    align: \"start\",\n    trigger: createElement(Button, {\n      size: \"compact\",\n      className: \"dataviews-view-table-header-button\",\n      ref: ref,\n      variant: \"tertiary\"\n    }, field.header, isSorted && createElement(\"span\", {\n      \"aria-hidden\": \"true\"\n    }, isSorted && sortArrows[view.sort.direction])),\n    style: {\n      minWidth: '240px'\n    }\n  }, createElement(WithDropDownMenuSeparators, null, isSortable && createElement(DropdownMenuGroup, null, Object.entries(SORTING_DIRECTIONS).map(([direction, info]) => {\n    const isChecked = isSorted && view.sort.direction === direction;\n    const value = `${field.id}-${direction}`;\n    return createElement(DropdownMenuRadioItem, {\n      key: value\n      // All sorting radio items share the same name, so that\n      // selecting a sorting option automatically deselects the\n      // previously selected one, even if it is displayed in\n      // another submenu. The field and direction are passed via\n      // the `value` prop.\n      ,\n      name: \"view-table-sorting\",\n      value: value,\n      checked: isChecked,\n      onChange: () => {\n        onChangeView({\n          ...view,\n          sort: {\n            field: field.id,\n            direction\n          }\n        });\n      }\n    }, createElement(DropdownMenuItemLabel, null, info.label));\n  })), canAddFilter && createElement(DropdownMenuGroup, null, createElement(DropdownMenuItem, {\n    prefix: createElement(Icon, {\n      icon: funnel\n    }),\n    onClick: () => {\n      setOpenedFilter(field.id);\n      onChangeView({\n        ...view,\n        page: 1,\n        filters: [...(view.filters || []), {\n          field: field.id,\n          value: undefined,\n          operator: operators[0]\n        }]\n      });\n    }\n  }, createElement(DropdownMenuItemLabel, null, __('Add filter')))), isHidable && createElement(DropdownMenuItem, {\n    prefix: createElement(Icon, {\n      icon: unseen\n    }),\n    onClick: () => {\n      onHide(field);\n      onChangeView({\n        ...view,\n        hiddenFields: view.hiddenFields.concat(field.id)\n      });\n    }\n  }, createElement(DropdownMenuItemLabel, null, __('Hide')))));\n});\nfunction BulkSelectionCheckbox({\n  selection,\n  onSelectionChange,\n  data,\n  actions\n}) {\n  const selectableItems = useMemo(() => {\n    return data.filter(item => {\n      return actions.some(action => action.supportsBulk && action.isEligible(item));\n    });\n  }, [data, actions]);\n  const areAllSelected = selection.length === selectableItems.length;\n  return createElement(CheckboxControl, {\n    className: \"dataviews-view-table-selection-checkbox\",\n    __nextHasNoMarginBottom: true,\n    checked: areAllSelected,\n    indeterminate: !areAllSelected && selection.length,\n    onChange: () => {\n      if (areAllSelected) {\n        onSelectionChange([]);\n      } else {\n        onSelectionChange(selectableItems);\n      }\n    },\n    \"aria-label\": areAllSelected ? __('Deselect all') : __('Select all')\n  });\n}\nfunction TableRow({\n  hasBulkActions,\n  item,\n  actions,\n  id,\n  visibleFields,\n  primaryField,\n  selection,\n  getItemId,\n  onSelectionChange,\n  data\n}) {\n  const hasPossibleBulkAction = useHasAPossibleBulkAction(actions, item);\n  const isSelected = selection.includes(id);\n  const [isHovered, setIsHovered] = useState(false);\n  const handleMouseEnter = () => {\n    setIsHovered(true);\n  };\n  const handleMouseLeave = () => {\n    setIsHovered(false);\n  };\n\n  // Will be set to true if `onTouchStart` fires. This happens before\n  // `onClick` and can be used to exclude touchscreen devices from certain\n  // behaviours.\n  const isTouchDevice = useRef(false);\n  return createElement(\"tr\", {\n    className: classnames('dataviews-view-table__row', {\n      'is-selected': hasPossibleBulkAction && isSelected,\n      'is-hovered': isHovered,\n      'has-bulk-actions': hasPossibleBulkAction\n    }),\n    onMouseEnter: handleMouseEnter,\n    onMouseLeave: handleMouseLeave,\n    onTouchStart: () => {\n      isTouchDevice.current = true;\n    },\n    onClick: () => {\n      if (!isTouchDevice.current && document.getSelection().type !== 'Range') {\n        if (!isSelected) {\n          onSelectionChange(data.filter(_item => {\n            const itemId = getItemId?.(_item);\n            return itemId === id || selection.includes(itemId);\n          }));\n        } else {\n          onSelectionChange(data.filter(_item => {\n            const itemId = getItemId?.(_item);\n            return itemId !== id && selection.includes(itemId);\n          }));\n        }\n      }\n    }\n  }, hasBulkActions && createElement(\"td\", {\n    className: \"dataviews-view-table__checkbox-column\",\n    style: {\n      width: '1%'\n    }\n  }, createElement(\"div\", {\n    className: \"dataviews-view-table__cell-content-wrapper\"\n  }, createElement(SingleSelectionCheckbox, {\n    id: id,\n    item: item,\n    selection: selection,\n    onSelectionChange: onSelectionChange,\n    getItemId: getItemId,\n    data: data,\n    primaryField: primaryField,\n    disabled: !hasPossibleBulkAction\n  }))), visibleFields.map(field => createElement(\"td\", {\n    key: field.id,\n    style: {\n      width: field.width || undefined,\n      minWidth: field.minWidth || undefined,\n      maxWidth: field.maxWidth || undefined\n    }\n  }, createElement(\"div\", {\n    className: classnames('dataviews-view-table__cell-content-wrapper', {\n      'dataviews-view-table__primary-field': primaryField?.id === field.id\n    })\n  }, field.render({\n    item\n  })))), !!actions?.length &&\n  // Disable reason: we are not making the element interactive,\n  // but preventing any click events from bubbling up to the\n  // table row. This allows us to add a click handler to the row\n  // itself (to toggle row selection) without erroneously\n  // intercepting click events from ItemActions.\n\n  /* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n  createElement(\"td\", {\n    className: \"dataviews-view-table__actions-column\",\n    onClick: e => e.stopPropagation()\n  }, createElement(ItemActions, {\n    item: item,\n    actions: actions\n  }))\n  /* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */);\n}\nfunction ViewTable({\n  view,\n  onChangeView,\n  fields,\n  actions,\n  data,\n  getItemId,\n  isLoading = false,\n  selection,\n  onSelectionChange,\n  setOpenedFilter\n}) {\n  const headerMenuRefs = useRef(new Map());\n  const headerMenuToFocusRef = useRef();\n  const [nextHeaderMenuToFocus, setNextHeaderMenuToFocus] = useState();\n  const hasBulkActions = useSomeItemHasAPossibleBulkAction(actions, data);\n  useEffect(() => {\n    if (headerMenuToFocusRef.current) {\n      headerMenuToFocusRef.current.focus();\n      headerMenuToFocusRef.current = undefined;\n    }\n  });\n  const tableNoticeId = useId();\n  if (nextHeaderMenuToFocus) {\n    // If we need to force focus, we short-circuit rendering here\n    // to prevent any additional work while we handle that.\n    // Clearing out the focus directive is necessary to make sure\n    // future renders don't cause unexpected focus jumps.\n    headerMenuToFocusRef.current = nextHeaderMenuToFocus;\n    setNextHeaderMenuToFocus();\n    return;\n  }\n  const onHide = field => {\n    const hidden = headerMenuRefs.current.get(field.id);\n    const fallback = headerMenuRefs.current.get(hidden.fallback);\n    setNextHeaderMenuToFocus(fallback?.node);\n  };\n  const visibleFields = fields.filter(field => !view.hiddenFields.includes(field.id) && ![view.layout.mediaField].includes(field.id));\n  const hasData = !!data?.length;\n  const sortValues = {\n    asc: 'ascending',\n    desc: 'descending'\n  };\n  const primaryField = fields.find(field => field.id === view.layout.primaryField);\n  return createElement(Fragment, null, createElement(\"table\", {\n    className: \"dataviews-view-table\",\n    \"aria-busy\": isLoading,\n    \"aria-describedby\": tableNoticeId\n  }, createElement(\"thead\", null, createElement(\"tr\", {\n    className: \"dataviews-view-table__row\"\n  }, hasBulkActions && createElement(\"th\", {\n    className: \"dataviews-view-table__checkbox-column\",\n    style: {\n      width: '1%'\n    },\n    \"data-field-id\": \"selection\",\n    scope: \"col\"\n  }, createElement(BulkSelectionCheckbox, {\n    selection: selection,\n    onSelectionChange: onSelectionChange,\n    data: data,\n    actions: actions\n  })), visibleFields.map((field, index) => createElement(\"th\", {\n    key: field.id,\n    style: {\n      width: field.width || undefined,\n      minWidth: field.minWidth || undefined,\n      maxWidth: field.maxWidth || undefined\n    },\n    \"data-field-id\": field.id,\n    \"aria-sort\": view.sort?.field === field.id && sortValues[view.sort.direction],\n    scope: \"col\"\n  }, createElement(HeaderMenu, {\n    ref: node => {\n      if (node) {\n        headerMenuRefs.current.set(field.id, {\n          node,\n          fallback: visibleFields[index > 0 ? index - 1 : 1]?.id\n        });\n      } else {\n        headerMenuRefs.current.delete(field.id);\n      }\n    },\n    field: field,\n    view: view,\n    onChangeView: onChangeView,\n    onHide: onHide,\n    setOpenedFilter: setOpenedFilter\n  }))), !!actions?.length && createElement(\"th\", {\n    \"data-field-id\": \"actions\",\n    className: \"dataviews-view-table__actions-column\"\n  }, createElement(\"span\", {\n    className: \"dataviews-view-table-header\"\n  }, __('Actions'))))), createElement(\"tbody\", null, hasData && data.map((item, index) => createElement(TableRow, {\n    key: getItemId(item),\n    item: item,\n    hasBulkActions: hasBulkActions,\n    actions: actions,\n    id: getItemId(item) || index,\n    visibleFields: visibleFields,\n    primaryField: primaryField,\n    selection: selection,\n    getItemId: getItemId,\n    onSelectionChange: onSelectionChange,\n    data: data\n  })))), createElement(\"div\", {\n    className: classnames({\n      'dataviews-loading': isLoading,\n      'dataviews-no-results': !hasData && !isLoading\n    }),\n    id: tableNoticeId\n  }, !hasData && createElement(\"p\", null, isLoading ? createElement(Spinner, null) : __('No results'))));\n}\nexport default ViewTable;\n//# sourceMappingURL=view-table.js.map","/**\n * WordPress dependencies\n */\nimport { cloneElement, forwardRef } from '@wordpress/element';\n\n/** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */\n\n/**\n * Return an SVG icon.\n *\n * @param {IconProps}                                 props icon is the SVG component to render\n *                                                          size is a number specifiying the icon size in pixels\n *                                                          Other props will be passed to wrapped SVG component\n * @param {import('react').ForwardedRef<HTMLElement>} ref   The forwarded ref to the SVG element.\n *\n * @return {JSX.Element}  Icon component\n */\nfunction Icon({\n  icon,\n  size = 24,\n  ...props\n}, ref) {\n  return cloneElement(icon, {\n    width: size,\n    height: size,\n    ...props,\n    ref\n  });\n}\nexport default forwardRef(Icon);\n//# sourceMappingURL=index.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\nconst blockTable = createElement(SVG, {\n  viewBox: \"0 0 24 24\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, createElement(Path, {\n  d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v3.5h-15V5c0-.3.2-.5.5-.5zm8 5.5h6.5v3.5H13V10zm-1.5 3.5h-7V10h7v3.5zm-7 5.5v-4h7v4.5H5c-.3 0-.5-.2-.5-.5zm14.5.5h-6V15h6.5v4c0 .3-.2.5-.5.5z\"\n}));\nexport default blockTable;\n//# sourceMappingURL=block-table.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst category = createElement(SVG, {\n  viewBox: \"0 0 24 24\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, createElement(Path, {\n  d: \"M6 5.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2V6zm11-.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM13 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2h-3a2 2 0 01-2-2V6zm5 8.5h-3a.5.5 0 00-.5.5v3a.5.5 0 00.5.5h3a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5zM15 13a2 2 0 00-2 2v3a2 2 0 002 2h3a2 2 0 002-2v-3a2 2 0 00-2-2h-3zm-9 1.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5zM4 15a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2v-3z\",\n  fillRule: \"evenodd\",\n  clipRule: \"evenodd\"\n}));\nexport default category;\n//# sourceMappingURL=category.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst check = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z\"\n}));\nexport default check;\n//# sourceMappingURL=check.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst chevronLeft = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z\"\n}));\nexport default chevronLeft;\n//# sourceMappingURL=chevron-left.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst chevronRight = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z\"\n}));\nexport default chevronRight;\n//# sourceMappingURL=chevron-right.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst closeSmall = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z\"\n}));\nexport default closeSmall;\n//# sourceMappingURL=close-small.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst cloud = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M17.3 10.1c0-2.5-2.1-4.4-4.8-4.4-2.2 0-4.1 1.4-4.6 3.3h-.2C5.7 9 4 10.7 4 12.8c0 2.1 1.7 3.8 3.7 3.8h9c1.8 0 3.2-1.5 3.2-3.3.1-1.6-1.1-2.9-2.6-3.2zm-.5 5.1h-9c-1.2 0-2.2-1.1-2.2-2.3s1-2.4 2.2-2.4h1.3l.3-1.1c.4-1.3 1.7-2.2 3.2-2.2 1.8 0 3.3 1.3 3.3 2.9v1.3l1.3.2c.8.1 1.4.9 1.4 1.8-.1 1-.9 1.8-1.8 1.8z\"\n}));\nexport default cloud;\n//# sourceMappingURL=cloud.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst formatListBulletsRTL = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M4 8.8h8.9V7.2H4v1.6zm0 7h8.9v-1.5H4v1.5zM18 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"\n}));\nexport default formatListBulletsRTL;\n//# sourceMappingURL=format-list-bullets-rtl.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst formatListBullets = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM6 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-7c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"\n}));\nexport default formatListBullets;\n//# sourceMappingURL=format-list-bullets.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst funnel = createElement(SVG, {\n  viewBox: \"0 0 24 24\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, createElement(Path, {\n  d: \"M10 17.5H14V16H10V17.5ZM6 6V7.5H18V6H6ZM8 12.5H16V11H8V12.5Z\"\n}));\nexport default funnel;\n//# sourceMappingURL=funnel.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst moreVertical = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z\"\n}));\nexport default moreVertical;\n//# sourceMappingURL=more-vertical.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst plus = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z\"\n}));\nexport default plus;\n//# sourceMappingURL=plus.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst search = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z\"\n}));\nexport default search;\n//# sourceMappingURL=search.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst settings = createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n  d: \"m19 7.5h-7.628c-.3089-.87389-1.1423-1.5-2.122-1.5-.97966 0-1.81309.62611-2.12197 1.5h-2.12803v1.5h2.12803c.30888.87389 1.14231 1.5 2.12197 1.5.9797 0 1.8131-.62611 2.122-1.5h7.628z\"\n}), createElement(Path, {\n  d: \"m19 15h-2.128c-.3089-.8739-1.1423-1.5-2.122-1.5s-1.8131.6261-2.122 1.5h-7.628v1.5h7.628c.3089.8739 1.1423 1.5 2.122 1.5s1.8131-.6261 2.122-1.5h2.128z\"\n}));\nexport default settings;\n//# sourceMappingURL=settings.js.map","import { createElement } from \"react\";\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst unseen = createElement(SVG, {\n  viewBox: \"0 0 24 24\",\n  xmlns: \"http://www.w3.org/2000/svg\"\n}, createElement(Path, {\n  d: \"M4.67 10.664s-2.09 1.11-2.917 1.582l.494.87 1.608-.914.002.002c.343.502.86 1.17 1.563 1.84.348.33.742.663 1.185.976L5.57 16.744l.858.515 1.02-1.701a9.1 9.1 0 0 0 4.051 1.18V19h1v-2.263a9.1 9.1 0 0 0 4.05-1.18l1.021 1.7.858-.514-1.034-1.723c.442-.313.837-.646 1.184-.977.703-.669 1.22-1.337 1.563-1.839l.002-.003 1.61.914.493-.87c-1.75-.994-2.918-1.58-2.918-1.58l-.003.005a8.29 8.29 0 0 1-.422.689 10.097 10.097 0 0 1-1.36 1.598c-1.218 1.16-3.042 2.293-5.544 2.293-2.503 0-4.327-1.132-5.546-2.293a10.099 10.099 0 0 1-1.359-1.599 8.267 8.267 0 0 1-.422-.689l-.003-.005Z\"\n}));\nexport default unseen;\n//# sourceMappingURL=unseen.js.map","import { ExternalLink, Icon, Flex } from '@wordpress/components';\r\nimport { __ } from '@wordpress/i18n';\r\n\r\nexport default function Footer( { title } ) {\r\n\treturn (\r\n\t\t<div className=\"footer\">\r\n\t\t\t<div className=\"inner-container\">\r\n\t\t\t\t<a href=\"https://github.com/Tropicalista/search-console\" target=\"_blank\">\r\n\t\t\t\t\tGithub\r\n\t\t\t\t</a>\r\n\t\t\t\t<a href=\"https://wordpress.org/support/plugin/search-console/\" target=\"_blank\">\r\n\t\t\t\t\t{ __( 'Support', 'search-console' ) }\r\n\t\t\t\t</a>\r\n\t\t\t\t<a href=\"https://wordpress.org/support/plugin/formello/reviews/#new-post\" target=\"_blank\">\r\n\t\t\t\t\t{ __( 'Rate ', 'formello' ) }\r\n\t\t\t\t\t<Icon icon=\"star-filled\" />\r\n\t\t\t\t\t<Icon icon=\"star-filled\" />\r\n\t\t\t\t\t<Icon icon=\"star-filled\" />\r\n\t\t\t\t\t<Icon icon=\"star-filled\" />\r\n\t\t\t\t\t<Icon icon=\"star-filled\" />\r\n\t\t\t\t</a>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n}\r\n","import { ReactComponent as Logo } from '../../assets/logo.svg';\nimport {\n\t__experimentalHStack as HStack\n} from '@wordpress/components';\n\nexport default function Header( { title } ) {\n\treturn (\n\t\t<div className=\"masthead\">\n\t\t\t<Logo />\n\t\t\t<div className=\"masthead__branding\">\n\t\t\t\t<h1>{ title }</h1>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","import { Card } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport SlideShow from './slideshow';\nimport { useSelect } from '@wordpress/data';\n\nconst Ads = ( props ) => {\n\tconst { plugins } = useSelect( ( select ) => {\n\t\tconst myPlugins = select( 'core' ).getPlugins( { per_page: -1 } );\n\t\treturn {\n\t\t\tplugins: myPlugins?.filter( ( plugin ) => {\n\t\t\t\treturn [\n\t\t\t\t\t'formello/formello',\n\t\t\t\t\t'popper/popper',\n\t\t\t\t\t'pdf-embed/pdf-embed',\n\t\t\t\t].includes( plugin.plugin );\n\t\t\t} ),\n\t\t};\n\t} );\n\n\tconst [ shown, setShown ] = useState( () => {\n\t\t// getting stored value\n\t\tconst toShow = window.localStorage.getItem( 'sc-shown' );\n\t\tconst initialValue = JSON.parse( toShow );\n\t\treturn initialValue || new Date().getTime();\n\t} );\n\n\tif ( ! plugins ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Card>\n\t\t\t<div style={ { overflowX: 'hidden' } }>\n\t\t\t\t<SlideShow plugins={ plugins } { ...props } />\n\t\t\t</div>\n\t\t</Card>\n\t);\n};\n\nexport default Ads;\n","import { useState, useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { Button, __experimentalHStack as HStack } from '@wordpress/components';\n\nconst myAds = [\n\t{\n\t\tname: 'Systeme.io',\n\t\tad: __(\n\t\t\t'Free online marketing platform with funnel builder. Create popup, squeeze page, funnel automations all for FREE. No credit card required',\n\t\t\t'search-console'\n\t\t),\n\t\tlink: 'https://systeme.io/?sa=sa0181820865b77bd583c54e7e7668a6a77e78f1c7',\n\t\tisLink: true,\n\t},\n\t{\n\t\tname: 'Formello',\n\t\tad: __(\n\t\t\t'Lightweight Gutenberg contact form builder, blazingly fast with no external dependencies and ReCaptcha support.',\n\t\t\t'search-console'\n\t\t),\n\t\tslug: 'formello',\n\t},\n\t{\n\t\tname: 'Popper',\n\t\tad: __(\n\t\t\t'Do you need a POPUP plugin? Check Popper a Popup builder with exit-intent powered by Gutenberg.',\n\t\t\t'search-console'\n\t\t),\n\t\tslug: 'popper',\n\t},\n\t{\n\t\tname: 'Pdf Embed',\n\t\tad: __(\n\t\t\t'A Gutenberg block to embed your PDF with official Adobe API.',\n\t\t\t'search-console'\n\t\t),\n\t\tslug: 'pdf-embed',\n\t},\n];\n\nconst SlideShow = ( { plugins, direction, noSlide } ) => {\n\tconst [ currentIndex, setCurrentIndex ] = useState( 0 );\n\tconst [ slides, setSlides ] = useState( [] );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\tuseEffect( () => {\n\t\tinit();\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( noSlide ) {\n\t\t\treturn;\n\t\t}\n\t\tconst timer = setInterval( () => {\n\t\t\tgoToNextSlide();\n\t\t}, 5000 ); // Change slide every 5 seconds\n\n\t\treturn () => clearInterval( timer );\n\t} );\n\n\tconst init = () => {\n\t\tconst match = myAds.filter( ( ad ) => {\n\t\t\treturn plugins?.find( ( p ) => p.name === ad.name ) ? false : true;\n\t\t} );\n\t\tsetSlides( match );\n\t};\n\n\tconst installPlugin = ( slug ) => {\n\t\tsaveEntityRecord( 'root', 'plugin', {\n\t\t\tslug,\n\t\t\tstatus: 'active',\n\t\t} );\n\t};\n\n\tconst goToNextSlide = () => {\n\t\tif ( slides.length > 1 ) {\n\t\t\tconst nextIndex = ( currentIndex + 1 ) % slides.length;\n\t\t\tsetCurrentIndex( nextIndex );\n\t\t}\n\t};\n\n\tconst setMargin = ( index ) => {\n\t\tif ( 0 === index ) {\n\t\t\tconst margin =\n\t\t\t\tcurrentIndex > 0\n\t\t\t\t\t? '-' + ( 100 / slides.length ) * currentIndex + '%'\n\t\t\t\t\t: 0;\n\t\t\treturn margin;\n\t\t}\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"slideshow-container\"\n\t\t\tstyle={ {\n\t\t\t\twidth: `calc( 100% * ${ slides.length })`,\n\t\t\t} }\n\t\t>\n\t\t\t{ slides.map( ( plugin, index ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\tclassName={ `slide ${\n\t\t\t\t\t\t\tindex === currentIndex ? 'active' : ''\n\t\t\t\t\t\t}` }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\twidth: `calc( 100% / ${ slides.length })`,\n\t\t\t\t\t\t\tmarginLeft: setMargin( index ),\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack justify=\"flex-start\" direction={ direction }>\n\t\t\t\t\t\t\t<span>{ plugin.ad }</span>\n\t\t\t\t\t\t\t{ plugin.isLink ? (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t\t\t\t\t'Get FREE offer!',\n\t\t\t\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\thref={ plugin.link }\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\ticon=\"megaphone\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\ttext={ __( 'Install', 'search-console' ) }\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tinstallPlugin( plugin.slug )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</div>\n\t);\n};\n\nexport default SlideShow;\n","export default {\n\twidth: '100%',\n\theight: '400',\n\tcolors: [ '#4285f4', '#5e35b1', '#00897b', '#E8710A' ],\n\tanimation: {\n\t\tduration: 1000,\n\t\teasing: 'out',\n\t\tstartup: true,\n\t},\n\tfocusTarget: 'category',\n\tchartArea: {\n\t\t// leave room for y-axis labels\n\t\twidth: '100%',\n\t\theight: '80%',\n\t},\n\thAxis: {\n\t\tgridlines: {\n\t\t\tcount: 0,\n\t\t\tminSpacing: 150,\n\t\t},\n\t\tminorGridlines: { count: 0 },\n\t\tshowTextEvery: 1,\n\t\tformat: 'MMM dd',\n\t},\n\tvAxis: {\n\t\tgridlines: {\n\t\t\tcount: 0,\n\t\t\tminSpacing: 100,\n\t\t},\n\t\tminorGridlines: { count: 1 },\n\t\tshowTextEvery: 2,\n\t},\n\tvAxes: {\n\t\t0: { title: 'clicks' },\n\t\t1: { title: 'impressions' },\n\t\t2: {\n\t\t\tformat: '#%',\n\t\t\tviewWindow: {\n\t\t\t\tmin: 0,\n\t\t\t\tmax: 1,\n\t\t\t},\n\t\t},\n\t\t3: {\n\t\t\tdirection: -1,\n\t\t\tviewWindow: {\n\t\t\t\tmin: 1,\n\t\t\t},\n\t\t},\n\t},\n\tseries: {\n\t\t0: { type: 'line', targetAxisIndex: 0, tooltip: true }, // Clicks\n\t\t1: { type: 'line', targetAxisIndex: 1, tooltip: true }, // Impressions\n\t\t2: { type: 'line', targetAxisIndex: 2, tooltip: true }, // CTR\n\t\t3: { type: 'line', targetAxisIndex: 3, tooltip: true }, // Positions\n\t},\n};\n","import { Chart } from 'react-google-charts';\nimport Options from './chart-options';\nimport { useState, useEffect, useContext } from '@wordpress/element';\nimport { Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { SettingsContext } from '../../../context/settings-context';\n\nimport LoadingSpinner from '../../loading-spinner.js';\n\nexport function MyChart() {\n\tconst { settings, query, showError } = useContext( SettingsContext );\n\n\tconst [ table, setTable ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( settings.token.access_token ) getData();\n\t}, [ query, settings.token ] );\n\n\tconst getData = () => {\n\t\twindow.gapi?.client?.setToken( settings.token );\n\n\t\twindow.gapi?.client?.webmasters?.searchanalytics\n\t\t\t.query( {\n\t\t\t\t...query,\n\t\t\t\tsiteUrl: settings.site,\n\t\t\t\tdimensions: [ 'date' ],\n\t\t\t\tfields: 'rows',\n\t\t\t} )\n\t\t\t.then( ( response ) => {\n\t\t\t\tconst data = response.result.rows;\n\t\t\t\tconst temp = [];\n\t\t\t\ttemp.push( [\n\t\t\t\t\t__( 'Keys', 'search-console' ),\n\t\t\t\t\t__( 'Clicks', 'search-console' ),\n\t\t\t\t\t__( 'Impressions', 'search-console' ),\n\t\t\t\t\t'CTR',\n\t\t\t\t\t__( 'Position', 'search-console' ),\n\t\t\t\t] );\n\t\t\t\tdata.forEach( ( row ) => {\n\t\t\t\t\ttemp.push( [\n\t\t\t\t\t\twindow.moment( row.keys[ 0 ], 'YYYY-MM-DD' ).toDate(),\n\t\t\t\t\t\tformatData( row.clicks ),\n\t\t\t\t\t\tformatData( row.impressions ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tv: row.ctr,\n\t\t\t\t\t\t\tf: formatData( row.ctr, 'ctr' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tv: row.position,\n\t\t\t\t\t\t\tf: formatData( row.position, 'position' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] );\n\t\t\t\t} );\n\t\t\t\tsetTable( temp );\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tshowError( error );\n\t\t\t} );\n\t};\n\n\tconst formatData = ( val, metric ) => {\n\t\tif ( 'ctr' === metric ) {\n\t\t\treturn ( val * 100 ).toFixed( 2 ) + '%';\n\t\t}\n\t\tif ( 'position' === metric ) {\n\t\t\treturn val.toFixed( 2 );\n\t\t}\n\t\treturn val;\n\t};\n\n\tif ( ! table ) {\n\t\treturn (\n\t\t\t<LoadingSpinner text={ __( 'Fetching data…', 'search-console' ) } />\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className=\"search-console-chart\">\n\t\t\t<Chart\n\t\t\t\tchartType=\"LineChart\"\n\t\t\t\tdata={ table }\n\t\t\t\toptions={ Options }\n\t\t\t\tlegendToggle\n\t\t\t/>\n\t\t</div>\n\t);\n}\n","export default {\n\tabw: 'Aruba',\n\tafg: 'Afghanistan',\n\tago: 'Angola',\n\taia: 'Anguilla',\n\tala: 'Åland Islands',\n\talb: 'Albania',\n\tand: 'Andorra',\n\tare: 'United Arab Emirates (the)',\n\targ: 'Argentina',\n\tarm: 'Armenia',\n\tasm: 'American Samoa',\n\tata: 'Antarctica',\n\tatf: 'French Southern Territories (the)',\n\tatg: 'Antigua and Barbuda',\n\taus: 'Australia',\n\taut: 'Austria',\n\taze: 'Azerbaijan',\n\tbdi: 'Burundi',\n\tbel: 'Belgium',\n\tben: 'Benin',\n\tbes: 'Bonaire, Sint Eustatius and Saba',\n\tbfa: 'Burkina Faso',\n\tbgd: 'Bangladesh',\n\tbgr: 'Bulgaria',\n\tbhr: 'Bahrain',\n\tbhs: 'Bahamas (the)',\n\tbih: 'Bosnia and Herzegovina',\n\tblm: 'Saint Barthélemy',\n\tblr: 'Belarus',\n\tblz: 'Belize',\n\tbmu: 'Bermuda',\n\tbol: 'Bolivia (Plurinational State of)',\n\tbra: 'Brazil',\n\tbrb: 'Barbados',\n\tbrn: 'Brunei Darussalam',\n\tbtn: 'Bhutan',\n\tbvt: 'Bouvet Island',\n\tbwa: 'Botswana',\n\tcaf: 'Central African Republic (the)',\n\tcan: 'Canada',\n\tcck: 'Cocos (Keeling) Islands (the)',\n\tche: 'Switzerland',\n\tchl: 'Chile',\n\tchn: 'China',\n\tciv: \"Côte d'Ivoire\",\n\tcmr: 'Cameroon',\n\tcod: 'Congo (the Democratic Republic of the)',\n\tcog: 'Congo (the)',\n\tcok: 'Cook Islands (the)',\n\tcol: 'Colombia',\n\tcom: 'Comoros (the)',\n\tcpv: 'Cabo Verde',\n\tcri: 'Costa Rica',\n\tcub: 'Cuba',\n\tcuw: 'Curaçao',\n\tcxr: 'Christmas Island',\n\tcym: 'Cayman Islands (the)',\n\tcyp: 'Cyprus',\n\tcze: 'Czechia',\n\tdeu: 'Germany',\n\tdji: 'Djibouti',\n\tdma: 'Dominica',\n\tdnk: 'Denmark',\n\tdom: 'Dominican Republic (the)',\n\tdza: 'Algeria',\n\tecu: 'Ecuador',\n\tegy: 'Egypt',\n\teri: 'Eritrea',\n\tesh: 'Western Sahara*',\n\tesp: 'Spain',\n\test: 'Estonia',\n\teth: 'Ethiopia',\n\tfin: 'Finland',\n\tfji: 'Fiji',\n\tflk: 'Falkland Islands (the) [Malvinas]',\n\tfra: 'France',\n\tfro: 'Faroe Islands (the)',\n\tfsm: 'Micronesia (Federated States of)',\n\tgab: 'Gabon',\n\tgbr: 'United Kingdom of Great Britain and Northern Ireland (the)',\n\tgeo: 'Georgia',\n\tggy: 'Guernsey',\n\tgha: 'Ghana',\n\tgib: 'Gibraltar',\n\tgin: 'Guinea',\n\tglp: 'Guadeloupe',\n\tgmb: 'Gambia (the)',\n\tgnb: 'Guinea-Bissau',\n\tgnq: 'Equatorial Guinea',\n\tgrc: 'Greece',\n\tgrd: 'Grenada',\n\tgrl: 'Greenland',\n\tgtm: 'Guatemala',\n\tguf: 'French Guiana',\n\tgum: 'Guam',\n\tguy: 'Guyana',\n\thkg: 'Hong Kong',\n\thmd: 'Heard Island and McDonald Islands',\n\thnd: 'Honduras',\n\thrv: 'Croatia',\n\thti: 'Haiti',\n\thun: 'Hungary',\n\tidn: 'Indonesia',\n\timn: 'Isle of Man',\n\tind: 'India',\n\tiot: 'British Indian Ocean Territory (the)',\n\tirl: 'Ireland',\n\tirn: 'Iran (Islamic Republic of)',\n\tirq: 'Iraq',\n\tisl: 'Iceland',\n\tisr: 'Israel',\n\tita: 'Italy',\n\tjam: 'Jamaica',\n\tjey: 'Jersey',\n\tjor: 'Jordan',\n\tjpn: 'Japan',\n\tkaz: 'Kazakhstan',\n\tken: 'Kenya',\n\tkgz: 'Kyrgyzstan',\n\tkhm: 'Cambodia',\n\tkir: 'Kiribati',\n\tkna: 'Saint Kitts and Nevis',\n\tkor: 'Korea (the Republic of)',\n\tkwt: 'Kuwait',\n\tlao: \"Lao People's Democratic Republic (the)\",\n\tlbn: 'Lebanon',\n\tlbr: 'Liberia',\n\tlby: 'Libya',\n\tlca: 'Saint Lucia',\n\tlie: 'Liechtenstein',\n\tlka: 'Sri Lanka',\n\tlso: 'Lesotho',\n\tltu: 'Lithuania',\n\tlux: 'Luxembourg',\n\tlva: 'Latvia',\n\tmac: 'Macao',\n\tmaf: 'Saint Martin (French part)',\n\tmar: 'Morocco',\n\tmco: 'Monaco',\n\tmda: 'Moldova (the Republic of)',\n\tmdg: 'Madagascar',\n\tmdv: 'Maldives',\n\tmex: 'Mexico',\n\tmhl: 'Marshall Islands (the)',\n\tmkd: 'Macedonia (the former Yugoslav Republic of)',\n\tmli: 'Mali',\n\tmlt: 'Malta',\n\tmmr: 'Myanmar',\n\tmne: 'Montenegro',\n\tmng: 'Mongolia',\n\tmnp: 'Northern Mariana Islands (the)',\n\tmoz: 'Mozambique',\n\tmrt: 'Mauritania',\n\tmsr: 'Montserrat',\n\tmtq: 'Martinique',\n\tmus: 'Mauritius',\n\tmwi: 'Malawi',\n\tmys: 'Malaysia',\n\tmyt: 'Mayotte',\n\tnam: 'Namibia',\n\tncl: 'New Caledonia',\n\tner: 'Niger (the)',\n\tnfk: 'Norfolk Island',\n\tnga: 'Nigeria',\n\tnic: 'Nicaragua',\n\tniu: 'Niue',\n\tnld: 'Netherlands (the)',\n\tnor: 'Norway',\n\tnpl: 'Nepal',\n\tnru: 'Nauru',\n\tnzl: 'New Zealand',\n\tomn: 'Oman',\n\tpak: 'Pakistan',\n\tpan: 'Panama',\n\tpcn: 'Pitcairn',\n\tper: 'Peru',\n\tphl: 'Philippines (the)',\n\tplw: 'Palau',\n\tpng: 'Papua New Guinea',\n\tpol: 'Poland',\n\tpri: 'Puerto Rico',\n\tprk: \"Korea (the Democratic People's Republic of)\",\n\tprt: 'Portugal',\n\tpry: 'Paraguay',\n\tpse: 'Palestine, State of',\n\tpyf: 'French Polynesia',\n\tqat: 'Qatar',\n\treu: 'Réunion',\n\trou: 'Romania',\n\trus: 'Russian Federation (the)',\n\trwa: 'Rwanda',\n\tsau: 'Saudi Arabia',\n\tsdn: 'Sudan (the)',\n\tsen: 'Senegal',\n\tsgp: 'Singapore',\n\tsgs: 'South Georgia and the South Sandwich Islands',\n\tshn: 'Saint Helena, Ascension and Tristan da Cunha',\n\tsjm: 'Svalbard and Jan Mayen',\n\tslb: 'Solomon Islands',\n\tsle: 'Sierra Leone',\n\tslv: 'El Salvador',\n\tsmr: 'San Marino',\n\tsom: 'Somalia',\n\tspm: 'Saint Pierre and Miquelon',\n\tsrb: 'Serbia',\n\tssd: 'South Sudan',\n\tstp: 'Sao Tome and Principe',\n\tsur: 'Suriname',\n\tsvk: 'Slovakia',\n\tsvn: 'Slovenia',\n\tswe: 'Sweden',\n\tswz: 'Swaziland',\n\tsxm: 'Sint Maarten (Dutch part)',\n\tsyc: 'Seychelles',\n\tsyr: 'Syrian Arab Republic',\n\ttca: 'Turks and Caicos Islands (the)',\n\ttcd: 'Chad',\n\ttgo: 'Togo',\n\ttha: 'Thailand',\n\ttjk: 'Tajikistan',\n\ttkl: 'Tokelau',\n\ttkm: 'Turkmenistan',\n\ttls: 'Timor-Leste',\n\tton: 'Tonga',\n\ttto: 'Trinidad and Tobago',\n\ttun: 'Tunisia',\n\ttur: 'Turkey',\n\ttuv: 'Tuvalu',\n\ttwn: 'Taiwan (Province of China)',\n\ttza: 'Tanzania, United Republic of',\n\tuga: 'Uganda',\n\tukr: 'Ukraine',\n\tumi: 'United States Minor Outlying Islands (the)',\n\tury: 'Uruguay',\n\tusa: 'United States of America (the)',\n\tuzb: 'Uzbekistan',\n\tvat: 'Holy See (the)',\n\tvct: 'Saint Vincent and the Grenadines',\n\tven: 'Venezuela (Bolivarian Republic of)',\n\tvgb: 'Virgin Islands (British)',\n\tvir: 'Virgin Islands (U.S.)',\n\tvnm: 'Viet Nam',\n\tvut: 'Vanuatu',\n\twlf: 'Wallis and Futuna',\n\twsm: 'Samoa',\n\tyem: 'Yemen',\n\tzaf: 'South Africa',\n\tzmb: 'Zambia',\n\tzwe: 'Zimbabwe',\n\tzzz: 'Others',\n};\n","import { FormTokenField } from '@wordpress/components';\nimport { Fragment } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\nimport countries from './countries';\n\nexport default function Country( props ) {\n\tconst { filter, handleChange } = props;\n\n\tconst onChange = ( val ) => {\n\t\thandleChange(\n\t\t\tObject.keys( countries )[\n\t\t\t\tObject.values( countries ).indexOf( val )\n\t\t\t]\n\t\t);\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<FormTokenField\n\t\t\t\tvalue={ filter.expression ? [ filter.expression ] : [] }\n\t\t\t\tsuggestions={ Object.values( countries ) }\n\t\t\t\tonChange={ ( tokens ) => onChange( tokens[ 0 ] ) }\n\t\t\t\tlabel={ __( 'Choose a country', 'search-console' ) }\n\t\t\t\tmaxLength=\"1\"\n\t\t\t\t__experimentalShowHowTo={ false }\n\t\t\t/>\n\t\t</Fragment>\n\t);\n}\n","import { RadioControl } from '@wordpress/components';\nimport { Fragment } from '@wordpress/element';\n\nimport { __ } from '@wordpress/i18n';\n\nexport default function Device( props ) {\n\tconst { filter, handleChange } = props;\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<RadioControl\n\t\t\t\tselected={ filter?.expression }\n\t\t\t\toptions={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Desktop', 'search-console' ),\n\t\t\t\t\t\tvalue: 'desktop',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Mobile', 'search-console' ),\n\t\t\t\t\t\tvalue: 'mobile',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Tablet', 'search-console' ),\n\t\t\t\t\t\tvalue: 'tablet',\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tonChange={ ( option ) => {\n\t\t\t\t\thandleChange( option );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</Fragment>\n\t);\n}\n","import { SelectControl, TextControl, __experimentalVStack as VStack } from '@wordpress/components';\nimport { Fragment } from '@wordpress/element';\n\nimport { __ } from '@wordpress/i18n';\n\nexport default function Page( props ) {\n\tconst { filter, handleChange } = props;\n\n\treturn (\n\t\t<VStack>\n\t\t\t<SelectControl\n\t\t\t\tselected={ filter?.operator }\n\t\t\t\toptions={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'CONTAINS',\n\t\t\t\t\t\tlabel: __( 'Urls containing', 'search-console' ),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'NOT_CONTAINS',\n\t\t\t\t\t\tlabel: __( 'Urls not containing', 'search-console' ),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'EQUALS',\n\t\t\t\t\t\tlabel: __( 'Exact url', 'search-console' ),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tonChange={ ( option ) => {\n\t\t\t\t\thandleChange( filter?.expression, option );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<TextControl\n\t\t\t\tvalue={ filter?.expression }\n\t\t\t\tplaceholder={ 'https://www.example.com' }\n\t\t\t\tonChange={ ( option ) => {\n\t\t\t\t\thandleChange(\n\t\t\t\t\t\toption,\n\t\t\t\t\t\tfilter?.operator ? filter?.operator : 'CONTAINS'\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t</VStack>\n\t);\n}\n","import { SelectControl, TextControl, __experimentalVStack as VStack } from '@wordpress/components';\nimport { Fragment } from '@wordpress/element';\n\nimport { __ } from '@wordpress/i18n';\n\nexport default function Query( props ) {\n\tconst { filter, handleChange } = props;\n\n\treturn (\n\t\t<VStack>\n\t\t\t<SelectControl\n\t\t\t\tvalue={ filter?.operator }\n\t\t\t\toptions={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'CONTAINS',\n\t\t\t\t\t\tlabel: __( 'Queries containing', 'search-console' ),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'NOT_CONTAINS',\n\t\t\t\t\t\tlabel: __( 'Queries not containing', 'search-console' ),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: 'EQUALS',\n\t\t\t\t\t\tlabel: __( 'Exact query', 'search-console' ),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tonChange={ ( option ) => {\n\t\t\t\t\thandleChange( filter?.expression, option );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<TextControl\n\t\t\t\tvalue={ filter?.expression || '' }\n\t\t\t\tonChange={ ( option ) => {\n\t\t\t\t\thandleChange(\n\t\t\t\t\t\toption,\n\t\t\t\t\t\tfilter?.operator ? filter?.operator : 'CONTAINS'\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t</VStack>\n\t);\n}\n","import { Button, Dropdown, MenuGroup, MenuItem } from '@wordpress/components';\nimport { Fragment, useState, useContext } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { dateI18n } from '@wordpress/date';\nimport { SettingsContext } from '../../../context/settings-context';\n\nexport default function DateDropdown() {\n\tconst { updateQuery, updateSetting, settings } =\n\t\tuseContext( SettingsContext );\n\n\tconst [ range, setRange ] = useState(\n\t\t__( 'Last 28 days', 'search-console' )\n\t);\n\n\tconst setDate = ( num, period ) => {\n\t\tconst date = moment()\n\t\t\t.subtract( 2, 'days' )\n\t\t\t.subtract( num, period )\n\t\t\t.format( 'YYYY-MM-DD' );\n\t\tsetRange( 'Last ' + num + ' ' + period );\n\t\tupdateSetting( 'customDate', false );\n\t\tupdateQuery( 'startDate', date );\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tclassName=\"my-container-class-name\"\n\t\t\tcontentClassName=\"my-popover-content-classname\"\n\t\t\tplacement=\"bottom right\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t>\n\t\t\t\t\t{ settings.customDate\n\t\t\t\t\t\t? __( 'Custom date', 'search-console' )\n\t\t\t\t\t\t: range }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\trenderContent={ ( { onToggle } ) => (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetDate( 7, 'days' );\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Last 7 days', 'search-console' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetDate( 28, 'days' );\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Last 28 days', 'search-console' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetDate( 1, 'months' );\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Last month', 'search-console' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetDate( 3, 'months' );\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Last 3 months', 'search-console' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetDate( 6, 'months' );\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Last 6 months', 'search-console' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetDate( 12, 'months' );\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Last 12 months', 'search-console' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetDate( 16, 'months' );\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Last 18 months', 'search-console' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tupdateSetting(\n\t\t\t\t\t\t\t\t\t'customDate',\n\t\t\t\t\t\t\t\t\t! settings.customDate\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Custom date', 'search-console' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</Fragment>\n\t\t\t) }\n\t\t/>\n\t);\n}\n","import {\n\tButton,\n\tFlex,\n\tFlexItem,\n\tDatePicker,\n\tDropdown,\n} from '@wordpress/components';\nimport { dateI18n, format } from '@wordpress/date';\nimport DateDropdown from './datedropdown';\nimport { Fragment, useContext } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { SettingsContext } from '../../../context/settings-context';\n\nexport function DateSelect() {\n\tconst { query, updateQuery, settings } = useContext( SettingsContext );\n\n\treturn (\n\t\t<Flex>\n\t\t\t{ settings.customDate && (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<b>From:</b>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tpopoverProps={ { placement: 'bottom-start' } }\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ query.startDate\n\t\t\t\t\t\t\t\t\t\t? format( 'F j, Y', query.startDate )\n\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Click here to set start date.',\n\t\t\t\t\t\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t\t\t\t\t  ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\t\t__nextRemoveHelpButton\n\t\t\t\t\t\t\t\t\tcurrentDate={ query.startDate }\n\t\t\t\t\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\t\t\t\t\tupdateQuery(\n\t\t\t\t\t\t\t\t\t\t\t'startDate',\n\t\t\t\t\t\t\t\t\t\t\tdateI18n( 'Y-m-d', val )\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tisInvalidDate={ ( val ) => {\n\t\t\t\t\t\t\t\t\t\tif ( query.endDate ) {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\tnew Date( val ) >\n\t\t\t\t\t\t\t\t\t\t\t\tnew Date( query.endDate )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<b>To:</b>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tpopoverProps={ { placement: 'bottom-start' } }\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ query.endDate\n\t\t\t\t\t\t\t\t\t\t? format( 'F j, Y', query.endDate )\n\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Click here to set end date.',\n\t\t\t\t\t\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t\t\t\t\t  ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\t\t\t__nextRemoveHelpButton\n\t\t\t\t\t\t\t\t\tcurrentDate={ query.endDate }\n\t\t\t\t\t\t\t\t\tonChange={ ( val ) =>\n\t\t\t\t\t\t\t\t\t\tupdateQuery(\n\t\t\t\t\t\t\t\t\t\t\t'endDate',\n\t\t\t\t\t\t\t\t\t\t\tdateI18n( 'Y-m-d', val )\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tisInvalidDate={ ( val ) =>\n\t\t\t\t\t\t\t\t\t\tnew Date( val ) <\n\t\t\t\t\t\t\t\t\t\t\tnew Date( query.startDate ) ||\n\t\t\t\t\t\t\t\t\t\tnew Date( val ) > new Date()\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Fragment>\n\t\t\t) }\n\t\t\t<FlexItem>\n\t\t\t\t<DateDropdown />\n\t\t\t</FlexItem>\n\t\t</Flex>\n\t);\n}\n","import { __ } from '@wordpress/i18n';\nimport { useContext } from '@wordpress/element';\nimport { Button } from '@wordpress/components';\nimport { SettingsContext } from '../../../context/settings-context';\n\nexport default function Dimensions() {\n\tconst { updateQuery, query } = useContext( SettingsContext );\n\n\tconst onSelect = ( dimension ) => {\n\t\tupdateQuery( 'dimensions', [ dimension ] );\n\t};\n\n\treturn (\n\t\t<div className=\"search-console-dimensions\">\n\t\t\t<Button\n\t\t\t\tclassName={\n\t\t\t\t\tquery.dimensions.includes( 'query' ) ? 'is-selected' : ''\n\t\t\t\t}\n\t\t\t\tonClick={ () => onSelect( 'query' ) }\n\t\t\t>\n\t\t\t\t{ __( 'Query', 'search-console' ) }\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tclassName={\n\t\t\t\t\tquery.dimensions.includes( 'page' ) ? 'is-selected' : ''\n\t\t\t\t}\n\t\t\t\tonClick={ () => onSelect( 'page' ) }\n\t\t\t>\n\t\t\t\t{ __( 'Pages', 'search-console' ) }\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tclassName={\n\t\t\t\t\tquery.dimensions.includes( 'country' ) ? 'is-selected' : ''\n\t\t\t\t}\n\t\t\t\tonClick={ () => onSelect( 'country' ) }\n\t\t\t>\n\t\t\t\t{ __( 'Countries', 'search-console' ) }\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tclassName={\n\t\t\t\t\tquery.dimensions.includes( 'device' ) ? 'is-selected' : ''\n\t\t\t\t}\n\t\t\t\tonClick={ () => onSelect( 'device' ) }\n\t\t\t>\n\t\t\t\t{ __( 'Devices', 'search-console' ) }\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n","import {\n\tButton,\n\tDropdown,\n\tMenuItem,\n\tMenuGroup,\n\tIcon,\n} from '@wordpress/components';\n\nimport { __ } from '@wordpress/i18n';\nimport { closeSmall, plus } from '@wordpress/icons';\n\nimport { useState, Fragment, useContext } from '@wordpress/element';\n\nimport { MyModal } from './modals';\nimport { DateSelect } from './dateselect';\nimport { SettingsContext } from '../../../context/settings-context';\n\nconst ENTER = 'Enter';\nconst SPACE = ' ';\n\nexport function Filters() {\n\tconst [ showModal, setShowModal ] = useState( false );\n\tconst { query, updateQuery } = useContext( SettingsContext );\n\n\tconst onRequestClose = () => {\n\t\tsetShowModal( false );\n\t};\n\n\tconst remove = ( filter ) => {\n\t\tconst filters = query.dimensionFilterGroups.map( ( dimension ) => {\n\t\t\treturn dimension.filters;\n\t\t} );\n\n\t\tconst replaced = [\n\t\t\t...filters[ 0 ].filter( ( i ) => i.dimension !== filter.dimension ),\n\t\t];\n\t\tif ( replaced.length ) {\n\t\t\tupdateQuery( 'dimensionFilterGroups', [ { filters: replaced } ] );\n\t\t} else {\n\t\t\tupdateQuery( 'dimensionFilterGroups', [] );\n\t\t}\n\t};\n\n\tconst setType = ( type ) => {\n\t\tupdateQuery( 'type', type );\n\t};\n\n\tconst getSign = ( filter ) => {\n\t\tif ( ! filter.operator ) {\n\t\t\treturn '';\n\t\t}\n\t\t// eslint-disable-next-line no-nested-ternary\n\t\treturn 'EQUALS' === filter.operator\n\t\t\t? ''\n\t\t\t: 'CONTAINS' === filter.operator\n\t\t\t? '+'\n\t\t\t: '-';\n\t};\n\n\tconst filters = query.dimensionFilterGroups.map( ( f ) => f.filters );\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<div className=\"search-console-filters\">\n\t\t\t\t<div className={ 'search-console-filters-options' }>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ { placement: 'bottom-start' } }\n\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Search type: ', 'search-console' ) +\n\t\t\t\t\t\t\t\t\tquery.type }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\trenderContent={ ( { onToggle } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetType( 'web' );\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Web', 'search-console' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetType( 'image' );\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Image', 'search-console' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetType( 'video' );\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Video', 'search-console' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetType( 'news' );\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'News', 'search-console' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tclassName=\"my-container-class-name\"\n\t\t\t\t\t\tcontentClassName=\"my-popover-content-classname\"\n\t\t\t\t\t\tplacement=\"bottom right\"\n\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\t\ticonPosition={ 'right' }\n\t\t\t\t\t\t\t\ttext={ __( 'New', 'search-console' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\trenderContent={ ( { onToggle } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetShowModal( {\n\t\t\t\t\t\t\t\t\t\t\tdimension: 'query',\n\t\t\t\t\t\t\t\t\t\t\texpression: '',\n\t\t\t\t\t\t\t\t\t\t\toperator: '',\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Query', 'search-console' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetShowModal( {\n\t\t\t\t\t\t\t\t\t\t\tdimension: 'page',\n\t\t\t\t\t\t\t\t\t\t\texpression: '',\n\t\t\t\t\t\t\t\t\t\t\toperator: '',\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Page', 'search-console' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetShowModal( {\n\t\t\t\t\t\t\t\t\t\t\tdimension: 'country',\n\t\t\t\t\t\t\t\t\t\t\texpression: '',\n\t\t\t\t\t\t\t\t\t\t\toperator: '',\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Country', 'search-console' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetShowModal( {\n\t\t\t\t\t\t\t\t\t\t\tdimension: 'device',\n\t\t\t\t\t\t\t\t\t\t\texpression: '',\n\t\t\t\t\t\t\t\t\t\t\toperator: '',\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Device', 'search-console' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ filters.map( ( filter ) => {\n\t\t\t\t\t\treturn filter.map( ( f, i ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t'dataviews-filter-summary__chip-container'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"dataviews-filter-summary__chip has-reset\"\n\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\t\t\taria-pressed=\"false\"\n\t\t\t\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t\t\t\t\tonClick={ () => setShowModal( f ) }\n\t\t\t\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t[ ENTER, SPACE ].includes(\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent.key\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\tsetShowModal( f );\n\t\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ f.dimension +\n\t\t\t\t\t\t\t\t\t\t\t': ' +\n\t\t\t\t\t\t\t\t\t\t\tgetSign( f ) +\n\t\t\t\t\t\t\t\t\t\t\tf.expression }\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\t\t\t\t'dataviews-filter-summary__chip-remove has-values'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonClick={ ( e ) => {\n\t\t\t\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\tremove( f );\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ closeSmall } />\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} );\n\t\t\t\t\t} ) }\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<DateSelect query={ query } />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t{ showModal && (\n\t\t\t\t<MyModal\n\t\t\t\t\tonRequestClose={ onRequestClose }\n\t\t\t\t\tmodal={ showModal }\n\t\t\t\t\ttitle={ showModal.dimension }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Fragment>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { useState, useContext, useEffect, useMemo } from '@wordpress/element';\nimport { DataViews } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport Dimensions from './dimensions';\nimport Countries from '../modals/countries';\nimport { SettingsContext } from '../../../context/settings-context';\n\nexport function Table() {\n\tconst { settings, query, showError } = useContext( SettingsContext );\n\n\tconst [ data, setData ] = useState( [] );\n\tconst [ view, setView ] = useState( {\n\t\ttype: 'table',\n\t\tperPage: 10,\n\t\tpage: 1,\n\t\tsort: {},\n\t\tsearch: '',\n\t\tfilters: [],\n\t\thiddenFields: [],\n\t\tlayout: {},\n\t} );\n\n\tuseEffect( () => {\n\t\tgetData();\n\t}, [ query, settings.token ] );\n\n\tuseEffect( () => {\n\t\tfilterData();\n\t}, [ view.sort ] );\n\n\tconst getData = () => {\n\t\twindow.gapi.client.setToken( settings.token );\n\n\t\twindow.gapi?.client?.webmasters.searchanalytics\n\t\t\t.query( {\n\t\t\t\t...query,\n\t\t\t\tsiteUrl: settings.site,\n\t\t\t} )\n\t\t\t.then( ( response ) => {\n\t\t\t\tif ( ! response.result.rows ) {\n\t\t\t\t\tsetData( [] );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tsetData( normalizeData( response.result.rows ) );\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tshowError( error );\n\t\t\t} );\n\t};\n\n\tconst paginateArray = ( array ) => {\n\t\tconst page = array.slice(\n\t\t\t( view.page - 1 ) * view.perPage,\n\t\t\tview.page * view.perPage\n\t\t);\n\t\treturn page;\n\t};\n\n\tconst filterData = () => {\n\t\tif ( 'keys' === view.sort.field ) {\n\t\t\tsortKeys();\n\t\t} else {\n\t\t\tsortData();\n\t\t}\n\t};\n\n\tconst sortKeys = () => {\n\t\tif ( 'desc' === view.sort.direction ) {\n\t\t\tdata.sort( ( a, b ) => b.keys.localeCompare( a.keys ) );\n\t\t} else {\n\t\t\tdata.sort( ( a, b ) => a.keys.localeCompare( b.keys ) );\n\t\t}\n\t};\n\n\tconst sortData = () => {\n\t\tif ( 'desc' === view.sort.direction ) {\n\t\t\tdata.sort(\n\t\t\t\t( a, b ) => a[ view.sort.field ] - b[ view.sort.field ]\n\t\t\t);\n\t\t} else {\n\t\t\tdata.sort(\n\t\t\t\t( a, b ) => b[ view.sort.field ] - a[ view.sort.field ]\n\t\t\t);\n\t\t}\n\t};\n\n\tconst normalizeData = ( array ) => {\n\t\treturn array.map( ( item ) => {\n\t\t\treturn { ...item, keys: item.keys[ 0 ] };\n\t\t} );\n\t};\n\n\tconst fields = [\n\t\t{\n\t\t\tid: 'keys',\n\t\t\theader: 'Query',\n\t\t\tenableHiding: false,\n\t\t\trender: ( { item } ) => {\n\t\t\t\tif ( query.dimensions.includes( 'country' ) ) {\n\t\t\t\t\treturn Countries[ item.keys ];\n\t\t\t\t}\n\t\t\t\treturn item.keys;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'clicks',\n\t\t\theader: 'Clicks',\n\t\t\tenableHiding: false,\n\t\t\trender: ( { item } ) => {\n\t\t\t\treturn item.clicks;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'ctr',\n\t\t\theader: 'CTR',\n\t\t\trender: ( { item } ) => {\n\t\t\t\treturn ( item.ctr * 100 ).toFixed( 2 ) + '%';\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'impressions',\n\t\t\theader: 'Impressions',\n\t\t\trender: ( { item } ) => {\n\t\t\t\treturn item.impressions;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'position',\n\t\t\theader: 'Position',\n\t\t\trender: ( { item } ) => {\n\t\t\t\treturn Math.round( item.position * 100 ) / 100;\n\t\t\t},\n\t\t},\n\t];\n\n\tconst paginationInfo = useMemo(\n\t\t() => ( {\n\t\t\ttotalItems: data.length,\n\t\t\ttotalPages: Math.ceil( data.length / view.perPage ),\n\t\t} ),\n\t\t[ data, view.perPage ]\n\t);\n\n\treturn (\n\t\t<div className=\"search-console-table-wrapper\">\n\t\t\t<div className=\"search-console-table-bar\">\n\t\t\t\t<Dimensions />\n\t\t\t</div>\n\t\t\t<DataViews\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tdata={ paginateArray( data ) }\n\t\t\t\tfields={ fields }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ setView }\n\t\t\t\tgetItemId={ ( item ) => item.keys }\n\t\t\t\tsupportedLayouts={ [ 'table' ] }\n\t\t\t\tsearch={ false }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { useState, useContext } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tModal,\n\tFlex,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport Device from '../modals/device';\nimport Country from '../modals/country';\nimport Page from '../modals/page';\nimport Query from '../modals/query';\nimport { SettingsContext } from '../../../context/settings-context';\n\nexport function MyModal( props ) {\n\tconst { onRequestClose, modal, title } = props;\n\tconst { query, updateQuery } = useContext( SettingsContext );\n\n\tconst [ filter, setFilter ] = useState( modal );\n\n\tconst [ searchType, setSearchType ] = useState( query.searchType );\n\n\tconst handleChange = ( expression, operator ) => {\n\t\tif ( 'searchType' === modal.dimension ) {\n\t\t\tsetSearchType( expression );\n\t\t} else {\n\t\t\tsetFilter( {\n\t\t\t\tdimension: modal.dimension,\n\t\t\t\texpression,\n\t\t\t\toperator,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst saveChange = () => {\n\t\tif ( 'searchType' === modal.dimension ) {\n\t\t\tupdateQuery( 'searchType', searchType );\n\t\t} else {\n\t\t\tconst dimensions = [ ...query.dimensionFilterGroups ];\n\n\t\t\tconst filtersArr = dimensions.map( ( dimension ) => {\n\t\t\t\treturn dimension.filters;\n\t\t\t} );\n\n\t\t\tlet filters = filtersArr.shift() || [];\n\n\t\t\tif ( ! filters.length ) {\n\t\t\t\tfilters.push( filter );\n\t\t\t} else {\n\t\t\t\tconst match = filters.find(\n\t\t\t\t\t( f ) => f.dimension === filter.dimension\n\t\t\t\t);\n\t\t\t\t// if not found we push\n\t\t\t\tif ( ! match ) {\n\t\t\t\t\tfilters.push( filter );\n\t\t\t\t}\n\t\t\t\tif ( match ) {\n\t\t\t\t\tfilters = filters.map( ( item ) =>\n\t\t\t\t\t\titem.dimension === filter.dimension ? filter : item\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\tupdateQuery( 'dimensionFilterGroups', [ { filters } ] );\n\t\t}\n\t\tonRequestClose();\n\t};\n\n\tconst modals = {\n\t\tdevice: Device,\n\t\tcountry: Country,\n\t\tpage: Page,\n\t\tquery: Query,\n\t};\n\n\tconst ModalFilter = modals[ modal.dimension ];\n\n\treturn (\n\t\t<Modal title={ title } onRequestClose={ onRequestClose }>\n\t\t\t<VStack>\n\t\t\t\t<div className={ 'search-console-modal-container' }>\n\t\t\t\t\t<ModalFilter\n\t\t\t\t\t\thandleChange={ handleChange }\n\t\t\t\t\t\tsearchType={ searchType }\n\t\t\t\t\t\tfilter={ filter }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<Flex>\n\t\t\t\t\t<Button isDestructive={ true } onClick={ onRequestClose }>\n\t\t\t\t\t\t{ __( 'Cancel', 'search-console' ) }\n\t\t\t\t\t</Button>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ saveChange }\n\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t'searchType' === modal.dimension\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: ! filter?.expression\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Save', 'search-console' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Flex>\n\t\t\t</VStack>\n\t\t</Modal>\n\t);\n}\n","import { Spinner } from '@wordpress/components';\n\nexport default function LoadingSpinner( { text } ) {\n\treturn (\n\t\t<div className=\"loading-settings\">\n\t\t\t<Spinner />\n\t\t\t<span className=\"description\">{ text }</span>\n\t\t</div>\n\t);\n}\n","import { TextControl, Card, CardBody, CardHeader } from '@wordpress/components';\n\nimport { __, sprintf } from '@wordpress/i18n';\nimport { RawHTML, useContext } from '@wordpress/element';\nimport { SettingsContext } from '../../context/settings-context';\n\nconst Credentials = () => {\n\tconst { settings, updateSetting } = useContext( SettingsContext );\n\n\tfunction setCredentials( key, val ) {\n\t\tconst credentials = Object.assign( {}, settings.credentials );\n\t\tcredentials[ key ] = val;\n\n\t\tupdateSetting( 'credentials', credentials );\n\t}\n\n\tconst authUrl = sprintf(\n\t\t'https://developers.google.com/web/site-kit?sitename=%1$s&siteurl=%2$s',\n\t\tsettings.title,\n\t\tsettings.wp_url\n\t);\n\n\treturn (\n\t\t<Card>\n\t\t\t<CardHeader>\n\t\t\t\t<b>{ __( 'Google Credentials', 'search-console' ) }</b>\n\t\t\t</CardHeader>\n\n\t\t\t<CardBody>\n\t\t\t\t<RawHTML>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: Developer console url. */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'<p>You need to create a <a target=\"_blank\" href=\"%1$s\">Google Developer Console</a> account before proceeding to authorization.</p>' +\n\t\t\t\t\t\t\t\t'<p>Create a project from Google Developers Console if none exists.</p>' +\n\t\t\t\t\t\t\t\t'<p>Go to Credentials tab, then create credential for OAuth client.</p>' +\n\t\t\t\t\t\t\t\t'Application type will be Web Application. Add <code>%2$s</code> in Authorized redirect URIs. This will give you Client ID and Client Secret key.<p>',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t`https://console.developers.google.com/`,\n\t\t\t\t\t\tsettings.wp_url\n\t\t\t\t\t) }\n\t\t\t\t</RawHTML>\n\n\t\t\t\t<RawHTML>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: Google Site Kit url. */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'<p><b>Tip</b>: the simplest way to get your own credentials is to go to <a target=\"_blank\" href=\"%s\">Google Site Kit</a> site and follow step. Don\\'t forget to add your site url as authorized Javascript origin.</p>',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tauthUrl\n\t\t\t\t\t) }\n\t\t\t\t</RawHTML>\n\n\t\t\t\t<TextControl\n\t\t\t\t\tplaceholder={ 'CLIENT ID' }\n\t\t\t\t\tvalue={ settings?.credentials?.client_id ?? '' }\n\t\t\t\t\tlabel={ __( 'Client ID', 'search-console' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Please go to Developer Console to obtain your credentials.',\n\t\t\t\t\t\t'search-console'\n\t\t\t\t\t) }\n\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\tsetCredentials( 'client_id', val );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tplaceholder={ 'CLIENT SECRET' }\n\t\t\t\t\tvalue={ settings?.credentials?.client_secret ?? '' }\n\t\t\t\t\tlabel={ __( 'Client secret', 'search-console' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Please go to Developer Console to obtain your credentials.',\n\t\t\t\t\t\t'search-console'\n\t\t\t\t\t) }\n\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\tsetCredentials( 'client_secret', val );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</CardBody>\n\t\t</Card>\n\t);\n};\n\nexport default Credentials;\n","import { Notice, Card, CardBody, CardHeader } from '@wordpress/components';\n\nimport { __ } from '@wordpress/i18n';\n\nimport { useContext } from '@wordpress/element';\nimport { SettingsContext } from '../../context/settings-context';\n\nimport GoogleOauthButton from './oauth-button';\nimport { GoogleOAuthProvider } from '@react-oauth/google';\n\nconst GoogleOAuth = ( props ) => {\n\tconst { settings } = useContext( SettingsContext );\n\n\treturn (\n\t\t<Card>\n\t\t\t<CardHeader>\n\t\t\t\t<b>{ __( 'Google Oauth', 'search-console' ) }</b>\n\t\t\t</CardHeader>\n\n\t\t\t<CardBody>\n\t\t\t\t{ ( ! settings?.credentials?.client_id?.length ||\n\t\t\t\t\t! settings?.credentials?.client_secret?.length ) && (\n\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'You must insert a Client Id and a Client secret to correctly request your authentication token.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Notice>\n\t\t\t\t) }\n\t\t\t\t{ settings?.credentials?.client_id &&\n\t\t\t\t\tsettings?.credentials?.client_secret && (\n\t\t\t\t\t\t<GoogleOAuthProvider\n\t\t\t\t\t\t\tclientId={ settings?.credentials?.client_id }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<GoogleOauthButton { ...props } />\n\t\t\t\t\t\t</GoogleOAuthProvider>\n\t\t\t\t\t) }\n\t\t\t</CardBody>\n\t\t</Card>\n\t);\n};\n\nexport default GoogleOAuth;\n","import {\n\tCard,\n\tCardHeader,\n\tCardBody,\n\tExternalLink,\n\tButton,\n} from '@wordpress/components';\nimport Ads from '../ads';\n\nimport { __ } from '@wordpress/i18n';\n\nexport default function Help() {\n\treturn (\n\t\t<>\n\t\t\t\t<Ads direction=\"column\" />\n\t\t\t<Card>\n\t\t\t\t<CardHeader>\n\t\t\t\t\t<b>{ __( 'Need help?', 'search-console' ) }</b>\n\t\t\t\t</CardHeader>\n\n\t\t\t\t<CardBody>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Detailed documentation is available on the plugin website.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t<ExternalLink href=\"https://www.francescopepe.com/docs/search-console\">\n\t\t\t\t\t\t{ __( 'Documentation', 'search-console' ) }\n\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'We would love to help you out if you need any help.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t<ExternalLink href=\"https://wordpress.org/support/plugin/search-console/\">\n\t\t\t\t\t\t{ __( 'Ask a question', 'search-console' ) }\n\t\t\t\t\t</ExternalLink>\n\t\t\t\t</CardBody>\n\t\t\t</Card>\n\t\t\t<Card className=\"ads-container__reviews\">\n\t\t\t\t<CardHeader>\n\t\t\t\t\t<b>{ __( 'Do you like the plugin?', 'search-console' ) }</b>\n\t\t\t\t</CardHeader>\n\n\t\t\t\t<CardBody>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'If you like search-console plugin you can share a review to help us and spread some love!',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<ExternalLink href=\"https://wordpress.org/support/plugin/search-console/reviews/#new-post\">\n\t\t\t\t\t\t{ __( 'Rate 5 stars!', 'search-console' ) }\n\t\t\t\t\t</ExternalLink>\n\t\t\t\t</CardBody>\n\t\t\t</Card>\n\t\t</>\n\t);\n}\n","import { Button, Notice } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { Fragment, useState, useContext } from '@wordpress/element';\nimport apiFetch from '@wordpress/api-fetch';\nimport { SettingsContext } from '../../context/settings-context';\nimport { hasGrantedAnyScopeGoogle, useGoogleLogin } from '@react-oauth/google';\n\nconst GoogleOauthButton = () => {\n\tconst { updateSetting, settings, revokeToken } =\n\t\tuseContext( SettingsContext );\n\n\tconst [ message, setMessage ] = useState( false );\n\n\tconst googleLogin = useGoogleLogin( {\n\t\tflow: 'auth-code',\n\t\tonSuccess: async ( { code } ) => {\n\t\t\tgetToken( code );\n\t\t},\n\t\tscope: 'https://www.googleapis.com/auth/webmasters.readonly https://www.googleapis.com/auth/siteverification email',\n\t} );\n\n\tconst hasAccess = hasGrantedAnyScopeGoogle(\n\t\twindow.search_console.token,\n\t\t'https://www.googleapis.com/auth/webmasters.readonly'\n\t);\n\n\tconst getToken = ( code ) => {\n\t\tapiFetch( {\n\t\t\tpath: '/searchconsole/v1/credentials',\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\tcode,\n\t\t\t},\n\t\t} )\n\t\t\t.then( ( result ) => {\n\t\t\t\tupdateSetting( 'token', result );\n\t\t\t\tsetMessage( {\n\t\t\t\t\tstatus: 'success',\n\t\t\t\t\ttext: __( \"You're logged in\", 'search-console' ),\n\t\t\t\t} );\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tsetMessage( {\n\t\t\t\t\tstatus: 'error',\n\t\t\t\t\ttext: error.message,\n\t\t\t\t} );\n\t\t\t} )\n\t\t\t.finally( () => console.log( 'Success' ) );\n\t};\n\n\tconst getEmail = () => {\n\t\tif ( settings.token.id_token ) {\n\t\t\treturn JSON.parse(\n\t\t\t\tatob( settings.token.id_token.split( '.' )[ 1 ] )\n\t\t\t).email;\n\t\t}\n\t\treturn null;\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => googleLogin() }\n\t\t\t\ticon={ 'google' }\n\t\t\t>\n\t\t\t\t{ getEmail() || __( 'Login with Google', 'search-console' ) }\n\t\t\t</Button>\n\t\t\t{ settings.token.id_token && (\n\t\t\t\t<p>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttext={ __( 'Revoke token', 'search-console' ) }\n\t\t\t\t\t\tonClick={ () => revokeToken() }\n\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\tisSmall\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t{ message && (\n\t\t\t\t<Notice status={ message.status } isDismissible={ false }>\n\t\t\t\t\t{ message.text }\n\t\t\t\t</Notice>\n\t\t\t) }\n\t\t</Fragment>\n\t);\n};\n\nexport default GoogleOauthButton;\n","import { useSelect } from '@wordpress/data';\nimport { ToggleControl } from '@wordpress/components';\nimport { Fragment, useContext } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { SettingsContext } from '../../context/settings-context';\n\nexport default function PostTypeSelection() {\n\tconst { settings, updateSetting, saveSettings } =\n\t\tuseContext( SettingsContext );\n\n\t// useSelect to retrieve all post types\n\tconst postTypes = useSelect(\n\t\t( select ) => select( coreStore ).getPostTypes( { per_page: -1 } ),\n\t\t[]\n\t);\n\n\tconst addPostType = ( val ) => {\n\t\tupdateSetting( 'postTypes', [ ...settings.postTypes, val ] );\n\t\tsaveSettings();\n\t};\n\n\tconst removePostType = ( val ) => {\n\t\tconst filteredArray = settings.postTypes.filter(\n\t\t\t( item ) => item !== val\n\t\t);\n\t\tupdateSetting( 'postTypes', filteredArray );\n\t\tsaveSettings();\n\t};\n\n\t// Options expects [{label: ..., value: ...}]\n\tconst postTypeOptions = ! Array.isArray( postTypes )\n\t\t? postTypes\n\t\t: postTypes\n\t\t\t\t.filter(\n\t\t\t\t\t// Filter out internal WP post types eg: wp_block, wp_navigation, wp_template, wp_template_part..\n\t\t\t\t\t( postType ) => postType.viewable\n\t\t\t\t)\n\t\t\t\t.map(\n\t\t\t\t\t// Format the options for display in the <SelectControl/>\n\t\t\t\t\t( postType ) => ( {\n\t\t\t\t\t\tlabel: postType.labels.singular_name,\n\t\t\t\t\t\tvalue: postType.slug, // the value saved as postType in attributes\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Choose on which post type you want see Search Console data.',\n\t\t\t\t\t'search-console'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t{ postTypeOptions &&\n\t\t\t\tpostTypeOptions.map( ( postType, i ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tlabel={ postType.label }\n\t\t\t\t\t\t\tchecked={ settings.postTypes.includes(\n\t\t\t\t\t\t\t\tpostType.value\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\t\t\t\taddPostType( postType.value );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tremovePostType( postType.value );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t</Fragment>\n\t);\n}\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Animate, Button, Flex } from '@wordpress/components';\nimport { useState, useContext } from '@wordpress/element';\n\nimport { cloud, Icon } from '@wordpress/icons';\nimport { SettingsContext } from '../../context/settings-context';\n\nexport default function SaveButton() {\n\tconst [ status ] = useState( 'saved' );\n\n\tconst { isSaving, saveSettings, hasEdits } = useContext( SettingsContext );\n\n\treturn (\n\t\t<>\n\t\t\t<Flex justify=\"flex-start\">\n\t\t\t\t<Button\n\t\t\t\t\tclassName={ 'save-settings__save-button' }\n\t\t\t\t\tonClick={ () => saveSettings() }\n\t\t\t\t\tdisabled={ isSaving || ! hasEdits }\n\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Save', 'search-console' ) }\n\t\t\t\t</Button>\n\t\t\t\t{ [\n\t\t\t\t\tisSaving && (\n\t\t\t\t\t\t<Animate type=\"loading\" key=\"saving\">\n\t\t\t\t\t\t\t{ ( { className: animateClassName } ) => (\n\t\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'message',\n\t\t\t\t\t\t\t\t\t\tanimateClassName\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tgap={ 1 }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Icon icon={ cloud } />\n\t\t\t\t\t\t\t\t\t{ __( 'Saving', 'block-visibility' ) }\n\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Animate>\n\t\t\t\t\t),\n\t\t\t\t\tstatus === 'error' && (\n\t\t\t\t\t\t<span className=\"message update-failed\" key=\"error\">\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Update failed. Try again or get in touch with support.',\n\t\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t),\n\t\t\t\t] }\n\t\t\t</Flex>\n\t\t</>\n\t);\n}\n","import {\n\tCard,\n\tCardBody,\n\tCardHeader,\n\tSelectControl,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useContext, useEffect, useState } from '@wordpress/element';\nimport Verification from './verification';\nimport PostTypeSelection from './post-type-selection';\nimport { SettingsContext } from '../../context/settings-context';\n\nconst SiteSelect = ( props ) => {\n\tconst { settings, updateSetting, refreshToken, saveSettings } =\n\t\tuseContext( SettingsContext );\n\tconst [ sites, setSites ] = useState( null );\n\n\tuseEffect( () => {\n\t\tif ( settings.token.access_token ) getSites();\n\t}, [ settings.token ] );\n\n\tconst getSites = () => {\n\t\tconst options = [\n\t\t\t{ value: '', label: __( 'Select a site', 'search-console' ) },\n\t\t];\n\n\t\twindow.gapi?.client?.setToken( settings.token );\n\n\t\twindow.gapi?.client?.webmasters?.sites\n\t\t\t.list()\n\t\t\t.then( ( s ) => {\n\t\t\t\ts.result.siteEntry.forEach( ( site ) => {\n\t\t\t\t\toptions.push( {\n\t\t\t\t\t\tvalue: site.siteUrl,\n\t\t\t\t\t\tlabel: site.siteUrl,\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t\toptions.sort( function ( a, b ) {\n\t\t\t\t\tif ( a.value < b.value ) {\n\t\t\t\t\t\treturn -1;\n\t\t\t\t\t}\n\t\t\t\t\treturn 0;\n\t\t\t\t} );\n\t\t\t\tsetSites( options.sort() );\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tif ( 401 === error.status ) {\n\t\t\t\t\trefreshToken();\n\t\t\t\t}\n\t\t\t} );\n\t};\n\n\treturn (\n\t\t<Card>\n\t\t\t<CardHeader>\n\t\t\t\t<b>{ __( 'Options', 'search-console' ) }</b>\n\t\t\t</CardHeader>\n\n\t\t\t<CardBody>\n\t\t\t\t<SelectControl\n\t\t\t\t\toptions={ sites }\n\t\t\t\t\tlabel={ __( 'Choose site', 'search-console' ) }\n\t\t\t\t\thelp={ __( 'Choose one of your sites.', 'search-console' ) }\n\t\t\t\t\tvalue={ settings.site }\n\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\tupdateSetting( 'site', val );\n\t\t\t\t\t\tsaveSettings();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\n\t\t\t\t<PostTypeSelection { ...props } />\n\n\t\t\t\t<Verification { ...props } />\n\t\t\t</CardBody>\n\t\t</Card>\n\t);\n};\n\nexport default SiteSelect;\n","import {\n\tButton,\n\tToggleControl,\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalInputControl as InputControl,\n} from '@wordpress/components';\n\nimport { __ } from '@wordpress/i18n';\n\nimport { Fragment, useContext } from '@wordpress/element';\nimport { SettingsContext } from '../../context/settings-context';\n\nconst Verification = () => {\n\tconst { settings, updateSetting, refreshToken, saveSettings } =\n\t\tuseContext( SettingsContext );\n\n\tconst getMeta = () => {\n\t\tif ( settings.siteVerification && settings.site ) {\n\t\t\twindow.gapi.client.load( 'siteVerification', 'v1' ).then( () => {\n\t\t\t\twindow.gapi.client.siteVerification.webResource\n\t\t\t\t\t.getToken( {\n\t\t\t\t\t\tverificationMethod: 'META',\n\t\t\t\t\t\tsite: {\n\t\t\t\t\t\t\tidentifier: settings.site.replace(\n\t\t\t\t\t\t\t\t'sc-domain:',\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttype: 'SITE',\n\t\t\t\t\t\t},\n\t\t\t\t\t} )\n\t\t\t\t\t.then( ( r ) => {\n\t\t\t\t\t\tupdateSetting( 'meta', r.result.token );\n\t\t\t\t\t\tsaveSettings();\n\t\t\t\t\t} )\n\t\t\t\t\t.catch( ( error ) => {\n\t\t\t\t\t\tif ( 401 === error.status ) {\n\t\t\t\t\t\t\trefreshToken();\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t} );\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"search-console-Advanced\">\n\t\t\t{ settings.site && (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Do you want to add meta tag verification on your site?',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t'Add verification to site?',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Check this if you want output meta verification on frontend.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ settings.siteVerification }\n\t\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\t\tupdateSetting( 'siteVerification', val );\n\t\t\t\t\t\t\tsaveSettings();\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</Fragment>\n\t\t\t) }\n\t\t\t{ settings.siteVerification && (\n\t\t\t\t<InputControl\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Please click on icon to generate your meta verification tag.',\n\t\t\t\t\t\t'search-console'\n\t\t\t\t\t) }\n\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t'Your meta verification tag',\n\t\t\t\t\t\t'search-console'\n\t\t\t\t\t) }\n\t\t\t\t\tvalue={ settings.meta }\n\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\tupdateSetting( 'meta', val );\n\t\t\t\t\t} }\n\t\t\t\t\tsuffix={ <Button onClick={ getMeta } icon={ 'update' } /> }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport default Verification;\n","import { useState, createContext, useEffect } from '@wordpress/element';\nimport apiFetch from '@wordpress/api-fetch';\nimport { dateI18n } from '@wordpress/date';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore, useEntityProp } from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useHistory } from '../router';\n\nexport const SettingsContext = createContext();\n\nfunction SettingsContextProvider( props ) {\n\tconst defaultQuery = {\n\t\tcustomDate: false,\n\t\ttype: 'web',\n\t\tstartDate: dateI18n(\n\t\t\t'Y-m-d',\n\t\t\tnew Date().setDate( new Date().getDate() - 29 )\n\t\t),\n\t\tendDate: dateI18n(\n\t\t\t'Y-m-d',\n\t\t\tnew Date().setDate( new Date().getDate() - 1 )\n\t\t),\n\t\tdimensions: [ 'QUERY' ],\n\t\tfields: 'rows',\n\t\tdimensionFilterGroups: [\n\t\t\t/*{\n\t\t\t\tfilters: [],\n\t\t\t},*/\n\t\t],\n\t};\n\n\tconst [ ready, setReady ] = useState( false );\n\tconst [ query, setQuery ] = useState( defaultQuery );\n\tconst [ email, setEmail ] = useState( false );\n\n\tconst history = useHistory();\n\n\tconst [ settings, setSettings ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'search_console'\n\t);\n\n\tconst { saveEditedEntityRecord } = useDispatch( coreStore );\n\tconst { createNotice } = useDispatch( noticesStore );\n\n\tconst saveSettings = async () => {\n\t\treturn saveEditedEntityRecord( 'root', 'site' )\n\t\t\t.then( () => {\n\t\t\t\tcreateNotice(\n\t\t\t\t\t'info',\n\t\t\t\t\t'🎯 ' + __( 'Settings saved.', 'formello' ),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tcreateNotice( 'error', '⚠️ ' + error.message, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\texplicitDismiss: true,\n\t\t\t\t} );\n\t\t\t} );\n\t};\n\n\tconst showError = ( error ) => {\n\t\tif ( 401 !== error.status ) {\n\t\t\tcreateNotice( 'error', '⚠️ ' + error.result.error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\texplicitDismiss: true,\n\t\t\t} );\n\t\t}\n\t\tif ( 401 === error.status ) {\n\t\t\trefreshToken();\n\t\t}\n\t};\n\n\tconst { isSaving, hasEdits } = useSelect(\n\t\t( select ) => ( {\n\t\t\tisSaving: select( coreStore ).isSavingEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'site'\n\t\t\t),\n\t\t\thasEdits: select( coreStore ).hasEditsForEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'site',\n\t\t\t\tundefined,\n\t\t\t\t'search_console'\n\t\t\t),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst refreshToken = () => {\n\t\tapiFetch( {\n\t\t\tpath: '/searchconsole/v1/refresh',\n\t\t\tmethod: 'POST',\n\t\t} )\n\t\t\t.then( ( result ) => {\n\t\t\t\tsetSettings( {\n\t\t\t\t\t...settings,\n\t\t\t\t\ttoken: result,\n\t\t\t\t} );\n\t\t\t\twindow.gapi.client.setToken( result );\n\t\t\t\tloadSearchConsole();\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log( error );\n\t\t\t\tcreateNotice(\n\t\t\t\t\t'error',\n\t\t\t\t\t'⚠️ ' + error.message.error_description,\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\texplicitDismiss: true,\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: 'Reauthenticate on settings page',\n\t\t\t\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\t\t\tpage: 'search-console-settings',\n\t\t\t\t\t\t\t\t\t} ), // styled as a button link\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\t};\n\n\tconst revokeToken = () => {\n\t\tapiFetch( {\n\t\t\tpath: '/searchconsole/v1/revoke',\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\ttoken: settings.token.refresh_token,\n\t\t\t},\n\t\t} ).then( () => {\n\t\t\tupdateSetting( 'token', {\n\t\t\t\taccess_token: '',\n\t\t\t\texpires_in: 3600,\n\t\t\t\tid_token: '',\n\t\t\t\trefresh_token: '',\n\t\t\t\tscope: '',\n\t\t\t\ttoken_type: '',\n\t\t\t} );\n\t\t\tsetEmail( false );\n\t\t} );\n\t};\n\n\tconst updateSetting = ( key, value ) => {\n\t\tsetSettings( { ...settings, [ key ]: value } );\n\t};\n\n\tconst updateQuery = ( key, value ) => {\n\t\tsetQuery( { ...query, [ key ]: value } );\n\t};\n\n\tuseEffect( () => {\n\t\tconst handleClientLoad = async () =>\n\t\t\tawait window.gapi.load( 'client', loadSearchConsole );\n\n\t\tconst script = document.createElement( 'script' );\n\n\t\tscript.src = 'https://apis.google.com/js/api.js';\n\t\tscript.async = true;\n\t\tscript.defer = true;\n\t\tscript.onload = handleClientLoad;\n\n\t\tdocument.body.appendChild( script );\n\n\t\treturn () => {\n\t\t\tdocument.body.removeChild( script );\n\t\t};\n\t}, [] );\n\n\tconst loadSearchConsole = () => {\n\t\twindow.gapi.client.setToken( window.search_console.token );\n\t\twindow.gapi.client.load( 'searchconsole', 'v1' ).then( () => {\n\t\t\tcheck();\n\t\t} );\n\t};\n\n\tconst check = () => {\n\t\tsetReady( true );\n\t};\n\n\treturn (\n\t\t<SettingsContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tquery,\n\t\t\t\tupdateQuery,\n\t\t\t\tsettings,\n\t\t\t\tupdateSetting,\n\t\t\t\tsetSettings,\n\t\t\t\tsaveSettings,\n\t\t\t\tisSaving,\n\t\t\t\tready,\n\t\t\t\trefreshToken,\n\t\t\t\trevokeToken,\n\t\t\t\temail,\n\t\t\t\thasEdits,\n\t\t\t\tshowError,\n\t\t\t} }\n\t\t>\n\t\t\t{ props.children }\n\t\t</SettingsContext.Provider>\n\t);\n}\n\nexport default SettingsContextProvider;\n","import { createRoot, useEffect } from '@wordpress/element';\nimport { SnackbarList } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\nimport { RouterProvider, useLocation, useHistory } from './router';\nimport { getQueryArg } from '@wordpress/url';\n\nimport './style.scss';\nimport './store';\n\nimport Dashboard from './routes/dashboard';\nimport Settings from './routes/settings';\nimport Header from './components/Header';\nimport Footer from './components/Footer';\nimport SettingsContextProvider from './context/settings-context';\nimport { GoogleOAuthProvider } from '@react-oauth/google';\n\nconst Router = () => {\n\tconst history = useHistory();\n\tconst { params } = useLocation();\n\n\tconst menuRoot = document.querySelector( '#toplevel_page_search-console' );\n\tconst reset = () => {\n\t\tconst page = getQueryArg( window.location.href, 'page' );\n\t\tif ( ! page ) {\n\t\t\treturn;\n\t\t}\n\t\tfor ( const child of menuRoot.querySelectorAll( 'a' ) ) {\n\t\t\tconst target = getQueryArg( child.href, 'page' );\n\t\t\tif ( page === target ) {\n\t\t\t\tchild.classList.add( 'current' );\n\t\t\t\tchild.parentElement.classList.add( 'current' );\n\t\t\t} else {\n\t\t\t\tchild.classList.remove( 'current' );\n\t\t\t\tchild.parentElement.classList.remove( 'current' );\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleChange = ( e ) => {\n\t\te.preventDefault();\n\n\t\thistory.push( {\n\t\t\tpage: getQueryArg( e.target.href, 'page' ),\n\t\t} );\n\t\treset();\n\t};\n\n\tuseEffect( () => {\n\t\treset();\n\t\tmenuRoot.addEventListener( 'click', handleChange, false );\n\n\t\treturn () => {\n\t\t\tmenuRoot.removeEventListener( 'click', handleChange );\n\t\t};\n\t}, [] );\n\n\thistory.listen( () => {\n\t\treset();\n\t} );\n\n\tif ( 'search-console-settings' === params.page ) {\n\t\treturn <Settings />;\n\t}\n\treturn <Dashboard />;\n};\n\nconst App = () => {\n\treturn (\n\t\t<GoogleOAuthProvider>\n\t\t\t<RouterProvider>\n\t\t\t\t<Header title={ 'Search Console' } />\n\t\t\t\t<SettingsContextProvider>\n\t\t\t\t\t<Router />\n\t\t\t\t\t<Notifications />\n\t\t\t\t</SettingsContextProvider>\n\t\t\t\t<Footer />\n\t\t\t</RouterProvider>\n\t\t</GoogleOAuthProvider>\n\t);\n};\n\nfunction Notifications() {\n\tconst notices = useSelect(\n\t\t( select ) => select( noticesStore ).getNotices(),\n\t\t[]\n\t);\n\tconst { removeNotice } = useDispatch( noticesStore );\n\tconst snackbarNotices = notices.filter(\n\t\t( { type } ) => type === 'snackbar'\n\t);\n\n\treturn (\n\t\t<SnackbarList notices={ snackbarNotices } onRemove={ removeNotice } />\n\t);\n}\n\nwindow.addEventListener( 'DOMContentLoaded', () => {\n\tconst domNode = document.getElementById( 'search-console-wrapper' );\n\tconst root = createRoot( domNode );\n\n\troot.render( <App /> );\n} );\n","/**\n * External dependencies\n */\nimport { createBrowserHistory } from 'history';\n\n/**\n * WordPress dependencies\n */\nimport { addQueryArgs, getQueryArgs, removeQueryArgs } from '@wordpress/url';\n\nconst history = createBrowserHistory();\n\nconst originalHistoryPush = history.push;\nconst originalHistoryReplace = history.replace;\n\nfunction push( params, state ) {\n\tconst currentArgs = getQueryArgs( window.location.href );\n\tconst currentUrlWithoutArgs = removeQueryArgs(\n\t\twindow.location.href,\n\t\t...Object.keys( currentArgs )\n\t);\n\tconst newUrl = addQueryArgs( currentUrlWithoutArgs, params );\n\treturn originalHistoryPush.call( history, newUrl, state );\n}\n\nfunction replace( params, state ) {\n\tconst currentArgs = getQueryArgs( window.location.href );\n\tconst currentUrlWithoutArgs = removeQueryArgs(\n\t\twindow.location.href,\n\t\t...Object.keys( currentArgs )\n\t);\n\tconst newUrl = addQueryArgs( currentUrlWithoutArgs, params );\n\treturn originalHistoryReplace.call( history, newUrl, state );\n}\n\nhistory.push = push;\nhistory.replace = replace;\n\nexport default history;\n","/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseState,\n\tuseEffect,\n\tuseContext,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport history from './history';\n\nconst RoutesContext = createContext();\nconst HistoryContext = createContext();\n\nexport function useLocation() {\n\treturn useContext( RoutesContext );\n}\n\nexport function useHistory() {\n\treturn useContext( HistoryContext );\n}\n\nfunction getLocationWithParams( location ) {\n\tconst searchParams = new URLSearchParams( location.search );\n\treturn {\n\t\t...location,\n\t\tparams: Object.fromEntries( searchParams.entries() ),\n\t};\n}\n\nexport function RouterProvider( { children } ) {\n\tconst [ location, setLocation ] = useState( () =>\n\t\tgetLocationWithParams( history.location )\n\t);\n\n\tuseEffect( () => {\n\t\treturn history.listen( ( { location: updatedLocation } ) => {\n\t\t\tsetLocation( getLocationWithParams( updatedLocation ) );\n\t\t} );\n\t}, [] );\n\n\treturn (\n\t\t<HistoryContext.Provider value={ history }>\n\t\t\t<RoutesContext.Provider value={ location }>\n\t\t\t\t{ children }\n\t\t\t</RoutesContext.Provider>\n\t\t</HistoryContext.Provider>\n\t);\n}","import { __ } from '@wordpress/i18n';\nimport {\n\tCard,\n\tCardBody,\n\tNotice,\n\tButton,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useContext, createInterpolateElement } from '@wordpress/element';\nimport LoadingSpinner from '../components/loading-spinner.js';\nimport { MyChart } from '../components/dashboard/chart/index.js';\nimport { Table } from '../components/dashboard/table/index.js';\nimport { Filters } from '../components/dashboard/table/filters.js';\nimport Ads from '../components/ads/index';\nimport { SettingsContext } from '../context/settings-context';\nimport { useHistory } from '../router';\n\nconst Dashboard = () => {\n\tconst history = useHistory();\n\tconst { settings, ready } = useContext( SettingsContext );\n\n\tif ( ! ready || ! settings ) {\n\t\treturn (\n\t\t\t<LoadingSpinner text={ __( 'Fetching data…', 'search-console' ) } />\n\t\t);\n\t}\n\n\tconst noticeString = ( text ) =>\n\t\tcreateInterpolateElement( text, {\n\t\t\ta: (\n\t\t\t\t<Button\n\t\t\t\t\ttext={ __( 'settings page', 'search-console' ) }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\thistory.push( { page: 'search-console-settings' } )\n\t\t\t\t\t}\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t/>\n\t\t\t),\n\t\t} );\n\n\tif ( ! settings.token || ! settings.token.refresh_token ) {\n\t\treturn (\n\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t<p>\n\t\t\t\t\t{ noticeString(\n\t\t\t\t\t\t__( 'Please authenticate on <a />.', 'search-console' )\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</Notice>\n\t\t);\n\t}\n\n\tif (\n\t\t! settings.credentials.client_secret ||\n\t\t! settings.credentials.client_id\n\t) {\n\t\treturn (\n\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t<p>\n\t\t\t\t\t{ noticeString(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Please provide a Client Secret and a Client ID on <a />.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</Notice>\n\t\t);\n\t}\n\n\tif ( ! settings.site ) {\n\t\treturn (\n\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t<p>\n\t\t\t\t\t{ noticeString(\n\t\t\t\t\t\t__( 'Please select a site on <a />.', 'search-console' )\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</Notice>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className={ 'search-console-dashboard' }>\n\t\t\t<VStack>\n\t\t\t\t<Card>\n\t\t\t\t\t<CardBody>\n\t\t\t\t\t\t<MyChart />\n\t\t\t\t\t</CardBody>\n\t\t\t\t</Card>\n\t\t\t\t<Card>\n\t\t\t\t\t<CardBody>\n\t\t\t\t\t\t<Filters />\n\t\t\t\t\t</CardBody>\n\t\t\t\t</Card>\n\t\t\t\t<Ads noSlide={ true } />\n\t\t\t\t<Card>\n\t\t\t\t\t<CardBody>\n\t\t\t\t\t\t<Table />\n\t\t\t\t\t</CardBody>\n\t\t\t\t</Card>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n};\n\nexport default Dashboard;\n","import { __ } from '@wordpress/i18n';\nimport GoogleOAuth from '../components/settings/google-oauth';\nimport Credentials from '../components/settings/credentials';\nimport Help from '../components/settings/help';\nimport SiteSelect from '../components/settings/site-select';\nimport SaveButton from '../components/settings/save-button';\nimport LoadingSpinner from '../components/loading-spinner.js';\nimport { SettingsContext } from '../context/settings-context';\nimport { useContext } from '@wordpress/element';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalGrid as Grid,\n} from '@wordpress/components';\n\nconst Settings = () => {\n\tconst { ready, settings } = useContext( SettingsContext );\n\n\tif ( ! ready || ! settings ) {\n\t\treturn (\n\t\t\t<LoadingSpinner text={ __( 'Fetching data…', 'search-console' ) } />\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className={ 'search-console-settings' }>\n\t\t\t<Grid\n\t\t\t\tcolumns={ 4 }\n\t\t\t\ttemplateColumns=\"3fr 1fr\"\n\t\t\t\tgap=\"4\"\n\t\t\t\talign=\"flex-start\"\n\t\t\t\tclassName=\"popper-settings\"\n\t\t\t>\n\t\t\t\t<VStack>\n\t\t\t\t\t<GoogleOAuth />\n\t\t\t\t\t<SiteSelect />\n\t\t\t\t\t<Credentials />\n\t\t\t\t\t<SaveButton />\n\t\t\t\t</VStack>\n\t\t\t\t<VStack>\n\t\t\t\t\t<Help />\n\t\t\t\t</VStack>\n\t\t\t</Grid>\n\t\t</div>\n\t);\n};\n\nexport default Settings;\n","import apiFetch from '@wordpress/api-fetch';\nimport { createReduxStore, register } from '@wordpress/data';\nimport { dateI18n } from '@wordpress/date';\n\nconst DEFAULT_STATE = {\n\tsettings: false,\n\tsites: [\n\t\t{\n\t\t\tlabel: 'Select a site',\n\t\t\tvalue: '',\n\t\t},\n\t],\n\tcustomDate: false,\n\tdimension: 'query',\n\tsearchType: 'web',\n\tstartDate: dateI18n(\n\t\t'Y-m-d',\n\t\tnew Date().setDate( new Date().getDate() - 29 )\n\t),\n\tendDate: dateI18n(\n\t\t'Y-m-d',\n\t\tnew Date().setDate( new Date().getDate() - 1 )\n\t),\n\tfilters: [],\n};\n\nconst actions = {\n\tsetSites( sites ) {\n\t\treturn {\n\t\t\ttype: 'SET_SITES',\n\t\t\tsites,\n\t\t};\n\t},\n\n\tsetSettings( settings ) {\n\t\treturn {\n\t\t\ttype: 'SET_SETTINGS',\n\t\t\tsettings,\n\t\t};\n\t},\n\n\tsetSetting( setting, value ) {\n\t\treturn {\n\t\t\ttype: 'SET_SETTING',\n\t\t\tsetting,\n\t\t\tvalue,\n\t\t};\n\t},\n\n\tsetSearchType( searchType ) {\n\t\treturn {\n\t\t\ttype: 'SET_SEARCHTYPE',\n\t\t\tsearchType,\n\t\t};\n\t},\n\n\tsetFilter( filter ) {\n\t\treturn {\n\t\t\ttype: 'SET_FILTER',\n\t\t\tfilter,\n\t\t};\n\t},\n\n\tsetDimension( dimension ) {\n\t\treturn {\n\t\t\ttype: 'SET_DIMENSION',\n\t\t\tdimension,\n\t\t};\n\t},\n\n\tsetCustomDate( val ) {\n\t\treturn {\n\t\t\ttype: 'SET_CUSTOMDATE',\n\t\t\tval,\n\t\t};\n\t},\n\n\tsetStartDate( date ) {\n\t\treturn {\n\t\t\ttype: 'SET_STARTDATE',\n\t\t\tdate,\n\t\t};\n\t},\n\n\tsetEndDate( date ) {\n\t\treturn {\n\t\t\ttype: 'SET_ENDDATE',\n\t\t\tdate,\n\t\t};\n\t},\n\n\tremoveFilter( filter ) {\n\t\treturn {\n\t\t\ttype: 'REMOVE_FILTER',\n\t\t\tfilter,\n\t\t};\n\t},\n\n\tfetchFromAPI( path ) {\n\t\treturn {\n\t\t\ttype: 'FETCH_FROM_API',\n\t\t\tpath,\n\t\t};\n\t},\n};\n\nconst store = createReduxStore( 'searchconsole', {\n\treducer( state = DEFAULT_STATE, action ) {\n\t\tswitch ( action.type ) {\n\t\t\tcase 'SET_SETTINGS':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tsettings: action.settings,\n\t\t\t\t};\n\n\t\t\tcase 'SET_SITES':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tsites: action.sites,\n\t\t\t\t};\n\n\t\t\tcase 'SET_SETTING':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tsettings: {\n\t\t\t\t\t\t...state.settings,\n\t\t\t\t\t\t[ action.setting ]: action.value,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\tcase 'SET_SEARCHTYPE':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tsearchType: action.searchType,\n\t\t\t\t};\n\n\t\t\tcase 'SET_DIMENSION':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tdimension: action.dimension,\n\t\t\t\t};\n\n\t\t\tcase 'SET_CUSTOMDATE':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tcustomDate: action.val,\n\t\t\t\t};\n\n\t\t\tcase 'SET_STARTDATE':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tstartDate: action.date,\n\t\t\t\t};\n\n\t\t\tcase 'SET_ENDDATE':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tendDate: action.date,\n\t\t\t\t};\n\n\t\t\tcase 'SET_FILTER':\n\t\t\t\tconst newFilter = {\n\t\t\t\t\tdimension: action.filter.dimension,\n\t\t\t\t\texpression: action.filter.expression,\n\t\t\t\t\toperator: action.filter.operator,\n\t\t\t\t};\n\t\t\t\tconst arr = state.filters.filter( ( f ) => {\n\t\t\t\t\treturn f.dimension !== action.filter.dimension;\n\t\t\t\t} );\n\t\t\t\tarr.push( newFilter );\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tfilters: arr,\n\t\t\t\t};\n\n\t\t\tcase 'REMOVE_FILTER':\n\t\t\t\tconst cleanArr = state.filters.filter( ( f ) => {\n\t\t\t\t\treturn f.dimension !== action.filter.dimension;\n\t\t\t\t} );\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tfilters: cleanArr,\n\t\t\t\t};\n\t\t}\n\n\t\treturn state;\n\t},\n\n\tactions,\n\n\tselectors: {\n\t\tisReady( state ) {\n\t\t\treturn state.settings ?? false;\n\t\t},\n\t\tgetSettings( state ) {\n\t\t\tconst { settings } = state;\n\t\t\treturn settings;\n\t\t},\n\t\tgetSites( state ) {\n\t\t\tconst { sites } = state;\n\t\t\treturn sites;\n\t\t},\n\t\tgetSite( state ) {\n\t\t\tconst { settings } = state;\n\t\t\treturn settings.site;\n\t\t},\n\t\tgetQuery( state ) {\n\t\t\tconst { searchType, filters, dimension, startDate, endDate } =\n\t\t\t\tstate;\n\t\t\treturn {\n\t\t\t\tdimension,\n\t\t\t\tstartDate,\n\t\t\t\tendDate,\n\t\t\t\tsearchType,\n\t\t\t\tfilters,\n\t\t\t};\n\t\t},\n\t\tgetFilterByDimension( state, filter ) {\n\t\t\tif ( ! state.filters.length ) {\n\t\t\t\treturn {\n\t\t\t\t\tdimension: '',\n\t\t\t\t\texpression: '',\n\t\t\t\t\toperator: '',\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst target = state.filters.find( ( f ) => {\n\t\t\t\treturn f.dimension === filter;\n\t\t\t} );\n\t\t\treturn target;\n\t\t},\n\t\tgetSearchType( state ) {\n\t\t\tconst { searchType } = state;\n\t\t\treturn searchType;\n\t\t},\n\t\tgetFilters( state ) {\n\t\t\tconst { filters } = state;\n\t\t\treturn filters;\n\t\t},\n\t\tgetCustomDate( state ) {\n\t\t\tconst { customDate } = state;\n\t\t\treturn customDate;\n\t\t},\n\t},\n\n\tcontrols: {\n\t\tFETCH_FROM_API( action ) {\n\t\t\treturn apiFetch( { path: action.path } );\n\t\t},\n\t},\n\n\tresolvers: {\n\t\t*getSettings() {\n\t\t\tconst path = '/searchconsole/v1/settings/';\n\t\t\tconst settings = yield actions.fetchFromAPI( path );\n\t\t\treturn actions.setSettings( settings );\n\t\t},\n\t},\n} );\n\nregister( store );\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import _extends from '@babel/runtime/helpers/esm/extends';\n\n/**\r\n * Actions represent the type of change to a location value.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#action\r\n */\nvar Action;\n\n(function (Action) {\n  /**\r\n   * A POP indicates a change to an arbitrary index in the history stack, such\r\n   * as a back or forward navigation. It does not describe the direction of the\r\n   * navigation, only that the current index changed.\r\n   *\r\n   * Note: This is the default action for newly created history objects.\r\n   */\n  Action[\"Pop\"] = \"POP\";\n  /**\r\n   * A PUSH indicates a new entry being added to the history stack, such as when\r\n   * a link is clicked and a new page loads. When this happens, all subsequent\r\n   * entries in the stack are lost.\r\n   */\n\n  Action[\"Push\"] = \"PUSH\";\n  /**\r\n   * A REPLACE indicates the entry at the current index in the history stack\r\n   * being replaced by a new one.\r\n   */\n\n  Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\n\nvar readOnly = process.env.NODE_ENV !== \"production\" ? function (obj) {\n  return Object.freeze(obj);\n} : function (obj) {\n  return obj;\n};\n\nfunction warning(cond, message) {\n  if (!cond) {\n    // eslint-disable-next-line no-console\n    if (typeof console !== 'undefined') console.warn(message);\n\n    try {\n      // Welcome to debugging history!\n      //\n      // This error is thrown as a convenience so you can more easily\n      // find the source for a warning that appears in the console by\n      // enabling \"pause on exceptions\" in your JavaScript debugger.\n      throw new Error(message); // eslint-disable-next-line no-empty\n    } catch (e) {}\n  }\n}\n\nvar BeforeUnloadEventType = 'beforeunload';\nvar HashChangeEventType = 'hashchange';\nvar PopStateEventType = 'popstate';\n/**\r\n * Browser history stores the location in regular URLs. This is the standard for\r\n * most web apps, but it requires some configuration on the server to ensure you\r\n * serve the same app at multiple URLs.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\r\n */\n\nfunction createBrowserHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      _options$window = _options.window,\n      window = _options$window === void 0 ? document.defaultView : _options$window;\n  var globalHistory = window.history;\n\n  function getIndexAndLocation() {\n    var _window$location = window.location,\n        pathname = _window$location.pathname,\n        search = _window$location.search,\n        hash = _window$location.hash;\n    var state = globalHistory.state || {};\n    return [state.idx, readOnly({\n      pathname: pathname,\n      search: search,\n      hash: hash,\n      state: state.usr || null,\n      key: state.key || 'default'\n    })];\n  }\n\n  var blockedPopTx = null;\n\n  function handlePop() {\n    if (blockedPopTx) {\n      blockers.call(blockedPopTx);\n      blockedPopTx = null;\n    } else {\n      var nextAction = Action.Pop;\n\n      var _getIndexAndLocation = getIndexAndLocation(),\n          nextIndex = _getIndexAndLocation[0],\n          nextLocation = _getIndexAndLocation[1];\n\n      if (blockers.length) {\n        if (nextIndex != null) {\n          var delta = index - nextIndex;\n\n          if (delta) {\n            // Revert the POP\n            blockedPopTx = {\n              action: nextAction,\n              location: nextLocation,\n              retry: function retry() {\n                go(delta * -1);\n              }\n            };\n            go(delta);\n          }\n        } else {\n          // Trying to POP to a location with no index. We did not create\n          // this location, so we can't effectively block the navigation.\n          process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n          // detail and link to it here so people can understand better what\n          // is going on and how to avoid it.\n          \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n        }\n      } else {\n        applyTx(nextAction);\n      }\n    }\n  }\n\n  window.addEventListener(PopStateEventType, handlePop);\n  var action = Action.Pop;\n\n  var _getIndexAndLocation2 = getIndexAndLocation(),\n      index = _getIndexAndLocation2[0],\n      location = _getIndexAndLocation2[1];\n\n  var listeners = createEvents();\n  var blockers = createEvents();\n\n  if (index == null) {\n    index = 0;\n    globalHistory.replaceState(_extends({}, globalHistory.state, {\n      idx: index\n    }), '');\n  }\n\n  function createHref(to) {\n    return typeof to === 'string' ? to : createPath(to);\n  } // state defaults to `null` because `window.history.state` does\n\n\n  function getNextLocation(to, state) {\n    if (state === void 0) {\n      state = null;\n    }\n\n    return readOnly(_extends({\n      pathname: location.pathname,\n      hash: '',\n      search: ''\n    }, typeof to === 'string' ? parsePath(to) : to, {\n      state: state,\n      key: createKey()\n    }));\n  }\n\n  function getHistoryStateAndUrl(nextLocation, index) {\n    return [{\n      usr: nextLocation.state,\n      key: nextLocation.key,\n      idx: index\n    }, createHref(nextLocation)];\n  }\n\n  function allowTx(action, location, retry) {\n    return !blockers.length || (blockers.call({\n      action: action,\n      location: location,\n      retry: retry\n    }), false);\n  }\n\n  function applyTx(nextAction) {\n    action = nextAction;\n\n    var _getIndexAndLocation3 = getIndexAndLocation();\n\n    index = _getIndexAndLocation3[0];\n    location = _getIndexAndLocation3[1];\n    listeners.call({\n      action: action,\n      location: location\n    });\n  }\n\n  function push(to, state) {\n    var nextAction = Action.Push;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      push(to, state);\n    }\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr = getHistoryStateAndUrl(nextLocation, index + 1),\n          historyState = _getHistoryStateAndUr[0],\n          url = _getHistoryStateAndUr[1]; // TODO: Support forced reloading\n      // try...catch because iOS limits us to 100 pushState calls :/\n\n\n      try {\n        globalHistory.pushState(historyState, '', url);\n      } catch (error) {\n        // They are going to lose state here, but there is no real\n        // way to warn them about it since the page will refresh...\n        window.location.assign(url);\n      }\n\n      applyTx(nextAction);\n    }\n  }\n\n  function replace(to, state) {\n    var nextAction = Action.Replace;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      replace(to, state);\n    }\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr2 = getHistoryStateAndUrl(nextLocation, index),\n          historyState = _getHistoryStateAndUr2[0],\n          url = _getHistoryStateAndUr2[1]; // TODO: Support forced reloading\n\n\n      globalHistory.replaceState(historyState, '', url);\n      applyTx(nextAction);\n    }\n  }\n\n  function go(delta) {\n    globalHistory.go(delta);\n  }\n\n  var history = {\n    get action() {\n      return action;\n    },\n\n    get location() {\n      return location;\n    },\n\n    createHref: createHref,\n    push: push,\n    replace: replace,\n    go: go,\n    back: function back() {\n      go(-1);\n    },\n    forward: function forward() {\n      go(1);\n    },\n    listen: function listen(listener) {\n      return listeners.push(listener);\n    },\n    block: function block(blocker) {\n      var unblock = blockers.push(blocker);\n\n      if (blockers.length === 1) {\n        window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n      }\n\n      return function () {\n        unblock(); // Remove the beforeunload listener so the document may\n        // still be salvageable in the pagehide event.\n        // See https://html.spec.whatwg.org/#unloading-documents\n\n        if (!blockers.length) {\n          window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n        }\n      };\n    }\n  };\n  return history;\n}\n/**\r\n * Hash history stores the location in window.location.hash. This makes it ideal\r\n * for situations where you don't want to send the location to the server for\r\n * some reason, either because you do cannot configure it or the URL space is\r\n * reserved for something else.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\r\n */\n\nfunction createHashHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options2 = options,\n      _options2$window = _options2.window,\n      window = _options2$window === void 0 ? document.defaultView : _options2$window;\n  var globalHistory = window.history;\n\n  function getIndexAndLocation() {\n    var _parsePath = parsePath(window.location.hash.substr(1)),\n        _parsePath$pathname = _parsePath.pathname,\n        pathname = _parsePath$pathname === void 0 ? '/' : _parsePath$pathname,\n        _parsePath$search = _parsePath.search,\n        search = _parsePath$search === void 0 ? '' : _parsePath$search,\n        _parsePath$hash = _parsePath.hash,\n        hash = _parsePath$hash === void 0 ? '' : _parsePath$hash;\n\n    var state = globalHistory.state || {};\n    return [state.idx, readOnly({\n      pathname: pathname,\n      search: search,\n      hash: hash,\n      state: state.usr || null,\n      key: state.key || 'default'\n    })];\n  }\n\n  var blockedPopTx = null;\n\n  function handlePop() {\n    if (blockedPopTx) {\n      blockers.call(blockedPopTx);\n      blockedPopTx = null;\n    } else {\n      var nextAction = Action.Pop;\n\n      var _getIndexAndLocation4 = getIndexAndLocation(),\n          nextIndex = _getIndexAndLocation4[0],\n          nextLocation = _getIndexAndLocation4[1];\n\n      if (blockers.length) {\n        if (nextIndex != null) {\n          var delta = index - nextIndex;\n\n          if (delta) {\n            // Revert the POP\n            blockedPopTx = {\n              action: nextAction,\n              location: nextLocation,\n              retry: function retry() {\n                go(delta * -1);\n              }\n            };\n            go(delta);\n          }\n        } else {\n          // Trying to POP to a location with no index. We did not create\n          // this location, so we can't effectively block the navigation.\n          process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n          // detail and link to it here so people can understand better\n          // what is going on and how to avoid it.\n          \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n        }\n      } else {\n        applyTx(nextAction);\n      }\n    }\n  }\n\n  window.addEventListener(PopStateEventType, handlePop); // popstate does not fire on hashchange in IE 11 and old (trident) Edge\n  // https://developer.mozilla.org/de/docs/Web/API/Window/popstate_event\n\n  window.addEventListener(HashChangeEventType, function () {\n    var _getIndexAndLocation5 = getIndexAndLocation(),\n        nextLocation = _getIndexAndLocation5[1]; // Ignore extraneous hashchange events.\n\n\n    if (createPath(nextLocation) !== createPath(location)) {\n      handlePop();\n    }\n  });\n  var action = Action.Pop;\n\n  var _getIndexAndLocation6 = getIndexAndLocation(),\n      index = _getIndexAndLocation6[0],\n      location = _getIndexAndLocation6[1];\n\n  var listeners = createEvents();\n  var blockers = createEvents();\n\n  if (index == null) {\n    index = 0;\n    globalHistory.replaceState(_extends({}, globalHistory.state, {\n      idx: index\n    }), '');\n  }\n\n  function getBaseHref() {\n    var base = document.querySelector('base');\n    var href = '';\n\n    if (base && base.getAttribute('href')) {\n      var url = window.location.href;\n      var hashIndex = url.indexOf('#');\n      href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n    }\n\n    return href;\n  }\n\n  function createHref(to) {\n    return getBaseHref() + '#' + (typeof to === 'string' ? to : createPath(to));\n  }\n\n  function getNextLocation(to, state) {\n    if (state === void 0) {\n      state = null;\n    }\n\n    return readOnly(_extends({\n      pathname: location.pathname,\n      hash: '',\n      search: ''\n    }, typeof to === 'string' ? parsePath(to) : to, {\n      state: state,\n      key: createKey()\n    }));\n  }\n\n  function getHistoryStateAndUrl(nextLocation, index) {\n    return [{\n      usr: nextLocation.state,\n      key: nextLocation.key,\n      idx: index\n    }, createHref(nextLocation)];\n  }\n\n  function allowTx(action, location, retry) {\n    return !blockers.length || (blockers.call({\n      action: action,\n      location: location,\n      retry: retry\n    }), false);\n  }\n\n  function applyTx(nextAction) {\n    action = nextAction;\n\n    var _getIndexAndLocation7 = getIndexAndLocation();\n\n    index = _getIndexAndLocation7[0];\n    location = _getIndexAndLocation7[1];\n    listeners.call({\n      action: action,\n      location: location\n    });\n  }\n\n  function push(to, state) {\n    var nextAction = Action.Push;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      push(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr3 = getHistoryStateAndUrl(nextLocation, index + 1),\n          historyState = _getHistoryStateAndUr3[0],\n          url = _getHistoryStateAndUr3[1]; // TODO: Support forced reloading\n      // try...catch because iOS limits us to 100 pushState calls :/\n\n\n      try {\n        globalHistory.pushState(historyState, '', url);\n      } catch (error) {\n        // They are going to lose state here, but there is no real\n        // way to warn them about it since the page will refresh...\n        window.location.assign(url);\n      }\n\n      applyTx(nextAction);\n    }\n  }\n\n  function replace(to, state) {\n    var nextAction = Action.Replace;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      replace(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr4 = getHistoryStateAndUrl(nextLocation, index),\n          historyState = _getHistoryStateAndUr4[0],\n          url = _getHistoryStateAndUr4[1]; // TODO: Support forced reloading\n\n\n      globalHistory.replaceState(historyState, '', url);\n      applyTx(nextAction);\n    }\n  }\n\n  function go(delta) {\n    globalHistory.go(delta);\n  }\n\n  var history = {\n    get action() {\n      return action;\n    },\n\n    get location() {\n      return location;\n    },\n\n    createHref: createHref,\n    push: push,\n    replace: replace,\n    go: go,\n    back: function back() {\n      go(-1);\n    },\n    forward: function forward() {\n      go(1);\n    },\n    listen: function listen(listener) {\n      return listeners.push(listener);\n    },\n    block: function block(blocker) {\n      var unblock = blockers.push(blocker);\n\n      if (blockers.length === 1) {\n        window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n      }\n\n      return function () {\n        unblock(); // Remove the beforeunload listener so the document may\n        // still be salvageable in the pagehide event.\n        // See https://html.spec.whatwg.org/#unloading-documents\n\n        if (!blockers.length) {\n          window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n        }\n      };\n    }\n  };\n  return history;\n}\n/**\r\n * Memory history stores the current location in memory. It is designed for use\r\n * in stateful non-browser environments like tests and React Native.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#creatememoryhistory\r\n */\n\nfunction createMemoryHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options3 = options,\n      _options3$initialEntr = _options3.initialEntries,\n      initialEntries = _options3$initialEntr === void 0 ? ['/'] : _options3$initialEntr,\n      initialIndex = _options3.initialIndex;\n  var entries = initialEntries.map(function (entry) {\n    var location = readOnly(_extends({\n      pathname: '/',\n      search: '',\n      hash: '',\n      state: null,\n      key: createKey()\n    }, typeof entry === 'string' ? parsePath(entry) : entry));\n    process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: \" + JSON.stringify(entry) + \")\") : void 0;\n    return location;\n  });\n  var index = clamp(initialIndex == null ? entries.length - 1 : initialIndex, 0, entries.length - 1);\n  var action = Action.Pop;\n  var location = entries[index];\n  var listeners = createEvents();\n  var blockers = createEvents();\n\n  function createHref(to) {\n    return typeof to === 'string' ? to : createPath(to);\n  }\n\n  function getNextLocation(to, state) {\n    if (state === void 0) {\n      state = null;\n    }\n\n    return readOnly(_extends({\n      pathname: location.pathname,\n      search: '',\n      hash: ''\n    }, typeof to === 'string' ? parsePath(to) : to, {\n      state: state,\n      key: createKey()\n    }));\n  }\n\n  function allowTx(action, location, retry) {\n    return !blockers.length || (blockers.call({\n      action: action,\n      location: location,\n      retry: retry\n    }), false);\n  }\n\n  function applyTx(nextAction, nextLocation) {\n    action = nextAction;\n    location = nextLocation;\n    listeners.call({\n      action: action,\n      location: location\n    });\n  }\n\n  function push(to, state) {\n    var nextAction = Action.Push;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      push(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      index += 1;\n      entries.splice(index, entries.length, nextLocation);\n      applyTx(nextAction, nextLocation);\n    }\n  }\n\n  function replace(to, state) {\n    var nextAction = Action.Replace;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      replace(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      entries[index] = nextLocation;\n      applyTx(nextAction, nextLocation);\n    }\n  }\n\n  function go(delta) {\n    var nextIndex = clamp(index + delta, 0, entries.length - 1);\n    var nextAction = Action.Pop;\n    var nextLocation = entries[nextIndex];\n\n    function retry() {\n      go(delta);\n    }\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      index = nextIndex;\n      applyTx(nextAction, nextLocation);\n    }\n  }\n\n  var history = {\n    get index() {\n      return index;\n    },\n\n    get action() {\n      return action;\n    },\n\n    get location() {\n      return location;\n    },\n\n    createHref: createHref,\n    push: push,\n    replace: replace,\n    go: go,\n    back: function back() {\n      go(-1);\n    },\n    forward: function forward() {\n      go(1);\n    },\n    listen: function listen(listener) {\n      return listeners.push(listener);\n    },\n    block: function block(blocker) {\n      return blockers.push(blocker);\n    }\n  };\n  return history;\n} ////////////////////////////////////////////////////////////////////////////////\n// UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction clamp(n, lowerBound, upperBound) {\n  return Math.min(Math.max(n, lowerBound), upperBound);\n}\n\nfunction promptBeforeUnload(event) {\n  // Cancel the event.\n  event.preventDefault(); // Chrome (and legacy IE) requires returnValue to be set.\n\n  event.returnValue = '';\n}\n\nfunction createEvents() {\n  var handlers = [];\n  return {\n    get length() {\n      return handlers.length;\n    },\n\n    push: function push(fn) {\n      handlers.push(fn);\n      return function () {\n        handlers = handlers.filter(function (handler) {\n          return handler !== fn;\n        });\n      };\n    },\n    call: function call(arg) {\n      handlers.forEach(function (fn) {\n        return fn && fn(arg);\n      });\n    }\n  };\n}\n\nfunction createKey() {\n  return Math.random().toString(36).substr(2, 8);\n}\n/**\r\n * Creates a string URL path from the given pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createpath\r\n */\n\n\nfunction createPath(_ref) {\n  var _ref$pathname = _ref.pathname,\n      pathname = _ref$pathname === void 0 ? '/' : _ref$pathname,\n      _ref$search = _ref.search,\n      search = _ref$search === void 0 ? '' : _ref$search,\n      _ref$hash = _ref.hash,\n      hash = _ref$hash === void 0 ? '' : _ref$hash;\n  if (search && search !== '?') pathname += search.charAt(0) === '?' ? search : '?' + search;\n  if (hash && hash !== '#') pathname += hash.charAt(0) === '#' ? hash : '#' + hash;\n  return pathname;\n}\n/**\r\n * Parses a string URL path into its separate pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#parsepath\r\n */\n\nfunction parsePath(path) {\n  var parsedPath = {};\n\n  if (path) {\n    var hashIndex = path.indexOf('#');\n\n    if (hashIndex >= 0) {\n      parsedPath.hash = path.substr(hashIndex);\n      path = path.substr(0, hashIndex);\n    }\n\n    var searchIndex = path.indexOf('?');\n\n    if (searchIndex >= 0) {\n      parsedPath.search = path.substr(searchIndex);\n      path = path.substr(0, searchIndex);\n    }\n\n    if (path) {\n      parsedPath.pathname = path;\n    }\n  }\n\n  return parsedPath;\n}\n\nexport { Action, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, parsePath };\n//# sourceMappingURL=index.js.map\n","// extracted by mini-css-extract-plugin\nexport {};","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n  if (maybeIterable === null || typeof maybeIterable !== 'object') {\n    return null;\n  }\n\n  var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n  if (typeof maybeIterator === 'function') {\n    return maybeIterator;\n  }\n\n  return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n  {\n    {\n      for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n        args[_key2 - 1] = arguments[_key2];\n      }\n\n      printWarning('error', format, args);\n    }\n  }\n}\n\nfunction printWarning(level, format, args) {\n  // When changing this logic, you might want to also\n  // update consoleWithStackDev.www.js as well.\n  {\n    var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n    var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n    if (stack !== '') {\n      format += '%s';\n      args = args.concat([stack]);\n    } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n    var argsWithFormat = args.map(function (item) {\n      return String(item);\n    }); // Careful: RN currently depends on this prefix\n\n    argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n    // breaks IE9: https://github.com/facebook/react/issues/13610\n    // eslint-disable-next-line react-internal/no-production-logging\n\n    Function.prototype.apply.call(console[level], console, argsWithFormat);\n  }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n  REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n  if (typeof type === 'string' || typeof type === 'function') {\n    return true;\n  } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n  if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing  || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden  || type === REACT_OFFSCREEN_TYPE || enableScopeAPI  || enableCacheElement  || enableTransitionTracing ) {\n    return true;\n  }\n\n  if (typeof type === 'object' && type !== null) {\n    if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n    // types supported by any Flight configuration anywhere since\n    // we don't know which Flight build this will end up being used\n    // with.\n    type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n  var displayName = outerType.displayName;\n\n  if (displayName) {\n    return displayName;\n  }\n\n  var functionName = innerType.displayName || innerType.name || '';\n  return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n  return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n  if (type == null) {\n    // Host root, text node or just invalid type.\n    return null;\n  }\n\n  {\n    if (typeof type.tag === 'number') {\n      error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n    }\n  }\n\n  if (typeof type === 'function') {\n    return type.displayName || type.name || null;\n  }\n\n  if (typeof type === 'string') {\n    return type;\n  }\n\n  switch (type) {\n    case REACT_FRAGMENT_TYPE:\n      return 'Fragment';\n\n    case REACT_PORTAL_TYPE:\n      return 'Portal';\n\n    case REACT_PROFILER_TYPE:\n      return 'Profiler';\n\n    case REACT_STRICT_MODE_TYPE:\n      return 'StrictMode';\n\n    case REACT_SUSPENSE_TYPE:\n      return 'Suspense';\n\n    case REACT_SUSPENSE_LIST_TYPE:\n      return 'SuspenseList';\n\n  }\n\n  if (typeof type === 'object') {\n    switch (type.$$typeof) {\n      case REACT_CONTEXT_TYPE:\n        var context = type;\n        return getContextName(context) + '.Consumer';\n\n      case REACT_PROVIDER_TYPE:\n        var provider = type;\n        return getContextName(provider._context) + '.Provider';\n\n      case REACT_FORWARD_REF_TYPE:\n        return getWrappedName(type, type.render, 'ForwardRef');\n\n      case REACT_MEMO_TYPE:\n        var outerName = type.displayName || null;\n\n        if (outerName !== null) {\n          return outerName;\n        }\n\n        return getComponentNameFromType(type.type) || 'Memo';\n\n      case REACT_LAZY_TYPE:\n        {\n          var lazyComponent = type;\n          var payload = lazyComponent._payload;\n          var init = lazyComponent._init;\n\n          try {\n            return getComponentNameFromType(init(payload));\n          } catch (x) {\n            return null;\n          }\n        }\n\n      // eslint-disable-next-line no-fallthrough\n    }\n  }\n\n  return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n  {\n    if (disabledDepth === 0) {\n      /* eslint-disable react-internal/no-production-logging */\n      prevLog = console.log;\n      prevInfo = console.info;\n      prevWarn = console.warn;\n      prevError = console.error;\n      prevGroup = console.group;\n      prevGroupCollapsed = console.groupCollapsed;\n      prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n      var props = {\n        configurable: true,\n        enumerable: true,\n        value: disabledLog,\n        writable: true\n      }; // $FlowFixMe Flow thinks console is immutable.\n\n      Object.defineProperties(console, {\n        info: props,\n        log: props,\n        warn: props,\n        error: props,\n        group: props,\n        groupCollapsed: props,\n        groupEnd: props\n      });\n      /* eslint-enable react-internal/no-production-logging */\n    }\n\n    disabledDepth++;\n  }\n}\nfunction reenableLogs() {\n  {\n    disabledDepth--;\n\n    if (disabledDepth === 0) {\n      /* eslint-disable react-internal/no-production-logging */\n      var props = {\n        configurable: true,\n        enumerable: true,\n        writable: true\n      }; // $FlowFixMe Flow thinks console is immutable.\n\n      Object.defineProperties(console, {\n        log: assign({}, props, {\n          value: prevLog\n        }),\n        info: assign({}, props, {\n          value: prevInfo\n        }),\n        warn: assign({}, props, {\n          value: prevWarn\n        }),\n        error: assign({}, props, {\n          value: prevError\n        }),\n        group: assign({}, props, {\n          value: prevGroup\n        }),\n        groupCollapsed: assign({}, props, {\n          value: prevGroupCollapsed\n        }),\n        groupEnd: assign({}, props, {\n          value: prevGroupEnd\n        })\n      });\n      /* eslint-enable react-internal/no-production-logging */\n    }\n\n    if (disabledDepth < 0) {\n      error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n    }\n  }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n  {\n    if (prefix === undefined) {\n      // Extract the VM specific prefix used by each line.\n      try {\n        throw Error();\n      } catch (x) {\n        var match = x.stack.trim().match(/\\n( *(at )?)/);\n        prefix = match && match[1] || '';\n      }\n    } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n    return '\\n' + prefix + name;\n  }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n  var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n  componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n  // If something asked for a stack inside a fake render, it should get ignored.\n  if ( !fn || reentry) {\n    return '';\n  }\n\n  {\n    var frame = componentFrameCache.get(fn);\n\n    if (frame !== undefined) {\n      return frame;\n    }\n  }\n\n  var control;\n  reentry = true;\n  var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n  Error.prepareStackTrace = undefined;\n  var previousDispatcher;\n\n  {\n    previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n    // for warnings.\n\n    ReactCurrentDispatcher.current = null;\n    disableLogs();\n  }\n\n  try {\n    // This should throw.\n    if (construct) {\n      // Something should be setting the props in the constructor.\n      var Fake = function () {\n        throw Error();\n      }; // $FlowFixMe\n\n\n      Object.defineProperty(Fake.prototype, 'props', {\n        set: function () {\n          // We use a throwing setter instead of frozen or non-writable props\n          // because that won't throw in a non-strict mode function.\n          throw Error();\n        }\n      });\n\n      if (typeof Reflect === 'object' && Reflect.construct) {\n        // We construct a different control for this case to include any extra\n        // frames added by the construct call.\n        try {\n          Reflect.construct(Fake, []);\n        } catch (x) {\n          control = x;\n        }\n\n        Reflect.construct(fn, [], Fake);\n      } else {\n        try {\n          Fake.call();\n        } catch (x) {\n          control = x;\n        }\n\n        fn.call(Fake.prototype);\n      }\n    } else {\n      try {\n        throw Error();\n      } catch (x) {\n        control = x;\n      }\n\n      fn();\n    }\n  } catch (sample) {\n    // This is inlined manually because closure doesn't do it for us.\n    if (sample && control && typeof sample.stack === 'string') {\n      // This extracts the first frame from the sample that isn't also in the control.\n      // Skipping one frame that we assume is the frame that calls the two.\n      var sampleLines = sample.stack.split('\\n');\n      var controlLines = control.stack.split('\\n');\n      var s = sampleLines.length - 1;\n      var c = controlLines.length - 1;\n\n      while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n        // We expect at least one stack frame to be shared.\n        // Typically this will be the root most one. However, stack frames may be\n        // cut off due to maximum stack limits. In this case, one maybe cut off\n        // earlier than the other. We assume that the sample is longer or the same\n        // and there for cut off earlier. So we should find the root most frame in\n        // the sample somewhere in the control.\n        c--;\n      }\n\n      for (; s >= 1 && c >= 0; s--, c--) {\n        // Next we find the first one that isn't the same which should be the\n        // frame that called our sample function and the control.\n        if (sampleLines[s] !== controlLines[c]) {\n          // In V8, the first line is describing the message but other VMs don't.\n          // If we're about to return the first line, and the control is also on the same\n          // line, that's a pretty good indicator that our sample threw at same line as\n          // the control. I.e. before we entered the sample frame. So we ignore this result.\n          // This can happen if you passed a class to function component, or non-function.\n          if (s !== 1 || c !== 1) {\n            do {\n              s--;\n              c--; // We may still have similar intermediate frames from the construct call.\n              // The next one that isn't the same should be our match though.\n\n              if (c < 0 || sampleLines[s] !== controlLines[c]) {\n                // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n                var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n                // but we have a user-provided \"displayName\"\n                // splice it in to make the stack more readable.\n\n\n                if (fn.displayName && _frame.includes('<anonymous>')) {\n                  _frame = _frame.replace('<anonymous>', fn.displayName);\n                }\n\n                {\n                  if (typeof fn === 'function') {\n                    componentFrameCache.set(fn, _frame);\n                  }\n                } // Return the line we found.\n\n\n                return _frame;\n              }\n            } while (s >= 1 && c >= 0);\n          }\n\n          break;\n        }\n      }\n    }\n  } finally {\n    reentry = false;\n\n    {\n      ReactCurrentDispatcher.current = previousDispatcher;\n      reenableLogs();\n    }\n\n    Error.prepareStackTrace = previousPrepareStackTrace;\n  } // Fallback to just using the name if we couldn't make it throw.\n\n\n  var name = fn ? fn.displayName || fn.name : '';\n  var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n  {\n    if (typeof fn === 'function') {\n      componentFrameCache.set(fn, syntheticFrame);\n    }\n  }\n\n  return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n  {\n    return describeNativeComponentFrame(fn, false);\n  }\n}\n\nfunction shouldConstruct(Component) {\n  var prototype = Component.prototype;\n  return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n  if (type == null) {\n    return '';\n  }\n\n  if (typeof type === 'function') {\n    {\n      return describeNativeComponentFrame(type, shouldConstruct(type));\n    }\n  }\n\n  if (typeof type === 'string') {\n    return describeBuiltInComponentFrame(type);\n  }\n\n  switch (type) {\n    case REACT_SUSPENSE_TYPE:\n      return describeBuiltInComponentFrame('Suspense');\n\n    case REACT_SUSPENSE_LIST_TYPE:\n      return describeBuiltInComponentFrame('SuspenseList');\n  }\n\n  if (typeof type === 'object') {\n    switch (type.$$typeof) {\n      case REACT_FORWARD_REF_TYPE:\n        return describeFunctionComponentFrame(type.render);\n\n      case REACT_MEMO_TYPE:\n        // Memo may contain any component type so we recursively resolve it.\n        return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n      case REACT_LAZY_TYPE:\n        {\n          var lazyComponent = type;\n          var payload = lazyComponent._payload;\n          var init = lazyComponent._init;\n\n          try {\n            // Lazy may contain any component type so we recursively resolve it.\n            return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n          } catch (x) {}\n        }\n    }\n  }\n\n  return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n  {\n    if (element) {\n      var owner = element._owner;\n      var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n      ReactDebugCurrentFrame.setExtraStackFrame(stack);\n    } else {\n      ReactDebugCurrentFrame.setExtraStackFrame(null);\n    }\n  }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n  {\n    // $FlowFixMe This is okay but Flow doesn't know it.\n    var has = Function.call.bind(hasOwnProperty);\n\n    for (var typeSpecName in typeSpecs) {\n      if (has(typeSpecs, typeSpecName)) {\n        var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n        // fail the render phase where it didn't fail before. So we log it.\n        // After these have been cleaned up, we'll let them throw.\n\n        try {\n          // This is intentionally an invariant that gets caught. It's the same\n          // behavior as without this statement except with a better message.\n          if (typeof typeSpecs[typeSpecName] !== 'function') {\n            // eslint-disable-next-line react-internal/prod-error-codes\n            var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n            err.name = 'Invariant Violation';\n            throw err;\n          }\n\n          error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n        } catch (ex) {\n          error$1 = ex;\n        }\n\n        if (error$1 && !(error$1 instanceof Error)) {\n          setCurrentlyValidatingElement(element);\n\n          error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n          setCurrentlyValidatingElement(null);\n        }\n\n        if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n          // Only monitor this failure once because there tends to be a lot of the\n          // same error.\n          loggedTypeFailures[error$1.message] = true;\n          setCurrentlyValidatingElement(element);\n\n          error('Failed %s type: %s', location, error$1.message);\n\n          setCurrentlyValidatingElement(null);\n        }\n      }\n    }\n  }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n  return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n  {\n    // toStringTag is needed for namespaced types like Temporal.Instant\n    var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n    var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n    return type;\n  }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n  {\n    try {\n      testStringCoercion(value);\n      return false;\n    } catch (e) {\n      return true;\n    }\n  }\n}\n\nfunction testStringCoercion(value) {\n  // If you ended up here by following an exception call stack, here's what's\n  // happened: you supplied an object or symbol value to React (as a prop, key,\n  // DOM attribute, CSS property, string ref, etc.) and when React tried to\n  // coerce it to a string using `'' + value`, an exception was thrown.\n  //\n  // The most common types that will cause this exception are `Symbol` instances\n  // and Temporal objects like `Temporal.Instant`. But any object that has a\n  // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n  // exception. (Library authors do this to prevent users from using built-in\n  // numeric operators like `+` or comparison operators like `>=` because custom\n  // methods are needed to perform accurate arithmetic or comparison.)\n  //\n  // To fix the problem, coerce this object or symbol value to a string before\n  // passing it to React. The most reliable way is usually `String(value)`.\n  //\n  // To find which value is throwing, check the browser or debugger console.\n  // Before this exception was thrown, there should be `console.error` output\n  // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n  // problem and how that type was used: key, atrribute, input value prop, etc.\n  // In most cases, this console output also shows the component and its\n  // ancestor components where the exception happened.\n  //\n  // eslint-disable-next-line react-internal/safe-string-coercion\n  return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n  {\n    if (willCoercionThrow(value)) {\n      error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n      return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n    }\n  }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n  key: true,\n  ref: true,\n  __self: true,\n  __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n  didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n  {\n    if (hasOwnProperty.call(config, 'ref')) {\n      var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n      if (getter && getter.isReactWarning) {\n        return false;\n      }\n    }\n  }\n\n  return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n  {\n    if (hasOwnProperty.call(config, 'key')) {\n      var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n      if (getter && getter.isReactWarning) {\n        return false;\n      }\n    }\n  }\n\n  return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n  {\n    if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n      var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n      if (!didWarnAboutStringRefs[componentName]) {\n        error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n        didWarnAboutStringRefs[componentName] = true;\n      }\n    }\n  }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n  {\n    var warnAboutAccessingKey = function () {\n      if (!specialPropKeyWarningShown) {\n        specialPropKeyWarningShown = true;\n\n        error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n      }\n    };\n\n    warnAboutAccessingKey.isReactWarning = true;\n    Object.defineProperty(props, 'key', {\n      get: warnAboutAccessingKey,\n      configurable: true\n    });\n  }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n  {\n    var warnAboutAccessingRef = function () {\n      if (!specialPropRefWarningShown) {\n        specialPropRefWarningShown = true;\n\n        error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n      }\n    };\n\n    warnAboutAccessingRef.isReactWarning = true;\n    Object.defineProperty(props, 'ref', {\n      get: warnAboutAccessingRef,\n      configurable: true\n    });\n  }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n  var element = {\n    // This tag allows us to uniquely identify this as a React Element\n    $$typeof: REACT_ELEMENT_TYPE,\n    // Built-in properties that belong on the element\n    type: type,\n    key: key,\n    ref: ref,\n    props: props,\n    // Record the component responsible for creating this element.\n    _owner: owner\n  };\n\n  {\n    // The validation flag is currently mutative. We put it on\n    // an external backing store so that we can freeze the whole object.\n    // This can be replaced with a WeakMap once they are implemented in\n    // commonly used development environments.\n    element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n    // the validation flag non-enumerable (where possible, which should\n    // include every environment we run tests in), so the test framework\n    // ignores it.\n\n    Object.defineProperty(element._store, 'validated', {\n      configurable: false,\n      enumerable: false,\n      writable: true,\n      value: false\n    }); // self and source are DEV only properties.\n\n    Object.defineProperty(element, '_self', {\n      configurable: false,\n      enumerable: false,\n      writable: false,\n      value: self\n    }); // Two elements created in two different places should be considered\n    // equal for testing purposes and therefore we hide it from enumeration.\n\n    Object.defineProperty(element, '_source', {\n      configurable: false,\n      enumerable: false,\n      writable: false,\n      value: source\n    });\n\n    if (Object.freeze) {\n      Object.freeze(element.props);\n      Object.freeze(element);\n    }\n  }\n\n  return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n  {\n    var propName; // Reserved names are extracted\n\n    var props = {};\n    var key = null;\n    var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n    // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n    // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n    // but as an intermediary step, we will use jsxDEV for everything except\n    // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n    // key is explicitly declared to be undefined or not.\n\n    if (maybeKey !== undefined) {\n      {\n        checkKeyStringCoercion(maybeKey);\n      }\n\n      key = '' + maybeKey;\n    }\n\n    if (hasValidKey(config)) {\n      {\n        checkKeyStringCoercion(config.key);\n      }\n\n      key = '' + config.key;\n    }\n\n    if (hasValidRef(config)) {\n      ref = config.ref;\n      warnIfStringRefCannotBeAutoConverted(config, self);\n    } // Remaining properties are added to a new props object\n\n\n    for (propName in config) {\n      if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n        props[propName] = config[propName];\n      }\n    } // Resolve default props\n\n\n    if (type && type.defaultProps) {\n      var defaultProps = type.defaultProps;\n\n      for (propName in defaultProps) {\n        if (props[propName] === undefined) {\n          props[propName] = defaultProps[propName];\n        }\n      }\n    }\n\n    if (key || ref) {\n      var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n      if (key) {\n        defineKeyPropWarningGetter(props, displayName);\n      }\n\n      if (ref) {\n        defineRefPropWarningGetter(props, displayName);\n      }\n    }\n\n    return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n  }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n  {\n    if (element) {\n      var owner = element._owner;\n      var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n      ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n    } else {\n      ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n    }\n  }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n  propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n  {\n    return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n  }\n}\n\nfunction getDeclarationErrorAddendum() {\n  {\n    if (ReactCurrentOwner$1.current) {\n      var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n      if (name) {\n        return '\\n\\nCheck the render method of `' + name + '`.';\n      }\n    }\n\n    return '';\n  }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n  {\n    if (source !== undefined) {\n      var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n      var lineNumber = source.lineNumber;\n      return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n    }\n\n    return '';\n  }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n  {\n    var info = getDeclarationErrorAddendum();\n\n    if (!info) {\n      var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n      if (parentName) {\n        info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n      }\n    }\n\n    return info;\n  }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n  {\n    if (!element._store || element._store.validated || element.key != null) {\n      return;\n    }\n\n    element._store.validated = true;\n    var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n    if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n      return;\n    }\n\n    ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n    // property, it may be the creator of the child that's responsible for\n    // assigning it a key.\n\n    var childOwner = '';\n\n    if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n      // Give the component that originally created this child.\n      childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n    }\n\n    setCurrentlyValidatingElement$1(element);\n\n    error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n    setCurrentlyValidatingElement$1(null);\n  }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n  {\n    if (typeof node !== 'object') {\n      return;\n    }\n\n    if (isArray(node)) {\n      for (var i = 0; i < node.length; i++) {\n        var child = node[i];\n\n        if (isValidElement(child)) {\n          validateExplicitKey(child, parentType);\n        }\n      }\n    } else if (isValidElement(node)) {\n      // This element was passed in a valid location.\n      if (node._store) {\n        node._store.validated = true;\n      }\n    } else if (node) {\n      var iteratorFn = getIteratorFn(node);\n\n      if (typeof iteratorFn === 'function') {\n        // Entry iterators used to provide implicit keys,\n        // but now we print a separate warning for them later.\n        if (iteratorFn !== node.entries) {\n          var iterator = iteratorFn.call(node);\n          var step;\n\n          while (!(step = iterator.next()).done) {\n            if (isValidElement(step.value)) {\n              validateExplicitKey(step.value, parentType);\n            }\n          }\n        }\n      }\n    }\n  }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n  {\n    var type = element.type;\n\n    if (type === null || type === undefined || typeof type === 'string') {\n      return;\n    }\n\n    var propTypes;\n\n    if (typeof type === 'function') {\n      propTypes = type.propTypes;\n    } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n    // Inner props are checked in the reconciler.\n    type.$$typeof === REACT_MEMO_TYPE)) {\n      propTypes = type.propTypes;\n    } else {\n      return;\n    }\n\n    if (propTypes) {\n      // Intentionally inside to avoid triggering lazy initializers:\n      var name = getComponentNameFromType(type);\n      checkPropTypes(propTypes, element.props, 'prop', name, element);\n    } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n      propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n      var _name = getComponentNameFromType(type);\n\n      error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n    }\n\n    if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n      error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n    }\n  }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n  {\n    var keys = Object.keys(fragment.props);\n\n    for (var i = 0; i < keys.length; i++) {\n      var key = keys[i];\n\n      if (key !== 'children' && key !== 'key') {\n        setCurrentlyValidatingElement$1(fragment);\n\n        error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n        setCurrentlyValidatingElement$1(null);\n        break;\n      }\n    }\n\n    if (fragment.ref !== null) {\n      setCurrentlyValidatingElement$1(fragment);\n\n      error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n      setCurrentlyValidatingElement$1(null);\n    }\n  }\n}\n\nvar didWarnAboutKeySpread = {};\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n  {\n    var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n    // succeed and there will likely be errors in render.\n\n    if (!validType) {\n      var info = '';\n\n      if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n        info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n      }\n\n      var sourceInfo = getSourceInfoErrorAddendum(source);\n\n      if (sourceInfo) {\n        info += sourceInfo;\n      } else {\n        info += getDeclarationErrorAddendum();\n      }\n\n      var typeString;\n\n      if (type === null) {\n        typeString = 'null';\n      } else if (isArray(type)) {\n        typeString = 'array';\n      } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n        typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n        info = ' Did you accidentally export a JSX literal instead of a component?';\n      } else {\n        typeString = typeof type;\n      }\n\n      error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n    }\n\n    var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n    // TODO: Drop this when these are no longer allowed as the type argument.\n\n    if (element == null) {\n      return element;\n    } // Skip key warning if the type isn't valid since our key validation logic\n    // doesn't expect a non-string/function type and can throw confusing errors.\n    // We don't want exception behavior to differ between dev and prod.\n    // (Rendering will throw with a helpful message and as soon as the type is\n    // fixed, the key warnings will appear.)\n\n\n    if (validType) {\n      var children = props.children;\n\n      if (children !== undefined) {\n        if (isStaticChildren) {\n          if (isArray(children)) {\n            for (var i = 0; i < children.length; i++) {\n              validateChildKeys(children[i], type);\n            }\n\n            if (Object.freeze) {\n              Object.freeze(children);\n            }\n          } else {\n            error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n          }\n        } else {\n          validateChildKeys(children, type);\n        }\n      }\n    }\n\n    {\n      if (hasOwnProperty.call(props, 'key')) {\n        var componentName = getComponentNameFromType(type);\n        var keys = Object.keys(props).filter(function (k) {\n          return k !== 'key';\n        });\n        var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n        if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n          var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n          error('A props object containing a \"key\" prop is being spread into JSX:\\n' + '  let props = %s;\\n' + '  <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + '  let props = %s;\\n' + '  <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n          didWarnAboutKeySpread[componentName + beforeExample] = true;\n        }\n      }\n    }\n\n    if (type === REACT_FRAGMENT_TYPE) {\n      validateFragmentProps(element);\n    } else {\n      validatePropTypes(element);\n    }\n\n    return element;\n  }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n  {\n    return jsxWithValidation(type, props, key, true);\n  }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n  {\n    return jsxWithValidation(type, props, key, false);\n  }\n}\n\nvar jsx =  jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs =  jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n  })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n  module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","var characterMap = {\n\t\"À\": \"A\",\n\t\"Á\": \"A\",\n\t\"Â\": \"A\",\n\t\"Ã\": \"A\",\n\t\"Ä\": \"A\",\n\t\"Å\": \"A\",\n\t\"Ấ\": \"A\",\n\t\"Ắ\": \"A\",\n\t\"Ẳ\": \"A\",\n\t\"Ẵ\": \"A\",\n\t\"Ặ\": \"A\",\n\t\"Æ\": \"AE\",\n\t\"Ầ\": \"A\",\n\t\"Ằ\": \"A\",\n\t\"Ȃ\": \"A\",\n\t\"Ả\": \"A\",\n\t\"Ạ\": \"A\",\n\t\"Ẩ\": \"A\",\n\t\"Ẫ\": \"A\",\n\t\"Ậ\": \"A\",\n\t\"Ç\": \"C\",\n\t\"Ḉ\": \"C\",\n\t\"È\": \"E\",\n\t\"É\": \"E\",\n\t\"Ê\": \"E\",\n\t\"Ë\": \"E\",\n\t\"Ế\": \"E\",\n\t\"Ḗ\": \"E\",\n\t\"Ề\": \"E\",\n\t\"Ḕ\": \"E\",\n\t\"Ḝ\": \"E\",\n\t\"Ȇ\": \"E\",\n\t\"Ẻ\": \"E\",\n\t\"Ẽ\": \"E\",\n\t\"Ẹ\": \"E\",\n\t\"Ể\": \"E\",\n\t\"Ễ\": \"E\",\n\t\"Ệ\": \"E\",\n\t\"Ì\": \"I\",\n\t\"Í\": \"I\",\n\t\"Î\": \"I\",\n\t\"Ï\": \"I\",\n\t\"Ḯ\": \"I\",\n\t\"Ȋ\": \"I\",\n\t\"Ỉ\": \"I\",\n\t\"Ị\": \"I\",\n\t\"Ð\": \"D\",\n\t\"Ñ\": \"N\",\n\t\"Ò\": \"O\",\n\t\"Ó\": \"O\",\n\t\"Ô\": \"O\",\n\t\"Õ\": \"O\",\n\t\"Ö\": \"O\",\n\t\"Ø\": \"O\",\n\t\"Ố\": \"O\",\n\t\"Ṍ\": \"O\",\n\t\"Ṓ\": \"O\",\n\t\"Ȏ\": \"O\",\n\t\"Ỏ\": \"O\",\n\t\"Ọ\": \"O\",\n\t\"Ổ\": \"O\",\n\t\"Ỗ\": \"O\",\n\t\"Ộ\": \"O\",\n\t\"Ờ\": \"O\",\n\t\"Ở\": \"O\",\n\t\"Ỡ\": \"O\",\n\t\"Ớ\": \"O\",\n\t\"Ợ\": \"O\",\n\t\"Ù\": \"U\",\n\t\"Ú\": \"U\",\n\t\"Û\": \"U\",\n\t\"Ü\": \"U\",\n\t\"Ủ\": \"U\",\n\t\"Ụ\": \"U\",\n\t\"Ử\": \"U\",\n\t\"Ữ\": \"U\",\n\t\"Ự\": \"U\",\n\t\"Ý\": \"Y\",\n\t\"à\": \"a\",\n\t\"á\": \"a\",\n\t\"â\": \"a\",\n\t\"ã\": \"a\",\n\t\"ä\": \"a\",\n\t\"å\": \"a\",\n\t\"ấ\": \"a\",\n\t\"ắ\": \"a\",\n\t\"ẳ\": \"a\",\n\t\"ẵ\": \"a\",\n\t\"ặ\": \"a\",\n\t\"æ\": \"ae\",\n\t\"ầ\": \"a\",\n\t\"ằ\": \"a\",\n\t\"ȃ\": \"a\",\n\t\"ả\": \"a\",\n\t\"ạ\": \"a\",\n\t\"ẩ\": \"a\",\n\t\"ẫ\": \"a\",\n\t\"ậ\": \"a\",\n\t\"ç\": \"c\",\n\t\"ḉ\": \"c\",\n\t\"è\": \"e\",\n\t\"é\": \"e\",\n\t\"ê\": \"e\",\n\t\"ë\": \"e\",\n\t\"ế\": \"e\",\n\t\"ḗ\": \"e\",\n\t\"ề\": \"e\",\n\t\"ḕ\": \"e\",\n\t\"ḝ\": \"e\",\n\t\"ȇ\": \"e\",\n\t\"ẻ\": \"e\",\n\t\"ẽ\": \"e\",\n\t\"ẹ\": \"e\",\n\t\"ể\": \"e\",\n\t\"ễ\": \"e\",\n\t\"ệ\": \"e\",\n\t\"ì\": \"i\",\n\t\"í\": \"i\",\n\t\"î\": \"i\",\n\t\"ï\": \"i\",\n\t\"ḯ\": \"i\",\n\t\"ȋ\": \"i\",\n\t\"ỉ\": \"i\",\n\t\"ị\": \"i\",\n\t\"ð\": \"d\",\n\t\"ñ\": \"n\",\n\t\"ò\": \"o\",\n\t\"ó\": \"o\",\n\t\"ô\": \"o\",\n\t\"õ\": \"o\",\n\t\"ö\": \"o\",\n\t\"ø\": \"o\",\n\t\"ố\": \"o\",\n\t\"ṍ\": \"o\",\n\t\"ṓ\": \"o\",\n\t\"ȏ\": \"o\",\n\t\"ỏ\": \"o\",\n\t\"ọ\": \"o\",\n\t\"ổ\": \"o\",\n\t\"ỗ\": \"o\",\n\t\"ộ\": \"o\",\n\t\"ờ\": \"o\",\n\t\"ở\": \"o\",\n\t\"ỡ\": \"o\",\n\t\"ớ\": \"o\",\n\t\"ợ\": \"o\",\n\t\"ù\": \"u\",\n\t\"ú\": \"u\",\n\t\"û\": \"u\",\n\t\"ü\": \"u\",\n\t\"ủ\": \"u\",\n\t\"ụ\": \"u\",\n\t\"ử\": \"u\",\n\t\"ữ\": \"u\",\n\t\"ự\": \"u\",\n\t\"ý\": \"y\",\n\t\"ÿ\": \"y\",\n\t\"Ā\": \"A\",\n\t\"ā\": \"a\",\n\t\"Ă\": \"A\",\n\t\"ă\": \"a\",\n\t\"Ą\": \"A\",\n\t\"ą\": \"a\",\n\t\"Ć\": \"C\",\n\t\"ć\": \"c\",\n\t\"Ĉ\": \"C\",\n\t\"ĉ\": \"c\",\n\t\"Ċ\": \"C\",\n\t\"ċ\": \"c\",\n\t\"Č\": \"C\",\n\t\"č\": \"c\",\n\t\"C̆\": \"C\",\n\t\"c̆\": \"c\",\n\t\"Ď\": \"D\",\n\t\"ď\": \"d\",\n\t\"Đ\": \"D\",\n\t\"đ\": \"d\",\n\t\"Ē\": \"E\",\n\t\"ē\": \"e\",\n\t\"Ĕ\": \"E\",\n\t\"ĕ\": \"e\",\n\t\"Ė\": \"E\",\n\t\"ė\": \"e\",\n\t\"Ę\": \"E\",\n\t\"ę\": \"e\",\n\t\"Ě\": \"E\",\n\t\"ě\": \"e\",\n\t\"Ĝ\": \"G\",\n\t\"Ǵ\": \"G\",\n\t\"ĝ\": \"g\",\n\t\"ǵ\": \"g\",\n\t\"Ğ\": \"G\",\n\t\"ğ\": \"g\",\n\t\"Ġ\": \"G\",\n\t\"ġ\": \"g\",\n\t\"Ģ\": \"G\",\n\t\"ģ\": \"g\",\n\t\"Ĥ\": \"H\",\n\t\"ĥ\": \"h\",\n\t\"Ħ\": \"H\",\n\t\"ħ\": \"h\",\n\t\"Ḫ\": \"H\",\n\t\"ḫ\": \"h\",\n\t\"Ĩ\": \"I\",\n\t\"ĩ\": \"i\",\n\t\"Ī\": \"I\",\n\t\"ī\": \"i\",\n\t\"Ĭ\": \"I\",\n\t\"ĭ\": \"i\",\n\t\"Į\": \"I\",\n\t\"į\": \"i\",\n\t\"İ\": \"I\",\n\t\"ı\": \"i\",\n\t\"IJ\": \"IJ\",\n\t\"ij\": \"ij\",\n\t\"Ĵ\": \"J\",\n\t\"ĵ\": \"j\",\n\t\"Ķ\": \"K\",\n\t\"ķ\": \"k\",\n\t\"Ḱ\": \"K\",\n\t\"ḱ\": \"k\",\n\t\"K̆\": \"K\",\n\t\"k̆\": \"k\",\n\t\"Ĺ\": \"L\",\n\t\"ĺ\": \"l\",\n\t\"Ļ\": \"L\",\n\t\"ļ\": \"l\",\n\t\"Ľ\": \"L\",\n\t\"ľ\": \"l\",\n\t\"Ŀ\": \"L\",\n\t\"ŀ\": \"l\",\n\t\"Ł\": \"l\",\n\t\"ł\": \"l\",\n\t\"Ḿ\": \"M\",\n\t\"ḿ\": \"m\",\n\t\"M̆\": \"M\",\n\t\"m̆\": \"m\",\n\t\"Ń\": \"N\",\n\t\"ń\": \"n\",\n\t\"Ņ\": \"N\",\n\t\"ņ\": \"n\",\n\t\"Ň\": \"N\",\n\t\"ň\": \"n\",\n\t\"ʼn\": \"n\",\n\t\"N̆\": \"N\",\n\t\"n̆\": \"n\",\n\t\"Ō\": \"O\",\n\t\"ō\": \"o\",\n\t\"Ŏ\": \"O\",\n\t\"ŏ\": \"o\",\n\t\"Ő\": \"O\",\n\t\"ő\": \"o\",\n\t\"Œ\": \"OE\",\n\t\"œ\": \"oe\",\n\t\"P̆\": \"P\",\n\t\"p̆\": \"p\",\n\t\"Ŕ\": \"R\",\n\t\"ŕ\": \"r\",\n\t\"Ŗ\": \"R\",\n\t\"ŗ\": \"r\",\n\t\"Ř\": \"R\",\n\t\"ř\": \"r\",\n\t\"R̆\": \"R\",\n\t\"r̆\": \"r\",\n\t\"Ȓ\": \"R\",\n\t\"ȓ\": \"r\",\n\t\"Ś\": \"S\",\n\t\"ś\": \"s\",\n\t\"Ŝ\": \"S\",\n\t\"ŝ\": \"s\",\n\t\"Ş\": \"S\",\n\t\"Ș\": \"S\",\n\t\"ș\": \"s\",\n\t\"ş\": \"s\",\n\t\"Š\": \"S\",\n\t\"š\": \"s\",\n\t\"Ţ\": \"T\",\n\t\"ţ\": \"t\",\n\t\"ț\": \"t\",\n\t\"Ț\": \"T\",\n\t\"Ť\": \"T\",\n\t\"ť\": \"t\",\n\t\"Ŧ\": \"T\",\n\t\"ŧ\": \"t\",\n\t\"T̆\": \"T\",\n\t\"t̆\": \"t\",\n\t\"Ũ\": \"U\",\n\t\"ũ\": \"u\",\n\t\"Ū\": \"U\",\n\t\"ū\": \"u\",\n\t\"Ŭ\": \"U\",\n\t\"ŭ\": \"u\",\n\t\"Ů\": \"U\",\n\t\"ů\": \"u\",\n\t\"Ű\": \"U\",\n\t\"ű\": \"u\",\n\t\"Ų\": \"U\",\n\t\"ų\": \"u\",\n\t\"Ȗ\": \"U\",\n\t\"ȗ\": \"u\",\n\t\"V̆\": \"V\",\n\t\"v̆\": \"v\",\n\t\"Ŵ\": \"W\",\n\t\"ŵ\": \"w\",\n\t\"Ẃ\": \"W\",\n\t\"ẃ\": \"w\",\n\t\"X̆\": \"X\",\n\t\"x̆\": \"x\",\n\t\"Ŷ\": \"Y\",\n\t\"ŷ\": \"y\",\n\t\"Ÿ\": \"Y\",\n\t\"Y̆\": \"Y\",\n\t\"y̆\": \"y\",\n\t\"Ź\": \"Z\",\n\t\"ź\": \"z\",\n\t\"Ż\": \"Z\",\n\t\"ż\": \"z\",\n\t\"Ž\": \"Z\",\n\t\"ž\": \"z\",\n\t\"ſ\": \"s\",\n\t\"ƒ\": \"f\",\n\t\"Ơ\": \"O\",\n\t\"ơ\": \"o\",\n\t\"Ư\": \"U\",\n\t\"ư\": \"u\",\n\t\"Ǎ\": \"A\",\n\t\"ǎ\": \"a\",\n\t\"Ǐ\": \"I\",\n\t\"ǐ\": \"i\",\n\t\"Ǒ\": \"O\",\n\t\"ǒ\": \"o\",\n\t\"Ǔ\": \"U\",\n\t\"ǔ\": \"u\",\n\t\"Ǖ\": \"U\",\n\t\"ǖ\": \"u\",\n\t\"Ǘ\": \"U\",\n\t\"ǘ\": \"u\",\n\t\"Ǚ\": \"U\",\n\t\"ǚ\": \"u\",\n\t\"Ǜ\": \"U\",\n\t\"ǜ\": \"u\",\n\t\"Ứ\": \"U\",\n\t\"ứ\": \"u\",\n\t\"Ṹ\": \"U\",\n\t\"ṹ\": \"u\",\n\t\"Ǻ\": \"A\",\n\t\"ǻ\": \"a\",\n\t\"Ǽ\": \"AE\",\n\t\"ǽ\": \"ae\",\n\t\"Ǿ\": \"O\",\n\t\"ǿ\": \"o\",\n\t\"Þ\": \"TH\",\n\t\"þ\": \"th\",\n\t\"Ṕ\": \"P\",\n\t\"ṕ\": \"p\",\n\t\"Ṥ\": \"S\",\n\t\"ṥ\": \"s\",\n\t\"X́\": \"X\",\n\t\"x́\": \"x\",\n\t\"Ѓ\": \"Г\",\n\t\"ѓ\": \"г\",\n\t\"Ќ\": \"К\",\n\t\"ќ\": \"к\",\n\t\"A̋\": \"A\",\n\t\"a̋\": \"a\",\n\t\"E̋\": \"E\",\n\t\"e̋\": \"e\",\n\t\"I̋\": \"I\",\n\t\"i̋\": \"i\",\n\t\"Ǹ\": \"N\",\n\t\"ǹ\": \"n\",\n\t\"Ồ\": \"O\",\n\t\"ồ\": \"o\",\n\t\"Ṑ\": \"O\",\n\t\"ṑ\": \"o\",\n\t\"Ừ\": \"U\",\n\t\"ừ\": \"u\",\n\t\"Ẁ\": \"W\",\n\t\"ẁ\": \"w\",\n\t\"Ỳ\": \"Y\",\n\t\"ỳ\": \"y\",\n\t\"Ȁ\": \"A\",\n\t\"ȁ\": \"a\",\n\t\"Ȅ\": \"E\",\n\t\"ȅ\": \"e\",\n\t\"Ȉ\": \"I\",\n\t\"ȉ\": \"i\",\n\t\"Ȍ\": \"O\",\n\t\"ȍ\": \"o\",\n\t\"Ȑ\": \"R\",\n\t\"ȑ\": \"r\",\n\t\"Ȕ\": \"U\",\n\t\"ȕ\": \"u\",\n\t\"B̌\": \"B\",\n\t\"b̌\": \"b\",\n\t\"Č̣\": \"C\",\n\t\"č̣\": \"c\",\n\t\"Ê̌\": \"E\",\n\t\"ê̌\": \"e\",\n\t\"F̌\": \"F\",\n\t\"f̌\": \"f\",\n\t\"Ǧ\": \"G\",\n\t\"ǧ\": \"g\",\n\t\"Ȟ\": \"H\",\n\t\"ȟ\": \"h\",\n\t\"J̌\": \"J\",\n\t\"ǰ\": \"j\",\n\t\"Ǩ\": \"K\",\n\t\"ǩ\": \"k\",\n\t\"M̌\": \"M\",\n\t\"m̌\": \"m\",\n\t\"P̌\": \"P\",\n\t\"p̌\": \"p\",\n\t\"Q̌\": \"Q\",\n\t\"q̌\": \"q\",\n\t\"Ř̩\": \"R\",\n\t\"ř̩\": \"r\",\n\t\"Ṧ\": \"S\",\n\t\"ṧ\": \"s\",\n\t\"V̌\": \"V\",\n\t\"v̌\": \"v\",\n\t\"W̌\": \"W\",\n\t\"w̌\": \"w\",\n\t\"X̌\": \"X\",\n\t\"x̌\": \"x\",\n\t\"Y̌\": \"Y\",\n\t\"y̌\": \"y\",\n\t\"A̧\": \"A\",\n\t\"a̧\": \"a\",\n\t\"B̧\": \"B\",\n\t\"b̧\": \"b\",\n\t\"Ḑ\": \"D\",\n\t\"ḑ\": \"d\",\n\t\"Ȩ\": \"E\",\n\t\"ȩ\": \"e\",\n\t\"Ɛ̧\": \"E\",\n\t\"ɛ̧\": \"e\",\n\t\"Ḩ\": \"H\",\n\t\"ḩ\": \"h\",\n\t\"I̧\": \"I\",\n\t\"i̧\": \"i\",\n\t\"Ɨ̧\": \"I\",\n\t\"ɨ̧\": \"i\",\n\t\"M̧\": \"M\",\n\t\"m̧\": \"m\",\n\t\"O̧\": \"O\",\n\t\"o̧\": \"o\",\n\t\"Q̧\": \"Q\",\n\t\"q̧\": \"q\",\n\t\"U̧\": \"U\",\n\t\"u̧\": \"u\",\n\t\"X̧\": \"X\",\n\t\"x̧\": \"x\",\n\t\"Z̧\": \"Z\",\n\t\"z̧\": \"z\",\n\t\"й\":\"и\",\n\t\"Й\":\"И\",\n\t\"ё\":\"е\",\n\t\"Ё\":\"Е\",\n};\n\nvar chars = Object.keys(characterMap).join('|');\nvar allAccents = new RegExp(chars, 'g');\nvar firstAccent = new RegExp(chars, '');\n\nfunction matcher(match) {\n\treturn characterMap[match];\n}\n\nvar removeAccents = function(string) {\n\treturn string.replace(allAccents, matcher);\n};\n\nvar hasAccents = function(string) {\n\treturn !!string.match(firstAccent);\n};\n\nmodule.exports = removeAccents;\nmodule.exports.has = hasAccents;\nmodule.exports.remove = removeAccents;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n\n          'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n    'function'\n) {\n  __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n          var React = require('react');\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n  {\n    {\n      for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n        args[_key2 - 1] = arguments[_key2];\n      }\n\n      printWarning('error', format, args);\n    }\n  }\n}\n\nfunction printWarning(level, format, args) {\n  // When changing this logic, you might want to also\n  // update consoleWithStackDev.www.js as well.\n  {\n    var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n    var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n    if (stack !== '') {\n      format += '%s';\n      args = args.concat([stack]);\n    } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n    var argsWithFormat = args.map(function (item) {\n      return String(item);\n    }); // Careful: RN currently depends on this prefix\n\n    argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n    // breaks IE9: https://github.com/facebook/react/issues/13610\n    // eslint-disable-next-line react-internal/no-production-logging\n\n    Function.prototype.apply.call(console[level], console, argsWithFormat);\n  }\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n  return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n  ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n// dispatch for CommonJS interop named imports.\n\nvar useState = React.useState,\n    useEffect = React.useEffect,\n    useLayoutEffect = React.useLayoutEffect,\n    useDebugValue = React.useDebugValue;\nvar didWarnOld18Alpha = false;\nvar didWarnUncachedGetSnapshot = false; // Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\n\nfunction useSyncExternalStore(subscribe, getSnapshot, // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n// React do not expose a way to check if we're hydrating. So users of the shim\n// will need to track that themselves and return the correct value\n// from `getSnapshot`.\ngetServerSnapshot) {\n  {\n    if (!didWarnOld18Alpha) {\n      if (React.startTransition !== undefined) {\n        didWarnOld18Alpha = true;\n\n        error('You are using an outdated, pre-release alpha of React 18 that ' + 'does not support useSyncExternalStore. The ' + 'use-sync-external-store shim will not work correctly. Upgrade ' + 'to a newer pre-release.');\n      }\n    }\n  } // Read the current snapshot from the store on every render. Again, this\n  // breaks the rules of React, and only works here because of specific\n  // implementation details, most importantly that updates are\n  // always synchronous.\n\n\n  var value = getSnapshot();\n\n  {\n    if (!didWarnUncachedGetSnapshot) {\n      var cachedValue = getSnapshot();\n\n      if (!objectIs(value, cachedValue)) {\n        error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n        didWarnUncachedGetSnapshot = true;\n      }\n    }\n  } // Because updates are synchronous, we don't queue them. Instead we force a\n  // re-render whenever the subscribed state changes by updating an some\n  // arbitrary useState hook. Then, during render, we call getSnapshot to read\n  // the current value.\n  //\n  // Because we don't actually use the state returned by the useState hook, we\n  // can save a bit of memory by storing other stuff in that slot.\n  //\n  // To implement the early bailout, we need to track some things on a mutable\n  // object. Usually, we would put that in a useRef hook, but we can stash it in\n  // our useState hook instead.\n  //\n  // To force a re-render, we call forceUpdate({inst}). That works because the\n  // new object always fails an equality check.\n\n\n  var _useState = useState({\n    inst: {\n      value: value,\n      getSnapshot: getSnapshot\n    }\n  }),\n      inst = _useState[0].inst,\n      forceUpdate = _useState[1]; // Track the latest getSnapshot function with a ref. This needs to be updated\n  // in the layout phase so we can access it during the tearing check that\n  // happens on subscribe.\n\n\n  useLayoutEffect(function () {\n    inst.value = value;\n    inst.getSnapshot = getSnapshot; // Whenever getSnapshot or subscribe changes, we need to check in the\n    // commit phase if there was an interleaved mutation. In concurrent mode\n    // this can happen all the time, but even in synchronous mode, an earlier\n    // effect may have mutated the store.\n\n    if (checkIfSnapshotChanged(inst)) {\n      // Force a re-render.\n      forceUpdate({\n        inst: inst\n      });\n    }\n  }, [subscribe, value, getSnapshot]);\n  useEffect(function () {\n    // Check for changes right before subscribing. Subsequent changes will be\n    // detected in the subscription handler.\n    if (checkIfSnapshotChanged(inst)) {\n      // Force a re-render.\n      forceUpdate({\n        inst: inst\n      });\n    }\n\n    var handleStoreChange = function () {\n      // TODO: Because there is no cross-renderer API for batching updates, it's\n      // up to the consumer of this library to wrap their subscription event\n      // with unstable_batchedUpdates. Should we try to detect when this isn't\n      // the case and print a warning in development?\n      // The store changed. Check if the snapshot changed since the last time we\n      // read from the store.\n      if (checkIfSnapshotChanged(inst)) {\n        // Force a re-render.\n        forceUpdate({\n          inst: inst\n        });\n      }\n    }; // Subscribe to the store and return a clean-up function.\n\n\n    return subscribe(handleStoreChange);\n  }, [subscribe]);\n  useDebugValue(value);\n  return value;\n}\n\nfunction checkIfSnapshotChanged(inst) {\n  var latestGetSnapshot = inst.getSnapshot;\n  var prevValue = inst.value;\n\n  try {\n    var nextValue = latestGetSnapshot();\n    return !objectIs(prevValue, nextValue);\n  } catch (error) {\n    return true;\n  }\n}\n\nfunction useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) {\n  // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n  // React do not expose a way to check if we're hydrating. So users of the shim\n  // will need to track that themselves and return the correct value\n  // from `getSnapshot`.\n  return getSnapshot();\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar isServerEnvironment = !canUseDOM;\n\nvar shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore;\nvar useSyncExternalStore$2 = React.useSyncExternalStore !== undefined ? React.useSyncExternalStore : shim;\n\nexports.useSyncExternalStore = useSyncExternalStore$2;\n          /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n    'function'\n) {\n  __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n        \n  })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n  module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","module.exports = window[\"React\"];","module.exports = window[\"ReactDOM\"];","module.exports = window[\"wp\"][\"apiFetch\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"compose\"];","module.exports = window[\"wp\"][\"coreData\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"date\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"i18n\"];","module.exports = window[\"wp\"][\"notices\"];","module.exports = window[\"wp\"][\"primitives\"];","module.exports = window[\"wp\"][\"privateApis\"];","module.exports = window[\"wp\"][\"url\"];","\"use client\";\nimport {\n  batch,\n  createStore,\n  init,\n  setup,\n  throwOnConflictingProps\n} from \"./EAHJFCU4.js\";\nimport {\n  chain,\n  defaultValue\n} from \"./Y3OOHFCN.js\";\nimport {\n  getDocument\n} from \"./DLOEKDPY.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/collection/collection-store.ts\nfunction isElementPreceding(a, b) {\n  return Boolean(\n    b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING\n  );\n}\nfunction sortBasedOnDOMPosition(items) {\n  const pairs = items.map((item, index) => [index, item]);\n  let isOrderDifferent = false;\n  pairs.sort(([indexA, a], [indexB, b]) => {\n    const elementA = a.element;\n    const elementB = b.element;\n    if (elementA === elementB)\n      return 0;\n    if (!elementA || !elementB)\n      return 0;\n    if (isElementPreceding(elementA, elementB)) {\n      if (indexA > indexB) {\n        isOrderDifferent = true;\n      }\n      return -1;\n    }\n    if (indexA < indexB) {\n      isOrderDifferent = true;\n    }\n    return 1;\n  });\n  if (isOrderDifferent) {\n    return pairs.map(([_, item]) => item);\n  }\n  return items;\n}\nfunction getCommonParent(items) {\n  var _a;\n  const firstItem = items.find((item) => !!item.element);\n  const lastItem = [...items].reverse().find((item) => !!item.element);\n  let parentElement = (_a = firstItem == null ? void 0 : firstItem.element) == null ? void 0 : _a.parentElement;\n  while (parentElement && (lastItem == null ? void 0 : lastItem.element)) {\n    const parent = parentElement;\n    if (lastItem && parent.contains(lastItem.element)) {\n      return parentElement;\n    }\n    parentElement = parentElement.parentElement;\n  }\n  return getDocument(parentElement).body;\n}\nfunction getPrivateStore(store) {\n  return store == null ? void 0 : store.__unstablePrivateStore;\n}\nfunction createCollectionStore(props = {}) {\n  var _a;\n  throwOnConflictingProps(props, props.store);\n  const syncState = (_a = props.store) == null ? void 0 : _a.getState();\n  const items = defaultValue(\n    props.items,\n    syncState == null ? void 0 : syncState.items,\n    props.defaultItems,\n    []\n  );\n  const itemsMap = new Map(items.map((item) => [item.id, item]));\n  const initialState = {\n    items,\n    renderedItems: defaultValue(syncState == null ? void 0 : syncState.renderedItems, [])\n  };\n  const syncPrivateStore = getPrivateStore(props.store);\n  const privateStore = createStore(\n    { items, renderedItems: initialState.renderedItems },\n    syncPrivateStore\n  );\n  const collection = createStore(initialState, props.store);\n  const sortItems = (renderedItems) => {\n    const sortedItems = sortBasedOnDOMPosition(renderedItems);\n    privateStore.setState(\"renderedItems\", sortedItems);\n    collection.setState(\"renderedItems\", sortedItems);\n  };\n  setup(collection, () => init(privateStore));\n  setup(privateStore, () => {\n    return batch(privateStore, [\"items\"], (state) => {\n      collection.setState(\"items\", state.items);\n    });\n  });\n  setup(privateStore, () => {\n    return batch(privateStore, [\"renderedItems\"], (state) => {\n      let firstRun = true;\n      let raf = requestAnimationFrame(() => {\n        const { renderedItems } = collection.getState();\n        if (state.renderedItems === renderedItems)\n          return;\n        sortItems(state.renderedItems);\n      });\n      if (typeof IntersectionObserver !== \"function\") {\n        return () => cancelAnimationFrame(raf);\n      }\n      const ioCallback = () => {\n        if (firstRun) {\n          firstRun = false;\n          return;\n        }\n        cancelAnimationFrame(raf);\n        raf = requestAnimationFrame(() => sortItems(state.renderedItems));\n      };\n      const root = getCommonParent(state.renderedItems);\n      const observer = new IntersectionObserver(ioCallback, { root });\n      for (const item of state.renderedItems) {\n        if (!item.element)\n          continue;\n        observer.observe(item.element);\n      }\n      return () => {\n        cancelAnimationFrame(raf);\n        observer.disconnect();\n      };\n    });\n  });\n  const mergeItem = (item, setItems, canDeleteFromMap = false) => {\n    let prevItem;\n    setItems((items2) => {\n      const index = items2.findIndex(({ id }) => id === item.id);\n      const nextItems = items2.slice();\n      if (index !== -1) {\n        prevItem = items2[index];\n        const nextItem = __spreadValues(__spreadValues({}, prevItem), item);\n        nextItems[index] = nextItem;\n        itemsMap.set(item.id, nextItem);\n      } else {\n        nextItems.push(item);\n        itemsMap.set(item.id, item);\n      }\n      return nextItems;\n    });\n    const unmergeItem = () => {\n      setItems((items2) => {\n        if (!prevItem) {\n          if (canDeleteFromMap) {\n            itemsMap.delete(item.id);\n          }\n          return items2.filter(({ id }) => id !== item.id);\n        }\n        const index = items2.findIndex(({ id }) => id === item.id);\n        if (index === -1)\n          return items2;\n        const nextItems = items2.slice();\n        nextItems[index] = prevItem;\n        itemsMap.set(item.id, prevItem);\n        return nextItems;\n      });\n    };\n    return unmergeItem;\n  };\n  const registerItem = (item) => mergeItem(\n    item,\n    (getItems) => privateStore.setState(\"items\", getItems),\n    true\n  );\n  return __spreadProps(__spreadValues({}, collection), {\n    registerItem,\n    renderItem: (item) => chain(\n      registerItem(item),\n      mergeItem(\n        item,\n        (getItems) => privateStore.setState(\"renderedItems\", getItems)\n      )\n    ),\n    item: (id) => {\n      if (!id)\n        return null;\n      let item = itemsMap.get(id);\n      if (!item) {\n        const { items: items2 } = collection.getState();\n        item = items2.find((item2) => item2.id === id);\n        if (item) {\n          itemsMap.set(id, item);\n        }\n      }\n      return item || null;\n    },\n    // @ts-expect-error Internal\n    __unstablePrivateStore: privateStore\n  });\n}\n\nexport {\n  createCollectionStore\n};\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n  for (var prop in b || (b = {}))\n    if (__hasOwnProp.call(b, prop))\n      __defNormalProp(a, prop, b[prop]);\n  if (__getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(b)) {\n      if (__propIsEnum.call(b, prop))\n        __defNormalProp(a, prop, b[prop]);\n    }\n  return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n  var target = {};\n  for (var prop in source)\n    if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n      target[prop] = source[prop];\n  if (source != null && __getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(source)) {\n      if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n        target[prop] = source[prop];\n    }\n  return target;\n};\n\nexport {\n  __spreadValues,\n  __spreadProps,\n  __objRest\n};\n","\"use client\";\n\n// src/utils/array.ts\nfunction toArray(arg) {\n  if (Array.isArray(arg)) {\n    return arg;\n  }\n  return typeof arg !== \"undefined\" ? [arg] : [];\n}\nfunction addItemToArray(array, item, index = -1) {\n  if (!(index in array)) {\n    return [...array, item];\n  }\n  return [...array.slice(0, index), item, ...array.slice(index)];\n}\nfunction flatten2DArray(array) {\n  const flattened = [];\n  for (const row of array) {\n    flattened.push(...row);\n  }\n  return flattened;\n}\nfunction reverseArray(array) {\n  return array.slice().reverse();\n}\n\nexport {\n  toArray,\n  addItemToArray,\n  flatten2DArray,\n  reverseArray\n};\n","\"use client\";\nimport {\n  createDialogStore\n} from \"./SX2XFD6A.js\";\nimport {\n  createStore,\n  mergeStore,\n  omit,\n  throwOnConflictingProps\n} from \"./EAHJFCU4.js\";\nimport {\n  defaultValue\n} from \"./Y3OOHFCN.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/popover/popover-store.ts\nfunction createPopoverStore(_a = {}) {\n  var _b = _a, {\n    popover: otherPopover\n  } = _b, props = __objRest(_b, [\n    \"popover\"\n  ]);\n  const store = mergeStore(\n    props.store,\n    omit(otherPopover, [\n      \"arrowElement\",\n      \"anchorElement\",\n      \"contentElement\",\n      \"popoverElement\",\n      \"disclosureElement\"\n    ])\n  );\n  throwOnConflictingProps(props, store);\n  const syncState = store == null ? void 0 : store.getState();\n  const dialog = createDialogStore(__spreadProps(__spreadValues({}, props), { store }));\n  const placement = defaultValue(\n    props.placement,\n    syncState == null ? void 0 : syncState.placement,\n    \"bottom\"\n  );\n  const initialState = __spreadProps(__spreadValues({}, dialog.getState()), {\n    placement,\n    currentPlacement: placement,\n    anchorElement: defaultValue(syncState == null ? void 0 : syncState.anchorElement, null),\n    popoverElement: defaultValue(syncState == null ? void 0 : syncState.popoverElement, null),\n    arrowElement: defaultValue(syncState == null ? void 0 : syncState.arrowElement, null),\n    rendered: Symbol(\"rendered\")\n  });\n  const popover = createStore(initialState, dialog, store);\n  return __spreadProps(__spreadValues(__spreadValues({}, dialog), popover), {\n    setAnchorElement: (element) => popover.setState(\"anchorElement\", element),\n    setPopoverElement: (element) => popover.setState(\"popoverElement\", element),\n    setArrowElement: (element) => popover.setState(\"arrowElement\", element),\n    render: () => popover.setState(\"rendered\", Symbol(\"rendered\"))\n  });\n}\n\nexport {\n  createPopoverStore\n};\n","\"use client\";\n\n// src/utils/dom.ts\nvar canUseDOM = checkIsBrowser();\nfunction checkIsBrowser() {\n  var _a;\n  return typeof window !== \"undefined\" && !!((_a = window.document) == null ? void 0 : _a.createElement);\n}\nfunction getDocument(node) {\n  return node ? node.ownerDocument || node : document;\n}\nfunction getWindow(node) {\n  return getDocument(node).defaultView || window;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getDocument(node);\n  if (!(activeElement == null ? void 0 : activeElement.nodeName)) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(\n      activeElement.contentDocument.body,\n      activeDescendant\n    );\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction contains(parent, child) {\n  return parent === child || parent.contains(child);\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nfunction isButton(element) {\n  const tagName = element.tagName.toLowerCase();\n  if (tagName === \"button\")\n    return true;\n  if (tagName === \"input\" && element.type) {\n    return buttonInputTypes.indexOf(element.type) !== -1;\n  }\n  return false;\n}\nvar buttonInputTypes = [\n  \"button\",\n  \"color\",\n  \"file\",\n  \"image\",\n  \"reset\",\n  \"submit\"\n];\nfunction matches(element, selectors) {\n  if (\"matches\" in element) {\n    return element.matches(selectors);\n  }\n  if (\"msMatchesSelector\" in element) {\n    return element.msMatchesSelector(selectors);\n  }\n  return element.webkitMatchesSelector(selectors);\n}\nfunction isVisible(element) {\n  const htmlElement = element;\n  return htmlElement.offsetWidth > 0 || htmlElement.offsetHeight > 0 || element.getClientRects().length > 0;\n}\nfunction closest(element, selectors) {\n  if (\"closest\" in element)\n    return element.closest(selectors);\n  do {\n    if (matches(element, selectors))\n      return element;\n    element = element.parentElement || element.parentNode;\n  } while (element !== null && element.nodeType === 1);\n  return null;\n}\nfunction isTextField(element) {\n  try {\n    const isTextInput = element instanceof HTMLInputElement && element.selectionStart !== null;\n    const isTextArea = element.tagName === \"TEXTAREA\";\n    return isTextInput || isTextArea || false;\n  } catch (error) {\n    return false;\n  }\n}\nfunction getPopupRole(element, fallback) {\n  const allowedPopupRoles = [\"dialog\", \"menu\", \"listbox\", \"tree\", \"grid\"];\n  const role = element == null ? void 0 : element.getAttribute(\"role\");\n  if (role && allowedPopupRoles.indexOf(role) !== -1) {\n    return role;\n  }\n  return fallback;\n}\nfunction getPopupItemRole(element, fallback) {\n  var _a;\n  const itemRoleByPopupRole = {\n    menu: \"menuitem\",\n    listbox: \"option\",\n    tree: \"treeitem\",\n    grid: \"gridcell\"\n  };\n  const popupRole = getPopupRole(element);\n  if (!popupRole)\n    return fallback;\n  const key = popupRole;\n  return (_a = itemRoleByPopupRole[key]) != null ? _a : fallback;\n}\nfunction getTextboxSelection(element) {\n  let start = 0;\n  let end = 0;\n  if (isTextField(element)) {\n    start = element.selectionStart || 0;\n    end = element.selectionEnd || 0;\n  } else if (element.isContentEditable) {\n    const selection = getDocument(element).getSelection();\n    if ((selection == null ? void 0 : selection.rangeCount) && selection.anchorNode && contains(element, selection.anchorNode) && selection.focusNode && contains(element, selection.focusNode)) {\n      const range = selection.getRangeAt(0);\n      const nextRange = range.cloneRange();\n      nextRange.selectNodeContents(element);\n      nextRange.setEnd(range.startContainer, range.startOffset);\n      start = nextRange.toString().length;\n      nextRange.setEnd(range.endContainer, range.endOffset);\n      end = nextRange.toString().length;\n    }\n  }\n  return { start, end };\n}\nfunction scrollIntoViewIfNeeded(element, arg) {\n  if (isPartiallyHidden(element) && \"scrollIntoView\" in element) {\n    element.scrollIntoView(arg);\n  }\n}\nfunction getScrollingElement(element) {\n  if (!element)\n    return null;\n  if (element.clientHeight && element.scrollHeight > element.clientHeight) {\n    const { overflowY } = getComputedStyle(element);\n    const isScrollable = overflowY !== \"visible\" && overflowY !== \"hidden\";\n    if (isScrollable)\n      return element;\n  } else if (element.clientWidth && element.scrollWidth > element.clientWidth) {\n    const { overflowX } = getComputedStyle(element);\n    const isScrollable = overflowX !== \"visible\" && overflowX !== \"hidden\";\n    if (isScrollable)\n      return element;\n  }\n  return getScrollingElement(element.parentElement) || document.scrollingElement || document.body;\n}\nfunction isPartiallyHidden(element) {\n  const elementRect = element.getBoundingClientRect();\n  const scroller = getScrollingElement(element);\n  if (!scroller)\n    return false;\n  const scrollerRect = scroller.getBoundingClientRect();\n  const isHTML = scroller.tagName === \"HTML\";\n  const scrollerTop = isHTML ? scrollerRect.top + scroller.scrollTop : scrollerRect.top;\n  const scrollerBottom = isHTML ? scroller.clientHeight : scrollerRect.bottom;\n  const scrollerLeft = isHTML ? scrollerRect.left + scroller.scrollLeft : scrollerRect.left;\n  const scrollerRight = isHTML ? scroller.clientWidth : scrollerRect.right;\n  const top = elementRect.top < scrollerTop;\n  const left = elementRect.left < scrollerLeft;\n  const bottom = elementRect.bottom > scrollerBottom;\n  const right = elementRect.right > scrollerRight;\n  return top || left || bottom || right;\n}\nfunction setSelectionRange(element, ...args) {\n  if (/text|search|password|tel|url/i.test(element.type)) {\n    element.setSelectionRange(...args);\n  }\n}\n\nexport {\n  canUseDOM,\n  getDocument,\n  getWindow,\n  getActiveElement,\n  contains,\n  isFrame,\n  isButton,\n  matches,\n  isVisible,\n  closest,\n  isTextField,\n  getPopupRole,\n  getPopupItemRole,\n  getTextboxSelection,\n  scrollIntoViewIfNeeded,\n  getScrollingElement,\n  isPartiallyHidden,\n  setSelectionRange\n};\n","\"use client\";\nimport {\n  applyState,\n  chain,\n  getKeys,\n  hasOwnProperty,\n  invariant,\n  noop,\n  omit,\n  pick\n} from \"./Y3OOHFCN.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/store.ts\nfunction getInternal(store, key) {\n  const internals = store.__unstableInternals;\n  invariant(internals, \"Invalid store\");\n  return internals[key];\n}\nfunction createStore(initialState, ...stores) {\n  let state = initialState;\n  let prevStateBatch = state;\n  let lastUpdate = Symbol();\n  let destroy = noop;\n  const instances = /* @__PURE__ */ new Set();\n  const updatedKeys = /* @__PURE__ */ new Set();\n  const setups = /* @__PURE__ */ new Set();\n  const listeners = /* @__PURE__ */ new Set();\n  const batchListeners = /* @__PURE__ */ new Set();\n  const disposables = /* @__PURE__ */ new WeakMap();\n  const listenerKeys = /* @__PURE__ */ new WeakMap();\n  const storeSetup = (callback) => {\n    setups.add(callback);\n    return () => setups.delete(callback);\n  };\n  const storeInit = () => {\n    const initialized = instances.size;\n    const instance = Symbol();\n    instances.add(instance);\n    const maybeDestroy = () => {\n      instances.delete(instance);\n      if (instances.size)\n        return;\n      destroy();\n    };\n    if (initialized)\n      return maybeDestroy;\n    const desyncs = getKeys(state).map(\n      (key) => chain(\n        ...stores.map((store) => {\n          var _a;\n          const storeState = (_a = store == null ? void 0 : store.getState) == null ? void 0 : _a.call(store);\n          if (!storeState)\n            return;\n          if (!hasOwnProperty(storeState, key))\n            return;\n          return sync(store, [key], (state2) => {\n            setState(\n              key,\n              state2[key],\n              // @ts-expect-error - Not public API. This is just to prevent\n              // infinite loops.\n              true\n            );\n          });\n        })\n      )\n    );\n    const teardowns = [];\n    setups.forEach((setup2) => teardowns.push(setup2()));\n    const cleanups = stores.map(init);\n    destroy = chain(...desyncs, ...teardowns, ...cleanups);\n    return maybeDestroy;\n  };\n  const sub = (keys, listener, set = listeners) => {\n    set.add(listener);\n    listenerKeys.set(listener, keys);\n    return () => {\n      var _a;\n      (_a = disposables.get(listener)) == null ? void 0 : _a();\n      disposables.delete(listener);\n      listenerKeys.delete(listener);\n      set.delete(listener);\n    };\n  };\n  const storeSubscribe = (keys, listener) => sub(keys, listener);\n  const storeSync = (keys, listener) => {\n    disposables.set(listener, listener(state, state));\n    return sub(keys, listener);\n  };\n  const storeBatch = (keys, listener) => {\n    disposables.set(listener, listener(state, prevStateBatch));\n    return sub(keys, listener, batchListeners);\n  };\n  const storePick = (keys) => createStore(pick(state, keys), finalStore);\n  const storeOmit = (keys) => createStore(omit(state, keys), finalStore);\n  const getState = () => state;\n  const setState = (key, value, fromStores = false) => {\n    if (!hasOwnProperty(state, key))\n      return;\n    const nextValue = applyState(value, state[key]);\n    if (nextValue === state[key])\n      return;\n    if (!fromStores) {\n      stores.forEach((store) => {\n        var _a;\n        (_a = store == null ? void 0 : store.setState) == null ? void 0 : _a.call(store, key, nextValue);\n      });\n    }\n    const prevState = state;\n    state = __spreadProps(__spreadValues({}, state), { [key]: nextValue });\n    const thisUpdate = Symbol();\n    lastUpdate = thisUpdate;\n    updatedKeys.add(key);\n    const run = (listener, prev, uKeys) => {\n      var _a;\n      const keys = listenerKeys.get(listener);\n      const updated = (k) => uKeys ? uKeys.has(k) : k === key;\n      if (!keys || keys.some(updated)) {\n        (_a = disposables.get(listener)) == null ? void 0 : _a();\n        disposables.set(listener, listener(state, prev));\n      }\n    };\n    listeners.forEach((listener) => {\n      run(listener, prevState);\n    });\n    queueMicrotask(() => {\n      if (lastUpdate !== thisUpdate)\n        return;\n      const snapshot = state;\n      batchListeners.forEach((listener) => {\n        run(listener, prevStateBatch, updatedKeys);\n      });\n      prevStateBatch = snapshot;\n      updatedKeys.clear();\n    });\n  };\n  const finalStore = {\n    getState,\n    setState,\n    __unstableInternals: {\n      setup: storeSetup,\n      init: storeInit,\n      subscribe: storeSubscribe,\n      sync: storeSync,\n      batch: storeBatch,\n      pick: storePick,\n      omit: storeOmit\n    }\n  };\n  return finalStore;\n}\nfunction setup(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"setup\")(...args);\n}\nfunction init(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"init\")(...args);\n}\nfunction subscribe(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"subscribe\")(...args);\n}\nfunction sync(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"sync\")(...args);\n}\nfunction batch(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"batch\")(...args);\n}\nfunction omit2(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"omit\")(...args);\n}\nfunction pick2(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"pick\")(...args);\n}\nfunction mergeStore(...stores) {\n  const initialState = stores.reduce((state, store2) => {\n    var _a;\n    const nextState = (_a = store2 == null ? void 0 : store2.getState) == null ? void 0 : _a.call(store2);\n    if (!nextState)\n      return state;\n    return __spreadValues(__spreadValues({}, state), nextState);\n  }, {});\n  const store = createStore(initialState, ...stores);\n  return store;\n}\nfunction throwOnConflictingProps(props, store) {\n  if (process.env.NODE_ENV === \"production\")\n    return;\n  if (!store)\n    return;\n  const defaultKeys = Object.entries(props).filter(([key, value]) => key.startsWith(\"default\") && value !== void 0).map(([key]) => {\n    var _a;\n    const stateKey = key.replace(\"default\", \"\");\n    return `${((_a = stateKey[0]) == null ? void 0 : _a.toLowerCase()) || \"\"}${stateKey.slice(1)}`;\n  });\n  if (!defaultKeys.length)\n    return;\n  const storeState = store.getState();\n  const conflictingProps = defaultKeys.filter(\n    (key) => hasOwnProperty(storeState, key)\n  );\n  if (!conflictingProps.length)\n    return;\n  throw new Error(\n    `Passing a store prop in conjunction with a default state is not supported.\n\nconst store = useSelectStore();\n<SelectProvider store={store} defaultValue=\"Apple\" />\n                ^             ^\n\nInstead, pass the default state to the topmost store:\n\nconst store = useSelectStore({ defaultValue: \"Apple\" });\n<SelectProvider store={store} />\n\nSee https://github.com/ariakit/ariakit/pull/2745 for more details.\n\nIf there's a particular need for this, please submit a feature request at https://github.com/ariakit/ariakit\n`\n  );\n}\n\nexport {\n  createStore,\n  setup,\n  init,\n  subscribe,\n  sync,\n  batch,\n  omit2 as omit,\n  pick2 as pick,\n  mergeStore,\n  throwOnConflictingProps\n};\n","\"use client\";\nimport {\n  createCollectionStore\n} from \"./22K762VQ.js\";\nimport {\n  createStore,\n  setup,\n  sync\n} from \"./EAHJFCU4.js\";\nimport {\n  defaultValue\n} from \"./Y3OOHFCN.js\";\nimport {\n  flatten2DArray,\n  reverseArray\n} from \"./7PRQYBBV.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-store.ts\nvar NULL_ITEM = { id: null };\nfunction findFirstEnabledItem(items, excludeId) {\n  return items.find((item) => {\n    if (excludeId) {\n      return !item.disabled && item.id !== excludeId;\n    }\n    return !item.disabled;\n  });\n}\nfunction getEnabledItems(items, excludeId) {\n  return items.filter((item) => {\n    if (excludeId) {\n      return !item.disabled && item.id !== excludeId;\n    }\n    return !item.disabled;\n  });\n}\nfunction getOppositeOrientation(orientation) {\n  if (orientation === \"vertical\")\n    return \"horizontal\";\n  if (orientation === \"horizontal\")\n    return \"vertical\";\n  return;\n}\nfunction getItemsInRow(items, rowId) {\n  return items.filter((item) => item.rowId === rowId);\n}\nfunction flipItems(items, activeId, shouldInsertNullItem = false) {\n  const index = items.findIndex((item) => item.id === activeId);\n  return [\n    ...items.slice(index + 1),\n    ...shouldInsertNullItem ? [NULL_ITEM] : [],\n    ...items.slice(0, index)\n  ];\n}\nfunction groupItemsByRows(items) {\n  const rows = [];\n  for (const item of items) {\n    const row = rows.find((currentRow) => {\n      var _a;\n      return ((_a = currentRow[0]) == null ? void 0 : _a.rowId) === item.rowId;\n    });\n    if (row) {\n      row.push(item);\n    } else {\n      rows.push([item]);\n    }\n  }\n  return rows;\n}\nfunction getMaxRowLength(array) {\n  let maxLength = 0;\n  for (const { length } of array) {\n    if (length > maxLength) {\n      maxLength = length;\n    }\n  }\n  return maxLength;\n}\nfunction createEmptyItem(rowId) {\n  return {\n    id: \"__EMPTY_ITEM__\",\n    disabled: true,\n    rowId\n  };\n}\nfunction normalizeRows(rows, activeId, focusShift) {\n  const maxLength = getMaxRowLength(rows);\n  for (const row of rows) {\n    for (let i = 0; i < maxLength; i += 1) {\n      const item = row[i];\n      if (!item || focusShift && item.disabled) {\n        const isFirst = i === 0;\n        const previousItem = isFirst && focusShift ? findFirstEnabledItem(row) : row[i - 1];\n        row[i] = previousItem && activeId !== previousItem.id && focusShift ? previousItem : createEmptyItem(previousItem == null ? void 0 : previousItem.rowId);\n      }\n    }\n  }\n  return rows;\n}\nfunction verticalizeItems(items) {\n  const rows = groupItemsByRows(items);\n  const maxLength = getMaxRowLength(rows);\n  const verticalized = [];\n  for (let i = 0; i < maxLength; i += 1) {\n    for (const row of rows) {\n      const item = row[i];\n      if (item) {\n        verticalized.push(__spreadProps(__spreadValues({}, item), {\n          // If there's no rowId, it means that it's not a grid composite, but\n          // a single row instead. So, instead of verticalizing it, that is,\n          // assigning a different rowId based on the column index, we keep it\n          // undefined so they will be part of the same row. This is useful\n          // when using up/down on one-dimensional composites.\n          rowId: item.rowId ? `${i}` : void 0\n        }));\n      }\n    }\n  }\n  return verticalized;\n}\nfunction createCompositeStore(props = {}) {\n  var _a;\n  const syncState = (_a = props.store) == null ? void 0 : _a.getState();\n  const collection = createCollectionStore(props);\n  const activeId = defaultValue(\n    props.activeId,\n    syncState == null ? void 0 : syncState.activeId,\n    props.defaultActiveId\n  );\n  const initialState = __spreadProps(__spreadValues({}, collection.getState()), {\n    activeId,\n    baseElement: defaultValue(syncState == null ? void 0 : syncState.baseElement, null),\n    includesBaseElement: defaultValue(\n      props.includesBaseElement,\n      syncState == null ? void 0 : syncState.includesBaseElement,\n      activeId === null\n    ),\n    moves: defaultValue(syncState == null ? void 0 : syncState.moves, 0),\n    orientation: defaultValue(\n      props.orientation,\n      syncState == null ? void 0 : syncState.orientation,\n      \"both\"\n    ),\n    rtl: defaultValue(props.rtl, syncState == null ? void 0 : syncState.rtl, false),\n    virtualFocus: defaultValue(\n      props.virtualFocus,\n      syncState == null ? void 0 : syncState.virtualFocus,\n      false\n    ),\n    focusLoop: defaultValue(props.focusLoop, syncState == null ? void 0 : syncState.focusLoop, false),\n    focusWrap: defaultValue(props.focusWrap, syncState == null ? void 0 : syncState.focusWrap, false),\n    focusShift: defaultValue(props.focusShift, syncState == null ? void 0 : syncState.focusShift, false)\n  });\n  const composite = createStore(initialState, collection, props.store);\n  setup(\n    composite,\n    () => sync(composite, [\"renderedItems\", \"activeId\"], (state) => {\n      composite.setState(\"activeId\", (activeId2) => {\n        var _a2;\n        if (activeId2 !== void 0)\n          return activeId2;\n        return (_a2 = findFirstEnabledItem(state.renderedItems)) == null ? void 0 : _a2.id;\n      });\n    })\n  );\n  const getNextId = (items, orientation, hasNullItem, skip) => {\n    var _a2, _b;\n    const { activeId: activeId2, rtl, focusLoop, focusWrap, includesBaseElement } = composite.getState();\n    const isHorizontal = orientation !== \"vertical\";\n    const isRTL = rtl && isHorizontal;\n    const allItems = isRTL ? reverseArray(items) : items;\n    if (activeId2 == null) {\n      return (_a2 = findFirstEnabledItem(allItems)) == null ? void 0 : _a2.id;\n    }\n    const activeItem = allItems.find((item) => item.id === activeId2);\n    if (!activeItem) {\n      return (_b = findFirstEnabledItem(allItems)) == null ? void 0 : _b.id;\n    }\n    const isGrid = !!activeItem.rowId;\n    const activeIndex = allItems.indexOf(activeItem);\n    const nextItems = allItems.slice(activeIndex + 1);\n    const nextItemsInRow = getItemsInRow(nextItems, activeItem.rowId);\n    if (skip !== void 0) {\n      const nextEnabledItemsInRow = getEnabledItems(nextItemsInRow, activeId2);\n      const nextItem2 = nextEnabledItemsInRow.slice(skip)[0] || // If we can't find an item, just return the last one.\n      nextEnabledItemsInRow[nextEnabledItemsInRow.length - 1];\n      return nextItem2 == null ? void 0 : nextItem2.id;\n    }\n    const oppositeOrientation = getOppositeOrientation(\n      // If it's a grid and orientation is not set, it's a next/previous call,\n      // which is inherently horizontal. up/down will call next with orientation\n      // set to vertical by default (see below on up/down methods).\n      isGrid ? orientation || \"horizontal\" : orientation\n    );\n    const canLoop = focusLoop && focusLoop !== oppositeOrientation;\n    const canWrap = isGrid && focusWrap && focusWrap !== oppositeOrientation;\n    hasNullItem = hasNullItem || !isGrid && canLoop && includesBaseElement;\n    if (canLoop) {\n      const loopItems = canWrap && !hasNullItem ? allItems : getItemsInRow(allItems, activeItem.rowId);\n      const sortedItems = flipItems(loopItems, activeId2, hasNullItem);\n      const nextItem2 = findFirstEnabledItem(sortedItems, activeId2);\n      return nextItem2 == null ? void 0 : nextItem2.id;\n    }\n    if (canWrap) {\n      const nextItem2 = findFirstEnabledItem(\n        // We can use nextItems, which contains all the next items, including\n        // items from other rows, to wrap between rows. However, if there is a\n        // null item (the composite container), we'll only use the next items in\n        // the row. So moving next from the last item will focus on the\n        // composite container. On grid composites, horizontal navigation never\n        // focuses on the composite container, only vertical.\n        hasNullItem ? nextItemsInRow : nextItems,\n        activeId2\n      );\n      const nextId = hasNullItem ? (nextItem2 == null ? void 0 : nextItem2.id) || null : nextItem2 == null ? void 0 : nextItem2.id;\n      return nextId;\n    }\n    const nextItem = findFirstEnabledItem(nextItemsInRow, activeId2);\n    if (!nextItem && hasNullItem) {\n      return null;\n    }\n    return nextItem == null ? void 0 : nextItem.id;\n  };\n  return __spreadProps(__spreadValues(__spreadValues({}, collection), composite), {\n    setBaseElement: (element) => composite.setState(\"baseElement\", element),\n    setActiveId: (id) => composite.setState(\"activeId\", id),\n    move: (id) => {\n      if (id === void 0)\n        return;\n      composite.setState(\"activeId\", id);\n      composite.setState(\"moves\", (moves) => moves + 1);\n    },\n    first: () => {\n      var _a2;\n      return (_a2 = findFirstEnabledItem(composite.getState().renderedItems)) == null ? void 0 : _a2.id;\n    },\n    last: () => {\n      var _a2;\n      return (_a2 = findFirstEnabledItem(reverseArray(composite.getState().renderedItems))) == null ? void 0 : _a2.id;\n    },\n    next: (skip) => {\n      const { renderedItems, orientation } = composite.getState();\n      return getNextId(renderedItems, orientation, false, skip);\n    },\n    previous: (skip) => {\n      var _a2;\n      const { renderedItems, orientation, includesBaseElement } = composite.getState();\n      const isGrid = !!((_a2 = findFirstEnabledItem(renderedItems)) == null ? void 0 : _a2.rowId);\n      const hasNullItem = !isGrid && includesBaseElement;\n      return getNextId(\n        reverseArray(renderedItems),\n        orientation,\n        hasNullItem,\n        skip\n      );\n    },\n    down: (skip) => {\n      const {\n        activeId: activeId2,\n        renderedItems,\n        focusShift,\n        focusLoop,\n        includesBaseElement\n      } = composite.getState();\n      const shouldShift = focusShift && !skip;\n      const verticalItems = verticalizeItems(\n        flatten2DArray(\n          normalizeRows(groupItemsByRows(renderedItems), activeId2, shouldShift)\n        )\n      );\n      const canLoop = focusLoop && focusLoop !== \"horizontal\";\n      const hasNullItem = canLoop && includesBaseElement;\n      return getNextId(verticalItems, \"vertical\", hasNullItem, skip);\n    },\n    up: (skip) => {\n      const { activeId: activeId2, renderedItems, focusShift, includesBaseElement } = composite.getState();\n      const shouldShift = focusShift && !skip;\n      const verticalItems = verticalizeItems(\n        reverseArray(\n          flatten2DArray(\n            normalizeRows(\n              groupItemsByRows(renderedItems),\n              activeId2,\n              shouldShift\n            )\n          )\n        )\n      );\n      const hasNullItem = includesBaseElement;\n      return getNextId(verticalItems, \"vertical\", hasNullItem, skip);\n    }\n  });\n}\n\nexport {\n  createCompositeStore\n};\n","\"use client\";\nimport {\n  canUseDOM\n} from \"./DLOEKDPY.js\";\n\n// src/utils/platform.ts\nfunction isTouchDevice() {\n  return canUseDOM && !!navigator.maxTouchPoints;\n}\nfunction isApple() {\n  if (!canUseDOM)\n    return false;\n  return /mac|iphone|ipad|ipod/i.test(navigator.platform);\n}\nfunction isSafari() {\n  return canUseDOM && isApple() && /apple/i.test(navigator.vendor);\n}\nfunction isFirefox() {\n  return canUseDOM && /firefox\\//i.test(navigator.userAgent);\n}\nfunction isMac() {\n  return canUseDOM && navigator.platform.startsWith(\"Mac\") && !isTouchDevice();\n}\n\nexport {\n  isTouchDevice,\n  isApple,\n  isSafari,\n  isFirefox,\n  isMac\n};\n","\"use client\";\nimport {\n  createDisclosureStore\n} from \"./Z5IGYIPT.js\";\n\n// src/dialog/dialog-store.ts\nfunction createDialogStore(props = {}) {\n  return createDisclosureStore(props);\n}\n\nexport {\n  createDialogStore\n};\n","\"use client\";\nimport {\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/misc.ts\nfunction noop(..._) {\n}\nfunction shallowEqual(a, b) {\n  if (a === b)\n    return true;\n  if (!a)\n    return false;\n  if (!b)\n    return false;\n  if (typeof a !== \"object\")\n    return false;\n  if (typeof b !== \"object\")\n    return false;\n  const aKeys = Object.keys(a);\n  const bKeys = Object.keys(b);\n  const { length } = aKeys;\n  if (bKeys.length !== length)\n    return false;\n  for (const key of aKeys) {\n    if (a[key] !== b[key]) {\n      return false;\n    }\n  }\n  return true;\n}\nfunction applyState(argument, currentValue) {\n  if (isUpdater(argument)) {\n    const value = isLazyValue(currentValue) ? currentValue() : currentValue;\n    return argument(value);\n  }\n  return argument;\n}\nfunction isUpdater(argument) {\n  return typeof argument === \"function\";\n}\nfunction isLazyValue(value) {\n  return typeof value === \"function\";\n}\nfunction isObject(arg) {\n  return typeof arg === \"object\" && arg != null;\n}\nfunction isEmpty(arg) {\n  if (Array.isArray(arg))\n    return !arg.length;\n  if (isObject(arg))\n    return !Object.keys(arg).length;\n  if (arg == null)\n    return true;\n  if (arg === \"\")\n    return true;\n  return false;\n}\nfunction isInteger(arg) {\n  if (typeof arg === \"number\") {\n    return Math.floor(arg) === arg;\n  }\n  return String(Math.floor(Number(arg))) === arg;\n}\nfunction hasOwnProperty(object, prop) {\n  if (typeof Object.hasOwn === \"function\") {\n    return Object.hasOwn(object, prop);\n  }\n  return Object.prototype.hasOwnProperty.call(object, prop);\n}\nfunction chain(...fns) {\n  return (...args) => {\n    for (const fn of fns) {\n      if (typeof fn === \"function\") {\n        fn(...args);\n      }\n    }\n  };\n}\nfunction cx(...args) {\n  return args.filter(Boolean).join(\" \") || void 0;\n}\nfunction normalizeString(str) {\n  return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n}\nfunction omit(object, keys) {\n  const result = __spreadValues({}, object);\n  for (const key of keys) {\n    if (hasOwnProperty(result, key)) {\n      delete result[key];\n    }\n  }\n  return result;\n}\nfunction pick(object, paths) {\n  const result = {};\n  for (const key of paths) {\n    if (hasOwnProperty(object, key)) {\n      result[key] = object[key];\n    }\n  }\n  return result;\n}\nfunction identity(value) {\n  return value;\n}\nfunction beforePaint(cb = noop) {\n  const raf = requestAnimationFrame(cb);\n  return () => cancelAnimationFrame(raf);\n}\nfunction afterPaint(cb = noop) {\n  let raf = requestAnimationFrame(() => {\n    raf = requestAnimationFrame(cb);\n  });\n  return () => cancelAnimationFrame(raf);\n}\nfunction invariant(condition, message) {\n  if (condition)\n    return;\n  if (typeof message !== \"string\")\n    throw new Error(\"Invariant failed\");\n  throw new Error(message);\n}\nfunction getKeys(obj) {\n  return Object.keys(obj);\n}\nfunction isFalsyBooleanCallback(booleanOrCallback, ...args) {\n  const result = typeof booleanOrCallback === \"function\" ? booleanOrCallback(...args) : booleanOrCallback;\n  if (result == null)\n    return false;\n  return !result;\n}\nfunction disabledFromProps(props) {\n  return props.disabled || props[\"aria-disabled\"] === true || props[\"aria-disabled\"] === \"true\";\n}\nfunction defaultValue(...values) {\n  for (const value of values) {\n    if (value !== void 0)\n      return value;\n  }\n  return void 0;\n}\n\nexport {\n  noop,\n  shallowEqual,\n  applyState,\n  isObject,\n  isEmpty,\n  isInteger,\n  hasOwnProperty,\n  chain,\n  cx,\n  normalizeString,\n  omit,\n  pick,\n  identity,\n  beforePaint,\n  afterPaint,\n  invariant,\n  getKeys,\n  isFalsyBooleanCallback,\n  disabledFromProps,\n  defaultValue\n};\n","\"use client\";\nimport {\n  createStore,\n  mergeStore,\n  omit,\n  setup,\n  subscribe,\n  sync,\n  throwOnConflictingProps\n} from \"./EAHJFCU4.js\";\nimport {\n  defaultValue\n} from \"./Y3OOHFCN.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/disclosure/disclosure-store.ts\nfunction createDisclosureStore(props = {}) {\n  const store = mergeStore(\n    props.store,\n    omit(props.disclosure, [\"contentElement\", \"disclosureElement\"])\n  );\n  throwOnConflictingProps(props, store);\n  const syncState = store == null ? void 0 : store.getState();\n  const open = defaultValue(\n    props.open,\n    syncState == null ? void 0 : syncState.open,\n    props.defaultOpen,\n    false\n  );\n  const animated = defaultValue(props.animated, syncState == null ? void 0 : syncState.animated, false);\n  const initialState = {\n    open,\n    animated,\n    animating: !!animated && open,\n    mounted: open,\n    contentElement: defaultValue(syncState == null ? void 0 : syncState.contentElement, null),\n    disclosureElement: defaultValue(syncState == null ? void 0 : syncState.disclosureElement, null)\n  };\n  const disclosure = createStore(initialState, store);\n  setup(\n    disclosure,\n    () => sync(disclosure, [\"animated\", \"animating\"], (state) => {\n      if (state.animated)\n        return;\n      disclosure.setState(\"animating\", false);\n    })\n  );\n  setup(\n    disclosure,\n    () => subscribe(disclosure, [\"open\"], () => {\n      if (!disclosure.getState().animated)\n        return;\n      disclosure.setState(\"animating\", true);\n    })\n  );\n  setup(\n    disclosure,\n    () => sync(disclosure, [\"open\", \"animating\"], (state) => {\n      disclosure.setState(\"mounted\", state.open || state.animating);\n    })\n  );\n  return __spreadProps(__spreadValues({}, disclosure), {\n    setOpen: (value) => disclosure.setState(\"open\", value),\n    show: () => disclosure.setState(\"open\", true),\n    hide: () => disclosure.setState(\"open\", false),\n    toggle: () => disclosure.setState(\"open\", (open2) => !open2),\n    stopAnimation: () => disclosure.setState(\"animating\", false),\n    setContentElement: (value) => disclosure.setState(\"contentElement\", value),\n    setDisclosureElement: (value) => disclosure.setState(\"disclosureElement\", value)\n  });\n}\n\nexport {\n  createDisclosureStore\n};\n","\"use client\";\nimport {\n  createPopoverStore\n} from \"../__chunks/AF6IUUFN.js\";\nimport \"../__chunks/SX2XFD6A.js\";\nimport \"../__chunks/Z5IGYIPT.js\";\nimport {\n  createCompositeStore\n} from \"../__chunks/IERTEJ3A.js\";\nimport \"../__chunks/22K762VQ.js\";\nimport {\n  batch,\n  createStore,\n  setup,\n  sync,\n  throwOnConflictingProps\n} from \"../__chunks/EAHJFCU4.js\";\nimport {\n  defaultValue\n} from \"../__chunks/Y3OOHFCN.js\";\nimport {\n  isSafari,\n  isTouchDevice\n} from \"../__chunks/MHPO2BXA.js\";\nimport \"../__chunks/DLOEKDPY.js\";\nimport \"../__chunks/7PRQYBBV.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-store.ts\nvar isSafariOnMobile = isSafari() && isTouchDevice();\nfunction createComboboxStore(props = {}) {\n  var _a;\n  throwOnConflictingProps(props, props.store);\n  const syncState = (_a = props.store) == null ? void 0 : _a.getState();\n  const activeId = defaultValue(\n    props.activeId,\n    syncState == null ? void 0 : syncState.activeId,\n    props.defaultActiveId,\n    null\n  );\n  const composite = createCompositeStore(__spreadProps(__spreadValues({}, props), {\n    activeId,\n    includesBaseElement: defaultValue(\n      props.includesBaseElement,\n      syncState == null ? void 0 : syncState.includesBaseElement,\n      true\n    ),\n    orientation: defaultValue(\n      props.orientation,\n      syncState == null ? void 0 : syncState.orientation,\n      \"vertical\"\n    ),\n    focusLoop: defaultValue(props.focusLoop, syncState == null ? void 0 : syncState.focusLoop, true),\n    focusWrap: defaultValue(props.focusWrap, syncState == null ? void 0 : syncState.focusWrap, true),\n    virtualFocus: defaultValue(\n      props.virtualFocus,\n      syncState == null ? void 0 : syncState.virtualFocus,\n      !isSafariOnMobile\n    )\n  }));\n  const popover = createPopoverStore(__spreadProps(__spreadValues({}, props), {\n    placement: defaultValue(\n      props.placement,\n      syncState == null ? void 0 : syncState.placement,\n      \"bottom-start\"\n    )\n  }));\n  const value = defaultValue(\n    props.value,\n    syncState == null ? void 0 : syncState.value,\n    props.defaultValue,\n    \"\"\n  );\n  const selectedValue = defaultValue(\n    props.selectedValue,\n    syncState == null ? void 0 : syncState.selectedValue,\n    props.defaultSelectedValue,\n    \"\"\n  );\n  const multiSelectable = Array.isArray(selectedValue);\n  const initialState = __spreadProps(__spreadValues(__spreadValues({}, composite.getState()), popover.getState()), {\n    value,\n    selectedValue,\n    resetValueOnSelect: defaultValue(\n      props.resetValueOnSelect,\n      syncState == null ? void 0 : syncState.resetValueOnSelect,\n      multiSelectable\n    ),\n    resetValueOnHide: defaultValue(\n      props.resetValueOnHide,\n      syncState == null ? void 0 : syncState.resetValueOnHide,\n      multiSelectable\n    ),\n    activeValue: syncState == null ? void 0 : syncState.activeValue\n  });\n  const combobox = createStore(initialState, composite, popover, props.store);\n  setup(\n    combobox,\n    () => sync(combobox, [\"resetValueOnHide\", \"mounted\"], (state) => {\n      if (!state.resetValueOnHide)\n        return;\n      if (state.mounted)\n        return;\n      combobox.setState(\"value\", value);\n    })\n  );\n  setup(\n    combobox,\n    () => sync(combobox, [\"resetValueOnSelect\", \"selectedValue\"], (state) => {\n      if (!state.resetValueOnSelect)\n        return;\n      combobox.setState(\"value\", value);\n    })\n  );\n  setup(\n    combobox,\n    () => batch(combobox, [\"mounted\"], (state) => {\n      if (state.mounted)\n        return;\n      combobox.setState(\"activeId\", activeId);\n      combobox.setState(\"moves\", 0);\n    })\n  );\n  setup(\n    combobox,\n    () => sync(combobox, [\"moves\", \"activeId\"], (state, prevState) => {\n      if (state.moves === prevState.moves) {\n        combobox.setState(\"activeValue\", void 0);\n      }\n    })\n  );\n  setup(\n    combobox,\n    () => batch(combobox, [\"moves\", \"renderedItems\"], (state, prev) => {\n      if (state.moves === prev.moves)\n        return;\n      const { activeId: activeId2 } = combobox.getState();\n      const activeItem = composite.item(activeId2);\n      combobox.setState(\"activeValue\", activeItem == null ? void 0 : activeItem.value);\n    })\n  );\n  return __spreadProps(__spreadValues(__spreadValues(__spreadValues({}, popover), composite), combobox), {\n    setValue: (value2) => combobox.setState(\"value\", value2),\n    setSelectedValue: (selectedValue2) => combobox.setState(\"selectedValue\", selectedValue2)\n  });\n}\nexport {\n  createComboboxStore\n};\n","\"use client\";\nimport {\n  isApple\n} from \"../__chunks/MHPO2BXA.js\";\nimport {\n  contains\n} from \"../__chunks/DLOEKDPY.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/utils/events.ts\nfunction isPortalEvent(event) {\n  return Boolean(\n    event.currentTarget && !contains(event.currentTarget, event.target)\n  );\n}\nfunction isSelfTarget(event) {\n  return event.target === event.currentTarget;\n}\nfunction isOpeningInNewTab(event) {\n  const element = event.currentTarget;\n  if (!element)\n    return false;\n  const isAppleDevice = isApple();\n  if (isAppleDevice && !event.metaKey)\n    return false;\n  if (!isAppleDevice && !event.ctrlKey)\n    return false;\n  const tagName = element.tagName.toLowerCase();\n  if (tagName === \"a\")\n    return true;\n  if (tagName === \"button\" && element.type === \"submit\")\n    return true;\n  if (tagName === \"input\" && element.type === \"submit\")\n    return true;\n  return false;\n}\nfunction isDownloading(event) {\n  const element = event.currentTarget;\n  if (!element)\n    return false;\n  const tagName = element.tagName.toLowerCase();\n  if (!event.altKey)\n    return false;\n  if (tagName === \"a\")\n    return true;\n  if (tagName === \"button\" && element.type === \"submit\")\n    return true;\n  if (tagName === \"input\" && element.type === \"submit\")\n    return true;\n  return false;\n}\nfunction fireEvent(element, type, eventInit) {\n  const event = new Event(type, eventInit);\n  return element.dispatchEvent(event);\n}\nfunction fireBlurEvent(element, eventInit) {\n  const event = new FocusEvent(\"blur\", eventInit);\n  const defaultAllowed = element.dispatchEvent(event);\n  const bubbleInit = __spreadProps(__spreadValues({}, eventInit), { bubbles: true });\n  element.dispatchEvent(new FocusEvent(\"focusout\", bubbleInit));\n  return defaultAllowed;\n}\nfunction fireFocusEvent(element, eventInit) {\n  const event = new FocusEvent(\"focus\", eventInit);\n  const defaultAllowed = element.dispatchEvent(event);\n  const bubbleInit = __spreadProps(__spreadValues({}, eventInit), { bubbles: true });\n  element.dispatchEvent(new FocusEvent(\"focusin\", bubbleInit));\n  return defaultAllowed;\n}\nfunction fireKeyboardEvent(element, type, eventInit) {\n  const event = new KeyboardEvent(type, eventInit);\n  return element.dispatchEvent(event);\n}\nfunction fireClickEvent(element, eventInit) {\n  const event = new MouseEvent(\"click\", eventInit);\n  return element.dispatchEvent(event);\n}\nfunction isFocusEventOutside(event, container) {\n  const containerElement = container || event.currentTarget;\n  const relatedTarget = event.relatedTarget;\n  return !relatedTarget || !contains(containerElement, relatedTarget);\n}\nfunction queueBeforeEvent(element, type, callback) {\n  const raf = requestAnimationFrame(() => {\n    element.removeEventListener(type, callImmediately, true);\n    callback();\n  });\n  const callImmediately = () => {\n    cancelAnimationFrame(raf);\n    callback();\n  };\n  element.addEventListener(type, callImmediately, {\n    once: true,\n    capture: true\n  });\n  return raf;\n}\nfunction addGlobalEventListener(type, listener, options, scope = window) {\n  const children = [];\n  try {\n    scope.document.addEventListener(type, listener, options);\n    for (const frame of Array.from(scope.frames)) {\n      children.push(addGlobalEventListener(type, listener, options, frame));\n    }\n  } catch (e) {\n  }\n  const removeEventListener = () => {\n    try {\n      scope.document.removeEventListener(type, listener, options);\n    } catch (e) {\n    }\n    children.forEach((remove) => remove());\n  };\n  return removeEventListener;\n}\nexport {\n  addGlobalEventListener,\n  fireBlurEvent,\n  fireClickEvent,\n  fireEvent,\n  fireFocusEvent,\n  fireKeyboardEvent,\n  isDownloading,\n  isFocusEventOutside,\n  isOpeningInNewTab,\n  isPortalEvent,\n  isSelfTarget,\n  queueBeforeEvent\n};\n","\"use client\";\nimport {\n  closest,\n  contains,\n  getActiveElement,\n  isFrame,\n  isVisible,\n  matches\n} from \"../__chunks/DLOEKDPY.js\";\nimport {\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/utils/focus.ts\nvar selector = \"input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false'])\";\nfunction hasNegativeTabIndex(element) {\n  const tabIndex = parseInt(element.getAttribute(\"tabindex\") || \"0\", 10);\n  return tabIndex < 0;\n}\nfunction isFocusable(element) {\n  if (!matches(element, selector))\n    return false;\n  if (!isVisible(element))\n    return false;\n  if (closest(element, \"[inert]\"))\n    return false;\n  return true;\n}\nfunction isTabbable(element) {\n  if (!isFocusable(element))\n    return false;\n  if (hasNegativeTabIndex(element))\n    return false;\n  if (!(\"form\" in element))\n    return true;\n  if (!element.form)\n    return true;\n  if (element.checked)\n    return true;\n  if (element.type !== \"radio\")\n    return true;\n  const radioGroup = element.form.elements.namedItem(element.name);\n  if (!radioGroup)\n    return true;\n  if (!(\"length\" in radioGroup))\n    return true;\n  const activeElement = getActiveElement(element);\n  if (!activeElement)\n    return true;\n  if (activeElement === element)\n    return true;\n  if (!(\"form\" in activeElement))\n    return true;\n  if (activeElement.form !== element.form)\n    return true;\n  if (activeElement.name !== element.name)\n    return true;\n  return false;\n}\nfunction getAllFocusableIn(container, includeContainer) {\n  const elements = Array.from(\n    container.querySelectorAll(selector)\n  );\n  if (includeContainer) {\n    elements.unshift(container);\n  }\n  const focusableElements = elements.filter(isFocusable);\n  focusableElements.forEach((element, i) => {\n    if (isFrame(element) && element.contentDocument) {\n      const frameBody = element.contentDocument.body;\n      focusableElements.splice(i, 1, ...getAllFocusableIn(frameBody));\n    }\n  });\n  return focusableElements;\n}\nfunction getAllFocusable(includeBody) {\n  return getAllFocusableIn(document.body, includeBody);\n}\nfunction getFirstFocusableIn(container, includeContainer) {\n  const [first] = getAllFocusableIn(container, includeContainer);\n  return first || null;\n}\nfunction getFirstFocusable(includeBody) {\n  return getFirstFocusableIn(document.body, includeBody);\n}\nfunction getAllTabbableIn(container, includeContainer, fallbackToFocusable) {\n  const elements = Array.from(\n    container.querySelectorAll(selector)\n  );\n  const tabbableElements = elements.filter(isTabbable);\n  if (includeContainer && isTabbable(container)) {\n    tabbableElements.unshift(container);\n  }\n  tabbableElements.forEach((element, i) => {\n    if (isFrame(element) && element.contentDocument) {\n      const frameBody = element.contentDocument.body;\n      const allFrameTabbable = getAllTabbableIn(\n        frameBody,\n        false,\n        fallbackToFocusable\n      );\n      tabbableElements.splice(i, 1, ...allFrameTabbable);\n    }\n  });\n  if (!tabbableElements.length && fallbackToFocusable) {\n    return elements;\n  }\n  return tabbableElements;\n}\nfunction getAllTabbable(fallbackToFocusable) {\n  return getAllTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getFirstTabbableIn(container, includeContainer, fallbackToFocusable) {\n  const [first] = getAllTabbableIn(\n    container,\n    includeContainer,\n    fallbackToFocusable\n  );\n  return first || null;\n}\nfunction getFirstTabbable(fallbackToFocusable) {\n  return getFirstTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getLastTabbableIn(container, includeContainer, fallbackToFocusable) {\n  const allTabbable = getAllTabbableIn(\n    container,\n    includeContainer,\n    fallbackToFocusable\n  );\n  return allTabbable[allTabbable.length - 1] || null;\n}\nfunction getLastTabbable(fallbackToFocusable) {\n  return getLastTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getNextTabbableIn(container, includeContainer, fallbackToFirst, fallbackToFocusable) {\n  const activeElement = getActiveElement(container);\n  const allFocusable = getAllFocusableIn(container, includeContainer);\n  const activeIndex = allFocusable.indexOf(activeElement);\n  const nextFocusableElements = allFocusable.slice(activeIndex + 1);\n  return nextFocusableElements.find(isTabbable) || (fallbackToFirst ? allFocusable.find(isTabbable) : null) || (fallbackToFocusable ? nextFocusableElements[0] : null) || null;\n}\nfunction getNextTabbable(fallbackToFirst, fallbackToFocusable) {\n  return getNextTabbableIn(\n    document.body,\n    false,\n    fallbackToFirst,\n    fallbackToFocusable\n  );\n}\nfunction getPreviousTabbableIn(container, includeContainer, fallbackToLast, fallbackToFocusable) {\n  const activeElement = getActiveElement(container);\n  const allFocusable = getAllFocusableIn(container, includeContainer).reverse();\n  const activeIndex = allFocusable.indexOf(activeElement);\n  const previousFocusableElements = allFocusable.slice(activeIndex + 1);\n  return previousFocusableElements.find(isTabbable) || (fallbackToLast ? allFocusable.find(isTabbable) : null) || (fallbackToFocusable ? previousFocusableElements[0] : null) || null;\n}\nfunction getPreviousTabbable(fallbackToFirst, fallbackToFocusable) {\n  return getPreviousTabbableIn(\n    document.body,\n    false,\n    fallbackToFirst,\n    fallbackToFocusable\n  );\n}\nfunction getClosestFocusable(element) {\n  while (element && !isFocusable(element)) {\n    element = closest(element, selector);\n  }\n  return element || null;\n}\nfunction hasFocus(element) {\n  const activeElement = getActiveElement(element);\n  if (!activeElement)\n    return false;\n  if (activeElement === element)\n    return true;\n  const activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n  if (!activeDescendant)\n    return false;\n  return activeDescendant === element.id;\n}\nfunction hasFocusWithin(element) {\n  const activeElement = getActiveElement(element);\n  if (!activeElement)\n    return false;\n  if (contains(element, activeElement))\n    return true;\n  const activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n  if (!activeDescendant)\n    return false;\n  if (!(\"id\" in element))\n    return false;\n  if (activeDescendant === element.id)\n    return true;\n  return !!element.querySelector(`#${CSS.escape(activeDescendant)}`);\n}\nfunction focusIfNeeded(element) {\n  if (!hasFocusWithin(element) && isFocusable(element)) {\n    element.focus();\n  }\n}\nfunction disableFocus(element) {\n  var _a;\n  const currentTabindex = (_a = element.getAttribute(\"tabindex\")) != null ? _a : \"\";\n  element.setAttribute(\"data-tabindex\", currentTabindex);\n  element.setAttribute(\"tabindex\", \"-1\");\n}\nfunction disableFocusIn(container, includeContainer) {\n  const tabbableElements = getAllTabbableIn(container, includeContainer);\n  tabbableElements.forEach(disableFocus);\n}\nfunction restoreFocusIn(container) {\n  const elements = container.querySelectorAll(\"[data-tabindex]\");\n  const restoreTabIndex = (element) => {\n    const tabindex = element.getAttribute(\"data-tabindex\");\n    element.removeAttribute(\"data-tabindex\");\n    if (tabindex) {\n      element.setAttribute(\"tabindex\", tabindex);\n    } else {\n      element.removeAttribute(\"tabindex\");\n    }\n  };\n  if (container.hasAttribute(\"data-tabindex\")) {\n    restoreTabIndex(container);\n  }\n  elements.forEach(restoreTabIndex);\n}\nfunction focusIntoView(element, options) {\n  if (!(\"scrollIntoView\" in element)) {\n    element.focus();\n  } else {\n    element.focus({ preventScroll: true });\n    element.scrollIntoView(__spreadValues({ block: \"nearest\", inline: \"nearest\" }, options));\n  }\n}\nexport {\n  disableFocus,\n  disableFocusIn,\n  focusIfNeeded,\n  focusIntoView,\n  getAllFocusable,\n  getAllFocusableIn,\n  getAllTabbable,\n  getAllTabbableIn,\n  getClosestFocusable,\n  getFirstFocusable,\n  getFirstFocusableIn,\n  getFirstTabbable,\n  getFirstTabbableIn,\n  getLastTabbable,\n  getLastTabbableIn,\n  getNextTabbable,\n  getNextTabbableIn,\n  getPreviousTabbable,\n  getPreviousTabbableIn,\n  hasFocus,\n  hasFocusWithin,\n  isFocusable,\n  isTabbable,\n  restoreFocusIn\n};\n","\"use client\";\nimport {\n  flipItems\n} from \"./3IEDWLST.js\";\nimport {\n  useCompositeContext\n} from \"./IB7YUKH5.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useEvent\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-typeahead.ts\nimport { useRef } from \"react\";\nimport { isTextField } from \"@ariakit/core/utils/dom\";\nimport { isSelfTarget } from \"@ariakit/core/utils/events\";\nimport { invariant, normalizeString } from \"@ariakit/core/utils/misc\";\nvar chars = \"\";\nfunction clearChars() {\n  chars = \"\";\n}\nfunction isValidTypeaheadEvent(event) {\n  const target = event.target;\n  if (target && isTextField(target))\n    return false;\n  if (event.key === \" \" && chars.length)\n    return true;\n  return event.key.length === 1 && !event.ctrlKey && !event.altKey && !event.metaKey && /^[\\p{Letter}\\p{Number}]$/u.test(event.key);\n}\nfunction isSelfTargetOrItem(event, items) {\n  if (isSelfTarget(event))\n    return true;\n  const target = event.target;\n  if (!target)\n    return false;\n  const isItem = items.some((item) => item.element === target);\n  return isItem;\n}\nfunction getEnabledItems(items) {\n  return items.filter((item) => !item.disabled);\n}\nfunction itemTextStartsWith(item, text) {\n  var _a;\n  const itemText = ((_a = item.element) == null ? void 0 : _a.textContent) || item.children;\n  if (!itemText)\n    return false;\n  return normalizeString(itemText).trim().toLowerCase().startsWith(text.toLowerCase());\n}\nfunction getSameInitialItems(items, char, activeId) {\n  if (!activeId)\n    return items;\n  const activeItem = items.find((item) => item.id === activeId);\n  if (!activeItem)\n    return items;\n  if (!itemTextStartsWith(activeItem, char))\n    return items;\n  if (chars !== char && itemTextStartsWith(activeItem, chars))\n    return items;\n  chars = char;\n  return flipItems(\n    items.filter((item) => itemTextStartsWith(item, chars)),\n    activeId\n  ).filter((item) => item.id !== activeId);\n}\nvar useCompositeTypeahead = createHook(\n  (_a) => {\n    var _b = _a, { store, typeahead = true } = _b, props = __objRest(_b, [\"store\", \"typeahead\"]);\n    const context = useCompositeContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"CompositeTypeahead must be a Composite component\"\n    );\n    const onKeyDownCaptureProp = props.onKeyDownCapture;\n    const cleanupTimeoutRef = useRef(0);\n    const onKeyDownCapture = useEvent(\n      (event) => {\n        onKeyDownCaptureProp == null ? void 0 : onKeyDownCaptureProp(event);\n        if (event.defaultPrevented)\n          return;\n        if (!typeahead)\n          return;\n        if (!store)\n          return;\n        const { items, activeId } = store.getState();\n        if (!isValidTypeaheadEvent(event))\n          return clearChars();\n        let enabledItems = getEnabledItems(items);\n        if (!isSelfTargetOrItem(event, enabledItems))\n          return clearChars();\n        event.preventDefault();\n        window.clearTimeout(cleanupTimeoutRef.current);\n        cleanupTimeoutRef.current = window.setTimeout(() => {\n          chars = \"\";\n        }, 500);\n        const char = event.key.toLowerCase();\n        chars += char;\n        enabledItems = getSameInitialItems(enabledItems, char, activeId);\n        const item = enabledItems.find(\n          (item2) => itemTextStartsWith(item2, chars)\n        );\n        if (item) {\n          store.move(item.id);\n        } else {\n          clearChars();\n        }\n      }\n    );\n    props = __spreadProps(__spreadValues({}, props), {\n      onKeyDownCapture\n    });\n    return props;\n  }\n);\nvar CompositeTypeahead = createComponent(\n  (props) => {\n    const htmlProps = useCompositeTypeahead(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  CompositeTypeahead.displayName = \"CompositeTypeahead\";\n}\n\nexport {\n  useCompositeTypeahead,\n  CompositeTypeahead\n};\n","\"use client\";\n\n// src/composite/utils.ts\nimport { getDocument, isTextField } from \"@ariakit/core/utils/dom\";\nvar NULL_ITEM = { id: null };\nfunction flipItems(items, activeId, shouldInsertNullItem = false) {\n  const index = items.findIndex((item) => item.id === activeId);\n  return [\n    ...items.slice(index + 1),\n    ...shouldInsertNullItem ? [NULL_ITEM] : [],\n    ...items.slice(0, index)\n  ];\n}\nfunction findFirstEnabledItem(items, excludeId) {\n  return items.find((item) => {\n    if (excludeId) {\n      return !item.disabled && item.id !== excludeId;\n    }\n    return !item.disabled;\n  });\n}\nfunction getEnabledItem(store, id) {\n  if (!id)\n    return null;\n  return store.item(id) || null;\n}\nfunction groupItemsByRows(items) {\n  const rows = [];\n  for (const item of items) {\n    const row = rows.find((currentRow) => {\n      var _a;\n      return ((_a = currentRow[0]) == null ? void 0 : _a.rowId) === item.rowId;\n    });\n    if (row) {\n      row.push(item);\n    } else {\n      rows.push([item]);\n    }\n  }\n  return rows;\n}\nfunction selectTextField(element, collapseToEnd = false) {\n  if (isTextField(element)) {\n    element.setSelectionRange(\n      collapseToEnd ? element.value.length : 0,\n      element.value.length\n    );\n  } else if (element.isContentEditable) {\n    const selection = getDocument(element).getSelection();\n    selection == null ? void 0 : selection.selectAllChildren(element);\n    if (collapseToEnd) {\n      selection == null ? void 0 : selection.collapseToEnd();\n    }\n  }\n}\nvar FOCUS_SILENTLY = Symbol(\"FOCUS_SILENTLY\");\nfunction focusSilently(element) {\n  element[FOCUS_SILENTLY] = true;\n  element.focus({ preventScroll: true });\n}\nfunction silentlyFocused(element) {\n  const isSilentlyFocused = element[FOCUS_SILENTLY];\n  delete element[FOCUS_SILENTLY];\n  return isSilentlyFocused;\n}\nfunction isItem(store, element, exclude) {\n  if (!element)\n    return false;\n  if (element === exclude)\n    return false;\n  const item = store.item(element.id);\n  if (!item)\n    return false;\n  if (exclude && item.element === exclude)\n    return false;\n  return true;\n}\n\nexport {\n  flipItems,\n  findFirstEnabledItem,\n  getEnabledItem,\n  groupItemsByRows,\n  selectTextField,\n  focusSilently,\n  silentlyFocused,\n  isItem\n};\n","\"use client\";\nimport {\n  useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n  getRefProperty,\n  mergeProps\n} from \"./XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/system.tsx\nimport * as React from \"react\";\nimport { hasOwnProperty } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction isRenderProp(children) {\n  return typeof children === \"function\";\n}\nfunction forwardRef2(render) {\n  const Role = React.forwardRef((props, ref) => render(__spreadProps(__spreadValues({}, props), { ref })));\n  Role.displayName = render.displayName || render.name;\n  return Role;\n}\nfunction memo2(Component, propsAreEqual) {\n  const Role = React.memo(Component, propsAreEqual);\n  Role.displayName = Component.displayName || Component.name;\n  return Role;\n}\nfunction createComponent(render) {\n  const Role = (props, ref) => render(__spreadValues({ ref }, props));\n  return React.forwardRef(Role);\n}\nfunction createMemoComponent(render) {\n  const Role = createComponent(render);\n  return React.memo(Role);\n}\nfunction createElement(Type, props) {\n  const _a = props, { as: As, wrapElement, render } = _a, rest = __objRest(_a, [\"as\", \"wrapElement\", \"render\"]);\n  let element;\n  const mergedRef = useMergeRefs(props.ref, getRefProperty(render));\n  if (process.env.NODE_ENV !== \"production\") {\n    React.useEffect(() => {\n      if (!As)\n        return;\n      console.warn(\n        \"The `as` prop is deprecated. Use the `render` prop instead.\",\n        \"See https://ariakit.org/guide/composition\"\n      );\n    }, [As]);\n  }\n  if (As && typeof As !== \"string\") {\n    element = /* @__PURE__ */ jsx(As, __spreadProps(__spreadValues({}, rest), { render }));\n  } else if (React.isValidElement(render)) {\n    const renderProps = __spreadProps(__spreadValues({}, render.props), { ref: mergedRef });\n    element = React.cloneElement(render, mergeProps(rest, renderProps));\n  } else if (render) {\n    element = render(rest);\n  } else if (isRenderProp(props.children)) {\n    if (process.env.NODE_ENV !== \"production\") {\n      React.useEffect(() => {\n        console.warn(\n          \"The `children` prop as a function is deprecated. Use the `render` prop instead.\",\n          \"See https://ariakit.org/guide/composition\"\n        );\n      }, []);\n    }\n    const _b = rest, { children } = _b, otherProps = __objRest(_b, [\"children\"]);\n    element = props.children(otherProps);\n  } else if (As) {\n    element = /* @__PURE__ */ jsx(As, __spreadValues({}, rest));\n  } else {\n    element = /* @__PURE__ */ jsx(Type, __spreadValues({}, rest));\n  }\n  if (wrapElement) {\n    return wrapElement(element);\n  }\n  return element;\n}\nfunction createHook(useProps) {\n  const useRole = (props = {}) => {\n    const htmlProps = useProps(props);\n    const copy = {};\n    for (const prop in htmlProps) {\n      if (hasOwnProperty(htmlProps, prop) && htmlProps[prop] !== void 0) {\n        copy[prop] = htmlProps[prop];\n      }\n    }\n    return copy;\n  };\n  return useRole;\n}\nfunction createStoreContext(providers = [], scopedProviders = []) {\n  const context = React.createContext(void 0);\n  const scopedContext = React.createContext(void 0);\n  const useContext2 = () => React.useContext(context);\n  const useScopedContext = (onlyScoped = false) => {\n    const scoped = React.useContext(scopedContext);\n    const store = useContext2();\n    if (onlyScoped)\n      return scoped;\n    return scoped || store;\n  };\n  const useProviderContext = () => {\n    const scoped = React.useContext(scopedContext);\n    const store = useContext2();\n    if (scoped && scoped === store)\n      return;\n    return store;\n  };\n  const ContextProvider = (props) => {\n    return providers.reduceRight(\n      (children, Provider) => /* @__PURE__ */ jsx(Provider, __spreadProps(__spreadValues({}, props), { children })),\n      /* @__PURE__ */ jsx(context.Provider, __spreadValues({}, props))\n    );\n  };\n  const ScopedContextProvider = (props) => {\n    return /* @__PURE__ */ jsx(ContextProvider, __spreadProps(__spreadValues({}, props), { children: scopedProviders.reduceRight(\n      (children, Provider) => /* @__PURE__ */ jsx(Provider, __spreadProps(__spreadValues({}, props), { children })),\n      /* @__PURE__ */ jsx(scopedContext.Provider, __spreadValues({}, props))\n    ) }));\n  };\n  return {\n    context,\n    scopedContext,\n    useContext: useContext2,\n    useScopedContext,\n    useProviderContext,\n    ContextProvider,\n    ScopedContextProvider\n  };\n}\n\nexport {\n  forwardRef2 as forwardRef,\n  memo2 as memo,\n  createComponent,\n  createMemoComponent,\n  createElement,\n  createHook,\n  createStoreContext\n};\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n  for (var prop in b || (b = {}))\n    if (__hasOwnProp.call(b, prop))\n      __defNormalProp(a, prop, b[prop]);\n  if (__getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(b)) {\n      if (__propIsEnum.call(b, prop))\n        __defNormalProp(a, prop, b[prop]);\n    }\n  return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n  var target = {};\n  for (var prop in source)\n    if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n      target[prop] = source[prop];\n  if (source != null && __getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(source)) {\n      if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n        target[prop] = source[prop];\n    }\n  return target;\n};\n\nexport {\n  __spreadValues,\n  __spreadProps,\n  __objRest\n};\n","\"use client\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/collection/collection-context.tsx\nvar ctx = createStoreContext();\nvar useCollectionContext = ctx.useContext;\nvar useCollectionScopedContext = ctx.useScopedContext;\nvar useCollectionProviderContext = ctx.useProviderContext;\nvar CollectionContextProvider = ctx.ContextProvider;\nvar CollectionScopedContextProvider = ctx.ScopedContextProvider;\n\nexport {\n  useCollectionContext,\n  useCollectionScopedContext,\n  useCollectionProviderContext,\n  CollectionContextProvider,\n  CollectionScopedContextProvider\n};\n","\"use client\";\nimport {\n  setRef\n} from \"./XM66DUTO.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/hooks.ts\nimport {\n  useCallback,\n  useEffect,\n  useLayoutEffect,\n  useMemo,\n  useReducer,\n  useRef,\n  useState\n} from \"react\";\nimport * as React from \"react\";\nimport { canUseDOM } from \"@ariakit/core/utils/dom\";\nimport { addGlobalEventListener } from \"@ariakit/core/utils/events\";\nimport { applyState } from \"@ariakit/core/utils/misc\";\nvar _React = __spreadValues({}, React);\nvar useReactId = _React.useId;\nvar useReactDeferredValue = _React.useDeferredValue;\nvar useReactInsertionEffect = _React.useInsertionEffect;\nvar useSafeLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\nfunction useInitialValue(value) {\n  const [initialValue] = useState(value);\n  return initialValue;\n}\nfunction useLazyValue(init) {\n  const ref = useRef();\n  if (ref.current === void 0) {\n    ref.current = init();\n  }\n  return ref.current;\n}\nfunction useLiveRef(value) {\n  const ref = useRef(value);\n  useSafeLayoutEffect(() => {\n    ref.current = value;\n  });\n  return ref;\n}\nfunction usePreviousValue(value) {\n  const [previousValue, setPreviousValue] = useState(value);\n  if (value !== previousValue) {\n    setPreviousValue(value);\n  }\n  return previousValue;\n}\nfunction useEvent(callback) {\n  const ref = useRef(() => {\n    throw new Error(\"Cannot call an event handler while rendering.\");\n  });\n  if (useReactInsertionEffect) {\n    useReactInsertionEffect(() => {\n      ref.current = callback;\n    });\n  } else {\n    ref.current = callback;\n  }\n  return useCallback((...args) => {\n    var _a;\n    return (_a = ref.current) == null ? void 0 : _a.call(ref, ...args);\n  }, []);\n}\nfunction useMergeRefs(...refs) {\n  return useMemo(() => {\n    if (!refs.some(Boolean))\n      return;\n    return (value) => {\n      refs.forEach((ref) => setRef(ref, value));\n    };\n  }, refs);\n}\nfunction useRefId(ref, deps) {\n  const [id, setId] = useState(void 0);\n  useSafeLayoutEffect(() => {\n    var _a;\n    setId((_a = ref == null ? void 0 : ref.current) == null ? void 0 : _a.id);\n  }, deps);\n  return id;\n}\nfunction useId(defaultId) {\n  if (useReactId) {\n    const reactId = useReactId();\n    if (defaultId)\n      return defaultId;\n    return reactId;\n  }\n  const [id, setId] = useState(defaultId);\n  useSafeLayoutEffect(() => {\n    if (defaultId || id)\n      return;\n    const random = Math.random().toString(36).substr(2, 6);\n    setId(`id-${random}`);\n  }, [defaultId, id]);\n  return defaultId || id;\n}\nfunction useDeferredValue(value) {\n  if (useReactDeferredValue) {\n    return useReactDeferredValue(value);\n  }\n  const [deferredValue, setDeferredValue] = useState(value);\n  useEffect(() => {\n    const raf = requestAnimationFrame(() => setDeferredValue(value));\n    return () => cancelAnimationFrame(raf);\n  }, [value]);\n  return deferredValue;\n}\nfunction useTagName(refOrElement, type) {\n  const stringOrUndefined = (type2) => {\n    if (typeof type2 !== \"string\")\n      return;\n    return type2;\n  };\n  const [tagName, setTagName] = useState(() => stringOrUndefined(type));\n  useSafeLayoutEffect(() => {\n    const element = refOrElement && \"current\" in refOrElement ? refOrElement.current : refOrElement;\n    setTagName((element == null ? void 0 : element.tagName.toLowerCase()) || stringOrUndefined(type));\n  }, [refOrElement, type]);\n  return tagName;\n}\nfunction useAttribute(refOrElement, attributeName, defaultValue) {\n  const [attribute, setAttribute] = useState(defaultValue);\n  useSafeLayoutEffect(() => {\n    const element = refOrElement && \"current\" in refOrElement ? refOrElement.current : refOrElement;\n    const value = element == null ? void 0 : element.getAttribute(attributeName);\n    if (value == null)\n      return;\n    setAttribute(value);\n  }, [refOrElement, attributeName]);\n  return attribute;\n}\nfunction useUpdateEffect(effect, deps) {\n  const mounted = useRef(false);\n  useEffect(() => {\n    if (mounted.current) {\n      return effect();\n    }\n    mounted.current = true;\n  }, deps);\n  useEffect(\n    () => () => {\n      mounted.current = false;\n    },\n    []\n  );\n}\nfunction useUpdateLayoutEffect(effect, deps) {\n  const mounted = useRef(false);\n  useSafeLayoutEffect(() => {\n    if (mounted.current) {\n      return effect();\n    }\n    mounted.current = true;\n  }, deps);\n  useSafeLayoutEffect(\n    () => () => {\n      mounted.current = false;\n    },\n    []\n  );\n}\nfunction useControlledState(defaultState, state, setState) {\n  const [localState, setLocalState] = useState(defaultState);\n  const nextState = state !== void 0 ? state : localState;\n  const stateRef = useLiveRef(state);\n  const setStateRef = useLiveRef(setState);\n  const nextStateRef = useLiveRef(nextState);\n  const setNextState = useCallback((prevValue) => {\n    const setStateProp = setStateRef.current;\n    if (setStateProp) {\n      if (isSetNextState(setStateProp)) {\n        setStateProp(prevValue);\n      } else {\n        const nextValue = applyState(prevValue, nextStateRef.current);\n        nextStateRef.current = nextValue;\n        setStateProp(nextValue);\n      }\n    }\n    if (stateRef.current === void 0) {\n      setLocalState(prevValue);\n    }\n  }, []);\n  defineSetNextState(setNextState);\n  return [nextState, setNextState];\n}\nvar SET_NEXT_STATE = Symbol(\"setNextState\");\nfunction isSetNextState(arg) {\n  return arg[SET_NEXT_STATE] === true;\n}\nfunction defineSetNextState(arg) {\n  if (!isSetNextState(arg)) {\n    Object.defineProperty(arg, SET_NEXT_STATE, { value: true });\n  }\n}\nfunction useForceUpdate() {\n  return useReducer(() => [], []);\n}\nfunction useBooleanEvent(booleanOrCallback) {\n  return useEvent(\n    typeof booleanOrCallback === \"function\" ? booleanOrCallback : () => booleanOrCallback\n  );\n}\nfunction useWrapElement(props, callback, deps = []) {\n  const wrapElement = useCallback(\n    (element) => {\n      if (props.wrapElement) {\n        element = props.wrapElement(element);\n      }\n      return callback(element);\n    },\n    [...deps, props.wrapElement]\n  );\n  return __spreadProps(__spreadValues({}, props), { wrapElement });\n}\nfunction usePortalRef(portalProp = false, portalRefProp) {\n  const [portalNode, setPortalNode] = useState(null);\n  const portalRef = useMergeRefs(setPortalNode, portalRefProp);\n  const domReady = !portalProp || portalNode;\n  return { portalRef, portalNode, domReady };\n}\nfunction useMetadataProps(props, key, value) {\n  const parent = props.onLoadedMetadataCapture;\n  const onLoadedMetadataCapture = useMemo(() => {\n    return Object.assign(() => {\n    }, __spreadProps(__spreadValues({}, parent), { [key]: value }));\n  }, [parent, key, value]);\n  return [parent == null ? void 0 : parent[key], { onLoadedMetadataCapture }];\n}\nfunction useIsMouseMoving() {\n  useEffect(() => {\n    addGlobalEventListener(\"mousemove\", setMouseMoving, true);\n    addGlobalEventListener(\"mousedown\", resetMouseMoving, true);\n    addGlobalEventListener(\"mouseup\", resetMouseMoving, true);\n    addGlobalEventListener(\"keydown\", resetMouseMoving, true);\n    addGlobalEventListener(\"scroll\", resetMouseMoving, true);\n  }, []);\n  const isMouseMoving = useEvent(() => mouseMoving);\n  return isMouseMoving;\n}\nvar mouseMoving = false;\nvar previousScreenX = 0;\nvar previousScreenY = 0;\nfunction hasMouseMovement(event) {\n  const movementX = event.movementX || event.screenX - previousScreenX;\n  const movementY = event.movementY || event.screenY - previousScreenY;\n  previousScreenX = event.screenX;\n  previousScreenY = event.screenY;\n  return movementX || movementY || process.env.NODE_ENV === \"test\";\n}\nfunction setMouseMoving(event) {\n  if (!hasMouseMovement(event))\n    return;\n  mouseMoving = true;\n}\nfunction resetMouseMoving() {\n  mouseMoving = false;\n}\n\nexport {\n  useSafeLayoutEffect,\n  useInitialValue,\n  useLazyValue,\n  useLiveRef,\n  usePreviousValue,\n  useEvent,\n  useMergeRefs,\n  useRefId,\n  useId,\n  useDeferredValue,\n  useTagName,\n  useAttribute,\n  useUpdateEffect,\n  useUpdateLayoutEffect,\n  useControlledState,\n  useForceUpdate,\n  useBooleanEvent,\n  useWrapElement,\n  usePortalRef,\n  useMetadataProps,\n  useIsMouseMoving\n};\n","\"use client\";\nimport {\n  useCollectionStoreProps\n} from \"./Y6GYTNQ2.js\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\n\n// src/composite/composite-store.ts\nimport * as Core from \"@ariakit/core/composite/composite-store\";\nfunction useCompositeStoreProps(store, update, props) {\n  store = useCollectionStoreProps(store, update, props);\n  useStoreProps(store, props, \"activeId\", \"setActiveId\");\n  useStoreProps(store, props, \"includesBaseElement\");\n  useStoreProps(store, props, \"virtualFocus\");\n  useStoreProps(store, props, \"orientation\");\n  useStoreProps(store, props, \"rtl\");\n  useStoreProps(store, props, \"focusLoop\");\n  useStoreProps(store, props, \"focusWrap\");\n  useStoreProps(store, props, \"focusShift\");\n  return store;\n}\nfunction useCompositeStore(props = {}) {\n  const [store, update] = useStore(Core.createCompositeStore, props);\n  return useCompositeStoreProps(store, update, props);\n}\n\nexport {\n  useCompositeStoreProps,\n  useCompositeStore\n};\n","\"use client\";\nimport {\n  DialogContextProvider,\n  DialogScopedContextProvider\n} from \"./G6BJYYBK.js\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/popover/popover-context.tsx\nvar ctx = createStoreContext(\n  [DialogContextProvider],\n  [DialogScopedContextProvider]\n);\nvar usePopoverContext = ctx.useContext;\nvar usePopoverScopedContext = ctx.useScopedContext;\nvar usePopoverProviderContext = ctx.useProviderContext;\nvar PopoverContextProvider = ctx.ContextProvider;\nvar PopoverScopedContextProvider = ctx.ScopedContextProvider;\n\nexport {\n  usePopoverContext,\n  usePopoverScopedContext,\n  usePopoverProviderContext,\n  PopoverContextProvider,\n  PopoverScopedContextProvider\n};\n","\"use client\";\nimport {\n  findFirstEnabledItem,\n  getEnabledItem,\n  groupItemsByRows,\n  isItem,\n  silentlyFocused\n} from \"./3IEDWLST.js\";\nimport {\n  CompositeContextProvider,\n  useCompositeProviderContext\n} from \"./IB7YUKH5.js\";\nimport {\n  useFocusable\n} from \"./KK7H3W2B.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useMergeRefs,\n  useSafeLayoutEffect,\n  useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite.tsx\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { flatten2DArray, reverseArray } from \"@ariakit/core/utils/array\";\nimport { getActiveElement, isTextField } from \"@ariakit/core/utils/dom\";\nimport {\n  fireBlurEvent,\n  fireKeyboardEvent,\n  isSelfTarget\n} from \"@ariakit/core/utils/events\";\nimport { focusIntoView, hasFocus } from \"@ariakit/core/utils/focus\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction isGrid(items) {\n  return items.some((item) => !!item.rowId);\n}\nfunction isPrintableKey(event) {\n  const target = event.target;\n  if (target && !isTextField(target))\n    return false;\n  return event.key.length === 1 && !event.ctrlKey && !event.metaKey;\n}\nfunction isModifierKey(event) {\n  return event.key === \"Shift\" || event.key === \"Control\" || event.key === \"Alt\" || event.key === \"Meta\";\n}\nfunction useKeyboardEventProxy(store, onKeyboardEvent, previousElementRef) {\n  return useEvent((event) => {\n    var _a;\n    onKeyboardEvent == null ? void 0 : onKeyboardEvent(event);\n    if (event.defaultPrevented)\n      return;\n    if (event.isPropagationStopped())\n      return;\n    if (!isSelfTarget(event))\n      return;\n    if (isModifierKey(event))\n      return;\n    if (isPrintableKey(event))\n      return;\n    const state = store.getState();\n    const activeElement = (_a = getEnabledItem(store, state.activeId)) == null ? void 0 : _a.element;\n    if (!activeElement)\n      return;\n    const _b = event, { view } = _b, eventInit = __objRest(_b, [\"view\"]);\n    const previousElement = previousElementRef == null ? void 0 : previousElementRef.current;\n    if (activeElement !== previousElement) {\n      activeElement.focus();\n    }\n    if (!fireKeyboardEvent(activeElement, event.type, eventInit)) {\n      event.preventDefault();\n    }\n    if (event.currentTarget.contains(activeElement)) {\n      event.stopPropagation();\n    }\n  });\n}\nfunction findFirstEnabledItemInTheLastRow(items) {\n  return findFirstEnabledItem(\n    flatten2DArray(reverseArray(groupItemsByRows(items)))\n  );\n}\nfunction useScheduleFocus(store) {\n  const [scheduled, setScheduled] = useState(false);\n  const schedule = useCallback(() => setScheduled(true), []);\n  const activeItem = store.useState(\n    (state) => getEnabledItem(store, state.activeId)\n  );\n  useEffect(() => {\n    const activeElement = activeItem == null ? void 0 : activeItem.element;\n    if (!scheduled)\n      return;\n    if (!activeElement)\n      return;\n    setScheduled(false);\n    activeElement.focus({ preventScroll: true });\n  }, [activeItem, scheduled]);\n  return schedule;\n}\nvar useComposite = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      composite = true,\n      focusOnMove = composite,\n      moveOnKeyPress = true\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"composite\",\n      \"focusOnMove\",\n      \"moveOnKeyPress\"\n    ]);\n    const context = useCompositeProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"Composite must receive a `store` prop or be wrapped in a CompositeProvider component.\"\n    );\n    const previousElementRef = useRef(null);\n    const scheduleFocus = useScheduleFocus(store);\n    const moves = store.useState(\"moves\");\n    useEffect(() => {\n      var _a2;\n      if (!store)\n        return;\n      if (!moves)\n        return;\n      if (!composite)\n        return;\n      if (!focusOnMove)\n        return;\n      const { activeId: activeId2 } = store.getState();\n      const itemElement = (_a2 = getEnabledItem(store, activeId2)) == null ? void 0 : _a2.element;\n      if (!itemElement)\n        return;\n      focusIntoView(itemElement);\n    }, [store, moves, composite, focusOnMove]);\n    useSafeLayoutEffect(() => {\n      if (!store)\n        return;\n      if (!moves)\n        return;\n      if (!composite)\n        return;\n      const { baseElement, activeId: activeId2 } = store.getState();\n      const isSelfAcive = activeId2 === null;\n      if (!isSelfAcive)\n        return;\n      if (!baseElement)\n        return;\n      const previousElement = previousElementRef.current;\n      previousElementRef.current = null;\n      if (previousElement) {\n        fireBlurEvent(previousElement, { relatedTarget: baseElement });\n      }\n      if (!hasFocus(baseElement)) {\n        baseElement.focus();\n      }\n    }, [store, moves, composite]);\n    const activeId = store.useState(\"activeId\");\n    const virtualFocus = store.useState(\"virtualFocus\");\n    useSafeLayoutEffect(() => {\n      var _a2;\n      if (!store)\n        return;\n      if (!composite)\n        return;\n      if (!virtualFocus)\n        return;\n      const previousElement = previousElementRef.current;\n      previousElementRef.current = null;\n      if (!previousElement)\n        return;\n      const activeElement = (_a2 = getEnabledItem(store, activeId)) == null ? void 0 : _a2.element;\n      const relatedTarget = activeElement || getActiveElement(previousElement);\n      if (relatedTarget === previousElement)\n        return;\n      fireBlurEvent(previousElement, { relatedTarget });\n    }, [store, activeId, virtualFocus, composite]);\n    const onKeyDownCapture = useKeyboardEventProxy(\n      store,\n      props.onKeyDownCapture,\n      previousElementRef\n    );\n    const onKeyUpCapture = useKeyboardEventProxy(\n      store,\n      props.onKeyUpCapture,\n      previousElementRef\n    );\n    const onFocusCaptureProp = props.onFocusCapture;\n    const onFocusCapture = useEvent((event) => {\n      onFocusCaptureProp == null ? void 0 : onFocusCaptureProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!store)\n        return;\n      const { virtualFocus: virtualFocus2 } = store.getState();\n      if (!virtualFocus2)\n        return;\n      const previousActiveElement = event.relatedTarget;\n      const isSilentlyFocused = silentlyFocused(event.currentTarget);\n      if (isSelfTarget(event) && isSilentlyFocused) {\n        event.stopPropagation();\n        previousElementRef.current = previousActiveElement;\n      }\n    });\n    const onFocusProp = props.onFocus;\n    const onFocus = useEvent((event) => {\n      onFocusProp == null ? void 0 : onFocusProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!composite)\n        return;\n      if (!store)\n        return;\n      const { relatedTarget } = event;\n      const { virtualFocus: virtualFocus2 } = store.getState();\n      if (virtualFocus2) {\n        if (isSelfTarget(event) && !isItem(store, relatedTarget)) {\n          queueMicrotask(scheduleFocus);\n        }\n      } else if (isSelfTarget(event)) {\n        store.setActiveId(null);\n      }\n    });\n    const onBlurCaptureProp = props.onBlurCapture;\n    const onBlurCapture = useEvent((event) => {\n      var _a2;\n      onBlurCaptureProp == null ? void 0 : onBlurCaptureProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!store)\n        return;\n      const { virtualFocus: virtualFocus2, activeId: activeId2 } = store.getState();\n      if (!virtualFocus2)\n        return;\n      const activeElement = (_a2 = getEnabledItem(store, activeId2)) == null ? void 0 : _a2.element;\n      const nextActiveElement = event.relatedTarget;\n      const nextActiveElementIsItem = isItem(store, nextActiveElement);\n      const previousElement = previousElementRef.current;\n      previousElementRef.current = null;\n      if (isSelfTarget(event) && nextActiveElementIsItem) {\n        if (nextActiveElement === activeElement) {\n          if (previousElement && previousElement !== nextActiveElement) {\n            fireBlurEvent(previousElement, event);\n          }\n        } else if (activeElement) {\n          fireBlurEvent(activeElement, event);\n        } else if (previousElement) {\n          fireBlurEvent(previousElement, event);\n        }\n        event.stopPropagation();\n      } else {\n        const targetIsItem = isItem(store, event.target);\n        if (!targetIsItem && activeElement) {\n          fireBlurEvent(activeElement, event);\n        }\n      }\n    });\n    const onKeyDownProp = props.onKeyDown;\n    const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);\n    const onKeyDown = useEvent((event) => {\n      var _a2;\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!store)\n        return;\n      if (!isSelfTarget(event))\n        return;\n      const { orientation, items, renderedItems, activeId: activeId2 } = store.getState();\n      const activeItem = getEnabledItem(store, activeId2);\n      if ((_a2 = activeItem == null ? void 0 : activeItem.element) == null ? void 0 : _a2.isConnected)\n        return;\n      const isVertical = orientation !== \"horizontal\";\n      const isHorizontal = orientation !== \"vertical\";\n      const grid = isGrid(renderedItems);\n      const isHorizontalKey = event.key === \"ArrowLeft\" || event.key === \"ArrowRight\" || event.key === \"Home\" || event.key === \"End\";\n      if (isHorizontalKey && isTextField(event.currentTarget))\n        return;\n      const up = () => {\n        if (grid) {\n          const item = items && findFirstEnabledItemInTheLastRow(items);\n          return item == null ? void 0 : item.id;\n        }\n        return store == null ? void 0 : store.last();\n      };\n      const keyMap = {\n        ArrowUp: (grid || isVertical) && up,\n        ArrowRight: (grid || isHorizontal) && store.first,\n        ArrowDown: (grid || isVertical) && store.first,\n        ArrowLeft: (grid || isHorizontal) && store.last,\n        Home: store.first,\n        End: store.last,\n        PageUp: store.first,\n        PageDown: store.last\n      };\n      const action = keyMap[event.key];\n      if (action) {\n        const id = action();\n        if (id !== void 0) {\n          if (!moveOnKeyPressProp(event))\n            return;\n          event.preventDefault();\n          store.move(id);\n        }\n      }\n    });\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(CompositeContextProvider, { value: store, children: element }),\n      [store]\n    );\n    const activeDescendant = store.useState((state) => {\n      var _a2;\n      if (!store)\n        return;\n      if (!composite)\n        return;\n      if (!state.virtualFocus)\n        return;\n      return (_a2 = getEnabledItem(store, state.activeId)) == null ? void 0 : _a2.id;\n    });\n    props = __spreadProps(__spreadValues({\n      \"aria-activedescendant\": activeDescendant\n    }, props), {\n      ref: useMergeRefs(composite ? store.setBaseElement : null, props.ref),\n      onKeyDownCapture,\n      onKeyUpCapture,\n      onFocusCapture,\n      onFocus,\n      onBlurCapture,\n      onKeyDown\n    });\n    const focusable = store.useState(\n      (state) => composite && (state.virtualFocus || state.activeId === null)\n    );\n    props = useFocusable(__spreadValues({ focusable }, props));\n    return props;\n  }\n);\nvar Composite = createComponent((props) => {\n  const htmlProps = useComposite(props);\n  return createElement(\"div\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Composite.displayName = \"Composite\";\n}\n\nexport {\n  useComposite,\n  Composite\n};\n","\"use client\";\nimport {\n  DialogScopedContextProvider\n} from \"./G6BJYYBK.js\";\nimport {\n  useDisclosureProviderContext\n} from \"./OAYFXAQ2.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useStoreState\n} from \"./EKQEJRUF.js\";\nimport {\n  useId,\n  useMergeRefs,\n  useSafeLayoutEffect,\n  useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/disclosure/disclosure-content.tsx\nimport { useState } from \"react\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction afterTimeout(timeoutMs, cb) {\n  const timeoutId = setTimeout(cb, timeoutMs);\n  return () => clearTimeout(timeoutId);\n}\nfunction afterPaint(cb) {\n  let raf = requestAnimationFrame(() => {\n    raf = requestAnimationFrame(cb);\n  });\n  return () => cancelAnimationFrame(raf);\n}\nfunction parseCSSTime(...times) {\n  return times.join(\", \").split(\", \").reduce((longestTime, currentTimeString) => {\n    const currentTime = parseFloat(currentTimeString || \"0s\") * 1e3;\n    if (currentTime > longestTime)\n      return currentTime;\n    return longestTime;\n  }, 0);\n}\nfunction isHidden(mounted, hidden, alwaysVisible) {\n  return !alwaysVisible && hidden !== false && (!mounted || !!hidden);\n}\nvar useDisclosureContent = createHook(\n  (_a) => {\n    var _b = _a, { store, alwaysVisible } = _b, props = __objRest(_b, [\"store\", \"alwaysVisible\"]);\n    const context = useDisclosureProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"DisclosureContent must receive a `store` prop or be wrapped in a DisclosureProvider component.\"\n    );\n    const id = useId(props.id);\n    const [transition, setTransition] = useState(null);\n    const open = store.useState(\"open\");\n    const mounted = store.useState(\"mounted\");\n    const animated = store.useState(\"animated\");\n    const contentElement = store.useState(\"contentElement\");\n    useSafeLayoutEffect(() => {\n      if (!animated)\n        return;\n      if (!(contentElement == null ? void 0 : contentElement.isConnected)) {\n        setTransition(null);\n        return;\n      }\n      return afterPaint(() => {\n        setTransition(open ? \"enter\" : \"leave\");\n      });\n    }, [animated, contentElement, open]);\n    useSafeLayoutEffect(() => {\n      if (!store)\n        return;\n      if (!animated)\n        return;\n      if (!contentElement)\n        return;\n      if (!transition)\n        return;\n      if (transition === \"enter\" && !open)\n        return;\n      if (transition === \"leave\" && open)\n        return;\n      if (typeof animated === \"number\") {\n        const timeoutMs2 = animated;\n        return afterTimeout(timeoutMs2, store.stopAnimation);\n      }\n      const {\n        transitionDuration,\n        animationDuration,\n        transitionDelay,\n        animationDelay\n      } = getComputedStyle(contentElement);\n      const delay = parseCSSTime(transitionDelay, animationDelay);\n      const duration = parseCSSTime(transitionDuration, animationDuration);\n      const timeoutMs = delay + duration;\n      if (!timeoutMs)\n        return;\n      return afterTimeout(timeoutMs, store.stopAnimation);\n    }, [store, animated, contentElement, open, transition]);\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(DialogScopedContextProvider, { value: store, children: element }),\n      [store]\n    );\n    const hidden = isHidden(mounted, props.hidden, alwaysVisible);\n    const style = hidden ? __spreadProps(__spreadValues({}, props.style), { display: \"none\" }) : props.style;\n    props = __spreadProps(__spreadValues({\n      id,\n      \"data-enter\": transition === \"enter\" ? \"\" : void 0,\n      \"data-leave\": transition === \"leave\" ? \"\" : void 0,\n      hidden\n    }, props), {\n      ref: useMergeRefs(id ? store.setContentElement : null, props.ref),\n      style\n    });\n    return props;\n  }\n);\nvar DisclosureContentImpl = createComponent(\n  (props) => {\n    const htmlProps = useDisclosureContent(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nvar DisclosureContent = createComponent(\n  (_a) => {\n    var _b = _a, { unmountOnHide } = _b, props = __objRest(_b, [\"unmountOnHide\"]);\n    const context = useDisclosureProviderContext();\n    const store = props.store || context;\n    const mounted = useStoreState(\n      store,\n      (state) => !unmountOnHide || (state == null ? void 0 : state.mounted)\n    );\n    if (mounted === false)\n      return null;\n    return /* @__PURE__ */ jsx(DisclosureContentImpl, __spreadValues({}, props));\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  DisclosureContent.displayName = \"DisclosureContent\";\n}\n\nexport {\n  isHidden,\n  useDisclosureContent,\n  DisclosureContent\n};\n","\"use client\";\nimport {\n  useEvent,\n  useLiveRef,\n  useSafeLayoutEffect\n} from \"./6O5OEQGF.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/store.tsx\nimport * as React from \"react\";\nimport { hasOwnProperty, identity } from \"@ariakit/core/utils/misc\";\nimport { batch, init, subscribe, sync } from \"@ariakit/core/utils/store\";\nimport useSyncExternalStoreExports from \"use-sync-external-store/shim/index.js\";\nvar { useSyncExternalStore } = useSyncExternalStoreExports;\nvar noopSubscribe = () => () => {\n};\nfunction useStoreState(store, keyOrSelector = identity) {\n  const storeSubscribe = React.useCallback(\n    (callback) => {\n      if (!store)\n        return noopSubscribe();\n      return subscribe(store, null, callback);\n    },\n    [store]\n  );\n  const getSnapshot = () => {\n    const key = typeof keyOrSelector === \"string\" ? keyOrSelector : null;\n    const selector = typeof keyOrSelector === \"function\" ? keyOrSelector : null;\n    const state = store == null ? void 0 : store.getState();\n    if (selector)\n      return selector(state);\n    if (!state)\n      return;\n    if (!key)\n      return;\n    if (!hasOwnProperty(state, key))\n      return;\n    return state[key];\n  };\n  return useSyncExternalStore(storeSubscribe, getSnapshot, getSnapshot);\n}\nfunction useStoreProps(store, props, key, setKey) {\n  const value = hasOwnProperty(props, key) ? props[key] : void 0;\n  const setValue = setKey ? props[setKey] : void 0;\n  const propsRef = useLiveRef({ value, setValue });\n  useSafeLayoutEffect(() => {\n    return sync(store, [key], (state, prev) => {\n      const { value: value2, setValue: setValue2 } = propsRef.current;\n      if (!setValue2)\n        return;\n      if (state[key] === prev[key])\n        return;\n      if (state[key] === value2)\n        return;\n      setValue2(state[key]);\n    });\n  }, [store, key]);\n  useSafeLayoutEffect(() => {\n    if (value === void 0)\n      return;\n    store.setState(key, value);\n    return batch(store, [key], () => {\n      if (value === void 0)\n        return;\n      store.setState(key, value);\n    });\n  });\n}\nfunction useStore(createStore, props) {\n  const [store, setStore] = React.useState(() => createStore(props));\n  useSafeLayoutEffect(() => init(store), [store]);\n  const useState2 = React.useCallback(\n    (keyOrSelector) => useStoreState(store, keyOrSelector),\n    [store]\n  );\n  const memoizedStore = React.useMemo(\n    () => __spreadProps(__spreadValues({}, store), { useState: useState2 }),\n    [store, useState2]\n  );\n  const updateStore = useEvent(() => {\n    setStore((store2) => createStore(__spreadValues(__spreadValues({}, props), store2.getState())));\n  });\n  return [memoizedStore, updateStore];\n}\n\nexport {\n  useStoreState,\n  useStoreProps,\n  useStore\n};\n","\"use client\";\nimport {\n  DisclosureContextProvider,\n  DisclosureScopedContextProvider\n} from \"./OAYFXAQ2.js\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/dialog/dialog-context.tsx\nimport { createContext } from \"react\";\nvar ctx = createStoreContext(\n  [DisclosureContextProvider],\n  [DisclosureScopedContextProvider]\n);\nvar useDialogContext = ctx.useContext;\nvar useDialogScopedContext = ctx.useScopedContext;\nvar useDialogProviderContext = ctx.useProviderContext;\nvar DialogContextProvider = ctx.ContextProvider;\nvar DialogScopedContextProvider = ctx.ScopedContextProvider;\nvar DialogHeadingContext = createContext(void 0);\nvar DialogDescriptionContext = createContext(void 0);\n\nexport {\n  useDialogContext,\n  useDialogScopedContext,\n  useDialogProviderContext,\n  DialogContextProvider,\n  DialogScopedContextProvider,\n  DialogHeadingContext,\n  DialogDescriptionContext\n};\n","\"use client\";\nimport {\n  useCompositeContext\n} from \"./IB7YUKH5.js\";\nimport {\n  createElement,\n  createHook,\n  createMemoComponent\n} from \"./3ORBWXWF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useIsMouseMoving,\n  useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-hover.ts\nimport { useCallback } from \"react\";\nimport { contains } from \"@ariakit/core/utils/dom\";\nimport { hasFocus, hasFocusWithin } from \"@ariakit/core/utils/focus\";\nimport { hasOwnProperty, invariant } from \"@ariakit/core/utils/misc\";\nfunction getMouseDestination(event) {\n  const relatedTarget = event.relatedTarget;\n  if ((relatedTarget == null ? void 0 : relatedTarget.nodeType) === Node.ELEMENT_NODE) {\n    return relatedTarget;\n  }\n  return null;\n}\nfunction hoveringInside(event) {\n  const nextElement = getMouseDestination(event);\n  if (!nextElement)\n    return false;\n  return contains(event.currentTarget, nextElement);\n}\nvar symbol = Symbol(\"composite-hover\");\nfunction movingToAnotherItem(event) {\n  let dest = getMouseDestination(event);\n  if (!dest)\n    return false;\n  do {\n    if (hasOwnProperty(dest, symbol) && dest[symbol])\n      return true;\n    dest = dest.parentElement;\n  } while (dest);\n  return false;\n}\nvar useCompositeHover = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      focusOnHover = true,\n      blurOnHoverEnd = !!focusOnHover\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"focusOnHover\",\n      \"blurOnHoverEnd\"\n    ]);\n    const context = useCompositeContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"CompositeHover must be wrapped in a Composite component.\"\n    );\n    const isMouseMoving = useIsMouseMoving();\n    const onMouseMoveProp = props.onMouseMove;\n    const focusOnHoverProp = useBooleanEvent(focusOnHover);\n    const onMouseMove = useEvent((event) => {\n      onMouseMoveProp == null ? void 0 : onMouseMoveProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!isMouseMoving())\n        return;\n      if (!focusOnHoverProp(event))\n        return;\n      if (!hasFocusWithin(event.currentTarget)) {\n        const baseElement = store == null ? void 0 : store.getState().baseElement;\n        if (baseElement && !hasFocus(baseElement)) {\n          baseElement.focus();\n        }\n      }\n      store == null ? void 0 : store.setActiveId(event.currentTarget.id);\n    });\n    const onMouseLeaveProp = props.onMouseLeave;\n    const blurOnHoverEndProp = useBooleanEvent(blurOnHoverEnd);\n    const onMouseLeave = useEvent((event) => {\n      var _a2;\n      onMouseLeaveProp == null ? void 0 : onMouseLeaveProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!isMouseMoving())\n        return;\n      if (hoveringInside(event))\n        return;\n      if (movingToAnotherItem(event))\n        return;\n      if (!focusOnHoverProp(event))\n        return;\n      if (!blurOnHoverEndProp(event))\n        return;\n      store == null ? void 0 : store.setActiveId(null);\n      (_a2 = store == null ? void 0 : store.getState().baseElement) == null ? void 0 : _a2.focus();\n    });\n    const ref = useCallback((element) => {\n      if (!element)\n        return;\n      element[symbol] = true;\n    }, []);\n    props = __spreadProps(__spreadValues({}, props), {\n      ref: useMergeRefs(ref, props.ref),\n      onMouseMove,\n      onMouseLeave\n    });\n    return props;\n  }\n);\nvar CompositeHover = createMemoComponent(\n  (props) => {\n    const htmlProps = useCompositeHover(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  CompositeHover.displayName = \"CompositeHover\";\n}\n\nexport {\n  useCompositeHover,\n  CompositeHover\n};\n","\"use client\";\nimport {\n  CollectionContextProvider,\n  CollectionScopedContextProvider\n} from \"./4UUKJZ4V.js\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/composite/composite-context.tsx\nimport { createContext } from \"react\";\nvar ctx = createStoreContext(\n  [CollectionContextProvider],\n  [CollectionScopedContextProvider]\n);\nvar useCompositeContext = ctx.useContext;\nvar useCompositeScopedContext = ctx.useScopedContext;\nvar useCompositeProviderContext = ctx.useProviderContext;\nvar CompositeContextProvider = ctx.ContextProvider;\nvar CompositeScopedContextProvider = ctx.ScopedContextProvider;\nvar CompositeItemContext = createContext(\n  void 0\n);\nvar CompositeRowContext = createContext(\n  void 0\n);\n\nexport {\n  useCompositeContext,\n  useCompositeScopedContext,\n  useCompositeProviderContext,\n  CompositeContextProvider,\n  CompositeScopedContextProvider,\n  CompositeItemContext,\n  CompositeRowContext\n};\n","\"use client\";\nimport {\n  usePopoverProviderContext\n} from \"./7H5KSHHF.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/popover/popover-anchor.ts\nvar usePopoverAnchor = createHook(\n  (_a) => {\n    var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n    const context = usePopoverProviderContext();\n    store = store || context;\n    props = __spreadProps(__spreadValues({}, props), {\n      ref: useMergeRefs(store == null ? void 0 : store.setAnchorElement, props.ref)\n    });\n    return props;\n  }\n);\nvar PopoverAnchor = createComponent((props) => {\n  const htmlProps = usePopoverAnchor(props);\n  return createElement(\"div\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  PopoverAnchor.displayName = \"PopoverAnchor\";\n}\n\nexport {\n  usePopoverAnchor,\n  PopoverAnchor\n};\n","\"use client\";\nimport {\n  FocusableContext\n} from \"./SHA3WOPI.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useEvent,\n  useMergeRefs,\n  useTagName\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/focusable/focusable.ts\nimport { useContext, useEffect, useRef, useState } from \"react\";\nimport { isButton } from \"@ariakit/core/utils/dom\";\nimport {\n  addGlobalEventListener,\n  isFocusEventOutside,\n  isPortalEvent,\n  isSelfTarget,\n  queueBeforeEvent\n} from \"@ariakit/core/utils/events\";\nimport {\n  focusIfNeeded,\n  hasFocus,\n  isFocusable\n} from \"@ariakit/core/utils/focus\";\nimport { disabledFromProps } from \"@ariakit/core/utils/misc\";\nimport { isSafari } from \"@ariakit/core/utils/platform\";\nvar isSafariBrowser = isSafari();\nvar alwaysFocusVisibleInputTypes = [\n  \"text\",\n  \"search\",\n  \"url\",\n  \"tel\",\n  \"email\",\n  \"password\",\n  \"number\",\n  \"date\",\n  \"month\",\n  \"week\",\n  \"time\",\n  \"datetime\",\n  \"datetime-local\"\n];\nfunction isAlwaysFocusVisible(element) {\n  const { tagName, readOnly, type } = element;\n  if (tagName === \"TEXTAREA\" && !readOnly)\n    return true;\n  if (tagName === \"SELECT\" && !readOnly)\n    return true;\n  if (tagName === \"INPUT\" && !readOnly) {\n    return alwaysFocusVisibleInputTypes.includes(type);\n  }\n  if (element.isContentEditable)\n    return true;\n  return false;\n}\nfunction isAlwaysFocusVisibleDelayed(element) {\n  const role = element.getAttribute(\"role\");\n  if (role !== \"combobox\")\n    return false;\n  return !!element.dataset.name;\n}\nfunction getLabels(element) {\n  if (\"labels\" in element) {\n    return element.labels;\n  }\n  return null;\n}\nfunction isNativeCheckboxOrRadio(element) {\n  const tagName = element.tagName.toLowerCase();\n  if (tagName === \"input\" && element.type) {\n    return element.type === \"radio\" || element.type === \"checkbox\";\n  }\n  return false;\n}\nfunction isNativeTabbable(tagName) {\n  if (!tagName)\n    return true;\n  return tagName === \"button\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\" || tagName === \"a\";\n}\nfunction supportsDisabledAttribute(tagName) {\n  if (!tagName)\n    return true;\n  return tagName === \"button\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\";\n}\nfunction getTabIndex(focusable, trulyDisabled, nativeTabbable, supportsDisabled, tabIndexProp) {\n  if (!focusable) {\n    return tabIndexProp;\n  }\n  if (trulyDisabled) {\n    if (nativeTabbable && !supportsDisabled) {\n      return -1;\n    }\n    return;\n  }\n  if (nativeTabbable) {\n    return tabIndexProp;\n  }\n  return tabIndexProp || 0;\n}\nfunction useDisableEvent(onEvent, disabled) {\n  return useEvent((event) => {\n    onEvent == null ? void 0 : onEvent(event);\n    if (event.defaultPrevented)\n      return;\n    if (disabled) {\n      event.stopPropagation();\n      event.preventDefault();\n    }\n  });\n}\nvar isKeyboardModality = true;\nfunction onGlobalMouseDown(event) {\n  const target = event.target;\n  if (target && \"hasAttribute\" in target) {\n    if (!target.hasAttribute(\"data-focus-visible\")) {\n      isKeyboardModality = false;\n    }\n  }\n}\nfunction onGlobalKeyDown(event) {\n  if (event.metaKey)\n    return;\n  if (event.ctrlKey)\n    return;\n  if (event.altKey)\n    return;\n  isKeyboardModality = true;\n}\nvar useFocusable = createHook(\n  (_a) => {\n    var _b = _a, {\n      focusable = true,\n      accessibleWhenDisabled,\n      autoFocus,\n      onFocusVisible\n    } = _b, props = __objRest(_b, [\n      \"focusable\",\n      \"accessibleWhenDisabled\",\n      \"autoFocus\",\n      \"onFocusVisible\"\n    ]);\n    const ref = useRef(null);\n    useEffect(() => {\n      if (!focusable)\n        return;\n      addGlobalEventListener(\"mousedown\", onGlobalMouseDown, true);\n      addGlobalEventListener(\"keydown\", onGlobalKeyDown, true);\n    }, [focusable]);\n    if (isSafariBrowser) {\n      useEffect(() => {\n        if (!focusable)\n          return;\n        const element = ref.current;\n        if (!element)\n          return;\n        if (!isNativeCheckboxOrRadio(element))\n          return;\n        const labels = getLabels(element);\n        if (!labels)\n          return;\n        const onMouseUp = () => queueMicrotask(() => element.focus());\n        labels.forEach((label) => label.addEventListener(\"mouseup\", onMouseUp));\n        return () => {\n          labels.forEach(\n            (label) => label.removeEventListener(\"mouseup\", onMouseUp)\n          );\n        };\n      }, [focusable]);\n    }\n    const disabled = focusable && disabledFromProps(props);\n    const trulyDisabled = !!disabled && !accessibleWhenDisabled;\n    const [focusVisible, setFocusVisible] = useState(false);\n    useEffect(() => {\n      if (!focusable)\n        return;\n      if (trulyDisabled && focusVisible) {\n        setFocusVisible(false);\n      }\n    }, [focusable, trulyDisabled, focusVisible]);\n    useEffect(() => {\n      if (!focusable)\n        return;\n      if (!focusVisible)\n        return;\n      const element = ref.current;\n      if (!element)\n        return;\n      if (typeof IntersectionObserver === \"undefined\")\n        return;\n      const observer = new IntersectionObserver(() => {\n        if (!isFocusable(element)) {\n          setFocusVisible(false);\n        }\n      });\n      observer.observe(element);\n      return () => observer.disconnect();\n    }, [focusable, focusVisible]);\n    const onKeyPressCapture = useDisableEvent(\n      props.onKeyPressCapture,\n      disabled\n    );\n    const onMouseDownCapture = useDisableEvent(\n      props.onMouseDownCapture,\n      disabled\n    );\n    const onClickCapture = useDisableEvent(props.onClickCapture, disabled);\n    const onMouseDownProp = props.onMouseDown;\n    const onMouseDown = useEvent((event) => {\n      onMouseDownProp == null ? void 0 : onMouseDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!focusable)\n        return;\n      const element = event.currentTarget;\n      if (!isSafariBrowser)\n        return;\n      if (isPortalEvent(event))\n        return;\n      if (!isButton(element) && !isNativeCheckboxOrRadio(element))\n        return;\n      let receivedFocus = false;\n      const onFocus = () => {\n        receivedFocus = true;\n      };\n      const options = { capture: true, once: true };\n      element.addEventListener(\"focusin\", onFocus, options);\n      queueBeforeEvent(element, \"mouseup\", () => {\n        element.removeEventListener(\"focusin\", onFocus, true);\n        if (receivedFocus)\n          return;\n        focusIfNeeded(element);\n      });\n    });\n    const handleFocusVisible = (event, currentTarget) => {\n      if (currentTarget) {\n        event.currentTarget = currentTarget;\n      }\n      if (!focusable)\n        return;\n      const element = event.currentTarget;\n      if (!element)\n        return;\n      if (!hasFocus(element))\n        return;\n      onFocusVisible == null ? void 0 : onFocusVisible(event);\n      if (event.defaultPrevented)\n        return;\n      setFocusVisible(true);\n    };\n    const onKeyDownCaptureProp = props.onKeyDownCapture;\n    const onKeyDownCapture = useEvent(\n      (event) => {\n        onKeyDownCaptureProp == null ? void 0 : onKeyDownCaptureProp(event);\n        if (event.defaultPrevented)\n          return;\n        if (!focusable)\n          return;\n        if (focusVisible)\n          return;\n        if (event.metaKey)\n          return;\n        if (event.altKey)\n          return;\n        if (event.ctrlKey)\n          return;\n        if (!isSelfTarget(event))\n          return;\n        const element = event.currentTarget;\n        queueMicrotask(() => handleFocusVisible(event, element));\n      }\n    );\n    const onFocusCaptureProp = props.onFocusCapture;\n    const onFocusCapture = useEvent((event) => {\n      onFocusCaptureProp == null ? void 0 : onFocusCaptureProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!focusable)\n        return;\n      if (!isSelfTarget(event)) {\n        setFocusVisible(false);\n        return;\n      }\n      const element = event.currentTarget;\n      const applyFocusVisible = () => handleFocusVisible(event, element);\n      if (isKeyboardModality || isAlwaysFocusVisible(event.target)) {\n        queueMicrotask(applyFocusVisible);\n      } else if (isAlwaysFocusVisibleDelayed(event.target)) {\n        queueBeforeEvent(event.target, \"focusout\", applyFocusVisible);\n      } else {\n        setFocusVisible(false);\n      }\n    });\n    const onBlurProp = props.onBlur;\n    const onBlur = useEvent((event) => {\n      onBlurProp == null ? void 0 : onBlurProp(event);\n      if (!focusable)\n        return;\n      if (!isFocusEventOutside(event))\n        return;\n      setFocusVisible(false);\n    });\n    const autoFocusOnShow = useContext(FocusableContext);\n    const autoFocusRef = useEvent((element) => {\n      if (!focusable)\n        return;\n      if (!autoFocus)\n        return;\n      if (!element)\n        return;\n      if (!autoFocusOnShow)\n        return;\n      queueMicrotask(() => {\n        if (hasFocus(element))\n          return;\n        if (!isFocusable(element))\n          return;\n        element.focus();\n      });\n    });\n    const tagName = useTagName(ref, props.as);\n    const nativeTabbable = focusable && isNativeTabbable(tagName);\n    const supportsDisabled = focusable && supportsDisabledAttribute(tagName);\n    const style = trulyDisabled ? __spreadValues({ pointerEvents: \"none\" }, props.style) : props.style;\n    props = __spreadProps(__spreadValues({\n      \"data-focus-visible\": focusable && focusVisible ? \"\" : void 0,\n      \"data-autofocus\": autoFocus ? true : void 0,\n      \"aria-disabled\": disabled ? true : void 0\n    }, props), {\n      ref: useMergeRefs(ref, autoFocusRef, props.ref),\n      style,\n      tabIndex: getTabIndex(\n        focusable,\n        trulyDisabled,\n        nativeTabbable,\n        supportsDisabled,\n        props.tabIndex\n      ),\n      disabled: supportsDisabled && trulyDisabled ? true : void 0,\n      // TODO: Test Focusable contentEditable.\n      contentEditable: disabled ? void 0 : props.contentEditable,\n      onKeyPressCapture,\n      onClickCapture,\n      onMouseDownCapture,\n      onMouseDown,\n      onKeyDownCapture,\n      onFocusCapture,\n      onBlur\n    });\n    return props;\n  }\n);\nvar Focusable = createComponent((props) => {\n  props = useFocusable(props);\n  return createElement(\"div\", props);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Focusable.displayName = \"Focusable\";\n}\n\nexport {\n  useFocusable,\n  Focusable\n};\n","\"use client\";\nimport {\n  useDialogStoreProps\n} from \"./ZSELSBRM.js\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\nimport {\n  useUpdateEffect\n} from \"./6O5OEQGF.js\";\n\n// src/popover/popover-store.ts\nimport * as Core from \"@ariakit/core/popover/popover-store\";\nfunction usePopoverStoreProps(store, update, props) {\n  useUpdateEffect(update, [props.popover]);\n  store = useDialogStoreProps(store, update, props);\n  useStoreProps(store, props, \"placement\");\n  return store;\n}\nfunction usePopoverStore(props = {}) {\n  const [store, update] = useStore(Core.createPopoverStore, props);\n  return usePopoverStoreProps(store, update, props);\n}\n\nexport {\n  usePopoverStoreProps,\n  usePopoverStore\n};\n","\"use client\";\nimport {\n  useFocusable\n} from \"./KK7H3W2B.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useEvent,\n  useMergeRefs,\n  useMetadataProps,\n  useTagName\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/command/command.ts\nimport { useEffect, useRef, useState } from \"react\";\nimport { isButton, isTextField } from \"@ariakit/core/utils/dom\";\nimport {\n  fireClickEvent,\n  isSelfTarget,\n  queueBeforeEvent\n} from \"@ariakit/core/utils/events\";\nimport { disabledFromProps } from \"@ariakit/core/utils/misc\";\nimport { isFirefox } from \"@ariakit/core/utils/platform\";\nfunction isNativeClick(event) {\n  if (!event.isTrusted)\n    return false;\n  const element = event.currentTarget;\n  if (event.key === \"Enter\") {\n    return isButton(element) || element.tagName === \"SUMMARY\" || element.tagName === \"A\";\n  }\n  if (event.key === \" \") {\n    return isButton(element) || element.tagName === \"SUMMARY\" || element.tagName === \"INPUT\" || element.tagName === \"SELECT\";\n  }\n  return false;\n}\nvar symbol = Symbol(\"command\");\nvar useCommand = createHook(\n  (_a) => {\n    var _b = _a, { clickOnEnter = true, clickOnSpace = true } = _b, props = __objRest(_b, [\"clickOnEnter\", \"clickOnSpace\"]);\n    const ref = useRef(null);\n    const tagName = useTagName(ref, props.as);\n    const type = props.type;\n    const [isNativeButton, setIsNativeButton] = useState(\n      () => !!tagName && isButton({ tagName, type })\n    );\n    useEffect(() => {\n      if (!ref.current)\n        return;\n      setIsNativeButton(isButton(ref.current));\n    }, []);\n    const [active, setActive] = useState(false);\n    const activeRef = useRef(false);\n    const disabled = disabledFromProps(props);\n    const [isDuplicate, metadataProps] = useMetadataProps(props, symbol, true);\n    const onKeyDownProp = props.onKeyDown;\n    const onKeyDown = useEvent((event) => {\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      const element = event.currentTarget;\n      if (event.defaultPrevented)\n        return;\n      if (isDuplicate)\n        return;\n      if (disabled)\n        return;\n      if (!isSelfTarget(event))\n        return;\n      if (isTextField(element))\n        return;\n      if (element.isContentEditable)\n        return;\n      const isEnter = clickOnEnter && event.key === \"Enter\";\n      const isSpace = clickOnSpace && event.key === \" \";\n      const shouldPreventEnter = event.key === \"Enter\" && !clickOnEnter;\n      const shouldPreventSpace = event.key === \" \" && !clickOnSpace;\n      if (shouldPreventEnter || shouldPreventSpace) {\n        event.preventDefault();\n        return;\n      }\n      if (isEnter || isSpace) {\n        const nativeClick = isNativeClick(event);\n        if (isEnter) {\n          if (!nativeClick) {\n            event.preventDefault();\n            const _a2 = event, { view } = _a2, eventInit = __objRest(_a2, [\"view\"]);\n            const click = () => fireClickEvent(element, eventInit);\n            if (isFirefox()) {\n              queueBeforeEvent(element, \"keyup\", click);\n            } else {\n              queueMicrotask(click);\n            }\n          }\n        } else if (isSpace) {\n          activeRef.current = true;\n          if (!nativeClick) {\n            event.preventDefault();\n            setActive(true);\n          }\n        }\n      }\n    });\n    const onKeyUpProp = props.onKeyUp;\n    const onKeyUp = useEvent((event) => {\n      onKeyUpProp == null ? void 0 : onKeyUpProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (isDuplicate)\n        return;\n      if (disabled)\n        return;\n      if (event.metaKey)\n        return;\n      const isSpace = clickOnSpace && event.key === \" \";\n      if (activeRef.current && isSpace) {\n        activeRef.current = false;\n        if (!isNativeClick(event)) {\n          event.preventDefault();\n          setActive(false);\n          const element = event.currentTarget;\n          const _a2 = event, { view } = _a2, eventInit = __objRest(_a2, [\"view\"]);\n          queueMicrotask(() => fireClickEvent(element, eventInit));\n        }\n      }\n    });\n    props = __spreadProps(__spreadValues(__spreadValues({\n      \"data-active\": active ? \"\" : void 0,\n      type: isNativeButton ? \"button\" : void 0\n    }, metadataProps), props), {\n      ref: useMergeRefs(ref, props.ref),\n      onKeyDown,\n      onKeyUp\n    });\n    props = useFocusable(props);\n    return props;\n  }\n);\nvar Command = createComponent((props) => {\n  props = useCommand(props);\n  return createElement(\"button\", props);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Command.displayName = \"Command\";\n}\n\nexport {\n  useCommand,\n  Command\n};\n","\"use client\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/disclosure/disclosure-context.tsx\nvar ctx = createStoreContext();\nvar useDisclosureContext = ctx.useContext;\nvar useDisclosureScopedContext = ctx.useScopedContext;\nvar useDisclosureProviderContext = ctx.useProviderContext;\nvar DisclosureContextProvider = ctx.ContextProvider;\nvar DisclosureScopedContextProvider = ctx.ScopedContextProvider;\n\nexport {\n  useDisclosureContext,\n  useDisclosureScopedContext,\n  useDisclosureProviderContext,\n  DisclosureContextProvider,\n  DisclosureScopedContextProvider\n};\n","\"use client\";\nimport {\n  useCommand\n} from \"./NWCBQ4CV.js\";\nimport {\n  useCollectionItem\n} from \"./UH3I23HL.js\";\nimport {\n  focusSilently,\n  getEnabledItem,\n  isItem\n} from \"./3IEDWLST.js\";\nimport {\n  CompositeItemContext,\n  CompositeRowContext,\n  useCompositeContext\n} from \"./IB7YUKH5.js\";\nimport {\n  createElement,\n  createHook,\n  createMemoComponent\n} from \"./3ORBWXWF.js\";\nimport {\n  useStoreState\n} from \"./EKQEJRUF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useId,\n  useMergeRefs,\n  useSafeLayoutEffect,\n  useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-item.tsx\nimport { useCallback, useContext, useMemo, useRef, useState } from \"react\";\nimport {\n  getScrollingElement,\n  isButton,\n  isTextField\n} from \"@ariakit/core/utils/dom\";\nimport { isPortalEvent, isSelfTarget } from \"@ariakit/core/utils/events\";\nimport { disabledFromProps } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction isEditableElement(element) {\n  if (element.isContentEditable)\n    return true;\n  if (isTextField(element))\n    return true;\n  return element.tagName === \"INPUT\" && !isButton(element);\n}\nfunction getNextPageOffset(scrollingElement, pageUp = false) {\n  const height = scrollingElement.clientHeight;\n  const { top } = scrollingElement.getBoundingClientRect();\n  const pageSize = Math.max(height * 0.875, height - 40) * 1.5;\n  const pageOffset = pageUp ? height - pageSize + top : pageSize + top;\n  if (scrollingElement.tagName === \"HTML\") {\n    return pageOffset + scrollingElement.scrollTop;\n  }\n  return pageOffset;\n}\nfunction getItemOffset(itemElement, pageUp = false) {\n  const { top } = itemElement.getBoundingClientRect();\n  if (pageUp) {\n    return top + itemElement.clientHeight;\n  }\n  return top;\n}\nfunction findNextPageItemId(element, store, next, pageUp = false) {\n  var _a;\n  if (!store)\n    return;\n  if (!next)\n    return;\n  const { renderedItems } = store.getState();\n  const scrollingElement = getScrollingElement(element);\n  if (!scrollingElement)\n    return;\n  const nextPageOffset = getNextPageOffset(scrollingElement, pageUp);\n  let id;\n  let prevDifference;\n  for (let i = 0; i < renderedItems.length; i += 1) {\n    const previousId = id;\n    id = next(i);\n    if (!id)\n      break;\n    if (id === previousId)\n      continue;\n    const itemElement = (_a = getEnabledItem(store, id)) == null ? void 0 : _a.element;\n    if (!itemElement)\n      continue;\n    const itemOffset = getItemOffset(itemElement, pageUp);\n    const difference = itemOffset - nextPageOffset;\n    const absDifference = Math.abs(difference);\n    if (pageUp && difference <= 0 || !pageUp && difference >= 0) {\n      if (prevDifference !== void 0 && prevDifference < absDifference) {\n        id = previousId;\n      }\n      break;\n    }\n    prevDifference = absDifference;\n  }\n  return id;\n}\nfunction targetIsAnotherItem(event, store) {\n  if (isSelfTarget(event))\n    return false;\n  return isItem(store, event.target);\n}\nfunction useRole(ref, props) {\n  const roleProp = props.role;\n  const [role, setRole] = useState(roleProp);\n  useSafeLayoutEffect(() => {\n    const element = ref.current;\n    if (!element)\n      return;\n    setRole(element.getAttribute(\"role\") || roleProp);\n  }, [roleProp]);\n  return role;\n}\nfunction requiresAriaSelected(role) {\n  return role === \"option\" || role === \"treeitem\";\n}\nfunction supportsAriaSelected(role) {\n  if (role === \"option\")\n    return true;\n  if (role === \"tab\")\n    return true;\n  if (role === \"treeitem\")\n    return true;\n  if (role === \"gridcell\")\n    return true;\n  if (role === \"row\")\n    return true;\n  if (role === \"columnheader\")\n    return true;\n  if (role === \"rowheader\")\n    return true;\n  return false;\n}\nvar useCompositeItem = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      rowId: rowIdProp,\n      preventScrollOnKeyDown = false,\n      moveOnKeyPress = true,\n      tabbable = false,\n      getItem: getItemProp,\n      \"aria-setsize\": ariaSetSizeProp,\n      \"aria-posinset\": ariaPosInSetProp\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"rowId\",\n      \"preventScrollOnKeyDown\",\n      \"moveOnKeyPress\",\n      \"tabbable\",\n      \"getItem\",\n      \"aria-setsize\",\n      \"aria-posinset\"\n    ]);\n    const context = useCompositeContext();\n    store = store || context;\n    const id = useId(props.id);\n    const ref = useRef(null);\n    const row = useContext(CompositeRowContext);\n    const rowId = useStoreState(store, (state) => {\n      if (rowIdProp)\n        return rowIdProp;\n      if (!state)\n        return;\n      if (!(row == null ? void 0 : row.baseElement))\n        return;\n      if (row.baseElement !== state.baseElement)\n        return;\n      return row.id;\n    });\n    const disabled = disabledFromProps(props);\n    const trulyDisabled = disabled && !props.accessibleWhenDisabled;\n    const getItem = useCallback(\n      (item) => {\n        const nextItem = __spreadProps(__spreadValues({}, item), {\n          id: id || item.id,\n          rowId,\n          disabled: !!trulyDisabled\n        });\n        if (getItemProp) {\n          return getItemProp(nextItem);\n        }\n        return nextItem;\n      },\n      [id, rowId, trulyDisabled, getItemProp]\n    );\n    const onFocusProp = props.onFocus;\n    const hasFocusedComposite = useRef(false);\n    const onFocus = useEvent((event) => {\n      onFocusProp == null ? void 0 : onFocusProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (isPortalEvent(event))\n        return;\n      if (!id)\n        return;\n      if (!store)\n        return;\n      const { activeId, virtualFocus: virtualFocus2, baseElement: baseElement2 } = store.getState();\n      if (targetIsAnotherItem(event, store))\n        return;\n      if (activeId !== id) {\n        store.setActiveId(id);\n      }\n      if (!virtualFocus2)\n        return;\n      if (!isSelfTarget(event))\n        return;\n      if (isEditableElement(event.currentTarget))\n        return;\n      if (!(baseElement2 == null ? void 0 : baseElement2.isConnected))\n        return;\n      hasFocusedComposite.current = true;\n      const fromComposite = event.relatedTarget === baseElement2 || isItem(store, event.relatedTarget);\n      if (fromComposite) {\n        focusSilently(baseElement2);\n      } else {\n        baseElement2.focus();\n      }\n    });\n    const onBlurCaptureProp = props.onBlurCapture;\n    const onBlurCapture = useEvent((event) => {\n      onBlurCaptureProp == null ? void 0 : onBlurCaptureProp(event);\n      if (event.defaultPrevented)\n        return;\n      const state = store == null ? void 0 : store.getState();\n      if ((state == null ? void 0 : state.virtualFocus) && hasFocusedComposite.current) {\n        hasFocusedComposite.current = false;\n        event.preventDefault();\n        event.stopPropagation();\n      }\n    });\n    const onKeyDownProp = props.onKeyDown;\n    const preventScrollOnKeyDownProp = useBooleanEvent(preventScrollOnKeyDown);\n    const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);\n    const onKeyDown = useEvent((event) => {\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!isSelfTarget(event))\n        return;\n      if (!store)\n        return;\n      const { currentTarget } = event;\n      const state = store.getState();\n      const item = store.item(id);\n      const isGrid = !!(item == null ? void 0 : item.rowId);\n      const isVertical = state.orientation !== \"horizontal\";\n      const isHorizontal = state.orientation !== \"vertical\";\n      const canHomeEnd = () => {\n        if (isGrid)\n          return true;\n        if (isHorizontal)\n          return true;\n        if (!state.baseElement)\n          return true;\n        if (!isTextField(state.baseElement))\n          return true;\n        return false;\n      };\n      const keyMap = {\n        ArrowUp: (isGrid || isVertical) && store.up,\n        ArrowRight: (isGrid || isHorizontal) && store.next,\n        ArrowDown: (isGrid || isVertical) && store.down,\n        ArrowLeft: (isGrid || isHorizontal) && store.previous,\n        Home: () => {\n          if (!canHomeEnd())\n            return;\n          if (!isGrid || event.ctrlKey) {\n            return store == null ? void 0 : store.first();\n          }\n          return store == null ? void 0 : store.previous(-1);\n        },\n        End: () => {\n          if (!canHomeEnd())\n            return;\n          if (!isGrid || event.ctrlKey) {\n            return store == null ? void 0 : store.last();\n          }\n          return store == null ? void 0 : store.next(-1);\n        },\n        PageUp: () => {\n          return findNextPageItemId(currentTarget, store, store == null ? void 0 : store.up, true);\n        },\n        PageDown: () => {\n          return findNextPageItemId(currentTarget, store, store == null ? void 0 : store.down);\n        }\n      };\n      const action = keyMap[event.key];\n      if (action) {\n        const nextId = action();\n        if (preventScrollOnKeyDownProp(event) || nextId !== void 0) {\n          if (!moveOnKeyPressProp(event))\n            return;\n          event.preventDefault();\n          store.move(nextId);\n        }\n      }\n    });\n    const baseElement = useStoreState(\n      store,\n      (state) => (state == null ? void 0 : state.baseElement) || void 0\n    );\n    const providerValue = useMemo(\n      () => ({ id, baseElement }),\n      [id, baseElement]\n    );\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(CompositeItemContext.Provider, { value: providerValue, children: element }),\n      [providerValue]\n    );\n    const isActiveItem = useStoreState(\n      store,\n      (state) => !!state && state.activeId === id\n    );\n    const virtualFocus = useStoreState(store, \"virtualFocus\");\n    const role = useRole(ref, props);\n    let ariaSelected;\n    if (isActiveItem) {\n      if (requiresAriaSelected(role)) {\n        ariaSelected = true;\n      } else if (virtualFocus && supportsAriaSelected(role)) {\n        ariaSelected = true;\n      }\n    }\n    const ariaSetSize = useStoreState(store, (state) => {\n      if (ariaSetSizeProp != null)\n        return ariaSetSizeProp;\n      if (!state)\n        return;\n      if (!(row == null ? void 0 : row.ariaSetSize))\n        return;\n      if (row.baseElement !== state.baseElement)\n        return;\n      return row.ariaSetSize;\n    });\n    const ariaPosInSet = useStoreState(store, (state) => {\n      if (ariaPosInSetProp != null)\n        return ariaPosInSetProp;\n      if (!state)\n        return;\n      if (!(row == null ? void 0 : row.ariaPosInSet))\n        return;\n      if (row.baseElement !== state.baseElement)\n        return;\n      const itemsInRow = state.renderedItems.filter(\n        (item) => item.rowId === rowId\n      );\n      return row.ariaPosInSet + itemsInRow.findIndex((item) => item.id === id);\n    });\n    const isTabbable = useStoreState(store, (state) => {\n      if (!(state == null ? void 0 : state.renderedItems.length))\n        return true;\n      if (state.virtualFocus)\n        return false;\n      if (tabbable)\n        return true;\n      return state.activeId === id;\n    });\n    props = __spreadProps(__spreadValues({\n      id,\n      \"aria-selected\": ariaSelected,\n      \"data-active-item\": isActiveItem ? \"\" : void 0\n    }, props), {\n      ref: useMergeRefs(ref, props.ref),\n      tabIndex: isTabbable ? props.tabIndex : -1,\n      onFocus,\n      onBlurCapture,\n      onKeyDown\n    });\n    props = useCommand(props);\n    props = useCollectionItem(__spreadProps(__spreadValues({\n      store\n    }, props), {\n      getItem,\n      shouldRegisterItem: !!id ? props.shouldRegisterItem : false\n    }));\n    return __spreadProps(__spreadValues({}, props), {\n      \"aria-setsize\": ariaSetSize,\n      \"aria-posinset\": ariaPosInSet\n    });\n  }\n);\nvar CompositeItem = createMemoComponent(\n  (props) => {\n    const htmlProps = useCompositeItem(props);\n    return createElement(\"button\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  CompositeItem.displayName = \"CompositeItem\";\n}\n\nexport {\n  useCompositeItem,\n  CompositeItem\n};\n","\"use client\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\nimport {\n  useUpdateEffect\n} from \"./6O5OEQGF.js\";\n\n// src/disclosure/disclosure-store.ts\nimport * as Core from \"@ariakit/core/disclosure/disclosure-store\";\nfunction useDisclosureStoreProps(store, update, props) {\n  useUpdateEffect(update, [props.store, props.disclosure]);\n  useStoreProps(store, props, \"open\", \"setOpen\");\n  useStoreProps(store, props, \"mounted\", \"setMounted\");\n  useStoreProps(store, props, \"animated\");\n  return store;\n}\nfunction useDisclosureStore(props = {}) {\n  const [store, update] = useStore(Core.createDisclosureStore, props);\n  return useDisclosureStoreProps(store, update, props);\n}\n\nexport {\n  useDisclosureStoreProps,\n  useDisclosureStore\n};\n","\"use client\";\n\n// src/focusable/focusable-context.ts\nimport { createContext } from \"react\";\nvar FocusableContext = createContext(true);\n\nexport {\n  FocusableContext\n};\n","\"use client\";\nimport {\n  useCollectionContext\n} from \"./4UUKJZ4V.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useId,\n  useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/collection/collection-item.ts\nimport { useEffect, useRef } from \"react\";\nimport { identity } from \"@ariakit/core/utils/misc\";\nvar useCollectionItem = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      shouldRegisterItem = true,\n      getItem = identity,\n      element: element\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"shouldRegisterItem\",\n      \"getItem\",\n      // @ts-expect-error This prop may come from a collection renderer.\n      \"element\"\n    ]);\n    const context = useCollectionContext();\n    store = store || context;\n    const id = useId(props.id);\n    const ref = useRef(element);\n    useEffect(() => {\n      const element2 = ref.current;\n      if (!id)\n        return;\n      if (!element2)\n        return;\n      if (!shouldRegisterItem)\n        return;\n      const item = getItem({ id, element: element2 });\n      return store == null ? void 0 : store.renderItem(item);\n    }, [id, shouldRegisterItem, getItem, store]);\n    props = __spreadProps(__spreadValues({}, props), {\n      ref: useMergeRefs(ref, props.ref)\n    });\n    return props;\n  }\n);\nvar CollectionItem = createComponent(\n  (props) => {\n    const htmlProps = useCollectionItem(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  CollectionItem.displayName = \"CollectionItem\";\n}\n\nexport {\n  useCollectionItem,\n  CollectionItem\n};\n","\"use client\";\nimport {\n  CompositeContextProvider,\n  CompositeScopedContextProvider\n} from \"./IB7YUKH5.js\";\nimport {\n  PopoverContextProvider,\n  PopoverScopedContextProvider\n} from \"./7H5KSHHF.js\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/combobox/combobox-context.tsx\nimport { createContext } from \"react\";\nvar ctx = createStoreContext(\n  [PopoverContextProvider, CompositeContextProvider],\n  [PopoverScopedContextProvider, CompositeScopedContextProvider]\n);\nvar useComboboxContext = ctx.useContext;\nvar useComboboxScopedContext = ctx.useScopedContext;\nvar useComboboxProviderContext = ctx.useProviderContext;\nvar ComboboxContextProvider = ctx.ContextProvider;\nvar ComboboxScopedContextProvider = ctx.ScopedContextProvider;\nvar ComboboxItemValueContext = createContext(\n  void 0\n);\nvar ComboboxItemCheckedContext = createContext(false);\n\nexport {\n  useComboboxContext,\n  useComboboxScopedContext,\n  useComboboxProviderContext,\n  ComboboxContextProvider,\n  ComboboxScopedContextProvider,\n  ComboboxItemValueContext,\n  ComboboxItemCheckedContext\n};\n","\"use client\";\nimport {\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/misc.ts\nimport { isValidElement } from \"react\";\nimport { hasOwnProperty } from \"@ariakit/core/utils/misc\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    ref(value);\n  } else if (ref) {\n    ref.current = value;\n  }\n}\nfunction isValidElementWithRef(element) {\n  if (!element)\n    return false;\n  if (!isValidElement(element))\n    return false;\n  if (!(\"ref\" in element))\n    return false;\n  return true;\n}\nfunction getRefProperty(element) {\n  if (!isValidElementWithRef(element))\n    return null;\n  return element.ref;\n}\nfunction mergeProps(base, overrides) {\n  const props = __spreadValues({}, base);\n  for (const key in overrides) {\n    if (!hasOwnProperty(overrides, key))\n      continue;\n    if (key === \"className\") {\n      const prop = \"className\";\n      props[prop] = base[prop] ? `${base[prop]} ${overrides[prop]}` : overrides[prop];\n      continue;\n    }\n    if (key === \"style\") {\n      const prop = \"style\";\n      props[prop] = base[prop] ? __spreadValues(__spreadValues({}, base[prop]), overrides[prop]) : overrides[prop];\n      continue;\n    }\n    const overrideValue = overrides[key];\n    if (typeof overrideValue === \"function\" && key.startsWith(\"on\")) {\n      const baseValue = base[key];\n      if (typeof baseValue === \"function\") {\n        props[key] = (...args) => {\n          overrideValue(...args);\n          baseValue(...args);\n        };\n        continue;\n      }\n    }\n    props[key] = overrideValue;\n  }\n  return props;\n}\n\nexport {\n  setRef,\n  isValidElementWithRef,\n  getRefProperty,\n  mergeProps\n};\n","\"use client\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\nimport {\n  useUpdateEffect\n} from \"./6O5OEQGF.js\";\n\n// src/collection/collection-store.ts\nimport * as Core from \"@ariakit/core/collection/collection-store\";\nfunction useCollectionStoreProps(store, update, props) {\n  useUpdateEffect(update, [props.store]);\n  useStoreProps(store, props, \"items\", \"setItems\");\n  return store;\n}\nfunction useCollectionStore(props = {}) {\n  const [store, update] = useStore(Core.createCollectionStore, props);\n  return useCollectionStoreProps(store, update, props);\n}\n\nexport {\n  useCollectionStoreProps,\n  useCollectionStore\n};\n","\"use client\";\nimport {\n  ComboboxScopedContextProvider,\n  useComboboxProviderContext\n} from \"./W76OTZCC.js\";\nimport {\n  isHidden\n} from \"./CLE7NTOY.js\";\nimport {\n  useFocusable\n} from \"./KK7H3W2B.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useAttribute,\n  useEvent,\n  useId,\n  useMergeRefs,\n  useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/combobox/combobox-list.tsx\nimport { useRef } from \"react\";\nimport { isFocusEventOutside } from \"@ariakit/core/utils/events\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar useComboboxList = createHook(\n  (_a) => {\n    var _b = _a, { store, focusable = true, alwaysVisible } = _b, props = __objRest(_b, [\"store\", \"focusable\", \"alwaysVisible\"]);\n    const context = useComboboxProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"ComboboxList must receive a `store` prop or be wrapped in a ComboboxProvider component.\"\n    );\n    const ref = useRef(null);\n    const id = useId(props.id);\n    const onKeyDownProp = props.onKeyDown;\n    const onKeyDown = useEvent((event) => {\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (event.key === \"Escape\") {\n        store == null ? void 0 : store.move(null);\n      }\n    });\n    const restoreVirtualFocus = useRef(false);\n    const onFocusVisibleProp = props.onFocusVisible;\n    const onFocusVisible = useEvent((event) => {\n      onFocusVisibleProp == null ? void 0 : onFocusVisibleProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (event.type !== \"focus\")\n        return;\n      if (!store)\n        return;\n      const { virtualFocus } = store.getState();\n      if (!virtualFocus)\n        return;\n      const { relatedTarget, currentTarget } = event;\n      if (relatedTarget && currentTarget.contains(relatedTarget))\n        return;\n      restoreVirtualFocus.current = true;\n      store.setState(\"virtualFocus\", false);\n    });\n    const onBlurProp = props.onBlur;\n    const onBlur = useEvent((event) => {\n      onBlurProp == null ? void 0 : onBlurProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!restoreVirtualFocus.current)\n        return;\n      if (!isFocusEventOutside(event))\n        return;\n      restoreVirtualFocus.current = false;\n      store == null ? void 0 : store.setState(\"virtualFocus\", true);\n    });\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(ComboboxScopedContextProvider, { value: store, children: element }),\n      [store]\n    );\n    const mounted = store.useState(\"mounted\");\n    const hidden = isHidden(mounted, props.hidden, alwaysVisible);\n    const style = hidden ? __spreadProps(__spreadValues({}, props.style), { display: \"none\" }) : props.style;\n    const multiSelectable = store.useState(\n      (state) => Array.isArray(state.selectedValue)\n    );\n    const role = useAttribute(ref, \"role\", props.role);\n    const isCompositeRole = role === \"listbox\" || role === \"tree\" || role === \"grid\";\n    const ariaMultiSelectable = isCompositeRole ? multiSelectable || void 0 : void 0;\n    props = __spreadProps(__spreadValues({\n      id,\n      hidden,\n      role: \"listbox\",\n      tabIndex: focusable ? -1 : void 0,\n      \"aria-multiselectable\": ariaMultiSelectable\n    }, props), {\n      ref: useMergeRefs(id ? store.setContentElement : null, ref, props.ref),\n      style,\n      onKeyDown,\n      onFocusVisible,\n      onBlur\n    });\n    props = useFocusable(__spreadValues({ focusable }, props));\n    return props;\n  }\n);\nvar ComboboxList = createComponent((props) => {\n  const htmlProps = useComboboxList(props);\n  return createElement(\"div\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  ComboboxList.displayName = \"ComboboxList\";\n}\n\nexport {\n  useComboboxList,\n  ComboboxList\n};\n","\"use client\";\nimport {\n  useCompositeStoreProps\n} from \"./7GBW5FLS.js\";\nimport {\n  usePopoverStoreProps\n} from \"./MG4P3223.js\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\n\n// src/combobox/combobox-store.ts\nimport * as Core from \"@ariakit/core/combobox/combobox-store\";\nfunction useComboboxStoreProps(store, update, props) {\n  store = usePopoverStoreProps(store, update, props);\n  store = useCompositeStoreProps(store, update, props);\n  useStoreProps(store, props, \"value\", \"setValue\");\n  useStoreProps(store, props, \"selectedValue\", \"setSelectedValue\");\n  useStoreProps(store, props, \"resetValueOnHide\");\n  useStoreProps(store, props, \"resetValueOnSelect\");\n  return store;\n}\nfunction useComboboxStore(props = {}) {\n  const [store, update] = useStore(Core.createComboboxStore, props);\n  return useComboboxStoreProps(store, update, props);\n}\n\nexport {\n  useComboboxStoreProps,\n  useComboboxStore\n};\n","\"use client\";\nimport {\n  useDisclosureStoreProps\n} from \"./SFCBA2JZ.js\";\nimport {\n  useStore\n} from \"./EKQEJRUF.js\";\n\n// src/dialog/dialog-store.ts\nimport * as Core from \"@ariakit/core/dialog/dialog-store\";\nfunction useDialogStoreProps(store, update, props) {\n  return useDisclosureStoreProps(store, update, props);\n}\nfunction useDialogStore(props = {}) {\n  const [store, update] = useStore(Core.createDialogStore, props);\n  return useDialogStoreProps(store, update, props);\n}\n\nexport {\n  useDialogStoreProps,\n  useDialogStore\n};\n","\"use client\";\nimport {\n  ComboboxItemValueContext,\n  useComboboxScopedContext\n} from \"../__chunks/W76OTZCC.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"../__chunks/3ORBWXWF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-item-value.tsx\nimport { useContext, useMemo } from \"react\";\nimport { invariant, normalizeString } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction normalizeValue(value) {\n  return normalizeString(value).toLowerCase();\n}\nfunction splitValue(itemValue, userValue) {\n  userValue = normalizeValue(userValue);\n  let index = normalizeValue(itemValue).indexOf(userValue);\n  const parts = [];\n  while (index !== -1) {\n    if (index !== 0) {\n      parts.push(\n        /* @__PURE__ */ jsx(\"span\", { \"data-autocomplete-value\": \"\", children: itemValue.substr(0, index) }, parts.length)\n      );\n    }\n    parts.push(\n      /* @__PURE__ */ jsx(\"span\", { \"data-user-value\": \"\", children: itemValue.substr(index, userValue.length) }, parts.length)\n    );\n    itemValue = itemValue.substr(index + userValue.length);\n    index = normalizeValue(itemValue).indexOf(userValue);\n  }\n  if (itemValue) {\n    parts.push(\n      /* @__PURE__ */ jsx(\"span\", { \"data-autocomplete-value\": \"\", children: itemValue }, parts.length)\n    );\n  }\n  return parts;\n}\nvar useComboboxItemValue = createHook(\n  (_a) => {\n    var _b = _a, { store, value } = _b, props = __objRest(_b, [\"store\", \"value\"]);\n    const context = useComboboxScopedContext();\n    store = store || context;\n    const itemContext = useContext(ComboboxItemValueContext);\n    const itemValue = value != null ? value : itemContext;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"ComboboxItemValue must be wrapped in a ComboboxItem component.\"\n    );\n    const stateValue = store.useState(\n      (state) => itemValue && state.value ? state.value : void 0\n    );\n    const children = useMemo(\n      () => itemValue && stateValue ? splitValue(itemValue, stateValue) : itemValue,\n      [itemValue, stateValue]\n    );\n    props = __spreadValues({\n      children\n    }, props);\n    return props;\n  }\n);\nvar ComboboxItemValue = createComponent(\n  (props) => {\n    const htmlProps = useComboboxItemValue(props);\n    return createElement(\"span\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  ComboboxItemValue.displayName = \"ComboboxItemValue\";\n}\nexport {\n  ComboboxItemValue,\n  useComboboxItemValue\n};\n","\"use client\";\nimport {\n  useCompositeHover\n} from \"../__chunks/G6ONQ5EH.js\";\nimport {\n  ComboboxItemCheckedContext,\n  ComboboxItemValueContext,\n  useComboboxScopedContext\n} from \"../__chunks/W76OTZCC.js\";\nimport {\n  useCompositeItem\n} from \"../__chunks/QZLXIDNP.js\";\nimport \"../__chunks/NWCBQ4CV.js\";\nimport \"../__chunks/UH3I23HL.js\";\nimport \"../__chunks/3IEDWLST.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport \"../__chunks/KK7H3W2B.js\";\nimport \"../__chunks/SHA3WOPI.js\";\nimport {\n  createElement,\n  createHook,\n  createMemoComponent\n} from \"../__chunks/3ORBWXWF.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useWrapElement\n} from \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-item.tsx\nimport { useCallback } from \"react\";\nimport { getPopupItemRole, isTextField } from \"@ariakit/core/utils/dom\";\nimport { isDownloading, isOpeningInNewTab } from \"@ariakit/core/utils/events\";\nimport { hasFocus } from \"@ariakit/core/utils/focus\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction isSelected(storeValue, itemValue) {\n  if (itemValue == null)\n    return;\n  if (storeValue == null)\n    return false;\n  if (Array.isArray(storeValue)) {\n    return storeValue.includes(itemValue);\n  }\n  return storeValue === itemValue;\n}\nvar useComboboxItem = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      value,\n      hideOnClick,\n      selectValueOnClick = true,\n      setValueOnClick,\n      focusOnHover = false,\n      moveOnKeyPress = true,\n      getItem: getItemProp\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"value\",\n      \"hideOnClick\",\n      \"selectValueOnClick\",\n      \"setValueOnClick\",\n      \"focusOnHover\",\n      \"moveOnKeyPress\",\n      \"getItem\"\n    ]);\n    const context = useComboboxScopedContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"ComboboxItem must be wrapped in a ComboboxList or ComboboxPopover component.\"\n    );\n    const getItem = useCallback(\n      (item) => {\n        const nextItem = __spreadProps(__spreadValues({}, item), { value });\n        if (getItemProp) {\n          return getItemProp(nextItem);\n        }\n        return nextItem;\n      },\n      [value, getItemProp]\n    );\n    const multiSelectable = store.useState(\n      (state) => Array.isArray(state.selectedValue)\n    );\n    setValueOnClick = setValueOnClick != null ? setValueOnClick : !multiSelectable;\n    hideOnClick = hideOnClick != null ? hideOnClick : value != null && !multiSelectable;\n    const onClickProp = props.onClick;\n    const setValueOnClickProp = useBooleanEvent(setValueOnClick);\n    const selectValueOnClickProp = useBooleanEvent(selectValueOnClick);\n    const hideOnClickProp = useBooleanEvent(hideOnClick);\n    const onClick = useEvent((event) => {\n      onClickProp == null ? void 0 : onClickProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (isDownloading(event))\n        return;\n      if (isOpeningInNewTab(event))\n        return;\n      if (value != null) {\n        if (selectValueOnClickProp(event)) {\n          store == null ? void 0 : store.setSelectedValue((prevValue) => {\n            if (!Array.isArray(prevValue))\n              return value;\n            if (prevValue.includes(value)) {\n              return prevValue.filter((v) => v !== value);\n            }\n            return [...prevValue, value];\n          });\n        }\n        if (setValueOnClickProp(event)) {\n          store == null ? void 0 : store.setValue(value);\n        }\n      }\n      if (hideOnClickProp(event)) {\n        store == null ? void 0 : store.move(null);\n        store == null ? void 0 : store.hide();\n      }\n    });\n    const onKeyDownProp = props.onKeyDown;\n    const onKeyDown = useEvent((event) => {\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      const baseElement = store == null ? void 0 : store.getState().baseElement;\n      if (!baseElement)\n        return;\n      if (hasFocus(baseElement))\n        return;\n      const printable = event.key.length === 1;\n      if (printable || event.key === \"Backspace\" || event.key === \"Delete\") {\n        queueMicrotask(() => baseElement.focus());\n        if (isTextField(baseElement)) {\n          store == null ? void 0 : store.setValue(baseElement.value);\n        }\n      }\n    });\n    const selected = store.useState(\n      (state) => isSelected(state.selectedValue, value)\n    );\n    if (multiSelectable && selected != null) {\n      props = __spreadValues({\n        \"aria-selected\": selected\n      }, props);\n    }\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(ComboboxItemValueContext.Provider, { value, children: /* @__PURE__ */ jsx(ComboboxItemCheckedContext.Provider, { value: selected != null ? selected : false, children: element }) }),\n      [value, selected]\n    );\n    const contentElement = store.useState(\"contentElement\");\n    props = __spreadProps(__spreadValues({\n      role: getPopupItemRole(contentElement),\n      children: value\n    }, props), {\n      onClick,\n      onKeyDown\n    });\n    const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);\n    props = useCompositeItem(__spreadProps(__spreadValues({\n      store\n    }, props), {\n      getItem,\n      // Dispatch a custom event on the combobox input when moving to an item\n      // with the keyboard so the Combobox component can enable inline\n      // autocompletion.\n      moveOnKeyPress: (event) => {\n        if (!moveOnKeyPressProp(event))\n          return false;\n        const moveEvent = new Event(\"combobox-item-move\");\n        const baseElement = store == null ? void 0 : store.getState().baseElement;\n        baseElement == null ? void 0 : baseElement.dispatchEvent(moveEvent);\n        return true;\n      }\n    }));\n    props = useCompositeHover(__spreadValues({ store, focusOnHover }, props));\n    return props;\n  }\n);\nvar ComboboxItem = createMemoComponent(\n  (props) => {\n    const htmlProps = useComboboxItem(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  ComboboxItem.displayName = \"ComboboxItem\";\n}\nexport {\n  ComboboxItem,\n  useComboboxItem\n};\n","\"use client\";\nimport {\n  useComboboxProviderContext\n} from \"../__chunks/W76OTZCC.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport {\n  createElement,\n  createHook,\n  createMemoComponent\n} from \"../__chunks/3ORBWXWF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-label.ts\nimport { invariant } from \"@ariakit/core/utils/misc\";\nvar useComboboxLabel = createHook(\n  (_a) => {\n    var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n    const context = useComboboxProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"ComboboxLabel must receive a `store` prop or be wrapped in a ComboboxProvider component.\"\n    );\n    const comboboxId = store.useState((state) => {\n      var _a2;\n      return (_a2 = state.baseElement) == null ? void 0 : _a2.id;\n    });\n    props = __spreadValues({\n      htmlFor: comboboxId\n    }, props);\n    return props;\n  }\n);\nvar ComboboxLabel = createMemoComponent(\n  (props) => {\n    const htmlProps = useComboboxLabel(props);\n    return createElement(\"label\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  ComboboxLabel.displayName = \"ComboboxLabel\";\n}\nexport {\n  ComboboxLabel,\n  useComboboxLabel\n};\n","\"use client\";\nimport {\n  useComboboxStore\n} from \"../__chunks/ZKJ2WLF7.js\";\nimport {\n  ComboboxContextProvider\n} from \"../__chunks/W76OTZCC.js\";\nimport \"../__chunks/7GBW5FLS.js\";\nimport \"../__chunks/Y6GYTNQ2.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport \"../__chunks/3ORBWXWF.js\";\nimport \"../__chunks/MG4P3223.js\";\nimport \"../__chunks/ZSELSBRM.js\";\nimport \"../__chunks/SFCBA2JZ.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-provider.tsx\nimport { jsx } from \"react/jsx-runtime\";\nfunction ComboboxProvider(props = {}) {\n  const store = useComboboxStore(props);\n  return /* @__PURE__ */ jsx(ComboboxContextProvider, { value: store, children: props.children });\n}\nexport {\n  ComboboxProvider\n};\n","\"use client\";\nimport {\n  usePopoverAnchor\n} from \"../__chunks/JCH6MLL2.js\";\nimport {\n  useComboboxProviderContext\n} from \"../__chunks/W76OTZCC.js\";\nimport {\n  useComposite\n} from \"../__chunks/7QTPYGNZ.js\";\nimport \"../__chunks/3IEDWLST.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport \"../__chunks/KK7H3W2B.js\";\nimport \"../__chunks/SHA3WOPI.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"../__chunks/3ORBWXWF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useForceUpdate,\n  useId,\n  useMergeRefs,\n  useSafeLayoutEffect,\n  useUpdateEffect,\n  useUpdateLayoutEffect\n} from \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox.ts\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport {\n  getPopupRole,\n  getScrollingElement,\n  setSelectionRange\n} from \"@ariakit/core/utils/dom\";\nimport {\n  isFocusEventOutside,\n  queueBeforeEvent\n} from \"@ariakit/core/utils/events\";\nimport { hasFocus } from \"@ariakit/core/utils/focus\";\nimport {\n  invariant,\n  isFalsyBooleanCallback,\n  normalizeString\n} from \"@ariakit/core/utils/misc\";\nimport { flushSync } from \"react-dom\";\nfunction isFirstItemAutoSelected(items, activeValue, autoSelect) {\n  if (!autoSelect)\n    return false;\n  const firstItem = items.find((item) => !item.disabled && item.value);\n  return (firstItem == null ? void 0 : firstItem.value) === activeValue;\n}\nfunction hasCompletionString(value, activeValue) {\n  if (!activeValue)\n    return false;\n  if (value == null)\n    return false;\n  value = normalizeString(value);\n  return activeValue.length > value.length && activeValue.toLowerCase().indexOf(value.toLowerCase()) === 0;\n}\nfunction isInputEvent(event) {\n  return event.type === \"input\";\n}\nfunction isAriaAutoCompleteValue(value) {\n  return value === \"inline\" || value === \"list\" || value === \"both\" || value === \"none\";\n}\nvar useCombobox = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      focusable = true,\n      autoSelect: autoSelectProp = false,\n      getAutoSelectId,\n      showOnChange = true,\n      setValueOnChange = true,\n      showOnMouseDown = true,\n      setValueOnClick = true,\n      showOnKeyDown = true,\n      moveOnKeyPress = true,\n      autoComplete = \"list\"\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"focusable\",\n      \"autoSelect\",\n      \"getAutoSelectId\",\n      \"showOnChange\",\n      \"setValueOnChange\",\n      \"showOnMouseDown\",\n      \"setValueOnClick\",\n      \"showOnKeyDown\",\n      \"moveOnKeyPress\",\n      \"autoComplete\"\n    ]);\n    const context = useComboboxProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"Combobox must receive a `store` prop or be wrapped in a ComboboxProvider component.\"\n    );\n    const ref = useRef(null);\n    const [valueUpdated, forceValueUpdate] = useForceUpdate();\n    const canAutoSelectRef = useRef(false);\n    const composingRef = useRef(false);\n    const autoSelect = store.useState(\n      (state) => !!autoSelectProp && state.virtualFocus\n    );\n    const inline = autoComplete === \"inline\" || autoComplete === \"both\";\n    const [canInline, setCanInline] = useState(inline);\n    useUpdateLayoutEffect(() => {\n      if (!inline)\n        return;\n      setCanInline(true);\n    }, [inline]);\n    const storeValue = store.useState(\"value\");\n    const activeValue = store.useState(\n      (state) => inline && canInline ? state.activeValue : void 0\n    );\n    const items = store.useState(\"renderedItems\");\n    const open = store.useState(\"open\");\n    const contentElement = store.useState(\"contentElement\");\n    const value = useMemo(() => {\n      if (!inline)\n        return storeValue;\n      if (!canInline)\n        return storeValue;\n      const firstItemAutoSelected = isFirstItemAutoSelected(\n        items,\n        activeValue,\n        autoSelect\n      );\n      if (firstItemAutoSelected) {\n        if (hasCompletionString(storeValue, activeValue)) {\n          const slice = (activeValue == null ? void 0 : activeValue.slice(storeValue.length)) || \"\";\n          return storeValue + slice;\n        }\n        return storeValue;\n      }\n      return activeValue || storeValue;\n    }, [inline, canInline, items, activeValue, autoSelect, storeValue]);\n    useEffect(() => {\n      const element = ref.current;\n      if (!element)\n        return;\n      const onCompositeItemMove = () => setCanInline(true);\n      element.addEventListener(\"combobox-item-move\", onCompositeItemMove);\n      return () => {\n        element.removeEventListener(\"combobox-item-move\", onCompositeItemMove);\n      };\n    }, []);\n    useEffect(() => {\n      if (!inline)\n        return;\n      if (!canInline)\n        return;\n      if (!activeValue)\n        return;\n      const firstItemAutoSelected = isFirstItemAutoSelected(\n        items,\n        activeValue,\n        autoSelect\n      );\n      if (!firstItemAutoSelected)\n        return;\n      if (!hasCompletionString(storeValue, activeValue))\n        return;\n      queueMicrotask(() => {\n        const element = ref.current;\n        if (!element)\n          return;\n        setSelectionRange(element, storeValue.length, activeValue.length);\n      });\n    }, [\n      valueUpdated,\n      inline,\n      canInline,\n      activeValue,\n      items,\n      autoSelect,\n      storeValue\n    ]);\n    const scrollingElementRef = useRef(null);\n    const getAutoSelectIdProp = useEvent(getAutoSelectId);\n    const autoSelectIdRef = useRef(null);\n    useEffect(() => {\n      if (!open)\n        return;\n      if (!contentElement)\n        return;\n      const scrollingElement = getScrollingElement(contentElement);\n      if (!scrollingElement)\n        return;\n      scrollingElementRef.current = scrollingElement;\n      const onWheel = () => {\n        canAutoSelectRef.current = false;\n      };\n      const onScroll = () => {\n        if (!store)\n          return;\n        if (!canAutoSelectRef.current)\n          return;\n        const { activeId } = store.getState();\n        if (activeId === null)\n          return;\n        if (activeId === autoSelectIdRef.current)\n          return;\n        canAutoSelectRef.current = false;\n      };\n      const options = { passive: true, capture: true };\n      scrollingElement.addEventListener(\"wheel\", onWheel, options);\n      scrollingElement.addEventListener(\"scroll\", onScroll, options);\n      return () => {\n        scrollingElement.removeEventListener(\"wheel\", onWheel, true);\n        scrollingElement.removeEventListener(\"scroll\", onScroll, true);\n      };\n    }, [open, contentElement, store]);\n    useSafeLayoutEffect(() => {\n      if (!storeValue)\n        return;\n      if (composingRef.current)\n        return;\n      canAutoSelectRef.current = true;\n    }, [storeValue]);\n    useSafeLayoutEffect(() => {\n      if (open)\n        return;\n      canAutoSelectRef.current = false;\n    }, [open]);\n    const resetValueOnSelect = store.useState(\"resetValueOnSelect\");\n    useUpdateEffect(() => {\n      var _a2;\n      const canAutoSelect = canAutoSelectRef.current;\n      if (!store)\n        return;\n      if ((!autoSelect || !canAutoSelect) && !resetValueOnSelect)\n        return;\n      const { baseElement, contentElement: contentElement2, activeId } = store.getState();\n      if (baseElement && !hasFocus(baseElement))\n        return;\n      if (contentElement2 == null ? void 0 : contentElement2.hasAttribute(\"data-placing\")) {\n        const observer = new MutationObserver(forceValueUpdate);\n        observer.observe(contentElement2, { attributeFilter: [\"data-placing\"] });\n        return () => observer.disconnect();\n      }\n      if (autoSelect && canAutoSelect) {\n        const userAutoSelectId = getAutoSelectIdProp(items);\n        const autoSelectId = userAutoSelectId !== void 0 ? userAutoSelectId : store.first();\n        autoSelectIdRef.current = autoSelectId;\n        store.move(autoSelectId != null ? autoSelectId : null);\n      } else {\n        const element = (_a2 = store.item(activeId)) == null ? void 0 : _a2.element;\n        if (element && \"scrollIntoView\" in element) {\n          element.scrollIntoView({ block: \"nearest\", inline: \"nearest\" });\n        }\n      }\n      return;\n    }, [\n      store,\n      valueUpdated,\n      storeValue,\n      autoSelect,\n      resetValueOnSelect,\n      getAutoSelectIdProp,\n      items\n    ]);\n    useEffect(() => {\n      if (!inline)\n        return;\n      const combobox = ref.current;\n      if (!combobox)\n        return;\n      const elements = [combobox, contentElement].filter(\n        (value2) => !!value2\n      );\n      const onBlur2 = (event) => {\n        if (elements.every((el) => isFocusEventOutside(event, el))) {\n          store == null ? void 0 : store.setValue(value);\n        }\n      };\n      elements.forEach((el) => el.addEventListener(\"focusout\", onBlur2));\n      return () => {\n        elements.forEach((el) => el.removeEventListener(\"focusout\", onBlur2));\n      };\n    }, [inline, contentElement, store, value]);\n    const onChangeProp = props.onChange;\n    const showOnChangeProp = useBooleanEvent(showOnChange);\n    const setValueOnChangeProp = useBooleanEvent(setValueOnChange);\n    const onChange = useEvent((event) => {\n      onChangeProp == null ? void 0 : onChangeProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!store)\n        return;\n      const { value: value2, selectionStart, selectionEnd } = event.target;\n      const nativeEvent = event.nativeEvent;\n      canAutoSelectRef.current = true;\n      if (isInputEvent(nativeEvent)) {\n        if (nativeEvent.isComposing) {\n          canAutoSelectRef.current = false;\n          composingRef.current = true;\n        }\n        if (inline) {\n          const textInserted = nativeEvent.inputType === \"insertText\" || nativeEvent.inputType === \"insertCompositionText\";\n          const caretAtEnd = selectionStart === value2.length;\n          setCanInline(textInserted && caretAtEnd);\n        }\n      }\n      if (setValueOnChangeProp(event)) {\n        const isSameValue = value2 === store.getState().value;\n        flushSync(() => store == null ? void 0 : store.setValue(value2));\n        setSelectionRange(event.currentTarget, selectionStart, selectionEnd);\n        if (inline && autoSelect && isSameValue) {\n          forceValueUpdate();\n        }\n      }\n      if (showOnChangeProp(event)) {\n        store.show();\n      }\n      if (!autoSelect || !canAutoSelectRef.current) {\n        store.setActiveId(null);\n      }\n    });\n    const onCompositionEndProp = props.onCompositionEnd;\n    const onCompositionEnd = useEvent(\n      (event) => {\n        canAutoSelectRef.current = true;\n        composingRef.current = false;\n        onCompositionEndProp == null ? void 0 : onCompositionEndProp(event);\n        if (event.defaultPrevented)\n          return;\n        if (!autoSelect)\n          return;\n        forceValueUpdate();\n      }\n    );\n    const onMouseDownProp = props.onMouseDown;\n    const setValueOnClickProp = useBooleanEvent(setValueOnClick);\n    const showOnMouseDownProp = useBooleanEvent(showOnMouseDown);\n    const onMouseDown = useEvent((event) => {\n      onMouseDownProp == null ? void 0 : onMouseDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (event.button)\n        return;\n      if (event.ctrlKey)\n        return;\n      if (!store)\n        return;\n      store.setActiveId(null);\n      if (setValueOnClickProp(event)) {\n        store.setValue(value);\n      }\n      if (showOnMouseDownProp(event)) {\n        queueBeforeEvent(event.currentTarget, \"mouseup\", store.show);\n      }\n    });\n    const onKeyDownProp = props.onKeyDown;\n    const showOnKeyDownProp = useBooleanEvent(showOnKeyDown);\n    const onKeyDown = useEvent(\n      (event) => {\n        onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n        if (!event.repeat) {\n          canAutoSelectRef.current = false;\n        }\n        if (event.defaultPrevented)\n          return;\n        if (event.ctrlKey)\n          return;\n        if (event.altKey)\n          return;\n        if (event.shiftKey)\n          return;\n        if (event.metaKey)\n          return;\n        if (!store)\n          return;\n        const { open: open2, activeId } = store.getState();\n        if (open2)\n          return;\n        if (activeId !== null)\n          return;\n        if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n          if (showOnKeyDownProp(event)) {\n            event.preventDefault();\n            store.show();\n          }\n        }\n      }\n    );\n    const onBlurProp = props.onBlur;\n    const onBlur = useEvent((event) => {\n      canAutoSelectRef.current = false;\n      onBlurProp == null ? void 0 : onBlurProp(event);\n      if (event.defaultPrevented)\n        return;\n    });\n    const id = useId(props.id);\n    const ariaAutoComplete = isAriaAutoCompleteValue(autoComplete) ? autoComplete : void 0;\n    const isActiveItem = store.useState((state) => state.activeId === null);\n    props = __spreadProps(__spreadValues({\n      id,\n      role: \"combobox\",\n      \"aria-autocomplete\": ariaAutoComplete,\n      \"aria-haspopup\": getPopupRole(contentElement, \"listbox\"),\n      \"aria-expanded\": open,\n      \"aria-controls\": contentElement == null ? void 0 : contentElement.id,\n      \"data-active-item\": isActiveItem || void 0,\n      value\n    }, props), {\n      ref: useMergeRefs(ref, props.ref),\n      onChange,\n      onCompositionEnd,\n      onMouseDown,\n      onKeyDown,\n      onBlur\n    });\n    props = useComposite(__spreadProps(__spreadValues({\n      store,\n      focusable\n    }, props), {\n      // Enable inline autocomplete when the user moves from the combobox input\n      // to an item.\n      moveOnKeyPress: (event) => {\n        if (isFalsyBooleanCallback(moveOnKeyPress, event))\n          return false;\n        if (inline)\n          setCanInline(true);\n        return true;\n      }\n    }));\n    props = usePopoverAnchor(__spreadValues({ store }, props));\n    return __spreadValues({ autoComplete: \"off\" }, props);\n  }\n);\nvar Combobox = createComponent((props) => {\n  const htmlProps = useCombobox(props);\n  return createElement(\"input\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Combobox.displayName = \"Combobox\";\n}\nexport {\n  Combobox,\n  useCombobox\n};\n","export default function _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}","import * as React from 'react';\nimport { useEffect, useState } from 'react';\n\n/**\n * Hook to load external script.\n * @param src - Source url to load.\n * @param onLoad - Success callback.\n * @param onError - Error callback.\n */ function useLoadScript(src, onLoad, onError) {\n    useEffect(()=>{\n        if (!document) {\n            return;\n        }\n        // Find script tag with same src in DOM.\n        const foundScript = document.querySelector(\"script[src=\\\"\".concat(src, \"\\\"]\"));\n        // Call onLoad if script marked as loaded.\n        if (foundScript === null || foundScript === void 0 ? void 0 : foundScript.dataset.loaded) {\n            onLoad === null || onLoad === void 0 ? void 0 : onLoad();\n            return;\n        }\n        // Create or get existed tag.\n        const script = foundScript || document.createElement(\"script\");\n        // Set src if no script was found.\n        if (!foundScript) {\n            script.src = src;\n        }\n        // Mark script as loaded on load event.\n        const onLoadWithMarker = ()=>{\n            script.dataset.loaded = \"1\";\n            onLoad === null || onLoad === void 0 ? void 0 : onLoad();\n        };\n        script.addEventListener(\"load\", onLoadWithMarker);\n        if (onError) {\n            script.addEventListener(\"error\", onError);\n        }\n        // Add to DOM if not yet added.\n        if (!foundScript) {\n            document.head.append(script);\n        }\n        return ()=>{\n            script.removeEventListener(\"load\", onLoadWithMarker);\n            if (onError) {\n                script.removeEventListener(\"error\", onError);\n            }\n        };\n    }, []);\n}\n\n/**\n * Hook to load Google Charts JS API.\n * @param params - Load parameters.\n * @param [params.chartVersion] - Chart version to load.\n * @param [params.chartPackages] - Packages to load.\n * @param [params.chartLanguage] - Languages to load.\n * @param [params.mapsApiKey] - Google Maps api key.\n * @returns\n */ function useLoadGoogleCharts(param) {\n    let { chartVersion =\"current\" , chartPackages =[\n        \"corechart\",\n        \"controls\"\n    ] , chartLanguage =\"en\" , mapsApiKey  } = param;\n    const [googleCharts, setGoogleCharts] = useState(null);\n    const [failed, setFailed] = useState(false);\n    useLoadScript(\"https://www.gstatic.com/charts/loader.js\", ()=>{\n        // @ts-expect-error Getting object from global namespace.\n        const google = window === null || window === void 0 ? void 0 : window.google;\n        if (!google) {\n            return;\n        }\n        google.charts.load(chartVersion, {\n            packages: chartPackages,\n            language: chartLanguage,\n            mapsApiKey\n        });\n        google.charts.setOnLoadCallback(()=>{\n            setGoogleCharts(google);\n        });\n    }, ()=>{\n        setFailed(true);\n    });\n    return [\n        googleCharts,\n        failed\n    ];\n}\n/**\n * Wrapper around useLoadGoogleCharts to use in legacy components.\n */ function LoadGoogleCharts(param) {\n    let { onLoad , onError , ...params } = param;\n    const [googleCharts, failed] = useLoadGoogleCharts(params);\n    useEffect(()=>{\n        if (googleCharts && onLoad) {\n            onLoad(googleCharts);\n        }\n    }, [\n        googleCharts\n    ]);\n    useEffect(()=>{\n        if (failed && onError) {\n            onError();\n        }\n    }, [\n        failed\n    ]);\n    return null;\n}\n\nconst chartDefaultProps = {\n    // <DEPRECATED_PROPS>\n    legend_toggle: false,\n    // </DEPRECATED_PROPS>\n    options: {},\n    legendToggle: false,\n    getChartWrapper: ()=>{},\n    spreadSheetQueryParameters: {\n        headers: 1,\n        gid: 1\n    },\n    rootProps: {},\n    chartWrapperParams: {}\n};\n\nlet uniqueID = 0;\nconst generateUniqueID = ()=>{\n    uniqueID += 1;\n    return \"reactgooglegraph-\".concat(uniqueID);\n};\n\nconst DEFAULT_CHART_COLORS = [\n    \"#3366CC\",\n    \"#DC3912\",\n    \"#FF9900\",\n    \"#109618\",\n    \"#990099\",\n    \"#3B3EAC\",\n    \"#0099C6\",\n    \"#DD4477\",\n    \"#66AA00\",\n    \"#B82E2E\",\n    \"#316395\",\n    \"#994499\",\n    \"#22AA99\",\n    \"#AAAA11\",\n    \"#6633CC\",\n    \"#E67300\",\n    \"#8B0707\",\n    \"#329262\",\n    \"#5574A6\",\n    \"#3B3EAC\"\n];\n\nconst loadDataTableFromSpreadSheet = async function(googleViz, spreadSheetUrl) {\n    let urlParams = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n    return new Promise((resolve, reject)=>{\n        const headers = \"\".concat(urlParams.headers ? \"headers=\".concat(urlParams.headers) : \"headers=0\");\n        const queryString = \"\".concat(urlParams.query ? \"&tq=\".concat(encodeURIComponent(urlParams.query)) : \"\");\n        const gid = \"\".concat(urlParams.gid ? \"&gid=\".concat(urlParams.gid) : \"\");\n        const sheet = \"\".concat(urlParams.sheet ? \"&sheet=\".concat(urlParams.sheet) : \"\");\n        const access_token = \"\".concat(urlParams.access_token ? \"&access_token=\".concat(urlParams.access_token) : \"\");\n        const urlQueryString = \"\".concat(headers).concat(gid).concat(sheet).concat(queryString).concat(access_token);\n        const urlToSpreadSheet = \"\".concat(spreadSheetUrl, \"/gviz/tq?\").concat(urlQueryString); //&tq=${queryString}`;\n        const query = new googleViz.visualization.Query(urlToSpreadSheet);\n        query.send((response)=>{\n            if (response.isError()) {\n                reject(\"Error in query:  \".concat(response.getMessage(), \" \").concat(response.getDetailedMessage()));\n            } else {\n                resolve(response.getDataTable());\n            }\n        });\n    });\n};\n\nconst { Provider , Consumer  } = /*#__PURE__*/ React.createContext(chartDefaultProps);\nconst ContextProvider = (param)=>{\n    let { children , value  } = param;\n    return(/*#__PURE__*/ React.createElement(Provider, {\n        value: value\n    }, children));\n};\nconst ContextConsumer = (param)=>{\n    let { render  } = param;\n    return(/*#__PURE__*/ React.createElement(Consumer, null, (context)=>{\n        return render(context);\n    }));\n};\n\nconst GRAY_COLOR = \"#CCCCCC\";\nclass GoogleChartDataTableInner extends React.Component {\n    componentDidMount() {\n        this.draw(this.props);\n        window.addEventListener(\"resize\", this.onResize);\n        if (this.props.legend_toggle || this.props.legendToggle) {\n            this.listenToLegendToggle();\n        }\n    }\n    componentWillUnmount() {\n        const { google , googleChartWrapper  } = this.props;\n        window.removeEventListener(\"resize\", this.onResize);\n        google.visualization.events.removeAllListeners(googleChartWrapper);\n        if (googleChartWrapper.getChartType() === \"Timeline\") {\n            googleChartWrapper.getChart() && googleChartWrapper.getChart().clearChart();\n        }\n    }\n    componentDidUpdate() {\n        this.draw(this.props);\n    }\n    render() {\n        return null;\n    }\n    constructor(...args){\n        super(...args);\n        this.state = {\n            hiddenColumns: []\n        };\n        this.listenToLegendToggle = ()=>{\n            const { google , googleChartWrapper  } = this.props;\n            google.visualization.events.addListener(googleChartWrapper, \"select\", ()=>{\n                const chart = googleChartWrapper.getChart();\n                const selection = chart.getSelection();\n                const dataTable = googleChartWrapper.getDataTable();\n                if (selection.length === 0 || // We want to listen to when a whole row is selected. This is the case only when row === null\n                selection[0].row || !dataTable) {\n                    return;\n                }\n                const columnIndex = selection[0].column;\n                const columnID = this.getColumnID(dataTable, columnIndex);\n                if (this.state.hiddenColumns.includes(columnID)) {\n                    this.setState((state)=>({\n                            ...state,\n                            hiddenColumns: [\n                                ...state.hiddenColumns.filter((colID)=>colID !== columnID\n                                ), \n                            ]\n                        })\n                    );\n                } else {\n                    this.setState((state)=>({\n                            ...state,\n                            hiddenColumns: [\n                                ...state.hiddenColumns,\n                                columnID\n                            ]\n                        })\n                    );\n                }\n            });\n        };\n        this.applyFormatters = (dataTable, formatters)=>{\n            const { google  } = this.props;\n            for (let formatter of formatters){\n                switch(formatter.type){\n                    case \"ArrowFormat\":\n                        {\n                            const vizFormatter = new google.visualization.ArrowFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"BarFormat\":\n                        {\n                            const vizFormatter = new google.visualization.BarFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"ColorFormat\":\n                        {\n                            const vizFormatter = new google.visualization.ColorFormat(formatter.options);\n                            const { ranges  } = formatter;\n                            for (let range of ranges){\n                                vizFormatter.addRange(...range);\n                            }\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"DateFormat\":\n                        {\n                            const vizFormatter = new google.visualization.DateFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"NumberFormat\":\n                        {\n                            const vizFormatter = new google.visualization.NumberFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"PatternFormat\":\n                        {\n                            const vizFormatter = new google.visualization.PatternFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                }\n            }\n        };\n        this.getColumnID = (dataTable, columnIndex)=>{\n            return dataTable.getColumnId(columnIndex) || dataTable.getColumnLabel(columnIndex);\n        };\n        this.draw = async (param)=>{\n            let { data , diffdata , rows , columns , options , legend_toggle , legendToggle , chartType , formatters , spreadSheetUrl , spreadSheetQueryParameters  } = param;\n            const { google , googleChartWrapper  } = this.props;\n            let dataTable;\n            let chartDiff = null;\n            if (diffdata) {\n                const oldData = google.visualization.arrayToDataTable(diffdata.old);\n                const newData = google.visualization.arrayToDataTable(diffdata.new);\n                chartDiff = google.visualization[chartType].prototype.computeDiff(oldData, newData);\n            }\n            if (data !== null) {\n                if (Array.isArray(data)) {\n                    dataTable = google.visualization.arrayToDataTable(data);\n                } else {\n                    dataTable = new google.visualization.DataTable(data);\n                }\n            } else if (rows && columns) {\n                dataTable = google.visualization.arrayToDataTable([\n                    columns,\n                    ...rows\n                ]);\n            } else if (spreadSheetUrl) {\n                dataTable = await loadDataTableFromSpreadSheet(google, spreadSheetUrl, spreadSheetQueryParameters);\n            } else {\n                dataTable = google.visualization.arrayToDataTable([]);\n            }\n            const columnCount = dataTable.getNumberOfColumns();\n            for(let i = 0; i < columnCount; i += 1){\n                const columnID = this.getColumnID(dataTable, i);\n                if (this.state.hiddenColumns.includes(columnID)) {\n                    const previousColumnLabel = dataTable.getColumnLabel(i);\n                    const previousColumnID = dataTable.getColumnId(i);\n                    const previousColumnType = dataTable.getColumnType(i);\n                    dataTable.removeColumn(i);\n                    dataTable.addColumn({\n                        label: previousColumnLabel,\n                        id: previousColumnID,\n                        type: previousColumnType\n                    });\n                }\n            }\n            const chart = googleChartWrapper.getChart();\n            if (googleChartWrapper.getChartType() === \"Timeline\") {\n                chart && chart.clearChart();\n            }\n            googleChartWrapper.setChartType(chartType);\n            googleChartWrapper.setOptions(options || {});\n            googleChartWrapper.setDataTable(dataTable);\n            googleChartWrapper.draw();\n            if (this.props.googleChartDashboard !== null) {\n                this.props.googleChartDashboard.draw(dataTable);\n            }\n            if (chartDiff) {\n                googleChartWrapper.setDataTable(chartDiff);\n                googleChartWrapper.draw();\n            }\n            if (formatters) {\n                this.applyFormatters(dataTable, formatters);\n                googleChartWrapper.setDataTable(dataTable);\n                googleChartWrapper.draw();\n            }\n            if (legendToggle === true || legend_toggle === true) {\n                this.grayOutHiddenColumns({\n                    options\n                });\n            }\n            return;\n        };\n        this.grayOutHiddenColumns = (param)=>{\n            let { options  } = param;\n            const { googleChartWrapper  } = this.props;\n            const dataTable = googleChartWrapper.getDataTable();\n            if (!dataTable) return;\n            const columnCount = dataTable.getNumberOfColumns();\n            const hasAHiddenColumn = this.state.hiddenColumns.length > 0;\n            if (hasAHiddenColumn === false) return;\n            const colors = Array.from({\n                length: columnCount - 1\n            }).map((dontcare, i)=>{\n                const columnID = this.getColumnID(dataTable, i + 1);\n                if (this.state.hiddenColumns.includes(columnID)) {\n                    return GRAY_COLOR;\n                } else if (options && options.colors) {\n                    return options.colors[i];\n                } else {\n                    return DEFAULT_CHART_COLORS[i];\n                }\n            });\n            googleChartWrapper.setOptions({\n                ...options,\n                colors\n            });\n            googleChartWrapper.draw();\n        };\n        this.onResize = ()=>{\n            const { googleChartWrapper  } = this.props;\n            googleChartWrapper.draw();\n        };\n    }\n}\nclass GoogleChartDataTable extends React.Component {\n    componentDidMount() {}\n    componentWillUnmount() {}\n    shouldComponentUpdate() {\n        return false;\n    }\n    render() {\n        const { google , googleChartWrapper , googleChartDashboard  } = this.props;\n        return(/*#__PURE__*/ React.createElement(ContextConsumer, {\n            render: (props)=>{\n                return(/*#__PURE__*/ React.createElement(GoogleChartDataTableInner, Object.assign({}, props, {\n                    google: google,\n                    googleChartWrapper: googleChartWrapper,\n                    googleChartDashboard: googleChartDashboard\n                })));\n            }\n        }));\n    }\n}\n\nclass GoogleChartEvents extends React.Component {\n    shouldComponentUpdate() {\n        return false;\n    }\n    listenToEvents(param) {\n        let { chartEvents , google , googleChartWrapper  } = param;\n        if (!chartEvents) {\n            return;\n        }\n        google.visualization.events.removeAllListeners(googleChartWrapper);\n        for (let event of chartEvents){\n            var _this = this;\n            const { eventName , callback  } = event;\n            google.visualization.events.addListener(googleChartWrapper, eventName, function() {\n                for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n                    args[_key] = arguments[_key];\n                }\n                callback({\n                    chartWrapper: googleChartWrapper,\n                    props: _this.props,\n                    google: google,\n                    eventArgs: args\n                });\n            });\n        }\n    }\n    render() {\n        const { google , googleChartWrapper  } = this.props;\n        return(/*#__PURE__*/ React.createElement(ContextConsumer, {\n            render: (propsFromContext)=>{\n                this.listenToEvents({\n                    chartEvents: propsFromContext.chartEvents || null,\n                    google,\n                    googleChartWrapper\n                });\n                return null;\n            }\n        }));\n    }\n}\n\nlet controlCounter = 0;\nclass GoogleChart extends React.Component {\n    componentDidMount() {\n        const { options , google , chartType , chartWrapperParams , toolbarItems , getChartEditor , getChartWrapper ,  } = this.props;\n        const chartConfig = {\n            chartType,\n            options,\n            containerId: this.getGraphID(),\n            ...chartWrapperParams\n        };\n        const googleChartWrapper = new google.visualization.ChartWrapper(chartConfig);\n        googleChartWrapper.setOptions(options || {});\n        if (getChartWrapper) {\n            getChartWrapper(googleChartWrapper, google);\n        }\n        const googleChartDashboard = new google.visualization.Dashboard(this.dashboard_ref);\n        const googleChartControls = this.addControls(googleChartWrapper, googleChartDashboard);\n        if (toolbarItems) {\n            google.visualization.drawToolbar(this.toolbar_ref.current, toolbarItems);\n        }\n        let googleChartEditor = null;\n        if (getChartEditor) {\n            googleChartEditor = new google.visualization.ChartEditor();\n            getChartEditor({\n                chartEditor: googleChartEditor,\n                chartWrapper: googleChartWrapper,\n                google\n            });\n        }\n        this.setState({\n            googleChartEditor,\n            googleChartControls: googleChartControls,\n            googleChartDashboard: googleChartDashboard,\n            googleChartWrapper,\n            isReady: true\n        });\n    }\n    componentDidUpdate() {\n        if (!this.state.googleChartWrapper) return;\n        if (!this.state.googleChartDashboard) return;\n        if (!this.state.googleChartControls) return;\n        const { controls  } = this.props;\n        if (controls) {\n            for(let i = 0; i < controls.length; i += 1){\n                const { controlType , options , controlWrapperParams  } = controls[i];\n                if (controlWrapperParams && \"state\" in controlWrapperParams) {\n                    this.state.googleChartControls[i].control.setState(controlWrapperParams[\"state\"]);\n                }\n                this.state.googleChartControls[i].control.setOptions(options);\n                this.state.googleChartControls[i].control.setControlType(controlType);\n            }\n        }\n    }\n    shouldComponentUpdate(nextProps, nextState) {\n        return this.state.isReady !== nextState.isReady || nextProps.controls !== this.props.controls;\n    }\n    render() {\n        const { width , height , options , style  } = this.props;\n        const divStyle = {\n            height: height || options && options.height,\n            width: width || options && options.width,\n            ...style\n        };\n        if (this.props.render) {\n            return(/*#__PURE__*/ React.createElement(\"div\", {\n                ref: this.dashboard_ref,\n                style: divStyle\n            }, /*#__PURE__*/ React.createElement(\"div\", {\n                ref: this.toolbar_ref,\n                id: \"toolbar\"\n            }), this.props.render({\n                renderChart: this.renderChart,\n                renderControl: this.renderControl,\n                renderToolbar: this.renderToolBar\n            })));\n        } else {\n            return(/*#__PURE__*/ React.createElement(\"div\", {\n                ref: this.dashboard_ref,\n                style: divStyle\n            }, this.renderControl((param)=>{\n                let { controlProp  } = param;\n                return controlProp.controlPosition !== \"bottom\";\n            }), this.renderChart(), this.renderControl((param)=>{\n                let { controlProp  } = param;\n                return controlProp.controlPosition === \"bottom\";\n            }), this.renderToolBar()));\n        }\n    }\n    constructor(...args1){\n        var _this1;\n        super(), _this1 = this;\n        this.state = {\n            googleChartWrapper: null,\n            googleChartDashboard: null,\n            googleChartControls: null,\n            googleChartEditor: null,\n            isReady: false\n        };\n        this.graphID = null;\n        this.dashboard_ref = /*#__PURE__*/ React.createRef();\n        this.toolbar_ref = /*#__PURE__*/ React.createRef();\n        this.getGraphID = ()=>{\n            const { graphID , graph_id  } = this.props;\n            let instanceGraphID;\n            if (!graphID && !graph_id) {\n                if (!this.graphID) {\n                    instanceGraphID = generateUniqueID();\n                } else {\n                    instanceGraphID = this.graphID;\n                }\n            } else if (graphID && !graph_id) {\n                instanceGraphID = graphID;\n            } else if (graph_id && !graphID) {\n                instanceGraphID = graph_id;\n            } else {\n                instanceGraphID = graphID;\n            }\n            this.graphID = instanceGraphID;\n            return this.graphID;\n        };\n        this.getControlID = (id, index)=>{\n            controlCounter += 1;\n            let controlID;\n            if (typeof id === \"undefined\") {\n                controlID = \"googlechart-control-\".concat(index, \"-\").concat(controlCounter);\n            } else {\n                controlID = id;\n            }\n            return controlID;\n        };\n        this.addControls = (googleChartWrapper, googleChartDashboard)=>{\n            const { google , controls  } = this.props;\n            const googleChartControls = !controls ? null : controls.map((control, i)=>{\n                const { controlID: controlIDMaybe , controlType , options: controlOptions , controlWrapperParams ,  } = control;\n                const controlID = this.getControlID(controlIDMaybe, i);\n                return {\n                    controlProp: control,\n                    control: new google.visualization.ControlWrapper({\n                        containerId: controlID,\n                        controlType,\n                        options: controlOptions,\n                        ...controlWrapperParams\n                    })\n                };\n            });\n            if (!googleChartControls) {\n                return null;\n            }\n            googleChartDashboard.bind(googleChartControls.map((param)=>{\n                let { control  } = param;\n                return control;\n            }), googleChartWrapper);\n            for (let chartControl of googleChartControls){\n                const { control , controlProp  } = chartControl;\n                const { controlEvents =[]  } = controlProp;\n                for (let event of controlEvents){\n                    var _this = this;\n                    const { callback , eventName  } = event;\n                    google.visualization.events.removeListener(control, eventName, callback);\n                    google.visualization.events.addListener(control, eventName, function() {\n                        for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n                            args[_key] = arguments[_key];\n                        }\n                        callback({\n                            chartWrapper: googleChartWrapper,\n                            controlWrapper: control,\n                            props: _this.props,\n                            google: google,\n                            eventArgs: args\n                        });\n                    });\n                }\n            }\n            return googleChartControls;\n        };\n        this.renderChart = ()=>{\n            const { width , height , options , style , className , rootProps , google  } = this.props;\n            const divStyle = {\n                height: height || options && options.height,\n                width: width || options && options.width,\n                ...style\n            };\n            return(/*#__PURE__*/ React.createElement(\"div\", Object.assign({\n                id: this.getGraphID(),\n                style: divStyle,\n                className: className\n            }, rootProps), this.state.isReady && this.state.googleChartWrapper !== null ? /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(GoogleChartDataTable, {\n                googleChartWrapper: this.state.googleChartWrapper,\n                google: google,\n                googleChartDashboard: this.state.googleChartDashboard\n            }), /*#__PURE__*/ React.createElement(GoogleChartEvents, {\n                googleChartWrapper: this.state.googleChartWrapper,\n                google: google\n            })) : null));\n        };\n        this.renderControl = function() {\n            let filter = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : (param)=>{\n                return true;\n            };\n            return _this1.state.isReady && _this1.state.googleChartControls !== null ? /*#__PURE__*/ React.createElement(React.Fragment, null, _this1.state.googleChartControls.filter((param)=>{\n                let { controlProp , control  } = param;\n                return filter({\n                    control,\n                    controlProp\n                });\n            }).map((param)=>{\n                let { control , controlProp  } = param;\n                return(/*#__PURE__*/ React.createElement(\"div\", {\n                    key: control.getContainerId(),\n                    id: control.getContainerId()\n                }));\n            })) : null;\n        };\n        this.renderToolBar = ()=>{\n            if (!this.props.toolbarItems) return null;\n            return(/*#__PURE__*/ React.createElement(\"div\", {\n                ref: this.toolbar_ref\n            }));\n        };\n    }\n}\n\nclass Chart$1 extends React.Component {\n    render() {\n        const { chartLanguage , chartPackages , chartVersion , mapsApiKey , loader , errorElement ,  } = this.props;\n        return(/*#__PURE__*/ React.createElement(ContextProvider, {\n            value: this.props\n        }, this.state.loadingStatus === \"ready\" && this.state.google !== null ? /*#__PURE__*/ React.createElement(GoogleChart, Object.assign({}, this.props, {\n            google: this.state.google\n        })) : this.state.loadingStatus === \"errored\" && errorElement ? errorElement : loader, /*#__PURE__*/ React.createElement(LoadGoogleCharts, {\n            chartLanguage: chartLanguage,\n            chartPackages: chartPackages,\n            chartVersion: chartVersion,\n            mapsApiKey: mapsApiKey,\n            onLoad: this.onLoad,\n            onError: this.onError\n        })));\n    }\n    componentDidMount() {\n        this._isMounted = true;\n    }\n    componentWillUnmount() {\n        this._isMounted = false;\n    }\n    isFullyLoaded(google) {\n        const { controls , toolbarItems , getChartEditor  } = this.props;\n        return google && google.visualization && google.visualization.ChartWrapper && google.visualization.Dashboard && (!controls || google.visualization.ChartWrapper) && (!getChartEditor || google.visualization.ChartEditor) && (!toolbarItems || google.visualization.drawToolbar);\n    }\n    constructor(...args){\n        super(...args);\n        this._isMounted = false;\n        this.state = {\n            loadingStatus: \"loading\",\n            google: null\n        };\n        this.onLoad = (google1)=>{\n            if (this.props.onLoad) {\n                this.props.onLoad(google1);\n            }\n            if (this.isFullyLoaded(google1)) {\n                this.onSuccess(google1);\n            } else {\n                // IE11: window.google is not fully set, we have to wait\n                const id = setInterval(()=>{\n                    const google = window.google;\n                    if (this._isMounted) {\n                        if (google && this.isFullyLoaded(google)) {\n                            clearInterval(id);\n                            this.onSuccess(google);\n                        }\n                    } else {\n                        clearInterval(id);\n                    }\n                }, 1000);\n            }\n        };\n        this.onSuccess = (google)=>{\n            this.setState({\n                loadingStatus: \"ready\",\n                google\n            });\n        };\n        this.onError = ()=>{\n            this.setState({\n                loadingStatus: \"errored\"\n            });\n        };\n    }\n}\nChart$1.defaultProps = chartDefaultProps;\n\nvar GoogleDataTableColumnRoleType;\n(function(GoogleDataTableColumnRoleType) {\n    GoogleDataTableColumnRoleType[\"annotation\"] = \"annotation\";\n    GoogleDataTableColumnRoleType[\"annotationText\"] = \"annotationText\";\n    GoogleDataTableColumnRoleType[\"certainty\"] = \"certainty\";\n    GoogleDataTableColumnRoleType[\"emphasis\"] = \"emphasis\";\n    GoogleDataTableColumnRoleType[\"interval\"] = \"interval\";\n    GoogleDataTableColumnRoleType[\"scope\"] = \"scope\";\n    GoogleDataTableColumnRoleType[\"style\"] = \"style\";\n    GoogleDataTableColumnRoleType[\"tooltip\"] = \"tooltip\";\n    GoogleDataTableColumnRoleType[\"domain\"] = \"domain\";\n})(GoogleDataTableColumnRoleType || (GoogleDataTableColumnRoleType = {}));\n\nvar Chart = Chart$1;\n\nexport { Chart$1 as Chart, GoogleDataTableColumnRoleType, Chart as default };\n//# sourceMappingURL=index.js.map\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"index\": 0,\n\t\"./style-index\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunksearch_console\"] = globalThis[\"webpackChunksearch_console\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"./style-index\"], () => (__webpack_require__(\"./src/index.js\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["ExternalLink","Icon","Flex","__","Footer","title","createElement","className","href","target","icon","ReactComponent","Logo","__experimentalHStack","HStack","Header","Card","useState","SlideShow","useSelect","Ads","props","plugins","select","myPlugins","getPlugins","per_page","filter","plugin","includes","shown","setShown","toShow","window","localStorage","getItem","initialValue","JSON","parse","Date","getTime","style","overflowX","useEffect","useDispatch","store","coreStore","Button","myAds","name","ad","link","isLink","slug","direction","noSlide","currentIndex","setCurrentIndex","slides","setSlides","saveEntityRecord","init","timer","setInterval","goToNextSlide","clearInterval","match","find","p","installPlugin","status","length","nextIndex","setMargin","index","margin","width","map","key","marginLeft","justify","variant","size","text","onClick","height","colors","animation","duration","easing","startup","focusTarget","chartArea","hAxis","gridlines","count","minSpacing","minorGridlines","showTextEvery","format","vAxis","vAxes","viewWindow","min","max","series","type","targetAxisIndex","tooltip","Chart","Options","useContext","Spinner","SettingsContext","LoadingSpinner","MyChart","settings","query","showError","table","setTable","token","access_token","getData","gapi","client","setToken","webmasters","searchanalytics","siteUrl","site","dimensions","fields","then","response","data","result","rows","temp","push","forEach","row","moment","keys","toDate","formatData","clicks","impressions","v","ctr","f","position","catch","error","val","metric","toFixed","chartType","options","legendToggle","abw","afg","ago","aia","ala","alb","and","are","arg","arm","asm","ata","atf","atg","aus","aut","aze","bdi","bel","ben","bes","bfa","bgd","bgr","bhr","bhs","bih","blm","blr","blz","bmu","bol","bra","brb","brn","btn","bvt","bwa","caf","can","cck","che","chl","chn","civ","cmr","cod","cog","cok","col","com","cpv","cri","cub","cuw","cxr","cym","cyp","cze","deu","dji","dma","dnk","dom","dza","ecu","egy","eri","esh","esp","est","eth","fin","fji","flk","fra","fro","fsm","gab","gbr","geo","ggy","gha","gib","gin","glp","gmb","gnb","gnq","grc","grd","grl","gtm","guf","gum","guy","hkg","hmd","hnd","hrv","hti","hun","idn","imn","ind","iot","irl","irn","irq","isl","isr","ita","jam","jey","jor","jpn","kaz","ken","kgz","khm","kir","kna","kor","kwt","lao","lbn","lbr","lby","lca","lie","lka","lso","ltu","lux","lva","mac","maf","mar","mco","mda","mdg","mdv","mex","mhl","mkd","mli","mlt","mmr","mne","mng","mnp","moz","mrt","msr","mtq","mus","mwi","mys","myt","nam","ncl","ner","nfk","nga","nic","niu","nld","nor","npl","nru","nzl","omn","pak","pan","pcn","per","phl","plw","png","pol","pri","prk","prt","pry","pse","pyf","qat","reu","rou","rus","rwa","sau","sdn","sen","sgp","sgs","shn","sjm","slb","sle","slv","smr","som","spm","srb","ssd","stp","sur","svk","svn","swe","swz","sxm","syc","syr","tca","tcd","tgo","tha","tjk","tkl","tkm","tls","ton","tto","tun","tur","tuv","twn","tza","uga","ukr","umi","ury","usa","uzb","vat","vct","ven","vgb","vir","vnm","vut","wlf","wsm","yem","zaf","zmb","zwe","zzz","FormTokenField","Fragment","countries","Country","handleChange","onChange","Object","values","indexOf","value","expression","suggestions","tokens","label","maxLength","__experimentalShowHowTo","RadioControl","Device","selected","option","SelectControl","TextControl","__experimentalVStack","VStack","Page","operator","placeholder","Query","Dropdown","MenuGroup","MenuItem","dateI18n","DateDropdown","updateQuery","updateSetting","range","setRange","setDate","num","period","date","subtract","contentClassName","placement","renderToggle","isOpen","onToggle","customDate","renderContent","FlexItem","DatePicker","DateSelect","popoverProps","startDate","__nextRemoveHelpButton","currentDate","isInvalidDate","endDate","Dimensions","onSelect","dimension","closeSmall","plus","MyModal","ENTER","SPACE","Filters","showModal","setShowModal","onRequestClose","remove","filters","dimensionFilterGroups","replaced","i","setType","getSign","iconPosition","role","tabIndex","onKeyDown","event","preventDefault","e","stopPropagation","modal","useMemo","DataViews","Countries","Table","setData","view","setView","perPage","page","sort","search","hiddenFields","layout","filterData","normalizeData","paginateArray","array","slice","field","sortKeys","sortData","a","b","localeCompare","item","id","header","enableHiding","render","Math","round","paginationInfo","totalItems","totalPages","ceil","onChangeView","getItemId","supportedLayouts","Modal","setFilter","searchType","setSearchType","saveChange","filtersArr","shift","modals","device","country","ModalFilter","isDestructive","disabled","CardBody","CardHeader","sprintf","RawHTML","Credentials","_settings$credentials","_settings$credentials2","setCredentials","credentials","assign","authUrl","wp_url","client_id","help","client_secret","Notice","GoogleOauthButton","GoogleOAuthProvider","GoogleOAuth","isDismissible","clientId","Help","apiFetch","hasGrantedAnyScopeGoogle","useGoogleLogin","revokeToken","message","setMessage","googleLogin","flow","onSuccess","code","getToken","scope","hasAccess","search_console","path","method","finally","console","log","getEmail","id_token","atob","split","email","isSmall","ToggleControl","PostTypeSelection","saveSettings","postTypes","getPostTypes","addPostType","removePostType","filteredArray","postTypeOptions","Array","isArray","postType","viewable","labels","singular_name","checked","classnames","Animate","cloud","SaveButton","isSaving","hasEdits","isBusy","animateClassName","gap","Verification","SiteSelect","refreshToken","sites","setSites","getSites","list","s","siteEntry","__experimentalInputControl","InputControl","getMeta","siteVerification","load","webResource","verificationMethod","identifier","replace","r","meta","suffix","createContext","useEntityProp","noticesStore","useHistory","SettingsContextProvider","defaultQuery","getDate","ready","setReady","setQuery","setEmail","history","setSettings","saveEditedEntityRecord","createNotice","explicitDismiss","isSavingEntityRecord","hasEditsForEntityRecord","undefined","loadSearchConsole","error_description","actions","refresh_token","expires_in","token_type","handleClientLoad","script","document","src","async","defer","onload","body","appendChild","removeChild","check","Provider","children","createRoot","SnackbarList","RouterProvider","useLocation","getQueryArg","Dashboard","Settings","Router","params","menuRoot","querySelector","reset","location","child","querySelectorAll","classList","add","parentElement","addEventListener","removeEventListener","listen","App","Notifications","notices","getNotices","removeNotice","snackbarNotices","onRemove","domNode","getElementById","root","createBrowserHistory","addQueryArgs","getQueryArgs","removeQueryArgs","originalHistoryPush","originalHistoryReplace","state","currentArgs","currentUrlWithoutArgs","newUrl","call","RoutesContext","HistoryContext","getLocationWithParams","searchParams","URLSearchParams","fromEntries","entries","setLocation","updatedLocation","createInterpolateElement","noticeString","__experimentalGrid","Grid","columns","templateColumns","align","createReduxStore","register","DEFAULT_STATE","setSetting","setting","setDimension","setCustomDate","setStartDate","setEndDate","removeFilter","fetchFromAPI","reducer","action","newFilter","arr","cleanArr","selectors","isReady","_state$settings","getSettings","getSite","getQuery","getFilterByDimension","getSearchType","getFilters","getCustomDate","controls","FETCH_FROM_API","resolvers"],"sourceRoot":""}
     1{"version":3,"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;AAA4G;;AAE5G,sCAAsC;AACtC,YAAY,yCAAyC;AACrD,oEAAoE,+CAAQ;AAC5E,mCAAmC,6CAAM;AACzC;AACA,iCAAiC,6CAAM;AACvC;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,2BAA2B,oDAAa;AACxC,+BAA+B,6DAA6D;AAC5F;AACA;AACA;AACA,KAAK;AACL,yBAAyB,8CAAO;AAChC;AACA;AACA,KAAK;AACL,YAAY,0DAAmB,gCAAgC,qBAAqB;AACpF;AACA;AACA,oBAAoB,iDAAU;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,6BAA6B;AAC7B,uBAAuB,qLAAqL;AAC5M,4BAA4B,6CAAM;AAClC,YAAY,qCAAqC;AACjD,yBAAyB,6CAAM;AAC/B;AACA,uBAAuB,6CAAM;AAC7B;AACA,wCAAwC,6CAAM;AAC9C;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,0DAAmB,UAAU,+BAA+B,oCAAoC;AAC5G;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,6FAA6F;AACvH,YAAY,qCAAqC;AACjD,sBAAsB,6CAAM;AAC5B,yBAAyB,6CAAM;AAC/B;AACA,uBAAuB,6CAAM;AAC7B;AACA,+BAA+B,6CAAM;AACrC;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE,MAAM;AACzE;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL,8BAA8B,kDAAW,uBAAuB,QAAQ,6GAA6G;AACrL,8BAA8B,kDAAW,SAAS,QAAQ,wFAAwF;AAClJ;AACA;;AAEA,gCAAgC,qFAAqF;AACrH,YAAY,qCAAqC;AACjD,yBAAyB,6CAAM;AAC/B;AACA,uBAAuB,6CAAM;AAC7B;AACA,wCAAwC,6CAAM;AAC9C;AACA,IAAI,gDAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,wBAAwB;AAChD;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEqJ;;;;;;;;;;;;;;;;;;;ACpOrJ;AACA,sBAAsB,sEAAsE,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,iCAAiC,kBAAkB;AAC3Q;AAC/B;AACA,sBAAsB,gDAAmB;AACzC;AACA;AACA;AACA;AACA;AACA,GAAG,yCAAyC,gDAAmB,4BAA4B,gDAAmB;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,eAAe,gDAAmB;AACrC;AACA;AACA,GAAG,gBAAgB,gDAAmB;AACtC;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,qCAAqC,gDAAmB;AAC3D;AACA;AACA,GAAG,uCAAuC,gDAAmB;AAC7D;AACA;AACA,GAAG,uCAAuC,gDAAmB;AAC7D;AACA;AACA,GAAG;AACH;AACqC;AACrC,iEAAe,oBAAoB,gtJAAgtJ;;;;;;;;;;;;;;;;;;;;;;;;AC5D7sJ;AACtC;AACA;AACA;AACqF;AAChD;AACW;;AAEhD;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,SAAS,oDAAa;AACtB,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE,mDAAE;AACT,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG;AACH;AACA,iEAAe,8DAAU,WAAW,EAAC;AACrC;;;;;;;;;;;;;;;;;;;;;;;;;;ACzDgD;AAChD;AACA;AACA;AAC4F;AAC1C;AAC6B;;AAE/E;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AACzB;AACP,SAAS,2DAAO;AAChB;AACA;AACA,KAAK;AACL,GAAG;AACH;AACO;AACP,SAAS,2DAAO;AAChB;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB,2DAAO;AAC/B;AACA,GAAG;AACH;AACA;AACA;AACA,IAAI;AACJ,uBAAuB,+DAAW;AAClC;AACA,GAAG;AACH,SAAS,oDAAa,CAAC,wDAAK;AAC5B;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB,2DAAO;AAC/B;AACA,GAAG;AACH;AACA,SAAS,oDAAa;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa,CAAC,2CAAQ,QAAQ,oDAAa,gDAAgD,oDAAa;AACjH;AACA;AACA;AACA;AACA,GAAG,KAAK,oDAAa;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,sBAAsB,2DAAO;AAC7B,yCAAyC,4DAAQ;AACjD,gDAAgD,4DAAQ;AACxD,0BAA0B,2DAAO;AACjC;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,wBAAwB,2DAAO;AAC/B;AACA,GAAG;AACH,uCAAuC,2DAAO;AAC9C;AACA;AACA,KAAK;AACL,GAAG;AACH,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,SAAS,oDAAa,CAAC,2CAAQ,QAAQ,oDAAa;AACpD;AACA;AACA,WAAW,mDAAE;AACb;AACA;AACA,KAAK;AACL,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA;AACA;AACA;AACA,KAAK,qBAAqB,wDAAO;AACjC,IAAI,mDAAE,yEAAyE,mDAAE;AACjF,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA,GAAG,GAAG,oDAAa,0BAA0B,oDAAa;AAC1D;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG,EAAE,mDAAE,iBAAiB,oDAAa;AACrC;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE,mDAAE,oCAAoC,oDAAa;AACxD;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3KA;AACA;AACA;AACqC;;AAErC;AACO;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACP;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA;AACA,WAAW,mDAAE;AACb;AACA;;AAEA;AACO;AACP;AACA,WAAW,mDAAE;AACb,GAAG;AACH;AACA,WAAW,mDAAE;AACb;AACA;;AAEA;AACO;AACA;AACA;AACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtDsC;AACtC;AACA;AACA;AACuE;AACQ;;AAE/E;AACA;AACA;AACsC;AACG;AACT;AACF;AAC0B;AACf;AACA;AACY;AACrD;AACA;AACA;AACA,SAAS,2DAAO;AAChB;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,oCAAoC,4DAAQ;AAC5C,0CAA0C,4DAAQ;AAClD,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,yBAAyB,+DAAW;AACpC;AACA;AACA,GAAG;AACH,wBAAwB,kDAAY;AACpC,kBAAkB,2DAAO,OAAO,kEAAe;AAC/C;AACA,SAAS,oDAAa;AACtB;AACA,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA;AACA;AACA,GAAG,YAAY,oDAAa,CAAC,+CAAM;AACnC;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,gDAAO;AAC3B;AACA;AACA;AACA;AACA;AACA,GAAG,KAAK,oDAAY,EAAE,mDAAW,kDAAkD,oDAAa,CAAC,qDAAW;AAC5G;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,qDAAW;AAC/B;AACA;AACA;AACA;AACA,GAAG,IAAI,oDAAa;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,oDAAU;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3GsC;AACtC;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AACyJ;AAC3G;AACwB;AACxB;AAC9C;AACA;;AAEA;AACA;AACA;AAC2C;AACoG;AAC/I;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,UAAU,oDAAa;AACvB;AACA,KAAK;AACL,WAAW,oDAAa;AACxB;AACA,KAAK;AACL;AACA,iCAAiC,uDAAe;AAChD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,wDAAgB;AACjD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,uDAAe;AAChD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,2DAAmB;AACpD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,mDAAW;AAC5C,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,iCAAiC,uDAAe;AAChD,WAAW,4EAAwB,CAAC,wDAAO;AAC3C,IAAI,mDAAE;AACN;AACA,SAAS,wDAAO;AAChB,EAAE,mDAAE;AACJ;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,WAAW,iDAAS;AACpB,GAAG;AACH;AACA;AACA,uCAAuC,oDAAa,CAAC,uEAAM;AAC3D;AACA;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,2DAAQ;AAC3B;AACA,GAAG,gBAAgB,oDAAa,CAAC,gEAAa;AAC9C,WAAW,mDAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACe;AACf;AACA;AACA;AACA,CAAC;AACD,oBAAoB,0DAAM;AAC1B;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,SAAS,oDAAa,CAAC,2DAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK,KAAK,oDAAa;AACvB;AACA,KAAK,EAAE,oDAAa,CAAC,0DAAO;AAC5B,YAAY,wDAAO;AACnB,MAAM,mDAAE;AACR;AACA,KAAK,EAAE,oDAAa;AACpB,iBAAiB,iDAAU;AAC3B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK,EAAE,oDAAa;AACpB;AACA;AACA;AACA,KAAK,yBAAyB,oDAAa,CAAC,0DAAO;AACnD,wBAAwB,mDAAE,YAAY,mDAAE;AACxC;AACA,KAAK,EAAE,oDAAa;AACpB,iBAAiB,iDAAU;AAC3B;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK,EAAE,oDAAa,CAAC,uDAAI;AACzB,YAAY,wDAAU;AACtB,KAAK;AACL;AACA,aAAa,oDAAa,CAAC,uEAAM;AACjC;AACA;AACA,OAAO,EAAE,oDAAa;AACtB;AACA,OAAO,GAAG,oDAAa,CAAC,sDAAY;AACpC;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AC/MsC;AACtC;AACA;AACA;AACkD;;AAElD;AACA;AACA;AAC6C;AACR;AACM;AACC;AAC8B;AACH;AACvE,gBAAgB,wDAAI;AACpB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,uBAAuB,0DAAM;AAC7B;AACA;AACA;AACA;AACA;AACA,sBAAsB,yDAAiB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,mDAAW,EAAE,uDAAe;AACzE;AACA,6EAA6E,qDAAa;AAC1F;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,oDAAa,CAAC,mDAAS;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,WAAW,oDAAa,CAAC,uDAAa;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,0BAA0B,oDAAa,CAAC,sDAAY;AACpD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,SAAS,oDAAa,CAAC,uEAAM;AAC7B;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH,CAAC;AACD,iEAAe,OAAO,EAAC;AACvB;;;;;;;;;;;;;;;;;;;;;;;;;AC5FgD;AAChD;AACA;AACA;AAC4H;AACvF;AACkB;AACP;;AAEhD;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa,CAAC,yDAAM;AAC7B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wCAAwC,4DAAQ;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,SAAS,oDAAa,CAAC,2CAAQ,QAAQ,oDAAa;AACpD;AACA,GAAG,kBAAkB,oDAAa,CAAC,wDAAK;AACxC;AACA;AACA;AACA;AACA,KAAK;AACL,wEAAwE,qBAAqB;AAC7F,GAAG,EAAE,oDAAa;AAClB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB;AACA,aAAa,oDAAa;AAC1B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,WAAW,oDAAa;AACxB;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACe;AACf;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,IAAI,EAAE,2DAAO;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,WAAW,oDAAa;AACxB;AACA;AACA,KAAK;AACL;AACA,SAAS,oDAAa,CAAC,uEAAM;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,aAAa,oDAAa;AAC1B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,WAAW,oDAAa;AACxB;AACA;AACA;AACA,KAAK;AACL,GAAG,GAAG,oDAAa;AACnB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA,YAAY,wDAAY;AACxB,aAAa,mDAAE;AACf;AACA;AACA,KAAK;AACL;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;AC9JA;AACA;AACA;AAC4C;AACqD;;AAEjG;AACA;AACA;AACqC;AACF;AACA;AACkC;AAC9D;AACP,QAAQ,oDAAY;AACpB,SAAS,mDAAE;AACX,aAAa,mDAAS;AACtB,QAAQ,wDAAU;AAClB,CAAC;AACD,QAAQ,mDAAW;AACnB,SAAS,mDAAE;AACX,aAAa,kDAAQ;AACrB,QAAQ,wDAAQ;AAChB,CAAC;AACD,QAAQ,mDAAW;AACnB,SAAS,mDAAE;AACX,aAAa,kDAAQ;AACrB,QAAQ,sDAAK,KAAK,wDAAoB,GAAG,wDAAiB;AAC1D,CAAC;AACD;;;;;;;;;;;;;;;;;;AC7BA;AACA;AACA;AAC2F;AACpF;AACP;AACA;AACA,EAAE,EAAE,yGAAgD;AACpD;;;;;;;;;;;;;;;ACRA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;ACvBsC;AACtC;AACA;AACA;AAC8F;AAC1B;AAClB;AACW;AAC7D,mBAAmB,wDAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,6CAA6C,oDAAa,CAAC,uEAAM;AACjE;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA;AACA;AACA;AACA,GAAG,EAAE,4EAAwB,CAAC,wDAAO;AACrC;AACA,EAAE,mDAAE;AACJ,wBAAwB,oDAAa,CAAC,gEAAa;AACnD,oBAAoB,mDAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,KAAK;AACL,GAAG,IAAI,oDAAa,CAAC,uEAAM;AAC3B;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,yDAAM;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,mDAAE;AACb,UAAU,wDAAW;AACrB;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,yDAAM;AAC1B;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,WAAW,mDAAE;AACb,UAAU,wDAAY;AACtB;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,iEAAe,UAAU,EAAC;AAC1B;;;;;;;;;;;;;;;;;;;;;ACjFsC;AACtC;AACA;AACA;AAC+C;AACV;AACtB;AACf;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,SAAS,oDAAa,CAAC,yDAAM;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,EAAE,mDAAE;AACP;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7BsC;AACtC;AACA;AACA;AACA;AAC0C;AACC;;AAE3C;AACA;AACA;AAC8C;AAC2B;AAC0B;AAClD;AACG;;AAEpD;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC,mBAAmB,oDAAa,CAAC,sDAAG;AACpC;AACA;AACA,CAAC,EAAE,oDAAa,CAAC,yDAAM;AACvB;AACA;AACA;AACA,CAAC;AACD;AACA,SAAS,qDAAa;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,SAAS,oDAAa;AACtB;AACA;AACA;AACA,kBAAkB,wDAAO;AACzB,IAAI,mDAAE;AACN;AACA;AACA;AACA;AACA,KAAK;AACL,YAAY,oDAAa,CAAC,8DAA0B;AACpD;AACA,KAAK;AACL,GAAG,iCAAiC,oDAAa,CAAC,0DAAsB;AACxE;AACA;AACA,YAAY,oDAAa;AACzB,cAAc,oDAAa;AAC3B;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,8DAA8D,oDAAa,CAAC,uDAAI;AACnF;AACA,GAAG,sEAAsE,oDAAa,CAAC,uDAAI;AAC3F,UAAU,wDAAK;AACf,GAAG,IAAI,oDAAa,uDAAuD,oDAAa;AACxF;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wCAAwC,4DAAQ;AAChD,8BAA8B,oEAAgB;AAC9C;AACA;AACA,kBAAkB,2DAAO;AACzB;AACA;AACA,GAAG;AACH,SAAS,oDAAa,CAAC,6DAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,EAAE,oDAAa,CAAC,0DAAqB;AACxC,YAAY,oDAAa,CAAC,iEAAc;AACxC,GAAG,EAAE,mDAAE,mBAAmB,oDAAa,CAAC,qDAAgB;AACxD;AACA,iBAAiB,mDAAE;AACnB;AACA,GAAG,GAAG,oDAAa;AACnB;AACA,GAAG,EAAE,oDAAa,CAAC,uDAAI;AACvB,UAAU,yDAAM;AAChB,GAAG,KAAK,oDAAa,CAAC,yDAAoB;AAC1C;AACA;AACA,GAAG;AACH,WAAW,oDAAa,CAAC,yDAAoB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,EAAE,oDAAa;AACpB;AACA,KAAK,8DAA8D,oDAAa,CAAC,uDAAI;AACrF;AACA,KAAK,sEAAsE,oDAAa,CAAC,uDAAI;AAC7F,YAAY,wDAAK;AACjB,KAAK,IAAI,oDAAa,eAAe,oDAAa,CAAC,8DAAyB;AAC5E;AACA;AACA,KAAK,4BAA4B,oDAAa;AAC9C;AACA,KAAK;AACL,GAAG,sBAAsB,oDAAa,YAAY,mDAAE;AACpD;AACe;AACf;AACA,SAAS,oDAAa;AACtB;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;AClNsC;AACtC;AACA;AACA;AACqC;AACwB;AACP;AACC;AACvD,eAAe,wDAAI;AACnB;AACA;AACA;AACA,CAAC;AACD,+CAA+C,qEAAiB;AAChE,EAAE,6DAAS;AACX;AACA,GAAG;AACH,0BAA0B,0DAAM;AAChC,EAAE,6DAAS;AACX;AACA,GAAG;AACH,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH,+BAA+B,mDAAE;AACjC,SAAS,oDAAa,CAAC,gEAAa;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD,iEAAe,MAAM,EAAC;AACtB;;;;;;;;;;;;;;;;;;;;;ACvCsC;AACtC;AACA;AACA;AAC8C;AACU;AACzC;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,qBAAqB,wDAAO;AAC5B,iBAAiB,mDAAE,wBAAwB,mDAAE;AAC7C;AACA,KAAK;AACL,IAAI;AACJ,kCAAkC,mDAAE,wBAAwB,mDAAE;AAC9D;AACA,SAAS,oDAAa,CAAC,kEAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,GAAG;AACH;AACA;;;;;;;;;;;;;;;;ACnDA;AACA;AACA;AAC6G;AACtG;AACP;;AAEA;AACA;AACA,iBAAiB,uDAAe,EAAE,wDAAgB;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C,qDAAa;;AAExD;AACA;AACA,yBAAyB,mDAAW,wBAAwB,uDAAe;AAC3E,8CAA8C,mDAAW,EAAE,uDAAe;AAC1E;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCsC;AACtC;AACA;AACA;AACqF;AAChD;AACK;AACE;;AAE5C;AACA;AACA;AACuC;AACU;AACR;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB,kDAAY;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAa;AACtB,aAAa,oDAAa;AAC1B,cAAc,oDAAa;AAC3B;AACA,OAAO;AACP,KAAK,EAAE,oDAAa,8BAA8B,mDAAE;AACpD,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB,aAAa,oDAAa;AAC1B,cAAc,oDAAa;AAC3B;AACA,OAAO;AACP,KAAK,EAAE,oDAAa,8BAA8B,mDAAE;AACpD,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,SAAS,oDAAa;AACtB,aAAa,oDAAa,yBAAyB,oDAAa,8BAA8B,mDAAE;AAChG,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAa;AACtB,aAAa,oDAAa;AAC1B,cAAc,oDAAa;AAC3B;AACA,OAAO;AACP,KAAK,EAAE,oDAAa,8BAA8B,mDAAE;AACpD,GAAG;AACH;AACA,WAAW,oDAAa;AACxB;AACA,eAAe,oDAAa,yBAAyB,oDAAa;AAClE;AACA;AACA;AACA,KAAK,iBAAiB,0DAAkB;AACxC;AACA,uBAAuB,SAAS,GAAG,UAAU;AAC7C,aAAa,oDAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,OAAO,EAAE,oDAAa;AACtB,KAAK;AACL,GAAG;AACH;AACA,oBAAoB,wDAAI;AACxB;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,oDAAa;AACtB,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA,YAAY,wDAAQ;AACpB,aAAa,mDAAE;AACf,KAAK;AACL,GAAG,EAAE,oDAAa,0BAA0B,oDAAa;AACzD;AACA;AACA;AACA,GAAG,GAAG,oDAAa;AACnB;AACA;AACA;AACA,GAAG,GAAG,oDAAa;AACnB;AACA;AACA;AACA,GAAG,GAAG,oDAAa;AACnB;AACA;AACA,GAAG;AACH,CAAC;AACD,iEAAe,WAAW,EAAC;AAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;ACjMgD;AAChD;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AAC4J;AACvH;;AAErC;AACA;AACA;AACyC;AACyB;AACP;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,wBAAwB,wEAAyB;AACjD;AACA;AACA,SAAS,oDAAa,CAAC,uEAAM;AAC7B;AACA;AACA,eAAe,iDAAU;AACzB;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU;AACV;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG;AACH;AACA,GAAG,IAAI,oDAAa,CAAC,uEAAM;AAC3B;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,kEAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,GAAG,oDAAa,CAAC,uEAAM;AAC1B;AACA,GAAG;AACH;AACA,GAAG,IAAI,oDAAa,CAAC,qDAAW;AAChC;AACA;AACA;AACA,GAAG,6BAA6B,oDAAa,CAAC,uEAAM;AACpD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,oDAAa,CAAC,2DAAQ;AACjC;AACA;AACA,KAAK;AACL,GAAG,+BAA+B,oDAAa,CAAC,uEAAM;AACtD;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,WAAW,oDAAa,CAAC,uDAAI;AAC7B,iBAAiB,iDAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK,EAAE,oDAAa,CAAC,2CAAQ,QAAQ,oDAAa,CAAC,2DAAQ;AAC3D;AACA,KAAK,iBAAiB,oDAAa,CAAC,2DAAQ;AAC5C;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,SAAS,oDAAa,CAAC,2CAAQ,mBAAmB,oDAAa,CAAC,qEAAI;AACpE;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG,gBAAgB,oDAAa;AAChC,eAAe,iDAAU;AACzB;AACA;AACA,KAAK;AACL,GAAG,EAAE,oDAAa,wBAAwB,oDAAa,CAAC,0DAAO,UAAU,mDAAE;AAC3E;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5LsC;AACtC;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AACmD;AACmH;AAClG;AAC/B;;AAErC;AACA;AACA;AACuC;AACvC;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,kBAAkB,0DAAM;AACxB,qBAAqB,GAAG;AACxB,2BAA2B,GAAG;AAC9B,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH,SAAS,oDAAa;AACtB;AACA,YAAY,oDAAa;AACzB;AACA,eAAe,iDAAU;AACzB;AACA,KAAK;AACL,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,EAAE,oDAAa;AAClB,YAAY,oDAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,uEAAM;AACzB;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG;AACH;AACA,GAAG,KAAK,oDAAa;AACrB;AACA,GAAG,IAAI,oDAAa,CAAC,uEAAM;AAC3B;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA,GAAG;AACH;AACA,GAAG,IAAI,oDAAa;AACpB;AACA;AACA,GAAG,6BAA6B,oDAAa;AAC7C;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,iEAAc;AACjC;AACA;AACA,GAAG,iBAAiB,oDAAa;AACjC;AACA,GAAG;AACH;AACA,GAAG;AACH;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,iBAAiB,iEAAa;AAC9B;AACA;AACA;AACA;AACA,mBAAmB,+DAAW;AAC9B,uBAAuB,+DAAW,mBAAmB,OAAO,GAAG,gBAAgB;AAC/E;AACA;AACA,GAAG;AACH;AACA;AACA,WAAW,oDAAa;AACxB,iBAAiB,iDAAU;AAC3B;AACA;AACA,OAAO;AACP,KAAK,cAAc,oDAAa,wBAAwB,oDAAa,CAAC,0DAAO,UAAU,mDAAE;AACzF;AACA,SAAS,oDAAa;AACtB;AACA,YAAY,oDAAa;AACzB;AACA;AACA;AACA,GAAG;AACH;AACA,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClJsC;AACtC;AACA;AACA;AACoC;;AAEpC;AACA;AACA;AACqC;AACa;AACmE;AACJ;;AAEjH;AACA;AACA;AACkE;AAC3B;AACE;AACG;AACK;AAC6C;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,EAAE,oDAAM,CAAC,8DAAqB;AAChC;AACA;AACA,CAAC;AACD,SAAS,wDAAQ,qDAAqD,oDAAa,CAAC,wDAAQ;AAC5F;AACA,GAAG,WAAW,oDAAa;AAC3B;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAU;AAC7B;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,oBAAoB,yDAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAa;AACtB;AACA,aAAa,oDAAa,CAAC,yDAAM;AACjC;AACA;AACA;AACA;AACA,KAAK,4BAA4B,oDAAa;AAC9C;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,EAAE,oDAAa,iDAAiD,oDAAa,yCAAyC,0DAAkB;AAC3I;AACA,qBAAqB,SAAS,GAAG,UAAU;AAC3C,WAAW,oDAAa;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK,EAAE,oDAAa;AACpB,GAAG,oBAAoB,oDAAa,0BAA0B,oDAAa;AAC3E,YAAY,oDAAa,CAAC,uDAAI;AAC9B,YAAY,wDAAM;AAClB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG,EAAE,oDAAa,8BAA8B,mDAAE,gCAAgC,oDAAa;AAC/F,YAAY,oDAAa,CAAC,uDAAI;AAC9B,YAAY,wDAAM;AAClB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,EAAE,oDAAa,8BAA8B,mDAAE;AAClD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,0BAA0B,2DAAO;AACjC;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,SAAS,oDAAa,CAAC,kEAAe;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL,mCAAmC,mDAAE,mBAAmB,mDAAE;AAC1D,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,gCAAgC,yEAAyB;AACzD;AACA,oCAAoC,4DAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,0DAAM;AAC9B,SAAS,oDAAa;AACtB,eAAe,iDAAU;AACzB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,UAAU;AACV;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG,oBAAoB,oDAAa;AACpC;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,EAAE,oDAAa,CAAC,mEAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,gCAAgC,oDAAa;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB,eAAe,iDAAU;AACzB;AACA,KAAK;AACL,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE,oDAAa;AACf;AACA;AACA,GAAG,EAAE,oDAAa,CAAC,sDAAW;AAC9B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,yBAAyB,0DAAM;AAC/B,+BAA+B,0DAAM;AACrC,4DAA4D,4DAAQ;AACpE,yBAAyB,iFAAiC;AAC1D,EAAE,6DAAS;AACX;AACA;AACA;AACA;AACA,GAAG;AACH,wBAAwB,yDAAK;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,oDAAa,CAAC,wDAAQ,QAAQ,oDAAa;AACpD;AACA;AACA;AACA,GAAG,EAAE,oDAAa,gBAAgB,oDAAa;AAC/C;AACA,GAAG,oBAAoB,oDAAa;AACpC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA;AACA,GAAG,wCAAwC,oDAAa;AACxD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG,0BAA0B,oDAAa;AAC1C;AACA;AACA,GAAG,EAAE,oDAAa;AAClB;AACA,GAAG,EAAE,mDAAE,iBAAiB,oDAAa,qDAAqD,oDAAa;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,MAAM,oDAAa;AACtB,eAAe,iDAAU;AACzB;AACA;AACA,KAAK;AACL;AACA,GAAG,cAAc,oDAAa,wBAAwB,oDAAa,CAAC,0DAAO,UAAU,mDAAE;AACvF;AACA,iEAAe,SAAS,EAAC;AACzB;;;;;;;;;;;;;;;;;AC9WA;AACA;AACA;AAC8D;;AAE9D,eAAe,kCAAkC,4CAA4C;;AAE7F;AACA;AACA;AACA,WAAW,2CAA2C;AACtD;AACA;AACA,WAAW,2CAA2C;AACtD;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,gEAAY;AACrB;AACA;AACA;AACA;AACA,GAAG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>',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t`https://console.developers.google.com/`,\n\t\t\t\t\t\tsettings.wp_url\n\t\t\t\t\t) }\n\t\t\t\t</RawHTML>\n\n\t\t\t\t<RawHTML>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: Google Site Kit url. */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'<p><b>Tip</b>: the simplest way to get your own credentials is to go to <a target=\"_blank\" href=\"%s\">Google Site Kit</a> site and follow step. Don\\'t forget to add your site url as authorized Javascript origin.</p>',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tauthUrl\n\t\t\t\t\t) }\n\t\t\t\t</RawHTML>\n\n\t\t\t\t<TextControl\n\t\t\t\t\tplaceholder={ 'CLIENT ID' }\n\t\t\t\t\tvalue={ settings?.credentials?.client_id ?? '' }\n\t\t\t\t\tlabel={ __( 'Client ID', 'search-console' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Please go to Developer Console to obtain your credentials.',\n\t\t\t\t\t\t'search-console'\n\t\t\t\t\t) }\n\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\tsetCredentials( 'client_id', val );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<TextControl\n\t\t\t\t\tplaceholder={ 'CLIENT SECRET' }\n\t\t\t\t\tvalue={ settings?.credentials?.client_secret ?? '' }\n\t\t\t\t\tlabel={ __( 'Client secret', 'search-console' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Please go to Developer Console to obtain your credentials.',\n\t\t\t\t\t\t'search-console'\n\t\t\t\t\t) }\n\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\tsetCredentials( 'client_secret', val );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</CardBody>\n\t\t</Card>\n\t);\n};\n\nexport default Credentials;\n","import { Notice, Card, CardBody, CardHeader } from '@wordpress/components';\n\nimport { __ } from '@wordpress/i18n';\n\nimport { useContext } from '@wordpress/element';\nimport { SettingsContext } from '../../context/settings-context';\n\nimport GoogleOauthButton from './oauth-button';\nimport { GoogleOAuthProvider } from '@react-oauth/google';\n\nconst GoogleOAuth = ( props ) => {\n\tconst { settings } = useContext( SettingsContext );\n\n\treturn (\n\t\t<Card>\n\t\t\t<CardHeader>\n\t\t\t\t<b>{ __( 'Google Oauth', 'search-console' ) }</b>\n\t\t\t</CardHeader>\n\n\t\t\t<CardBody>\n\t\t\t\t{ ( ! settings?.credentials?.client_id?.length ||\n\t\t\t\t\t! settings?.credentials?.client_secret?.length ) && (\n\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'You must insert a Client Id and a Client secret to correctly request your authentication token.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Notice>\n\t\t\t\t) }\n\t\t\t\t{ settings?.credentials?.client_id &&\n\t\t\t\t\tsettings?.credentials?.client_secret && (\n\t\t\t\t\t\t<GoogleOAuthProvider\n\t\t\t\t\t\t\tclientId={ settings?.credentials?.client_id }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<GoogleOauthButton { ...props } />\n\t\t\t\t\t\t</GoogleOAuthProvider>\n\t\t\t\t\t) }\n\t\t\t</CardBody>\n\t\t</Card>\n\t);\n};\n\nexport default GoogleOAuth;\n","import {\n\tCard,\n\tCardHeader,\n\tCardBody,\n\tExternalLink,\n\tButton,\n} from '@wordpress/components';\nimport Ads from '../ads';\n\nimport { __ } from '@wordpress/i18n';\n\nexport default function Help() {\n\treturn (\n\t\t<>\n\t\t\t\t<Ads direction=\"column\" />\n\t\t\t<Card>\n\t\t\t\t<CardHeader>\n\t\t\t\t\t<b>{ __( 'Need help?', 'search-console' ) }</b>\n\t\t\t\t</CardHeader>\n\n\t\t\t\t<CardBody>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Detailed documentation is available on the plugin website.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t<ExternalLink href=\"https://www.francescopepe.com/docs/search-console\">\n\t\t\t\t\t\t{ __( 'Documentation', 'search-console' ) }\n\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'We would love to help you out if you need any help.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\n\t\t\t\t\t<ExternalLink href=\"https://wordpress.org/support/plugin/search-console/\">\n\t\t\t\t\t\t{ __( 'Ask a question', 'search-console' ) }\n\t\t\t\t\t</ExternalLink>\n\t\t\t\t</CardBody>\n\t\t\t</Card>\n\t\t\t<Card className=\"ads-container__reviews\">\n\t\t\t\t<CardHeader>\n\t\t\t\t\t<b>{ __( 'Do you like the plugin?', 'search-console' ) }</b>\n\t\t\t\t</CardHeader>\n\n\t\t\t\t<CardBody>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'If you like search-console plugin you can share a review to help us and spread some love!',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<ExternalLink href=\"https://wordpress.org/support/plugin/search-console/reviews/#new-post\">\n\t\t\t\t\t\t{ __( 'Rate 5 stars!', 'search-console' ) }\n\t\t\t\t\t</ExternalLink>\n\t\t\t\t</CardBody>\n\t\t\t</Card>\n\t\t</>\n\t);\n}\n","import { Button, Notice } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { Fragment, useState, useContext } from '@wordpress/element';\nimport apiFetch from '@wordpress/api-fetch';\nimport { SettingsContext } from '../../context/settings-context';\nimport { hasGrantedAnyScopeGoogle, useGoogleLogin } from '@react-oauth/google';\n\nconst GoogleOauthButton = () => {\n\tconst { updateSetting, settings, revokeToken } =\n\t\tuseContext( SettingsContext );\n\n\tconst [ message, setMessage ] = useState( false );\n\n\tconst googleLogin = useGoogleLogin( {\n\t\tflow: 'auth-code',\n\t\tonSuccess: async ( { code } ) => {\n\t\t\tgetToken( code );\n\t\t},\n\t\tscope: 'https://www.googleapis.com/auth/webmasters.readonly https://www.googleapis.com/auth/siteverification email',\n\t} );\n\n\tconst hasAccess = hasGrantedAnyScopeGoogle(\n\t\twindow.search_console.token,\n\t\t'https://www.googleapis.com/auth/webmasters.readonly'\n\t);\n\n\tconst getToken = ( code ) => {\n\t\tapiFetch( {\n\t\t\tpath: '/searchconsole/v1/credentials',\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\tcode,\n\t\t\t},\n\t\t} )\n\t\t\t.then( ( result ) => {\n\t\t\t\tupdateSetting( 'token', result );\n\t\t\t\tsetMessage( {\n\t\t\t\t\tstatus: 'success',\n\t\t\t\t\ttext: __( \"You're logged in\", 'search-console' ),\n\t\t\t\t} );\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tsetMessage( {\n\t\t\t\t\tstatus: 'error',\n\t\t\t\t\ttext: error.message,\n\t\t\t\t} );\n\t\t\t} )\n\t\t\t.finally( () => console.log( 'Success' ) );\n\t};\n\n\tconst getEmail = () => {\n\t\tif ( settings.token.id_token ) {\n\t\t\treturn JSON.parse(\n\t\t\t\tatob( settings.token.id_token.split( '.' )[ 1 ] )\n\t\t\t).email;\n\t\t}\n\t\treturn null;\n\t};\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => googleLogin() }\n\t\t\t\ticon={ 'google' }\n\t\t\t>\n\t\t\t\t{ getEmail() || __( 'Login with Google', 'search-console' ) }\n\t\t\t</Button>\n\t\t\t{ settings.token.id_token && (\n\t\t\t\t<p>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttext={ __( 'Revoke token', 'search-console' ) }\n\t\t\t\t\t\tonClick={ () => revokeToken() }\n\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\tisSmall\n\t\t\t\t\t/>\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t{ message && (\n\t\t\t\t<Notice status={ message.status } isDismissible={ false }>\n\t\t\t\t\t{ message.text }\n\t\t\t\t</Notice>\n\t\t\t) }\n\t\t</Fragment>\n\t);\n};\n\nexport default GoogleOauthButton;\n","import { useSelect } from '@wordpress/data';\nimport { ToggleControl } from '@wordpress/components';\nimport { Fragment, useContext } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { SettingsContext } from '../../context/settings-context';\n\nexport default function PostTypeSelection() {\n\tconst { settings, updateSetting, saveSettings } =\n\t\tuseContext( SettingsContext );\n\n\t// useSelect to retrieve all post types\n\tconst postTypes = useSelect(\n\t\t( select ) => select( coreStore ).getPostTypes( { per_page: -1 } ),\n\t\t[]\n\t);\n\n\tconst addPostType = ( val ) => {\n\t\tupdateSetting( 'postTypes', [ ...settings.postTypes, val ] );\n\t\tsaveSettings();\n\t};\n\n\tconst removePostType = ( val ) => {\n\t\tconst filteredArray = settings.postTypes.filter(\n\t\t\t( item ) => item !== val\n\t\t);\n\t\tupdateSetting( 'postTypes', filteredArray );\n\t\tsaveSettings();\n\t};\n\n\t// Options expects [{label: ..., value: ...}]\n\tconst postTypeOptions = ! Array.isArray( postTypes )\n\t\t? postTypes\n\t\t: postTypes\n\t\t\t\t.filter(\n\t\t\t\t\t// Filter out internal WP post types eg: wp_block, wp_navigation, wp_template, wp_template_part..\n\t\t\t\t\t( postType ) => postType.viewable\n\t\t\t\t)\n\t\t\t\t.map(\n\t\t\t\t\t// Format the options for display in the <SelectControl/>\n\t\t\t\t\t( postType ) => ( {\n\t\t\t\t\t\tlabel: postType.labels.singular_name,\n\t\t\t\t\t\tvalue: postType.slug, // the value saved as postType in attributes\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Choose on which post type you want see Search Console data.',\n\t\t\t\t\t'search-console'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t{ postTypeOptions &&\n\t\t\t\tpostTypeOptions.map( ( postType, i ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tlabel={ postType.label }\n\t\t\t\t\t\t\tchecked={ settings.postTypes.includes(\n\t\t\t\t\t\t\t\tpostType.value\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\t\t\t\taddPostType( postType.value );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tremovePostType( postType.value );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t</Fragment>\n\t);\n}\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Animate, Button, Flex } from '@wordpress/components';\nimport { useState, useContext } from '@wordpress/element';\n\nimport { cloud, Icon } from '@wordpress/icons';\nimport { SettingsContext } from '../../context/settings-context';\n\nexport default function SaveButton() {\n\tconst [ status ] = useState( 'saved' );\n\n\tconst { isSaving, saveSettings, hasEdits } = useContext( SettingsContext );\n\n\treturn (\n\t\t<>\n\t\t\t<Flex justify=\"flex-start\">\n\t\t\t\t<Button\n\t\t\t\t\tclassName={ 'save-settings__save-button' }\n\t\t\t\t\tonClick={ () => saveSettings() }\n\t\t\t\t\tdisabled={ isSaving || ! hasEdits }\n\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Save', 'search-console' ) }\n\t\t\t\t</Button>\n\t\t\t\t{ [\n\t\t\t\t\tisSaving && (\n\t\t\t\t\t\t<Animate type=\"loading\" key=\"saving\">\n\t\t\t\t\t\t\t{ ( { className: animateClassName } ) => (\n\t\t\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'message',\n\t\t\t\t\t\t\t\t\t\tanimateClassName\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tgap={ 1 }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Icon icon={ cloud } />\n\t\t\t\t\t\t\t\t\t{ __( 'Saving', 'block-visibility' ) }\n\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Animate>\n\t\t\t\t\t),\n\t\t\t\t\tstatus === 'error' && (\n\t\t\t\t\t\t<span className=\"message update-failed\" key=\"error\">\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Update failed. Try again or get in touch with support.',\n\t\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t),\n\t\t\t\t] }\n\t\t\t</Flex>\n\t\t</>\n\t);\n}\n","import {\n\tCard,\n\tCardBody,\n\tCardHeader,\n\tSelectControl,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useContext, useEffect, useState } from '@wordpress/element';\nimport Verification from './verification';\nimport PostTypeSelection from './post-type-selection';\nimport { SettingsContext } from '../../context/settings-context';\n\nconst SiteSelect = ( props ) => {\n\tconst { settings, updateSetting, refreshToken, saveSettings } =\n\t\tuseContext( SettingsContext );\n\tconst [ sites, setSites ] = useState( null );\n\n\tuseEffect( () => {\n\t\tif ( settings.token.access_token ) getSites();\n\t}, [ settings.token ] );\n\n\tconst getSites = () => {\n\t\tconst options = [\n\t\t\t{ value: '', label: __( 'Select a site', 'search-console' ) },\n\t\t];\n\n\t\twindow.gapi?.client?.setToken( settings.token );\n\n\t\twindow.gapi?.client?.webmasters?.sites\n\t\t\t.list()\n\t\t\t.then( ( s ) => {\n\t\t\t\ts.result.siteEntry.forEach( ( site ) => {\n\t\t\t\t\toptions.push( {\n\t\t\t\t\t\tvalue: site.siteUrl,\n\t\t\t\t\t\tlabel: site.siteUrl,\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t\toptions.sort( function ( a, b ) {\n\t\t\t\t\tif ( a.value < b.value ) {\n\t\t\t\t\t\treturn -1;\n\t\t\t\t\t}\n\t\t\t\t\treturn 0;\n\t\t\t\t} );\n\t\t\t\tsetSites( options.sort() );\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tif ( 401 === error.status ) {\n\t\t\t\t\trefreshToken();\n\t\t\t\t}\n\t\t\t} );\n\t};\n\n\treturn (\n\t\t<Card>\n\t\t\t<CardHeader>\n\t\t\t\t<b>{ __( 'Options', 'search-console' ) }</b>\n\t\t\t</CardHeader>\n\n\t\t\t<CardBody>\n\t\t\t\t<SelectControl\n\t\t\t\t\toptions={ sites }\n\t\t\t\t\tlabel={ __( 'Choose site', 'search-console' ) }\n\t\t\t\t\thelp={ __( 'Choose one of your sites.', 'search-console' ) }\n\t\t\t\t\tvalue={ settings.site }\n\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\tupdateSetting( 'site', val );\n\t\t\t\t\t\tsaveSettings();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\n\t\t\t\t<PostTypeSelection { ...props } />\n\n\t\t\t\t<Verification { ...props } />\n\t\t\t</CardBody>\n\t\t</Card>\n\t);\n};\n\nexport default SiteSelect;\n","import {\n\tButton,\n\tToggleControl,\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalInputControl as InputControl,\n} from '@wordpress/components';\n\nimport { __ } from '@wordpress/i18n';\n\nimport { Fragment, useContext } from '@wordpress/element';\nimport { SettingsContext } from '../../context/settings-context';\n\nconst Verification = () => {\n\tconst { settings, updateSetting, refreshToken, saveSettings } =\n\t\tuseContext( SettingsContext );\n\n\tconst getMeta = () => {\n\t\tif ( settings.siteVerification && settings.site ) {\n\t\t\twindow.gapi.client.load( 'siteVerification', 'v1' ).then( () => {\n\t\t\t\twindow.gapi.client.siteVerification.webResource\n\t\t\t\t\t.getToken( {\n\t\t\t\t\t\tverificationMethod: 'META',\n\t\t\t\t\t\tsite: {\n\t\t\t\t\t\t\tidentifier: settings.site.replace(\n\t\t\t\t\t\t\t\t'sc-domain:',\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttype: 'SITE',\n\t\t\t\t\t\t},\n\t\t\t\t\t} )\n\t\t\t\t\t.then( ( r ) => {\n\t\t\t\t\t\tupdateSetting( 'meta', r.result.token );\n\t\t\t\t\t\tsaveSettings();\n\t\t\t\t\t} )\n\t\t\t\t\t.catch( ( error ) => {\n\t\t\t\t\t\tif ( 401 === error.status ) {\n\t\t\t\t\t\t\trefreshToken();\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t} );\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"search-console-Advanced\">\n\t\t\t{ settings.site && (\n\t\t\t\t<Fragment>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Do you want to add meta tag verification on your site?',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t'Add verification to site?',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Check this if you want output meta verification on frontend.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ settings.siteVerification }\n\t\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\t\tupdateSetting( 'siteVerification', val );\n\t\t\t\t\t\t\tsaveSettings();\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</Fragment>\n\t\t\t) }\n\t\t\t{ settings.siteVerification && (\n\t\t\t\t<InputControl\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Please click on icon to generate your meta verification tag.',\n\t\t\t\t\t\t'search-console'\n\t\t\t\t\t) }\n\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t'Your meta verification tag',\n\t\t\t\t\t\t'search-console'\n\t\t\t\t\t) }\n\t\t\t\t\tvalue={ settings.meta }\n\t\t\t\t\tonChange={ ( val ) => {\n\t\t\t\t\t\tupdateSetting( 'meta', val );\n\t\t\t\t\t} }\n\t\t\t\t\tsuffix={ <Button onClick={ getMeta } icon={ 'update' } /> }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport default Verification;\n","import { useState, createContext, useEffect } from '@wordpress/element';\nimport apiFetch from '@wordpress/api-fetch';\nimport { dateI18n } from '@wordpress/date';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore, useEntityProp } from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useHistory } from '../router';\n\nexport const SettingsContext = createContext();\n\nfunction SettingsContextProvider( props ) {\n\tconst defaultQuery = {\n\t\tcustomDate: false,\n\t\ttype: 'web',\n\t\tstartDate: dateI18n(\n\t\t\t'Y-m-d',\n\t\t\tnew Date().setDate( new Date().getDate() - 29 )\n\t\t),\n\t\tendDate: dateI18n(\n\t\t\t'Y-m-d',\n\t\t\tnew Date().setDate( new Date().getDate() - 1 )\n\t\t),\n\t\tdimensions: [ 'QUERY' ],\n\t\tfields: 'rows',\n\t\tdimensionFilterGroups: [\n\t\t\t/*{\n\t\t\t\tfilters: [],\n\t\t\t},*/\n\t\t],\n\t};\n\n\tconst [ ready, setReady ] = useState( false );\n\tconst [ query, setQuery ] = useState( defaultQuery );\n\tconst [ email, setEmail ] = useState( false );\n\n\tconst history = useHistory();\n\n\tconst [ settings, setSettings ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'search_console'\n\t);\n\n\tconst { saveEditedEntityRecord } = useDispatch( coreStore );\n\tconst { createNotice } = useDispatch( noticesStore );\n\n\tconst saveSettings = async () => {\n\t\treturn saveEditedEntityRecord( 'root', 'site' )\n\t\t\t.then( () => {\n\t\t\t\tcreateNotice(\n\t\t\t\t\t'info',\n\t\t\t\t\t'🎯 ' + __( 'Settings saved.', 'formello' ),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tcreateNotice( 'error', '⚠️ ' + error.message, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\texplicitDismiss: true,\n\t\t\t\t} );\n\t\t\t} );\n\t};\n\n\tconst showError = ( error ) => {\n\t\tif ( 401 !== error.status ) {\n\t\t\tcreateNotice( 'error', '⚠️ ' + error.result.error.message, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\texplicitDismiss: true,\n\t\t\t} );\n\t\t}\n\t\tif ( 401 === error.status ) {\n\t\t\trefreshToken();\n\t\t}\n\t};\n\n\tconst { isSaving, hasEdits } = useSelect(\n\t\t( select ) => ( {\n\t\t\tisSaving: select( coreStore ).isSavingEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'site'\n\t\t\t),\n\t\t\thasEdits: select( coreStore ).hasEditsForEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'site',\n\t\t\t\tundefined,\n\t\t\t\t'search_console'\n\t\t\t),\n\t\t} ),\n\t\t[]\n\t);\n\n\tconst refreshToken = () => {\n\t\tapiFetch( {\n\t\t\tpath: '/searchconsole/v1/refresh',\n\t\t\tmethod: 'POST',\n\t\t} )\n\t\t\t.then( ( result ) => {\n\t\t\t\tsetSettings( {\n\t\t\t\t\t...settings,\n\t\t\t\t\ttoken: result,\n\t\t\t\t} );\n\t\t\t\twindow.gapi.client.setToken( result );\n\t\t\t\tloadSearchConsole();\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.log( error );\n\t\t\t\tcreateNotice(\n\t\t\t\t\t'error',\n\t\t\t\t\t'⚠️ ' + error.message.error_description,\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\texplicitDismiss: true,\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: 'Reauthenticate on settings page',\n\t\t\t\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\t\t\tpage: 'search-console-settings',\n\t\t\t\t\t\t\t\t\t} ), // styled as a button link\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} );\n\t};\n\n\tconst revokeToken = () => {\n\t\tapiFetch( {\n\t\t\tpath: '/searchconsole/v1/revoke',\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\ttoken: settings.token.refresh_token,\n\t\t\t},\n\t\t} ).then( () => {\n\t\t\tupdateSetting( 'token', {\n\t\t\t\taccess_token: '',\n\t\t\t\texpires_in: 3600,\n\t\t\t\tid_token: '',\n\t\t\t\trefresh_token: '',\n\t\t\t\tscope: '',\n\t\t\t\ttoken_type: '',\n\t\t\t} );\n\t\t\tsetEmail( false );\n\t\t} );\n\t};\n\n\tconst updateSetting = ( key, value ) => {\n\t\tsetSettings( { ...settings, [ key ]: value } );\n\t};\n\n\tconst updateQuery = ( key, value ) => {\n\t\tsetQuery( { ...query, [ key ]: value } );\n\t};\n\n\tuseEffect( () => {\n\t\tconst handleClientLoad = async () =>\n\t\t\tawait window.gapi.load( 'client', loadSearchConsole );\n\n\t\tconst script = document.createElement( 'script' );\n\n\t\tscript.src = 'https://apis.google.com/js/api.js';\n\t\tscript.async = true;\n\t\tscript.defer = true;\n\t\tscript.onload = handleClientLoad;\n\n\t\tdocument.body.appendChild( script );\n\n\t\treturn () => {\n\t\t\tdocument.body.removeChild( script );\n\t\t};\n\t}, [] );\n\n\tconst loadSearchConsole = () => {\n\t\twindow.gapi.client.setToken( window.search_console.token );\n\t\twindow.gapi.client.load( 'searchconsole', 'v1' ).then( () => {\n\t\t\tcheck();\n\t\t} );\n\t};\n\n\tconst check = () => {\n\t\tsetReady( true );\n\t};\n\n\treturn (\n\t\t<SettingsContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tquery,\n\t\t\t\tupdateQuery,\n\t\t\t\tsettings,\n\t\t\t\tupdateSetting,\n\t\t\t\tsetSettings,\n\t\t\t\tsaveSettings,\n\t\t\t\tisSaving,\n\t\t\t\tready,\n\t\t\t\trefreshToken,\n\t\t\t\trevokeToken,\n\t\t\t\temail,\n\t\t\t\thasEdits,\n\t\t\t\tshowError,\n\t\t\t} }\n\t\t>\n\t\t\t{ props.children }\n\t\t</SettingsContext.Provider>\n\t);\n}\n\nexport default SettingsContextProvider;\n","import { createRoot, useEffect } from '@wordpress/element';\nimport { SnackbarList } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\nimport { RouterProvider, useLocation, useHistory } from './router';\nimport { getQueryArg } from '@wordpress/url';\n\nimport './style.scss';\nimport './store';\n\nimport Dashboard from './routes/dashboard';\nimport Settings from './routes/settings';\nimport Header from './components/Header';\nimport Footer from './components/Footer';\nimport SettingsContextProvider from './context/settings-context';\nimport { GoogleOAuthProvider } from '@react-oauth/google';\n\nconst Router = () => {\n\tconst history = useHistory();\n\tconst { params } = useLocation();\n\n\tconst menuRoot = document.querySelector( '#toplevel_page_search-console' );\n\tconst reset = () => {\n\t\tconst page = getQueryArg( window.location.href, 'page' );\n\t\tif ( ! page ) {\n\t\t\treturn;\n\t\t}\n\t\tfor ( const child of menuRoot.querySelectorAll( 'a' ) ) {\n\t\t\tconst target = getQueryArg( child.href, 'page' );\n\t\t\tif ( page === target ) {\n\t\t\t\tchild.classList.add( 'current' );\n\t\t\t\tchild.parentElement.classList.add( 'current' );\n\t\t\t} else {\n\t\t\t\tchild.classList.remove( 'current' );\n\t\t\t\tchild.parentElement.classList.remove( 'current' );\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleChange = ( e ) => {\n\t\te.preventDefault();\n\n\t\thistory.push( {\n\t\t\tpage: getQueryArg( e.target.href, 'page' ),\n\t\t} );\n\t\treset();\n\t};\n\n\tuseEffect( () => {\n\t\treset();\n\t\tmenuRoot.addEventListener( 'click', handleChange, false );\n\n\t\treturn () => {\n\t\t\tmenuRoot.removeEventListener( 'click', handleChange );\n\t\t};\n\t}, [] );\n\n\thistory.listen( () => {\n\t\treset();\n\t} );\n\n\tif ( 'search-console-settings' === params.page ) {\n\t\treturn <Settings />;\n\t}\n\treturn <Dashboard />;\n};\n\nconst App = () => {\n\treturn (\n\t\t<GoogleOAuthProvider>\n\t\t\t<RouterProvider>\n\t\t\t\t<Header title={ 'Search Console' } />\n\t\t\t\t<SettingsContextProvider>\n\t\t\t\t\t<Router />\n\t\t\t\t\t<Notifications />\n\t\t\t\t</SettingsContextProvider>\n\t\t\t\t<Footer />\n\t\t\t</RouterProvider>\n\t\t</GoogleOAuthProvider>\n\t);\n};\n\nfunction Notifications() {\n\tconst notices = useSelect(\n\t\t( select ) => select( noticesStore ).getNotices(),\n\t\t[]\n\t);\n\tconst { removeNotice } = useDispatch( noticesStore );\n\tconst snackbarNotices = notices.filter(\n\t\t( { type } ) => type === 'snackbar'\n\t);\n\n\treturn (\n\t\t<SnackbarList notices={ snackbarNotices } onRemove={ removeNotice } />\n\t);\n}\n\nwindow.addEventListener( 'DOMContentLoaded', () => {\n\tconst domNode = document.getElementById( 'search-console-wrapper' );\n\tconst root = createRoot( domNode );\n\n\troot.render( <App /> );\n} );\n","/**\n * External dependencies\n */\nimport { createBrowserHistory } from 'history';\n\n/**\n * WordPress dependencies\n */\nimport { addQueryArgs, getQueryArgs, removeQueryArgs } from '@wordpress/url';\n\nconst history = createBrowserHistory();\n\nconst originalHistoryPush = history.push;\nconst originalHistoryReplace = history.replace;\n\nfunction push( params, state ) {\n\tconst currentArgs = getQueryArgs( window.location.href );\n\tconst currentUrlWithoutArgs = removeQueryArgs(\n\t\twindow.location.href,\n\t\t...Object.keys( currentArgs )\n\t);\n\tconst newUrl = addQueryArgs( currentUrlWithoutArgs, params );\n\treturn originalHistoryPush.call( history, newUrl, state );\n}\n\nfunction replace( params, state ) {\n\tconst currentArgs = getQueryArgs( window.location.href );\n\tconst currentUrlWithoutArgs = removeQueryArgs(\n\t\twindow.location.href,\n\t\t...Object.keys( currentArgs )\n\t);\n\tconst newUrl = addQueryArgs( currentUrlWithoutArgs, params );\n\treturn originalHistoryReplace.call( history, newUrl, state );\n}\n\nhistory.push = push;\nhistory.replace = replace;\n\nexport default history;\n","/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseState,\n\tuseEffect,\n\tuseContext,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport history from './history';\n\nconst RoutesContext = createContext();\nconst HistoryContext = createContext();\n\nexport function useLocation() {\n\treturn useContext( RoutesContext );\n}\n\nexport function useHistory() {\n\treturn useContext( HistoryContext );\n}\n\nfunction getLocationWithParams( location ) {\n\tconst searchParams = new URLSearchParams( location.search );\n\treturn {\n\t\t...location,\n\t\tparams: Object.fromEntries( searchParams.entries() ),\n\t};\n}\n\nexport function RouterProvider( { children } ) {\n\tconst [ location, setLocation ] = useState( () =>\n\t\tgetLocationWithParams( history.location )\n\t);\n\n\tuseEffect( () => {\n\t\treturn history.listen( ( { location: updatedLocation } ) => {\n\t\t\tsetLocation( getLocationWithParams( updatedLocation ) );\n\t\t} );\n\t}, [] );\n\n\treturn (\n\t\t<HistoryContext.Provider value={ history }>\n\t\t\t<RoutesContext.Provider value={ location }>\n\t\t\t\t{ children }\n\t\t\t</RoutesContext.Provider>\n\t\t</HistoryContext.Provider>\n\t);\n}","import { __ } from '@wordpress/i18n';\nimport {\n\tCard,\n\tCardBody,\n\tNotice,\n\tButton,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useContext, createInterpolateElement } from '@wordpress/element';\nimport LoadingSpinner from '../components/loading-spinner.js';\nimport { MyChart } from '../components/dashboard/chart/index.js';\nimport { Table } from '../components/dashboard/table/index.js';\nimport { Filters } from '../components/dashboard/table/filters.js';\nimport Ads from '../components/ads/index';\nimport { SettingsContext } from '../context/settings-context';\nimport { useHistory } from '../router';\n\nconst Dashboard = () => {\n\tconst history = useHistory();\n\tconst { settings, ready } = useContext( SettingsContext );\n\n\tif ( ! ready || ! settings ) {\n\t\treturn (\n\t\t\t<LoadingSpinner text={ __( 'Fetching data…', 'search-console' ) } />\n\t\t);\n\t}\n\n\tconst noticeString = ( text ) =>\n\t\tcreateInterpolateElement( text, {\n\t\t\ta: (\n\t\t\t\t<Button\n\t\t\t\t\ttext={ __( 'settings page', 'search-console' ) }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\thistory.push( { page: 'search-console-settings' } )\n\t\t\t\t\t}\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t/>\n\t\t\t),\n\t\t} );\n\n\tif ( ! settings.token || ! settings.token.refresh_token ) {\n\t\treturn (\n\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t<p>\n\t\t\t\t\t{ noticeString(\n\t\t\t\t\t\t__( 'Please authenticate on <a />.', 'search-console' )\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</Notice>\n\t\t);\n\t}\n\n\tif (\n\t\t! settings.credentials.client_secret ||\n\t\t! settings.credentials.client_id\n\t) {\n\t\treturn (\n\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t<p>\n\t\t\t\t\t{ noticeString(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Please provide a Client Secret and a Client ID on <a />.',\n\t\t\t\t\t\t\t'search-console'\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</Notice>\n\t\t);\n\t}\n\n\tif ( ! settings.site ) {\n\t\treturn (\n\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t<p>\n\t\t\t\t\t{ noticeString(\n\t\t\t\t\t\t__( 'Please select a site on <a />.', 'search-console' )\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</Notice>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className={ 'search-console-dashboard' }>\n\t\t\t<VStack>\n\t\t\t\t<Card>\n\t\t\t\t\t<CardBody>\n\t\t\t\t\t\t<MyChart />\n\t\t\t\t\t</CardBody>\n\t\t\t\t</Card>\n\t\t\t\t<Card>\n\t\t\t\t\t<CardBody>\n\t\t\t\t\t\t<Filters />\n\t\t\t\t\t</CardBody>\n\t\t\t\t</Card>\n\t\t\t\t<Ads noSlide={ true } />\n\t\t\t\t<Card>\n\t\t\t\t\t<CardBody>\n\t\t\t\t\t\t<Table />\n\t\t\t\t\t</CardBody>\n\t\t\t\t</Card>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n};\n\nexport default Dashboard;\n","import { __ } from '@wordpress/i18n';\nimport GoogleOAuth from '../components/settings/google-oauth';\nimport Credentials from '../components/settings/credentials';\nimport Help from '../components/settings/help';\nimport SiteSelect from '../components/settings/site-select';\nimport SaveButton from '../components/settings/save-button';\nimport LoadingSpinner from '../components/loading-spinner.js';\nimport { SettingsContext } from '../context/settings-context';\nimport { useContext } from '@wordpress/element';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalGrid as Grid,\n} from '@wordpress/components';\n\nconst Settings = () => {\n\tconst { ready, settings } = useContext( SettingsContext );\n\n\tif ( ! ready || ! settings ) {\n\t\treturn (\n\t\t\t<LoadingSpinner text={ __( 'Fetching data…', 'search-console' ) } />\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className={ 'search-console-settings' }>\n\t\t\t<Grid\n\t\t\t\tcolumns={ 4 }\n\t\t\t\ttemplateColumns=\"3fr 1fr\"\n\t\t\t\tgap=\"4\"\n\t\t\t\talign=\"flex-start\"\n\t\t\t\tclassName=\"popper-settings\"\n\t\t\t>\n\t\t\t\t<VStack>\n\t\t\t\t\t<GoogleOAuth />\n\t\t\t\t\t<SiteSelect />\n\t\t\t\t\t<Credentials />\n\t\t\t\t\t<SaveButton />\n\t\t\t\t</VStack>\n\t\t\t\t<VStack>\n\t\t\t\t\t<Help />\n\t\t\t\t</VStack>\n\t\t\t</Grid>\n\t\t</div>\n\t);\n};\n\nexport default Settings;\n","import apiFetch from '@wordpress/api-fetch';\nimport { createReduxStore, register } from '@wordpress/data';\nimport { dateI18n } from '@wordpress/date';\n\nconst DEFAULT_STATE = {\n\tsettings: false,\n\tsites: [\n\t\t{\n\t\t\tlabel: 'Select a site',\n\t\t\tvalue: '',\n\t\t},\n\t],\n\tcustomDate: false,\n\tdimension: 'query',\n\tsearchType: 'web',\n\tstartDate: dateI18n(\n\t\t'Y-m-d',\n\t\tnew Date().setDate( new Date().getDate() - 29 )\n\t),\n\tendDate: dateI18n(\n\t\t'Y-m-d',\n\t\tnew Date().setDate( new Date().getDate() - 1 )\n\t),\n\tfilters: [],\n};\n\nconst actions = {\n\tsetSites( sites ) {\n\t\treturn {\n\t\t\ttype: 'SET_SITES',\n\t\t\tsites,\n\t\t};\n\t},\n\n\tsetSettings( settings ) {\n\t\treturn {\n\t\t\ttype: 'SET_SETTINGS',\n\t\t\tsettings,\n\t\t};\n\t},\n\n\tsetSetting( setting, value ) {\n\t\treturn {\n\t\t\ttype: 'SET_SETTING',\n\t\t\tsetting,\n\t\t\tvalue,\n\t\t};\n\t},\n\n\tsetSearchType( searchType ) {\n\t\treturn {\n\t\t\ttype: 'SET_SEARCHTYPE',\n\t\t\tsearchType,\n\t\t};\n\t},\n\n\tsetFilter( filter ) {\n\t\treturn {\n\t\t\ttype: 'SET_FILTER',\n\t\t\tfilter,\n\t\t};\n\t},\n\n\tsetDimension( dimension ) {\n\t\treturn {\n\t\t\ttype: 'SET_DIMENSION',\n\t\t\tdimension,\n\t\t};\n\t},\n\n\tsetCustomDate( val ) {\n\t\treturn {\n\t\t\ttype: 'SET_CUSTOMDATE',\n\t\t\tval,\n\t\t};\n\t},\n\n\tsetStartDate( date ) {\n\t\treturn {\n\t\t\ttype: 'SET_STARTDATE',\n\t\t\tdate,\n\t\t};\n\t},\n\n\tsetEndDate( date ) {\n\t\treturn {\n\t\t\ttype: 'SET_ENDDATE',\n\t\t\tdate,\n\t\t};\n\t},\n\n\tremoveFilter( filter ) {\n\t\treturn {\n\t\t\ttype: 'REMOVE_FILTER',\n\t\t\tfilter,\n\t\t};\n\t},\n\n\tfetchFromAPI( path ) {\n\t\treturn {\n\t\t\ttype: 'FETCH_FROM_API',\n\t\t\tpath,\n\t\t};\n\t},\n};\n\nconst store = createReduxStore( 'searchconsole', {\n\treducer( state = DEFAULT_STATE, action ) {\n\t\tswitch ( action.type ) {\n\t\t\tcase 'SET_SETTINGS':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tsettings: action.settings,\n\t\t\t\t};\n\n\t\t\tcase 'SET_SITES':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tsites: action.sites,\n\t\t\t\t};\n\n\t\t\tcase 'SET_SETTING':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tsettings: {\n\t\t\t\t\t\t...state.settings,\n\t\t\t\t\t\t[ action.setting ]: action.value,\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\tcase 'SET_SEARCHTYPE':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tsearchType: action.searchType,\n\t\t\t\t};\n\n\t\t\tcase 'SET_DIMENSION':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tdimension: action.dimension,\n\t\t\t\t};\n\n\t\t\tcase 'SET_CUSTOMDATE':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tcustomDate: action.val,\n\t\t\t\t};\n\n\t\t\tcase 'SET_STARTDATE':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tstartDate: action.date,\n\t\t\t\t};\n\n\t\t\tcase 'SET_ENDDATE':\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tendDate: action.date,\n\t\t\t\t};\n\n\t\t\tcase 'SET_FILTER':\n\t\t\t\tconst newFilter = {\n\t\t\t\t\tdimension: action.filter.dimension,\n\t\t\t\t\texpression: action.filter.expression,\n\t\t\t\t\toperator: action.filter.operator,\n\t\t\t\t};\n\t\t\t\tconst arr = state.filters.filter( ( f ) => {\n\t\t\t\t\treturn f.dimension !== action.filter.dimension;\n\t\t\t\t} );\n\t\t\t\tarr.push( newFilter );\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tfilters: arr,\n\t\t\t\t};\n\n\t\t\tcase 'REMOVE_FILTER':\n\t\t\t\tconst cleanArr = state.filters.filter( ( f ) => {\n\t\t\t\t\treturn f.dimension !== action.filter.dimension;\n\t\t\t\t} );\n\t\t\t\treturn {\n\t\t\t\t\t...state,\n\t\t\t\t\tfilters: cleanArr,\n\t\t\t\t};\n\t\t}\n\n\t\treturn state;\n\t},\n\n\tactions,\n\n\tselectors: {\n\t\tisReady( state ) {\n\t\t\treturn state.settings ?? false;\n\t\t},\n\t\tgetSettings( state ) {\n\t\t\tconst { settings } = state;\n\t\t\treturn settings;\n\t\t},\n\t\tgetSites( state ) {\n\t\t\tconst { sites } = state;\n\t\t\treturn sites;\n\t\t},\n\t\tgetSite( state ) {\n\t\t\tconst { settings } = state;\n\t\t\treturn settings.site;\n\t\t},\n\t\tgetQuery( state ) {\n\t\t\tconst { searchType, filters, dimension, startDate, endDate } =\n\t\t\t\tstate;\n\t\t\treturn {\n\t\t\t\tdimension,\n\t\t\t\tstartDate,\n\t\t\t\tendDate,\n\t\t\t\tsearchType,\n\t\t\t\tfilters,\n\t\t\t};\n\t\t},\n\t\tgetFilterByDimension( state, filter ) {\n\t\t\tif ( ! state.filters.length ) {\n\t\t\t\treturn {\n\t\t\t\t\tdimension: '',\n\t\t\t\t\texpression: '',\n\t\t\t\t\toperator: '',\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst target = state.filters.find( ( f ) => {\n\t\t\t\treturn f.dimension === filter;\n\t\t\t} );\n\t\t\treturn target;\n\t\t},\n\t\tgetSearchType( state ) {\n\t\t\tconst { searchType } = state;\n\t\t\treturn searchType;\n\t\t},\n\t\tgetFilters( state ) {\n\t\t\tconst { filters } = state;\n\t\t\treturn filters;\n\t\t},\n\t\tgetCustomDate( state ) {\n\t\t\tconst { customDate } = state;\n\t\t\treturn customDate;\n\t\t},\n\t},\n\n\tcontrols: {\n\t\tFETCH_FROM_API( action ) {\n\t\t\treturn apiFetch( { path: action.path } );\n\t\t},\n\t},\n\n\tresolvers: {\n\t\t*getSettings() {\n\t\t\tconst path = '/searchconsole/v1/settings/';\n\t\t\tconst settings = yield actions.fetchFromAPI( path );\n\t\t\treturn actions.setSettings( settings );\n\t\t},\n\t},\n} );\n\nregister( store );\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import _extends from '@babel/runtime/helpers/esm/extends';\n\n/**\r\n * Actions represent the type of change to a location value.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#action\r\n */\nvar Action;\n\n(function (Action) {\n  /**\r\n   * A POP indicates a change to an arbitrary index in the history stack, such\r\n   * as a back or forward navigation. It does not describe the direction of the\r\n   * navigation, only that the current index changed.\r\n   *\r\n   * Note: This is the default action for newly created history objects.\r\n   */\n  Action[\"Pop\"] = \"POP\";\n  /**\r\n   * A PUSH indicates a new entry being added to the history stack, such as when\r\n   * a link is clicked and a new page loads. When this happens, all subsequent\r\n   * entries in the stack are lost.\r\n   */\n\n  Action[\"Push\"] = \"PUSH\";\n  /**\r\n   * A REPLACE indicates the entry at the current index in the history stack\r\n   * being replaced by a new one.\r\n   */\n\n  Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\n\nvar readOnly = process.env.NODE_ENV !== \"production\" ? function (obj) {\n  return Object.freeze(obj);\n} : function (obj) {\n  return obj;\n};\n\nfunction warning(cond, message) {\n  if (!cond) {\n    // eslint-disable-next-line no-console\n    if (typeof console !== 'undefined') console.warn(message);\n\n    try {\n      // Welcome to debugging history!\n      //\n      // This error is thrown as a convenience so you can more easily\n      // find the source for a warning that appears in the console by\n      // enabling \"pause on exceptions\" in your JavaScript debugger.\n      throw new Error(message); // eslint-disable-next-line no-empty\n    } catch (e) {}\n  }\n}\n\nvar BeforeUnloadEventType = 'beforeunload';\nvar HashChangeEventType = 'hashchange';\nvar PopStateEventType = 'popstate';\n/**\r\n * Browser history stores the location in regular URLs. This is the standard for\r\n * most web apps, but it requires some configuration on the server to ensure you\r\n * serve the same app at multiple URLs.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\r\n */\n\nfunction createBrowserHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      _options$window = _options.window,\n      window = _options$window === void 0 ? document.defaultView : _options$window;\n  var globalHistory = window.history;\n\n  function getIndexAndLocation() {\n    var _window$location = window.location,\n        pathname = _window$location.pathname,\n        search = _window$location.search,\n        hash = _window$location.hash;\n    var state = globalHistory.state || {};\n    return [state.idx, readOnly({\n      pathname: pathname,\n      search: search,\n      hash: hash,\n      state: state.usr || null,\n      key: state.key || 'default'\n    })];\n  }\n\n  var blockedPopTx = null;\n\n  function handlePop() {\n    if (blockedPopTx) {\n      blockers.call(blockedPopTx);\n      blockedPopTx = null;\n    } else {\n      var nextAction = Action.Pop;\n\n      var _getIndexAndLocation = getIndexAndLocation(),\n          nextIndex = _getIndexAndLocation[0],\n          nextLocation = _getIndexAndLocation[1];\n\n      if (blockers.length) {\n        if (nextIndex != null) {\n          var delta = index - nextIndex;\n\n          if (delta) {\n            // Revert the POP\n            blockedPopTx = {\n              action: nextAction,\n              location: nextLocation,\n              retry: function retry() {\n                go(delta * -1);\n              }\n            };\n            go(delta);\n          }\n        } else {\n          // Trying to POP to a location with no index. We did not create\n          // this location, so we can't effectively block the navigation.\n          process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n          // detail and link to it here so people can understand better what\n          // is going on and how to avoid it.\n          \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n        }\n      } else {\n        applyTx(nextAction);\n      }\n    }\n  }\n\n  window.addEventListener(PopStateEventType, handlePop);\n  var action = Action.Pop;\n\n  var _getIndexAndLocation2 = getIndexAndLocation(),\n      index = _getIndexAndLocation2[0],\n      location = _getIndexAndLocation2[1];\n\n  var listeners = createEvents();\n  var blockers = createEvents();\n\n  if (index == null) {\n    index = 0;\n    globalHistory.replaceState(_extends({}, globalHistory.state, {\n      idx: index\n    }), '');\n  }\n\n  function createHref(to) {\n    return typeof to === 'string' ? to : createPath(to);\n  } // state defaults to `null` because `window.history.state` does\n\n\n  function getNextLocation(to, state) {\n    if (state === void 0) {\n      state = null;\n    }\n\n    return readOnly(_extends({\n      pathname: location.pathname,\n      hash: '',\n      search: ''\n    }, typeof to === 'string' ? parsePath(to) : to, {\n      state: state,\n      key: createKey()\n    }));\n  }\n\n  function getHistoryStateAndUrl(nextLocation, index) {\n    return [{\n      usr: nextLocation.state,\n      key: nextLocation.key,\n      idx: index\n    }, createHref(nextLocation)];\n  }\n\n  function allowTx(action, location, retry) {\n    return !blockers.length || (blockers.call({\n      action: action,\n      location: location,\n      retry: retry\n    }), false);\n  }\n\n  function applyTx(nextAction) {\n    action = nextAction;\n\n    var _getIndexAndLocation3 = getIndexAndLocation();\n\n    index = _getIndexAndLocation3[0];\n    location = _getIndexAndLocation3[1];\n    listeners.call({\n      action: action,\n      location: location\n    });\n  }\n\n  function push(to, state) {\n    var nextAction = Action.Push;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      push(to, state);\n    }\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr = getHistoryStateAndUrl(nextLocation, index + 1),\n          historyState = _getHistoryStateAndUr[0],\n          url = _getHistoryStateAndUr[1]; // TODO: Support forced reloading\n      // try...catch because iOS limits us to 100 pushState calls :/\n\n\n      try {\n        globalHistory.pushState(historyState, '', url);\n      } catch (error) {\n        // They are going to lose state here, but there is no real\n        // way to warn them about it since the page will refresh...\n        window.location.assign(url);\n      }\n\n      applyTx(nextAction);\n    }\n  }\n\n  function replace(to, state) {\n    var nextAction = Action.Replace;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      replace(to, state);\n    }\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr2 = getHistoryStateAndUrl(nextLocation, index),\n          historyState = _getHistoryStateAndUr2[0],\n          url = _getHistoryStateAndUr2[1]; // TODO: Support forced reloading\n\n\n      globalHistory.replaceState(historyState, '', url);\n      applyTx(nextAction);\n    }\n  }\n\n  function go(delta) {\n    globalHistory.go(delta);\n  }\n\n  var history = {\n    get action() {\n      return action;\n    },\n\n    get location() {\n      return location;\n    },\n\n    createHref: createHref,\n    push: push,\n    replace: replace,\n    go: go,\n    back: function back() {\n      go(-1);\n    },\n    forward: function forward() {\n      go(1);\n    },\n    listen: function listen(listener) {\n      return listeners.push(listener);\n    },\n    block: function block(blocker) {\n      var unblock = blockers.push(blocker);\n\n      if (blockers.length === 1) {\n        window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n      }\n\n      return function () {\n        unblock(); // Remove the beforeunload listener so the document may\n        // still be salvageable in the pagehide event.\n        // See https://html.spec.whatwg.org/#unloading-documents\n\n        if (!blockers.length) {\n          window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n        }\n      };\n    }\n  };\n  return history;\n}\n/**\r\n * Hash history stores the location in window.location.hash. This makes it ideal\r\n * for situations where you don't want to send the location to the server for\r\n * some reason, either because you do cannot configure it or the URL space is\r\n * reserved for something else.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\r\n */\n\nfunction createHashHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options2 = options,\n      _options2$window = _options2.window,\n      window = _options2$window === void 0 ? document.defaultView : _options2$window;\n  var globalHistory = window.history;\n\n  function getIndexAndLocation() {\n    var _parsePath = parsePath(window.location.hash.substr(1)),\n        _parsePath$pathname = _parsePath.pathname,\n        pathname = _parsePath$pathname === void 0 ? '/' : _parsePath$pathname,\n        _parsePath$search = _parsePath.search,\n        search = _parsePath$search === void 0 ? '' : _parsePath$search,\n        _parsePath$hash = _parsePath.hash,\n        hash = _parsePath$hash === void 0 ? '' : _parsePath$hash;\n\n    var state = globalHistory.state || {};\n    return [state.idx, readOnly({\n      pathname: pathname,\n      search: search,\n      hash: hash,\n      state: state.usr || null,\n      key: state.key || 'default'\n    })];\n  }\n\n  var blockedPopTx = null;\n\n  function handlePop() {\n    if (blockedPopTx) {\n      blockers.call(blockedPopTx);\n      blockedPopTx = null;\n    } else {\n      var nextAction = Action.Pop;\n\n      var _getIndexAndLocation4 = getIndexAndLocation(),\n          nextIndex = _getIndexAndLocation4[0],\n          nextLocation = _getIndexAndLocation4[1];\n\n      if (blockers.length) {\n        if (nextIndex != null) {\n          var delta = index - nextIndex;\n\n          if (delta) {\n            // Revert the POP\n            blockedPopTx = {\n              action: nextAction,\n              location: nextLocation,\n              retry: function retry() {\n                go(delta * -1);\n              }\n            };\n            go(delta);\n          }\n        } else {\n          // Trying to POP to a location with no index. We did not create\n          // this location, so we can't effectively block the navigation.\n          process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n          // detail and link to it here so people can understand better\n          // what is going on and how to avoid it.\n          \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n        }\n      } else {\n        applyTx(nextAction);\n      }\n    }\n  }\n\n  window.addEventListener(PopStateEventType, handlePop); // popstate does not fire on hashchange in IE 11 and old (trident) Edge\n  // https://developer.mozilla.org/de/docs/Web/API/Window/popstate_event\n\n  window.addEventListener(HashChangeEventType, function () {\n    var _getIndexAndLocation5 = getIndexAndLocation(),\n        nextLocation = _getIndexAndLocation5[1]; // Ignore extraneous hashchange events.\n\n\n    if (createPath(nextLocation) !== createPath(location)) {\n      handlePop();\n    }\n  });\n  var action = Action.Pop;\n\n  var _getIndexAndLocation6 = getIndexAndLocation(),\n      index = _getIndexAndLocation6[0],\n      location = _getIndexAndLocation6[1];\n\n  var listeners = createEvents();\n  var blockers = createEvents();\n\n  if (index == null) {\n    index = 0;\n    globalHistory.replaceState(_extends({}, globalHistory.state, {\n      idx: index\n    }), '');\n  }\n\n  function getBaseHref() {\n    var base = document.querySelector('base');\n    var href = '';\n\n    if (base && base.getAttribute('href')) {\n      var url = window.location.href;\n      var hashIndex = url.indexOf('#');\n      href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n    }\n\n    return href;\n  }\n\n  function createHref(to) {\n    return getBaseHref() + '#' + (typeof to === 'string' ? to : createPath(to));\n  }\n\n  function getNextLocation(to, state) {\n    if (state === void 0) {\n      state = null;\n    }\n\n    return readOnly(_extends({\n      pathname: location.pathname,\n      hash: '',\n      search: ''\n    }, typeof to === 'string' ? parsePath(to) : to, {\n      state: state,\n      key: createKey()\n    }));\n  }\n\n  function getHistoryStateAndUrl(nextLocation, index) {\n    return [{\n      usr: nextLocation.state,\n      key: nextLocation.key,\n      idx: index\n    }, createHref(nextLocation)];\n  }\n\n  function allowTx(action, location, retry) {\n    return !blockers.length || (blockers.call({\n      action: action,\n      location: location,\n      retry: retry\n    }), false);\n  }\n\n  function applyTx(nextAction) {\n    action = nextAction;\n\n    var _getIndexAndLocation7 = getIndexAndLocation();\n\n    index = _getIndexAndLocation7[0];\n    location = _getIndexAndLocation7[1];\n    listeners.call({\n      action: action,\n      location: location\n    });\n  }\n\n  function push(to, state) {\n    var nextAction = Action.Push;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      push(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr3 = getHistoryStateAndUrl(nextLocation, index + 1),\n          historyState = _getHistoryStateAndUr3[0],\n          url = _getHistoryStateAndUr3[1]; // TODO: Support forced reloading\n      // try...catch because iOS limits us to 100 pushState calls :/\n\n\n      try {\n        globalHistory.pushState(historyState, '', url);\n      } catch (error) {\n        // They are going to lose state here, but there is no real\n        // way to warn them about it since the page will refresh...\n        window.location.assign(url);\n      }\n\n      applyTx(nextAction);\n    }\n  }\n\n  function replace(to, state) {\n    var nextAction = Action.Replace;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      replace(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      var _getHistoryStateAndUr4 = getHistoryStateAndUrl(nextLocation, index),\n          historyState = _getHistoryStateAndUr4[0],\n          url = _getHistoryStateAndUr4[1]; // TODO: Support forced reloading\n\n\n      globalHistory.replaceState(historyState, '', url);\n      applyTx(nextAction);\n    }\n  }\n\n  function go(delta) {\n    globalHistory.go(delta);\n  }\n\n  var history = {\n    get action() {\n      return action;\n    },\n\n    get location() {\n      return location;\n    },\n\n    createHref: createHref,\n    push: push,\n    replace: replace,\n    go: go,\n    back: function back() {\n      go(-1);\n    },\n    forward: function forward() {\n      go(1);\n    },\n    listen: function listen(listener) {\n      return listeners.push(listener);\n    },\n    block: function block(blocker) {\n      var unblock = blockers.push(blocker);\n\n      if (blockers.length === 1) {\n        window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n      }\n\n      return function () {\n        unblock(); // Remove the beforeunload listener so the document may\n        // still be salvageable in the pagehide event.\n        // See https://html.spec.whatwg.org/#unloading-documents\n\n        if (!blockers.length) {\n          window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n        }\n      };\n    }\n  };\n  return history;\n}\n/**\r\n * Memory history stores the current location in memory. It is designed for use\r\n * in stateful non-browser environments like tests and React Native.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#creatememoryhistory\r\n */\n\nfunction createMemoryHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options3 = options,\n      _options3$initialEntr = _options3.initialEntries,\n      initialEntries = _options3$initialEntr === void 0 ? ['/'] : _options3$initialEntr,\n      initialIndex = _options3.initialIndex;\n  var entries = initialEntries.map(function (entry) {\n    var location = readOnly(_extends({\n      pathname: '/',\n      search: '',\n      hash: '',\n      state: null,\n      key: createKey()\n    }, typeof entry === 'string' ? parsePath(entry) : entry));\n    process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: \" + JSON.stringify(entry) + \")\") : void 0;\n    return location;\n  });\n  var index = clamp(initialIndex == null ? entries.length - 1 : initialIndex, 0, entries.length - 1);\n  var action = Action.Pop;\n  var location = entries[index];\n  var listeners = createEvents();\n  var blockers = createEvents();\n\n  function createHref(to) {\n    return typeof to === 'string' ? to : createPath(to);\n  }\n\n  function getNextLocation(to, state) {\n    if (state === void 0) {\n      state = null;\n    }\n\n    return readOnly(_extends({\n      pathname: location.pathname,\n      search: '',\n      hash: ''\n    }, typeof to === 'string' ? parsePath(to) : to, {\n      state: state,\n      key: createKey()\n    }));\n  }\n\n  function allowTx(action, location, retry) {\n    return !blockers.length || (blockers.call({\n      action: action,\n      location: location,\n      retry: retry\n    }), false);\n  }\n\n  function applyTx(nextAction, nextLocation) {\n    action = nextAction;\n    location = nextLocation;\n    listeners.call({\n      action: action,\n      location: location\n    });\n  }\n\n  function push(to, state) {\n    var nextAction = Action.Push;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      push(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      index += 1;\n      entries.splice(index, entries.length, nextLocation);\n      applyTx(nextAction, nextLocation);\n    }\n  }\n\n  function replace(to, state) {\n    var nextAction = Action.Replace;\n    var nextLocation = getNextLocation(to, state);\n\n    function retry() {\n      replace(to, state);\n    }\n\n    process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      entries[index] = nextLocation;\n      applyTx(nextAction, nextLocation);\n    }\n  }\n\n  function go(delta) {\n    var nextIndex = clamp(index + delta, 0, entries.length - 1);\n    var nextAction = Action.Pop;\n    var nextLocation = entries[nextIndex];\n\n    function retry() {\n      go(delta);\n    }\n\n    if (allowTx(nextAction, nextLocation, retry)) {\n      index = nextIndex;\n      applyTx(nextAction, nextLocation);\n    }\n  }\n\n  var history = {\n    get index() {\n      return index;\n    },\n\n    get action() {\n      return action;\n    },\n\n    get location() {\n      return location;\n    },\n\n    createHref: createHref,\n    push: push,\n    replace: replace,\n    go: go,\n    back: function back() {\n      go(-1);\n    },\n    forward: function forward() {\n      go(1);\n    },\n    listen: function listen(listener) {\n      return listeners.push(listener);\n    },\n    block: function block(blocker) {\n      return blockers.push(blocker);\n    }\n  };\n  return history;\n} ////////////////////////////////////////////////////////////////////////////////\n// UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction clamp(n, lowerBound, upperBound) {\n  return Math.min(Math.max(n, lowerBound), upperBound);\n}\n\nfunction promptBeforeUnload(event) {\n  // Cancel the event.\n  event.preventDefault(); // Chrome (and legacy IE) requires returnValue to be set.\n\n  event.returnValue = '';\n}\n\nfunction createEvents() {\n  var handlers = [];\n  return {\n    get length() {\n      return handlers.length;\n    },\n\n    push: function push(fn) {\n      handlers.push(fn);\n      return function () {\n        handlers = handlers.filter(function (handler) {\n          return handler !== fn;\n        });\n      };\n    },\n    call: function call(arg) {\n      handlers.forEach(function (fn) {\n        return fn && fn(arg);\n      });\n    }\n  };\n}\n\nfunction createKey() {\n  return Math.random().toString(36).substr(2, 8);\n}\n/**\r\n * Creates a string URL path from the given pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createpath\r\n */\n\n\nfunction createPath(_ref) {\n  var _ref$pathname = _ref.pathname,\n      pathname = _ref$pathname === void 0 ? '/' : _ref$pathname,\n      _ref$search = _ref.search,\n      search = _ref$search === void 0 ? '' : _ref$search,\n      _ref$hash = _ref.hash,\n      hash = _ref$hash === void 0 ? '' : _ref$hash;\n  if (search && search !== '?') pathname += search.charAt(0) === '?' ? search : '?' + search;\n  if (hash && hash !== '#') pathname += hash.charAt(0) === '#' ? hash : '#' + hash;\n  return pathname;\n}\n/**\r\n * Parses a string URL path into its separate pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#parsepath\r\n */\n\nfunction parsePath(path) {\n  var parsedPath = {};\n\n  if (path) {\n    var hashIndex = path.indexOf('#');\n\n    if (hashIndex >= 0) {\n      parsedPath.hash = path.substr(hashIndex);\n      path = path.substr(0, hashIndex);\n    }\n\n    var searchIndex = path.indexOf('?');\n\n    if (searchIndex >= 0) {\n      parsedPath.search = path.substr(searchIndex);\n      path = path.substr(0, searchIndex);\n    }\n\n    if (path) {\n      parsedPath.pathname = path;\n    }\n  }\n\n  return parsedPath;\n}\n\nexport { Action, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, parsePath };\n//# sourceMappingURL=index.js.map\n","// extracted by mini-css-extract-plugin\nexport {};","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n  if (maybeIterable === null || typeof maybeIterable !== 'object') {\n    return null;\n  }\n\n  var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n  if (typeof maybeIterator === 'function') {\n    return maybeIterator;\n  }\n\n  return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n  {\n    {\n      for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n        args[_key2 - 1] = arguments[_key2];\n      }\n\n      printWarning('error', format, args);\n    }\n  }\n}\n\nfunction printWarning(level, format, args) {\n  // When changing this logic, you might want to also\n  // update consoleWithStackDev.www.js as well.\n  {\n    var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n    var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n    if (stack !== '') {\n      format += '%s';\n      args = args.concat([stack]);\n    } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n    var argsWithFormat = args.map(function (item) {\n      return String(item);\n    }); // Careful: RN currently depends on this prefix\n\n    argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n    // breaks IE9: https://github.com/facebook/react/issues/13610\n    // eslint-disable-next-line react-internal/no-production-logging\n\n    Function.prototype.apply.call(console[level], console, argsWithFormat);\n  }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n  REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n  if (typeof type === 'string' || typeof type === 'function') {\n    return true;\n  } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n  if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing  || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden  || type === REACT_OFFSCREEN_TYPE || enableScopeAPI  || enableCacheElement  || enableTransitionTracing ) {\n    return true;\n  }\n\n  if (typeof type === 'object' && type !== null) {\n    if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n    // types supported by any Flight configuration anywhere since\n    // we don't know which Flight build this will end up being used\n    // with.\n    type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n  var displayName = outerType.displayName;\n\n  if (displayName) {\n    return displayName;\n  }\n\n  var functionName = innerType.displayName || innerType.name || '';\n  return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n  return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n  if (type == null) {\n    // Host root, text node or just invalid type.\n    return null;\n  }\n\n  {\n    if (typeof type.tag === 'number') {\n      error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n    }\n  }\n\n  if (typeof type === 'function') {\n    return type.displayName || type.name || null;\n  }\n\n  if (typeof type === 'string') {\n    return type;\n  }\n\n  switch (type) {\n    case REACT_FRAGMENT_TYPE:\n      return 'Fragment';\n\n    case REACT_PORTAL_TYPE:\n      return 'Portal';\n\n    case REACT_PROFILER_TYPE:\n      return 'Profiler';\n\n    case REACT_STRICT_MODE_TYPE:\n      return 'StrictMode';\n\n    case REACT_SUSPENSE_TYPE:\n      return 'Suspense';\n\n    case REACT_SUSPENSE_LIST_TYPE:\n      return 'SuspenseList';\n\n  }\n\n  if (typeof type === 'object') {\n    switch (type.$$typeof) {\n      case REACT_CONTEXT_TYPE:\n        var context = type;\n        return getContextName(context) + '.Consumer';\n\n      case REACT_PROVIDER_TYPE:\n        var provider = type;\n        return getContextName(provider._context) + '.Provider';\n\n      case REACT_FORWARD_REF_TYPE:\n        return getWrappedName(type, type.render, 'ForwardRef');\n\n      case REACT_MEMO_TYPE:\n        var outerName = type.displayName || null;\n\n        if (outerName !== null) {\n          return outerName;\n        }\n\n        return getComponentNameFromType(type.type) || 'Memo';\n\n      case REACT_LAZY_TYPE:\n        {\n          var lazyComponent = type;\n          var payload = lazyComponent._payload;\n          var init = lazyComponent._init;\n\n          try {\n            return getComponentNameFromType(init(payload));\n          } catch (x) {\n            return null;\n          }\n        }\n\n      // eslint-disable-next-line no-fallthrough\n    }\n  }\n\n  return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n  {\n    if (disabledDepth === 0) {\n      /* eslint-disable react-internal/no-production-logging */\n      prevLog = console.log;\n      prevInfo = console.info;\n      prevWarn = console.warn;\n      prevError = console.error;\n      prevGroup = console.group;\n      prevGroupCollapsed = console.groupCollapsed;\n      prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n      var props = {\n        configurable: true,\n        enumerable: true,\n        value: disabledLog,\n        writable: true\n      }; // $FlowFixMe Flow thinks console is immutable.\n\n      Object.defineProperties(console, {\n        info: props,\n        log: props,\n        warn: props,\n        error: props,\n        group: props,\n        groupCollapsed: props,\n        groupEnd: props\n      });\n      /* eslint-enable react-internal/no-production-logging */\n    }\n\n    disabledDepth++;\n  }\n}\nfunction reenableLogs() {\n  {\n    disabledDepth--;\n\n    if (disabledDepth === 0) {\n      /* eslint-disable react-internal/no-production-logging */\n      var props = {\n        configurable: true,\n        enumerable: true,\n        writable: true\n      }; // $FlowFixMe Flow thinks console is immutable.\n\n      Object.defineProperties(console, {\n        log: assign({}, props, {\n          value: prevLog\n        }),\n        info: assign({}, props, {\n          value: prevInfo\n        }),\n        warn: assign({}, props, {\n          value: prevWarn\n        }),\n        error: assign({}, props, {\n          value: prevError\n        }),\n        group: assign({}, props, {\n          value: prevGroup\n        }),\n        groupCollapsed: assign({}, props, {\n          value: prevGroupCollapsed\n        }),\n        groupEnd: assign({}, props, {\n          value: prevGroupEnd\n        })\n      });\n      /* eslint-enable react-internal/no-production-logging */\n    }\n\n    if (disabledDepth < 0) {\n      error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n    }\n  }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n  {\n    if (prefix === undefined) {\n      // Extract the VM specific prefix used by each line.\n      try {\n        throw Error();\n      } catch (x) {\n        var match = x.stack.trim().match(/\\n( *(at )?)/);\n        prefix = match && match[1] || '';\n      }\n    } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n    return '\\n' + prefix + name;\n  }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n  var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n  componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n  // If something asked for a stack inside a fake render, it should get ignored.\n  if ( !fn || reentry) {\n    return '';\n  }\n\n  {\n    var frame = componentFrameCache.get(fn);\n\n    if (frame !== undefined) {\n      return frame;\n    }\n  }\n\n  var control;\n  reentry = true;\n  var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n  Error.prepareStackTrace = undefined;\n  var previousDispatcher;\n\n  {\n    previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n    // for warnings.\n\n    ReactCurrentDispatcher.current = null;\n    disableLogs();\n  }\n\n  try {\n    // This should throw.\n    if (construct) {\n      // Something should be setting the props in the constructor.\n      var Fake = function () {\n        throw Error();\n      }; // $FlowFixMe\n\n\n      Object.defineProperty(Fake.prototype, 'props', {\n        set: function () {\n          // We use a throwing setter instead of frozen or non-writable props\n          // because that won't throw in a non-strict mode function.\n          throw Error();\n        }\n      });\n\n      if (typeof Reflect === 'object' && Reflect.construct) {\n        // We construct a different control for this case to include any extra\n        // frames added by the construct call.\n        try {\n          Reflect.construct(Fake, []);\n        } catch (x) {\n          control = x;\n        }\n\n        Reflect.construct(fn, [], Fake);\n      } else {\n        try {\n          Fake.call();\n        } catch (x) {\n          control = x;\n        }\n\n        fn.call(Fake.prototype);\n      }\n    } else {\n      try {\n        throw Error();\n      } catch (x) {\n        control = x;\n      }\n\n      fn();\n    }\n  } catch (sample) {\n    // This is inlined manually because closure doesn't do it for us.\n    if (sample && control && typeof sample.stack === 'string') {\n      // This extracts the first frame from the sample that isn't also in the control.\n      // Skipping one frame that we assume is the frame that calls the two.\n      var sampleLines = sample.stack.split('\\n');\n      var controlLines = control.stack.split('\\n');\n      var s = sampleLines.length - 1;\n      var c = controlLines.length - 1;\n\n      while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n        // We expect at least one stack frame to be shared.\n        // Typically this will be the root most one. However, stack frames may be\n        // cut off due to maximum stack limits. In this case, one maybe cut off\n        // earlier than the other. We assume that the sample is longer or the same\n        // and there for cut off earlier. So we should find the root most frame in\n        // the sample somewhere in the control.\n        c--;\n      }\n\n      for (; s >= 1 && c >= 0; s--, c--) {\n        // Next we find the first one that isn't the same which should be the\n        // frame that called our sample function and the control.\n        if (sampleLines[s] !== controlLines[c]) {\n          // In V8, the first line is describing the message but other VMs don't.\n          // If we're about to return the first line, and the control is also on the same\n          // line, that's a pretty good indicator that our sample threw at same line as\n          // the control. I.e. before we entered the sample frame. So we ignore this result.\n          // This can happen if you passed a class to function component, or non-function.\n          if (s !== 1 || c !== 1) {\n            do {\n              s--;\n              c--; // We may still have similar intermediate frames from the construct call.\n              // The next one that isn't the same should be our match though.\n\n              if (c < 0 || sampleLines[s] !== controlLines[c]) {\n                // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n                var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n                // but we have a user-provided \"displayName\"\n                // splice it in to make the stack more readable.\n\n\n                if (fn.displayName && _frame.includes('<anonymous>')) {\n                  _frame = _frame.replace('<anonymous>', fn.displayName);\n                }\n\n                {\n                  if (typeof fn === 'function') {\n                    componentFrameCache.set(fn, _frame);\n                  }\n                } // Return the line we found.\n\n\n                return _frame;\n              }\n            } while (s >= 1 && c >= 0);\n          }\n\n          break;\n        }\n      }\n    }\n  } finally {\n    reentry = false;\n\n    {\n      ReactCurrentDispatcher.current = previousDispatcher;\n      reenableLogs();\n    }\n\n    Error.prepareStackTrace = previousPrepareStackTrace;\n  } // Fallback to just using the name if we couldn't make it throw.\n\n\n  var name = fn ? fn.displayName || fn.name : '';\n  var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n  {\n    if (typeof fn === 'function') {\n      componentFrameCache.set(fn, syntheticFrame);\n    }\n  }\n\n  return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n  {\n    return describeNativeComponentFrame(fn, false);\n  }\n}\n\nfunction shouldConstruct(Component) {\n  var prototype = Component.prototype;\n  return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n  if (type == null) {\n    return '';\n  }\n\n  if (typeof type === 'function') {\n    {\n      return describeNativeComponentFrame(type, shouldConstruct(type));\n    }\n  }\n\n  if (typeof type === 'string') {\n    return describeBuiltInComponentFrame(type);\n  }\n\n  switch (type) {\n    case REACT_SUSPENSE_TYPE:\n      return describeBuiltInComponentFrame('Suspense');\n\n    case REACT_SUSPENSE_LIST_TYPE:\n      return describeBuiltInComponentFrame('SuspenseList');\n  }\n\n  if (typeof type === 'object') {\n    switch (type.$$typeof) {\n      case REACT_FORWARD_REF_TYPE:\n        return describeFunctionComponentFrame(type.render);\n\n      case REACT_MEMO_TYPE:\n        // Memo may contain any component type so we recursively resolve it.\n        return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n      case REACT_LAZY_TYPE:\n        {\n          var lazyComponent = type;\n          var payload = lazyComponent._payload;\n          var init = lazyComponent._init;\n\n          try {\n            // Lazy may contain any component type so we recursively resolve it.\n            return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n          } catch (x) {}\n        }\n    }\n  }\n\n  return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n  {\n    if (element) {\n      var owner = element._owner;\n      var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n      ReactDebugCurrentFrame.setExtraStackFrame(stack);\n    } else {\n      ReactDebugCurrentFrame.setExtraStackFrame(null);\n    }\n  }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n  {\n    // $FlowFixMe This is okay but Flow doesn't know it.\n    var has = Function.call.bind(hasOwnProperty);\n\n    for (var typeSpecName in typeSpecs) {\n      if (has(typeSpecs, typeSpecName)) {\n        var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n        // fail the render phase where it didn't fail before. So we log it.\n        // After these have been cleaned up, we'll let them throw.\n\n        try {\n          // This is intentionally an invariant that gets caught. It's the same\n          // behavior as without this statement except with a better message.\n          if (typeof typeSpecs[typeSpecName] !== 'function') {\n            // eslint-disable-next-line react-internal/prod-error-codes\n            var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n            err.name = 'Invariant Violation';\n            throw err;\n          }\n\n          error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n        } catch (ex) {\n          error$1 = ex;\n        }\n\n        if (error$1 && !(error$1 instanceof Error)) {\n          setCurrentlyValidatingElement(element);\n\n          error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n          setCurrentlyValidatingElement(null);\n        }\n\n        if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n          // Only monitor this failure once because there tends to be a lot of the\n          // same error.\n          loggedTypeFailures[error$1.message] = true;\n          setCurrentlyValidatingElement(element);\n\n          error('Failed %s type: %s', location, error$1.message);\n\n          setCurrentlyValidatingElement(null);\n        }\n      }\n    }\n  }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n  return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n  {\n    // toStringTag is needed for namespaced types like Temporal.Instant\n    var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n    var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n    return type;\n  }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n  {\n    try {\n      testStringCoercion(value);\n      return false;\n    } catch (e) {\n      return true;\n    }\n  }\n}\n\nfunction testStringCoercion(value) {\n  // If you ended up here by following an exception call stack, here's what's\n  // happened: you supplied an object or symbol value to React (as a prop, key,\n  // DOM attribute, CSS property, string ref, etc.) and when React tried to\n  // coerce it to a string using `'' + value`, an exception was thrown.\n  //\n  // The most common types that will cause this exception are `Symbol` instances\n  // and Temporal objects like `Temporal.Instant`. But any object that has a\n  // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n  // exception. (Library authors do this to prevent users from using built-in\n  // numeric operators like `+` or comparison operators like `>=` because custom\n  // methods are needed to perform accurate arithmetic or comparison.)\n  //\n  // To fix the problem, coerce this object or symbol value to a string before\n  // passing it to React. The most reliable way is usually `String(value)`.\n  //\n  // To find which value is throwing, check the browser or debugger console.\n  // Before this exception was thrown, there should be `console.error` output\n  // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n  // problem and how that type was used: key, atrribute, input value prop, etc.\n  // In most cases, this console output also shows the component and its\n  // ancestor components where the exception happened.\n  //\n  // eslint-disable-next-line react-internal/safe-string-coercion\n  return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n  {\n    if (willCoercionThrow(value)) {\n      error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n      return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n    }\n  }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n  key: true,\n  ref: true,\n  __self: true,\n  __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n  didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n  {\n    if (hasOwnProperty.call(config, 'ref')) {\n      var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n      if (getter && getter.isReactWarning) {\n        return false;\n      }\n    }\n  }\n\n  return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n  {\n    if (hasOwnProperty.call(config, 'key')) {\n      var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n      if (getter && getter.isReactWarning) {\n        return false;\n      }\n    }\n  }\n\n  return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n  {\n    if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n      var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n      if (!didWarnAboutStringRefs[componentName]) {\n        error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n        didWarnAboutStringRefs[componentName] = true;\n      }\n    }\n  }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n  {\n    var warnAboutAccessingKey = function () {\n      if (!specialPropKeyWarningShown) {\n        specialPropKeyWarningShown = true;\n\n        error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n      }\n    };\n\n    warnAboutAccessingKey.isReactWarning = true;\n    Object.defineProperty(props, 'key', {\n      get: warnAboutAccessingKey,\n      configurable: true\n    });\n  }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n  {\n    var warnAboutAccessingRef = function () {\n      if (!specialPropRefWarningShown) {\n        specialPropRefWarningShown = true;\n\n        error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n      }\n    };\n\n    warnAboutAccessingRef.isReactWarning = true;\n    Object.defineProperty(props, 'ref', {\n      get: warnAboutAccessingRef,\n      configurable: true\n    });\n  }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n  var element = {\n    // This tag allows us to uniquely identify this as a React Element\n    $$typeof: REACT_ELEMENT_TYPE,\n    // Built-in properties that belong on the element\n    type: type,\n    key: key,\n    ref: ref,\n    props: props,\n    // Record the component responsible for creating this element.\n    _owner: owner\n  };\n\n  {\n    // The validation flag is currently mutative. We put it on\n    // an external backing store so that we can freeze the whole object.\n    // This can be replaced with a WeakMap once they are implemented in\n    // commonly used development environments.\n    element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n    // the validation flag non-enumerable (where possible, which should\n    // include every environment we run tests in), so the test framework\n    // ignores it.\n\n    Object.defineProperty(element._store, 'validated', {\n      configurable: false,\n      enumerable: false,\n      writable: true,\n      value: false\n    }); // self and source are DEV only properties.\n\n    Object.defineProperty(element, '_self', {\n      configurable: false,\n      enumerable: false,\n      writable: false,\n      value: self\n    }); // Two elements created in two different places should be considered\n    // equal for testing purposes and therefore we hide it from enumeration.\n\n    Object.defineProperty(element, '_source', {\n      configurable: false,\n      enumerable: false,\n      writable: false,\n      value: source\n    });\n\n    if (Object.freeze) {\n      Object.freeze(element.props);\n      Object.freeze(element);\n    }\n  }\n\n  return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n  {\n    var propName; // Reserved names are extracted\n\n    var props = {};\n    var key = null;\n    var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n    // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n    // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n    // but as an intermediary step, we will use jsxDEV for everything except\n    // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n    // key is explicitly declared to be undefined or not.\n\n    if (maybeKey !== undefined) {\n      {\n        checkKeyStringCoercion(maybeKey);\n      }\n\n      key = '' + maybeKey;\n    }\n\n    if (hasValidKey(config)) {\n      {\n        checkKeyStringCoercion(config.key);\n      }\n\n      key = '' + config.key;\n    }\n\n    if (hasValidRef(config)) {\n      ref = config.ref;\n      warnIfStringRefCannotBeAutoConverted(config, self);\n    } // Remaining properties are added to a new props object\n\n\n    for (propName in config) {\n      if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n        props[propName] = config[propName];\n      }\n    } // Resolve default props\n\n\n    if (type && type.defaultProps) {\n      var defaultProps = type.defaultProps;\n\n      for (propName in defaultProps) {\n        if (props[propName] === undefined) {\n          props[propName] = defaultProps[propName];\n        }\n      }\n    }\n\n    if (key || ref) {\n      var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n      if (key) {\n        defineKeyPropWarningGetter(props, displayName);\n      }\n\n      if (ref) {\n        defineRefPropWarningGetter(props, displayName);\n      }\n    }\n\n    return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n  }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n  {\n    if (element) {\n      var owner = element._owner;\n      var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n      ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n    } else {\n      ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n    }\n  }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n  propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n  {\n    return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n  }\n}\n\nfunction getDeclarationErrorAddendum() {\n  {\n    if (ReactCurrentOwner$1.current) {\n      var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n      if (name) {\n        return '\\n\\nCheck the render method of `' + name + '`.';\n      }\n    }\n\n    return '';\n  }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n  {\n    if (source !== undefined) {\n      var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n      var lineNumber = source.lineNumber;\n      return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n    }\n\n    return '';\n  }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n  {\n    var info = getDeclarationErrorAddendum();\n\n    if (!info) {\n      var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n      if (parentName) {\n        info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n      }\n    }\n\n    return info;\n  }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n  {\n    if (!element._store || element._store.validated || element.key != null) {\n      return;\n    }\n\n    element._store.validated = true;\n    var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n    if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n      return;\n    }\n\n    ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n    // property, it may be the creator of the child that's responsible for\n    // assigning it a key.\n\n    var childOwner = '';\n\n    if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n      // Give the component that originally created this child.\n      childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n    }\n\n    setCurrentlyValidatingElement$1(element);\n\n    error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n    setCurrentlyValidatingElement$1(null);\n  }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n  {\n    if (typeof node !== 'object') {\n      return;\n    }\n\n    if (isArray(node)) {\n      for (var i = 0; i < node.length; i++) {\n        var child = node[i];\n\n        if (isValidElement(child)) {\n          validateExplicitKey(child, parentType);\n        }\n      }\n    } else if (isValidElement(node)) {\n      // This element was passed in a valid location.\n      if (node._store) {\n        node._store.validated = true;\n      }\n    } else if (node) {\n      var iteratorFn = getIteratorFn(node);\n\n      if (typeof iteratorFn === 'function') {\n        // Entry iterators used to provide implicit keys,\n        // but now we print a separate warning for them later.\n        if (iteratorFn !== node.entries) {\n          var iterator = iteratorFn.call(node);\n          var step;\n\n          while (!(step = iterator.next()).done) {\n            if (isValidElement(step.value)) {\n              validateExplicitKey(step.value, parentType);\n            }\n          }\n        }\n      }\n    }\n  }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n  {\n    var type = element.type;\n\n    if (type === null || type === undefined || typeof type === 'string') {\n      return;\n    }\n\n    var propTypes;\n\n    if (typeof type === 'function') {\n      propTypes = type.propTypes;\n    } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n    // Inner props are checked in the reconciler.\n    type.$$typeof === REACT_MEMO_TYPE)) {\n      propTypes = type.propTypes;\n    } else {\n      return;\n    }\n\n    if (propTypes) {\n      // Intentionally inside to avoid triggering lazy initializers:\n      var name = getComponentNameFromType(type);\n      checkPropTypes(propTypes, element.props, 'prop', name, element);\n    } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n      propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n      var _name = getComponentNameFromType(type);\n\n      error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n    }\n\n    if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n      error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n    }\n  }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n  {\n    var keys = Object.keys(fragment.props);\n\n    for (var i = 0; i < keys.length; i++) {\n      var key = keys[i];\n\n      if (key !== 'children' && key !== 'key') {\n        setCurrentlyValidatingElement$1(fragment);\n\n        error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n        setCurrentlyValidatingElement$1(null);\n        break;\n      }\n    }\n\n    if (fragment.ref !== null) {\n      setCurrentlyValidatingElement$1(fragment);\n\n      error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n      setCurrentlyValidatingElement$1(null);\n    }\n  }\n}\n\nvar didWarnAboutKeySpread = {};\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n  {\n    var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n    // succeed and there will likely be errors in render.\n\n    if (!validType) {\n      var info = '';\n\n      if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n        info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n      }\n\n      var sourceInfo = getSourceInfoErrorAddendum(source);\n\n      if (sourceInfo) {\n        info += sourceInfo;\n      } else {\n        info += getDeclarationErrorAddendum();\n      }\n\n      var typeString;\n\n      if (type === null) {\n        typeString = 'null';\n      } else if (isArray(type)) {\n        typeString = 'array';\n      } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n        typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n        info = ' Did you accidentally export a JSX literal instead of a component?';\n      } else {\n        typeString = typeof type;\n      }\n\n      error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n    }\n\n    var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n    // TODO: Drop this when these are no longer allowed as the type argument.\n\n    if (element == null) {\n      return element;\n    } // Skip key warning if the type isn't valid since our key validation logic\n    // doesn't expect a non-string/function type and can throw confusing errors.\n    // We don't want exception behavior to differ between dev and prod.\n    // (Rendering will throw with a helpful message and as soon as the type is\n    // fixed, the key warnings will appear.)\n\n\n    if (validType) {\n      var children = props.children;\n\n      if (children !== undefined) {\n        if (isStaticChildren) {\n          if (isArray(children)) {\n            for (var i = 0; i < children.length; i++) {\n              validateChildKeys(children[i], type);\n            }\n\n            if (Object.freeze) {\n              Object.freeze(children);\n            }\n          } else {\n            error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n          }\n        } else {\n          validateChildKeys(children, type);\n        }\n      }\n    }\n\n    {\n      if (hasOwnProperty.call(props, 'key')) {\n        var componentName = getComponentNameFromType(type);\n        var keys = Object.keys(props).filter(function (k) {\n          return k !== 'key';\n        });\n        var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n        if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n          var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n          error('A props object containing a \"key\" prop is being spread into JSX:\\n' + '  let props = %s;\\n' + '  <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + '  let props = %s;\\n' + '  <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n          didWarnAboutKeySpread[componentName + beforeExample] = true;\n        }\n      }\n    }\n\n    if (type === REACT_FRAGMENT_TYPE) {\n      validateFragmentProps(element);\n    } else {\n      validatePropTypes(element);\n    }\n\n    return element;\n  }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n  {\n    return jsxWithValidation(type, props, key, true);\n  }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n  {\n    return jsxWithValidation(type, props, key, false);\n  }\n}\n\nvar jsx =  jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs =  jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n  })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n  module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","var characterMap = {\n\t\"À\": \"A\",\n\t\"Á\": \"A\",\n\t\"Â\": \"A\",\n\t\"Ã\": \"A\",\n\t\"Ä\": \"A\",\n\t\"Å\": \"A\",\n\t\"Ấ\": \"A\",\n\t\"Ắ\": \"A\",\n\t\"Ẳ\": \"A\",\n\t\"Ẵ\": \"A\",\n\t\"Ặ\": \"A\",\n\t\"Æ\": \"AE\",\n\t\"Ầ\": \"A\",\n\t\"Ằ\": \"A\",\n\t\"Ȃ\": \"A\",\n\t\"Ả\": \"A\",\n\t\"Ạ\": \"A\",\n\t\"Ẩ\": \"A\",\n\t\"Ẫ\": \"A\",\n\t\"Ậ\": \"A\",\n\t\"Ç\": \"C\",\n\t\"Ḉ\": \"C\",\n\t\"È\": \"E\",\n\t\"É\": \"E\",\n\t\"Ê\": \"E\",\n\t\"Ë\": \"E\",\n\t\"Ế\": \"E\",\n\t\"Ḗ\": \"E\",\n\t\"Ề\": \"E\",\n\t\"Ḕ\": \"E\",\n\t\"Ḝ\": \"E\",\n\t\"Ȇ\": \"E\",\n\t\"Ẻ\": \"E\",\n\t\"Ẽ\": \"E\",\n\t\"Ẹ\": \"E\",\n\t\"Ể\": \"E\",\n\t\"Ễ\": \"E\",\n\t\"Ệ\": \"E\",\n\t\"Ì\": \"I\",\n\t\"Í\": \"I\",\n\t\"Î\": \"I\",\n\t\"Ï\": \"I\",\n\t\"Ḯ\": \"I\",\n\t\"Ȋ\": \"I\",\n\t\"Ỉ\": \"I\",\n\t\"Ị\": \"I\",\n\t\"Ð\": \"D\",\n\t\"Ñ\": \"N\",\n\t\"Ò\": \"O\",\n\t\"Ó\": \"O\",\n\t\"Ô\": \"O\",\n\t\"Õ\": \"O\",\n\t\"Ö\": \"O\",\n\t\"Ø\": \"O\",\n\t\"Ố\": \"O\",\n\t\"Ṍ\": \"O\",\n\t\"Ṓ\": \"O\",\n\t\"Ȏ\": \"O\",\n\t\"Ỏ\": \"O\",\n\t\"Ọ\": \"O\",\n\t\"Ổ\": \"O\",\n\t\"Ỗ\": \"O\",\n\t\"Ộ\": \"O\",\n\t\"Ờ\": \"O\",\n\t\"Ở\": \"O\",\n\t\"Ỡ\": \"O\",\n\t\"Ớ\": \"O\",\n\t\"Ợ\": \"O\",\n\t\"Ù\": \"U\",\n\t\"Ú\": \"U\",\n\t\"Û\": \"U\",\n\t\"Ü\": \"U\",\n\t\"Ủ\": \"U\",\n\t\"Ụ\": \"U\",\n\t\"Ử\": \"U\",\n\t\"Ữ\": \"U\",\n\t\"Ự\": \"U\",\n\t\"Ý\": \"Y\",\n\t\"à\": \"a\",\n\t\"á\": \"a\",\n\t\"â\": \"a\",\n\t\"ã\": \"a\",\n\t\"ä\": \"a\",\n\t\"å\": \"a\",\n\t\"ấ\": \"a\",\n\t\"ắ\": \"a\",\n\t\"ẳ\": \"a\",\n\t\"ẵ\": \"a\",\n\t\"ặ\": \"a\",\n\t\"æ\": \"ae\",\n\t\"ầ\": \"a\",\n\t\"ằ\": \"a\",\n\t\"ȃ\": \"a\",\n\t\"ả\": \"a\",\n\t\"ạ\": \"a\",\n\t\"ẩ\": \"a\",\n\t\"ẫ\": \"a\",\n\t\"ậ\": \"a\",\n\t\"ç\": \"c\",\n\t\"ḉ\": \"c\",\n\t\"è\": \"e\",\n\t\"é\": \"e\",\n\t\"ê\": \"e\",\n\t\"ë\": \"e\",\n\t\"ế\": \"e\",\n\t\"ḗ\": \"e\",\n\t\"ề\": \"e\",\n\t\"ḕ\": \"e\",\n\t\"ḝ\": \"e\",\n\t\"ȇ\": \"e\",\n\t\"ẻ\": \"e\",\n\t\"ẽ\": \"e\",\n\t\"ẹ\": \"e\",\n\t\"ể\": \"e\",\n\t\"ễ\": \"e\",\n\t\"ệ\": \"e\",\n\t\"ì\": \"i\",\n\t\"í\": \"i\",\n\t\"î\": \"i\",\n\t\"ï\": \"i\",\n\t\"ḯ\": \"i\",\n\t\"ȋ\": \"i\",\n\t\"ỉ\": \"i\",\n\t\"ị\": \"i\",\n\t\"ð\": \"d\",\n\t\"ñ\": \"n\",\n\t\"ò\": \"o\",\n\t\"ó\": \"o\",\n\t\"ô\": \"o\",\n\t\"õ\": \"o\",\n\t\"ö\": \"o\",\n\t\"ø\": \"o\",\n\t\"ố\": \"o\",\n\t\"ṍ\": \"o\",\n\t\"ṓ\": \"o\",\n\t\"ȏ\": \"o\",\n\t\"ỏ\": \"o\",\n\t\"ọ\": \"o\",\n\t\"ổ\": \"o\",\n\t\"ỗ\": \"o\",\n\t\"ộ\": \"o\",\n\t\"ờ\": \"o\",\n\t\"ở\": \"o\",\n\t\"ỡ\": \"o\",\n\t\"ớ\": \"o\",\n\t\"ợ\": \"o\",\n\t\"ù\": \"u\",\n\t\"ú\": \"u\",\n\t\"û\": \"u\",\n\t\"ü\": \"u\",\n\t\"ủ\": \"u\",\n\t\"ụ\": \"u\",\n\t\"ử\": \"u\",\n\t\"ữ\": \"u\",\n\t\"ự\": \"u\",\n\t\"ý\": \"y\",\n\t\"ÿ\": \"y\",\n\t\"Ā\": \"A\",\n\t\"ā\": \"a\",\n\t\"Ă\": \"A\",\n\t\"ă\": \"a\",\n\t\"Ą\": \"A\",\n\t\"ą\": \"a\",\n\t\"Ć\": \"C\",\n\t\"ć\": \"c\",\n\t\"Ĉ\": \"C\",\n\t\"ĉ\": \"c\",\n\t\"Ċ\": \"C\",\n\t\"ċ\": \"c\",\n\t\"Č\": \"C\",\n\t\"č\": \"c\",\n\t\"C̆\": \"C\",\n\t\"c̆\": \"c\",\n\t\"Ď\": \"D\",\n\t\"ď\": \"d\",\n\t\"Đ\": \"D\",\n\t\"đ\": \"d\",\n\t\"Ē\": \"E\",\n\t\"ē\": \"e\",\n\t\"Ĕ\": \"E\",\n\t\"ĕ\": \"e\",\n\t\"Ė\": \"E\",\n\t\"ė\": \"e\",\n\t\"Ę\": \"E\",\n\t\"ę\": \"e\",\n\t\"Ě\": \"E\",\n\t\"ě\": \"e\",\n\t\"Ĝ\": \"G\",\n\t\"Ǵ\": \"G\",\n\t\"ĝ\": \"g\",\n\t\"ǵ\": \"g\",\n\t\"Ğ\": \"G\",\n\t\"ğ\": \"g\",\n\t\"Ġ\": \"G\",\n\t\"ġ\": \"g\",\n\t\"Ģ\": \"G\",\n\t\"ģ\": \"g\",\n\t\"Ĥ\": \"H\",\n\t\"ĥ\": \"h\",\n\t\"Ħ\": \"H\",\n\t\"ħ\": \"h\",\n\t\"Ḫ\": \"H\",\n\t\"ḫ\": \"h\",\n\t\"Ĩ\": \"I\",\n\t\"ĩ\": \"i\",\n\t\"Ī\": \"I\",\n\t\"ī\": \"i\",\n\t\"Ĭ\": \"I\",\n\t\"ĭ\": \"i\",\n\t\"Į\": \"I\",\n\t\"į\": \"i\",\n\t\"İ\": \"I\",\n\t\"ı\": \"i\",\n\t\"IJ\": \"IJ\",\n\t\"ij\": \"ij\",\n\t\"Ĵ\": \"J\",\n\t\"ĵ\": \"j\",\n\t\"Ķ\": \"K\",\n\t\"ķ\": \"k\",\n\t\"Ḱ\": \"K\",\n\t\"ḱ\": \"k\",\n\t\"K̆\": \"K\",\n\t\"k̆\": \"k\",\n\t\"Ĺ\": \"L\",\n\t\"ĺ\": \"l\",\n\t\"Ļ\": \"L\",\n\t\"ļ\": \"l\",\n\t\"Ľ\": \"L\",\n\t\"ľ\": \"l\",\n\t\"Ŀ\": \"L\",\n\t\"ŀ\": \"l\",\n\t\"Ł\": \"l\",\n\t\"ł\": \"l\",\n\t\"Ḿ\": \"M\",\n\t\"ḿ\": \"m\",\n\t\"M̆\": \"M\",\n\t\"m̆\": \"m\",\n\t\"Ń\": \"N\",\n\t\"ń\": \"n\",\n\t\"Ņ\": \"N\",\n\t\"ņ\": \"n\",\n\t\"Ň\": \"N\",\n\t\"ň\": \"n\",\n\t\"ʼn\": \"n\",\n\t\"N̆\": \"N\",\n\t\"n̆\": \"n\",\n\t\"Ō\": \"O\",\n\t\"ō\": \"o\",\n\t\"Ŏ\": \"O\",\n\t\"ŏ\": \"o\",\n\t\"Ő\": \"O\",\n\t\"ő\": \"o\",\n\t\"Œ\": \"OE\",\n\t\"œ\": \"oe\",\n\t\"P̆\": \"P\",\n\t\"p̆\": \"p\",\n\t\"Ŕ\": \"R\",\n\t\"ŕ\": \"r\",\n\t\"Ŗ\": \"R\",\n\t\"ŗ\": \"r\",\n\t\"Ř\": \"R\",\n\t\"ř\": \"r\",\n\t\"R̆\": \"R\",\n\t\"r̆\": \"r\",\n\t\"Ȓ\": \"R\",\n\t\"ȓ\": \"r\",\n\t\"Ś\": \"S\",\n\t\"ś\": \"s\",\n\t\"Ŝ\": \"S\",\n\t\"ŝ\": \"s\",\n\t\"Ş\": \"S\",\n\t\"Ș\": \"S\",\n\t\"ș\": \"s\",\n\t\"ş\": \"s\",\n\t\"Š\": \"S\",\n\t\"š\": \"s\",\n\t\"Ţ\": \"T\",\n\t\"ţ\": \"t\",\n\t\"ț\": \"t\",\n\t\"Ț\": \"T\",\n\t\"Ť\": \"T\",\n\t\"ť\": \"t\",\n\t\"Ŧ\": \"T\",\n\t\"ŧ\": \"t\",\n\t\"T̆\": \"T\",\n\t\"t̆\": \"t\",\n\t\"Ũ\": \"U\",\n\t\"ũ\": \"u\",\n\t\"Ū\": \"U\",\n\t\"ū\": \"u\",\n\t\"Ŭ\": \"U\",\n\t\"ŭ\": \"u\",\n\t\"Ů\": \"U\",\n\t\"ů\": \"u\",\n\t\"Ű\": \"U\",\n\t\"ű\": \"u\",\n\t\"Ų\": \"U\",\n\t\"ų\": \"u\",\n\t\"Ȗ\": \"U\",\n\t\"ȗ\": \"u\",\n\t\"V̆\": \"V\",\n\t\"v̆\": \"v\",\n\t\"Ŵ\": \"W\",\n\t\"ŵ\": \"w\",\n\t\"Ẃ\": \"W\",\n\t\"ẃ\": \"w\",\n\t\"X̆\": \"X\",\n\t\"x̆\": \"x\",\n\t\"Ŷ\": \"Y\",\n\t\"ŷ\": \"y\",\n\t\"Ÿ\": \"Y\",\n\t\"Y̆\": \"Y\",\n\t\"y̆\": \"y\",\n\t\"Ź\": \"Z\",\n\t\"ź\": \"z\",\n\t\"Ż\": \"Z\",\n\t\"ż\": \"z\",\n\t\"Ž\": \"Z\",\n\t\"ž\": \"z\",\n\t\"ſ\": \"s\",\n\t\"ƒ\": \"f\",\n\t\"Ơ\": \"O\",\n\t\"ơ\": \"o\",\n\t\"Ư\": \"U\",\n\t\"ư\": \"u\",\n\t\"Ǎ\": \"A\",\n\t\"ǎ\": \"a\",\n\t\"Ǐ\": \"I\",\n\t\"ǐ\": \"i\",\n\t\"Ǒ\": \"O\",\n\t\"ǒ\": \"o\",\n\t\"Ǔ\": \"U\",\n\t\"ǔ\": \"u\",\n\t\"Ǖ\": \"U\",\n\t\"ǖ\": \"u\",\n\t\"Ǘ\": \"U\",\n\t\"ǘ\": \"u\",\n\t\"Ǚ\": \"U\",\n\t\"ǚ\": \"u\",\n\t\"Ǜ\": \"U\",\n\t\"ǜ\": \"u\",\n\t\"Ứ\": \"U\",\n\t\"ứ\": \"u\",\n\t\"Ṹ\": \"U\",\n\t\"ṹ\": \"u\",\n\t\"Ǻ\": \"A\",\n\t\"ǻ\": \"a\",\n\t\"Ǽ\": \"AE\",\n\t\"ǽ\": \"ae\",\n\t\"Ǿ\": \"O\",\n\t\"ǿ\": \"o\",\n\t\"Þ\": \"TH\",\n\t\"þ\": \"th\",\n\t\"Ṕ\": \"P\",\n\t\"ṕ\": \"p\",\n\t\"Ṥ\": \"S\",\n\t\"ṥ\": \"s\",\n\t\"X́\": \"X\",\n\t\"x́\": \"x\",\n\t\"Ѓ\": \"Г\",\n\t\"ѓ\": \"г\",\n\t\"Ќ\": \"К\",\n\t\"ќ\": \"к\",\n\t\"A̋\": \"A\",\n\t\"a̋\": \"a\",\n\t\"E̋\": \"E\",\n\t\"e̋\": \"e\",\n\t\"I̋\": \"I\",\n\t\"i̋\": \"i\",\n\t\"Ǹ\": \"N\",\n\t\"ǹ\": \"n\",\n\t\"Ồ\": \"O\",\n\t\"ồ\": \"o\",\n\t\"Ṑ\": \"O\",\n\t\"ṑ\": \"o\",\n\t\"Ừ\": \"U\",\n\t\"ừ\": \"u\",\n\t\"Ẁ\": \"W\",\n\t\"ẁ\": \"w\",\n\t\"Ỳ\": \"Y\",\n\t\"ỳ\": \"y\",\n\t\"Ȁ\": \"A\",\n\t\"ȁ\": \"a\",\n\t\"Ȅ\": \"E\",\n\t\"ȅ\": \"e\",\n\t\"Ȉ\": \"I\",\n\t\"ȉ\": \"i\",\n\t\"Ȍ\": \"O\",\n\t\"ȍ\": \"o\",\n\t\"Ȑ\": \"R\",\n\t\"ȑ\": \"r\",\n\t\"Ȕ\": \"U\",\n\t\"ȕ\": \"u\",\n\t\"B̌\": \"B\",\n\t\"b̌\": \"b\",\n\t\"Č̣\": \"C\",\n\t\"č̣\": \"c\",\n\t\"Ê̌\": \"E\",\n\t\"ê̌\": \"e\",\n\t\"F̌\": \"F\",\n\t\"f̌\": \"f\",\n\t\"Ǧ\": \"G\",\n\t\"ǧ\": \"g\",\n\t\"Ȟ\": \"H\",\n\t\"ȟ\": \"h\",\n\t\"J̌\": \"J\",\n\t\"ǰ\": \"j\",\n\t\"Ǩ\": \"K\",\n\t\"ǩ\": \"k\",\n\t\"M̌\": \"M\",\n\t\"m̌\": \"m\",\n\t\"P̌\": \"P\",\n\t\"p̌\": \"p\",\n\t\"Q̌\": \"Q\",\n\t\"q̌\": \"q\",\n\t\"Ř̩\": \"R\",\n\t\"ř̩\": \"r\",\n\t\"Ṧ\": \"S\",\n\t\"ṧ\": \"s\",\n\t\"V̌\": \"V\",\n\t\"v̌\": \"v\",\n\t\"W̌\": \"W\",\n\t\"w̌\": \"w\",\n\t\"X̌\": \"X\",\n\t\"x̌\": \"x\",\n\t\"Y̌\": \"Y\",\n\t\"y̌\": \"y\",\n\t\"A̧\": \"A\",\n\t\"a̧\": \"a\",\n\t\"B̧\": \"B\",\n\t\"b̧\": \"b\",\n\t\"Ḑ\": \"D\",\n\t\"ḑ\": \"d\",\n\t\"Ȩ\": \"E\",\n\t\"ȩ\": \"e\",\n\t\"Ɛ̧\": \"E\",\n\t\"ɛ̧\": \"e\",\n\t\"Ḩ\": \"H\",\n\t\"ḩ\": \"h\",\n\t\"I̧\": \"I\",\n\t\"i̧\": \"i\",\n\t\"Ɨ̧\": \"I\",\n\t\"ɨ̧\": \"i\",\n\t\"M̧\": \"M\",\n\t\"m̧\": \"m\",\n\t\"O̧\": \"O\",\n\t\"o̧\": \"o\",\n\t\"Q̧\": \"Q\",\n\t\"q̧\": \"q\",\n\t\"U̧\": \"U\",\n\t\"u̧\": \"u\",\n\t\"X̧\": \"X\",\n\t\"x̧\": \"x\",\n\t\"Z̧\": \"Z\",\n\t\"z̧\": \"z\",\n\t\"й\":\"и\",\n\t\"Й\":\"И\",\n\t\"ё\":\"е\",\n\t\"Ё\":\"Е\",\n};\n\nvar chars = Object.keys(characterMap).join('|');\nvar allAccents = new RegExp(chars, 'g');\nvar firstAccent = new RegExp(chars, '');\n\nfunction matcher(match) {\n\treturn characterMap[match];\n}\n\nvar removeAccents = function(string) {\n\treturn string.replace(allAccents, matcher);\n};\n\nvar hasAccents = function(string) {\n\treturn !!string.match(firstAccent);\n};\n\nmodule.exports = removeAccents;\nmodule.exports.has = hasAccents;\nmodule.exports.remove = removeAccents;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n\n          'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n    'function'\n) {\n  __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n          var React = require('react');\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n  {\n    {\n      for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n        args[_key2 - 1] = arguments[_key2];\n      }\n\n      printWarning('error', format, args);\n    }\n  }\n}\n\nfunction printWarning(level, format, args) {\n  // When changing this logic, you might want to also\n  // update consoleWithStackDev.www.js as well.\n  {\n    var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n    var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n    if (stack !== '') {\n      format += '%s';\n      args = args.concat([stack]);\n    } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n    var argsWithFormat = args.map(function (item) {\n      return String(item);\n    }); // Careful: RN currently depends on this prefix\n\n    argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n    // breaks IE9: https://github.com/facebook/react/issues/13610\n    // eslint-disable-next-line react-internal/no-production-logging\n\n    Function.prototype.apply.call(console[level], console, argsWithFormat);\n  }\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n  return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n  ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n// dispatch for CommonJS interop named imports.\n\nvar useState = React.useState,\n    useEffect = React.useEffect,\n    useLayoutEffect = React.useLayoutEffect,\n    useDebugValue = React.useDebugValue;\nvar didWarnOld18Alpha = false;\nvar didWarnUncachedGetSnapshot = false; // Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\n\nfunction useSyncExternalStore(subscribe, getSnapshot, // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n// React do not expose a way to check if we're hydrating. So users of the shim\n// will need to track that themselves and return the correct value\n// from `getSnapshot`.\ngetServerSnapshot) {\n  {\n    if (!didWarnOld18Alpha) {\n      if (React.startTransition !== undefined) {\n        didWarnOld18Alpha = true;\n\n        error('You are using an outdated, pre-release alpha of React 18 that ' + 'does not support useSyncExternalStore. The ' + 'use-sync-external-store shim will not work correctly. Upgrade ' + 'to a newer pre-release.');\n      }\n    }\n  } // Read the current snapshot from the store on every render. Again, this\n  // breaks the rules of React, and only works here because of specific\n  // implementation details, most importantly that updates are\n  // always synchronous.\n\n\n  var value = getSnapshot();\n\n  {\n    if (!didWarnUncachedGetSnapshot) {\n      var cachedValue = getSnapshot();\n\n      if (!objectIs(value, cachedValue)) {\n        error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n        didWarnUncachedGetSnapshot = true;\n      }\n    }\n  } // Because updates are synchronous, we don't queue them. Instead we force a\n  // re-render whenever the subscribed state changes by updating an some\n  // arbitrary useState hook. Then, during render, we call getSnapshot to read\n  // the current value.\n  //\n  // Because we don't actually use the state returned by the useState hook, we\n  // can save a bit of memory by storing other stuff in that slot.\n  //\n  // To implement the early bailout, we need to track some things on a mutable\n  // object. Usually, we would put that in a useRef hook, but we can stash it in\n  // our useState hook instead.\n  //\n  // To force a re-render, we call forceUpdate({inst}). That works because the\n  // new object always fails an equality check.\n\n\n  var _useState = useState({\n    inst: {\n      value: value,\n      getSnapshot: getSnapshot\n    }\n  }),\n      inst = _useState[0].inst,\n      forceUpdate = _useState[1]; // Track the latest getSnapshot function with a ref. This needs to be updated\n  // in the layout phase so we can access it during the tearing check that\n  // happens on subscribe.\n\n\n  useLayoutEffect(function () {\n    inst.value = value;\n    inst.getSnapshot = getSnapshot; // Whenever getSnapshot or subscribe changes, we need to check in the\n    // commit phase if there was an interleaved mutation. In concurrent mode\n    // this can happen all the time, but even in synchronous mode, an earlier\n    // effect may have mutated the store.\n\n    if (checkIfSnapshotChanged(inst)) {\n      // Force a re-render.\n      forceUpdate({\n        inst: inst\n      });\n    }\n  }, [subscribe, value, getSnapshot]);\n  useEffect(function () {\n    // Check for changes right before subscribing. Subsequent changes will be\n    // detected in the subscription handler.\n    if (checkIfSnapshotChanged(inst)) {\n      // Force a re-render.\n      forceUpdate({\n        inst: inst\n      });\n    }\n\n    var handleStoreChange = function () {\n      // TODO: Because there is no cross-renderer API for batching updates, it's\n      // up to the consumer of this library to wrap their subscription event\n      // with unstable_batchedUpdates. Should we try to detect when this isn't\n      // the case and print a warning in development?\n      // The store changed. Check if the snapshot changed since the last time we\n      // read from the store.\n      if (checkIfSnapshotChanged(inst)) {\n        // Force a re-render.\n        forceUpdate({\n          inst: inst\n        });\n      }\n    }; // Subscribe to the store and return a clean-up function.\n\n\n    return subscribe(handleStoreChange);\n  }, [subscribe]);\n  useDebugValue(value);\n  return value;\n}\n\nfunction checkIfSnapshotChanged(inst) {\n  var latestGetSnapshot = inst.getSnapshot;\n  var prevValue = inst.value;\n\n  try {\n    var nextValue = latestGetSnapshot();\n    return !objectIs(prevValue, nextValue);\n  } catch (error) {\n    return true;\n  }\n}\n\nfunction useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) {\n  // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n  // React do not expose a way to check if we're hydrating. So users of the shim\n  // will need to track that themselves and return the correct value\n  // from `getSnapshot`.\n  return getSnapshot();\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar isServerEnvironment = !canUseDOM;\n\nvar shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore;\nvar useSyncExternalStore$2 = React.useSyncExternalStore !== undefined ? React.useSyncExternalStore : shim;\n\nexports.useSyncExternalStore = useSyncExternalStore$2;\n          /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n    'function'\n) {\n  __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n        \n  })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n  module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","module.exports = window[\"React\"];","module.exports = window[\"ReactDOM\"];","module.exports = window[\"wp\"][\"apiFetch\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"compose\"];","module.exports = window[\"wp\"][\"coreData\"];","module.exports = window[\"wp\"][\"data\"];","module.exports = window[\"wp\"][\"date\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"i18n\"];","module.exports = window[\"wp\"][\"notices\"];","module.exports = window[\"wp\"][\"primitives\"];","module.exports = window[\"wp\"][\"privateApis\"];","module.exports = window[\"wp\"][\"url\"];","\"use client\";\nimport {\n  batch,\n  createStore,\n  init,\n  setup,\n  throwOnConflictingProps\n} from \"./EAHJFCU4.js\";\nimport {\n  chain,\n  defaultValue\n} from \"./Y3OOHFCN.js\";\nimport {\n  getDocument\n} from \"./DLOEKDPY.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/collection/collection-store.ts\nfunction isElementPreceding(a, b) {\n  return Boolean(\n    b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING\n  );\n}\nfunction sortBasedOnDOMPosition(items) {\n  const pairs = items.map((item, index) => [index, item]);\n  let isOrderDifferent = false;\n  pairs.sort(([indexA, a], [indexB, b]) => {\n    const elementA = a.element;\n    const elementB = b.element;\n    if (elementA === elementB)\n      return 0;\n    if (!elementA || !elementB)\n      return 0;\n    if (isElementPreceding(elementA, elementB)) {\n      if (indexA > indexB) {\n        isOrderDifferent = true;\n      }\n      return -1;\n    }\n    if (indexA < indexB) {\n      isOrderDifferent = true;\n    }\n    return 1;\n  });\n  if (isOrderDifferent) {\n    return pairs.map(([_, item]) => item);\n  }\n  return items;\n}\nfunction getCommonParent(items) {\n  var _a;\n  const firstItem = items.find((item) => !!item.element);\n  const lastItem = [...items].reverse().find((item) => !!item.element);\n  let parentElement = (_a = firstItem == null ? void 0 : firstItem.element) == null ? void 0 : _a.parentElement;\n  while (parentElement && (lastItem == null ? void 0 : lastItem.element)) {\n    const parent = parentElement;\n    if (lastItem && parent.contains(lastItem.element)) {\n      return parentElement;\n    }\n    parentElement = parentElement.parentElement;\n  }\n  return getDocument(parentElement).body;\n}\nfunction getPrivateStore(store) {\n  return store == null ? void 0 : store.__unstablePrivateStore;\n}\nfunction createCollectionStore(props = {}) {\n  var _a;\n  throwOnConflictingProps(props, props.store);\n  const syncState = (_a = props.store) == null ? void 0 : _a.getState();\n  const items = defaultValue(\n    props.items,\n    syncState == null ? void 0 : syncState.items,\n    props.defaultItems,\n    []\n  );\n  const itemsMap = new Map(items.map((item) => [item.id, item]));\n  const initialState = {\n    items,\n    renderedItems: defaultValue(syncState == null ? void 0 : syncState.renderedItems, [])\n  };\n  const syncPrivateStore = getPrivateStore(props.store);\n  const privateStore = createStore(\n    { items, renderedItems: initialState.renderedItems },\n    syncPrivateStore\n  );\n  const collection = createStore(initialState, props.store);\n  const sortItems = (renderedItems) => {\n    const sortedItems = sortBasedOnDOMPosition(renderedItems);\n    privateStore.setState(\"renderedItems\", sortedItems);\n    collection.setState(\"renderedItems\", sortedItems);\n  };\n  setup(collection, () => init(privateStore));\n  setup(privateStore, () => {\n    return batch(privateStore, [\"items\"], (state) => {\n      collection.setState(\"items\", state.items);\n    });\n  });\n  setup(privateStore, () => {\n    return batch(privateStore, [\"renderedItems\"], (state) => {\n      let firstRun = true;\n      let raf = requestAnimationFrame(() => {\n        const { renderedItems } = collection.getState();\n        if (state.renderedItems === renderedItems)\n          return;\n        sortItems(state.renderedItems);\n      });\n      if (typeof IntersectionObserver !== \"function\") {\n        return () => cancelAnimationFrame(raf);\n      }\n      const ioCallback = () => {\n        if (firstRun) {\n          firstRun = false;\n          return;\n        }\n        cancelAnimationFrame(raf);\n        raf = requestAnimationFrame(() => sortItems(state.renderedItems));\n      };\n      const root = getCommonParent(state.renderedItems);\n      const observer = new IntersectionObserver(ioCallback, { root });\n      for (const item of state.renderedItems) {\n        if (!item.element)\n          continue;\n        observer.observe(item.element);\n      }\n      return () => {\n        cancelAnimationFrame(raf);\n        observer.disconnect();\n      };\n    });\n  });\n  const mergeItem = (item, setItems, canDeleteFromMap = false) => {\n    let prevItem;\n    setItems((items2) => {\n      const index = items2.findIndex(({ id }) => id === item.id);\n      const nextItems = items2.slice();\n      if (index !== -1) {\n        prevItem = items2[index];\n        const nextItem = __spreadValues(__spreadValues({}, prevItem), item);\n        nextItems[index] = nextItem;\n        itemsMap.set(item.id, nextItem);\n      } else {\n        nextItems.push(item);\n        itemsMap.set(item.id, item);\n      }\n      return nextItems;\n    });\n    const unmergeItem = () => {\n      setItems((items2) => {\n        if (!prevItem) {\n          if (canDeleteFromMap) {\n            itemsMap.delete(item.id);\n          }\n          return items2.filter(({ id }) => id !== item.id);\n        }\n        const index = items2.findIndex(({ id }) => id === item.id);\n        if (index === -1)\n          return items2;\n        const nextItems = items2.slice();\n        nextItems[index] = prevItem;\n        itemsMap.set(item.id, prevItem);\n        return nextItems;\n      });\n    };\n    return unmergeItem;\n  };\n  const registerItem = (item) => mergeItem(\n    item,\n    (getItems) => privateStore.setState(\"items\", getItems),\n    true\n  );\n  return __spreadProps(__spreadValues({}, collection), {\n    registerItem,\n    renderItem: (item) => chain(\n      registerItem(item),\n      mergeItem(\n        item,\n        (getItems) => privateStore.setState(\"renderedItems\", getItems)\n      )\n    ),\n    item: (id) => {\n      if (!id)\n        return null;\n      let item = itemsMap.get(id);\n      if (!item) {\n        const { items: items2 } = collection.getState();\n        item = items2.find((item2) => item2.id === id);\n        if (item) {\n          itemsMap.set(id, item);\n        }\n      }\n      return item || null;\n    },\n    // @ts-expect-error Internal\n    __unstablePrivateStore: privateStore\n  });\n}\n\nexport {\n  createCollectionStore\n};\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n  for (var prop in b || (b = {}))\n    if (__hasOwnProp.call(b, prop))\n      __defNormalProp(a, prop, b[prop]);\n  if (__getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(b)) {\n      if (__propIsEnum.call(b, prop))\n        __defNormalProp(a, prop, b[prop]);\n    }\n  return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n  var target = {};\n  for (var prop in source)\n    if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n      target[prop] = source[prop];\n  if (source != null && __getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(source)) {\n      if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n        target[prop] = source[prop];\n    }\n  return target;\n};\n\nexport {\n  __spreadValues,\n  __spreadProps,\n  __objRest\n};\n","\"use client\";\n\n// src/utils/array.ts\nfunction toArray(arg) {\n  if (Array.isArray(arg)) {\n    return arg;\n  }\n  return typeof arg !== \"undefined\" ? [arg] : [];\n}\nfunction addItemToArray(array, item, index = -1) {\n  if (!(index in array)) {\n    return [...array, item];\n  }\n  return [...array.slice(0, index), item, ...array.slice(index)];\n}\nfunction flatten2DArray(array) {\n  const flattened = [];\n  for (const row of array) {\n    flattened.push(...row);\n  }\n  return flattened;\n}\nfunction reverseArray(array) {\n  return array.slice().reverse();\n}\n\nexport {\n  toArray,\n  addItemToArray,\n  flatten2DArray,\n  reverseArray\n};\n","\"use client\";\nimport {\n  createDialogStore\n} from \"./SX2XFD6A.js\";\nimport {\n  createStore,\n  mergeStore,\n  omit,\n  throwOnConflictingProps\n} from \"./EAHJFCU4.js\";\nimport {\n  defaultValue\n} from \"./Y3OOHFCN.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/popover/popover-store.ts\nfunction createPopoverStore(_a = {}) {\n  var _b = _a, {\n    popover: otherPopover\n  } = _b, props = __objRest(_b, [\n    \"popover\"\n  ]);\n  const store = mergeStore(\n    props.store,\n    omit(otherPopover, [\n      \"arrowElement\",\n      \"anchorElement\",\n      \"contentElement\",\n      \"popoverElement\",\n      \"disclosureElement\"\n    ])\n  );\n  throwOnConflictingProps(props, store);\n  const syncState = store == null ? void 0 : store.getState();\n  const dialog = createDialogStore(__spreadProps(__spreadValues({}, props), { store }));\n  const placement = defaultValue(\n    props.placement,\n    syncState == null ? void 0 : syncState.placement,\n    \"bottom\"\n  );\n  const initialState = __spreadProps(__spreadValues({}, dialog.getState()), {\n    placement,\n    currentPlacement: placement,\n    anchorElement: defaultValue(syncState == null ? void 0 : syncState.anchorElement, null),\n    popoverElement: defaultValue(syncState == null ? void 0 : syncState.popoverElement, null),\n    arrowElement: defaultValue(syncState == null ? void 0 : syncState.arrowElement, null),\n    rendered: Symbol(\"rendered\")\n  });\n  const popover = createStore(initialState, dialog, store);\n  return __spreadProps(__spreadValues(__spreadValues({}, dialog), popover), {\n    setAnchorElement: (element) => popover.setState(\"anchorElement\", element),\n    setPopoverElement: (element) => popover.setState(\"popoverElement\", element),\n    setArrowElement: (element) => popover.setState(\"arrowElement\", element),\n    render: () => popover.setState(\"rendered\", Symbol(\"rendered\"))\n  });\n}\n\nexport {\n  createPopoverStore\n};\n","\"use client\";\n\n// src/utils/dom.ts\nvar canUseDOM = checkIsBrowser();\nfunction checkIsBrowser() {\n  var _a;\n  return typeof window !== \"undefined\" && !!((_a = window.document) == null ? void 0 : _a.createElement);\n}\nfunction getDocument(node) {\n  return node ? node.ownerDocument || node : document;\n}\nfunction getWindow(node) {\n  return getDocument(node).defaultView || window;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n  const { activeElement } = getDocument(node);\n  if (!(activeElement == null ? void 0 : activeElement.nodeName)) {\n    return null;\n  }\n  if (isFrame(activeElement) && activeElement.contentDocument) {\n    return getActiveElement(\n      activeElement.contentDocument.body,\n      activeDescendant\n    );\n  }\n  if (activeDescendant) {\n    const id = activeElement.getAttribute(\"aria-activedescendant\");\n    if (id) {\n      const element = getDocument(activeElement).getElementById(id);\n      if (element) {\n        return element;\n      }\n    }\n  }\n  return activeElement;\n}\nfunction contains(parent, child) {\n  return parent === child || parent.contains(child);\n}\nfunction isFrame(element) {\n  return element.tagName === \"IFRAME\";\n}\nfunction isButton(element) {\n  const tagName = element.tagName.toLowerCase();\n  if (tagName === \"button\")\n    return true;\n  if (tagName === \"input\" && element.type) {\n    return buttonInputTypes.indexOf(element.type) !== -1;\n  }\n  return false;\n}\nvar buttonInputTypes = [\n  \"button\",\n  \"color\",\n  \"file\",\n  \"image\",\n  \"reset\",\n  \"submit\"\n];\nfunction matches(element, selectors) {\n  if (\"matches\" in element) {\n    return element.matches(selectors);\n  }\n  if (\"msMatchesSelector\" in element) {\n    return element.msMatchesSelector(selectors);\n  }\n  return element.webkitMatchesSelector(selectors);\n}\nfunction isVisible(element) {\n  const htmlElement = element;\n  return htmlElement.offsetWidth > 0 || htmlElement.offsetHeight > 0 || element.getClientRects().length > 0;\n}\nfunction closest(element, selectors) {\n  if (\"closest\" in element)\n    return element.closest(selectors);\n  do {\n    if (matches(element, selectors))\n      return element;\n    element = element.parentElement || element.parentNode;\n  } while (element !== null && element.nodeType === 1);\n  return null;\n}\nfunction isTextField(element) {\n  try {\n    const isTextInput = element instanceof HTMLInputElement && element.selectionStart !== null;\n    const isTextArea = element.tagName === \"TEXTAREA\";\n    return isTextInput || isTextArea || false;\n  } catch (error) {\n    return false;\n  }\n}\nfunction getPopupRole(element, fallback) {\n  const allowedPopupRoles = [\"dialog\", \"menu\", \"listbox\", \"tree\", \"grid\"];\n  const role = element == null ? void 0 : element.getAttribute(\"role\");\n  if (role && allowedPopupRoles.indexOf(role) !== -1) {\n    return role;\n  }\n  return fallback;\n}\nfunction getPopupItemRole(element, fallback) {\n  var _a;\n  const itemRoleByPopupRole = {\n    menu: \"menuitem\",\n    listbox: \"option\",\n    tree: \"treeitem\",\n    grid: \"gridcell\"\n  };\n  const popupRole = getPopupRole(element);\n  if (!popupRole)\n    return fallback;\n  const key = popupRole;\n  return (_a = itemRoleByPopupRole[key]) != null ? _a : fallback;\n}\nfunction getTextboxSelection(element) {\n  let start = 0;\n  let end = 0;\n  if (isTextField(element)) {\n    start = element.selectionStart || 0;\n    end = element.selectionEnd || 0;\n  } else if (element.isContentEditable) {\n    const selection = getDocument(element).getSelection();\n    if ((selection == null ? void 0 : selection.rangeCount) && selection.anchorNode && contains(element, selection.anchorNode) && selection.focusNode && contains(element, selection.focusNode)) {\n      const range = selection.getRangeAt(0);\n      const nextRange = range.cloneRange();\n      nextRange.selectNodeContents(element);\n      nextRange.setEnd(range.startContainer, range.startOffset);\n      start = nextRange.toString().length;\n      nextRange.setEnd(range.endContainer, range.endOffset);\n      end = nextRange.toString().length;\n    }\n  }\n  return { start, end };\n}\nfunction scrollIntoViewIfNeeded(element, arg) {\n  if (isPartiallyHidden(element) && \"scrollIntoView\" in element) {\n    element.scrollIntoView(arg);\n  }\n}\nfunction getScrollingElement(element) {\n  if (!element)\n    return null;\n  if (element.clientHeight && element.scrollHeight > element.clientHeight) {\n    const { overflowY } = getComputedStyle(element);\n    const isScrollable = overflowY !== \"visible\" && overflowY !== \"hidden\";\n    if (isScrollable)\n      return element;\n  } else if (element.clientWidth && element.scrollWidth > element.clientWidth) {\n    const { overflowX } = getComputedStyle(element);\n    const isScrollable = overflowX !== \"visible\" && overflowX !== \"hidden\";\n    if (isScrollable)\n      return element;\n  }\n  return getScrollingElement(element.parentElement) || document.scrollingElement || document.body;\n}\nfunction isPartiallyHidden(element) {\n  const elementRect = element.getBoundingClientRect();\n  const scroller = getScrollingElement(element);\n  if (!scroller)\n    return false;\n  const scrollerRect = scroller.getBoundingClientRect();\n  const isHTML = scroller.tagName === \"HTML\";\n  const scrollerTop = isHTML ? scrollerRect.top + scroller.scrollTop : scrollerRect.top;\n  const scrollerBottom = isHTML ? scroller.clientHeight : scrollerRect.bottom;\n  const scrollerLeft = isHTML ? scrollerRect.left + scroller.scrollLeft : scrollerRect.left;\n  const scrollerRight = isHTML ? scroller.clientWidth : scrollerRect.right;\n  const top = elementRect.top < scrollerTop;\n  const left = elementRect.left < scrollerLeft;\n  const bottom = elementRect.bottom > scrollerBottom;\n  const right = elementRect.right > scrollerRight;\n  return top || left || bottom || right;\n}\nfunction setSelectionRange(element, ...args) {\n  if (/text|search|password|tel|url/i.test(element.type)) {\n    element.setSelectionRange(...args);\n  }\n}\n\nexport {\n  canUseDOM,\n  getDocument,\n  getWindow,\n  getActiveElement,\n  contains,\n  isFrame,\n  isButton,\n  matches,\n  isVisible,\n  closest,\n  isTextField,\n  getPopupRole,\n  getPopupItemRole,\n  getTextboxSelection,\n  scrollIntoViewIfNeeded,\n  getScrollingElement,\n  isPartiallyHidden,\n  setSelectionRange\n};\n","\"use client\";\nimport {\n  applyState,\n  chain,\n  getKeys,\n  hasOwnProperty,\n  invariant,\n  noop,\n  omit,\n  pick\n} from \"./Y3OOHFCN.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/store.ts\nfunction getInternal(store, key) {\n  const internals = store.__unstableInternals;\n  invariant(internals, \"Invalid store\");\n  return internals[key];\n}\nfunction createStore(initialState, ...stores) {\n  let state = initialState;\n  let prevStateBatch = state;\n  let lastUpdate = Symbol();\n  let destroy = noop;\n  const instances = /* @__PURE__ */ new Set();\n  const updatedKeys = /* @__PURE__ */ new Set();\n  const setups = /* @__PURE__ */ new Set();\n  const listeners = /* @__PURE__ */ new Set();\n  const batchListeners = /* @__PURE__ */ new Set();\n  const disposables = /* @__PURE__ */ new WeakMap();\n  const listenerKeys = /* @__PURE__ */ new WeakMap();\n  const storeSetup = (callback) => {\n    setups.add(callback);\n    return () => setups.delete(callback);\n  };\n  const storeInit = () => {\n    const initialized = instances.size;\n    const instance = Symbol();\n    instances.add(instance);\n    const maybeDestroy = () => {\n      instances.delete(instance);\n      if (instances.size)\n        return;\n      destroy();\n    };\n    if (initialized)\n      return maybeDestroy;\n    const desyncs = getKeys(state).map(\n      (key) => chain(\n        ...stores.map((store) => {\n          var _a;\n          const storeState = (_a = store == null ? void 0 : store.getState) == null ? void 0 : _a.call(store);\n          if (!storeState)\n            return;\n          if (!hasOwnProperty(storeState, key))\n            return;\n          return sync(store, [key], (state2) => {\n            setState(\n              key,\n              state2[key],\n              // @ts-expect-error - Not public API. This is just to prevent\n              // infinite loops.\n              true\n            );\n          });\n        })\n      )\n    );\n    const teardowns = [];\n    setups.forEach((setup2) => teardowns.push(setup2()));\n    const cleanups = stores.map(init);\n    destroy = chain(...desyncs, ...teardowns, ...cleanups);\n    return maybeDestroy;\n  };\n  const sub = (keys, listener, set = listeners) => {\n    set.add(listener);\n    listenerKeys.set(listener, keys);\n    return () => {\n      var _a;\n      (_a = disposables.get(listener)) == null ? void 0 : _a();\n      disposables.delete(listener);\n      listenerKeys.delete(listener);\n      set.delete(listener);\n    };\n  };\n  const storeSubscribe = (keys, listener) => sub(keys, listener);\n  const storeSync = (keys, listener) => {\n    disposables.set(listener, listener(state, state));\n    return sub(keys, listener);\n  };\n  const storeBatch = (keys, listener) => {\n    disposables.set(listener, listener(state, prevStateBatch));\n    return sub(keys, listener, batchListeners);\n  };\n  const storePick = (keys) => createStore(pick(state, keys), finalStore);\n  const storeOmit = (keys) => createStore(omit(state, keys), finalStore);\n  const getState = () => state;\n  const setState = (key, value, fromStores = false) => {\n    if (!hasOwnProperty(state, key))\n      return;\n    const nextValue = applyState(value, state[key]);\n    if (nextValue === state[key])\n      return;\n    if (!fromStores) {\n      stores.forEach((store) => {\n        var _a;\n        (_a = store == null ? void 0 : store.setState) == null ? void 0 : _a.call(store, key, nextValue);\n      });\n    }\n    const prevState = state;\n    state = __spreadProps(__spreadValues({}, state), { [key]: nextValue });\n    const thisUpdate = Symbol();\n    lastUpdate = thisUpdate;\n    updatedKeys.add(key);\n    const run = (listener, prev, uKeys) => {\n      var _a;\n      const keys = listenerKeys.get(listener);\n      const updated = (k) => uKeys ? uKeys.has(k) : k === key;\n      if (!keys || keys.some(updated)) {\n        (_a = disposables.get(listener)) == null ? void 0 : _a();\n        disposables.set(listener, listener(state, prev));\n      }\n    };\n    listeners.forEach((listener) => {\n      run(listener, prevState);\n    });\n    queueMicrotask(() => {\n      if (lastUpdate !== thisUpdate)\n        return;\n      const snapshot = state;\n      batchListeners.forEach((listener) => {\n        run(listener, prevStateBatch, updatedKeys);\n      });\n      prevStateBatch = snapshot;\n      updatedKeys.clear();\n    });\n  };\n  const finalStore = {\n    getState,\n    setState,\n    __unstableInternals: {\n      setup: storeSetup,\n      init: storeInit,\n      subscribe: storeSubscribe,\n      sync: storeSync,\n      batch: storeBatch,\n      pick: storePick,\n      omit: storeOmit\n    }\n  };\n  return finalStore;\n}\nfunction setup(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"setup\")(...args);\n}\nfunction init(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"init\")(...args);\n}\nfunction subscribe(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"subscribe\")(...args);\n}\nfunction sync(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"sync\")(...args);\n}\nfunction batch(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"batch\")(...args);\n}\nfunction omit2(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"omit\")(...args);\n}\nfunction pick2(store, ...args) {\n  if (!store)\n    return;\n  return getInternal(store, \"pick\")(...args);\n}\nfunction mergeStore(...stores) {\n  const initialState = stores.reduce((state, store2) => {\n    var _a;\n    const nextState = (_a = store2 == null ? void 0 : store2.getState) == null ? void 0 : _a.call(store2);\n    if (!nextState)\n      return state;\n    return __spreadValues(__spreadValues({}, state), nextState);\n  }, {});\n  const store = createStore(initialState, ...stores);\n  return store;\n}\nfunction throwOnConflictingProps(props, store) {\n  if (process.env.NODE_ENV === \"production\")\n    return;\n  if (!store)\n    return;\n  const defaultKeys = Object.entries(props).filter(([key, value]) => key.startsWith(\"default\") && value !== void 0).map(([key]) => {\n    var _a;\n    const stateKey = key.replace(\"default\", \"\");\n    return `${((_a = stateKey[0]) == null ? void 0 : _a.toLowerCase()) || \"\"}${stateKey.slice(1)}`;\n  });\n  if (!defaultKeys.length)\n    return;\n  const storeState = store.getState();\n  const conflictingProps = defaultKeys.filter(\n    (key) => hasOwnProperty(storeState, key)\n  );\n  if (!conflictingProps.length)\n    return;\n  throw new Error(\n    `Passing a store prop in conjunction with a default state is not supported.\n\nconst store = useSelectStore();\n<SelectProvider store={store} defaultValue=\"Apple\" />\n                ^             ^\n\nInstead, pass the default state to the topmost store:\n\nconst store = useSelectStore({ defaultValue: \"Apple\" });\n<SelectProvider store={store} />\n\nSee https://github.com/ariakit/ariakit/pull/2745 for more details.\n\nIf there's a particular need for this, please submit a feature request at https://github.com/ariakit/ariakit\n`\n  );\n}\n\nexport {\n  createStore,\n  setup,\n  init,\n  subscribe,\n  sync,\n  batch,\n  omit2 as omit,\n  pick2 as pick,\n  mergeStore,\n  throwOnConflictingProps\n};\n","\"use client\";\nimport {\n  createCollectionStore\n} from \"./22K762VQ.js\";\nimport {\n  createStore,\n  setup,\n  sync\n} from \"./EAHJFCU4.js\";\nimport {\n  defaultValue\n} from \"./Y3OOHFCN.js\";\nimport {\n  flatten2DArray,\n  reverseArray\n} from \"./7PRQYBBV.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-store.ts\nvar NULL_ITEM = { id: null };\nfunction findFirstEnabledItem(items, excludeId) {\n  return items.find((item) => {\n    if (excludeId) {\n      return !item.disabled && item.id !== excludeId;\n    }\n    return !item.disabled;\n  });\n}\nfunction getEnabledItems(items, excludeId) {\n  return items.filter((item) => {\n    if (excludeId) {\n      return !item.disabled && item.id !== excludeId;\n    }\n    return !item.disabled;\n  });\n}\nfunction getOppositeOrientation(orientation) {\n  if (orientation === \"vertical\")\n    return \"horizontal\";\n  if (orientation === \"horizontal\")\n    return \"vertical\";\n  return;\n}\nfunction getItemsInRow(items, rowId) {\n  return items.filter((item) => item.rowId === rowId);\n}\nfunction flipItems(items, activeId, shouldInsertNullItem = false) {\n  const index = items.findIndex((item) => item.id === activeId);\n  return [\n    ...items.slice(index + 1),\n    ...shouldInsertNullItem ? [NULL_ITEM] : [],\n    ...items.slice(0, index)\n  ];\n}\nfunction groupItemsByRows(items) {\n  const rows = [];\n  for (const item of items) {\n    const row = rows.find((currentRow) => {\n      var _a;\n      return ((_a = currentRow[0]) == null ? void 0 : _a.rowId) === item.rowId;\n    });\n    if (row) {\n      row.push(item);\n    } else {\n      rows.push([item]);\n    }\n  }\n  return rows;\n}\nfunction getMaxRowLength(array) {\n  let maxLength = 0;\n  for (const { length } of array) {\n    if (length > maxLength) {\n      maxLength = length;\n    }\n  }\n  return maxLength;\n}\nfunction createEmptyItem(rowId) {\n  return {\n    id: \"__EMPTY_ITEM__\",\n    disabled: true,\n    rowId\n  };\n}\nfunction normalizeRows(rows, activeId, focusShift) {\n  const maxLength = getMaxRowLength(rows);\n  for (const row of rows) {\n    for (let i = 0; i < maxLength; i += 1) {\n      const item = row[i];\n      if (!item || focusShift && item.disabled) {\n        const isFirst = i === 0;\n        const previousItem = isFirst && focusShift ? findFirstEnabledItem(row) : row[i - 1];\n        row[i] = previousItem && activeId !== previousItem.id && focusShift ? previousItem : createEmptyItem(previousItem == null ? void 0 : previousItem.rowId);\n      }\n    }\n  }\n  return rows;\n}\nfunction verticalizeItems(items) {\n  const rows = groupItemsByRows(items);\n  const maxLength = getMaxRowLength(rows);\n  const verticalized = [];\n  for (let i = 0; i < maxLength; i += 1) {\n    for (const row of rows) {\n      const item = row[i];\n      if (item) {\n        verticalized.push(__spreadProps(__spreadValues({}, item), {\n          // If there's no rowId, it means that it's not a grid composite, but\n          // a single row instead. So, instead of verticalizing it, that is,\n          // assigning a different rowId based on the column index, we keep it\n          // undefined so they will be part of the same row. This is useful\n          // when using up/down on one-dimensional composites.\n          rowId: item.rowId ? `${i}` : void 0\n        }));\n      }\n    }\n  }\n  return verticalized;\n}\nfunction createCompositeStore(props = {}) {\n  var _a;\n  const syncState = (_a = props.store) == null ? void 0 : _a.getState();\n  const collection = createCollectionStore(props);\n  const activeId = defaultValue(\n    props.activeId,\n    syncState == null ? void 0 : syncState.activeId,\n    props.defaultActiveId\n  );\n  const initialState = __spreadProps(__spreadValues({}, collection.getState()), {\n    activeId,\n    baseElement: defaultValue(syncState == null ? void 0 : syncState.baseElement, null),\n    includesBaseElement: defaultValue(\n      props.includesBaseElement,\n      syncState == null ? void 0 : syncState.includesBaseElement,\n      activeId === null\n    ),\n    moves: defaultValue(syncState == null ? void 0 : syncState.moves, 0),\n    orientation: defaultValue(\n      props.orientation,\n      syncState == null ? void 0 : syncState.orientation,\n      \"both\"\n    ),\n    rtl: defaultValue(props.rtl, syncState == null ? void 0 : syncState.rtl, false),\n    virtualFocus: defaultValue(\n      props.virtualFocus,\n      syncState == null ? void 0 : syncState.virtualFocus,\n      false\n    ),\n    focusLoop: defaultValue(props.focusLoop, syncState == null ? void 0 : syncState.focusLoop, false),\n    focusWrap: defaultValue(props.focusWrap, syncState == null ? void 0 : syncState.focusWrap, false),\n    focusShift: defaultValue(props.focusShift, syncState == null ? void 0 : syncState.focusShift, false)\n  });\n  const composite = createStore(initialState, collection, props.store);\n  setup(\n    composite,\n    () => sync(composite, [\"renderedItems\", \"activeId\"], (state) => {\n      composite.setState(\"activeId\", (activeId2) => {\n        var _a2;\n        if (activeId2 !== void 0)\n          return activeId2;\n        return (_a2 = findFirstEnabledItem(state.renderedItems)) == null ? void 0 : _a2.id;\n      });\n    })\n  );\n  const getNextId = (items, orientation, hasNullItem, skip) => {\n    var _a2, _b;\n    const { activeId: activeId2, rtl, focusLoop, focusWrap, includesBaseElement } = composite.getState();\n    const isHorizontal = orientation !== \"vertical\";\n    const isRTL = rtl && isHorizontal;\n    const allItems = isRTL ? reverseArray(items) : items;\n    if (activeId2 == null) {\n      return (_a2 = findFirstEnabledItem(allItems)) == null ? void 0 : _a2.id;\n    }\n    const activeItem = allItems.find((item) => item.id === activeId2);\n    if (!activeItem) {\n      return (_b = findFirstEnabledItem(allItems)) == null ? void 0 : _b.id;\n    }\n    const isGrid = !!activeItem.rowId;\n    const activeIndex = allItems.indexOf(activeItem);\n    const nextItems = allItems.slice(activeIndex + 1);\n    const nextItemsInRow = getItemsInRow(nextItems, activeItem.rowId);\n    if (skip !== void 0) {\n      const nextEnabledItemsInRow = getEnabledItems(nextItemsInRow, activeId2);\n      const nextItem2 = nextEnabledItemsInRow.slice(skip)[0] || // If we can't find an item, just return the last one.\n      nextEnabledItemsInRow[nextEnabledItemsInRow.length - 1];\n      return nextItem2 == null ? void 0 : nextItem2.id;\n    }\n    const oppositeOrientation = getOppositeOrientation(\n      // If it's a grid and orientation is not set, it's a next/previous call,\n      // which is inherently horizontal. up/down will call next with orientation\n      // set to vertical by default (see below on up/down methods).\n      isGrid ? orientation || \"horizontal\" : orientation\n    );\n    const canLoop = focusLoop && focusLoop !== oppositeOrientation;\n    const canWrap = isGrid && focusWrap && focusWrap !== oppositeOrientation;\n    hasNullItem = hasNullItem || !isGrid && canLoop && includesBaseElement;\n    if (canLoop) {\n      const loopItems = canWrap && !hasNullItem ? allItems : getItemsInRow(allItems, activeItem.rowId);\n      const sortedItems = flipItems(loopItems, activeId2, hasNullItem);\n      const nextItem2 = findFirstEnabledItem(sortedItems, activeId2);\n      return nextItem2 == null ? void 0 : nextItem2.id;\n    }\n    if (canWrap) {\n      const nextItem2 = findFirstEnabledItem(\n        // We can use nextItems, which contains all the next items, including\n        // items from other rows, to wrap between rows. However, if there is a\n        // null item (the composite container), we'll only use the next items in\n        // the row. So moving next from the last item will focus on the\n        // composite container. On grid composites, horizontal navigation never\n        // focuses on the composite container, only vertical.\n        hasNullItem ? nextItemsInRow : nextItems,\n        activeId2\n      );\n      const nextId = hasNullItem ? (nextItem2 == null ? void 0 : nextItem2.id) || null : nextItem2 == null ? void 0 : nextItem2.id;\n      return nextId;\n    }\n    const nextItem = findFirstEnabledItem(nextItemsInRow, activeId2);\n    if (!nextItem && hasNullItem) {\n      return null;\n    }\n    return nextItem == null ? void 0 : nextItem.id;\n  };\n  return __spreadProps(__spreadValues(__spreadValues({}, collection), composite), {\n    setBaseElement: (element) => composite.setState(\"baseElement\", element),\n    setActiveId: (id) => composite.setState(\"activeId\", id),\n    move: (id) => {\n      if (id === void 0)\n        return;\n      composite.setState(\"activeId\", id);\n      composite.setState(\"moves\", (moves) => moves + 1);\n    },\n    first: () => {\n      var _a2;\n      return (_a2 = findFirstEnabledItem(composite.getState().renderedItems)) == null ? void 0 : _a2.id;\n    },\n    last: () => {\n      var _a2;\n      return (_a2 = findFirstEnabledItem(reverseArray(composite.getState().renderedItems))) == null ? void 0 : _a2.id;\n    },\n    next: (skip) => {\n      const { renderedItems, orientation } = composite.getState();\n      return getNextId(renderedItems, orientation, false, skip);\n    },\n    previous: (skip) => {\n      var _a2;\n      const { renderedItems, orientation, includesBaseElement } = composite.getState();\n      const isGrid = !!((_a2 = findFirstEnabledItem(renderedItems)) == null ? void 0 : _a2.rowId);\n      const hasNullItem = !isGrid && includesBaseElement;\n      return getNextId(\n        reverseArray(renderedItems),\n        orientation,\n        hasNullItem,\n        skip\n      );\n    },\n    down: (skip) => {\n      const {\n        activeId: activeId2,\n        renderedItems,\n        focusShift,\n        focusLoop,\n        includesBaseElement\n      } = composite.getState();\n      const shouldShift = focusShift && !skip;\n      const verticalItems = verticalizeItems(\n        flatten2DArray(\n          normalizeRows(groupItemsByRows(renderedItems), activeId2, shouldShift)\n        )\n      );\n      const canLoop = focusLoop && focusLoop !== \"horizontal\";\n      const hasNullItem = canLoop && includesBaseElement;\n      return getNextId(verticalItems, \"vertical\", hasNullItem, skip);\n    },\n    up: (skip) => {\n      const { activeId: activeId2, renderedItems, focusShift, includesBaseElement } = composite.getState();\n      const shouldShift = focusShift && !skip;\n      const verticalItems = verticalizeItems(\n        reverseArray(\n          flatten2DArray(\n            normalizeRows(\n              groupItemsByRows(renderedItems),\n              activeId2,\n              shouldShift\n            )\n          )\n        )\n      );\n      const hasNullItem = includesBaseElement;\n      return getNextId(verticalItems, \"vertical\", hasNullItem, skip);\n    }\n  });\n}\n\nexport {\n  createCompositeStore\n};\n","\"use client\";\nimport {\n  canUseDOM\n} from \"./DLOEKDPY.js\";\n\n// src/utils/platform.ts\nfunction isTouchDevice() {\n  return canUseDOM && !!navigator.maxTouchPoints;\n}\nfunction isApple() {\n  if (!canUseDOM)\n    return false;\n  return /mac|iphone|ipad|ipod/i.test(navigator.platform);\n}\nfunction isSafari() {\n  return canUseDOM && isApple() && /apple/i.test(navigator.vendor);\n}\nfunction isFirefox() {\n  return canUseDOM && /firefox\\//i.test(navigator.userAgent);\n}\nfunction isMac() {\n  return canUseDOM && navigator.platform.startsWith(\"Mac\") && !isTouchDevice();\n}\n\nexport {\n  isTouchDevice,\n  isApple,\n  isSafari,\n  isFirefox,\n  isMac\n};\n","\"use client\";\nimport {\n  createDisclosureStore\n} from \"./Z5IGYIPT.js\";\n\n// src/dialog/dialog-store.ts\nfunction createDialogStore(props = {}) {\n  return createDisclosureStore(props);\n}\n\nexport {\n  createDialogStore\n};\n","\"use client\";\nimport {\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/misc.ts\nfunction noop(..._) {\n}\nfunction shallowEqual(a, b) {\n  if (a === b)\n    return true;\n  if (!a)\n    return false;\n  if (!b)\n    return false;\n  if (typeof a !== \"object\")\n    return false;\n  if (typeof b !== \"object\")\n    return false;\n  const aKeys = Object.keys(a);\n  const bKeys = Object.keys(b);\n  const { length } = aKeys;\n  if (bKeys.length !== length)\n    return false;\n  for (const key of aKeys) {\n    if (a[key] !== b[key]) {\n      return false;\n    }\n  }\n  return true;\n}\nfunction applyState(argument, currentValue) {\n  if (isUpdater(argument)) {\n    const value = isLazyValue(currentValue) ? currentValue() : currentValue;\n    return argument(value);\n  }\n  return argument;\n}\nfunction isUpdater(argument) {\n  return typeof argument === \"function\";\n}\nfunction isLazyValue(value) {\n  return typeof value === \"function\";\n}\nfunction isObject(arg) {\n  return typeof arg === \"object\" && arg != null;\n}\nfunction isEmpty(arg) {\n  if (Array.isArray(arg))\n    return !arg.length;\n  if (isObject(arg))\n    return !Object.keys(arg).length;\n  if (arg == null)\n    return true;\n  if (arg === \"\")\n    return true;\n  return false;\n}\nfunction isInteger(arg) {\n  if (typeof arg === \"number\") {\n    return Math.floor(arg) === arg;\n  }\n  return String(Math.floor(Number(arg))) === arg;\n}\nfunction hasOwnProperty(object, prop) {\n  if (typeof Object.hasOwn === \"function\") {\n    return Object.hasOwn(object, prop);\n  }\n  return Object.prototype.hasOwnProperty.call(object, prop);\n}\nfunction chain(...fns) {\n  return (...args) => {\n    for (const fn of fns) {\n      if (typeof fn === \"function\") {\n        fn(...args);\n      }\n    }\n  };\n}\nfunction cx(...args) {\n  return args.filter(Boolean).join(\" \") || void 0;\n}\nfunction normalizeString(str) {\n  return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n}\nfunction omit(object, keys) {\n  const result = __spreadValues({}, object);\n  for (const key of keys) {\n    if (hasOwnProperty(result, key)) {\n      delete result[key];\n    }\n  }\n  return result;\n}\nfunction pick(object, paths) {\n  const result = {};\n  for (const key of paths) {\n    if (hasOwnProperty(object, key)) {\n      result[key] = object[key];\n    }\n  }\n  return result;\n}\nfunction identity(value) {\n  return value;\n}\nfunction beforePaint(cb = noop) {\n  const raf = requestAnimationFrame(cb);\n  return () => cancelAnimationFrame(raf);\n}\nfunction afterPaint(cb = noop) {\n  let raf = requestAnimationFrame(() => {\n    raf = requestAnimationFrame(cb);\n  });\n  return () => cancelAnimationFrame(raf);\n}\nfunction invariant(condition, message) {\n  if (condition)\n    return;\n  if (typeof message !== \"string\")\n    throw new Error(\"Invariant failed\");\n  throw new Error(message);\n}\nfunction getKeys(obj) {\n  return Object.keys(obj);\n}\nfunction isFalsyBooleanCallback(booleanOrCallback, ...args) {\n  const result = typeof booleanOrCallback === \"function\" ? booleanOrCallback(...args) : booleanOrCallback;\n  if (result == null)\n    return false;\n  return !result;\n}\nfunction disabledFromProps(props) {\n  return props.disabled || props[\"aria-disabled\"] === true || props[\"aria-disabled\"] === \"true\";\n}\nfunction defaultValue(...values) {\n  for (const value of values) {\n    if (value !== void 0)\n      return value;\n  }\n  return void 0;\n}\n\nexport {\n  noop,\n  shallowEqual,\n  applyState,\n  isObject,\n  isEmpty,\n  isInteger,\n  hasOwnProperty,\n  chain,\n  cx,\n  normalizeString,\n  omit,\n  pick,\n  identity,\n  beforePaint,\n  afterPaint,\n  invariant,\n  getKeys,\n  isFalsyBooleanCallback,\n  disabledFromProps,\n  defaultValue\n};\n","\"use client\";\nimport {\n  createStore,\n  mergeStore,\n  omit,\n  setup,\n  subscribe,\n  sync,\n  throwOnConflictingProps\n} from \"./EAHJFCU4.js\";\nimport {\n  defaultValue\n} from \"./Y3OOHFCN.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/disclosure/disclosure-store.ts\nfunction createDisclosureStore(props = {}) {\n  const store = mergeStore(\n    props.store,\n    omit(props.disclosure, [\"contentElement\", \"disclosureElement\"])\n  );\n  throwOnConflictingProps(props, store);\n  const syncState = store == null ? void 0 : store.getState();\n  const open = defaultValue(\n    props.open,\n    syncState == null ? void 0 : syncState.open,\n    props.defaultOpen,\n    false\n  );\n  const animated = defaultValue(props.animated, syncState == null ? void 0 : syncState.animated, false);\n  const initialState = {\n    open,\n    animated,\n    animating: !!animated && open,\n    mounted: open,\n    contentElement: defaultValue(syncState == null ? void 0 : syncState.contentElement, null),\n    disclosureElement: defaultValue(syncState == null ? void 0 : syncState.disclosureElement, null)\n  };\n  const disclosure = createStore(initialState, store);\n  setup(\n    disclosure,\n    () => sync(disclosure, [\"animated\", \"animating\"], (state) => {\n      if (state.animated)\n        return;\n      disclosure.setState(\"animating\", false);\n    })\n  );\n  setup(\n    disclosure,\n    () => subscribe(disclosure, [\"open\"], () => {\n      if (!disclosure.getState().animated)\n        return;\n      disclosure.setState(\"animating\", true);\n    })\n  );\n  setup(\n    disclosure,\n    () => sync(disclosure, [\"open\", \"animating\"], (state) => {\n      disclosure.setState(\"mounted\", state.open || state.animating);\n    })\n  );\n  return __spreadProps(__spreadValues({}, disclosure), {\n    setOpen: (value) => disclosure.setState(\"open\", value),\n    show: () => disclosure.setState(\"open\", true),\n    hide: () => disclosure.setState(\"open\", false),\n    toggle: () => disclosure.setState(\"open\", (open2) => !open2),\n    stopAnimation: () => disclosure.setState(\"animating\", false),\n    setContentElement: (value) => disclosure.setState(\"contentElement\", value),\n    setDisclosureElement: (value) => disclosure.setState(\"disclosureElement\", value)\n  });\n}\n\nexport {\n  createDisclosureStore\n};\n","\"use client\";\nimport {\n  createPopoverStore\n} from \"../__chunks/AF6IUUFN.js\";\nimport \"../__chunks/SX2XFD6A.js\";\nimport \"../__chunks/Z5IGYIPT.js\";\nimport {\n  createCompositeStore\n} from \"../__chunks/IERTEJ3A.js\";\nimport \"../__chunks/22K762VQ.js\";\nimport {\n  batch,\n  createStore,\n  setup,\n  sync,\n  throwOnConflictingProps\n} from \"../__chunks/EAHJFCU4.js\";\nimport {\n  defaultValue\n} from \"../__chunks/Y3OOHFCN.js\";\nimport {\n  isSafari,\n  isTouchDevice\n} from \"../__chunks/MHPO2BXA.js\";\nimport \"../__chunks/DLOEKDPY.js\";\nimport \"../__chunks/7PRQYBBV.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-store.ts\nvar isSafariOnMobile = isSafari() && isTouchDevice();\nfunction createComboboxStore(props = {}) {\n  var _a;\n  throwOnConflictingProps(props, props.store);\n  const syncState = (_a = props.store) == null ? void 0 : _a.getState();\n  const activeId = defaultValue(\n    props.activeId,\n    syncState == null ? void 0 : syncState.activeId,\n    props.defaultActiveId,\n    null\n  );\n  const composite = createCompositeStore(__spreadProps(__spreadValues({}, props), {\n    activeId,\n    includesBaseElement: defaultValue(\n      props.includesBaseElement,\n      syncState == null ? void 0 : syncState.includesBaseElement,\n      true\n    ),\n    orientation: defaultValue(\n      props.orientation,\n      syncState == null ? void 0 : syncState.orientation,\n      \"vertical\"\n    ),\n    focusLoop: defaultValue(props.focusLoop, syncState == null ? void 0 : syncState.focusLoop, true),\n    focusWrap: defaultValue(props.focusWrap, syncState == null ? void 0 : syncState.focusWrap, true),\n    virtualFocus: defaultValue(\n      props.virtualFocus,\n      syncState == null ? void 0 : syncState.virtualFocus,\n      !isSafariOnMobile\n    )\n  }));\n  const popover = createPopoverStore(__spreadProps(__spreadValues({}, props), {\n    placement: defaultValue(\n      props.placement,\n      syncState == null ? void 0 : syncState.placement,\n      \"bottom-start\"\n    )\n  }));\n  const value = defaultValue(\n    props.value,\n    syncState == null ? void 0 : syncState.value,\n    props.defaultValue,\n    \"\"\n  );\n  const selectedValue = defaultValue(\n    props.selectedValue,\n    syncState == null ? void 0 : syncState.selectedValue,\n    props.defaultSelectedValue,\n    \"\"\n  );\n  const multiSelectable = Array.isArray(selectedValue);\n  const initialState = __spreadProps(__spreadValues(__spreadValues({}, composite.getState()), popover.getState()), {\n    value,\n    selectedValue,\n    resetValueOnSelect: defaultValue(\n      props.resetValueOnSelect,\n      syncState == null ? void 0 : syncState.resetValueOnSelect,\n      multiSelectable\n    ),\n    resetValueOnHide: defaultValue(\n      props.resetValueOnHide,\n      syncState == null ? void 0 : syncState.resetValueOnHide,\n      multiSelectable\n    ),\n    activeValue: syncState == null ? void 0 : syncState.activeValue\n  });\n  const combobox = createStore(initialState, composite, popover, props.store);\n  setup(\n    combobox,\n    () => sync(combobox, [\"resetValueOnHide\", \"mounted\"], (state) => {\n      if (!state.resetValueOnHide)\n        return;\n      if (state.mounted)\n        return;\n      combobox.setState(\"value\", value);\n    })\n  );\n  setup(\n    combobox,\n    () => sync(combobox, [\"resetValueOnSelect\", \"selectedValue\"], (state) => {\n      if (!state.resetValueOnSelect)\n        return;\n      combobox.setState(\"value\", value);\n    })\n  );\n  setup(\n    combobox,\n    () => batch(combobox, [\"mounted\"], (state) => {\n      if (state.mounted)\n        return;\n      combobox.setState(\"activeId\", activeId);\n      combobox.setState(\"moves\", 0);\n    })\n  );\n  setup(\n    combobox,\n    () => sync(combobox, [\"moves\", \"activeId\"], (state, prevState) => {\n      if (state.moves === prevState.moves) {\n        combobox.setState(\"activeValue\", void 0);\n      }\n    })\n  );\n  setup(\n    combobox,\n    () => batch(combobox, [\"moves\", \"renderedItems\"], (state, prev) => {\n      if (state.moves === prev.moves)\n        return;\n      const { activeId: activeId2 } = combobox.getState();\n      const activeItem = composite.item(activeId2);\n      combobox.setState(\"activeValue\", activeItem == null ? void 0 : activeItem.value);\n    })\n  );\n  return __spreadProps(__spreadValues(__spreadValues(__spreadValues({}, popover), composite), combobox), {\n    setValue: (value2) => combobox.setState(\"value\", value2),\n    setSelectedValue: (selectedValue2) => combobox.setState(\"selectedValue\", selectedValue2)\n  });\n}\nexport {\n  createComboboxStore\n};\n","\"use client\";\nimport {\n  isApple\n} from \"../__chunks/MHPO2BXA.js\";\nimport {\n  contains\n} from \"../__chunks/DLOEKDPY.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/utils/events.ts\nfunction isPortalEvent(event) {\n  return Boolean(\n    event.currentTarget && !contains(event.currentTarget, event.target)\n  );\n}\nfunction isSelfTarget(event) {\n  return event.target === event.currentTarget;\n}\nfunction isOpeningInNewTab(event) {\n  const element = event.currentTarget;\n  if (!element)\n    return false;\n  const isAppleDevice = isApple();\n  if (isAppleDevice && !event.metaKey)\n    return false;\n  if (!isAppleDevice && !event.ctrlKey)\n    return false;\n  const tagName = element.tagName.toLowerCase();\n  if (tagName === \"a\")\n    return true;\n  if (tagName === \"button\" && element.type === \"submit\")\n    return true;\n  if (tagName === \"input\" && element.type === \"submit\")\n    return true;\n  return false;\n}\nfunction isDownloading(event) {\n  const element = event.currentTarget;\n  if (!element)\n    return false;\n  const tagName = element.tagName.toLowerCase();\n  if (!event.altKey)\n    return false;\n  if (tagName === \"a\")\n    return true;\n  if (tagName === \"button\" && element.type === \"submit\")\n    return true;\n  if (tagName === \"input\" && element.type === \"submit\")\n    return true;\n  return false;\n}\nfunction fireEvent(element, type, eventInit) {\n  const event = new Event(type, eventInit);\n  return element.dispatchEvent(event);\n}\nfunction fireBlurEvent(element, eventInit) {\n  const event = new FocusEvent(\"blur\", eventInit);\n  const defaultAllowed = element.dispatchEvent(event);\n  const bubbleInit = __spreadProps(__spreadValues({}, eventInit), { bubbles: true });\n  element.dispatchEvent(new FocusEvent(\"focusout\", bubbleInit));\n  return defaultAllowed;\n}\nfunction fireFocusEvent(element, eventInit) {\n  const event = new FocusEvent(\"focus\", eventInit);\n  const defaultAllowed = element.dispatchEvent(event);\n  const bubbleInit = __spreadProps(__spreadValues({}, eventInit), { bubbles: true });\n  element.dispatchEvent(new FocusEvent(\"focusin\", bubbleInit));\n  return defaultAllowed;\n}\nfunction fireKeyboardEvent(element, type, eventInit) {\n  const event = new KeyboardEvent(type, eventInit);\n  return element.dispatchEvent(event);\n}\nfunction fireClickEvent(element, eventInit) {\n  const event = new MouseEvent(\"click\", eventInit);\n  return element.dispatchEvent(event);\n}\nfunction isFocusEventOutside(event, container) {\n  const containerElement = container || event.currentTarget;\n  const relatedTarget = event.relatedTarget;\n  return !relatedTarget || !contains(containerElement, relatedTarget);\n}\nfunction queueBeforeEvent(element, type, callback) {\n  const raf = requestAnimationFrame(() => {\n    element.removeEventListener(type, callImmediately, true);\n    callback();\n  });\n  const callImmediately = () => {\n    cancelAnimationFrame(raf);\n    callback();\n  };\n  element.addEventListener(type, callImmediately, {\n    once: true,\n    capture: true\n  });\n  return raf;\n}\nfunction addGlobalEventListener(type, listener, options, scope = window) {\n  const children = [];\n  try {\n    scope.document.addEventListener(type, listener, options);\n    for (const frame of Array.from(scope.frames)) {\n      children.push(addGlobalEventListener(type, listener, options, frame));\n    }\n  } catch (e) {\n  }\n  const removeEventListener = () => {\n    try {\n      scope.document.removeEventListener(type, listener, options);\n    } catch (e) {\n    }\n    children.forEach((remove) => remove());\n  };\n  return removeEventListener;\n}\nexport {\n  addGlobalEventListener,\n  fireBlurEvent,\n  fireClickEvent,\n  fireEvent,\n  fireFocusEvent,\n  fireKeyboardEvent,\n  isDownloading,\n  isFocusEventOutside,\n  isOpeningInNewTab,\n  isPortalEvent,\n  isSelfTarget,\n  queueBeforeEvent\n};\n","\"use client\";\nimport {\n  closest,\n  contains,\n  getActiveElement,\n  isFrame,\n  isVisible,\n  matches\n} from \"../__chunks/DLOEKDPY.js\";\nimport {\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/utils/focus.ts\nvar selector = \"input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false'])\";\nfunction hasNegativeTabIndex(element) {\n  const tabIndex = parseInt(element.getAttribute(\"tabindex\") || \"0\", 10);\n  return tabIndex < 0;\n}\nfunction isFocusable(element) {\n  if (!matches(element, selector))\n    return false;\n  if (!isVisible(element))\n    return false;\n  if (closest(element, \"[inert]\"))\n    return false;\n  return true;\n}\nfunction isTabbable(element) {\n  if (!isFocusable(element))\n    return false;\n  if (hasNegativeTabIndex(element))\n    return false;\n  if (!(\"form\" in element))\n    return true;\n  if (!element.form)\n    return true;\n  if (element.checked)\n    return true;\n  if (element.type !== \"radio\")\n    return true;\n  const radioGroup = element.form.elements.namedItem(element.name);\n  if (!radioGroup)\n    return true;\n  if (!(\"length\" in radioGroup))\n    return true;\n  const activeElement = getActiveElement(element);\n  if (!activeElement)\n    return true;\n  if (activeElement === element)\n    return true;\n  if (!(\"form\" in activeElement))\n    return true;\n  if (activeElement.form !== element.form)\n    return true;\n  if (activeElement.name !== element.name)\n    return true;\n  return false;\n}\nfunction getAllFocusableIn(container, includeContainer) {\n  const elements = Array.from(\n    container.querySelectorAll(selector)\n  );\n  if (includeContainer) {\n    elements.unshift(container);\n  }\n  const focusableElements = elements.filter(isFocusable);\n  focusableElements.forEach((element, i) => {\n    if (isFrame(element) && element.contentDocument) {\n      const frameBody = element.contentDocument.body;\n      focusableElements.splice(i, 1, ...getAllFocusableIn(frameBody));\n    }\n  });\n  return focusableElements;\n}\nfunction getAllFocusable(includeBody) {\n  return getAllFocusableIn(document.body, includeBody);\n}\nfunction getFirstFocusableIn(container, includeContainer) {\n  const [first] = getAllFocusableIn(container, includeContainer);\n  return first || null;\n}\nfunction getFirstFocusable(includeBody) {\n  return getFirstFocusableIn(document.body, includeBody);\n}\nfunction getAllTabbableIn(container, includeContainer, fallbackToFocusable) {\n  const elements = Array.from(\n    container.querySelectorAll(selector)\n  );\n  const tabbableElements = elements.filter(isTabbable);\n  if (includeContainer && isTabbable(container)) {\n    tabbableElements.unshift(container);\n  }\n  tabbableElements.forEach((element, i) => {\n    if (isFrame(element) && element.contentDocument) {\n      const frameBody = element.contentDocument.body;\n      const allFrameTabbable = getAllTabbableIn(\n        frameBody,\n        false,\n        fallbackToFocusable\n      );\n      tabbableElements.splice(i, 1, ...allFrameTabbable);\n    }\n  });\n  if (!tabbableElements.length && fallbackToFocusable) {\n    return elements;\n  }\n  return tabbableElements;\n}\nfunction getAllTabbable(fallbackToFocusable) {\n  return getAllTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getFirstTabbableIn(container, includeContainer, fallbackToFocusable) {\n  const [first] = getAllTabbableIn(\n    container,\n    includeContainer,\n    fallbackToFocusable\n  );\n  return first || null;\n}\nfunction getFirstTabbable(fallbackToFocusable) {\n  return getFirstTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getLastTabbableIn(container, includeContainer, fallbackToFocusable) {\n  const allTabbable = getAllTabbableIn(\n    container,\n    includeContainer,\n    fallbackToFocusable\n  );\n  return allTabbable[allTabbable.length - 1] || null;\n}\nfunction getLastTabbable(fallbackToFocusable) {\n  return getLastTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getNextTabbableIn(container, includeContainer, fallbackToFirst, fallbackToFocusable) {\n  const activeElement = getActiveElement(container);\n  const allFocusable = getAllFocusableIn(container, includeContainer);\n  const activeIndex = allFocusable.indexOf(activeElement);\n  const nextFocusableElements = allFocusable.slice(activeIndex + 1);\n  return nextFocusableElements.find(isTabbable) || (fallbackToFirst ? allFocusable.find(isTabbable) : null) || (fallbackToFocusable ? nextFocusableElements[0] : null) || null;\n}\nfunction getNextTabbable(fallbackToFirst, fallbackToFocusable) {\n  return getNextTabbableIn(\n    document.body,\n    false,\n    fallbackToFirst,\n    fallbackToFocusable\n  );\n}\nfunction getPreviousTabbableIn(container, includeContainer, fallbackToLast, fallbackToFocusable) {\n  const activeElement = getActiveElement(container);\n  const allFocusable = getAllFocusableIn(container, includeContainer).reverse();\n  const activeIndex = allFocusable.indexOf(activeElement);\n  const previousFocusableElements = allFocusable.slice(activeIndex + 1);\n  return previousFocusableElements.find(isTabbable) || (fallbackToLast ? allFocusable.find(isTabbable) : null) || (fallbackToFocusable ? previousFocusableElements[0] : null) || null;\n}\nfunction getPreviousTabbable(fallbackToFirst, fallbackToFocusable) {\n  return getPreviousTabbableIn(\n    document.body,\n    false,\n    fallbackToFirst,\n    fallbackToFocusable\n  );\n}\nfunction getClosestFocusable(element) {\n  while (element && !isFocusable(element)) {\n    element = closest(element, selector);\n  }\n  return element || null;\n}\nfunction hasFocus(element) {\n  const activeElement = getActiveElement(element);\n  if (!activeElement)\n    return false;\n  if (activeElement === element)\n    return true;\n  const activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n  if (!activeDescendant)\n    return false;\n  return activeDescendant === element.id;\n}\nfunction hasFocusWithin(element) {\n  const activeElement = getActiveElement(element);\n  if (!activeElement)\n    return false;\n  if (contains(element, activeElement))\n    return true;\n  const activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n  if (!activeDescendant)\n    return false;\n  if (!(\"id\" in element))\n    return false;\n  if (activeDescendant === element.id)\n    return true;\n  return !!element.querySelector(`#${CSS.escape(activeDescendant)}`);\n}\nfunction focusIfNeeded(element) {\n  if (!hasFocusWithin(element) && isFocusable(element)) {\n    element.focus();\n  }\n}\nfunction disableFocus(element) {\n  var _a;\n  const currentTabindex = (_a = element.getAttribute(\"tabindex\")) != null ? _a : \"\";\n  element.setAttribute(\"data-tabindex\", currentTabindex);\n  element.setAttribute(\"tabindex\", \"-1\");\n}\nfunction disableFocusIn(container, includeContainer) {\n  const tabbableElements = getAllTabbableIn(container, includeContainer);\n  tabbableElements.forEach(disableFocus);\n}\nfunction restoreFocusIn(container) {\n  const elements = container.querySelectorAll(\"[data-tabindex]\");\n  const restoreTabIndex = (element) => {\n    const tabindex = element.getAttribute(\"data-tabindex\");\n    element.removeAttribute(\"data-tabindex\");\n    if (tabindex) {\n      element.setAttribute(\"tabindex\", tabindex);\n    } else {\n      element.removeAttribute(\"tabindex\");\n    }\n  };\n  if (container.hasAttribute(\"data-tabindex\")) {\n    restoreTabIndex(container);\n  }\n  elements.forEach(restoreTabIndex);\n}\nfunction focusIntoView(element, options) {\n  if (!(\"scrollIntoView\" in element)) {\n    element.focus();\n  } else {\n    element.focus({ preventScroll: true });\n    element.scrollIntoView(__spreadValues({ block: \"nearest\", inline: \"nearest\" }, options));\n  }\n}\nexport {\n  disableFocus,\n  disableFocusIn,\n  focusIfNeeded,\n  focusIntoView,\n  getAllFocusable,\n  getAllFocusableIn,\n  getAllTabbable,\n  getAllTabbableIn,\n  getClosestFocusable,\n  getFirstFocusable,\n  getFirstFocusableIn,\n  getFirstTabbable,\n  getFirstTabbableIn,\n  getLastTabbable,\n  getLastTabbableIn,\n  getNextTabbable,\n  getNextTabbableIn,\n  getPreviousTabbable,\n  getPreviousTabbableIn,\n  hasFocus,\n  hasFocusWithin,\n  isFocusable,\n  isTabbable,\n  restoreFocusIn\n};\n","\"use client\";\nimport {\n  flipItems\n} from \"./3IEDWLST.js\";\nimport {\n  useCompositeContext\n} from \"./IB7YUKH5.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useEvent\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-typeahead.ts\nimport { useRef } from \"react\";\nimport { isTextField } from \"@ariakit/core/utils/dom\";\nimport { isSelfTarget } from \"@ariakit/core/utils/events\";\nimport { invariant, normalizeString } from \"@ariakit/core/utils/misc\";\nvar chars = \"\";\nfunction clearChars() {\n  chars = \"\";\n}\nfunction isValidTypeaheadEvent(event) {\n  const target = event.target;\n  if (target && isTextField(target))\n    return false;\n  if (event.key === \" \" && chars.length)\n    return true;\n  return event.key.length === 1 && !event.ctrlKey && !event.altKey && !event.metaKey && /^[\\p{Letter}\\p{Number}]$/u.test(event.key);\n}\nfunction isSelfTargetOrItem(event, items) {\n  if (isSelfTarget(event))\n    return true;\n  const target = event.target;\n  if (!target)\n    return false;\n  const isItem = items.some((item) => item.element === target);\n  return isItem;\n}\nfunction getEnabledItems(items) {\n  return items.filter((item) => !item.disabled);\n}\nfunction itemTextStartsWith(item, text) {\n  var _a;\n  const itemText = ((_a = item.element) == null ? void 0 : _a.textContent) || item.children;\n  if (!itemText)\n    return false;\n  return normalizeString(itemText).trim().toLowerCase().startsWith(text.toLowerCase());\n}\nfunction getSameInitialItems(items, char, activeId) {\n  if (!activeId)\n    return items;\n  const activeItem = items.find((item) => item.id === activeId);\n  if (!activeItem)\n    return items;\n  if (!itemTextStartsWith(activeItem, char))\n    return items;\n  if (chars !== char && itemTextStartsWith(activeItem, chars))\n    return items;\n  chars = char;\n  return flipItems(\n    items.filter((item) => itemTextStartsWith(item, chars)),\n    activeId\n  ).filter((item) => item.id !== activeId);\n}\nvar useCompositeTypeahead = createHook(\n  (_a) => {\n    var _b = _a, { store, typeahead = true } = _b, props = __objRest(_b, [\"store\", \"typeahead\"]);\n    const context = useCompositeContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"CompositeTypeahead must be a Composite component\"\n    );\n    const onKeyDownCaptureProp = props.onKeyDownCapture;\n    const cleanupTimeoutRef = useRef(0);\n    const onKeyDownCapture = useEvent(\n      (event) => {\n        onKeyDownCaptureProp == null ? void 0 : onKeyDownCaptureProp(event);\n        if (event.defaultPrevented)\n          return;\n        if (!typeahead)\n          return;\n        if (!store)\n          return;\n        const { items, activeId } = store.getState();\n        if (!isValidTypeaheadEvent(event))\n          return clearChars();\n        let enabledItems = getEnabledItems(items);\n        if (!isSelfTargetOrItem(event, enabledItems))\n          return clearChars();\n        event.preventDefault();\n        window.clearTimeout(cleanupTimeoutRef.current);\n        cleanupTimeoutRef.current = window.setTimeout(() => {\n          chars = \"\";\n        }, 500);\n        const char = event.key.toLowerCase();\n        chars += char;\n        enabledItems = getSameInitialItems(enabledItems, char, activeId);\n        const item = enabledItems.find(\n          (item2) => itemTextStartsWith(item2, chars)\n        );\n        if (item) {\n          store.move(item.id);\n        } else {\n          clearChars();\n        }\n      }\n    );\n    props = __spreadProps(__spreadValues({}, props), {\n      onKeyDownCapture\n    });\n    return props;\n  }\n);\nvar CompositeTypeahead = createComponent(\n  (props) => {\n    const htmlProps = useCompositeTypeahead(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  CompositeTypeahead.displayName = \"CompositeTypeahead\";\n}\n\nexport {\n  useCompositeTypeahead,\n  CompositeTypeahead\n};\n","\"use client\";\n\n// src/composite/utils.ts\nimport { getDocument, isTextField } from \"@ariakit/core/utils/dom\";\nvar NULL_ITEM = { id: null };\nfunction flipItems(items, activeId, shouldInsertNullItem = false) {\n  const index = items.findIndex((item) => item.id === activeId);\n  return [\n    ...items.slice(index + 1),\n    ...shouldInsertNullItem ? [NULL_ITEM] : [],\n    ...items.slice(0, index)\n  ];\n}\nfunction findFirstEnabledItem(items, excludeId) {\n  return items.find((item) => {\n    if (excludeId) {\n      return !item.disabled && item.id !== excludeId;\n    }\n    return !item.disabled;\n  });\n}\nfunction getEnabledItem(store, id) {\n  if (!id)\n    return null;\n  return store.item(id) || null;\n}\nfunction groupItemsByRows(items) {\n  const rows = [];\n  for (const item of items) {\n    const row = rows.find((currentRow) => {\n      var _a;\n      return ((_a = currentRow[0]) == null ? void 0 : _a.rowId) === item.rowId;\n    });\n    if (row) {\n      row.push(item);\n    } else {\n      rows.push([item]);\n    }\n  }\n  return rows;\n}\nfunction selectTextField(element, collapseToEnd = false) {\n  if (isTextField(element)) {\n    element.setSelectionRange(\n      collapseToEnd ? element.value.length : 0,\n      element.value.length\n    );\n  } else if (element.isContentEditable) {\n    const selection = getDocument(element).getSelection();\n    selection == null ? void 0 : selection.selectAllChildren(element);\n    if (collapseToEnd) {\n      selection == null ? void 0 : selection.collapseToEnd();\n    }\n  }\n}\nvar FOCUS_SILENTLY = Symbol(\"FOCUS_SILENTLY\");\nfunction focusSilently(element) {\n  element[FOCUS_SILENTLY] = true;\n  element.focus({ preventScroll: true });\n}\nfunction silentlyFocused(element) {\n  const isSilentlyFocused = element[FOCUS_SILENTLY];\n  delete element[FOCUS_SILENTLY];\n  return isSilentlyFocused;\n}\nfunction isItem(store, element, exclude) {\n  if (!element)\n    return false;\n  if (element === exclude)\n    return false;\n  const item = store.item(element.id);\n  if (!item)\n    return false;\n  if (exclude && item.element === exclude)\n    return false;\n  return true;\n}\n\nexport {\n  flipItems,\n  findFirstEnabledItem,\n  getEnabledItem,\n  groupItemsByRows,\n  selectTextField,\n  focusSilently,\n  silentlyFocused,\n  isItem\n};\n","\"use client\";\nimport {\n  useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n  getRefProperty,\n  mergeProps\n} from \"./XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/system.tsx\nimport * as React from \"react\";\nimport { hasOwnProperty } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction isRenderProp(children) {\n  return typeof children === \"function\";\n}\nfunction forwardRef2(render) {\n  const Role = React.forwardRef((props, ref) => render(__spreadProps(__spreadValues({}, props), { ref })));\n  Role.displayName = render.displayName || render.name;\n  return Role;\n}\nfunction memo2(Component, propsAreEqual) {\n  const Role = React.memo(Component, propsAreEqual);\n  Role.displayName = Component.displayName || Component.name;\n  return Role;\n}\nfunction createComponent(render) {\n  const Role = (props, ref) => render(__spreadValues({ ref }, props));\n  return React.forwardRef(Role);\n}\nfunction createMemoComponent(render) {\n  const Role = createComponent(render);\n  return React.memo(Role);\n}\nfunction createElement(Type, props) {\n  const _a = props, { as: As, wrapElement, render } = _a, rest = __objRest(_a, [\"as\", \"wrapElement\", \"render\"]);\n  let element;\n  const mergedRef = useMergeRefs(props.ref, getRefProperty(render));\n  if (process.env.NODE_ENV !== \"production\") {\n    React.useEffect(() => {\n      if (!As)\n        return;\n      console.warn(\n        \"The `as` prop is deprecated. Use the `render` prop instead.\",\n        \"See https://ariakit.org/guide/composition\"\n      );\n    }, [As]);\n  }\n  if (As && typeof As !== \"string\") {\n    element = /* @__PURE__ */ jsx(As, __spreadProps(__spreadValues({}, rest), { render }));\n  } else if (React.isValidElement(render)) {\n    const renderProps = __spreadProps(__spreadValues({}, render.props), { ref: mergedRef });\n    element = React.cloneElement(render, mergeProps(rest, renderProps));\n  } else if (render) {\n    element = render(rest);\n  } else if (isRenderProp(props.children)) {\n    if (process.env.NODE_ENV !== \"production\") {\n      React.useEffect(() => {\n        console.warn(\n          \"The `children` prop as a function is deprecated. Use the `render` prop instead.\",\n          \"See https://ariakit.org/guide/composition\"\n        );\n      }, []);\n    }\n    const _b = rest, { children } = _b, otherProps = __objRest(_b, [\"children\"]);\n    element = props.children(otherProps);\n  } else if (As) {\n    element = /* @__PURE__ */ jsx(As, __spreadValues({}, rest));\n  } else {\n    element = /* @__PURE__ */ jsx(Type, __spreadValues({}, rest));\n  }\n  if (wrapElement) {\n    return wrapElement(element);\n  }\n  return element;\n}\nfunction createHook(useProps) {\n  const useRole = (props = {}) => {\n    const htmlProps = useProps(props);\n    const copy = {};\n    for (const prop in htmlProps) {\n      if (hasOwnProperty(htmlProps, prop) && htmlProps[prop] !== void 0) {\n        copy[prop] = htmlProps[prop];\n      }\n    }\n    return copy;\n  };\n  return useRole;\n}\nfunction createStoreContext(providers = [], scopedProviders = []) {\n  const context = React.createContext(void 0);\n  const scopedContext = React.createContext(void 0);\n  const useContext2 = () => React.useContext(context);\n  const useScopedContext = (onlyScoped = false) => {\n    const scoped = React.useContext(scopedContext);\n    const store = useContext2();\n    if (onlyScoped)\n      return scoped;\n    return scoped || store;\n  };\n  const useProviderContext = () => {\n    const scoped = React.useContext(scopedContext);\n    const store = useContext2();\n    if (scoped && scoped === store)\n      return;\n    return store;\n  };\n  const ContextProvider = (props) => {\n    return providers.reduceRight(\n      (children, Provider) => /* @__PURE__ */ jsx(Provider, __spreadProps(__spreadValues({}, props), { children })),\n      /* @__PURE__ */ jsx(context.Provider, __spreadValues({}, props))\n    );\n  };\n  const ScopedContextProvider = (props) => {\n    return /* @__PURE__ */ jsx(ContextProvider, __spreadProps(__spreadValues({}, props), { children: scopedProviders.reduceRight(\n      (children, Provider) => /* @__PURE__ */ jsx(Provider, __spreadProps(__spreadValues({}, props), { children })),\n      /* @__PURE__ */ jsx(scopedContext.Provider, __spreadValues({}, props))\n    ) }));\n  };\n  return {\n    context,\n    scopedContext,\n    useContext: useContext2,\n    useScopedContext,\n    useProviderContext,\n    ContextProvider,\n    ScopedContextProvider\n  };\n}\n\nexport {\n  forwardRef2 as forwardRef,\n  memo2 as memo,\n  createComponent,\n  createMemoComponent,\n  createElement,\n  createHook,\n  createStoreContext\n};\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n  for (var prop in b || (b = {}))\n    if (__hasOwnProp.call(b, prop))\n      __defNormalProp(a, prop, b[prop]);\n  if (__getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(b)) {\n      if (__propIsEnum.call(b, prop))\n        __defNormalProp(a, prop, b[prop]);\n    }\n  return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n  var target = {};\n  for (var prop in source)\n    if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n      target[prop] = source[prop];\n  if (source != null && __getOwnPropSymbols)\n    for (var prop of __getOwnPropSymbols(source)) {\n      if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n        target[prop] = source[prop];\n    }\n  return target;\n};\n\nexport {\n  __spreadValues,\n  __spreadProps,\n  __objRest\n};\n","\"use client\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/collection/collection-context.tsx\nvar ctx = createStoreContext();\nvar useCollectionContext = ctx.useContext;\nvar useCollectionScopedContext = ctx.useScopedContext;\nvar useCollectionProviderContext = ctx.useProviderContext;\nvar CollectionContextProvider = ctx.ContextProvider;\nvar CollectionScopedContextProvider = ctx.ScopedContextProvider;\n\nexport {\n  useCollectionContext,\n  useCollectionScopedContext,\n  useCollectionProviderContext,\n  CollectionContextProvider,\n  CollectionScopedContextProvider\n};\n","\"use client\";\nimport {\n  setRef\n} from \"./XM66DUTO.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/hooks.ts\nimport {\n  useCallback,\n  useEffect,\n  useLayoutEffect,\n  useMemo,\n  useReducer,\n  useRef,\n  useState\n} from \"react\";\nimport * as React from \"react\";\nimport { canUseDOM } from \"@ariakit/core/utils/dom\";\nimport { addGlobalEventListener } from \"@ariakit/core/utils/events\";\nimport { applyState } from \"@ariakit/core/utils/misc\";\nvar _React = __spreadValues({}, React);\nvar useReactId = _React.useId;\nvar useReactDeferredValue = _React.useDeferredValue;\nvar useReactInsertionEffect = _React.useInsertionEffect;\nvar useSafeLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\nfunction useInitialValue(value) {\n  const [initialValue] = useState(value);\n  return initialValue;\n}\nfunction useLazyValue(init) {\n  const ref = useRef();\n  if (ref.current === void 0) {\n    ref.current = init();\n  }\n  return ref.current;\n}\nfunction useLiveRef(value) {\n  const ref = useRef(value);\n  useSafeLayoutEffect(() => {\n    ref.current = value;\n  });\n  return ref;\n}\nfunction usePreviousValue(value) {\n  const [previousValue, setPreviousValue] = useState(value);\n  if (value !== previousValue) {\n    setPreviousValue(value);\n  }\n  return previousValue;\n}\nfunction useEvent(callback) {\n  const ref = useRef(() => {\n    throw new Error(\"Cannot call an event handler while rendering.\");\n  });\n  if (useReactInsertionEffect) {\n    useReactInsertionEffect(() => {\n      ref.current = callback;\n    });\n  } else {\n    ref.current = callback;\n  }\n  return useCallback((...args) => {\n    var _a;\n    return (_a = ref.current) == null ? void 0 : _a.call(ref, ...args);\n  }, []);\n}\nfunction useMergeRefs(...refs) {\n  return useMemo(() => {\n    if (!refs.some(Boolean))\n      return;\n    return (value) => {\n      refs.forEach((ref) => setRef(ref, value));\n    };\n  }, refs);\n}\nfunction useRefId(ref, deps) {\n  const [id, setId] = useState(void 0);\n  useSafeLayoutEffect(() => {\n    var _a;\n    setId((_a = ref == null ? void 0 : ref.current) == null ? void 0 : _a.id);\n  }, deps);\n  return id;\n}\nfunction useId(defaultId) {\n  if (useReactId) {\n    const reactId = useReactId();\n    if (defaultId)\n      return defaultId;\n    return reactId;\n  }\n  const [id, setId] = useState(defaultId);\n  useSafeLayoutEffect(() => {\n    if (defaultId || id)\n      return;\n    const random = Math.random().toString(36).substr(2, 6);\n    setId(`id-${random}`);\n  }, [defaultId, id]);\n  return defaultId || id;\n}\nfunction useDeferredValue(value) {\n  if (useReactDeferredValue) {\n    return useReactDeferredValue(value);\n  }\n  const [deferredValue, setDeferredValue] = useState(value);\n  useEffect(() => {\n    const raf = requestAnimationFrame(() => setDeferredValue(value));\n    return () => cancelAnimationFrame(raf);\n  }, [value]);\n  return deferredValue;\n}\nfunction useTagName(refOrElement, type) {\n  const stringOrUndefined = (type2) => {\n    if (typeof type2 !== \"string\")\n      return;\n    return type2;\n  };\n  const [tagName, setTagName] = useState(() => stringOrUndefined(type));\n  useSafeLayoutEffect(() => {\n    const element = refOrElement && \"current\" in refOrElement ? refOrElement.current : refOrElement;\n    setTagName((element == null ? void 0 : element.tagName.toLowerCase()) || stringOrUndefined(type));\n  }, [refOrElement, type]);\n  return tagName;\n}\nfunction useAttribute(refOrElement, attributeName, defaultValue) {\n  const [attribute, setAttribute] = useState(defaultValue);\n  useSafeLayoutEffect(() => {\n    const element = refOrElement && \"current\" in refOrElement ? refOrElement.current : refOrElement;\n    const value = element == null ? void 0 : element.getAttribute(attributeName);\n    if (value == null)\n      return;\n    setAttribute(value);\n  }, [refOrElement, attributeName]);\n  return attribute;\n}\nfunction useUpdateEffect(effect, deps) {\n  const mounted = useRef(false);\n  useEffect(() => {\n    if (mounted.current) {\n      return effect();\n    }\n    mounted.current = true;\n  }, deps);\n  useEffect(\n    () => () => {\n      mounted.current = false;\n    },\n    []\n  );\n}\nfunction useUpdateLayoutEffect(effect, deps) {\n  const mounted = useRef(false);\n  useSafeLayoutEffect(() => {\n    if (mounted.current) {\n      return effect();\n    }\n    mounted.current = true;\n  }, deps);\n  useSafeLayoutEffect(\n    () => () => {\n      mounted.current = false;\n    },\n    []\n  );\n}\nfunction useControlledState(defaultState, state, setState) {\n  const [localState, setLocalState] = useState(defaultState);\n  const nextState = state !== void 0 ? state : localState;\n  const stateRef = useLiveRef(state);\n  const setStateRef = useLiveRef(setState);\n  const nextStateRef = useLiveRef(nextState);\n  const setNextState = useCallback((prevValue) => {\n    const setStateProp = setStateRef.current;\n    if (setStateProp) {\n      if (isSetNextState(setStateProp)) {\n        setStateProp(prevValue);\n      } else {\n        const nextValue = applyState(prevValue, nextStateRef.current);\n        nextStateRef.current = nextValue;\n        setStateProp(nextValue);\n      }\n    }\n    if (stateRef.current === void 0) {\n      setLocalState(prevValue);\n    }\n  }, []);\n  defineSetNextState(setNextState);\n  return [nextState, setNextState];\n}\nvar SET_NEXT_STATE = Symbol(\"setNextState\");\nfunction isSetNextState(arg) {\n  return arg[SET_NEXT_STATE] === true;\n}\nfunction defineSetNextState(arg) {\n  if (!isSetNextState(arg)) {\n    Object.defineProperty(arg, SET_NEXT_STATE, { value: true });\n  }\n}\nfunction useForceUpdate() {\n  return useReducer(() => [], []);\n}\nfunction useBooleanEvent(booleanOrCallback) {\n  return useEvent(\n    typeof booleanOrCallback === \"function\" ? booleanOrCallback : () => booleanOrCallback\n  );\n}\nfunction useWrapElement(props, callback, deps = []) {\n  const wrapElement = useCallback(\n    (element) => {\n      if (props.wrapElement) {\n        element = props.wrapElement(element);\n      }\n      return callback(element);\n    },\n    [...deps, props.wrapElement]\n  );\n  return __spreadProps(__spreadValues({}, props), { wrapElement });\n}\nfunction usePortalRef(portalProp = false, portalRefProp) {\n  const [portalNode, setPortalNode] = useState(null);\n  const portalRef = useMergeRefs(setPortalNode, portalRefProp);\n  const domReady = !portalProp || portalNode;\n  return { portalRef, portalNode, domReady };\n}\nfunction useMetadataProps(props, key, value) {\n  const parent = props.onLoadedMetadataCapture;\n  const onLoadedMetadataCapture = useMemo(() => {\n    return Object.assign(() => {\n    }, __spreadProps(__spreadValues({}, parent), { [key]: value }));\n  }, [parent, key, value]);\n  return [parent == null ? void 0 : parent[key], { onLoadedMetadataCapture }];\n}\nfunction useIsMouseMoving() {\n  useEffect(() => {\n    addGlobalEventListener(\"mousemove\", setMouseMoving, true);\n    addGlobalEventListener(\"mousedown\", resetMouseMoving, true);\n    addGlobalEventListener(\"mouseup\", resetMouseMoving, true);\n    addGlobalEventListener(\"keydown\", resetMouseMoving, true);\n    addGlobalEventListener(\"scroll\", resetMouseMoving, true);\n  }, []);\n  const isMouseMoving = useEvent(() => mouseMoving);\n  return isMouseMoving;\n}\nvar mouseMoving = false;\nvar previousScreenX = 0;\nvar previousScreenY = 0;\nfunction hasMouseMovement(event) {\n  const movementX = event.movementX || event.screenX - previousScreenX;\n  const movementY = event.movementY || event.screenY - previousScreenY;\n  previousScreenX = event.screenX;\n  previousScreenY = event.screenY;\n  return movementX || movementY || process.env.NODE_ENV === \"test\";\n}\nfunction setMouseMoving(event) {\n  if (!hasMouseMovement(event))\n    return;\n  mouseMoving = true;\n}\nfunction resetMouseMoving() {\n  mouseMoving = false;\n}\n\nexport {\n  useSafeLayoutEffect,\n  useInitialValue,\n  useLazyValue,\n  useLiveRef,\n  usePreviousValue,\n  useEvent,\n  useMergeRefs,\n  useRefId,\n  useId,\n  useDeferredValue,\n  useTagName,\n  useAttribute,\n  useUpdateEffect,\n  useUpdateLayoutEffect,\n  useControlledState,\n  useForceUpdate,\n  useBooleanEvent,\n  useWrapElement,\n  usePortalRef,\n  useMetadataProps,\n  useIsMouseMoving\n};\n","\"use client\";\nimport {\n  useCollectionStoreProps\n} from \"./Y6GYTNQ2.js\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\n\n// src/composite/composite-store.ts\nimport * as Core from \"@ariakit/core/composite/composite-store\";\nfunction useCompositeStoreProps(store, update, props) {\n  store = useCollectionStoreProps(store, update, props);\n  useStoreProps(store, props, \"activeId\", \"setActiveId\");\n  useStoreProps(store, props, \"includesBaseElement\");\n  useStoreProps(store, props, \"virtualFocus\");\n  useStoreProps(store, props, \"orientation\");\n  useStoreProps(store, props, \"rtl\");\n  useStoreProps(store, props, \"focusLoop\");\n  useStoreProps(store, props, \"focusWrap\");\n  useStoreProps(store, props, \"focusShift\");\n  return store;\n}\nfunction useCompositeStore(props = {}) {\n  const [store, update] = useStore(Core.createCompositeStore, props);\n  return useCompositeStoreProps(store, update, props);\n}\n\nexport {\n  useCompositeStoreProps,\n  useCompositeStore\n};\n","\"use client\";\nimport {\n  DialogContextProvider,\n  DialogScopedContextProvider\n} from \"./G6BJYYBK.js\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/popover/popover-context.tsx\nvar ctx = createStoreContext(\n  [DialogContextProvider],\n  [DialogScopedContextProvider]\n);\nvar usePopoverContext = ctx.useContext;\nvar usePopoverScopedContext = ctx.useScopedContext;\nvar usePopoverProviderContext = ctx.useProviderContext;\nvar PopoverContextProvider = ctx.ContextProvider;\nvar PopoverScopedContextProvider = ctx.ScopedContextProvider;\n\nexport {\n  usePopoverContext,\n  usePopoverScopedContext,\n  usePopoverProviderContext,\n  PopoverContextProvider,\n  PopoverScopedContextProvider\n};\n","\"use client\";\nimport {\n  findFirstEnabledItem,\n  getEnabledItem,\n  groupItemsByRows,\n  isItem,\n  silentlyFocused\n} from \"./3IEDWLST.js\";\nimport {\n  CompositeContextProvider,\n  useCompositeProviderContext\n} from \"./IB7YUKH5.js\";\nimport {\n  useFocusable\n} from \"./KK7H3W2B.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useMergeRefs,\n  useSafeLayoutEffect,\n  useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite.tsx\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { flatten2DArray, reverseArray } from \"@ariakit/core/utils/array\";\nimport { getActiveElement, isTextField } from \"@ariakit/core/utils/dom\";\nimport {\n  fireBlurEvent,\n  fireKeyboardEvent,\n  isSelfTarget\n} from \"@ariakit/core/utils/events\";\nimport { focusIntoView, hasFocus } from \"@ariakit/core/utils/focus\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction isGrid(items) {\n  return items.some((item) => !!item.rowId);\n}\nfunction isPrintableKey(event) {\n  const target = event.target;\n  if (target && !isTextField(target))\n    return false;\n  return event.key.length === 1 && !event.ctrlKey && !event.metaKey;\n}\nfunction isModifierKey(event) {\n  return event.key === \"Shift\" || event.key === \"Control\" || event.key === \"Alt\" || event.key === \"Meta\";\n}\nfunction useKeyboardEventProxy(store, onKeyboardEvent, previousElementRef) {\n  return useEvent((event) => {\n    var _a;\n    onKeyboardEvent == null ? void 0 : onKeyboardEvent(event);\n    if (event.defaultPrevented)\n      return;\n    if (event.isPropagationStopped())\n      return;\n    if (!isSelfTarget(event))\n      return;\n    if (isModifierKey(event))\n      return;\n    if (isPrintableKey(event))\n      return;\n    const state = store.getState();\n    const activeElement = (_a = getEnabledItem(store, state.activeId)) == null ? void 0 : _a.element;\n    if (!activeElement)\n      return;\n    const _b = event, { view } = _b, eventInit = __objRest(_b, [\"view\"]);\n    const previousElement = previousElementRef == null ? void 0 : previousElementRef.current;\n    if (activeElement !== previousElement) {\n      activeElement.focus();\n    }\n    if (!fireKeyboardEvent(activeElement, event.type, eventInit)) {\n      event.preventDefault();\n    }\n    if (event.currentTarget.contains(activeElement)) {\n      event.stopPropagation();\n    }\n  });\n}\nfunction findFirstEnabledItemInTheLastRow(items) {\n  return findFirstEnabledItem(\n    flatten2DArray(reverseArray(groupItemsByRows(items)))\n  );\n}\nfunction useScheduleFocus(store) {\n  const [scheduled, setScheduled] = useState(false);\n  const schedule = useCallback(() => setScheduled(true), []);\n  const activeItem = store.useState(\n    (state) => getEnabledItem(store, state.activeId)\n  );\n  useEffect(() => {\n    const activeElement = activeItem == null ? void 0 : activeItem.element;\n    if (!scheduled)\n      return;\n    if (!activeElement)\n      return;\n    setScheduled(false);\n    activeElement.focus({ preventScroll: true });\n  }, [activeItem, scheduled]);\n  return schedule;\n}\nvar useComposite = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      composite = true,\n      focusOnMove = composite,\n      moveOnKeyPress = true\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"composite\",\n      \"focusOnMove\",\n      \"moveOnKeyPress\"\n    ]);\n    const context = useCompositeProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"Composite must receive a `store` prop or be wrapped in a CompositeProvider component.\"\n    );\n    const previousElementRef = useRef(null);\n    const scheduleFocus = useScheduleFocus(store);\n    const moves = store.useState(\"moves\");\n    useEffect(() => {\n      var _a2;\n      if (!store)\n        return;\n      if (!moves)\n        return;\n      if (!composite)\n        return;\n      if (!focusOnMove)\n        return;\n      const { activeId: activeId2 } = store.getState();\n      const itemElement = (_a2 = getEnabledItem(store, activeId2)) == null ? void 0 : _a2.element;\n      if (!itemElement)\n        return;\n      focusIntoView(itemElement);\n    }, [store, moves, composite, focusOnMove]);\n    useSafeLayoutEffect(() => {\n      if (!store)\n        return;\n      if (!moves)\n        return;\n      if (!composite)\n        return;\n      const { baseElement, activeId: activeId2 } = store.getState();\n      const isSelfAcive = activeId2 === null;\n      if (!isSelfAcive)\n        return;\n      if (!baseElement)\n        return;\n      const previousElement = previousElementRef.current;\n      previousElementRef.current = null;\n      if (previousElement) {\n        fireBlurEvent(previousElement, { relatedTarget: baseElement });\n      }\n      if (!hasFocus(baseElement)) {\n        baseElement.focus();\n      }\n    }, [store, moves, composite]);\n    const activeId = store.useState(\"activeId\");\n    const virtualFocus = store.useState(\"virtualFocus\");\n    useSafeLayoutEffect(() => {\n      var _a2;\n      if (!store)\n        return;\n      if (!composite)\n        return;\n      if (!virtualFocus)\n        return;\n      const previousElement = previousElementRef.current;\n      previousElementRef.current = null;\n      if (!previousElement)\n        return;\n      const activeElement = (_a2 = getEnabledItem(store, activeId)) == null ? void 0 : _a2.element;\n      const relatedTarget = activeElement || getActiveElement(previousElement);\n      if (relatedTarget === previousElement)\n        return;\n      fireBlurEvent(previousElement, { relatedTarget });\n    }, [store, activeId, virtualFocus, composite]);\n    const onKeyDownCapture = useKeyboardEventProxy(\n      store,\n      props.onKeyDownCapture,\n      previousElementRef\n    );\n    const onKeyUpCapture = useKeyboardEventProxy(\n      store,\n      props.onKeyUpCapture,\n      previousElementRef\n    );\n    const onFocusCaptureProp = props.onFocusCapture;\n    const onFocusCapture = useEvent((event) => {\n      onFocusCaptureProp == null ? void 0 : onFocusCaptureProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!store)\n        return;\n      const { virtualFocus: virtualFocus2 } = store.getState();\n      if (!virtualFocus2)\n        return;\n      const previousActiveElement = event.relatedTarget;\n      const isSilentlyFocused = silentlyFocused(event.currentTarget);\n      if (isSelfTarget(event) && isSilentlyFocused) {\n        event.stopPropagation();\n        previousElementRef.current = previousActiveElement;\n      }\n    });\n    const onFocusProp = props.onFocus;\n    const onFocus = useEvent((event) => {\n      onFocusProp == null ? void 0 : onFocusProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!composite)\n        return;\n      if (!store)\n        return;\n      const { relatedTarget } = event;\n      const { virtualFocus: virtualFocus2 } = store.getState();\n      if (virtualFocus2) {\n        if (isSelfTarget(event) && !isItem(store, relatedTarget)) {\n          queueMicrotask(scheduleFocus);\n        }\n      } else if (isSelfTarget(event)) {\n        store.setActiveId(null);\n      }\n    });\n    const onBlurCaptureProp = props.onBlurCapture;\n    const onBlurCapture = useEvent((event) => {\n      var _a2;\n      onBlurCaptureProp == null ? void 0 : onBlurCaptureProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!store)\n        return;\n      const { virtualFocus: virtualFocus2, activeId: activeId2 } = store.getState();\n      if (!virtualFocus2)\n        return;\n      const activeElement = (_a2 = getEnabledItem(store, activeId2)) == null ? void 0 : _a2.element;\n      const nextActiveElement = event.relatedTarget;\n      const nextActiveElementIsItem = isItem(store, nextActiveElement);\n      const previousElement = previousElementRef.current;\n      previousElementRef.current = null;\n      if (isSelfTarget(event) && nextActiveElementIsItem) {\n        if (nextActiveElement === activeElement) {\n          if (previousElement && previousElement !== nextActiveElement) {\n            fireBlurEvent(previousElement, event);\n          }\n        } else if (activeElement) {\n          fireBlurEvent(activeElement, event);\n        } else if (previousElement) {\n          fireBlurEvent(previousElement, event);\n        }\n        event.stopPropagation();\n      } else {\n        const targetIsItem = isItem(store, event.target);\n        if (!targetIsItem && activeElement) {\n          fireBlurEvent(activeElement, event);\n        }\n      }\n    });\n    const onKeyDownProp = props.onKeyDown;\n    const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);\n    const onKeyDown = useEvent((event) => {\n      var _a2;\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!store)\n        return;\n      if (!isSelfTarget(event))\n        return;\n      const { orientation, items, renderedItems, activeId: activeId2 } = store.getState();\n      const activeItem = getEnabledItem(store, activeId2);\n      if ((_a2 = activeItem == null ? void 0 : activeItem.element) == null ? void 0 : _a2.isConnected)\n        return;\n      const isVertical = orientation !== \"horizontal\";\n      const isHorizontal = orientation !== \"vertical\";\n      const grid = isGrid(renderedItems);\n      const isHorizontalKey = event.key === \"ArrowLeft\" || event.key === \"ArrowRight\" || event.key === \"Home\" || event.key === \"End\";\n      if (isHorizontalKey && isTextField(event.currentTarget))\n        return;\n      const up = () => {\n        if (grid) {\n          const item = items && findFirstEnabledItemInTheLastRow(items);\n          return item == null ? void 0 : item.id;\n        }\n        return store == null ? void 0 : store.last();\n      };\n      const keyMap = {\n        ArrowUp: (grid || isVertical) && up,\n        ArrowRight: (grid || isHorizontal) && store.first,\n        ArrowDown: (grid || isVertical) && store.first,\n        ArrowLeft: (grid || isHorizontal) && store.last,\n        Home: store.first,\n        End: store.last,\n        PageUp: store.first,\n        PageDown: store.last\n      };\n      const action = keyMap[event.key];\n      if (action) {\n        const id = action();\n        if (id !== void 0) {\n          if (!moveOnKeyPressProp(event))\n            return;\n          event.preventDefault();\n          store.move(id);\n        }\n      }\n    });\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(CompositeContextProvider, { value: store, children: element }),\n      [store]\n    );\n    const activeDescendant = store.useState((state) => {\n      var _a2;\n      if (!store)\n        return;\n      if (!composite)\n        return;\n      if (!state.virtualFocus)\n        return;\n      return (_a2 = getEnabledItem(store, state.activeId)) == null ? void 0 : _a2.id;\n    });\n    props = __spreadProps(__spreadValues({\n      \"aria-activedescendant\": activeDescendant\n    }, props), {\n      ref: useMergeRefs(composite ? store.setBaseElement : null, props.ref),\n      onKeyDownCapture,\n      onKeyUpCapture,\n      onFocusCapture,\n      onFocus,\n      onBlurCapture,\n      onKeyDown\n    });\n    const focusable = store.useState(\n      (state) => composite && (state.virtualFocus || state.activeId === null)\n    );\n    props = useFocusable(__spreadValues({ focusable }, props));\n    return props;\n  }\n);\nvar Composite = createComponent((props) => {\n  const htmlProps = useComposite(props);\n  return createElement(\"div\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Composite.displayName = \"Composite\";\n}\n\nexport {\n  useComposite,\n  Composite\n};\n","\"use client\";\nimport {\n  DialogScopedContextProvider\n} from \"./G6BJYYBK.js\";\nimport {\n  useDisclosureProviderContext\n} from \"./OAYFXAQ2.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useStoreState\n} from \"./EKQEJRUF.js\";\nimport {\n  useId,\n  useMergeRefs,\n  useSafeLayoutEffect,\n  useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/disclosure/disclosure-content.tsx\nimport { useState } from \"react\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction afterTimeout(timeoutMs, cb) {\n  const timeoutId = setTimeout(cb, timeoutMs);\n  return () => clearTimeout(timeoutId);\n}\nfunction afterPaint(cb) {\n  let raf = requestAnimationFrame(() => {\n    raf = requestAnimationFrame(cb);\n  });\n  return () => cancelAnimationFrame(raf);\n}\nfunction parseCSSTime(...times) {\n  return times.join(\", \").split(\", \").reduce((longestTime, currentTimeString) => {\n    const currentTime = parseFloat(currentTimeString || \"0s\") * 1e3;\n    if (currentTime > longestTime)\n      return currentTime;\n    return longestTime;\n  }, 0);\n}\nfunction isHidden(mounted, hidden, alwaysVisible) {\n  return !alwaysVisible && hidden !== false && (!mounted || !!hidden);\n}\nvar useDisclosureContent = createHook(\n  (_a) => {\n    var _b = _a, { store, alwaysVisible } = _b, props = __objRest(_b, [\"store\", \"alwaysVisible\"]);\n    const context = useDisclosureProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"DisclosureContent must receive a `store` prop or be wrapped in a DisclosureProvider component.\"\n    );\n    const id = useId(props.id);\n    const [transition, setTransition] = useState(null);\n    const open = store.useState(\"open\");\n    const mounted = store.useState(\"mounted\");\n    const animated = store.useState(\"animated\");\n    const contentElement = store.useState(\"contentElement\");\n    useSafeLayoutEffect(() => {\n      if (!animated)\n        return;\n      if (!(contentElement == null ? void 0 : contentElement.isConnected)) {\n        setTransition(null);\n        return;\n      }\n      return afterPaint(() => {\n        setTransition(open ? \"enter\" : \"leave\");\n      });\n    }, [animated, contentElement, open]);\n    useSafeLayoutEffect(() => {\n      if (!store)\n        return;\n      if (!animated)\n        return;\n      if (!contentElement)\n        return;\n      if (!transition)\n        return;\n      if (transition === \"enter\" && !open)\n        return;\n      if (transition === \"leave\" && open)\n        return;\n      if (typeof animated === \"number\") {\n        const timeoutMs2 = animated;\n        return afterTimeout(timeoutMs2, store.stopAnimation);\n      }\n      const {\n        transitionDuration,\n        animationDuration,\n        transitionDelay,\n        animationDelay\n      } = getComputedStyle(contentElement);\n      const delay = parseCSSTime(transitionDelay, animationDelay);\n      const duration = parseCSSTime(transitionDuration, animationDuration);\n      const timeoutMs = delay + duration;\n      if (!timeoutMs)\n        return;\n      return afterTimeout(timeoutMs, store.stopAnimation);\n    }, [store, animated, contentElement, open, transition]);\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(DialogScopedContextProvider, { value: store, children: element }),\n      [store]\n    );\n    const hidden = isHidden(mounted, props.hidden, alwaysVisible);\n    const style = hidden ? __spreadProps(__spreadValues({}, props.style), { display: \"none\" }) : props.style;\n    props = __spreadProps(__spreadValues({\n      id,\n      \"data-enter\": transition === \"enter\" ? \"\" : void 0,\n      \"data-leave\": transition === \"leave\" ? \"\" : void 0,\n      hidden\n    }, props), {\n      ref: useMergeRefs(id ? store.setContentElement : null, props.ref),\n      style\n    });\n    return props;\n  }\n);\nvar DisclosureContentImpl = createComponent(\n  (props) => {\n    const htmlProps = useDisclosureContent(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nvar DisclosureContent = createComponent(\n  (_a) => {\n    var _b = _a, { unmountOnHide } = _b, props = __objRest(_b, [\"unmountOnHide\"]);\n    const context = useDisclosureProviderContext();\n    const store = props.store || context;\n    const mounted = useStoreState(\n      store,\n      (state) => !unmountOnHide || (state == null ? void 0 : state.mounted)\n    );\n    if (mounted === false)\n      return null;\n    return /* @__PURE__ */ jsx(DisclosureContentImpl, __spreadValues({}, props));\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  DisclosureContent.displayName = \"DisclosureContent\";\n}\n\nexport {\n  isHidden,\n  useDisclosureContent,\n  DisclosureContent\n};\n","\"use client\";\nimport {\n  useEvent,\n  useLiveRef,\n  useSafeLayoutEffect\n} from \"./6O5OEQGF.js\";\nimport {\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/store.tsx\nimport * as React from \"react\";\nimport { hasOwnProperty, identity } from \"@ariakit/core/utils/misc\";\nimport { batch, init, subscribe, sync } from \"@ariakit/core/utils/store\";\nimport useSyncExternalStoreExports from \"use-sync-external-store/shim/index.js\";\nvar { useSyncExternalStore } = useSyncExternalStoreExports;\nvar noopSubscribe = () => () => {\n};\nfunction useStoreState(store, keyOrSelector = identity) {\n  const storeSubscribe = React.useCallback(\n    (callback) => {\n      if (!store)\n        return noopSubscribe();\n      return subscribe(store, null, callback);\n    },\n    [store]\n  );\n  const getSnapshot = () => {\n    const key = typeof keyOrSelector === \"string\" ? keyOrSelector : null;\n    const selector = typeof keyOrSelector === \"function\" ? keyOrSelector : null;\n    const state = store == null ? void 0 : store.getState();\n    if (selector)\n      return selector(state);\n    if (!state)\n      return;\n    if (!key)\n      return;\n    if (!hasOwnProperty(state, key))\n      return;\n    return state[key];\n  };\n  return useSyncExternalStore(storeSubscribe, getSnapshot, getSnapshot);\n}\nfunction useStoreProps(store, props, key, setKey) {\n  const value = hasOwnProperty(props, key) ? props[key] : void 0;\n  const setValue = setKey ? props[setKey] : void 0;\n  const propsRef = useLiveRef({ value, setValue });\n  useSafeLayoutEffect(() => {\n    return sync(store, [key], (state, prev) => {\n      const { value: value2, setValue: setValue2 } = propsRef.current;\n      if (!setValue2)\n        return;\n      if (state[key] === prev[key])\n        return;\n      if (state[key] === value2)\n        return;\n      setValue2(state[key]);\n    });\n  }, [store, key]);\n  useSafeLayoutEffect(() => {\n    if (value === void 0)\n      return;\n    store.setState(key, value);\n    return batch(store, [key], () => {\n      if (value === void 0)\n        return;\n      store.setState(key, value);\n    });\n  });\n}\nfunction useStore(createStore, props) {\n  const [store, setStore] = React.useState(() => createStore(props));\n  useSafeLayoutEffect(() => init(store), [store]);\n  const useState2 = React.useCallback(\n    (keyOrSelector) => useStoreState(store, keyOrSelector),\n    [store]\n  );\n  const memoizedStore = React.useMemo(\n    () => __spreadProps(__spreadValues({}, store), { useState: useState2 }),\n    [store, useState2]\n  );\n  const updateStore = useEvent(() => {\n    setStore((store2) => createStore(__spreadValues(__spreadValues({}, props), store2.getState())));\n  });\n  return [memoizedStore, updateStore];\n}\n\nexport {\n  useStoreState,\n  useStoreProps,\n  useStore\n};\n","\"use client\";\nimport {\n  DisclosureContextProvider,\n  DisclosureScopedContextProvider\n} from \"./OAYFXAQ2.js\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/dialog/dialog-context.tsx\nimport { createContext } from \"react\";\nvar ctx = createStoreContext(\n  [DisclosureContextProvider],\n  [DisclosureScopedContextProvider]\n);\nvar useDialogContext = ctx.useContext;\nvar useDialogScopedContext = ctx.useScopedContext;\nvar useDialogProviderContext = ctx.useProviderContext;\nvar DialogContextProvider = ctx.ContextProvider;\nvar DialogScopedContextProvider = ctx.ScopedContextProvider;\nvar DialogHeadingContext = createContext(void 0);\nvar DialogDescriptionContext = createContext(void 0);\n\nexport {\n  useDialogContext,\n  useDialogScopedContext,\n  useDialogProviderContext,\n  DialogContextProvider,\n  DialogScopedContextProvider,\n  DialogHeadingContext,\n  DialogDescriptionContext\n};\n","\"use client\";\nimport {\n  useCompositeContext\n} from \"./IB7YUKH5.js\";\nimport {\n  createElement,\n  createHook,\n  createMemoComponent\n} from \"./3ORBWXWF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useIsMouseMoving,\n  useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-hover.ts\nimport { useCallback } from \"react\";\nimport { contains } from \"@ariakit/core/utils/dom\";\nimport { hasFocus, hasFocusWithin } from \"@ariakit/core/utils/focus\";\nimport { hasOwnProperty, invariant } from \"@ariakit/core/utils/misc\";\nfunction getMouseDestination(event) {\n  const relatedTarget = event.relatedTarget;\n  if ((relatedTarget == null ? void 0 : relatedTarget.nodeType) === Node.ELEMENT_NODE) {\n    return relatedTarget;\n  }\n  return null;\n}\nfunction hoveringInside(event) {\n  const nextElement = getMouseDestination(event);\n  if (!nextElement)\n    return false;\n  return contains(event.currentTarget, nextElement);\n}\nvar symbol = Symbol(\"composite-hover\");\nfunction movingToAnotherItem(event) {\n  let dest = getMouseDestination(event);\n  if (!dest)\n    return false;\n  do {\n    if (hasOwnProperty(dest, symbol) && dest[symbol])\n      return true;\n    dest = dest.parentElement;\n  } while (dest);\n  return false;\n}\nvar useCompositeHover = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      focusOnHover = true,\n      blurOnHoverEnd = !!focusOnHover\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"focusOnHover\",\n      \"blurOnHoverEnd\"\n    ]);\n    const context = useCompositeContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"CompositeHover must be wrapped in a Composite component.\"\n    );\n    const isMouseMoving = useIsMouseMoving();\n    const onMouseMoveProp = props.onMouseMove;\n    const focusOnHoverProp = useBooleanEvent(focusOnHover);\n    const onMouseMove = useEvent((event) => {\n      onMouseMoveProp == null ? void 0 : onMouseMoveProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!isMouseMoving())\n        return;\n      if (!focusOnHoverProp(event))\n        return;\n      if (!hasFocusWithin(event.currentTarget)) {\n        const baseElement = store == null ? void 0 : store.getState().baseElement;\n        if (baseElement && !hasFocus(baseElement)) {\n          baseElement.focus();\n        }\n      }\n      store == null ? void 0 : store.setActiveId(event.currentTarget.id);\n    });\n    const onMouseLeaveProp = props.onMouseLeave;\n    const blurOnHoverEndProp = useBooleanEvent(blurOnHoverEnd);\n    const onMouseLeave = useEvent((event) => {\n      var _a2;\n      onMouseLeaveProp == null ? void 0 : onMouseLeaveProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!isMouseMoving())\n        return;\n      if (hoveringInside(event))\n        return;\n      if (movingToAnotherItem(event))\n        return;\n      if (!focusOnHoverProp(event))\n        return;\n      if (!blurOnHoverEndProp(event))\n        return;\n      store == null ? void 0 : store.setActiveId(null);\n      (_a2 = store == null ? void 0 : store.getState().baseElement) == null ? void 0 : _a2.focus();\n    });\n    const ref = useCallback((element) => {\n      if (!element)\n        return;\n      element[symbol] = true;\n    }, []);\n    props = __spreadProps(__spreadValues({}, props), {\n      ref: useMergeRefs(ref, props.ref),\n      onMouseMove,\n      onMouseLeave\n    });\n    return props;\n  }\n);\nvar CompositeHover = createMemoComponent(\n  (props) => {\n    const htmlProps = useCompositeHover(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  CompositeHover.displayName = \"CompositeHover\";\n}\n\nexport {\n  useCompositeHover,\n  CompositeHover\n};\n","\"use client\";\nimport {\n  CollectionContextProvider,\n  CollectionScopedContextProvider\n} from \"./4UUKJZ4V.js\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/composite/composite-context.tsx\nimport { createContext } from \"react\";\nvar ctx = createStoreContext(\n  [CollectionContextProvider],\n  [CollectionScopedContextProvider]\n);\nvar useCompositeContext = ctx.useContext;\nvar useCompositeScopedContext = ctx.useScopedContext;\nvar useCompositeProviderContext = ctx.useProviderContext;\nvar CompositeContextProvider = ctx.ContextProvider;\nvar CompositeScopedContextProvider = ctx.ScopedContextProvider;\nvar CompositeItemContext = createContext(\n  void 0\n);\nvar CompositeRowContext = createContext(\n  void 0\n);\n\nexport {\n  useCompositeContext,\n  useCompositeScopedContext,\n  useCompositeProviderContext,\n  CompositeContextProvider,\n  CompositeScopedContextProvider,\n  CompositeItemContext,\n  CompositeRowContext\n};\n","\"use client\";\nimport {\n  usePopoverProviderContext\n} from \"./7H5KSHHF.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/popover/popover-anchor.ts\nvar usePopoverAnchor = createHook(\n  (_a) => {\n    var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n    const context = usePopoverProviderContext();\n    store = store || context;\n    props = __spreadProps(__spreadValues({}, props), {\n      ref: useMergeRefs(store == null ? void 0 : store.setAnchorElement, props.ref)\n    });\n    return props;\n  }\n);\nvar PopoverAnchor = createComponent((props) => {\n  const htmlProps = usePopoverAnchor(props);\n  return createElement(\"div\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  PopoverAnchor.displayName = \"PopoverAnchor\";\n}\n\nexport {\n  usePopoverAnchor,\n  PopoverAnchor\n};\n","\"use client\";\nimport {\n  FocusableContext\n} from \"./SHA3WOPI.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useEvent,\n  useMergeRefs,\n  useTagName\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/focusable/focusable.ts\nimport { useContext, useEffect, useRef, useState } from \"react\";\nimport { isButton } from \"@ariakit/core/utils/dom\";\nimport {\n  addGlobalEventListener,\n  isFocusEventOutside,\n  isPortalEvent,\n  isSelfTarget,\n  queueBeforeEvent\n} from \"@ariakit/core/utils/events\";\nimport {\n  focusIfNeeded,\n  hasFocus,\n  isFocusable\n} from \"@ariakit/core/utils/focus\";\nimport { disabledFromProps } from \"@ariakit/core/utils/misc\";\nimport { isSafari } from \"@ariakit/core/utils/platform\";\nvar isSafariBrowser = isSafari();\nvar alwaysFocusVisibleInputTypes = [\n  \"text\",\n  \"search\",\n  \"url\",\n  \"tel\",\n  \"email\",\n  \"password\",\n  \"number\",\n  \"date\",\n  \"month\",\n  \"week\",\n  \"time\",\n  \"datetime\",\n  \"datetime-local\"\n];\nfunction isAlwaysFocusVisible(element) {\n  const { tagName, readOnly, type } = element;\n  if (tagName === \"TEXTAREA\" && !readOnly)\n    return true;\n  if (tagName === \"SELECT\" && !readOnly)\n    return true;\n  if (tagName === \"INPUT\" && !readOnly) {\n    return alwaysFocusVisibleInputTypes.includes(type);\n  }\n  if (element.isContentEditable)\n    return true;\n  return false;\n}\nfunction isAlwaysFocusVisibleDelayed(element) {\n  const role = element.getAttribute(\"role\");\n  if (role !== \"combobox\")\n    return false;\n  return !!element.dataset.name;\n}\nfunction getLabels(element) {\n  if (\"labels\" in element) {\n    return element.labels;\n  }\n  return null;\n}\nfunction isNativeCheckboxOrRadio(element) {\n  const tagName = element.tagName.toLowerCase();\n  if (tagName === \"input\" && element.type) {\n    return element.type === \"radio\" || element.type === \"checkbox\";\n  }\n  return false;\n}\nfunction isNativeTabbable(tagName) {\n  if (!tagName)\n    return true;\n  return tagName === \"button\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\" || tagName === \"a\";\n}\nfunction supportsDisabledAttribute(tagName) {\n  if (!tagName)\n    return true;\n  return tagName === \"button\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\";\n}\nfunction getTabIndex(focusable, trulyDisabled, nativeTabbable, supportsDisabled, tabIndexProp) {\n  if (!focusable) {\n    return tabIndexProp;\n  }\n  if (trulyDisabled) {\n    if (nativeTabbable && !supportsDisabled) {\n      return -1;\n    }\n    return;\n  }\n  if (nativeTabbable) {\n    return tabIndexProp;\n  }\n  return tabIndexProp || 0;\n}\nfunction useDisableEvent(onEvent, disabled) {\n  return useEvent((event) => {\n    onEvent == null ? void 0 : onEvent(event);\n    if (event.defaultPrevented)\n      return;\n    if (disabled) {\n      event.stopPropagation();\n      event.preventDefault();\n    }\n  });\n}\nvar isKeyboardModality = true;\nfunction onGlobalMouseDown(event) {\n  const target = event.target;\n  if (target && \"hasAttribute\" in target) {\n    if (!target.hasAttribute(\"data-focus-visible\")) {\n      isKeyboardModality = false;\n    }\n  }\n}\nfunction onGlobalKeyDown(event) {\n  if (event.metaKey)\n    return;\n  if (event.ctrlKey)\n    return;\n  if (event.altKey)\n    return;\n  isKeyboardModality = true;\n}\nvar useFocusable = createHook(\n  (_a) => {\n    var _b = _a, {\n      focusable = true,\n      accessibleWhenDisabled,\n      autoFocus,\n      onFocusVisible\n    } = _b, props = __objRest(_b, [\n      \"focusable\",\n      \"accessibleWhenDisabled\",\n      \"autoFocus\",\n      \"onFocusVisible\"\n    ]);\n    const ref = useRef(null);\n    useEffect(() => {\n      if (!focusable)\n        return;\n      addGlobalEventListener(\"mousedown\", onGlobalMouseDown, true);\n      addGlobalEventListener(\"keydown\", onGlobalKeyDown, true);\n    }, [focusable]);\n    if (isSafariBrowser) {\n      useEffect(() => {\n        if (!focusable)\n          return;\n        const element = ref.current;\n        if (!element)\n          return;\n        if (!isNativeCheckboxOrRadio(element))\n          return;\n        const labels = getLabels(element);\n        if (!labels)\n          return;\n        const onMouseUp = () => queueMicrotask(() => element.focus());\n        labels.forEach((label) => label.addEventListener(\"mouseup\", onMouseUp));\n        return () => {\n          labels.forEach(\n            (label) => label.removeEventListener(\"mouseup\", onMouseUp)\n          );\n        };\n      }, [focusable]);\n    }\n    const disabled = focusable && disabledFromProps(props);\n    const trulyDisabled = !!disabled && !accessibleWhenDisabled;\n    const [focusVisible, setFocusVisible] = useState(false);\n    useEffect(() => {\n      if (!focusable)\n        return;\n      if (trulyDisabled && focusVisible) {\n        setFocusVisible(false);\n      }\n    }, [focusable, trulyDisabled, focusVisible]);\n    useEffect(() => {\n      if (!focusable)\n        return;\n      if (!focusVisible)\n        return;\n      const element = ref.current;\n      if (!element)\n        return;\n      if (typeof IntersectionObserver === \"undefined\")\n        return;\n      const observer = new IntersectionObserver(() => {\n        if (!isFocusable(element)) {\n          setFocusVisible(false);\n        }\n      });\n      observer.observe(element);\n      return () => observer.disconnect();\n    }, [focusable, focusVisible]);\n    const onKeyPressCapture = useDisableEvent(\n      props.onKeyPressCapture,\n      disabled\n    );\n    const onMouseDownCapture = useDisableEvent(\n      props.onMouseDownCapture,\n      disabled\n    );\n    const onClickCapture = useDisableEvent(props.onClickCapture, disabled);\n    const onMouseDownProp = props.onMouseDown;\n    const onMouseDown = useEvent((event) => {\n      onMouseDownProp == null ? void 0 : onMouseDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!focusable)\n        return;\n      const element = event.currentTarget;\n      if (!isSafariBrowser)\n        return;\n      if (isPortalEvent(event))\n        return;\n      if (!isButton(element) && !isNativeCheckboxOrRadio(element))\n        return;\n      let receivedFocus = false;\n      const onFocus = () => {\n        receivedFocus = true;\n      };\n      const options = { capture: true, once: true };\n      element.addEventListener(\"focusin\", onFocus, options);\n      queueBeforeEvent(element, \"mouseup\", () => {\n        element.removeEventListener(\"focusin\", onFocus, true);\n        if (receivedFocus)\n          return;\n        focusIfNeeded(element);\n      });\n    });\n    const handleFocusVisible = (event, currentTarget) => {\n      if (currentTarget) {\n        event.currentTarget = currentTarget;\n      }\n      if (!focusable)\n        return;\n      const element = event.currentTarget;\n      if (!element)\n        return;\n      if (!hasFocus(element))\n        return;\n      onFocusVisible == null ? void 0 : onFocusVisible(event);\n      if (event.defaultPrevented)\n        return;\n      setFocusVisible(true);\n    };\n    const onKeyDownCaptureProp = props.onKeyDownCapture;\n    const onKeyDownCapture = useEvent(\n      (event) => {\n        onKeyDownCaptureProp == null ? void 0 : onKeyDownCaptureProp(event);\n        if (event.defaultPrevented)\n          return;\n        if (!focusable)\n          return;\n        if (focusVisible)\n          return;\n        if (event.metaKey)\n          return;\n        if (event.altKey)\n          return;\n        if (event.ctrlKey)\n          return;\n        if (!isSelfTarget(event))\n          return;\n        const element = event.currentTarget;\n        queueMicrotask(() => handleFocusVisible(event, element));\n      }\n    );\n    const onFocusCaptureProp = props.onFocusCapture;\n    const onFocusCapture = useEvent((event) => {\n      onFocusCaptureProp == null ? void 0 : onFocusCaptureProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!focusable)\n        return;\n      if (!isSelfTarget(event)) {\n        setFocusVisible(false);\n        return;\n      }\n      const element = event.currentTarget;\n      const applyFocusVisible = () => handleFocusVisible(event, element);\n      if (isKeyboardModality || isAlwaysFocusVisible(event.target)) {\n        queueMicrotask(applyFocusVisible);\n      } else if (isAlwaysFocusVisibleDelayed(event.target)) {\n        queueBeforeEvent(event.target, \"focusout\", applyFocusVisible);\n      } else {\n        setFocusVisible(false);\n      }\n    });\n    const onBlurProp = props.onBlur;\n    const onBlur = useEvent((event) => {\n      onBlurProp == null ? void 0 : onBlurProp(event);\n      if (!focusable)\n        return;\n      if (!isFocusEventOutside(event))\n        return;\n      setFocusVisible(false);\n    });\n    const autoFocusOnShow = useContext(FocusableContext);\n    const autoFocusRef = useEvent((element) => {\n      if (!focusable)\n        return;\n      if (!autoFocus)\n        return;\n      if (!element)\n        return;\n      if (!autoFocusOnShow)\n        return;\n      queueMicrotask(() => {\n        if (hasFocus(element))\n          return;\n        if (!isFocusable(element))\n          return;\n        element.focus();\n      });\n    });\n    const tagName = useTagName(ref, props.as);\n    const nativeTabbable = focusable && isNativeTabbable(tagName);\n    const supportsDisabled = focusable && supportsDisabledAttribute(tagName);\n    const style = trulyDisabled ? __spreadValues({ pointerEvents: \"none\" }, props.style) : props.style;\n    props = __spreadProps(__spreadValues({\n      \"data-focus-visible\": focusable && focusVisible ? \"\" : void 0,\n      \"data-autofocus\": autoFocus ? true : void 0,\n      \"aria-disabled\": disabled ? true : void 0\n    }, props), {\n      ref: useMergeRefs(ref, autoFocusRef, props.ref),\n      style,\n      tabIndex: getTabIndex(\n        focusable,\n        trulyDisabled,\n        nativeTabbable,\n        supportsDisabled,\n        props.tabIndex\n      ),\n      disabled: supportsDisabled && trulyDisabled ? true : void 0,\n      // TODO: Test Focusable contentEditable.\n      contentEditable: disabled ? void 0 : props.contentEditable,\n      onKeyPressCapture,\n      onClickCapture,\n      onMouseDownCapture,\n      onMouseDown,\n      onKeyDownCapture,\n      onFocusCapture,\n      onBlur\n    });\n    return props;\n  }\n);\nvar Focusable = createComponent((props) => {\n  props = useFocusable(props);\n  return createElement(\"div\", props);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Focusable.displayName = \"Focusable\";\n}\n\nexport {\n  useFocusable,\n  Focusable\n};\n","\"use client\";\nimport {\n  useDialogStoreProps\n} from \"./ZSELSBRM.js\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\nimport {\n  useUpdateEffect\n} from \"./6O5OEQGF.js\";\n\n// src/popover/popover-store.ts\nimport * as Core from \"@ariakit/core/popover/popover-store\";\nfunction usePopoverStoreProps(store, update, props) {\n  useUpdateEffect(update, [props.popover]);\n  store = useDialogStoreProps(store, update, props);\n  useStoreProps(store, props, \"placement\");\n  return store;\n}\nfunction usePopoverStore(props = {}) {\n  const [store, update] = useStore(Core.createPopoverStore, props);\n  return usePopoverStoreProps(store, update, props);\n}\n\nexport {\n  usePopoverStoreProps,\n  usePopoverStore\n};\n","\"use client\";\nimport {\n  useFocusable\n} from \"./KK7H3W2B.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useEvent,\n  useMergeRefs,\n  useMetadataProps,\n  useTagName\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/command/command.ts\nimport { useEffect, useRef, useState } from \"react\";\nimport { isButton, isTextField } from \"@ariakit/core/utils/dom\";\nimport {\n  fireClickEvent,\n  isSelfTarget,\n  queueBeforeEvent\n} from \"@ariakit/core/utils/events\";\nimport { disabledFromProps } from \"@ariakit/core/utils/misc\";\nimport { isFirefox } from \"@ariakit/core/utils/platform\";\nfunction isNativeClick(event) {\n  if (!event.isTrusted)\n    return false;\n  const element = event.currentTarget;\n  if (event.key === \"Enter\") {\n    return isButton(element) || element.tagName === \"SUMMARY\" || element.tagName === \"A\";\n  }\n  if (event.key === \" \") {\n    return isButton(element) || element.tagName === \"SUMMARY\" || element.tagName === \"INPUT\" || element.tagName === \"SELECT\";\n  }\n  return false;\n}\nvar symbol = Symbol(\"command\");\nvar useCommand = createHook(\n  (_a) => {\n    var _b = _a, { clickOnEnter = true, clickOnSpace = true } = _b, props = __objRest(_b, [\"clickOnEnter\", \"clickOnSpace\"]);\n    const ref = useRef(null);\n    const tagName = useTagName(ref, props.as);\n    const type = props.type;\n    const [isNativeButton, setIsNativeButton] = useState(\n      () => !!tagName && isButton({ tagName, type })\n    );\n    useEffect(() => {\n      if (!ref.current)\n        return;\n      setIsNativeButton(isButton(ref.current));\n    }, []);\n    const [active, setActive] = useState(false);\n    const activeRef = useRef(false);\n    const disabled = disabledFromProps(props);\n    const [isDuplicate, metadataProps] = useMetadataProps(props, symbol, true);\n    const onKeyDownProp = props.onKeyDown;\n    const onKeyDown = useEvent((event) => {\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      const element = event.currentTarget;\n      if (event.defaultPrevented)\n        return;\n      if (isDuplicate)\n        return;\n      if (disabled)\n        return;\n      if (!isSelfTarget(event))\n        return;\n      if (isTextField(element))\n        return;\n      if (element.isContentEditable)\n        return;\n      const isEnter = clickOnEnter && event.key === \"Enter\";\n      const isSpace = clickOnSpace && event.key === \" \";\n      const shouldPreventEnter = event.key === \"Enter\" && !clickOnEnter;\n      const shouldPreventSpace = event.key === \" \" && !clickOnSpace;\n      if (shouldPreventEnter || shouldPreventSpace) {\n        event.preventDefault();\n        return;\n      }\n      if (isEnter || isSpace) {\n        const nativeClick = isNativeClick(event);\n        if (isEnter) {\n          if (!nativeClick) {\n            event.preventDefault();\n            const _a2 = event, { view } = _a2, eventInit = __objRest(_a2, [\"view\"]);\n            const click = () => fireClickEvent(element, eventInit);\n            if (isFirefox()) {\n              queueBeforeEvent(element, \"keyup\", click);\n            } else {\n              queueMicrotask(click);\n            }\n          }\n        } else if (isSpace) {\n          activeRef.current = true;\n          if (!nativeClick) {\n            event.preventDefault();\n            setActive(true);\n          }\n        }\n      }\n    });\n    const onKeyUpProp = props.onKeyUp;\n    const onKeyUp = useEvent((event) => {\n      onKeyUpProp == null ? void 0 : onKeyUpProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (isDuplicate)\n        return;\n      if (disabled)\n        return;\n      if (event.metaKey)\n        return;\n      const isSpace = clickOnSpace && event.key === \" \";\n      if (activeRef.current && isSpace) {\n        activeRef.current = false;\n        if (!isNativeClick(event)) {\n          event.preventDefault();\n          setActive(false);\n          const element = event.currentTarget;\n          const _a2 = event, { view } = _a2, eventInit = __objRest(_a2, [\"view\"]);\n          queueMicrotask(() => fireClickEvent(element, eventInit));\n        }\n      }\n    });\n    props = __spreadProps(__spreadValues(__spreadValues({\n      \"data-active\": active ? \"\" : void 0,\n      type: isNativeButton ? \"button\" : void 0\n    }, metadataProps), props), {\n      ref: useMergeRefs(ref, props.ref),\n      onKeyDown,\n      onKeyUp\n    });\n    props = useFocusable(props);\n    return props;\n  }\n);\nvar Command = createComponent((props) => {\n  props = useCommand(props);\n  return createElement(\"button\", props);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Command.displayName = \"Command\";\n}\n\nexport {\n  useCommand,\n  Command\n};\n","\"use client\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/disclosure/disclosure-context.tsx\nvar ctx = createStoreContext();\nvar useDisclosureContext = ctx.useContext;\nvar useDisclosureScopedContext = ctx.useScopedContext;\nvar useDisclosureProviderContext = ctx.useProviderContext;\nvar DisclosureContextProvider = ctx.ContextProvider;\nvar DisclosureScopedContextProvider = ctx.ScopedContextProvider;\n\nexport {\n  useDisclosureContext,\n  useDisclosureScopedContext,\n  useDisclosureProviderContext,\n  DisclosureContextProvider,\n  DisclosureScopedContextProvider\n};\n","\"use client\";\nimport {\n  useCommand\n} from \"./NWCBQ4CV.js\";\nimport {\n  useCollectionItem\n} from \"./UH3I23HL.js\";\nimport {\n  focusSilently,\n  getEnabledItem,\n  isItem\n} from \"./3IEDWLST.js\";\nimport {\n  CompositeItemContext,\n  CompositeRowContext,\n  useCompositeContext\n} from \"./IB7YUKH5.js\";\nimport {\n  createElement,\n  createHook,\n  createMemoComponent\n} from \"./3ORBWXWF.js\";\nimport {\n  useStoreState\n} from \"./EKQEJRUF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useId,\n  useMergeRefs,\n  useSafeLayoutEffect,\n  useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/composite/composite-item.tsx\nimport { useCallback, useContext, useMemo, useRef, useState } from \"react\";\nimport {\n  getScrollingElement,\n  isButton,\n  isTextField\n} from \"@ariakit/core/utils/dom\";\nimport { isPortalEvent, isSelfTarget } from \"@ariakit/core/utils/events\";\nimport { disabledFromProps } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction isEditableElement(element) {\n  if (element.isContentEditable)\n    return true;\n  if (isTextField(element))\n    return true;\n  return element.tagName === \"INPUT\" && !isButton(element);\n}\nfunction getNextPageOffset(scrollingElement, pageUp = false) {\n  const height = scrollingElement.clientHeight;\n  const { top } = scrollingElement.getBoundingClientRect();\n  const pageSize = Math.max(height * 0.875, height - 40) * 1.5;\n  const pageOffset = pageUp ? height - pageSize + top : pageSize + top;\n  if (scrollingElement.tagName === \"HTML\") {\n    return pageOffset + scrollingElement.scrollTop;\n  }\n  return pageOffset;\n}\nfunction getItemOffset(itemElement, pageUp = false) {\n  const { top } = itemElement.getBoundingClientRect();\n  if (pageUp) {\n    return top + itemElement.clientHeight;\n  }\n  return top;\n}\nfunction findNextPageItemId(element, store, next, pageUp = false) {\n  var _a;\n  if (!store)\n    return;\n  if (!next)\n    return;\n  const { renderedItems } = store.getState();\n  const scrollingElement = getScrollingElement(element);\n  if (!scrollingElement)\n    return;\n  const nextPageOffset = getNextPageOffset(scrollingElement, pageUp);\n  let id;\n  let prevDifference;\n  for (let i = 0; i < renderedItems.length; i += 1) {\n    const previousId = id;\n    id = next(i);\n    if (!id)\n      break;\n    if (id === previousId)\n      continue;\n    const itemElement = (_a = getEnabledItem(store, id)) == null ? void 0 : _a.element;\n    if (!itemElement)\n      continue;\n    const itemOffset = getItemOffset(itemElement, pageUp);\n    const difference = itemOffset - nextPageOffset;\n    const absDifference = Math.abs(difference);\n    if (pageUp && difference <= 0 || !pageUp && difference >= 0) {\n      if (prevDifference !== void 0 && prevDifference < absDifference) {\n        id = previousId;\n      }\n      break;\n    }\n    prevDifference = absDifference;\n  }\n  return id;\n}\nfunction targetIsAnotherItem(event, store) {\n  if (isSelfTarget(event))\n    return false;\n  return isItem(store, event.target);\n}\nfunction useRole(ref, props) {\n  const roleProp = props.role;\n  const [role, setRole] = useState(roleProp);\n  useSafeLayoutEffect(() => {\n    const element = ref.current;\n    if (!element)\n      return;\n    setRole(element.getAttribute(\"role\") || roleProp);\n  }, [roleProp]);\n  return role;\n}\nfunction requiresAriaSelected(role) {\n  return role === \"option\" || role === \"treeitem\";\n}\nfunction supportsAriaSelected(role) {\n  if (role === \"option\")\n    return true;\n  if (role === \"tab\")\n    return true;\n  if (role === \"treeitem\")\n    return true;\n  if (role === \"gridcell\")\n    return true;\n  if (role === \"row\")\n    return true;\n  if (role === \"columnheader\")\n    return true;\n  if (role === \"rowheader\")\n    return true;\n  return false;\n}\nvar useCompositeItem = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      rowId: rowIdProp,\n      preventScrollOnKeyDown = false,\n      moveOnKeyPress = true,\n      tabbable = false,\n      getItem: getItemProp,\n      \"aria-setsize\": ariaSetSizeProp,\n      \"aria-posinset\": ariaPosInSetProp\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"rowId\",\n      \"preventScrollOnKeyDown\",\n      \"moveOnKeyPress\",\n      \"tabbable\",\n      \"getItem\",\n      \"aria-setsize\",\n      \"aria-posinset\"\n    ]);\n    const context = useCompositeContext();\n    store = store || context;\n    const id = useId(props.id);\n    const ref = useRef(null);\n    const row = useContext(CompositeRowContext);\n    const rowId = useStoreState(store, (state) => {\n      if (rowIdProp)\n        return rowIdProp;\n      if (!state)\n        return;\n      if (!(row == null ? void 0 : row.baseElement))\n        return;\n      if (row.baseElement !== state.baseElement)\n        return;\n      return row.id;\n    });\n    const disabled = disabledFromProps(props);\n    const trulyDisabled = disabled && !props.accessibleWhenDisabled;\n    const getItem = useCallback(\n      (item) => {\n        const nextItem = __spreadProps(__spreadValues({}, item), {\n          id: id || item.id,\n          rowId,\n          disabled: !!trulyDisabled\n        });\n        if (getItemProp) {\n          return getItemProp(nextItem);\n        }\n        return nextItem;\n      },\n      [id, rowId, trulyDisabled, getItemProp]\n    );\n    const onFocusProp = props.onFocus;\n    const hasFocusedComposite = useRef(false);\n    const onFocus = useEvent((event) => {\n      onFocusProp == null ? void 0 : onFocusProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (isPortalEvent(event))\n        return;\n      if (!id)\n        return;\n      if (!store)\n        return;\n      const { activeId, virtualFocus: virtualFocus2, baseElement: baseElement2 } = store.getState();\n      if (targetIsAnotherItem(event, store))\n        return;\n      if (activeId !== id) {\n        store.setActiveId(id);\n      }\n      if (!virtualFocus2)\n        return;\n      if (!isSelfTarget(event))\n        return;\n      if (isEditableElement(event.currentTarget))\n        return;\n      if (!(baseElement2 == null ? void 0 : baseElement2.isConnected))\n        return;\n      hasFocusedComposite.current = true;\n      const fromComposite = event.relatedTarget === baseElement2 || isItem(store, event.relatedTarget);\n      if (fromComposite) {\n        focusSilently(baseElement2);\n      } else {\n        baseElement2.focus();\n      }\n    });\n    const onBlurCaptureProp = props.onBlurCapture;\n    const onBlurCapture = useEvent((event) => {\n      onBlurCaptureProp == null ? void 0 : onBlurCaptureProp(event);\n      if (event.defaultPrevented)\n        return;\n      const state = store == null ? void 0 : store.getState();\n      if ((state == null ? void 0 : state.virtualFocus) && hasFocusedComposite.current) {\n        hasFocusedComposite.current = false;\n        event.preventDefault();\n        event.stopPropagation();\n      }\n    });\n    const onKeyDownProp = props.onKeyDown;\n    const preventScrollOnKeyDownProp = useBooleanEvent(preventScrollOnKeyDown);\n    const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);\n    const onKeyDown = useEvent((event) => {\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!isSelfTarget(event))\n        return;\n      if (!store)\n        return;\n      const { currentTarget } = event;\n      const state = store.getState();\n      const item = store.item(id);\n      const isGrid = !!(item == null ? void 0 : item.rowId);\n      const isVertical = state.orientation !== \"horizontal\";\n      const isHorizontal = state.orientation !== \"vertical\";\n      const canHomeEnd = () => {\n        if (isGrid)\n          return true;\n        if (isHorizontal)\n          return true;\n        if (!state.baseElement)\n          return true;\n        if (!isTextField(state.baseElement))\n          return true;\n        return false;\n      };\n      const keyMap = {\n        ArrowUp: (isGrid || isVertical) && store.up,\n        ArrowRight: (isGrid || isHorizontal) && store.next,\n        ArrowDown: (isGrid || isVertical) && store.down,\n        ArrowLeft: (isGrid || isHorizontal) && store.previous,\n        Home: () => {\n          if (!canHomeEnd())\n            return;\n          if (!isGrid || event.ctrlKey) {\n            return store == null ? void 0 : store.first();\n          }\n          return store == null ? void 0 : store.previous(-1);\n        },\n        End: () => {\n          if (!canHomeEnd())\n            return;\n          if (!isGrid || event.ctrlKey) {\n            return store == null ? void 0 : store.last();\n          }\n          return store == null ? void 0 : store.next(-1);\n        },\n        PageUp: () => {\n          return findNextPageItemId(currentTarget, store, store == null ? void 0 : store.up, true);\n        },\n        PageDown: () => {\n          return findNextPageItemId(currentTarget, store, store == null ? void 0 : store.down);\n        }\n      };\n      const action = keyMap[event.key];\n      if (action) {\n        const nextId = action();\n        if (preventScrollOnKeyDownProp(event) || nextId !== void 0) {\n          if (!moveOnKeyPressProp(event))\n            return;\n          event.preventDefault();\n          store.move(nextId);\n        }\n      }\n    });\n    const baseElement = useStoreState(\n      store,\n      (state) => (state == null ? void 0 : state.baseElement) || void 0\n    );\n    const providerValue = useMemo(\n      () => ({ id, baseElement }),\n      [id, baseElement]\n    );\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(CompositeItemContext.Provider, { value: providerValue, children: element }),\n      [providerValue]\n    );\n    const isActiveItem = useStoreState(\n      store,\n      (state) => !!state && state.activeId === id\n    );\n    const virtualFocus = useStoreState(store, \"virtualFocus\");\n    const role = useRole(ref, props);\n    let ariaSelected;\n    if (isActiveItem) {\n      if (requiresAriaSelected(role)) {\n        ariaSelected = true;\n      } else if (virtualFocus && supportsAriaSelected(role)) {\n        ariaSelected = true;\n      }\n    }\n    const ariaSetSize = useStoreState(store, (state) => {\n      if (ariaSetSizeProp != null)\n        return ariaSetSizeProp;\n      if (!state)\n        return;\n      if (!(row == null ? void 0 : row.ariaSetSize))\n        return;\n      if (row.baseElement !== state.baseElement)\n        return;\n      return row.ariaSetSize;\n    });\n    const ariaPosInSet = useStoreState(store, (state) => {\n      if (ariaPosInSetProp != null)\n        return ariaPosInSetProp;\n      if (!state)\n        return;\n      if (!(row == null ? void 0 : row.ariaPosInSet))\n        return;\n      if (row.baseElement !== state.baseElement)\n        return;\n      const itemsInRow = state.renderedItems.filter(\n        (item) => item.rowId === rowId\n      );\n      return row.ariaPosInSet + itemsInRow.findIndex((item) => item.id === id);\n    });\n    const isTabbable = useStoreState(store, (state) => {\n      if (!(state == null ? void 0 : state.renderedItems.length))\n        return true;\n      if (state.virtualFocus)\n        return false;\n      if (tabbable)\n        return true;\n      return state.activeId === id;\n    });\n    props = __spreadProps(__spreadValues({\n      id,\n      \"aria-selected\": ariaSelected,\n      \"data-active-item\": isActiveItem ? \"\" : void 0\n    }, props), {\n      ref: useMergeRefs(ref, props.ref),\n      tabIndex: isTabbable ? props.tabIndex : -1,\n      onFocus,\n      onBlurCapture,\n      onKeyDown\n    });\n    props = useCommand(props);\n    props = useCollectionItem(__spreadProps(__spreadValues({\n      store\n    }, props), {\n      getItem,\n      shouldRegisterItem: !!id ? props.shouldRegisterItem : false\n    }));\n    return __spreadProps(__spreadValues({}, props), {\n      \"aria-setsize\": ariaSetSize,\n      \"aria-posinset\": ariaPosInSet\n    });\n  }\n);\nvar CompositeItem = createMemoComponent(\n  (props) => {\n    const htmlProps = useCompositeItem(props);\n    return createElement(\"button\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  CompositeItem.displayName = \"CompositeItem\";\n}\n\nexport {\n  useCompositeItem,\n  CompositeItem\n};\n","\"use client\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\nimport {\n  useUpdateEffect\n} from \"./6O5OEQGF.js\";\n\n// src/disclosure/disclosure-store.ts\nimport * as Core from \"@ariakit/core/disclosure/disclosure-store\";\nfunction useDisclosureStoreProps(store, update, props) {\n  useUpdateEffect(update, [props.store, props.disclosure]);\n  useStoreProps(store, props, \"open\", \"setOpen\");\n  useStoreProps(store, props, \"mounted\", \"setMounted\");\n  useStoreProps(store, props, \"animated\");\n  return store;\n}\nfunction useDisclosureStore(props = {}) {\n  const [store, update] = useStore(Core.createDisclosureStore, props);\n  return useDisclosureStoreProps(store, update, props);\n}\n\nexport {\n  useDisclosureStoreProps,\n  useDisclosureStore\n};\n","\"use client\";\n\n// src/focusable/focusable-context.ts\nimport { createContext } from \"react\";\nvar FocusableContext = createContext(true);\n\nexport {\n  FocusableContext\n};\n","\"use client\";\nimport {\n  useCollectionContext\n} from \"./4UUKJZ4V.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useId,\n  useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/collection/collection-item.ts\nimport { useEffect, useRef } from \"react\";\nimport { identity } from \"@ariakit/core/utils/misc\";\nvar useCollectionItem = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      shouldRegisterItem = true,\n      getItem = identity,\n      element: element\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"shouldRegisterItem\",\n      \"getItem\",\n      // @ts-expect-error This prop may come from a collection renderer.\n      \"element\"\n    ]);\n    const context = useCollectionContext();\n    store = store || context;\n    const id = useId(props.id);\n    const ref = useRef(element);\n    useEffect(() => {\n      const element2 = ref.current;\n      if (!id)\n        return;\n      if (!element2)\n        return;\n      if (!shouldRegisterItem)\n        return;\n      const item = getItem({ id, element: element2 });\n      return store == null ? void 0 : store.renderItem(item);\n    }, [id, shouldRegisterItem, getItem, store]);\n    props = __spreadProps(__spreadValues({}, props), {\n      ref: useMergeRefs(ref, props.ref)\n    });\n    return props;\n  }\n);\nvar CollectionItem = createComponent(\n  (props) => {\n    const htmlProps = useCollectionItem(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  CollectionItem.displayName = \"CollectionItem\";\n}\n\nexport {\n  useCollectionItem,\n  CollectionItem\n};\n","\"use client\";\nimport {\n  CompositeContextProvider,\n  CompositeScopedContextProvider\n} from \"./IB7YUKH5.js\";\nimport {\n  PopoverContextProvider,\n  PopoverScopedContextProvider\n} from \"./7H5KSHHF.js\";\nimport {\n  createStoreContext\n} from \"./3ORBWXWF.js\";\n\n// src/combobox/combobox-context.tsx\nimport { createContext } from \"react\";\nvar ctx = createStoreContext(\n  [PopoverContextProvider, CompositeContextProvider],\n  [PopoverScopedContextProvider, CompositeScopedContextProvider]\n);\nvar useComboboxContext = ctx.useContext;\nvar useComboboxScopedContext = ctx.useScopedContext;\nvar useComboboxProviderContext = ctx.useProviderContext;\nvar ComboboxContextProvider = ctx.ContextProvider;\nvar ComboboxScopedContextProvider = ctx.ScopedContextProvider;\nvar ComboboxItemValueContext = createContext(\n  void 0\n);\nvar ComboboxItemCheckedContext = createContext(false);\n\nexport {\n  useComboboxContext,\n  useComboboxScopedContext,\n  useComboboxProviderContext,\n  ComboboxContextProvider,\n  ComboboxScopedContextProvider,\n  ComboboxItemValueContext,\n  ComboboxItemCheckedContext\n};\n","\"use client\";\nimport {\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/misc.ts\nimport { isValidElement } from \"react\";\nimport { hasOwnProperty } from \"@ariakit/core/utils/misc\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    ref(value);\n  } else if (ref) {\n    ref.current = value;\n  }\n}\nfunction isValidElementWithRef(element) {\n  if (!element)\n    return false;\n  if (!isValidElement(element))\n    return false;\n  if (!(\"ref\" in element))\n    return false;\n  return true;\n}\nfunction getRefProperty(element) {\n  if (!isValidElementWithRef(element))\n    return null;\n  return element.ref;\n}\nfunction mergeProps(base, overrides) {\n  const props = __spreadValues({}, base);\n  for (const key in overrides) {\n    if (!hasOwnProperty(overrides, key))\n      continue;\n    if (key === \"className\") {\n      const prop = \"className\";\n      props[prop] = base[prop] ? `${base[prop]} ${overrides[prop]}` : overrides[prop];\n      continue;\n    }\n    if (key === \"style\") {\n      const prop = \"style\";\n      props[prop] = base[prop] ? __spreadValues(__spreadValues({}, base[prop]), overrides[prop]) : overrides[prop];\n      continue;\n    }\n    const overrideValue = overrides[key];\n    if (typeof overrideValue === \"function\" && key.startsWith(\"on\")) {\n      const baseValue = base[key];\n      if (typeof baseValue === \"function\") {\n        props[key] = (...args) => {\n          overrideValue(...args);\n          baseValue(...args);\n        };\n        continue;\n      }\n    }\n    props[key] = overrideValue;\n  }\n  return props;\n}\n\nexport {\n  setRef,\n  isValidElementWithRef,\n  getRefProperty,\n  mergeProps\n};\n","\"use client\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\nimport {\n  useUpdateEffect\n} from \"./6O5OEQGF.js\";\n\n// src/collection/collection-store.ts\nimport * as Core from \"@ariakit/core/collection/collection-store\";\nfunction useCollectionStoreProps(store, update, props) {\n  useUpdateEffect(update, [props.store]);\n  useStoreProps(store, props, \"items\", \"setItems\");\n  return store;\n}\nfunction useCollectionStore(props = {}) {\n  const [store, update] = useStore(Core.createCollectionStore, props);\n  return useCollectionStoreProps(store, update, props);\n}\n\nexport {\n  useCollectionStoreProps,\n  useCollectionStore\n};\n","\"use client\";\nimport {\n  ComboboxScopedContextProvider,\n  useComboboxProviderContext\n} from \"./W76OTZCC.js\";\nimport {\n  isHidden\n} from \"./CLE7NTOY.js\";\nimport {\n  useFocusable\n} from \"./KK7H3W2B.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"./3ORBWXWF.js\";\nimport {\n  useAttribute,\n  useEvent,\n  useId,\n  useMergeRefs,\n  useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/combobox/combobox-list.tsx\nimport { useRef } from \"react\";\nimport { isFocusEventOutside } from \"@ariakit/core/utils/events\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nvar useComboboxList = createHook(\n  (_a) => {\n    var _b = _a, { store, focusable = true, alwaysVisible } = _b, props = __objRest(_b, [\"store\", \"focusable\", \"alwaysVisible\"]);\n    const context = useComboboxProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"ComboboxList must receive a `store` prop or be wrapped in a ComboboxProvider component.\"\n    );\n    const ref = useRef(null);\n    const id = useId(props.id);\n    const onKeyDownProp = props.onKeyDown;\n    const onKeyDown = useEvent((event) => {\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (event.key === \"Escape\") {\n        store == null ? void 0 : store.move(null);\n      }\n    });\n    const restoreVirtualFocus = useRef(false);\n    const onFocusVisibleProp = props.onFocusVisible;\n    const onFocusVisible = useEvent((event) => {\n      onFocusVisibleProp == null ? void 0 : onFocusVisibleProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (event.type !== \"focus\")\n        return;\n      if (!store)\n        return;\n      const { virtualFocus } = store.getState();\n      if (!virtualFocus)\n        return;\n      const { relatedTarget, currentTarget } = event;\n      if (relatedTarget && currentTarget.contains(relatedTarget))\n        return;\n      restoreVirtualFocus.current = true;\n      store.setState(\"virtualFocus\", false);\n    });\n    const onBlurProp = props.onBlur;\n    const onBlur = useEvent((event) => {\n      onBlurProp == null ? void 0 : onBlurProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!restoreVirtualFocus.current)\n        return;\n      if (!isFocusEventOutside(event))\n        return;\n      restoreVirtualFocus.current = false;\n      store == null ? void 0 : store.setState(\"virtualFocus\", true);\n    });\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(ComboboxScopedContextProvider, { value: store, children: element }),\n      [store]\n    );\n    const mounted = store.useState(\"mounted\");\n    const hidden = isHidden(mounted, props.hidden, alwaysVisible);\n    const style = hidden ? __spreadProps(__spreadValues({}, props.style), { display: \"none\" }) : props.style;\n    const multiSelectable = store.useState(\n      (state) => Array.isArray(state.selectedValue)\n    );\n    const role = useAttribute(ref, \"role\", props.role);\n    const isCompositeRole = role === \"listbox\" || role === \"tree\" || role === \"grid\";\n    const ariaMultiSelectable = isCompositeRole ? multiSelectable || void 0 : void 0;\n    props = __spreadProps(__spreadValues({\n      id,\n      hidden,\n      role: \"listbox\",\n      tabIndex: focusable ? -1 : void 0,\n      \"aria-multiselectable\": ariaMultiSelectable\n    }, props), {\n      ref: useMergeRefs(id ? store.setContentElement : null, ref, props.ref),\n      style,\n      onKeyDown,\n      onFocusVisible,\n      onBlur\n    });\n    props = useFocusable(__spreadValues({ focusable }, props));\n    return props;\n  }\n);\nvar ComboboxList = createComponent((props) => {\n  const htmlProps = useComboboxList(props);\n  return createElement(\"div\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  ComboboxList.displayName = \"ComboboxList\";\n}\n\nexport {\n  useComboboxList,\n  ComboboxList\n};\n","\"use client\";\nimport {\n  useCompositeStoreProps\n} from \"./7GBW5FLS.js\";\nimport {\n  usePopoverStoreProps\n} from \"./MG4P3223.js\";\nimport {\n  useStore,\n  useStoreProps\n} from \"./EKQEJRUF.js\";\n\n// src/combobox/combobox-store.ts\nimport * as Core from \"@ariakit/core/combobox/combobox-store\";\nfunction useComboboxStoreProps(store, update, props) {\n  store = usePopoverStoreProps(store, update, props);\n  store = useCompositeStoreProps(store, update, props);\n  useStoreProps(store, props, \"value\", \"setValue\");\n  useStoreProps(store, props, \"selectedValue\", \"setSelectedValue\");\n  useStoreProps(store, props, \"resetValueOnHide\");\n  useStoreProps(store, props, \"resetValueOnSelect\");\n  return store;\n}\nfunction useComboboxStore(props = {}) {\n  const [store, update] = useStore(Core.createComboboxStore, props);\n  return useComboboxStoreProps(store, update, props);\n}\n\nexport {\n  useComboboxStoreProps,\n  useComboboxStore\n};\n","\"use client\";\nimport {\n  useDisclosureStoreProps\n} from \"./SFCBA2JZ.js\";\nimport {\n  useStore\n} from \"./EKQEJRUF.js\";\n\n// src/dialog/dialog-store.ts\nimport * as Core from \"@ariakit/core/dialog/dialog-store\";\nfunction useDialogStoreProps(store, update, props) {\n  return useDisclosureStoreProps(store, update, props);\n}\nfunction useDialogStore(props = {}) {\n  const [store, update] = useStore(Core.createDialogStore, props);\n  return useDialogStoreProps(store, update, props);\n}\n\nexport {\n  useDialogStoreProps,\n  useDialogStore\n};\n","\"use client\";\nimport {\n  ComboboxItemValueContext,\n  useComboboxScopedContext\n} from \"../__chunks/W76OTZCC.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"../__chunks/3ORBWXWF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-item-value.tsx\nimport { useContext, useMemo } from \"react\";\nimport { invariant, normalizeString } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction normalizeValue(value) {\n  return normalizeString(value).toLowerCase();\n}\nfunction splitValue(itemValue, userValue) {\n  userValue = normalizeValue(userValue);\n  let index = normalizeValue(itemValue).indexOf(userValue);\n  const parts = [];\n  while (index !== -1) {\n    if (index !== 0) {\n      parts.push(\n        /* @__PURE__ */ jsx(\"span\", { \"data-autocomplete-value\": \"\", children: itemValue.substr(0, index) }, parts.length)\n      );\n    }\n    parts.push(\n      /* @__PURE__ */ jsx(\"span\", { \"data-user-value\": \"\", children: itemValue.substr(index, userValue.length) }, parts.length)\n    );\n    itemValue = itemValue.substr(index + userValue.length);\n    index = normalizeValue(itemValue).indexOf(userValue);\n  }\n  if (itemValue) {\n    parts.push(\n      /* @__PURE__ */ jsx(\"span\", { \"data-autocomplete-value\": \"\", children: itemValue }, parts.length)\n    );\n  }\n  return parts;\n}\nvar useComboboxItemValue = createHook(\n  (_a) => {\n    var _b = _a, { store, value } = _b, props = __objRest(_b, [\"store\", \"value\"]);\n    const context = useComboboxScopedContext();\n    store = store || context;\n    const itemContext = useContext(ComboboxItemValueContext);\n    const itemValue = value != null ? value : itemContext;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"ComboboxItemValue must be wrapped in a ComboboxItem component.\"\n    );\n    const stateValue = store.useState(\n      (state) => itemValue && state.value ? state.value : void 0\n    );\n    const children = useMemo(\n      () => itemValue && stateValue ? splitValue(itemValue, stateValue) : itemValue,\n      [itemValue, stateValue]\n    );\n    props = __spreadValues({\n      children\n    }, props);\n    return props;\n  }\n);\nvar ComboboxItemValue = createComponent(\n  (props) => {\n    const htmlProps = useComboboxItemValue(props);\n    return createElement(\"span\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  ComboboxItemValue.displayName = \"ComboboxItemValue\";\n}\nexport {\n  ComboboxItemValue,\n  useComboboxItemValue\n};\n","\"use client\";\nimport {\n  useCompositeHover\n} from \"../__chunks/G6ONQ5EH.js\";\nimport {\n  ComboboxItemCheckedContext,\n  ComboboxItemValueContext,\n  useComboboxScopedContext\n} from \"../__chunks/W76OTZCC.js\";\nimport {\n  useCompositeItem\n} from \"../__chunks/QZLXIDNP.js\";\nimport \"../__chunks/NWCBQ4CV.js\";\nimport \"../__chunks/UH3I23HL.js\";\nimport \"../__chunks/3IEDWLST.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport \"../__chunks/KK7H3W2B.js\";\nimport \"../__chunks/SHA3WOPI.js\";\nimport {\n  createElement,\n  createHook,\n  createMemoComponent\n} from \"../__chunks/3ORBWXWF.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useWrapElement\n} from \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-item.tsx\nimport { useCallback } from \"react\";\nimport { getPopupItemRole, isTextField } from \"@ariakit/core/utils/dom\";\nimport { isDownloading, isOpeningInNewTab } from \"@ariakit/core/utils/events\";\nimport { hasFocus } from \"@ariakit/core/utils/focus\";\nimport { invariant } from \"@ariakit/core/utils/misc\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction isSelected(storeValue, itemValue) {\n  if (itemValue == null)\n    return;\n  if (storeValue == null)\n    return false;\n  if (Array.isArray(storeValue)) {\n    return storeValue.includes(itemValue);\n  }\n  return storeValue === itemValue;\n}\nvar useComboboxItem = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      value,\n      hideOnClick,\n      selectValueOnClick = true,\n      setValueOnClick,\n      focusOnHover = false,\n      moveOnKeyPress = true,\n      getItem: getItemProp\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"value\",\n      \"hideOnClick\",\n      \"selectValueOnClick\",\n      \"setValueOnClick\",\n      \"focusOnHover\",\n      \"moveOnKeyPress\",\n      \"getItem\"\n    ]);\n    const context = useComboboxScopedContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"ComboboxItem must be wrapped in a ComboboxList or ComboboxPopover component.\"\n    );\n    const getItem = useCallback(\n      (item) => {\n        const nextItem = __spreadProps(__spreadValues({}, item), { value });\n        if (getItemProp) {\n          return getItemProp(nextItem);\n        }\n        return nextItem;\n      },\n      [value, getItemProp]\n    );\n    const multiSelectable = store.useState(\n      (state) => Array.isArray(state.selectedValue)\n    );\n    setValueOnClick = setValueOnClick != null ? setValueOnClick : !multiSelectable;\n    hideOnClick = hideOnClick != null ? hideOnClick : value != null && !multiSelectable;\n    const onClickProp = props.onClick;\n    const setValueOnClickProp = useBooleanEvent(setValueOnClick);\n    const selectValueOnClickProp = useBooleanEvent(selectValueOnClick);\n    const hideOnClickProp = useBooleanEvent(hideOnClick);\n    const onClick = useEvent((event) => {\n      onClickProp == null ? void 0 : onClickProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (isDownloading(event))\n        return;\n      if (isOpeningInNewTab(event))\n        return;\n      if (value != null) {\n        if (selectValueOnClickProp(event)) {\n          store == null ? void 0 : store.setSelectedValue((prevValue) => {\n            if (!Array.isArray(prevValue))\n              return value;\n            if (prevValue.includes(value)) {\n              return prevValue.filter((v) => v !== value);\n            }\n            return [...prevValue, value];\n          });\n        }\n        if (setValueOnClickProp(event)) {\n          store == null ? void 0 : store.setValue(value);\n        }\n      }\n      if (hideOnClickProp(event)) {\n        store == null ? void 0 : store.move(null);\n        store == null ? void 0 : store.hide();\n      }\n    });\n    const onKeyDownProp = props.onKeyDown;\n    const onKeyDown = useEvent((event) => {\n      onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      const baseElement = store == null ? void 0 : store.getState().baseElement;\n      if (!baseElement)\n        return;\n      if (hasFocus(baseElement))\n        return;\n      const printable = event.key.length === 1;\n      if (printable || event.key === \"Backspace\" || event.key === \"Delete\") {\n        queueMicrotask(() => baseElement.focus());\n        if (isTextField(baseElement)) {\n          store == null ? void 0 : store.setValue(baseElement.value);\n        }\n      }\n    });\n    const selected = store.useState(\n      (state) => isSelected(state.selectedValue, value)\n    );\n    if (multiSelectable && selected != null) {\n      props = __spreadValues({\n        \"aria-selected\": selected\n      }, props);\n    }\n    props = useWrapElement(\n      props,\n      (element) => /* @__PURE__ */ jsx(ComboboxItemValueContext.Provider, { value, children: /* @__PURE__ */ jsx(ComboboxItemCheckedContext.Provider, { value: selected != null ? selected : false, children: element }) }),\n      [value, selected]\n    );\n    const contentElement = store.useState(\"contentElement\");\n    props = __spreadProps(__spreadValues({\n      role: getPopupItemRole(contentElement),\n      children: value\n    }, props), {\n      onClick,\n      onKeyDown\n    });\n    const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);\n    props = useCompositeItem(__spreadProps(__spreadValues({\n      store\n    }, props), {\n      getItem,\n      // Dispatch a custom event on the combobox input when moving to an item\n      // with the keyboard so the Combobox component can enable inline\n      // autocompletion.\n      moveOnKeyPress: (event) => {\n        if (!moveOnKeyPressProp(event))\n          return false;\n        const moveEvent = new Event(\"combobox-item-move\");\n        const baseElement = store == null ? void 0 : store.getState().baseElement;\n        baseElement == null ? void 0 : baseElement.dispatchEvent(moveEvent);\n        return true;\n      }\n    }));\n    props = useCompositeHover(__spreadValues({ store, focusOnHover }, props));\n    return props;\n  }\n);\nvar ComboboxItem = createMemoComponent(\n  (props) => {\n    const htmlProps = useComboboxItem(props);\n    return createElement(\"div\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  ComboboxItem.displayName = \"ComboboxItem\";\n}\nexport {\n  ComboboxItem,\n  useComboboxItem\n};\n","\"use client\";\nimport {\n  useComboboxProviderContext\n} from \"../__chunks/W76OTZCC.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport {\n  createElement,\n  createHook,\n  createMemoComponent\n} from \"../__chunks/3ORBWXWF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-label.ts\nimport { invariant } from \"@ariakit/core/utils/misc\";\nvar useComboboxLabel = createHook(\n  (_a) => {\n    var _b = _a, { store } = _b, props = __objRest(_b, [\"store\"]);\n    const context = useComboboxProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"ComboboxLabel must receive a `store` prop or be wrapped in a ComboboxProvider component.\"\n    );\n    const comboboxId = store.useState((state) => {\n      var _a2;\n      return (_a2 = state.baseElement) == null ? void 0 : _a2.id;\n    });\n    props = __spreadValues({\n      htmlFor: comboboxId\n    }, props);\n    return props;\n  }\n);\nvar ComboboxLabel = createMemoComponent(\n  (props) => {\n    const htmlProps = useComboboxLabel(props);\n    return createElement(\"label\", htmlProps);\n  }\n);\nif (process.env.NODE_ENV !== \"production\") {\n  ComboboxLabel.displayName = \"ComboboxLabel\";\n}\nexport {\n  ComboboxLabel,\n  useComboboxLabel\n};\n","\"use client\";\nimport {\n  useComboboxStore\n} from \"../__chunks/ZKJ2WLF7.js\";\nimport {\n  ComboboxContextProvider\n} from \"../__chunks/W76OTZCC.js\";\nimport \"../__chunks/7GBW5FLS.js\";\nimport \"../__chunks/Y6GYTNQ2.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport \"../__chunks/3ORBWXWF.js\";\nimport \"../__chunks/MG4P3223.js\";\nimport \"../__chunks/ZSELSBRM.js\";\nimport \"../__chunks/SFCBA2JZ.js\";\nimport \"../__chunks/EKQEJRUF.js\";\nimport \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox-provider.tsx\nimport { jsx } from \"react/jsx-runtime\";\nfunction ComboboxProvider(props = {}) {\n  const store = useComboboxStore(props);\n  return /* @__PURE__ */ jsx(ComboboxContextProvider, { value: store, children: props.children });\n}\nexport {\n  ComboboxProvider\n};\n","\"use client\";\nimport {\n  usePopoverAnchor\n} from \"../__chunks/JCH6MLL2.js\";\nimport {\n  useComboboxProviderContext\n} from \"../__chunks/W76OTZCC.js\";\nimport {\n  useComposite\n} from \"../__chunks/7QTPYGNZ.js\";\nimport \"../__chunks/3IEDWLST.js\";\nimport \"../__chunks/IB7YUKH5.js\";\nimport \"../__chunks/4UUKJZ4V.js\";\nimport \"../__chunks/7H5KSHHF.js\";\nimport \"../__chunks/G6BJYYBK.js\";\nimport \"../__chunks/OAYFXAQ2.js\";\nimport \"../__chunks/KK7H3W2B.js\";\nimport \"../__chunks/SHA3WOPI.js\";\nimport {\n  createComponent,\n  createElement,\n  createHook\n} from \"../__chunks/3ORBWXWF.js\";\nimport {\n  useBooleanEvent,\n  useEvent,\n  useForceUpdate,\n  useId,\n  useMergeRefs,\n  useSafeLayoutEffect,\n  useUpdateEffect,\n  useUpdateLayoutEffect\n} from \"../__chunks/6O5OEQGF.js\";\nimport \"../__chunks/XM66DUTO.js\";\nimport {\n  __objRest,\n  __spreadProps,\n  __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/combobox/combobox.ts\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport {\n  getPopupRole,\n  getScrollingElement,\n  setSelectionRange\n} from \"@ariakit/core/utils/dom\";\nimport {\n  isFocusEventOutside,\n  queueBeforeEvent\n} from \"@ariakit/core/utils/events\";\nimport { hasFocus } from \"@ariakit/core/utils/focus\";\nimport {\n  invariant,\n  isFalsyBooleanCallback,\n  normalizeString\n} from \"@ariakit/core/utils/misc\";\nimport { flushSync } from \"react-dom\";\nfunction isFirstItemAutoSelected(items, activeValue, autoSelect) {\n  if (!autoSelect)\n    return false;\n  const firstItem = items.find((item) => !item.disabled && item.value);\n  return (firstItem == null ? void 0 : firstItem.value) === activeValue;\n}\nfunction hasCompletionString(value, activeValue) {\n  if (!activeValue)\n    return false;\n  if (value == null)\n    return false;\n  value = normalizeString(value);\n  return activeValue.length > value.length && activeValue.toLowerCase().indexOf(value.toLowerCase()) === 0;\n}\nfunction isInputEvent(event) {\n  return event.type === \"input\";\n}\nfunction isAriaAutoCompleteValue(value) {\n  return value === \"inline\" || value === \"list\" || value === \"both\" || value === \"none\";\n}\nvar useCombobox = createHook(\n  (_a) => {\n    var _b = _a, {\n      store,\n      focusable = true,\n      autoSelect: autoSelectProp = false,\n      getAutoSelectId,\n      showOnChange = true,\n      setValueOnChange = true,\n      showOnMouseDown = true,\n      setValueOnClick = true,\n      showOnKeyDown = true,\n      moveOnKeyPress = true,\n      autoComplete = \"list\"\n    } = _b, props = __objRest(_b, [\n      \"store\",\n      \"focusable\",\n      \"autoSelect\",\n      \"getAutoSelectId\",\n      \"showOnChange\",\n      \"setValueOnChange\",\n      \"showOnMouseDown\",\n      \"setValueOnClick\",\n      \"showOnKeyDown\",\n      \"moveOnKeyPress\",\n      \"autoComplete\"\n    ]);\n    const context = useComboboxProviderContext();\n    store = store || context;\n    invariant(\n      store,\n      process.env.NODE_ENV !== \"production\" && \"Combobox must receive a `store` prop or be wrapped in a ComboboxProvider component.\"\n    );\n    const ref = useRef(null);\n    const [valueUpdated, forceValueUpdate] = useForceUpdate();\n    const canAutoSelectRef = useRef(false);\n    const composingRef = useRef(false);\n    const autoSelect = store.useState(\n      (state) => !!autoSelectProp && state.virtualFocus\n    );\n    const inline = autoComplete === \"inline\" || autoComplete === \"both\";\n    const [canInline, setCanInline] = useState(inline);\n    useUpdateLayoutEffect(() => {\n      if (!inline)\n        return;\n      setCanInline(true);\n    }, [inline]);\n    const storeValue = store.useState(\"value\");\n    const activeValue = store.useState(\n      (state) => inline && canInline ? state.activeValue : void 0\n    );\n    const items = store.useState(\"renderedItems\");\n    const open = store.useState(\"open\");\n    const contentElement = store.useState(\"contentElement\");\n    const value = useMemo(() => {\n      if (!inline)\n        return storeValue;\n      if (!canInline)\n        return storeValue;\n      const firstItemAutoSelected = isFirstItemAutoSelected(\n        items,\n        activeValue,\n        autoSelect\n      );\n      if (firstItemAutoSelected) {\n        if (hasCompletionString(storeValue, activeValue)) {\n          const slice = (activeValue == null ? void 0 : activeValue.slice(storeValue.length)) || \"\";\n          return storeValue + slice;\n        }\n        return storeValue;\n      }\n      return activeValue || storeValue;\n    }, [inline, canInline, items, activeValue, autoSelect, storeValue]);\n    useEffect(() => {\n      const element = ref.current;\n      if (!element)\n        return;\n      const onCompositeItemMove = () => setCanInline(true);\n      element.addEventListener(\"combobox-item-move\", onCompositeItemMove);\n      return () => {\n        element.removeEventListener(\"combobox-item-move\", onCompositeItemMove);\n      };\n    }, []);\n    useEffect(() => {\n      if (!inline)\n        return;\n      if (!canInline)\n        return;\n      if (!activeValue)\n        return;\n      const firstItemAutoSelected = isFirstItemAutoSelected(\n        items,\n        activeValue,\n        autoSelect\n      );\n      if (!firstItemAutoSelected)\n        return;\n      if (!hasCompletionString(storeValue, activeValue))\n        return;\n      queueMicrotask(() => {\n        const element = ref.current;\n        if (!element)\n          return;\n        setSelectionRange(element, storeValue.length, activeValue.length);\n      });\n    }, [\n      valueUpdated,\n      inline,\n      canInline,\n      activeValue,\n      items,\n      autoSelect,\n      storeValue\n    ]);\n    const scrollingElementRef = useRef(null);\n    const getAutoSelectIdProp = useEvent(getAutoSelectId);\n    const autoSelectIdRef = useRef(null);\n    useEffect(() => {\n      if (!open)\n        return;\n      if (!contentElement)\n        return;\n      const scrollingElement = getScrollingElement(contentElement);\n      if (!scrollingElement)\n        return;\n      scrollingElementRef.current = scrollingElement;\n      const onWheel = () => {\n        canAutoSelectRef.current = false;\n      };\n      const onScroll = () => {\n        if (!store)\n          return;\n        if (!canAutoSelectRef.current)\n          return;\n        const { activeId } = store.getState();\n        if (activeId === null)\n          return;\n        if (activeId === autoSelectIdRef.current)\n          return;\n        canAutoSelectRef.current = false;\n      };\n      const options = { passive: true, capture: true };\n      scrollingElement.addEventListener(\"wheel\", onWheel, options);\n      scrollingElement.addEventListener(\"scroll\", onScroll, options);\n      return () => {\n        scrollingElement.removeEventListener(\"wheel\", onWheel, true);\n        scrollingElement.removeEventListener(\"scroll\", onScroll, true);\n      };\n    }, [open, contentElement, store]);\n    useSafeLayoutEffect(() => {\n      if (!storeValue)\n        return;\n      if (composingRef.current)\n        return;\n      canAutoSelectRef.current = true;\n    }, [storeValue]);\n    useSafeLayoutEffect(() => {\n      if (open)\n        return;\n      canAutoSelectRef.current = false;\n    }, [open]);\n    const resetValueOnSelect = store.useState(\"resetValueOnSelect\");\n    useUpdateEffect(() => {\n      var _a2;\n      const canAutoSelect = canAutoSelectRef.current;\n      if (!store)\n        return;\n      if ((!autoSelect || !canAutoSelect) && !resetValueOnSelect)\n        return;\n      const { baseElement, contentElement: contentElement2, activeId } = store.getState();\n      if (baseElement && !hasFocus(baseElement))\n        return;\n      if (contentElement2 == null ? void 0 : contentElement2.hasAttribute(\"data-placing\")) {\n        const observer = new MutationObserver(forceValueUpdate);\n        observer.observe(contentElement2, { attributeFilter: [\"data-placing\"] });\n        return () => observer.disconnect();\n      }\n      if (autoSelect && canAutoSelect) {\n        const userAutoSelectId = getAutoSelectIdProp(items);\n        const autoSelectId = userAutoSelectId !== void 0 ? userAutoSelectId : store.first();\n        autoSelectIdRef.current = autoSelectId;\n        store.move(autoSelectId != null ? autoSelectId : null);\n      } else {\n        const element = (_a2 = store.item(activeId)) == null ? void 0 : _a2.element;\n        if (element && \"scrollIntoView\" in element) {\n          element.scrollIntoView({ block: \"nearest\", inline: \"nearest\" });\n        }\n      }\n      return;\n    }, [\n      store,\n      valueUpdated,\n      storeValue,\n      autoSelect,\n      resetValueOnSelect,\n      getAutoSelectIdProp,\n      items\n    ]);\n    useEffect(() => {\n      if (!inline)\n        return;\n      const combobox = ref.current;\n      if (!combobox)\n        return;\n      const elements = [combobox, contentElement].filter(\n        (value2) => !!value2\n      );\n      const onBlur2 = (event) => {\n        if (elements.every((el) => isFocusEventOutside(event, el))) {\n          store == null ? void 0 : store.setValue(value);\n        }\n      };\n      elements.forEach((el) => el.addEventListener(\"focusout\", onBlur2));\n      return () => {\n        elements.forEach((el) => el.removeEventListener(\"focusout\", onBlur2));\n      };\n    }, [inline, contentElement, store, value]);\n    const onChangeProp = props.onChange;\n    const showOnChangeProp = useBooleanEvent(showOnChange);\n    const setValueOnChangeProp = useBooleanEvent(setValueOnChange);\n    const onChange = useEvent((event) => {\n      onChangeProp == null ? void 0 : onChangeProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (!store)\n        return;\n      const { value: value2, selectionStart, selectionEnd } = event.target;\n      const nativeEvent = event.nativeEvent;\n      canAutoSelectRef.current = true;\n      if (isInputEvent(nativeEvent)) {\n        if (nativeEvent.isComposing) {\n          canAutoSelectRef.current = false;\n          composingRef.current = true;\n        }\n        if (inline) {\n          const textInserted = nativeEvent.inputType === \"insertText\" || nativeEvent.inputType === \"insertCompositionText\";\n          const caretAtEnd = selectionStart === value2.length;\n          setCanInline(textInserted && caretAtEnd);\n        }\n      }\n      if (setValueOnChangeProp(event)) {\n        const isSameValue = value2 === store.getState().value;\n        flushSync(() => store == null ? void 0 : store.setValue(value2));\n        setSelectionRange(event.currentTarget, selectionStart, selectionEnd);\n        if (inline && autoSelect && isSameValue) {\n          forceValueUpdate();\n        }\n      }\n      if (showOnChangeProp(event)) {\n        store.show();\n      }\n      if (!autoSelect || !canAutoSelectRef.current) {\n        store.setActiveId(null);\n      }\n    });\n    const onCompositionEndProp = props.onCompositionEnd;\n    const onCompositionEnd = useEvent(\n      (event) => {\n        canAutoSelectRef.current = true;\n        composingRef.current = false;\n        onCompositionEndProp == null ? void 0 : onCompositionEndProp(event);\n        if (event.defaultPrevented)\n          return;\n        if (!autoSelect)\n          return;\n        forceValueUpdate();\n      }\n    );\n    const onMouseDownProp = props.onMouseDown;\n    const setValueOnClickProp = useBooleanEvent(setValueOnClick);\n    const showOnMouseDownProp = useBooleanEvent(showOnMouseDown);\n    const onMouseDown = useEvent((event) => {\n      onMouseDownProp == null ? void 0 : onMouseDownProp(event);\n      if (event.defaultPrevented)\n        return;\n      if (event.button)\n        return;\n      if (event.ctrlKey)\n        return;\n      if (!store)\n        return;\n      store.setActiveId(null);\n      if (setValueOnClickProp(event)) {\n        store.setValue(value);\n      }\n      if (showOnMouseDownProp(event)) {\n        queueBeforeEvent(event.currentTarget, \"mouseup\", store.show);\n      }\n    });\n    const onKeyDownProp = props.onKeyDown;\n    const showOnKeyDownProp = useBooleanEvent(showOnKeyDown);\n    const onKeyDown = useEvent(\n      (event) => {\n        onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n        if (!event.repeat) {\n          canAutoSelectRef.current = false;\n        }\n        if (event.defaultPrevented)\n          return;\n        if (event.ctrlKey)\n          return;\n        if (event.altKey)\n          return;\n        if (event.shiftKey)\n          return;\n        if (event.metaKey)\n          return;\n        if (!store)\n          return;\n        const { open: open2, activeId } = store.getState();\n        if (open2)\n          return;\n        if (activeId !== null)\n          return;\n        if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n          if (showOnKeyDownProp(event)) {\n            event.preventDefault();\n            store.show();\n          }\n        }\n      }\n    );\n    const onBlurProp = props.onBlur;\n    const onBlur = useEvent((event) => {\n      canAutoSelectRef.current = false;\n      onBlurProp == null ? void 0 : onBlurProp(event);\n      if (event.defaultPrevented)\n        return;\n    });\n    const id = useId(props.id);\n    const ariaAutoComplete = isAriaAutoCompleteValue(autoComplete) ? autoComplete : void 0;\n    const isActiveItem = store.useState((state) => state.activeId === null);\n    props = __spreadProps(__spreadValues({\n      id,\n      role: \"combobox\",\n      \"aria-autocomplete\": ariaAutoComplete,\n      \"aria-haspopup\": getPopupRole(contentElement, \"listbox\"),\n      \"aria-expanded\": open,\n      \"aria-controls\": contentElement == null ? void 0 : contentElement.id,\n      \"data-active-item\": isActiveItem || void 0,\n      value\n    }, props), {\n      ref: useMergeRefs(ref, props.ref),\n      onChange,\n      onCompositionEnd,\n      onMouseDown,\n      onKeyDown,\n      onBlur\n    });\n    props = useComposite(__spreadProps(__spreadValues({\n      store,\n      focusable\n    }, props), {\n      // Enable inline autocomplete when the user moves from the combobox input\n      // to an item.\n      moveOnKeyPress: (event) => {\n        if (isFalsyBooleanCallback(moveOnKeyPress, event))\n          return false;\n        if (inline)\n          setCanInline(true);\n        return true;\n      }\n    }));\n    props = usePopoverAnchor(__spreadValues({ store }, props));\n    return __spreadValues({ autoComplete: \"off\" }, props);\n  }\n);\nvar Combobox = createComponent((props) => {\n  const htmlProps = useCombobox(props);\n  return createElement(\"input\", htmlProps);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Combobox.displayName = \"Combobox\";\n}\nexport {\n  Combobox,\n  useCombobox\n};\n","export default function _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}","import * as React from 'react';\nimport { useEffect, useState } from 'react';\n\n/**\n * Hook to load external script.\n * @param src - Source url to load.\n * @param onLoad - Success callback.\n * @param onError - Error callback.\n */ function useLoadScript(src, onLoad, onError) {\n    useEffect(()=>{\n        if (!document) {\n            return;\n        }\n        // Find script tag with same src in DOM.\n        const foundScript = document.querySelector(\"script[src=\\\"\".concat(src, \"\\\"]\"));\n        // Call onLoad if script marked as loaded.\n        if (foundScript === null || foundScript === void 0 ? void 0 : foundScript.dataset.loaded) {\n            onLoad === null || onLoad === void 0 ? void 0 : onLoad();\n            return;\n        }\n        // Create or get existed tag.\n        const script = foundScript || document.createElement(\"script\");\n        // Set src if no script was found.\n        if (!foundScript) {\n            script.src = src;\n        }\n        // Mark script as loaded on load event.\n        const onLoadWithMarker = ()=>{\n            script.dataset.loaded = \"1\";\n            onLoad === null || onLoad === void 0 ? void 0 : onLoad();\n        };\n        script.addEventListener(\"load\", onLoadWithMarker);\n        if (onError) {\n            script.addEventListener(\"error\", onError);\n        }\n        // Add to DOM if not yet added.\n        if (!foundScript) {\n            document.head.append(script);\n        }\n        return ()=>{\n            script.removeEventListener(\"load\", onLoadWithMarker);\n            if (onError) {\n                script.removeEventListener(\"error\", onError);\n            }\n        };\n    }, []);\n}\n\n/**\n * Hook to load Google Charts JS API.\n * @param params - Load parameters.\n * @param [params.chartVersion] - Chart version to load.\n * @param [params.chartPackages] - Packages to load.\n * @param [params.chartLanguage] - Languages to load.\n * @param [params.mapsApiKey] - Google Maps api key.\n * @returns\n */ function useLoadGoogleCharts(param) {\n    let { chartVersion =\"current\" , chartPackages =[\n        \"corechart\",\n        \"controls\"\n    ] , chartLanguage =\"en\" , mapsApiKey  } = param;\n    const [googleCharts, setGoogleCharts] = useState(null);\n    const [failed, setFailed] = useState(false);\n    useLoadScript(\"https://www.gstatic.com/charts/loader.js\", ()=>{\n        // @ts-expect-error Getting object from global namespace.\n        const google = window === null || window === void 0 ? void 0 : window.google;\n        if (!google) {\n            return;\n        }\n        google.charts.load(chartVersion, {\n            packages: chartPackages,\n            language: chartLanguage,\n            mapsApiKey\n        });\n        google.charts.setOnLoadCallback(()=>{\n            setGoogleCharts(google);\n        });\n    }, ()=>{\n        setFailed(true);\n    });\n    return [\n        googleCharts,\n        failed\n    ];\n}\n/**\n * Wrapper around useLoadGoogleCharts to use in legacy components.\n */ function LoadGoogleCharts(param) {\n    let { onLoad , onError , ...params } = param;\n    const [googleCharts, failed] = useLoadGoogleCharts(params);\n    useEffect(()=>{\n        if (googleCharts && onLoad) {\n            onLoad(googleCharts);\n        }\n    }, [\n        googleCharts\n    ]);\n    useEffect(()=>{\n        if (failed && onError) {\n            onError();\n        }\n    }, [\n        failed\n    ]);\n    return null;\n}\n\nconst chartDefaultProps = {\n    // <DEPRECATED_PROPS>\n    legend_toggle: false,\n    // </DEPRECATED_PROPS>\n    options: {},\n    legendToggle: false,\n    getChartWrapper: ()=>{},\n    spreadSheetQueryParameters: {\n        headers: 1,\n        gid: 1\n    },\n    rootProps: {},\n    chartWrapperParams: {}\n};\n\nlet uniqueID = 0;\nconst generateUniqueID = ()=>{\n    uniqueID += 1;\n    return \"reactgooglegraph-\".concat(uniqueID);\n};\n\nconst DEFAULT_CHART_COLORS = [\n    \"#3366CC\",\n    \"#DC3912\",\n    \"#FF9900\",\n    \"#109618\",\n    \"#990099\",\n    \"#3B3EAC\",\n    \"#0099C6\",\n    \"#DD4477\",\n    \"#66AA00\",\n    \"#B82E2E\",\n    \"#316395\",\n    \"#994499\",\n    \"#22AA99\",\n    \"#AAAA11\",\n    \"#6633CC\",\n    \"#E67300\",\n    \"#8B0707\",\n    \"#329262\",\n    \"#5574A6\",\n    \"#3B3EAC\"\n];\n\nconst loadDataTableFromSpreadSheet = async function(googleViz, spreadSheetUrl) {\n    let urlParams = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n    return new Promise((resolve, reject)=>{\n        const headers = \"\".concat(urlParams.headers ? \"headers=\".concat(urlParams.headers) : \"headers=0\");\n        const queryString = \"\".concat(urlParams.query ? \"&tq=\".concat(encodeURIComponent(urlParams.query)) : \"\");\n        const gid = \"\".concat(urlParams.gid ? \"&gid=\".concat(urlParams.gid) : \"\");\n        const sheet = \"\".concat(urlParams.sheet ? \"&sheet=\".concat(urlParams.sheet) : \"\");\n        const access_token = \"\".concat(urlParams.access_token ? \"&access_token=\".concat(urlParams.access_token) : \"\");\n        const urlQueryString = \"\".concat(headers).concat(gid).concat(sheet).concat(queryString).concat(access_token);\n        const urlToSpreadSheet = \"\".concat(spreadSheetUrl, \"/gviz/tq?\").concat(urlQueryString); //&tq=${queryString}`;\n        const query = new googleViz.visualization.Query(urlToSpreadSheet);\n        query.send((response)=>{\n            if (response.isError()) {\n                reject(\"Error in query:  \".concat(response.getMessage(), \" \").concat(response.getDetailedMessage()));\n            } else {\n                resolve(response.getDataTable());\n            }\n        });\n    });\n};\n\nconst { Provider , Consumer  } = /*#__PURE__*/ React.createContext(chartDefaultProps);\nconst ContextProvider = (param)=>{\n    let { children , value  } = param;\n    return(/*#__PURE__*/ React.createElement(Provider, {\n        value: value\n    }, children));\n};\nconst ContextConsumer = (param)=>{\n    let { render  } = param;\n    return(/*#__PURE__*/ React.createElement(Consumer, null, (context)=>{\n        return render(context);\n    }));\n};\n\nconst GRAY_COLOR = \"#CCCCCC\";\nclass GoogleChartDataTableInner extends React.Component {\n    componentDidMount() {\n        this.draw(this.props);\n        window.addEventListener(\"resize\", this.onResize);\n        if (this.props.legend_toggle || this.props.legendToggle) {\n            this.listenToLegendToggle();\n        }\n    }\n    componentWillUnmount() {\n        const { google , googleChartWrapper  } = this.props;\n        window.removeEventListener(\"resize\", this.onResize);\n        google.visualization.events.removeAllListeners(googleChartWrapper);\n        if (googleChartWrapper.getChartType() === \"Timeline\") {\n            googleChartWrapper.getChart() && googleChartWrapper.getChart().clearChart();\n        }\n    }\n    componentDidUpdate() {\n        this.draw(this.props);\n    }\n    render() {\n        return null;\n    }\n    constructor(...args){\n        super(...args);\n        this.state = {\n            hiddenColumns: []\n        };\n        this.listenToLegendToggle = ()=>{\n            const { google , googleChartWrapper  } = this.props;\n            google.visualization.events.addListener(googleChartWrapper, \"select\", ()=>{\n                const chart = googleChartWrapper.getChart();\n                const selection = chart.getSelection();\n                const dataTable = googleChartWrapper.getDataTable();\n                if (selection.length === 0 || // We want to listen to when a whole row is selected. This is the case only when row === null\n                selection[0].row || !dataTable) {\n                    return;\n                }\n                const columnIndex = selection[0].column;\n                const columnID = this.getColumnID(dataTable, columnIndex);\n                if (this.state.hiddenColumns.includes(columnID)) {\n                    this.setState((state)=>({\n                            ...state,\n                            hiddenColumns: [\n                                ...state.hiddenColumns.filter((colID)=>colID !== columnID\n                                ), \n                            ]\n                        })\n                    );\n                } else {\n                    this.setState((state)=>({\n                            ...state,\n                            hiddenColumns: [\n                                ...state.hiddenColumns,\n                                columnID\n                            ]\n                        })\n                    );\n                }\n            });\n        };\n        this.applyFormatters = (dataTable, formatters)=>{\n            const { google  } = this.props;\n            for (let formatter of formatters){\n                switch(formatter.type){\n                    case \"ArrowFormat\":\n                        {\n                            const vizFormatter = new google.visualization.ArrowFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"BarFormat\":\n                        {\n                            const vizFormatter = new google.visualization.BarFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"ColorFormat\":\n                        {\n                            const vizFormatter = new google.visualization.ColorFormat(formatter.options);\n                            const { ranges  } = formatter;\n                            for (let range of ranges){\n                                vizFormatter.addRange(...range);\n                            }\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"DateFormat\":\n                        {\n                            const vizFormatter = new google.visualization.DateFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"NumberFormat\":\n                        {\n                            const vizFormatter = new google.visualization.NumberFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                    case \"PatternFormat\":\n                        {\n                            const vizFormatter = new google.visualization.PatternFormat(formatter.options);\n                            vizFormatter.format(dataTable, formatter.column);\n                            break;\n                        }\n                }\n            }\n        };\n        this.getColumnID = (dataTable, columnIndex)=>{\n            return dataTable.getColumnId(columnIndex) || dataTable.getColumnLabel(columnIndex);\n        };\n        this.draw = async (param)=>{\n            let { data , diffdata , rows , columns , options , legend_toggle , legendToggle , chartType , formatters , spreadSheetUrl , spreadSheetQueryParameters  } = param;\n            const { google , googleChartWrapper  } = this.props;\n            let dataTable;\n            let chartDiff = null;\n            if (diffdata) {\n                const oldData = google.visualization.arrayToDataTable(diffdata.old);\n                const newData = google.visualization.arrayToDataTable(diffdata.new);\n                chartDiff = google.visualization[chartType].prototype.computeDiff(oldData, newData);\n            }\n            if (data !== null) {\n                if (Array.isArray(data)) {\n                    dataTable = google.visualization.arrayToDataTable(data);\n                } else {\n                    dataTable = new google.visualization.DataTable(data);\n                }\n            } else if (rows && columns) {\n                dataTable = google.visualization.arrayToDataTable([\n                    columns,\n                    ...rows\n                ]);\n            } else if (spreadSheetUrl) {\n                dataTable = await loadDataTableFromSpreadSheet(google, spreadSheetUrl, spreadSheetQueryParameters);\n            } else {\n                dataTable = google.visualization.arrayToDataTable([]);\n            }\n            const columnCount = dataTable.getNumberOfColumns();\n            for(let i = 0; i < columnCount; i += 1){\n                const columnID = this.getColumnID(dataTable, i);\n                if (this.state.hiddenColumns.includes(columnID)) {\n                    const previousColumnLabel = dataTable.getColumnLabel(i);\n                    const previousColumnID = dataTable.getColumnId(i);\n                    const previousColumnType = dataTable.getColumnType(i);\n                    dataTable.removeColumn(i);\n                    dataTable.addColumn({\n                        label: previousColumnLabel,\n                        id: previousColumnID,\n                        type: previousColumnType\n                    });\n                }\n            }\n            const chart = googleChartWrapper.getChart();\n            if (googleChartWrapper.getChartType() === \"Timeline\") {\n                chart && chart.clearChart();\n            }\n            googleChartWrapper.setChartType(chartType);\n            googleChartWrapper.setOptions(options || {});\n            googleChartWrapper.setDataTable(dataTable);\n            googleChartWrapper.draw();\n            if (this.props.googleChartDashboard !== null) {\n                this.props.googleChartDashboard.draw(dataTable);\n            }\n            if (chartDiff) {\n                googleChartWrapper.setDataTable(chartDiff);\n                googleChartWrapper.draw();\n            }\n            if (formatters) {\n                this.applyFormatters(dataTable, formatters);\n                googleChartWrapper.setDataTable(dataTable);\n                googleChartWrapper.draw();\n            }\n            if (legendToggle === true || legend_toggle === true) {\n                this.grayOutHiddenColumns({\n                    options\n                });\n            }\n            return;\n        };\n        this.grayOutHiddenColumns = (param)=>{\n            let { options  } = param;\n            const { googleChartWrapper  } = this.props;\n            const dataTable = googleChartWrapper.getDataTable();\n            if (!dataTable) return;\n            const columnCount = dataTable.getNumberOfColumns();\n            const hasAHiddenColumn = this.state.hiddenColumns.length > 0;\n            if (hasAHiddenColumn === false) return;\n            const colors = Array.from({\n                length: columnCount - 1\n            }).map((dontcare, i)=>{\n                const columnID = this.getColumnID(dataTable, i + 1);\n                if (this.state.hiddenColumns.includes(columnID)) {\n                    return GRAY_COLOR;\n                } else if (options && options.colors) {\n                    return options.colors[i];\n                } else {\n                    return DEFAULT_CHART_COLORS[i];\n                }\n            });\n            googleChartWrapper.setOptions({\n                ...options,\n                colors\n            });\n            googleChartWrapper.draw();\n        };\n        this.onResize = ()=>{\n            const { googleChartWrapper  } = this.props;\n            googleChartWrapper.draw();\n        };\n    }\n}\nclass GoogleChartDataTable extends React.Component {\n    componentDidMount() {}\n    componentWillUnmount() {}\n    shouldComponentUpdate() {\n        return false;\n    }\n    render() {\n        const { google , googleChartWrapper , googleChartDashboard  } = this.props;\n        return(/*#__PURE__*/ React.createElement(ContextConsumer, {\n            render: (props)=>{\n                return(/*#__PURE__*/ React.createElement(GoogleChartDataTableInner, Object.assign({}, props, {\n                    google: google,\n                    googleChartWrapper: googleChartWrapper,\n                    googleChartDashboard: googleChartDashboard\n                })));\n            }\n        }));\n    }\n}\n\nclass GoogleChartEvents extends React.Component {\n    shouldComponentUpdate() {\n        return false;\n    }\n    listenToEvents(param) {\n        let { chartEvents , google , googleChartWrapper  } = param;\n        if (!chartEvents) {\n            return;\n        }\n        google.visualization.events.removeAllListeners(googleChartWrapper);\n        for (let event of chartEvents){\n            var _this = this;\n            const { eventName , callback  } = event;\n            google.visualization.events.addListener(googleChartWrapper, eventName, function() {\n                for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n                    args[_key] = arguments[_key];\n                }\n                callback({\n                    chartWrapper: googleChartWrapper,\n                    props: _this.props,\n                    google: google,\n                    eventArgs: args\n                });\n            });\n        }\n    }\n    render() {\n        const { google , googleChartWrapper  } = this.props;\n        return(/*#__PURE__*/ React.createElement(ContextConsumer, {\n            render: (propsFromContext)=>{\n                this.listenToEvents({\n                    chartEvents: propsFromContext.chartEvents || null,\n                    google,\n                    googleChartWrapper\n                });\n                return null;\n            }\n        }));\n    }\n}\n\nlet controlCounter = 0;\nclass GoogleChart extends React.Component {\n    componentDidMount() {\n        const { options , google , chartType , chartWrapperParams , toolbarItems , getChartEditor , getChartWrapper ,  } = this.props;\n        const chartConfig = {\n            chartType,\n            options,\n            containerId: this.getGraphID(),\n            ...chartWrapperParams\n        };\n        const googleChartWrapper = new google.visualization.ChartWrapper(chartConfig);\n        googleChartWrapper.setOptions(options || {});\n        if (getChartWrapper) {\n            getChartWrapper(googleChartWrapper, google);\n        }\n        const googleChartDashboard = new google.visualization.Dashboard(this.dashboard_ref);\n        const googleChartControls = this.addControls(googleChartWrapper, googleChartDashboard);\n        if (toolbarItems) {\n            google.visualization.drawToolbar(this.toolbar_ref.current, toolbarItems);\n        }\n        let googleChartEditor = null;\n        if (getChartEditor) {\n            googleChartEditor = new google.visualization.ChartEditor();\n            getChartEditor({\n                chartEditor: googleChartEditor,\n                chartWrapper: googleChartWrapper,\n                google\n            });\n        }\n        this.setState({\n            googleChartEditor,\n            googleChartControls: googleChartControls,\n            googleChartDashboard: googleChartDashboard,\n            googleChartWrapper,\n            isReady: true\n        });\n    }\n    componentDidUpdate() {\n        if (!this.state.googleChartWrapper) return;\n        if (!this.state.googleChartDashboard) return;\n        if (!this.state.googleChartControls) return;\n        const { controls  } = this.props;\n        if (controls) {\n            for(let i = 0; i < controls.length; i += 1){\n                const { controlType , options , controlWrapperParams  } = controls[i];\n                if (controlWrapperParams && \"state\" in controlWrapperParams) {\n                    this.state.googleChartControls[i].control.setState(controlWrapperParams[\"state\"]);\n                }\n                this.state.googleChartControls[i].control.setOptions(options);\n                this.state.googleChartControls[i].control.setControlType(controlType);\n            }\n        }\n    }\n    shouldComponentUpdate(nextProps, nextState) {\n        return this.state.isReady !== nextState.isReady || nextProps.controls !== this.props.controls;\n    }\n    render() {\n        const { width , height , options , style  } = this.props;\n        const divStyle = {\n            height: height || options && options.height,\n            width: width || options && options.width,\n            ...style\n        };\n        if (this.props.render) {\n            return(/*#__PURE__*/ React.createElement(\"div\", {\n                ref: this.dashboard_ref,\n                style: divStyle\n            }, /*#__PURE__*/ React.createElement(\"div\", {\n                ref: this.toolbar_ref,\n                id: \"toolbar\"\n            }), this.props.render({\n                renderChart: this.renderChart,\n                renderControl: this.renderControl,\n                renderToolbar: this.renderToolBar\n            })));\n        } else {\n            return(/*#__PURE__*/ React.createElement(\"div\", {\n                ref: this.dashboard_ref,\n                style: divStyle\n            }, this.renderControl((param)=>{\n                let { controlProp  } = param;\n                return controlProp.controlPosition !== \"bottom\";\n            }), this.renderChart(), this.renderControl((param)=>{\n                let { controlProp  } = param;\n                return controlProp.controlPosition === \"bottom\";\n            }), this.renderToolBar()));\n        }\n    }\n    constructor(...args1){\n        var _this1;\n        super(), _this1 = this;\n        this.state = {\n            googleChartWrapper: null,\n            googleChartDashboard: null,\n            googleChartControls: null,\n            googleChartEditor: null,\n            isReady: false\n        };\n        this.graphID = null;\n        this.dashboard_ref = /*#__PURE__*/ React.createRef();\n        this.toolbar_ref = /*#__PURE__*/ React.createRef();\n        this.getGraphID = ()=>{\n            const { graphID , graph_id  } = this.props;\n            let instanceGraphID;\n            if (!graphID && !graph_id) {\n                if (!this.graphID) {\n                    instanceGraphID = generateUniqueID();\n                } else {\n                    instanceGraphID = this.graphID;\n                }\n            } else if (graphID && !graph_id) {\n                instanceGraphID = graphID;\n            } else if (graph_id && !graphID) {\n                instanceGraphID = graph_id;\n            } else {\n                instanceGraphID = graphID;\n            }\n            this.graphID = instanceGraphID;\n            return this.graphID;\n        };\n        this.getControlID = (id, index)=>{\n            controlCounter += 1;\n            let controlID;\n            if (typeof id === \"undefined\") {\n                controlID = \"googlechart-control-\".concat(index, \"-\").concat(controlCounter);\n            } else {\n                controlID = id;\n            }\n            return controlID;\n        };\n        this.addControls = (googleChartWrapper, googleChartDashboard)=>{\n            const { google , controls  } = this.props;\n            const googleChartControls = !controls ? null : controls.map((control, i)=>{\n                const { controlID: controlIDMaybe , controlType , options: controlOptions , controlWrapperParams ,  } = control;\n                const controlID = this.getControlID(controlIDMaybe, i);\n                return {\n                    controlProp: control,\n                    control: new google.visualization.ControlWrapper({\n                        containerId: controlID,\n                        controlType,\n                        options: controlOptions,\n                        ...controlWrapperParams\n                    })\n                };\n            });\n            if (!googleChartControls) {\n                return null;\n            }\n            googleChartDashboard.bind(googleChartControls.map((param)=>{\n                let { control  } = param;\n                return control;\n            }), googleChartWrapper);\n            for (let chartControl of googleChartControls){\n                const { control , controlProp  } = chartControl;\n                const { controlEvents =[]  } = controlProp;\n                for (let event of controlEvents){\n                    var _this = this;\n                    const { callback , eventName  } = event;\n                    google.visualization.events.removeListener(control, eventName, callback);\n                    google.visualization.events.addListener(control, eventName, function() {\n                        for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n                            args[_key] = arguments[_key];\n                        }\n                        callback({\n                            chartWrapper: googleChartWrapper,\n                            controlWrapper: control,\n                            props: _this.props,\n                            google: google,\n                            eventArgs: args\n                        });\n                    });\n                }\n            }\n            return googleChartControls;\n        };\n        this.renderChart = ()=>{\n            const { width , height , options , style , className , rootProps , google  } = this.props;\n            const divStyle = {\n                height: height || options && options.height,\n                width: width || options && options.width,\n                ...style\n            };\n            return(/*#__PURE__*/ React.createElement(\"div\", Object.assign({\n                id: this.getGraphID(),\n                style: divStyle,\n                className: className\n            }, rootProps), this.state.isReady && this.state.googleChartWrapper !== null ? /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement(GoogleChartDataTable, {\n                googleChartWrapper: this.state.googleChartWrapper,\n                google: google,\n                googleChartDashboard: this.state.googleChartDashboard\n            }), /*#__PURE__*/ React.createElement(GoogleChartEvents, {\n                googleChartWrapper: this.state.googleChartWrapper,\n                google: google\n            })) : null));\n        };\n        this.renderControl = function() {\n            let filter = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : (param)=>{\n                return true;\n            };\n            return _this1.state.isReady && _this1.state.googleChartControls !== null ? /*#__PURE__*/ React.createElement(React.Fragment, null, _this1.state.googleChartControls.filter((param)=>{\n                let { controlProp , control  } = param;\n                return filter({\n                    control,\n                    controlProp\n                });\n            }).map((param)=>{\n                let { control , controlProp  } = param;\n                return(/*#__PURE__*/ React.createElement(\"div\", {\n                    key: control.getContainerId(),\n                    id: control.getContainerId()\n                }));\n            })) : null;\n        };\n        this.renderToolBar = ()=>{\n            if (!this.props.toolbarItems) return null;\n            return(/*#__PURE__*/ React.createElement(\"div\", {\n                ref: this.toolbar_ref\n            }));\n        };\n    }\n}\n\nclass Chart$1 extends React.Component {\n    render() {\n        const { chartLanguage , chartPackages , chartVersion , mapsApiKey , loader , errorElement ,  } = this.props;\n        return(/*#__PURE__*/ React.createElement(ContextProvider, {\n            value: this.props\n        }, this.state.loadingStatus === \"ready\" && this.state.google !== null ? /*#__PURE__*/ React.createElement(GoogleChart, Object.assign({}, this.props, {\n            google: this.state.google\n        })) : this.state.loadingStatus === \"errored\" && errorElement ? errorElement : loader, /*#__PURE__*/ React.createElement(LoadGoogleCharts, {\n            chartLanguage: chartLanguage,\n            chartPackages: chartPackages,\n            chartVersion: chartVersion,\n            mapsApiKey: mapsApiKey,\n            onLoad: this.onLoad,\n            onError: this.onError\n        })));\n    }\n    componentDidMount() {\n        this._isMounted = true;\n    }\n    componentWillUnmount() {\n        this._isMounted = false;\n    }\n    isFullyLoaded(google) {\n        const { controls , toolbarItems , getChartEditor  } = this.props;\n        return google && google.visualization && google.visualization.ChartWrapper && google.visualization.Dashboard && (!controls || google.visualization.ChartWrapper) && (!getChartEditor || google.visualization.ChartEditor) && (!toolbarItems || google.visualization.drawToolbar);\n    }\n    constructor(...args){\n        super(...args);\n        this._isMounted = false;\n        this.state = {\n            loadingStatus: \"loading\",\n            google: null\n        };\n        this.onLoad = (google1)=>{\n            if (this.props.onLoad) {\n                this.props.onLoad(google1);\n            }\n            if (this.isFullyLoaded(google1)) {\n                this.onSuccess(google1);\n            } else {\n                // IE11: window.google is not fully set, we have to wait\n                const id = setInterval(()=>{\n                    const google = window.google;\n                    if (this._isMounted) {\n                        if (google && this.isFullyLoaded(google)) {\n                            clearInterval(id);\n                            this.onSuccess(google);\n                        }\n                    } else {\n                        clearInterval(id);\n                    }\n                }, 1000);\n            }\n        };\n        this.onSuccess = (google)=>{\n            this.setState({\n                loadingStatus: \"ready\",\n                google\n            });\n        };\n        this.onError = ()=>{\n            this.setState({\n                loadingStatus: \"errored\"\n            });\n        };\n    }\n}\nChart$1.defaultProps = chartDefaultProps;\n\nvar GoogleDataTableColumnRoleType;\n(function(GoogleDataTableColumnRoleType) {\n    GoogleDataTableColumnRoleType[\"annotation\"] = \"annotation\";\n    GoogleDataTableColumnRoleType[\"annotationText\"] = \"annotationText\";\n    GoogleDataTableColumnRoleType[\"certainty\"] = \"certainty\";\n    GoogleDataTableColumnRoleType[\"emphasis\"] = \"emphasis\";\n    GoogleDataTableColumnRoleType[\"interval\"] = \"interval\";\n    GoogleDataTableColumnRoleType[\"scope\"] = \"scope\";\n    GoogleDataTableColumnRoleType[\"style\"] = \"style\";\n    GoogleDataTableColumnRoleType[\"tooltip\"] = \"tooltip\";\n    GoogleDataTableColumnRoleType[\"domain\"] = \"domain\";\n})(GoogleDataTableColumnRoleType || (GoogleDataTableColumnRoleType = {}));\n\nvar Chart = Chart$1;\n\nexport { Chart$1 as Chart, GoogleDataTableColumnRoleType, Chart as default };\n//# sourceMappingURL=index.js.map\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"index\": 0,\n\t\"./style-index\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunksearch_console\"] = globalThis[\"webpackChunksearch_console\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"./style-index\"], () => (__webpack_require__(\"./src/index.js\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["ExternalLink","Icon","Flex","__","Footer","title","createElement","className","href","target","icon","ReactComponent","Logo","__experimentalHStack","HStack","Header","Card","useState","SlideShow","useSelect","Ads","props","plugins","select","myPlugins","getPlugins","per_page","filter","plugin","includes","shown","setShown","toShow","window","localStorage","getItem","initialValue","JSON","parse","Date","getTime","style","overflowX","useEffect","useDispatch","store","coreStore","Button","myAds","name","ad","link","isLink","slug","direction","noSlide","currentIndex","setCurrentIndex","slides","setSlides","saveEntityRecord","init","timer","setInterval","goToNextSlide","clearInterval","match","find","p","installPlugin","status","length","nextIndex","setMargin","index","margin","width","map","key","marginLeft","justify","variant","size","text","onClick","height","colors","animation","duration","easing","startup","focusTarget","chartArea","hAxis","gridlines","count","minSpacing","minorGridlines","showTextEvery","format","vAxis","vAxes","viewWindow","min","max","series","type","targetAxisIndex","tooltip","Chart","Options","useContext","Spinner","SettingsContext","LoadingSpinner","MyChart","settings","query","showError","table","setTable","token","access_token","getData","gapi","client","setToken","webmasters","searchanalytics","siteUrl","site","dimensions","fields","then","response","data","result","rows","temp","push","forEach","row","moment","keys","toDate","formatData","clicks","impressions","v","ctr","f","position","catch","error","val","metric","toFixed","chartType","options","legendToggle","abw","afg","ago","aia","ala","alb","and","are","arg","arm","asm","ata","atf","atg","aus","aut","aze","bdi","bel","ben","bes","bfa","bgd","bgr","bhr","bhs","bih","blm","blr","blz","bmu","bol","bra","brb","brn","btn","bvt","bwa","caf","can","cck","che","chl","chn","civ","cmr","cod","cog","cok","col","com","cpv","cri","cub","cuw","cxr","cym","cyp","cze","deu","dji","dma","dnk","dom","dza","ecu","egy","eri","esh","esp","est","eth","fin","fji","flk","fra","fro","fsm","gab","gbr","geo","ggy","gha","gib","gin","glp","gmb","gnb","gnq","grc","grd","grl","gtm","guf","gum","guy","hkg","hmd","hnd","hrv","hti","hun","idn","imn","ind","iot","irl","irn","irq","isl","isr","ita","jam","jey","jor","jpn","kaz","ken","kgz","khm","kir","kna","kor","kwt","lao","lbn","lbr","lby","lca","lie","lka","lso","ltu","lux","lva","mac","maf","mar","mco","mda","mdg","mdv","mex","mhl","mkd","mli","mlt","mmr","mne","mng","mnp","moz","mrt","msr","mtq","mus","mwi","mys","myt","nam","ncl","ner","nfk","nga","nic","niu","nld","nor","npl","nru","nzl","omn","pak","pan","pcn","per","phl","plw","png","pol","pri","prk","prt","pry","pse","pyf","qat","reu","rou","rus","rwa","sau","sdn","sen","sgp","sgs","shn","sjm","slb","sle","slv","smr","som","spm","srb","ssd","stp","sur","svk","svn","swe","swz","sxm","syc","syr","tca","tcd","tgo","tha","tjk","tkl","tkm","tls","ton","tto","tun","tur","tuv","twn","tza","uga","ukr","umi","ury","usa","uzb","vat","vct","ven","vgb","vir","vnm","vut","wlf","wsm","yem","zaf","zmb","zwe","zzz","FormTokenField","Fragment","countries","Country","handleChange","onChange","Object","values","indexOf","value","expression","suggestions","tokens","label","maxLength","__experimentalShowHowTo","RadioControl","Device","selected","option","SelectControl","TextControl","__experimentalVStack","VStack","Page","operator","placeholder","Query","Dropdown","MenuGroup","MenuItem","dateI18n","DateDropdown","updateQuery","updateSetting","range","setRange","setDate","num","period","date","subtract","contentClassName","placement","renderToggle","isOpen","onToggle","customDate","renderContent","FlexItem","DatePicker","DateSelect","popoverProps","startDate","__nextRemoveHelpButton","currentDate","isInvalidDate","endDate","Dimensions","onSelect","dimension","closeSmall","plus","MyModal","ENTER","SPACE","Filters","showModal","setShowModal","onRequestClose","remove","filters","dimensionFilterGroups","replaced","i","setType","getSign","iconPosition","role","tabIndex","onKeyDown","event","preventDefault","e","stopPropagation","modal","useMemo","DataViews","Countries","Table","setData","view","setView","perPage","page","sort","search","hiddenFields","layout","filterData","normalizeData","paginateArray","array","slice","field","sortKeys","sortData","a","b","localeCompare","item","id","header","enableHiding","render","Math","round","paginationInfo","totalItems","totalPages","ceil","onChangeView","getItemId","supportedLayouts","Modal","setFilter","searchType","setSearchType","saveChange","filtersArr","shift","modals","device","country","ModalFilter","isDestructive","disabled","CardBody","CardHeader","sprintf","RawHTML","Credentials","_settings$credentials","_settings$credentials2","setCredentials","credentials","assign","authUrl","wp_url","client_id","help","client_secret","Notice","GoogleOauthButton","GoogleOAuthProvider","GoogleOAuth","isDismissible","clientId","Help","apiFetch","hasGrantedAnyScopeGoogle","useGoogleLogin","revokeToken","message","setMessage","googleLogin","flow","onSuccess","code","getToken","scope","hasAccess","search_console","path","method","finally","console","log","getEmail","id_token","atob","split","email","isSmall","ToggleControl","PostTypeSelection","saveSettings","postTypes","getPostTypes","addPostType","removePostType","filteredArray","postTypeOptions","Array","isArray","postType","viewable","labels","singular_name","checked","classnames","Animate","cloud","SaveButton","isSaving","hasEdits","isBusy","animateClassName","gap","Verification","SiteSelect","refreshToken","sites","setSites","getSites","list","s","siteEntry","__experimentalInputControl","InputControl","getMeta","siteVerification","load","webResource","verificationMethod","identifier","replace","r","meta","suffix","createContext","useEntityProp","noticesStore","useHistory","SettingsContextProvider","defaultQuery","getDate","ready","setReady","setQuery","setEmail","history","setSettings","saveEditedEntityRecord","createNotice","explicitDismiss","isSavingEntityRecord","hasEditsForEntityRecord","undefined","loadSearchConsole","error_description","actions","refresh_token","expires_in","token_type","handleClientLoad","script","document","src","async","defer","onload","body","appendChild","removeChild","check","Provider","children","createRoot","SnackbarList","RouterProvider","useLocation","getQueryArg","Dashboard","Settings","Router","params","menuRoot","querySelector","reset","location","child","querySelectorAll","classList","add","parentElement","addEventListener","removeEventListener","listen","App","Notifications","notices","getNotices","removeNotice","snackbarNotices","onRemove","domNode","getElementById","root","createBrowserHistory","addQueryArgs","getQueryArgs","removeQueryArgs","originalHistoryPush","originalHistoryReplace","state","currentArgs","currentUrlWithoutArgs","newUrl","call","RoutesContext","HistoryContext","getLocationWithParams","searchParams","URLSearchParams","fromEntries","entries","setLocation","updatedLocation","createInterpolateElement","noticeString","__experimentalGrid","Grid","columns","templateColumns","align","createReduxStore","register","DEFAULT_STATE","setSetting","setting","setDimension","setCustomDate","setStartDate","setEndDate","removeFilter","fetchFromAPI","reducer","action","newFilter","arr","cleanArr","selectors","isReady","_state$settings","getSettings","getSite","getQuery","getFilterByDimension","getSearchType","getFilters","getCustomDate","controls","FETCH_FROM_API","resolvers"],"sourceRoot":""}
  • search-console/trunk/build/style-index.css

    r3091052 r3115844  
    11:root{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,161;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px;--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.dataviews-wrapper{box-sizing:border-box;height:100%;overflow:auto;scroll-padding-bottom:64px}.dataviews-filters__view-actions{box-sizing:border-box;flex-shrink:0;left:0;margin-bottom:12px;padding:12px 32px 0;position:sticky}.dataviews-filters__view-actions .components-search-control .components-base-control__field{max-width:240px}.dataviews-filters__container{padding-right:32px}.dataviews-filters__container .dataviews-filters__reset-button[aria-disabled=true],.dataviews-filters__container .dataviews-filters__reset-button[aria-disabled=true]:hover{opacity:0}.dataviews-filters__container .dataviews-filters__reset-button[aria-disabled=true]:focus{opacity:1}.dataviews-filters-button{position:relative}.dataviews-pagination{background-color:#fff;border-top:1px solid #f0f0f0;bottom:0;color:#757575;flex-shrink:0;left:0;padding:12px 32px;position:sticky}.dataviews-pagination__page-selection{color:#1e1e1e;font-size:11px;font-weight:500;text-transform:uppercase}.dataviews-filters-options{margin:32px 0 16px}.dataviews-view-table{border-collapse:collapse;border-color:inherit;color:#757575;position:relative;text-indent:0;width:100%}.dataviews-view-table a{color:#1e1e1e;font-weight:500;text-decoration:none}.dataviews-view-table th{color:#1e1e1e;font-size:13px;font-weight:400;text-align:left}.dataviews-view-table td,.dataviews-view-table th{padding:12px;white-space:nowrap}.dataviews-view-table td[data-field-id=actions],.dataviews-view-table th[data-field-id=actions]{text-align:right}.dataviews-view-table td.dataviews-view-table__checkbox-column,.dataviews-view-table th.dataviews-view-table__checkbox-column{padding-right:0}.dataviews-view-table tr{border-bottom:1px solid #f0f0f0}.dataviews-view-table tr .dataviews-view-table-header-button{gap:4px}.dataviews-view-table tr td:first-child,.dataviews-view-table tr th:first-child{padding-left:32px}.dataviews-view-table tr td:first-child .dataviews-view-table-header,.dataviews-view-table tr td:first-child .dataviews-view-table-header-button,.dataviews-view-table tr th:first-child .dataviews-view-table-header,.dataviews-view-table tr th:first-child .dataviews-view-table-header-button{margin-left:-8px}.dataviews-view-table tr td:last-child,.dataviews-view-table tr th:last-child{padding-right:32px}.dataviews-view-table tr:last-child{border-bottom:0}.dataviews-view-table tr.is-hovered{background-color:#f8f8f8}.dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input{opacity:0}.dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input:checked,.dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input:focus,.dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input:indeterminate{opacity:1}.dataviews-view-table tr .dataviews-item-actions .components-button:not(.dataviews-all-actions-button){opacity:0}.dataviews-view-table tr.is-hovered .components-checkbox-control__input,.dataviews-view-table tr.is-hovered .dataviews-item-actions .components-button:not(.dataviews-all-actions-button),.dataviews-view-table tr:focus-within .components-checkbox-control__input,.dataviews-view-table tr:focus-within .dataviews-item-actions .components-button:not(.dataviews-all-actions-button),.dataviews-view-table tr:hover .components-checkbox-control__input,.dataviews-view-table tr:hover .dataviews-item-actions .components-button:not(.dataviews-all-actions-button){opacity:1}@media (hover:none){.dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input,.dataviews-view-table tr .dataviews-item-actions .components-button:not(.dataviews-all-actions-button){opacity:1}}.dataviews-view-table tr.is-selected{background-color:rgba(var(--wp-admin-theme-color--rgb),.04);color:#757575}.dataviews-view-table tr.is-selected:hover{background-color:rgba(var(--wp-admin-theme-color--rgb),.08)}.dataviews-view-table thead{inset-block-start:0;position:sticky;z-index:1}.dataviews-view-table thead tr{border:0}.dataviews-view-table thead th{background-color:#fff;box-shadow:inset 0 -1px 0 #f0f0f0;font-size:11px;font-weight:500;padding-bottom:8px;padding-left:4px;padding-top:8px;text-transform:uppercase}.dataviews-view-table tbody td{vertical-align:top}.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper{align-items:center;display:flex;min-height:32px}.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper>*{flex-grow:1}.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper.dataviews-view-table__primary-field a{flex-grow:0}.dataviews-view-table .dataviews-view-table-header-button{font-size:11px;font-weight:500;padding:4px 8px;text-transform:uppercase}.dataviews-view-table .dataviews-view-table-header-button:not(:hover){color:#1e1e1e}.dataviews-view-table .dataviews-view-table-header-button span{speak:none}.dataviews-view-table .dataviews-view-table-header-button span:empty{display:none}.dataviews-view-table .dataviews-view-table-header{padding-left:4px}.dataviews-view-table .dataviews-view-table__actions-column{width:1%}.dataviews-view-table:has(tr.is-selected) .components-checkbox-control__input{opacity:1}.dataviews-view-grid__primary-field,.dataviews-view-list__primary-field,.dataviews-view-table__primary-field{color:#757575;display:block;font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap;width:100%}.dataviews-view-grid__primary-field a,.dataviews-view-list__primary-field a,.dataviews-view-table__primary-field a{color:#1e1e1e;display:block;flex-grow:0;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.dataviews-view-grid__primary-field a:hover,.dataviews-view-list__primary-field a:hover,.dataviews-view-table__primary-field a:hover{color:var(--wp-admin-theme-color)}.dataviews-view-grid__primary-field a:focus,.dataviews-view-list__primary-field a:focus,.dataviews-view-table__primary-field a:focus{border-radius:2px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color,#007cba);color:var(--wp-admin-theme-color--rgb)}.dataviews-view-grid__primary-field button.components-button.is-link,.dataviews-view-list__primary-field button.components-button.is-link,.dataviews-view-table__primary-field button.components-button.is-link{color:#1e1e1e;display:block;font-weight:inherit;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;width:100%}.dataviews-view-grid__primary-field button.components-button.is-link:hover,.dataviews-view-list__primary-field button.components-button.is-link:hover,.dataviews-view-table__primary-field button.components-button.is-link:hover{color:var(--wp-admin-theme-color)}.dataviews-view-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:max-content;margin-bottom:24px;padding:0 32px}@media (min-width:1080px){.dataviews-view-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media (min-width:1440px){.dataviews-view-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}.dataviews-view-grid .dataviews-view-grid__card{height:100%;justify-content:flex-start}.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__title-actions{padding:8px 0 4px}.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__primary-field{min-height:32px}.dataviews-view-grid .dataviews-view-grid__card.is-selected .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-value{color:#1e1e1e}.dataviews-view-grid .dataviews-view-grid__card.is-selected .page-pages-preview-field__button:after{background:rgba(var(--wp-admin-theme-color--rgb),.04);box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.dataviews-view-grid .dataviews-view-grid__media{aspect-ratio:1/1;background-color:#f0f0f0;border-radius:4px;min-height:200px;overflow:hidden;position:relative;width:100%}.dataviews-view-grid .dataviews-view-grid__media img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.dataviews-view-grid .dataviews-view-grid__media:after{border-radius:4px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.dataviews-view-grid .dataviews-view-grid__fields{font-size:12px;line-height:16px;position:relative}.dataviews-view-grid .dataviews-view-grid__fields:not(:empty){padding:0 0 12px}.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field{align-items:flex-start}.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column){align-items:center}.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column) .dataviews-view-grid__field-name{width:35%}.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column) .dataviews-view-grid__field-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:65%}.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-name{color:#757575}.dataviews-view-grid .dataviews-view-grid__badge-fields:not(:empty){padding-bottom:12px}.dataviews-view-grid .dataviews-view-grid__badge-fields .dataviews-view-grid__field-value{align-items:center;background:#f0f0f0;border-radius:2px;display:flex;font-size:12px;min-height:24px;padding:0 8px;width:-moz-fit-content;width:fit-content}.dataviews-view-list{margin:0;padding:8px}.dataviews-view-list li{cursor:pointer;margin:0}.dataviews-view-list li .dataviews-view-list__item-wrapper{border-radius:4px;padding-right:24px;position:relative}.dataviews-view-list li .dataviews-view-list__item-wrapper:after{background:#f0f0f0;content:"";height:1px;left:24px;position:absolute;right:24px;top:100%}.dataviews-view-list li .dataviews-view-list__item-wrapper>*{width:100%}.dataviews-view-list li:not(.is-selected) .dataviews-view-list__primary-field{color:#1e1e1e}.dataviews-view-list li:not(.is-selected):focus-within,.dataviews-view-list li:not(.is-selected):hover{color:var(--wp-admin-theme-color)}.dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__fields,.dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__primary-field,.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields,.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__primary-field{color:var(--wp-admin-theme-color)}.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper{background-color:var(--wp-admin-theme-color);color:#fff}.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .components-button,.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__fields,.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .components-button,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__fields,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field{color:#fff}.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper:after,.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper:after{background:transparent}.dataviews-view-list .dataviews-view-list__item{padding:12px 0 12px 24px;scroll-margin:8px 0;width:100%}.dataviews-view-list .dataviews-view-list__item:focus-visible:before{border-radius:4px;bottom:-1px;box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);content:"";left:-1px;position:absolute;right:-1px;top:-1px;z-index:-1}.dataviews-view-list .dataviews-view-list__item .dataviews-view-list__primary-field{min-height:20px;overflow:hidden}.dataviews-view-list .dataviews-view-list__media-wrapper{background-color:#f0f0f0;border-radius:4px;flex-shrink:0;height:40px;overflow:hidden;position:relative;width:40px}.dataviews-view-list .dataviews-view-list__media-wrapper img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.dataviews-view-list .dataviews-view-list__media-wrapper:after{border-radius:4px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.dataviews-view-list .dataviews-view-list__media-placeholder{background-color:#e0e0e0;height:32px;min-width:32px}.dataviews-view-list .dataviews-view-list__fields{color:#757575;display:flex;flex-wrap:wrap;font-size:12px;gap:8px;line-height:16px}.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:has(.dataviews-view-list__field-value:empty){display:none}.dataviews-view-list+.dataviews-pagination{justify-content:space-between}.dataviews-action-modal{z-index:1000001}.dataviews-loading,.dataviews-no-results{align-items:center;display:flex;flex-grow:1;justify-content:center;padding:0 32px}.dataviews-view-table-selection-checkbox{--checkbox-input-size:24px;line-height:0}@media (min-width:600px){.dataviews-view-table-selection-checkbox{--checkbox-input-size:16px}}.dataviews-filters__custom-menu-radio-item-prefix{display:block;width:24px}.dataviews-bulk-edit-button.components-button{flex-shrink:0}.dataviews-filter-summary__popover .components-popover__content{border-radius:4px;padding:0;width:230px}.dataviews-search-widget-filter-combobox-list{border-top:1px solid #e0e0e0;max-height:184px;overflow:auto;padding:4px}.dataviews-search-widget-filter-combobox-list .dataviews-search-widget-filter-combobox-item-value [data-user-value]{font-weight:600}.dataviews-search-widget-listbox{max-height:184px;overflow:auto;padding:4px}.dataviews-search-widget-listitem{align-items:center;border-radius:2px;box-sizing:border-box;cursor:default;display:flex;gap:8px;margin-block-end:2px;padding:8px 12px}.dataviews-search-widget-listitem:last-child{margin-block-end:0}.dataviews-search-widget-listitem:focus,.dataviews-search-widget-listitem:hover,.dataviews-search-widget-listitem[data-active-item]{background-color:var(--wp-admin-theme-color);color:#fff}.dataviews-search-widget-listitem:focus .dataviews-search-widget-listitem-check,.dataviews-search-widget-listitem:hover .dataviews-search-widget-listitem-check,.dataviews-search-widget-listitem[data-active-item] .dataviews-search-widget-listitem-check{fill:#fff}.dataviews-search-widget-listitem:focus .dataviews-search-widget-listitem-description,.dataviews-search-widget-listitem:hover .dataviews-search-widget-listitem-description,.dataviews-search-widget-listitem[data-active-item] .dataviews-search-widget-listitem-description{color:#fff}.dataviews-search-widget-listitem .dataviews-search-widget-listitem-check{flex-shrink:0;height:24px;width:24px}.dataviews-search-widget-listitem .dataviews-search-widget-listitem-description{color:#757575;display:block;font-size:12px;line-height:16px;overflow:hidden;text-overflow:ellipsis}.dataviews-search-widget-filter-combobox__wrapper{padding:8px;position:relative}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input{background:#f0f0f0;border:none;border-radius:2px;box-shadow:0 0 0 transparent;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:16px;height:32px;line-height:normal;margin-left:0;margin-right:0;padding:0 32px 0 8px;transition:box-shadow .1s linear;width:100%}@media (prefers-reduced-motion:reduce){.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input{transition-delay:0s;transition-duration:0s}}@media (min-width:600px){.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input{font-size:13px;line-height:normal}}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input:focus{border-color:var(--wp-admin-theme-color);box-shadow:0 0 0 .5px var(--wp-admin-theme-color);outline:2px solid transparent}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-input-placeholder{color:rgba(30,30,30,.62)}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-moz-placeholder{color:rgba(30,30,30,.62);opacity:1}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input:-ms-input-placeholder{color:rgba(30,30,30,.62)}@media (min-width:600px){.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input{font-size:13px}}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input:focus{background:#fff;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color)}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-moz-placeholder{color:#757575}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::placeholder{color:#757575}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-search-cancel-button,.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-search-decoration,.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-search-results-button,.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-search-results-decoration{-webkit-appearance:none}.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__icon{align-items:center;display:flex;justify-content:center;position:absolute;right:12px;top:50%;transform:translateY(-50%);width:24px}.dataviews-filter-summary__operators-container{padding:8px 8px 0}.dataviews-filter-summary__operators-container:has(+.dataviews-search-widget-listbox){border-bottom:1px solid #e0e0e0;padding-bottom:8px}.dataviews-filter-summary__operators-container:empty{display:none}.dataviews-filter-summary__operators-container .dataviews-filter-summary__operators-filter-name{color:#757575}.dataviews-filter-summary__chip-container{position:relative;white-space:pre-wrap}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip{align-items:center;background:#f0f0f0;border:1px solid transparent;border-radius:16px;color:#757575;cursor:pointer;display:flex;height:32px;padding:0 12px;position:relative}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-reset{padding-inline-end:28px}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip:focus-visible,.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip:hover,.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip[aria-expanded=true]{background:#e0e0e0;color:#1e1e1e}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-values{background:rgba(var(--wp-admin-theme-color--rgb),.04);color:var(--wp-admin-theme-color)}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-values:hover,.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-values[aria-expanded=true]{background:rgba(var(--wp-admin-theme-color--rgb),.12)}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip:focus-visible{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:none}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip .dataviews-filter-summary__filter-text-name{font-weight:500}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove{align-items:center;background:transparent;border:0;border-radius:50%;cursor:pointer;display:flex;height:24px;justify-content:center;padding:0;position:absolute;right:4px;top:50%;transform:translateY(-50%);width:24px}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove svg{fill:#757575}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:focus,.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:hover{background:#e0e0e0}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:focus svg,.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:hover svg{fill:#1e1e1e}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove.has-values svg{fill:var(--wp-admin-theme-color)}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove.has-values:hover{background:rgba(var(--wp-admin-theme-color--rgb),.08)}.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:focus-visible{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:none}
    2 #wpwrap{background:#f1f1f1}.search-console_page_search-console-settings .notice,.toplevel_page_search-console .notice{display:none}.search-console_page_search-console-settings .star,.toplevel_page_search-console .star{color:#ffb900}.search-console_page_search-console-settings .red,.toplevel_page_search-console .red{color:red}.search-console.column-search-console{cursor:pointer}.google-visualization-tooltip{padding:2rem}#search-console-wrapper{margin-left:-20px}@media(max-width:782px){#search-console-wrapper{margin-left:-10px}}#search-console-wrapper hr{border-top:1px solid #eee;margin:24px 0}#search-console-wrapper .notice{display:block;margin-top:15px}#search-console-wrapper .loading-settings{align-items:center;display:flex;justify-content:center;margin:35vh 30px;text-align:center}#search-console-wrapper .loading-settings .components-spinner{float:none}#search-console-wrapper .loading-settings .description{color:#777;margin-top:4px}#search-console-wrapper .masthead{align-items:center;background-color:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.1);display:flex;gap:1rem;padding:15px 20px}#search-console-wrapper .masthead .masthead__branding h1{align-items:center;color:#222;display:flex;font-size:20px;font-weight:400;margin:0}@media(max-width:426px){#search-console-wrapper .masthead .masthead__branding h1{justify-content:center}}#search-console-wrapper .masthead .masthead__branding svg{fill:#222;height:40px;margin-right:10px;width:40px}@media(max-width:426px){#search-console-wrapper .masthead .masthead__branding{text-align:center}}#search-console-wrapper .masthead .masthead__plugin-links{align-items:center;display:flex;font-size:13px;justify-content:flex-end}#search-console-wrapper .masthead .masthead__plugin-links a{align-items:center;color:#23282d;cursor:pointer;display:inline-flex;gap:4px;margin-left:16px;text-decoration:none}#search-console-wrapper .masthead .masthead__plugin-links a svg{fill:currentColor;vertical-align:middle}#search-console-wrapper .masthead .masthead__plugin-links a:hover{color:#007cba;color:var(--wp-admin-theme-color)}#search-console-wrapper .masthead .masthead__plugin-links a:hover svg{fill:#007cba;fill:var(--wp-admin-theme-color)}@media(max-width:782px){#search-console-wrapper .masthead .masthead__plugin-links a{margin-left:8px}#search-console-wrapper .masthead .masthead__plugin-links a span{display:none}}@media(max-width:426px){#search-console-wrapper .masthead .masthead__plugin-links{justify-content:center;margin-top:10px;width:100%}}#search-console-wrapper .footer{box-shadow:0 0 0 1px #ccd0d4,0 1px 1px 1px rgba(0,0,0,.04);margin-top:2em;padding:10px 30px;text-align:center}#search-console-wrapper .footer .dashicons-star-filled{color:#ffb900}#search-console-wrapper .footer .inner-container{margin:0 auto;max-width:1024px}@media(max-width:1024px){#search-console-wrapper .footer .inner-container{display:block}}#search-console-wrapper .footer a{color:#555d66;display:inline-block;margin:5px 8px;text-decoration:none}#search-console-wrapper .footer a:hover{color:#007cba;color:var(--wp-admin-theme-color)}#search-console-wrapper .search-console-settings{margin:1em auto;max-width:1024px}#search-console-wrapper .search-console-dashboard{margin-top:1em;padding:0 1rem}#search-console-wrapper .search-console-dashboard .search-console-modal-container{padding:1em 0}#search-console-wrapper .search-console-dashboard .search-console-filters{display:flex;justify-content:space-between}#search-console-wrapper .search-console-dashboard .search-console-filters .search-console-filters-options{display:flex;gap:1em}#search-console-wrapper .search-console-dashboard .search-console-table-bar{align-items:center;display:flex;justify-content:space-between;padding:1 rem}#search-console-wrapper .search-console-dashboard .search-console-table-bar input{width:300px}#search-console-wrapper .search-console-dashboard .search-console-table-bar .search-console-dimensions{display:flex;flex:1;padding:0}#search-console-wrapper .search-console-dashboard .search-console-table-bar .search-console-dimensions button{border-bottom:2px solid transparent;cursor:pointer;font-weight:700;padding:1rem}#search-console-wrapper .search-console-dashboard .search-console-table-bar .search-console-dimensions .is-selected{border-bottom:2px solid #135e96}#search-console-wrapper .search-console-dashboard .search-console-table-bar .search-console-dimensions .components-button:focus:not(:disabled){box-shadow:none}#search-console-wrapper .ads-container__reviews{background-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color-darker-20),0 1px 1px 1px rgba(0,0,0,.04);color:#fff;position:relative}#search-console-wrapper .ads-container__reviews:before{background-color:var(--wp-admin-theme-color-darker-20);bottom:0;content:"";left:0;mask-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27><polygon points=%2712 17.7371778 5.81966011 21.5 7.49246652 14.4659011 2 9.75735421 9.2141911 9.1728642 12 2.5 14.7858089 9.1728642 22 9.75735421 16.5075335 14.4659011 18.1803399 21.5%27></polygon></svg>");-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27><polygon points=%2712 17.7371778 5.81966011 21.5 7.49246652 14.4659011 2 9.75735421 9.2141911 9.1728642 12 2.5 14.7858089 9.1728642 22 9.75735421 16.5075335 14.4659011 18.1803399 21.5%27></polygon></svg>");mask-position:-100px;-webkit-mask-position:-100px;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:200px;-webkit-mask-size:200px;position:absolute;right:0;top:0;z-index:0}#search-console-wrapper .ads-container__reviews>*{position:relative;z-index:1}#search-console-wrapper .ads-container__reviews a{color:#fff;display:block;font-size:1.1em;margin-top:10px}#search-console-wrapper .ads-container__reviews h2{color:#fff}#search-console-wrapper .components-card .message{margin:1rem 0}#search-console-wrapper .components-notice{margin:1em}#search-console-wrapper .components-snackbar-list{bottom:40px;padding-left:16px;padding-right:16px;position:fixed}#search-console-wrapper .slideshow-container{background-color:#fff;display:flex;flex-wrap:nowrap;overflow:hidden}#search-console-wrapper .slide{box-sizing:border-box;height:1px;max-width:100%;padding:1rem;transition:.5s cubic-bezier(.075,.82,.165,1)}#search-console-wrapper .slide p{margin:0}#search-console-wrapper .slide.active{height:auto}
     2#wpwrap{background:#f1f1f1}.search-console_page_search-console-settings .notice,.toplevel_page_search-console .notice{display:none}.search-console_page_search-console-settings .star,.toplevel_page_search-console .star{color:#ffb900}.search-console_page_search-console-settings .red,.toplevel_page_search-console .red{color:red}.search-console.column-search-console{cursor:pointer}.google-visualization-tooltip{padding:2rem}#search-console-wrapper{margin-left:-20px}@media(max-width:782px){#search-console-wrapper{margin-left:-10px}}#search-console-wrapper hr{border-top:1px solid #eee;margin:24px 0}#search-console-wrapper .notice{display:block;margin-top:15px}#search-console-wrapper .loading-settings{align-items:center;display:flex;justify-content:center;margin:35vh 30px;text-align:center}#search-console-wrapper .loading-settings .components-spinner{float:none}#search-console-wrapper .loading-settings .description{color:#777;margin-top:4px}#search-console-wrapper .masthead{align-items:center;background-color:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.1);display:flex;gap:1rem;padding:15px 20px}#search-console-wrapper .masthead .masthead__branding h1{align-items:center;color:#222;display:flex;font-size:20px;font-weight:400;margin:0}@media(max-width:426px){#search-console-wrapper .masthead .masthead__branding h1{justify-content:center}}#search-console-wrapper .masthead .masthead__branding svg{fill:#222;height:40px;margin-right:10px;width:40px}@media(max-width:426px){#search-console-wrapper .masthead .masthead__branding{text-align:center}}#search-console-wrapper .masthead .masthead__plugin-links{align-items:center;display:flex;font-size:13px;justify-content:flex-end}#search-console-wrapper .masthead .masthead__plugin-links a{align-items:center;color:#23282d;cursor:pointer;display:inline-flex;gap:4px;margin-left:16px;text-decoration:none}#search-console-wrapper .masthead .masthead__plugin-links a svg{fill:currentColor;vertical-align:middle}#search-console-wrapper .masthead .masthead__plugin-links a:hover{color:#007cba;color:var(--wp-admin-theme-color)}#search-console-wrapper .masthead .masthead__plugin-links a:hover svg{fill:#007cba;fill:var(--wp-admin-theme-color)}@media(max-width:782px){#search-console-wrapper .masthead .masthead__plugin-links a{margin-left:8px}#search-console-wrapper .masthead .masthead__plugin-links a span{display:none}}@media(max-width:426px){#search-console-wrapper .masthead .masthead__plugin-links{justify-content:center;margin-top:10px;width:100%}}#search-console-wrapper .footer{box-shadow:0 0 0 1px #ccd0d4,0 1px 1px 1px rgba(0,0,0,.04);margin-top:2em;padding:10px 30px;text-align:center}#search-console-wrapper .footer .dashicons-star-filled{color:#ffb900}#search-console-wrapper .footer .inner-container{margin:0 auto;max-width:1024px}@media(max-width:1024px){#search-console-wrapper .footer .inner-container{display:block}}#search-console-wrapper .footer a{color:#555d66;display:inline-block;margin:5px 8px;text-decoration:none}#search-console-wrapper .footer a:hover{color:#007cba;color:var(--wp-admin-theme-color)}#search-console-wrapper .search-console-settings{margin:1em auto;max-width:1024px}#search-console-wrapper .search-console-dashboard{margin-top:1em;padding:0 1rem}#search-console-wrapper .search-console-dashboard .search-console-modal-container{padding:1em 0}#search-console-wrapper .search-console-dashboard .search-console-filters{display:flex;justify-content:space-between}#search-console-wrapper .search-console-dashboard .search-console-filters .search-console-filters-options{display:flex;gap:1em}#search-console-wrapper .search-console-dashboard .search-console-table-bar{align-items:center;display:flex;justify-content:space-between;padding:1 rem}#search-console-wrapper .search-console-dashboard .search-console-table-bar input{width:300px}#search-console-wrapper .search-console-dashboard .search-console-table-bar .search-console-dimensions{display:flex;flex:1;padding:0}#search-console-wrapper .search-console-dashboard .search-console-table-bar .search-console-dimensions button{border-bottom:2px solid transparent;cursor:pointer;font-weight:700;padding:1rem}#search-console-wrapper .search-console-dashboard .search-console-table-bar .search-console-dimensions .is-selected{border-bottom:2px solid #135e96}#search-console-wrapper .search-console-dashboard .search-console-table-bar .search-console-dimensions .components-button:focus:not(:disabled){box-shadow:none}#search-console-wrapper .ads-container__reviews{background-color:var(--wp-admin-theme-color);box-shadow:0 0 0 1px var(--wp-admin-theme-color-darker-20),0 1px 1px 1px rgba(0,0,0,.04);color:#fff;position:relative}#search-console-wrapper .ads-container__reviews:before{background-color:var(--wp-admin-theme-color-darker-20);bottom:0;content:"";left:0;mask-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27><polygon points=%2712 17.7371778 5.81966011 21.5 7.49246652 14.4659011 2 9.75735421 9.2141911 9.1728642 12 2.5 14.7858089 9.1728642 22 9.75735421 16.5075335 14.4659011 18.1803399 21.5%27></polygon></svg>");-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27><polygon points=%2712 17.7371778 5.81966011 21.5 7.49246652 14.4659011 2 9.75735421 9.2141911 9.1728642 12 2.5 14.7858089 9.1728642 22 9.75735421 16.5075335 14.4659011 18.1803399 21.5%27></polygon></svg>");mask-position:-100px;-webkit-mask-position:-100px;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:200px;-webkit-mask-size:200px;position:absolute;right:0;top:0;z-index:0}#search-console-wrapper .ads-container__reviews>*{position:relative;z-index:1}#search-console-wrapper .ads-container__reviews a{color:#fff;display:block;font-size:1.1em;margin-top:10px}#search-console-wrapper .ads-container__reviews h2{color:#fff}#search-console-wrapper .components-card .message{margin:1rem 0}#search-console-wrapper .components-notice{margin:1em}#search-console-wrapper .components-snackbar-list{bottom:40px;padding-left:16px;padding-right:16px;position:fixed}#search-console-wrapper .slideshow-container{background-color:#fff;}#search-console-wrapper .slide p{margin:0}#search-console-wrapper .slide.active{height:auto}
  • search-console/trunk/build/style-index.css.map

    r3085081 r3115844  
    1 {"version":3,"file":"./style-index.css","mappings":";;;AAAA;;;;;CAKC;AACD;;EAEE;AACF;;EAEE;AACF;;;;;;EAME;AACF;;;;;CAKC;AACD;;EAEE;AACF;;EAEE;AACF;;;EAGE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;;EAGE;AACF;;;;;CAKC;AACD;;;;;EAKE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;;EAGE;AACF;;EAEE;AACF;EACE,+BAA+B;EAC/B,wCAAwC;EACxC,yCAAyC;EACzC,kDAAkD;EAClD,yCAAyC;EACzC,iDAAiD;EACjD,kCAAkC;EAClC,gCAAgC;EAChC,yCAAyC;EACzC,oDAAoD;AACtD;AACA;EACE;IACE,oCAAoC;EACtC;AACF;;AAEA;EACE,YAAY;EACZ,cAAc;EACd,sBAAsB;EACtB,2BAA2B;AAC7B;;AAEA;EACE,sBAAsB;EACtB,oBAAoB;EACpB,mBAAmB;EACnB,cAAc;EACd,gBAAgB;EAChB,OAAO;AACT;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,mBAAmB;AACrB;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,gBAAgB;EAChB,SAAS;EACT,OAAO;EACP,sBAAsB;EACtB,kBAAkB;EAClB,6BAA6B;EAC7B,cAAc;EACd,cAAc;AAChB;;AAEA;EACE,eAAe;EACf,yBAAyB;EACzB,gBAAgB;EAChB,cAAc;AAChB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,WAAW;EACX,cAAc;EACd,qBAAqB;EACrB,yBAAyB;EACzB,kBAAkB;EAClB,cAAc;AAChB;AACA;EACE,qBAAqB;EACrB,cAAc;EACd,gBAAgB;AAClB;AACA;EACE,gBAAgB;EAChB,cAAc;EACd,mBAAmB;EACnB,eAAe;AACjB;AACA;;EAEE,aAAa;EACb,mBAAmB;AACrB;AACA;;EAEE,iBAAiB;AACnB;AACA;;EAEE,gBAAgB;AAClB;AACA;EACE,gCAAgC;AAClC;AACA;EACE,QAAQ;AACV;AACA;;EAEE,kBAAkB;AACpB;AACA;;;;EAIE,iBAAiB;AACnB;AACA;;EAEE,mBAAmB;AACrB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;AACA;;;;EAIE,UAAU;AACZ;AACA;EACE;;IAEE,UAAU;EACZ;AACF;AACA;EACE,8DAA8D;EAC9D,cAAc;AAChB;AACA;EACE,8DAA8D;AAChE;AACA;EACE,gBAAgB;EAChB,oBAAoB;EACpB,UAAU;AACZ;AACA;EACE,SAAS;AACX;AACA;EACE,sBAAsB;EACtB,kCAAkC;EAClC,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;EACf,yBAAyB;EACzB,gBAAgB;EAChB,iBAAiB;AACnB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,gBAAgB;EAChB,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,yBAAyB;EACzB,gBAAgB;AAClB;AACA;EACE,cAAc;AAChB;AACA;EACE,WAAW;AACb;AACA;EACE,aAAa;AACf;AACA;EACE,iBAAiB;AACnB;AACA;EACE,SAAS;AACX;AACA;EACE,UAAU;AACZ;;AAEA;;;EAGE,eAAe;EACf,gBAAgB;EAChB,cAAc;EACd,uBAAuB;EACvB,mBAAmB;EACnB,cAAc;EACd,WAAW;AACb;AACA;;;EAGE,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;EACnB,gBAAgB;EAChB,cAAc;EACd,YAAY;EACZ,cAAc;AAChB;AACA;;;EAGE,kCAAkC;AACpC;AACA;;;EAGE,uCAAuC;EACvC,yFAAyF;EACzF,kBAAkB;AACpB;AACA;;;EAGE,qBAAqB;EACrB,oBAAoB;EACpB,uBAAuB;EACvB,mBAAmB;EACnB,gBAAgB;EAChB,cAAc;EACd,WAAW;EACX,cAAc;AAChB;AACA;;;EAGE,kCAAkC;AACpC;;AAEA;EACE,mBAAmB;EACnB,2DAA2D;EAC3D,+BAA+B;EAC/B,eAAe;AACjB;AACA;EACE;IACE,2DAA2D;EAC7D;AACF;AACA;EACE;IACE,2DAA2D;EAC7D;AACF;AACA;EACE,YAAY;EACZ,2BAA2B;AAC7B;AACA;EACE,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,cAAc;AAChB;AACA;EACE,sFAAsF;EACtF,wDAAwD;AAC1D;AACA;EACE,WAAW;EACX,iBAAiB;EACjB,iBAAiB;EACjB,yBAAyB;EACzB,kBAAkB;EAClB,gBAAgB;EAChB,kBAAkB;AACpB;AACA;EACE,oBAAiB;KAAjB,iBAAiB;EACjB,WAAW;EACX,YAAY;AACd;AACA;EACE,WAAW;EACX,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,8CAA8C;EAC9C,kBAAkB;AACpB;AACA;EACE,kBAAkB;EAClB,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,cAAc;AAChB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,uBAAuB;EACvB,kBAAkB;EAClB,mBAAmB;EACnB,cAAc;EACd,gBAAgB;EAChB,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,eAAe;AACjB;;AAEA;EACE,SAAS;EACT,YAAY;AACd;AACA;EACE,SAAS;EACT,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,UAAU;EACV,WAAW;EACX,mBAAmB;EACnB,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,cAAc;AAChB;AACA;EACE,kCAAkC;AACpC;AACA;;;EAGE,kCAAkC;AACpC;AACA;;EAEE,6CAA6C;EAC7C,WAAW;AACb;AACA;;;;;;EAME,WAAW;AACb;AACA;;EAEE,uBAAuB;AACzB;AACA;EACE,yBAAyB;EACzB,WAAW;EACX,oBAAoB;AACtB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,WAAW;EACX,YAAY;EACZ,UAAU;EACV,gFAAgF;EAChF,WAAW;EACX,kBAAkB;AACpB;AACA;EACE,gBAAgB;EAChB,gBAAgB;AAClB;AACA;EACE,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,gBAAgB;EAChB,kBAAkB;EAClB,cAAc;EACd,yBAAyB;AAC3B;AACA;EACE,WAAW;EACX,YAAY;EACZ,oBAAiB;KAAjB,iBAAiB;AACnB;AACA;EACE,WAAW;EACX,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,8CAA8C;EAC9C,kBAAkB;AACpB;AACA;EACE,eAAe;EACf,YAAY;EACZ,yBAAyB;AAC3B;AACA;EACE,cAAc;EACd,aAAa;EACb,QAAQ;EACR,eAAe;EACf,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,aAAa;AACf;AACA;EACE,8BAA8B;AAChC;;AAEA;EACE,gBAAgB;AAClB;;AAEA;;EAEE,eAAe;EACf,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,2BAA2B;EAC3B,cAAc;AAChB;AACA;EACE;IACE,2BAA2B;EAC7B;AACF;;AAEA;EACE,cAAc;EACd,WAAW;AACb;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,YAAY;EACZ,UAAU;EACV,kBAAkB;AACpB;;AAEA;EACE,iBAAiB;EACjB,YAAY;EACZ,cAAc;EACd,6BAA6B;AAC/B;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,iBAAiB;EACjB,YAAY;EACZ,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,kBAAkB;EAClB,sBAAsB;EACtB,iBAAiB;EACjB,eAAe;EACf,qBAAqB;AACvB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,6CAA6C;EAC7C,WAAW;AACb;AACA;EACE,UAAU;AACZ;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;EACX,YAAY;EACZ,cAAc;AAChB;AACA;EACE,cAAc;EACd,gBAAgB;EAChB,uBAAuB;EACvB,eAAe;EACf,iBAAiB;EACjB,cAAc;AAChB;;AAEA;EACE,kBAAkB;EAClB,YAAY;AACd;AACA;EACE,gIAAgI;EAChI,gBAAgB;EAChB,6BAA6B;EAC7B,kCAAkC;EAClC,kBAAkB;EAClB,yBAAyB;EACzB,0DAA0D;EAC1D,eAAe;EACf,+CAA+C;EAC/C,mBAAmB;EACnB,cAAc;EACd,qBAAqB;EACrB,mBAAmB;EACnB,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,cAAc;EACd,eAAe;EACf,0DAA0D;EAC1D,eAAe;AACjB;AACA;EACE;IACE,uBAAuB;IACvB,oBAAoB;EACtB;AACF;AACA;EACE;IACE,eAAe;IACf,+CAA+C;IAC/C,mBAAmB;EACrB;AACF;AACA;EACE,yCAAyC;EACzC,mDAAmD;EACnD,8BAA8B;AAChC;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,UAAU;EACV,6BAA6B;AAC/B;AACA;EACE,6BAA6B;AAC/B;AACA;EACE;IACE,eAAe;EACjB;AACF;AACA;EACE,gBAAgB;EAChB,sFAAsF;AACxF;AACA;EACE,cAAc;AAChB;AAFA;EACE,cAAc;AAChB;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,QAAQ;EACR,2BAA2B;EAC3B,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;AACb;;AAEA;EACE,kBAAkB;AACpB;AACA;EACE,gCAAgC;EAChC,mBAAmB;AACrB;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;;AAEA;EACE,kBAAkB;EAClB,qBAAqB;AACvB;AACA;EACE,mBAAmB;EACnB,6BAA6B;EAC7B,eAAe;EACf,eAAe;EACf,YAAY;EACZ,mBAAmB;EACnB,cAAc;EACd,kBAAkB;EAClB,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,mBAAmB;EACnB,cAAc;AAChB;AACA;EACE,kCAAkC;EAClC,wDAAwD;AAC1D;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,aAAa;EACb,gFAAgF;AAClF;AACA;EACE,gBAAgB;AAClB;AACA;EACE,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,kBAAkB;EAClB,UAAU;EACV,QAAQ;EACR,2BAA2B;EAC3B,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,uBAAuB;EACvB,eAAe;AACjB;AACA;EACE,aAAa;AACf;AACA;EACE,mBAAmB;AACrB;AACA;EACE,aAAa;AACf;AACA;EACE,iCAAiC;AACnC;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,aAAa;EACb,gFAAgF;AAClF,C;;;;ACrzBA;AACA;EACC;AALD;;AAQA;AAGC;;EACC;AANF;AASC;;EACC;AANF;AASC;;EACC;AANF;;AAUA;EACC;AAPD;;AAUA;EACC;AAPD;;AAUA;EACC;EAqJA;AA3JD;AAQC;EAHD;IAIE;EALA;AACF;AAOC;EACC;EACA;AALF;AAQC;EACC;EACA;AANF;AASC;EACC;EACA;EACA;EACA;EACA;AAPF;AASE;EACC;AAPH;AAUE;EACC;EACA;AARH;AAYC;EACC;EACA;EACA;EACA;EACA;EACA;AAVF;AAaG;EACC;EACA;EACA;EACA;EACA;EACA;AAXJ;AAaI;EARD;IASE;EAVH;AACF;AAaG;EACC;EACA;EACA;EACA;AAXJ;AAcG;EArBD;IAsBE;EAXF;AACF;AAcE;EACC;EACA;EACA;EACA;AAZH;AAcG;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAZJ;AAcI;EACC;EACA;AAZL;AAeI;EACC;EACA;AAbL;AAeK;EACC;EACA;AAbN;AAkBG;EACC;IACC;EAhBH;EAkBG;IACC;EAhBJ;AACF;AAoBG;EAzCD;IA0CE;IACA;IACA;EAjBF;AACF;AAsBC;EACC;EACA;EACA;EACA;AApBF;AAsBE;EACC;AApBH;AAuBE;EACC;EACA;AArBH;AAuBG;EAJD;IAKE;EApBF;AACF;AAuBE;EACC;EACA;EACA;EACA;AArBH;AAuBG;EACC;EACA;AArBJ;AA2BC;EAEC;EACA;AA1BF;AA8BC;EACC;EACA;AA5BF;AA8BE;EACC;AA5BH;AA+BE;EACC;EACA;AA7BH;AA+BG;EACC;EACA;AA7BJ;AAiCE;EACC;EACA;EACA;EACA;AA/BH;AAiCG;EACC;AA/BJ;AAkCG;EACC;EACA;EACA;AAhCJ;AAkCI;EACC;EACA;EACA;EACA;AAhCL;AAmCI;EACC;AAjCL;AAoCI;EACC;AAlCL;AA0CC;EACC;EACA;EACA;EACA;AAxCF;AA0CE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAxCH;AA2CE;EACC;EACA;AAzCH;AA4CE;EACC;EACA;EACA;EACA;AA1CH;AA6CE;EACC;AA3CH;AAgDE;EACC;AA9CH;AAkDC;EACC;AAhDF;AAmDC;EACC;EACA;EACA;EACA;AAjDF;AAoDC;EACC;EACA;EACA;EACA;AAlDF;AAqDC;EACC;EACA;EACA;EACA;EACA;AAnDF;AAqDE;EACC;AAnDH;AAsDE;EACC;AApDH,C","sources":["webpack://search-console/./node_modules/@wordpress/dataviews/build-style/style.css","webpack://search-console/./src/style.scss"],"sourcesContent":["/**\n*  Converts a hex value into the rgb equivalent.\n*\n* @param {string} hex - the hexadecimal value to convert\n* @return {string} comma separated rgb values\n*/\n/**\n * Colors\n */\n/**\n * Breakpoints & Media Queries\n */\n/**\n * SCSS Variables.\n *\n * Please use variables from this sheet to ensure consistency across the UI.\n * Don't add to this sheet unless you're pretty sure the value will be reused in many places.\n * For example, don't add rules to this sheet that affect block visuals. It's purely for UI.\n */\n/**\n*  Converts a hex value into the rgb equivalent.\n*\n* @param {string} hex - the hexadecimal value to convert\n* @return {string} comma separated rgb values\n*/\n/**\n * Colors\n */\n/**\n * Fonts & basic variables.\n */\n/**\n * Grid System.\n * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/\n */\n/**\n * Dimensions.\n */\n/**\n * Shadows.\n */\n/**\n * Editor widths.\n */\n/**\n * Block & Editor UI.\n */\n/**\n * Block paddings.\n */\n/**\n * React Native specific.\n * These variables do not appear to be used anywhere else.\n */\n/**\n*  Converts a hex value into the rgb equivalent.\n*\n* @param {string} hex - the hexadecimal value to convert\n* @return {string} comma separated rgb values\n*/\n/**\n * Long content fade mixin\n *\n * Creates a fading overlay to signify that the content is longer\n * than the space allows.\n */\n/**\n * Breakpoint mixins\n */\n/**\n * Focus styles.\n */\n/**\n * Applies editor left position to the selector passed as argument\n */\n/**\n * Styles that are reused verbatim in a few places\n */\n/**\n * Allows users to opt-out of animations via OS-level preferences.\n */\n/**\n * Reset default styles for JavaScript UI based pages.\n * This is a WP-admin agnostic reset\n */\n/**\n * Reset the WP Admin page styles for Gutenberg-like pages.\n */\n:root {\n  --wp-admin-theme-color: #007cba;\n  --wp-admin-theme-color--rgb: 0, 124, 186;\n  --wp-admin-theme-color-darker-10: #006ba1;\n  --wp-admin-theme-color-darker-10--rgb: 0, 107, 161;\n  --wp-admin-theme-color-darker-20: #005a87;\n  --wp-admin-theme-color-darker-20--rgb: 0, 90, 135;\n  --wp-admin-border-width-focus: 2px;\n  --wp-block-synced-color: #7a00df;\n  --wp-block-synced-color--rgb: 122, 0, 223;\n  --wp-bound-block-color: var(--wp-block-synced-color);\n}\n@media (min-resolution: 192dpi) {\n  :root {\n    --wp-admin-border-width-focus: 1.5px;\n  }\n}\n\n.dataviews-wrapper {\n  height: 100%;\n  overflow: auto;\n  box-sizing: border-box;\n  scroll-padding-bottom: 64px;\n}\n\n.dataviews-filters__view-actions {\n  box-sizing: border-box;\n  padding: 12px 32px 0;\n  margin-bottom: 12px;\n  flex-shrink: 0;\n  position: sticky;\n  left: 0;\n}\n.dataviews-filters__view-actions .components-search-control .components-base-control__field {\n  max-width: 240px;\n}\n\n.dataviews-filters__container {\n  padding-right: 32px;\n}\n.dataviews-filters__container .dataviews-filters__reset-button[aria-disabled=true], .dataviews-filters__container .dataviews-filters__reset-button[aria-disabled=true]:hover {\n  opacity: 0;\n}\n.dataviews-filters__container .dataviews-filters__reset-button[aria-disabled=true]:focus {\n  opacity: 1;\n}\n\n.dataviews-filters-button {\n  position: relative;\n}\n\n.dataviews-pagination {\n  position: sticky;\n  bottom: 0;\n  left: 0;\n  background-color: #fff;\n  padding: 12px 32px;\n  border-top: 1px solid #f0f0f0;\n  color: #757575;\n  flex-shrink: 0;\n}\n\n.dataviews-pagination__page-selection {\n  font-size: 11px;\n  text-transform: uppercase;\n  font-weight: 500;\n  color: #1e1e1e;\n}\n\n.dataviews-filters-options {\n  margin: 32px 0 16px;\n}\n\n.dataviews-view-table {\n  width: 100%;\n  text-indent: 0;\n  border-color: inherit;\n  border-collapse: collapse;\n  position: relative;\n  color: #757575;\n}\n.dataviews-view-table a {\n  text-decoration: none;\n  color: #1e1e1e;\n  font-weight: 500;\n}\n.dataviews-view-table th {\n  text-align: left;\n  color: #1e1e1e;\n  font-weight: normal;\n  font-size: 13px;\n}\n.dataviews-view-table td,\n.dataviews-view-table th {\n  padding: 12px;\n  white-space: nowrap;\n}\n.dataviews-view-table td[data-field-id=actions],\n.dataviews-view-table th[data-field-id=actions] {\n  text-align: right;\n}\n.dataviews-view-table td.dataviews-view-table__checkbox-column,\n.dataviews-view-table th.dataviews-view-table__checkbox-column {\n  padding-right: 0;\n}\n.dataviews-view-table tr {\n  border-bottom: 1px solid #f0f0f0;\n}\n.dataviews-view-table tr .dataviews-view-table-header-button {\n  gap: 4px;\n}\n.dataviews-view-table tr td:first-child,\n.dataviews-view-table tr th:first-child {\n  padding-left: 32px;\n}\n.dataviews-view-table tr td:first-child .dataviews-view-table-header-button,\n.dataviews-view-table tr td:first-child .dataviews-view-table-header,\n.dataviews-view-table tr th:first-child .dataviews-view-table-header-button,\n.dataviews-view-table tr th:first-child .dataviews-view-table-header {\n  margin-left: -8px;\n}\n.dataviews-view-table tr td:last-child,\n.dataviews-view-table tr th:last-child {\n  padding-right: 32px;\n}\n.dataviews-view-table tr:last-child {\n  border-bottom: 0;\n}\n.dataviews-view-table tr.is-hovered {\n  background-color: #f8f8f8;\n}\n.dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input {\n  opacity: 0;\n}\n.dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input:checked, .dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input:indeterminate, .dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input:focus {\n  opacity: 1;\n}\n.dataviews-view-table tr .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {\n  opacity: 0;\n}\n.dataviews-view-table tr:focus-within .components-checkbox-control__input,\n.dataviews-view-table tr:focus-within .dataviews-item-actions .components-button:not(.dataviews-all-actions-button), .dataviews-view-table tr.is-hovered .components-checkbox-control__input,\n.dataviews-view-table tr.is-hovered .dataviews-item-actions .components-button:not(.dataviews-all-actions-button), .dataviews-view-table tr:hover .components-checkbox-control__input,\n.dataviews-view-table tr:hover .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {\n  opacity: 1;\n}\n@media (hover: none) {\n  .dataviews-view-table tr .components-checkbox-control__input.components-checkbox-control__input,\n.dataviews-view-table tr .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {\n    opacity: 1;\n  }\n}\n.dataviews-view-table tr.is-selected {\n  background-color: rgba(var(--wp-admin-theme-color--rgb), 0.04);\n  color: #757575;\n}\n.dataviews-view-table tr.is-selected:hover {\n  background-color: rgba(var(--wp-admin-theme-color--rgb), 0.08);\n}\n.dataviews-view-table thead {\n  position: sticky;\n  inset-block-start: 0;\n  z-index: 1;\n}\n.dataviews-view-table thead tr {\n  border: 0;\n}\n.dataviews-view-table thead th {\n  background-color: #fff;\n  box-shadow: inset 0 -1px 0 #f0f0f0;\n  padding-top: 8px;\n  padding-bottom: 8px;\n  font-size: 11px;\n  text-transform: uppercase;\n  font-weight: 500;\n  padding-left: 4px;\n}\n.dataviews-view-table tbody td {\n  vertical-align: top;\n}\n.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper {\n  min-height: 32px;\n  display: flex;\n  align-items: center;\n}\n.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper > * {\n  flex-grow: 1;\n}\n.dataviews-view-table tbody .dataviews-view-table__cell-content-wrapper.dataviews-view-table__primary-field a {\n  flex-grow: 0;\n}\n.dataviews-view-table .dataviews-view-table-header-button {\n  padding: 4px 8px;\n  font-size: 11px;\n  text-transform: uppercase;\n  font-weight: 500;\n}\n.dataviews-view-table .dataviews-view-table-header-button:not(:hover) {\n  color: #1e1e1e;\n}\n.dataviews-view-table .dataviews-view-table-header-button span {\n  speak: none;\n}\n.dataviews-view-table .dataviews-view-table-header-button span:empty {\n  display: none;\n}\n.dataviews-view-table .dataviews-view-table-header {\n  padding-left: 4px;\n}\n.dataviews-view-table .dataviews-view-table__actions-column {\n  width: 1%;\n}\n.dataviews-view-table:has(tr.is-selected) .components-checkbox-control__input {\n  opacity: 1;\n}\n\n.dataviews-view-list__primary-field,\n.dataviews-view-grid__primary-field,\n.dataviews-view-table__primary-field {\n  font-size: 13px;\n  font-weight: 500;\n  color: #757575;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  display: block;\n  width: 100%;\n}\n.dataviews-view-list__primary-field a,\n.dataviews-view-grid__primary-field a,\n.dataviews-view-table__primary-field a {\n  text-decoration: none;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  overflow: hidden;\n  display: block;\n  flex-grow: 0;\n  color: #1e1e1e;\n}\n.dataviews-view-list__primary-field a:hover,\n.dataviews-view-grid__primary-field a:hover,\n.dataviews-view-table__primary-field a:hover {\n  color: var(--wp-admin-theme-color);\n}\n.dataviews-view-list__primary-field a:focus,\n.dataviews-view-grid__primary-field a:focus,\n.dataviews-view-table__primary-field a:focus {\n  color: var(--wp-admin-theme-color--rgb);\n  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color, #007cba);\n  border-radius: 2px;\n}\n.dataviews-view-list__primary-field button.components-button.is-link,\n.dataviews-view-grid__primary-field button.components-button.is-link,\n.dataviews-view-table__primary-field button.components-button.is-link {\n  text-decoration: none;\n  font-weight: inherit;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  overflow: hidden;\n  display: block;\n  width: 100%;\n  color: #1e1e1e;\n}\n.dataviews-view-list__primary-field button.components-button.is-link:hover,\n.dataviews-view-grid__primary-field button.components-button.is-link:hover,\n.dataviews-view-table__primary-field button.components-button.is-link:hover {\n  color: var(--wp-admin-theme-color);\n}\n\n.dataviews-view-grid {\n  margin-bottom: 24px;\n  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;\n  grid-template-rows: max-content;\n  padding: 0 32px;\n}\n@media (min-width: 1080px) {\n  .dataviews-view-grid {\n    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;\n  }\n}\n@media (min-width: 1440px) {\n  .dataviews-view-grid {\n    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;\n  }\n}\n.dataviews-view-grid .dataviews-view-grid__card {\n  height: 100%;\n  justify-content: flex-start;\n}\n.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__title-actions {\n  padding: 8px 0 4px;\n}\n.dataviews-view-grid .dataviews-view-grid__card .dataviews-view-grid__primary-field {\n  min-height: 32px;\n}\n.dataviews-view-grid .dataviews-view-grid__card.is-selected .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-value {\n  color: #1e1e1e;\n}\n.dataviews-view-grid .dataviews-view-grid__card.is-selected .page-pages-preview-field__button::after {\n  box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);\n  background: rgba(var(--wp-admin-theme-color--rgb), 0.04);\n}\n.dataviews-view-grid .dataviews-view-grid__media {\n  width: 100%;\n  min-height: 200px;\n  aspect-ratio: 1/1;\n  background-color: #f0f0f0;\n  border-radius: 4px;\n  overflow: hidden;\n  position: relative;\n}\n.dataviews-view-grid .dataviews-view-grid__media img {\n  object-fit: cover;\n  width: 100%;\n  height: 100%;\n}\n.dataviews-view-grid .dataviews-view-grid__media::after {\n  content: \"\";\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);\n  border-radius: 4px;\n}\n.dataviews-view-grid .dataviews-view-grid__fields {\n  position: relative;\n  font-size: 12px;\n  line-height: 16px;\n}\n.dataviews-view-grid .dataviews-view-grid__fields:not(:empty) {\n  padding: 12px 0;\n  padding-top: 0;\n}\n.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field {\n  align-items: flex-start;\n}\n.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column) {\n  align-items: center;\n}\n.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column) .dataviews-view-grid__field-name {\n  width: 35%;\n}\n.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field:not(.is-column) .dataviews-view-grid__field-value {\n  width: 65%;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n.dataviews-view-grid .dataviews-view-grid__fields .dataviews-view-grid__field .dataviews-view-grid__field-name {\n  color: #757575;\n}\n.dataviews-view-grid .dataviews-view-grid__badge-fields:not(:empty) {\n  padding-bottom: 12px;\n}\n.dataviews-view-grid .dataviews-view-grid__badge-fields .dataviews-view-grid__field-value {\n  width: -moz-fit-content;\n  width: fit-content;\n  background: #f0f0f0;\n  padding: 0 8px;\n  min-height: 24px;\n  border-radius: 2px;\n  display: flex;\n  align-items: center;\n  font-size: 12px;\n}\n\n.dataviews-view-list {\n  margin: 0;\n  padding: 8px;\n}\n.dataviews-view-list li {\n  margin: 0;\n  cursor: pointer;\n}\n.dataviews-view-list li .dataviews-view-list__item-wrapper {\n  position: relative;\n  padding-right: 24px;\n  border-radius: 4px;\n}\n.dataviews-view-list li .dataviews-view-list__item-wrapper::after {\n  position: absolute;\n  content: \"\";\n  top: 100%;\n  left: 24px;\n  right: 24px;\n  background: #f0f0f0;\n  height: 1px;\n}\n.dataviews-view-list li .dataviews-view-list__item-wrapper > * {\n  width: 100%;\n}\n.dataviews-view-list li:not(.is-selected) .dataviews-view-list__primary-field {\n  color: #1e1e1e;\n}\n.dataviews-view-list li:not(.is-selected):hover, .dataviews-view-list li:not(.is-selected):focus-within {\n  color: var(--wp-admin-theme-color);\n}\n.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__primary-field,\n.dataviews-view-list li:not(.is-selected):hover .dataviews-view-list__fields, .dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__primary-field,\n.dataviews-view-list li:not(.is-selected):focus-within .dataviews-view-list__fields {\n  color: var(--wp-admin-theme-color);\n}\n.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper,\n.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper {\n  background-color: var(--wp-admin-theme-color);\n  color: #fff;\n}\n.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,\n.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .dataviews-view-list__fields,\n.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper .components-button,\n.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__primary-field,\n.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .dataviews-view-list__fields,\n.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper .components-button {\n  color: #fff;\n}\n.dataviews-view-list li.is-selected .dataviews-view-list__item-wrapper::after,\n.dataviews-view-list li.is-selected:focus-within .dataviews-view-list__item-wrapper::after {\n  background: transparent;\n}\n.dataviews-view-list .dataviews-view-list__item {\n  padding: 12px 0 12px 24px;\n  width: 100%;\n  scroll-margin: 8px 0;\n}\n.dataviews-view-list .dataviews-view-list__item:focus-visible::before {\n  position: absolute;\n  content: \"\";\n  top: -1px;\n  right: -1px;\n  bottom: -1px;\n  left: -1px;\n  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);\n  z-index: -1;\n  border-radius: 4px;\n}\n.dataviews-view-list .dataviews-view-list__item .dataviews-view-list__primary-field {\n  min-height: 20px;\n  overflow: hidden;\n}\n.dataviews-view-list .dataviews-view-list__media-wrapper {\n  width: 40px;\n  height: 40px;\n  border-radius: 4px;\n  overflow: hidden;\n  position: relative;\n  flex-shrink: 0;\n  background-color: #f0f0f0;\n}\n.dataviews-view-list .dataviews-view-list__media-wrapper img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n}\n.dataviews-view-list .dataviews-view-list__media-wrapper::after {\n  content: \"\";\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);\n  border-radius: 4px;\n}\n.dataviews-view-list .dataviews-view-list__media-placeholder {\n  min-width: 32px;\n  height: 32px;\n  background-color: #e0e0e0;\n}\n.dataviews-view-list .dataviews-view-list__fields {\n  color: #757575;\n  display: flex;\n  gap: 8px;\n  flex-wrap: wrap;\n  font-size: 12px;\n  line-height: 16px;\n}\n.dataviews-view-list .dataviews-view-list__fields .dataviews-view-list__field:has(.dataviews-view-list__field-value:empty) {\n  display: none;\n}\n.dataviews-view-list + .dataviews-pagination {\n  justify-content: space-between;\n}\n\n.dataviews-action-modal {\n  z-index: 1000001;\n}\n\n.dataviews-no-results,\n.dataviews-loading {\n  padding: 0 32px;\n  flex-grow: 1;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.dataviews-view-table-selection-checkbox {\n  --checkbox-input-size: 24px;\n  line-height: 0;\n}\n@media (min-width: 600px) {\n  .dataviews-view-table-selection-checkbox {\n    --checkbox-input-size: 16px;\n  }\n}\n\n.dataviews-filters__custom-menu-radio-item-prefix {\n  display: block;\n  width: 24px;\n}\n\n.dataviews-bulk-edit-button.components-button {\n  flex-shrink: 0;\n}\n\n.dataviews-filter-summary__popover .components-popover__content {\n  width: 230px;\n  padding: 0;\n  border-radius: 4px;\n}\n\n.dataviews-search-widget-filter-combobox-list {\n  max-height: 184px;\n  padding: 4px;\n  overflow: auto;\n  border-top: 1px solid #e0e0e0;\n}\n.dataviews-search-widget-filter-combobox-list .dataviews-search-widget-filter-combobox-item-value [data-user-value] {\n  font-weight: 600;\n}\n\n.dataviews-search-widget-listbox {\n  max-height: 184px;\n  padding: 4px;\n  overflow: auto;\n}\n\n.dataviews-search-widget-listitem {\n  display: flex;\n  align-items: center;\n  gap: 8px;\n  border-radius: 2px;\n  box-sizing: border-box;\n  padding: 8px 12px;\n  cursor: default;\n  margin-block-end: 2px;\n}\n.dataviews-search-widget-listitem:last-child {\n  margin-block-end: 0;\n}\n.dataviews-search-widget-listitem:hover, .dataviews-search-widget-listitem[data-active-item], .dataviews-search-widget-listitem:focus {\n  background-color: var(--wp-admin-theme-color);\n  color: #fff;\n}\n.dataviews-search-widget-listitem:hover .dataviews-search-widget-listitem-check, .dataviews-search-widget-listitem[data-active-item] .dataviews-search-widget-listitem-check, .dataviews-search-widget-listitem:focus .dataviews-search-widget-listitem-check {\n  fill: #fff;\n}\n.dataviews-search-widget-listitem:hover .dataviews-search-widget-listitem-description, .dataviews-search-widget-listitem[data-active-item] .dataviews-search-widget-listitem-description, .dataviews-search-widget-listitem:focus .dataviews-search-widget-listitem-description {\n  color: #fff;\n}\n.dataviews-search-widget-listitem .dataviews-search-widget-listitem-check {\n  width: 24px;\n  height: 24px;\n  flex-shrink: 0;\n}\n.dataviews-search-widget-listitem .dataviews-search-widget-listitem-description {\n  display: block;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  font-size: 12px;\n  line-height: 16px;\n  color: #757575;\n}\n\n.dataviews-search-widget-filter-combobox__wrapper {\n  position: relative;\n  padding: 8px;\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input {\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n  padding: 6px 8px;\n  box-shadow: 0 0 0 transparent;\n  transition: box-shadow 0.1s linear;\n  border-radius: 2px;\n  border: 1px solid #949494;\n  /* Fonts smaller than 16px causes mobile safari to zoom. */\n  font-size: 16px;\n  /* Override core line-height. To be reviewed. */\n  line-height: normal;\n  display: block;\n  padding: 0 32px 0 8px;\n  background: #f0f0f0;\n  border: none;\n  width: 100%;\n  height: 32px;\n  margin-left: 0;\n  margin-right: 0;\n  /* Fonts smaller than 16px causes mobile safari to zoom. */\n  font-size: 16px;\n}\n@media (prefers-reduced-motion: reduce) {\n  .dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input {\n    transition-duration: 0s;\n    transition-delay: 0s;\n  }\n}\n@media (min-width: 600px) {\n  .dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input {\n    font-size: 13px;\n    /* Override core line-height. To be reviewed. */\n    line-height: normal;\n  }\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input:focus {\n  border-color: var(--wp-admin-theme-color);\n  box-shadow: 0 0 0 0.5px var(--wp-admin-theme-color);\n  outline: 2px solid transparent;\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-input-placeholder {\n  color: rgba(30, 30, 30, 0.62);\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-moz-placeholder {\n  opacity: 1;\n  color: rgba(30, 30, 30, 0.62);\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input:-ms-input-placeholder {\n  color: rgba(30, 30, 30, 0.62);\n}\n@media (min-width: 600px) {\n  .dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input {\n    font-size: 13px;\n  }\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input:focus {\n  background: #fff;\n  box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::placeholder {\n  color: #757575;\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-search-decoration, .dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-search-cancel-button, .dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-search-results-button, .dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__input::-webkit-search-results-decoration {\n  -webkit-appearance: none;\n}\n.dataviews-search-widget-filter-combobox__wrapper .dataviews-search-widget-filter-combobox__icon {\n  position: absolute;\n  right: 12px;\n  top: 50%;\n  transform: translateY(-50%);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 24px;\n}\n\n.dataviews-filter-summary__operators-container {\n  padding: 8px 8px 0;\n}\n.dataviews-filter-summary__operators-container:has(+ .dataviews-search-widget-listbox) {\n  border-bottom: 1px solid #e0e0e0;\n  padding-bottom: 8px;\n}\n.dataviews-filter-summary__operators-container:empty {\n  display: none;\n}\n.dataviews-filter-summary__operators-container .dataviews-filter-summary__operators-filter-name {\n  color: #757575;\n}\n\n.dataviews-filter-summary__chip-container {\n  position: relative;\n  white-space: pre-wrap;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip {\n  border-radius: 16px;\n  border: 1px solid transparent;\n  cursor: pointer;\n  padding: 0 12px;\n  height: 32px;\n  background: #f0f0f0;\n  color: #757575;\n  position: relative;\n  display: flex;\n  align-items: center;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-reset {\n  padding-inline-end: 28px;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip:hover, .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip:focus-visible, .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip[aria-expanded=true] {\n  background: #e0e0e0;\n  color: #1e1e1e;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-values {\n  color: var(--wp-admin-theme-color);\n  background: rgba(var(--wp-admin-theme-color--rgb), 0.04);\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-values:hover, .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip.has-values[aria-expanded=true] {\n  background: rgba(var(--wp-admin-theme-color--rgb), 0.12);\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip:focus-visible {\n  outline: none;\n  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip .dataviews-filter-summary__filter-text-name {\n  font-weight: 500;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove {\n  width: 24px;\n  height: 24px;\n  border-radius: 50%;\n  border: 0;\n  padding: 0;\n  position: absolute;\n  right: 4px;\n  top: 50%;\n  transform: translateY(-50%);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: transparent;\n  cursor: pointer;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove svg {\n  fill: #757575;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:hover, .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:focus {\n  background: #e0e0e0;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:hover svg, .dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:focus svg {\n  fill: #1e1e1e;\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove.has-values svg {\n  fill: var(--wp-admin-theme-color);\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove.has-values:hover {\n  background: rgba(var(--wp-admin-theme-color--rgb), 0.08);\n}\n.dataviews-filter-summary__chip-container .dataviews-filter-summary__chip-remove:focus-visible {\n  outline: none;\n  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);\n}","@import '@wordpress/dataviews/build-style/style.css';\r\n\r\n// Media query variables\r\n$desktop: 1024px;\r\n$tablet: 782px;\r\n$mobile: 426px;\r\n\r\n/* To fix rendering quirk in Chrome */\r\n#wpwrap {\r\n\tbackground: #f1f1f1;\r\n}\r\n\r\n/* Hide WP notices on the settings page */\r\n.toplevel_page_search-console,\r\n.search-console_page_search-console-settings {\r\n\t.notice {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\t.star {\r\n\t\tcolor: #ffb900;\r\n\t}\r\n\r\n\t.red {\r\n\t\tcolor: red;\r\n\t}\r\n}\r\n\r\n.search-console.column-search-console {\r\n\tcursor: pointer;\r\n}\r\n\r\n.google-visualization-tooltip {\r\n\tpadding: 2rem;\r\n}\r\n\r\n#search-console-wrapper {\r\n\tmargin-left: -20px;\r\n\r\n\t@media (max-width: $tablet ) {\r\n\t\tmargin-left: -10px;\r\n\t}\r\n\r\n\thr {\r\n\t\tmargin: 24px 0;\r\n\t\tborder-top: 1px solid #eee;\r\n\t}\r\n\r\n\t.notice {\r\n\t\tdisplay: block;\r\n\t\tmargin-top: 15px;\r\n\t}\r\n\r\n\t.loading-settings {\r\n\t\ttext-align: center;\r\n\t\tmargin: 35vh 30px;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\r\n\t\t.components-spinner {\r\n\t\t\tfloat: none;\r\n\t\t}\r\n\r\n\t\t.description {\r\n\t\t\tcolor: #777;\r\n\t\t\tmargin-top: 4px;\r\n\t\t}\r\n\t}\r\n\r\n\t.masthead {\r\n\t\tbackground-color: #fff;\r\n\t\tpadding: 15px 20px;\r\n\t\tbox-shadow: rgb(0 0 0 / 10%) 0px 0px 0px 1px;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tgap: 1rem;\r\n\r\n\t\t.masthead__branding {\r\n\t\t\th1 {\r\n\t\t\t\tcolor: #222;\r\n\t\t\t\tfont-size: 20px;\r\n\t\t\t\tfont-weight: 400;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tmargin: 0;\r\n\r\n\t\t\t\t@media (max-width: $mobile ) {\r\n\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tsvg {\r\n\t\t\t\tfill: #222;\r\n\t\t\t\theight: 40px;\r\n\t\t\t\twidth: 40px;\r\n\t\t\t\tmargin-right: 10px;\r\n\t\t\t}\r\n\r\n\t\t\t@media (max-width: $mobile ) {\r\n\t\t\t\ttext-align: center;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.masthead__plugin-links {\r\n\t\t\tfont-size: 13px;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: flex-end;\r\n\t\t\talign-items: center;\r\n\r\n\t\t\ta {\r\n\t\t\t\talign-items: center;\r\n\t\t\t\tcolor: #23282d;\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t\tdisplay: inline-flex;\r\n\t\t\t\tgap: 4px;\r\n\t\t\t\tmargin-left: 16px;\r\n\t\t\t\ttext-decoration: none;\r\n\r\n\t\t\t\tsvg {\r\n\t\t\t\t\tfill: currentColor;\r\n\t\t\t\t\tvertical-align: middle;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t&:hover {\r\n\t\t\t\t\tcolor: #007cba;\r\n\t\t\t\t\tcolor: var(--wp-admin-theme-color);\r\n\r\n\t\t\t\t\tsvg {\r\n\t\t\t\t\t\tfill: #007cba;\r\n\t\t\t\t\t\tfill: var(--wp-admin-theme-color);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t@media (max-width: $tablet ) {\r\n\t\t\t\ta {\r\n\t\t\t\t\tmargin-left: 8px;\r\n\r\n\t\t\t\t\tspan {\r\n\t\t\t\t\t\tdisplay: none;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t@media (max-width: $mobile ) {\r\n\t\t\t\tjustify-content: center;\r\n\t\t\t\tmargin-top: 10px;\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t.footer {\r\n\t\tpadding: 10px 30px;\r\n\t\tbox-shadow: 0 0 0 1px #ccd0d4, 0 1px 1px 1px rgba(0, 0, 0, .04);\r\n\t\ttext-align: center;\r\n\t\tmargin-top: 2em;\r\n\r\n\t\t.dashicons-star-filled {\r\n\t\t\tcolor: #ffb900;\r\n\t\t}\r\n\r\n\t\t.inner-container {\r\n\t\t\tmargin: 0 auto;\r\n\t\t\tmax-width: 1024px;\r\n\r\n\t\t\t@media (max-width: $desktop ) {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\ta {\r\n\t\t\tcolor: #555d66;\r\n\t\t\tdisplay: inline-block;\r\n\t\t\tmargin: 5px 8px;\r\n\t\t\ttext-decoration: none;\r\n\r\n\t\t\t&:hover {\r\n\t\t\t\tcolor: #007cba;\r\n\t\t\t\tcolor: var(--wp-admin-theme-color);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/* General styles for all setting tabs */\r\n\t.search-console-settings {\r\n\r\n\t\tmax-width: 1024px;\r\n\t\tmargin: 1em auto;\r\n\r\n\t}\r\n\r\n\t.search-console-dashboard {\r\n\t\tmargin-top: 1em;\r\n\t\tpadding: 0 1rem;\r\n\r\n\t\t.search-console-modal-container {\r\n\t\t\tpadding: 1em 0;\r\n\t\t}\r\n\r\n\t\t.search-console-filters {\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: space-between;\r\n\r\n\t\t\t.search-console-filters-options {\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tgap: 1em;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.search-console-table-bar {\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tjustify-content: space-between;\r\n\t\t\tpadding: 1 rem;\r\n\r\n\t\t\tinput {\r\n\t\t\t\twidth: 300px;\r\n\t\t\t}\r\n\r\n\t\t\t.search-console-dimensions {\r\n\t\t\t\tpadding: 0;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tflex: 1;\r\n\r\n\t\t\t\tbutton {\r\n\t\t\t\t\tpadding: 1rem;\r\n\t\t\t\t\tcursor: pointer;\r\n\t\t\t\t\tfont-weight: bold;\r\n\t\t\t\t\tborder-bottom: 2px solid transparent;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t.is-selected {\r\n\t\t\t\t\tborder-bottom: 2px solid #135e96;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t.components-button:focus:not(:disabled) {\r\n\t\t\t\t\tbox-shadow: none;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t.ads-container__reviews {\r\n\t\tbackground-color: var(--wp-admin-theme-color);\r\n\t\tbox-shadow: 0 0 0 1px var(--wp-admin-theme-color-darker-20), 0 1px 1px 1px rgb(0 0 0 / 4%);\r\n\t\tcolor: #fff;\r\n\t\tposition: relative;\r\n\r\n\t\t&::before {\r\n\t\t\tcontent: \"\";\r\n\t\t\tposition: absolute;\r\n\t\t\ttop: 0;\r\n\t\t\tright: 0;\r\n\t\t\tbottom: 0;\r\n\t\t\tleft: 0;\r\n\t\t\tz-index: 0;\r\n\t\t\tbackground-color: var(--wp-admin-theme-color-darker-20);\r\n\t\t\tmask-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polygon points='12 17.7371778 5.81966011 21.5 7.49246652 14.4659011 2 9.75735421 9.2141911 9.1728642 12 2.5 14.7858089 9.1728642 22 9.75735421 16.5075335 14.4659011 18.1803399 21.5'></polygon></svg>\");\r\n\t\t\t-webkit-mask-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polygon points='12 17.7371778 5.81966011 21.5 7.49246652 14.4659011 2 9.75735421 9.2141911 9.1728642 12 2.5 14.7858089 9.1728642 22 9.75735421 16.5075335 14.4659011 18.1803399 21.5'></polygon></svg>\");\r\n\t\t\tmask-size: 200px;\r\n\t\t\t-webkit-mask-size: 200px;\r\n\t\t\tmask-repeat: no-repeat;\r\n\t\t\t-webkit-mask-repeat: no-repeat;\r\n\t\t\tmask-position: -100px;\r\n\t\t\t-webkit-mask-position: -100px;\r\n\t\t}\r\n\r\n\t\t>* {\r\n\t\t\tposition: relative;\r\n\t\t\tz-index: 1;\r\n\t\t}\r\n\r\n\t\ta {\r\n\t\t\tcolor: #fff;\r\n\t\t\tdisplay: block;\r\n\t\t\tmargin-top: 10px;\r\n\t\t\tfont-size: 1.1em;\r\n\t\t}\r\n\r\n\t\th2 {\r\n\t\t\tcolor: #fff;\r\n\t\t}\r\n\t}\r\n\r\n\t.components-card {\r\n\t\t.message {\r\n\t\t\tmargin: 1rem 0;\r\n\t\t}\r\n\t}\r\n\r\n\t.components-notice {\r\n\t\tmargin: 1em;\r\n\t}\r\n\r\n\t.components-snackbar-list {\r\n\t\tbottom: 40px;\r\n\t\tpadding-left: 16px;\r\n\t\tpadding-right: 16px;\r\n\t\tposition: fixed;\r\n\t}\r\n\r\n\t.slideshow-container {\r\n\t\toverflow: hidden;\r\n\t\tdisplay: flex;\r\n\t\tbackground-color: #fff;\r\n\t\tflex-wrap: nowrap;\r\n\t}\r\n\r\n\t.slide {\r\n\t\theight: 1px;\r\n\t\ttransition: .5s cubic-bezier(0.075, 0.82, 0.165, 1);\r\n\t\tmax-width: 100%;\r\n\t\tbox-sizing: border-box;\r\n\t\tpadding: 1rem;\r\n\r\n\t\tp {\r\n\t\t\tmargin: 0;\r\n\t\t}\r\n\r\n\t\t&.active {\r\n\t\t\theight: auto;\r\n\t\t}\r\n\t}\r\n\r\n}"],"names":[],"sourceRoot":""}
     1{"version":3,"file":"./style-index.css","mappings":";;;AAAA;;;;;CAKC;AACD;;EAEE;AACF;;EAEE;AACF;;;;;;EAME;AACF;;;;;CAKC;AACD;;EAEE;AACF;;EAEE;AACF;;;EAGE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;;EAGE;AACF;;;;;CAKC;AACD;;;;;EAKE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;EAEE;AACF;;;EAGE;AACF;;EAEE;AACF;EACE,+BAA+B;EAC/B,wCAAwC;EACxC,yCAAyC;EACzC,kDAAkD;EAClD,yCAAyC;EACzC,iDAAiD;EACjD,kCAAkC;EAClC,gCAAgC;EAChC,yCAAyC;EACzC,oDAAoD;AACtD;AACA;EACE;IACE,oCAAoC;EACtC;AACF;;AAEA;EACE,YAAY;EACZ,cAAc;EACd,sBAAsB;EACtB,2BAA2B;AAC7B;;AAEA;EACE,sBAAsB;EACtB,oBAAoB;EACpB,mBAAmB;EACnB,cAAc;EACd,gBAAgB;EAChB,OAAO;AACT;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,mBAAmB;AACrB;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,gBAAgB;EAChB,SAAS;EACT,OAAO;EACP,sBAAsB;EACtB,kBAAkB;EAClB,6BAA6B;EAC7B,cAAc;EACd,cAAc;AAChB;;AAEA;EACE,eAAe;EACf,yBAAyB;EACzB,gBAAgB;EAChB,cAAc;AAChB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,WAAW;EACX,cAAc;EACd,qBAAqB;EACrB,yBAAyB;EACzB,kBAAkB;EAClB,cAAc;AAChB;AACA;EACE,qBAAqB;EACrB,cAAc;EACd,gBAAgB;AAClB;AACA;EACE,gBAAgB;EAChB,cAAc;EACd,mBAAmB;EACnB,eAAe;AACjB;AACA;;EAEE,aAAa;EACb,mBAAmB;AACrB;AACA;;EAEE,iBAAiB;AACnB;AACA;;EAEE,gBAAgB;AAClB;AACA;EACE,gCAAgC;AAClC;AACA;EACE,QAAQ;AACV;AACA;;EAEE,kBAAkB;AACpB;AACA;;;;EAIE,iBAAiB;AACnB;AACA;;EAEE,mBAAmB;AACrB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;AACZ;AACA;;;;EAIE,UAAU;AACZ;AACA;EACE;;IAEE,UAAU;EACZ;AACF;AACA;EACE,8DAA8D;EAC9D,cAAc;AAChB;AACA;EACE,8DAA8D;AAChE;AACA;EACE,gBAAgB;EAChB,oBAAoB;EACpB,UAAU;AACZ;AACA;EACE,SAAS;AACX;AACA;EACE,sBAAsB;EACtB,kCAAkC;EAClC,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;EACf,yBAAyB;EACzB,gBAAgB;EAChB,iBAAiB;AACnB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,gBAAgB;EAChB,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,YAAY;AACd;AACA;EACE,YAAY;AACd;AACA;EACE,gBAAgB;EAChB,eAAe;EACf,yBAAyB;EACzB,gBAAgB;AAClB;AACA;EACE,cAAc;AAChB;AACA;EACE,WAAW;AACb;AACA;EACE,aAAa;AACf;AACA;EACE,iBAAiB;AACnB;AACA;EACE,SAAS;AACX;AACA;EACE,UAAU;AACZ;;AAEA;;;EAGE,eAAe;EACf,gBAAgB;EAChB,cAAc;EACd,uBAAuB;EACvB,mBAAmB;EACnB,cAAc;EACd,WAAW;AACb;AACA;;;EAGE,qBAAqB;EACrB,uBAAuB;EACvB,mBAAmB;EACnB,gBAAgB;EAChB,cAAc;EACd,YAAY;EACZ,cAAc;AAChB;AACA;;;EAGE,kCAAkC;AACpC;AACA;;;EAGE,uCAAuC;EACvC,yFAAyF;EACzF,kBAAkB;AACpB;AACA;;;EAGE,qBAAqB;EACrB,oBAAoB;EACpB,uBAAuB;EACvB,mBAAmB;EACnB,gBAAgB;EAChB,cAAc;EACd,WAAW;EACX,cAAc;AAChB;AACA;;;EAGE,kCAAkC;AACpC;;AAEA;EACE,mBAAmB;EACnB,2DAA2D;EAC3D,+BAA+B;EAC/B,eAAe;AACjB;AACA;EACE;IACE,2DAA2D;EAC7D;AACF;AACA;EACE;IACE,2DAA2D;EAC7D;AACF;AACA;EACE,YAAY;EACZ,2BAA2B;AAC7B;AACA;EACE,kBAAkB;AACpB;AACA;EACE,gBAAgB;AAClB;AACA;EACE,cAAc;AAChB;AACA;EACE,sFAAsF;EACtF,wDAAwD;AAC1D;AACA;EACE,WAAW;EACX,iBAAiB;EACjB,iBAAiB;EACjB,yBAAyB;EACzB,kBAAkB;EAClB,gBAAgB;EAChB,kBAAkB;AACpB;AACA;EACE,oBAAiB;KAAjB,iBAAiB;EACjB,WAAW;EACX,YAAY;AACd;AACA;EACE,WAAW;EACX,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,8CAA8C;EAC9C,kBAAkB;AACpB;AACA;EACE,kBAAkB;EAClB,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,eAAe;EACf,cAAc;AAChB;AACA;EACE,uBAAuB;AACzB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,UAAU;AACZ;AACA;EACE,UAAU;EACV,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;AACrB;AACA;EACE,cAAc;AAChB;AACA;EACE,oBAAoB;AACtB;AACA;EACE,uBAAuB;EACvB,kBAAkB;EAClB,mBAAmB;EACnB,cAAc;EACd,gBAAgB;EAChB,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,eAAe;AACjB;;AAEA;EACE,SAAS;EACT,YAAY;AACd;AACA;EACE,SAAS;EACT,eAAe;AACjB;AACA;EACE,kBAAkB;EAClB,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,UAAU;EACV,WAAW;EACX,mBAAmB;EACnB,WAAW;AACb;AACA;EACE,WAAW;AACb;AACA;EACE,cAAc;AAChB;AACA;EACE,kCAAkC;AACpC;AACA;;;EAGE,kCAAkC;AACpC;AACA;;EAEE,6CAA6C;EAC7C,WAAW;AACb;AACA;;;;;;EAME,WAAW;AACb;AACA;;EAEE,uBAAuB;AACzB;AACA;EACE,yBAAyB;EACzB,WAAW;EACX,oBAAoB;AACtB;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS;EACT,WAAW;EACX,YAAY;EACZ,UAAU;EACV,gFAAgF;EAChF,WAAW;EACX,kBAAkB;AACpB;AACA;EACE,gBAAgB;EAChB,gBAAgB;AAClB;AACA;EACE,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,gBAAgB;EAChB,kBAAkB;EAClB,cAAc;EACd,yBAAyB;AAC3B;AACA;EACE,WAAW;EACX,YAAY;EACZ,oBAAiB;KAAjB,iBAAiB;AACnB;AACA;EACE,WAAW;EACX,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,8CAA8C;EAC9C,kBAAkB;AACpB;AACA;EACE,eAAe;EACf,YAAY;EACZ,yBAAyB;AAC3B;AACA;EACE,cAAc;EACd,aAAa;EACb,QAAQ;EACR,eAAe;EACf,eAAe;EACf,iBAAiB;AACnB;AACA;EACE,aAAa;AACf;AACA;EACE,8BAA8B;AAChC;;AAEA;EACE,gBAAgB;AAClB;;AAEA;;EAEE,eAAe;EACf,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,2BAA2B;EAC3B,cAAc;AAChB;AACA;EACE;IACE,2BAA2B;EAC7B;AACF;;AAEA;EACE,cAAc;EACd,WAAW;AACb;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,YAAY;EACZ,UAAU;EACV,kBAAkB;AACpB;;AAEA;EACE,iBAAiB;EACjB,YAAY;EACZ,cAAc;EACd,6BAA6B;AAC/B;AACA;EACE,gBAAgB;AAClB;;AAEA;EACE,iBAAiB;EACjB,YAAY;EACZ,cAAc;AAChB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,kBAAkB;EAClB,sBAAsB;EACtB,iBAAiB;EACjB,eAAe;EACf,qBAAqB;AACvB;AACA;EACE,mBAAmB;AACrB;AACA;EACE,6CAA6C;EAC7C,WAAW;AACb;AACA;EACE,UAAU;AACZ;AACA;EACE,WAAW;AACb;AACA;EACE,WAAW;EACX,YAAY;EACZ,cAAc;AAChB;AACA;EACE,cAAc;EACd,gBAAgB;EAChB,uBAAuB;EACvB,eAAe;EACf,iBAAiB;EACjB,cAAc;AAChB;;AAEA;EACE,kBAAkB;EAClB,YAAY;AACd;AACA;EACE,gIAAgI;EAChI,gBAAgB;EAChB,6BAA6B;EAC7B,kCAAkC;EAClC,kBAAkB;EAClB,yBAAyB;EACzB,0DAA0D;EAC1D,eAAe;EACf,+CAA+C;EAC/C,mBAAmB;EACnB,cAAc;EACd,qBAAqB;EACrB,mBAAmB;EACnB,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,cAAc;EACd,eAAe;EACf,0DAA0D;EAC1D,eAAe;AACjB;AACA;EACE;IACE,uBAAuB;IACvB,oBAAoB;EACtB;AACF;AACA;EACE;IACE,eAAe;IACf,+CAA+C;IAC/C,mBAAmB;EACrB;AACF;AACA;EACE,yCAAyC;EACzC,mDAAmD;EACnD,8BAA8B;AAChC;AACA;EACE,6BAA6B;AAC/B;AACA;EACE,UAAU;EACV,6BAA6B;AAC/B;AACA;EACE,6BAA6B;AAC/B;AACA;EACE;IACE,eAAe;EACjB;AACF;AACA;EACE,gBAAgB;EAChB,sFAAsF;AACxF;AACA;EACE,cAAc;AAChB;AAFA;EACE,cAAc;AAChB;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,kBAAkB;EAClB,WAAW;EACX,QAAQ;EACR,2BAA2B;EAC3B,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,WAAW;AACb;;AAEA;EACE,kBAAkB;AACpB;AACA;EACE,gCAAgC;EAChC,mBAAmB;AACrB;AACA;EACE,aAAa;AACf;AACA;EACE,cAAc;AAChB;;AAEA;EACE,kBAAkB;EAClB,qBAAqB;AACvB;AACA;EACE,mBAAmB;EACnB,6BAA6B;EAC7B,eAAe;EACf,eAAe;EACf,YAAY;EACZ,mBAAmB;EACnB,cAAc;EACd,kBAAkB;EAClB,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,wBAAwB;AAC1B;AACA;EACE,mBAAmB;EACnB,cAAc;AAChB;AACA;EACE,kCAAkC;EAClC,wDAAwD;AAC1D;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,aAAa;EACb,gFAAgF;AAClF;AACA;EACE,gBAAgB;AAClB;AACA;EACE,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,kBAAkB;EAClB,UAAU;EACV,QAAQ;EACR,2BAA2B;EAC3B,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,uBAAuB;EACvB,eAAe;AACjB;AACA;EACE,aAAa;AACf;AACA;EACE,mBAAmB;AACrB;AACA;EACE,aAAa;AACf;AACA;EACE,iCAAiC;AACnC;AACA;EACE,wDAAwD;AAC1D;AACA;EACE,aAAa;EACb,gFAAgF;AAClF,C;;;;ACrzBA;AACA;EACC;AALD;;AAQA;AAGC;;EACC;AANF;AASC;;EACC;AANF;AASC;;EACC;AANF;;AAUA;EACC;AAPD;;AAUA;EACC;AAPD;;AAUA;EACC;EAqJA;AA3JD;AAQC;EAHD;IAIE;EALA;AACF;AAOC;EACC;EACA;AALF;AAQC;EACC;EACA;AANF;AASC;EACC;EACA;EACA;EACA;EACA;AAPF;AASE;EACC;AAPH;AAUE;EACC;EACA;AARH;AAYC;EACC;EACA;EACA;EACA;EACA;EACA;AAVF;AAaG;EACC;EACA;EACA;EACA;EACA;EACA;AAXJ;AAaI;EARD;IASE;EAVH;AACF;AAaG;EACC;EACA;EACA;EACA;AAXJ;AAcG;EArBD;IAsBE;EAXF;AACF;AAcE;EACC;EACA;EACA;EACA;AAZH;AAcG;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAZJ;AAcI;EACC;EACA;AAZL;AAeI;EACC;EACA;AAbL;AAeK;EACC;EACA;AAbN;AAkBG;EACC;IACC;EAhBH;EAkBG;IACC;EAhBJ;AACF;AAoBG;EAzCD;IA0CE;IACA;IACA;EAjBF;AACF;AAsBC;EACC;EACA;EACA;EACA;AApBF;AAsBE;EACC;AApBH;AAuBE;EACC;EACA;AArBH;AAuBG;EAJD;IAKE;EApBF;AACF;AAuBE;EACC;EACA;EACA;EACA;AArBH;AAuBG;EACC;EACA;AArBJ;AA2BC;EAEC;EACA;AA1BF;AA8BC;EACC;EACA;AA5BF;AA8BE;EACC;AA5BH;AA+BE;EACC;EACA;AA7BH;AA+BG;EACC;EACA;AA7BJ;AAiCE;EACC;EACA;EACA;EACA;AA/BH;AAiCG;EACC;AA/BJ;AAkCG;EACC;EACA;EACA;AAhCJ;AAkCI;EACC;EACA;EACA;EACA;AAhCL;AAmCI;EACC;AAjCL;AAoCI;EACC;AAlCL;AA0CC;EACC;EACA;EACA;EACA;AAxCF;AA0CE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAxCH;AA2CE;EACC;EACA;AAzCH;AA4CE;EACC;EACA;EACA;EACA;AA1CH;AA6CE;EACC;AA3CH;AAgDE;EACC;AA9CH;AAkDC;EACC;AAhDF;AAmDC;EACC;EACA;EACA;EACA;AAjDF;AAoDC;EACC;EACA;EACA;EACA;em;\r\n\r\n\t\tp {\r\n\t\t\tmargin: 0;\r\n\t\t}\r\n\r\n\t\t&.active {\r\n\t\t\theight: auto;\r\n\t\t}\r\n\t}\r\n\r\n}"],"names":[],"sourceRoot":""}
  • search-console/trunk/readme.txt

    r3091052 r3115844  
    66Requires PHP: 5.6
    77Tested up to: 6.5
    8 Stable tag: 3.0.3
     8Stable tag: 3.0.
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    9191== Changelog ==
    9292
     93
     94
     95
    9396= 3.0.3 =
    9497* Small fix
  • search-console/trunk/search-console.php

    r3091052 r3115844  
    66 * Plugin URI:     https://www.francescopepe.com/
    77 * Description:    This plugin displays your Google Search Console Analytics data inside your WordPress.
    8  * Version:        3.0.3
     8 * Version:        3.0.
    99 * Author:         Tropicalista
    1010 * Author URI:     https://www.francescopepe.com
Note: See TracChangeset for help on using the changeset viewer.