@protobase/ui 0.12.16 → 0.12.18

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/package.js CHANGED
@@ -1,5 +1,5 @@
1
1
  //#region package.json
2
- var version = "0.12.16";
2
+ var version = "0.12.18";
3
3
  var protobase = { "pluginApi": 1 };
4
4
  //#endregion
5
5
  export { protobase, version };
@@ -58,7 +58,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
58
58
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function m0(e,t){if(e){if(typeof e==`string`)return h0(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h0(e,t):void 0}}function h0(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function g0(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function _0(e){if(Array.isArray(e))return e}function v0(e,t){if(e==null)return{};var n,r,i=y0(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function y0(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function b0(){return b0=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},b0.apply(null,arguments)}function x0(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function S0(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?x0(Object(n),!0).forEach(function(t){C0(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x0(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function C0(e,t,n){return(t=w0(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function w0(e){var t=T0(e,`string`);return typeof t==`symbol`?t:t+``}function T0(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var E0={x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:`bottom`,ticks:[],stroke:`#666`,tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:`preserveEnd`,zIndex:vR.axis};function D0(e){var t=e.x,n=e.y,r=e.width,i=e.height,a=e.orientation,o=e.mirror,s=e.axisLine,c=e.otherSvgProps;if(!s)return null;var u=S0(S0(S0({},c),rE(s)),{},{fill:`none`});if(a===`top`||a===`bottom`){var d=+(a===`top`&&!o||a===`bottom`&&o);u=S0(S0({},u),{},{x1:t,y1:n+d*i,x2:t+r,y2:n+d*i})}else{var f=+(a===`left`&&!o||a===`right`&&o);u=S0(S0({},u),{},{x1:t+f*r,y1:n,x2:t+f*r,y2:n+i})}return l.createElement(`line`,b0({},u,{className:ZT(`recharts-cartesian-axis-line`,wE(s,`className`))}))}function O0(e,t,n,r,i,a,o,s,c){var l,u,d,f,p,m,h=s?-1:1,g=e.tickSize||o,_=K(e.tickCoord)?e.tickCoord:e.coordinate;switch(a){case`top`:l=u=e.coordinate,f=n+ +!s*i,d=f-h*g,m=d-h*c,p=_;break;case`left`:d=f=e.coordinate,u=t+ +!s*r,l=u-h*g,p=l-h*c,m=_;break;case`right`:d=f=e.coordinate,u=t+ +s*r,l=u+h*g,p=l+h*c,m=_;break;default:l=u=e.coordinate,f=n+ +s*i,d=f+h*g,m=d+h*c,p=_}return{line:{x1:l,y1:d,x2:u,y2:f},tick:{x:p,y:m}}}function k0(e,t){switch(e){case`left`:return t?`start`:`end`;case`right`:return t?`end`:`start`;default:return`middle`}}function A0(e,t){switch(e){case`left`:case`right`:return`middle`;case`top`:return t?`start`:`end`;default:return t?`end`:`start`}}function j0(e){var t=e.option,n=e.tickProps,r=e.value,i,a=ZT(n.className,`recharts-cartesian-axis-tick-value`);if(l.isValidElement(t))i=l.cloneElement(t,S0(S0({},n),{},{className:a}));else if(typeof t==`function`)i=t(S0(S0({},n),{},{className:a}));else{var o=`recharts-cartesian-axis-tick-value`;typeof t!=`boolean`&&(o=ZT(o,OQ(t))),i=l.createElement(zZ,b0({},n,{className:o}),r)}return i}function M0(e){var t=e.ticks,n=e.axisType,r=e.axisId,i=ok(),a=(0,l.useRef)(null);return(0,l.useEffect)(()=>{if(r!=null&&n!=null){var e=t.map(e=>({value:e.value,coordinate:e.coordinate,offset:e.offset,index:e.index})),o=a.current;o!=null&&o.axisId===r&&o.axisType===n&&H1(o.ticks,e)||(a.current={ticks:e,axisId:r,axisType:n},i(c0({ticks:e,axisId:r,axisType:n})))}},[i,t,r,n]),(0,l.useEffect)(()=>r==null||n==null?HE:()=>{i(l0({axisId:r,axisType:n}))},[i,r,n]),null}var N0=(0,l.forwardRef)((e,t)=>{var n=e.ticks,r=n===void 0?[]:n,i=e.tick,a=e.tickLine,o=e.stroke,s=e.tickFormatter,c=e.unit,u=e.padding,d=e.tickTextProps,f=e.orientation,p=e.mirror,m=e.x,h=e.y,g=e.width,_=e.height,v=e.tickSize,y=e.tickMargin,b=e.fontSize,x=e.letterSpacing,S=e.getTicksConfig,C=e.events,w=e.axisType,T=e.axisId,E=r0(S0(S0({},S),{},{ticks:r}),b,x),D=rE(S),O=iE(i),k=OZ(D.textAnchor)?D.textAnchor:k0(f,p),A=A0(f,p),j={};typeof a==`object`&&(j=a);var M=S0(S0({},D),{},{fill:`none`},j),N=E.map(e=>S0({entry:e},O0(e,m,h,g,_,f,v,p,y))),ee=N.map(e=>{var t=e.entry,n=e.line;return l.createElement(hE,{className:`recharts-cartesian-axis-tick`,key:`tick-${t.value}-${t.coordinate}-${t.tickCoord}`},a&&l.createElement(`line`,b0({},M,n,{className:ZT(`recharts-cartesian-axis-tick-line`,wE(a,`className`))})))}),te=N.map((e,t)=>{var n=e.entry,r=e.tick,a=S0(S0({},S0(S0(S0(S0({verticalAnchor:A},D),{},{textAnchor:k,stroke:`none`,fill:o},r),{},{index:t,payload:n,visibleTicksCount:E.length,tickFormatter:s,padding:u},d),{},{angle:d?.angle??D.angle??0})),O);return l.createElement(hE,b0({className:`recharts-cartesian-axis-tick-label`,key:`tick-label-${n.value}-${n.coordinate}-${n.tickCoord}`},tO(C,n,t)),i&&l.createElement(j0,{option:i,tickProps:a,value:`${typeof s==`function`?s(n.value,t):n.value}${c||``}`}))});return l.createElement(`g`,{className:`recharts-cartesian-axis-ticks recharts-${w}-ticks`},l.createElement(M0,{ticks:E,axisId:T,axisType:w}),te.length>0&&l.createElement(DY,{zIndex:vR.label},l.createElement(`g`,{className:`recharts-cartesian-axis-tick-labels recharts-${w}-tick-labels`,ref:t},te)),ee.length>0&&l.createElement(`g`,{className:`recharts-cartesian-axis-tick-lines recharts-${w}-tick-lines`},ee))}),P0=(0,l.forwardRef)((e,t)=>{var n=e.axisLine,r=e.width,i=e.height,a=e.className,o=e.hide,s=e.ticks,c=e.axisType,u=e.axisId,d=v0(e,d0),f=f0((0,l.useState)(``),2),p=f[0],m=f[1],h=f0((0,l.useState)(``),2),g=h[0],_=h[1],v=(0,l.useRef)(null);(0,l.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>i0({ticks:v.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin}),getCalculatedHeight:()=>a0({ticks:v.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}));var y=(0,l.useCallback)(e=>{if(e){var t=e.getElementsByClassName(`recharts-cartesian-axis-tick-value`);v.current=t;var n=t[0];if(n){var r=window.getComputedStyle(n),i=r.fontSize,a=r.letterSpacing;(i!==p||a!==g)&&(m(i),_(a))}}},[p,g]);return o||r!=null&&r<=0||i!=null&&i<=0?null:l.createElement(DY,{zIndex:e.zIndex},l.createElement(hE,{className:ZT(`recharts-cartesian-axis`,a)},l.createElement(D0,{x:e.x,y:e.y,width:r,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:rE(e)}),l.createElement(N0,{ref:y,axisType:c,events:d,fontSize:p,getTicksConfig:e,height:e.height,letterSpacing:g,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:s,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:u}),l.createElement(ZZ,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},l.createElement(dQ,{label:e.label,labelRef:e.labelRef}),e.children)))}),F0=l.forwardRef((e,t)=>{var n=sO(e,E0);return l.createElement(P0,b0({},n,{ref:t}))});F0.displayName=`CartesianAxis`;var I0=(0,l.createContext)({grid:{stroke:`#ccc`,fill:`none`}});I0.Provider;var L0=()=>(0,l.useContext)(I0),R0=[`x1`,`y1`,`x2`,`y2`,`key`],z0=[`offset`],B0=[`xAxisId`,`yAxisId`],V0=[`xAxisId`,`yAxisId`];function H0(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function U0(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?H0(Object(n),!0).forEach(function(t){W0(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):H0(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function W0(e,t,n){return(t=G0(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function G0(e){var t=K0(e,`string`);return typeof t==`symbol`?t:t+``}function K0(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function q0(){return q0=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},q0.apply(null,arguments)}function J0(e,t){if(e==null)return{};var n,r,i=Y0(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Y0(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var X0=e=>{var t=e.fill;if(!t||t===`none`)return null;var n=e.fillOpacity,r=e.x,i=e.y,a=e.width,o=e.height,s=e.ry;return l.createElement(`rect`,{x:r,y:i,ry:s,width:a,height:o,stroke:`none`,fill:t,fillOpacity:n,className:`recharts-cartesian-grid-bg`})};function Z0(e){var t=e.option,n=e.lineItemProps,r;if(l.isValidElement(t))r=l.cloneElement(t,n);else if(typeof t==`function`)r=t(n);else{var i=n.x1,a=n.y1,o=n.x2,s=n.y2,c=n.key,u=rE(J0(n,R0))??{};u.offset;var d=J0(u,z0),f=Array.isArray(d.strokeDasharray)?d.strokeDasharray.join(`,`):d.strokeDasharray;r=l.createElement(`line`,q0({},d,{strokeDasharray:f,x1:i,y1:a,x2:o,y2:s,fill:`none`,key:c}))}return r}function Q0(e){var t=e.x,n=e.width,r=e.horizontal,i=r===void 0||r,a=e.horizontalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var o=J0(e,B0),s=a.map((e,r)=>{var a=U0(U0({},o),{},{x1:t,y1:e,x2:t+n,y2:e,key:`line-${r}`,index:r});return l.createElement(Z0,{key:`line-${r}`,option:i,lineItemProps:a})});return l.createElement(`g`,{className:`recharts-cartesian-grid-horizontal`},s)}function $0(e){var t=e.y,n=e.height,r=e.vertical,i=r===void 0||r,a=e.verticalPoints;if(!i||!a||!a.length)return null;e.xAxisId,e.yAxisId;var o=J0(e,V0),s=a.map((e,r)=>{var a=U0(U0({},o),{},{x1:e,y1:t,x2:e,y2:t+n,key:`line-${r}`,index:r});return l.createElement(Z0,{option:i,lineItemProps:a,key:`line-${r}`})});return l.createElement(`g`,{className:`recharts-cartesian-grid-vertical`},s)}function e2(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,i=e.y,a=e.width,o=e.height,s=e.horizontalPoints,c=e.horizontal;if(!(c===void 0||c)||!t||!t.length||s==null)return null;var u=s.map(e=>Math.round(e+i-i)).sort((e,t)=>e-t);i!==u[0]&&u.unshift(0);var d=u.map((e,s)=>{var c=u[s+1],d=c==null?i+o-e:c-e;if(d<=0)return null;var f=s%t.length;return l.createElement(`rect`,{key:`react-${s}`,y:e,x:r,height:d,width:a,stroke:`none`,fill:t[f],fillOpacity:n,className:`recharts-cartesian-grid-bg`})});return l.createElement(`g`,{className:`recharts-cartesian-gridstripes-horizontal`},d)}function t2(e){var t=e.vertical,n=t===void 0||t,r=e.verticalFill,i=e.fillOpacity,a=e.x,o=e.y,s=e.width,c=e.height,u=e.verticalPoints;if(!n||!r||!r.length)return null;var d=u.map(e=>Math.round(e+a-a)).sort((e,t)=>e-t);a!==d[0]&&d.unshift(0);var f=d.map((e,t)=>{var n=d[t+1],u=n==null?a+s-e:n-e;if(u<=0)return null;var f=t%r.length;return l.createElement(`rect`,{key:`react-${t}`,x:e,y:o,width:u,height:c,stroke:`none`,fill:r[f],fillOpacity:i,className:`recharts-cartesian-grid-bg`})});return l.createElement(`g`,{className:`recharts-cartesian-gridstripes-vertical`},f)}var n2=(e,t)=>{var n=e.xAxis,r=e.width,i=e.height,a=e.offset;return vM(r0(U0(U0(U0({},E0),n),{},{ticks:yM(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.left,a.left+a.width,t)},r2=(e,t)=>{var n=e.yAxis,r=e.width,i=e.height,a=e.offset;return vM(r0(U0(U0(U0({},E0),n),{},{ticks:yM(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.top,a.top+a.height,t)},i2={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:vR.grid};function a2(e){var t=HN(),n=UN(),r=VN(),i=U0(U0({},sO(e,i2)),{},{x:K(e.x)?e.x:r.left,y:K(e.y)?e.y:r.top,width:K(e.width)?e.width:r.width,height:K(e.height)?e.height:r.height}),a=i.xAxisId,o=i.yAxisId,s=i.x,c=i.y,u=i.width,d=i.height,f=i.syncWithTicks,p=i.horizontalValues,m=i.verticalValues,h=rN(),g=q(e=>QK(e,`xAxis`,a,h)),_=q(e=>QK(e,`yAxis`,o,h)),v=L0(),y={stroke:i.stroke??v.grid.stroke,strokeWidth:i.strokeWidth??v.grid.strokeWidth,strokeOpacity:i.strokeOpacity??v.grid.strokeOpacity,strokeDasharray:i.strokeDasharray??v.grid.strokeDasharray};if(!lM(u)||!lM(d)||!K(s)||!K(c))return null;var b=i.verticalCoordinatesGenerator||n2,x=i.horizontalCoordinatesGenerator||r2,S=i.horizontalPoints,C=i.verticalPoints;if((!S||!S.length)&&typeof x==`function`){var w=p&&p.length,T=x({yAxis:_?U0(U0({},_),{},{ticks:w?p:_.ticks}):void 0,width:t??u,height:n??d,offset:r},w?!0:f);lN(Array.isArray(T),`horizontalCoordinatesGenerator should return Array but instead it returned [${typeof T}]`),Array.isArray(T)&&(S=T)}if((!C||!C.length)&&typeof b==`function`){var E=m&&m.length,D=b({xAxis:g?U0(U0({},g),{},{ticks:E?m:g.ticks}):void 0,width:t??u,height:n??d,offset:r},E?!0:f);lN(Array.isArray(D),`verticalCoordinatesGenerator should return Array but instead it returned [${typeof D}]`),Array.isArray(D)&&(C=D)}return l.createElement(DY,{zIndex:i.zIndex},l.createElement(`g`,{className:`recharts-cartesian-grid`},l.createElement(X0,{fill:i.fill??v.grid.fill,fillOpacity:i.fillOpacity??v.grid.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),l.createElement(e2,q0({},i,{horizontalPoints:S})),l.createElement(t2,q0({},i,{verticalPoints:C})),l.createElement(Q0,q0({},i,y,{offset:r,horizontalPoints:S,xAxis:g,yAxis:_})),l.createElement($0,q0({},i,y,{offset:r,verticalPoints:C,xAxis:g,yAxis:_}))))}a2.displayName=`CartesianGrid`;var o2=pj({name:`errorBars`,initialState:{},reducers:{addErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.errorBar;e[r]||(e[r]=[]),e[r].push(i)},replaceErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.prev,a=n.next;e[r]&&(e[r]=e[r].map(e=>e.dataKey===i.dataKey&&e.direction===i.direction?a:e))},removeErrorBar:(e,t)=>{var n=t.payload,r=n.itemId,i=n.errorBar;e[r]&&(e[r]=e[r].filter(e=>e.dataKey!==i.dataKey||e.direction!==i.direction))}}}),s2=o2.actions;s2.addErrorBar,s2.replaceErrorBar,s2.removeErrorBar;var c2=o2.reducer,l2=[`children`];function u2(e,t){if(e==null)return{};var n,r,i=d2(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function d2(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var f2=(0,l.createContext)({data:[],xAxisId:`xAxis-0`,yAxisId:`yAxis-0`,dataPointFormatter:()=>({x:0,y:0,value:0}),errorBarOffset:0});function p2(e){var t=e.children,n=u2(e,l2);return l.createElement(f2.Provider,{value:n},t)}function m2(e,t){var n=q(t=>$W(t,e)),r=q(e=>nG(e,t)),i=n?.allowDataOverflow??ZW.allowDataOverflow,a=r?.allowDataOverflow??eG.allowDataOverflow;return{needClip:i||a,needClipX:i,needClipY:a}}function h2(e){var t=e.xAxisId,n=e.yAxisId,r=e.clipPathId,i=t1(),a=m2(t,n),o=a.needClipX,s=a.needClipY,c=a.needClip,u=q(e=>EK(e,t,!1)),d=q(e=>DK(e,n,!1));if(!c||!i)return null;var f=i.x,p=i.y,m=i.width,h=i.height,g=o&&u?Math.min(u[0],u[1]):f-m/2,_=s&&d?Math.min(d[0],d[1]):p-h/2,v=o&&u?Math.abs(u[1]-u[0]):m*2,y=s&&d?Math.abs(d[1]-d[0]):h*2;return l.createElement(`clipPath`,{id:`clipPath-${r}`},l.createElement(`rect`,{x:g,y:_,width:v,height:y}))}function g2(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.xAxisId??0}function _2(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.yAxisId??0}var v2=`Invariant failed`;function y2(e,t){if(!e)throw Error(v2)}var b2=[`option`];function x2(e,t){if(e==null)return{};var n,r,i=S2(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function S2(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var C2=XI;function w2(e){var t=e.option,n=x2(e,b2);return l.createElement(KQ,{option:t,DefaultShape:C2,shapeProps:n,activeClassName:`recharts-active-bar`,inActiveClassName:`recharts-inactive-bar`})}var T2=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return(n,r)=>{if(K(e))return e;var i=K(n)||zE(n);return i?e(n,r):(!i&&y2(!1,`minPointSize callback function received a value with type of ${typeof n}. Currently only numbers or null/undefined are supported.`),t)}},E2=(e,t,n)=>n,D2=J([uG,(e,t)=>t],(e,t)=>e.filter(e=>e.type===`bar`).find(e=>e.id===t)),O2=J([D2],e=>e?.maxBarSize),k2=(e,t,n,r)=>r,A2=J([WN,uG,g2,_2,E2],(e,t,n,r,i)=>t.filter(t=>e===`horizontal`?t.xAxisId===n:t.yAxisId===r).filter(e=>e.isPanorama===i).filter(e=>e.hide===!1).filter(e=>e.type===`bar`)),j2=(e,t,n)=>{var r=WN(e),i=g2(e,t),a=_2(e,t);if(i!=null&&a!=null)return r===`horizontal`?IG(e,`yAxis`,a,n):IG(e,`xAxis`,i,n)},M2=J([A2,dR,(e,t)=>{var n=WN(e),r=g2(e,t),i=_2(e,t);if(r!=null&&i!=null)return n===`horizontal`?YK(e,`xAxis`,r):YK(e,`yAxis`,i)}],l1),N2=(e,t,n)=>{var r=D2(e,t);if(r==null)return 0;var i=g2(e,t),a=_2(e,t);if(i==null||a==null)return 0;var o=WN(e),s=cR(e),c=r.maxBarSize,l=zE(c)?s:c,u,d;return o===`horizontal`?(u=tq(e,`xAxis`,i,n),d=eq(e,`xAxis`,i,n)):(u=tq(e,`yAxis`,a,n),d=eq(e,`yAxis`,a,n)),jM(u,d,!0)??l??0},P2=(e,t,n)=>{var r=WN(e),i=g2(e,t),a=_2(e,t);if(i!=null&&a!=null){var o,s;return r===`horizontal`?(o=tq(e,`xAxis`,i,n),s=eq(e,`xAxis`,i,n)):(o=tq(e,`yAxis`,a,n),s=eq(e,`yAxis`,a,n)),jM(o,s)}},F2=J([$M,tN,(e,t,n)=>{var r=g2(e,t);if(r!=null)return tq(e,`xAxis`,r,n)},(e,t,n)=>{var r=_2(e,t);if(r!=null)return tq(e,`yAxis`,r,n)},(e,t,n)=>{var r=g2(e,t);if(r!=null)return eq(e,`xAxis`,r,n)},(e,t,n)=>{var r=_2(e,t);if(r!=null)return eq(e,`yAxis`,r,n)},J([J([M2,cR,lR,uR,N2,P2,O2],g1),D2],v1),WN,PL,P2,J([j2,D2],_1),D2,k2],(e,t,n,r,i,a,o,s,c,l,u,d,f)=>{var p=c.chartData,m=c.dataStartIndex,h=c.dataEndIndex;if(!(d==null||o==null||t==null||s!==`horizontal`&&s!==`vertical`||n==null||r==null||i==null||a==null||l==null)){var g=d.data,_=g!=null&&g.length>0?g:p?.slice(m,h+1);if(_!=null)return w4({layout:s,barSettings:d,pos:o,parentViewBox:t,bandSize:l,xAxis:n,yAxis:r,xAxisTicks:i,yAxisTicks:a,stackedData:u,displayedData:_,offset:e,cells:f,dataStartIndex:m})}}),I2=[`index`];function L2(){return L2=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},L2.apply(null,arguments)}function R2(e,t){if(e==null)return{};var n,r,i=z2(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function z2(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var B2=(0,l.createContext)(void 0),V2=e=>{var t=(0,l.useContext)(B2);if(t!=null)return t.stackId;if(e!=null)return CM(e)},H2=(e,t)=>`recharts-bar-stack-clip-path-${e}-${t}`,U2=e=>{var t=(0,l.useContext)(B2);if(t!=null){var n=t.stackId;return`url(#${H2(n,e)})`}},W2=e=>{var t=e.index,n=R2(e,I2),r=U2(t);return l.createElement(hE,L2({className:`recharts-bar-stack-layer`,clipPath:r},n))},G2=[`onMouseEnter`,`onMouseLeave`,`onClick`],K2=[`value`,`background`,`tooltipPosition`],q2=[`id`],J2=[`onMouseEnter`,`onClick`,`onMouseLeave`];function Y2(e,t){return e4(e)||$2(e,t)||Z2(e,t)||X2()}function X2(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
59
59
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Z2(e,t){if(e){if(typeof e==`string`)return Q2(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Q2(e,t):void 0}}function Q2(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function $2(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function e4(e){if(Array.isArray(e))return e}function t4(){return t4=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},t4.apply(null,arguments)}function n4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function r4(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?n4(Object(n),!0).forEach(function(t){i4(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):n4(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function i4(e,t,n){return(t=a4(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a4(e){var t=o4(e,`string`);return typeof t==`symbol`?t:t+``}function o4(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function s4(e,t){if(e==null)return{};var n,r,i=c4(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function c4(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var l4=e=>{var t=e.dataKey,n=e.name,r=e.fill,i=e.legendType;return[{inactive:e.hide,dataKey:t,type:i,color:r,value:NM(n,t),payload:e}]},u4=l.memo(e=>{var t=e.dataKey,n=e.stroke,r=e.strokeWidth,i=e.fill,a=e.name,o=e.hide,s=e.unit,c=e.formatter,u=e.tooltipType,d=e.id,f={dataDefinedOnItem:void 0,getPosition:HE,settings:{stroke:n,strokeWidth:r,fill:i,dataKey:t,nameKey:void 0,name:NM(a,t),hide:o,type:u,color:i,unit:s,formatter:c,graphicalItemId:d}};return l.createElement(XQ,{tooltipEntrySettings:f})});function d4(e){var t=q(wJ),n=e.data,r=e.dataKey,i=e.background,a=e.allOtherBarProps,o=a.onMouseEnter,s=a.onMouseLeave,c=a.onClick,u=s4(a,G2),d=qQ(o,r,a.id),f=JQ(s),p=YQ(c,r,a.id);if(!i||n==null)return null;var m=iE(i);return l.createElement(DY,{zIndex:y1(i,vR.barBackground)},n.map((e,n)=>{e.value;var a=e.background;e.tooltipPosition;var o=s4(e,K2);if(!a)return null;var s=d(e,e.originalDataIndex),c=f(e,e.originalDataIndex),h=p(e,e.originalDataIndex),g=r4(r4(r4(r4(r4({option:i,isActive:String(e.originalDataIndex)===t},o),{},{fill:`#eee`},a),m),tO(u,e,n)),{},{onMouseEnter:s,onMouseLeave:c,onClick:h,dataKey:r,index:n,className:`recharts-bar-background-rectangle`});return l.createElement(w2,t4({key:`background-bar-${n}`},g))}))}function f4(e){var t=e.showLabels,n=e.children,r=e.rects?.map(e=>{var t={x:e.x,y:e.y,width:e.width,lowerWidth:e.width,upperWidth:e.width,height:e.height};return r4(r4({},t),{},{value:e.value,payload:e.payload,parentViewBox:e.parentViewBox,viewBox:t,fill:e.fill})});return l.createElement(yQ,{value:t?r:void 0},n)}function p4(e){var t=e.shape,n=e.activeBar,r=e.baseProps,i=e.entry,a=e.index,o=e.dataKey,s=q(wJ),c=q(EJ),u=n&&String(i.originalDataIndex)===s&&(c==null||o===c),d=s!=null&&(String(i.originalDataIndex)!==s||c!=null&&o!==c),f=Y2((0,l.useState)(!1),2),p=f[0],m=f[1],h=Y2((0,l.useState)(!1),2),g=h[0],_=h[1];(0,l.useEffect)(()=>{var e;return u?(m(!0),e=requestAnimationFrame(()=>{_(!0)})):(_(!1),d&&m(!1)),()=>{cancelAnimationFrame(e)}},[u,d]);var v=(0,l.useCallback)(()=>{u||m(!1)},[u]),y=u&&g,b=u||p,x=u?n===!0?t:n:t,S=l.createElement(w2,t4({},r,{name:String(r.name)},i,{isActive:y,option:x,index:a,dataKey:o,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance,onTransitionEnd:v}));return b?l.createElement(DY,{zIndex:vR.activeBar},l.createElement(W2,{index:i.originalDataIndex},S)):S}function m4(e){var t=e.shape,n=e.baseProps,r=e.entry,i=e.index,a=e.dataKey;return l.createElement(w2,t4({},n,{name:String(n.name)},r,{isActive:!1,option:t,index:i,dataKey:a,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function h4(e){var t=e.data,n=e.props,r=e.animationElapsedTime,i=e.isAnimating,a=e.isEntrance,o=rE(n)??{},s=o.id,c=s4(o,q2),u=n.shape,d=n.dataKey,f=n.activeBar,p=n.onMouseEnter,m=n.onClick,h=n.onMouseLeave,g=s4(n,J2),_=qQ(p,d,s),v=JQ(h),y=YQ(m,d,s);return t?l.createElement(l.Fragment,null,t.map((e,t)=>l.createElement(W2,t4({index:e.originalDataIndex,key:`rectangle-${e?.x}-${e?.y}-${e?.value}-${t}`,className:`recharts-bar-rectangle`},tO(g,e,t),{onMouseEnter:_(e,e.originalDataIndex),onMouseLeave:v(e,e.originalDataIndex),onClick:y(e,e.originalDataIndex)}),f?l.createElement(p4,{shape:u,activeBar:f,baseProps:c,entry:e,index:t,dataKey:d,animationElapsedTime:r,isAnimating:i,isEntrance:a}):l.createElement(m4,{shape:u,baseProps:c,entry:e,index:t,dataKey:d,animationElapsedTime:r,isAnimating:i,isEntrance:a})))):null}var g4=(e,t,n)=>e==null?[]:t===1?e.flatMap(e=>e.status===`removed`?[]:[e.next]):e.flatMap(e=>{if(e.status===`removed`)return n===`horizontal`?[r4(r4({},e.prev),{},{height:LE(e.prev.height,0,t),y:LE(e.prev.y,e.prev.y+e.prev.height,t)})]:[r4(r4({},e.prev),{},{width:LE(e.prev.width,0,t)})];if(e.status===`matched`)return[r4(r4({},e.next),{},{x:LE(e.prev.x,e.next.x,t),y:LE(e.prev.y,e.next.y,t),width:LE(e.prev.width,e.next.width,t),height:LE(e.prev.height,e.next.height,t)})];var r=e.next;return n===`horizontal`?[r4(r4({},r),{},{height:LE(0,r.height,t),y:LE(r.stackedBarStart,r.y,t)})]:[r4(r4({},r),{},{width:LE(0,r.width,t),x:LE(r.stackedBarStart,r.x,t)})]});function _4(e){var t=e.props,n=e.previousRectanglesRef,r=t.data,i=t.isAnimationActive,a=t.animationBegin,o=t.animationDuration,s=t.animationEasing,c=t.animationInterpolateFn,u=t.layout,d=y$(t.onAnimationStart,t.onAnimationEnd),f=d.isAnimating,p=d.handleAnimationStart,m=d.handleAnimationEnd;return l.createElement(f4,{showLabels:!f,rects:r},l.createElement(b$,{animationInput:r,animationIdPrefix:`recharts-bar-`,items:r,previousItemsRef:n,isAnimationActive:i,animationBegin:a,animationDuration:o,animationEasing:s,onAnimationStart:p,onAnimationEnd:m,animationInterpolateFn:c,animationMatchBy:t.animationMatchBy,layout:u},(e,n,r)=>l.createElement(hE,null,l.createElement(h4,{props:t,data:e,animationElapsedTime:n,isAnimating:f||n<1,isEntrance:r}))),l.createElement(wQ,{label:t.label}),t.children)}function v4(e){var t=(0,l.useRef)(null);return l.createElement(_4,{previousRectanglesRef:t,props:e})}var y4=0,b4=(e,t)=>{var n=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:n,errorVal:hM(e,t)}},x4=class extends l.PureComponent{render(){var e=this.props,t=e.hide,n=e.data,r=e.dataKey,i=e.className,a=e.xAxisId,o=e.yAxisId,s=e.needClip,c=e.background,u=e.id;if(t||n==null)return null;var d=ZT(`recharts-bar`,i),f=u;return l.createElement(hE,{className:d,id:u},s&&l.createElement(`defs`,null,l.createElement(h2,{clipPathId:f,xAxisId:a,yAxisId:o})),l.createElement(hE,{className:`recharts-bar-rectangles`,clipPath:s?`url(#clipPath-${f})`:void 0},l.createElement(d4,{data:n,dataKey:r,background:c,allOtherBarProps:this.props}),l.createElement(v4,this.props)))}},S4={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:`ease`,animationInterpolateFn:g4,animationMatchBy:a$,background:!1,hide:!1,isAnimationActive:`auto`,label:!1,legendType:`rect`,minPointSize:y4,shape:C2,xAxisId:0,yAxisId:0,zIndex:vR.bar};function C4(e){var t=e.xAxisId,n=e.yAxisId,r=e.hide,i=e.legendType,a=e.minPointSize,o=e.activeBar,s=e.animationBegin,c=e.animationDuration,u=e.animationEasing,d=e.isAnimationActive,f=m2(t,n).needClip,p=GN(),m=rN(),h=FQ(e.children,DX),g=q(t=>F2(t,e.id,m,h));if(p!==`vertical`&&p!==`horizontal`)return null;var _,v=g?.[0];return _=v==null||v.height==null||v.width==null?0:p===`vertical`?v.height/2:v.width/2,l.createElement(p2,{xAxisId:t,yAxisId:n,data:g,dataPointFormatter:b4,errorBarOffset:_},l.createElement(x4,t4({},e,{layout:p,needClip:f,data:g,xAxisId:t,yAxisId:n,hide:r,legendType:i,minPointSize:a,activeBar:o,animationBegin:s,animationDuration:c,animationEasing:u,isAnimationActive:d})))}function w4(e){var t=e.layout,n=e.barSettings,r=n.dataKey,i=n.minPointSize,a=n.hasCustomShape,o=e.pos,s=e.bandSize,c=e.xAxis,l=e.yAxis,u=e.xAxisTicks,d=e.yAxisTicks,f=e.stackedData,p=e.displayedData,m=e.offset,h=e.cells,g=e.parentViewBox,_=e.dataStartIndex,v=t===`horizontal`?l:c,y=f?v.scale.domain():null,b=TM({numericAxis:v}),x=v.scale.map(b);return p.map((e,n)=>{var p,v,S,C,w,T;if(f){var E=f[n+_];if(E==null)return null;p=bM(E,y)}else p=hM(e,r),Array.isArray(p)||(p=[b,p]);var D=T2(i,y4)(p[1],n);if(t===`horizontal`){var O=l.scale.map(p[0]),k=l.scale.map(p[1]);if(O==null||k==null)return null;v=wM({axis:c,ticks:u,bandSize:s,offset:o.offset,entry:e,index:n}),S=k??O??void 0,C=o.size;var A=O-k;if(w=AE(A)?0:A,T={x:v,y:m.top,width:C,height:m.height},Math.abs(D)>0&&Math.abs(w)<Math.abs(D)){var j=kE(w||D)*(Math.abs(D)-Math.abs(w));S-=j,w+=j}}else{var M=c.scale.map(p[0]),N=c.scale.map(p[1]);if(M==null||N==null)return null;if(v=M,S=wM({axis:l,ticks:d,bandSize:s,offset:o.offset,entry:e,index:n}),C=N-M,w=o.size,T={x:m.left,y:S,width:m.width,height:w},Math.abs(D)>0&&Math.abs(C)<Math.abs(D)){var ee=kE(C||D)*(Math.abs(D)-Math.abs(C));C+=ee}}return v==null||S==null||C==null||w==null||!a&&(C===0||w===0)?null:r4(r4({},e),{},{stackedBarStart:x,x:v,y:S,width:C,height:w,value:f?p:p[1],payload:e,background:T,tooltipPosition:{x:v+C/2,y:S+w/2},parentViewBox:g,originalDataIndex:n},h&&h[n]&&h[n].props)}).filter(Boolean)}function T4(e){var t=sO(e,S4),n=V2(t.stackId),r=rN();return l.createElement(A$,{id:t.id,type:`bar`},e=>l.createElement(l.Fragment,null,l.createElement(ZQ,{legendPayload:l4(t)}),l.createElement(u4,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:e}),l.createElement(L$,{type:`bar`,id:e,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:n,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:r,hasCustomShape:t.shape!=null&&t.shape!==C2}),l.createElement(DY,{zIndex:t.zIndex},l.createElement(C4,t4({},t,{id:e})))))}var E4=l.memo(T4,bP);E4.displayName=`Bar`;var D4=[`domain`,`range`],O4=[`domain`,`range`];function k4(e,t){if(e==null)return{};var n,r,i=A4(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function A4(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function j4(e,t){return e===t?!0:Array.isArray(e)&&e.length===2&&Array.isArray(t)&&t.length===2?e[0]===t[0]&&e[1]===t[1]:!1}function M4(e,t){if(e===t)return!0;var n=e.domain,r=e.range,i=k4(e,D4),a=t.domain,o=t.range,s=k4(t,O4);return!j4(n,a)||!j4(r,o)?!1:bP(i,s)}var N4=[`type`],P4=[`dangerouslySetInnerHTML`,`ticks`,`scale`],F4=[`id`,`scale`];function I4(){return I4=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},I4.apply(null,arguments)}function L4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function R4(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?L4(Object(n),!0).forEach(function(t){z4(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):L4(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function z4(e,t,n){return(t=B4(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function B4(e){var t=V4(e,`string`);return typeof t==`symbol`?t:t+``}function V4(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function H4(e,t){if(e==null)return{};var n,r,i=U4(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function U4(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function W4(e){var t=ok(),n=(0,l.useRef)(null),r=KN(),i=e.type,a=H4(e,N4),o=SR(r,`xAxis`,i),s=(0,l.useMemo)(()=>{if(o!=null)return R4(R4({},a),{},{type:o})},[a,o]);return(0,l.useLayoutEffect)(()=>{s!=null&&(n.current===null?t(G$(s)):n.current!==s&&t(K$({prev:n.current,next:s})),n.current=s)},[s,t]),(0,l.useLayoutEffect)(()=>()=>{n.current&&=(t(q$(n.current)),null)},[t]),null}var G4=e=>{var t=e.xAxisId,n=e.className,r=e.height,i=e.label,a=(0,l.useRef)(null),o=(0,l.useRef)(null),s=q(tN),c=rN(),u=ok(),d=`xAxis`,f=q(e=>$K(e,d,t,c)),p=q(e=>VK(e,t)),m=q(e=>KK(e,t)),h=q(e=>QW(e,t));if((0,l.useLayoutEffect)(()=>{if(!(r!==`auto`||!p||nQ(i)||(0,l.isValidElement)(i)||h==null)){var e=a.current;if(e){var n=e.getCalculatedHeight();Math.round(p.height)!==Math.round(n)&&u(Q$({id:t,height:n}))}}},[f,p,u,i,t,r,h]),p==null||m==null||h==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var g=H4(e,P4);h.id,h.scale;var _=H4(h,F4);return l.createElement(F0,I4({},g,_,{ref:a,labelRef:o,x:m.x,y:m.y,width:p.width,height:p.height,className:ZT(`recharts-${d} ${d}`,n),viewBox:s,ticks:f,axisType:d,axisId:t}))},K4={allowDataOverflow:ZW.allowDataOverflow,allowDecimals:ZW.allowDecimals,allowDuplicatedCategory:ZW.allowDuplicatedCategory,angle:ZW.angle,axisLine:E0.axisLine,height:ZW.height,hide:!1,includeHidden:ZW.includeHidden,interval:ZW.interval,label:!1,minTickGap:ZW.minTickGap,mirror:ZW.mirror,orientation:ZW.orientation,padding:ZW.padding,reversed:ZW.reversed,scale:ZW.scale,tick:ZW.tick,tickCount:ZW.tickCount,tickLine:E0.tickLine,tickSize:E0.tickSize,type:ZW.type,niceTicks:ZW.niceTicks,xAxisId:0},q4=l.memo(e=>{var t=sO(e,K4);return l.createElement(l.Fragment,null,l.createElement(W4,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),l.createElement(G4,t))},M4);q4.displayName=`XAxis`;var J4=[`type`],Y4=[`dangerouslySetInnerHTML`,`ticks`,`scale`],X4=[`id`,`scale`];function Z4(){return Z4=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Z4.apply(null,arguments)}function Q4(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function $4(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Q4(Object(n),!0).forEach(function(t){e3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Q4(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function e3(e,t,n){return(t=t3(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t3(e){var t=n3(e,`string`);return typeof t==`symbol`?t:t+``}function n3(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function r3(e,t){if(e==null)return{};var n,r,i=i3(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function i3(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function a3(e){var t=ok(),n=(0,l.useRef)(null),r=KN(),i=e.type,a=r3(e,J4),o=SR(r,`yAxis`,i),s=(0,l.useMemo)(()=>{if(o!=null)return $4($4({},a),{},{type:o})},[o,a]);return(0,l.useLayoutEffect)(()=>{s!=null&&(n.current===null?t(J$(s)):n.current!==s&&t(Y$({prev:n.current,next:s})),n.current=s)},[s,t]),(0,l.useLayoutEffect)(()=>()=>{n.current&&=(t(X$(n.current)),null)},[t]),null}function o3(e){var t=e.yAxisId,n=e.className,r=e.width,i=e.label,a=(0,l.useRef)(null),o=(0,l.useRef)(null),s=q(tN),c=rN(),u=ok(),d=`yAxis`,f=q(e=>JK(e,t)),p=q(e=>qK(e,t)),m=q(e=>$K(e,d,t,c)),h=q(e=>tG(e,t));if((0,l.useLayoutEffect)(()=>{if(!(r!==`auto`||!f||nQ(i)||(0,l.isValidElement)(i)||h==null)){var e=a.current;if(e){var n=e.getCalculatedWidth();Math.round(f.width)!==Math.round(n)&&u(Z$({id:t,width:n}))}}},[m,f,u,i,t,r,h]),f==null||p==null||h==null)return null;e.dangerouslySetInnerHTML,e.ticks,e.scale;var g=r3(e,Y4);h.id,h.scale;var _=r3(h,X4);return l.createElement(F0,Z4({},g,_,{ref:a,labelRef:o,x:p.x,y:p.y,tickTextProps:r===`auto`?{width:void 0}:{width:r},width:f.width,height:f.height,className:ZT(`recharts-${d} ${d}`,n),viewBox:s,ticks:m,axisType:d,axisId:t}))}var s3={allowDataOverflow:eG.allowDataOverflow,allowDecimals:eG.allowDecimals,allowDuplicatedCategory:eG.allowDuplicatedCategory,angle:eG.angle,axisLine:E0.axisLine,hide:!1,includeHidden:eG.includeHidden,interval:eG.interval,label:!1,minTickGap:eG.minTickGap,mirror:eG.mirror,orientation:eG.orientation,padding:eG.padding,reversed:eG.reversed,scale:eG.scale,tick:eG.tick,tickCount:eG.tickCount,tickLine:E0.tickLine,tickSize:E0.tickSize,type:eG.type,niceTicks:eG.niceTicks,width:eG.width,yAxisId:0},c3=l.memo(e=>{var t=sO(e,s3);return l.createElement(l.Fragment,null,l.createElement(a3,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),l.createElement(o3,t))},M4);c3.displayName=`YAxis`;var l3=J([(e,t)=>t,WN,RR,qR,_J,yJ,ZJ,$M],lY);function u3(e){return`getBBox`in e.currentTarget&&typeof e.currentTarget.getBBox==`function`}function d3(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(u3(e)){var i=e.currentTarget.getBBox();n=i.width>0?t.width/i.width:1,r=i.height>0?t.height/i.height:1}else{var a=e.currentTarget;n=a.offsetWidth>0?t.width/a.offsetWidth:1,r=a.offsetHeight>0?t.height/a.offsetHeight:1}var o=(e,i)=>({relativeX:Math.round((e-t.left)/n),relativeY:Math.round((i-t.top)/r)});return`touches`in e?Array.from(e.touches).map(e=>o(e.clientX,e.clientY)):o(e.clientX,e.clientY)}var f3=GA(`mouseClick`),p3=$j();p3.startListening({actionCreator:f3,effect:(e,t)=>{var n=e.payload,r=l3(t.getState(),d3(n));r?.activeIndex!=null&&t.dispatch(Sq({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var m3=GA(`mouseMove`),h3=$j(),g3=null,_3=null,v3=null;h3.startListening({actionCreator:m3,effect:(e,t)=>{var n=e.payload,r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a?.includes(`mousemove`);g3!==null&&(cancelAnimationFrame(g3),g3=null),_3!==null&&(typeof i!=`number`||!o)&&(clearTimeout(_3),_3=null),v3=d3(n);var s=()=>{var e=t.getState(),n=oq(e,e.tooltip.settings.shared);if(!v3){g3=null,_3=null;return}if(n===`axis`){var r=l3(e,v3);r?.activeIndex==null?t.dispatch(yq()):t.dispatch(xq({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}g3=null,_3=null};if(!o){s();return}i===`raf`?g3=requestAnimationFrame(s):typeof i==`number`&&_3===null&&(_3=setTimeout(s,i))}});function y3(e,t){return t instanceof HTMLElement?`HTMLElement <${t.tagName} class="${t.className}">`:t===window?`global.window`:e===`children`&&typeof t==`object`&&t?`<<CHILDREN>>`:t}var b3={accessibilityLayer:!0,barCategoryGap:`10%`,barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:`none`,syncId:void 0,syncMethod:`index`,baseValue:void 0,reverseStackOrder:!1},x3=pj({name:`rootProps`,initialState:b3,reducers:{updateOptions:(e,t)=>{e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=t.payload.barGap??b3.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),S3=x3.reducer,C3=x3.actions.updateOptions,w3=pj({name:`polarOptions`,initialState:null,reducers:{updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)}});w3.actions.updatePolarOptions;var T3=w3.reducer,E3=GA(`keyDown`),D3=GA(`focus`),O3=GA(`blur`),k3=$j(),A3=null,j3=null,M3=null;k3.startListening({actionCreator:E3,effect:(e,t)=>{M3=e.payload,A3!==null&&(cancelAnimationFrame(A3),A3=null);var n=t.getState().eventSettings,r=n.throttleDelay,i=n.throttledEvents,a=i===`all`||i.includes(`keydown`);j3!==null&&(typeof r!=`number`||!a)&&(clearTimeout(j3),j3=null);var o=()=>{try{var e=t.getState();if(e.rootProps.accessibilityLayer===!1)return;var n=e.tooltip.keyboardInteraction,r=M3;if(r!==`ArrowRight`&&r!==`ArrowLeft`&&r!==`Enter`)return;var i=Lq(n,aJ(e),NG(e),mJ(e)),a=i==null?-1:Number(i),o=!Number.isFinite(a)||a<0,s=yJ(e),c=aJ(e),l=oq(e,e.tooltip.settings.shared);if(r===`Enter`){if(o)return;var u=nY(e,l,`hover`,String(n.index));t.dispatch(wq({active:!n.active,activeIndex:n.index,activeCoordinate:u}));return}var d=nq(e)===`left-to-right`?1:-1,f=r===`ArrowRight`?1:-1,p;if(o){var m=NG(e),h=mJ(e),g=f*d,_=e=>({active:!1,index:String(e),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(p=-1,g>0){for(var v=0;v<c.length;v++)if(Lq(_(v),c,m,h)!=null){p=v;break}}else for(var y=c.length-1;y>=0;y--)if(Lq(_(y),c,m,h)!=null){p=y;break}if(p<0)return}else{p=a+f*d;var b=s?.length||c.length;if(b===0||p>=b||p<0)return}var x=nY(e,l,`hover`,String(p));t.dispatch(wq({active:!0,activeIndex:p.toString(),activeCoordinate:x}))}finally{A3=null,j3=null}};if(!a){o();return}r===`raf`?A3=requestAnimationFrame(o):typeof r==`number`&&j3===null&&(o(),M3=null,j3=setTimeout(()=>{M3?o():(j3=null,A3=null)},r))}}),k3.startListening({actionCreator:D3,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var r=n.tooltip.keyboardInteraction;if(!r.active&&r.index==null){var i=`0`,a=nY(n,oq(n,n.tooltip.settings.shared),`hover`,String(i));t.dispatch(wq({active:!0,activeIndex:i,activeCoordinate:a}))}}}}),k3.startListening({actionCreator:O3,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var r=n.tooltip.keyboardInteraction;r.active&&t.dispatch(wq({active:!1,activeIndex:r.index,activeCoordinate:r.coordinate}))}}});function N3(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(e,n)=>{if(n===`currentTarget`)return t;var r=Reflect.get(e,n);return typeof r==`function`?r.bind(e):r}})}var P3=GA(`externalEvent`),F3=$j(),I3=new Map,L3=new Map,R3=new Map;F3.startListening({actionCreator:P3,effect:(e,t)=>{var n=e.payload,r=n.handler,i=n.reactEvent;if(r!=null){var a=i.type,o=N3(i);R3.set(a,{handler:r,reactEvent:o});var s=I3.get(a);s!==void 0&&(cancelAnimationFrame(s),I3.delete(a));var c=t.getState().eventSettings,l=c.throttleDelay,u=c.throttledEvents,d=u===`all`||u?.includes(a),f=L3.get(a);f!==void 0&&(typeof l!=`number`||!d)&&(clearTimeout(f),L3.delete(a));var p=()=>{var e=R3.get(a);try{if(!e)return;var n=e.handler,r=e.reactEvent,i=t.getState(),o={activeCoordinate:kJ(i),activeDataKey:EJ(i),activeIndex:wJ(i),activeLabel:TJ(i),activeTooltipIndex:wJ(i),isTooltipActive:AJ(i)};n&&n(o,r)}finally{I3.delete(a),L3.delete(a),R3.delete(a)}};if(!d){p();return}if(l===`raf`){var m=requestAnimationFrame(p);I3.set(a,m)}else if(typeof l==`number`){if(!L3.has(a)){p();var h=setTimeout(p,l);L3.set(a,h)}}else p()}}});var z3=J([J([Vq],e=>e.tooltipItemPayloads),(e,t)=>t,(e,t,n)=>n],(e,t,n)=>{if(t!=null){var r=e.find(e=>e.settings.graphicalItemId===n);if(r!=null){var i=r.getPosition;if(i!=null)return i(t)}}}),B3=GA(`touchMove`),V3=$j(),H3=null,U3=null,W3=null,G3=null;V3.startListening({actionCreator:B3,effect:(e,t)=>{var n=e.payload;if(n.touches!=null&&n.touches.length!==0){G3=N3(n);var r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a.includes(`touchmove`);H3!==null&&(cancelAnimationFrame(H3),H3=null),U3!==null&&(typeof i!=`number`||!o)&&(clearTimeout(U3),U3=null),W3=Array.from(n.touches).map(e=>d3({clientX:e.clientX,clientY:e.clientY,currentTarget:n.currentTarget}));var s=()=>{if(G3!=null){var e=t.getState(),n=oq(e,e.tooltip.settings.shared);if(n===`axis`){var r=W3?.[0];if(r==null){H3=null,U3=null;return}var i=l3(e,r);i?.activeIndex!=null&&t.dispatch(xq({activeIndex:i.activeIndex,activeDataKey:void 0,activeCoordinate:i.activeCoordinate}))}else if(n===`item`){var a=G3.touches[0];if(document.elementFromPoint==null||a==null)return;var o=document.elementFromPoint(a.clientX,a.clientY);if(!o||!o.getAttribute)return;var s=o.getAttribute(HM),c=o.getAttribute(`data-recharts-item-id`)??void 0,l=tJ(e).find(e=>e.id===c);if(s==null||l==null||c==null)return;var u=l.dataKey,d=z3(e,s,c);t.dispatch(_q({activeDataKey:u,activeIndex:s,activeCoordinate:d,activeGraphicalItemId:c}))}H3=null,U3=null}};if(!o){s();return}i===`raf`?H3=requestAnimationFrame(s):typeof i==`number`&&U3===null&&(s(),G3=null,U3=setTimeout(()=>{G3?s():(U3=null,H3=null)},i))}}});var K3={throttleDelay:`raf`,throttledEvents:[`mousemove`,`touchmove`,`pointermove`,`scroll`,`wheel`]},q3=pj({name:`eventSettings`,initialState:K3,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=Y(t.payload.throttledEvents))}}}),J3=q3.actions.setEventSettings,Y3=q3.reducer,X3=Dk({brush:C1,cartesianAxis:$$,chartData:QY,errorBars:c2,eventSettings:Y3,graphicalItems:I$,layout:sM,legend:tP,options:GY,polarAxis:DQ,polarOptions:T3,referenceElements:O1,renderedTicks:u0,rootProps:S3,tooltip:Tq,zIndex:EY}),Z3=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`Chart`;return rj({reducer:X3,preloadedState:e,middleware:e=>e({serializableCheck:!1,immutableCheck:![`commonjs`,`es6`,`production`].includes(`es6`)}).concat([p3.middleware,h3.middleware,k3.middleware,F3.middleware,V3.middleware]),enhancers:e=>{var t=e;return typeof e==`function`&&(t=e()),t.concat(tj({type:`raf`}))},devTools:UP.devToolsEnabled&&{serialize:{replacer:y3},name:`recharts-${t}`}})};function Q3(e){var t=e.preloadedState,n=e.children,r=e.reduxStoreName,i=rN(),a=(0,l.useRef)(null);if(i)return n;a.current??=Z3(t,r);var o=ak;return l.createElement(_P,{context:o,store:a.current},n)}function $3(e){var t=e.layout,n=e.margin,r=ok(),i=rN();return(0,l.useEffect)(()=>{i||(r(iM(t)),r(rM(n)))},[r,i,t,n]),null}var e6=(0,l.memo)($3,bP);function t6(e){var t=ok();return(0,l.useEffect)(()=>{t(C3(e))},[t,e]),null}var n6=(0,l.memo)(e=>{var t=ok();return(0,l.useEffect)(()=>{t(J3(e))},[t,e]),null},bP);function r6(e){var t=e.zIndex,n=e.isPanorama,r=(0,l.useRef)(null),i=ok();return(0,l.useLayoutEffect)(()=>(r.current&&i(wY({zIndex:t,element:r.current,isPanorama:n})),()=>{i(TY({zIndex:t,isPanorama:n}))}),[i,t,n]),l.createElement(`g`,{tabIndex:-1,ref:r,className:`recharts-zIndex-layer_${t}`})}function i6(e){var t=e.children,n=e.isPanorama,r=q(dY);if(!r||r.length===0)return t;var i=r.filter(e=>e<0),a=r.filter(e=>e>0);return l.createElement(l.Fragment,null,i.map(e=>l.createElement(r6,{key:e,zIndex:e,isPanorama:n})),t,a.map(e=>l.createElement(r6,{key:e,zIndex:e,isPanorama:n})))}var a6=[`children`];function o6(e,t){if(e==null)return{};var n,r,i=s6(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function s6(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function c6(){return c6=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c6.apply(null,arguments)}var l6={width:`100%`,height:`100%`,display:`block`},u6=(0,l.forwardRef)((e,t)=>{var n=HN(),r=UN(),i=dF();if(!lM(n)||!lM(r))return null;var a=e.children,o=e.otherAttributes,s=e.title,c=e.desc,u,d;return o!=null&&(u=typeof o.tabIndex==`number`?o.tabIndex:i?0:void 0,d=typeof o.role==`string`?o.role:i?`application`:void 0),l.createElement(uE,c6({},o,{title:s,desc:c,role:d,tabIndex:u,width:n,height:r,style:l6,ref:t}),a)}),d6=e=>{var t=e.children,n=q(aN);if(!n)return null;var r=n.width,i=n.height,a=n.y,o=n.x;return l.createElement(uE,{width:r,height:i,x:o,y:a},t)},f6=(0,l.forwardRef)((e,t)=>{var n=e.children,r=o6(e,a6);return rN()?l.createElement(d6,null,l.createElement(i6,{isPanorama:!0},n)):l.createElement(u6,c6({ref:t},r),l.createElement(i6,{isPanorama:!1},n))});function p6(e,t){return v6(e)||_6(e,t)||h6(e,t)||m6()}function m6(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
60
60
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function h6(e,t){if(e){if(typeof e==`string`)return g6(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?g6(e,t):void 0}}function g6(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function _6(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function v6(e){if(Array.isArray(e))return e}function y6(){var e=ok(),t=p6((0,l.useState)(null),2),n=t[0],r=t[1],i=q(RM);return(0,l.useEffect)(()=>{if(n!=null){var t=n.getBoundingClientRect().width/n.offsetWidth;X(t)&&t!==i&&e(oM(t))}},[n,e,i]),r}function b6(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function x6(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?b6(Object(n),!0).forEach(function(t){S6(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):b6(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function S6(e,t,n){return(t=C6(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C6(e){var t=w6(e,`string`);return typeof t==`symbol`?t:t+``}function w6(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function T6(){return T6=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},T6.apply(null,arguments)}function E6(e,t){return j6(e)||A6(e,t)||O6(e,t)||D6()}function D6(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
61
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function O6(e,t){if(e){if(typeof e==`string`)return k6(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k6(e,t):void 0}}function k6(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function A6(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function j6(e){if(Array.isArray(e))return e}var M6=()=>(lX(),null);function N6(e){if(typeof e==`number`)return e;if(typeof e==`string`){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var P6=(0,l.forwardRef)((e,t)=>{var n=(0,l.useRef)(null),r=E6((0,l.useState)({containerWidth:N6(e.style?.width),containerHeight:N6(e.style?.height)}),2),i=r[0],a=r[1],o=(0,l.useCallback)((e,t)=>{a(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),s=(0,l.useCallback)(e=>{if(typeof t==`function`&&t(e),n.current!=null&&(n.current.disconnect(),n.current=null),e!=null&&typeof ResizeObserver<`u`){var r=e.getBoundingClientRect(),i=r.width,a=r.height;o(i,a);var s=new ResizeObserver(e=>{var t=e[0];if(t!=null){var n=t.contentRect,r=n.width,i=n.height;o(r,i)}});s.observe(e),n.current=s}},[t,o]);return(0,l.useEffect)(()=>()=>{n.current?.disconnect()},[o]),l.createElement(l.Fragment,null,l.createElement(YN,{width:i.containerWidth,height:i.containerHeight}),l.createElement(`div`,T6({ref:s},e)))}),F6=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=E6((0,l.useState)({containerWidth:N6(n),containerHeight:N6(r)}),2),a=i[0],o=i[1],s=(0,l.useCallback)((e,t)=>{o(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),c=(0,l.useCallback)(e=>{if(typeof t==`function`&&t(e),e!=null){var n=e.getBoundingClientRect(),r=n.width,i=n.height;s(r,i)}},[t,s]);return l.createElement(l.Fragment,null,l.createElement(YN,{width:a.containerWidth,height:a.containerHeight}),l.createElement(`div`,T6({ref:c},e)))}),I6=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height;return l.createElement(l.Fragment,null,l.createElement(YN,{width:n,height:r}),l.createElement(`div`,T6({ref:t},e)))}),L6=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height;return typeof n==`string`||typeof r==`string`?l.createElement(F6,T6({},e,{ref:t})):typeof n==`number`&&typeof r==`number`?l.createElement(I6,T6({},e,{width:n,height:r,ref:t})):l.createElement(l.Fragment,null,l.createElement(YN,{width:n,height:r}),l.createElement(`div`,T6({ref:t},e)))});function R6(e){return e?P6:L6}var z6=(0,l.forwardRef)((e,t)=>{var n=e.children,r=e.className,i=e.height,a=e.onClick,o=e.onContextMenu,s=e.onDoubleClick,c=e.onMouseDown,u=e.onMouseEnter,d=e.onMouseLeave,f=e.onMouseMove,p=e.onMouseUp,m=e.onTouchEnd,h=e.onTouchMove,g=e.onTouchStart,_=e.style,v=e.width,y=e.responsive,b=e.dispatchTouchEvents,x=b===void 0||b,S=(0,l.useRef)(null),C=ok(),w=E6((0,l.useState)(null),2),T=w[0],E=w[1],D=E6((0,l.useState)(null),2),O=D[0],k=D[1],A=y6(),j=IN(),M=j?.width>0?j.width:v,N=j?.height>0?j.height:i,ee=(0,l.useCallback)(e=>{A(e),typeof t==`function`&&t(e),E(e),k(e),e!=null&&(S.current=e)},[A,t,E,k]),te=(0,l.useCallback)(e=>{C(f3(e)),C(P3({handler:a,reactEvent:e}))},[C,a]),ne=(0,l.useCallback)(e=>{C(m3(e)),C(P3({handler:u,reactEvent:e}))},[C,u]),re=(0,l.useCallback)(e=>{C(yq()),C(P3({handler:d,reactEvent:e}))},[C,d]),ie=(0,l.useCallback)(e=>{C(m3(e)),C(P3({handler:f,reactEvent:e}))},[C,f]),ae=(0,l.useCallback)(()=>{C(D3())},[C]),oe=(0,l.useCallback)(()=>{C(O3())},[C]),se=(0,l.useCallback)(e=>{C(E3(e.key))},[C]),ce=(0,l.useCallback)(e=>{C(P3({handler:o,reactEvent:e}))},[C,o]),le=(0,l.useCallback)(e=>{C(P3({handler:s,reactEvent:e}))},[C,s]),ue=(0,l.useCallback)(e=>{C(P3({handler:c,reactEvent:e}))},[C,c]),P=(0,l.useCallback)(e=>{C(P3({handler:p,reactEvent:e}))},[C,p]),de=(0,l.useCallback)(e=>{C(P3({handler:g,reactEvent:e}))},[C,g]),fe=(0,l.useCallback)(e=>{x&&C(B3(e)),C(P3({handler:h,reactEvent:e}))},[C,x,h]),pe=(0,l.useCallback)(e=>{C(P3({handler:m,reactEvent:e}))},[C,m]),me=R6(y);return l.createElement(LY.Provider,{value:T},l.createElement(QE.Provider,{value:O},l.createElement(me,{width:M??_?.width,height:N??_?.height,className:ZT(`recharts-wrapper`,r),style:x6({position:`relative`,cursor:`default`,width:M,height:N},_),onClick:te,onContextMenu:ce,onDoubleClick:le,onFocus:ae,onBlur:oe,onKeyDown:se,onMouseDown:ue,onMouseEnter:ne,onMouseLeave:re,onMouseMove:ie,onMouseUp:P,onTouchEnd:pe,onTouchMove:fe,onTouchStart:de,ref:ee},l.createElement(M6,null),n)))}),B6=[`width`,`height`,`responsive`,`children`,`className`,`style`,`compact`,`title`,`desc`];function V6(e,t){if(e==null)return{};var n,r,i=H6(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function H6(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var U6=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=e.responsive,a=e.children,o=e.className,s=e.style,c=e.compact,u=e.title,d=e.desc,f=rE(V6(e,B6));return c?l.createElement(l.Fragment,null,l.createElement(YN,{width:n,height:r}),l.createElement(f6,{otherAttributes:f,title:u,desc:d},a)):l.createElement(z6,{className:o,style:s,width:n,height:r,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},l.createElement(f6,{otherAttributes:f,title:u,desc:d,ref:t},l.createElement(I1,null,a)))});function W6(){return W6=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},W6.apply(null,arguments)}function G6(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function K6(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?G6(Object(n),!0).forEach(function(t){q6(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):G6(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function q6(e,t,n){return(t=J6(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function J6(e){var t=Y6(e,`string`);return typeof t==`symbol`?t:t+``}function Y6(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var X6=K6({accessibilityLayer:!0,barCategoryGap:`10%`,barGap:4,layout:`horizontal`,margin:{top:5,right:5,bottom:5,left:5},responsive:!1,reverseStackOrder:!1,stackOffset:`none`,syncMethod:`index`},K3),Z6=(0,l.forwardRef)(function(e,t){var n=sO(e.categoricalChartProps,X6),r=e.chartName,i=e.defaultTooltipEventType,a=e.validateTooltipEventTypes,o=e.tooltipPayloadSearcher,s=e.categoricalChartProps,c={chartName:r,defaultTooltipEventType:i,validateTooltipEventTypes:a,tooltipPayloadSearcher:o,eventEmitter:void 0};return l.createElement(Q3,{preloadedState:{options:c},reduxStoreName:s.id??r},l.createElement(b1,{chartData:s.data}),l.createElement(e6,{layout:n.layout,margin:n.margin}),l.createElement(n6,{throttleDelay:n.throttleDelay,throttledEvents:n.throttledEvents}),l.createElement(t6,{baseValue:n.baseValue,accessibilityLayer:n.accessibilityLayer,barCategoryGap:n.barCategoryGap,maxBarSize:n.maxBarSize,stackOffset:n.stackOffset,barGap:n.barGap,barSize:n.barSize,syncId:n.syncId,syncMethod:n.syncMethod,className:n.className,reverseStackOrder:n.reverseStackOrder}),l.createElement(U6,W6({},n,{ref:t})))}),Q6=[`axis`,`item`],$6=(0,l.forwardRef)((e,t)=>l.createElement(Z6,{chartName:`BarChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:Q6,tooltipPayloadSearcher:UY,categoricalChartProps:e,ref:t})),e8={fontSize:11,fill:`var(--muted-foreground)`},t8=({title:e=`Orders created`,noun:t=`orders`,defaultGranularity:n=`day`,data:r,granularity:i,onGranularityChange:a,periodLabel:o,className:s})=>{let[c,u]=(0,l.useState)(n),d=i??c,f=a??u,p=r??KT(d),m=_n(`(min-width: 640px)`),h=JT(p);return(0,I.jsxs)(`section`,{className:F(`rounded-lg border bg-background px-4 pb-2 pt-3`,s),children:[(0,I.jsxs)(`header`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,I.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,I.jsx)(`h2`,{className:`text-[13px] font-semibold`,children:e}),(0,I.jsx)(`span`,{className:`text-[13px] font-semibold tabular-nums`,children:mv(qT(p))}),(0,I.jsxs)(`span`,{className:F(`text-xs font-medium tabular-nums`,h>=0?`text-success-text`:`text-danger-text`),children:[h>=0?`+`:`−`,Math.abs(h).toFixed(1),`%`]}),(0,I.jsx)(`span`,{className:`hidden text-xs text-muted-foreground sm:inline`,children:o??`last ${d===`day`?`30 days`:`12 weeks`}`})]}),(0,I.jsx)(MT,{value:d,onChange:f,options:[{value:`day`,label:`Day`},{value:`week`,label:`Week`}]})]}),(0,I.jsx)(`div`,{className:`mt-2 h-24`,children:(0,I.jsx)(RN,{width:`100%`,height:`100%`,children:(0,I.jsxs)($6,{data:p,margin:{top:4,right:0,bottom:0,left:0},barCategoryGap:d===`day`?`22%`:`30%`,children:[(0,I.jsx)(a2,{vertical:!1,stroke:`var(--border)`}),(0,I.jsx)(q4,{dataKey:`at`,padding:{left:4,right:m?4:18},tickFormatter:Dd,tick:e8,axisLine:!1,tickLine:!1,interval:d===`day`?m?4:9:m?1:3,height:18}),(0,I.jsx)(c3,{width:m?36:28,tick:e8,axisLine:!1,tickLine:!1,tickCount:3}),(0,I.jsx)(EX,{cursor:{fill:`var(--muted)`},content:(0,I.jsx)(YT,{noun:t}),isAnimationActive:!1}),(0,I.jsx)(E4,{dataKey:`count`,fill:`var(--primary)`,radius:[2,2,0,0],isAnimationActive:!1})]})})})]})},n8={"7d":`last 7 days`,"30d":`last 30 days`,"90d":`last 90 days`,"1y":`last year`,all:`all time`},r8=({resource:e,chart:t,title:n,noun:r,filter:i})=>{let[a,o]=(0,l.useState)(t.granularity===`week`?`week`:`day`),s=a===`week`?`90d`:t.range,c=zT(e,{field:t.field,range:s,granularity:a,filter:i}).data?.points.map(e=>({at:Date.parse(`${e.bucket}Z`),count:e.count}))??[];return(0,I.jsx)(t8,{title:n,noun:r,data:c,granularity:a,onGranularityChange:o,periodLabel:a===`week`?`last 12 weeks`:n8[s]})},i8=({value:e,onCommit:t,placeholder:n,className:r})=>{let[i,a]=(0,l.useState)(e);return(0,l.useEffect)(()=>a(e),[e]),(0,l.useEffect)(()=>{if(i===e)return;let n=setTimeout(()=>t(i),350);return()=>clearTimeout(n)},[i,e,t]),(0,I.jsx)(er,{wrapperClassName:F(`min-w-0 flex-1 sm:w-72 sm:flex-initial`,r),leading:(0,I.jsx)(kt,{className:`size-4`}),placeholder:n,"aria-label":`Search`,value:i,onChange:e=>a(e.target.value),onKeyDown:e=>e.key===`Enter`&&t(i)})},a8=(e,t,n,r)=>e.map(e=>{let i=t.fields[e.id],a=i&&N_(r,i,n?.fields[e.id]);return a?{...e,render:t=>(0,I.jsx)(I_,{shown:a,part:`cell`,field:i,value:t[e.id],fallback:Cv(e,e.value?e.value(t):t[e.id])})}:e}),o8=Lo(),s8=e=>e.find(e=>e.kind===`search`),c8=({address:e})=>{let{resources:t}=G(),n=t[e.resource];return n?(0,I.jsx)(l8,{model:n,address:e}):(0,I.jsxs)(Cg,{title:`Not found`,children:[`There is no resource called `,e.resource,`.`]})},l8=({model:e,address:t})=>{let n=G(),{set:r,go:i}=Qg(),a=e.name,o=n.views[a],s=(0,l.useMemo)(()=>Uw(o,e),[o,e]),{fields:c}=wh(),u=(0,l.useMemo)(()=>a8(bw(e,o),e,o,c),[e,o,c]),d=t.filter,f=(0,l.useMemo)(()=>Rw(s,d),[s,d]),p=f.ok?f.state:VC,m=f.ok?f.extras:[],{orderBy:h,filterLayout:g}=t,_=vn(),[v,y]=(0,l.useState)(!1),b=Xw({model:e,resources:n.resources,views:n.views,view:o,state:p,extras:m}),x=(0,l.useMemo)(()=>Hg(e,o,u.map(e=>e.id)),[e,o,u]),S=$w({resources:n.resources,views:n.views,model:e,columns:x,filter:f.ok?d:``,orderBy:h}),C=Lg(o,t.display),w=LT(e,S.page,S.key,C!==void 0),T=th(e,o),E=e=>({key:e.id,title:String(typeof e[T]==`object`?e[T].name:e[T]??e.id),etag:typeof e.etag==`string`?e.etag:void 0,snapshot:e}),D=o?.names?.singular??W(a),O=Eg(a),{state:k}=B(),A=sT({model:e,view:o,restore:cT(e),onReview:e=>i({kind:`record`,resource:a,key:e.key})}),j=(e,t=m)=>r({filter:jw(s,e,t)}),M=s8(m),N=e=>{let t=m.filter(e=>e.kind!==`search`);j(p,e?[...t,o8.search(e)]:t)},ee=o?.names?.plural??W(a),te=C&&(0,I.jsx)(IT,{model:e,view:o,display:C,orderBy:h,onChange:e=>r({orderBy:e})}),ne=e.search?.length?(0,I.jsx)(i8,{value:M?.kind===`search`?M.text:``,onCommit:N,placeholder:`Search ${ee.toLowerCase()}`,className:_?void 0:`min-h-11`}):null,re=(0,I.jsx)(uw,{layout:g,config:b,value:p,onChange:j,leading:g===`bar`?te:void 0,trailing:ne}),ie=g===`bar`?re:(0,I.jsx)(ZC,{groups:[te?[te]:[]],trailing:ne}),ae=KC(b,p),oe=(0,I.jsx)(RC,{scroll:!0,chips:ae,onRemove:e=>j(qC(p,e)),onClear:()=>j(VC)}),se=C&&(0,I.jsx)(YC,{title:`Sort`,children:(0,I.jsx)(IT,{model:e,view:o,display:C,orderBy:h,onChange:e=>r({orderBy:e}),className:`min-h-11 w-full`})}),ce=(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,I.jsxs)(V,{className:`min-h-11`,onClick:()=>y(!0),"aria-haspopup":`dialog`,children:[(0,I.jsx)(Vt,{className:`size-3.5`}),`Filters`,ae.length>0&&` (${ae.length})`]}),ne??(0,I.jsx)(`div`,{className:`min-w-0 flex-1`,children:oe})]}),ne&&oe,(0,I.jsx)(eT,{title:`Filters`,open:v,onClose:()=>y(!1),children:(0,I.jsx)(uw,{layout:`panel`,fullWidth:!0,config:b,value:p,onChange:j,leading:se})})]}),le=B_(O,`create`)&&(0,I.jsxs)(V,{variant:`primary`,onClick:()=>i({kind:`create`,resource:a}),children:[(0,I.jsx)(xt,{className:`size-3.5`}),`New `,D.toLowerCase()]}),ue=e=>(0,I.jsx)(PT,{view:o,value:C?.name??`table`,onChange:e=>r({display:e}),menu:e}),P=t=>i({kind:`record`,resource:a,key:rh(e,t)}),de=S.source?(0,I.jsx)(IC,{columns:u,source:S.source,sort:qg(h),onSortChange:e=>r({orderBy:Jg(e)}),onOpenRow:P,rowActions:[{label:`Open ${D.toLowerCase()}`,onSelect:P},...B_(O,`delete`)?[{label:`Delete`,destructive:!0,available:e=>V_(e,`delete`),onSelect:e=>void A.start(E(e))}]:[]],bulkActions:B_(O,`delete`)?[{label:e=>`Delete ${e}`,destructive:!0,onRun:e=>A.startBulk(e.map(E))}]:[],rowNumbers:!1,pinKey:k.kind===`signed-in`?sv(k.user.id,a):void 0,className:`min-h-0 flex-1`}):(0,I.jsx)(`div`,{className:`flex-1 rounded-lg border bg-surface`}),fe=C?C.kind===`cards`?(0,I.jsx)(CT,{model:e,view:o,display:C,list:w}):(0,I.jsx)(OT,{display:C,list:w}):de;return(0,I.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 px-5 py-4`,children:[A.dialogs,(0,I.jsx)(fd,{title:ee,subtitle:o?.help,aside:!_&&ue(!0),actions:_?(0,I.jsxs)(I.Fragment,{children:[ue(!1),le]}):le}),!f.ok&&(0,I.jsx)(D_,{title:`The filter in the address could not be read`,error:Error(f.errors.map(e=>e.message).join(`; `))}),S.error&&!C&&(0,I.jsx)(D_,{title:`Could not load rows`,error:S.error}),o?.chart&&(0,I.jsx)(r8,{resource:a,chart:o.chart,title:`${ee} created`,noun:ee.toLowerCase(),filter:f.ok?d:``}),_?ie:ce,_&&g===`panel`?(0,I.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-4`,children:[re,fe]}):fe]})},u8=({roles:e,selected:t,grantable:n,disabled:r,onChange:i})=>(0,I.jsx)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-2`,children:e.filter(e=>e.membership).map(e=>{let a=t.includes(e.name),o=r||!n.has(e.name);return(0,I.jsxs)(`label`,{title:o&&!r?`You cannot give or take away this role`:void 0,className:F(`inline-flex items-center gap-1.5 text-[13px]`,o&&`text-muted-foreground`),children:[(0,I.jsx)(Jm,{checked:a,label:e.label,onChange:o?void 0:n=>i(n?[...t,e.name]:t.filter(t=>t!==e.name)),className:F(o&&`cursor-default opacity-60`)}),e.label]},e.name)})}),d8=e=>e?.role===`owner`?[`owner`,`admin`,`member`]:[`admin`,`member`],f8=({member:e,current:t,onChanged:n})=>{let{session:r,organizations:i}=B(),a=t.organization.id,{busy:o,error:s,run:c}=Ym(),l=i?.roles??[],u=e.id===t.memberId,d=d8(t),f=e.role===`owner`&&t.role!==`owner`;return(0,I.jsxs)(`li`,{className:`flex flex-col gap-2 px-3 py-3`,children:[(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,I.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,I.jsxs)(`span`,{className:`block truncate text-[13px] font-medium`,children:[e.name,u&&` (you)`]}),(0,I.jsx)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:e.email})]}),(0,I.jsx)(`select`,{"aria-label":`Organization role of ${e.name}`,value:e.role,disabled:o||f,onChange:t=>void c(async()=>{await r.organizations.setRole(a,e.id,t.target.value),n()}),className:`h-7 rounded-md border border-border-strong bg-background px-2 text-xs`,children:(f?[e.role]:d).map(e=>(0,I.jsx)(`option`,{value:e,children:zm[e]},e))}),!u&&(0,I.jsx)(V,{size:`sm`,variant:`danger`,loading:o,disabled:f,onClick:()=>void c(async()=>{await r.organizations.removeMember(a,e.id),n()}),children:`Remove`})]}),(0,I.jsx)(u8,{roles:l,selected:e.appRoles,grantable:Hm(l,t),disabled:o,onChange:t=>void c(async()=>{await r.organizations.setAppRoles(e.id,t),n()})}),(0,I.jsx)(Id,{message:s})]})},p8=({current:e})=>{let{session:t}=B(),[n,r]=(0,l.useState)(),[i,a]=(0,l.useState)(),o=e?.organization?.id,s=(0,l.useCallback)(()=>{o&&t.organizations.members(o).then(r,e=>a(e instanceof $s?_d(e):`Could not read the members`))},[t,o]);return(0,l.useEffect)(s,[s]),e?.organization?(0,I.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,I.jsx)(fd,{title:`Members`,subtitle:`Who works in ${e.organization.name}, and with which roles.`}),(0,I.jsxs)(Fd,{title:`Members`,description:`Owners and admins manage the organization; app roles decide what each member sees and does in the app.`,children:[(0,I.jsx)(Id,{message:i}),n?(0,I.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(t=>(0,I.jsx)(f8,{member:t,current:e,onChanged:s},`${t.id}/${t.role}/${t.appRoles.join()}`))}):!i&&(0,I.jsxs)(`div`,{className:`flex items-center gap-2 text-[13px] text-muted-foreground`,children:[(0,I.jsx)(nr,{}),` Loading`]})]})]}):null},m8=({link:e})=>e?(0,I.jsxs)(`p`,{className:`mt-3 break-all rounded-md border bg-muted px-3 py-2 text-xs`,children:[`This app cannot send email, so pass this link on yourself. It works once, until the invitation expires: `,(0,I.jsx)(`span`,{className:`font-mono`,children:e})]}):null,h8=({current:e,onSent:t})=>{let{session:n,organizations:r}=B(),i=r?.roles??[],[a,o]=(0,l.useState)(``),[s,c]=(0,l.useState)(`member`),[u,d]=(0,l.useState)([]),[f,p]=(0,l.useState)(),{busy:m,error:h,run:g}=Ym(),_=()=>g(async()=>{let r=await n.organizations.invite(e.organization.id,{email:a.trim(),role:s,appRoles:u});p(r.link),o(``),d([]),t()});return(0,I.jsxs)(Fd,{title:`Invite someone`,description:`They get an email with a link to join, or to make an account first. You can give the app roles you hold, and those your roles grant.`,children:[(0,I.jsx)(Id,{message:h}),(0,I.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),_()},children:[(0,I.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,I.jsx)(er,{"aria-label":`Email`,type:`email`,placeholder:`name@example.com`,value:a,onChange:e=>o(e.target.value),wrapperClassName:`flex-1`}),(0,I.jsx)(`select`,{"aria-label":`Organization role`,value:s,onChange:e=>c(e.target.value),className:`h-8 rounded-md border border-border-strong bg-background px-2 text-[13px]`,children:d8(e).map(e=>(0,I.jsx)(`option`,{value:e,children:zm[e]},e))}),(0,I.jsx)(V,{type:`submit`,variant:`primary`,loading:m,disabled:!a.trim(),children:`Invite`})]}),(0,I.jsx)(u8,{roles:i,selected:u,grantable:Hm(i,e),onChange:d})]}),(0,I.jsx)(m8,{link:f})]})},g8=({invitation:e,organizationId:t,onChanged:n})=>{let{session:r,organizations:i}=B(),[a,o]=(0,l.useState)(),{busy:s,error:c,run:u}=Ym(),d=new Date(e.expiresAt).getTime()<Date.now();return(0,I.jsxs)(`li`,{className:`px-3 py-2.5`,children:[(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,I.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,I.jsx)(`span`,{className:`block truncate text-[13px] font-medium`,children:e.email}),(0,I.jsxs)(`span`,{className:`block text-xs text-muted-foreground`,children:[zm[e.role],e.appRoles.length>0&&` · ${e.appRoles.map(e=>Bm(i?.roles??[],e)).join(`, `)}`,` · `,d?`Expired`:`Until ${new Date(e.expiresAt).toLocaleDateString()}`]})]}),(0,I.jsx)(V,{size:`sm`,loading:s,onClick:()=>void u(async()=>{o((await r.organizations.resend(t,e)).link),n()}),children:`Send again`}),(0,I.jsx)(V,{size:`sm`,variant:`danger`,loading:s,onClick:()=>void u(async()=>{await r.organizations.revoke(e.id),n()}),children:`Revoke`})]}),(0,I.jsx)(Id,{message:c}),(0,I.jsx)(m8,{link:a})]})},_8=({current:e})=>{let{session:t}=B(),[n,r]=(0,l.useState)([]),i=e?.organization?.id,a=(0,l.useCallback)(()=>{i&&t.organizations.invitations(i).then(e=>r(e.filter(e=>e.status===`pending`)),()=>r([]))},[t,i]);return(0,l.useEffect)(a,[a]),!e?.organization||!i?null:(0,I.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,I.jsx)(fd,{title:`Invitations`,subtitle:`People invited to ${e.organization.name}.`}),(0,I.jsx)(h8,{current:e,onSent:a}),(0,I.jsx)(Fd,{title:`Not accepted yet`,description:n.length>0?`Sending again gives a new link, which replaces the earlier one.`:`Nobody is waiting.`,children:n.length>0&&(0,I.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(e=>(0,I.jsx)(g8,{invitation:e,organizationId:i,onChanged:a},e.id))})})]})},v8=e=>{let{session:t}=B(),[n,r]=(0,l.useState)(),[i,a]=(0,l.useState)([]),[o,s]=(0,l.useState)(),[c,u]=(0,l.useState)(0),d=(0,l.useCallback)(()=>u(e=>e+1),[]);return(0,l.useEffect)(()=>{e&&Promise.all([t.organizations.current(),t.organizations.list()]).then(([e,t])=>{r(e),a(t)},e=>s(e instanceof $s?_d(e):`Could not read your organizations`))},[e,t,c]),{current:n,organizations:i,...o&&{error:o},reload:d}},y8=e=>window.location.assign(`${e}/`),b8=({organization:e,editable:t,onSaved:n})=>{let{session:r}=B(),[i,a]=(0,l.useState)(e.name),[o,s]=(0,l.useState)(e.slug),{busy:c,error:u,run:d}=Ym(),f=i.trim()!==e.name||o!==e.slug;return(0,I.jsxs)(Fd,{title:`Details`,description:t?`The name people see, and the slug that names it in links.`:`Owners and admins can change these.`,children:[(0,I.jsx)(Id,{message:u}),(0,I.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row`,onSubmit:t=>{t.preventDefault(),d(async()=>{await r.organizations.rename(e.id,{name:i.trim(),slug:o}),n()})},children:[(0,I.jsx)(er,{"aria-label":`Name`,value:i,disabled:!t,onChange:e=>a(e.target.value),wrapperClassName:`flex-1`}),(0,I.jsx)(er,{"aria-label":`Slug`,value:o,disabled:!t,onChange:e=>s(e.target.value),wrapperClassName:`sm:w-48`}),t&&(0,I.jsx)(V,{type:`submit`,variant:`primary`,loading:c,disabled:!f||!i.trim(),children:`Save`})]})]})},x8=({organization:e,memberId:t})=>{let{session:n}=B(),[r,i]=(0,l.useState)([]),[a,o]=(0,l.useState)(``),{busy:s,error:c,run:u}=Ym();return(0,l.useEffect)(()=>{n.organizations.members(e.id).then(e=>i(e.filter(e=>e.id!==t)),()=>i([]))},[n,e.id,t]),(0,I.jsxs)(Fd,{title:`Hand over`,description:`Make another member the owner. You stay as an admin.`,children:[(0,I.jsx)(Id,{message:c}),(0,I.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,I.jsxs)(`select`,{"aria-label":`New owner`,value:a,onChange:e=>o(e.target.value),className:`h-8 flex-1 rounded-md border border-border-strong bg-background px-2 text-[13px]`,children:[(0,I.jsx)(`option`,{value:``,children:`Choose a member`}),r.map(e=>(0,I.jsxs)(`option`,{value:e.id,children:[e.name,` (`,e.email,`)`]},e.id))]}),(0,I.jsx)(V,{loading:s,disabled:!a,onClick:()=>void u(async()=>{await n.organizations.transferOwnership(a),window.location.reload()}),children:`Hand over`})]})]})},S8=({organization:e,basePath:t})=>{let{session:n}=B(),[r,i]=(0,l.useState)(!1),[a,o]=(0,l.useState)(``),{busy:s,error:c,run:u}=Ym(),d=()=>u(async()=>{await n.organizations.remove(e.id),y8(t)});return(0,I.jsxs)(Fd,{title:`Delete organization`,description:`Takes the organization and its members and invitations away. Its records must be deleted first.`,children:[(0,I.jsx)(Id,{message:r?void 0:c}),(0,I.jsx)(V,{variant:`danger`,onClick:()=>i(!0),children:`Delete organization`}),r&&(0,I.jsxs)(Pd,{title:`Delete ${e.name}?`,description:`Type its name to confirm. This cannot be undone.`,onClose:()=>i(!1),actions:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(V,{onClick:()=>i(!1),children:`Cancel`}),(0,I.jsx)(V,{variant:`danger`,loading:s,disabled:a!==e.name,onClick:()=>void d(),children:`Delete`})]}),children:[(0,I.jsx)(Id,{message:c}),(0,I.jsx)(er,{"aria-label":`Organization name`,value:a,onChange:e=>o(e.target.value)})]})]})},C8=({organization:e,basePath:t,owner:n})=>{let{session:r}=B(),{busy:i,error:a,run:o}=Ym();return(0,I.jsxs)(Fd,{title:`Leave`,description:n?`An organization keeps an owner: hand it over before you leave, unless it has another owner.`:`You stop being a member, and lose your roles here.`,children:[(0,I.jsx)(Id,{message:a}),(0,I.jsxs)(V,{loading:i,onClick:()=>void o(async()=>{await r.organizations.leave(e.id),y8(t)}),children:[`Leave `,e.name]})]})},w8=({current:e,basePath:t,onChanged:n})=>{let r=e?.organization;if(!r)return(0,I.jsx)(`div`,{className:`mx-auto w-full max-w-3xl px-4 py-6 md:px-6`,children:(0,I.jsx)(fd,{title:`Organization`,subtitle:`You do not work in an organization now. Choose one under Organizations.`})});let i=e.role===`owner`;return(0,I.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,I.jsx)(fd,{title:r.name,subtitle:e.role?`You are ${zm[e.role].toLowerCase()} here.`:`You work here through your global roles, without being a member.`}),(0,I.jsx)(b8,{organization:r,editable:Vm(e),onSaved:n},`${r.name}/${r.slug}`),i&&e.memberId&&(0,I.jsx)(x8,{organization:r,memberId:e.memberId}),e.role&&(0,I.jsx)(C8,{organization:r,basePath:t,owner:i}),i&&(0,I.jsx)(S8,{organization:r,basePath:t})]})},T8=e=>e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,63),E8=({organization:e,current:t,busy:n,onOpen:r})=>(0,I.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2.5`,children:[(0,I.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,I.jsx)(`span`,{className:`block truncate text-[13px] font-medium`,children:e.name}),(0,I.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:e.slug})]}),t?(0,I.jsx)(zn,{tone:`green`,children:`Current`}):(0,I.jsx)(V,{size:`sm`,loading:n,onClick:r,children:`Open`})]}),D8=({basePath:e})=>{let{session:t}=B(),[n,r]=(0,l.useState)(``),[i,a]=(0,l.useState)(),{busy:o,error:s,run:c}=Ym(),u=()=>c(async()=>{await t.organizations.create({name:n.trim(),slug:i??T8(n)}),y8(e)});return(0,I.jsxs)(Fd,{title:`New organization`,description:`You become its owner, with every role, and work in it once it is made.`,children:[(0,I.jsx)(Id,{message:s}),(0,I.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row`,onSubmit:e=>{e.preventDefault(),u()},children:[(0,I.jsx)(er,{"aria-label":`Name`,placeholder:`Name`,value:n,onChange:e=>r(e.target.value),wrapperClassName:`flex-1`}),(0,I.jsx)(er,{"aria-label":`Slug`,placeholder:`slug`,value:i??T8(n),onChange:e=>a(e.target.value),wrapperClassName:`sm:w-48`}),(0,I.jsx)(V,{type:`submit`,variant:`primary`,loading:o,disabled:!n.trim(),children:`Create`})]})]})},O8=({basePath:e,currentId:t})=>{let{session:n}=B(),[r,i]=(0,l.useState)(``),[a,o]=(0,l.useState)([]),{busy:s,error:c,run:u}=Ym();return(0,l.useEffect)(()=>{let e=setTimeout(()=>void n.organizations.search(r).then(o,()=>o([])),200);return()=>clearTimeout(e)},[n,r]),(0,I.jsxs)(Fd,{title:`Find an organization`,description:`Your global roles let you work in any organization, with what those roles allow there. Opening one you are not a member of is written to the audit log.`,children:[(0,I.jsx)(Id,{message:c}),(0,I.jsx)(er,{"aria-label":`Find an organization`,placeholder:`Name or slug`,value:r,onChange:e=>i(e.target.value),leading:(0,I.jsx)(kt,{className:`size-3.5`}),wrapperClassName:`mb-3`}),a.length>0&&(0,I.jsx)(`ul`,{className:`divide-y rounded-md border`,children:a.map(r=>(0,I.jsx)(E8,{organization:r,current:r.id===t,busy:s,onOpen:()=>void u(async()=>{await n.organizations.switchTo(r.id),y8(e)})},r.id))})]})},k8=()=>{let{session:e,organizations:t}=B(),[n,r]=(0,l.useState)([]);if((0,l.useEffect)(()=>{e.organizations.myInvitations().then(r,()=>r([]))},[e]),n.length===0)return null;let i=t?.roles??[];return(0,I.jsx)(Fd,{title:`Invitations for you`,description:`Open the link in the invitation email to accept one.`,children:(0,I.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(e=>(0,I.jsxs)(`li`,{className:`px-3 py-2.5 text-[13px]`,children:[(0,I.jsx)(`span`,{className:`font-medium`,children:e.organizationName??`An organization`}),`: `,e.appRoles.map(e=>Bm(i,e)).join(`, `)||`no app roles`,(0,I.jsxs)(`span`,{className:`block text-xs text-muted-foreground`,children:[`Until `,new Date(e.expiresAt).toLocaleDateString()]})]},e.id))})})},A8=({state:e,basePath:t})=>{let{session:n,organizations:r,state:i}=B(),{busy:a,error:o,run:s}=Ym(),c=i.kind===`signed-in`?i.user:void 0,l=r?.create===`everyone`||c!==void 0&&Qm(c),u=e.current?.organization?.id;return(0,I.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,I.jsx)(fd,{title:`Organizations`,subtitle:`You work in one organization at a time; what you see follows from your roles there.`}),(0,I.jsxs)(Fd,{title:`Your organizations`,description:e.organizations.length>0?`The organizations you are a member of.`:`You are not a member of an organization yet.`,children:[(0,I.jsx)(Id,{message:o??e.error}),e.organizations.length>0&&(0,I.jsx)(`ul`,{className:`divide-y rounded-md border`,children:e.organizations.map(e=>(0,I.jsx)(E8,{organization:e,current:e.id===u,busy:a,onOpen:()=>void s(async()=>{await n.organizations.switchTo(e.id),y8(t)})},e.id))})]}),(0,I.jsx)(k8,{}),l&&(0,I.jsx)(D8,{basePath:t}),(e.current?.globalRoles.length??0)>0&&(0,I.jsx)(O8,{basePath:t,currentId:u})]})},j8=(e,t)=>t?.active?{...e,role:t.active}:e,M8=(e,t)=>e instanceof $s?_d(e):t,N8=(e,t=!0)=>{let{session:n}=B(),r=uh(),[i,a]=(0,l.useState)();(0,l.useEffect)(()=>{t&&n.roles.current().then(a,e=>r.show({state:`error`,title:M8(e,`Could not read your roles`)}))},[n,r,t]);let o=(0,l.useCallback)(t=>void n.roles.switchTo(t).then(e,e=>r.show({state:`error`,title:M8(e,`Could not switch the role`)})),[n,r,e]);return{...i&&{current:i},switchTo:o}},P8=e=>new Set((e.userMenu?.items??[]).flatMap(e=>e.kind===`resource`?[e.resource]:e.kind===`page`?[e.page]:[])),F8=(e,t,n)=>(e.userMenu?.items??[]).map((r,i)=>{if(r.kind===`link`)return{id:`link-${i}`,label:r.label,icon:fg(r.icon,Pe),href:r.href,external:!0};if(r.kind===`page`){let i=e.pages[r.page];return{id:r.page,label:r.label??i?.title??W(r.page),icon:fg(r.icon??i?.icon,Je),href:as({kind:`page`,page:r.page},t),active:r.page===n}}return{id:r.resource,label:r.label??e.views[r.resource]?.names?.plural??W(r.resource),icon:fg(r.icon,ug(r.resource)),href:as({kind:`list`,resource:r.resource},t),active:r.resource===n}}),I8={sales:`Sales`,crm:`CRM`,catalog:`Catalog`,inventory:`Inventory`,core:`Admin`,hr:`HR`},L8=(e,t=``,n={})=>{let r=new Map,i=new Map,a=P8(e);for(let n of Object.values(e.pages)){if(n.nav?.hidden||a.has(n.name))continue;let e=n.nav?.group??`Pages`,o=r.get(e)??{label:e,items:[]};o.items.push({id:n.name,label:n.title,icon:fg(n.icon,Je),href:as({kind:`page`,page:n.name},t)}),r.set(e,o),i.set(n.name,n.nav?.order??2**53-1)}for(let o of Object.values(e.resources)){let s=e.views[o.name];if(!s||s.nav?.hidden||a.has(o.name))continue;let c=o.table.schema??`public`,l=s.nav?.group??I8[c]??W(c),u=r.get(l)??{label:l,items:[]};u.items.push({id:o.name,label:s.names?.plural??W(o.name),icon:ug(o.name),href:as({kind:`list`,resource:o.name},t),...n[o.name]&&{recent:n[o.name]}}),r.set(l,u),i.set(o.name,s.nav?.order??2**53-1)}for(let n of e.sources??[]){if(n.state!==`error`)continue;let e=r.get(n.source.label)??{label:n.source.label,items:[]};for(let r of n.source.resources)e.items.push({id:r,label:W(r),icon:ug(r),href:as({kind:`list`,resource:r},t),problem:`Cannot reach ${n.source.label}`});r.set(n.source.label,e)}return[...r.values()].map(e=>({...e,items:[...e.items].sort((e,t)=>(i.get(e.id)??0)-(i.get(t.id)??0))}))},R8=({action:e,label:t,danger:n,onCancel:r,onConfirm:i})=>(0,I.jsx)(Pd,{title:`${t}?`,description:e.confirm,onClose:r,actions:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(V,{onClick:r,children:`Cancel`}),(0,I.jsx)(V,{variant:n?`danger`:`primary`,onClick:i,children:t})]})}),z8=(0,l.createContext)(void 0),B8=({value:e,children:t})=>(0,I.jsx)(z8.Provider,{value:e,children:t}),V8=()=>(0,l.useContext)(z8),H8=(e,t={})=>e.replace(/\{([A-Za-z_][A-Za-z0-9_]*)\}/g,(e,n)=>encodeURIComponent(t[n]===null||t[n]===void 0?``:String(t[n]))),U8=(e,t)=>({model:e,record:t,key:ts(rh(e,t)),etag:typeof t.etag==`string`?t.etag:void 0,permissions:t.permissions}),W8=(e,t,n=``)=>({queryKey:H.count(t.name,n),queryFn:async()=>{let r=await e.list(t.name,{filter:n||void 0,pageSize:1,count:`exact`,fields:t.primaryKey});return r.totalSize??r.totalSizeEstimate}}),G8=(e,t=``)=>Dm(W8(U(),e,t)),K8=(e,{filter:t=``,sort:n=``,key:r})=>{let i=U();return Dm({queryKey:r===void 0?H.firstRecord(e.name,t,n):H.record(e.name,r),queryFn:async()=>{if(r!==void 0){let t=await i.get(e.name,r);return{...U8(e,t.record),etag:t.etag,permissions:t.permissions}}let a=await i.list(e.name,{filter:t||void 0,orderBy:n||void 0,pageSize:1});return a.items[0]?U8(e,a.items[0]):null}})},q8=(e,{filter:t=``,sort:n=``,pageSize:r,pageToken:i=``})=>{let a=U();return Dm({queryKey:H.list(e.name,t,n,r,i),placeholderData:Cp,queryFn:()=>a.list(e.name,{filter:t||void 0,orderBy:n||void 0,pageSize:r,pageToken:i||void 0})})},J8=()=>{let e=$f();return(0,l.useCallback)(t=>e.invalidateQueries({predicate:e=>e.queryKey[1]===t}),[e])},Y8=e=>e instanceof Error?e.message:`Something went wrong`,X8=(e,t,n)=>{let{views:r}=G(),{actions:i}=wh(),a=Eg(e),o=U(),s=Nm(e),c=uh(),u=J8(),{go:d}=Qg(),[f,p]=(0,l.useState)(),m=r[e]?.actions??[],h=e=>{let n=e.run?.kind;if((n===`update`||n===`delete`)&&!t)return`Needs a record`;if(n===`update`&&(!B_(a,`update`)||t?.permissions?.update===!1))return`You cannot change this record`;if(n===`delete`&&(!B_(a,`delete`)||t?.permissions?.delete===!1))return`You cannot delete this record`;if(!e.run&&!i?.[e.name])return`The app has no handler for "${e.name}"`},g=async r=>{let{run:a}=r;if(a?.kind===`link`){`to`in a?d(qo(a.to,t?.record)):window.location.assign(H8(a.href,t?.record));return}a?.kind===`update`?await o.update(e,t.key,a.values,t.etag??`*`):a?.kind===`delete`?await o.remove(e,t.key,{etag:t.etag}):await i[r.name]({resource:e,record:t?.record,recordKey:t?.key,etag:t?.etag,client:s,navigate:d}),await u(e),c.show({state:`success`,title:`${r.label}: done`}),n?.(r)};return{actions:m,blocked:h,running:f,run:async e=>{h(e)||(p(e.name),await g(e).catch(t=>c.show({state:`error`,title:`${e.label} failed`,description:Y8(t)})),p(void 0))}}},Z8=(e,t,n)=>{let r=X8(e,n),i=r.actions.find(e=>e.name===t);return{action:i,blocked:i?r.blocked(i):`No action "${t}"`,running:r.running===t,run:()=>i?r.run(i):Promise.resolve()}},Q8=e=>e.props,$8=({node:e})=>{let{name:t,resource:n,label:r,variant:i}=Q8(e),a=V8(),o=Z8(n??a?.model.name??``,t,n===void 0||n===a?.model.name?a:void 0),[s,c]=(0,l.useState)(!1);if(!o.action)return null;let u=r??o.action.label;return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(V,{size:`sm`,variant:i??`secondary`,loading:o.running,disabled:!!o.blocked,title:o.blocked,onClick:()=>o.action.confirm?c(!0):void o.run(),children:u}),s&&(0,I.jsx)(R8,{action:o.action,label:u,danger:i===`danger`,onCancel:()=>c(!1),onConfirm:()=>{c(!1),o.run()}})]})},e5=({title:e,description:t,actions:n,className:r,children:i})=>(0,I.jsxs)(`section`,{className:F(`flex min-w-0 flex-col rounded-lg border border-border bg-background`,r),"aria-label":e,children:[(e||t||n)&&(0,I.jsxs)(`header`,{className:`flex flex-wrap items-start justify-between gap-x-4 gap-y-2 px-4 pt-4`,children:[(0,I.jsxs)(`div`,{className:`min-w-0`,children:[e&&(0,I.jsx)(`h2`,{className:`text-[15px] font-semibold tracking-tight`,children:e}),t&&(0,I.jsx)(`p`,{className:`mt-0.5 text-[13px] text-muted-foreground`,children:t})]}),n&&(0,I.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:n})]}),(0,I.jsx)(`div`,{className:`min-w-0 flex-1 p-4 text-[13px]`,children:i})]}),t5=({children:e})=>(0,I.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:e}),n5=({node:e,children:t,slots:n})=>{let{title:r,description:i}=Q8(e);return(0,I.jsx)(e5,{title:r,description:i,actions:n.actions,className:`h-full`,children:(0,I.jsx)(`div`,{className:`flex flex-col gap-3`,children:t})})},r5=({model:e,filter:t,sort:n,limit:r=12,title:i,description:a,empty:o,actions:s,children:c})=>{let l=q8(e,{filter:t,sort:n,pageSize:r}),u=l.data?.items??[];return(0,I.jsx)(e5,{title:i,description:a,actions:s,children:l.isPending?(0,I.jsx)(`div`,{className:`flex gap-3`,children:Array.from({length:3},(e,t)=>(0,I.jsx)(Zn,{className:`h-24 w-56`},t))}):l.error?(0,I.jsx)(D_,{title:`Could not load`,error:l.error}):u.length===0?(0,I.jsx)(t5,{children:o??`Nothing here yet.`}):(0,I.jsx)(`ul`,{className:`-mx-4 flex snap-x gap-3 overflow-x-auto px-4 pb-1`,children:u.map(t=>{let n=U8(e,t);return(0,I.jsx)(`li`,{className:`flex w-60 shrink-0 snap-start flex-col gap-2 rounded-lg border border-border bg-surface p-3`,children:(0,I.jsx)(B8,{value:n,children:c})},n.key)})})})},i5=({node:e,children:t,slots:n})=>{let{resource:r,...i}=Q8(e),a=G().resources[r];return a?(0,I.jsx)(r5,{...i,model:a,actions:n.actions,children:t}):null},a5=({field:e,value:t,known:n})=>{let{resources:r,views:i}=G(),a=U(),o=$f(),s=e.relation?r[e.relation.resource]:void 0,c=String(t),l=Dm({queryKey:H.relatedLabel(s?.name??``,c),enabled:!!s&&n===void 0,queryFn:async()=>(await r_(o,a,s,[c],i[s.name])).get(c)??c});return s?(0,I.jsx)($g,{to:{kind:`record`,resource:s.name,key:c},className:`font-medium text-primary-text hover:underline`,children:n??l.data??c}):(0,I.jsx)(`span`,{children:c})},o5=({model:e,field:t,value:n,format:r,relationLabel:i})=>{let{views:a}=G(),o={...a[e.name]?.fields[t.name],...r&&{format:r}};if(n==null||n===``)return(0,I.jsx)(`span`,{className:`text-muted-foreground`,children:`—`});if(t.type===`relation`)return(0,I.jsx)(a5,{field:t,value:n,known:i});let s=t.type===`file`?u_(n):void 0;if(s&&`url`in s&&s.url)return(0,I.jsx)(`a`,{href:s.url,target:`_blank`,rel:`noreferrer`,className:`font-medium text-primary-text hover:underline`,children:s.name});let c=v_(t,n,o);return t.type===`enum`||o.format===`badge`?(0,I.jsx)(dT,{value:n,hints:o,children:c}):(0,I.jsx)(`span`,{className:F(o.format===`code`&&`font-mono text-xs`,(t.type===`decimal`||t.type===`integer`)&&`tabular-nums`),children:c})},s5=e=>{let{views:t}=G(),n=P_(e.field,t[e.model.name]?.fields[e.field.name]),r=(0,I.jsx)(o5,{...e});return n?(0,I.jsx)(I_,{shown:n,part:`display`,field:e.field,value:e.value,fallback:r}):r},c5=(e,t,n)=>{if(!t)return[];let r=Ys(e,t.model.name,n);return r.ok?r.steps:[]},l5=(e,t,n,r,i)=>({queryKey:H.pathValue(n?.model.name??``,n?.key??``,r),enabled:i.length>1,queryFn:async()=>{let r=n.record;for(let n of i.slice(0,-1)){let i=r[n.field.name];if(i==null)return null;let a=n.field.relation.resource;r=(await t.fetchQuery({queryKey:H.record(a,String(i)),queryFn:()=>e.get(a,String(i))})).record}return r[i.at(-1).field.name]??null}}),u5=(e,t,n)=>{let r=t.at(-1);return!e||!r?{state:`missing`}:t.length===1?{state:`ready`,value:e.record[r.field.name],field:r.field,model:r.model}:n.isPending?{state:`loading`}:{state:`ready`,value:n.data??null,field:r.field,model:r.model}},d5=(e,t)=>{let{resources:n}=G(),r=c5(n,e,t);return u5(e,r,Dm(l5(U(),$f(),e,t,r)))},f5=(e,t)=>{let{resources:n}=G(),r=U(),i=$f(),a=t.map(t=>c5(n,e,t)),o=Tm({queries:t.map((t,n)=>l5(r,i,e,t,a[n]))});return t.map((t,n)=>u5(e,a[n],o[n]))},p5=(e,t)=>{if(t)return t;let n=e.split(`.`).map(e=>W(e).toLowerCase()).join(` `);return n[0].toUpperCase()+n.slice(1)},m5=({node:e})=>{let{name:t,label:n,format:r}=Q8(e),{views:i}=G(),a=d5(V8(),t);if(a.state===`missing`)return null;let o=a.state===`loading`?(0,I.jsx)(Zn,{className:`h-4 w-24`}):(0,I.jsx)(s5,{model:a.model,field:a.field,value:a.value,format:r});if(n===!1)return(0,I.jsx)(`div`,{className:`text-[13px]`,children:o});let s=n??p5(t,a.state===`ready`?i[a.model.name]?.fields[a.field.name]?.label:void 0);return(0,I.jsxs)(`div`,{className:`min-w-0`,children:[(0,I.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:s}),(0,I.jsx)(`div`,{className:`mt-0.5 truncate text-[13px]`,children:o})]})},h5={1:``,2:`md:grid-cols-2`,3:`md:grid-cols-2 xl:grid-cols-3`,4:`sm:grid-cols-2 xl:grid-cols-4`},g5={1:``,2:`md:col-span-2`,3:`md:col-span-2 xl:col-span-3`,4:`sm:col-span-2 md:col-span-2 xl:col-span-4`},_5=({node:e,children:t})=>{let{columns:n=2}=Q8(e),r=e.children;return(0,I.jsx)(`div`,{className:F(`grid grid-cols-1 gap-4`,h5[n]),children:t.map((e,t)=>{let n=r[t],i=typeof n==`object`?n.props.span:void 0;return(0,I.jsx)(`div`,{className:F(`min-w-0`,i&&g5[i]),children:e},t)})})},v5=`font-medium text-primary-text hover:underline`,y5=({node:e})=>{let t=Q8(e),n=V8()?.record,r=e.children.filter(e=>typeof e==`string`).join(``);if(t.to){let e=qo(t.to,n);return(0,I.jsx)($g,{to:e,className:v5,children:r||as(e)})}let i=t.href??``;return(0,I.jsx)(`a`,{href:i,className:v5,...i.startsWith(`http`)&&{target:`_blank`,rel:`noreferrer`},children:r||i})},b5=(e,t,n)=>Object.fromEntries(t.map(t=>{let r=e.fields[t];if(r.type===`file`)return[t,n?.record[t]??null];if(n)return[t,r.type===`boolean`?!!n.record[t]:y_(n.record[t])];let i=r.default&&`value`in r.default?r.default.value:void 0;return[t,r.type===`boolean`?!!i:y_(i)]})),x5=(e,t,n)=>Object.fromEntries(Object.entries(t).flatMap(([t,r])=>{let i=e.fields[t];return J_(r)?r.key===y_(n.record[t])?[]:[[t,i.type===`integer`?Number(r.key):r.key]]:T_(i,r,n.record[t])?[[t,S_(i,r)]]:[]})),S5=({model:e,record:t,mode:n,label:r,title:i,fields:a,values:o,onClose:s})=>{let{resources:c,views:u}=G(),d=U(),f=uh(),p=J8(),m=u[e.name],[h,g]=(0,l.useState)(()=>b5(e,a,t)),[_,v]=(0,l.useState)({}),[y,b]=(0,l.useState)(),[x,S]=(0,l.useState)(!1),C=async()=>{S(!0),b(void 0),await(n===`create`?d.create(e.name,{...Q_(e,c,h),...o}):d.update(e.name,t.key,x5(e,h,t),t.etag??`*`)).then(async()=>{await p(e.name),f.show({state:`success`,title:`${i??r}: saved`}),s()},e=>{Is(e)&&v(Object.fromEntries(e.errors.flatMap(e=>e.field?[[e.field,e.message]]:[]))),b(e)}),S(!1)};return(0,I.jsx)(Pd,{title:i??r,onClose:s,actions:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(V,{onClick:s,children:`Cancel`}),(0,I.jsx)(V,{variant:`primary`,loading:x,onClick:()=>void C(),children:n===`create`?`Create`:`Save`})]}),children:(0,I.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),C()},children:[y!==void 0&&Object.keys(_).length===0&&(0,I.jsx)(D_,{title:`Not saved`,error:y}),a.map(n=>{let r=e.fields[n],i=h[n],a=r.relation?c[r.relation.resource]:void 0;return(0,I.jsx)(G_,{label:m?.fields[n]?.label??W(n),help:m?.fields[n]?.help,error:_[n],children:(0,I.jsx)(z_,{field:r,hints:m?.fields[n],value:J_(i)?i.key:i,stored:t?.record[n],relationLabel:J_(i)?i.label:void 0,relationPicker:a?{target:a,view:u[a.name]}:void 0,invalid:!!_[n],resource:e.name,onChange:e=>{v(({[n]:e,...t})=>t),g(t=>({...t,[n]:e}))}})},n)})]})})},C5=({model:e,recordKey:t,children:n})=>{let r=K8(e,{key:t});return(0,I.jsx)(I.Fragment,{children:n(r.data??void 0)})},w5=({node:e})=>{let t=Q8(e),n=V8(),{resources:r}=G(),i=r[t.resource??n?.model.name??``],a=Eg(i?.name??``),[o,s]=(0,l.useState)(!1);if(!i||!(t.mode===`create`?B_(a,`create`):B_(a,`update`)&&n?.permissions?.update!==!1))return null;let c=e=>(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(V,{size:`sm`,variant:t.variant??`secondary`,disabled:t.mode===`edit`&&!e,onClick:()=>s(!0),children:t.label}),o&&(0,I.jsx)(S5,{...t,model:i,record:t.mode===`edit`?e:void 0,onClose:()=>s(!1)})]});return t.mode===`edit`&&t.recordKey!==void 0?(0,I.jsx)(C5,{model:i,recordKey:t.recordKey,children:c}):c(t.mode===`edit`?n:void 0)},T5=({node:e,children:t,slots:n})=>{let{title:r,description:i}=Q8(e);return(0,I.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,I.jsxs)(`div`,{className:`mx-auto flex max-w-[1200px] flex-col gap-6 px-4 pb-16 pt-6 md:px-10 md:py-8`,children:[(0,I.jsx)(fd,{title:r,subtitle:i,actions:n.actions}),t]})})},E5=(e,t)=>{let n=V8(),r=d5(typeof e==`string`?n:void 0,typeof e==`string`?e:``);return typeof e==`number`?e:e===void 0?t:r.state===`ready`?Number(r.value):r.state===`loading`?void 0:NaN},D5=({node:e})=>{let{value:t,max:n,label:r}=Q8(e),i=E5(t,0),a=E5(n,100);if(i===void 0||a===void 0)return(0,I.jsx)(Zn,{className:`h-6 w-full`});if(!Number.isFinite(i)||!Number.isFinite(a))return null;let o=a>0?Math.min(1,Math.max(0,i/a)):0;return(0,I.jsxs)(`div`,{className:`min-w-0`,children:[(0,I.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2 text-xs`,children:[(0,I.jsx)(`span`,{className:`text-muted-foreground`,children:r}),(0,I.jsxs)(`span`,{className:`tabular-nums`,children:[i.toLocaleString(`en-IE`),` / `,a.toLocaleString(`en-IE`)]})]}),(0,I.jsx)(`div`,{role:`progressbar`,"aria-label":r,"aria-valuenow":i,"aria-valuemin":0,"aria-valuemax":a,className:`mt-1.5 h-2 overflow-hidden rounded-full bg-muted`,children:(0,I.jsx)(`div`,{className:o>=.9?`h-full rounded-full bg-warning`:`h-full rounded-full bg-primary`,style:{width:`${o*100}%`}})})]})},One=({model:e,filter:t,sort:n,recordKey:r,title:i,description:a,empty:o,actions:s,children:c})=>{let l=K8(e,{filter:t,sort:n,key:r}),u=e=>l.data?(0,I.jsx)(B8,{value:l.data,children:e}):void 0,d=l.isPending?(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,I.jsx)(Zn,{className:`h-4 w-1/2`}),(0,I.jsx)(Zn,{className:`h-4 w-1/3`})]}):l.error?(0,I.jsx)(D_,{title:`Could not load`,error:l.error}):l.data?u((0,I.jsx)(`div`,{className:`flex flex-col gap-3`,children:c})):(0,I.jsx)(t5,{children:o??`Nothing here yet.`});return(0,I.jsx)(e5,{title:i,description:a,actions:s?u(s):void 0,className:`h-full`,children:d})},kne=({node:e,children:t,slots:n})=>{let{resource:r,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l}=Q8(e),u=G().resources[r];return u?(0,I.jsx)(One,{model:u,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l,actions:n.actions,children:t}):null},Ane=({node:e,children:t})=>{let{when:n}=Q8(e),{resources:r}=G(),i=U(),a=V8(),o=(0,l.useMemo)(()=>Fee(n),[n]),s=o.ok?o.paths:[],c=s.map(e=>Lee(e,e=>!!(a&&Object.hasOwn(a.model.fields,e)))),u=s.filter((e,t)=>c[t]===void 0),d=f5(a,u),f=Tm({queries:c.flatMap(e=>{let t=e===void 0?void 0:r[e];return t?[W8(i,t)]:[]})});if(!o.ok||d.some(e=>e.state===`loading`)||f.some(e=>e.isPending))return null;let p={};u.forEach((e,t)=>{let n=d[t];n.state===`ready`&&(p[e]=n.value)});let m=0;return s.forEach((e,t)=>{c[t]!==void 0&&(p[e]=r[c[t]]?f[m++]?.data??0:0)}),Iee(o,p)?(0,I.jsx)(I.Fragment,{children:t}):null},O5=`text-2xl font-semibold tracking-tight tabular-nums`,jne=({model:e,filter:t})=>{let n=G8(e,t);return n.isPending?(0,I.jsx)(Zn,{className:`h-8 w-16`}):n.error?(0,I.jsx)(`span`,{className:`text-[13px] text-danger-text`,children:`Could not count`}):(0,I.jsx)($g,{to:{kind:`list`,resource:e.name,filter:t},className:`${O5} hover:text-primary-text`,children:n.data.toLocaleString(`en-IE`)})},Mne=({field:e,format:t})=>{let n=d5(V8(),e);return n.state===`loading`?(0,I.jsx)(Zn,{className:`h-8 w-16`}):n.state===`missing`?null:(0,I.jsx)(`span`,{className:O5,children:(0,I.jsx)(s5,{model:n.model,field:n.field,value:n.value,format:t})})},Nne=({node:e})=>{let{label:t,value:n,resource:r,filter:i,field:a,format:o,description:s}=Q8(e),{resources:c}=G(),l=r===void 0?void 0:c[r];return(0,I.jsxs)(e5,{className:`h-full`,children:[(0,I.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:t}),(0,I.jsxs)(`div`,{className:`mt-1`,children:[n!==void 0&&(0,I.jsx)(`span`,{className:O5,children:n}),l&&(0,I.jsx)(jne,{model:l,filter:i}),a!==void 0&&(0,I.jsx)(Mne,{field:a,format:o})]}),s&&(0,I.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:s})]})},Pne=(e,t,n)=>{let{resources:r,views:i}=G(),a=U(),o=$f(),s=t.flatMap(t=>{let i=e.fields[t],a=i?.type===`relation`&&i.relation?r[i.relation.resource]:void 0;if(!a||a.primaryKey.length!==1)return[];let o=[...new Set(n.flatMap(e=>e[t]===null||e[t]===void 0?[]:[String(e[t])]))].sort();return o.length>0?[{name:t,target:a,ids:o}]:[]}),c=Tm({queries:s.map(({target:e,ids:t})=>({queryKey:H.labelMap(e.name,t.join(`,`)),queryFn:()=>r_(o,a,e,t,i[e.name])}))});return new Map(s.flatMap(({name:e},t)=>c[t]?.data?[[e,c[t].data]]:[]))},k5=e=>e.includes(`.`),Fne=e=>{let{resources:t,views:n}=G();return r=>{let i=Ys(t,e.name,r),a=i.ok?i.steps.at(-1):void 0,o=a?.field.name??r;return n[a?.model.name??e.name]?.fields[o]?.label??W(o)}},Ine=({model:e,row:t,column:n})=>{let r=d5(U8(e,t),n);return r.state===`loading`?(0,I.jsx)(`span`,{className:`text-muted-foreground`,children:`…`}):r.state===`missing`?(0,I.jsx)(`span`,{className:`text-muted-foreground`,children:`—`}):(0,I.jsx)(s5,{model:r.model,field:r.field,value:r.value})},A5=({model:e,columns:t,rows:n,label:r,pager:i})=>{let{resources:a}=G(),o=Fne(e),s=t[0]===void 0?void 0:Ys(a,e.name,t[0]),c=!s?.ok||s.steps.at(-1).field.type!==`relation`,l=Pne(e,t.filter(e=>!k5(e)),n),u=(t,n)=>k5(n)?(0,I.jsx)(Ine,{model:e,row:t,column:n}):(0,I.jsx)(s5,{model:e,field:e.fields[n],value:t[n],relationLabel:l.get(n)?.get(String(t[n]))});return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`div`,{className:`-mx-4 overflow-x-auto`,children:(0,I.jsxs)(`table`,{className:`w-full min-w-max text-left text-[13px]`,children:[(0,I.jsx)(`thead`,{children:(0,I.jsx)(`tr`,{className:`border-b text-xs text-muted-foreground`,children:t.map(e=>(0,I.jsx)(`th`,{scope:`col`,className:`px-4 py-2 font-medium`,children:o(e)},e))})}),(0,I.jsx)(`tbody`,{children:n.map(n=>{let r=U8(e,n);return(0,I.jsx)(`tr`,{className:`border-b last:border-0 hover:bg-surface`,children:t.map((t,i)=>(0,I.jsx)(`td`,{className:`px-4 py-2`,children:i===0&&c?(0,I.jsx)($g,{to:{kind:`record`,resource:e.name,key:r.key},className:`font-medium text-primary-text hover:underline`,children:u(n,t)}):u(n,t)},t))},r.key)})})]})}),i&&(i.hasPrevious||i.hasNext)&&(0,I.jsxs)(`nav`,{"aria-label":`${r} pages`,className:`mt-3 flex items-center justify-end gap-2 text-xs text-muted-foreground`,children:[(0,I.jsxs)(`span`,{children:[`Page `,i.page]}),(0,I.jsx)(V,{size:`sm`,"aria-label":`Previous page`,disabled:!i.hasPrevious||i.busy,onClick:i.previous,children:(0,I.jsx)(le,{className:`size-3.5`})}),(0,I.jsx)(V,{size:`sm`,"aria-label":`Next page`,disabled:!i.hasNext||i.busy,onClick:i.next,children:(0,I.jsx)(P,{className:`size-3.5`})})]})]})},j5=(e,t)=>t?.list?.columns??Object.keys(e.fields).filter(t=>!e.primaryKey.includes(t)&&t!==e.tenant).slice(0,5),Lne=({model:e,view:t,filter:n,sort:r,columns:i,pageSize:a=10,title:o,description:s,empty:c,actions:u})=>{let d=(i??j5(e,t)).filter(t=>Object.hasOwn(e.fields,t)),[f,p]=(0,l.useState)([``]),m=q8(e,{filter:n,sort:r,pageSize:a,pageToken:f.at(-1)}),h=m.data?.items??[],g=m.data?.nextPageToken;return(0,I.jsx)(e5,{title:o,description:s,actions:u,className:`h-full`,children:m.isPending?(0,I.jsx)(`div`,{className:`flex flex-col gap-2`,children:Array.from({length:3},(e,t)=>(0,I.jsx)(Zn,{className:`h-4 w-full`},t))}):m.error?(0,I.jsx)(D_,{title:`Could not load`,error:m.error}):h.length===0&&f.length===1?(0,I.jsx)(t5,{children:c??`Nothing here yet.`}):(0,I.jsx)(A5,{model:e,columns:d,rows:h,label:o??e.name,pager:{page:f.length,hasPrevious:f.length>1,hasNext:!!g,busy:m.isFetching,previous:()=>p(e=>e.slice(0,-1)),next:()=>g&&p(e=>[...e,g])}})})},Rne={Page:T5,Grid:_5,Card:n5,Stat:Nne,RecordCard:kne,Field:m5,Table:({node:e,slots:t})=>{let n=Q8(e),{resources:r,views:i}=G(),a=r[n.resource];return a?(0,I.jsx)(Lne,{...n,model:a,view:i[a.name],actions:t.actions}):null},CardRow:i5,Progress:D5,ModalForm:w5,Action:$8,Show:Ane,Link:y5},M5=e=>typeof e==`string`||!e.custom&&e.type===`Link`,N5=e=>{let t=[];for(let n of e){let e=t.at(-1);M5(n)&&e&&M5(e[0])?e.push(n):t.push([n])}return t.map((e,t)=>{let[n]=e;return M5(n)?(0,I.jsx)(`p`,{className:`text-[13px] leading-relaxed`,children:e.map((e,t)=>typeof e==`string`?(0,I.jsx)(l.Fragment,{children:e},t):(0,I.jsx)(P5,{node:e},t))},t):(0,I.jsx)(P5,{node:n},t)})},zne=e=>Gs(e)||Array.isArray(e)&&e.length>0&&e.every(Gs),Bne=e=>Object.fromEntries(Object.entries(e.props).flatMap(([e,t])=>zne(t)?[[e,(0,I.jsx)(I.Fragment,{children:N5(Array.isArray(t)?t:[t])})]]:[])),P5=({node:e})=>{let{components:t}=wh();if(e.custom){let n=t?.[e.type];return n?(0,I.jsx)(t_,{name:e.type,children:(0,I.jsx)(n,{...Bo(e.props),children:e.children.length>0?N5(e.children):void 0})}):(0,I.jsxs)(e_,{children:[`No component is registered as `,e.type,`. Export it from protobase.ui.tsx, or load the plugin that provides it.`]})}let n=Rne[e.type];return n?(0,I.jsx)(n,{node:e,slots:Bne(e),children:N5(e.children)}):(0,I.jsxs)(e_,{children:[e.type,` is not a block this version of the app knows.`]})},Vne=({name:e})=>{let t=G().pages[e];return t?(0,I.jsx)(P5,{node:t.tree}):(0,I.jsxs)(Cg,{title:`Not found`,children:[`There is no page called `,e,`.`]})},F5=e=>typeof e==`string`&&e.trim()!==``,Hne=e=>{if(typeof e!=`object`||!e||Array.isArray(e))return{problem:`its plugin.json is not an object`};let{name:t,version:n,api:r,protobase:i,entry:a,css:o}=e;return F5(t)?Number.isInteger(r)?F5(i)?F5(a)?o!==void 0&&!F5(o)?{problem:`its plugin.json names a stylesheet that is no URL`}:n!==void 0&&!F5(n)?{problem:`its plugin.json has a version that is no text`}:{manifest:{name:t,api:r,protobase:i,entry:a,...n!==void 0&&{version:n},...o!==void 0&&{css:o}}}:{problem:`its plugin.json names no module`}:{problem:`its plugin.json names no Protobase versions`}:{problem:`its plugin.json names no plugin API`}:{problem:`its plugin.json names no plugin`}},I5=class extends Error{name=`UiConflictError`},Une=e=>Object.keys(e).some(e=>e==="default"||/^[A-Z]/.test(e))?c(e):e,L5=(e,t)=>[...(e.extends??[]).map(Une).flatMap((e,n)=>L5(e,e.name??`${t} extends[${n}]`)),{ui:e,label:t}],R5=(e,t,n)=>{let r={},i=new Map;for(let{ui:a,label:o}of t)for(let[t,s]of Object.entries(n(a)??{})){if(Object.hasOwn(r,t)&&r[t]!==s)throw new I5(`${e} "${t}" is defined twice, by ${i.get(t)} and by ${o}; rename one of them`);r[t]=s,i.set(t,i.get(t)??o)}return r},z5=e=>e.length<=1?e[0]:()=>e.map((e,t)=>(0,I.jsx)(e,{},t)),B5=(...e)=>{let t=e.flatMap((e,t)=>L5(e,e.name??`UI config ${t+1}`)),n=R5(`The component`,t,e=>e.components),r=R5(`The action handler`,t,e=>e.actions),i=R5(`The field type`,t,e=>e.fields),a=z5(t.flatMap(({ui:e})=>e.shell?.actions?[e.shell.actions]:[])),o=z5(t.flatMap(({ui:e})=>e.shell?.rightPanel?[e.shell.rightPanel]:[])),s=e.at(-1)?.name;return{...s&&{name:s},components:n,actions:r,...Object.keys(i).length>0&&{fields:i},...(a||o)&&{shell:{...a&&{actions:a},...o&&{rightPanel:o}}}}},V5=(0,l.createContext)(null),Wne=V5.Provider,Gne=()=>{let e=(0,l.useContext)(V5);if(!e)throw Error(`usePlugin is for the components of a plugin the app loaded`);return e},H5=(e,t,n)=>{let r=n=>(0,I.jsx)(Wne,{value:e,children:(0,I.jsx)(t,{...n})});return r.displayName=`${e.name}:${n}`,r},Kne=(e,t,n)=>({of:n.of,display:H5(e,n.display,`fields.${t}.display`),...n.editor&&{editor:H5(e,n.editor,`fields.${t}.editor`)},...n.cell&&{cell:H5(e,n.cell,`fields.${t}.cell`)}}),qne=(e,t)=>{let n=B5({...c(t),name:e.name}),r=Object.fromEntries(Object.entries(n.components??{}).map(([t,n])=>[t,H5(e,n,t)])),i=n.fields&&Object.fromEntries(Object.entries(n.fields).map(([t,n])=>[t,Kne(e,t,n)])),a=n.shell&&{...n.shell.actions&&{actions:H5(e,n.shell.actions,`shell.actions`)},...n.shell.rightPanel&&{rightPanel:H5(e,n.shell.rightPanel,`shell.rightPanel`)}};return{name:e.name,components:r,...n.actions&&{actions:n.actions},...i&&{fields:i},...a&&{shell:a}}},Jne=`0.12.16`,U5={pluginApi:1}.pluginApi,W5=Jne,Yne={readJson:async e=>{let t=await fetch(e,{cache:`no-cache`,credentials:`same-origin`});return t.ok?{json:await t.json()}:{status:t.status}},addStylesheet:e=>{if([...document.querySelectorAll(`link[rel="stylesheet"]`)].some(t=>t.href===e))return;let t=document.createElement(`link`);t.rel=`stylesheet`,t.href=e,document.head.append(t)},importModule:e=>gh(()=>import(e),[])},Xne={api:U5,version:W5},Zne=e=>e instanceof Error?e.message:String(e),Qne=async(e,t,n,r=Xne)=>{let i=new URL(e.url,n).href,a=(e,t)=>({kind:`off`,url:i,...t&&{name:t},reason:e}),o;try{let n=await t.readJson(i);if(`status`in n)return a(`its plugin.json answered ${n.status}`);let s=Hne(n.json);if(`problem`in s)return a(s.problem);let{manifest:c}=s;o=c.name;let l=gs(c,r);if(l)return a(l,o);c.css&&t.addStylesheet(new URL(c.css,i).href);let u=await t.importModule(new URL(c.entry,i).href),d={name:o,...c.version&&{version:c.version},url:i,settings:e.settings??{}};return{kind:`loaded`,plugin:d,ui:qne(d,u)}}catch(e){return a(`it could not be loaded: ${Zne(e)}`,o)}},$ne=(e,t)=>{let n=B5(e??{}),r=[],i=[];for(let e of t){if(e.kind===`off`){i.push(e);continue}try{B5(...r,e.ui,n),r.push(e.ui)}catch(t){if(!(t instanceof I5))throw t;i.push({kind:`off`,url:e.plugin.url,name:e.plugin.name,reason:t.message})}}return{ui:r.length===0?n:B5(...r,n),off:i}},ere=1e4,G5=[],tre=(e,t)=>{let n=JSON.stringify(e),[r,i]=(0,l.useState)({key:`[]`,loads:G5,settled:!0});return(0,l.useEffect)(()=>{if(e.length===0)return;let r=!0,a=!1,o=e.map(()=>void 0),s=()=>{if(!r)return;let t=o.filter(e=>e!==void 0);i({key:n,loads:t,settled:a||t.length===e.length})},c=setTimeout(()=>{a=!0,s()},ere);return e.forEach((e,n)=>{Qne(e,t,window.location.href).then(e=>{o[n]=e,s()})}),()=>{r=!1,clearTimeout(c)}},[n,t]),e.length===0?{loads:G5,settled:!0}:r.key===n?r:{loads:G5,settled:!1}},K5=(0,l.createContext)([]),nre=()=>(0,l.useContext)(K5),rre=({ui:e,loader:t=Yne,children:n})=>{let{plugins:r=[]}=G(),{loads:i,settled:a}=tre(r,t),o=(0,l.useMemo)(()=>$ne(e,i),[e,i]);return a?(0,I.jsx)(Ch.Provider,{value:o.ui,children:(0,I.jsx)(K5.Provider,{value:o.off,children:n})}):(0,I.jsxs)(`div`,{className:`flex h-full min-h-48 items-center justify-center gap-2 text-[13px] text-muted-foreground`,children:[(0,I.jsx)(nr,{}),` Loading`]})},ire=({off:e})=>{let[t,n]=(0,l.useState)(!1);return t||e.length===0?null:(0,I.jsxs)(`div`,{role:`region`,"aria-label":`Plugins off`,className:`flex items-start gap-3 border-b border-warning/40 bg-warning-soft px-4 py-2 text-[13px] text-warning-text`,children:[(0,I.jsx)(Ct,{"aria-hidden":!0,className:`mt-0.5 size-4 shrink-0`}),(0,I.jsx)(`ul`,{className:`min-w-0 flex-1 space-y-0.5 break-words`,children:e.map(e=>(0,I.jsxs)(`li`,{children:[`The plugin `,(0,I.jsx)(`span`,{className:`font-semibold`,children:e.name??e.url}),` is off: `,e.reason,`.`]},e.url))}),(0,I.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,className:`rounded p-0.5 hover:bg-warning/10`,onClick:()=>n(!0),children:(0,I.jsx)(dn,{"aria-hidden":!0,className:`size-4`})})]})},are=({rows:e})=>(0,I.jsx)(`dl`,{className:`grid grid-cols-[auto_1fr] gap-x-4 gap-y-2 text-[13px]`,children:e.map(e=>(0,I.jsxs)(`div`,{className:`contents`,children:[(0,I.jsx)(`dt`,{className:`text-muted-foreground`,children:e.label}),(0,I.jsx)(`dd`,{className:`text-right tabular-nums text-foreground`,children:e.value})]},e.label))}),ore=({records:e,onNavigate:t})=>(0,I.jsx)(`ul`,{className:`-mx-2`,children:e.map(e=>(0,I.jsx)(`li`,{children:(0,I.jsxs)(`a`,{href:e.href??`#`,onClick:n=>{n.preventDefault(),e.href&&t?.(e.href)},className:`group flex items-center justify-between gap-3 rounded-md px-2 py-2 hover:bg-muted`,children:[(0,I.jsxs)(`span`,{className:`min-w-0`,children:[(0,I.jsx)(`span`,{className:`block text-[11px] uppercase tracking-wide text-faint-foreground`,children:e.kind}),(0,I.jsx)(`span`,{className:`block truncate text-[13px] font-medium text-primary-text`,children:e.label}),e.meta&&(0,I.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:e.meta})]}),(0,I.jsx)(P,{className:`size-4 shrink-0 text-faint-foreground group-hover:text-foreground`})]})},e.label))}),q5=({title:e,children:t})=>(0,I.jsxs)(`div`,{className:`rounded-lg border border-border bg-background p-4`,children:[(0,I.jsx)(`h3`,{className:`mb-3 text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:e}),t]}),J5=({title:e,rows:t})=>t.length===0?null:(0,I.jsx)(q5,{title:e,children:(0,I.jsx)(are,{rows:t})}),sre=({collection:e,title:t,status:n,lastEditedBy:r,presence:i=[],actions:a})=>(0,I.jsxs)(`header`,{className:`flex flex-col gap-4 border-b border-border pb-6 md:flex-row md:items-end md:justify-between md:gap-6`,children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e}),(0,I.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-x-3 gap-y-1`,children:[(0,I.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight text-foreground md:text-2xl`,children:t}),(0,I.jsx)(zn,{tone:n.tone,children:n.label})]}),(0,I.jsx)(`p`,{className:`mt-1.5 text-xs text-muted-foreground`,children:r.name?(0,I.jsxs)(I.Fragment,{children:[`Last edited by `,(0,I.jsx)(`span`,{className:`font-medium text-foreground`,children:r.name}),` `,r.ago]}):(0,I.jsxs)(I.Fragment,{children:[`Last updated `,r.ago]})})]}),(0,I.jsxs)(`div`,{className:`flex items-center gap-4`,children:[i.length>0&&(0,I.jsxs)(`span`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,I.jsx)(jn,{people:i,size:`md`}),i.length,` viewing`]}),a]})]}),Y5=(e,t)=>[`${t}_at`,`${t}At`].find(t=>e.fields[t]),X5=({item:e,scope:t})=>{let{components:n}=wh(),r=n?.[e.component],i=r?(0,I.jsx)(B8,{value:t,children:(0,I.jsx)(t_,{name:e.component,children:(0,I.jsx)(r,{...Bo(e.props??{})})})}):(0,I.jsxs)(e_,{children:[`No component is registered as `,e.component,`. Export it from protobase.ui.tsx, or load the plugin that provides it.`]});return e.sidebar?e.title?(0,I.jsx)(q5,{title:e.title,children:i}):i:e.title?(0,I.jsx)(K_,{title:e.title,children:i}):(0,I.jsx)(`section`,{className:`py-8`,children:i})},cre=({actions:e})=>(0,I.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border bg-background`,children:[(0,I.jsx)(`h3`,{className:`hidden border-b border-border px-4 py-2.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground md:block`,children:`Actions`}),(0,I.jsx)(`ul`,{className:`flex flex-wrap gap-2 p-2 md:block md:divide-y md:divide-border md:p-0`,children:e.map(({name:e,description:t,icon:n,onRun:r,blocked:i,running:a})=>(0,I.jsx)(`li`,{children:(0,I.jsxs)(`button`,{type:`button`,onClick:r,disabled:!!i||a,title:i,className:`flex min-h-11 items-center gap-2 rounded-md border border-border-strong px-3 text-left hover:bg-surface disabled:cursor-default disabled:opacity-60 md:min-h-0 md:w-full md:items-start md:gap-3 md:rounded-none md:border-0 md:px-4 md:py-3`,children:[(0,I.jsx)(n,{className:`size-4 shrink-0 text-muted-foreground md:mt-0.5`}),(0,I.jsxs)(`span`,{children:[(0,I.jsx)(`span`,{className:`block text-[13px] font-medium text-foreground`,children:e}),t&&(0,I.jsx)(`span`,{className:`mt-0.5 hidden text-xs leading-snug text-muted-foreground md:block`,children:t})]})]})},e))})]}),lre=e=>uT(e)??pn,ure=({model:e,stored:t,recordKey:n})=>{let{go:r}=Qg(),i={model:e,record:t.record,key:n,etag:t.etag,permissions:t.permissions},a=X8(e.name,i,t=>t.run?.kind===`delete`&&r({kind:`list`,resource:e.name},{replace:!0})),[o,s]=(0,l.useState)();return a.actions.length===0?null:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(cre,{actions:a.actions.map(e=>({name:e.label,icon:lre(e.icon),blocked:a.blocked(e),running:a.running===e.name,onRun:()=>e.confirm?s(e):void a.run(e)}))}),o&&(0,I.jsx)(R8,{action:o,label:o.label,danger:o.run?.kind===`delete`,onCancel:()=>s(void 0),onConfirm:()=>{s(void 0),a.run(o)}})]})},Z5=[[`M8 hex bolt A2, 100 pcs`,`FST`,1890],[`M10 hex nut A2, 100 pcs`,`FST`,1240],[`Stainless washer 8 mm, 250 pcs`,`FST`,990],[`Cable tie 300 mm, 100 pcs`,`ELC`,650],[`Cable gland M20, 25 pcs`,`ELC`,2340],[`Junction box IP65`,`ELC`,1480],[`Hydraulic hose 1/2 in, 5 m`,`HYD`,8650],[`Hydraulic coupling 3/8 in`,`HYD`,1895],[`Pallet wrap 500 mm`,`PKG`,740],[`Corrugated box 400 x 300`,`PKG`,215],[`Bubble wrap roll 50 m`,`PKG`,1990],[`Safety gloves, size L`,`PPE`,395],[`Safety glasses, clear`,`PPE`,450],[`Ear defenders SNR 31`,`PPE`,1295],[`Ball bearing 6204-2RS`,`BRG`,685],[`Taper roller bearing 30205`,`BRG`,1420],[`Timing belt HTD 5M, 600 mm`,`BLT`,2780],[`V-belt SPA 1250`,`BLT`,1360],[`Grease cartridge, 400 g`,`LUB`,920],[`Machine oil ISO 68, 5 l`,`LUB`,3950],[`Angle grinder disc 125 mm, 10 pcs`,`ABR`,1880],[`Drill bit set HSS, 19 pcs`,`TLS`,3490],[`Torque wrench 20-100 Nm`,`TLS`,14900],[`Pneumatic cylinder 40 x 100`,`PNE`,6120],[`Air hose PU 8 mm, 20 m`,`PNE`,2475],[`LED panel 600 x 600, 40 W`,`LGT`,3290],[`Pallet label roll 100 x 150`,`LBL`,1175],[`Thermal printer ribbon`,`LBL`,890],[`Euro pallet EPAL, used`,`PLT`,1150],[`Roll container, galvanised`,`PLT`,9800]];Z5.length;var dre=e=>{let[t,n,r]=Z5[e%Z5.length],i=e%Z5.length;return{id:`P-${200+i}`,sku:`${n}-${String(1e3+i*7).padStart(4,`0`)}`,name:t,category:n,priceCents:r}},Q5=`grid grid-cols-[28px_minmax(0,1fr)_88px_112px_112px_32px] items-center gap-2 pointer-coarse:grid-cols-[44px_minmax(0,1fr)_88px_112px_112px_44px]`,$5=e=>e.quantity*e.unitPriceCents,fre=(e,t=.21)=>{let n=e.reduce((e,t)=>e+$5(t),0),r=Math.round(n*t);return{subtotalCents:n,vatCents:r,totalCents:n+r}},pre=({items:e,label:t})=>{let[n,r]=(0,l.useState)(!1),i=(0,l.useRef)(null);return(0,l.useEffect)(()=>{if(!n)return;let e=e=>{(e instanceof KeyboardEvent?e.key===`Escape`:!i.current?.contains(e.target))&&r(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,e)}},[n]),(0,I.jsxs)(`div`,{ref:i,className:`relative flex justify-center`,children:[(0,I.jsx)(`button`,{type:`button`,"aria-label":t,"aria-haspopup":`menu`,"aria-expanded":n,onClick:()=>r(!n),className:`inline-flex size-7 items-center justify-center rounded text-faint-foreground hover:bg-muted hover:text-foreground pointer-coarse:size-11`,children:(0,I.jsx)(Me,{className:`size-4`})}),n&&(0,I.jsx)(`ul`,{role:`menu`,className:`absolute right-0 top-full z-30 mt-1 min-w-36 rounded-md border bg-background py-1 text-[13px] shadow-pop`,children:e.map(e=>(0,I.jsx)(`li`,{role:`none`,children:(0,I.jsx)(`button`,{type:`button`,role:`menuitem`,disabled:e.disabled,className:F(`block min-h-9 w-full whitespace-nowrap px-3 py-1.5 text-left hover:bg-muted disabled:text-faint-foreground disabled:hover:bg-transparent`,e.destructive&&`text-danger-text`),onClick:()=>{r(!1),e.onSelect()},children:e.label})},e.label))})]})},e7=({value:e,onCommit:t,format:n,parse:r,label:i,width:a=`w-full`})=>{let[o,s]=(0,l.useState)(null);return(0,I.jsx)(`input`,{"aria-label":i,inputMode:`decimal`,value:o??n(e),onFocus:e=>e.currentTarget.select(),onChange:e=>s(e.target.value),onBlur:()=>{if(o===null)return;let e=r(o);s(null),Number.isFinite(e)&&e>=0&&t(e)},onKeyDown:e=>e.key===`Enter`&&e.currentTarget.blur(),className:F(`h-7 rounded-md border border-transparent bg-transparent px-2 text-right text-[13px] tabular-nums text-foreground outline-none hover:border-border-strong focus:border-primary focus:bg-background focus:ring-2 focus:ring-primary/20`,a)})};function mre(){var e=[...arguments];return(0,l.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var t7=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function n7(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function r7(e){return`nodeType`in e}function i7(e){return e?n7(e)?e:r7(e)?e.ownerDocument?.defaultView??window:window:window}function a7(e){let{Document:t}=i7(e);return e instanceof t}function o7(e){return!n7(e)&&e instanceof i7(e).HTMLElement}function s7(e){return e instanceof i7(e).SVGElement}function c7(e){return e?n7(e)?e.document:r7(e)?a7(e)?e:o7(e)||s7(e)?e.ownerDocument:document:document:document}var l7=t7?l.useLayoutEffect:l.useEffect;function u7(e){let t=(0,l.useRef)(e);return l7(()=>{t.current=e}),(0,l.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function hre(){let e=(0,l.useRef)(null);return[(0,l.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,l.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function d7(e,t){t===void 0&&(t=[e]);let n=(0,l.useRef)(e);return l7(()=>{n.current!==e&&(n.current=e)},t),n}function f7(e,t){let n=(0,l.useRef)();return(0,l.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function p7(e){let t=u7(e),n=(0,l.useRef)(null);return[n,(0,l.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function m7(e){let t=(0,l.useRef)();return(0,l.useEffect)(()=>{t.current=e},[e]),t.current}var h7={};function g7(e,t){return(0,l.useMemo)(()=>{if(t)return t;let n=h7[e]==null?0:h7[e]+1;return h7[e]=n,e+`-`+n},[e,t])}function _7(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var v7=_7(1),y7=_7(-1);function gre(e){return`clientX`in e&&`clientY`in e}function b7(e){if(!e)return!1;let{KeyboardEvent:t}=i7(e.target);return t&&e instanceof t}function _re(e){if(!e)return!1;let{TouchEvent:t}=i7(e.target);return t&&e instanceof t}function x7(e){if(_re(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return gre(e)?{x:e.clientX,y:e.clientY}:null}var S7=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[S7.Translate.toString(e),S7.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),C7=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function vre(e){return e.matches(C7)?e:e.querySelector(C7)}var yre={display:`none`};function bre(e){let{id:t,value:n}=e;return l.createElement(`div`,{id:t,style:yre},n)}function xre(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return l.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function Sre(){let[e,t]=(0,l.useState)(``);return{announce:(0,l.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var w7=(0,l.createContext)(null);function Cre(e){let t=(0,l.useContext)(w7);(0,l.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function wre(){let[e]=(0,l.useState)(()=>new Set),t=(0,l.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,l.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var Tre={draggable:`
61
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function O6(e,t){if(e){if(typeof e==`string`)return k6(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?k6(e,t):void 0}}function k6(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function A6(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function j6(e){if(Array.isArray(e))return e}var M6=()=>(lX(),null);function N6(e){if(typeof e==`number`)return e;if(typeof e==`string`){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var P6=(0,l.forwardRef)((e,t)=>{var n=(0,l.useRef)(null),r=E6((0,l.useState)({containerWidth:N6(e.style?.width),containerHeight:N6(e.style?.height)}),2),i=r[0],a=r[1],o=(0,l.useCallback)((e,t)=>{a(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),s=(0,l.useCallback)(e=>{if(typeof t==`function`&&t(e),n.current!=null&&(n.current.disconnect(),n.current=null),e!=null&&typeof ResizeObserver<`u`){var r=e.getBoundingClientRect(),i=r.width,a=r.height;o(i,a);var s=new ResizeObserver(e=>{var t=e[0];if(t!=null){var n=t.contentRect,r=n.width,i=n.height;o(r,i)}});s.observe(e),n.current=s}},[t,o]);return(0,l.useEffect)(()=>()=>{n.current?.disconnect()},[o]),l.createElement(l.Fragment,null,l.createElement(YN,{width:i.containerWidth,height:i.containerHeight}),l.createElement(`div`,T6({ref:s},e)))}),F6=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=E6((0,l.useState)({containerWidth:N6(n),containerHeight:N6(r)}),2),a=i[0],o=i[1],s=(0,l.useCallback)((e,t)=>{o(n=>{var r=Math.round(e),i=Math.round(t);return n.containerWidth===r&&n.containerHeight===i?n:{containerWidth:r,containerHeight:i}})},[]),c=(0,l.useCallback)(e=>{if(typeof t==`function`&&t(e),e!=null){var n=e.getBoundingClientRect(),r=n.width,i=n.height;s(r,i)}},[t,s]);return l.createElement(l.Fragment,null,l.createElement(YN,{width:a.containerWidth,height:a.containerHeight}),l.createElement(`div`,T6({ref:c},e)))}),I6=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height;return l.createElement(l.Fragment,null,l.createElement(YN,{width:n,height:r}),l.createElement(`div`,T6({ref:t},e)))}),L6=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height;return typeof n==`string`||typeof r==`string`?l.createElement(F6,T6({},e,{ref:t})):typeof n==`number`&&typeof r==`number`?l.createElement(I6,T6({},e,{width:n,height:r,ref:t})):l.createElement(l.Fragment,null,l.createElement(YN,{width:n,height:r}),l.createElement(`div`,T6({ref:t},e)))});function R6(e){return e?P6:L6}var z6=(0,l.forwardRef)((e,t)=>{var n=e.children,r=e.className,i=e.height,a=e.onClick,o=e.onContextMenu,s=e.onDoubleClick,c=e.onMouseDown,u=e.onMouseEnter,d=e.onMouseLeave,f=e.onMouseMove,p=e.onMouseUp,m=e.onTouchEnd,h=e.onTouchMove,g=e.onTouchStart,_=e.style,v=e.width,y=e.responsive,b=e.dispatchTouchEvents,x=b===void 0||b,S=(0,l.useRef)(null),C=ok(),w=E6((0,l.useState)(null),2),T=w[0],E=w[1],D=E6((0,l.useState)(null),2),O=D[0],k=D[1],A=y6(),j=IN(),M=j?.width>0?j.width:v,N=j?.height>0?j.height:i,ee=(0,l.useCallback)(e=>{A(e),typeof t==`function`&&t(e),E(e),k(e),e!=null&&(S.current=e)},[A,t,E,k]),te=(0,l.useCallback)(e=>{C(f3(e)),C(P3({handler:a,reactEvent:e}))},[C,a]),ne=(0,l.useCallback)(e=>{C(m3(e)),C(P3({handler:u,reactEvent:e}))},[C,u]),re=(0,l.useCallback)(e=>{C(yq()),C(P3({handler:d,reactEvent:e}))},[C,d]),ie=(0,l.useCallback)(e=>{C(m3(e)),C(P3({handler:f,reactEvent:e}))},[C,f]),ae=(0,l.useCallback)(()=>{C(D3())},[C]),oe=(0,l.useCallback)(()=>{C(O3())},[C]),se=(0,l.useCallback)(e=>{C(E3(e.key))},[C]),ce=(0,l.useCallback)(e=>{C(P3({handler:o,reactEvent:e}))},[C,o]),le=(0,l.useCallback)(e=>{C(P3({handler:s,reactEvent:e}))},[C,s]),ue=(0,l.useCallback)(e=>{C(P3({handler:c,reactEvent:e}))},[C,c]),P=(0,l.useCallback)(e=>{C(P3({handler:p,reactEvent:e}))},[C,p]),de=(0,l.useCallback)(e=>{C(P3({handler:g,reactEvent:e}))},[C,g]),fe=(0,l.useCallback)(e=>{x&&C(B3(e)),C(P3({handler:h,reactEvent:e}))},[C,x,h]),pe=(0,l.useCallback)(e=>{C(P3({handler:m,reactEvent:e}))},[C,m]),me=R6(y);return l.createElement(LY.Provider,{value:T},l.createElement(QE.Provider,{value:O},l.createElement(me,{width:M??_?.width,height:N??_?.height,className:ZT(`recharts-wrapper`,r),style:x6({position:`relative`,cursor:`default`,width:M,height:N},_),onClick:te,onContextMenu:ce,onDoubleClick:le,onFocus:ae,onBlur:oe,onKeyDown:se,onMouseDown:ue,onMouseEnter:ne,onMouseLeave:re,onMouseMove:ie,onMouseUp:P,onTouchEnd:pe,onTouchMove:fe,onTouchStart:de,ref:ee},l.createElement(M6,null),n)))}),B6=[`width`,`height`,`responsive`,`children`,`className`,`style`,`compact`,`title`,`desc`];function V6(e,t){if(e==null)return{};var n,r,i=H6(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function H6(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var U6=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=e.responsive,a=e.children,o=e.className,s=e.style,c=e.compact,u=e.title,d=e.desc,f=rE(V6(e,B6));return c?l.createElement(l.Fragment,null,l.createElement(YN,{width:n,height:r}),l.createElement(f6,{otherAttributes:f,title:u,desc:d},a)):l.createElement(z6,{className:o,style:s,width:n,height:r,responsive:i??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},l.createElement(f6,{otherAttributes:f,title:u,desc:d,ref:t},l.createElement(I1,null,a)))});function W6(){return W6=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},W6.apply(null,arguments)}function G6(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function K6(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?G6(Object(n),!0).forEach(function(t){q6(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):G6(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function q6(e,t,n){return(t=J6(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function J6(e){var t=Y6(e,`string`);return typeof t==`symbol`?t:t+``}function Y6(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var X6=K6({accessibilityLayer:!0,barCategoryGap:`10%`,barGap:4,layout:`horizontal`,margin:{top:5,right:5,bottom:5,left:5},responsive:!1,reverseStackOrder:!1,stackOffset:`none`,syncMethod:`index`},K3),Z6=(0,l.forwardRef)(function(e,t){var n=sO(e.categoricalChartProps,X6),r=e.chartName,i=e.defaultTooltipEventType,a=e.validateTooltipEventTypes,o=e.tooltipPayloadSearcher,s=e.categoricalChartProps,c={chartName:r,defaultTooltipEventType:i,validateTooltipEventTypes:a,tooltipPayloadSearcher:o,eventEmitter:void 0};return l.createElement(Q3,{preloadedState:{options:c},reduxStoreName:s.id??r},l.createElement(b1,{chartData:s.data}),l.createElement(e6,{layout:n.layout,margin:n.margin}),l.createElement(n6,{throttleDelay:n.throttleDelay,throttledEvents:n.throttledEvents}),l.createElement(t6,{baseValue:n.baseValue,accessibilityLayer:n.accessibilityLayer,barCategoryGap:n.barCategoryGap,maxBarSize:n.maxBarSize,stackOffset:n.stackOffset,barGap:n.barGap,barSize:n.barSize,syncId:n.syncId,syncMethod:n.syncMethod,className:n.className,reverseStackOrder:n.reverseStackOrder}),l.createElement(U6,W6({},n,{ref:t})))}),Q6=[`axis`,`item`],$6=(0,l.forwardRef)((e,t)=>l.createElement(Z6,{chartName:`BarChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:Q6,tooltipPayloadSearcher:UY,categoricalChartProps:e,ref:t})),e8={fontSize:11,fill:`var(--muted-foreground)`},t8=({title:e=`Orders created`,noun:t=`orders`,defaultGranularity:n=`day`,data:r,granularity:i,onGranularityChange:a,periodLabel:o,className:s})=>{let[c,u]=(0,l.useState)(n),d=i??c,f=a??u,p=r??KT(d),m=_n(`(min-width: 640px)`),h=JT(p);return(0,I.jsxs)(`section`,{className:F(`rounded-lg border bg-background px-4 pb-2 pt-3`,s),children:[(0,I.jsxs)(`header`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,I.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[(0,I.jsx)(`h2`,{className:`text-[13px] font-semibold`,children:e}),(0,I.jsx)(`span`,{className:`text-[13px] font-semibold tabular-nums`,children:mv(qT(p))}),(0,I.jsxs)(`span`,{className:F(`text-xs font-medium tabular-nums`,h>=0?`text-success-text`:`text-danger-text`),children:[h>=0?`+`:`−`,Math.abs(h).toFixed(1),`%`]}),(0,I.jsx)(`span`,{className:`hidden text-xs text-muted-foreground sm:inline`,children:o??`last ${d===`day`?`30 days`:`12 weeks`}`})]}),(0,I.jsx)(MT,{value:d,onChange:f,options:[{value:`day`,label:`Day`},{value:`week`,label:`Week`}]})]}),(0,I.jsx)(`div`,{className:`mt-2 h-24`,children:(0,I.jsx)(RN,{width:`100%`,height:`100%`,children:(0,I.jsxs)($6,{data:p,margin:{top:4,right:0,bottom:0,left:0},barCategoryGap:d===`day`?`22%`:`30%`,children:[(0,I.jsx)(a2,{vertical:!1,stroke:`var(--border)`}),(0,I.jsx)(q4,{dataKey:`at`,padding:{left:4,right:m?4:18},tickFormatter:Dd,tick:e8,axisLine:!1,tickLine:!1,interval:d===`day`?m?4:9:m?1:3,height:18}),(0,I.jsx)(c3,{width:m?36:28,tick:e8,axisLine:!1,tickLine:!1,tickCount:3}),(0,I.jsx)(EX,{cursor:{fill:`var(--muted)`},content:(0,I.jsx)(YT,{noun:t}),isAnimationActive:!1}),(0,I.jsx)(E4,{dataKey:`count`,fill:`var(--primary)`,radius:[2,2,0,0],isAnimationActive:!1})]})})})]})},n8={"7d":`last 7 days`,"30d":`last 30 days`,"90d":`last 90 days`,"1y":`last year`,all:`all time`},r8=({resource:e,chart:t,title:n,noun:r,filter:i})=>{let[a,o]=(0,l.useState)(t.granularity===`week`?`week`:`day`),s=a===`week`?`90d`:t.range,c=zT(e,{field:t.field,range:s,granularity:a,filter:i}).data?.points.map(e=>({at:Date.parse(`${e.bucket}Z`),count:e.count}))??[];return(0,I.jsx)(t8,{title:n,noun:r,data:c,granularity:a,onGranularityChange:o,periodLabel:a===`week`?`last 12 weeks`:n8[s]})},i8=({value:e,onCommit:t,placeholder:n,className:r})=>{let[i,a]=(0,l.useState)(e);return(0,l.useEffect)(()=>a(e),[e]),(0,l.useEffect)(()=>{if(i===e)return;let n=setTimeout(()=>t(i),350);return()=>clearTimeout(n)},[i,e,t]),(0,I.jsx)(er,{wrapperClassName:F(`min-w-0 flex-1 sm:w-72 sm:flex-initial`,r),leading:(0,I.jsx)(kt,{className:`size-4`}),placeholder:n,"aria-label":`Search`,value:i,onChange:e=>a(e.target.value),onKeyDown:e=>e.key===`Enter`&&t(i)})},a8=(e,t,n,r)=>e.map(e=>{let i=t.fields[e.id],a=i&&N_(r,i,n?.fields[e.id]);return a?{...e,render:t=>(0,I.jsx)(I_,{shown:a,part:`cell`,field:i,value:t[e.id],fallback:Cv(e,e.value?e.value(t):t[e.id])})}:e}),o8=Lo(),s8=e=>e.find(e=>e.kind===`search`),c8=({address:e})=>{let{resources:t}=G(),n=t[e.resource];return n?(0,I.jsx)(l8,{model:n,address:e}):(0,I.jsxs)(Cg,{title:`Not found`,children:[`There is no resource called `,e.resource,`.`]})},l8=({model:e,address:t})=>{let n=G(),{set:r,go:i}=Qg(),a=e.name,o=n.views[a],s=(0,l.useMemo)(()=>Uw(o,e),[o,e]),{fields:c}=wh(),u=(0,l.useMemo)(()=>a8(bw(e,o),e,o,c),[e,o,c]),d=t.filter,f=(0,l.useMemo)(()=>Rw(s,d),[s,d]),p=f.ok?f.state:VC,m=f.ok?f.extras:[],{orderBy:h,filterLayout:g}=t,_=vn(),[v,y]=(0,l.useState)(!1),b=Xw({model:e,resources:n.resources,views:n.views,view:o,state:p,extras:m}),x=(0,l.useMemo)(()=>Hg(e,o,u.map(e=>e.id)),[e,o,u]),S=$w({resources:n.resources,views:n.views,model:e,columns:x,filter:f.ok?d:``,orderBy:h}),C=Lg(o,t.display),w=LT(e,S.page,S.key,C!==void 0),T=th(e,o),E=e=>({key:e.id,title:String(typeof e[T]==`object`?e[T].name:e[T]??e.id),etag:typeof e.etag==`string`?e.etag:void 0,snapshot:e}),D=o?.names?.singular??W(a),O=Eg(a),{state:k}=B(),A=sT({model:e,view:o,restore:cT(e),onReview:e=>i({kind:`record`,resource:a,key:e.key})}),j=(e,t=m)=>r({filter:jw(s,e,t)}),M=s8(m),N=e=>{let t=m.filter(e=>e.kind!==`search`);j(p,e?[...t,o8.search(e)]:t)},ee=o?.names?.plural??W(a),te=C&&(0,I.jsx)(IT,{model:e,view:o,display:C,orderBy:h,onChange:e=>r({orderBy:e})}),ne=e.search?.length?(0,I.jsx)(i8,{value:M?.kind===`search`?M.text:``,onCommit:N,placeholder:`Search ${ee.toLowerCase()}`,className:_?void 0:`min-h-11`}):null,re=(0,I.jsx)(uw,{layout:g,config:b,value:p,onChange:j,leading:g===`bar`?te:void 0,trailing:ne}),ie=g===`bar`?re:(0,I.jsx)(ZC,{groups:[te?[te]:[]],trailing:ne}),ae=KC(b,p),oe=(0,I.jsx)(RC,{scroll:!0,chips:ae,onRemove:e=>j(qC(p,e)),onClear:()=>j(VC)}),se=C&&(0,I.jsx)(YC,{title:`Sort`,children:(0,I.jsx)(IT,{model:e,view:o,display:C,orderBy:h,onChange:e=>r({orderBy:e}),className:`min-h-11 w-full`})}),ce=(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,I.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,I.jsxs)(V,{className:`min-h-11`,onClick:()=>y(!0),"aria-haspopup":`dialog`,children:[(0,I.jsx)(Vt,{className:`size-3.5`}),`Filters`,ae.length>0&&` (${ae.length})`]}),ne??(0,I.jsx)(`div`,{className:`min-w-0 flex-1`,children:oe})]}),ne&&oe,(0,I.jsx)(eT,{title:`Filters`,open:v,onClose:()=>y(!1),children:(0,I.jsx)(uw,{layout:`panel`,fullWidth:!0,config:b,value:p,onChange:j,leading:se})})]}),le=B_(O,`create`)&&(0,I.jsxs)(V,{variant:`primary`,onClick:()=>i({kind:`create`,resource:a}),children:[(0,I.jsx)(xt,{className:`size-3.5`}),`New `,D.toLowerCase()]}),ue=e=>(0,I.jsx)(PT,{view:o,value:C?.name??`table`,onChange:e=>r({display:e}),menu:e}),P=t=>i({kind:`record`,resource:a,key:rh(e,t)}),de=S.source?(0,I.jsx)(IC,{columns:u,source:S.source,sort:qg(h),onSortChange:e=>r({orderBy:Jg(e)}),onOpenRow:P,rowActions:[{label:`Open ${D.toLowerCase()}`,onSelect:P},...B_(O,`delete`)?[{label:`Delete`,destructive:!0,available:e=>V_(e,`delete`),onSelect:e=>void A.start(E(e))}]:[]],bulkActions:B_(O,`delete`)?[{label:e=>`Delete ${e}`,destructive:!0,onRun:e=>A.startBulk(e.map(E))}]:[],rowNumbers:!1,pinKey:k.kind===`signed-in`?sv(k.user.id,a):void 0,className:`min-h-0 flex-1`}):(0,I.jsx)(`div`,{className:`flex-1 rounded-lg border bg-surface`}),fe=C?C.kind===`cards`?(0,I.jsx)(CT,{model:e,view:o,display:C,list:w}):(0,I.jsx)(OT,{display:C,list:w}):de;return(0,I.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 px-5 py-4`,children:[A.dialogs,(0,I.jsx)(fd,{title:ee,subtitle:o?.help,aside:!_&&ue(!0),actions:_?(0,I.jsxs)(I.Fragment,{children:[ue(!1),le]}):le}),!f.ok&&(0,I.jsx)(D_,{title:`The filter in the address could not be read`,error:Error(f.errors.map(e=>e.message).join(`; `))}),S.error&&!C&&(0,I.jsx)(D_,{title:`Could not load rows`,error:S.error}),o?.chart&&(0,I.jsx)(r8,{resource:a,chart:o.chart,title:`${ee} created`,noun:ee.toLowerCase(),filter:f.ok?d:``}),_?ie:ce,_&&g===`panel`?(0,I.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-4`,children:[re,fe]}):fe]})},u8=({roles:e,selected:t,grantable:n,disabled:r,onChange:i})=>(0,I.jsx)(`div`,{className:`flex flex-wrap gap-x-4 gap-y-2`,children:e.filter(e=>e.membership).map(e=>{let a=t.includes(e.name),o=r||!n.has(e.name);return(0,I.jsxs)(`label`,{title:o&&!r?`You cannot give or take away this role`:void 0,className:F(`inline-flex items-center gap-1.5 text-[13px]`,o&&`text-muted-foreground`),children:[(0,I.jsx)(Jm,{checked:a,label:e.label,onChange:o?void 0:n=>i(n?[...t,e.name]:t.filter(t=>t!==e.name)),className:F(o&&`cursor-default opacity-60`)}),e.label]},e.name)})}),d8=e=>e?.role===`owner`?[`owner`,`admin`,`member`]:[`admin`,`member`],f8=({member:e,current:t,onChanged:n})=>{let{session:r,organizations:i}=B(),a=t.organization.id,{busy:o,error:s,run:c}=Ym(),l=i?.roles??[],u=e.id===t.memberId,d=d8(t),f=e.role===`owner`&&t.role!==`owner`;return(0,I.jsxs)(`li`,{className:`flex flex-col gap-2 px-3 py-3`,children:[(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,I.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,I.jsxs)(`span`,{className:`block truncate text-[13px] font-medium`,children:[e.name,u&&` (you)`]}),(0,I.jsx)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:e.email})]}),(0,I.jsx)(`select`,{"aria-label":`Organization role of ${e.name}`,value:e.role,disabled:o||f,onChange:t=>void c(async()=>{await r.organizations.setRole(a,e.id,t.target.value),n()}),className:`h-7 rounded-md border border-border-strong bg-background px-2 text-xs`,children:(f?[e.role]:d).map(e=>(0,I.jsx)(`option`,{value:e,children:zm[e]},e))}),!u&&(0,I.jsx)(V,{size:`sm`,variant:`danger`,loading:o,disabled:f,onClick:()=>void c(async()=>{await r.organizations.removeMember(a,e.id),n()}),children:`Remove`})]}),(0,I.jsx)(u8,{roles:l,selected:e.appRoles,grantable:Hm(l,t),disabled:o,onChange:t=>void c(async()=>{await r.organizations.setAppRoles(e.id,t),n()})}),(0,I.jsx)(Id,{message:s})]})},p8=({current:e})=>{let{session:t}=B(),[n,r]=(0,l.useState)(),[i,a]=(0,l.useState)(),o=e?.organization?.id,s=(0,l.useCallback)(()=>{o&&t.organizations.members(o).then(r,e=>a(e instanceof $s?_d(e):`Could not read the members`))},[t,o]);return(0,l.useEffect)(s,[s]),e?.organization?(0,I.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,I.jsx)(fd,{title:`Members`,subtitle:`Who works in ${e.organization.name}, and with which roles.`}),(0,I.jsxs)(Fd,{title:`Members`,description:`Owners and admins manage the organization; app roles decide what each member sees and does in the app.`,children:[(0,I.jsx)(Id,{message:i}),n?(0,I.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(t=>(0,I.jsx)(f8,{member:t,current:e,onChanged:s},`${t.id}/${t.role}/${t.appRoles.join()}`))}):!i&&(0,I.jsxs)(`div`,{className:`flex items-center gap-2 text-[13px] text-muted-foreground`,children:[(0,I.jsx)(nr,{}),` Loading`]})]})]}):null},m8=({link:e})=>e?(0,I.jsxs)(`p`,{className:`mt-3 break-all rounded-md border bg-muted px-3 py-2 text-xs`,children:[`This app cannot send email, so pass this link on yourself. It works once, until the invitation expires: `,(0,I.jsx)(`span`,{className:`font-mono`,children:e})]}):null,h8=({current:e,onSent:t})=>{let{session:n,organizations:r}=B(),i=r?.roles??[],[a,o]=(0,l.useState)(``),[s,c]=(0,l.useState)(`member`),[u,d]=(0,l.useState)([]),[f,p]=(0,l.useState)(),{busy:m,error:h,run:g}=Ym(),_=()=>g(async()=>{let r=await n.organizations.invite(e.organization.id,{email:a.trim(),role:s,appRoles:u});p(r.link),o(``),d([]),t()});return(0,I.jsxs)(Fd,{title:`Invite someone`,description:`They get an email with a link to join, or to make an account first. You can give the app roles you hold, and those your roles grant.`,children:[(0,I.jsx)(Id,{message:h}),(0,I.jsxs)(`form`,{className:`flex flex-col gap-3`,onSubmit:e=>{e.preventDefault(),_()},children:[(0,I.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,I.jsx)(er,{"aria-label":`Email`,type:`email`,placeholder:`name@example.com`,value:a,onChange:e=>o(e.target.value),wrapperClassName:`flex-1`}),(0,I.jsx)(`select`,{"aria-label":`Organization role`,value:s,onChange:e=>c(e.target.value),className:`h-8 rounded-md border border-border-strong bg-background px-2 text-[13px]`,children:d8(e).map(e=>(0,I.jsx)(`option`,{value:e,children:zm[e]},e))}),(0,I.jsx)(V,{type:`submit`,variant:`primary`,loading:m,disabled:!a.trim(),children:`Invite`})]}),(0,I.jsx)(u8,{roles:i,selected:u,grantable:Hm(i,e),onChange:d})]}),(0,I.jsx)(m8,{link:f})]})},g8=({invitation:e,organizationId:t,onChanged:n})=>{let{session:r,organizations:i}=B(),[a,o]=(0,l.useState)(),{busy:s,error:c,run:u}=Ym(),d=new Date(e.expiresAt).getTime()<Date.now();return(0,I.jsxs)(`li`,{className:`px-3 py-2.5`,children:[(0,I.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,I.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,I.jsx)(`span`,{className:`block truncate text-[13px] font-medium`,children:e.email}),(0,I.jsxs)(`span`,{className:`block text-xs text-muted-foreground`,children:[zm[e.role],e.appRoles.length>0&&` · ${e.appRoles.map(e=>Bm(i?.roles??[],e)).join(`, `)}`,` · `,d?`Expired`:`Until ${new Date(e.expiresAt).toLocaleDateString()}`]})]}),(0,I.jsx)(V,{size:`sm`,loading:s,onClick:()=>void u(async()=>{o((await r.organizations.resend(t,e)).link),n()}),children:`Send again`}),(0,I.jsx)(V,{size:`sm`,variant:`danger`,loading:s,onClick:()=>void u(async()=>{await r.organizations.revoke(e.id),n()}),children:`Revoke`})]}),(0,I.jsx)(Id,{message:c}),(0,I.jsx)(m8,{link:a})]})},_8=({current:e})=>{let{session:t}=B(),[n,r]=(0,l.useState)([]),i=e?.organization?.id,a=(0,l.useCallback)(()=>{i&&t.organizations.invitations(i).then(e=>r(e.filter(e=>e.status===`pending`)),()=>r([]))},[t,i]);return(0,l.useEffect)(a,[a]),!e?.organization||!i?null:(0,I.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,I.jsx)(fd,{title:`Invitations`,subtitle:`People invited to ${e.organization.name}.`}),(0,I.jsx)(h8,{current:e,onSent:a}),(0,I.jsx)(Fd,{title:`Not accepted yet`,description:n.length>0?`Sending again gives a new link, which replaces the earlier one.`:`Nobody is waiting.`,children:n.length>0&&(0,I.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(e=>(0,I.jsx)(g8,{invitation:e,organizationId:i,onChanged:a},e.id))})})]})},v8=e=>{let{session:t}=B(),[n,r]=(0,l.useState)(),[i,a]=(0,l.useState)([]),[o,s]=(0,l.useState)(),[c,u]=(0,l.useState)(0),d=(0,l.useCallback)(()=>u(e=>e+1),[]);return(0,l.useEffect)(()=>{e&&Promise.all([t.organizations.current(),t.organizations.list()]).then(([e,t])=>{r(e),a(t)},e=>s(e instanceof $s?_d(e):`Could not read your organizations`))},[e,t,c]),{current:n,organizations:i,...o&&{error:o},reload:d}},y8=e=>window.location.assign(`${e}/`),b8=({organization:e,editable:t,onSaved:n})=>{let{session:r}=B(),[i,a]=(0,l.useState)(e.name),[o,s]=(0,l.useState)(e.slug),{busy:c,error:u,run:d}=Ym(),f=i.trim()!==e.name||o!==e.slug;return(0,I.jsxs)(Fd,{title:`Details`,description:t?`The name people see, and the slug that names it in links.`:`Owners and admins can change these.`,children:[(0,I.jsx)(Id,{message:u}),(0,I.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row`,onSubmit:t=>{t.preventDefault(),d(async()=>{await r.organizations.rename(e.id,{name:i.trim(),slug:o}),n()})},children:[(0,I.jsx)(er,{"aria-label":`Name`,value:i,disabled:!t,onChange:e=>a(e.target.value),wrapperClassName:`flex-1`}),(0,I.jsx)(er,{"aria-label":`Slug`,value:o,disabled:!t,onChange:e=>s(e.target.value),wrapperClassName:`sm:w-48`}),t&&(0,I.jsx)(V,{type:`submit`,variant:`primary`,loading:c,disabled:!f||!i.trim(),children:`Save`})]})]})},x8=({organization:e,memberId:t})=>{let{session:n}=B(),[r,i]=(0,l.useState)([]),[a,o]=(0,l.useState)(``),{busy:s,error:c,run:u}=Ym();return(0,l.useEffect)(()=>{n.organizations.members(e.id).then(e=>i(e.filter(e=>e.id!==t)),()=>i([]))},[n,e.id,t]),(0,I.jsxs)(Fd,{title:`Hand over`,description:`Make another member the owner. You stay as an admin.`,children:[(0,I.jsx)(Id,{message:c}),(0,I.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row`,children:[(0,I.jsxs)(`select`,{"aria-label":`New owner`,value:a,onChange:e=>o(e.target.value),className:`h-8 flex-1 rounded-md border border-border-strong bg-background px-2 text-[13px]`,children:[(0,I.jsx)(`option`,{value:``,children:`Choose a member`}),r.map(e=>(0,I.jsxs)(`option`,{value:e.id,children:[e.name,` (`,e.email,`)`]},e.id))]}),(0,I.jsx)(V,{loading:s,disabled:!a,onClick:()=>void u(async()=>{await n.organizations.transferOwnership(a),window.location.reload()}),children:`Hand over`})]})]})},S8=({organization:e,basePath:t})=>{let{session:n}=B(),[r,i]=(0,l.useState)(!1),[a,o]=(0,l.useState)(``),{busy:s,error:c,run:u}=Ym(),d=()=>u(async()=>{await n.organizations.remove(e.id),y8(t)});return(0,I.jsxs)(Fd,{title:`Delete organization`,description:`Takes the organization and its members and invitations away. Its records must be deleted first.`,children:[(0,I.jsx)(Id,{message:r?void 0:c}),(0,I.jsx)(V,{variant:`danger`,onClick:()=>i(!0),children:`Delete organization`}),r&&(0,I.jsxs)(Pd,{title:`Delete ${e.name}?`,description:`Type its name to confirm. This cannot be undone.`,onClose:()=>i(!1),actions:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(V,{onClick:()=>i(!1),children:`Cancel`}),(0,I.jsx)(V,{variant:`danger`,loading:s,disabled:a!==e.name,onClick:()=>void d(),children:`Delete`})]}),children:[(0,I.jsx)(Id,{message:c}),(0,I.jsx)(er,{"aria-label":`Organization name`,value:a,onChange:e=>o(e.target.value)})]})]})},C8=({organization:e,basePath:t,owner:n})=>{let{session:r}=B(),{busy:i,error:a,run:o}=Ym();return(0,I.jsxs)(Fd,{title:`Leave`,description:n?`An organization keeps an owner: hand it over before you leave, unless it has another owner.`:`You stop being a member, and lose your roles here.`,children:[(0,I.jsx)(Id,{message:a}),(0,I.jsxs)(V,{loading:i,onClick:()=>void o(async()=>{await r.organizations.leave(e.id),y8(t)}),children:[`Leave `,e.name]})]})},w8=({current:e,basePath:t,onChanged:n})=>{let r=e?.organization;if(!r)return(0,I.jsx)(`div`,{className:`mx-auto w-full max-w-3xl px-4 py-6 md:px-6`,children:(0,I.jsx)(fd,{title:`Organization`,subtitle:`You do not work in an organization now. Choose one under Organizations.`})});let i=e.role===`owner`;return(0,I.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,I.jsx)(fd,{title:r.name,subtitle:e.role?`You are ${zm[e.role].toLowerCase()} here.`:`You work here through your global roles, without being a member.`}),(0,I.jsx)(b8,{organization:r,editable:Vm(e),onSaved:n},`${r.name}/${r.slug}`),i&&e.memberId&&(0,I.jsx)(x8,{organization:r,memberId:e.memberId}),e.role&&(0,I.jsx)(C8,{organization:r,basePath:t,owner:i}),i&&(0,I.jsx)(S8,{organization:r,basePath:t})]})},T8=e=>e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,63),E8=({organization:e,current:t,busy:n,onOpen:r})=>(0,I.jsxs)(`li`,{className:`flex items-center gap-3 px-3 py-2.5`,children:[(0,I.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,I.jsx)(`span`,{className:`block truncate text-[13px] font-medium`,children:e.name}),(0,I.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:e.slug})]}),t?(0,I.jsx)(zn,{tone:`green`,children:`Current`}):(0,I.jsx)(V,{size:`sm`,loading:n,onClick:r,children:`Open`})]}),D8=({basePath:e})=>{let{session:t}=B(),[n,r]=(0,l.useState)(``),[i,a]=(0,l.useState)(),{busy:o,error:s,run:c}=Ym(),u=()=>c(async()=>{await t.organizations.create({name:n.trim(),slug:i??T8(n)}),y8(e)});return(0,I.jsxs)(Fd,{title:`New organization`,description:`You become its owner, with every role, and work in it once it is made.`,children:[(0,I.jsx)(Id,{message:s}),(0,I.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row`,onSubmit:e=>{e.preventDefault(),u()},children:[(0,I.jsx)(er,{"aria-label":`Name`,placeholder:`Name`,value:n,onChange:e=>r(e.target.value),wrapperClassName:`flex-1`}),(0,I.jsx)(er,{"aria-label":`Slug`,placeholder:`slug`,value:i??T8(n),onChange:e=>a(e.target.value),wrapperClassName:`sm:w-48`}),(0,I.jsx)(V,{type:`submit`,variant:`primary`,loading:o,disabled:!n.trim(),children:`Create`})]})]})},O8=({basePath:e,currentId:t})=>{let{session:n}=B(),[r,i]=(0,l.useState)(``),[a,o]=(0,l.useState)([]),{busy:s,error:c,run:u}=Ym();return(0,l.useEffect)(()=>{let e=setTimeout(()=>void n.organizations.search(r).then(o,()=>o([])),200);return()=>clearTimeout(e)},[n,r]),(0,I.jsxs)(Fd,{title:`Find an organization`,description:`Your global roles let you work in any organization, with what those roles allow there. Opening one you are not a member of is written to the audit log.`,children:[(0,I.jsx)(Id,{message:c}),(0,I.jsx)(er,{"aria-label":`Find an organization`,placeholder:`Name or slug`,value:r,onChange:e=>i(e.target.value),leading:(0,I.jsx)(kt,{className:`size-3.5`}),wrapperClassName:`mb-3`}),a.length>0&&(0,I.jsx)(`ul`,{className:`divide-y rounded-md border`,children:a.map(r=>(0,I.jsx)(E8,{organization:r,current:r.id===t,busy:s,onOpen:()=>void u(async()=>{await n.organizations.switchTo(r.id),y8(e)})},r.id))})]})},k8=()=>{let{session:e,organizations:t}=B(),[n,r]=(0,l.useState)([]);if((0,l.useEffect)(()=>{e.organizations.myInvitations().then(r,()=>r([]))},[e]),n.length===0)return null;let i=t?.roles??[];return(0,I.jsx)(Fd,{title:`Invitations for you`,description:`Open the link in the invitation email to accept one.`,children:(0,I.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(e=>(0,I.jsxs)(`li`,{className:`px-3 py-2.5 text-[13px]`,children:[(0,I.jsx)(`span`,{className:`font-medium`,children:e.organizationName??`An organization`}),`: `,e.appRoles.map(e=>Bm(i,e)).join(`, `)||`no app roles`,(0,I.jsxs)(`span`,{className:`block text-xs text-muted-foreground`,children:[`Until `,new Date(e.expiresAt).toLocaleDateString()]})]},e.id))})})},A8=({state:e,basePath:t})=>{let{session:n,organizations:r,state:i}=B(),{busy:a,error:o,run:s}=Ym(),c=i.kind===`signed-in`?i.user:void 0,l=r?.create===`everyone`||c!==void 0&&Qm(c),u=e.current?.organization?.id;return(0,I.jsxs)(`div`,{className:`mx-auto flex w-full max-w-3xl flex-col gap-4 px-4 py-6 md:px-6`,children:[(0,I.jsx)(fd,{title:`Organizations`,subtitle:`You work in one organization at a time; what you see follows from your roles there.`}),(0,I.jsxs)(Fd,{title:`Your organizations`,description:e.organizations.length>0?`The organizations you are a member of.`:`You are not a member of an organization yet.`,children:[(0,I.jsx)(Id,{message:o??e.error}),e.organizations.length>0&&(0,I.jsx)(`ul`,{className:`divide-y rounded-md border`,children:e.organizations.map(e=>(0,I.jsx)(E8,{organization:e,current:e.id===u,busy:a,onOpen:()=>void s(async()=>{await n.organizations.switchTo(e.id),y8(t)})},e.id))})]}),(0,I.jsx)(k8,{}),l&&(0,I.jsx)(D8,{basePath:t}),(e.current?.globalRoles.length??0)>0&&(0,I.jsx)(O8,{basePath:t,currentId:u})]})},j8=(e,t)=>t?.active?{...e,role:t.active}:e,M8=(e,t)=>e instanceof $s?_d(e):t,N8=(e,t=!0)=>{let{session:n}=B(),r=uh(),[i,a]=(0,l.useState)();(0,l.useEffect)(()=>{t&&n.roles.current().then(a,e=>r.show({state:`error`,title:M8(e,`Could not read your roles`)}))},[n,r,t]);let o=(0,l.useCallback)(t=>void n.roles.switchTo(t).then(e,e=>r.show({state:`error`,title:M8(e,`Could not switch the role`)})),[n,r,e]);return{...i&&{current:i},switchTo:o}},P8=e=>new Set((e.userMenu?.items??[]).flatMap(e=>e.kind===`resource`?[e.resource]:e.kind===`page`?[e.page]:[])),F8=(e,t,n)=>(e.userMenu?.items??[]).map((r,i)=>{if(r.kind===`link`)return{id:`link-${i}`,label:r.label,icon:fg(r.icon,Pe),href:r.href,external:!0};if(r.kind===`page`){let i=e.pages[r.page];return{id:r.page,label:r.label??i?.title??W(r.page),icon:fg(r.icon??i?.icon,Je),href:as({kind:`page`,page:r.page},t),active:r.page===n}}return{id:r.resource,label:r.label??e.views[r.resource]?.names?.plural??W(r.resource),icon:fg(r.icon,ug(r.resource)),href:as({kind:`list`,resource:r.resource},t),active:r.resource===n}}),I8={sales:`Sales`,crm:`CRM`,catalog:`Catalog`,inventory:`Inventory`,core:`Admin`,hr:`HR`},L8=(e,t=``,n={})=>{let r=new Map,i=new Map,a=P8(e);for(let n of Object.values(e.pages)){if(n.nav?.hidden||a.has(n.name))continue;let e=n.nav?.group??`Pages`,o=r.get(e)??{label:e,items:[]};o.items.push({id:n.name,label:n.title,icon:fg(n.icon,Je),href:as({kind:`page`,page:n.name},t)}),r.set(e,o),i.set(n.name,n.nav?.order??2**53-1)}for(let o of Object.values(e.resources)){let s=e.views[o.name];if(!s||s.nav?.hidden||a.has(o.name))continue;let c=o.table.schema??`public`,l=s.nav?.group??I8[c]??W(c),u=r.get(l)??{label:l,items:[]};u.items.push({id:o.name,label:s.names?.plural??W(o.name),icon:ug(o.name),href:as({kind:`list`,resource:o.name},t),...n[o.name]&&{recent:n[o.name]}}),r.set(l,u),i.set(o.name,s.nav?.order??2**53-1)}for(let n of e.sources??[]){if(n.state!==`error`)continue;let e=r.get(n.source.label)??{label:n.source.label,items:[]};for(let r of n.source.resources)e.items.push({id:r,label:W(r),icon:ug(r),href:as({kind:`list`,resource:r},t),problem:`Cannot reach ${n.source.label}`});r.set(n.source.label,e)}return[...r.values()].map(e=>({...e,items:[...e.items].sort((e,t)=>(i.get(e.id)??0)-(i.get(t.id)??0))}))},R8=({action:e,label:t,danger:n,onCancel:r,onConfirm:i})=>(0,I.jsx)(Pd,{title:`${t}?`,description:e.confirm,onClose:r,actions:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(V,{onClick:r,children:`Cancel`}),(0,I.jsx)(V,{variant:n?`danger`:`primary`,onClick:i,children:t})]})}),z8=(0,l.createContext)(void 0),B8=({value:e,children:t})=>(0,I.jsx)(z8.Provider,{value:e,children:t}),V8=()=>(0,l.useContext)(z8),H8=(e,t={})=>e.replace(/\{([A-Za-z_][A-Za-z0-9_]*)\}/g,(e,n)=>encodeURIComponent(t[n]===null||t[n]===void 0?``:String(t[n]))),U8=(e,t)=>({model:e,record:t,key:ts(rh(e,t)),etag:typeof t.etag==`string`?t.etag:void 0,permissions:t.permissions}),W8=(e,t,n=``)=>({queryKey:H.count(t.name,n),queryFn:async()=>{let r=await e.list(t.name,{filter:n||void 0,pageSize:1,count:`exact`,fields:t.primaryKey});return r.totalSize??r.totalSizeEstimate}}),G8=(e,t=``)=>Dm(W8(U(),e,t)),K8=(e,{filter:t=``,sort:n=``,key:r})=>{let i=U();return Dm({queryKey:r===void 0?H.firstRecord(e.name,t,n):H.record(e.name,r),queryFn:async()=>{if(r!==void 0){let t=await i.get(e.name,r);return{...U8(e,t.record),etag:t.etag,permissions:t.permissions}}let a=await i.list(e.name,{filter:t||void 0,orderBy:n||void 0,pageSize:1});return a.items[0]?U8(e,a.items[0]):null}})},q8=(e,{filter:t=``,sort:n=``,pageSize:r,pageToken:i=``})=>{let a=U();return Dm({queryKey:H.list(e.name,t,n,r,i),placeholderData:Cp,queryFn:()=>a.list(e.name,{filter:t||void 0,orderBy:n||void 0,pageSize:r,pageToken:i||void 0})})},J8=()=>{let e=$f();return(0,l.useCallback)(t=>e.invalidateQueries({predicate:e=>e.queryKey[1]===t}),[e])},Y8=e=>e instanceof Error?e.message:`Something went wrong`,X8=(e,t,n)=>{let{views:r}=G(),{actions:i}=wh(),a=Eg(e),o=U(),s=Nm(e),c=uh(),u=J8(),{go:d}=Qg(),[f,p]=(0,l.useState)(),m=r[e]?.actions??[],h=e=>{let n=e.run?.kind;if((n===`update`||n===`delete`)&&!t)return`Needs a record`;if(n===`update`&&(!B_(a,`update`)||t?.permissions?.update===!1))return`You cannot change this record`;if(n===`delete`&&(!B_(a,`delete`)||t?.permissions?.delete===!1))return`You cannot delete this record`;if(!e.run&&!i?.[e.name])return`The app has no handler for "${e.name}"`},g=async r=>{let{run:a}=r;if(a?.kind===`link`){`to`in a?d(qo(a.to,t?.record)):window.location.assign(H8(a.href,t?.record));return}a?.kind===`update`?await o.update(e,t.key,a.values,t.etag??`*`):a?.kind===`delete`?await o.remove(e,t.key,{etag:t.etag}):await i[r.name]({resource:e,record:t?.record,recordKey:t?.key,etag:t?.etag,client:s,navigate:d}),await u(e),c.show({state:`success`,title:`${r.label}: done`}),n?.(r)};return{actions:m,blocked:h,running:f,run:async e=>{h(e)||(p(e.name),await g(e).catch(t=>c.show({state:`error`,title:`${e.label} failed`,description:Y8(t)})),p(void 0))}}},Z8=(e,t,n)=>{let r=X8(e,n),i=r.actions.find(e=>e.name===t);return{action:i,blocked:i?r.blocked(i):`No action "${t}"`,running:r.running===t,run:()=>i?r.run(i):Promise.resolve()}},Q8=e=>e.props,$8=({node:e})=>{let{name:t,resource:n,label:r,variant:i}=Q8(e),a=V8(),o=Z8(n??a?.model.name??``,t,n===void 0||n===a?.model.name?a:void 0),[s,c]=(0,l.useState)(!1);if(!o.action)return null;let u=r??o.action.label;return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(V,{size:`sm`,variant:i??`secondary`,loading:o.running,disabled:!!o.blocked,title:o.blocked,onClick:()=>o.action.confirm?c(!0):void o.run(),children:u}),s&&(0,I.jsx)(R8,{action:o.action,label:u,danger:i===`danger`,onCancel:()=>c(!1),onConfirm:()=>{c(!1),o.run()}})]})},e5=({title:e,description:t,actions:n,className:r,children:i})=>(0,I.jsxs)(`section`,{className:F(`flex min-w-0 flex-col rounded-lg border border-border bg-background`,r),"aria-label":e,children:[(e||t||n)&&(0,I.jsxs)(`header`,{className:`flex flex-wrap items-start justify-between gap-x-4 gap-y-2 px-4 pt-4`,children:[(0,I.jsxs)(`div`,{className:`min-w-0`,children:[e&&(0,I.jsx)(`h2`,{className:`text-[15px] font-semibold tracking-tight`,children:e}),t&&(0,I.jsx)(`p`,{className:`mt-0.5 text-[13px] text-muted-foreground`,children:t})]}),n&&(0,I.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:n})]}),(0,I.jsx)(`div`,{className:`min-w-0 flex-1 p-4 text-[13px]`,children:i})]}),t5=({children:e})=>(0,I.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:e}),n5=({node:e,children:t,slots:n})=>{let{title:r,description:i}=Q8(e);return(0,I.jsx)(e5,{title:r,description:i,actions:n.actions,className:`h-full`,children:(0,I.jsx)(`div`,{className:`flex flex-col gap-3`,children:t})})},r5=({model:e,filter:t,sort:n,limit:r=12,title:i,description:a,empty:o,actions:s,children:c})=>{let l=q8(e,{filter:t,sort:n,pageSize:r}),u=l.data?.items??[];return(0,I.jsx)(e5,{title:i,description:a,actions:s,children:l.isPending?(0,I.jsx)(`div`,{className:`flex gap-3`,children:Array.from({length:3},(e,t)=>(0,I.jsx)(Zn,{className:`h-24 w-56`},t))}):l.error?(0,I.jsx)(D_,{title:`Could not load`,error:l.error}):u.length===0?(0,I.jsx)(t5,{children:o??`Nothing here yet.`}):(0,I.jsx)(`ul`,{className:`-mx-4 flex snap-x gap-3 overflow-x-auto px-4 pb-1`,children:u.map(t=>{let n=U8(e,t);return(0,I.jsx)(`li`,{className:`flex w-60 shrink-0 snap-start flex-col gap-2 rounded-lg border border-border bg-surface p-3`,children:(0,I.jsx)(B8,{value:n,children:c})},n.key)})})})},i5=({node:e,children:t,slots:n})=>{let{resource:r,...i}=Q8(e),a=G().resources[r];return a?(0,I.jsx)(r5,{...i,model:a,actions:n.actions,children:t}):null},a5=({field:e,value:t,known:n})=>{let{resources:r,views:i}=G(),a=U(),o=$f(),s=e.relation?r[e.relation.resource]:void 0,c=String(t),l=Dm({queryKey:H.relatedLabel(s?.name??``,c),enabled:!!s&&n===void 0,queryFn:async()=>(await r_(o,a,s,[c],i[s.name])).get(c)??c});return s?(0,I.jsx)($g,{to:{kind:`record`,resource:s.name,key:c},className:`font-medium text-primary-text hover:underline`,children:n??l.data??c}):(0,I.jsx)(`span`,{children:c})},o5=({model:e,field:t,value:n,format:r,relationLabel:i})=>{let{views:a}=G(),o={...a[e.name]?.fields[t.name],...r&&{format:r}};if(n==null||n===``)return(0,I.jsx)(`span`,{className:`text-muted-foreground`,children:`—`});if(t.type===`relation`)return(0,I.jsx)(a5,{field:t,value:n,known:i});let s=t.type===`file`?u_(n):void 0;if(s&&`url`in s&&s.url)return(0,I.jsx)(`a`,{href:s.url,target:`_blank`,rel:`noreferrer`,className:`font-medium text-primary-text hover:underline`,children:s.name});let c=v_(t,n,o);return t.type===`enum`||o.format===`badge`?(0,I.jsx)(dT,{value:n,hints:o,children:c}):(0,I.jsx)(`span`,{className:F(o.format===`code`&&`font-mono text-xs`,(t.type===`decimal`||t.type===`integer`)&&`tabular-nums`),children:c})},s5=e=>{let{views:t}=G(),n=P_(e.field,t[e.model.name]?.fields[e.field.name]),r=(0,I.jsx)(o5,{...e});return n?(0,I.jsx)(I_,{shown:n,part:`display`,field:e.field,value:e.value,fallback:r}):r},c5=(e,t,n)=>{if(!t)return[];let r=Ys(e,t.model.name,n);return r.ok?r.steps:[]},l5=(e,t,n,r,i)=>({queryKey:H.pathValue(n?.model.name??``,n?.key??``,r),enabled:i.length>1,queryFn:async()=>{let r=n.record;for(let n of i.slice(0,-1)){let i=r[n.field.name];if(i==null)return null;let a=n.field.relation.resource;r=(await t.fetchQuery({queryKey:H.record(a,String(i)),queryFn:()=>e.get(a,String(i))})).record}return r[i.at(-1).field.name]??null}}),u5=(e,t,n)=>{let r=t.at(-1);return!e||!r?{state:`missing`}:t.length===1?{state:`ready`,value:e.record[r.field.name],field:r.field,model:r.model}:n.isPending?{state:`loading`}:{state:`ready`,value:n.data??null,field:r.field,model:r.model}},d5=(e,t)=>{let{resources:n}=G(),r=c5(n,e,t);return u5(e,r,Dm(l5(U(),$f(),e,t,r)))},f5=(e,t)=>{let{resources:n}=G(),r=U(),i=$f(),a=t.map(t=>c5(n,e,t)),o=Tm({queries:t.map((t,n)=>l5(r,i,e,t,a[n]))});return t.map((t,n)=>u5(e,a[n],o[n]))},p5=(e,t)=>{if(t)return t;let n=e.split(`.`).map(e=>W(e).toLowerCase()).join(` `);return n[0].toUpperCase()+n.slice(1)},m5=({node:e})=>{let{name:t,label:n,format:r}=Q8(e),{views:i}=G(),a=d5(V8(),t);if(a.state===`missing`)return null;let o=a.state===`loading`?(0,I.jsx)(Zn,{className:`h-4 w-24`}):(0,I.jsx)(s5,{model:a.model,field:a.field,value:a.value,format:r});if(n===!1)return(0,I.jsx)(`div`,{className:`text-[13px]`,children:o});let s=n??p5(t,a.state===`ready`?i[a.model.name]?.fields[a.field.name]?.label:void 0);return(0,I.jsxs)(`div`,{className:`min-w-0`,children:[(0,I.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:s}),(0,I.jsx)(`div`,{className:`mt-0.5 truncate text-[13px]`,children:o})]})},h5={1:``,2:`md:grid-cols-2`,3:`md:grid-cols-2 xl:grid-cols-3`,4:`sm:grid-cols-2 xl:grid-cols-4`},g5={1:``,2:`md:col-span-2`,3:`md:col-span-2 xl:col-span-3`,4:`sm:col-span-2 md:col-span-2 xl:col-span-4`},_5=({node:e,children:t})=>{let{columns:n=2}=Q8(e),r=e.children;return(0,I.jsx)(`div`,{className:F(`grid grid-cols-1 gap-4`,h5[n]),children:t.map((e,t)=>{let n=r[t],i=typeof n==`object`?n.props.span:void 0;return(0,I.jsx)(`div`,{className:F(`min-w-0`,i&&g5[i]),children:e},t)})})},v5=`font-medium text-primary-text hover:underline`,y5=({node:e})=>{let t=Q8(e),n=V8()?.record,r=e.children.filter(e=>typeof e==`string`).join(``);if(t.to){let e=qo(t.to,n);return(0,I.jsx)($g,{to:e,className:v5,children:r||as(e)})}let i=t.href??``;return(0,I.jsx)(`a`,{href:i,className:v5,...i.startsWith(`http`)&&{target:`_blank`,rel:`noreferrer`},children:r||i})},b5=(e,t,n)=>Object.fromEntries(t.map(t=>{let r=e.fields[t];if(r.type===`file`)return[t,n?.record[t]??null];if(n)return[t,r.type===`boolean`?!!n.record[t]:y_(n.record[t])];let i=r.default&&`value`in r.default?r.default.value:void 0;return[t,r.type===`boolean`?!!i:y_(i)]})),x5=(e,t,n)=>Object.fromEntries(Object.entries(t).flatMap(([t,r])=>{let i=e.fields[t];return J_(r)?r.key===y_(n.record[t])?[]:[[t,i.type===`integer`?Number(r.key):r.key]]:T_(i,r,n.record[t])?[[t,S_(i,r)]]:[]})),S5=({model:e,record:t,mode:n,label:r,title:i,fields:a,values:o,onClose:s})=>{let{resources:c,views:u}=G(),d=U(),f=uh(),p=J8(),m=u[e.name],[h,g]=(0,l.useState)(()=>b5(e,a,t)),[_,v]=(0,l.useState)({}),[y,b]=(0,l.useState)(),[x,S]=(0,l.useState)(!1),C=async()=>{S(!0),b(void 0),await(n===`create`?d.create(e.name,{...Q_(e,c,h),...o}):d.update(e.name,t.key,x5(e,h,t),t.etag??`*`)).then(async()=>{await p(e.name),f.show({state:`success`,title:`${i??r}: saved`}),s()},e=>{Is(e)&&v(Object.fromEntries(e.errors.flatMap(e=>e.field?[[e.field,e.message]]:[]))),b(e)}),S(!1)};return(0,I.jsx)(Pd,{title:i??r,onClose:s,actions:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(V,{onClick:s,children:`Cancel`}),(0,I.jsx)(V,{variant:`primary`,loading:x,onClick:()=>void C(),children:n===`create`?`Create`:`Save`})]}),children:(0,I.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),C()},children:[y!==void 0&&Object.keys(_).length===0&&(0,I.jsx)(D_,{title:`Not saved`,error:y}),a.map(n=>{let r=e.fields[n],i=h[n],a=r.relation?c[r.relation.resource]:void 0;return(0,I.jsx)(G_,{label:m?.fields[n]?.label??W(n),help:m?.fields[n]?.help,error:_[n],children:(0,I.jsx)(z_,{field:r,hints:m?.fields[n],value:J_(i)?i.key:i,stored:t?.record[n],relationLabel:J_(i)?i.label:void 0,relationPicker:a?{target:a,view:u[a.name]}:void 0,invalid:!!_[n],resource:e.name,onChange:e=>{v(({[n]:e,...t})=>t),g(t=>({...t,[n]:e}))}})},n)})]})})},C5=({model:e,recordKey:t,children:n})=>{let r=K8(e,{key:t});return(0,I.jsx)(I.Fragment,{children:n(r.data??void 0)})},w5=({node:e})=>{let t=Q8(e),n=V8(),{resources:r}=G(),i=r[t.resource??n?.model.name??``],a=Eg(i?.name??``),[o,s]=(0,l.useState)(!1);if(!i||!(t.mode===`create`?B_(a,`create`):B_(a,`update`)&&n?.permissions?.update!==!1))return null;let c=e=>(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(V,{size:`sm`,variant:t.variant??`secondary`,disabled:t.mode===`edit`&&!e,onClick:()=>s(!0),children:t.label}),o&&(0,I.jsx)(S5,{...t,model:i,record:t.mode===`edit`?e:void 0,onClose:()=>s(!1)})]});return t.mode===`edit`&&t.recordKey!==void 0?(0,I.jsx)(C5,{model:i,recordKey:t.recordKey,children:c}):c(t.mode===`edit`?n:void 0)},T5=({node:e,children:t,slots:n})=>{let{title:r,description:i}=Q8(e);return(0,I.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:(0,I.jsxs)(`div`,{className:`mx-auto flex max-w-[1200px] flex-col gap-6 px-4 pb-16 pt-6 md:px-10 md:py-8`,children:[(0,I.jsx)(fd,{title:r,subtitle:i,actions:n.actions}),t]})})},E5=(e,t)=>{let n=V8(),r=d5(typeof e==`string`?n:void 0,typeof e==`string`?e:``);return typeof e==`number`?e:e===void 0?t:r.state===`ready`?Number(r.value):r.state===`loading`?void 0:NaN},D5=({node:e})=>{let{value:t,max:n,label:r}=Q8(e),i=E5(t,0),a=E5(n,100);if(i===void 0||a===void 0)return(0,I.jsx)(Zn,{className:`h-6 w-full`});if(!Number.isFinite(i)||!Number.isFinite(a))return null;let o=a>0?Math.min(1,Math.max(0,i/a)):0;return(0,I.jsxs)(`div`,{className:`min-w-0`,children:[(0,I.jsxs)(`div`,{className:`flex items-baseline justify-between gap-2 text-xs`,children:[(0,I.jsx)(`span`,{className:`text-muted-foreground`,children:r}),(0,I.jsxs)(`span`,{className:`tabular-nums`,children:[i.toLocaleString(`en-IE`),` / `,a.toLocaleString(`en-IE`)]})]}),(0,I.jsx)(`div`,{role:`progressbar`,"aria-label":r,"aria-valuenow":i,"aria-valuemin":0,"aria-valuemax":a,className:`mt-1.5 h-2 overflow-hidden rounded-full bg-muted`,children:(0,I.jsx)(`div`,{className:o>=.9?`h-full rounded-full bg-warning`:`h-full rounded-full bg-primary`,style:{width:`${o*100}%`}})})]})},One=({model:e,filter:t,sort:n,recordKey:r,title:i,description:a,empty:o,actions:s,children:c})=>{let l=K8(e,{filter:t,sort:n,key:r}),u=e=>l.data?(0,I.jsx)(B8,{value:l.data,children:e}):void 0,d=l.isPending?(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,I.jsx)(Zn,{className:`h-4 w-1/2`}),(0,I.jsx)(Zn,{className:`h-4 w-1/3`})]}):l.error?(0,I.jsx)(D_,{title:`Could not load`,error:l.error}):l.data?u((0,I.jsx)(`div`,{className:`flex flex-col gap-3`,children:c})):(0,I.jsx)(t5,{children:o??`Nothing here yet.`});return(0,I.jsx)(e5,{title:i,description:a,actions:s?u(s):void 0,className:`h-full`,children:d})},kne=({node:e,children:t,slots:n})=>{let{resource:r,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l}=Q8(e),u=G().resources[r];return u?(0,I.jsx)(One,{model:u,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l,actions:n.actions,children:t}):null},Ane=({node:e,children:t})=>{let{when:n}=Q8(e),{resources:r}=G(),i=U(),a=V8(),o=(0,l.useMemo)(()=>Fee(n),[n]),s=o.ok?o.paths:[],c=s.map(e=>Lee(e,e=>!!(a&&Object.hasOwn(a.model.fields,e)))),u=s.filter((e,t)=>c[t]===void 0),d=f5(a,u),f=Tm({queries:c.flatMap(e=>{let t=e===void 0?void 0:r[e];return t?[W8(i,t)]:[]})});if(!o.ok||d.some(e=>e.state===`loading`)||f.some(e=>e.isPending))return null;let p={};u.forEach((e,t)=>{let n=d[t];n.state===`ready`&&(p[e]=n.value)});let m=0;return s.forEach((e,t)=>{c[t]!==void 0&&(p[e]=r[c[t]]?f[m++]?.data??0:0)}),Iee(o,p)?(0,I.jsx)(I.Fragment,{children:t}):null},O5=`text-2xl font-semibold tracking-tight tabular-nums`,jne=({model:e,filter:t})=>{let n=G8(e,t);return n.isPending?(0,I.jsx)(Zn,{className:`h-8 w-16`}):n.error?(0,I.jsx)(`span`,{className:`text-[13px] text-danger-text`,children:`Could not count`}):(0,I.jsx)($g,{to:{kind:`list`,resource:e.name,filter:t},className:`${O5} hover:text-primary-text`,children:n.data.toLocaleString(`en-IE`)})},Mne=({field:e,format:t})=>{let n=d5(V8(),e);return n.state===`loading`?(0,I.jsx)(Zn,{className:`h-8 w-16`}):n.state===`missing`?null:(0,I.jsx)(`span`,{className:O5,children:(0,I.jsx)(s5,{model:n.model,field:n.field,value:n.value,format:t})})},Nne=({node:e})=>{let{label:t,value:n,resource:r,filter:i,field:a,format:o,description:s}=Q8(e),{resources:c}=G(),l=r===void 0?void 0:c[r];return(0,I.jsxs)(e5,{className:`h-full`,children:[(0,I.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:t}),(0,I.jsxs)(`div`,{className:`mt-1`,children:[n!==void 0&&(0,I.jsx)(`span`,{className:O5,children:n}),l&&(0,I.jsx)(jne,{model:l,filter:i}),a!==void 0&&(0,I.jsx)(Mne,{field:a,format:o})]}),s&&(0,I.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:s})]})},Pne=(e,t,n)=>{let{resources:r,views:i}=G(),a=U(),o=$f(),s=t.flatMap(t=>{let i=e.fields[t],a=i?.type===`relation`&&i.relation?r[i.relation.resource]:void 0;if(!a||a.primaryKey.length!==1)return[];let o=[...new Set(n.flatMap(e=>e[t]===null||e[t]===void 0?[]:[String(e[t])]))].sort();return o.length>0?[{name:t,target:a,ids:o}]:[]}),c=Tm({queries:s.map(({target:e,ids:t})=>({queryKey:H.labelMap(e.name,t.join(`,`)),queryFn:()=>r_(o,a,e,t,i[e.name])}))});return new Map(s.flatMap(({name:e},t)=>c[t]?.data?[[e,c[t].data]]:[]))},k5=e=>e.includes(`.`),Fne=e=>{let{resources:t,views:n}=G();return r=>{let i=Ys(t,e.name,r),a=i.ok?i.steps.at(-1):void 0,o=a?.field.name??r;return n[a?.model.name??e.name]?.fields[o]?.label??W(o)}},Ine=({model:e,row:t,column:n})=>{let r=d5(U8(e,t),n);return r.state===`loading`?(0,I.jsx)(`span`,{className:`text-muted-foreground`,children:`…`}):r.state===`missing`?(0,I.jsx)(`span`,{className:`text-muted-foreground`,children:`—`}):(0,I.jsx)(s5,{model:r.model,field:r.field,value:r.value})},A5=({model:e,columns:t,rows:n,label:r,pager:i})=>{let{resources:a}=G(),o=Fne(e),s=t[0]===void 0?void 0:Ys(a,e.name,t[0]),c=!s?.ok||s.steps.at(-1).field.type!==`relation`,l=Pne(e,t.filter(e=>!k5(e)),n),u=(t,n)=>k5(n)?(0,I.jsx)(Ine,{model:e,row:t,column:n}):(0,I.jsx)(s5,{model:e,field:e.fields[n],value:t[n],relationLabel:l.get(n)?.get(String(t[n]))});return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`div`,{className:`-mx-4 overflow-x-auto`,children:(0,I.jsxs)(`table`,{className:`w-full min-w-max text-left text-[13px]`,children:[(0,I.jsx)(`thead`,{children:(0,I.jsx)(`tr`,{className:`border-b text-xs text-muted-foreground`,children:t.map(e=>(0,I.jsx)(`th`,{scope:`col`,className:`px-4 py-2 font-medium`,children:o(e)},e))})}),(0,I.jsx)(`tbody`,{children:n.map(n=>{let r=U8(e,n);return(0,I.jsx)(`tr`,{className:`border-b last:border-0 hover:bg-surface`,children:t.map((t,i)=>(0,I.jsx)(`td`,{className:`px-4 py-2`,children:i===0&&c?(0,I.jsx)($g,{to:{kind:`record`,resource:e.name,key:r.key},className:`font-medium text-primary-text hover:underline`,children:u(n,t)}):u(n,t)},t))},r.key)})})]})}),i&&(i.hasPrevious||i.hasNext)&&(0,I.jsxs)(`nav`,{"aria-label":`${r} pages`,className:`mt-3 flex items-center justify-end gap-2 text-xs text-muted-foreground`,children:[(0,I.jsxs)(`span`,{children:[`Page `,i.page]}),(0,I.jsx)(V,{size:`sm`,"aria-label":`Previous page`,disabled:!i.hasPrevious||i.busy,onClick:i.previous,children:(0,I.jsx)(le,{className:`size-3.5`})}),(0,I.jsx)(V,{size:`sm`,"aria-label":`Next page`,disabled:!i.hasNext||i.busy,onClick:i.next,children:(0,I.jsx)(P,{className:`size-3.5`})})]})]})},j5=(e,t)=>t?.list?.columns??Object.keys(e.fields).filter(t=>!e.primaryKey.includes(t)&&t!==e.tenant).slice(0,5),Lne=({model:e,view:t,filter:n,sort:r,columns:i,pageSize:a=10,title:o,description:s,empty:c,actions:u})=>{let d=(i??j5(e,t)).filter(t=>Object.hasOwn(e.fields,t)),[f,p]=(0,l.useState)([``]),m=q8(e,{filter:n,sort:r,pageSize:a,pageToken:f.at(-1)}),h=m.data?.items??[],g=m.data?.nextPageToken;return(0,I.jsx)(e5,{title:o,description:s,actions:u,className:`h-full`,children:m.isPending?(0,I.jsx)(`div`,{className:`flex flex-col gap-2`,children:Array.from({length:3},(e,t)=>(0,I.jsx)(Zn,{className:`h-4 w-full`},t))}):m.error?(0,I.jsx)(D_,{title:`Could not load`,error:m.error}):h.length===0&&f.length===1?(0,I.jsx)(t5,{children:c??`Nothing here yet.`}):(0,I.jsx)(A5,{model:e,columns:d,rows:h,label:o??e.name,pager:{page:f.length,hasPrevious:f.length>1,hasNext:!!g,busy:m.isFetching,previous:()=>p(e=>e.slice(0,-1)),next:()=>g&&p(e=>[...e,g])}})})},Rne={Page:T5,Grid:_5,Card:n5,Stat:Nne,RecordCard:kne,Field:m5,Table:({node:e,slots:t})=>{let n=Q8(e),{resources:r,views:i}=G(),a=r[n.resource];return a?(0,I.jsx)(Lne,{...n,model:a,view:i[a.name],actions:t.actions}):null},CardRow:i5,Progress:D5,ModalForm:w5,Action:$8,Show:Ane,Link:y5},M5=e=>typeof e==`string`||!e.custom&&e.type===`Link`,N5=e=>{let t=[];for(let n of e){let e=t.at(-1);M5(n)&&e&&M5(e[0])?e.push(n):t.push([n])}return t.map((e,t)=>{let[n]=e;return M5(n)?(0,I.jsx)(`p`,{className:`text-[13px] leading-relaxed`,children:e.map((e,t)=>typeof e==`string`?(0,I.jsx)(l.Fragment,{children:e},t):(0,I.jsx)(P5,{node:e},t))},t):(0,I.jsx)(P5,{node:n},t)})},zne=e=>Gs(e)||Array.isArray(e)&&e.length>0&&e.every(Gs),Bne=e=>Object.fromEntries(Object.entries(e.props).flatMap(([e,t])=>zne(t)?[[e,(0,I.jsx)(I.Fragment,{children:N5(Array.isArray(t)?t:[t])})]]:[])),P5=({node:e})=>{let{components:t}=wh();if(e.custom){let n=t?.[e.type];return n?(0,I.jsx)(t_,{name:e.type,children:(0,I.jsx)(n,{...Bo(e.props),children:e.children.length>0?N5(e.children):void 0})}):(0,I.jsxs)(e_,{children:[`No component is registered as `,e.type,`. Export it from protobase.ui.tsx, or load the plugin that provides it.`]})}let n=Rne[e.type];return n?(0,I.jsx)(n,{node:e,slots:Bne(e),children:N5(e.children)}):(0,I.jsxs)(e_,{children:[e.type,` is not a block this version of the app knows.`]})},Vne=({name:e})=>{let t=G().pages[e];return t?(0,I.jsx)(P5,{node:t.tree}):(0,I.jsxs)(Cg,{title:`Not found`,children:[`There is no page called `,e,`.`]})},F5=e=>typeof e==`string`&&e.trim()!==``,Hne=e=>{if(typeof e!=`object`||!e||Array.isArray(e))return{problem:`its plugin.json is not an object`};let{name:t,version:n,api:r,protobase:i,entry:a,css:o}=e;return F5(t)?Number.isInteger(r)?F5(i)?F5(a)?o!==void 0&&!F5(o)?{problem:`its plugin.json names a stylesheet that is no URL`}:n!==void 0&&!F5(n)?{problem:`its plugin.json has a version that is no text`}:{manifest:{name:t,api:r,protobase:i,entry:a,...n!==void 0&&{version:n},...o!==void 0&&{css:o}}}:{problem:`its plugin.json names no module`}:{problem:`its plugin.json names no Protobase versions`}:{problem:`its plugin.json names no plugin API`}:{problem:`its plugin.json names no plugin`}},I5=class extends Error{name=`UiConflictError`},Une=e=>Object.keys(e).some(e=>e==="default"||/^[A-Z]/.test(e))?c(e):e,L5=(e,t)=>[...(e.extends??[]).map(Une).flatMap((e,n)=>L5(e,e.name??`${t} extends[${n}]`)),{ui:e,label:t}],R5=(e,t,n)=>{let r={},i=new Map;for(let{ui:a,label:o}of t)for(let[t,s]of Object.entries(n(a)??{})){if(Object.hasOwn(r,t)&&r[t]!==s)throw new I5(`${e} "${t}" is defined twice, by ${i.get(t)} and by ${o}; rename one of them`);r[t]=s,i.set(t,i.get(t)??o)}return r},z5=e=>e.length<=1?e[0]:()=>e.map((e,t)=>(0,I.jsx)(e,{},t)),B5=(...e)=>{let t=e.flatMap((e,t)=>L5(e,e.name??`UI config ${t+1}`)),n=R5(`The component`,t,e=>e.components),r=R5(`The action handler`,t,e=>e.actions),i=R5(`The field type`,t,e=>e.fields),a=z5(t.flatMap(({ui:e})=>e.shell?.actions?[e.shell.actions]:[])),o=z5(t.flatMap(({ui:e})=>e.shell?.rightPanel?[e.shell.rightPanel]:[])),s=e.at(-1)?.name;return{...s&&{name:s},components:n,actions:r,...Object.keys(i).length>0&&{fields:i},...(a||o)&&{shell:{...a&&{actions:a},...o&&{rightPanel:o}}}}},V5=(0,l.createContext)(null),Wne=V5.Provider,Gne=()=>{let e=(0,l.useContext)(V5);if(!e)throw Error(`usePlugin is for the components of a plugin the app loaded`);return e},H5=(e,t,n)=>{let r=n=>(0,I.jsx)(Wne,{value:e,children:(0,I.jsx)(t,{...n})});return r.displayName=`${e.name}:${n}`,r},Kne=(e,t,n)=>({of:n.of,display:H5(e,n.display,`fields.${t}.display`),...n.editor&&{editor:H5(e,n.editor,`fields.${t}.editor`)},...n.cell&&{cell:H5(e,n.cell,`fields.${t}.cell`)}}),qne=(e,t)=>{let n=B5({...c(t),name:e.name}),r=Object.fromEntries(Object.entries(n.components??{}).map(([t,n])=>[t,H5(e,n,t)])),i=n.fields&&Object.fromEntries(Object.entries(n.fields).map(([t,n])=>[t,Kne(e,t,n)])),a=n.shell&&{...n.shell.actions&&{actions:H5(e,n.shell.actions,`shell.actions`)},...n.shell.rightPanel&&{rightPanel:H5(e,n.shell.rightPanel,`shell.rightPanel`)}};return{name:e.name,components:r,...n.actions&&{actions:n.actions},...i&&{fields:i},...a&&{shell:a}}},Jne=`0.12.18`,U5={pluginApi:1}.pluginApi,W5=Jne,Yne={readJson:async e=>{let t=await fetch(e,{cache:`no-cache`,credentials:`same-origin`});return t.ok?{json:await t.json()}:{status:t.status}},addStylesheet:e=>{if([...document.querySelectorAll(`link[rel="stylesheet"]`)].some(t=>t.href===e))return;let t=document.createElement(`link`);t.rel=`stylesheet`,t.href=e,document.head.append(t)},importModule:e=>gh(()=>import(e),[])},Xne={api:U5,version:W5},Zne=e=>e instanceof Error?e.message:String(e),Qne=async(e,t,n,r=Xne)=>{let i=new URL(e.url,n).href,a=(e,t)=>({kind:`off`,url:i,...t&&{name:t},reason:e}),o;try{let n=await t.readJson(i);if(`status`in n)return a(`its plugin.json answered ${n.status}`);let s=Hne(n.json);if(`problem`in s)return a(s.problem);let{manifest:c}=s;o=c.name;let l=gs(c,r);if(l)return a(l,o);c.css&&t.addStylesheet(new URL(c.css,i).href);let u=await t.importModule(new URL(c.entry,i).href),d={name:o,...c.version&&{version:c.version},url:i,settings:e.settings??{}};return{kind:`loaded`,plugin:d,ui:qne(d,u)}}catch(e){return a(`it could not be loaded: ${Zne(e)}`,o)}},$ne=(e,t)=>{let n=B5(e??{}),r=[],i=[];for(let e of t){if(e.kind===`off`){i.push(e);continue}try{B5(...r,e.ui,n),r.push(e.ui)}catch(t){if(!(t instanceof I5))throw t;i.push({kind:`off`,url:e.plugin.url,name:e.plugin.name,reason:t.message})}}return{ui:r.length===0?n:B5(...r,n),off:i}},ere=1e4,G5=[],tre=(e,t)=>{let n=JSON.stringify(e),[r,i]=(0,l.useState)({key:`[]`,loads:G5,settled:!0});return(0,l.useEffect)(()=>{if(e.length===0)return;let r=!0,a=!1,o=e.map(()=>void 0),s=()=>{if(!r)return;let t=o.filter(e=>e!==void 0);i({key:n,loads:t,settled:a||t.length===e.length})},c=setTimeout(()=>{a=!0,s()},ere);return e.forEach((e,n)=>{Qne(e,t,window.location.href).then(e=>{o[n]=e,s()})}),()=>{r=!1,clearTimeout(c)}},[n,t]),e.length===0?{loads:G5,settled:!0}:r.key===n?r:{loads:G5,settled:!1}},K5=(0,l.createContext)([]),nre=()=>(0,l.useContext)(K5),rre=({ui:e,loader:t=Yne,children:n})=>{let{plugins:r=[]}=G(),{loads:i,settled:a}=tre(r,t),o=(0,l.useMemo)(()=>$ne(e,i),[e,i]);return a?(0,I.jsx)(Ch.Provider,{value:o.ui,children:(0,I.jsx)(K5.Provider,{value:o.off,children:n})}):(0,I.jsxs)(`div`,{className:`flex h-full min-h-48 items-center justify-center gap-2 text-[13px] text-muted-foreground`,children:[(0,I.jsx)(nr,{}),` Loading`]})},ire=({off:e})=>{let[t,n]=(0,l.useState)(!1);return t||e.length===0?null:(0,I.jsxs)(`div`,{role:`region`,"aria-label":`Plugins off`,className:`flex items-start gap-3 border-b border-warning/40 bg-warning-soft px-4 py-2 text-[13px] text-warning-text`,children:[(0,I.jsx)(Ct,{"aria-hidden":!0,className:`mt-0.5 size-4 shrink-0`}),(0,I.jsx)(`ul`,{className:`min-w-0 flex-1 space-y-0.5 break-words`,children:e.map(e=>(0,I.jsxs)(`li`,{children:[`The plugin `,(0,I.jsx)(`span`,{className:`font-semibold`,children:e.name??e.url}),` is off: `,e.reason,`.`]},e.url))}),(0,I.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,className:`rounded p-0.5 hover:bg-warning/10`,onClick:()=>n(!0),children:(0,I.jsx)(dn,{"aria-hidden":!0,className:`size-4`})})]})},are=({rows:e})=>(0,I.jsx)(`dl`,{className:`grid grid-cols-[auto_1fr] gap-x-4 gap-y-2 text-[13px]`,children:e.map(e=>(0,I.jsxs)(`div`,{className:`contents`,children:[(0,I.jsx)(`dt`,{className:`text-muted-foreground`,children:e.label}),(0,I.jsx)(`dd`,{className:`text-right tabular-nums text-foreground`,children:e.value})]},e.label))}),ore=({records:e,onNavigate:t})=>(0,I.jsx)(`ul`,{className:`-mx-2`,children:e.map(e=>(0,I.jsx)(`li`,{children:(0,I.jsxs)(`a`,{href:e.href??`#`,onClick:n=>{n.preventDefault(),e.href&&t?.(e.href)},className:`group flex items-center justify-between gap-3 rounded-md px-2 py-2 hover:bg-muted`,children:[(0,I.jsxs)(`span`,{className:`min-w-0`,children:[(0,I.jsx)(`span`,{className:`block text-[11px] uppercase tracking-wide text-faint-foreground`,children:e.kind}),(0,I.jsx)(`span`,{className:`block truncate text-[13px] font-medium text-primary-text`,children:e.label}),e.meta&&(0,I.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:e.meta})]}),(0,I.jsx)(P,{className:`size-4 shrink-0 text-faint-foreground group-hover:text-foreground`})]})},e.label))}),q5=({title:e,children:t})=>(0,I.jsxs)(`div`,{className:`rounded-lg border border-border bg-background p-4`,children:[(0,I.jsx)(`h3`,{className:`mb-3 text-xs font-semibold uppercase tracking-wide text-muted-foreground`,children:e}),t]}),J5=({title:e,rows:t})=>t.length===0?null:(0,I.jsx)(q5,{title:e,children:(0,I.jsx)(are,{rows:t})}),sre=({collection:e,title:t,status:n,lastEditedBy:r,presence:i=[],actions:a})=>(0,I.jsxs)(`header`,{className:`flex flex-col gap-4 border-b border-border pb-6 md:flex-row md:items-end md:justify-between md:gap-6`,children:[(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e}),(0,I.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-x-3 gap-y-1`,children:[(0,I.jsx)(`h1`,{className:`text-xl font-semibold tracking-tight text-foreground md:text-2xl`,children:t}),(0,I.jsx)(zn,{tone:n.tone,children:n.label})]}),(0,I.jsx)(`p`,{className:`mt-1.5 text-xs text-muted-foreground`,children:r.name?(0,I.jsxs)(I.Fragment,{children:[`Last edited by `,(0,I.jsx)(`span`,{className:`font-medium text-foreground`,children:r.name}),` `,r.ago]}):(0,I.jsxs)(I.Fragment,{children:[`Last updated `,r.ago]})})]}),(0,I.jsxs)(`div`,{className:`flex items-center gap-4`,children:[i.length>0&&(0,I.jsxs)(`span`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,I.jsx)(jn,{people:i,size:`md`}),i.length,` viewing`]}),a]})]}),Y5=(e,t)=>[`${t}_at`,`${t}At`].find(t=>e.fields[t]),X5=({item:e,scope:t})=>{let{components:n}=wh(),r=n?.[e.component],i=r?(0,I.jsx)(B8,{value:t,children:(0,I.jsx)(t_,{name:e.component,children:(0,I.jsx)(r,{...Bo(e.props??{})})})}):(0,I.jsxs)(e_,{children:[`No component is registered as `,e.component,`. Export it from protobase.ui.tsx, or load the plugin that provides it.`]});return e.sidebar?e.title?(0,I.jsx)(q5,{title:e.title,children:i}):i:e.title?(0,I.jsx)(K_,{title:e.title,children:i}):(0,I.jsx)(`section`,{className:`py-8`,children:i})},cre=({actions:e})=>(0,I.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border bg-background`,children:[(0,I.jsx)(`h3`,{className:`hidden border-b border-border px-4 py-2.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground md:block`,children:`Actions`}),(0,I.jsx)(`ul`,{className:`flex flex-wrap gap-2 p-2 md:block md:divide-y md:divide-border md:p-0`,children:e.map(({name:e,description:t,icon:n,onRun:r,blocked:i,running:a})=>(0,I.jsx)(`li`,{children:(0,I.jsxs)(`button`,{type:`button`,onClick:r,disabled:!!i||a,title:i,className:`flex min-h-11 items-center gap-2 rounded-md border border-border-strong px-3 text-left hover:bg-surface disabled:cursor-default disabled:opacity-60 md:min-h-0 md:w-full md:items-start md:gap-3 md:rounded-none md:border-0 md:px-4 md:py-3`,children:[(0,I.jsx)(n,{className:`size-4 shrink-0 text-muted-foreground md:mt-0.5`}),(0,I.jsxs)(`span`,{children:[(0,I.jsx)(`span`,{className:`block text-[13px] font-medium text-foreground`,children:e}),t&&(0,I.jsx)(`span`,{className:`mt-0.5 hidden text-xs leading-snug text-muted-foreground md:block`,children:t})]})]})},e))})]}),lre=e=>uT(e)??pn,ure=({model:e,stored:t,recordKey:n})=>{let{go:r}=Qg(),i={model:e,record:t.record,key:n,etag:t.etag,permissions:t.permissions},a=X8(e.name,i,t=>t.run?.kind===`delete`&&r({kind:`list`,resource:e.name},{replace:!0})),[o,s]=(0,l.useState)();return a.actions.length===0?null:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(cre,{actions:a.actions.map(e=>({name:e.label,icon:lre(e.icon),blocked:a.blocked(e),running:a.running===e.name,onRun:()=>e.confirm?s(e):void a.run(e)}))}),o&&(0,I.jsx)(R8,{action:o,label:o.label,danger:o.run?.kind===`delete`,onCancel:()=>s(void 0),onConfirm:()=>{s(void 0),a.run(o)}})]})},Z5=[[`M8 hex bolt A2, 100 pcs`,`FST`,1890],[`M10 hex nut A2, 100 pcs`,`FST`,1240],[`Stainless washer 8 mm, 250 pcs`,`FST`,990],[`Cable tie 300 mm, 100 pcs`,`ELC`,650],[`Cable gland M20, 25 pcs`,`ELC`,2340],[`Junction box IP65`,`ELC`,1480],[`Hydraulic hose 1/2 in, 5 m`,`HYD`,8650],[`Hydraulic coupling 3/8 in`,`HYD`,1895],[`Pallet wrap 500 mm`,`PKG`,740],[`Corrugated box 400 x 300`,`PKG`,215],[`Bubble wrap roll 50 m`,`PKG`,1990],[`Safety gloves, size L`,`PPE`,395],[`Safety glasses, clear`,`PPE`,450],[`Ear defenders SNR 31`,`PPE`,1295],[`Ball bearing 6204-2RS`,`BRG`,685],[`Taper roller bearing 30205`,`BRG`,1420],[`Timing belt HTD 5M, 600 mm`,`BLT`,2780],[`V-belt SPA 1250`,`BLT`,1360],[`Grease cartridge, 400 g`,`LUB`,920],[`Machine oil ISO 68, 5 l`,`LUB`,3950],[`Angle grinder disc 125 mm, 10 pcs`,`ABR`,1880],[`Drill bit set HSS, 19 pcs`,`TLS`,3490],[`Torque wrench 20-100 Nm`,`TLS`,14900],[`Pneumatic cylinder 40 x 100`,`PNE`,6120],[`Air hose PU 8 mm, 20 m`,`PNE`,2475],[`LED panel 600 x 600, 40 W`,`LGT`,3290],[`Pallet label roll 100 x 150`,`LBL`,1175],[`Thermal printer ribbon`,`LBL`,890],[`Euro pallet EPAL, used`,`PLT`,1150],[`Roll container, galvanised`,`PLT`,9800]];Z5.length;var dre=e=>{let[t,n,r]=Z5[e%Z5.length],i=e%Z5.length;return{id:`P-${200+i}`,sku:`${n}-${String(1e3+i*7).padStart(4,`0`)}`,name:t,category:n,priceCents:r}},Q5=`grid grid-cols-[28px_minmax(0,1fr)_88px_112px_112px_32px] items-center gap-2 pointer-coarse:grid-cols-[44px_minmax(0,1fr)_88px_112px_112px_44px]`,$5=e=>e.quantity*e.unitPriceCents,fre=(e,t=.21)=>{let n=e.reduce((e,t)=>e+$5(t),0),r=Math.round(n*t);return{subtotalCents:n,vatCents:r,totalCents:n+r}},pre=({items:e,label:t})=>{let[n,r]=(0,l.useState)(!1),i=(0,l.useRef)(null);return(0,l.useEffect)(()=>{if(!n)return;let e=e=>{(e instanceof KeyboardEvent?e.key===`Escape`:!i.current?.contains(e.target))&&r(!1)};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,e)}},[n]),(0,I.jsxs)(`div`,{ref:i,className:`relative flex justify-center`,children:[(0,I.jsx)(`button`,{type:`button`,"aria-label":t,"aria-haspopup":`menu`,"aria-expanded":n,onClick:()=>r(!n),className:`inline-flex size-7 items-center justify-center rounded text-faint-foreground hover:bg-muted hover:text-foreground pointer-coarse:size-11`,children:(0,I.jsx)(Me,{className:`size-4`})}),n&&(0,I.jsx)(`ul`,{role:`menu`,className:`absolute right-0 top-full z-30 mt-1 min-w-36 rounded-md border bg-background py-1 text-[13px] shadow-pop`,children:e.map(e=>(0,I.jsx)(`li`,{role:`none`,children:(0,I.jsx)(`button`,{type:`button`,role:`menuitem`,disabled:e.disabled,className:F(`block min-h-9 w-full whitespace-nowrap px-3 py-1.5 text-left hover:bg-muted disabled:text-faint-foreground disabled:hover:bg-transparent`,e.destructive&&`text-danger-text`),onClick:()=>{r(!1),e.onSelect()},children:e.label})},e.label))})]})},e7=({value:e,onCommit:t,format:n,parse:r,label:i,width:a=`w-full`})=>{let[o,s]=(0,l.useState)(null);return(0,I.jsx)(`input`,{"aria-label":i,inputMode:`decimal`,value:o??n(e),onFocus:e=>e.currentTarget.select(),onChange:e=>s(e.target.value),onBlur:()=>{if(o===null)return;let e=r(o);s(null),Number.isFinite(e)&&e>=0&&t(e)},onKeyDown:e=>e.key===`Enter`&&e.currentTarget.blur(),className:F(`h-7 rounded-md border border-transparent bg-transparent px-2 text-right text-[13px] tabular-nums text-foreground outline-none hover:border-border-strong focus:border-primary focus:bg-background focus:ring-2 focus:ring-primary/20`,a)})};function mre(){var e=[...arguments];return(0,l.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var t7=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function n7(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function r7(e){return`nodeType`in e}function i7(e){return e?n7(e)?e:r7(e)?e.ownerDocument?.defaultView??window:window:window}function a7(e){let{Document:t}=i7(e);return e instanceof t}function o7(e){return!n7(e)&&e instanceof i7(e).HTMLElement}function s7(e){return e instanceof i7(e).SVGElement}function c7(e){return e?n7(e)?e.document:r7(e)?a7(e)?e:o7(e)||s7(e)?e.ownerDocument:document:document:document}var l7=t7?l.useLayoutEffect:l.useEffect;function u7(e){let t=(0,l.useRef)(e);return l7(()=>{t.current=e}),(0,l.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function hre(){let e=(0,l.useRef)(null);return[(0,l.useCallback)((t,n)=>{e.current=setInterval(t,n)},[]),(0,l.useCallback)(()=>{e.current!==null&&(clearInterval(e.current),e.current=null)},[])]}function d7(e,t){t===void 0&&(t=[e]);let n=(0,l.useRef)(e);return l7(()=>{n.current!==e&&(n.current=e)},t),n}function f7(e,t){let n=(0,l.useRef)();return(0,l.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function p7(e){let t=u7(e),n=(0,l.useRef)(null);return[n,(0,l.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function m7(e){let t=(0,l.useRef)();return(0,l.useEffect)(()=>{t.current=e},[e]),t.current}var h7={};function g7(e,t){return(0,l.useMemo)(()=>{if(t)return t;let n=h7[e]==null?0:h7[e]+1;return h7[e]=n,e+`-`+n},[e,t])}function _7(e){return function(t){return[...arguments].slice(1).reduce((t,n)=>{let r=Object.entries(n);for(let[n,i]of r){let r=t[n];r!=null&&(t[n]=r+e*i)}return t},{...t})}}var v7=_7(1),y7=_7(-1);function gre(e){return`clientX`in e&&`clientY`in e}function b7(e){if(!e)return!1;let{KeyboardEvent:t}=i7(e.target);return t&&e instanceof t}function _re(e){if(!e)return!1;let{TouchEvent:t}=i7(e.target);return t&&e instanceof t}function x7(e){if(_re(e)){if(e.touches&&e.touches.length){let{clientX:t,clientY:n}=e.touches[0];return{x:t,y:n}}if(e.changedTouches&&e.changedTouches.length){let{clientX:t,clientY:n}=e.changedTouches[0];return{x:t,y:n}}}return gre(e)?{x:e.clientX,y:e.clientY}:null}var S7=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return`translate3d(`+(t?Math.round(t):0)+`px, `+(n?Math.round(n):0)+`px, 0)`}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return`scaleX(`+t+`) scaleY(`+n+`)`}},Transform:{toString(e){if(e)return[S7.Translate.toString(e),S7.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),C7=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function vre(e){return e.matches(C7)?e:e.querySelector(C7)}var yre={display:`none`};function bre(e){let{id:t,value:n}=e;return l.createElement(`div`,{id:t,style:yre},n)}function xre(e){let{id:t,announcement:n,ariaLiveType:r=`assertive`}=e;return l.createElement(`div`,{id:t,style:{position:`fixed`,top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(100%)`,whiteSpace:`nowrap`},role:`status`,"aria-live":r,"aria-atomic":!0},n)}function Sre(){let[e,t]=(0,l.useState)(``);return{announce:(0,l.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var w7=(0,l.createContext)(null);function Cre(e){let t=(0,l.useContext)(w7);(0,l.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function wre(){let[e]=(0,l.useState)(()=>new Set),t=(0,l.useCallback)(t=>(e.add(t),()=>e.delete(t)),[e]);return[(0,l.useCallback)(t=>{let{type:n,event:r}=t;e.forEach(e=>e[n]?.call(e,r))},[e]),t]}var Tre={draggable:`
62
62
  To pick up a draggable item, press the space bar.
63
63
  While dragging, use the arrow keys to move the item.
64
64
  Press space again to drop the item in its new position, or press escape to cancel.
@@ -1,4 +1,4 @@
1
- import{n as e,r as t,t as n}from"./rolldown-runtime-hePW80VL.js";import{V as r,t as i}from"./app-DwsfYHX7.js";import{t as a}from"./react-Cvdyeg_0.js";import{t as o}from"./jsx-runtime-NZYk81nU.js";import{t as s}from"./react-dom-B-VxWsjA.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var c=n((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function ee(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,te||(te=!0,oe());else{var t=n(l);t!==null&&le(ee,t.startTime-e)}}}var te=!1,ne=-1,re=5,ie=-1;function ae(){return g?!0:!(e.unstable_now()-ie<re)}function x(){if(g=!1,te){var t=e.unstable_now();ie=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(ne),ne=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ae());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&le(ee,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?oe():te=!1}}}var oe;if(typeof y==`function`)oe=function(){y(x)};else if(typeof MessageChannel<`u`){var se=new MessageChannel,ce=se.port2;se.port1.onmessage=x,oe=function(){ce.postMessage(null)}}else oe=function(){_(x,0)};function le(t,n){ne=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):re=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(ne),ne=-1):h=!0,le(ee,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,te||(te=!0,oe()))),r},e.unstable_shouldYield=ae,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),l=n(((e,t)=>{t.exports=c()})),u=n((e=>{var t=l(),n=a(),r=s();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function o(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function c(e){for(var t=e,n=t;n&&!n.alternate;)t=n,t.flags&4098&&(e=t.return),n=t.return;for(;t.return;)t=t.return;return t.tag===3?e:null}function u(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function d(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function f(e){if(c(e)!==e)throw Error(i(188))}function p(e){var t=e.alternate;if(!t){if(t=c(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var o=a.alternate;if(o===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return f(a),e;if(o===r)return f(a),t;o=o.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=o;else{for(var s=!1,l=a.child;l;){if(l===n){s=!0,n=a,r=o;break}if(l===r){s=!0,r=a,n=o;break}l=l.sibling}if(!s){for(l=o.child;l;){if(l===n){s=!0,n=o,r=a;break}if(l===r){s=!0,r=o,n=a;break}l=l.sibling}if(!s)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function m(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=m(e),t!==null)return t;e=e.sibling}return null}function h(e,t,n,r,i,a){for(;e!==null;){if((e.tag===5||e.tag===27||e.tag===6)&&n(e,r,i,a)||(e.tag!==22||e.memoizedState===null)&&(t||e.tag!==5&&e.tag!==27)&&h(e.child,t,n,r,i,a))return!0;e=e.sibling}return!1}function g(e){for(e=e.return;e!==null;){if(e.tag===3||e.tag===5||e.tag===27)return e;e=e.return}return null}function _(e){var t=!1;for(e=e.return;e!==null&&(e.tag===4&&(t=!0),e.tag!==3&&e.tag!==5&&e.tag!==27);)e=e.return;return t}function v(e){var t=[null,null],n=g(e);return n===null||y(t,e,n.child,{foundSelf:!1}),t}function y(e,t,n,r){for(;n!==null;){if(n===t)r.foundSelf=!0;else if(n.tag===5||n.tag===27||n.tag===6){if(r.foundSelf)return e[1]=n,!0;e[0]=n}else if((n.tag!==22||n.memoizedState===null)&&y(e,t,n.child,r))return!0;n=n.sibling}return!1}function b(e){switch(e.tag){case 5:case 27:case 6:return e.stateNode;case 3:return e.stateNode.containerInfo;default:throw Error(i(559))}}var ee=null,te=null;function ne(e,t,n){return e===n||e===t&&(ee=e,!0)}function re(e,t,n){return e===n?(te=e,!1):e===t&&(te!==null&&(ee=e),!0)}function ie(e){if(e===null)return null;do e=e===null?null:e.return;while(e&&e.tag!==5&&e.tag!==27&&e.tag!==3);return e||null}function ae(e,t,n){for(var r=0,i=e;i;i=n(i))r++;i=0;for(var a=t;a;a=n(a))i++;for(;0<r-i;)e=n(e),r--;for(;0<i-r;)t=n(t),i--;for(;r--;){if(e===t||t!==null&&e===t.alternate)return e;e=n(e),t=n(t)}return null}var x=Object.assign,oe=Symbol.for(`react.element`),se=Symbol.for(`react.transitional.element`),ce=Symbol.for(`react.portal`),le=Symbol.for(`react.fragment`),ue=Symbol.for(`react.strict_mode`),de=Symbol.for(`react.profiler`),fe=Symbol.for(`react.consumer`),pe=Symbol.for(`react.context`),me=Symbol.for(`react.forward_ref`),he=Symbol.for(`react.suspense`),ge=Symbol.for(`react.suspense_list`),_e=Symbol.for(`react.memo`),ve=Symbol.for(`react.lazy`),ye=Symbol.for(`react.activity`),be=Symbol.for(`react.legacy_hidden`),xe=Symbol.for(`react.memo_cache_sentinel`),Se=Symbol.for(`react.view_transition`),Ce=Symbol.for(`react.recoverable`),we=Symbol.iterator;function Te(e){return typeof e!=`object`||!e?null:(e=we&&e[we]||e[`@@iterator`],typeof e==`function`?e:null)}var Ee=Symbol.for(`react.client.reference`);function De(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===Ee?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case le:return`Fragment`;case de:return`Profiler`;case ue:return`StrictMode`;case he:return`Suspense`;case ge:return`SuspenseList`;case ye:return`Activity`;case Se:return`ViewTransition`}if(typeof e==`object`)switch(e.$$typeof){case ce:return`Portal`;case pe:return e.displayName||`Context`;case fe:return(e._context.displayName||`Context`)+`.Consumer`;case me:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case _e:return t=e.displayName||null,t===null?De(e.type)||`Memo`:t;case ve:t=e._payload,e=e._init;try{return De(e(t))}catch{}}return null}var Oe=Array.isArray,S=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,C=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ke={pending:!1,data:null,method:null,action:null},Ae=[],je=-1;function Me(e){return{current:e}}function w(e){0>je||(e.current=Ae[je],Ae[je]=null,je--)}function T(e,t){je++,Ae[je]=e.current,e.current=t}var Ne=Me(null),Pe=Me(null),Fe=Me(null),Ie=Me(null);function Le(e,t){switch(T(Fe,t),T(Pe,e),T(Ne,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?up(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=up(t),e=dp(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}w(Ne),T(Ne,e)}function Re(){w(Ne),w(Pe),w(Fe)}function ze(e){var t=e.memoizedState;t!==null&&(sh._currentValue=t.memoizedState,T(Ie,e)),t=Ne.current;var n=dp(t,e.type);t!==n&&(T(Pe,e),T(Ne,n))}function Be(e){Pe.current===e&&(w(Ne),w(Pe)),Ie.current===e&&(w(Ie),sh._currentValue=ke)}var Ve,He;function Ue(e){if(Ve===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Ve=t&&t[1]||``,He=-1<e.stack.indexOf(`
1
+ import{n as e,r as t,t as n}from"./rolldown-runtime-hePW80VL.js";import{V as r,t as i}from"./app-f1cHaXAz.js";import{t as a}from"./react-Cvdyeg_0.js";import{t as o}from"./jsx-runtime-NZYk81nU.js";import{t as s}from"./react-dom-B-VxWsjA.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var c=n((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function ee(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,te||(te=!0,oe());else{var t=n(l);t!==null&&le(ee,t.startTime-e)}}}var te=!1,ne=-1,re=5,ie=-1;function ae(){return g?!0:!(e.unstable_now()-ie<re)}function x(){if(g=!1,te){var t=e.unstable_now();ie=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(ne),ne=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&ae());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&le(ee,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?oe():te=!1}}}var oe;if(typeof y==`function`)oe=function(){y(x)};else if(typeof MessageChannel<`u`){var se=new MessageChannel,ce=se.port2;se.port1.onmessage=x,oe=function(){ce.postMessage(null)}}else oe=function(){_(x,0)};function le(t,n){ne=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):re=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(ne),ne=-1):h=!0,le(ee,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,te||(te=!0,oe()))),r},e.unstable_shouldYield=ae,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),l=n(((e,t)=>{t.exports=c()})),u=n((e=>{var t=l(),n=a(),r=s();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function o(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function c(e){for(var t=e,n=t;n&&!n.alternate;)t=n,t.flags&4098&&(e=t.return),n=t.return;for(;t.return;)t=t.return;return t.tag===3?e:null}function u(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function d(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function f(e){if(c(e)!==e)throw Error(i(188))}function p(e){var t=e.alternate;if(!t){if(t=c(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var o=a.alternate;if(o===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return f(a),e;if(o===r)return f(a),t;o=o.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=o;else{for(var s=!1,l=a.child;l;){if(l===n){s=!0,n=a,r=o;break}if(l===r){s=!0,r=a,n=o;break}l=l.sibling}if(!s){for(l=o.child;l;){if(l===n){s=!0,n=o,r=a;break}if(l===r){s=!0,r=o,n=a;break}l=l.sibling}if(!s)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function m(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=m(e),t!==null)return t;e=e.sibling}return null}function h(e,t,n,r,i,a){for(;e!==null;){if((e.tag===5||e.tag===27||e.tag===6)&&n(e,r,i,a)||(e.tag!==22||e.memoizedState===null)&&(t||e.tag!==5&&e.tag!==27)&&h(e.child,t,n,r,i,a))return!0;e=e.sibling}return!1}function g(e){for(e=e.return;e!==null;){if(e.tag===3||e.tag===5||e.tag===27)return e;e=e.return}return null}function _(e){var t=!1;for(e=e.return;e!==null&&(e.tag===4&&(t=!0),e.tag!==3&&e.tag!==5&&e.tag!==27);)e=e.return;return t}function v(e){var t=[null,null],n=g(e);return n===null||y(t,e,n.child,{foundSelf:!1}),t}function y(e,t,n,r){for(;n!==null;){if(n===t)r.foundSelf=!0;else if(n.tag===5||n.tag===27||n.tag===6){if(r.foundSelf)return e[1]=n,!0;e[0]=n}else if((n.tag!==22||n.memoizedState===null)&&y(e,t,n.child,r))return!0;n=n.sibling}return!1}function b(e){switch(e.tag){case 5:case 27:case 6:return e.stateNode;case 3:return e.stateNode.containerInfo;default:throw Error(i(559))}}var ee=null,te=null;function ne(e,t,n){return e===n||e===t&&(ee=e,!0)}function re(e,t,n){return e===n?(te=e,!1):e===t&&(te!==null&&(ee=e),!0)}function ie(e){if(e===null)return null;do e=e===null?null:e.return;while(e&&e.tag!==5&&e.tag!==27&&e.tag!==3);return e||null}function ae(e,t,n){for(var r=0,i=e;i;i=n(i))r++;i=0;for(var a=t;a;a=n(a))i++;for(;0<r-i;)e=n(e),r--;for(;0<i-r;)t=n(t),i--;for(;r--;){if(e===t||t!==null&&e===t.alternate)return e;e=n(e),t=n(t)}return null}var x=Object.assign,oe=Symbol.for(`react.element`),se=Symbol.for(`react.transitional.element`),ce=Symbol.for(`react.portal`),le=Symbol.for(`react.fragment`),ue=Symbol.for(`react.strict_mode`),de=Symbol.for(`react.profiler`),fe=Symbol.for(`react.consumer`),pe=Symbol.for(`react.context`),me=Symbol.for(`react.forward_ref`),he=Symbol.for(`react.suspense`),ge=Symbol.for(`react.suspense_list`),_e=Symbol.for(`react.memo`),ve=Symbol.for(`react.lazy`),ye=Symbol.for(`react.activity`),be=Symbol.for(`react.legacy_hidden`),xe=Symbol.for(`react.memo_cache_sentinel`),Se=Symbol.for(`react.view_transition`),Ce=Symbol.for(`react.recoverable`),we=Symbol.iterator;function Te(e){return typeof e!=`object`||!e?null:(e=we&&e[we]||e[`@@iterator`],typeof e==`function`?e:null)}var Ee=Symbol.for(`react.client.reference`);function De(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===Ee?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case le:return`Fragment`;case de:return`Profiler`;case ue:return`StrictMode`;case he:return`Suspense`;case ge:return`SuspenseList`;case ye:return`Activity`;case Se:return`ViewTransition`}if(typeof e==`object`)switch(e.$$typeof){case ce:return`Portal`;case pe:return e.displayName||`Context`;case fe:return(e._context.displayName||`Context`)+`.Consumer`;case me:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case _e:return t=e.displayName||null,t===null?De(e.type)||`Memo`:t;case ve:t=e._payload,e=e._init;try{return De(e(t))}catch{}}return null}var Oe=Array.isArray,S=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,C=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ke={pending:!1,data:null,method:null,action:null},Ae=[],je=-1;function Me(e){return{current:e}}function w(e){0>je||(e.current=Ae[je],Ae[je]=null,je--)}function T(e,t){je++,Ae[je]=e.current,e.current=t}var Ne=Me(null),Pe=Me(null),Fe=Me(null),Ie=Me(null);function Le(e,t){switch(T(Fe,t),T(Pe,e),T(Ne,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?up(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=up(t),e=dp(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}w(Ne),T(Ne,e)}function Re(){w(Ne),w(Pe),w(Fe)}function ze(e){var t=e.memoizedState;t!==null&&(sh._currentValue=t.memoizedState,T(Ie,e)),t=Ne.current;var n=dp(t,e.type);t!==n&&(T(Pe,e),T(Ne,n))}function Be(e){Pe.current===e&&(w(Ne),w(Pe)),Ie.current===e&&(w(Ie),sh._currentValue=ke)}var Ve,He;function Ue(e){if(Ve===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Ve=t&&t[1]||``,He=-1<e.stack.indexOf(`
2
2
  at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
3
3
  `+Ve+e+He}var We=!1;function Ge(e,t){if(!e||We)return``;We=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}n=!1;try{var i=Object.getOwnPropertyDescriptor(e.prototype,`props`);Object.defineProperty(e.prototype,"props",{configurable:!0,set:function(){throw Error()}}),n=!0,new e}finally{n&&(i===void 0?delete e.prototype.props:Object.defineProperty(e.prototype,"props",i))}}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
4
4
  `),l=s.split(`
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{A as t,B as n,C as r,D as i,E as a,F as o,I as s,L as c,M as l,N as u,O as d,P as f,R as p,S as m,T as h,V as g,_,a as v,b as y,c as b,d as x,f as S,g as C,h as w,i as T,j as E,k as D,l as O,m as k,n as A,o as j,p as M,r as N,s as P,t as F,u as I,v as L,w as R,x as z,y as B,z as V}from"./app-DwsfYHX7.js";import{t as H}from"./jsx-runtime-NZYk81nU.js";var U=e(H(),1),W=({row:e,resource:t,recordKey:n,...r})=>{let i=k(),a=O(),o=t??i?.resource??a?.model.name;if(o===void 0)throw Error(`RecordLink needs a resource outside a list display or a record`);return(0,U.jsx)(w,{to:{kind:`record`,resource:o,key:e?e.key:n},...r})};export{t as ActionCard,p as ApiProvider,F as App,w as AppLink,z as AssistantDock,f as ChatMessage,u as ChatThread,d as CompactTable,l as Composer,h as DiffView,D as FieldList,r as PartView,W as RecordLink,E as SidePanel,R as StepList,o as definePlugin,s as defineUi,a as diffStats,A as isConflict,b as mergeUi,i as parseDiff,v as pluginApi,j as protobaseVersion,g as uiFromModule,B as useApiToken,C as useAppAddress,y as useAssistant,L as useAssistantClient,m as useBackendData,V as useClient,I as useFacets,x as useHistogram,O as useLayoutRecord,T as useList,M as useListDisplay,_ as useMeta,P as usePlugin,c as useRecord,n as useResourceClient,S as useSeries,N as useUpdateRecord};
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{A as t,B as n,C as r,D as i,E as a,F as o,I as s,L as c,M as l,N as u,O as d,P as f,R as p,S as m,T as h,V as g,_,a as v,b as y,c as b,d as x,f as S,g as C,h as w,i as T,j as E,k as D,l as O,m as k,n as A,o as j,p as M,r as N,s as P,t as F,u as I,v as L,w as R,x as z,y as B,z as V}from"./app-f1cHaXAz.js";import{t as H}from"./jsx-runtime-NZYk81nU.js";var U=e(H(),1),W=({row:e,resource:t,recordKey:n,...r})=>{let i=k(),a=O(),o=t??i?.resource??a?.model.name;if(o===void 0)throw Error(`RecordLink needs a resource outside a list display or a record`);return(0,U.jsx)(w,{to:{kind:`record`,resource:o,key:e?e.key:n},...r})};export{t as ActionCard,p as ApiProvider,F as App,w as AppLink,z as AssistantDock,f as ChatMessage,u as ChatThread,d as CompactTable,l as Composer,h as DiffView,D as FieldList,r as PartView,W as RecordLink,E as SidePanel,R as StepList,o as definePlugin,s as defineUi,a as diffStats,A as isConflict,b as mergeUi,i as parseDiff,v as pluginApi,j as protobaseVersion,g as uiFromModule,B as useApiToken,C as useAppAddress,y as useAssistant,L as useAssistantClient,m as useBackendData,V as useClient,I as useFacets,x as useHistogram,O as useLayoutRecord,T as useList,M as useListDisplay,_ as useMeta,P as usePlugin,c as useRecord,n as useResourceClient,S as useSeries,N as useUpdateRecord};
@@ -6,13 +6,13 @@
6
6
  <meta charset="utf-8" />
7
7
  <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
8
8
  <title>Protobase</title>
9
- <script type="importmap">{"imports":{"react":"/assets/shared-react-DhkZ2M4l.js","react/jsx-runtime":"/assets/shared-react-jsx-runtime-xPQrWk0g.js","react-dom":"/assets/shared-react-dom-D508a1cq.js","@protobase/ui":"/assets/shared-protobase-ui-LhCI3Fye.js"}}</script>
10
- <script type="module" crossorigin src="/assets/index-CvdyFv9w.js"></script>
9
+ <script type="importmap">{"imports":{"react":"/assets/shared-react-DhkZ2M4l.js","react/jsx-runtime":"/assets/shared-react-jsx-runtime-xPQrWk0g.js","react-dom":"/assets/shared-react-dom-D508a1cq.js","@protobase/ui":"/assets/shared-protobase-ui-Df5ioimg.js"}}</script>
10
+ <script type="module" crossorigin src="/assets/index-BTtg-55T.js"></script>
11
11
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-hePW80VL.js">
12
12
  <link rel="modulepreload" crossorigin href="/assets/react-Cvdyeg_0.js">
13
13
  <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-NZYk81nU.js">
14
14
  <link rel="modulepreload" crossorigin href="/assets/react-dom-B-VxWsjA.js">
15
- <link rel="modulepreload" crossorigin href="/assets/app-DwsfYHX7.js">
15
+ <link rel="modulepreload" crossorigin href="/assets/app-f1cHaXAz.js">
16
16
  <link rel="stylesheet" crossorigin href="/assets/app-GUjJKojE.css">
17
17
  <link rel="stylesheet" crossorigin href="/assets/index-BDDeq8hJ.css">
18
18
  <link rel="stylesheet" href="/protobase.theme.css">
@@ -1,5 +1,5 @@
1
1
  {
2
- "protobase": "0.12.16",
2
+ "protobase": "0.12.18",
3
3
  "pluginApi": 1,
4
4
  "paths": [
5
5
  "/index.html",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@protobase/ui",
3
- "version": "0.12.16",
3
+ "version": "0.12.18",
4
4
  "description": "The Protobase admin app and the React hooks and components for custom UI.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -38,9 +38,9 @@
38
38
  "dependencies": {
39
39
  "@dnd-kit/core": "^6.3.1",
40
40
  "@dnd-kit/sortable": "^10.0.0",
41
- "@protobase/client": "0.12.16",
42
- "@protobase/layout": "0.12.16",
43
- "@protobase/schema": "0.12.16",
41
+ "@protobase/client": "0.12.18",
42
+ "@protobase/layout": "0.12.18",
43
+ "@protobase/schema": "0.12.18",
44
44
  "@sentry/browser": "^11.7.0",
45
45
  "@tanstack/react-query": "^5.104.1",
46
46
  "@tanstack/react-table": "^9.2.6",