@devtable/dashboard 2.3.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api-caller/index.d.ts +3 -3
- package/dist/contexts/context-info-context.d.ts +1 -1
- package/dist/contexts/dashboard-action-context.d.ts +1 -1
- package/dist/contexts/definition-context.d.ts +2 -2
- package/dist/contexts/filter-values-context.d.ts +1 -1
- package/dist/contexts/layout-state-context.d.ts +2 -2
- package/dist/contexts/panel-context.d.ts +2 -2
- package/dist/dashboard.es.js +10465 -713
- package/dist/dashboard.umd.js +22 -5
- package/dist/definition-editor/global-variables-guide.d.ts +1 -1
- package/dist/definition-editor/query-editor/editor.d.ts +1 -1
- package/dist/definition-editor/query-editor/form.d.ts +1 -1
- package/dist/definition-editor/query-editor/select-or-add-query.d.ts +1 -1
- package/dist/filter/filter-checkbox/editor.d.ts +3 -5
- package/dist/filter/filter-checkbox/render.d.ts +3 -2
- package/dist/filter/filter-date-range/editor.d.ts +3 -6
- package/dist/filter/filter-date-range/render.d.ts +3 -2
- package/dist/filter/filter-multi-select/editor.d.ts +3 -7
- package/dist/filter/filter-multi-select/render.d.ts +4 -3
- package/dist/filter/filter-query-field/index.d.ts +5 -5
- package/dist/filter/filter-query-field/select-data-source.d.ts +5 -5
- package/dist/filter/filter-query-field/test-query.d.ts +7 -0
- package/dist/filter/filter-select/editor.d.ts +3 -7
- package/dist/filter/filter-select/render.d.ts +3 -2
- package/dist/filter/filter-settings/filter-setting.d.ts +4 -7
- package/dist/filter/filter-settings/filter-settings.d.ts +4 -5
- package/dist/filter/filter-settings/index.d.ts +3 -4
- package/dist/filter/filter-settings/preview-filter.d.ts +4 -8
- package/dist/filter/filter-text-input/editor.d.ts +3 -6
- package/dist/filter/filter-text-input/render.d.ts +3 -2
- package/dist/filter/filter.d.ts +3 -3
- package/dist/filter/index.d.ts +2 -2
- package/dist/layout/index.d.ts +2 -2
- package/dist/layout/read-only.d.ts +2 -2
- package/dist/main/actions.d.ts +5 -5
- package/dist/main/full-screen-panel.d.ts +1 -1
- package/dist/main/main.d.ts +4 -4
- package/dist/main/read-only.d.ts +3 -3
- package/dist/main/toggle-mode.d.ts +2 -2
- package/dist/main/use-filters.d.ts +2124 -4
- package/dist/main/use-panel-full-screen.d.ts +1 -1
- package/dist/model/dashboard.d.ts +8103 -0
- package/dist/model/filter/checkbox.d.ts +16 -0
- package/dist/model/filter/common.d.ts +14 -0
- package/dist/model/filter/date-range.d.ts +28 -0
- package/dist/model/filter/index.d.ts +172 -0
- package/dist/model/filter/multi-select.d.ts +81 -0
- package/dist/model/filter/select.d.ts +95 -0
- package/dist/model/filter/text-input.d.ts +22 -0
- package/dist/model/index.d.ts +2 -0
- package/dist/panel/error-boundary.d.ts +1 -1
- package/dist/panel/settings/common/aggregation-selector.d.ts +2 -2
- package/dist/panel/settings/common/color-array-input.d.ts +1 -1
- package/dist/panel/settings/common/data-field-selector.d.ts +2 -2
- package/dist/panel/settings/common/mantine-color.d.ts +1 -1
- package/dist/panel/settings/common/mantine-font-weight.d.ts +1 -1
- package/dist/panel/settings/common/numbro-format-selector.d.ts +1 -1
- package/dist/panel/settings/common/text-array-input.d.ts +1 -1
- package/dist/panel/viz/bar-3d/panel.d.ts +1 -1
- package/dist/panel/viz/cartesian/panel/index.d.ts +1 -1
- package/dist/panel/viz/cartesian/panel/regressions/index.d.ts +2 -2
- package/dist/panel/viz/cartesian/panel/regressions/regression-item.d.ts +2 -2
- package/dist/panel/viz/cartesian/panel/series/fields.bar.d.ts +3 -3
- package/dist/panel/viz/cartesian/panel/series/index.d.ts +2 -2
- package/dist/panel/viz/cartesian/panel/series/series-item.d.ts +2 -2
- package/dist/panel/viz/cartesian/panel/stats/index.d.ts +2 -2
- package/dist/panel/viz/cartesian/panel/stats/variable.d.ts +2 -2
- package/dist/panel/viz/cartesian/panel/y-axes.d.ts +2 -2
- package/dist/panel/viz/cartesian/type.d.ts +3 -3
- package/dist/panel/viz/index.d.ts +1 -1
- package/dist/panel/viz/pie/panel.d.ts +1 -1
- package/dist/panel/viz/rich-text/panel.d.ts +1 -1
- package/dist/panel/viz/rich-text/type.d.ts +1 -1
- package/dist/panel/viz/stats/panel/index.d.ts +3 -3
- package/dist/panel/viz/stats/panel/variable.d.ts +2 -2
- package/dist/panel/viz/stats/panel/variables.d.ts +2 -2
- package/dist/panel/viz/stats/types.d.ts +1 -1
- package/dist/panel/viz/stats/update/index.d.ts +2 -2
- package/dist/panel/viz/sunburst/panel.d.ts +1 -1
- package/dist/panel/viz/table/index.d.ts +1 -1
- package/dist/panel/viz/table/panel.d.ts +1 -1
- package/dist/panel/viz/table/value-type-selector.d.ts +1 -1
- package/dist/panel/viz/table/value.d.ts +1 -1
- package/dist/types/dashboard.d.ts +2 -2
- package/dist/types/filter.d.ts +6 -38
- package/dist/types/viz-panel.d.ts +1 -1
- package/dist/utils/sql.d.ts +2 -2
- package/dist/utils/template/editor.d.ts +3 -3
- package/dist/utils/template/render.d.ts +1 -1
- package/dist/utils/template/types.d.ts +2 -2
- package/package.json +5 -2
- package/dist/filter/filter-settings/types.d.ts +0 -4
package/dist/dashboard.umd.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(w,z){typeof exports=="object"&&typeof module!="undefined"?z(exports,require("react"),require("lodash"),require("react-grid-layout"),require("@mantine/core"),require("ahooks"),require("axios"),require("@mantine/modals"),require("tabler-icons-react"),require("@mantine/rte"),require("@mantine/hooks"),require("echarts-for-react/lib/core"),require("echarts/core"),require("echarts/charts"),require("echarts/renderers"),require("echarts-stat"),require("echarts/components"),require("numbro"),require("echarts-gl"),require("react-hook-form"),require("@mantine/form"),require("@mantine/prism"),require("react-dom"),require("@mantine/dates")):typeof define=="function"&&define.amd?define(["exports","react","lodash","react-grid-layout","@mantine/core","ahooks","axios","@mantine/modals","tabler-icons-react","@mantine/rte","@mantine/hooks","echarts-for-react/lib/core","echarts/core","echarts/charts","echarts/renderers","echarts-stat","echarts/components","numbro","echarts-gl","react-hook-form","@mantine/form","@mantine/prism","react-dom","@mantine/dates"],z):(w=typeof globalThis!="undefined"?globalThis:w||self,z(w.dashboard={},w.React,w._,w["react-grid-layout"],w["@mantine/core"],w.ahooks,w.axios,w["@mantine/modals"],w["tabler-icons-react"],w["@mantine/rte"],w["@mantine/hooks"],w["echarts-for-react/lib/core"],w["echarts/core"],w["echarts/charts"],w["echarts/renderers"],w["echarts-stat"],w["echarts/components"],w.numbro,w["echarts-gl"],w["react-hook-form"],w["@mantine/form"],w["@mantine/prism"],w.ReactDOM,w["@mantine/dates"]))})(this,function(w,z,qe,Rr,s,Be,Fo,Vr,_,En,W,qo,Bo,wt,Yt,Go,Ge,$o,Lp,O,St,$e,Uo,Wo){"use strict";var zp=Object.defineProperty;var Np=(w,z,qe)=>z in w?zp(w,z,{enumerable:!0,configurable:!0,writable:!0,value:qe}):w[z]=qe;var Lo=(w,z,qe)=>(Np(w,typeof z!="symbol"?z+"":z,qe),qe);function Ue(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}function Yo(e){if(e&&e.__esModule)return e;var r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});return e&&Object.keys(e).forEach(function(t){if(t!=="default"){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}}),r.default=e,Object.freeze(r)}var h=Ue(z),C=Ue(qe),In=Ue(Rr),Qo=Ue(Fo),kr=Ue(En),Qt=Ue(qo),Oe=Yo(Bo),Kt=Ue($o),le=(e=>(e.Use="use",e.Layout="layout",e.Edit="edit",e))(le||{});const Ko={layoutFrozen:!1,freezeLayout:()=>{},mode:le.Edit,inEditMode:!1,inLayoutMode:!1,inUseMode:!0},be=h.default.createContext(Ko);function Ho(e,r){const t=Object.keys(r),n=Object.values(r);try{return new Function(...t,`return \`${e}\`;`)(...n)}catch(i){return console.error(i),i.message}}function zr(e,r){const t=Object.keys(r),n=Object.values(r);try{return new Function(...t,`return \`${e}\`;`)(...n)}catch(i){throw t.length===0&&e.includes("$")?new Error("[formatSQL] insufficient params"):i}}function Dn(e,r,t){const n=r.sqlSnippets.reduce((i,a)=>(i[a.key]=zr(a.value,e),i),{});return C.default.merge({},n,e,{filters:t})}function Jo(e,r,t,n){try{const i=Dn(r,t,n);return zr(e,i)}catch(i){return console.error(i),i.message}}const We={baseURL:"http://localhost:31200",getRequest(e){return(r,t,n={})=>{const i={"X-Requested-With":"XMLHttpRequest","Content-Type":n.string?"application/x-www-form-urlencoded":"application/json",...n.headers},a={baseURL:this.baseURL,method:e,url:r,params:e==="GET"?t:n.params,headers:i};return e==="POST"&&(a.data=n.string?JSON.stringify(t):t),Qo.default(a).then(o=>o.data).catch(o=>Promise.reject(o))}}},Nr=({type:e,key:r,sql:t})=>async()=>{if(!e||!r||!t)return[];try{return await We.getRequest("POST")("/query",{type:e,key:r,query:t})}catch(n){return console.error(n),[]}},Mn=({context:e,definitions:r,title:t,query:n,filterValues:i})=>async()=>{if(!n||!n.sql)return[];const{type:a,key:o,sql:u}=n,c=u.includes("$");try{const d=Dn(e,r,i),f=zr(u,d);return c&&(console.groupCollapsed(`Final SQL for: ${t}`),console.log(f),console.groupEnd()),await We.getRequest("POST")("/query",{type:a,key:o,query:f})}catch(d){return console.error(d),[]}};async function Rn(){try{return(await We.getRequest("POST")("/datasource/list",{filter:{},sort:{field:"create_time",order:"ASC"},pagination:{page:1,pagesize:100}})).data}catch(e){return console.error(e),[]}}const Vn={},Xo=Vn,Ie=h.default.createContext(Vn),Zo={id:"",data:[],loading:!1,title:"",setTitle:()=>{},description:"",setDescription:()=>{},queryID:"",setQueryID:()=>{},viz:{type:"",conf:{}},setViz:()=>{},refreshData:()=>{}},se=h.default.createContext(Zo),eu={addPanel:C.default.noop,duplidatePanel:C.default.noop,removePanelByID:C.default.noop,viewPanelInFullScreen:C.default.noop,inFullScreen:!1},Ht=h.default.createContext(eu),tu={sqlSnippets:[],setSQLSnippets:()=>{},queries:[],setQueries:()=>{}},ce=h.default.createContext(tu),kn={},ru=kn,Ye=h.default.createContext(kn);var Jt={exports:{}},Xt={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react-jsx-runtime.production.min.js
|
|
4
4
|
*
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
*
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var Wt=c.default,Ut=Symbol.for("react.element"),Yt=Symbol.for("react.fragment"),Jt=Object.prototype.hasOwnProperty,Xt=Wt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Kt={key:!0,ref:!0,__self:!0,__source:!0};function je(e,n,r){var i,a={},o=null,u=null;r!==void 0&&(o=""+r),n.key!==void 0&&(o=""+n.key),n.ref!==void 0&&(u=n.ref);for(i in n)Jt.call(n,i)&&!Kt.hasOwnProperty(i)&&(a[i]=n[i]);if(e&&e.defaultProps)for(i in n=e.defaultProps,n)a[i]===void 0&&(a[i]=n[i]);return{$$typeof:Ut,type:e,key:o,ref:u,props:a,_owner:Xt.current}}ce.Fragment=Yt,ce.jsx=je,ce.jsxs=je,de.exports=ce;const t=de.exports.jsx,f=de.exports.jsxs,D=de.exports.Fragment;function We({}){const{freezeLayout:e}=c.default.useContext(O),[n,r]=c.default.useState(!1),{title:i,description:a}=c.default.useContext(G);return c.default.useEffect(()=>{e(n)},[n]),!a||a==="<p><br></p>"?null:f(D,{children:[t(l.Modal,{opened:n,onClose:()=>r(!1),title:i,withCloseButton:!1,children:t(Se.default,{readOnly:!0,value:a,onChange:C.default.noop,sx:{border:"none"}})}),t(l.Tooltip,{label:"Click to see description",position:"top-start",children:t(l.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>r(o=>!o),sx:{verticalAlign:"baseline",cursor:"pointer"},children:t(g.InfoCircle,{size:20})})})]})}function Zt(){const{description:e,setDescription:n}=c.default.useContext(G),[r,i]=c.default.useState(e),a=e!==r,o=c.default.useCallback(()=>{!a||n(r)},[a,r]);return f(l.Stack,{sx:{flexGrow:1},children:[f(l.Group,{align:"end",children:[t(l.Text,{children:"Description"}),t(l.ActionIcon,{variant:"subtle",color:"blue",disabled:!a,onClick:o,children:t(g.DeviceFloppy,{size:20})})]}),t(Fe.RichTextEditor,{value:r,onChange:i,sx:{flexGrow:1},sticky:!0,p:"0"})]})}class fe extends c.default.Component{constructor(n){super(n),this.state={error:null}}componentDidCatch(n){this.setState({error:n})}render(){var n;if(this.state.error){const r=()=>{this.setState({error:null})};return f(l.Box,{children:[t(l.Text,{size:"xs",children:(n=this.state.error)==null?void 0:n.message}),t(l.Button,{variant:"subtle",size:"xs",mx:"auto",compact:!0,sx:{display:"block"},onClick:r,children:"Retry"})]})}return this.props.children}}function Ht(){const{title:e}=c.default.useContext(G);return t(fe,{children:f(l.Stack,{mx:"auto",mt:"xl",p:"5px",spacing:5,sx:{width:"600px",height:"450px",background:"transparent",borderRadius:"5px",boxShadow:"0px 0px 10px 0px rgba(0,0,0,.2)"},children:[f(l.Group,{position:"apart",noWrap:!0,sx:{flexGrow:0,flexShrink:0},children:[t(l.Group,{children:t(We,{})}),t(l.Group,{grow:!0,position:"center",children:t(l.Text,{lineClamp:1,weight:"bold",children:e})}),t(l.Group,{position:"right",spacing:0,sx:{height:"28px"}})]}),t(l.Group,{sx:{background:"#eee",flexGrow:1}})]})})}function en(){const{title:e,setTitle:n}=c.default.useContext(G),[r,i]=A.useInputState(e),a=e!==r,o=c.default.useCallback(()=>{!a||n(r)},[a,r]);return t(l.TextInput,{value:r,onChange:i,label:f(l.Group,{align:"end",children:[t(l.Text,{children:"Panel Title"}),t(l.ActionIcon,{variant:"subtle",color:"blue",disabled:!a,onClick:o,children:t(g.DeviceFloppy,{size:20})})]})})}function tn({}){return f(l.Group,{grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%"},children:[f(l.Stack,{sx:{width:"40%",flexShrink:0,flexGrow:0,height:"100%"},children:[t(en,{}),t(Zt,{})]}),t(l.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:t(Ht,{})})]})}function Ue({id:e}){const n=c.default.useContext(L),r=c.default.useContext(U),i=c.default.useContext(E),a=c.default.useMemo(()=>n.queries.find(p=>p.id===e),[n.queries,e]),{data:o=[],loading:u,refresh:s}=J.useRequest(Be({context:i,definitions:n,filterValues:r,title:e,query:a}),{refreshDeps:[i,n,a,r]});return u?t(l.LoadingOverlay,{visible:u,exitTransitionDuration:0}):o.length===0?t(l.Table,{}):f(l.Stack,{my:"xl",sx:{border:"1px solid #eee"},children:[f(l.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[f(l.Group,{position:"left",children:[t(l.Text,{weight:500,children:"Preview Data"}),o.length>10&&f(l.Text,{size:"sm",color:"gray",children:["Showing 10 rows of ",o.length]})]}),t(l.ActionIcon,{mr:15,variant:"subtle",color:"blue",disabled:u,onClick:s,children:t(g.Refresh,{size:15})})]}),f(l.Table,{children:[t("thead",{children:t("tr",{children:Object.keys(o==null?void 0:o[0]).map(p=>t("th",{children:t(l.Text,{weight:700,color:"#000",children:p})},p))})}),t("tbody",{children:o.slice(0,10).map((p,m)=>t("tr",{children:Object.values(p).map((d,h)=>t("td",{children:t(l.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace"}},children:t(l.Text,{children:d})})},`${d}--${h}`))},`row-${m}`))})]})]})}function nn({}){const{queries:e}=c.default.useContext(L),{queryID:n,setQueryID:r,data:i,loading:a}=c.default.useContext(G),o=c.default.useMemo(()=>e.map(u=>({value:u.id,label:u.id})),[e]);return f(l.Stack,{children:[f(l.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[t(l.Text,{children:"Select a Query"}),t(l.Select,{data:o,value:n,onChange:r,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}})]}),t(Ue,{id:n})]})}V.use([H.SunburstChart,ae.CanvasRenderer]);const ln={tooltip:{show:!0},series:{type:"sunburst",radius:[0,"90%"],emphasis:{focus:"ancestor"}}};function rn({conf:e,data:n,width:r,height:i}){const{label_field:a="name",value_field:o="value",...u}=e,s=c.default.useMemo(()=>n.map(h=>({name:h[a],value:Number(h[o])})),[n,a,o]),p=c.default.useMemo(()=>{var h,x;return(x=(h=C.default.maxBy(s,y=>y.value))==null?void 0:h.value)!=null?x:1},[s]),m=c.default.useMemo(()=>({series:{label:{formatter:({name:h,value:x})=>x/p<.2?" ":h}}}),[p]),d=C.default.merge({},ln,m,u,{series:{data:s}});return t(se.default,{echarts:V,option:d,style:{width:r,height:i}})}function an({regressions:e=[]},n){const r=[],i=[],a=[];return n.length===0?{regressionDataSets:r,regressionSeries:i,regressionXAxes:a}:(e.forEach(({transform:o,plot:u,name:s,y_axis_data_key:p})=>{const m=`x-axis-for-${s}`,d=`dataset-for-${s}--raw`,h=`dataset-for-${s}--transformed`;r.push({id:d,source:n.map((x,y)=>[y,x[p]])}),r.push({transform:o,id:h,fromDatasetId:d}),i.push({...u,name:s,datasetId:h,xAxisId:m,showSymbol:!1,tooltip:{show:!1}}),a.push({type:"category",id:m,datasetId:h,show:!1})}),{regressionDataSets:r,regressionSeries:i,regressionXAxes:a})}const sn={legend:{show:!0,bottom:0,left:0},tooltip:{trigger:"axis"},xAxis:{type:"category",nameGap:25,nameLocation:"center",nameTextStyle:{fontWeight:"bold"}},grid:{top:0,left:15,right:15,bottom:30,containLabel:!0}};function on(e,n){var m;const r=e.y_axes.reduce((d,{label_formatter:h},x)=>(d[x]=function(v){const w=typeof v=="object"?v.value:v;if(!h)return w;try{return oe.default(w).format(h)}catch(_){return console.error(_),w}},d),{default:({value:d})=>d}),i=e.series.reduce((d,{yAxisIndex:h,name:x})=>(d[x]=h,d),{}),a=e.series.map(({y_axis_data_key:d,yAxisIndex:h,label_position:x,name:y,...v})=>({data:n.map(_=>_[d]),label:{show:!!x,position:x,formatter:r[h!=null?h:"default"]},name:y,xAxisId:"main-x-axis",yAxisIndex:h,...v})),{regressionDataSets:o,regressionSeries:u,regressionXAxes:s}=an(e,n),p={xAxis:[{data:n.map(d=>d[e.x_axis_data_key]),name:(m=e.x_axis_name)!=null?m:"",id:"main-x-axis"},...s],yAxis:e.y_axes.map(({label_formatter:d,...h},x)=>{var y;return{...h,axisLabel:{show:!0,formatter:(y=r[x])!=null?y:r.default}}}),dataset:[...o],series:[...a,...u],tooltip:{formatter:function(d){const h=Array.isArray(d)?d:[d];if(h.length===0)return"";const x=h.map(({seriesName:y,value:v})=>{var q;if(!y)return v;const w=i[y],_=(q=r[w])!=null?q:r.default;return`${y}: ${_({value:v})}`});return x.unshift(`<strong>${h[0].name}</strong>`),x.join("<br />")}}};return C.default.merge({},sn,p)}function un(e){const n=Array.from(e).sort((i,a)=>i-a),r=Math.floor(n.length/2);return n.length%2===0?(n[r-1]+n[r])/2:n[r]}function dn(e,n,r){var a,o,u;const i=e.map(s=>s[n]);switch(r){case"sum":return C.default.sum(i);case"mean":return C.default.mean(i);case"median":return un(i);case"max":return(a=C.default.max(i))!=null?a:0;case"min":return(o=C.default.min(i))!=null?o:0;default:return(u=e[0])==null?void 0:u[n]}}var Ye=function(){};const cn=(e,n,r)=>Math.min(Math.max(r,e),n),Je=(e,n,r)=>{const i=n-e;return i===0?1:(r-e)/i},ve=(e,n,r)=>-r*e+r*n+e,Xe=(e,n)=>r=>Math.max(Math.min(r,n),e),te=e=>e%1?Number(e.toFixed(5)):e,pe=/(-)?([\d]*\.?[\d])+/g,we=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi,fn=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i;function ne(e){return typeof e=="string"}const he={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Ke=Object.assign(Object.assign({},he),{transform:Xe(0,1)});Object.assign(Object.assign({},he),{default:1});const le=(e=>({test:n=>ne(n)&&n.endsWith(e)&&n.split(" ").length===1,parse:parseFloat,transform:n=>`${n}${e}`}))("%");Object.assign(Object.assign({},le),{parse:e=>le.parse(e)/100,transform:e=>le.transform(e*100)});const Te=(e,n)=>r=>Boolean(ne(r)&&fn.test(r)&&r.startsWith(e)||n&&Object.prototype.hasOwnProperty.call(r,n)),Ze=(e,n,r)=>i=>{if(!ne(i))return i;const[a,o,u,s]=i.match(pe);return{[e]:parseFloat(a),[n]:parseFloat(o),[r]:parseFloat(u),alpha:s!==void 0?parseFloat(s):1}},Y={test:Te("hsl","hue"),parse:Ze("hue","saturation","lightness"),transform:({hue:e,saturation:n,lightness:r,alpha:i=1})=>"hsla("+Math.round(e)+", "+le.transform(te(n))+", "+le.transform(te(r))+", "+te(Ke.transform(i))+")"},pn=Xe(0,255),_e=Object.assign(Object.assign({},he),{transform:e=>Math.round(pn(e))}),B={test:Te("rgb","red"),parse:Ze("red","green","blue"),transform:({red:e,green:n,blue:r,alpha:i=1})=>"rgba("+_e.transform(e)+", "+_e.transform(n)+", "+_e.transform(r)+", "+te(Ke.transform(i))+")"};function hn(e){let n="",r="",i="",a="";return e.length>5?(n=e.substr(1,2),r=e.substr(3,2),i=e.substr(5,2),a=e.substr(7,2)):(n=e.substr(1,1),r=e.substr(2,1),i=e.substr(3,1),a=e.substr(4,1),n+=n,r+=r,i+=i,a+=a),{red:parseInt(n,16),green:parseInt(r,16),blue:parseInt(i,16),alpha:a?parseInt(a,16)/255:1}}const ze={test:Te("#"),parse:hn,transform:B.transform},me={test:e=>B.test(e)||ze.test(e)||Y.test(e),parse:e=>B.test(e)?B.parse(e):Y.test(e)?Y.parse(e):ze.parse(e),transform:e=>ne(e)?e:e.hasOwnProperty("red")?B.transform(e):Y.transform(e)},He="${c}",et="${n}";function mn(e){var n,r,i,a;return isNaN(e)&&ne(e)&&((r=(n=e.match(pe))===null||n===void 0?void 0:n.length)!==null&&r!==void 0?r:0)+((a=(i=e.match(we))===null||i===void 0?void 0:i.length)!==null&&a!==void 0?a:0)>0}function tt(e){typeof e=="number"&&(e=`${e}`);const n=[];let r=0;const i=e.match(we);i&&(r=i.length,e=e.replace(we,He),n.push(...i.map(me.parse)));const a=e.match(pe);return a&&(e=e.replace(pe,et),n.push(...a.map(he.parse))),{values:n,numColors:r,tokenised:e}}function nt(e){return tt(e).values}function lt(e){const{values:n,numColors:r,tokenised:i}=tt(e),a=n.length;return o=>{let u=i;for(let s=0;s<a;s++)u=u.replace(s<r?He:et,s<r?me.transform(o[s]):te(o[s]));return u}}const xn=e=>typeof e=="number"?0:e;function bn(e){const n=nt(e);return lt(e)(n.map(xn))}const rt={test:mn,parse:nt,createTransformer:lt,getAnimatableNone:bn};function Pe(e,n,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(n-e)*6*r:r<1/2?n:r<2/3?e+(n-e)*(2/3-r)*6:e}function it({hue:e,saturation:n,lightness:r,alpha:i}){e/=360,n/=100,r/=100;let a=0,o=0,u=0;if(!n)a=o=u=r;else{const s=r<.5?r*(1+n):r+n-r*n,p=2*r-s;a=Pe(p,s,e+1/3),o=Pe(p,s,e),u=Pe(p,s,e-1/3)}return{red:Math.round(a*255),green:Math.round(o*255),blue:Math.round(u*255),alpha:i}}const gn=(e,n,r)=>{const i=e*e,a=n*n;return Math.sqrt(Math.max(0,r*(a-i)+i))},yn=[ze,B,Y],at=e=>yn.find(n=>n.test(e)),st=(e,n)=>{let r=at(e),i=at(n),a=r.parse(e),o=i.parse(n);r===Y&&(a=it(a),r=B),i===Y&&(o=it(o),i=B);const u=Object.assign({},a);return s=>{for(const p in u)p!=="alpha"&&(u[p]=gn(a[p],o[p],s));return u.alpha=ve(a.alpha,o.alpha,s),r.transform(u)}},Sn=e=>typeof e=="number",Cn=(e,n)=>r=>n(e(r)),ot=(...e)=>e.reduce(Cn);function ut(e,n){return Sn(e)?r=>ve(e,n,r):me.test(e)?st(e,n):ft(e,n)}const dt=(e,n)=>{const r=[...e],i=r.length,a=e.map((o,u)=>ut(o,n[u]));return o=>{for(let u=0;u<i;u++)r[u]=a[u](o);return r}},vn=(e,n)=>{const r=Object.assign(Object.assign({},e),n),i={};for(const a in r)e[a]!==void 0&&n[a]!==void 0&&(i[a]=ut(e[a],n[a]));return a=>{for(const o in i)r[o]=i[o](a);return r}};function ct(e){const n=rt.parse(e),r=n.length;let i=0,a=0,o=0;for(let u=0;u<r;u++)i||typeof n[u]=="number"?i++:n[u].hue!==void 0?o++:a++;return{parsed:n,numNumbers:i,numRGB:a,numHSL:o}}const ft=(e,n)=>{const r=rt.createTransformer(n),i=ct(e),a=ct(n);return i.numHSL===a.numHSL&&i.numRGB===a.numRGB&&i.numNumbers>=a.numNumbers?ot(dt(i.parsed,a.parsed),r):u=>`${u>0?n:e}`},wn=(e,n)=>r=>ve(e,n,r);function Tn(e){if(typeof e=="number")return wn;if(typeof e=="string")return me.test(e)?st:ft;if(Array.isArray(e))return dt;if(typeof e=="object")return vn}function _n(e,n,r){const i=[],a=r||Tn(e[0]),o=e.length-1;for(let u=0;u<o;u++){let s=a(e[u],e[u+1]);if(n){const p=Array.isArray(n)?n[u]:n;s=ot(p,s)}i.push(s)}return i}function zn([e,n],[r]){return i=>r(Je(e,n,i))}function Pn(e,n){const r=e.length,i=r-1;return a=>{let o=0,u=!1;if(a<=e[0]?u=!0:a>=e[i]&&(o=i-1,u=!0),!u){let p=1;for(;p<r&&!(e[p]>a||p===i);p++);o=p-1}const s=Je(e[o],e[o+1],a);return n[o](s)}}function An(e,n,{clamp:r=!0,ease:i,mixer:a}={}){const o=e.length;Ye(o===n.length),Ye(!i||!Array.isArray(i)||i.length===o-1),e[0]>e[o-1]&&(e=[].concat(e),n=[].concat(n),e.reverse(),n.reverse());const u=_n(n,i,a),s=o===2?zn(e,u):Pn(e,u);return r?p=>s(cn(e[0],e[o-1],p)):s}class Dn{constructor({valueRange:n,colorRange:r}){Dt(this,"mapper");this.mapper=An(n,r)}getColor(n){return this.mapper(n)}}function kn(e,n){return e.type==="static"?e.staticColor:e.type==="continuous"?new Dn(e).getColor(n):"black"}function qn(e){return e===null?"null":e===void 0?"undefined":Array.isArray(e)?`Array(${e.length})`:e.toString()}function Mn(e,n){const r={};return e.forEach(({name:i,color:a,data_field:o,aggregation:u,size:s,weight:p,formatter:m})=>{const d=dn(n,o,u);let h="";["string","number"].includes(typeof d)?h=oe.default(d).format(m):h=qn(d),r[i]=t(l.Text,{sx:{fontSize:s,display:"inline"},color:kn(a,d),weight:p,children:h})}),r}function In(e){return e.split(" ").map(n=>f(D,{children:[n,"\xA0"]}))}function Gn(e){const r=e.replaceAll("<br />","<br/>").replaceAll(`
|
|
10
|
-
`,"<br/>").split("<br/>");return
|
|
11
|
-
{percentage|{d}%}`,minMargin:5,edgeDistance:10,lineHeight:15,rich:{percentage:{color:"#999"}},margin:20},labelLine:{length:15,length2:0,maxSurfaceAngle:80,showAbove:!0},top:10,bottom:10,left:10,right:10}};function jn({conf:e,data:n,width:r,height:i}){const{label_field:a="name",value_field:o="value",...u}=e,s=c.default.useMemo(()=>n.map(d=>({name:d[a],value:Number(d[o])})),[n,a,o]),p=c.default.useMemo(()=>({series:{labelLayout:function(d){const h=d.labelRect.x<r/2,x=d.labelLinePoints;return x[2][0]=h?d.labelRect.x:d.labelRect.x+d.labelRect.width,{labelLinePoints:x}}}}),[r]),m=C.default.merge({},Qn,p,u,{series:{data:s}});return t(se.default,{echarts:V,option:m,style:{width:r,height:i}})}function Wn({conf:{template:e,variables:n,align:r},data:i}){const a=c.default.useMemo(()=>De(e,n,i),[e,n,i]);return t(l.Text,{align:r,children:Object.values(a).map(o=>o)})}function Un({conf:e,width:n,height:r}){return!n||!r?null:t(Se.default,{readOnly:!0,value:e.content,onChange:C.default.noop,sx:{border:"none"}})}function ht(e,n,r,i){const a={width:e,height:n,data:r,conf:i.conf};switch(i.type){case"sunburst":return t(rn,{...a});case"cartesian":return t(On,{...a});case"table":return t(Rn,{...a});case"stats":return t(Wn,{...a});case"rich-text":return t(Un,{...a});case"bar-3d":return t(Nn,{...a});case"pie":return t(jn,{...a});default:return null}}const Yn=["rich-text"];function mt({viz:e,data:n,loading:r}){const{ref:i,width:a,height:o}=A.useElementSize(),u=c.default.useMemo(()=>!Array.isArray(n)||n.length===0,[n]);return Yn.includes(e.type)?t("div",{className:"viz-root",ref:i,children:t(fe,{children:ht(a,o,n,e)})}):r?t("div",{className:"viz-root",ref:i,children:t(l.LoadingOverlay,{visible:r,exitTransitionDuration:0})}):f("div",{className:"viz-root",ref:i,children:[u&&t(l.Text,{color:"gray",align:"center",children:"nothing to show"}),!u&&t(fe,{children:ht(a,o,n,e)})]})}function Jn({}){const{data:e,loading:n,viz:r}=c.default.useContext(G);return t(mt,{viz:r,data:e,loading:n})}function Xn({label:e,required:n,value:r,onChange:i,data:a,sx:o},u){const s=c.default.useMemo(()=>!Array.isArray(a)||a.length===0?[]:Object.keys(a[0]).map(m=>({label:m,value:m})),[a]);return t(l.Select,{ref:u,label:e,data:s,value:r,onChange:i,required:n,sx:o})}const k=c.default.forwardRef(Xn);function Kn({conf:e,setConf:n,data:r}){const i=C.default.assign({},{x_axis_data_key:"x",y_axis_data_key:"y",z_axis_data_key:"z",xAxis3D:{type:"value",name:"X Axis Name"},yAxis3D:{type:"value",name:"Y Axis Name"},zAxis3D:{type:"value",name:"Z Axis Name"}},e),{control:a,handleSubmit:o,formState:u}=b.useForm({defaultValues:i});return t(l.Stack,{mt:"md",spacing:"xs",children:f("form",{onSubmit:o(n),children:[t(l.Text,{children:"X Axis"}),f(l.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[t(b.Controller,{name:"x_axis_data_key",control:a,render:({field:s})=>t(k,{label:"Data Field",required:!0,data:r,...s})}),t(b.Controller,{name:"xAxis3D.name",control:a,render:({field:s})=>t(l.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...s})})]}),t(l.Text,{mt:"lg",children:"Y Axis"}),f(l.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[t(b.Controller,{name:"y_axis_data_key",control:a,render:({field:s})=>t(k,{label:"Data Field",required:!0,data:r,...s})}),t(b.Controller,{name:"yAxis3D.name",control:a,render:({field:s})=>t(l.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...s})})]}),t(l.Text,{mt:"lg",children:"Z Axis"}),f(l.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[t(b.Controller,{name:"z_axis_data_key",control:a,render:({field:s})=>t(k,{label:"Data Field",required:!0,data:r,...s})}),t(b.Controller,{name:"zAxis3D.name",control:a,render:({field:s})=>t(l.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...s})})]}),t(l.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:f(l.Button,{color:"blue",type:"submit",children:[t(g.DeviceFloppy,{size:20}),t(l.Text,{ml:"md",children:"Save"})]})})]})})}function Zn({value:e,onChange:n},r){const i=l.useMantineTheme(),a=c.default.useMemo(()=>Object.entries(i.colors).map(([u,s])=>({label:u,value:s[6]})),[i]),o=c.default.useMemo(()=>a.some(u=>u.value===e),[e,a]);return f(l.Group,{position:"apart",spacing:4,children:[t(l.TextInput,{placeholder:"Set any color",value:o?"":e,onChange:u=>n(u.currentTarget.value),rightSection:t(l.ColorSwatch,{color:o?"transparent":e,radius:4}),variant:o?"filled":"default",sx:{maxWidth:"46%",flexGrow:1}}),t(l.Text,{sx:{flexGrow:0},children:"or"}),t(l.Select,{data:a,value:e,onChange:n,variant:o?"default":"filled",placeholder:"Pick a theme color",icon:t(l.ColorSwatch,{color:o?e:"transparent",radius:4}),sx:{maxWidth:"46%",flexGrow:1}})]})}const ke=c.default.forwardRef(Zn);function Hn({control:e,index:n}){return f(l.Group,{grow:!0,align:"top",children:[t(b.Controller,{name:`series.${n}.stack`,control:e,render:({field:r})=>t(l.TextInput,{label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1},...r})}),t(b.Controller,{name:`series.${n}.barWidth`,control:e,render:({field:r})=>t(l.TextInput,{label:"Bar Width",sx:{flexGrow:1},...r})})]})}const el=[{label:"off",value:"false"},{label:"start",value:"start"},{label:"middle",value:"middle"},{label:"end",value:"end"}];function tl({control:e,index:n}){return f(l.Group,{grow:!0,align:"center",children:[t(b.Controller,{name:`series.${n}.step`,control:e,render:({field:r})=>t(l.Select,{label:"Step",data:el,sx:{flexGrow:1,maxWidth:"48%"},...r,value:String(r.value),onChange:i=>{const a=i==="false"?!1:i;r.onChange(a)}})}),t(b.Controller,{name:`series.${n}.smooth`,control:e,render:({field:r})=>t(l.Box,{sx:{flexGrow:1},children:t(l.Switch,{label:"Smooth Line",checked:r.value,onChange:i=>r.onChange(i.currentTarget.checked)})})})]})}const nl=Array.from(new Array(9),(e,n)=>({label:String(n+1),value:n+1}));function ll({control:e,index:n}){return t(l.Group,{grow:!0,align:"center",children:t(b.Controller,{name:`series.${n}.symbolSize`,control:e,render:({field:r})=>f(l.Stack,{sx:{flexGrow:1},pb:16,spacing:4,children:[t(l.Text,{size:"sm",children:"Size"}),t(l.Slider,{min:1,max:10,marks:nl,...r,sx:{width:"100%"}})]})})})}const rl=[{label:"off",value:""},{label:"top",value:"top"},{label:"left",value:"left"},{label:"right",value:"right"},{label:"bottom",value:"bottom"},{label:"inside",value:"inside"},{label:"insideLeft",value:"insideLeft"},{label:"insideRight",value:"insideRight"},{label:"insideTop",value:"insideTop"},{label:"insideBottom",value:"insideBottom"},{label:"insideTopLeft",value:"insideTopLeft"},{label:"insideBottomLeft",value:"insideBottomLeft"},{label:"insideTopRight",value:"insideTopRight"},{label:"insideBottomRight",value:"insideBottomRight"}];function il({control:e,index:n,remove:r,seriesItem:i,yAxisOptions:a,data:o}){const u=i.type;return f(l.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t(l.Stack,{children:t(b.Controller,{name:`series.${n}.type`,control:e,render:({field:s})=>t(l.SegmentedControl,{data:[{label:"Line",value:"line"},{label:"Bar",value:"bar"},{label:"Scatter",value:"scatter"},{label:"Boxplot",value:"boxplot",disabled:!0}],...s})})}),t(b.Controller,{name:`series.${n}.name`,control:e,render:({field:s})=>t(l.TextInput,{label:"Name",required:!0,sx:{flex:1},...s})}),f(l.Group,{grow:!0,noWrap:!0,children:[t(b.Controller,{name:`series.${n}.y_axis_data_key`,control:e,render:({field:s})=>t(k,{label:"Value Field",required:!0,data:o,sx:{flex:1},...s})}),t(b.Controller,{name:`series.${n}.yAxisIndex`,control:e,render:({field:{value:s,onChange:p,...m}})=>{var d;return t(l.Select,{label:"Y Axis",data:a,disabled:a.length===0,...m,value:(d=s==null?void 0:s.toString())!=null?d:"",onChange:h=>{if(!h){p(0);return}p(Number(h))},sx:{flex:1}})}})]}),u==="line"&&t(tl,{index:n,control:e}),u==="bar"&&t(Hn,{index:n,control:e}),u==="scatter"&&t(ll,{index:n,control:e}),t(b.Controller,{name:`series.${n}.label_position`,control:e,render:({field:s})=>t(l.Select,{label:"Label Position",data:rl,...s})}),f(l.Stack,{spacing:4,children:[t(l.Text,{size:"sm",children:"Color"}),t(b.Controller,{name:`series.${n}.color`,control:e,render:({field:s})=>t(ke,{...s})})]}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r(n),sx:{position:"absolute",top:15,right:5},children:t(g.Trash,{size:16})})]},n)}function al({control:e,watch:n,getValues:r,data:i}){const{fields:a,append:o,remove:u}=b.useFieldArray({control:e,name:"series"}),s=n("series"),p=a.map((h,x)=>({...h,...s[x]})),m=()=>o({type:"bar",name:A.randomId(),showSymbol:!1,symbolSize:5,y_axis_data_key:"value",yAxisIndex:0,label_position:"top",stack:"",color:"#000",step:!1,smooth:!1}),d=c.default.useMemo(()=>r().y_axes.map(({name:h},x)=>({label:h,value:x.toString()})),[r]);return f(l.Stack,{children:[p.map((h,x)=>t(il,{control:e,index:x,remove:u,seriesItem:h,yAxisOptions:d,data:i})),t(l.Group,{position:"center",mt:"xs",children:t(l.Button,{onClick:m,children:"Add a Series"})})]})}const xt={mantissa:0,output:"number"};function sl({value:e,onChange:n},r){const i=u=>{n({...e,output:u})},a=u=>{const s=u===0?!1:e.trimMantissa;n({...e,mantissa:u,trimMantissa:s})},o=u=>{n({...e,trimMantissa:u.currentTarget.checked})};return t(l.Stack,{ref:r,children:f(l.Group,{grow:!0,children:[t(l.Select,{label:"Format",data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:e.output,onChange:i}),t(l.NumberInput,{label:"Mantissa",defaultValue:0,min:0,step:1,max:4,value:e.mantissa,onChange:a}),t(l.Switch,{label:"Trim mantissa",checked:e.trimMantissa,onChange:o,disabled:e.mantissa===0})]})})}const bt=c.default.forwardRef(sl);function ol({control:e,index:n,remove:r}){return f(l.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t(l.Group,{grow:!0,noWrap:!0,children:t(b.Controller,{name:`y_axes.${n}.name`,control:e,render:({field:i})=>t(l.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})})}),t(l.Stack,{children:t(b.Controller,{name:`y_axes.${n}.label_formatter`,control:e,render:({field:i})=>t(bt,{...i})})}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r(n),sx:{position:"absolute",top:15,right:5},disabled:n===0,children:t(g.Trash,{size:16})})]},n)}function ul({control:e,watch:n}){const{fields:r,append:i,remove:a}=b.useFieldArray({control:e,name:"y_axes"}),o=n("y_axes"),u=r.map((p,m)=>({...p,...o[m]})),s=()=>i({name:"",label_formatter:xt});return f(l.Stack,{children:[u.map((p,m)=>t(ol,{control:e,index:m,remove:a})),t(l.Group,{position:"center",mt:"xs",children:t(l.Button,{onClick:s,children:"Add a Y Axis"})})]})}const dl=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}];function cl({control:e,regressionItem:n,index:r,remove:i,yAxisOptions:a,data:o}){const u=n.transform.config.method;return f(l.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t(b.Controller,{name:`regressions.${r}.name`,control:e,render:({field:s})=>t(l.TextInput,{label:"Name",required:!0,sx:{flex:1},...s})}),f(l.Group,{grow:!0,noWrap:!0,children:[t(b.Controller,{name:`regressions.${r}.y_axis_data_key`,control:e,render:({field:s})=>t(k,{label:"Value Field",required:!0,data:o,sx:{flex:1},...s})}),t(b.Controller,{name:`regressions.${r}.plot.yAxisIndex`,control:e,render:({field:{value:s,onChange:p,...m}})=>{var d;return t(l.Select,{label:"Y Axis",data:a,disabled:a.length===0,...m,value:(d=s==null?void 0:s.toString())!=null?d:"",onChange:h=>{if(!h){p(0);return}p(Number(h))},sx:{flex:1}})}})]}),f(l.Group,{grow:!0,noWrap:!0,children:[t(b.Controller,{name:`regressions.${r}.transform.config.method`,control:e,render:({field:s})=>t(l.Select,{label:"Method",data:dl,sx:{flex:1},...s})}),u==="polynomial"&&t(b.Controller,{name:`regressions.${r}.transform.config.order`,control:e,render:({field:s})=>t(l.NumberInput,{label:"Order",sx:{flex:1},...s})})]}),f(l.Stack,{spacing:4,children:[t(l.Text,{size:"sm",children:"Color"}),t(b.Controller,{name:`regressions.${r}.plot.color`,control:e,render:({field:s})=>t(ke,{...s})})]}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>i(r),sx:{position:"absolute",top:15,right:5},children:t(g.Trash,{size:16})})]},r)}function fl({control:e,watch:n,getValues:r,data:i}){const{fields:a,append:o,remove:u}=b.useFieldArray({control:e,name:"regressions"}),s=n("regressions"),p=a.map((h,x)=>({...h,...s[x]})),m=c.default.useMemo(()=>r().y_axes.map(({name:h},x)=>({label:h,value:x.toString()})),[r]),d=()=>o({transform:{type:"ecStat:regression",config:{method:"linear",order:1,formulaOn:"end"}},name:"",y_axis_data_key:"",plot:{type:"line",yAxisIndex:0,color:"#666666"}});return f(l.Stack,{children:[p.map((h,x)=>t(cl,{regressionItem:h,control:e,index:x,remove:u,yAxisOptions:m,data:i})),t(l.Group,{position:"center",mt:"xs",children:t(l.Button,{onClick:d,children:"Add a Regression Line"})})]})}const pl=[{label:"None",value:"none"},{label:"Sum",value:"sum"},{label:"Mean",value:"mean"},{label:"Median",value:"median"},{label:"Max",value:"max"},{label:"Min",value:"min"}];function hl({label:e,value:n,onChange:r},i){return t(l.Select,{ref:i,label:e,data:pl,value:n,onChange:r})}const ml=c.default.forwardRef(hl);function xl({label:e,value:n,onChange:r},i){const[a,o]=c.default.useState(Array.isArray(n)?[...n]:[]),u=c.default.useCallback(()=>{o(x=>[...x,""])},[o]),s=c.default.useCallback(x=>{o(y=>(y.splice(x,1),[...y]))},[o]),p=c.default.useMemo(()=>!C.default.isEqual(a,n),[a,n]),m=()=>{r(a.map(x=>x.toString()))},d=l.useMantineTheme(),h=c.default.useMemo(()=>Object.entries(d.colors).map(([x,y])=>y[6]),[d]);return f(D,{children:[f(l.Group,{position:"left",ref:i,children:[t(l.Text,{children:e}),t(l.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!p,onClick:m,children:t(g.DeviceFloppy,{size:20})})]}),f(l.Group,{children:[a.map((x,y)=>t(l.ColorInput,{value:x,onChange:v=>{o(w=>(w.splice(y,1,v),[...w]))},swatches:h,rightSection:t(l.ActionIcon,{onClick:()=>s(y),color:"red",children:t(g.Trash,{size:14})}),sx:{width:"45%"}})),t(l.ActionIcon,{onClick:u,color:"blue",variant:"outline",children:t(g.PlaylistAdd,{size:20})})]})]})}const bl=c.default.forwardRef(xl),xe=[{label:"initial",value:0},{label:"500",value:25},{label:"700",value:50},{label:"semibold",value:75},{label:"bold",value:100}];function gl({label:e,value:n,onChange:r},i){var u,s;const[a,o]=c.default.useState((s=(u=xe.find(p=>p.label===n))==null?void 0:u.value)!=null?s:xe[0].value);return c.default.useEffect(()=>{const p=xe.find(m=>m.value===a);p&&r(p.label)},[a]),f(l.Stack,{spacing:0,mt:"sm",mb:"lg",children:[t(l.Text,{size:"sm",children:e}),t(l.Slider,{label:null,marks:xe,value:a,onChange:o,step:25,placeholder:"Pick a font size",ref:i})]})}const yl=c.default.forwardRef(gl);function Sl({label:e,value:n,onChange:r},i){const[a,o]=c.default.useState(Array.isArray(n)?[...n]:[]),u=c.default.useCallback(()=>{o(d=>[...d,""])},[o]),s=c.default.useCallback(d=>{o(h=>(h.splice(d,1),[...h]))},[o]),p=c.default.useMemo(()=>!C.default.isEqual(a,n),[a,n]),m=()=>{r(a.map(d=>d.toString()))};return f(D,{children:[f(l.Group,{position:"left",ref:i,children:[t(l.Text,{children:e}),t(l.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!p,onClick:m,children:t(g.DeviceFloppy,{size:20})})]}),f(l.Group,{children:[a.map((d,h)=>t(l.TextInput,{value:d,onChange:x=>{const y=x.currentTarget.value;o(v=>(v.splice(h,1,y),[...v]))},rightSection:t(l.ActionIcon,{onClick:()=>s(h),color:"red",children:t(g.Trash,{size:14})}),sx:{width:"45%"}})),t(l.ActionIcon,{onClick:u,color:"blue",variant:"outline",children:t(g.PlaylistAdd,{size:20})})]})]})}const Cl=c.default.forwardRef(Sl);function gt(){return{name:A.randomId(),size:"20px",weight:"bold",color:{type:"static",staticColor:"blue"},data_field:"",aggregation:"none",formatter:{output:"number",mantissa:0}}}const qe=c.default.forwardRef(function({value:n,onChange:r,...i},a){return t(l.TextInput,{ref:a,value:n,onChange:r,...i})}),yt=c.default.forwardRef(function({value:n,onChange:r,data:i},a){const o=n.color.type,u=(s,p)=>{const m=C.default.cloneDeep(n);C.default.set(m,s,p),r(m)};return f(l.Box,{px:"sm",py:"md",children:[t(l.Text,{weight:"bold",pb:0,children:n.name}),t(l.Divider,{my:"xs",label:"Data",labelPosition:"center"}),f(l.Group,{grow:!0,noWrap:!0,children:[t(l.TextInput,{label:"Name",required:!0,value:n.name,onChange:s=>u("name",s.currentTarget.value)}),t(k,{label:"Data Field",required:!0,data:i,value:n.data_field,onChange:s=>u("data_field",s)}),t(ml,{label:"Aggregation",value:n.aggregation,onChange:s=>u("aggregation",s)})]}),t(bt,{value:n.formatter,onChange:s=>u("formatter",s)}),t(l.Divider,{my:"xs",label:"Typography",labelPosition:"center"}),t(l.Stack,{children:t(l.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",sx:{flex:1},value:n.size,onChange:s=>u("size",s.currentTarget.value)})}),t(l.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:t(yl,{label:"Font Weight",value:n.weight,onChange:s=>u("weight",s)})}),t(l.Divider,{my:"xs",label:"Style",labelPosition:"center"}),f(l.Stack,{children:[t(l.Select,{label:"Color Type",data:[{label:"Static Color",value:"static"},{label:"Continuous Color",value:"continuous"}],value:n.color.type,onChange:s=>u("color.type",s)}),o==="static"&&t(ke,{value:n.color.staticColor,onChange:s=>u("color.staticColor",s)}),o==="continuous"&&f(D,{children:[t(Cl,{label:"Value Range",value:n.color.valueRange,onChange:s=>u("color.valueRange",s)}),t(bl,{label:"Color Range",value:n.color.colorRange,onChange:s=>u("color.colorRange",s)})]})]})]})});function vl({control:e,index:n,remove:r,data:i}){return f(l.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[t(b.Controller,{name:`stats.variables.${n}`,control:e,render:({field:a})=>t(yt,{data:i,...a})}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r(n),sx:{position:"absolute",top:15,right:5},children:t(g.Trash,{size:16})})]},n)}function wl({control:e,watch:n,data:r}){const{fields:i,append:a,remove:o}=b.useFieldArray({control:e,name:"stats.variables"});n("stats.templates");const u=n("stats.variables"),s=i.map((m,d)=>({...m,...u[d]})),p=()=>a(gt());return f(l.Stack,{children:[f(l.Stack,{spacing:0,children:[t(b.Controller,{name:"stats.templates.top",control:e,render:({field:m})=>t(qe,{label:"Template for stats above the chart",py:"md",sx:{flexGrow:1},...m})}),t(b.Controller,{name:"stats.templates.bottom",control:e,render:({field:m})=>t(qe,{label:"Template for stats under the chart",py:"md",sx:{flexGrow:1},...m})})]}),s.map((m,d)=>t(vl,{control:e,index:d,remove:o,data:r})),t(l.Group,{position:"center",mt:"xs",children:t(l.Button,{onClick:p,children:"Add a Variable"})})]})}function Tl(e){function n({type:r,name:i,showSymbol:a,symbolSize:o=5,y_axis_data_key:u="value",yAxisIndex:s=0,label_position:p="top",stack:m="1",color:d="black",barWidth:h="30",smooth:x=!1,step:y=!1}){return{type:r,name:i,showSymbol:a,symbolSize:o,y_axis_data_key:u,yAxisIndex:s,label_position:p,stack:m,color:d,barWidth:h,smooth:x,step:y}}return e.map(n)}function _l(e){return e||{templates:{top:"",bottom:""},variables:[]}}function zl({conf:e,setConf:n,data:r}){const{series:i,y_axes:a,...o}=e,u=c.default.useMemo(()=>{const{x_axis_name:y="",stats:v,...w}=o;return{series:Tl(i!=null?i:[]),x_axis_name:y,y_axes:a!=null?a:[{name:"Y Axis",label_formatter:xt}],stats:_l(v),...w}},[i,o]);c.default.useEffect(()=>{!C.default.isEqual(e,u)&&n(u)},[e,u]);const{control:s,handleSubmit:p,watch:m,getValues:d}=b.useForm({defaultValues:u});m(["x_axis_data_key","x_axis_name"]);const h=d(),x=c.default.useMemo(()=>!C.default.isEqual(h,e),[h,e]);return t(l.Stack,{mt:"md",spacing:"xs",children:f("form",{onSubmit:p(n),children:[f(l.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[t(l.Text,{children:"Chart Config"}),t(l.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!x,children:t(g.DeviceFloppy,{size:20})})]}),f(l.Accordion,{multiple:!0,value:["X Axis","Y Axes"],children:[t(l.Accordion.Item,{value:"X Axis",children:f(l.Group,{grow:!0,noWrap:!0,children:[t(b.Controller,{name:"x_axis_data_key",control:s,render:({field:y})=>t(k,{label:"X Axis Data Field",required:!0,data:r,sx:{flex:1},...y})}),t(b.Controller,{name:"x_axis_name",control:s,render:({field:y})=>t(l.TextInput,{label:"X Axis Name",sx:{flex:1},...y})})]})}),t(l.Accordion.Item,{value:"Y Axes",children:t(ul,{control:s,watch:m})}),t(l.Accordion.Item,{value:"Series",children:t(al,{control:s,watch:m,getValues:d,data:r})}),t(l.Accordion.Item,{value:"Regression Lines",children:t(fl,{control:s,watch:m,getValues:d,data:r})}),t(l.Accordion.Item,{value:"Stats",children:t(wl,{control:s,watch:m,data:r})})]})]})})}function Pl({conf:{label_field:e,value_field:n},setConf:r,data:i}){const a=ee.useForm({initialValues:{label_field:e,value_field:n}});return t(l.Stack,{mt:"md",spacing:"xs",children:f("form",{onSubmit:a.onSubmit(r),children:[f(l.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[t(l.Text,{children:"Pie Config"}),t(l.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:t(g.DeviceFloppy,{size:20})})]}),f(l.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[t(k,{label:"Label Field",required:!0,data:i,...a.getInputProps("label_field")}),t(k,{label:"Value Field",required:!0,data:i,...a.getInputProps("value_field")})]})]})})}function Al({conf:e,setConf:n}){const r=c.default.useMemo(()=>{const{content:m=""}=e;return{content:m}},[e]);c.default.useEffect(()=>{!C.default.isEqual(e,r)&&n(r)},[e,r]);const{control:i,handleSubmit:a,watch:o,getValues:u}=b.useForm({defaultValues:r});o("content");const s=u(),p=c.default.useMemo(()=>!C.default.isEqual(s,e),[s,e]);return t(l.Stack,{mt:"md",spacing:"xs",children:f("form",{onSubmit:a(n),children:[f(l.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[t(l.Text,{children:"Content"}),t(l.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!p,children:t(g.DeviceFloppy,{size:20})})]}),t(b.Controller,{name:"content",control:i,render:({field:m})=>t(Se.default,{sx:{flex:1},...m})})]})})}function Dl(e){if("variables"in e)return e;const{align:n,size:r,weight:i,color:a,content:{prefix:o="",data_field:u="value",formatter:s={output:"number",mantissa:0},postfix:p=""}={}}=e;return{align:n,template:`${o} \${value} ${p}`,variables:[{name:"value",data_field:u,aggregation:"none",formatter:s,color:a,weight:i,size:r}]}}function kl({control:e,index:n,remove:r,data:i}){return f(l.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[t(b.Controller,{name:`variables.${n}`,control:e,render:({field:a})=>t(yt,{data:i,...a})}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r(n),sx:{position:"absolute",top:15,right:5},children:t(g.Trash,{size:16})})]},n)}function ql({control:e,watch:n,data:r}){const{fields:i,append:a,remove:o}=b.useFieldArray({control:e,name:"variables"}),u=n("variables"),s=i.map((m,d)=>({...m,...u[d]})),p=()=>a(gt());return f(l.Stack,{children:[s.map((m,d)=>t(kl,{control:e,index:d,remove:o,data:r})),t(l.Group,{position:"center",mt:"xs",children:t(l.Button,{onClick:p,children:"Add a Variable"})})]})}function Ml(){return{align:"center",template:"The variable ${value} is defined in Variables section",variables:[{name:"value",size:"20px",weight:"bold",color:{type:"static",staticColor:"blue"},data_field:"",aggregation:"none",formatter:{output:"number",mantissa:0}}]}}function Il({conf:e,setConf:n,data:r}){const i=c.default.useMemo(()=>{const{align:d,template:h="",variables:x=[]}=Dl(e);return d?{variables:x,template:h,align:d}:Ml()},[e]);c.default.useEffect(()=>{!C.default.isEqual(e,i)&&n(i)},[e,i]);const{control:a,handleSubmit:o,watch:u,getValues:s}=b.useForm({defaultValues:i});u(["variables","template"]);const p=s(),m=c.default.useMemo(()=>!C.default.isEqual(p,e),[p,e]);return t(l.Stack,{mt:"md",spacing:"xs",children:f("form",{onSubmit:o(n),children:[f(l.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[t(l.Text,{weight:500,children:"Stats Configurations"}),t(l.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!m,children:t(g.DeviceFloppy,{size:20})})]}),t(b.Controller,{name:"template",control:a,render:({field:d})=>t(qe,{label:"Template",py:"md",sx:{flexGrow:1},...d})}),t(l.Text,{pb:"sm",pt:"md",size:"sm",children:"Variables"}),t(ql,{control:a,watch:u,data:r})]})})}function Gl({conf:{label_field:e,value_field:n},setConf:r,data:i}){const a=ee.useForm({initialValues:{label_field:e,value_field:n}});return t(l.Stack,{mt:"md",spacing:"xs",children:f("form",{onSubmit:a.onSubmit(r),children:[f(l.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[t(l.Text,{children:"Sunburst Config"}),t(l.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:t(g.DeviceFloppy,{size:20})})]}),f(l.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[t(k,{label:"Label Field",required:!0,data:i,...a.getInputProps("label_field")}),t(k,{label:"Value Field",required:!0,data:i,...a.getInputProps("value_field")})]})]})})}const Ll=Object.values(R).map(e=>({label:e,value:e}));function Ol({label:e,value:n,onChange:r,sx:i}){return t(l.Select,{label:e,data:Ll,value:n,onChange:r,sx:i})}function Fl({conf:{columns:e,...n},setConf:r,data:i}){const a=ee.useForm({initialValues:{id_field:"id",use_raw_columns:!0,columns:e!=null?e:[],fontSize:"sm",horizontalSpacing:"sm",verticalSpacing:"sm",striped:!1,highlightOnHover:!1,...n}}),o=()=>a.insertListItem("columns",{label:A.randomId(),value_field:"value",value_type:R.string});return t(l.Stack,{mt:"md",spacing:"xs",children:f("form",{onSubmit:a.onSubmit(r),children:[f(l.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[t(l.Text,{children:"Table Config"}),t(l.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:t(g.DeviceFloppy,{size:20})})]}),f(l.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[t(k,{label:"ID Field",required:!0,data:i,...a.getInputProps("id_field")}),f(l.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:[t(l.TextInput,{label:"Horizontal Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...a.getInputProps("horizontalSpacing")}),t(l.TextInput,{label:"Vertical Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...a.getInputProps("verticalSpacing")})]}),t(l.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:t(l.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...a.getInputProps("fontSize")})}),f(l.Stack,{children:[t(l.Text,{children:"Other"}),f(l.Group,{position:"apart",grow:!0,children:[t(l.Switch,{label:"Striped",...a.getInputProps("striped",{type:"checkbox"})}),t(l.Switch,{label:"Highlight on hover",...a.getInputProps("highlightOnHover",{type:"checkbox"})})]})]})]}),f(l.Stack,{mt:"xs",spacing:"xs",p:"md",mb:"xl",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[t(l.Switch,{label:"Use Original Data Columns",...a.getInputProps("use_raw_columns",{type:"checkbox"})}),!a.values.use_raw_columns&&f(l.Stack,{children:[t(l.Text,{mt:"xl",mb:0,children:"Custom Columns"}),a.values.columns.map((u,s)=>f(l.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[f(l.Group,{position:"apart",grow:!0,children:[t(l.TextInput,{label:"Label",required:!0,sx:{flex:1},...a.getInputProps(`columns.${s}.label`)}),t(k,{label:"Value Field",required:!0,data:i,...a.getInputProps(`columns.${s}.value_field`)}),t(Ol,{label:"Value Type",sx:{flex:1},...a.getInputProps(`columns.${s}.value_type`)})]}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>a.removeListItem("columns",s),sx:{position:"absolute",top:15,right:5},children:t(g.Trash,{size:16})})]},s)),t(l.Group,{position:"center",mt:"xs",children:t(l.Button,{onClick:o,children:"Add a Column"})})]})]}),t(l.Text,{weight:500,mb:"md",children:"Current Configuration:"}),t(X.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(a.values,null,2)})]})})}const Me=[{value:"stats",label:"Stats",Panel:Il},{value:"rich-text",label:"Rich Text",Panel:Al},{value:"table",label:"Table",Panel:Fl},{value:"sunburst",label:"Sunburst",Panel:Gl},{value:"bar-3d",label:"Bar Chart (3D)",Panel:Kn},{value:"cartesian",label:"Cartesian Chart",Panel:zl},{value:"pie",label:"Pie Chart",Panel:Pl}];function $l(){const{data:e,viz:n,setViz:r}=c.default.useContext(G),[i,a]=A.useInputState(n.type),o=n.type!==i,u=c.default.useCallback(()=>{!o||r(d=>({...d,type:i}))},[o,i]),s=d=>{r(h=>({...h,conf:d}))},p=d=>{try{s(JSON.parse(d))}catch(h){console.error(h)}},m=c.default.useMemo(()=>{var d;return(d=Me.find(h=>h.value===i))==null?void 0:d.Panel},[i,Me]);return f(D,{children:[t(l.Select,{label:"Visualization",value:i,onChange:a,data:Me,rightSection:t(l.ActionIcon,{disabled:!o,onClick:u,children:t(g.DeviceFloppy,{size:20})})}),m&&t(m,{conf:n.conf,setConf:s,data:e}),!m&&t(l.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(n.conf,null,2),onChange:p})]})}function Vl({}){return f(l.Group,{grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%"},children:[t(l.Stack,{sx:{width:"40%",flexShrink:0,flexGrow:0},children:t($l,{})}),t(l.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:t(Jn,{})})]})}function El({opened:e,close:n}){const{freezeLayout:r}=c.default.useContext(O),{data:i,loading:a,viz:o,title:u}=c.default.useContext(G);return c.default.useEffect(()=>{r(e)},[e]),t(l.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:n,title:u,trapFocus:!0,onDragStart:s=>{s.stopPropagation()},children:t(l.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 185px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%",padding:"16px"}},padding:"md",children:f(l.Tabs,{defaultValue:"Visualization",children:[f(l.Tabs.List,{children:[t(l.Tabs.Tab,{value:"Data",children:"Data"}),t(l.Tabs.Tab,{value:"Panel",children:"Panel"}),t(l.Tabs.Tab,{value:"Visualization",children:"Visualization"})]}),f(l.Tabs.Panel,{value:"Data",pt:"sm",children:[t(l.LoadingOverlay,{visible:a,exitTransitionDuration:0}),t(nn,{})]}),t(l.Tabs.Panel,{value:"Panel",pt:"sm",children:t(tn,{})}),t(l.Tabs.Panel,{value:"Visualization",pt:"sm",children:t(Vl,{})})]})})})}var Fr="";function Bl({}){const e=ye.useModals(),[n,r]=c.default.useState(!1),i=()=>r(!0),a=()=>r(!1),{id:o,title:u,refreshData:s}=c.default.useContext(G),{inEditMode:p}=c.default.useContext(O),{duplidatePanel:m,removePanelByID:d,viewPanelInFullScreen:h,inFullScreen:x}=c.default.useContext(ue),y=c.default.useCallback(()=>{m(o)},[m,o]),v=()=>e.openConfirmModal({title:"Delete this panel?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>d(o)}),w=c.default.useCallback(()=>{h(o)},[o,h]);return f(l.Box,{sx:{position:"relative"},children:[t(l.Box,{sx:{position:"absolute",left:0,top:0,height:28},children:t(We,{})}),t(l.Group,{grow:!0,position:"center",px:20,className:"panel-title-wrapper",sx:{flexGrow:1},children:f(l.Menu,{children:[t(l.Menu.Target,{children:t(l.Text,{lineClamp:1,weight:"bold",children:u})}),f(l.Menu.Dropdown,{children:[t(l.Menu.Item,{onClick:s,icon:t(g.Refresh,{size:14}),children:"Refresh"}),!x&&t(l.Menu.Item,{onClick:w,icon:t(g.ArrowsMaximize,{size:14}),children:"Full Screen"}),p&&f(D,{children:[t(l.Divider,{label:"Edit",labelPosition:"center"}),t(l.Menu.Item,{onClick:i,icon:t(g.Settings,{size:14}),children:"Settings"}),t(l.Menu.Item,{onClick:y,icon:t(g.Copy,{size:14}),children:"Duplicate"}),t(l.Menu.Item,{color:"red",onClick:v,icon:t(g.Trash,{size:14}),children:"Delete"})]})]})]})}),p&&t(El,{opened:n,close:a})]})}var $r="";function be({viz:e,queryID:n,title:r,description:i,update:a,layout:o,id:u}){const s=c.default.useContext(E),p=c.default.useContext(U),m=c.default.useContext(L),[d,h]=c.default.useState(r),[x,y]=c.default.useState(i),[v,w]=c.default.useState(n),[_,q]=c.default.useState(e),T=c.default.useMemo(()=>{if(!!v)return m.queries.find(ie=>ie.id===v)},[v,m.queries]);c.default.useEffect(()=>{a==null||a({id:u,layout:o,title:d,description:x,queryID:v,viz:_})},[d,x,T,_,u,o,v]);const{data:z=[],loading:K,refresh:Z}=J.useRequest(Be({context:s,definitions:m,filterValues:p,title:d,query:T}),{refreshDeps:[s,m,T,p]}),re=Z;return t(G.Provider,{value:{id:u,data:z,loading:K,title:d,setTitle:h,description:x,setDescription:y,queryID:v,setQueryID:w,viz:_,setViz:q,refreshData:re},children:f(l.Container,{className:"panel-root",children:[t(Bl,{}),t(mt,{viz:_,data:z,loading:K})]})})}var Vr="";const Rl=ge.WidthProvider($e.default);function St({panels:e,setPanels:n,className:r="layout",rowHeight:i=10,isDraggable:a,isResizable:o}){const u=c.default.useCallback(s=>{const p=new Map;s.forEach(({i:d,...h})=>{p.set(d,h)});const m=e.map(d=>({...d,layout:p.get(d.id)}));n(m)},[e,n]);return t(Rl,{onLayoutChange:u,className:`dashboard-layout ${r}`,rowHeight:i,isDraggable:a,isResizable:o,children:e.map(({id:s,...p},m)=>t("div",{"data-grid":p.layout,children:t(be,{id:s,...p,update:d=>{n(h=>(h.splice(m,1,d),[...h]))}})},s))})}function Ie(e,n){return f(l.Text,{size:"xs",sx:{svg:{verticalAlign:"bottom"}},children:[e," ",n]})}function Nl({mode:e,setMode:n}){return t(l.SegmentedControl,{size:"xs",value:e,onChange:n,data:[{label:Ie(t(g.PlayerPlay,{size:20}),"Use"),value:I.Use},{label:Ie(t(g.Resize,{size:20}),"Edit Layout"),value:I.Layout},{label:Ie(t(g.Paint,{size:20}),"Edit Content"),value:I.Edit}]})}const Ql=`
|
|
9
|
+
*/var nu=h.default,iu=Symbol.for("react.element"),au=Symbol.for("react.fragment"),ou=Object.prototype.hasOwnProperty,uu=nu.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,lu={key:!0,ref:!0,__self:!0,__source:!0};function zn(e,r,t){var n,i={},a=null,o=null;t!==void 0&&(a=""+t),r.key!==void 0&&(a=""+r.key),r.ref!==void 0&&(o=r.ref);for(n in r)ou.call(r,n)&&!lu.hasOwnProperty(n)&&(i[n]=r[n]);if(e&&e.defaultProps)for(n in r=e.defaultProps,r)i[n]===void 0&&(i[n]=r[n]);return{$$typeof:iu,type:e,key:a,ref:o,props:i,_owner:uu.current}}Xt.Fragment=au,Xt.jsx=zn,Xt.jsxs=zn,Jt.exports=Xt;const l=Jt.exports.jsx,b=Jt.exports.jsxs,Y=Jt.exports.Fragment;function Nn({}){const{freezeLayout:e}=h.default.useContext(be),[r,t]=h.default.useState(!1),{title:n,description:i}=h.default.useContext(se);return h.default.useEffect(()=>{e(r)},[r]),!i||i==="<p><br></p>"?null:b(Y,{children:[l(s.Modal,{opened:r,onClose:()=>t(!1),title:n,withCloseButton:!1,children:l(kr.default,{readOnly:!0,value:i,onChange:C.default.noop,sx:{border:"none"}})}),l(s.Tooltip,{label:"Click to see description",position:"top-start",children:l(s.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>t(a=>!a),sx:{verticalAlign:"baseline",cursor:"pointer"},children:l(_.InfoCircle,{size:20})})})]})}function su(){const{description:e,setDescription:r}=h.default.useContext(se),[t,n]=h.default.useState(e),i=e!==t,a=h.default.useCallback(()=>{!i||r(t)},[i,t]);return b(s.Stack,{sx:{flexGrow:1},children:[b(s.Group,{align:"end",children:[l(s.Text,{children:"Description"}),l(s.ActionIcon,{variant:"subtle",color:"blue",disabled:!i,onClick:a,children:l(_.DeviceFloppy,{size:20})})]}),l(En.RichTextEditor,{value:t,onChange:n,sx:{flexGrow:1},sticky:!0,p:"0"})]})}class Zt extends h.default.Component{constructor(r){super(r),this.state={error:null}}componentDidCatch(r){this.setState({error:r})}render(){var r;if(this.state.error){const t=()=>{this.setState({error:null})};return b(s.Box,{children:[l(s.Text,{size:"xs",children:(r=this.state.error)==null?void 0:r.message}),l(s.Button,{variant:"subtle",size:"xs",mx:"auto",compact:!0,sx:{display:"block"},onClick:t,children:"Retry"})]})}return this.props.children}}function cu(){const{title:e}=h.default.useContext(se);return l(Zt,{children:b(s.Stack,{mx:"auto",mt:"xl",p:"5px",spacing:5,sx:{width:"600px",height:"450px",background:"transparent",borderRadius:"5px",boxShadow:"0px 0px 10px 0px rgba(0,0,0,.2)"},children:[b(s.Group,{position:"apart",noWrap:!0,sx:{flexGrow:0,flexShrink:0},children:[l(s.Group,{children:l(Nn,{})}),l(s.Group,{grow:!0,position:"center",children:l(s.Text,{lineClamp:1,weight:"bold",children:e})}),l(s.Group,{position:"right",spacing:0,sx:{height:"28px"}})]}),l(s.Group,{sx:{background:"#eee",flexGrow:1}})]})})}function fu(){const{title:e,setTitle:r}=h.default.useContext(se),[t,n]=W.useInputState(e),i=e!==t,a=h.default.useCallback(()=>{!i||r(t)},[i,t]);return l(s.TextInput,{value:t,onChange:n,label:b(s.Group,{align:"end",children:[l(s.Text,{children:"Panel Title"}),l(s.ActionIcon,{variant:"subtle",color:"blue",disabled:!i,onClick:a,children:l(_.DeviceFloppy,{size:20})})]})})}function du({}){return b(s.Group,{grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%"},children:[b(s.Stack,{sx:{width:"40%",flexShrink:0,flexGrow:0,height:"100%"},children:[l(fu,{}),l(su,{})]}),l(s.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:l(cu,{})})]})}function Ln({id:e}){const r=h.default.useContext(ce),t=h.default.useContext(Ye),n=h.default.useContext(Ie),i=h.default.useMemo(()=>r.queries.find(c=>c.id===e),[r.queries,e]),{data:a=[],loading:o,refresh:u}=Be.useRequest(Mn({context:n,definitions:r,filterValues:t,title:e,query:i}),{refreshDeps:[n,r,i,t]});return o?l(s.LoadingOverlay,{visible:o,exitTransitionDuration:0}):a.length===0?l(s.Table,{}):b(s.Stack,{my:"xl",sx:{border:"1px solid #eee"},children:[b(s.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[b(s.Group,{position:"left",children:[l(s.Text,{weight:500,children:"Preview Data"}),a.length>10&&b(s.Text,{size:"sm",color:"gray",children:["Showing 10 rows of ",a.length]})]}),l(s.ActionIcon,{mr:15,variant:"subtle",color:"blue",disabled:o,onClick:u,children:l(_.Refresh,{size:15})})]}),b(s.Table,{children:[l("thead",{children:l("tr",{children:Object.keys(a==null?void 0:a[0]).map(c=>l("th",{children:l(s.Text,{weight:700,color:"#000",children:c})},c))})}),l("tbody",{children:a.slice(0,10).map((c,d)=>l("tr",{children:Object.values(c).map((f,p)=>l("td",{children:l(s.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace"}},children:l(s.Text,{children:f})})},`${f}--${p}`))},`row-${d}`))})]})]})}function pu({}){const{queries:e}=h.default.useContext(ce),{queryID:r,setQueryID:t,data:n,loading:i}=h.default.useContext(se),a=h.default.useMemo(()=>e.map(o=>({value:o.id,label:o.id})),[e]);return b(s.Stack,{children:[b(s.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[l(s.Text,{children:"Select a Query"}),l(s.Select,{data:a,value:r,onChange:t,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}})]}),l(Ln,{id:r})]})}Oe.use([wt.SunburstChart,Yt.CanvasRenderer]);const hu={tooltip:{show:!0},series:{type:"sunburst",radius:[0,"90%"],emphasis:{focus:"ancestor"}}};function bu({conf:e,data:r,width:t,height:n}){const{label_field:i="name",value_field:a="value",...o}=e,u=h.default.useMemo(()=>r.map(p=>({name:p[i],value:Number(p[a])})),[r,i,a]),c=h.default.useMemo(()=>{var p,v;return(v=(p=C.default.maxBy(u,y=>y.value))==null?void 0:p.value)!=null?v:1},[u]),d=h.default.useMemo(()=>({series:{label:{formatter:({name:p,value:v})=>v/c<.2?" ":p}}}),[c]),f=C.default.merge({},hu,d,o,{series:{data:u}});return l(Qt.default,{echarts:Oe,option:f,style:{width:t,height:n}})}function vu({regressions:e=[]},r){const t=[],n=[],i=[];return r.length===0?{regressionDataSets:t,regressionSeries:n,regressionXAxes:i}:(e.forEach(({transform:a,plot:o,name:u,y_axis_data_key:c})=>{const d=`x-axis-for-${u}`,f=`dataset-for-${u}--raw`,p=`dataset-for-${u}--transformed`;t.push({id:f,source:r.map((v,y)=>[y,v[c]])}),t.push({transform:a,id:p,fromDatasetId:f}),n.push({...o,name:u,datasetId:p,xAxisId:d,showSymbol:!1,tooltip:{show:!1}}),i.push({type:"category",id:d,datasetId:p,show:!1})}),{regressionDataSets:t,regressionSeries:n,regressionXAxes:i})}const mu={legend:{show:!0,bottom:0,left:0},tooltip:{trigger:"axis"},xAxis:{type:"category",nameGap:25,nameLocation:"center",nameTextStyle:{fontWeight:"bold"}},grid:{top:0,left:15,right:15,bottom:30,containLabel:!0}};function yu(e,r){var d;const t=e.y_axes.reduce((f,{label_formatter:p},v)=>(f[v]=function(P){const j=typeof P=="object"?P.value:P;if(!p)return j;try{return Kt.default(j).format(p)}catch(I){return console.error(I),j}},f),{default:({value:f})=>f}),n=e.series.reduce((f,{yAxisIndex:p,name:v})=>(f[v]=p,f),{}),i=e.series.map(({y_axis_data_key:f,yAxisIndex:p,label_position:v,name:y,...P})=>({data:r.map(I=>I[f]),label:{show:!!v,position:v,formatter:t[p!=null?p:"default"]},name:y,xAxisId:"main-x-axis",yAxisIndex:p,...P})),{regressionDataSets:a,regressionSeries:o,regressionXAxes:u}=vu(e,r),c={xAxis:[{data:r.map(f=>f[e.x_axis_data_key]),name:(d=e.x_axis_name)!=null?d:"",id:"main-x-axis"},...u],yAxis:e.y_axes.map(({label_formatter:f,...p},v)=>{var y;return{...p,axisLabel:{show:!0,formatter:(y=t[v])!=null?y:t.default}}}),dataset:[...a],series:[...i,...o],tooltip:{formatter:function(f){const p=Array.isArray(f)?f:[f];if(p.length===0)return"";const v=p.map(({seriesName:y,value:P})=>{var $;if(!y)return P;const j=n[y],I=($=t[j])!=null?$:t.default;return`${y}: ${I({value:P})}`});return v.unshift(`<strong>${p[0].name}</strong>`),v.join("<br />")}}};return C.default.merge({},mu,c)}function gu(e){const r=Array.from(e).sort((n,i)=>n-i),t=Math.floor(r.length/2);return r.length%2===0?(r[t-1]+r[t])/2:r[t]}function _u(e,r,t){var i,a,o;const n=e.map(u=>u[r]);switch(t){case"sum":return C.default.sum(n);case"mean":return C.default.mean(n);case"median":return gu(n);case"max":return(i=C.default.max(n))!=null?i:0;case"min":return(a=C.default.min(n))!=null?a:0;default:return(o=e[0])==null?void 0:o[r]}}var Fn=function(){};const wu=(e,r,t)=>Math.min(Math.max(t,e),r),qn=(e,r,t)=>{const n=r-e;return n===0?1:(t-e)/n},Lr=(e,r,t)=>-t*e+t*r+e,Bn=(e,r)=>t=>Math.max(Math.min(t,r),e),Ot=e=>e%1?Number(e.toFixed(5)):e,er=/(-)?([\d]*\.?[\d])+/g,Fr=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi,Su=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i;function xt(e){return typeof e=="string"}const tr={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Gn=Object.assign(Object.assign({},tr),{transform:Bn(0,1)});Object.assign(Object.assign({},tr),{default:1});const Pt=(e=>({test:r=>xt(r)&&r.endsWith(e)&&r.split(" ").length===1,parse:parseFloat,transform:r=>`${r}${e}`}))("%");Object.assign(Object.assign({},Pt),{parse:e=>Pt.parse(e)/100,transform:e=>Pt.transform(e*100)});const qr=(e,r)=>t=>Boolean(xt(t)&&Su.test(t)&&t.startsWith(e)||r&&Object.prototype.hasOwnProperty.call(t,r)),$n=(e,r,t)=>n=>{if(!xt(n))return n;const[i,a,o,u]=n.match(er);return{[e]:parseFloat(i),[r]:parseFloat(a),[t]:parseFloat(o),alpha:u!==void 0?parseFloat(u):1}},Qe={test:qr("hsl","hue"),parse:$n("hue","saturation","lightness"),transform:({hue:e,saturation:r,lightness:t,alpha:n=1})=>"hsla("+Math.round(e)+", "+Pt.transform(Ot(r))+", "+Pt.transform(Ot(t))+", "+Ot(Gn.transform(n))+")"},Ou=Bn(0,255),Br=Object.assign(Object.assign({},tr),{transform:e=>Math.round(Ou(e))}),De={test:qr("rgb","red"),parse:$n("red","green","blue"),transform:({red:e,green:r,blue:t,alpha:n=1})=>"rgba("+Br.transform(e)+", "+Br.transform(r)+", "+Br.transform(t)+", "+Ot(Gn.transform(n))+")"};function xu(e){let r="",t="",n="",i="";return e.length>5?(r=e.substr(1,2),t=e.substr(3,2),n=e.substr(5,2),i=e.substr(7,2)):(r=e.substr(1,1),t=e.substr(2,1),n=e.substr(3,1),i=e.substr(4,1),r+=r,t+=t,n+=n,i+=i),{red:parseInt(r,16),green:parseInt(t,16),blue:parseInt(n,16),alpha:i?parseInt(i,16)/255:1}}const Gr={test:qr("#"),parse:xu,transform:De.transform},rr={test:e=>De.test(e)||Gr.test(e)||Qe.test(e),parse:e=>De.test(e)?De.parse(e):Qe.test(e)?Qe.parse(e):Gr.parse(e),transform:e=>xt(e)?e:e.hasOwnProperty("red")?De.transform(e):Qe.transform(e)},Un="${c}",Wn="${n}";function Pu(e){var r,t,n,i;return isNaN(e)&&xt(e)&&((t=(r=e.match(er))===null||r===void 0?void 0:r.length)!==null&&t!==void 0?t:0)+((i=(n=e.match(Fr))===null||n===void 0?void 0:n.length)!==null&&i!==void 0?i:0)>0}function Yn(e){typeof e=="number"&&(e=`${e}`);const r=[];let t=0;const n=e.match(Fr);n&&(t=n.length,e=e.replace(Fr,Un),r.push(...n.map(rr.parse)));const i=e.match(er);return i&&(e=e.replace(er,Wn),r.push(...i.map(tr.parse))),{values:r,numColors:t,tokenised:e}}function Qn(e){return Yn(e).values}function Kn(e){const{values:r,numColors:t,tokenised:n}=Yn(e),i=r.length;return a=>{let o=n;for(let u=0;u<i;u++)o=o.replace(u<t?Un:Wn,u<t?rr.transform(a[u]):Ot(a[u]));return o}}const Cu=e=>typeof e=="number"?0:e;function Au(e){const r=Qn(e);return Kn(e)(r.map(Cu))}const Hn={test:Pu,parse:Qn,createTransformer:Kn,getAnimatableNone:Au};function $r(e,r,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?e+(r-e)*6*t:t<1/2?r:t<2/3?e+(r-e)*(2/3-t)*6:e}function Jn({hue:e,saturation:r,lightness:t,alpha:n}){e/=360,r/=100,t/=100;let i=0,a=0,o=0;if(!r)i=a=o=t;else{const u=t<.5?t*(1+r):t+r-t*r,c=2*t-u;i=$r(c,u,e+1/3),a=$r(c,u,e),o=$r(c,u,e-1/3)}return{red:Math.round(i*255),green:Math.round(a*255),blue:Math.round(o*255),alpha:n}}const ju=(e,r,t)=>{const n=e*e,i=r*r;return Math.sqrt(Math.max(0,t*(i-n)+n))},Tu=[Gr,De,Qe],Xn=e=>Tu.find(r=>r.test(e)),Zn=(e,r)=>{let t=Xn(e),n=Xn(r),i=t.parse(e),a=n.parse(r);t===Qe&&(i=Jn(i),t=De),n===Qe&&(a=Jn(a),n=De);const o=Object.assign({},i);return u=>{for(const c in o)c!=="alpha"&&(o[c]=ju(i[c],a[c],u));return o.alpha=Lr(i.alpha,a.alpha,u),t.transform(o)}},Eu=e=>typeof e=="number",Iu=(e,r)=>t=>r(e(t)),ei=(...e)=>e.reduce(Iu);function ti(e,r){return Eu(e)?t=>Lr(e,r,t):rr.test(e)?Zn(e,r):ii(e,r)}const ri=(e,r)=>{const t=[...e],n=t.length,i=e.map((a,o)=>ti(a,r[o]));return a=>{for(let o=0;o<n;o++)t[o]=i[o](a);return t}},Du=(e,r)=>{const t=Object.assign(Object.assign({},e),r),n={};for(const i in t)e[i]!==void 0&&r[i]!==void 0&&(n[i]=ti(e[i],r[i]));return i=>{for(const a in n)t[a]=n[a](i);return t}};function ni(e){const r=Hn.parse(e),t=r.length;let n=0,i=0,a=0;for(let o=0;o<t;o++)n||typeof r[o]=="number"?n++:r[o].hue!==void 0?a++:i++;return{parsed:r,numNumbers:n,numRGB:i,numHSL:a}}const ii=(e,r)=>{const t=Hn.createTransformer(r),n=ni(e),i=ni(r);return n.numHSL===i.numHSL&&n.numRGB===i.numRGB&&n.numNumbers>=i.numNumbers?ei(ri(n.parsed,i.parsed),t):o=>`${o>0?r:e}`},Mu=(e,r)=>t=>Lr(e,r,t);function Ru(e){if(typeof e=="number")return Mu;if(typeof e=="string")return rr.test(e)?Zn:ii;if(Array.isArray(e))return ri;if(typeof e=="object")return Du}function Vu(e,r,t){const n=[],i=t||Ru(e[0]),a=e.length-1;for(let o=0;o<a;o++){let u=i(e[o],e[o+1]);if(r){const c=Array.isArray(r)?r[o]:r;u=ei(c,u)}n.push(u)}return n}function ku([e,r],[t]){return n=>t(qn(e,r,n))}function zu(e,r){const t=e.length,n=t-1;return i=>{let a=0,o=!1;if(i<=e[0]?o=!0:i>=e[n]&&(a=n-1,o=!0),!o){let c=1;for(;c<t&&!(e[c]>i||c===n);c++);a=c-1}const u=qn(e[a],e[a+1],i);return r[a](u)}}function Nu(e,r,{clamp:t=!0,ease:n,mixer:i}={}){const a=e.length;Fn(a===r.length),Fn(!n||!Array.isArray(n)||n.length===a-1),e[0]>e[a-1]&&(e=[].concat(e),r=[].concat(r),e.reverse(),r.reverse());const o=Vu(r,n,i),u=a===2?ku(e,o):zu(e,o);return t?c=>u(wu(e[0],e[a-1],c)):u}class Lu{constructor({valueRange:r,colorRange:t}){Lo(this,"mapper");this.mapper=Nu(r,t)}getColor(r){return this.mapper(r)}}function Fu(e,r){return e.type==="static"?e.staticColor:e.type==="continuous"?new Lu(e).getColor(r):"black"}function qu(e){return e===null?"null":e===void 0?"undefined":Array.isArray(e)?`Array(${e.length})`:e.toString()}function Bu(e,r){const t={};return e.forEach(({name:n,color:i,data_field:a,aggregation:o,size:u,weight:c,formatter:d})=>{const f=_u(r,a,o);let p="";["string","number"].includes(typeof f)?p=Kt.default(f).format(d):p=qu(f),t[n]=l(s.Text,{sx:{fontSize:u,display:"inline"},color:Fu(i,f),weight:c,children:p})}),t}function Gu(e){return e.split(" ").map(r=>b(Y,{children:[r,"\xA0"]}))}function $u(e){const t=e.replaceAll("<br />","<br/>").replaceAll(`
|
|
10
|
+
`,"<br/>").split("<br/>");return t.map((i,a)=>{const o=[Gu(i)];return a!==t.length-1&&o.push(l("br",{})),o}).flat().filter(i=>i!==void 0)}function Ur(e){return $u(e)}function Wr(e,r,t){const n=Bu(r,t),i=/^\{(.+)\}(.*)$/;return e.split("$").map(a=>{var d;const o=i.exec(a);if(!o)return Ur(a);const u=n[o[1]];if(!u)return Ur(a);const c=(d=o[2])!=null?d:"";return b(Y,{children:[u,Ur(c)]})})}Oe.use([wt.BarChart,wt.LineChart,wt.ScatterChart,Ge.GridComponent,Ge.LegendComponent,Ge.TooltipComponent,Yt.CanvasRenderer]),Oe.registerTransform(Go.transform.regression);function ai(e){return e.trim().length>0}function Uu({conf:e,data:r,width:t,height:n}){const i=h.default.useMemo(()=>yu(e,r),[e,r]);return!t||!n?null:l(Qt.default,{echarts:Oe,option:i,style:{width:t,height:n}})}function Wu({conf:e,data:r,width:t,height:n}){const{ref:i,height:a}=W.useElementSize(),{ref:o,height:u}=W.useElementSize(),c=h.default.useMemo(()=>{const{stats:{templates:f,variables:p}}=e;return{top:Wr(f.top,p,r),bottom:Wr(f.bottom,p,r)}},[e,r]),d=Math.max(0,n-a-u);return b(s.Box,{children:[ai(e.stats.templates.top)&&l(s.Text,{ref:i,align:"left",size:"xs",pl:"sm",children:Object.values(c.top).map(f=>f)}),l(Uu,{width:t,height:d,data:r,conf:e}),ai(e.stats.templates.bottom)&&l(s.Text,{ref:o,align:"left",size:"xs",pl:"sm",children:Object.values(c.bottom).map(f=>f)})]})}var Me=(e=>(e.string="string",e.number="number",e.eloc="eloc",e.percentage="percentage",e))(Me||{});function Yu({value:e}){return l(s.Text,{component:"span",children:e})}function Qu({value:e}){return l(s.Text,{component:"span",children:e})}function Ku({value:e}){const r=Kt.default(e).format({thousandSeparated:!0});return l(s.Text,{component:"span",children:r})}function Hu({value:e}){const r=Kt.default(e).format({output:"percent",mantissa:3});return l(s.Text,{component:"span",children:r})}function Ju({value:e,type:r}){switch(r){case Me.string:return l(Yu,{value:e});case Me.eloc:return l(Qu,{value:e});case Me.number:return l(Ku,{value:e});case Me.percentage:return l(Hu,{value:e})}}function Xu({conf:e,data:r=[],width:t,height:n}){const{id_field:i,use_raw_columns:a,columns:o,...u}=e,c=h.default.useMemo(()=>a?Object.keys(r==null?void 0:r[0]):o.map(f=>f.label),[a,o,r]),d=h.default.useMemo(()=>a?Object.keys(r==null?void 0:r[0]).map(f=>({label:f,value_field:f,value_type:Me.string})):o,[a,o,r]);return b(s.Table,{sx:{maxHeight:n},...u,children:[l("thead",{children:l("tr",{children:c.map(f=>l("th",{children:f},f))})}),l("tbody",{children:r.slice(0,30).map((f,p)=>l("tr",{children:d.map(({value_field:v,value_type:y})=>l("td",{children:l(s.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace",fontSize:u.fontSize}},children:l(Ju,{value:f[v],type:y})})},`${v}--${f[v]}`))},i?f[i]:`row-${p}`))}),r.length>100&&l("tfoot",{children:l("tr",{children:l("td",{colSpan:c.length,children:l(s.Text,{color:"red",size:"sm",children:"Showing only the first 30 rows to avoid causing slow performance"})})})})]})}Oe.use([Ge.GridComponent,Ge.VisualMapComponent,Ge.LegendComponent,Ge.TooltipComponent,Yt.CanvasRenderer]);function Zu({conf:e,data:r,width:t,height:n}){const{x_axis_data_key:i,y_axis_data_key:a,z_axis_data_key:o,...u}=e,c=h.default.useMemo(()=>C.default.minBy(r,p=>p[o])[o],[r,o]),d=h.default.useMemo(()=>C.default.maxBy(r,p=>p[o])[o],[r,o]),f={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:c,max:d,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:{type:"value"},yAxis3D:{type:"value"},zAxis3D:{type:"value"},grid3D:{viewControl:{projection:"orthographic",autoRotate:!1},light:{main:{shadow:!0,quality:"ultra",intensity:1.5}}},...u,series:[{type:"bar3D",wireframe:{},data:r.map(p=>[p[i],p[a],p[o]])}]};return l(Qt.default,{echarts:Oe,option:f,style:{width:t,height:n}})}var qp="";Oe.use([wt.PieChart,Yt.CanvasRenderer]);const el={tooltip:{show:!0},series:{type:"pie",radius:["50%","80%"],label:{position:"outer",alignTo:"edge",formatter:`{name|{b}}
|
|
11
|
+
{percentage|{d}%}`,minMargin:5,edgeDistance:10,lineHeight:15,rich:{percentage:{color:"#999"}},margin:20},labelLine:{length:15,length2:0,maxSurfaceAngle:80,showAbove:!0},top:10,bottom:10,left:10,right:10}};function tl({conf:e,data:r,width:t,height:n}){const{label_field:i="name",value_field:a="value",...o}=e,u=h.default.useMemo(()=>r.map(f=>({name:f[i],value:Number(f[a])})),[r,i,a]),c=h.default.useMemo(()=>({series:{labelLayout:function(f){const p=f.labelRect.x<t/2,v=f.labelLinePoints;return v[2][0]=p?f.labelRect.x:f.labelRect.x+f.labelRect.width,{labelLinePoints:v}}}}),[t]),d=C.default.merge({},el,c,o,{series:{data:u}});return l(Qt.default,{echarts:Oe,option:d,style:{width:t,height:n}})}function rl({conf:{template:e,variables:r,align:t},data:n}){const i=h.default.useMemo(()=>Wr(e,r,n),[e,r,n]);return l(s.Text,{align:t,children:Object.values(i).map(a=>a)})}function nl({conf:e,width:r,height:t}){return!r||!t?null:l(kr.default,{readOnly:!0,value:e.content,onChange:C.default.noop,sx:{border:"none"}})}function oi(e,r,t,n){const i={width:e,height:r,data:t,conf:n.conf};switch(n.type){case"sunburst":return l(bu,{...i});case"cartesian":return l(Wu,{...i});case"table":return l(Xu,{...i});case"stats":return l(rl,{...i});case"rich-text":return l(nl,{...i});case"bar-3d":return l(Zu,{...i});case"pie":return l(tl,{...i});default:return null}}const il=["rich-text"];function ui({viz:e,data:r,loading:t}){const{ref:n,width:i,height:a}=W.useElementSize(),o=h.default.useMemo(()=>!Array.isArray(r)||r.length===0,[r]);return il.includes(e.type)?l("div",{className:"viz-root",ref:n,children:l(Zt,{children:oi(i,a,r,e)})}):t?l("div",{className:"viz-root",ref:n,children:l(s.LoadingOverlay,{visible:t,exitTransitionDuration:0})}):b("div",{className:"viz-root",ref:n,children:[o&&l(s.Text,{color:"gray",align:"center",children:"nothing to show"}),!o&&l(Zt,{children:oi(i,a,r,e)})]})}function al({}){const{data:e,loading:r,viz:t}=h.default.useContext(se);return l(ui,{viz:t,data:e,loading:r})}function ol({label:e,required:r,value:t,onChange:n,data:i,sx:a},o){const u=h.default.useMemo(()=>!Array.isArray(i)||i.length===0?[]:Object.keys(i[0]).map(d=>({label:d,value:d})),[i]);return l(s.Select,{ref:o,label:e,data:u,value:t,onChange:n,required:r,sx:a})}const Q=h.default.forwardRef(ol);function ul({conf:e,setConf:r,data:t}){const n=C.default.assign({},{x_axis_data_key:"x",y_axis_data_key:"y",z_axis_data_key:"z",xAxis3D:{type:"value",name:"X Axis Name"},yAxis3D:{type:"value",name:"Y Axis Name"},zAxis3D:{type:"value",name:"Z Axis Name"}},e),{control:i,handleSubmit:a,formState:o}=O.useForm({defaultValues:n});return l(s.Stack,{mt:"md",spacing:"xs",children:b("form",{onSubmit:a(r),children:[l(s.Text,{children:"X Axis"}),b(s.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[l(O.Controller,{name:"x_axis_data_key",control:i,render:({field:u})=>l(Q,{label:"Data Field",required:!0,data:t,...u})}),l(O.Controller,{name:"xAxis3D.name",control:i,render:({field:u})=>l(s.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...u})})]}),l(s.Text,{mt:"lg",children:"Y Axis"}),b(s.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[l(O.Controller,{name:"y_axis_data_key",control:i,render:({field:u})=>l(Q,{label:"Data Field",required:!0,data:t,...u})}),l(O.Controller,{name:"yAxis3D.name",control:i,render:({field:u})=>l(s.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...u})})]}),l(s.Text,{mt:"lg",children:"Z Axis"}),b(s.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[l(O.Controller,{name:"z_axis_data_key",control:i,render:({field:u})=>l(Q,{label:"Data Field",required:!0,data:t,...u})}),l(O.Controller,{name:"zAxis3D.name",control:i,render:({field:u})=>l(s.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...u})})]}),l(s.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:b(s.Button,{color:"blue",type:"submit",children:[l(_.DeviceFloppy,{size:20}),l(s.Text,{ml:"md",children:"Save"})]})})]})})}function ll({value:e,onChange:r},t){const n=s.useMantineTheme(),i=h.default.useMemo(()=>Object.entries(n.colors).map(([o,u])=>({label:o,value:u[6]})),[n]),a=h.default.useMemo(()=>i.some(o=>o.value===e),[e,i]);return b(s.Group,{position:"apart",spacing:4,children:[l(s.TextInput,{placeholder:"Set any color",value:a?"":e,onChange:o=>r(o.currentTarget.value),rightSection:l(s.ColorSwatch,{color:a?"transparent":e,radius:4}),variant:a?"filled":"default",sx:{maxWidth:"46%",flexGrow:1}}),l(s.Text,{sx:{flexGrow:0},children:"or"}),l(s.Select,{data:i,value:e,onChange:r,variant:a?"default":"filled",placeholder:"Pick a theme color",icon:l(s.ColorSwatch,{color:a?e:"transparent",radius:4}),sx:{maxWidth:"46%",flexGrow:1}})]})}const Yr=h.default.forwardRef(ll);function sl({control:e,index:r}){return b(s.Group,{grow:!0,align:"top",children:[l(O.Controller,{name:`series.${r}.stack`,control:e,render:({field:t})=>l(s.TextInput,{label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1},...t})}),l(O.Controller,{name:`series.${r}.barWidth`,control:e,render:({field:t})=>l(s.TextInput,{label:"Bar Width",sx:{flexGrow:1},...t})})]})}const cl=[{label:"off",value:"false"},{label:"start",value:"start"},{label:"middle",value:"middle"},{label:"end",value:"end"}];function fl({control:e,index:r}){return b(s.Group,{grow:!0,align:"center",children:[l(O.Controller,{name:`series.${r}.step`,control:e,render:({field:t})=>l(s.Select,{label:"Step",data:cl,sx:{flexGrow:1,maxWidth:"48%"},...t,value:String(t.value),onChange:n=>{const i=n==="false"?!1:n;t.onChange(i)}})}),l(O.Controller,{name:`series.${r}.smooth`,control:e,render:({field:t})=>l(s.Box,{sx:{flexGrow:1},children:l(s.Switch,{label:"Smooth Line",checked:t.value,onChange:n=>t.onChange(n.currentTarget.checked)})})})]})}const dl=Array.from(new Array(9),(e,r)=>({label:String(r+1),value:r+1}));function pl({control:e,index:r}){return l(s.Group,{grow:!0,align:"center",children:l(O.Controller,{name:`series.${r}.symbolSize`,control:e,render:({field:t})=>b(s.Stack,{sx:{flexGrow:1},pb:16,spacing:4,children:[l(s.Text,{size:"sm",children:"Size"}),l(s.Slider,{min:1,max:10,marks:dl,...t,sx:{width:"100%"}})]})})})}const hl=[{label:"off",value:""},{label:"top",value:"top"},{label:"left",value:"left"},{label:"right",value:"right"},{label:"bottom",value:"bottom"},{label:"inside",value:"inside"},{label:"insideLeft",value:"insideLeft"},{label:"insideRight",value:"insideRight"},{label:"insideTop",value:"insideTop"},{label:"insideBottom",value:"insideBottom"},{label:"insideTopLeft",value:"insideTopLeft"},{label:"insideBottomLeft",value:"insideBottomLeft"},{label:"insideTopRight",value:"insideTopRight"},{label:"insideBottomRight",value:"insideBottomRight"}];function bl({control:e,index:r,remove:t,seriesItem:n,yAxisOptions:i,data:a}){const o=n.type;return b(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[l(s.Stack,{children:l(O.Controller,{name:`series.${r}.type`,control:e,render:({field:u})=>l(s.SegmentedControl,{data:[{label:"Line",value:"line"},{label:"Bar",value:"bar"},{label:"Scatter",value:"scatter"},{label:"Boxplot",value:"boxplot",disabled:!0}],...u})})}),l(O.Controller,{name:`series.${r}.name`,control:e,render:({field:u})=>l(s.TextInput,{label:"Name",required:!0,sx:{flex:1},...u})}),b(s.Group,{grow:!0,noWrap:!0,children:[l(O.Controller,{name:`series.${r}.y_axis_data_key`,control:e,render:({field:u})=>l(Q,{label:"Value Field",required:!0,data:a,sx:{flex:1},...u})}),l(O.Controller,{name:`series.${r}.yAxisIndex`,control:e,render:({field:{value:u,onChange:c,...d}})=>{var f;return l(s.Select,{label:"Y Axis",data:i,disabled:i.length===0,...d,value:(f=u==null?void 0:u.toString())!=null?f:"",onChange:p=>{if(!p){c(0);return}c(Number(p))},sx:{flex:1}})}})]}),o==="line"&&l(fl,{index:r,control:e}),o==="bar"&&l(sl,{index:r,control:e}),o==="scatter"&&l(pl,{index:r,control:e}),l(O.Controller,{name:`series.${r}.label_position`,control:e,render:({field:u})=>l(s.Select,{label:"Label Position",data:hl,...u})}),b(s.Stack,{spacing:4,children:[l(s.Text,{size:"sm",children:"Color"}),l(O.Controller,{name:`series.${r}.color`,control:e,render:({field:u})=>l(Yr,{...u})})]}),l(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>t(r),sx:{position:"absolute",top:15,right:5},children:l(_.Trash,{size:16})})]},r)}function vl({control:e,watch:r,getValues:t,data:n}){const{fields:i,append:a,remove:o}=O.useFieldArray({control:e,name:"series"}),u=r("series"),c=i.map((p,v)=>({...p,...u[v]})),d=()=>a({type:"bar",name:W.randomId(),showSymbol:!1,symbolSize:5,y_axis_data_key:"value",yAxisIndex:0,label_position:"top",stack:"",color:"#000",step:!1,smooth:!1}),f=h.default.useMemo(()=>t().y_axes.map(({name:p},v)=>({label:p,value:v.toString()})),[t]);return b(s.Stack,{children:[c.map((p,v)=>l(bl,{control:e,index:v,remove:o,seriesItem:p,yAxisOptions:f,data:n})),l(s.Group,{position:"center",mt:"xs",children:l(s.Button,{onClick:d,children:"Add a Series"})})]})}const li={mantissa:0,output:"number"};function ml({value:e,onChange:r},t){const n=o=>{r({...e,output:o})},i=o=>{const u=o===0?!1:e.trimMantissa;r({...e,mantissa:o,trimMantissa:u})},a=o=>{r({...e,trimMantissa:o.currentTarget.checked})};return l(s.Stack,{ref:t,children:b(s.Group,{grow:!0,children:[l(s.Select,{label:"Format",data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:e.output,onChange:n}),l(s.NumberInput,{label:"Mantissa",defaultValue:0,min:0,step:1,max:4,value:e.mantissa,onChange:i}),l(s.Switch,{label:"Trim mantissa",checked:e.trimMantissa,onChange:a,disabled:e.mantissa===0})]})})}const si=h.default.forwardRef(ml);function yl({control:e,index:r,remove:t}){return b(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[l(s.Group,{grow:!0,noWrap:!0,children:l(O.Controller,{name:`y_axes.${r}.name`,control:e,render:({field:n})=>l(s.TextInput,{label:"Name",required:!0,sx:{flex:1},...n})})}),l(s.Stack,{children:l(O.Controller,{name:`y_axes.${r}.label_formatter`,control:e,render:({field:n})=>l(si,{...n})})}),l(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>t(r),sx:{position:"absolute",top:15,right:5},disabled:r===0,children:l(_.Trash,{size:16})})]},r)}function gl({control:e,watch:r}){const{fields:t,append:n,remove:i}=O.useFieldArray({control:e,name:"y_axes"}),a=r("y_axes"),o=t.map((c,d)=>({...c,...a[d]})),u=()=>n({name:"",label_formatter:li});return b(s.Stack,{children:[o.map((c,d)=>l(yl,{control:e,index:d,remove:i})),l(s.Group,{position:"center",mt:"xs",children:l(s.Button,{onClick:u,children:"Add a Y Axis"})})]})}const _l=[{label:"Linear",value:"linear"},{label:"Exponential",value:"exponential"},{label:"Logarithmic",value:"logarithmic"},{label:"Polynomial",value:"polynomial"}];function wl({control:e,regressionItem:r,index:t,remove:n,yAxisOptions:i,data:a}){const o=r.transform.config.method;return b(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[l(O.Controller,{name:`regressions.${t}.name`,control:e,render:({field:u})=>l(s.TextInput,{label:"Name",required:!0,sx:{flex:1},...u})}),b(s.Group,{grow:!0,noWrap:!0,children:[l(O.Controller,{name:`regressions.${t}.y_axis_data_key`,control:e,render:({field:u})=>l(Q,{label:"Value Field",required:!0,data:a,sx:{flex:1},...u})}),l(O.Controller,{name:`regressions.${t}.plot.yAxisIndex`,control:e,render:({field:{value:u,onChange:c,...d}})=>{var f;return l(s.Select,{label:"Y Axis",data:i,disabled:i.length===0,...d,value:(f=u==null?void 0:u.toString())!=null?f:"",onChange:p=>{if(!p){c(0);return}c(Number(p))},sx:{flex:1}})}})]}),b(s.Group,{grow:!0,noWrap:!0,children:[l(O.Controller,{name:`regressions.${t}.transform.config.method`,control:e,render:({field:u})=>l(s.Select,{label:"Method",data:_l,sx:{flex:1},...u})}),o==="polynomial"&&l(O.Controller,{name:`regressions.${t}.transform.config.order`,control:e,render:({field:u})=>l(s.NumberInput,{label:"Order",sx:{flex:1},...u})})]}),b(s.Stack,{spacing:4,children:[l(s.Text,{size:"sm",children:"Color"}),l(O.Controller,{name:`regressions.${t}.plot.color`,control:e,render:({field:u})=>l(Yr,{...u})})]}),l(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n(t),sx:{position:"absolute",top:15,right:5},children:l(_.Trash,{size:16})})]},t)}function Sl({control:e,watch:r,getValues:t,data:n}){const{fields:i,append:a,remove:o}=O.useFieldArray({control:e,name:"regressions"}),u=r("regressions"),c=i.map((p,v)=>({...p,...u[v]})),d=h.default.useMemo(()=>t().y_axes.map(({name:p},v)=>({label:p,value:v.toString()})),[t]),f=()=>a({transform:{type:"ecStat:regression",config:{method:"linear",order:1,formulaOn:"end"}},name:"",y_axis_data_key:"",plot:{type:"line",yAxisIndex:0,color:"#666666"}});return b(s.Stack,{children:[c.map((p,v)=>l(wl,{regressionItem:p,control:e,index:v,remove:o,yAxisOptions:d,data:n})),l(s.Group,{position:"center",mt:"xs",children:l(s.Button,{onClick:f,children:"Add a Regression Line"})})]})}const Ol=[{label:"None",value:"none"},{label:"Sum",value:"sum"},{label:"Mean",value:"mean"},{label:"Median",value:"median"},{label:"Max",value:"max"},{label:"Min",value:"min"}];function xl({label:e,value:r,onChange:t},n){return l(s.Select,{ref:n,label:e,data:Ol,value:r,onChange:t})}const Pl=h.default.forwardRef(xl);function Cl({label:e,value:r,onChange:t},n){const[i,a]=h.default.useState(Array.isArray(r)?[...r]:[]),o=h.default.useCallback(()=>{a(v=>[...v,""])},[a]),u=h.default.useCallback(v=>{a(y=>(y.splice(v,1),[...y]))},[a]),c=h.default.useMemo(()=>!C.default.isEqual(i,r),[i,r]),d=()=>{t(i.map(v=>v.toString()))},f=s.useMantineTheme(),p=h.default.useMemo(()=>Object.entries(f.colors).map(([v,y])=>y[6]),[f]);return b(Y,{children:[b(s.Group,{position:"left",ref:n,children:[l(s.Text,{children:e}),l(s.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!c,onClick:d,children:l(_.DeviceFloppy,{size:20})})]}),b(s.Group,{children:[i.map((v,y)=>l(s.ColorInput,{value:v,onChange:P=>{a(j=>(j.splice(y,1,P),[...j]))},swatches:p,rightSection:l(s.ActionIcon,{onClick:()=>u(y),color:"red",children:l(_.Trash,{size:14})}),sx:{width:"45%"}})),l(s.ActionIcon,{onClick:o,color:"blue",variant:"outline",children:l(_.PlaylistAdd,{size:20})})]})]})}const Al=h.default.forwardRef(Cl),nr=[{label:"initial",value:0},{label:"500",value:25},{label:"700",value:50},{label:"semibold",value:75},{label:"bold",value:100}];function jl({label:e,value:r,onChange:t},n){var o,u;const[i,a]=h.default.useState((u=(o=nr.find(c=>c.label===r))==null?void 0:o.value)!=null?u:nr[0].value);return h.default.useEffect(()=>{const c=nr.find(d=>d.value===i);c&&t(c.label)},[i]),b(s.Stack,{spacing:0,mt:"sm",mb:"lg",children:[l(s.Text,{size:"sm",children:e}),l(s.Slider,{label:null,marks:nr,value:i,onChange:a,step:25,placeholder:"Pick a font size",ref:n})]})}const Tl=h.default.forwardRef(jl);function El({label:e,value:r,onChange:t},n){const[i,a]=h.default.useState(Array.isArray(r)?[...r]:[]),o=h.default.useCallback(()=>{a(f=>[...f,""])},[a]),u=h.default.useCallback(f=>{a(p=>(p.splice(f,1),[...p]))},[a]),c=h.default.useMemo(()=>!C.default.isEqual(i,r),[i,r]),d=()=>{t(i.map(f=>f.toString()))};return b(Y,{children:[b(s.Group,{position:"left",ref:n,children:[l(s.Text,{children:e}),l(s.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!c,onClick:d,children:l(_.DeviceFloppy,{size:20})})]}),b(s.Group,{children:[i.map((f,p)=>l(s.TextInput,{value:f,onChange:v=>{const y=v.currentTarget.value;a(P=>(P.splice(p,1,y),[...P]))},rightSection:l(s.ActionIcon,{onClick:()=>u(p),color:"red",children:l(_.Trash,{size:14})}),sx:{width:"45%"}})),l(s.ActionIcon,{onClick:o,color:"blue",variant:"outline",children:l(_.PlaylistAdd,{size:20})})]})]})}const Il=h.default.forwardRef(El);function ci(){return{name:W.randomId(),size:"20px",weight:"bold",color:{type:"static",staticColor:"blue"},data_field:"",aggregation:"none",formatter:{output:"number",mantissa:0}}}const Qr=h.default.forwardRef(function({value:r,onChange:t,...n},i){return l(s.TextInput,{ref:i,value:r,onChange:t,...n})}),fi=h.default.forwardRef(function({value:r,onChange:t,data:n},i){const a=r.color.type,o=(u,c)=>{const d=C.default.cloneDeep(r);C.default.set(d,u,c),t(d)};return b(s.Box,{px:"sm",py:"md",children:[l(s.Text,{weight:"bold",pb:0,children:r.name}),l(s.Divider,{my:"xs",label:"Data",labelPosition:"center"}),b(s.Group,{grow:!0,noWrap:!0,children:[l(s.TextInput,{label:"Name",required:!0,value:r.name,onChange:u=>o("name",u.currentTarget.value)}),l(Q,{label:"Data Field",required:!0,data:n,value:r.data_field,onChange:u=>o("data_field",u)}),l(Pl,{label:"Aggregation",value:r.aggregation,onChange:u=>o("aggregation",u)})]}),l(si,{value:r.formatter,onChange:u=>o("formatter",u)}),l(s.Divider,{my:"xs",label:"Typography",labelPosition:"center"}),l(s.Stack,{children:l(s.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",sx:{flex:1},value:r.size,onChange:u=>o("size",u.currentTarget.value)})}),l(s.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:l(Tl,{label:"Font Weight",value:r.weight,onChange:u=>o("weight",u)})}),l(s.Divider,{my:"xs",label:"Style",labelPosition:"center"}),b(s.Stack,{children:[l(s.Select,{label:"Color Type",data:[{label:"Static Color",value:"static"},{label:"Continuous Color",value:"continuous"}],value:r.color.type,onChange:u=>o("color.type",u)}),a==="static"&&l(Yr,{value:r.color.staticColor,onChange:u=>o("color.staticColor",u)}),a==="continuous"&&b(Y,{children:[l(Il,{label:"Value Range",value:r.color.valueRange,onChange:u=>o("color.valueRange",u)}),l(Al,{label:"Color Range",value:r.color.colorRange,onChange:u=>o("color.colorRange",u)})]})]})]})});function Dl({control:e,index:r,remove:t,data:n}){return b(s.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[l(O.Controller,{name:`stats.variables.${r}`,control:e,render:({field:i})=>l(fi,{data:n,...i})}),l(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>t(r),sx:{position:"absolute",top:15,right:5},children:l(_.Trash,{size:16})})]},r)}function Ml({control:e,watch:r,data:t}){const{fields:n,append:i,remove:a}=O.useFieldArray({control:e,name:"stats.variables"});r("stats.templates");const o=r("stats.variables"),u=n.map((d,f)=>({...d,...o[f]})),c=()=>i(ci());return b(s.Stack,{children:[b(s.Stack,{spacing:0,children:[l(O.Controller,{name:"stats.templates.top",control:e,render:({field:d})=>l(Qr,{label:"Template for stats above the chart",py:"md",sx:{flexGrow:1},...d})}),l(O.Controller,{name:"stats.templates.bottom",control:e,render:({field:d})=>l(Qr,{label:"Template for stats under the chart",py:"md",sx:{flexGrow:1},...d})})]}),u.map((d,f)=>l(Dl,{control:e,index:f,remove:a,data:t})),l(s.Group,{position:"center",mt:"xs",children:l(s.Button,{onClick:c,children:"Add a Variable"})})]})}function Rl(e){function r({type:t,name:n,showSymbol:i,symbolSize:a=5,y_axis_data_key:o="value",yAxisIndex:u=0,label_position:c="top",stack:d="1",color:f="black",barWidth:p="30",smooth:v=!1,step:y=!1}){return{type:t,name:n,showSymbol:i,symbolSize:a,y_axis_data_key:o,yAxisIndex:u,label_position:c,stack:d,color:f,barWidth:p,smooth:v,step:y}}return e.map(r)}function Vl(e){return e||{templates:{top:"",bottom:""},variables:[]}}function kl({conf:e,setConf:r,data:t}){const{series:n,y_axes:i,...a}=e,o=h.default.useMemo(()=>{const{x_axis_name:y="",stats:P,...j}=a;return{series:Rl(n!=null?n:[]),x_axis_name:y,y_axes:i!=null?i:[{name:"Y Axis",label_formatter:li}],stats:Vl(P),...j}},[n,a]);h.default.useEffect(()=>{!C.default.isEqual(e,o)&&r(o)},[e,o]);const{control:u,handleSubmit:c,watch:d,getValues:f}=O.useForm({defaultValues:o});d(["x_axis_data_key","x_axis_name"]);const p=f(),v=h.default.useMemo(()=>!C.default.isEqual(p,e),[p,e]);return l(s.Stack,{mt:"md",spacing:"xs",children:b("form",{onSubmit:c(r),children:[b(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(s.Text,{children:"Chart Config"}),l(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!v,children:l(_.DeviceFloppy,{size:20})})]}),b(s.Accordion,{multiple:!0,value:["X Axis","Y Axes"],children:[l(s.Accordion.Item,{value:"X Axis",children:b(s.Group,{grow:!0,noWrap:!0,children:[l(O.Controller,{name:"x_axis_data_key",control:u,render:({field:y})=>l(Q,{label:"X Axis Data Field",required:!0,data:t,sx:{flex:1},...y})}),l(O.Controller,{name:"x_axis_name",control:u,render:({field:y})=>l(s.TextInput,{label:"X Axis Name",sx:{flex:1},...y})})]})}),l(s.Accordion.Item,{value:"Y Axes",children:l(gl,{control:u,watch:d})}),l(s.Accordion.Item,{value:"Series",children:l(vl,{control:u,watch:d,getValues:f,data:t})}),l(s.Accordion.Item,{value:"Regression Lines",children:l(Sl,{control:u,watch:d,getValues:f,data:t})}),l(s.Accordion.Item,{value:"Stats",children:l(Ml,{control:u,watch:d,data:t})})]})]})})}function zl({conf:{label_field:e,value_field:r},setConf:t,data:n}){const i=St.useForm({initialValues:{label_field:e,value_field:r}});return l(s.Stack,{mt:"md",spacing:"xs",children:b("form",{onSubmit:i.onSubmit(t),children:[b(s.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[l(s.Text,{children:"Pie Config"}),l(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:l(_.DeviceFloppy,{size:20})})]}),b(s.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[l(Q,{label:"Label Field",required:!0,data:n,...i.getInputProps("label_field")}),l(Q,{label:"Value Field",required:!0,data:n,...i.getInputProps("value_field")})]})]})})}function Nl({conf:e,setConf:r}){const t=h.default.useMemo(()=>{const{content:d=""}=e;return{content:d}},[e]);h.default.useEffect(()=>{!C.default.isEqual(e,t)&&r(t)},[e,t]);const{control:n,handleSubmit:i,watch:a,getValues:o}=O.useForm({defaultValues:t});a("content");const u=o(),c=h.default.useMemo(()=>!C.default.isEqual(u,e),[u,e]);return l(s.Stack,{mt:"md",spacing:"xs",children:b("form",{onSubmit:i(r),children:[b(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(s.Text,{children:"Content"}),l(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!c,children:l(_.DeviceFloppy,{size:20})})]}),l(O.Controller,{name:"content",control:n,render:({field:d})=>l(kr.default,{sx:{flex:1},...d})})]})})}function Ll(e){if("variables"in e)return e;const{align:r,size:t,weight:n,color:i,content:{prefix:a="",data_field:o="value",formatter:u={output:"number",mantissa:0},postfix:c=""}={}}=e;return{align:r,template:`${a} \${value} ${c}`,variables:[{name:"value",data_field:o,aggregation:"none",formatter:u,color:i,weight:n,size:t}]}}function Fl({control:e,index:r,remove:t,data:n}){return b(s.Stack,{my:"sm",p:0,sx:{border:"1px solid #eee",borderTopColor:"#333",borderTopWidth:2,position:"relative"},children:[l(O.Controller,{name:`variables.${r}`,control:e,render:({field:i})=>l(fi,{data:n,...i})}),l(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>t(r),sx:{position:"absolute",top:15,right:5},children:l(_.Trash,{size:16})})]},r)}function ql({control:e,watch:r,data:t}){const{fields:n,append:i,remove:a}=O.useFieldArray({control:e,name:"variables"}),o=r("variables"),u=n.map((d,f)=>({...d,...o[f]})),c=()=>i(ci());return b(s.Stack,{children:[u.map((d,f)=>l(Fl,{control:e,index:f,remove:a,data:t})),l(s.Group,{position:"center",mt:"xs",children:l(s.Button,{onClick:c,children:"Add a Variable"})})]})}function Bl(){return{align:"center",template:"The variable ${value} is defined in Variables section",variables:[{name:"value",size:"20px",weight:"bold",color:{type:"static",staticColor:"blue"},data_field:"",aggregation:"none",formatter:{output:"number",mantissa:0}}]}}function Gl({conf:e,setConf:r,data:t}){const n=h.default.useMemo(()=>{const{align:f,template:p="",variables:v=[]}=Ll(e);return f?{variables:v,template:p,align:f}:Bl()},[e]);h.default.useEffect(()=>{!C.default.isEqual(e,n)&&r(n)},[e,n]);const{control:i,handleSubmit:a,watch:o,getValues:u}=O.useForm({defaultValues:n});o(["variables","template"]);const c=u(),d=h.default.useMemo(()=>!C.default.isEqual(c,e),[c,e]);return l(s.Stack,{mt:"md",spacing:"xs",children:b("form",{onSubmit:a(r),children:[b(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(s.Text,{weight:500,children:"Stats Configurations"}),l(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!d,children:l(_.DeviceFloppy,{size:20})})]}),l(O.Controller,{name:"template",control:i,render:({field:f})=>l(Qr,{label:"Template",py:"md",sx:{flexGrow:1},...f})}),l(s.Text,{pb:"sm",pt:"md",size:"sm",children:"Variables"}),l(ql,{control:i,watch:o,data:t})]})})}function $l({conf:{label_field:e,value_field:r},setConf:t,data:n}){const i=St.useForm({initialValues:{label_field:e,value_field:r}});return l(s.Stack,{mt:"md",spacing:"xs",children:b("form",{onSubmit:i.onSubmit(t),children:[b(s.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[l(s.Text,{children:"Sunburst Config"}),l(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:l(_.DeviceFloppy,{size:20})})]}),b(s.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[l(Q,{label:"Label Field",required:!0,data:n,...i.getInputProps("label_field")}),l(Q,{label:"Value Field",required:!0,data:n,...i.getInputProps("value_field")})]})]})})}const Ul=Object.values(Me).map(e=>({label:e,value:e}));function Wl({label:e,value:r,onChange:t,sx:n}){return l(s.Select,{label:e,data:Ul,value:r,onChange:t,sx:n})}function Yl({conf:{columns:e,...r},setConf:t,data:n}){const i=St.useForm({initialValues:{id_field:"id",use_raw_columns:!0,columns:e!=null?e:[],fontSize:"sm",horizontalSpacing:"sm",verticalSpacing:"sm",striped:!1,highlightOnHover:!1,...r}}),a=()=>i.insertListItem("columns",{label:W.randomId(),value_field:"value",value_type:Me.string});return l(s.Stack,{mt:"md",spacing:"xs",children:b("form",{onSubmit:i.onSubmit(t),children:[b(s.Group,{position:"apart",mb:"lg",sx:{position:"relative"},children:[l(s.Text,{children:"Table Config"}),l(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",children:l(_.DeviceFloppy,{size:20})})]}),b(s.Stack,{mt:"md",spacing:"xs",p:"md",mb:"sm",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[l(Q,{label:"ID Field",required:!0,data:n,...i.getInputProps("id_field")}),b(s.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:[l(s.TextInput,{label:"Horizontal Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...i.getInputProps("horizontalSpacing")}),l(s.TextInput,{label:"Vertical Spacing",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...i.getInputProps("verticalSpacing")})]}),l(s.Group,{position:"apart",mb:"lg",grow:!0,sx:{"> *":{flexGrow:1}},children:l(s.TextInput,{label:"Font Size",placeholder:"10px, 1em, 1rem, 100%...",required:!0,sx:{flex:1},...i.getInputProps("fontSize")})}),b(s.Stack,{children:[l(s.Text,{children:"Other"}),b(s.Group,{position:"apart",grow:!0,children:[l(s.Switch,{label:"Striped",...i.getInputProps("striped",{type:"checkbox"})}),l(s.Switch,{label:"Highlight on hover",...i.getInputProps("highlightOnHover",{type:"checkbox"})})]})]})]}),b(s.Stack,{mt:"xs",spacing:"xs",p:"md",mb:"xl",sx:{border:"1px solid #eee",borderRadius:"5px"},children:[l(s.Switch,{label:"Use Original Data Columns",...i.getInputProps("use_raw_columns",{type:"checkbox"})}),!i.values.use_raw_columns&&b(s.Stack,{children:[l(s.Text,{mt:"xl",mb:0,children:"Custom Columns"}),i.values.columns.map((o,u)=>b(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[b(s.Group,{position:"apart",grow:!0,children:[l(s.TextInput,{label:"Label",required:!0,sx:{flex:1},...i.getInputProps(`columns.${u}.label`)}),l(Q,{label:"Value Field",required:!0,data:n,...i.getInputProps(`columns.${u}.value_field`)}),l(Wl,{label:"Value Type",sx:{flex:1},...i.getInputProps(`columns.${u}.value_type`)})]}),l(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>i.removeListItem("columns",u),sx:{position:"absolute",top:15,right:5},children:l(_.Trash,{size:16})})]},u)),l(s.Group,{position:"center",mt:"xs",children:l(s.Button,{onClick:a,children:"Add a Column"})})]})]}),l(s.Text,{weight:500,mb:"md",children:"Current Configuration:"}),l($e.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(i.values,null,2)})]})})}const Kr=[{value:"stats",label:"Stats",Panel:Gl},{value:"rich-text",label:"Rich Text",Panel:Nl},{value:"table",label:"Table",Panel:Yl},{value:"sunburst",label:"Sunburst",Panel:$l},{value:"bar-3d",label:"Bar Chart (3D)",Panel:ul},{value:"cartesian",label:"Cartesian Chart",Panel:kl},{value:"pie",label:"Pie Chart",Panel:zl}];function Ql(){const{data:e,viz:r,setViz:t}=h.default.useContext(se),[n,i]=W.useInputState(r.type),a=r.type!==n,o=h.default.useCallback(()=>{!a||t(f=>({...f,type:n}))},[a,n]),u=f=>{t(p=>({...p,conf:f}))},c=f=>{try{u(JSON.parse(f))}catch(p){console.error(p)}},d=h.default.useMemo(()=>{var f;return(f=Kr.find(p=>p.value===n))==null?void 0:f.Panel},[n,Kr]);return b(Y,{children:[l(s.Select,{label:"Visualization",value:n,onChange:i,data:Kr,rightSection:l(s.ActionIcon,{disabled:!a,onClick:o,children:l(_.DeviceFloppy,{size:20})})}),d&&l(d,{conf:r.conf,setConf:u,data:e}),!d&&l(s.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(r.conf,null,2),onChange:c})]})}function Kl({}){return b(s.Group,{grow:!0,noWrap:!0,align:"stretch",sx:{height:"100%"},children:[l(s.Stack,{sx:{width:"40%",flexShrink:0,flexGrow:0},children:l(Ql,{})}),l(s.Box,{sx:{height:"100%",flexGrow:1,maxWidth:"60%"},children:l(al,{})})]})}function Hl({opened:e,close:r}){const{freezeLayout:t}=h.default.useContext(be),{data:n,loading:i,viz:a,title:o}=h.default.useContext(se);return h.default.useEffect(()=>{t(e)},[e]),l(s.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:r,title:o,trapFocus:!0,onDragStart:u=>{u.stopPropagation()},children:l(s.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 185px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%",padding:"16px"}},padding:"md",children:b(s.Tabs,{defaultValue:"Visualization",children:[b(s.Tabs.List,{children:[l(s.Tabs.Tab,{value:"Data",children:"Data"}),l(s.Tabs.Tab,{value:"Panel",children:"Panel"}),l(s.Tabs.Tab,{value:"Visualization",children:"Visualization"})]}),b(s.Tabs.Panel,{value:"Data",pt:"sm",children:[l(s.LoadingOverlay,{visible:i,exitTransitionDuration:0}),l(pu,{})]}),l(s.Tabs.Panel,{value:"Panel",pt:"sm",children:l(du,{})}),l(s.Tabs.Panel,{value:"Visualization",pt:"sm",children:l(Kl,{})})]})})})}var Bp="";function Jl({}){const e=Vr.useModals(),[r,t]=h.default.useState(!1),n=()=>t(!0),i=()=>t(!1),{id:a,title:o,refreshData:u}=h.default.useContext(se),{inEditMode:c}=h.default.useContext(be),{duplidatePanel:d,removePanelByID:f,viewPanelInFullScreen:p,inFullScreen:v}=h.default.useContext(Ht),y=h.default.useCallback(()=>{d(a)},[d,a]),P=()=>e.openConfirmModal({title:"Delete this panel?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>f(a)}),j=h.default.useCallback(()=>{p(a)},[a,p]);return b(s.Box,{sx:{position:"relative"},children:[l(s.Box,{sx:{position:"absolute",left:0,top:0,height:28},children:l(Nn,{})}),l(s.Group,{grow:!0,position:"center",px:20,className:"panel-title-wrapper",sx:{flexGrow:1},children:b(s.Menu,{children:[l(s.Menu.Target,{children:l(s.Text,{lineClamp:1,weight:"bold",children:o})}),b(s.Menu.Dropdown,{children:[l(s.Menu.Item,{onClick:u,icon:l(_.Refresh,{size:14}),children:"Refresh"}),!v&&l(s.Menu.Item,{onClick:j,icon:l(_.ArrowsMaximize,{size:14}),children:"Full Screen"}),c&&b(Y,{children:[l(s.Divider,{label:"Edit",labelPosition:"center"}),l(s.Menu.Item,{onClick:n,icon:l(_.Settings,{size:14}),children:"Settings"}),l(s.Menu.Item,{onClick:y,icon:l(_.Copy,{size:14}),children:"Duplicate"}),l(s.Menu.Item,{color:"red",onClick:P,icon:l(_.Trash,{size:14}),children:"Delete"})]})]})]})}),c&&l(Hl,{opened:r,close:i})]})}var Gp="";function ir({viz:e,queryID:r,title:t,description:n,update:i,layout:a,id:o}){const u=h.default.useContext(Ie),c=h.default.useContext(Ye),d=h.default.useContext(ce),[f,p]=h.default.useState(t),[v,y]=h.default.useState(n),[P,j]=h.default.useState(r),[I,$]=h.default.useState(e),he=h.default.useMemo(()=>{if(!!P)return d.queries.find(_t=>_t.id===P)},[P,d.queries]);h.default.useEffect(()=>{i==null||i({id:o,layout:a,title:f,description:v,queryID:P,viz:I})},[f,v,he,I,o,a,P]);const{data:Z=[],loading:k,refresh:U}=Be.useRequest(Mn({context:u,definitions:d,filterValues:c,title:f,query:he}),{refreshDeps:[u,d,he,c]}),ee=U;return l(se.Provider,{value:{id:o,data:Z,loading:k,title:f,setTitle:p,description:v,setDescription:y,queryID:P,setQueryID:j,viz:I,setViz:$,refreshData:ee},children:b(s.Container,{className:"panel-root",children:[l(Jl,{}),l(ui,{viz:I,data:Z,loading:k})]})})}var $p="";const Xl=Rr.WidthProvider(In.default);function di({panels:e,setPanels:r,className:t="layout",rowHeight:n=10,isDraggable:i,isResizable:a}){const o=h.default.useCallback(u=>{const c=new Map;u.forEach(({i:f,...p})=>{c.set(f,p)});const d=e.map(f=>({...f,layout:c.get(f.id)}));r(d)},[e,r]);return l(Xl,{onLayoutChange:o,className:`dashboard-layout ${t}`,rowHeight:n,isDraggable:i,isResizable:a,children:e.map(({id:u,...c},d)=>l("div",{"data-grid":c.layout,children:l(ir,{id:u,...c,update:f=>{r(p=>(p.splice(d,1,f),[...p]))}})},u))})}function Hr(e,r){return b(s.Text,{size:"xs",sx:{svg:{verticalAlign:"bottom"}},children:[e," ",r]})}function Zl({mode:e,setMode:r}){return l(s.SegmentedControl,{size:"xs",value:e,onChange:r,data:[{label:Hr(l(_.PlayerPlay,{size:20}),"Use"),value:le.Use},{label:Hr(l(_.Resize,{size:20}),"Edit Layout"),value:le.Layout},{label:Hr(l(_.Paint,{size:20}),"Edit Content"),value:le.Edit}]})}const es=`
|
|
12
12
|
-- You may reference global variables in SQL or VizConfig.
|
|
13
13
|
SELECT *
|
|
14
14
|
FROM commit
|
|
@@ -20,4 +20,21 @@ WHERE
|
|
|
20
20
|
-- SQL snippets
|
|
21
21
|
AND \${sql_snippets.author_email_condition}
|
|
22
22
|
\${sql_snippets.order_by_clause}
|
|
23
|
-
`;function Ct({showSQLSnippets:e=!0,sx:n={}}){const r=c.default.useContext(E),i=c.default.useContext(U),{sqlSnippets:a}=c.default.useContext(L),o=c.default.useMemo(()=>{const u={context:r,filters:i};if(e){const s=a.reduce((p,m)=>(p[m.key]=m.value,p),{});u.sql_snippets=s}return JSON.stringify(u,null,2)},[r,a,i,e]);return f(l.Stack,{sx:{border:"1px solid #eee",maxWidth:"40%",overflow:"hidden",...n},children:[t(l.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:t(l.Text,{weight:500,children:"Global Variables"})}),f(l.Stack,{px:"md",pb:"md",sx:{width:"100%"},children:[t(X.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:Ql}),t(l.Text,{weight:500,sx:{flexGrow:0},children:"Current Values"}),t(X.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:o})]})]})}function vt({value:e}){const n=c.default.useContext(E),r=c.default.useContext(U),i=c.default.useContext(L),a=c.default.useMemo(()=>Et(e,n,i,r),[e,n,i,r]);return t(X.Prism,{language:"sql",colorScheme:"light",children:a})}function jl({value:e,onChange:n}){const r=ee.useForm({initialValues:e}),i=c.default.useCallback(m=>{n(m)},[n]),a=c.default.useMemo(()=>!C.default.isEqual(e,r.values),[e,r.values]);c.default.useEffect(()=>{r.reset()},[e]);const{data:o=[],loading:u}=J.useRequest(Re,{refreshDeps:[]},[]),s=c.default.useMemo(()=>Array.from(new Set(o.map(({type:d})=>d))).map(d=>({label:d,value:d})),[o]),p=c.default.useMemo(()=>{const m=o.filter(({type:d})=>d===r.values.type);return m?m.map(({key:d})=>({label:d,value:d})):[]},[o,r.values.type]);return t(l.Stack,{sx:{border:"1px solid #eee",flexGrow:1},children:f("form",{onSubmit:r.onSubmit(i),children:[f(l.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[t(l.Text,{weight:500,children:"Edit Query"}),t(l.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!a||u,children:t(g.DeviceFloppy,{size:20})})]}),f(l.Stack,{my:0,p:"md",pr:40,children:[f(l.Group,{grow:!0,children:[t(l.TextInput,{placeholder:"An ID unique in this dashboard",label:"ID",required:!0,sx:{flex:1},disabled:u,...r.getInputProps("id")}),t(l.Select,{label:"Data Source Type",data:s,sx:{flex:1},disabled:u,...r.getInputProps("type")}),t(l.Select,{label:"Data Source Key",data:p,sx:{flex:1},disabled:u,...r.getInputProps("key")})]}),f(l.Tabs,{defaultValue:"SQL",children:[f(l.Tabs.List,{children:[t(l.Tabs.Tab,{value:"SQL",children:"SQL"}),t(l.Tabs.Tab,{value:"Preview",children:"Preview"})]}),t(l.Tabs.Panel,{value:"SQL",pt:"sm",children:t(l.Textarea,{autosize:!0,minRows:12,maxRows:24,...r.getInputProps("sql"),className:"code-textarea"})}),t(l.Tabs.Panel,{value:"Preview",pt:"sm",children:t(vt,{value:r.values.sql})})]})]})]})})}function Wl({id:e,setID:n}){const{queries:r,setQueries:i}=c.default.useContext(L),a=c.default.useMemo(()=>r.find(u=>u.id===e),[r,e]),o=c.default.useCallback(u=>{if(r.findIndex(p=>p.id===e)===-1){console.error(new Error("Invalid data source id when updating by id"));return}i(p=>{const m=p.findIndex(d=>d.id===e);return p.splice(m,1,u),[...p]}),n(u.id)},[e,r,i,n]);return e?a?t(jl,{value:a,onChange:o}):t("span",{children:"Invalid Data Source ID"}):null}function Ul({id:e,setID:n}){const{queries:r,setQueries:i}=c.default.useContext(L),a=c.default.useCallback(()=>{var s,p;n((p=(s=r[0])==null?void 0:s.id)!=null?p:"")},[n,r]);c.default.useEffect(()=>{if(!e){a();return}r.findIndex(p=>p.id===e)===-1&&a()},[e,r,a]);const o=c.default.useMemo(()=>r.map(s=>({value:s.id,label:s.id})),[r]),u=c.default.useCallback(()=>{const s={id:A.randomId(),type:"postgresql",key:"",sql:""};i(p=>[...p,s]),n(s.id)},[i,n]);return t(l.Group,{pb:"xl",children:f(l.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[t(l.Text,{children:"Select a Query"}),t(l.Select,{data:o,value:e,onChange:n,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}}),t(l.Text,{children:"or"}),t(l.Group,{position:"center",mt:"md",children:t(l.Button,{onClick:u,children:"Add a Query"})})]})})}function Yl({}){const[e,n]=c.default.useState("");return f(l.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 225px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%",padding:0,margin:0}},padding:"md",children:[f(l.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[f(l.Stack,{sx:{flexGrow:1,maxWidth:"calc(60% - 16px)"},children:[t(Ul,{id:e,setID:n}),t(Wl,{id:e,setID:n})]}),t(Ct,{})]}),t(Ue,{id:e})]})}function Jl({value:e}){const n=c.default.useContext(E),r=c.default.useMemo(()=>Vt(e,n),[e,n]);return f(l.Stack,{children:[t(l.Text,{children:"Preview"}),t(X.Prism,{language:"sql",noCopy:!0,colorScheme:"dark",children:r})]})}function Xl({}){const{sqlSnippets:e,setSQLSnippets:n}=c.default.useContext(L),r=c.default.useMemo(()=>({snippets:e!=null?e:[]}),[e]),i=ee.useForm({initialValues:r}),a=()=>i.insertListItem("snippets",{key:A.randomId(),value:""}),o=c.default.useMemo(()=>!C.default.isEqual(i.values,r),[i.values,r]),u=({snippets:s})=>{n(s)};return t(l.Stack,{sx:{border:"1px solid #eee",flexGrow:1},children:f("form",{onSubmit:i.onSubmit(u),children:[f(l.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:[t(l.Text,{weight:500,children:"SQL Snippets"}),t(l.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!o,children:t(g.DeviceFloppy,{size:20})})]}),t(l.Group,{px:"md",pb:"md",pt:"md",children:f(l.Stack,{sx:{width:"100%",position:"relative"},children:[i.values.snippets.map((s,p)=>f(l.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[t(l.TextInput,{label:"Key",required:!0,...i.getInputProps(`snippets.${p}.key`)}),t(l.Textarea,{minRows:3,label:"Value",required:!0,...i.getInputProps(`snippets.${p}.value`),className:"code-textarea"}),t(Jl,{value:i.values.snippets[p].value}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>i.removeListItem("snippets",p),sx:{position:"absolute",top:15,right:5},children:t(g.Trash,{size:16})})]},p)),t(l.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"40%"},mx:"auto",children:t(l.Button,{variant:"default",onClick:a,children:"Add a snippet"})})]})})]})})}function Kl({}){return t(l.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 225px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%",padding:0,margin:0}},padding:"md",children:f(l.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[t(Xl,{}),t(Ct,{showSQLSnippets:!1})]})})}function Zl({opened:e,close:n}){const{freezeLayout:r}=c.default.useContext(O);return c.default.useEffect(()=>{r(e)},[e]),t(l.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:n,title:"Data Settings",trapFocus:!0,onDragStart:i=>{i.stopPropagation()},children:f(l.Tabs,{defaultValue:"Queries",children:[f(l.Tabs.List,{children:[t(l.Tabs.Tab,{value:"SQL Snippet",children:"SQL Snippet"}),t(l.Tabs.Tab,{value:"Queries",children:"Queries"})]}),t(l.Tabs.Panel,{value:"SQL Snippet",pt:"sm",children:t(Kl,{})}),t(l.Tabs.Panel,{value:"Queries",pt:"sm",children:t(Yl,{})})]})})}function Hl({opened:e,close:n,getCurrentSchema:r}){const{freezeLayout:i}=c.default.useContext(O);c.default.useEffect(()=>{i(e)},[e]);const a=c.default.useMemo(()=>JSON.stringify(r(),null,2),[e]);return t(l.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:n,title:"This dashboard is described by this schema",trapFocus:!0,onDragStart:o=>{o.stopPropagation()},children:t(X.Prism,{language:"json",sx:{width:"100%"},colorScheme:"dark",children:a})})}function er({field:e,index:n,control:r}){return t(D,{children:t(b.Controller,{name:`filters.${n}.config.default_value`,control:r,render:({field:i})=>t(l.Checkbox,{checked:i.value,onChange:a=>i.onChange(a.currentTarget.checked),label:"Default Checked"})})})}const tr=[{label:"2022",value:"YYYY"},{label:"2022-01",value:"YYYY-MM"},{label:"2022-01-01",value:"YYYY-MM-DD"}];function nr({field:e,index:n,control:r}){return f(D,{children:[f(l.Group,{children:[t(b.Controller,{name:`filters.${n}.config.required`,control:r,render:({field:i})=>t(l.Checkbox,{checked:i.value,onChange:a=>i.onChange(a.currentTarget.checked),label:"Required"})}),t(b.Controller,{name:`filters.${n}.config.clearable`,control:r,render:({field:i})=>t(l.Checkbox,{checked:i.value,onChange:a=>i.onChange(a.currentTarget.checked),label:"Clearable"})})]}),t(b.Controller,{name:`filters.${n}.config.inputFormat`,control:r,render:({field:i})=>t(l.Select,{data:tr,label:"Display Format",...i})})]})}function lr({value:e,onChange:n}){const{data:r=[],loading:i}=J.useRequest(Re,{refreshDeps:[]},[]),a=c.default.useMemo(()=>Array.from(new Set(r.map(({type:s})=>s))).map(s=>({label:s,value:s})),[r]),o=c.default.useMemo(()=>{const u=r.filter(({type:s})=>s===e.type);return u?u.map(({key:s})=>({label:s,value:s})):[]},[r,e.type]);return f(l.Group,{grow:!0,children:[t(l.Select,{label:"Data Source Type",data:a,sx:{flex:1},disabled:i,value:e.type,onChange:u=>{n({...e,type:u})}}),t(l.Select,{label:"Data Source Key",data:o,sx:{flex:1},disabled:i,value:e.key,onChange:u=>{n({...e,key:u})}})]})}const wt=c.default.forwardRef(function({value:n,onChange:r},i){return f(l.Stack,{my:0,children:[t(lr,{value:n,onChange:r}),f(l.Tabs,{defaultValue:"SQL",children:[f(l.Tabs.List,{children:[t(l.Tabs.Tab,{value:"SQL",children:"SQL"}),t(l.Tabs.Tab,{value:"Preview",children:"Preview"})]}),t(l.Tabs.Panel,{value:"SQL",pt:"sm",children:t(l.Textarea,{autosize:!0,minRows:12,maxRows:24,className:"code-textarea",value:n.sql,onChange:a=>{r({...n,sql:a.currentTarget.value})},placeholder:"SELECT name AS label, id AS value"})}),t(l.Tabs.Panel,{value:"Preview",pt:"sm",children:t(vt,{value:n.sql})})]})]})});function rr({field:e,index:n,control:r,watch:i}){const{fields:a,append:o,remove:u}=b.useFieldArray({control:r,name:`filters.${n}.config.static_options`}),s=i(`filters.${n}.config.static_options`),p=()=>{o({label:"",value:""})},m=[{label:"No default selection",value:""},...s];return f(D,{children:[t(l.Divider,{label:"Configure options",labelPosition:"center"}),a.length>0&&t(b.Controller,{name:`filters.${n}.config.default_value`,control:r,render:({field:d})=>t(l.MultiSelect,{label:"Default Selection",data:m,...d})}),a.map((d,h)=>f(l.Group,{sx:{position:"relative"},pr:"40px",children:[t(b.Controller,{name:`filters.${n}.config.static_options.${h}.label`,control:r,render:({field:x})=>t(l.TextInput,{label:"Label",required:!0,...x,sx:{flexGrow:1}})}),t(b.Controller,{name:`filters.${n}.config.static_options.${h}.value`,control:r,render:({field:x})=>t(l.TextInput,{label:"Value",required:!0,...x,sx:{flexGrow:1}})}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>u(h),sx:{position:"absolute",top:28,right:5},children:t(g.Trash,{size:16})})]})),t(l.Button,{size:"xs",color:"blue",leftIcon:t(g.PlaylistAdd,{size:20}),onClick:p,sx:{width:"50%"},mx:"auto",children:"Add an Option"}),t(l.Divider,{label:"Or fetch options from database",labelPosition:"center"}),t(b.Controller,{name:`filters.${n}.config.options_query`,control:r,render:({field:d})=>t(wt,{...d})})]})}function ir({field:e,index:n,control:r,watch:i}){const{fields:a,append:o,remove:u}=b.useFieldArray({control:r,name:`filters.${n}.config.static_options`}),s=i(`filters.${n}.config.static_options`),p=()=>{o({label:"",value:""})},m=[{label:"No default selection",value:""},...s];return f(D,{children:[t(b.Controller,{name:`filters.${n}.config.required`,control:r,render:({field:d})=>t(l.Checkbox,{checked:d.value,onChange:h=>d.onChange(h.currentTarget.checked),label:"Required"})}),t(l.Divider,{label:"Configure options",labelPosition:"center"}),a.length>0&&t(b.Controller,{name:`filters.${n}.config.default_value`,control:r,render:({field:d})=>t(l.Select,{label:"Default Selection",data:m,...d})}),a.map((d,h)=>f(l.Group,{sx:{position:"relative"},pr:"40px",children:[t(b.Controller,{name:`filters.${n}.config.static_options.${h}.label`,control:r,render:({field:x})=>t(l.TextInput,{label:"Label",required:!0,...x,sx:{flexGrow:1}})}),t(b.Controller,{name:`filters.${n}.config.static_options.${h}.value`,control:r,render:({field:x})=>t(l.TextInput,{label:"Value",required:!0,...x,sx:{flexGrow:1}})}),t(l.ActionIcon,{color:"red",variant:"subtle",onClick:()=>u(h),sx:{position:"absolute",top:28,right:5},children:t(g.Trash,{size:16})})]})),t(l.Button,{size:"xs",color:"blue",leftIcon:t(g.PlaylistAdd,{size:20}),onClick:p,sx:{width:"50%"},mx:"auto",children:"Add an Option"}),t(l.Divider,{label:"Or fetch options from database",labelPosition:"center"}),t(b.Controller,{name:`filters.${n}.config.options_query`,control:r,render:({field:d})=>t(wt,{...d})})]})}function ar({field:e,index:n,control:r}){return f(D,{children:[t(b.Controller,{name:`filters.${n}.config.default_value`,control:r,render:({field:i})=>t(l.TextInput,{label:"Default Value",...i})}),t(b.Controller,{name:`filters.${n}.config.required`,control:r,render:({field:i})=>t(l.Checkbox,{checked:i.value,onChange:a=>i.onChange(a.currentTarget.checked),label:"Required"})})]})}function sr({label:e,config:{default_value:n,...r},value:i,onChange:a}){return f(l.Box,{children:[t(l.Text,{children:"\xA0"}),t(l.Checkbox,{label:e,checked:i,onChange:o=>a(o.currentTarget.checked),...r})]})}function or({label:e,config:n,value:r,onChange:i}){return t(Lt.DateRangePicker,{label:e,value:r,onChange:i,icon:t(g.Calendar,{size:16}),sx:{minWidth:"14em"},...n})}function ur({label:e,config:n,value:r,onChange:i}){const a=!!n.options_query.sql,{data:o=[],loading:u}=J.useRequest(Ee(n.options_query),{refreshDeps:[n.options_query,a]});return t(l.MultiSelect,{label:e,data:a?o:n.static_options,disabled:a?u:!1,value:r,onChange:i})}function dr({label:e,config:n,value:r,onChange:i}){const a=!!n.options_query.sql,{data:o=[],loading:u}=J.useRequest(Ee(n.options_query),{refreshDeps:[n.options_query,a]});return t(l.Select,{label:e,data:a?o:n.static_options,disabled:a?u:!1,value:r,onChange:i})}function cr({label:e,config:n,value:r,onChange:i}){return t(l.TextInput,{label:e,value:r,onChange:i,...n})}function fr({type:e,config:n,...r},i){switch(e){case"select":return t(dr,{...r,...i,config:n});case"multi-select":return t(ur,{...r,...i,config:n});case"text-input":return t(cr,{...r,...i,config:n});case"date-range":return t(or,{...r,...i,config:n});case"checkbox":return t(sr,{...r,...i,config:n});default:return null}}const Tt=c.default.forwardRef(function({filter:n,...r},i){return t("div",{className:"filter-root",ref:i,children:t(fe,{children:fr(n,r)})})});function pr({filter:e,index:n,watch:r}){const i=e.config.default_value,[a,o]=c.default.useState(i);return c.default.useEffect(()=>{o(i)},[i]),f(l.Box,{sx:{maxWidth:"30em"},children:[t(l.Text,{pb:"md",color:"gray",children:"Preview"}),t(Tt,{filter:e,value:a,onChange:o}),t("pre",{children:JSON.stringify(e,null,4)})]})}const hr={select:ir,"multi-select":rr,"text-input":ar,checkbox:er,"date-range":nr},mr=[{label:"Select",value:"select"},{label:"Multi Select",value:"multi-select"},{label:"Text Input",value:"text-input"},{label:"Checkbox",value:"checkbox"},{label:"Date Range",value:"date-range"}];function xr({field:e,index:n,control:r,watch:i}){const a=c.default.useMemo(()=>hr[e.type],[e.type]);return f(l.SimpleGrid,{cols:2,children:[f(l.Box,{pl:"md",children:[t(l.Text,{pb:"md",color:"gray",children:"Edit"}),f(l.Stack,{sx:{maxWidth:"30em"},children:[t(b.Controller,{name:`filters.${n}.order`,control:r,render:({field:o})=>t(l.TextInput,{label:"Placement Order",required:!0,...o})}),t(b.Controller,{name:`filters.${n}.key`,control:r,render:({field:o})=>t(l.TextInput,{label:"Key",placeholder:"A unique key to refer",required:!0,...o})}),t(b.Controller,{name:`filters.${n}.label`,control:r,render:({field:o})=>t(l.TextInput,{label:"Label",placeholder:"Label for this field",required:!0,...o})}),t(b.Controller,{name:`filters.${n}.type`,control:r,render:({field:o})=>t(l.Select,{label:"Widget",data:mr,required:!0,...o})}),t(a,{field:e,index:n,control:r,watch:i})]})]}),t(pr,{filter:e,index:n,watch:i})]})}function br({filters:e,setFilters:n}){var q;const{control:r,handleSubmit:i,watch:a,setValue:o}=b.useForm({defaultValues:{filters:e!=null?e:[]}}),{fields:u,append:s,remove:p,replace:m}=b.useFieldArray({control:r,name:"filters"}),d=a("filters"),h=u.map((T,z)=>({...T,...d[z]})),x=()=>{const T=A.randomId(),z={key:T,label:T,order:e.length+1,type:"text-input",config:{required:!1,default_value:""}};s(z)},y=T=>{p(T)},v=c.default.useCallback(()=>{m(e)},[e]),w=C.default.isEqual(e,d),_=c.default.useCallback(({filters:T})=>{n(T)},[n]);return t(l.Group,{sx:{height:"90vh",maxHeight:"calc(100vh - 185px)"},p:0,children:f("form",{onSubmit:i(_),style:{height:"100%",width:"100%"},children:[f(l.Group,{sx:{position:"absolute",top:"16px",right:"16px"},children:[t(l.Button,{size:"xs",color:"green",leftIcon:t(g.DeviceFloppy,{size:20}),type:"submit",disabled:w,children:"Save Changes"}),t(l.Button,{size:"xs",color:"red",leftIcon:t(g.Recycle,{size:20}),disabled:w,onClick:v,children:"Revert Changes"})]}),t(l.Tabs,{orientation:"vertical",defaultValue:(q=h[0])==null?void 0:q.id,children:f(l.Group,{sx:{height:"100%"},children:[f(l.Stack,{sx:{height:"100%"},children:[t(l.Tabs.List,{position:"left",sx:{flexGrow:1},children:h.map((T,z)=>t(l.Tabs.Tab,{value:T.id,children:T.label},T.id))}),t(l.Button,{size:"xs",color:"blue",leftIcon:t(g.PlaylistAdd,{size:20}),onClick:x,children:"Add a Filter"})]}),t(l.Box,{sx:{flexGrow:1,height:"100%"},children:h.map((T,z)=>t(l.Tabs.Panel,{value:T.id,sx:{height:"100%"},children:f(l.Stack,{sx:{height:"100%"},spacing:"sm",children:[t(l.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"scroll"},children:t(xr,{field:T,index:z,control:r,watch:a})}),t(l.Group,{position:"right",pt:10,children:t(l.Button,{size:"xs",color:"red",leftIcon:t(g.Trash,{size:20}),onClick:()=>y(z),children:"Delete this filter"})})]})},T.id))})]})})]})})}function gr({opened:e,close:n,filters:r,setFilters:i}){const{freezeLayout:a}=c.default.useContext(O);return c.default.useEffect(()=>{a(e)},[e]),t(l.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:n,title:"Filters",trapFocus:!0,onDragStart:o=>{o.stopPropagation()},withCloseButton:!1,children:t(br,{filters:r,setFilters:i})})}function yr({mode:e,setMode:n,hasChanges:r,saveChanges:i,revertChanges:a,getCurrentSchema:o,filters:u,setFilters:s}){const{addPanel:p}=c.default.useContext(ue),{inLayoutMode:m,inEditMode:d,inUseMode:h}=c.default.useContext(O),[x,y]=c.default.useState(!1),v=()=>y(!0),w=()=>y(!1),[_,q]=c.default.useState(!1),T=()=>q(!0),z=()=>q(!1),[K,Z]=c.default.useState(!1),re=()=>Z(!0),ie=()=>Z(!1);return f(l.Group,{position:"apart",pt:0,pb:"xs",children:[t(l.Group,{position:"left",children:t(Nl,{mode:e,setMode:n})}),f(l.Group,{position:"right",children:[!h&&t(l.Button,{variant:"default",size:"xs",onClick:p,leftIcon:t(g.PlaylistAdd,{size:20}),children:"Add a Panel"}),d&&t(l.Button,{variant:"default",size:"xs",onClick:T,leftIcon:t(g.Filter,{size:20}),children:"Filters"}),d&&t(l.Button,{variant:"default",size:"xs",onClick:v,leftIcon:t(g.Database,{size:20}),children:"Data Settings"}),!h&&t(l.Button,{variant:"default",size:"xs",onClick:i,disabled:!r,leftIcon:t(g.DeviceFloppy,{size:20}),children:"Save Changes"}),!h&&t(l.Button,{color:"red",size:"xs",disabled:!r,onClick:a,leftIcon:t(g.Recycle,{size:20}),children:"Revert Changes"}),f(l.Menu,{children:[t(l.Menu.Target,{children:t(l.Button,{variant:"default",size:"xs",leftIcon:t(g.Share,{size:20}),children:"Export"})}),f(l.Menu.Dropdown,{children:[t(l.Menu.Item,{disabled:!0,children:"Download Data"}),t(l.Menu.Item,{onClick:re,children:"View Schema"})]})]})]}),t(gr,{opened:_,close:z,filters:u,setFilters:s}),t(Zl,{opened:x,close:w}),t(Hl,{opened:K,close:ie,getCurrentSchema:o})]})}function _t({panel:e,exitFullScreen:n}){return f(l.Stack,{sx:{flexGrow:1,justifyContent:"flex-start"},children:[t(l.Group,{sx:{flexGrow:0},children:t(l.Button,{variant:"default",size:"sm",onClick:n,leftIcon:t(g.ArrowLeft,{size:20}),children:"Exit fullscreen"})}),t(l.Group,{grow:!0,sx:{flexGrow:1,flexShrink:0},children:t(be,{...e})})]})}function zt(e){const[n,r]=c.default.useState(null),i=c.default.useCallback(s=>{r(s)},[]),a=c.default.useCallback(()=>{r(null)},[]),o=c.default.useMemo(()=>e.find(s=>s.id===n),[n,e]);return{viewPanelInFullScreen:i,exitFullScreen:a,inFullScreen:!!o,fullScreenPanel:o}}function Pt({filters:e,filterValues:n,setFilterValues:r}){const{control:i,handleSubmit:a}=b.useForm({defaultValues:n}),o=c.default.useMemo(()=>C.default.sortBy(e,"order"),[e]);return e.length===0?null:t("form",{onSubmit:a(r),children:f(l.Group,{className:"dashboard-filters",position:"apart",p:"md",mb:"md",noWrap:!0,sx:{boxShadow:"0px 0px 10px 0px rgba(0,0,0,.2)"},children:[t(l.Group,{align:"flex-start",children:o.map(u=>t(b.Controller,{name:u.key,control:i,render:({field:s})=>t(Tt,{filter:u,...s})},u.key))}),t(l.Group,{sx:{alignSelf:"flex-end"},children:t(l.Button,{color:"blue",size:"sm",type:"submit",children:"Submit"})})]})})}function At(e){const[n,r]=c.default.useState(e.filters),[i,a]=c.default.useState(()=>e.filters.reduce((u,s)=>{var p;return u[s.key]=(p=s.config.default_value)!=null?p:"",u},{}));return{filters:n,setFilters:r,filterValues:i,setFilterValues:a}}function Sr({context:e,dashboard:n,update:r,className:i="dashboard",config:a}){W.baseURL!==a.apiBaseURL&&(W.baseURL=a.apiBaseURL);const[o,u]=c.default.useState(!1),[s,p]=c.default.useState(I.Edit),[m,d]=c.default.useState(n.panels),[h,x]=c.default.useState(n.definition.sqlSnippets),[y,v]=c.default.useState(n.definition.queries),{filters:w,setFilters:_,filterValues:q,setFilterValues:T}=At(n),z=c.default.useMemo(()=>{if(!C.default.isEqual(w,n.filters))return!0;const M=$=>JSON.parse(JSON.stringify($));return!C.default.isEqual(M(m),M(n.panels))||!C.default.isEqual(h,n.definition.sqlSnippets)?!0:!C.default.isEqual(y,n.definition.queries)},[n,w,m,h,y]),K=async()=>{const M={...n,filters:w,panels:m,definition:{sqlSnippets:h,queries:y}};await r(M)},Z=()=>{_(n.filters),d(n.panels),x(n.definition.sqlSnippets),v(n.definition.queries)},re=()=>{const M=A.randomId(),F={id:M,layout:{x:0,y:1/0,w:3,h:15},title:`Panel - ${M}`,description:"<p><br></p>",queryID:"",viz:{type:"table",conf:{}}};d($=>[...$,F])},ie=M=>{try{const F=m.find(Oe=>Oe.id===M);if(!F)throw new Error(`[duplicate panel] Can't find a panel by id[${M}]`);const $={...F,id:A.randomId(),layout:{...F.layout,x:0,y:1/0}};d(Oe=>[...Oe,$])}catch(F){console.error(F)}},Tr=M=>{const F=m.findIndex($=>$.id===M);d($=>($.splice(F,1),[...$]))},_r=s===I.Edit,Ge=s===I.Layout,zr=s===I.Use,Pr=c.default.useMemo(()=>({sqlSnippets:h,setSQLSnippets:x,queries:y,setQueries:v}),[h,x,y,v]),Ar=c.default.useCallback(()=>({panels:m,definition:{sqlSnippets:h,queries:y}}),[h,y,m]),{viewPanelInFullScreen:Dr,exitFullScreen:kr,inFullScreen:Le,fullScreenPanel:qr}=zt(m);return t(ye.ModalsProvider,{children:t(E.Provider,{value:e,children:t(U.Provider,{value:q,children:t(ue.Provider,{value:{addPanel:re,duplidatePanel:ie,removePanelByID:Tr,viewPanelInFullScreen:Dr,inFullScreen:Le},children:t(L.Provider,{value:Pr,children:f(O.Provider,{value:{layoutFrozen:o,freezeLayout:u,mode:s,inEditMode:_r,inLayoutMode:Ge,inUseMode:zr},children:[Le&&t(_t,{panel:qr,exitFullScreen:kr}),f(l.Box,{className:i,sx:{position:"relative",display:Le?"none":"block"},children:[t(yr,{mode:s,setMode:p,hasChanges:z,saveChanges:K,revertChanges:Z,getCurrentSchema:Ar,filters:w,setFilters:_}),t(Pt,{filters:w,filterValues:q,setFilterValues:T}),t(St,{panels:m,setPanels:d,isDraggable:Ge,isResizable:Ge})]})]})})})})})})}const Cr=ge.WidthProvider($e.default);function vr({panels:e,className:n="layout",rowHeight:r=10}){return t(Cr,{className:`dashboard-layout ${n}`,rowHeight:r,isDraggable:!1,isResizable:!1,children:e.map(({id:i,...a})=>t("div",{"data-grid":a.layout,children:t(be,{id:i,...a})},i))})}function wr({context:e,dashboard:n,className:r="dashboard",config:i}){W.baseURL!==i.apiBaseURL&&(W.baseURL=i.apiBaseURL);const{filters:a,filterValues:o,setFilterValues:u}=At(n),s=c.default.useMemo(()=>({...n.definition,setSQLSnippets:()=>{},setQueries:()=>{}}),[n]),{viewPanelInFullScreen:p,exitFullScreen:m,inFullScreen:d,fullScreenPanel:h}=zt(n.panels);return t(ye.ModalsProvider,{children:t(E.Provider,{value:e,children:t(U.Provider,{value:o,children:t(ue.Provider,{value:{addPanel:C.default.noop,duplidatePanel:C.default.noop,removePanelByID:C.default.noop,viewPanelInFullScreen:p,inFullScreen:d},children:t(L.Provider,{value:s,children:f(O.Provider,{value:{layoutFrozen:!0,freezeLayout:()=>{},mode:I.Use,inEditMode:!1,inLayoutMode:!1,inUseMode:!0},children:[d&&t(_t,{panel:h,exitFullScreen:m}),f(l.Box,{className:r,sx:{display:d?"none":"block"},children:[t(Pt,{filters:a,filterValues:o,setFilterValues:u}),t(vr,{panels:n.panels})]})]})})})})})})}S.ContextInfoContext=E,S.Dashboard=Sr,S.DashboardLayout=St,S.DashboardMode=I,S.DefinitionContext=L,S.FilterValuesContext=U,S.LayoutStateContext=O,S.Panel=be,S.PanelContext=G,S.ReadOnlyDashboard=wr,S.initialContextInfoContext=Bt,S.initialFilterValuesContext=jt,Object.defineProperties(S,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
23
|
+
`;function pi({showSQLSnippets:e=!0,sx:r={}}){const t=h.default.useContext(Ie),n=h.default.useContext(Ye),{sqlSnippets:i}=h.default.useContext(ce),a=h.default.useMemo(()=>{const o={context:t,filters:n};if(e){const u=i.reduce((c,d)=>(c[d.key]=d.value,c),{});o.sql_snippets=u}return JSON.stringify(o,null,2)},[t,i,n,e]);return b(s.Stack,{sx:{border:"1px solid #eee",maxWidth:"40%",overflow:"hidden",...r},children:[l(s.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:l(s.Text,{weight:500,children:"Global Variables"})}),b(s.Stack,{px:"md",pb:"md",sx:{width:"100%"},children:[l($e.Prism,{language:"sql",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:es}),l(s.Text,{weight:500,sx:{flexGrow:0},children:"Current Values"}),l($e.Prism,{language:"json",sx:{width:"100%"},noCopy:!0,colorScheme:"dark",children:a})]})]})}function hi({value:e}){const r=h.default.useContext(Ie),t=h.default.useContext(Ye),n=h.default.useContext(ce),i=h.default.useMemo(()=>Jo(e,r,n,t),[e,r,n,t]);return l($e.Prism,{language:"sql",colorScheme:"light",children:i})}function ts({value:e,onChange:r}){const t=St.useForm({initialValues:e}),n=h.default.useCallback(d=>{r(d)},[r]),i=h.default.useMemo(()=>!C.default.isEqual(e,t.values),[e,t.values]);h.default.useEffect(()=>{t.reset()},[e]);const{data:a=[],loading:o}=Be.useRequest(Rn,{refreshDeps:[]},[]),u=h.default.useMemo(()=>Array.from(new Set(a.map(({type:f})=>f))).map(f=>({label:f,value:f})),[a]),c=h.default.useMemo(()=>{const d=a.filter(({type:f})=>f===t.values.type);return d?d.map(({key:f})=>({label:f,value:f})):[]},[a,t.values.type]);return l(s.Stack,{sx:{border:"1px solid #eee",flexGrow:1},children:b("form",{onSubmit:t.onSubmit(n),children:[b(s.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[l(s.Text,{weight:500,children:"Edit Query"}),l(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!i||o,children:l(_.DeviceFloppy,{size:20})})]}),b(s.Stack,{my:0,p:"md",pr:40,children:[b(s.Group,{grow:!0,children:[l(s.TextInput,{placeholder:"An ID unique in this dashboard",label:"ID",required:!0,sx:{flex:1},disabled:o,...t.getInputProps("id")}),l(s.Select,{label:"Data Source Type",data:u,sx:{flex:1},disabled:o,...t.getInputProps("type")}),l(s.Select,{label:"Data Source Key",data:c,sx:{flex:1},disabled:o,...t.getInputProps("key")})]}),b(s.Tabs,{defaultValue:"SQL",children:[b(s.Tabs.List,{children:[l(s.Tabs.Tab,{value:"SQL",children:"SQL"}),l(s.Tabs.Tab,{value:"Preview",children:"Preview"})]}),l(s.Tabs.Panel,{value:"SQL",pt:"sm",children:l(s.Textarea,{autosize:!0,minRows:12,maxRows:24,...t.getInputProps("sql"),className:"code-textarea"})}),l(s.Tabs.Panel,{value:"Preview",pt:"sm",children:l(hi,{value:t.values.sql})})]})]})]})})}function rs({id:e,setID:r}){const{queries:t,setQueries:n}=h.default.useContext(ce),i=h.default.useMemo(()=>t.find(o=>o.id===e),[t,e]),a=h.default.useCallback(o=>{if(t.findIndex(c=>c.id===e)===-1){console.error(new Error("Invalid data source id when updating by id"));return}n(c=>{const d=c.findIndex(f=>f.id===e);return c.splice(d,1,o),[...c]}),r(o.id)},[e,t,n,r]);return e?i?l(ts,{value:i,onChange:a}):l("span",{children:"Invalid Data Source ID"}):null}function ns({id:e,setID:r}){const{queries:t,setQueries:n}=h.default.useContext(ce),i=h.default.useCallback(()=>{var u,c;r((c=(u=t[0])==null?void 0:u.id)!=null?c:"")},[r,t]);h.default.useEffect(()=>{if(!e){i();return}t.findIndex(c=>c.id===e)===-1&&i()},[e,t,i]);const a=h.default.useMemo(()=>t.map(u=>({value:u.id,label:u.id})),[t]),o=h.default.useCallback(()=>{const u={id:W.randomId(),type:"postgresql",key:"",sql:""};n(c=>[...c,u]),r(u.id)},[n,r]);return l(s.Group,{pb:"xl",children:b(s.Group,{position:"left",sx:{maxWidth:"600px",alignItems:"baseline"},children:[l(s.Text,{children:"Select a Query"}),l(s.Select,{data:a,value:e,onChange:r,allowDeselect:!1,clearable:!1,sx:{flexGrow:1}}),l(s.Text,{children:"or"}),l(s.Group,{position:"center",mt:"md",children:l(s.Button,{onClick:o,children:"Add a Query"})})]})})}function is({}){const[e,r]=h.default.useState("");return b(s.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 225px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%",padding:0,margin:0}},padding:"md",children:[b(s.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[b(s.Stack,{sx:{flexGrow:1,maxWidth:"calc(60% - 16px)"},children:[l(ns,{id:e,setID:r}),l(rs,{id:e,setID:r})]}),l(pi,{})]}),l(Ln,{id:e})]})}function as({value:e}){const r=h.default.useContext(Ie),t=h.default.useMemo(()=>Ho(e,r),[e,r]);return b(s.Stack,{children:[l(s.Text,{children:"Preview"}),l($e.Prism,{language:"sql",noCopy:!0,colorScheme:"dark",children:t})]})}function os({}){const{sqlSnippets:e,setSQLSnippets:r}=h.default.useContext(ce),t=h.default.useMemo(()=>({snippets:e!=null?e:[]}),[e]),n=St.useForm({initialValues:t}),i=()=>n.insertListItem("snippets",{key:W.randomId(),value:""}),a=h.default.useMemo(()=>!C.default.isEqual(n.values,t),[n.values,t]),o=({snippets:u})=>{r(u)};return l(s.Stack,{sx:{border:"1px solid #eee",flexGrow:1},children:b("form",{onSubmit:n.onSubmit(o),children:[b(s.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:[l(s.Text,{weight:500,children:"SQL Snippets"}),l(s.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!a,children:l(_.DeviceFloppy,{size:20})})]}),l(s.Group,{px:"md",pb:"md",pt:"md",children:b(s.Stack,{sx:{width:"100%",position:"relative"},children:[n.values.snippets.map((u,c)=>b(s.Stack,{my:0,p:"md",pr:40,sx:{border:"1px solid #eee",position:"relative"},children:[l(s.TextInput,{label:"Key",required:!0,...n.getInputProps(`snippets.${c}.key`)}),l(s.Textarea,{minRows:3,label:"Value",required:!0,...n.getInputProps(`snippets.${c}.value`),className:"code-textarea"}),l(as,{value:n.values.snippets[c].value}),l(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>n.removeListItem("snippets",c),sx:{position:"absolute",top:15,right:5},children:l(_.Trash,{size:16})})]},c)),l(s.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"40%"},mx:"auto",children:l(s.Button,{variant:"default",onClick:i,children:"Add a snippet"})})]})})]})})}function us({}){return l(s.AppShell,{sx:{height:"90vh",maxHeight:"calc(100vh - 225px)",".mantine-AppShell-body":{height:"100%"},main:{height:"100%",width:"100%",padding:0,margin:0}},padding:"md",children:b(s.Group,{position:"apart",grow:!0,align:"stretch",noWrap:!0,children:[l(os,{}),l(pi,{showSQLSnippets:!1})]})})}function ls({opened:e,close:r}){const{freezeLayout:t}=h.default.useContext(be);return h.default.useEffect(()=>{t(e)},[e]),l(s.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:r,title:"Data Settings",trapFocus:!0,onDragStart:n=>{n.stopPropagation()},children:b(s.Tabs,{defaultValue:"Queries",children:[b(s.Tabs.List,{children:[l(s.Tabs.Tab,{value:"SQL Snippet",children:"SQL Snippet"}),l(s.Tabs.Tab,{value:"Queries",children:"Queries"})]}),l(s.Tabs.Panel,{value:"SQL Snippet",pt:"sm",children:l(us,{})}),l(s.Tabs.Panel,{value:"Queries",pt:"sm",children:l(is,{})})]})})}function ss({opened:e,close:r,getCurrentSchema:t}){const{freezeLayout:n}=h.default.useContext(be);h.default.useEffect(()=>{n(e)},[e]);const i=h.default.useMemo(()=>JSON.stringify(t(),null,2),[e]);return l(s.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:r,title:"This dashboard is described by this schema",trapFocus:!0,onDragStart:a=>{a.stopPropagation()},children:l($e.Prism,{language:"json",sx:{width:"100%"},colorScheme:"dark",children:i})})}function A(e){for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];throw new Error(typeof e=="number"?"[MobX] minified error nr: "+e+(t.length?" "+t.map(String).join(","):"")+". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts":"[MobX] "+e)}var cs={};function Jr(){return typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:cs}var fs=Object.assign,ar=Object.getOwnPropertyDescriptor,xe=Object.defineProperty,or=Object.prototype,Xr=[];Object.freeze(Xr);var Zr={};Object.freeze(Zr);var ds=typeof Proxy!="undefined",ps=Object.toString();function bi(){ds||A("Proxy not available")}function vi(e){var r=!1;return function(){if(!r)return r=!0,e.apply(this,arguments)}}var nt=function(){};function K(e){return typeof e=="function"}function Ke(e){var r=typeof e;switch(r){case"string":case"symbol":case"number":return!0}return!1}function ur(e){return e!==null&&typeof e=="object"}function Re(e){if(!ur(e))return!1;var r=Object.getPrototypeOf(e);if(r==null)return!0;var t=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return typeof t=="function"&&t.toString()===ps}function mi(e){var r=e==null?void 0:e.constructor;return r?r.name==="GeneratorFunction"||r.displayName==="GeneratorFunction":!1}function lr(e,r,t){xe(e,r,{enumerable:!1,writable:!0,configurable:!0,value:t})}function yi(e,r,t){xe(e,r,{enumerable:!1,writable:!1,configurable:!0,value:t})}function Ve(e,r){var t="isMobX"+e;return r.prototype[t]=!0,function(n){return ur(n)&&n[t]===!0}}function it(e){return e instanceof Map}function Ct(e){return e instanceof Set}var gi=typeof Object.getOwnPropertySymbols!="undefined";function hs(e){var r=Object.keys(e);if(!gi)return r;var t=Object.getOwnPropertySymbols(e);return t.length?[].concat(r,t.filter(function(n){return or.propertyIsEnumerable.call(e,n)})):r}var sr=typeof Reflect!="undefined"&&Reflect.ownKeys?Reflect.ownKeys:gi?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function _i(e){return e===null?null:typeof e=="object"?""+e:e}function Pe(e,r){return or.hasOwnProperty.call(e,r)}var bs=Object.getOwnPropertyDescriptors||function(r){var t={};return sr(r).forEach(function(n){t[n]=ar(r,n)}),t};function wi(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function en(e,r,t){return r&&wi(e.prototype,r),t&&wi(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function at(){return at=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},at.apply(this,arguments)}function Si(e,r){e.prototype=Object.create(r.prototype),e.prototype.constructor=e,tn(e,r)}function tn(e,r){return tn=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},tn(e,r)}function Oi(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function vs(e,r){if(!!e){if(typeof e=="string")return xi(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return xi(e,r)}}function xi(e,r){(r==null||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function ot(e,r){var t=typeof Symbol!="undefined"&&e[Symbol.iterator]||e["@@iterator"];if(t)return(t=t.call(e)).next.bind(t);if(Array.isArray(e)||(t=vs(e))||r&&e&&typeof e.length=="number"){t&&(e=t);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
24
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ve=Symbol("mobx-stored-annotations");function me(e){function r(t,n){At(t,n,e)}return Object.assign(r,e)}function At(e,r,t){Pe(e,ve)||lr(e,ve,at({},e[ve])),Ps(t)||(e[ve][r]=t)}function ms(e){return Pe(e,ve)||lr(e,ve,at({},e[ve])),e[ve]}var S=Symbol("mobx administration"),jt=function(){function e(t){t===void 0&&(t="Atom"),this.name_=void 0,this.isPendingUnobservation_=!1,this.isBeingObserved_=!1,this.observers_=new Set,this.diffValue_=0,this.lastAccessedBy_=0,this.lowestObserverState_=T.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=t}var r=e.prototype;return r.onBO=function(){this.onBOL&&this.onBOL.forEach(function(n){return n()})},r.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(n){return n()})},r.reportObserved=function(){return Qi(this)},r.reportChanged=function(){B(),Ki(this),G()},r.toString=function(){return this.name_},e}(),rn=Ve("Atom",jt);function cr(e,r,t){r===void 0&&(r=nt),t===void 0&&(t=nt);var n=new jt(e);return r!==nt&&Pc(n,r),t!==nt&&aa(n,t),n}function ys(e,r){return e===r}function gs(e,r){return mn(e,r)}function _s(e,r){return mn(e,r,1)}function ws(e,r){return Object.is?Object.is(e,r):e===r?e!==0||1/e===1/r:e!==e&&r!==r}var ut={identity:ys,structural:gs,default:ws,shallow:_s};function lt(e,r,t){return da(e)?e:Array.isArray(e)?R.array(e,{name:t}):Re(e)?R.object(e,void 0,{name:t}):it(e)?R.map(e,{name:t}):Ct(e)?R.set(e,{name:t}):typeof e=="function"&&!sn(e)&&!Or(e)?mi(e)?kt(e):Vt(t,e):e}function Ss(e,r,t){if(e==null||ie(e)||ge(e)||ne(e)||pe(e))return e;if(Array.isArray(e))return R.array(e,{name:t,deep:!1});if(Re(e))return R.object(e,void 0,{name:t,deep:!1});if(it(e))return R.map(e,{name:t,deep:!1});if(Ct(e))return R.set(e,{name:t,deep:!1})}function fr(e){return e}function Os(e,r){return mn(e,r)?r:e}var xs="override";function Ps(e){return e.annotationType_===xs}function Tt(e,r){return{annotationType_:e,options_:r,make_:Cs,extend_:As}}function Cs(e,r,t,n){var i;if((i=this.options_)!=null&&i.bound)return this.extend_(e,r,t,!1)===null?0:1;if(n===e.target_)return this.extend_(e,r,t,!1)===null?0:2;if(sn(t.value))return 1;var a=Pi(e,this,r,t,!1);return xe(n,r,a),2}function As(e,r,t,n){var i=Pi(e,this,r,t);return e.defineProperty_(r,i,n)}function js(e,r,t,n){r.annotationType_,n.value}function Pi(e,r,t,n,i){var a,o,u,c,d,f,p;i===void 0&&(i=m.safeDescriptors),js(e,r,t,n);var v=n.value;if((a=r.options_)!=null&&a.bound){var y;v=v.bind((y=e.proxy_)!=null?y:e.target_)}return{value:ct((o=(u=r.options_)==null?void 0:u.name)!=null?o:t.toString(),v,(c=(d=r.options_)==null?void 0:d.autoAction)!=null?c:!1,(f=r.options_)!=null&&f.bound?(p=e.proxy_)!=null?p:e.target_:void 0),configurable:i?e.isPlainObject_:!0,enumerable:!1,writable:!i}}function Ci(e,r){return{annotationType_:e,options_:r,make_:Ts,extend_:Es}}function Ts(e,r,t,n){var i;if(n===e.target_)return this.extend_(e,r,t,!1)===null?0:2;if((i=this.options_)!=null&&i.bound&&(!Pe(e.target_,r)||!Or(e.target_[r]))&&this.extend_(e,r,t,!1)===null)return 0;if(Or(t.value))return 1;var a=Ai(e,this,r,t,!1,!1);return xe(n,r,a),2}function Es(e,r,t,n){var i,a=Ai(e,this,r,t,(i=this.options_)==null?void 0:i.bound);return e.defineProperty_(r,a,n)}function Is(e,r,t,n){r.annotationType_,n.value}function Ai(e,r,t,n,i,a){a===void 0&&(a=m.safeDescriptors),Is(e,r,t,n);var o=n.value;if(Or(o)||(o=kt(o)),i){var u;o=o.bind((u=e.proxy_)!=null?u:e.target_),o.isMobXFlow=!0}return{value:o,configurable:a?e.isPlainObject_:!0,enumerable:!1,writable:!a}}function nn(e,r){return{annotationType_:e,options_:r,make_:Ds,extend_:Ms}}function Ds(e,r,t){return this.extend_(e,r,t,!1)===null?0:1}function Ms(e,r,t,n){return Rs(e,this,r,t),e.defineComputedProperty_(r,at({},this.options_,{get:t.get,set:t.set}),n)}function Rs(e,r,t,n){r.annotationType_,n.get}function dr(e,r){return{annotationType_:e,options_:r,make_:Vs,extend_:ks}}function Vs(e,r,t){return this.extend_(e,r,t,!1)===null?0:1}function ks(e,r,t,n){var i,a;return zs(e,this),e.defineObservableProperty_(r,t.value,(i=(a=this.options_)==null?void 0:a.enhancer)!=null?i:lt,n)}function zs(e,r,t,n){r.annotationType_}var Ns="true",Ls=ji();function ji(e){return{annotationType_:Ns,options_:e,make_:Fs,extend_:qs}}function Fs(e,r,t,n){var i,a;if(t.get)return st.make_(e,r,t,n);if(t.set){var o=ct(r.toString(),t.set);return n===e.target_?e.defineProperty_(r,{configurable:m.safeDescriptors?e.isPlainObject_:!0,set:o})===null?0:2:(xe(n,r,{configurable:!0,set:o}),2)}if(n!==e.target_&&typeof t.value=="function"){var u;if(mi(t.value)){var c,d=(c=this.options_)!=null&&c.autoBind?kt.bound:kt;return d.make_(e,r,t,n)}var f=(u=this.options_)!=null&&u.autoBind?Vt.bound:Vt;return f.make_(e,r,t,n)}var p=((i=this.options_)==null?void 0:i.deep)===!1?R.ref:R;if(typeof t.value=="function"&&(a=this.options_)!=null&&a.autoBind){var v;t.value=t.value.bind((v=e.proxy_)!=null?v:e.target_)}return p.make_(e,r,t,n)}function qs(e,r,t,n){var i,a;if(t.get)return st.extend_(e,r,t,n);if(t.set)return e.defineProperty_(r,{configurable:m.safeDescriptors?e.isPlainObject_:!0,set:ct(r.toString(),t.set)},n);if(typeof t.value=="function"&&(i=this.options_)!=null&&i.autoBind){var o;t.value=t.value.bind((o=e.proxy_)!=null?o:e.target_)}var u=((a=this.options_)==null?void 0:a.deep)===!1?R.ref:R;return u.extend_(e,r,t,n)}var Bs="observable",Gs="observable.ref",$s="observable.shallow",Us="observable.struct",Ti={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(Ti);function pr(e){return e||Ti}var Ei=dr(Bs),Ws=dr(Gs,{enhancer:fr}),Ys=dr($s,{enhancer:Ss}),Qs=dr(Us,{enhancer:Os}),Ii=me(Ei);function hr(e){return e.deep===!0?lt:e.deep===!1?fr:Hs(e.defaultDecorator)}function Ks(e){var r;return e?(r=e.defaultDecorator)!=null?r:ji(e):void 0}function Hs(e){var r,t;return e&&(r=(t=e.options_)==null?void 0:t.enhancer)!=null?r:lt}function Di(e,r,t){if(Ke(r)){At(e,r,Ei);return}return da(e)?e:Re(e)?R.object(e,r,t):Array.isArray(e)?R.array(e,r):it(e)?R.map(e,r):Ct(e)?R.set(e,r):typeof e=="object"&&e!==null?e:R.box(e,r)}Object.assign(Di,Ii);var Js={box:function(r,t){var n=pr(t);return new He(r,hr(n),n.name,!0,n.equals)},array:function(r,t){var n=pr(t);return(m.useProxies===!1||n.proxy===!1?tf:Wc)(r,hr(n),n.name)},map:function(r,t){var n=pr(t);return new pn(r,hr(n),n.name)},set:function(r,t){var n=pr(t);return new Oa(r,hr(n),n.name)},object:function(r,t,n){return Tc(m.useProxies===!1||(n==null?void 0:n.proxy)===!1?Ar({},n):Gc({},n),r,t)},ref:me(Ws),shallow:me(Ys),deep:Ii,struct:me(Qs)},R=fs(Di,Js),Mi="computed",Xs="computed.struct",Ri=nn(Mi),Zs=nn(Xs,{equals:ut.structural}),st=function(r,t){if(Ke(t))return At(r,t,Ri);if(Re(r))return me(nn(Mi,r));var n=Re(t)?t:{};return n.get=r,n.name||(n.name=r.name||""),new Dt(n)};Object.assign(st,Ri),st.struct=me(Zs);var Vi,ki,br=0,ec=1,tc=(Vi=(ki=ar(function(){},"name"))==null?void 0:ki.configurable)!=null?Vi:!1,zi={value:"action",configurable:!0,writable:!1,enumerable:!1};function ct(e,r,t,n){t===void 0&&(t=!1);function i(){return Ni(e,t,r,n||this,arguments)}return i.isMobxAction=!0,tc&&(zi.value=e,Object.defineProperty(i,"name",zi)),i}function Ni(e,r,t,n,i){var a=rc(e,r);try{return t.apply(n,i)}catch(o){throw a.error_=o,o}finally{nc(a)}}function rc(e,r,t,n){var i=!1,a=0,o=m.trackingDerivation,u=!r||!o;B();var c=m.allowStateChanges;u&&(ft(),c=Et(!0));var d=un(!0),f={runAsAction_:u,prevDerivation_:o,prevAllowStateChanges_:c,prevAllowStateReads_:d,notifySpy_:i,startTime_:a,actionId_:ec++,parentActionId_:br};return br=f.actionId_,f}function nc(e){br!==e.actionId_&&A(30),br=e.parentActionId_,e.error_!==void 0&&(m.suppressReactionErrors=!0),It(e.prevAllowStateChanges_),Mt(e.prevAllowStateReads_),G(),e.runAsAction_&&ke(e.prevDerivation_),m.suppressReactionErrors=!1}function Li(e,r){var t=Et(e);try{return r()}finally{It(t)}}function Et(e){var r=m.allowStateChanges;return m.allowStateChanges=e,r}function It(e){m.allowStateChanges=e}var Fi;Fi=Symbol.toPrimitive;var He=function(e){Si(r,e);function r(n,i,a,o,u){var c;return a===void 0&&(a="ObservableValue"),u===void 0&&(u=ut.default),c=e.call(this,a)||this,c.enhancer=void 0,c.name_=void 0,c.equals=void 0,c.hasUnreportedChange_=!1,c.interceptors_=void 0,c.changeListeners_=void 0,c.value_=void 0,c.dehancer=void 0,c.enhancer=i,c.name_=a,c.equals=u,c.value_=i(n,void 0,a),c}var t=r.prototype;return t.dehanceValue=function(i){return this.dehancer!==void 0?this.dehancer(i):i},t.set=function(i){this.value_,i=this.prepareNewValue_(i),i!==m.UNCHANGED&&this.setNewValue_(i)},t.prepareNewValue_=function(i){if(te(this)){var a=re(this,{object:this,type:ye,newValue:i});if(!a)return m.UNCHANGED;i=a.newValue}return i=this.enhancer(i,this.value_,this.name_),this.equals(this.value_,i)?m.UNCHANGED:i},t.setNewValue_=function(i){var a=this.value_;this.value_=i,this.reportChanged(),fe(this)&&de(this,{type:ye,object:this,newValue:i,oldValue:a})},t.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},t.intercept_=function(i){return zt(this,i)},t.observe_=function(i,a){return a&&i({observableKind:"value",debugObjectName:this.name_,object:this,type:ye,newValue:this.value_,oldValue:void 0}),Nt(this,i)},t.raw=function(){return this.value_},t.toJSON=function(){return this.get()},t.toString=function(){return this.name_+"["+this.value_+"]"},t.valueOf=function(){return _i(this.get())},t[Fi]=function(){return this.valueOf()},r}(jt),ic=Ve("ObservableValue",He),qi;qi=Symbol.toPrimitive;var Dt=function(){function e(t){this.dependenciesState_=T.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.isBeingObserved_=!1,this.isPendingUnobservation_=!1,this.observers_=new Set,this.diffValue_=0,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=T.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new mr(null),this.name_=void 0,this.triggeredBy_=void 0,this.isComputing_=!1,this.isRunningSetter_=!1,this.derivation=void 0,this.setter_=void 0,this.isTracing_=Je.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,t.get||A(31),this.derivation=t.get,this.name_=t.name||"ComputedValue",t.set&&(this.setter_=ct("ComputedValue-setter",t.set)),this.equals_=t.equals||(t.compareStructural||t.struct?ut.structural:ut.default),this.scope_=t.context,this.requiresReaction_=t.requiresReaction,this.keepAlive_=!!t.keepAlive}var r=e.prototype;return r.onBecomeStale_=function(){cc(this)},r.onBO=function(){this.onBOL&&this.onBOL.forEach(function(n){return n()})},r.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(n){return n()})},r.get=function(){if(this.isComputing_&&A(32,this.name_,this.derivation),m.inBatch===0&&this.observers_.size===0&&!this.keepAlive_)an(this)&&(this.warnAboutUntrackedRead_(),B(),this.value_=this.computeValue_(!1),G());else if(Qi(this),an(this)){var n=m.trackingContext;this.keepAlive_&&!n&&(m.trackingContext=this),this.trackAndCompute()&&sc(this),m.trackingContext=n}var i=this.value_;if(yr(i))throw i.cause;return i},r.set=function(n){if(this.setter_){this.isRunningSetter_&&A(33,this.name_),this.isRunningSetter_=!0;try{this.setter_.call(this.scope_,n)}finally{this.isRunningSetter_=!1}}else A(34,this.name_)},r.trackAndCompute=function(){var n=this.value_,i=this.dependenciesState_===T.NOT_TRACKING_,a=this.computeValue_(!0),o=i||yr(n)||yr(a)||!this.equals_(n,a);return o&&(this.value_=a),o},r.computeValue_=function(n){this.isComputing_=!0;var i=Et(!1),a;if(n)a=Bi(this,this.derivation,this.scope_);else if(m.disableErrorBoundaries===!0)a=this.derivation.call(this.scope_);else try{a=this.derivation.call(this.scope_)}catch(o){a=new mr(o)}return It(i),this.isComputing_=!1,a},r.suspend_=function(){this.keepAlive_||(on(this),this.value_=void 0)},r.observe_=function(n,i){var a=this,o=!0,u=void 0;return gc(function(){var c=a.get();if(!o||i){var d=ft();n({observableKind:"computed",debugObjectName:a.name_,type:ye,object:a,newValue:c,oldValue:u}),ke(d)}o=!1,u=c})},r.warnAboutUntrackedRead_=function(){},r.toString=function(){return this.name_+"["+this.derivation.toString()+"]"},r.valueOf=function(){return _i(this.get())},r[qi]=function(){return this.valueOf()},e}(),vr=Ve("ComputedValue",Dt),T;(function(e){e[e.NOT_TRACKING_=-1]="NOT_TRACKING_",e[e.UP_TO_DATE_=0]="UP_TO_DATE_",e[e.POSSIBLY_STALE_=1]="POSSIBLY_STALE_",e[e.STALE_=2]="STALE_"})(T||(T={}));var Je;(function(e){e[e.NONE=0]="NONE",e[e.LOG=1]="LOG",e[e.BREAK=2]="BREAK"})(Je||(Je={}));var mr=function(r){this.cause=void 0,this.cause=r};function yr(e){return e instanceof mr}function an(e){switch(e.dependenciesState_){case T.UP_TO_DATE_:return!1;case T.NOT_TRACKING_:case T.STALE_:return!0;case T.POSSIBLY_STALE_:{for(var r=un(!0),t=ft(),n=e.observing_,i=n.length,a=0;a<i;a++){var o=n[a];if(vr(o)){if(m.disableErrorBoundaries)o.get();else try{o.get()}catch{return ke(t),Mt(r),!0}if(e.dependenciesState_===T.STALE_)return ke(t),Mt(r),!0}}return $i(e),ke(t),Mt(r),!1}}}function Up(e){}function Bi(e,r,t){var n=un(!0);$i(e),e.newObserving_=new Array(e.observing_.length+100),e.unboundDepsCount_=0,e.runId_=++m.runId;var i=m.trackingDerivation;m.trackingDerivation=e,m.inBatch++;var a;if(m.disableErrorBoundaries===!0)a=r.call(t);else try{a=r.call(t)}catch(o){a=new mr(o)}return m.inBatch--,m.trackingDerivation=i,ac(e),Mt(n),a}function ac(e){for(var r=e.observing_,t=e.observing_=e.newObserving_,n=T.UP_TO_DATE_,i=0,a=e.unboundDepsCount_,o=0;o<a;o++){var u=t[o];u.diffValue_===0&&(u.diffValue_=1,i!==o&&(t[i]=u),i++),u.dependenciesState_>n&&(n=u.dependenciesState_)}for(t.length=i,e.newObserving_=null,a=r.length;a--;){var c=r[a];c.diffValue_===0&&Wi(c,e),c.diffValue_=0}for(;i--;){var d=t[i];d.diffValue_===1&&(d.diffValue_=0,lc(d,e))}n!==T.UP_TO_DATE_&&(e.dependenciesState_=n,e.onBecomeStale_())}function on(e){var r=e.observing_;e.observing_=[];for(var t=r.length;t--;)Wi(r[t],e);e.dependenciesState_=T.NOT_TRACKING_}function Gi(e){var r=ft();try{return e()}finally{ke(r)}}function ft(){var e=m.trackingDerivation;return m.trackingDerivation=null,e}function ke(e){m.trackingDerivation=e}function un(e){var r=m.allowStateReads;return m.allowStateReads=e,r}function Mt(e){m.allowStateReads=e}function $i(e){if(e.dependenciesState_!==T.UP_TO_DATE_){e.dependenciesState_=T.UP_TO_DATE_;for(var r=e.observing_,t=r.length;t--;)r[t].lowestObserverState_=T.UP_TO_DATE_}}var gr=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},_r=!0,Ui=!1,m=function(){var e=Jr();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(_r=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new gr().version&&(_r=!1),_r?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new gr):(setTimeout(function(){Ui||A(35)},1),new gr)}();function oc(){if((m.pendingReactions.length||m.inBatch||m.isRunningReactions)&&A(36),Ui=!0,_r){var e=Jr();--e.__mobxInstanceCount===0&&(e.__mobxGlobals=void 0),m=new gr}}function uc(){return m}function lc(e,r){e.observers_.add(r),e.lowestObserverState_>r.dependenciesState_&&(e.lowestObserverState_=r.dependenciesState_)}function Wi(e,r){e.observers_.delete(r),e.observers_.size===0&&Yi(e)}function Yi(e){e.isPendingUnobservation_===!1&&(e.isPendingUnobservation_=!0,m.pendingUnobservations.push(e))}function B(){m.inBatch++}function G(){if(--m.inBatch===0){Hi();for(var e=m.pendingUnobservations,r=0;r<e.length;r++){var t=e[r];t.isPendingUnobservation_=!1,t.observers_.size===0&&(t.isBeingObserved_&&(t.isBeingObserved_=!1,t.onBUO()),t instanceof Dt&&t.suspend_())}m.pendingUnobservations=[]}}function Qi(e){var r=m.trackingDerivation;return r!==null?(r.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=r.runId_,r.newObserving_[r.unboundDepsCount_++]=e,!e.isBeingObserved_&&m.trackingContext&&(e.isBeingObserved_=!0,e.onBO())),!0):(e.observers_.size===0&&m.inBatch>0&&Yi(e),!1)}function Ki(e){e.lowestObserverState_!==T.STALE_&&(e.lowestObserverState_=T.STALE_,e.observers_.forEach(function(r){r.dependenciesState_===T.UP_TO_DATE_&&r.onBecomeStale_(),r.dependenciesState_=T.STALE_}))}function sc(e){e.lowestObserverState_!==T.STALE_&&(e.lowestObserverState_=T.STALE_,e.observers_.forEach(function(r){r.dependenciesState_===T.POSSIBLY_STALE_?r.dependenciesState_=T.STALE_:r.dependenciesState_===T.UP_TO_DATE_&&(e.lowestObserverState_=T.UP_TO_DATE_)}))}function cc(e){e.lowestObserverState_===T.UP_TO_DATE_&&(e.lowestObserverState_=T.POSSIBLY_STALE_,e.observers_.forEach(function(r){r.dependenciesState_===T.UP_TO_DATE_&&(r.dependenciesState_=T.POSSIBLY_STALE_,r.onBecomeStale_())}))}var dt=function(){function e(t,n,i,a){t===void 0&&(t="Reaction"),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=T.NOT_TRACKING_,this.diffValue_=0,this.runId_=0,this.unboundDepsCount_=0,this.isDisposed_=!1,this.isScheduled_=!1,this.isTrackPending_=!1,this.isRunning_=!1,this.isTracing_=Je.NONE,this.name_=t,this.onInvalidate_=n,this.errorHandler_=i,this.requiresObservable_=a}var r=e.prototype;return r.onBecomeStale_=function(){this.schedule_()},r.schedule_=function(){this.isScheduled_||(this.isScheduled_=!0,m.pendingReactions.push(this),Hi())},r.isScheduled=function(){return this.isScheduled_},r.runReaction_=function(){if(!this.isDisposed_){B(),this.isScheduled_=!1;var n=m.trackingContext;if(m.trackingContext=this,an(this)){this.isTrackPending_=!0;try{this.onInvalidate_()}catch(i){this.reportExceptionInDerivation_(i)}}m.trackingContext=n,G()}},r.track=function(n){if(!this.isDisposed_){B(),this.isRunning_=!0;var i=m.trackingContext;m.trackingContext=this;var a=Bi(this,n,void 0);m.trackingContext=i,this.isRunning_=!1,this.isTrackPending_=!1,this.isDisposed_&&on(this),yr(a)&&this.reportExceptionInDerivation_(a.cause),G()}},r.reportExceptionInDerivation_=function(n){var i=this;if(this.errorHandler_){this.errorHandler_(n,this);return}if(m.disableErrorBoundaries)throw n;var a="[mobx] uncaught error in '"+this+"'";m.suppressReactionErrors||console.error(a,n),m.globalReactionErrorHandlers.forEach(function(o){return o(n,i)})},r.dispose=function(){this.isDisposed_||(this.isDisposed_=!0,this.isRunning_||(B(),on(this),G()))},r.getDisposer_=function(){var n=this.dispose.bind(this);return n[S]=this,n},r.toString=function(){return"Reaction["+this.name_+"]"},r.trace=function(n){n===void 0&&(n=!1),Fc(this,n)},e}(),fc=100,ln=function(r){return r()};function Hi(){m.inBatch>0||m.isRunningReactions||ln(dc)}function dc(){m.isRunningReactions=!0;for(var e=m.pendingReactions,r=0;e.length>0;){++r===fc&&(console.error("[mobx] cycle in reaction: "+e[0]),e.splice(0));for(var t=e.splice(0),n=0,i=t.length;n<i;n++)t[n].runReaction_()}m.isRunningReactions=!1}var wr=Ve("Reaction",dt);function pc(e){var r=ln;ln=function(n){return e(function(){return r(n)})}}function Rt(){return!1}function Wp(e){}function Yp(e){}function Qp(e){}function hc(e){return console.warn("[mobx.spy] Is a no-op in production builds"),function(){}}var Ji="action",bc="action.bound",Xi="autoAction",vc="autoAction.bound",Zi="<unnamed action>",ea=Tt(Ji),mc=Tt(bc,{bound:!0}),ta=Tt(Xi,{autoAction:!0}),yc=Tt(vc,{autoAction:!0,bound:!0});function ra(e){var r=function(n,i){if(K(n))return ct(n.name||Zi,n,e);if(K(i))return ct(n,i,e);if(Ke(i))return At(n,i,e?ta:ea);if(Ke(n))return me(Tt(e?Xi:Ji,{name:n,autoAction:e}))};return r}var L=ra(!1);Object.assign(L,ea);var Vt=ra(!0);Object.assign(Vt,ta),L.bound=me(mc),Vt.bound=me(yc);function na(e){return Ni(e.name||Zi,!1,e,this,void 0)}function sn(e){return K(e)&&e.isMobxAction===!0}function gc(e,r){var t,n;r===void 0&&(r=Zr);var i=(t=(n=r)==null?void 0:n.name)!=null?t:"Autorun",a=!r.scheduler&&!r.delay,o;if(a)o=new dt(i,function(){this.track(d)},r.onError,r.requiresObservable);else{var u=ia(r),c=!1;o=new dt(i,function(){c||(c=!0,u(function(){c=!1,o.isDisposed_||o.track(d)}))},r.onError,r.requiresObservable)}function d(){e(o)}return o.schedule_(),o.getDisposer_()}var _c=function(r){return r()};function ia(e){return e.scheduler?e.scheduler:e.delay?function(r){return setTimeout(r,e.delay)}:_c}function wc(e,r,t){var n;t===void 0&&(t=Zr);var i=(n=t.name)!=null?n:"Reaction",a=L(i,t.onError?Sc(t.onError,r):r),o=!t.scheduler&&!t.delay,u=ia(t),c=!0,d=!1,f,p,v=t.compareStructural?ut.structural:t.equals||ut.default,y=new dt(i,function(){c||o?P():d||(d=!0,u(P))},t.onError,t.requiresObservable);function P(){if(d=!1,!y.isDisposed_){var j=!1;y.track(function(){var I=Li(!1,function(){return e(y)});j=c||!v(f,I),p=f,f=I}),(c&&t.fireImmediately||!c&&j)&&a(f,p,y),c=!1}}return y.schedule_(),y.getDisposer_()}function Sc(e,r){return function(){try{return r.apply(this,arguments)}catch(t){e.call(this,t)}}}var Oc="onBO",xc="onBUO";function Pc(e,r,t){return oa(Oc,e,r,t)}function aa(e,r,t){return oa(xc,e,r,t)}function oa(e,r,t,n){var i=typeof n=="function"?je(r,t):je(r),a=K(n)?n:t,o=e+"L";return i[o]?i[o].add(a):i[o]=new Set([a]),function(){var u=i[o];u&&(u.delete(a),u.size===0&&delete i[o])}}var Cc="never",Sr="always",Ac="observed";function jc(e){e.isolateGlobalState===!0&&oc();var r=e.useProxies,t=e.enforceActions;if(r!==void 0&&(m.useProxies=r===Sr?!0:r===Cc?!1:typeof Proxy!="undefined"),r==="ifavailable"&&(m.verifyProxies=!0),t!==void 0){var n=t===Sr?Sr:t===Ac;m.enforceActions=n,m.allowStateChanges=!(n===!0||n===Sr)}["computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","disableErrorBoundaries","safeDescriptors"].forEach(function(i){i in e&&(m[i]=!!e[i])}),m.allowStateReads=!m.observableRequiresReaction,e.reactionScheduler&&pc(e.reactionScheduler)}function Tc(e,r,t,n){var i=bs(r),a=Ar(e,n)[S];B();try{sr(i).forEach(function(o){a.extend_(o,i[o],t&&o in t?t[o]:!0)})}finally{G()}return e}function Ec(e,r){return ua(je(e,r))}function ua(e){var r={name:e.name_};return e.observing_&&e.observing_.length>0&&(r.dependencies=Ic(e.observing_).map(ua)),r}function Ic(e){return Array.from(new Set(e))}var Dc=0;function la(){this.message="FLOW_CANCELLED"}la.prototype=Object.create(Error.prototype);var sa=Ci("flow"),Mc=Ci("flow.bound",{bound:!0}),kt=Object.assign(function(r,t){if(Ke(t))return At(r,t,sa);var n=r,i=n.name||"<unnamed flow>",a=function(){var u=this,c=arguments,d=++Dc,f=L(i+" - runid: "+d+" - init",n).apply(u,c),p,v=void 0,y=new Promise(function(P,j){var I=0;p=j;function $(k){v=void 0;var U;try{U=L(i+" - runid: "+d+" - yield "+I++,f.next).call(f,k)}catch(ee){return j(ee)}Z(U)}function he(k){v=void 0;var U;try{U=L(i+" - runid: "+d+" - yield "+I++,f.throw).call(f,k)}catch(ee){return j(ee)}Z(U)}function Z(k){if(K(k==null?void 0:k.then)){k.then(Z,j);return}return k.done?P(k.value):(v=Promise.resolve(k.value),v.then($,he))}$(void 0)});return y.cancel=L(i+" - runid: "+d+" - cancel",function(){try{v&&ca(v);var P=f.return(void 0),j=Promise.resolve(P.value);j.then(nt,nt),ca(j),p(new la)}catch(I){p(I)}}),y};return a.isMobXFlow=!0,a},sa);kt.bound=me(Mc);function ca(e){K(e.cancel)&&e.cancel()}function Or(e){return(e==null?void 0:e.isMobXFlow)===!0}function fa(e,r,t){var n;return ne(e)||ge(e)||ic(e)?n=_e(e):ie(e)&&(n=_e(e,r)),n.dehancer=typeof r=="function"?r:t,function(){n.dehancer=void 0}}function cn(e,r,t){return K(t)?Vc(e,r,t):Rc(e,r)}function Rc(e,r){return _e(e).intercept_(r)}function Vc(e,r,t){return _e(e,r).intercept_(t)}function kc(e,r){return e?r!==void 0?ie(e)?e[S].values_.has(r):!1:ie(e)||!!e[S]||rn(e)||wr(e)||vr(e):!1}function da(e){return kc(e)}function xr(e){if(ie(e))return e[S].keys_();if(ne(e)||pe(e))return Array.from(e.keys());if(ge(e))return e.map(function(r,t){return t});A(5)}function pa(e){if(ie(e))return xr(e).map(function(r){return e[r]});if(ne(e))return xr(e).map(function(r){return e.get(r)});if(pe(e))return Array.from(e.values());if(ge(e))return e.slice();A(6)}function zc(e){if(ie(e))return xr(e).map(function(r){return[r,e[r]]});if(ne(e))return xr(e).map(function(r){return[r,e.get(r)]});if(pe(e))return Array.from(e.entries());if(ge(e))return e.map(function(r,t){return[t,r]});A(7)}function ha(e,r,t){if(arguments.length===2&&!pe(e)){B();var n=r;try{for(var i in n)ha(e,i,n[i])}finally{G()}return}ie(e)?e[S].set_(r,t):ne(e)?e.set(r,t):pe(e)?e.add(r):ge(e)?(typeof r!="number"&&(r=parseInt(r,10)),r<0&&A("Invalid index: '"+r+"'"),B(),r>=e.length&&(e.length=r+1),e[r]=t,G()):A(8)}function ba(e,r,t){if(ie(e))return e[S].defineProperty_(r,t);A(39)}function fn(e,r,t,n){return K(t)?Lc(e,r,t,n):Nc(e,r,t)}function Nc(e,r,t){return _e(e).observe_(r,t)}function Lc(e,r,t,n){return _e(e,r).observe_(t,n)}function Fc(){A("trace() is not available in production builds");for(var e=!1,r=arguments.length,t=new Array(r),n=0;n<r;n++)t[n]=arguments[n];typeof t[t.length-1]=="boolean"&&(e=t.pop());var i=qc(t);if(!i)return A("'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly");i.isTracing_===Je.NONE&&console.log("[mobx.trace] '"+i.name_+"' tracing enabled"),i.isTracing_=e?Je.BREAK:Je.LOG}function qc(e){switch(e.length){case 0:return m.trackingDerivation;case 1:return je(e[0]);case 2:return je(e[0],e[1])}}function Ce(e,r){r===void 0&&(r=void 0),B();try{return e.apply(r)}finally{G()}}function pt(e){return e[S]}var Bc={has:function(r,t){return pt(r).has_(t)},get:function(r,t){return pt(r).get_(t)},set:function(r,t,n){var i;return Ke(t)?(i=pt(r).set_(t,n,!0))!=null?i:!0:!1},deleteProperty:function(r,t){var n;return Ke(t)?(n=pt(r).delete_(t,!0))!=null?n:!0:!1},defineProperty:function(r,t,n){var i;return(i=pt(r).defineProperty_(t,n))!=null?i:!0},ownKeys:function(r){return pt(r).ownKeys_()},preventExtensions:function(r){A(13)}};function Gc(e,r){var t,n;return bi(),e=Ar(e,r),(n=(t=e[S]).proxy_)!=null?n:t.proxy_=new Proxy(e,Bc)}function te(e){return e.interceptors_!==void 0&&e.interceptors_.length>0}function zt(e,r){var t=e.interceptors_||(e.interceptors_=[]);return t.push(r),vi(function(){var n=t.indexOf(r);n!==-1&&t.splice(n,1)})}function re(e,r){var t=ft();try{for(var n=[].concat(e.interceptors_||[]),i=0,a=n.length;i<a&&(r=n[i](r),r&&!r.type&&A(14),!!r);i++);return r}finally{ke(t)}}function fe(e){return e.changeListeners_!==void 0&&e.changeListeners_.length>0}function Nt(e,r){var t=e.changeListeners_||(e.changeListeners_=[]);return t.push(r),vi(function(){var n=t.indexOf(r);n!==-1&&t.splice(n,1)})}function de(e,r){var t=ft(),n=e.changeListeners_;if(!!n){n=n.slice();for(var i=0,a=n.length;i<a;i++)n[i](r);ke(t)}}function va(e,r,t){var n=Ar(e,t)[S];B();try{var i;(i=r)!=null||(r=ms(e)),sr(r).forEach(function(a){return n.make_(a,r[a])})}finally{G()}return e}var ma="splice",ye="update",$c=1e4,Uc={get:function(r,t){var n=r[S];return t===S?n:t==="length"?n.getArrayLength_():typeof t=="string"&&!isNaN(t)?n.get_(parseInt(t)):Pe(Pr,t)?Pr[t]:r[t]},set:function(r,t,n){var i=r[S];return t==="length"&&i.setArrayLength_(n),typeof t=="symbol"||isNaN(t)?r[t]=n:i.set_(parseInt(t),n),!0},preventExtensions:function(){A(15)}},dn=function(){function e(t,n,i,a){t===void 0&&(t="ObservableArray"),this.owned_=void 0,this.legacyMode_=void 0,this.atom_=void 0,this.values_=[],this.interceptors_=void 0,this.changeListeners_=void 0,this.enhancer_=void 0,this.dehancer=void 0,this.proxy_=void 0,this.lastKnownLength_=0,this.owned_=i,this.legacyMode_=a,this.atom_=new jt(t),this.enhancer_=function(o,u){return n(o,u,"ObservableArray[..]")}}var r=e.prototype;return r.dehanceValue_=function(n){return this.dehancer!==void 0?this.dehancer(n):n},r.dehanceValues_=function(n){return this.dehancer!==void 0&&n.length>0?n.map(this.dehancer):n},r.intercept_=function(n){return zt(this,n)},r.observe_=function(n,i){return i===void 0&&(i=!1),i&&n({observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:"splice",index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),Nt(this,n)},r.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},r.setArrayLength_=function(n){(typeof n!="number"||isNaN(n)||n<0)&&A("Out of range: "+n);var i=this.values_.length;if(n!==i)if(n>i){for(var a=new Array(n-i),o=0;o<n-i;o++)a[o]=void 0;this.spliceWithArray_(i,0,a)}else this.spliceWithArray_(n,i-n)},r.updateArrayLength_=function(n,i){n!==this.lastKnownLength_&&A(16),this.lastKnownLength_+=i,this.legacyMode_&&i>0&&Ea(n+i+1)},r.spliceWithArray_=function(n,i,a){var o=this;this.atom_;var u=this.values_.length;if(n===void 0?n=0:n>u?n=u:n<0&&(n=Math.max(0,u+n)),arguments.length===1?i=u-n:i==null?i=0:i=Math.max(0,Math.min(i,u-n)),a===void 0&&(a=Xr),te(this)){var c=re(this,{object:this.proxy_,type:ma,index:n,removedCount:i,added:a});if(!c)return Xr;i=c.removedCount,a=c.added}if(a=a.length===0?a:a.map(function(p){return o.enhancer_(p,void 0)}),this.legacyMode_){var d=a.length-i;this.updateArrayLength_(u,d)}var f=this.spliceItemsIntoValues_(n,i,a);return(i!==0||a.length!==0)&&this.notifyArraySplice_(n,a,f),this.dehanceValues_(f)},r.spliceItemsIntoValues_=function(n,i,a){if(a.length<$c){var o;return(o=this.values_).splice.apply(o,[n,i].concat(a))}else{var u=this.values_.slice(n,n+i),c=this.values_.slice(n+i);this.values_.length+=a.length-i;for(var d=0;d<a.length;d++)this.values_[n+d]=a[d];for(var f=0;f<c.length;f++)this.values_[n+a.length+f]=c[f];return u}},r.notifyArrayChildUpdate_=function(n,i,a){var o=!this.owned_&&Rt(),u=fe(this),c=u||o?{observableKind:"array",object:this.proxy_,type:ye,debugObjectName:this.atom_.name_,index:n,newValue:i,oldValue:a}:null;this.atom_.reportChanged(),u&&de(this,c)},r.notifyArraySplice_=function(n,i,a){var o=!this.owned_&&Rt(),u=fe(this),c=u||o?{observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:ma,index:n,removed:a,added:i,removedCount:a.length,addedCount:i.length}:null;this.atom_.reportChanged(),u&&de(this,c)},r.get_=function(n){if(n<this.values_.length)return this.atom_.reportObserved(),this.dehanceValue_(this.values_[n]);console.warn("[mobx.array] Attempt to read an array index ("+n+") that is out of bounds ("+this.values_.length+"). Please check length first. Out of bound indices will not be tracked by MobX")},r.set_=function(n,i){var a=this.values_;if(n<a.length){this.atom_;var o=a[n];if(te(this)){var u=re(this,{type:ye,object:this.proxy_,index:n,newValue:i});if(!u)return;i=u.newValue}i=this.enhancer_(i,o);var c=i!==o;c&&(a[n]=i,this.notifyArrayChildUpdate_(n,i,o))}else n===a.length?this.spliceWithArray_(n,0,[i]):A(17,n,a.length)},e}();function Wc(e,r,t,n){t===void 0&&(t="ObservableArray"),n===void 0&&(n=!1),bi();var i=new dn(t,r,n,!1);yi(i.values_,S,i);var a=new Proxy(i.values_,Uc);if(i.proxy_=a,e&&e.length){var o=Et(!0);i.spliceWithArray_(0,0,e),It(o)}return a}var Pr={clear:function(){return this.splice(0)},replace:function(r){var t=this[S];return t.spliceWithArray_(0,t.values_.length,r)},toJSON:function(){return this.slice()},splice:function(r,t){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;a<n;a++)i[a-2]=arguments[a];var o=this[S];switch(arguments.length){case 0:return[];case 1:return o.spliceWithArray_(r);case 2:return o.spliceWithArray_(r,t)}return o.spliceWithArray_(r,t,i)},spliceWithArray:function(r,t,n){return this[S].spliceWithArray_(r,t,n)},push:function(){for(var r=this[S],t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return r.spliceWithArray_(r.values_.length,0,n),r.values_.length},pop:function(){return this.splice(Math.max(this[S].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var r=this[S],t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return r.spliceWithArray_(0,0,n),r.values_.length},reverse:function(){return m.trackingDerivation&&A(37,"reverse"),this.replace(this.slice().reverse()),this},sort:function(){m.trackingDerivation&&A(37,"sort");var r=this.slice();return r.sort.apply(r,arguments),this.replace(r),this},remove:function(r){var t=this[S],n=t.dehanceValues_(t.values_).indexOf(r);return n>-1?(this.splice(n,1),!0):!1}};N("concat",Ae),N("flat",Ae),N("includes",Ae),N("indexOf",Ae),N("join",Ae),N("lastIndexOf",Ae),N("slice",Ae),N("toString",Ae),N("toLocaleString",Ae),N("every",ze),N("filter",ze),N("find",ze),N("findIndex",ze),N("flatMap",ze),N("forEach",ze),N("map",ze),N("some",ze),N("reduce",ya),N("reduceRight",ya);function N(e,r){typeof Array.prototype[e]=="function"&&(Pr[e]=r(e))}function Ae(e){return function(){var r=this[S];r.atom_.reportObserved();var t=r.dehanceValues_(r.values_);return t[e].apply(t,arguments)}}function ze(e){return function(r,t){var n=this,i=this[S];i.atom_.reportObserved();var a=i.dehanceValues_(i.values_);return a[e](function(o,u){return r.call(t,o,u,n)})}}function ya(e){return function(){var r=this,t=this[S];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_),i=arguments[0];return arguments[0]=function(a,o,u){return i(a,o,u,r)},n[e].apply(n,arguments)}}var Yc=Ve("ObservableArrayAdministration",dn);function ge(e){return ur(e)&&Yc(e[S])}var ga,_a,Qc={},Ne="add",Cr="delete";ga=Symbol.iterator,_a=Symbol.toStringTag;var pn=function(){function e(t,n,i){var a=this;n===void 0&&(n=lt),i===void 0&&(i="ObservableMap"),this.enhancer_=void 0,this.name_=void 0,this[S]=Qc,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=n,this.name_=i,K(Map)||A(18),this.keysAtom_=cr("ObservableMap.keys()"),this.data_=new Map,this.hasMap_=new Map,Li(!0,function(){a.merge(t)})}var r=e.prototype;return r.has_=function(n){return this.data_.has(n)},r.has=function(n){var i=this;if(!m.trackingDerivation)return this.has_(n);var a=this.hasMap_.get(n);if(!a){var o=a=new He(this.has_(n),fr,"ObservableMap.key?",!1);this.hasMap_.set(n,o),aa(o,function(){return i.hasMap_.delete(n)})}return a.get()},r.set=function(n,i){var a=this.has_(n);if(te(this)){var o=re(this,{type:a?ye:Ne,object:this,newValue:i,name:n});if(!o)return this;i=o.newValue}return a?this.updateValue_(n,i):this.addValue_(n,i),this},r.delete=function(n){var i=this;if(this.keysAtom_,te(this)){var a=re(this,{type:Cr,object:this,name:n});if(!a)return!1}if(this.has_(n)){var o=Rt(),u=fe(this),c=u||o?{observableKind:"map",debugObjectName:this.name_,type:Cr,object:this,oldValue:this.data_.get(n).value_,name:n}:null;return Ce(function(){var d;i.keysAtom_.reportChanged(),(d=i.hasMap_.get(n))==null||d.setNewValue_(!1);var f=i.data_.get(n);f.setNewValue_(void 0),i.data_.delete(n)}),u&&de(this,c),!0}return!1},r.updateValue_=function(n,i){var a=this.data_.get(n);if(i=a.prepareNewValue_(i),i!==m.UNCHANGED){var o=Rt(),u=fe(this),c=u||o?{observableKind:"map",debugObjectName:this.name_,type:ye,object:this,oldValue:a.value_,name:n,newValue:i}:null;a.setNewValue_(i),u&&de(this,c)}},r.addValue_=function(n,i){var a=this;this.keysAtom_,Ce(function(){var d,f=new He(i,a.enhancer_,"ObservableMap.key",!1);a.data_.set(n,f),i=f.value_,(d=a.hasMap_.get(n))==null||d.setNewValue_(!0),a.keysAtom_.reportChanged()});var o=Rt(),u=fe(this),c=u||o?{observableKind:"map",debugObjectName:this.name_,type:Ne,object:this,name:n,newValue:i}:null;u&&de(this,c)},r.get=function(n){return this.has(n)?this.dehanceValue_(this.data_.get(n).get()):this.dehanceValue_(void 0)},r.dehanceValue_=function(n){return this.dehancer!==void 0?this.dehancer(n):n},r.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},r.values=function(){var n=this,i=this.keys();return Lt({next:function(){var o=i.next(),u=o.done,c=o.value;return{done:u,value:u?void 0:n.get(c)}}})},r.entries=function(){var n=this,i=this.keys();return Lt({next:function(){var o=i.next(),u=o.done,c=o.value;return{done:u,value:u?void 0:[c,n.get(c)]}}})},r[ga]=function(){return this.entries()},r.forEach=function(n,i){for(var a=ot(this),o;!(o=a()).done;){var u=o.value,c=u[0],d=u[1];n.call(i,d,c,this)}},r.merge=function(n){var i=this;return ne(n)&&(n=new Map(n)),Ce(function(){Re(n)?hs(n).forEach(function(a){return i.set(a,n[a])}):Array.isArray(n)?n.forEach(function(a){var o=a[0],u=a[1];return i.set(o,u)}):it(n)?(n.constructor!==Map&&A(19,n),n.forEach(function(a,o){return i.set(o,a)})):n!=null&&A(20,n)}),this},r.clear=function(){var n=this;Ce(function(){Gi(function(){for(var i=ot(n.keys()),a;!(a=i()).done;){var o=a.value;n.delete(o)}})})},r.replace=function(n){var i=this;return Ce(function(){for(var a=Kc(n),o=new Map,u=!1,c=ot(i.data_.keys()),d;!(d=c()).done;){var f=d.value;if(!a.has(f)){var p=i.delete(f);if(p)u=!0;else{var v=i.data_.get(f);o.set(f,v)}}}for(var y=ot(a.entries()),P;!(P=y()).done;){var j=P.value,I=j[0],$=j[1],he=i.data_.has(I);if(i.set(I,$),i.data_.has(I)){var Z=i.data_.get(I);o.set(I,Z),he||(u=!0)}}if(!u)if(i.data_.size!==o.size)i.keysAtom_.reportChanged();else for(var k=i.data_.keys(),U=o.keys(),ee=k.next(),_t=U.next();!ee.done;){if(ee.value!==_t.value){i.keysAtom_.reportChanged();break}ee=k.next(),_t=U.next()}i.data_=o}),this},r.toString=function(){return"[object ObservableMap]"},r.toJSON=function(){return Array.from(this)},r.observe_=function(n,i){return Nt(this,n)},r.intercept_=function(n){return zt(this,n)},en(e,[{key:"size",get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:_a,get:function(){return"Map"}}]),e}(),ne=Ve("ObservableMap",pn);function Kc(e){if(it(e)||ne(e))return e;if(Array.isArray(e))return new Map(e);if(Re(e)){var r=new Map;for(var t in e)r.set(t,e[t]);return r}else return A(21,e)}var wa,Sa,Hc={};wa=Symbol.iterator,Sa=Symbol.toStringTag;var Oa=function(){function e(t,n,i){n===void 0&&(n=lt),i===void 0&&(i="ObservableSet"),this.name_=void 0,this[S]=Hc,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=i,K(Set)||A(22),this.atom_=cr(this.name_),this.enhancer_=function(a,o){return n(a,o,i)},t&&this.replace(t)}var r=e.prototype;return r.dehanceValue_=function(n){return this.dehancer!==void 0?this.dehancer(n):n},r.clear=function(){var n=this;Ce(function(){Gi(function(){for(var i=ot(n.data_.values()),a;!(a=i()).done;){var o=a.value;n.delete(o)}})})},r.forEach=function(n,i){for(var a=ot(this),o;!(o=a()).done;){var u=o.value;n.call(i,u,u,this)}},r.add=function(n){var i=this;if(this.atom_,te(this)){var a=re(this,{type:Ne,object:this,newValue:n});if(!a)return this}if(!this.has(n)){Ce(function(){i.data_.add(i.enhancer_(n,void 0)),i.atom_.reportChanged()});var o=!1,u=fe(this),c=u||o?{observableKind:"set",debugObjectName:this.name_,type:Ne,object:this,newValue:n}:null;u&&de(this,c)}return this},r.delete=function(n){var i=this;if(te(this)){var a=re(this,{type:Cr,object:this,oldValue:n});if(!a)return!1}if(this.has(n)){var o=!1,u=fe(this),c=u||o?{observableKind:"set",debugObjectName:this.name_,type:Cr,object:this,oldValue:n}:null;return Ce(function(){i.atom_.reportChanged(),i.data_.delete(n)}),u&&de(this,c),!0}return!1},r.has=function(n){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(n))},r.entries=function(){var n=0,i=Array.from(this.keys()),a=Array.from(this.values());return Lt({next:function(){var u=n;return n+=1,u<a.length?{value:[i[u],a[u]],done:!1}:{done:!0}}})},r.keys=function(){return this.values()},r.values=function(){this.atom_.reportObserved();var n=this,i=0,a=Array.from(this.data_.values());return Lt({next:function(){return i<a.length?{value:n.dehanceValue_(a[i++]),done:!1}:{done:!0}}})},r.replace=function(n){var i=this;return pe(n)&&(n=new Set(n)),Ce(function(){Array.isArray(n)?(i.clear(),n.forEach(function(a){return i.add(a)})):Ct(n)?(i.clear(),n.forEach(function(a){return i.add(a)})):n!=null&&A("Cannot initialize set from "+n)}),this},r.observe_=function(n,i){return Nt(this,n)},r.intercept_=function(n){return zt(this,n)},r.toJSON=function(){return Array.from(this)},r.toString=function(){return"[object ObservableSet]"},r[wa]=function(){return this.values()},en(e,[{key:"size",get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:Sa,get:function(){return"Set"}}]),e}(),pe=Ve("ObservableSet",Oa),xa=Object.create(null),Pa="remove",Ca=function(){function e(t,n,i,a){n===void 0&&(n=new Map),a===void 0&&(a=Ls),this.target_=void 0,this.values_=void 0,this.name_=void 0,this.defaultAnnotation_=void 0,this.keysAtom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.proxy_=void 0,this.isPlainObject_=void 0,this.appliedAnnotations_=void 0,this.pendingKeys_=void 0,this.target_=t,this.values_=n,this.name_=i,this.defaultAnnotation_=a,this.keysAtom_=new jt("ObservableObject.keys"),this.isPlainObject_=Re(this.target_)}var r=e.prototype;return r.getObservablePropValue_=function(n){return this.values_.get(n).get()},r.setObservablePropValue_=function(n,i){var a=this.values_.get(n);if(a instanceof Dt)return a.set(i),!0;if(te(this)){var o=re(this,{type:ye,object:this.proxy_||this.target_,name:n,newValue:i});if(!o)return null;i=o.newValue}if(i=a.prepareNewValue_(i),i!==m.UNCHANGED){var u=fe(this),c=!1,d=u||c?{type:ye,observableKind:"object",debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:a.value_,name:n,newValue:i}:null;a.setNewValue_(i),u&&de(this,d)}return!0},r.get_=function(n){return m.trackingDerivation&&!Pe(this.target_,n)&&this.has_(n),this.target_[n]},r.set_=function(n,i,a){return a===void 0&&(a=!1),Pe(this.target_,n)?this.values_.has(n)?this.setObservablePropValue_(n,i):a?Reflect.set(this.target_,n,i):(this.target_[n]=i,!0):this.extend_(n,{value:i,enumerable:!0,writable:!0,configurable:!0},this.defaultAnnotation_,a)},r.has_=function(n){if(!m.trackingDerivation)return n in this.target_;this.pendingKeys_||(this.pendingKeys_=new Map);var i=this.pendingKeys_.get(n);return i||(i=new He(n in this.target_,fr,"ObservableObject.key?",!1),this.pendingKeys_.set(n,i)),i.get()},r.make_=function(n,i){if(i===!0&&(i=this.defaultAnnotation_),i!==!1){if(!(n in this.target_)){var a;if((a=this.target_[ve])!=null&&a[n])return;A(1,i.annotationType_,this.name_+"."+n.toString())}for(var o=this.target_;o&&o!==or;){var u=ar(o,n);if(u){var c=i.make_(this,n,u,o);if(c===0)return;if(c===1)break}o=Object.getPrototypeOf(o)}ja(this,i,n)}},r.extend_=function(n,i,a,o){if(o===void 0&&(o=!1),a===!0&&(a=this.defaultAnnotation_),a===!1)return this.defineProperty_(n,i,o);var u=a.extend_(this,n,i,o);return u&&ja(this,a,n),u},r.defineProperty_=function(n,i,a){a===void 0&&(a=!1);try{B();var o=this.delete_(n);if(!o)return o;if(te(this)){var u=re(this,{object:this.proxy_||this.target_,name:n,type:Ne,newValue:i.value});if(!u)return null;var c=u.newValue;i.value!==c&&(i=at({},i,{value:c}))}if(a){if(!Reflect.defineProperty(this.target_,n,i))return!1}else xe(this.target_,n,i);this.notifyPropertyAddition_(n,i.value)}finally{G()}return!0},r.defineObservableProperty_=function(n,i,a,o){o===void 0&&(o=!1);try{B();var u=this.delete_(n);if(!u)return u;if(te(this)){var c=re(this,{object:this.proxy_||this.target_,name:n,type:Ne,newValue:i});if(!c)return null;i=c.newValue}var d=Aa(n),f={configurable:m.safeDescriptors?this.isPlainObject_:!0,enumerable:!0,get:d.get,set:d.set};if(o){if(!Reflect.defineProperty(this.target_,n,f))return!1}else xe(this.target_,n,f);var p=new He(i,a,"ObservableObject.key",!1);this.values_.set(n,p),this.notifyPropertyAddition_(n,p.value_)}finally{G()}return!0},r.defineComputedProperty_=function(n,i,a){a===void 0&&(a=!1);try{B();var o=this.delete_(n);if(!o)return o;if(te(this)){var u=re(this,{object:this.proxy_||this.target_,name:n,type:Ne,newValue:void 0});if(!u)return null}i.name||(i.name="ObservableObject.key"),i.context=this.proxy_||this.target_;var c=Aa(n),d={configurable:m.safeDescriptors?this.isPlainObject_:!0,enumerable:!1,get:c.get,set:c.set};if(a){if(!Reflect.defineProperty(this.target_,n,d))return!1}else xe(this.target_,n,d);this.values_.set(n,new Dt(i)),this.notifyPropertyAddition_(n,void 0)}finally{G()}return!0},r.delete_=function(n,i){if(i===void 0&&(i=!1),!Pe(this.target_,n))return!0;if(te(this)){var a=re(this,{object:this.proxy_||this.target_,name:n,type:Pa});if(!a)return null}try{var o,u;B();var c=fe(this),d=!1,f=this.values_.get(n),p=void 0;if(!f&&(c||d)){var v;p=(v=ar(this.target_,n))==null?void 0:v.value}if(i){if(!Reflect.deleteProperty(this.target_,n))return!1}else delete this.target_[n];if(f&&(this.values_.delete(n),f instanceof He&&(p=f.value_),Ki(f)),this.keysAtom_.reportChanged(),(o=this.pendingKeys_)==null||(u=o.get(n))==null||u.set(n in this.target_),c||d){var y={type:Pa,observableKind:"object",object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:p,name:n};c&&de(this,y)}}finally{G()}return!0},r.observe_=function(n,i){return Nt(this,n)},r.intercept_=function(n){return zt(this,n)},r.notifyPropertyAddition_=function(n,i){var a,o,u=fe(this),c=!1;if(u||c){var d=u||c?{type:Ne,observableKind:"object",debugObjectName:this.name_,object:this.proxy_||this.target_,name:n,newValue:i}:null;u&&de(this,d)}(a=this.pendingKeys_)==null||(o=a.get(n))==null||o.set(!0),this.keysAtom_.reportChanged()},r.ownKeys_=function(){return this.keysAtom_.reportObserved(),sr(this.target_)},r.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function Ar(e,r){var t;if(Pe(e,S))return e;var n=(t=r==null?void 0:r.name)!=null?t:"ObservableObject",i=new Ca(e,new Map,String(n),Ks(r));return lr(e,S,i),e}var Jc=Ve("ObservableObjectAdministration",Ca);function Aa(e){return xa[e]||(xa[e]={get:function(){return this[S].getObservablePropValue_(e)},set:function(t){return this[S].setObservablePropValue_(e,t)}})}function ie(e){return ur(e)?Jc(e[S]):!1}function ja(e,r,t){var n;(n=e.target_[ve])==null||delete n[t]}var hn=0,Ta=function(){};function Xc(e,r){Object.setPrototypeOf?Object.setPrototypeOf(e.prototype,r):e.prototype.__proto__!==void 0?e.prototype.__proto__=r:e.prototype=r}Xc(Ta,Array.prototype);var bn=function(e,r,t){Si(n,e);function n(a,o,u,c){var d;u===void 0&&(u="ObservableArray"),c===void 0&&(c=!1),d=e.call(this)||this;var f=new dn(u,o,c,!0);if(f.proxy_=Oi(d),yi(Oi(d),S,f),a&&a.length){var p=Et(!0);d.spliceWithArray(0,0,a),It(p)}return d}var i=n.prototype;return i.concat=function(){this[S].atom_.reportObserved();for(var o=arguments.length,u=new Array(o),c=0;c<o;c++)u[c]=arguments[c];return Array.prototype.concat.apply(this.slice(),u.map(function(d){return ge(d)?d.slice():d}))},i[t]=function(){var a=this,o=0;return Lt({next:function(){return o<a.length?{value:a[o++],done:!1}:{done:!0,value:void 0}}})},en(n,[{key:"length",get:function(){return this[S].getArrayLength_()},set:function(o){this[S].setArrayLength_(o)}},{key:r,get:function(){return"Array"}}]),n}(Ta,Symbol.toStringTag,Symbol.iterator);Object.entries(Pr).forEach(function(e){var r=e[0],t=e[1];r!=="concat"&&lr(bn.prototype,r,t)});function Zc(e){return{enumerable:!1,configurable:!0,get:function(){return this[S].get_(e)},set:function(t){this[S].set_(e,t)}}}function ef(e){xe(bn.prototype,""+e,Zc(e))}function Ea(e){if(e>hn){for(var r=hn;r<e+100;r++)ef(r);hn=e}}Ea(1e3);function tf(e,r,t){return new bn(e,r,t)}function je(e,r){if(typeof e=="object"&&e!==null){if(ge(e))return r!==void 0&&A(23),e[S].atom_;if(pe(e))return e[S];if(ne(e)){if(r===void 0)return e.keysAtom_;var t=e.data_.get(r)||e.hasMap_.get(r);return t||A(25,r,vn(e)),t}if(ie(e)){if(!r)return A(26);var n=e[S].values_.get(r);return n||A(27,r,vn(e)),n}if(rn(e)||vr(e)||wr(e))return e}else if(K(e)&&wr(e[S]))return e[S];A(28)}function _e(e,r){if(e||A(29),r!==void 0)return _e(je(e,r));if(rn(e)||vr(e)||wr(e)||ne(e)||pe(e))return e;if(e[S])return e[S];A(24,e)}function vn(e,r){var t;if(r!==void 0)t=je(e,r);else{if(sn(e))return e.name;ie(e)||ne(e)||pe(e)?t=_e(e):t=je(e)}return t.name_}var Ia=or.toString;function mn(e,r,t){return t===void 0&&(t=-1),yn(e,r,t)}function yn(e,r,t,n,i){if(e===r)return e!==0||1/e===1/r;if(e==null||r==null)return!1;if(e!==e)return r!==r;var a=typeof e;if(a!=="function"&&a!=="object"&&typeof r!="object")return!1;var o=Ia.call(e);if(o!==Ia.call(r))return!1;switch(o){case"[object RegExp]":case"[object String]":return""+e==""+r;case"[object Number]":return+e!=+e?+r!=+r:+e==0?1/+e===1/r:+e==+r;case"[object Date]":case"[object Boolean]":return+e==+r;case"[object Symbol]":return typeof Symbol!="undefined"&&Symbol.valueOf.call(e)===Symbol.valueOf.call(r);case"[object Map]":case"[object Set]":t>=0&&t++;break}e=Da(e),r=Da(r);var u=o==="[object Array]";if(!u){if(typeof e!="object"||typeof r!="object")return!1;var c=e.constructor,d=r.constructor;if(c!==d&&!(K(c)&&c instanceof c&&K(d)&&d instanceof d)&&"constructor"in e&&"constructor"in r)return!1}if(t===0)return!1;t<0&&(t=-1),n=n||[],i=i||[];for(var f=n.length;f--;)if(n[f]===e)return i[f]===r;if(n.push(e),i.push(r),u){if(f=e.length,f!==r.length)return!1;for(;f--;)if(!yn(e[f],r[f],t-1,n,i))return!1}else{var p=Object.keys(e),v;if(f=p.length,Object.keys(r).length!==f)return!1;for(;f--;)if(v=p[f],!(Pe(r,v)&&yn(e[v],r[v],t-1,n,i)))return!1}return n.pop(),i.pop(),!0}function Da(e){return ge(e)?e.slice():it(e)||ne(e)||Ct(e)||pe(e)?Array.from(e.entries()):e}function Lt(e){return e[Symbol.iterator]=rf,e}function rf(){return this}if(["Symbol","Map","Set"].forEach(function(e){var r=Jr();typeof r[e]=="undefined"&&A("MobX requires global '"+e+"' to be available or polyfilled")}),typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__=="object"&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:hc,extras:{getDebugName:vn},$mobx:S}),!z.useState)throw new Error("mobx-react-lite requires React with Hooks support");if(!va)throw new Error("mobx-react-lite@3 requires mobx at least version 6 to be available");function nf(e){e()}function af(e){e||(e=nf),jc({reactionScheduler:e})}function of(e){return Ec(e)}var Ma=typeof FinalizationRegistry=="undefined"?void 0:FinalizationRegistry;function Ra(e){var r={reaction:e,mounted:!1,changedBeforeMount:!1,cleanAt:Date.now()+uf};return r}var uf=1e4,lf=1e4;function sf(e){var r=new Map,t=1,n=new e(function(a){var o=r.get(a);o&&(o.reaction.dispose(),r.delete(a))});return{addReactionToTrack:function(i,a,o){var u=t++;return n.register(o,u,i),i.current=Ra(a),i.current.finalizationRegistryCleanupToken=u,r.set(u,i.current),i.current},recordReactionAsCommitted:function(i){n.unregister(i),i.current&&i.current.finalizationRegistryCleanupToken&&r.delete(i.current.finalizationRegistryCleanupToken)},forceCleanupTimerToRunNowForTests:function(){},resetCleanupScheduleForTests:function(){}}}var cf=globalThis&&globalThis.__values||function(e){var r=typeof Symbol=="function"&&Symbol.iterator,t=r&&e[r],n=0;if(t)return t.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")};function ff(){var e=new Set,r;function t(){r&&(clearTimeout(r),u())}function n(){var c,d;if(e.size>0){try{for(var f=cf(e),p=f.next();!p.done;p=f.next()){var v=p.value,y=v.current;y&&(y.reaction.dispose(),v.current=null)}}catch(P){c={error:P}}finally{try{p&&!p.done&&(d=f.return)&&d.call(f)}finally{if(c)throw c.error}}e.clear()}r&&(clearTimeout(r),r=void 0)}function i(){r===void 0&&(r=setTimeout(u,lf))}function a(c){e.add(c),i()}function o(c){e.delete(c)}function u(){r=void 0;var c=Date.now();e.forEach(function(d){var f=d.current;f&&c>=f.cleanAt&&(f.reaction.dispose(),d.current=null,e.delete(d))}),e.size>0&&i()}return{addReactionToTrack:function(c,d,f){return c.current=Ra(d),a(c),c.current},recordReactionAsCommitted:o,forceCleanupTimerToRunNowForTests:t,resetCleanupScheduleForTests:n}}var Va=Ma?sf(Ma):ff(),df=Va.addReactionToTrack,pf=Va.recordReactionAsCommitted,ka=globalThis&&globalThis.__read||function(e,r){var t=typeof Symbol=="function"&&e[Symbol.iterator];if(!t)return e;var n=t.call(e),i,a=[],o;try{for(;(r===void 0||r-- >0)&&!(i=n.next()).done;)a.push(i.value)}catch(u){o={error:u}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(o)throw o.error}}return a};function za(e){return"observer".concat(e)}var hf=function(){function e(){}return e}();function bf(){return new hf}function vf(e,r){r===void 0&&(r="observed");var t=ka(h.default.useState(bf),1),n=t[0],i=ka(h.default.useState(),2),a=i[1],o=function(){return a([])},u=h.default.useRef(null);if(!u.current)var c=new dt(za(r),function(){d.mounted?o():d.changedBeforeMount=!0}),d=df(u,c,n);var f=u.current.reaction;h.default.useDebugValue(f,of),h.default.useEffect(function(){return pf(u),u.current?(u.current.mounted=!0,u.current.changedBeforeMount&&(u.current.changedBeforeMount=!1,o())):(u.current={reaction:new dt(za(r),function(){o()}),mounted:!0,changedBeforeMount:!1,cleanAt:1/0},o()),function(){u.current.reaction.dispose(),u.current=null}},[]);var p,v;if(f.track(function(){try{p=e()}catch(y){v=y}}),v)throw v;return p}var Na=typeof Symbol=="function"&&Symbol.for,La=Na?Symbol.for("react.forward_ref"):typeof z.forwardRef=="function"&&z.forwardRef(function(e){return null}).$$typeof,Fa=Na?Symbol.for("react.memo"):typeof z.memo=="function"&&z.memo(function(e){return null}).$$typeof;function ae(e,r){var t;if(Fa&&e.$$typeof===Fa)throw new Error("[mobx-react-lite] You are trying to use `observer` on a function component wrapped in either another `observer` or `React.memo`. The observer already applies 'React.memo' for you.");var n=(t=r==null?void 0:r.forwardRef)!==null&&t!==void 0?t:!1,i=e,a=e.displayName||e.name;if(La&&e.$$typeof===La&&(n=!0,i=e.render,typeof i!="function"))throw new Error("[mobx-react-lite] `render` property of ForwardRef was not a function");var o=function(u,c){return vf(function(){return i(u,c)},a)};return a!==""&&(o.displayName=a),e.contextTypes&&(o.contextTypes=e.contextTypes),n&&(o=z.forwardRef(o)),o=z.memo(o),yf(e,o),o}var mf={$$typeof:!0,render:!0,compare:!0,type:!0,displayName:!0};function yf(e,r){Object.keys(e).forEach(function(t){mf[t]||Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))})}globalThis&&globalThis.__read,af(Uo.unstable_batchedUpdates);var gf="warn";function _f(){return gf}var F;(function(e){e.afterCreate="afterCreate",e.afterAttach="afterAttach",e.afterCreationFinalization="afterCreationFinalization",e.beforeDetach="beforeDetach",e.beforeDestroy="beforeDestroy"})(F||(F={}));/*! *****************************************************************************
|
|
25
|
+
Copyright (c) Microsoft Corporation.
|
|
26
|
+
|
|
27
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
28
|
+
purpose with or without fee is hereby granted.
|
|
29
|
+
|
|
30
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
31
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
32
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
33
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
34
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
35
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
36
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
37
|
+
***************************************************************************** */var gn=function(e,r){return gn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])},gn(e,r)};function M(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");gn(e,r);function t(){this.constructor=e}e.prototype=r===null?Object.create(r):(t.prototype=r.prototype,new t)}var Ft=function(){return Ft=Object.assign||function(r){for(var t,n=1,i=arguments.length;n<i;n++){t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(r[a]=t[a])}return r},Ft.apply(this,arguments)};function wf(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)r.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(t[n[i]]=e[n[i]]);return t}function jr(e){var r=typeof Symbol=="function"&&Symbol.iterator,t=r&&e[r],n=0;if(t)return t.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(r?"Object is not iterable.":"Symbol.iterator is not defined.")}function _n(e,r){var t=typeof Symbol=="function"&&e[Symbol.iterator];if(!t)return e;var n=t.call(e),i,a=[],o;try{for(;(r===void 0||r-- >0)&&!(i=n.next()).done;)a.push(i.value)}catch(u){o={error:u}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(o)throw o.error}}return a}function ht(){for(var e=[],r=0;r<arguments.length;r++)e=e.concat(_n(arguments[r]));return e}function qa(e){return D(e).type}function Ba(e,r){D(e).applyPatches(Ja(r))}function Ga(e,r){r===void 0&&(r=!0);var t=D(e);return r?t.snapshot:t.type.getSnapshot(t,!1)}function Sf(e){return D(e).root.storedValue}function Of(e){return D(e).path}function xf(e){return D(e).identifier}function Kp(e){return e}var $a=function(){function e(r,t,n,i){Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"environment",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"_escapedSubpath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_subpath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_subpathUponDeath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_pathUponDeath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"storedValue",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"aliveAtom",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_state",{enumerable:!0,configurable:!0,writable:!0,value:q.INITIALIZING}),Object.defineProperty(this,"_hookSubscribers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_parent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pathAtom",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.environment=i,this.baseSetParent(t,n)}return Object.defineProperty(e.prototype,"subpath",{get:function(){return this._subpath},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"subpathUponDeath",{get:function(){return this._subpathUponDeath},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"pathUponDeath",{get:function(){return this._pathUponDeath},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this.type.getValue(this)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"state",{get:function(){return this._state},set:function(r){var t=this.isAlive;this._state=r;var n=this.isAlive;this.aliveAtom&&t!==n&&this.aliveAtom.reportChanged()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"fireInternalHook",{enumerable:!1,configurable:!0,writable:!0,value:function(r){this._hookSubscribers&&this._hookSubscribers.emit(r,this,r)}}),Object.defineProperty(e.prototype,"registerHook",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t){return this._hookSubscribers||(this._hookSubscribers=new Za),this._hookSubscribers.register(r,t)}}),Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"getReconciliationType",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.type}}),Object.defineProperty(e.prototype,"baseSetParent",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t){this._parent=r,this._subpath=t,this._escapedSubpath=void 0,this.pathAtom&&this.pathAtom.reportChanged()}}),Object.defineProperty(e.prototype,"path",{get:function(){return this.getEscapedPath(!0)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"getEscapedPath",{enumerable:!1,configurable:!0,writable:!0,value:function(r){return r&&(this.pathAtom||(this.pathAtom=cr("path")),this.pathAtom.reportObserved()),this.parent?(this._escapedSubpath===void 0&&(this._escapedSubpath=this._subpath?et(this._subpath):""),this.parent.getEscapedPath(r)+"/"+this._escapedSubpath):""}}),Object.defineProperty(e.prototype,"isRoot",{get:function(){return this.parent===null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isAlive",{get:function(){return this.state!==q.DEAD},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isDetaching",{get:function(){return this.state===q.DETACHING},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"observableIsAlive",{get:function(){return this.aliveAtom||(this.aliveAtom=cr("alive")),this.aliveAtom.reportObserved(),this.isAlive},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"baseFinalizeCreation",{enumerable:!1,configurable:!0,writable:!0,value:function(r){if(this.state===q.CREATED){if(this.parent){if(this.parent.state!==q.FINALIZED)return;this.fireHook(F.afterAttach)}this.state=q.FINALIZED,r&&r()}}}),Object.defineProperty(e.prototype,"baseFinalizeDeath",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._hookSubscribers&&this._hookSubscribers.clearAll(),this._subpathUponDeath=this._subpath,this._pathUponDeath=this.getEscapedPath(!1),this.baseSetParent(null,""),this.state=q.DEAD}}),Object.defineProperty(e.prototype,"baseAboutToDie",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.fireHook(F.beforeDestroy)}}),e}(),qt=function(e){M(r,e);function r(t,n,i,a,o){var u=e.call(this,t,n,i,a)||this;try{u.storedValue=t.createNewInstance(o)}catch(c){throw u.state=q.DEAD,c}return u.state=q.CREATED,u.finalizeCreation(),u}return Object.defineProperty(r.prototype,"root",{get:function(){if(!this.parent)throw g("This scalar node is not part of a tree");return this.parent.root},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"setParent",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var i=this.parent!==t,a=this.subpath!==n;!i&&!a||(this.environment=void 0,this.baseSetParent(this.parent,n))}}),Object.defineProperty(r.prototype,"snapshot",{get:function(){return this.getSnapshot()},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.type.getSnapshot(this)}}),Object.defineProperty(r.prototype,"toString",{enumerable:!1,configurable:!0,writable:!0,value:function(){var t=(this.isAlive?this.path:this.pathUponDeath)||"<root>";return this.type.name+"@"+t+(this.isAlive?"":" [dead]")}}),Object.defineProperty(r.prototype,"die",{enumerable:!1,configurable:!0,writable:!0,value:function(){!this.isAlive||this.state===q.DETACHING||(this.aboutToDie(),this.finalizeDeath())}}),Object.defineProperty(r.prototype,"finalizeCreation",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.baseFinalizeCreation()}}),Object.defineProperty(r.prototype,"aboutToDie",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.baseAboutToDie()}}),Object.defineProperty(r.prototype,"finalizeDeath",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.baseFinalizeDeath()}}),Object.defineProperty(r.prototype,"fireHook",{enumerable:!1,configurable:!0,writable:!0,value:function(t){this.fireInternalHook(t)}}),r}($a);qt.prototype.die=L(qt.prototype.die);var Pf=1,Cf={onError:function(e){throw e}},H=function(e){M(r,e);function r(t,n,i,a,o){var u=e.call(this,t,n,i,a)||this;if(Object.defineProperty(u,"nodeId",{enumerable:!0,configurable:!0,writable:!0,value:++Pf}),Object.defineProperty(u,"identifierAttribute",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(u,"identifier",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(u,"unnormalizedIdentifier",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(u,"identifierCache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(u,"isProtectionEnabled",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(u,"middlewares",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(u,"_applyPatches",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(u,"_applySnapshot",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(u,"_autoUnbox",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(u,"_isRunningAction",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(u,"_hasSnapshotReaction",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(u,"_observableInstanceState",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(u,"_childNodes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(u,"_initialSnapshot",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(u,"_cachedInitialSnapshot",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(u,"_cachedInitialSnapshotCreated",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(u,"_snapshotComputed",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(u,"_snapshotUponDeath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(u,"_internalEvents",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),u._snapshotComputed=st(function(){return u.getSnapshot()}),u.unbox=u.unbox.bind(u),u._initialSnapshot=o,u.identifierAttribute=t.identifierAttribute,n||(u.identifierCache=new qf),u._childNodes=t.initializeChildNodes(u,u._initialSnapshot),u.identifier=null,u.unnormalizedIdentifier=null,u.identifierAttribute&&u._initialSnapshot){var c=u._initialSnapshot[u.identifierAttribute];if(c===void 0){var d=u._childNodes[u.identifierAttribute];d&&(c=d.value)}if(typeof c!="string"&&typeof c!="number")throw g("Instance identifier '"+u.identifierAttribute+"' for type '"+u.type.name+"' must be a string or a number");u.identifier=Wt(c),u.unnormalizedIdentifier=c}return n?n.root.identifierCache.addNodeToCache(u):u.identifierCache.addNodeToCache(u),u}return Object.defineProperty(r.prototype,"applyPatches",{enumerable:!1,configurable:!0,writable:!0,value:function(t){this.createObservableInstanceIfNeeded(),this._applyPatches(t)}}),Object.defineProperty(r.prototype,"applySnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t){this.createObservableInstanceIfNeeded(),this._applySnapshot(t)}}),Object.defineProperty(r.prototype,"createObservableInstanceIfNeeded",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._observableInstanceState===0&&this.createObservableInstance()}}),Object.defineProperty(r.prototype,"createObservableInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(){var t,n;this._observableInstanceState=1;for(var i=[],a=this.parent;a&&a._observableInstanceState===0;)i.unshift(a),a=a.parent;try{for(var o=jr(i),u=o.next();!u.done;u=o.next()){var c=u.value;c.createObservableInstanceIfNeeded()}}catch(f){t={error:f}}finally{try{u&&!u.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}var d=this.type;try{this.storedValue=d.createNewInstance(this._childNodes),this.preboot(),this._isRunningAction=!0,d.finalizeNewInstance(this,this.storedValue)}catch(f){throw this.state=q.DEAD,f}finally{this._isRunningAction=!1}this._observableInstanceState=2,this._snapshotComputed.trackAndCompute(),this.isRoot&&this._addSnapshotReaction(),this._childNodes=yt,this.state=q.CREATED,this.fireHook(F.afterCreate),this.finalizeCreation()}}),Object.defineProperty(r.prototype,"root",{get:function(){var t=this.parent;return t?t.root:this},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"clearParent",{enumerable:!1,configurable:!0,writable:!0,value:function(){if(!!this.parent){this.fireHook(F.beforeDetach);var t=this.state;this.state=q.DETACHING;var n=this.root,i=n.environment,a=n.identifierCache.splitCache(this);try{this.parent.removeChild(this.subpath),this.baseSetParent(null,""),this.environment=i,this.identifierCache=a}finally{this.state=t}}}}),Object.defineProperty(r.prototype,"setParent",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var i=t!==this.parent,a=n!==this.subpath;!i&&!a||(i?(this.environment=void 0,t.root.identifierCache.mergeCache(this),this.baseSetParent(t,n),this.fireHook(F.afterAttach)):a&&this.baseSetParent(this.parent,n))}}),Object.defineProperty(r.prototype,"fireHook",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this;this.fireInternalHook(t);var i=this.storedValue&&typeof this.storedValue=="object"&&this.storedValue[t];typeof i=="function"&&(na?na(function(){i.apply(n.storedValue)}):i.apply(this.storedValue))}}),Object.defineProperty(r.prototype,"snapshot",{get:function(){return this._snapshotComputed.get()},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.isAlive?this._observableInstanceState===2?this._getActualSnapshot():this._getCachedInitialSnapshot():this._snapshotUponDeath}}),Object.defineProperty(r.prototype,"_getActualSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.type.getSnapshot(this)}}),Object.defineProperty(r.prototype,"_getCachedInitialSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(){if(!this._cachedInitialSnapshotCreated){var t=this.type,n=this._childNodes,i=this._initialSnapshot;this._cachedInitialSnapshot=t.processInitialSnapshot(n,i),this._cachedInitialSnapshotCreated=!0}return this._cachedInitialSnapshot}}),Object.defineProperty(r.prototype,"isRunningAction",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._isRunningAction?!0:this.isRoot?!1:this.parent.isRunningAction()}}),Object.defineProperty(r.prototype,"assertAlive",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=_f();if(!this.isAlive&&n!=="ignore"){var i=this._getAssertAliveError(t);switch(n){case"error":throw g(i);case"warn":Zf(i)}}}}),Object.defineProperty(r.prototype,"_getAssertAliveError",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this.getEscapedPath(!1)||this.pathUponDeath||"",i=t.subpath&&et(t.subpath)||"",a=t.actionContext||Tf();a&&a.type!=="action"&&a.parentActionEvent&&(a=a.parentActionEvent);var o="";if(a&&a.name!=null){var u=a&&a.context&&Of(a.context)||n;o=u+"."+a.name+"()"}return"You are trying to read or write to an object that is no longer part of a state tree. (Object type: '"+this.type.name+"', Path upon death: '"+n+"', Subpath: '"+i+"', Action: '"+o+"'). Either detach nodes first, or don't use objects after removing / replacing them in the tree."}}),Object.defineProperty(r.prototype,"getChildNode",{enumerable:!1,configurable:!0,writable:!0,value:function(t){this.assertAlive({subpath:t}),this._autoUnbox=!1;try{return this._observableInstanceState===2?this.type.getChildNode(this,t):this._childNodes[t]}finally{this._autoUnbox=!0}}}),Object.defineProperty(r.prototype,"getChildren",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.assertAlive(yt),this._autoUnbox=!1;try{return this._observableInstanceState===2?this.type.getChildren(this):Ka(this._childNodes)}finally{this._autoUnbox=!0}}}),Object.defineProperty(r.prototype,"getChildType",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return this.type.getChildType(t)}}),Object.defineProperty(r.prototype,"isProtected",{get:function(){return this.root.isProtectionEnabled},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"assertWritable",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(this.assertAlive(t),!this.isRunningAction()&&this.isProtected)throw g("Cannot modify '"+this+"', the object is protected and can only be modified by using an action.")}}),Object.defineProperty(r.prototype,"removeChild",{enumerable:!1,configurable:!0,writable:!0,value:function(t){this.type.removeChild(this,t)}}),Object.defineProperty(r.prototype,"unbox",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return t&&(this.assertAlive({subpath:t.subpath||t.subpathUponDeath}),this._autoUnbox?t.value:t)}}),Object.defineProperty(r.prototype,"toString",{enumerable:!1,configurable:!0,writable:!0,value:function(){var t=(this.isAlive?this.path:this.pathUponDeath)||"<root>",n=this.identifier?"(id: "+this.identifier+")":"";return this.type.name+"@"+t+n+(this.isAlive?"":" [dead]")}}),Object.defineProperty(r.prototype,"finalizeCreation",{enumerable:!1,configurable:!0,writable:!0,value:function(){var t=this;this.baseFinalizeCreation(function(){var n,i;try{for(var a=jr(t.getChildren()),o=a.next();!o.done;o=a.next()){var u=o.value;u.finalizeCreation()}}catch(c){n={error:c}}finally{try{o&&!o.done&&(i=a.return)&&i.call(a)}finally{if(n)throw n.error}}t.fireInternalHook(F.afterCreationFinalization)})}}),Object.defineProperty(r.prototype,"detach",{enumerable:!1,configurable:!0,writable:!0,value:function(){if(!this.isAlive)throw g("Error while detaching, node is not alive.");this.clearParent()}}),Object.defineProperty(r.prototype,"preboot",{enumerable:!1,configurable:!0,writable:!0,value:function(){var t=this;this._applyPatches=Gt(this.storedValue,"@APPLY_PATCHES",function(n){n.forEach(function(i){if(!i.path){t.type.applySnapshot(t,i.value);return}var a=od(i.path),o=$f(t,a.slice(0,-1));o.applyPatchLocally(a[a.length-1],i)})}),this._applySnapshot=Gt(this.storedValue,"@APPLY_SNAPSHOT",function(n){if(n!==t.snapshot)return t.type.applySnapshot(t,n)}),Ze(this.storedValue,"$treenode",this),Ze(this.storedValue,"toJSON",Gf)}}),Object.defineProperty(r.prototype,"die",{enumerable:!1,configurable:!0,writable:!0,value:function(){!this.isAlive||this.state===q.DETACHING||(this.aboutToDie(),this.finalizeDeath())}}),Object.defineProperty(r.prototype,"aboutToDie",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._observableInstanceState!==0&&(this.getChildren().forEach(function(t){t.aboutToDie()}),this.baseAboutToDie(),this._internalEventsEmit("dispose"),this._internalEventsClear("dispose"))}}),Object.defineProperty(r.prototype,"finalizeDeath",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.getChildren().forEach(function(n){n.finalizeDeath()}),this.root.identifierCache.notifyDied(this);var t=this.snapshot;this._snapshotUponDeath=t,this._internalEventsClearAll(),this.baseFinalizeDeath()}}),Object.defineProperty(r.prototype,"onSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return this._addSnapshotReaction(),this._internalEventsRegister("snapshot",t)}}),Object.defineProperty(r.prototype,"emitSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t){this._internalEventsEmit("snapshot",t)}}),Object.defineProperty(r.prototype,"onPatch",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return this._internalEventsRegister("patch",t)}}),Object.defineProperty(r.prototype,"emitPatch",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){if(this._internalEventsHasSubscribers("patch")){var i=Qf({},t,{path:n.path.substr(this.path.length)+"/"+t.path}),a=_n(td(i),2),o=a[0],u=a[1];this._internalEventsEmit("patch",o,u)}this.parent&&this.parent.emitPatch(t,n)}}),Object.defineProperty(r.prototype,"hasDisposer",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return this._internalEventsHas("dispose",t)}}),Object.defineProperty(r.prototype,"addDisposer",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(!this.hasDisposer(t)){this._internalEventsRegister("dispose",t,!0);return}throw g("cannot add a disposer when it is already registered for execution")}}),Object.defineProperty(r.prototype,"removeDisposer",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(!this._internalEventsHas("dispose",t))throw g("cannot remove a disposer which was never registered for execution");this._internalEventsUnregister("dispose",t)}}),Object.defineProperty(r.prototype,"removeMiddleware",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(this.middlewares){var n=this.middlewares.indexOf(t);n>=0&&this.middlewares.splice(n,1)}}}),Object.defineProperty(r.prototype,"addMiddleWare",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var i=this;n===void 0&&(n=!0);var a={handler:t,includeHooks:n};return this.middlewares?this.middlewares.push(a):this.middlewares=[a],function(){i.removeMiddleware(a)}}}),Object.defineProperty(r.prototype,"applyPatchLocally",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){this.assertWritable({subpath:t}),this.createObservableInstanceIfNeeded(),this.type.applyPatchLocally(this,t,n)}}),Object.defineProperty(r.prototype,"_addSnapshotReaction",{enumerable:!1,configurable:!0,writable:!0,value:function(){var t=this;if(!this._hasSnapshotReaction){var n=wc(function(){return t.snapshot},function(i){return t.emitSnapshot(i)},Cf);this.addDisposer(n),this._hasSnapshotReaction=!0}}}),Object.defineProperty(r.prototype,"_internalEventsHasSubscribers",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return!!this._internalEvents&&this._internalEvents.hasSubscribers(t)}}),Object.defineProperty(r.prototype,"_internalEventsRegister",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i){return i===void 0&&(i=!1),this._internalEvents||(this._internalEvents=new Za),this._internalEvents.register(t,n,i)}}),Object.defineProperty(r.prototype,"_internalEventsHas",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){return!!this._internalEvents&&this._internalEvents.has(t,n)}}),Object.defineProperty(r.prototype,"_internalEventsUnregister",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){this._internalEvents&&this._internalEvents.unregister(t,n)}}),Object.defineProperty(r.prototype,"_internalEventsEmit",{enumerable:!1,configurable:!0,writable:!0,value:function(t){for(var n,i=[],a=1;a<arguments.length;a++)i[a-1]=arguments[a];this._internalEvents&&(n=this._internalEvents).emit.apply(n,ht([t],i))}}),Object.defineProperty(r.prototype,"_internalEventsClear",{enumerable:!1,configurable:!0,writable:!0,value:function(t){this._internalEvents&&this._internalEvents.clear(t)}}),Object.defineProperty(r.prototype,"_internalEventsClearAll",{enumerable:!1,configurable:!0,writable:!0,value:function(){this._internalEvents&&this._internalEvents.clearAll()}}),r}($a);H.prototype.createObservableInstance=L(H.prototype.createObservableInstance),H.prototype.detach=L(H.prototype.detach),H.prototype.die=L(H.prototype.die);var Ua,E;(function(e){e[e.String=1]="String",e[e.Number=2]="Number",e[e.Boolean=4]="Boolean",e[e.Date=8]="Date",e[e.Literal=16]="Literal",e[e.Array=32]="Array",e[e.Map=64]="Map",e[e.Object=128]="Object",e[e.Frozen=256]="Frozen",e[e.Optional=512]="Optional",e[e.Reference=1024]="Reference",e[e.Identifier=2048]="Identifier",e[e.Late=4096]="Late",e[e.Refinement=8192]="Refinement",e[e.Union=16384]="Union",e[e.Null=32768]="Null",e[e.Undefined=65536]="Undefined",e[e.Integer=131072]="Integer",e[e.Custom=262144]="Custom",e[e.SnapshotProcessor=524288]="SnapshotProcessor"})(E||(E={}));var Wa="cannotDetermine",Af=Symbol("$type"),Te=function(){function e(r){Object.defineProperty(this,Ua,{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"C",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"S",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"T",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"N",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isType",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=r}return Object.defineProperty(e.prototype,"create",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t){return Ee(this,r),this.instantiate(null,"",t,r).value}}),Object.defineProperty(e.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t){throw g("unimplemented method")}}),Object.defineProperty(e.prototype,"isAssignableFrom",{enumerable:!1,configurable:!0,writable:!0,value:function(r){return r===this}}),Object.defineProperty(e.prototype,"validate",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t){var n=Qa(r);if(n){var i=qa(r);return this.isAssignableFrom(i)?J():X(t,r)}return this.isValidSnapshot(r,t)}}),Object.defineProperty(e.prototype,"is",{enumerable:!1,configurable:!0,writable:!0,value:function(r){return this.validate(r,[{path:"",type:this}]).length===0}}),Object.defineProperty(e.prototype,"Type",{get:function(){throw g("Factory.Type should not be actually called. It is just a Type signature that can be used at compile time with Typescript, by using `typeof type.Type`")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"TypeWithoutSTN",{get:function(){throw g("Factory.TypeWithoutSTN should not be actually called. It is just a Type signature that can be used at compile time with Typescript, by using `typeof type.TypeWithoutSTN`")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"SnapshotType",{get:function(){throw g("Factory.SnapshotType should not be actually called. It is just a Type signature that can be used at compile time with Typescript, by using `typeof type.SnapshotType`")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"CreationType",{get:function(){throw g("Factory.CreationType should not be actually called. It is just a Type signature that can be used at compile time with Typescript, by using `typeof type.CreationType`")},enumerable:!1,configurable:!0}),e}();Ua=Af,Te.prototype.create=L(Te.prototype.create);var bt=function(e){M(r,e);function r(t){var n=e.call(this,t)||this;return Object.defineProperty(n,"identifierAttribute",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),n}return Object.defineProperty(r.prototype,"create",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){return t===void 0&&(t=this.getDefaultSnapshot()),e.prototype.create.call(this,t,n)}}),Object.defineProperty(r.prototype,"getValue",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return t.createObservableInstanceIfNeeded(),t.storedValue}}),Object.defineProperty(r.prototype,"isMatchingSnapshotId",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){return!t.identifierAttribute||t.identifier===Wt(n[t.identifierAttribute])}}),Object.defineProperty(r.prototype,"tryToReconcileNode",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){return t.isDetaching?!1:t.snapshot===n||V(n)&&D(n)===t?!0:t.type===this&&Xa(n)&&!V(n)&&this.isMatchingSnapshotId(t,n)?(t.applySnapshot(n),!0):!1}}),Object.defineProperty(r.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){var o=this.tryToReconcileNode(t,n);if(o)return t.setParent(i,a),t;if(t.die(),V(n)&&this.isAssignableFrom(qa(n))){var u=D(n);return u.setParent(i,a),u}return this.instantiate(i,a,void 0,n)}}),Object.defineProperty(r.prototype,"getSubTypes",{enumerable:!1,configurable:!0,writable:!0,value:function(){return null}}),r}(Te);bt.prototype.create=L(bt.prototype.create);var vt=function(e){M(r,e);function r(){return e!==null&&e.apply(this,arguments)||this}return Object.defineProperty(r.prototype,"createNewInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return t}}),Object.defineProperty(r.prototype,"getValue",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return t.storedValue}}),Object.defineProperty(r.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return t.storedValue}}),Object.defineProperty(r.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){if(!t.isDetaching&&t.type===this&&t.storedValue===n)return t;var o=this.instantiate(i,a,void 0,n);return t.die(),o}}),Object.defineProperty(r.prototype,"getSubTypes",{enumerable:!1,configurable:!0,writable:!0,value:function(){return null}}),r}(Te);function Le(e){return typeof e=="object"&&e&&e.isType===!0}var jf=1,Bt;function Tf(){return Bt}function Ef(){return jf++}function If(e,r){var t=D(e.context);e.type==="action"&&t.assertAlive({actionContext:e});var n=t._isRunningAction;t._isRunningAction=!0;var i=Bt;Bt=e;try{return Rf(t,e,r)}finally{Bt=i,t._isRunningAction=n}}function Df(e){if(!!e)return e.type==="action"?e:e.parentActionEvent}function Gt(e,r,t){var n=function(){var i=Ef(),a=Bt,o=Df(a);return If({type:"action",name:r,id:i,args:Xf(arguments),context:e,tree:Sf(e),rootId:a?a.rootId:i,parentId:a?a.id:0,allParentIds:a?ht(a.allParentIds,[a.id]):[],parentEvent:a,parentActionEvent:o},t)};return n._isMSTAction=!0,n}var Mf=function(){function e(r,t){Object.defineProperty(this,"arrayIndex",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"inArrayIndex",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"middlewares",{enumerable:!0,configurable:!0,writable:!0,value:[]}),t.$mst_middleware&&this.middlewares.push(t.$mst_middleware);for(var n=r;n;)n.middlewares&&this.middlewares.push(n.middlewares),n=n.parent}return Object.defineProperty(e.prototype,"isEmpty",{get:function(){return this.middlewares.length<=0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"getNextMiddleware",{enumerable:!1,configurable:!0,writable:!0,value:function(){var r=this.middlewares[this.arrayIndex];if(!!r){var t=r[this.inArrayIndex++];return t||(this.arrayIndex++,this.inArrayIndex=0,this.getNextMiddleware())}}}),e}();function Rf(e,r,t){var n=new Mf(e,t);if(n.isEmpty)return L(t).apply(null,r.args);var i=null;function a(o){var u=n.getNextMiddleware(),c=u&&u.handler;if(!c)return L(t).apply(null,o.args);if(!u.includeHooks&&F[o.name])return a(o);function d(p,v){i=a(p),v&&(i=v(i))}function f(p){i=p}return c(o,d,f),i}return a(r)}function Vf(e){try{return JSON.stringify(e)}catch(r){return"<Unserializable: "+r+">"}}function Ya(e){return typeof e=="function"?"<function"+(e.name?" "+e.name:"")+">":V(e)?"<"+e+">":"`"+Vf(e)+"`"}function kf(e){return e.length<280?e:e.substring(0,272)+"......"+e.substring(e.length-8)}function zf(e){var r=e.value,t=e.context[e.context.length-1].type,n=e.context.map(function(u){var c=u.path;return c}).filter(function(u){return u.length>0}).join("/"),i=n.length>0?'at path "/'+n+'" ':"",a=V(r)?"value of type "+D(r).type.name+":":$t(r)?"value":"snapshot",o=t&&V(r)&&t.is(D(r).snapshot);return""+i+a+" "+Ya(r)+" is not assignable "+(t?"to type: `"+t.name+"`":"")+(e.message?" ("+e.message+")":"")+(t?_d(t)||$t(r)?".":", expected an instance of `"+t.name+"` or a snapshot like `"+t.describe()+"` instead."+(o?" (Note that a snapshot of the provided value is compatible with the targeted type)":""):".")}function wn(e,r,t){return e.concat([{path:r,type:t}])}function J(){return mt}function X(e,r,t){return[{context:e,value:r,message:t}]}function Tr(e){return e.reduce(function(r,t){return r.concat(t)},[])}function Ee(e,r){ed()&&Nf(e,r)}function Nf(e,r){var t=e.validate(r,[{path:"",type:e}]);if(t.length>0)throw g(Lf(e,r,t))}function Lf(e,r,t){if(t.length!==0)return"Error while converting "+kf(Ya(r))+" to `"+e.name+`\`:
|
|
38
|
+
|
|
39
|
+
`+t.map(zf).join(`
|
|
40
|
+
`)}var Ff=0,qf=function(){function e(){Object.defineProperty(this,"cacheId",{enumerable:!0,configurable:!0,writable:!0,value:Ff++}),Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:R.map()}),Object.defineProperty(this,"lastCacheModificationPerId",{enumerable:!0,configurable:!0,writable:!0,value:R.map()})}return Object.defineProperty(e.prototype,"updateLastCacheModificationPerId",{enumerable:!1,configurable:!0,writable:!0,value:function(r){var t=this.lastCacheModificationPerId.get(r);this.lastCacheModificationPerId.set(r,t===void 0?1:t+1)}}),Object.defineProperty(e.prototype,"getLastCacheModificationPerId",{enumerable:!1,configurable:!0,writable:!0,value:function(r){var t=this.lastCacheModificationPerId.get(r)||0;return this.cacheId+"-"+t}}),Object.defineProperty(e.prototype,"addNodeToCache",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t){if(t===void 0&&(t=!0),r.identifierAttribute){var n=r.identifier;this.cache.has(n)||this.cache.set(n,R.array([],Er));var i=this.cache.get(n);if(i.indexOf(r)!==-1)throw g("Already registered");i.push(r),t&&this.updateLastCacheModificationPerId(n)}}}),Object.defineProperty(e.prototype,"mergeCache",{enumerable:!1,configurable:!0,writable:!0,value:function(r){var t=this;pa(r.identifierCache.cache).forEach(function(n){return n.forEach(function(i){t.addNodeToCache(i)})})}}),Object.defineProperty(e.prototype,"notifyDied",{enumerable:!1,configurable:!0,writable:!0,value:function(r){if(r.identifierAttribute){var t=r.identifier,n=this.cache.get(t);n&&(n.remove(r),n.length||this.cache.delete(t),this.updateLastCacheModificationPerId(r.identifier))}}}),Object.defineProperty(e.prototype,"splitCache",{enumerable:!1,configurable:!0,writable:!0,value:function(r){var t=this,n=new e,i=r.path;return zc(this.cache).forEach(function(a){for(var o=_n(a,2),u=o[0],c=o[1],d=!1,f=c.length-1;f>=0;f--)c[f].path.indexOf(i)===0&&(n.addNodeToCache(c[f],!1),c.splice(f,1),d=!0);d&&t.updateLastCacheModificationPerId(u)}),n}}),Object.defineProperty(e.prototype,"has",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t){var n=this.cache.get(t);return n?n.some(function(i){return r.isAssignableFrom(i.type)}):!1}}),Object.defineProperty(e.prototype,"resolve",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t){var n=this.cache.get(t);if(!n)return null;var i=n.filter(function(a){return r.isAssignableFrom(a.type)});switch(i.length){case 0:return null;case 1:return i[0];default:throw g("Cannot resolve a reference to type '"+r.name+"' with id: '"+t+"' unambigously, there are multiple candidates: "+i.map(function(a){return a.path}).join(", "))}}}),e}();function Sn(e,r,t,n,i){var a=Qa(i);if(a){if(a.parent)throw g("Cannot add an object to a state tree if it is already part of the same or another state tree. Tried to assign an object to '"+(r?r.path:"")+"/"+t+"', but it lives already at '"+a.path+"'");return r&&a.setParent(r,t),a}return new H(e,r,t,n,i)}function Xe(e,r,t,n,i){return new qt(e,r,t,n,i)}function Bf(e){return e instanceof qt||e instanceof H}var q;(function(e){e[e.INITIALIZING=0]="INITIALIZING",e[e.CREATED=1]="CREATED",e[e.FINALIZED=2]="FINALIZED",e[e.DETACHING=3]="DETACHING",e[e.DEAD=4]="DEAD"})(q||(q={}));function V(e){return!!(e&&e.$treenode)}function D(e){if(!V(e))throw g("Value "+e+" is no MST Node");return e.$treenode}function Qa(e){return e&&e.$treenode||null}function Gf(){return D(this).snapshot}function $f(e,r,t){t===void 0&&(t=!0);for(var n=e,i=0;i<r.length;i++){var a=r[i];if(a===".."){if(n=n.parent,n)continue}else{if(a===".")continue;if(n){if(n instanceof qt)try{var o=n.value;V(o)&&(n=D(o))}catch(c){if(!t)return;throw c}if(n instanceof H){var u=n.getChildType(a);if(u&&(n=n.getChildNode(a),n))continue}}}if(t)throw g("Could not resolve '"+a+"' in path '"+(eo(r.slice(0,i))||"/")+"' while resolving '"+eo(r)+"'");return}return n}function Ka(e){if(!e)return mt;var r=Object.keys(e);if(!r.length)return mt;var t=new Array(r.length);return r.forEach(function(n,i){t[i]=e[n]}),t}var Uf=Object.toString(),mt=Object.freeze([]),yt=Object.freeze({}),Er=uc().useProxies?{deep:!1}:{deep:!1,proxy:!1};Object.freeze(Er);function g(e){return e===void 0&&(e="Illegal state"),new Error("[mobx-state-tree] "+e)}function Wf(e){return e}var Yf=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};function Ha(e){return Array.isArray(e)||ge(e)}function Ja(e){return e?Ha(e)?e:[e]:mt}function Qf(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];for(var n=0;n<r.length;n++){var i=r[n];for(var a in i)e[a]=i[a]}return e}function gt(e){var r;if(e===null||typeof e!="object")return!1;var t=Object.getPrototypeOf(e);return t==null?!0:((r=t.constructor)===null||r===void 0?void 0:r.toString())===Uf}function Xa(e){return e!==null&&typeof e=="object"&&!(e instanceof Date)&&!(e instanceof RegExp)}function $t(e,r){return r===void 0&&(r=!0),e==null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"||r&&e instanceof Date}function Hp(e){return e}function Jp(e){return e}function Kf(e){return typeof e!="function"}function Hf(e,r,t){ie(e)?ba(e,r,t):Object.defineProperty(e,r,t)}function Ze(e,r,t){Hf(e,r,{enumerable:!1,writable:!1,configurable:!0,value:t})}var Jf=function(){function e(){Object.defineProperty(this,"handlers",{enumerable:!0,configurable:!0,writable:!0,value:[]})}return Object.defineProperty(e.prototype,"hasSubscribers",{get:function(){return this.handlers.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"register",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t){var n=this;return t===void 0&&(t=!1),t?this.handlers.unshift(r):this.handlers.push(r),function(){n.unregister(r)}}}),Object.defineProperty(e.prototype,"has",{enumerable:!1,configurable:!0,writable:!0,value:function(r){return this.handlers.indexOf(r)>=0}}),Object.defineProperty(e.prototype,"unregister",{enumerable:!1,configurable:!0,writable:!0,value:function(r){var t=this.handlers.indexOf(r);t>=0&&this.handlers.splice(t,1)}}),Object.defineProperty(e.prototype,"clear",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.handlers.length=0}}),Object.defineProperty(e.prototype,"emit",{enumerable:!1,configurable:!0,writable:!0,value:function(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];var n=this.handlers.slice();n.forEach(function(i){return i.apply(void 0,ht(r))})}}),e}(),Za=function(){function e(){Object.defineProperty(this,"eventHandlers",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}return Object.defineProperty(e.prototype,"hasSubscribers",{enumerable:!1,configurable:!0,writable:!0,value:function(r){var t=this.eventHandlers&&this.eventHandlers[r];return!!t&&t.hasSubscribers}}),Object.defineProperty(e.prototype,"register",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t,n){n===void 0&&(n=!1),this.eventHandlers||(this.eventHandlers={});var i=this.eventHandlers[r];return i||(i=this.eventHandlers[r]=new Jf),i.register(t,n)}}),Object.defineProperty(e.prototype,"has",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t){var n=this.eventHandlers&&this.eventHandlers[r];return!!n&&n.has(t)}}),Object.defineProperty(e.prototype,"unregister",{enumerable:!1,configurable:!0,writable:!0,value:function(r,t){var n=this.eventHandlers&&this.eventHandlers[r];n&&n.unregister(t)}}),Object.defineProperty(e.prototype,"clear",{enumerable:!1,configurable:!0,writable:!0,value:function(r){this.eventHandlers&&delete this.eventHandlers[r]}}),Object.defineProperty(e.prototype,"clearAll",{enumerable:!1,configurable:!0,writable:!0,value:function(){this.eventHandlers=void 0}}),Object.defineProperty(e.prototype,"emit",{enumerable:!1,configurable:!0,writable:!0,value:function(r){for(var t,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];var a=this.eventHandlers&&this.eventHandlers[r];a&&(t=a).emit.apply(t,ht(n))}}),e}();function Xf(e){for(var r=new Array(e.length),t=0;t<e.length;t++)r[t]=e[t];return r}function On(e,r){return e.indexOf(r)===0}function Zf(e){console.warn(new Error("[mobx-state-tree] "+e))}function ed(){return typeof process!="undefined"&&process.env&&{}.ENABLE_TYPE_CHECK==="true"}function td(e){if(!("oldValue"in e))throw g("Patches without `oldValue` field cannot be inversed");return[rd(e),nd(e)]}function rd(e){switch(e.op){case"add":return{op:"add",path:e.path,value:e.value};case"remove":return{op:"remove",path:e.path};case"replace":return{op:"replace",path:e.path,value:e.value}}}function nd(e){switch(e.op){case"add":return{op:"remove",path:e.path};case"remove":return{op:"add",path:e.path,value:e.oldValue};case"replace":return{op:"replace",path:e.path,value:e.oldValue}}}function id(e){return typeof e=="number"}function et(e){return id(e)===!0?""+e:e.indexOf("/")===-1&&e.indexOf("~")===-1?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function ad(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function eo(e){if(e.length===0)return"";var r=function(t){return t.map(et).join("/")};return e[0]==="."||e[0]===".."?r(e):"/"+r(e)}function od(e){var r=e.split("/").map(ad),t=e===""||e==="."||e===".."||On(e,"/")||On(e,"./")||On(e,"../");if(!t)throw g("a json path must be either rooted, empty or relative, but got '"+e+"'");return r[0]===""&&r.shift(),r}var xn=Symbol("$preProcessorFailed"),ud=function(e){M(r,e);function r(t,n,i){var a=e.call(this,i||t.name)||this;return Object.defineProperty(a,"_subtype",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(a,"_processors",{enumerable:!0,configurable:!0,writable:!0,value:n}),a}return Object.defineProperty(r.prototype,"flags",{get:function(){return this._subtype.flags|E.SnapshotProcessor},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"snapshotProcessor("+this._subtype.describe()+")"}}),Object.defineProperty(r.prototype,"preProcessSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return this._processors.preProcessor?this._processors.preProcessor.call(null,t):t}}),Object.defineProperty(r.prototype,"preProcessSnapshotSafe",{enumerable:!1,configurable:!0,writable:!0,value:function(t){try{return this.preProcessSnapshot(t)}catch{return xn}}}),Object.defineProperty(r.prototype,"postProcessSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return this._processors.postProcessor?this._processors.postProcessor.call(null,t):t}}),Object.defineProperty(r.prototype,"_fixNode",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this;ld(t.type,this,"create");var i=t.getSnapshot;t.getSnapshot=function(){return n.postProcessSnapshot(i.call(t))},Cd(this._subtype)||(t.getReconciliationType=function(){return n})}}),Object.defineProperty(r.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){var o=V(a)?a:this.preProcessSnapshot(a),u=this._subtype.instantiate(t,n,i,o);return this._fixNode(u),u}}),Object.defineProperty(r.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){var o=this._subtype.reconcile(t,V(n)?n:this.preProcessSnapshot(n),i,a);return o!==t&&this._fixNode(o),o}}),Object.defineProperty(r.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){n===void 0&&(n=!0);var i=this._subtype.getSnapshot(t);return n?this.postProcessSnapshot(i):i}}),Object.defineProperty(r.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var i=this.preProcessSnapshotSafe(t);return i===xn?X(n,t,"Failed to preprocess value"):this._subtype.validate(i,n)}}),Object.defineProperty(r.prototype,"getSubTypes",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._subtype}}),Object.defineProperty(r.prototype,"is",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=Le(t)?this._subtype:V(t)?Ga(t,!1):this.preProcessSnapshotSafe(t);return n===xn?!1:this._subtype.validate(n,[{path:"",type:this._subtype}]).length===0}}),Object.defineProperty(r.prototype,"isAssignableFrom",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return this._subtype.isAssignableFrom(t)}}),Object.defineProperty(r.prototype,"isMatchingSnapshotId",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){if(!(this._subtype instanceof bt))return!1;var i=this.preProcessSnapshot(n);return this._subtype.isMatchingSnapshotId(t,i)}}),r}(Te);function ld(e,r){for(var t,n,i=[],a=2;a<arguments.length;a++)i[a-2]=arguments[a];try{for(var o=jr(i),u=o.next();!u.done;u=o.next()){var c=u.value;e[c]=r[c].bind(r)}}catch(d){t={error:d}}finally{try{u&&!u.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}}function sd(e,r,t){return new ud(e,r,t)}var to="Map.put can only be used to store complex values that have an identifier type attribute";function ro(e,r){var t,n,i=e.getSubTypes();if(i===Wa)return!1;if(i){var a=Ja(i);try{for(var o=jr(a),u=o.next();!u.done;u=o.next()){var c=u.value;if(!ro(c,r))return!1}}catch(d){t={error:d}}finally{try{u&&!u.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}}return e instanceof Ut&&r.push(e),!0}var Fe;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.YES=1]="YES",e[e.NO=2]="NO"})(Fe||(Fe={}));var cd=function(e){M(r,e);function r(t){return e.call(this,t,R.ref.enhancer)||this}return Object.defineProperty(r.prototype,"get",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return e.prototype.get.call(this,""+t)}}),Object.defineProperty(r.prototype,"has",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return e.prototype.has.call(this,""+t)}}),Object.defineProperty(r.prototype,"delete",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return e.prototype.delete.call(this,""+t)}}),Object.defineProperty(r.prototype,"set",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){return e.prototype.set.call(this,""+t,n)}}),Object.defineProperty(r.prototype,"put",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(!t)throw g("Map.put cannot be used to set empty values");if(V(t)){var n=D(t);if(n.identifier===null)throw g(to);return this.set(n.identifier,t),t}else if(Xa(t)){var i=D(this),a=i.type;if(a.identifierMode!==Fe.YES)throw g(to);var o=a.mapIdentifierAttribute,u=t[o];if(!Cn(u)){var c=this.put(a.getChildType().create(t,i.environment));return this.put(Ga(c))}var d=Wt(u);return this.set(d,t),this.get(d)}else throw g("Map.put can only be used to store complex values")}}),r}(pn),Ir=function(e){M(r,e);function r(t,n,i){i===void 0&&(i=[]);var a=e.call(this,t)||this;return Object.defineProperty(a,"_subType",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(a,"identifierMode",{enumerable:!0,configurable:!0,writable:!0,value:Fe.UNKNOWN}),Object.defineProperty(a,"mapIdentifierAttribute",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(a,"flags",{enumerable:!0,configurable:!0,writable:!0,value:E.Map}),Object.defineProperty(a,"hookInitializers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),a._determineIdentifierMode(),a.hookInitializers=i,a}return Object.defineProperty(r.prototype,"hooks",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this.hookInitializers.length>0?this.hookInitializers.concat(t):[t];return new r(this.name,this._subType,n)}}),Object.defineProperty(r.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){return this._determineIdentifierMode(),Sn(this,t,n,i,a)}}),Object.defineProperty(r.prototype,"_determineIdentifierMode",{enumerable:!1,configurable:!0,writable:!0,value:function(){if(this.identifierMode===Fe.UNKNOWN){var t=[];if(ro(this._subType,t)){var n=t.reduce(function(i,a){if(!a.identifierAttribute)return i;if(i&&i!==a.identifierAttribute)throw g("The objects in a map should all have the same identifier attribute, expected '"+i+"', but child of type '"+a.name+"' declared attribute '"+a.identifierAttribute+"' as identifier");return a.identifierAttribute},void 0);n?(this.identifierMode=Fe.YES,this.mapIdentifierAttribute=n):this.identifierMode=Fe.NO}}}}),Object.defineProperty(r.prototype,"initializeChildNodes",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){n===void 0&&(n={});var i=t.type._subType,a={};return Object.keys(n).forEach(function(o){a[o]=i.instantiate(t,o,void 0,n[o])}),a}}),Object.defineProperty(r.prototype,"createNewInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return new cd(t)}}),Object.defineProperty(r.prototype,"finalizeNewInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){fa(n,t.unbox);var i=t.type;i.hookInitializers.forEach(function(a){var o=a(n);Object.keys(o).forEach(function(u){var c=o[u],d=Gt(n,u,c);Ze(n,u,d)})}),cn(n,this.willChange),fn(n,this.didChange)}}),Object.defineProperty(r.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"Map<string, "+this._subType.describe()+">"}}),Object.defineProperty(r.prototype,"getChildren",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return pa(t.storedValue)}}),Object.defineProperty(r.prototype,"getChildNode",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var i=t.storedValue.get(""+n);if(!i)throw g("Not a child "+n);return i}}),Object.defineProperty(r.prototype,"willChange",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=D(t.object),i=t.name;n.assertWritable({subpath:i});var a=n.type,o=a._subType;switch(t.type){case"update":{var u=t.newValue,c=t.object.get(i);if(u===c)return null;Ee(o,u),t.newValue=o.reconcile(n.getChildNode(i),t.newValue,n,i),a.processIdentifier(i,t.newValue)}break;case"add":Ee(o,t.newValue),t.newValue=o.instantiate(n,i,void 0,t.newValue),a.processIdentifier(i,t.newValue);break}return t}}),Object.defineProperty(r.prototype,"processIdentifier",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){if(this.identifierMode===Fe.YES&&n instanceof H){var i=n.identifier;if(i!==t)throw g("A map of objects containing an identifier should always store the object under their own identifier. Trying to store key '"+i+"', but expected: '"+t+"'")}}}),Object.defineProperty(r.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n={};return t.getChildren().forEach(function(i){n[i.subpath]=i.snapshot}),n}}),Object.defineProperty(r.prototype,"processInitialSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n={};return Object.keys(t).forEach(function(i){n[i]=t[i].getSnapshot()}),n}}),Object.defineProperty(r.prototype,"didChange",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=D(t.object);switch(t.type){case"update":return void n.emitPatch({op:"replace",path:et(t.name),value:t.newValue.snapshot,oldValue:t.oldValue?t.oldValue.snapshot:void 0},n);case"add":return void n.emitPatch({op:"add",path:et(t.name),value:t.newValue.snapshot,oldValue:void 0},n);case"delete":var i=t.oldValue.snapshot;return t.oldValue.die(),void n.emitPatch({op:"remove",path:et(t.name),oldValue:i},n)}}}),Object.defineProperty(r.prototype,"applyPatchLocally",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i){var a=t.storedValue;switch(i.op){case"add":case"replace":a.set(n,i.value);break;case"remove":a.delete(n);break}}}),Object.defineProperty(r.prototype,"applySnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){Ee(this,n);var i=t.storedValue,a={};if(Array.from(i.keys()).forEach(function(u){a[u]=!1}),n)for(var o in n)i.set(o,n[o]),a[""+o]=!0;Object.keys(a).forEach(function(u){a[u]===!1&&i.delete(u)})}}),Object.defineProperty(r.prototype,"getChildType",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._subType}}),Object.defineProperty(r.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var i=this;return gt(t)?Tr(Object.keys(t).map(function(a){return i._subType.validate(t[a],wn(n,a,i._subType))})):X(n,t,"Value is not a plain object")}}),Object.defineProperty(r.prototype,"getDefaultSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(){return yt}}),Object.defineProperty(r.prototype,"removeChild",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){t.storedValue.delete(n)}}),r}(bt);Ir.prototype.applySnapshot=L(Ir.prototype.applySnapshot);function fd(e){return new Ir("map<string, "+e.name+">",e)}var Dr=function(e){M(r,e);function r(t,n,i){i===void 0&&(i=[]);var a=e.call(this,t)||this;return Object.defineProperty(a,"_subType",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(a,"flags",{enumerable:!0,configurable:!0,writable:!0,value:E.Array}),Object.defineProperty(a,"hookInitializers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),a.hookInitializers=i,a}return Object.defineProperty(r.prototype,"hooks",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this.hookInitializers.length>0?this.hookInitializers.concat(t):[t];return new r(this.name,this._subType,n)}}),Object.defineProperty(r.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){return Sn(this,t,n,i,a)}}),Object.defineProperty(r.prototype,"initializeChildNodes",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){n===void 0&&(n=[]);var i=t.type._subType,a={};return n.forEach(function(o,u){var c=""+u;a[c]=i.instantiate(t,c,void 0,o)}),a}}),Object.defineProperty(r.prototype,"createNewInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return R.array(Ka(t),Er)}}),Object.defineProperty(r.prototype,"finalizeNewInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){_e(n).dehancer=t.unbox;var i=t.type;i.hookInitializers.forEach(function(a){var o=a(n);Object.keys(o).forEach(function(u){var c=o[u],d=Gt(n,u,c);Ze(n,u,d)})}),cn(n,this.willChange),fn(n,this.didChange)}}),Object.defineProperty(r.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._subType.describe()+"[]"}}),Object.defineProperty(r.prototype,"getChildren",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return t.storedValue.slice()}}),Object.defineProperty(r.prototype,"getChildNode",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var i=Number(n);if(i<t.storedValue.length)return t.storedValue[i];throw g("Not a child: "+n)}}),Object.defineProperty(r.prototype,"willChange",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=D(t.object);n.assertWritable({subpath:""+t.index});var i=n.type._subType,a=n.getChildren();switch(t.type){case"update":{if(t.newValue===t.object[t.index])return null;var o=no(n,i,[a[t.index]],[t.newValue],[t.index]);if(!o)return null;t.newValue=o[0]}break;case"splice":{var u=t.index,c=t.removedCount,d=t.added,f=no(n,i,a.slice(u,u+c),d,d.map(function(v,y){return u+y}));if(!f)return null;t.added=f;for(var p=u+c;p<a.length;p++)a[p].setParent(n,""+(p+d.length-c))}break}return t}}),Object.defineProperty(r.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return t.getChildren().map(function(n){return n.snapshot})}}),Object.defineProperty(r.prototype,"processInitialSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=[];return Object.keys(t).forEach(function(i){n.push(t[i].getSnapshot())}),n}}),Object.defineProperty(r.prototype,"didChange",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=D(t.object);switch(t.type){case"update":return void n.emitPatch({op:"replace",path:""+t.index,value:t.newValue.snapshot,oldValue:t.oldValue?t.oldValue.snapshot:void 0},n);case"splice":for(var i=t.removedCount-1;i>=0;i--)n.emitPatch({op:"remove",path:""+(t.index+i),oldValue:t.removed[i].snapshot},n);for(var i=0;i<t.addedCount;i++)n.emitPatch({op:"add",path:""+(t.index+i),value:n.getChildNode(""+(t.index+i)).snapshot,oldValue:void 0},n);return}}}),Object.defineProperty(r.prototype,"applyPatchLocally",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i){var a=t.storedValue,o=n==="-"?a.length:Number(n);switch(i.op){case"replace":a[o]=i.value;break;case"add":a.splice(o,0,i.value);break;case"remove":a.splice(o,1);break}}}),Object.defineProperty(r.prototype,"applySnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){Ee(this,n);var i=t.storedValue;i.replace(n)}}),Object.defineProperty(r.prototype,"getChildType",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._subType}}),Object.defineProperty(r.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var i=this;return Ha(t)?Tr(t.map(function(a,o){return i._subType.validate(a,wn(n,""+o,i._subType))})):X(n,t,"Value is not an array")}}),Object.defineProperty(r.prototype,"getDefaultSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(){return mt}}),Object.defineProperty(r.prototype,"removeChild",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){t.storedValue.splice(Number(n),1)}}),r}(bt);Dr.prototype.applySnapshot=L(Dr.prototype.applySnapshot);function dd(e){return new Dr(e.name+"[]",e)}function no(e,r,t,n,i){for(var a=!0,o=0;;o++){var u=o<=n.length-1,c=t[o],d=u?n[o]:void 0,f=""+i[o];if(Bf(d)&&(d=d.storedValue),!c&&!u)break;if(!u)a=!1,t.splice(o,1),c instanceof H&&c.createObservableInstanceIfNeeded(),c.die(),o--;else if(c)if(io(c,d))t[o]=Pn(r,e,f,d,c);else{for(var v=void 0,y=o;y<t.length;y++)if(io(t[y],d)){v=t.splice(y,1)[0];break}a=!1;var p=Pn(r,e,f,d,v);t.splice(o,0,p)}else{if(V(d)&&D(d).parent===e)throw g("Cannot add an object to a state tree if it is already part of the same or another state tree. Tried to assign an object to '"+e.path+"/"+f+"', but it lives already at '"+D(d).path+"'");a=!1;var p=Pn(r,e,f,d);t.splice(o,0,p)}}return a?null:t}function Pn(e,r,t,n,i){Ee(e,n);function a(){if(V(n)){var u=D(n);if(u.assertAlive(yt),u.parent!==null&&u.parent===r)return u.setParent(r,t),u}return i?e.reconcile(i,n,r,t):e.instantiate(r,t,void 0,n)}var o=a();return i&&i!==o&&(i instanceof H&&i.createObservableInstanceIfNeeded(),i.die()),o}function io(e,r){if(!e.isAlive)return!1;if(V(r)){var t=D(r);return t.isAlive&&t===e}if(e.snapshot===r)return!0;if(!(e instanceof H))return!1;var n=e.getReconciliationType();return e.identifier!==null&&e.identifierAttribute&>(r)&&n.is(r)&&n.isMatchingSnapshotId(e,r)}var ao="preProcessSnapshot",oo="postProcessSnapshot";function pd(){return D(this).toString()}var uo={name:"AnonymousModel",properties:{},initializers:mt};function hd(e){return Object.keys(e).reduce(function(r,t){var n,i,a;if(t in F)throw g("Hook '"+t+"' was defined as property. Hooks should be defined as part of the actions");var o=Object.getOwnPropertyDescriptor(r,t);if("get"in o)throw g("Getters are not supported as properties. Please use views instead");var u=o.value;if(u==null)throw g("The default value of an attribute cannot be null or undefined as the type cannot be inferred. Did you mean `types.maybe(someType)`?");if($t(u))return Object.assign({},r,(n={},n[t]=rt(gd(u),u),n));if(u instanceof Ir)return Object.assign({},r,(i={},i[t]=rt(u,{}),i));if(u instanceof Dr)return Object.assign({},r,(a={},a[t]=rt(u,[]),a));if(Le(u))return r;throw g("Invalid type definition for property '"+t+"', cannot infer a type from a value like '"+u+"' ("+typeof u+")")},e)}var Ut=function(e){M(r,e);function r(t){var n=e.call(this,t.name||uo.name)||this;return Object.defineProperty(n,"flags",{enumerable:!0,configurable:!0,writable:!0,value:E.Object}),Object.defineProperty(n,"initializers",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"properties",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"preProcessor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"postProcessor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"propertyNames",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"named",{enumerable:!0,configurable:!0,writable:!0,value:function(i){return n.cloneAndEnhance({name:i})}}),Object.defineProperty(n,"props",{enumerable:!0,configurable:!0,writable:!0,value:function(i){return n.cloneAndEnhance({properties:i})}}),Object.defineProperty(n,"preProcessSnapshot",{enumerable:!0,configurable:!0,writable:!0,value:function(i){var a=n.preProcessor;return a?n.cloneAndEnhance({preProcessor:function(o){return a(i(o))}}):n.cloneAndEnhance({preProcessor:i})}}),Object.defineProperty(n,"postProcessSnapshot",{enumerable:!0,configurable:!0,writable:!0,value:function(i){var a=n.postProcessor;return a?n.cloneAndEnhance({postProcessor:function(o){return i(a(o))}}):n.cloneAndEnhance({postProcessor:i})}}),Object.assign(n,uo,t),n.properties=hd(n.properties),n.properties,n.propertyNames=Object.keys(n.properties),n.identifierAttribute=n._getIdentifierAttribute(),n}return Object.defineProperty(r.prototype,"_getIdentifierAttribute",{enumerable:!1,configurable:!0,writable:!0,value:function(){var t=void 0;return this.forAllProps(function(n,i){if(i.flags&E.Identifier){if(t)throw g("Cannot define property '"+n+"' as object identifier, property '"+t+"' is already defined as identifier property");t=n}}),t}}),Object.defineProperty(r.prototype,"cloneAndEnhance",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return new r({name:t.name||this.name,properties:Object.assign({},this.properties,t.properties),initializers:this.initializers.concat(t.initializers||[]),preProcessor:t.preProcessor||this.preProcessor,postProcessor:t.postProcessor||this.postProcessor})}}),Object.defineProperty(r.prototype,"actions",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this,i=function(a){return n.instantiateActions(a,t(a)),a};return this.cloneAndEnhance({initializers:[i]})}}),Object.defineProperty(r.prototype,"instantiateActions",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){if(!gt(n))throw g("actions initializer should return a plain object containing actions");Object.keys(n).forEach(function(i){if(i===ao)throw g("Cannot define action '"+ao+"', it should be defined using 'type.preProcessSnapshot(fn)' instead");if(i===oo)throw g("Cannot define action '"+oo+"', it should be defined using 'type.postProcessSnapshot(fn)' instead");var a=n[i],o=t[i];if(i in F&&o){var u=a;a=function(){o.apply(null,arguments),u.apply(null,arguments)}}var c=a.$mst_middleware,d=a.bind(n);d.$mst_middleware=c;var f=Gt(t,i,d);n[i]=f,Ze(t,i,f)})}}),Object.defineProperty(r.prototype,"volatile",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this;if(typeof t!="function")throw g("You passed an "+typeof t+" to volatile state as an argument, when function is expected");var i=function(a){return n.instantiateVolatileState(a,t(a)),a};return this.cloneAndEnhance({initializers:[i]})}}),Object.defineProperty(r.prototype,"instantiateVolatileState",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){if(!gt(n))throw g("volatile state initializer should return a plain object containing state");ha(t,n)}}),Object.defineProperty(r.prototype,"extend",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this,i=function(a){var o=t(a),u=o.actions,c=o.views,d=o.state,f=wf(o,["actions","views","state"]);for(var p in f)throw g("The `extend` function should return an object with a subset of the fields 'actions', 'views' and 'state'. Found invalid key '"+p+"'");return d&&n.instantiateVolatileState(a,d),c&&n.instantiateViews(a,c),u&&n.instantiateActions(a,u),a};return this.cloneAndEnhance({initializers:[i]})}}),Object.defineProperty(r.prototype,"views",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this,i=function(a){return n.instantiateViews(a,t(a)),a};return this.cloneAndEnhance({initializers:[i]})}}),Object.defineProperty(r.prototype,"instantiateViews",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){if(!gt(n))throw g("views initializer should return a plain object containing views");Object.getOwnPropertyNames(n).forEach(function(i){var a,o=Object.getOwnPropertyDescriptor(n,i);if("get"in o)ba(t,i,o),va(t,(a={},a[i]=st,a));else if(typeof o.value=="function")Ze(t,i,o.value);else throw g("A view member should either be a function or getter based property")})}}),Object.defineProperty(r.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){var o=V(a)?a:this.applySnapshotPreProcessor(a);return Sn(this,t,n,i,o)}}),Object.defineProperty(r.prototype,"initializeChildNodes",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){n===void 0&&(n={});var i=t.type,a={};return i.forAllProps(function(o,u){a[o]=u.instantiate(t,o,void 0,n[o])}),a}}),Object.defineProperty(r.prototype,"createNewInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return R.object(t,yt,Er)}}),Object.defineProperty(r.prototype,"finalizeNewInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){Ze(n,"toString",pd),this.forAllProps(function(i){fa(n,i,t.unbox)}),this.initializers.reduce(function(i,a){return a(i)},n),cn(n,this.willChange),fn(n,this.didChange)}}),Object.defineProperty(r.prototype,"willChange",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=t,i=D(n.object),a=n.name;i.assertWritable({subpath:a});var o=i.type.properties[a];return o&&(Ee(o,n.newValue),n.newValue=o.reconcile(i.getChildNode(a),n.newValue,i,a)),n}}),Object.defineProperty(r.prototype,"didChange",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=t,i=D(n.object),a=i.type.properties[n.name];if(!!a){var o=n.oldValue?n.oldValue.snapshot:void 0;i.emitPatch({op:"replace",path:et(n.name),value:n.newValue.snapshot,oldValue:o},i)}}}),Object.defineProperty(r.prototype,"getChildren",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this,i=[];return this.forAllProps(function(a){i.push(n.getChildNode(t,a))}),i}}),Object.defineProperty(r.prototype,"getChildNode",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){if(!(n in this.properties))throw g("Not a value property: "+n);var i=_e(t.storedValue,n),a=i.raw();if(!a)throw g("Node not available for property "+n);return a}}),Object.defineProperty(r.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var i=this;n===void 0&&(n=!0);var a={};return this.forAllProps(function(o,u){je(t.storedValue,o).reportObserved(),a[o]=i.getChildNode(t,o).snapshot}),n?this.applySnapshotPostProcessor(a):a}}),Object.defineProperty(r.prototype,"processInitialSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n={};return Object.keys(t).forEach(function(i){n[i]=t[i].getSnapshot()}),this.applySnapshotPostProcessor(n)}}),Object.defineProperty(r.prototype,"applyPatchLocally",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i){if(!(i.op==="replace"||i.op==="add"))throw g("object does not support operation "+i.op);t.storedValue[n]=i.value}}),Object.defineProperty(r.prototype,"applySnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var i=this.applySnapshotPreProcessor(n);Ee(this,i),this.forAllProps(function(a){t.storedValue[a]=i[a]})}}),Object.defineProperty(r.prototype,"applySnapshotPreProcessor",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this.preProcessor;return n?n.call(null,t):t}}),Object.defineProperty(r.prototype,"applySnapshotPostProcessor",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this.postProcessor;return n?n.call(null,t):t}}),Object.defineProperty(r.prototype,"getChildType",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return this.properties[t]}}),Object.defineProperty(r.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var i=this,a=this.applySnapshotPreProcessor(t);return gt(a)?Tr(this.propertyNames.map(function(o){return i.properties[o].validate(a[o],wn(n,o,i.properties[o]))})):X(n,a,"Value is not a plain object")}}),Object.defineProperty(r.prototype,"forAllProps",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this;this.propertyNames.forEach(function(i){return t(i,n.properties[i])})}}),Object.defineProperty(r.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){var t=this;return"{ "+this.propertyNames.map(function(n){return n+": "+t.properties[n].describe()}).join("; ")+" }"}}),Object.defineProperty(r.prototype,"getDefaultSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(){return yt}}),Object.defineProperty(r.prototype,"removeChild",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){t.storedValue[n]=void 0}}),r}(bt);Ut.prototype.applySnapshot=L(Ut.prototype.applySnapshot);function bd(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];var t=typeof e[0]=="string"?e.shift():"AnonymousModel",n=e.shift()||{};return new Ut({name:t,properties:n})}function vd(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];var t=typeof e[0]=="string",n=t?e[0]:"AnonymousModel";return t&&e.shift(),e.reduce(function(i,a){return i.cloneAndEnhance({name:i.name+"_"+a.name,properties:a.properties,initializers:a.initializers,preProcessor:function(o){return a.applySnapshotPreProcessor(i.applySnapshotPreProcessor(o))},postProcessor:function(o){return a.applySnapshotPostProcessor(i.applySnapshotPostProcessor(o))}})}).named(n)}function md(e){return Le(e)&&(e.flags&E.Object)>0}var tt=function(e){M(r,e);function r(t,n,i,a){a===void 0&&(a=Wf);var o=e.call(this,t)||this;return Object.defineProperty(o,"flags",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(o,"checker",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(o,"initializer",{enumerable:!0,configurable:!0,writable:!0,value:a}),o.flags=n,o}return Object.defineProperty(r.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.name}}),Object.defineProperty(r.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){return Xe(this,t,n,i,a)}}),Object.defineProperty(r.prototype,"createNewInstance",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return this.initializer(t)}}),Object.defineProperty(r.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){if($t(t)&&this.checker(t))return J();var i=this.name==="Date"?"Date or a unix milliseconds timestamp":this.name;return X(n,t,"Value is not a "+i)}}),r}(vt),lo=new tt("string",E.String,function(e){return typeof e=="string"}),so=new tt("number",E.Number,function(e){return typeof e=="number"}),yd=new tt("integer",E.Integer,function(e){return Yf(e)}),co=new tt("boolean",E.Boolean,function(e){return typeof e=="boolean"}),fo=new tt("null",E.Null,function(e){return e===null}),po=new tt("undefined",E.Undefined,function(e){return e===void 0}),ho=new tt("Date",E.Date,function(e){return typeof e=="number"||e instanceof Date},function(e){return e instanceof Date?e:new Date(e)});ho.getSnapshot=function(e){return e.storedValue.getTime()};var bo=ho;function gd(e){switch(typeof e){case"string":return lo;case"number":return so;case"boolean":return co;case"object":if(e instanceof Date)return bo}throw g("Cannot determine primitive type from value "+e)}function _d(e){return Le(e)&&(e.flags&(E.String|E.Number|E.Integer|E.Boolean|E.Date))>0}var wd=function(e){M(r,e);function r(t){var n=e.call(this,JSON.stringify(t))||this;return Object.defineProperty(n,"value",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(n,"flags",{enumerable:!0,configurable:!0,writable:!0,value:E.Literal}),n.value=t,n}return Object.defineProperty(r.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){return Xe(this,t,n,i,a)}}),Object.defineProperty(r.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return JSON.stringify(this.value)}}),Object.defineProperty(r.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){return $t(t)&&t===this.value?J():X(n,t,"Value is not a literal "+JSON.stringify(this.value))}}),r}(vt);function vo(e){return new wd(e)}var Sd=function(e){M(r,e);function r(t,n,i,a){var o=e.call(this,t)||this;return Object.defineProperty(o,"_subtype",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(o,"_predicate",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(o,"_message",{enumerable:!0,configurable:!0,writable:!0,value:a}),o}return Object.defineProperty(r.prototype,"flags",{get:function(){return this._subtype.flags|E.Refinement},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.name}}),Object.defineProperty(r.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){return this._subtype.instantiate(t,n,i,a)}}),Object.defineProperty(r.prototype,"isAssignableFrom",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return this._subtype.isAssignableFrom(t)}}),Object.defineProperty(r.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var i=this._subtype.validate(t,n);if(i.length>0)return i;var a=V(t)?D(t).snapshot:t;return this._predicate(a)?J():X(n,t,this._message(t))}}),Object.defineProperty(r.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){return this._subtype.reconcile(t,n,i,a)}}),Object.defineProperty(r.prototype,"getSubTypes",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._subtype}}),r}(Te);function Od(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];var t=typeof e[0]=="string"?e.shift():Le(e[0])?e[0].name:null,n=e[0],i=e[1],a=e[2]?e[2]:function(o){return"Value does not respect the refinement predicate"};return new Sd(t,n,i,a)}function xd(e,r){var t=typeof e=="string"?r:e,n=Mr.apply(void 0,ht(t.map(function(i){return vo(""+i)})));return typeof e=="string"&&(n.name=e),n}var Pd=function(e){M(r,e);function r(t,n,i){var a=e.call(this,t)||this;return Object.defineProperty(a,"_types",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(a,"_dispatcher",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(a,"_eager",{enumerable:!0,configurable:!0,writable:!0,value:!0}),i=Ft({eager:!0,dispatcher:void 0},i),a._dispatcher=i.dispatcher,i.eager||(a._eager=!1),a}return Object.defineProperty(r.prototype,"flags",{get:function(){var t=E.Union;return this._types.forEach(function(n){t|=n.flags}),t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"isAssignableFrom",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return this._types.some(function(n){return n.isAssignableFrom(t)})}}),Object.defineProperty(r.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"("+this._types.map(function(t){return t.describe()}).join(" | ")+")"}}),Object.defineProperty(r.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){var o=this.determineType(a,void 0);if(!o)throw g("No matching type for union "+this.describe());return o.instantiate(t,n,i,a)}}),Object.defineProperty(r.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){var o=this.determineType(n,t.getReconciliationType());if(!o)throw g("No matching type for union "+this.describe());return o.reconcile(t,n,i,a)}}),Object.defineProperty(r.prototype,"determineType",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){return this._dispatcher?this._dispatcher(t):n?n.is(t)?n:this._types.filter(function(i){return i!==n}).find(function(i){return i.is(t)}):this._types.find(function(i){return i.is(t)})}}),Object.defineProperty(r.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){if(this._dispatcher)return this._dispatcher(t).validate(t,n);for(var i=[],a=0,o=0;o<this._types.length;o++){var u=this._types[o],c=u.validate(t,n);if(c.length===0){if(this._eager)return J();a++}else i.push(c)}return a===1?J():X(n,t,"No type is applicable for the union").concat(Tr(i))}}),Object.defineProperty(r.prototype,"getSubTypes",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._types}}),r}(Te);function Mr(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];var n=Le(e)?void 0:e,i=Le(e)?ht([e],r):r,a="("+i.map(function(o){return o.name}).join(" | ")+")";return new Pd(a,i,n)}function Cd(e){return(e.flags&E.Union)>0}var Ad=function(e){M(r,e);function r(t,n,i){var a=e.call(this,t.name)||this;return Object.defineProperty(a,"_subtype",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(a,"_defaultValue",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(a,"optionalValues",{enumerable:!0,configurable:!0,writable:!0,value:i}),a}return Object.defineProperty(r.prototype,"flags",{get:function(){return this._subtype.flags|E.Optional},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._subtype.describe()+"?"}}),Object.defineProperty(r.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){if(this.optionalValues.indexOf(a)>=0){var o=this.getDefaultInstanceOrSnapshot();return this._subtype.instantiate(t,n,i,o)}return this._subtype.instantiate(t,n,i,a)}}),Object.defineProperty(r.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){return this._subtype.reconcile(t,this.optionalValues.indexOf(n)<0&&this._subtype.is(n)?n:this.getDefaultInstanceOrSnapshot(),i,a)}}),Object.defineProperty(r.prototype,"getDefaultInstanceOrSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(){var t=typeof this._defaultValue=="function"?this._defaultValue():this._defaultValue;return typeof this._defaultValue=="function"&&Ee(this,t),t}}),Object.defineProperty(r.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){return this.optionalValues.indexOf(t)>=0?J():this._subtype.validate(t,n)}}),Object.defineProperty(r.prototype,"isAssignableFrom",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return this._subtype.isAssignableFrom(t)}}),Object.defineProperty(r.prototype,"getSubTypes",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this._subtype}}),r}(Te);function jd(e,r){if(typeof r!="function"&&V(r))throw g("default value cannot be an instance, pass a snapshot or a function that creates an instance/snapshot instead")}function rt(e,r,t){return jd(e,r),new Ad(e,r,t||Td)}var Td=[void 0],Ed=rt(po,void 0),Id=rt(fo,null);function mo(e){return Mr(e,Ed)}function Dd(e){return Mr(e,Id)}var Md=function(e){M(r,e);function r(t,n){var i=e.call(this,t)||this;return Object.defineProperty(i,"_definition",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(i,"_subType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),i}return Object.defineProperty(r.prototype,"flags",{get:function(){return(this._subType?this._subType.flags:0)|E.Late},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"getSubType",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(!this._subType){var n=void 0;try{n=this._definition()}catch(i){if(i instanceof ReferenceError)n=void 0;else throw i}if(t&&n===void 0)throw g("Late type seems to be used too early, the definition (still) returns undefined");n&&(this._subType=n)}return this._subType}}),Object.defineProperty(r.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){return this.getSubType(!0).instantiate(t,n,i,a)}}),Object.defineProperty(r.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){return this.getSubType(!0).reconcile(t,n,i,a)}}),Object.defineProperty(r.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){var t=this.getSubType(!1);return t?t.name:"<uknown late type>"}}),Object.defineProperty(r.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var i=this.getSubType(!1);return i?i.validate(t,n):J()}}),Object.defineProperty(r.prototype,"isAssignableFrom",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=this.getSubType(!1);return n?n.isAssignableFrom(t):!1}}),Object.defineProperty(r.prototype,"getSubTypes",{enumerable:!1,configurable:!0,writable:!0,value:function(){var t=this.getSubType(!1);return t||Wa}}),r}(Te);function Rd(e,r){var t=typeof e=="string"?e:"late("+e.toString()+")",n=typeof e=="string"?r:e;return new Md(t,n)}var yo=function(e){M(r,e);function r(t){var n=e.call(this,t?"frozen("+t.name+")":"frozen")||this;return Object.defineProperty(n,"subType",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(n,"flags",{enumerable:!0,configurable:!0,writable:!0,value:E.Frozen}),n}return Object.defineProperty(r.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"<any immutable value>"}}),Object.defineProperty(r.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){return Xe(this,t,n,i,a)}}),Object.defineProperty(r.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){return Kf(t)?this.subType?this.subType.validate(t,n):J():X(n,t,"Value is not serializable and cannot be frozen")}}),r}(vt),go=new yo;function Vd(e){return arguments.length===0?go:Le(e)?new yo(e):rt(go,e)}function kd(e){switch(e){case F.beforeDestroy:return"destroy";case F.beforeDetach:return"detach";default:return}}var zd=function(){function e(r,t){if(Object.defineProperty(this,"targetType",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"identifier",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"node",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"resolvedReference",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Cn(r))this.identifier=r;else if(V(r)){var n=D(r);if(!n.identifierAttribute)throw g("Can only store references with a defined identifier attribute.");var i=n.unnormalizedIdentifier;if(i==null)throw g("Can only store references to tree nodes with a defined identifier.");this.identifier=i}else throw g("Can only store references to tree nodes or identifiers, got: '"+r+"'")}return Object.defineProperty(e.prototype,"updateResolvedReference",{enumerable:!1,configurable:!0,writable:!0,value:function(r){var t=Wt(this.identifier),n=r.root,i=n.identifierCache.getLastCacheModificationPerId(t);if(!this.resolvedReference||this.resolvedReference.lastCacheModification!==i){var a=this.targetType,o=n.identifierCache.resolve(a,t);if(!o)throw new Nd("[mobx-state-tree] Failed to resolve reference '"+this.identifier+"' to type '"+this.targetType.name+"' (from node: "+r.path+")");this.resolvedReference={node:o,lastCacheModification:i}}}}),Object.defineProperty(e.prototype,"resolvedValue",{get:function(){return this.updateResolvedReference(this.node),this.resolvedReference.node.value},enumerable:!1,configurable:!0}),e}(),Nd=function(e){M(r,e);function r(t){var n=e.call(this,t)||this;return Object.setPrototypeOf(n,r.prototype),n}return r}(Error),_o=function(e){M(r,e);function r(t,n){var i=e.call(this,"reference("+t.name+")")||this;return Object.defineProperty(i,"targetType",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(i,"onInvalidated",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(i,"flags",{enumerable:!0,configurable:!0,writable:!0,value:E.Reference}),i}return Object.defineProperty(r.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.name}}),Object.defineProperty(r.prototype,"isAssignableFrom",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return this.targetType.isAssignableFrom(t)}}),Object.defineProperty(r.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){return Cn(t)?J():X(n,t,"Value is not a valid identifier, which is a string or a number")}}),Object.defineProperty(r.prototype,"fireInvalidated",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){var o=n.parent;if(!(!o||!o.isAlive)){var u=o.storedValue;!u||this.onInvalidated({cause:t,parent:u,invalidTarget:a?a.storedValue:void 0,invalidId:i,replaceRef:function(c){Ba(n.root.storedValue,{op:"replace",value:c,path:n.path})},removeRef:function(){md(o.type)?this.replaceRef(void 0):Ba(n.root.storedValue,{op:"remove",path:n.path})}})}}}),Object.defineProperty(r.prototype,"addTargetNodeWatcher",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){var i=this,a=this.getValue(t);if(!!a){var o=D(a),u=function(f,p){var v=kd(p);!v||i.fireInvalidated(v,t,n,o)},c=o.registerHook(F.beforeDetach,u),d=o.registerHook(F.beforeDestroy,u);return function(){c(),d()}}}}),Object.defineProperty(r.prototype,"watchTargetNodeForInvalidations",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i){var a=this;if(!!this.onInvalidated){var o;t.registerHook(F.beforeDestroy,function(){o&&o()});var u=function(c){o&&o();var d=t.parent,f=d&&d.storedValue;if(d&&d.isAlive&&f){var p=void 0;i?p=!!i.get(n,f):p=t.root.identifierCache.has(a.targetType,Wt(n)),p?o=a.addTargetNodeWatcher(t,n):c||a.fireInvalidated("invalidSnapshotReference",t,n,null)}};t.state===q.FINALIZED?u(!0):(t.isRoot||t.root.registerHook(F.afterCreationFinalization,function(){t.parent&&t.parent.createObservableInstanceIfNeeded()}),t.registerHook(F.afterAttach,function(){u(!1)}))}}}),r}(vt),Ld=function(e){M(r,e);function r(t,n){return e.call(this,t,n)||this}return Object.defineProperty(r.prototype,"getValue",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(!!t.isAlive){var n=t.storedValue;return n.resolvedValue}}}),Object.defineProperty(r.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t){var n=t.storedValue;return n.identifier}}),Object.defineProperty(r.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){var o=V(a)?xf(a):a,u=new zd(a,this.targetType),c=Xe(this,t,n,i,u);return u.node=c,this.watchTargetNodeForInvalidations(c,o,void 0),c}}),Object.defineProperty(r.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){if(!t.isDetaching&&t.type===this){var o=V(n),u=t.storedValue;if(!o&&u.identifier===n||o&&u.resolvedValue===n)return t.setParent(i,a),t}var c=this.instantiate(i,a,void 0,n);return t.die(),c}}),r}(_o),Fd=function(e){M(r,e);function r(t,n,i){var a=e.call(this,t,i)||this;return Object.defineProperty(a,"options",{enumerable:!0,configurable:!0,writable:!0,value:n}),a}return Object.defineProperty(r.prototype,"getValue",{enumerable:!1,configurable:!0,writable:!0,value:function(t){if(!!t.isAlive){var n=this.options.get(t.storedValue,t.parent?t.parent.storedValue:null);return n}}}),Object.defineProperty(r.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return t.storedValue}}),Object.defineProperty(r.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){var o=V(a)?this.options.set(a,t?t.storedValue:null):a,u=Xe(this,t,n,i,o);return this.watchTargetNodeForInvalidations(u,o,this.options),u}}),Object.defineProperty(r.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){var o=V(n)?this.options.set(n,t?t.storedValue:null):n;if(!t.isDetaching&&t.type===this&&t.storedValue===o)return t.setParent(i,a),t;var u=this.instantiate(i,a,void 0,o);return t.die(),u}}),r}(_o);function wo(e,r){var t=r||void 0,n=r?r.onInvalidated:void 0;return t&&(t.get||t.set)?new Fd(e,{get:t.get,set:t.set},n):new Ld(e,n)}function qd(e,r){var t=wo(e,Ft(Ft({},r),{onInvalidated:function(n){r&&r.onInvalidated&&r.onInvalidated(n),n.removeRef()}}));return r&&r.acceptsUndefined===!1?t:mo(t)}var So=function(e){M(r,e);function r(t,n){var i=e.call(this,t)||this;return Object.defineProperty(i,"validType",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(i,"flags",{enumerable:!0,configurable:!0,writable:!0,value:E.Identifier}),i}return Object.defineProperty(r.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){if(!t||!(t.type instanceof Ut))throw g("Identifier types can only be instantiated as direct child of a model type");return Xe(this,t,n,i,a)}}),Object.defineProperty(r.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){if(t.storedValue!==n)throw g("Tried to change identifier from '"+t.storedValue+"' to '"+n+"'. Changing identifiers is not allowed.");return t.setParent(i,a),t}}),Object.defineProperty(r.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){return typeof t!==this.validType?X(n,t,"Value is not a valid "+this.describe()+", expected a "+this.validType):J()}}),r}(vt),Bd=function(e){M(r,e);function r(){var t=e.call(this,"identifier","string")||this;return Object.defineProperty(t,"flags",{enumerable:!0,configurable:!0,writable:!0,value:E.Identifier}),t}return Object.defineProperty(r.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"identifier"}}),r}(So),Gd=function(e){M(r,e);function r(){return e.call(this,"identifierNumber","number")||this}return Object.defineProperty(r.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return t.storedValue}}),Object.defineProperty(r.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return"identifierNumber"}}),r}(So),$d=new Bd,Ud=new Gd;function Wt(e){return""+e}function Cn(e){return typeof e=="string"||typeof e=="number"}function Wd(e){return new Yd(e)}var Yd=function(e){M(r,e);function r(t){var n=e.call(this,t.name)||this;return Object.defineProperty(n,"options",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(n,"flags",{enumerable:!0,configurable:!0,writable:!0,value:E.Custom}),n}return Object.defineProperty(r.prototype,"describe",{enumerable:!1,configurable:!0,writable:!0,value:function(){return this.name}}),Object.defineProperty(r.prototype,"isValidSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n){if(this.options.isTargetType(t))return J();var i=this.options.getValidationMessage(t);return i?X(n,t,"Invalid value for type '"+this.name+"': "+i):J()}}),Object.defineProperty(r.prototype,"getSnapshot",{enumerable:!1,configurable:!0,writable:!0,value:function(t){return this.options.toSnapshot(t.storedValue)}}),Object.defineProperty(r.prototype,"instantiate",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){var o=this.options.isTargetType(a)?a:this.options.fromSnapshot(a,t&&t.root.environment);return Xe(this,t,n,i,o)}}),Object.defineProperty(r.prototype,"reconcile",{enumerable:!1,configurable:!0,writable:!0,value:function(t,n,i,a){var o=!this.options.isTargetType(n);if(!t.isDetaching){var u=t.type===this&&(o?n===t.snapshot:n===t.storedValue);if(u)return t.setParent(i,a),t}var c=o?this.options.fromSnapshot(n,i.root.environment):n,d=this.instantiate(i,a,void 0,c);return t.die(),d}}),r}(vt),x={enumeration:xd,model:bd,compose:vd,custom:Wd,reference:wo,safeReference:qd,union:Mr,optional:rt,literal:vo,maybe:mo,maybeNull:Dd,refinement:Od,string:lo,boolean:co,number:so,integer:yd,Date:bo,map:fd,array:dd,frozen:Vd,identifier:$d,identifierNumber:Ud,late:Rd,undefined:po,null:fo,snapshotProcessor:sd},oe=(e=>(e.Select="select",e.MultiSelect="multi-select",e.TextInput="text-input",e.Checkbox="checkbox",e.DateRange="date-range",e))(oe||{});const Oo=x.model({type:x.enumeration("DataSourceType",["postgresql"]),key:x.string,sql:x.string}),xo=x.model("FilterConfigModel_TextInput",{required:x.boolean,default_value:x.string}).actions(e=>({setRequired(r){e.required=r},setDefaultValue(r){e.default_value=r}})),Po=()=>xo.create({required:!1,default_value:""}),Qd=ae(function({config:r}){return l(Y,{children:l(s.Checkbox,{checked:r.default_value,onChange:t=>r.setDefaultValue(t.currentTarget.checked),label:"Default Checked"})})}),Kd=[{label:"2022",value:"YYYY"},{label:"2022-01",value:"YYYY-MM"},{label:"2022-01-01",value:"YYYY-MM-DD"}],Hd=ae(function({config:r}){return b(Y,{children:[b(s.Group,{children:[l(s.Checkbox,{checked:r.required,onChange:t=>r.setRequired(t.currentTarget.checked),label:"Required"}),l(s.Checkbox,{checked:r.clearable,onChange:t=>r.setClearable(t.currentTarget.checked),label:"Clearable"})]}),l(s.Select,{data:Kd,label:"Display Format",value:r.inputFormat,onChange:r.setInputFormat})]})}),Jd=ae(function({value:r,onChange:t}){const{data:n=[],loading:i}=Be.useRequest(Rn,{refreshDeps:[]},[]),a=h.default.useMemo(()=>Array.from(new Set(n.map(({type:c})=>c))).map(c=>({label:c,value:c})),[n]),o=h.default.useMemo(()=>{const u=n.filter(({type:c})=>c===r.type);return u?u.map(({key:c})=>({label:c,value:c})):[]},[n,r.type]);return b(s.Group,{grow:!0,children:[l(s.Select,{label:"Data Source Type",data:a,sx:{flex:1},disabled:i,value:r.type,onChange:u=>{t({...r,type:u})}}),l(s.Select,{label:"Data Source Key",data:o,sx:{flex:1},disabled:i,value:r.key,onChange:u=>{t({...r,key:u})}})]})});function Xd({data:e}){return e.length===0?l(s.Table,{}):b(s.Table,{children:[l("thead",{children:l("tr",{children:Object.keys(e==null?void 0:e[0]).map(r=>l("th",{children:l(s.Text,{weight:700,color:"#000",children:r})},r))})}),l("tbody",{children:e.slice(0,3).map((r,t)=>l("tr",{children:Object.values(r).map((n,i)=>l("td",{children:l(s.Group,{sx:{"&, .mantine-Text-root":{fontFamily:"monospace"}},children:l(s.Text,{children:n})})},`${n}--${i}`))},`row-${t}`))}),e.length>3&&l("tfoot",{children:l("tr",{children:l("td",{colSpan:Object.keys(e==null?void 0:e[0]).length,children:b(s.Text,{color:"gray",size:"sm",children:[e.length-3," more row(s) hidden"]})})})})]})}const Zd=ae(function({query:r}){const{data:t=[],loading:n,refresh:i}=Be.useRequest(Nr(r),{refreshDeps:[r]});return b(s.Stack,{my:0,children:[b(s.Group,{position:"apart",children:[l(s.Text,{size:"md",pl:"sm",children:"Fetched Data"}),l(s.Button,{size:"xs",onClick:i,disabled:!r.sql||!r.key,children:"Retry"})]}),b(s.Box,{sx:{position:"relative"},children:[l(s.LoadingOverlay,{visible:n,exitTransitionDuration:0}),l(Xd,{data:t})]})]})}),Co=ae(function({value:r,onChange:t}){return b(s.Stack,{my:0,children:[l(Jd,{value:r,onChange:t}),b(s.Tabs,{defaultValue:"SQL",children:[b(s.Tabs.List,{children:[l(s.Tabs.Tab,{value:"SQL",children:"SQL"}),l(s.Tabs.Tab,{value:"Preview",children:"Preview"}),l(s.Tabs.Tab,{value:"Data",children:"Data"})]}),l(s.Tabs.Panel,{value:"SQL",pt:"sm",children:l(s.Textarea,{autosize:!0,minRows:12,maxRows:24,className:"code-textarea",value:r.sql,onChange:n=>{t({...r,sql:n.currentTarget.value})},placeholder:"SELECT name AS label, id AS value"})}),l(s.Tabs.Panel,{value:"Preview",pt:"sm",children:l(hi,{value:r.sql})}),l(s.Tabs.Panel,{value:"Data",pt:"sm",children:l(Zd,{query:r})})]})]})}),ep=ae(function({config:r}){const t=()=>{r.addStaticOption({label:"",value:""})},n=r.static_options,i=[...n];return b(Y,{children:[l(s.Divider,{label:"Configure options",labelPosition:"center"}),n.length>0&&l(s.MultiSelect,{label:"Default Selection",data:i,value:r.default_value,onChange:r.setDefaultValue}),n.map((a,o)=>b(s.Group,{sx:{position:"relative"},pr:"40px",children:[l(s.TextInput,{label:"Label",required:!0,value:r.static_options[o].label,onChange:u=>{r.static_options[o].setLabel(u.currentTarget.value)},sx:{flexGrow:1}}),l(s.TextInput,{label:"Value",required:!0,value:r.static_options[o].value,onChange:u=>{r.static_options[o].setValue(u.currentTarget.value)},sx:{flexGrow:1}}),l(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r.removeStaticOption(o),sx:{position:"absolute",top:28,right:5},children:l(_.Trash,{size:16})})]})),l(s.Button,{size:"xs",color:"blue",leftIcon:l(_.PlaylistAdd,{size:20}),onClick:t,sx:{width:"50%"},mx:"auto",children:"Add an Option"}),l(s.Divider,{label:"Or fetch options from database",labelPosition:"center"}),l(Co,{value:r.options_query,onChange:r.setOptionsQuery})]})}),tp=ae(function({config:r}){const t=()=>{r.addStaticOption({label:"",value:""})},n=r.static_options,i=[{label:"No default selection",value:""},...n];return b(Y,{children:[l(s.Checkbox,{checked:r.required,onChange:a=>r.setRequired(a.currentTarget.checked),label:"Required"}),l(s.Divider,{label:"Configure options",labelPosition:"center"}),n.length>0&&l(s.Select,{label:"Default Selection",data:i,value:r.default_value,onChange:r.setDefaultValue}),n.map((a,o)=>b(s.Group,{sx:{position:"relative"},pr:"40px",children:[l(s.TextInput,{label:"Label",required:!0,value:r.static_options[o].label,onChange:u=>{r.static_options[o].setLabel(u.currentTarget.value)},sx:{flexGrow:1}}),l(s.TextInput,{label:"Value",required:!0,value:r.static_options[o].value,onChange:u=>{r.static_options[o].setValue(u.currentTarget.value)},sx:{flexGrow:1}}),l(s.ActionIcon,{color:"red",variant:"subtle",onClick:()=>r.removeStaticOption(o),sx:{position:"absolute",top:28,right:5},children:l(_.Trash,{size:16})})]})),l(s.Button,{size:"xs",color:"blue",leftIcon:l(_.PlaylistAdd,{size:20}),onClick:t,sx:{width:"50%"},mx:"auto",children:"Add an Option"}),l(s.Divider,{label:"Or fetch options from database",labelPosition:"center"}),l(Co,{value:r.options_query,onChange:r.setOptionsQuery})]})}),rp=ae(function({config:r}){return b(Y,{children:[l(s.TextInput,{label:"Default Value",value:r.default_value,onChange:t=>{r.setDefaultValue(t.currentTarget.value)}}),l(s.Checkbox,{checked:r.required,onChange:t=>r.setRequired(t.currentTarget.checked),label:"Required"})]})});function np({label:e,config:{default_value:r,...t},value:n,onChange:i}){return b(s.Box,{children:[l(s.Text,{children:"\xA0"}),l(s.Checkbox,{label:e,checked:n,onChange:a=>i(a.currentTarget.checked),...t})]})}function ip({label:e,config:r,value:t,onChange:n}){return l(Wo.DateRangePicker,{label:e,value:t,onChange:n,icon:l(_.Calendar,{size:16}),sx:{minWidth:"14em"},...r})}function ap({label:e,config:r,value:t,onChange:n}){const i=!!r.options_query.sql,{data:a=[],loading:o}=Be.useRequest(Nr(r.options_query),{refreshDeps:[r.options_query,i]});return l(s.MultiSelect,{label:e,data:i?a:r.static_options,disabled:i?o:!1,value:t,onChange:n,sx:{minWidth:"14em"}})}function op({label:e,config:r,value:t,onChange:n}){const i=!!r.options_query.sql,{data:a=[],loading:o}=Be.useRequest(Nr(r.options_query),{refreshDeps:[r.options_query,i]});return l(s.Select,{label:e,data:i?a:r.static_options,disabled:i?o:!1,value:t,onChange:n})}function up({label:e,config:r,value:t,onChange:n}){return l(s.TextInput,{label:e,value:t,onChange:n,...r})}function lp({type:e,config:r,key:t,...n},i){switch(e){case"select":return l(op,{...n,...i,config:r});case"multi-select":return l(ap,{...n,...i,config:r});case"text-input":return l(up,{...n,...i,config:r});case"date-range":return l(ip,{...n,...i,config:r});case"checkbox":return l(np,{...n,...i,config:r});default:return null}}const Ao=h.default.forwardRef(function({filter:r,...t},n){return l("div",{className:"filter-root",ref:n,children:l(Zt,{children:lp(r,t)})})}),sp=ae(function({filter:r}){const t=r.config.default_value,[n,i]=h.default.useState(t);return h.default.useEffect(()=>{i(t)},[t]),b(s.Box,{sx:{maxWidth:"30em"},children:[l(s.Text,{pb:"md",color:"gray",children:"Preview"}),l(Ao,{filter:r,value:n,onChange:i}),l(s.Text,{pt:"lg",pb:"md",color:"gray",children:"Config"}),l($e.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(r,null,4)})]})}),cp={select:tp,"multi-select":ep,"text-input":rp,checkbox:Qd,"date-range":Hd},fp=[{label:"Select",value:"select"},{label:"Multi Select",value:"multi-select"},{label:"Text Input",value:"text-input"},{label:"Checkbox",value:"checkbox"},{label:"Date Range",value:"date-range"}],dp=ae(function({filter:r,index:t}){const n=h.default.useMemo(()=>cp[r.type],[r.type]);return b(s.SimpleGrid,{cols:2,children:[b(s.Box,{pl:"md",children:[l(s.Text,{pb:"md",color:"gray",children:"Edit"}),b(s.Stack,{sx:{maxWidth:"30em"},children:[l(s.NumberInput,{label:"Placement Order",required:!0,value:r.order,onChange:r.setOrder,hideControls:!0}),l(s.TextInput,{label:"Key",placeholder:"A unique key to refer",required:!0,value:r.key,onChange:i=>{r.setKey(i.currentTarget.value)}}),l(s.TextInput,{label:"Label",placeholder:"Label for this field",required:!0,value:r.label,onChange:i=>{r.setLabel(i.currentTarget.value)}}),l(s.Select,{label:"Widget",data:fp,required:!0,value:r.type,onChange:r.setType}),l(n,{config:r.config,index:t})]})]}),l(sp,{filter:r})]})}),pp=ae(function({model:r}){const t=r.filters.current,n=()=>{const i=W.randomId(),a={id:i,key:i,label:i,order:t.length+1,type:oe.TextInput,config:Po()};r.filters.append(a)};return b(s.Group,{sx:{height:"90vh",maxHeight:"calc(100vh - 185px)"},p:0,children:[l(s.Group,{sx:{position:"absolute",top:"16px",right:"16px"},children:l(s.Button,{size:"xs",color:"red",leftIcon:l(_.Recycle,{size:20}),disabled:!r.filters.changed,onClick:r.filters.reset,children:"Revert Changes"})}),l(s.Tabs,{orientation:"vertical",defaultValue:r.filters.firstID,children:b(s.Group,{sx:{height:"100%"},children:[b(s.Stack,{sx:{height:"100%"},children:[l(s.Tabs.List,{position:"left",sx:{flexGrow:1,width:"200px"},children:r.filters.current.map((i,a)=>l(s.Tabs.Tab,{value:i.id,children:i.label},i.id))}),l(s.Button,{size:"xs",color:"blue",leftIcon:l(_.PlaylistAdd,{size:20}),onClick:n,children:"Add a Filter"})]}),l(s.Box,{sx:{flexGrow:1,height:"100%"},children:r.filters.current.map((i,a)=>l(s.Tabs.Panel,{value:i.id,sx:{height:"100%"},children:b(s.Stack,{sx:{height:"100%"},spacing:"sm",children:[l(s.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"scroll"},children:l(dp,{filter:i,index:a})}),l(s.Group,{position:"right",pt:10,children:l(s.Button,{size:"xs",color:"red",leftIcon:l(_.Trash,{size:20}),onClick:()=>r.filters.remove(a),children:"Delete this filter"})})]})},i.id))})]})})]})});function hp({opened:e,close:r,model:t}){const{freezeLayout:n}=h.default.useContext(be);return h.default.useEffect(()=>{n(e)},[e]),l(s.Modal,{size:"96vw",overflow:"inside",opened:e,onClose:r,title:"Filters",trapFocus:!0,onDragStart:i=>{i.stopPropagation()},withCloseButton:!1,children:l(pp,{model:t})})}function bp({mode:e,setMode:r,hasChanges:t,saveChanges:n,revertChanges:i,getCurrentSchema:a,model:o}){const{addPanel:u}=h.default.useContext(Ht),{inLayoutMode:c,inEditMode:d,inUseMode:f}=h.default.useContext(be),[p,v]=h.default.useState(!1),y=()=>v(!0),P=()=>v(!1),[j,I]=h.default.useState(!1),$=()=>I(!0),he=()=>I(!1),[Z,k]=h.default.useState(!1),U=()=>k(!0),ee=()=>k(!1);return b(s.Group,{position:"apart",pt:0,pb:"xs",children:[l(s.Group,{position:"left",children:l(Zl,{mode:e,setMode:r})}),b(s.Group,{position:"right",children:[!f&&l(s.Button,{variant:"default",size:"xs",onClick:u,leftIcon:l(_.PlaylistAdd,{size:20}),children:"Add a Panel"}),d&&l(s.Button,{variant:"default",size:"xs",onClick:$,leftIcon:l(_.Filter,{size:20}),children:"Filters"}),d&&l(s.Button,{variant:"default",size:"xs",onClick:y,leftIcon:l(_.Database,{size:20}),children:"Data Settings"}),!f&&l(s.Button,{variant:"default",size:"xs",onClick:n,disabled:!t,leftIcon:l(_.DeviceFloppy,{size:20}),children:"Save Changes"}),!f&&l(s.Button,{color:"red",size:"xs",disabled:!t,onClick:i,leftIcon:l(_.Recycle,{size:20}),children:"Revert Changes"}),b(s.Menu,{children:[l(s.Menu.Target,{children:l(s.Button,{variant:"default",size:"xs",leftIcon:l(_.Share,{size:20}),children:"Export"})}),b(s.Menu.Dropdown,{children:[l(s.Menu.Item,{disabled:!0,children:"Download Data"}),l(s.Menu.Item,{onClick:U,children:"View Schema"})]})]})]}),l(hp,{opened:j,close:he,model:o}),l(ls,{opened:p,close:P}),l(ss,{opened:Z,close:ee,getCurrentSchema:a})]})}function jo({panel:e,exitFullScreen:r}){return b(s.Stack,{sx:{flexGrow:1,justifyContent:"flex-start"},children:[l(s.Group,{sx:{flexGrow:0},children:l(s.Button,{variant:"default",size:"sm",onClick:r,leftIcon:l(_.ArrowLeft,{size:20}),children:"Exit fullscreen"})}),l(s.Group,{grow:!0,sx:{flexGrow:1,flexShrink:0},children:l(ir,{...e})})]})}function To(e){const[r,t]=h.default.useState(null),n=h.default.useCallback(u=>{t(u)},[]),i=h.default.useCallback(()=>{t(null)},[]),a=h.default.useMemo(()=>e.find(u=>u.id===r),[r,e]);return{viewPanelInFullScreen:n,exitFullScreen:i,inFullScreen:!!a,fullScreenPanel:a}}function Eo({filters:e,filterValues:r,setFilterValues:t}){const{control:n,handleSubmit:i}=O.useForm({defaultValues:r}),a=h.default.useMemo(()=>C.default.sortBy(e,"order"),[e]);return e.length===0?null:l("form",{onSubmit:i(t),children:b(s.Group,{className:"dashboard-filters",position:"apart",p:"md",mb:"md",noWrap:!0,sx:{boxShadow:"0px 0px 10px 0px rgba(0,0,0,.2)"},children:[l(s.Group,{align:"flex-start",children:a.map(o=>l(O.Controller,{name:o.key,control:n,render:({field:u})=>l(Ao,{filter:o,...u})},o.id))}),l(s.Group,{sx:{alignSelf:"flex-end"},children:l(s.Button,{color:"blue",size:"sm",type:"submit",children:"Submit"})})]})})}function Io(e){const[r,t]=h.default.useState(e.filters),[n,i]=h.default.useState(()=>e.filters.reduce((o,u)=>{var c;return o[u.key]=(c=u.config.default_value)!=null?c:"",o},{}));return{filters:r,setFilters:t,filterValues:n,setFilterValues:i}}const Do=x.model({label:x.string,value:x.string}).actions(e=>({setLabel(r){e.label=r},setValue(r){e.value=r}})),Mo=x.model("FilterConfigModel_Select",{required:x.boolean,default_value:x.string,static_options:x.optional(x.array(Do),[]),options_query:Oo}).actions(e=>({addStaticOption(r){e.static_options.push(r)},removeStaticOption(r){e.static_options.splice(r,1)},setRequired(r){e.required=r},setDefaultValue(r){e.default_value=r},setOptionsQuery(r){e.options_query=r}})),vp=()=>Mo.create({required:!1,default_value:"",static_options:[],options_query:{type:"postgresql",key:"",sql:""}}),Ro=x.model("FilterConfigModel_MultiSelect",{default_value:x.optional(x.array(x.string),[]),static_options:x.optional(x.array(Do),[]),options_query:Oo}).actions(e=>({addStaticOption(r){e.static_options.push(r)},removeStaticOption(r){e.static_options.splice(r,1)},setDefaultValue(r){e.default_value=r},setOptionsQuery(r){e.options_query=r}})),mp=()=>Ro.create({default_value:[],static_options:[],options_query:{type:"postgresql",key:"",sql:""}}),Vo=x.model("FilterConfigModel_Checkbox",{default_value:x.boolean}).actions(e=>({setDefaultValue(r){e.default_value=r}})),yp=()=>Vo.create({default_value:!1}),ko=x.model("FilterConfigModel_DateRange",{required:x.boolean,inputFormat:x.enumeration("DateRangeInputFormat",["YYYY","YYYY-MM","YYYY-MM-DD"]),clearable:x.boolean}).actions(e=>({setRequired(r){e.required=r},setClearable(r){e.clearable=r},setInputFormat(r){e.inputFormat=r}})),gp=()=>ko.create({required:!1,inputFormat:"YYYY-MM-DD",clearable:!1}),zo=x.model("FilterModel",{id:x.identifier,key:x.string,label:x.string,order:x.number,type:x.enumeration("DashboardFilterType",[oe.Select,oe.MultiSelect,oe.TextInput,oe.Checkbox,oe.DateRange]),config:x.union(Mo,Ro,xo,Vo,ko)}).actions(e=>({setKey(r){e.key=r},setLabel(r){e.label=r},setOrder(r){e.order=r},setType(r){switch(r){case oe.Select:e.config=vp();break;case oe.MultiSelect:e.config=mp();break;case oe.TextInput:e.config=Po();break;case oe.Checkbox:e.config=yp();break;case oe.DateRange:e.config=gp();break}e.type=r}})),_p=x.model("FiltersModel",{original:x.optional(x.array(zo),[]),current:x.optional(x.array(zo),[])}).views(e=>({get changed(){return!C.default.isEqual(e.original,e.current)},get firstID(){if(e.current.length!==0)return e.current[0].id}})).actions(e=>({reset(){e.current=C.default.cloneDeep(e.original)},replace(r){e.current=r},append(r){e.current.push(r)},remove(r){e.current.splice(r,1)}})),wp=x.model({id:x.identifier,name:x.string,filters:_p});function Sp({id:e,name:r,filters:t}){return wp.create({id:e,name:r,filters:{original:t,current:t}})}const Op=ae(function({context:r,dashboard:t,update:n,className:i="dashboard",config:a}){We.baseURL!==a.apiBaseURL&&(We.baseURL=a.apiBaseURL);const[o,u]=h.default.useState(!1),[c,d]=h.default.useState(le.Edit),[f,p]=h.default.useState(t.panels),v=h.default.useMemo(()=>Sp(t),[t]),[y,P]=h.default.useState(t.definition.sqlSnippets),[j,I]=h.default.useState(t.definition.queries),{filters:$,setFilters:he,filterValues:Z,setFilterValues:k}=Io(t),U=h.default.useMemo(()=>{if(v.filters.changed)return!0;const ue=Se=>JSON.parse(JSON.stringify(Se));return!C.default.isEqual(ue(f),ue(t.panels))||!C.default.isEqual(y,t.definition.sqlSnippets)?!0:!C.default.isEqual(j,t.definition.queries)},[t,$,f,y,j,v.filters.changed]),ee=async()=>{const ue={...t,filters:[...v.filters.current],panels:f,definition:{sqlSnippets:y,queries:j}};await n(ue)},_t=()=>{he(t.filters),p(t.panels),P(t.definition.sqlSnippets),I(t.definition.queries)},Ap=()=>{const ue=W.randomId(),we={id:ue,layout:{x:0,y:1/0,w:3,h:15},title:`Panel - ${ue}`,description:"<p><br></p>",queryID:"",viz:{type:"table",conf:{}}};p(Se=>[...Se,we])},jp=ue=>{try{const we=f.find(Tn=>Tn.id===ue);if(!we)throw new Error(`[duplicate panel] Can't find a panel by id[${ue}]`);const Se={...we,id:W.randomId(),layout:{...we.layout,x:0,y:1/0}};p(Tn=>[...Tn,Se])}catch(we){console.error(we)}},Tp=ue=>{const we=f.findIndex(Se=>Se.id===ue);p(Se=>(Se.splice(we,1),[...Se]))},Ep=c===le.Edit,An=c===le.Layout,Ip=c===le.Use,Dp=h.default.useMemo(()=>({sqlSnippets:y,setSQLSnippets:P,queries:j,setQueries:I}),[y,P,j,I]),Mp=h.default.useCallback(()=>({panels:f,definition:{sqlSnippets:y,queries:j}}),[y,j,f]),{viewPanelInFullScreen:Rp,exitFullScreen:Vp,inFullScreen:jn,fullScreenPanel:kp}=To(f);return l(Vr.ModalsProvider,{children:l(Ie.Provider,{value:r,children:l(Ye.Provider,{value:Z,children:l(Ht.Provider,{value:{addPanel:Ap,duplidatePanel:jp,removePanelByID:Tp,viewPanelInFullScreen:Rp,inFullScreen:jn},children:l(ce.Provider,{value:Dp,children:b(be.Provider,{value:{layoutFrozen:o,freezeLayout:u,mode:c,inEditMode:Ep,inLayoutMode:An,inUseMode:Ip},children:[jn&&l(jo,{panel:kp,exitFullScreen:Vp}),b(s.Box,{className:i,sx:{position:"relative",display:jn?"none":"block"},children:[l(bp,{mode:c,setMode:d,hasChanges:U,saveChanges:ee,revertChanges:_t,getCurrentSchema:Mp,model:v}),l(Eo,{filters:$,filterValues:Z,setFilterValues:k}),l(di,{panels:f,setPanels:p,isDraggable:An,isResizable:An})]})]})})})})})})}),xp=Rr.WidthProvider(In.default);function Pp({panels:e,className:r="layout",rowHeight:t=10}){return l(xp,{className:`dashboard-layout ${r}`,rowHeight:t,isDraggable:!1,isResizable:!1,children:e.map(({id:n,...i})=>l("div",{"data-grid":i.layout,children:l(ir,{id:n,...i})},n))})}function Cp({context:e,dashboard:r,className:t="dashboard",config:n}){We.baseURL!==n.apiBaseURL&&(We.baseURL=n.apiBaseURL);const{filters:i,filterValues:a,setFilterValues:o}=Io(r),u=h.default.useMemo(()=>({...r.definition,setSQLSnippets:()=>{},setQueries:()=>{}}),[r]),{viewPanelInFullScreen:c,exitFullScreen:d,inFullScreen:f,fullScreenPanel:p}=To(r.panels);return l(Vr.ModalsProvider,{children:l(Ie.Provider,{value:e,children:l(Ye.Provider,{value:a,children:l(Ht.Provider,{value:{addPanel:C.default.noop,duplidatePanel:C.default.noop,removePanelByID:C.default.noop,viewPanelInFullScreen:c,inFullScreen:f},children:l(ce.Provider,{value:u,children:b(be.Provider,{value:{layoutFrozen:!0,freezeLayout:()=>{},mode:le.Use,inEditMode:!1,inLayoutMode:!1,inUseMode:!0},children:[f&&l(jo,{panel:p,exitFullScreen:d}),b(s.Box,{className:t,sx:{display:f?"none":"block"},children:[l(Eo,{filters:i,filterValues:a,setFilterValues:o}),l(Pp,{panels:r.panels})]})]})})})})})})}var No=(e=>(e.Select="select",e.MultiSelect="multi-select",e.TextInput="text-input",e.Checkbox="checkbox",e.DateRange="date-range",e))(No||{});w.ContextInfoContext=Ie,w.Dashboard=Op,w.DashboardFilterType=No,w.DashboardLayout=di,w.DashboardMode=le,w.DefinitionContext=ce,w.FilterValuesContext=Ye,w.LayoutStateContext=be,w.Panel=ir,w.PanelContext=se,w.ReadOnlyDashboard=Cp,w.initialContextInfoContext=Xo,w.initialFilterValuesContext=ru,Object.defineProperties(w,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|