@protobase/ui 0.12.5 → 0.12.6
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 +1 -1
- package/dist/shell/assets/{app-CNHqcIWP.js → app-DRkDxaX2.js} +1 -1
- package/dist/shell/assets/{index-B2A34Ndi.js → index--KkbQgIT.js} +1 -1
- package/dist/shell/assets/{shared-protobase-ui-BZ7z7Y8G.js → shared-protobase-ui-DQxQC_dF.js} +1 -1
- package/dist/shell/index.html +3 -3
- package/dist/shell/protobase.shell.json +1 -1
- package/package.json +4 -4
package/dist/package.js
CHANGED
|
@@ -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 V1(e,t){if(e){if(typeof e==`string`)return H1(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)?H1(e,t):void 0}}function H1(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 U1(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 W1(e){if(Array.isArray(e))return e}function G1(e,t){if(e==null)return{};var n,r,i=K1(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 K1(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 q1(){return q1=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},q1.apply(null,arguments)}function J1(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 Y1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?J1(Object(n),!0).forEach(function(t){X1(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):J1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function X1(e,t,n){return(t=Z1(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Z1(e){var t=Q1(e,`string`);return typeof t==`symbol`?t:t+``}function Q1(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 $1={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:GL.axis};function e0(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=Y1(Y1(Y1({},c),eT(s)),{},{fill:`none`});if(a===`top`||a===`bottom`){var d=+(a===`top`&&!o||a===`bottom`&&o);u=Y1(Y1({},u),{},{x1:t,y1:n+d*i,x2:t+r,y2:n+d*i})}else{var f=+(a===`left`&&!o||a===`right`&&o);u=Y1(Y1({},u),{},{x1:t+f*r,y1:n,x2:t+f*r,y2:n+i})}return l.createElement(`line`,q1({},u,{className:Jw(`recharts-cartesian-axis-line`,xT(s,`className`))}))}function t0(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 n0(e,t){switch(e){case`left`:return t?`start`:`end`;case`right`:return t?`end`:`start`;default:return`middle`}}function r0(e,t){switch(e){case`left`:case`right`:return`middle`;case`top`:return t?`start`:`end`;default:return t?`end`:`start`}}function i0(e){var t=e.option,n=e.tickProps,r=e.value,i,a=Jw(n.className,`recharts-cartesian-axis-tick-value`);if(l.isValidElement(t))i=l.cloneElement(t,Y1(Y1({},n),{},{className:a}));else if(typeof t==`function`)i=t(Y1(Y1({},n),{},{className:a}));else{var o=`recharts-cartesian-axis-tick-value`;typeof t!=`boolean`&&(o=Jw(o,tQ(t))),i=l.createElement(fZ,q1({},n,{className:o}),r)}return i}function a0(e){var t=e.ticks,n=e.axisType,r=e.axisId,i=_O(),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(F1({ticks:e,axisId:r,axisType:n})))}},[i,t,r,n]),(0,l.useEffect)(()=>r==null||n==null?zT:()=>{i(I1({axisId:r,axisType:n}))},[i,r,n]),null}var o0=(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=A1(Y1(Y1({},S),{},{ticks:r}),b,x),D=eT(S),O=tT(i),k=nZ(D.textAnchor)?D.textAnchor:n0(f,p),A=r0(f,p),j={};typeof a==`object`&&(j=a);var M=Y1(Y1({},D),{},{fill:`none`},j),N=E.map(e=>Y1({entry:e},t0(e,m,h,g,_,f,v,p,y))),ee=N.map(e=>{var t=e.entry,n=e.line;return l.createElement(fT,{className:`recharts-cartesian-axis-tick`,key:`tick-${t.value}-${t.coordinate}-${t.tickCoord}`},a&&l.createElement(`line`,q1({},M,n,{className:Jw(`recharts-cartesian-axis-tick-line`,xT(a,`className`))})))}),te=N.map((e,t)=>{var n=e.entry,r=e.tick,a=Y1(Y1({},Y1(Y1(Y1(Y1({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(fT,q1({className:`recharts-cartesian-axis-tick-label`,key:`tick-label-${n.value}-${n.coordinate}-${n.tickCoord}`},QE(C,n,t)),i&&l.createElement(i0,{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(a0,{ticks:E,axisId:T,axisType:w}),te.length>0&&l.createElement(eY,{zIndex:GL.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))}),s0=(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=G1(e,R1),f=z1((0,l.useState)(``),2),p=f[0],m=f[1],h=z1((0,l.useState)(``),2),g=h[0],_=h[1],v=(0,l.useRef)(null);(0,l.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>j1({ticks:v.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin}),getCalculatedHeight:()=>M1({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(eY,{zIndex:e.zIndex},l.createElement(fT,{className:Jw(`recharts-cartesian-axis`,a)},l.createElement(e0,{x:e.x,y:e.y,width:r,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:eT(e)}),l.createElement(o0,{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(wZ,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},l.createElement(RZ,{label:e.label,labelRef:e.labelRef}),e.children)))}),c0=l.forwardRef((e,t)=>{var n=iD(e,$1);return l.createElement(s0,q1({},n,{ref:t}))});c0.displayName=`CartesianAxis`;var l0=(0,l.createContext)({grid:{stroke:`#ccc`,fill:`none`}});l0.Provider;var u0=()=>(0,l.useContext)(l0),d0=[`x1`,`y1`,`x2`,`y2`,`key`],f0=[`offset`],p0=[`xAxisId`,`yAxisId`],m0=[`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 g0(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){_0(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 _0(e,t,n){return(t=v0(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function v0(e){var t=y0(e,`string`);return typeof t==`symbol`?t:t+``}function y0(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 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){if(e==null)return{};var n,r,i=S0(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 S0(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 C0=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 w0(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=eT(x0(n,d0))??{};u.offset;var d=x0(u,f0),f=Array.isArray(d.strokeDasharray)?d.strokeDasharray.join(`,`):d.strokeDasharray;r=l.createElement(`line`,b0({},d,{strokeDasharray:f,x1:i,y1:a,x2:o,y2:s,fill:`none`,key:c}))}return r}function T0(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=x0(e,p0),s=a.map((e,r)=>{var a=g0(g0({},o),{},{x1:t,y1:e,x2:t+n,y2:e,key:`line-${r}`,index:r});return l.createElement(w0,{key:`line-${r}`,option:i,lineItemProps:a})});return l.createElement(`g`,{className:`recharts-cartesian-grid-horizontal`},s)}function E0(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=x0(e,m0),s=a.map((e,r)=>{var a=g0(g0({},o),{},{x1:e,y1:t,x2:e,y2:t+n,key:`line-${r}`,index:r});return l.createElement(w0,{option:i,lineItemProps:a,key:`line-${r}`})});return l.createElement(`g`,{className:`recharts-cartesian-grid-vertical`},s)}function D0(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 O0(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 k0=(e,t)=>{var n=e.xAxis,r=e.width,i=e.height,a=e.offset;return Gj(A1(g0(g0(g0({},$1),n),{},{ticks:Kj(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.left,a.left+a.width,t)},A0=(e,t)=>{var n=e.yAxis,r=e.width,i=e.height,a=e.offset;return Gj(A1(g0(g0(g0({},$1),n),{},{ticks:Kj(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.top,a.top+a.height,t)},j0={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:GL.grid};function M0(e){var t=hN(),n=gN(),r=mN(),i=g0(g0({},iD(e,j0)),{},{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=AM(),g=q(e=>TK(e,`xAxis`,a,h)),_=q(e=>TK(e,`yAxis`,o,h)),v=u0(),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(!Ij(u)||!Ij(d)||!K(s)||!K(c))return null;var b=i.verticalCoordinatesGenerator||k0,x=i.horizontalCoordinatesGenerator||A0,S=i.horizontalPoints,C=i.verticalPoints;if((!S||!S.length)&&typeof x==`function`){var w=p&&p.length,T=x({yAxis:_?g0(g0({},_),{},{ticks:w?p:_.ticks}):void 0,width:t??u,height:n??d,offset:r},w?!0:f);IM(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?g0(g0({},g),{},{ticks:E?m:g.ticks}):void 0,width:t??u,height:n??d,offset:r},E?!0:f);IM(Array.isArray(D),`verticalCoordinatesGenerator should return Array but instead it returned [${typeof D}]`),Array.isArray(D)&&(C=D)}return l.createElement(eY,{zIndex:i.zIndex},l.createElement(`g`,{className:`recharts-cartesian-grid`},l.createElement(C0,{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(D0,b0({},i,{horizontalPoints:S})),l.createElement(O0,b0({},i,{verticalPoints:C})),l.createElement(T0,b0({},i,y,{offset:r,horizontalPoints:S,xAxis:g,yAxis:_})),l.createElement(E0,b0({},i,y,{offset:r,verticalPoints:C,xAxis:g,yAxis:_}))))}M0.displayName=`CartesianGrid`;var N0=BA({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))}}}),P0=N0.actions;P0.addErrorBar,P0.replaceErrorBar,P0.removeErrorBar;var F0=N0.reducer,I0=[`children`];function L0(e,t){if(e==null)return{};var n,r,i=R0(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 R0(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 z0=(0,l.createContext)({data:[],xAxisId:`xAxis-0`,yAxisId:`yAxis-0`,dataPointFormatter:()=>({x:0,y:0,value:0}),errorBarOffset:0});function B0(e){var t=e.children,n=L0(e,I0);return l.createElement(z0.Provider,{value:n},t)}function V0(e,t){var n=q(t=>EW(t,e)),r=q(e=>kW(e,t)),i=n?.allowDataOverflow??wW.allowDataOverflow,a=r?.allowDataOverflow??DW.allowDataOverflow;return{needClip:i||a,needClipX:i,needClipY:a}}function H0(e){var t=e.xAxisId,n=e.yAxisId,r=e.clipPathId,i=O$(),a=V0(t,n),o=a.needClipX,s=a.needClipY,c=a.needClip,u=q(e=>$G(e,t,!1)),d=q(e=>eK(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 U0(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.xAxisId??0}function W0(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.yAxisId??0}var G0=`Invariant failed`;function K0(e,t){if(!e)throw Error(G0)}var q0=[`option`];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=CI;function Z0(e){var t=e.option,n=J0(e,q0);return l.createElement(yQ,{option:t,DefaultShape:X0,shapeProps:n,activeClassName:`recharts-active-bar`,inActiveClassName:`recharts-inactive-bar`})}var Q0=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)||IT(n);return i?e(n,r):(!i&&K0(!1,`minPointSize callback function received a value with type of ${typeof n}. Currently only numbers or null/undefined are supported.`),t)}},$0=(e,t,n)=>n,e2=J([LW,(e,t)=>t],(e,t)=>e.filter(e=>e.type===`bar`).find(e=>e.id===t)),t2=J([e2],e=>e?.maxBarSize),n2=(e,t,n,r)=>r,r2=J([_N,LW,U0,W0,$0],(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`)),i2=(e,t,n)=>{var r=_N(e),i=U0(e,t),a=W0(e,t);if(i!=null&&a!=null)return r===`horizontal`?lG(e,`yAxis`,a,n):lG(e,`xAxis`,i,n)},a2=J([r2,RL,(e,t)=>{var n=_N(e),r=U0(e,t),i=W0(e,t);if(r!=null&&i!=null)return n===`horizontal`?SK(e,`xAxis`,r):SK(e,`yAxis`,i)}],I$),o2=(e,t,n)=>{var r=e2(e,t);if(r==null)return 0;var i=U0(e,t),a=W0(e,t);if(i==null||a==null)return 0;var o=_N(e),s=FL(e),c=r.maxBarSize,l=IT(c)?s:c,u,d;return o===`horizontal`?(u=OK(e,`xAxis`,i,n),d=DK(e,`xAxis`,i,n)):(u=OK(e,`yAxis`,a,n),d=DK(e,`yAxis`,a,n)),iM(u,d,!0)??l??0},s2=(e,t,n)=>{var r=_N(e),i=U0(e,t),a=W0(e,t);if(i!=null&&a!=null){var o,s;return r===`horizontal`?(o=OK(e,`xAxis`,i,n),s=DK(e,`xAxis`,i,n)):(o=OK(e,`yAxis`,a,n),s=DK(e,`yAxis`,a,n)),iM(o,s)}},c2=J([EM,OM,(e,t,n)=>{var r=U0(e,t);if(r!=null)return OK(e,`xAxis`,r,n)},(e,t,n)=>{var r=W0(e,t);if(r!=null)return OK(e,`yAxis`,r,n)},(e,t,n)=>{var r=U0(e,t);if(r!=null)return DK(e,`xAxis`,r,n)},(e,t,n)=>{var r=W0(e,t);if(r!=null)return DK(e,`yAxis`,r,n)},J([J([a2,FL,IL,LL,o2,s2,t2],U$),e2],G$),_N,sL,s2,J([i2,e2],W$),e2,n2],(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 Z2({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})}}),l2=[`index`];function u2(){return u2=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},u2.apply(null,arguments)}function d2(e,t){if(e==null)return{};var n,r,i=f2(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 f2(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 p2=(0,l.createContext)(void 0),m2=e=>{var t=(0,l.useContext)(p2);if(t!=null)return t.stackId;if(e!=null)return Xj(e)},h2=(e,t)=>`recharts-bar-stack-clip-path-${e}-${t}`,g2=e=>{var t=(0,l.useContext)(p2);if(t!=null){var n=t.stackId;return`url(#${h2(n,e)})`}},_2=e=>{var t=e.index,n=d2(e,l2),r=g2(t);return l.createElement(fT,u2({className:`recharts-bar-stack-layer`,clipPath:r},n))},v2=[`onMouseEnter`,`onMouseLeave`,`onClick`],y2=[`value`,`background`,`tooltipPosition`],b2=[`id`],x2=[`onMouseEnter`,`onClick`,`onMouseLeave`];function S2(e,t){return D2(e)||E2(e,t)||w2(e,t)||C2()}function C2(){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 w2(e,t){if(e){if(typeof e==`string`)return T2(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)?T2(e,t):void 0}}function T2(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 E2(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 D2(e){if(Array.isArray(e))return e}function O2(){return O2=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},O2.apply(null,arguments)}function k2(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 A2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?k2(Object(n),!0).forEach(function(t){j2(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):k2(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function j2(e,t,n){return(t=M2(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function M2(e){var t=N2(e,`string`);return typeof t==`symbol`?t:t+``}function N2(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 P2(e,t){if(e==null)return{};var n,r,i=F2(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 F2(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 I2=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:oM(n,t),payload:e}]},L2=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:zT,settings:{stroke:n,strokeWidth:r,fill:i,dataKey:t,nameKey:void 0,name:oM(a,t),hide:o,type:u,color:i,unit:s,formatter:c,graphicalItemId:d}};return l.createElement(CQ,{tooltipEntrySettings:f})});function R2(e){var t=q(Zq),n=e.data,r=e.dataKey,i=e.background,a=e.allOtherBarProps,o=a.onMouseEnter,s=a.onMouseLeave,c=a.onClick,u=P2(a,v2),d=bQ(o,r,a.id),f=xQ(s),p=SQ(c,r,a.id);if(!i||n==null)return null;var m=tT(i);return l.createElement(eY,{zIndex:K$(i,GL.barBackground)},n.map((e,n)=>{e.value;var a=e.background;e.tooltipPosition;var o=P2(e,y2);if(!a)return null;var s=d(e,e.originalDataIndex),c=f(e,e.originalDataIndex),h=p(e,e.originalDataIndex),g=A2(A2(A2(A2(A2({option:i,isActive:String(e.originalDataIndex)===t},o),{},{fill:`#eee`},a),m),QE(u,e,n)),{},{onMouseEnter:s,onMouseLeave:c,onClick:h,dataKey:r,index:n,className:`recharts-bar-background-rectangle`});return l.createElement(Z0,O2({key:`background-bar-${n}`},g))}))}function z2(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 A2(A2({},t),{},{value:e.value,payload:e.payload,parentViewBox:e.parentViewBox,viewBox:t,fill:e.fill})});return l.createElement(KZ,{value:t?r:void 0},n)}function B2(e){var t=e.shape,n=e.activeBar,r=e.baseProps,i=e.entry,a=e.index,o=e.dataKey,s=q(Zq),c=q($q),u=n&&String(i.originalDataIndex)===s&&(c==null||o===c),d=s!=null&&(String(i.originalDataIndex)!==s||c!=null&&o!==c),f=S2((0,l.useState)(!1),2),p=f[0],m=f[1],h=S2((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(Z0,O2({},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(eY,{zIndex:GL.activeBar},l.createElement(_2,{index:i.originalDataIndex},S)):S}function V2(e){var t=e.shape,n=e.baseProps,r=e.entry,i=e.index,a=e.dataKey;return l.createElement(Z0,O2({},n,{name:String(n.name)},r,{isActive:!1,option:t,index:i,dataKey:a,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function H2(e){var t=e.data,n=e.props,r=e.animationElapsedTime,i=e.isAnimating,a=e.isEntrance,o=eT(n)??{},s=o.id,c=P2(o,b2),u=n.shape,d=n.dataKey,f=n.activeBar,p=n.onMouseEnter,m=n.onClick,h=n.onMouseLeave,g=P2(n,x2),_=bQ(p,d,s),v=xQ(h),y=SQ(m,d,s);return t?l.createElement(l.Fragment,null,t.map((e,t)=>l.createElement(_2,O2({index:e.originalDataIndex,key:`rectangle-${e?.x}-${e?.y}-${e?.value}-${t}`,className:`recharts-bar-rectangle`},QE(g,e,t),{onMouseEnter:_(e,e.originalDataIndex),onMouseLeave:v(e,e.originalDataIndex),onClick:y(e,e.originalDataIndex)}),f?l.createElement(B2,{shape:u,activeBar:f,baseProps:c,entry:e,index:t,dataKey:d,animationElapsedTime:r,isAnimating:i,isEntrance:a}):l.createElement(V2,{shape:u,baseProps:c,entry:e,index:t,dataKey:d,animationElapsedTime:r,isAnimating:i,isEntrance:a})))):null}var U2=(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`?[A2(A2({},e.prev),{},{height:PT(e.prev.height,0,t),y:PT(e.prev.y,e.prev.y+e.prev.height,t)})]:[A2(A2({},e.prev),{},{width:PT(e.prev.width,0,t)})];if(e.status===`matched`)return[A2(A2({},e.next),{},{x:PT(e.prev.x,e.next.x,t),y:PT(e.prev.y,e.next.y,t),width:PT(e.prev.width,e.next.width,t),height:PT(e.prev.height,e.next.height,t)})];var r=e.next;return n===`horizontal`?[A2(A2({},r),{},{height:PT(0,r.height,t),y:PT(r.stackedBarStart,r.y,t)})]:[A2(A2({},r),{},{width:PT(0,r.width,t),x:PT(r.stackedBarStart,r.x,t)})]});function W2(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=KQ(t.onAnimationStart,t.onAnimationEnd),f=d.isAnimating,p=d.handleAnimationStart,m=d.handleAnimationEnd;return l.createElement(z2,{showLabels:!f,rects:r},l.createElement(qQ,{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(fT,null,l.createElement(H2,{props:t,data:e,animationElapsedTime:n,isAnimating:f||n<1,isEntrance:r}))),l.createElement(ZZ,{label:t.label}),t.children)}function G2(e){var t=(0,l.useRef)(null);return l.createElement(W2,{previousRectanglesRef:t,props:e})}var K2=0,q2=(e,t)=>{var n=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:n,errorVal:Hj(e,t)}},J2=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=Jw(`recharts-bar`,i),f=u;return l.createElement(fT,{className:d,id:u},s&&l.createElement(`defs`,null,l.createElement(H0,{clipPathId:f,xAxisId:a,yAxisId:o})),l.createElement(fT,{className:`recharts-bar-rectangles`,clipPath:s?`url(#clipPath-${f})`:void 0},l.createElement(R2,{data:n,dataKey:r,background:c,allOtherBarProps:this.props}),l.createElement(G2,this.props)))}},Y2={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:`ease`,animationInterpolateFn:U2,animationMatchBy:MQ,background:!1,hide:!1,isAnimationActive:`auto`,label:!1,legendType:`rect`,minPointSize:K2,shape:X0,xAxisId:0,yAxisId:0,zIndex:GL.bar};function X2(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=V0(t,n).needClip,p=vN(),m=AM(),h=cQ(e.children,eX),g=q(t=>c2(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(B0,{xAxisId:t,yAxisId:n,data:g,dataPointFormatter:q2,errorBarOffset:_},l.createElement(J2,O2({},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 Z2(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=Qj({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=qj(E,y)}else p=Hj(e,r),Array.isArray(p)||(p=[b,p]);var D=Q0(i,K2)(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=Zj({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=DT(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=ET(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=Zj({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=ET(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:A2(A2({},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 Q2(e){var t=iD(e,Y2),n=m2(t.stackId),r=AM();return l.createElement(r$,{id:t.id,type:`bar`},e=>l.createElement(l.Fragment,null,l.createElement(wQ,{legendPayload:I2(t)}),l.createElement(L2,{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(u$,{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!==X0}),l.createElement(eY,{zIndex:t.zIndex},l.createElement(X2,O2({},t,{id:e})))))}var $2=l.memo(Q2,qN);$2.displayName=`Bar`;var e4=[`domain`,`range`],t4=[`domain`,`range`];function n4(e,t){if(e==null)return{};var n,r,i=r4(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 r4(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 i4(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 a4(e,t){if(e===t)return!0;var n=e.domain,r=e.range,i=n4(e,e4),a=t.domain,o=t.range,s=n4(t,t4);return!i4(n,a)||!i4(r,o)?!1:qN(i,s)}var o4=[`type`],s4=[`dangerouslySetInnerHTML`,`ticks`,`scale`],c4=[`id`,`scale`];function l4(){return l4=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},l4.apply(null,arguments)}function u4(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 d4(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?u4(Object(n),!0).forEach(function(t){f4(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u4(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function f4(e,t,n){return(t=p4(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p4(e){var t=m4(e,`string`);return typeof t==`symbol`?t:t+``}function m4(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=g4(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 g4(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 _4(e){var t=_O(),n=(0,l.useRef)(null),r=yN(),i=e.type,a=h4(e,o4),o=YL(r,`xAxis`,i),s=(0,l.useMemo)(()=>{if(o!=null)return d4(d4({},a),{},{type:o})},[a,o]);return(0,l.useLayoutEffect)(()=>{s!=null&&(n.current===null?t(v$(s)):n.current!==s&&t(y$({prev:n.current,next:s})),n.current=s)},[s,t]),(0,l.useLayoutEffect)(()=>()=>{n.current&&=(t(b$(n.current)),null)},[t]),null}var v4=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(OM),c=AM(),u=_O(),d=`xAxis`,f=q(e=>EK(e,d,t,c)),p=q(e=>mK(e,t)),m=q(e=>yK(e,t)),h=q(e=>TW(e,t));if((0,l.useLayoutEffect)(()=>{if(!(r!==`auto`||!p||kZ(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(T$({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,s4);h.id,h.scale;var _=h4(h,c4);return l.createElement(c0,l4({},g,_,{ref:a,labelRef:o,x:m.x,y:m.y,width:p.width,height:p.height,className:Jw(`recharts-${d} ${d}`,n),viewBox:s,ticks:f,axisType:d,axisId:t}))},y4={allowDataOverflow:wW.allowDataOverflow,allowDecimals:wW.allowDecimals,allowDuplicatedCategory:wW.allowDuplicatedCategory,angle:wW.angle,axisLine:$1.axisLine,height:wW.height,hide:!1,includeHidden:wW.includeHidden,interval:wW.interval,label:!1,minTickGap:wW.minTickGap,mirror:wW.mirror,orientation:wW.orientation,padding:wW.padding,reversed:wW.reversed,scale:wW.scale,tick:wW.tick,tickCount:wW.tickCount,tickLine:$1.tickLine,tickSize:$1.tickSize,type:wW.type,niceTicks:wW.niceTicks,xAxisId:0},b4=l.memo(e=>{var t=iD(e,y4);return l.createElement(l.Fragment,null,l.createElement(_4,{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(v4,t))},a4);b4.displayName=`XAxis`;var x4=[`type`],S4=[`dangerouslySetInnerHTML`,`ticks`,`scale`],C4=[`id`,`scale`];function w4(){return w4=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},w4.apply(null,arguments)}function T4(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 E4(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?T4(Object(n),!0).forEach(function(t){D4(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):T4(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function D4(e,t,n){return(t=O4(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function O4(e){var t=k4(e,`string`);return typeof t==`symbol`?t:t+``}function k4(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 A4(e,t){if(e==null)return{};var n,r,i=j4(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 j4(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 M4(e){var t=_O(),n=(0,l.useRef)(null),r=yN(),i=e.type,a=A4(e,x4),o=YL(r,`yAxis`,i),s=(0,l.useMemo)(()=>{if(o!=null)return E4(E4({},a),{},{type:o})},[o,a]);return(0,l.useLayoutEffect)(()=>{s!=null&&(n.current===null?t(x$(s)):n.current!==s&&t(S$({prev:n.current,next:s})),n.current=s)},[s,t]),(0,l.useLayoutEffect)(()=>()=>{n.current&&=(t(C$(n.current)),null)},[t]),null}function N4(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(OM),c=AM(),u=_O(),d=`yAxis`,f=q(e=>xK(e,t)),p=q(e=>bK(e,t)),m=q(e=>EK(e,d,t,c)),h=q(e=>OW(e,t));if((0,l.useLayoutEffect)(()=>{if(!(r!==`auto`||!f||kZ(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(w$({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=A4(e,S4);h.id,h.scale;var _=A4(h,C4);return l.createElement(c0,w4({},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:Jw(`recharts-${d} ${d}`,n),viewBox:s,ticks:m,axisType:d,axisId:t}))}var P4={allowDataOverflow:DW.allowDataOverflow,allowDecimals:DW.allowDecimals,allowDuplicatedCategory:DW.allowDuplicatedCategory,angle:DW.angle,axisLine:$1.axisLine,hide:!1,includeHidden:DW.includeHidden,interval:DW.interval,label:!1,minTickGap:DW.minTickGap,mirror:DW.mirror,orientation:DW.orientation,padding:DW.padding,reversed:DW.reversed,scale:DW.scale,tick:DW.tick,tickCount:DW.tickCount,tickLine:$1.tickLine,tickSize:$1.tickSize,type:DW.type,niceTicks:DW.niceTicks,width:DW.width,yAxisId:0},F4=l.memo(e=>{var t=iD(e,P4);return l.createElement(l.Fragment,null,l.createElement(M4,{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(N4,t))},a4);F4.displayName=`YAxis`;var I4=J([(e,t)=>t,_N,dR,bR,Wq,Kq,wJ,EM],IJ);function L4(e){return`getBBox`in e.currentTarget&&typeof e.currentTarget.getBBox==`function`}function R4(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(L4(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 z4=SA(`mouseClick`),B4=Ej();B4.startListening({actionCreator:z4,effect:(e,t)=>{var n=e.payload,r=I4(t.getState(),R4(n));r?.activeIndex!=null&&t.dispatch(YK({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var V4=SA(`mouseMove`),H4=Ej(),U4=null,W4=null,G4=null;H4.startListening({actionCreator:V4,effect:(e,t)=>{var n=e.payload,r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a?.includes(`mousemove`);U4!==null&&(cancelAnimationFrame(U4),U4=null),W4!==null&&(typeof i!=`number`||!o)&&(clearTimeout(W4),W4=null),G4=R4(n);var s=()=>{var e=t.getState(),n=NK(e,e.tooltip.settings.shared);if(!G4){U4=null,W4=null;return}if(n===`axis`){var r=I4(e,G4);r?.activeIndex==null?t.dispatch(KK()):t.dispatch(JK({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}U4=null,W4=null};if(!o){s();return}i===`raf`?U4=requestAnimationFrame(s):typeof i==`number`&&W4===null&&(W4=setTimeout(s,i))}});function K4(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 q4={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},J4=BA({name:`rootProps`,initialState:q4,reducers:{updateOptions:(e,t)=>{e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=t.payload.barGap??q4.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}}}),Y4=J4.reducer,X4=J4.actions.updateOptions,Z4=BA({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)}});Z4.actions.updatePolarOptions;var Q4=Z4.reducer,$4=SA(`keyDown`),e3=SA(`focus`),t3=SA(`blur`),n3=Ej(),r3=null,i3=null,a3=null;n3.startListening({actionCreator:$4,effect:(e,t)=>{a3=e.payload,r3!==null&&(cancelAnimationFrame(r3),r3=null);var n=t.getState().eventSettings,r=n.throttleDelay,i=n.throttledEvents,a=i===`all`||i.includes(`keydown`);i3!==null&&(typeof r!=`number`||!a)&&(clearTimeout(i3),i3=null);var o=()=>{try{var e=t.getState();if(e.rootProps.accessibilityLayer===!1)return;var n=e.tooltip.keyboardInteraction,r=a3;if(r!==`ArrowRight`&&r!==`ArrowLeft`&&r!==`Enter`)return;var i=uq(n,Mq(e),oG(e),Vq(e)),a=i==null?-1:Number(i),o=!Number.isFinite(a)||a<0,s=Kq(e),c=Mq(e),l=NK(e,e.tooltip.settings.shared);if(r===`Enter`){if(o)return;var u=kJ(e,l,`hover`,String(n.index));t.dispatch(ZK({active:!n.active,activeIndex:n.index,activeCoordinate:u}));return}var d=kK(e)===`left-to-right`?1:-1,f=r===`ArrowRight`?1:-1,p;if(o){var m=oG(e),h=Vq(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(uq(_(v),c,m,h)!=null){p=v;break}}else for(var y=c.length-1;y>=0;y--)if(uq(_(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=kJ(e,l,`hover`,String(p));t.dispatch(ZK({active:!0,activeIndex:p.toString(),activeCoordinate:x}))}finally{r3=null,i3=null}};if(!a){o();return}r===`raf`?r3=requestAnimationFrame(o):typeof r==`number`&&i3===null&&(o(),a3=null,i3=setTimeout(()=>{a3?o():(i3=null,r3=null)},r))}}),n3.startListening({actionCreator:e3,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=kJ(n,NK(n,n.tooltip.settings.shared),`hover`,String(i));t.dispatch(ZK({active:!0,activeIndex:i,activeCoordinate:a}))}}}}),n3.startListening({actionCreator:t3,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var r=n.tooltip.keyboardInteraction;r.active&&t.dispatch(ZK({active:!1,activeIndex:r.index,activeCoordinate:r.coordinate}))}}});function o3(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 s3=SA(`externalEvent`),c3=Ej(),l3=new Map,u3=new Map,d3=new Map;c3.startListening({actionCreator:s3,effect:(e,t)=>{var n=e.payload,r=n.handler,i=n.reactEvent;if(r!=null){var a=i.type,o=o3(i);d3.set(a,{handler:r,reactEvent:o});var s=l3.get(a);s!==void 0&&(cancelAnimationFrame(s),l3.delete(a));var c=t.getState().eventSettings,l=c.throttleDelay,u=c.throttledEvents,d=u===`all`||u?.includes(a),f=u3.get(a);f!==void 0&&(typeof l!=`number`||!d)&&(clearTimeout(f),u3.delete(a));var p=()=>{var e=d3.get(a);try{if(!e)return;var n=e.handler,r=e.reactEvent,i=t.getState(),o={activeCoordinate:nJ(i),activeDataKey:$q(i),activeIndex:Zq(i),activeLabel:Qq(i),activeTooltipIndex:Zq(i),isTooltipActive:rJ(i)};n&&n(o,r)}finally{l3.delete(a),u3.delete(a),d3.delete(a)}};if(!d){p();return}if(l===`raf`){var m=requestAnimationFrame(p);l3.set(a,m)}else if(typeof l==`number`){if(!u3.has(a)){p();var h=setTimeout(p,l);u3.set(a,h)}}else p()}}});var f3=J([J([mq],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)}}}),p3=SA(`touchMove`),m3=Ej(),h3=null,g3=null,_3=null,v3=null;m3.startListening({actionCreator:p3,effect:(e,t)=>{var n=e.payload;if(n.touches!=null&&n.touches.length!==0){v3=o3(n);var r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a.includes(`touchmove`);h3!==null&&(cancelAnimationFrame(h3),h3=null),g3!==null&&(typeof i!=`number`||!o)&&(clearTimeout(g3),g3=null),_3=Array.from(n.touches).map(e=>R4({clientX:e.clientX,clientY:e.clientY,currentTarget:n.currentTarget}));var s=()=>{if(v3!=null){var e=t.getState(),n=NK(e,e.tooltip.settings.shared);if(n===`axis`){var r=_3?.[0];if(r==null){h3=null,g3=null;return}var i=I4(e,r);i?.activeIndex!=null&&t.dispatch(JK({activeIndex:i.activeIndex,activeDataKey:void 0,activeCoordinate:i.activeCoordinate}))}else if(n===`item`){var a=v3.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=Oq(e).find(e=>e.id===c);if(s==null||l==null||c==null)return;var u=l.dataKey,d=f3(e,s,c);t.dispatch(WK({activeDataKey:u,activeIndex:s,activeCoordinate:d,activeGraphicalItemId:c}))}h3=null,g3=null}};if(!o){s();return}i===`raf`?h3=requestAnimationFrame(s):typeof i==`number`&&g3===null&&(s(),v3=null,g3=setTimeout(()=>{v3?s():(g3=null,h3=null)},i))}}});var y3={throttleDelay:`raf`,throttledEvents:[`mousemove`,`touchmove`,`pointermove`,`scroll`,`wheel`]},b3=BA({name:`eventSettings`,initialState:y3,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=Y(t.payload.throttledEvents))}}}),x3=b3.actions.setEventSettings,S3=b3.reducer,C3=ck({brush:X$,cartesianAxis:E$,chartData:TY,errorBars:F0,eventSettings:S3,graphicalItems:l$,layout:Pj,legend:ON,options:vY,polarAxis:eQ,polarOptions:Q4,referenceElements:t1,renderedTicks:L1,rootProps:Y4,tooltip:QK,zIndex:$J}),w3=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`Chart`;return AA({reducer:C3,preloadedState:e,middleware:e=>e({serializableCheck:!1,immutableCheck:![`commonjs`,`es6`,`production`].includes(`es6`)}).concat([B4.middleware,H4.middleware,n3.middleware,c3.middleware,m3.middleware]),enhancers:e=>{var t=e;return typeof e==`function`&&(t=e()),t.concat(kA({type:`raf`}))},devTools:gP.devToolsEnabled&&{serialize:{replacer:K4},name:`recharts-${t}`}})};function T3(e){var t=e.preloadedState,n=e.children,r=e.reduxStoreName,i=AM(),a=(0,l.useRef)(null);if(i)return n;a.current??=w3(t,r);var o=hO;return l.createElement(WN,{context:o,store:a.current},n)}function E3(e){var t=e.layout,n=e.margin,r=_O(),i=AM();return(0,l.useEffect)(()=>{i||(r(jj(t)),r(Aj(n)))},[r,i,t,n]),null}var D3=(0,l.memo)(E3,qN);function O3(e){var t=_O();return(0,l.useEffect)(()=>{t(X4(e))},[t,e]),null}var k3=(0,l.memo)(e=>{var t=_O();return(0,l.useEffect)(()=>{t(x3(e))},[t,e]),null},qN);function A3(e){var t=e.zIndex,n=e.isPanorama,r=(0,l.useRef)(null),i=_O();return(0,l.useLayoutEffect)(()=>(r.current&&i(ZJ({zIndex:t,element:r.current,isPanorama:n})),()=>{i(QJ({zIndex:t,isPanorama:n}))}),[i,t,n]),l.createElement(`g`,{tabIndex:-1,ref:r,className:`recharts-zIndex-layer_${t}`})}function j3(e){var t=e.children,n=e.isPanorama,r=q(RJ);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(A3,{key:e,zIndex:e,isPanorama:n})),t,a.map(e=>l.createElement(A3,{key:e,zIndex:e,isPanorama:n})))}var M3=[`children`];function N3(e,t){if(e==null)return{};var n,r,i=P3(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 P3(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 F3(){return F3=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},F3.apply(null,arguments)}var I3={width:`100%`,height:`100%`,display:`block`},L3=(0,l.forwardRef)((e,t)=>{var n=hN(),r=gN(),i=RP();if(!Ij(n)||!Ij(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(sT,F3({},o,{title:s,desc:c,role:d,tabIndex:u,width:n,height:r,style:I3,ref:t}),a)}),R3=e=>{var t=e.children,n=q(MM);if(!n)return null;var r=n.width,i=n.height,a=n.y,o=n.x;return l.createElement(sT,{width:r,height:i,x:o,y:a},t)},z3=(0,l.forwardRef)((e,t)=>{var n=e.children,r=N3(e,M3);return AM()?l.createElement(R3,null,l.createElement(j3,{isPanorama:!0},n)):l.createElement(L3,F3({ref:t},r),l.createElement(j3,{isPanorama:!1},n))});function B3(e,t){return G3(e)||W3(e,t)||H3(e,t)||V3()}function V3(){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 H3(e,t){if(e){if(typeof e==`string`)return U3(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)?U3(e,t):void 0}}function U3(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 W3(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 G3(e){if(Array.isArray(e))return e}function K3(){var e=_O(),t=B3((0,l.useState)(null),2),n=t[0],r=t[1],i=q(dM);return(0,l.useEffect)(()=>{if(n!=null){var t=n.getBoundingClientRect().width/n.offsetWidth;X(t)&&t!==i&&e(Nj(t))}},[n,e,i]),r}function q3(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 J3(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?q3(Object(n),!0).forEach(function(t){Y3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):q3(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Y3(e,t,n){return(t=X3(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function X3(e){var t=Z3(e,`string`);return typeof t==`symbol`?t:t+``}function Z3(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 Q3(){return Q3=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},Q3.apply(null,arguments)}function $3(e,t){return i6(e)||r6(e,t)||t6(e,t)||e6()}function e6(){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 t6(e,t){if(e){if(typeof e==`string`)return n6(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)?n6(e,t):void 0}}function n6(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 r6(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 i6(e){if(Array.isArray(e))return e}var a6=()=>(IY(),null);function o6(e){if(typeof e==`number`)return e;if(typeof e==`string`){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var s6=(0,l.forwardRef)((e,t)=>{var n=(0,l.useRef)(null),r=$3((0,l.useState)({containerWidth:o6(e.style?.width),containerHeight:o6(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(SN,{width:i.containerWidth,height:i.containerHeight}),l.createElement(`div`,Q3({ref:s},e)))}),c6=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=$3((0,l.useState)({containerWidth:o6(n),containerHeight:o6(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(SN,{width:a.containerWidth,height:a.containerHeight}),l.createElement(`div`,Q3({ref:c},e)))}),l6=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height;return l.createElement(l.Fragment,null,l.createElement(SN,{width:n,height:r}),l.createElement(`div`,Q3({ref:t},e)))}),u6=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height;return typeof n==`string`||typeof r==`string`?l.createElement(c6,Q3({},e,{ref:t})):typeof n==`number`&&typeof r==`number`?l.createElement(l6,Q3({},e,{width:n,height:r,ref:t})):l.createElement(l.Fragment,null,l.createElement(SN,{width:n,height:r}),l.createElement(`div`,Q3({ref:t},e)))});function d6(e){return e?s6:u6}var f6=(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=_O(),w=$3((0,l.useState)(null),2),T=w[0],E=w[1],D=$3((0,l.useState)(null),2),O=D[0],k=D[1],A=K3(),j=lN(),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(z4(e)),C(s3({handler:a,reactEvent:e}))},[C,a]),ne=(0,l.useCallback)(e=>{C(V4(e)),C(s3({handler:u,reactEvent:e}))},[C,u]),re=(0,l.useCallback)(e=>{C(KK()),C(s3({handler:d,reactEvent:e}))},[C,d]),ie=(0,l.useCallback)(e=>{C(V4(e)),C(s3({handler:f,reactEvent:e}))},[C,f]),ae=(0,l.useCallback)(()=>{C(e3())},[C]),oe=(0,l.useCallback)(()=>{C(t3())},[C]),se=(0,l.useCallback)(e=>{C($4(e.key))},[C]),ce=(0,l.useCallback)(e=>{C(s3({handler:o,reactEvent:e}))},[C,o]),le=(0,l.useCallback)(e=>{C(s3({handler:s,reactEvent:e}))},[C,s]),ue=(0,l.useCallback)(e=>{C(s3({handler:c,reactEvent:e}))},[C,c]),P=(0,l.useCallback)(e=>{C(s3({handler:p,reactEvent:e}))},[C,p]),de=(0,l.useCallback)(e=>{C(s3({handler:g,reactEvent:e}))},[C,g]),fe=(0,l.useCallback)(e=>{x&&C(p3(e)),C(s3({handler:h,reactEvent:e}))},[C,x,h]),pe=(0,l.useCallback)(e=>{C(s3({handler:m,reactEvent:e}))},[C,m]),me=d6(y);return l.createElement(uY.Provider,{value:T},l.createElement(YT.Provider,{value:O},l.createElement(me,{width:M??_?.width,height:N??_?.height,className:Jw(`recharts-wrapper`,r),style:J3({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(a6,null),n)))}),p6=[`width`,`height`,`responsive`,`children`,`className`,`style`,`compact`,`title`,`desc`];function m6(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 g6=(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=eT(m6(e,p6));return c?l.createElement(l.Fragment,null,l.createElement(SN,{width:n,height:r}),l.createElement(z3,{otherAttributes:f,title:u,desc:d},a)):l.createElement(f6,{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(z3,{otherAttributes:f,title:u,desc:d,ref:t},l.createElement(l1,null,a)))});function _6(){return _6=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},_6.apply(null,arguments)}function v6(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 y6(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?v6(Object(n),!0).forEach(function(t){b6(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v6(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function b6(e,t,n){return(t=x6(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function x6(e){var t=S6(e,`string`);return typeof t==`symbol`?t:t+``}function S6(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 C6=y6({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`},y3),w6=(0,l.forwardRef)(function(e,t){var n=iD(e.categoricalChartProps,C6),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(T3,{preloadedState:{options:c},reduxStoreName:s.id??r},l.createElement(q$,{chartData:s.data}),l.createElement(D3,{layout:n.layout,margin:n.margin}),l.createElement(k3,{throttleDelay:n.throttleDelay,throttledEvents:n.throttledEvents}),l.createElement(O3,{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(g6,_6({},n,{ref:t})))}),T6=[`axis`,`item`],E6=(0,l.forwardRef)((e,t)=>l.createElement(w6,{chartName:`BarChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:T6,tooltipPayloadSearcher:gY,categoricalChartProps:e,ref:t})),D6={fontSize:11,fill:`var(--muted-foreground)`},O6=({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??Uw(d),m=gn(`(min-width: 640px)`),h=Gw(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:sv(Ww(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)(Mw,{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)(dN,{width:`100%`,height:`100%`,children:(0,I.jsxs)(E6,{data:p,margin:{top:4,right:0,bottom:0,left:0},barCategoryGap:d===`day`?`22%`:`30%`,children:[(0,I.jsx)(M0,{vertical:!1,stroke:`var(--border)`}),(0,I.jsx)(b4,{dataKey:`at`,padding:{left:4,right:m?4:18},tickFormatter:Ed,tick:D6,axisLine:!1,tickLine:!1,interval:d===`day`?m?4:9:m?1:3,height:18}),(0,I.jsx)(F4,{width:m?36:28,tick:D6,axisLine:!1,tickLine:!1,tickCount:3}),(0,I.jsx)($Y,{cursor:{fill:`var(--muted)`},content:(0,I.jsx)(Kw,{noun:t}),isAnimationActive:!1}),(0,I.jsx)($2,{dataKey:`count`,fill:`var(--primary)`,radius:[2,2,0,0],isAnimationActive:!1})]})})})]})},k6={"7d":`last 7 days`,"30d":`last 30 days`,"90d":`last 90 days`,"1y":`last year`,all:`all time`},A6=({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=aw(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)(O6,{title:n,noun:r,data:c,granularity:a,onGranularityChange:o,periodLabel:a===`week`?`last 12 weeks`:k6[s]})},j6=({value:e,onCommit:t,placeholder:n})=>{let[r,i]=(0,l.useState)(e);return(0,l.useEffect)(()=>i(e),[e]),(0,l.useEffect)(()=>{if(r===e)return;let n=setTimeout(()=>t(r),350);return()=>clearTimeout(n)},[r,e,t]),(0,I.jsx)(Yn,{wrapperClassName:`min-w-0 flex-1 sm:w-72 sm:flex-none`,leading:(0,I.jsx)(Dt,{className:`size-4`}),placeholder:n,"aria-label":`Search`,value:r,onChange:e=>i(e.target.value),onKeyDown:e=>e.key===`Enter`&&t(r)})},M6=(e,t,n,r)=>e.map(e=>{let i=t.fields[e.id],a=i&&D_(r,i,n?.fields[e.id]);return a?{...e,render:t=>(0,I.jsx)(A_,{shown:a,part:`cell`,field:i,value:t[e.id],fallback:hv(e,e.value?e.value(t):t[e.id])})}:e}),N6=No(),P6=e=>e.find(e=>e.kind===`search`),F6=({address:e})=>{let{resources:t}=G(),n=t[e.resource];return n?(0,I.jsx)(I6,{model:n,address:e}):(0,I.jsxs)(Eg,{title:`Not found`,children:[`There is no resource called `,e.resource,`.`]})},I6=({model:e,address:t})=>{let n=G(),{set:r,go:i}=Xg(),a=e.name,o=n.views[a],s=(0,l.useMemo)(()=>rw(o,e),[o,e]),{fields:c}=Dh(),u=(0,l.useMemo)(()=>M6(BC(e,o),e,o,c),[e,o,c]),d=t.filter,f=(0,l.useMemo)(()=>nw(s,d),[s,d]),p=f.ok?f.state:mC,m=f.ok?f.extras:[],{orderBy:h,filterLayout:g}=t,_=_n(),[v,y]=(0,l.useState)(!1),b=uw({model:e,resources:n.resources,views:n.views,view:o,state:p,extras:m}),x=(0,l.useMemo)(()=>Bg(e,o,u.map(e=>e.id)),[e,o,u]),S=pw({resources:n.resources,views:n.views,model:e,columns:x,filter:f.ok?d:``,orderBy:h}),C=yte(o,t.display),w=Lw(e,S.page,S.key,C!==void 0),T=rh(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=kg(a),{state:k}=B(),A=xw({model:e,view:o,restore:Sw(e),onReview:e=>i({kind:`record`,resource:a,key:e.key})}),j=(e,t=m)=>r({filter:ZC(s,e,t)}),M=P6(m),N=e=>{let t=m.filter(e=>e.kind!==`search`);j(p,e?[...t,N6.search(e)]:t)},ee=o?.names?.plural??W(a),te=(0,I.jsx)(AC,{layout:g,config:b,value:p,onChange:j}),ne=_C(b,p),re=(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)(zt,{className:`size-3.5`}),`Filters`,ne.length>0&&` (${ne.length})`]}),(0,I.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,I.jsx)(dC,{scroll:!0,chips:ne,onRemove:e=>j(vC(p,e)),onClear:()=>j(mC)})})]}),(0,I.jsx)(mw,{title:`Filters`,open:v,onClose:()=>y(!1),children:(0,I.jsx)(AC,{layout:`panel`,fullWidth:!0,config:b,value:p,onChange:j})})]}),ie=t=>i({kind:`record`,resource:a,key:oh(e,t)}),ae=S.source?(0,I.jsx)(lC,{columns:u,source:S.source,sort:Gg(h),onSortChange:e=>r({orderBy:Kg(e)}),onOpenRow:ie,rowActions:[{label:`Open ${D.toLowerCase()}`,onSelect:ie},...P_(O,`delete`)?[{label:`Delete`,destructive:!0,available:e=>F_(e,`delete`),onSelect:e=>void A.start(E(e))}]:[]],bulkActions:P_(O,`delete`)?[{label:e=>`Delete ${e}`,destructive:!0,onRun:e=>A.startBulk(e.map(E))}]:[],rowNumbers:!1,pinKey:k.kind===`signed-in`?ev(k.user.id,a):void 0,className:`min-h-0 flex-1`}):(0,I.jsx)(`div`,{className:`flex-1 rounded-lg border bg-surface`}),oe=C?C.kind===`cards`?(0,I.jsx)(Ew,{model:e,view:o,display:C,list:w}):(0,I.jsx)(jw,{display:C,list:w}):ae;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)(dd,{title:ee,subtitle:o?.help,actions:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(Pw,{view:o,value:C?.name??`table`,onChange:e=>r({display:e})}),C&&(0,I.jsx)(Iw,{model:e,view:o,display:C,orderBy:h,onChange:e=>r({orderBy:e})}),e.search?.length?(0,I.jsx)(j6,{value:M?.kind===`search`?M.text:``,onCommit:N,placeholder:`Search ${ee.toLowerCase()}`}):null,P_(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()]})]})}),!f.ok&&(0,I.jsx)(x_,{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)(x_,{title:`Could not load rows`,error:S.error}),o?.chart&&(0,I.jsx)(A6,{resource:a,chart:o.chart,title:`${ee} created`,noun:ee.toLowerCase(),filter:f.ok?d:``}),_?g===`bar`&&te:re,_&&g===`panel`?(0,I.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-4`,children:[te,oe]}):oe]})},L6=({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)(qm,{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)})}),R6=e=>e?.role===`owner`?[`owner`,`admin`,`member`]:[`admin`,`member`],z6=({member:e,current:t,onChanged:n})=>{let{session:r,organizations:i}=B(),a=t.organization.id,{busy:o,error:s,run:c}=Jm(),l=i?.roles??[],u=e.id===t.memberId,d=R6(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:Rm[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)(L6,{roles:l,selected:e.appRoles,grantable:Vm(l,t),disabled:o,onChange:t=>void c(async()=>{await r.organizations.setAppRoles(e.id,t),n()})}),(0,I.jsx)(Fd,{message:s})]})},B6=({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 ic?gd(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)(dd,{title:`Members`,subtitle:`Who works in ${e.organization.name}, and with which roles.`}),(0,I.jsxs)(Pd,{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)(Fd,{message:i}),n?(0,I.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(t=>(0,I.jsx)(z6,{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)(Zn,{}),` Loading`]})]})]}):null},V6=({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,H6=({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}=Jm(),_=()=>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)(Pd,{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)(Fd,{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)(Yn,{"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:R6(e).map(e=>(0,I.jsx)(`option`,{value:e,children:Rm[e]},e))}),(0,I.jsx)(V,{type:`submit`,variant:`primary`,loading:m,disabled:!a.trim(),children:`Invite`})]}),(0,I.jsx)(L6,{roles:i,selected:u,grantable:Vm(i,e),onChange:d})]}),(0,I.jsx)(V6,{link:f})]})},U6=({invitation:e,organizationId:t,onChanged:n})=>{let{session:r,organizations:i}=B(),[a,o]=(0,l.useState)(),{busy:s,error:c,run:u}=Jm(),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:[Rm[e.role],e.appRoles.length>0&&` · ${e.appRoles.map(e=>zm(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)(Fd,{message:c}),(0,I.jsx)(V6,{link:a})]})},W6=({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)(dd,{title:`Invitations`,subtitle:`People invited to ${e.organization.name}.`}),(0,I.jsx)(H6,{current:e,onSent:a}),(0,I.jsx)(Pd,{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)(U6,{invitation:e,organizationId:i,onChanged:a},e.id))})})]})},G6=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 ic?gd(e):`Could not read your organizations`))},[e,t,c]),{current:n,organizations:i,...o&&{error:o},reload:d}},K6=e=>window.location.assign(`${e}/`),q6=({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}=Jm(),f=i.trim()!==e.name||o!==e.slug;return(0,I.jsxs)(Pd,{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)(Fd,{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)(Yn,{"aria-label":`Name`,value:i,disabled:!t,onChange:e=>a(e.target.value),wrapperClassName:`flex-1`}),(0,I.jsx)(Yn,{"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`})]})]})},J6=({organization:e,memberId:t})=>{let{session:n}=B(),[r,i]=(0,l.useState)([]),[a,o]=(0,l.useState)(``),{busy:s,error:c,run:u}=Jm();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)(Pd,{title:`Hand over`,description:`Make another member the owner. You stay as an admin.`,children:[(0,I.jsx)(Fd,{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`})]})]})},Y6=({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}=Jm(),d=()=>u(async()=>{await n.organizations.remove(e.id),K6(t)});return(0,I.jsxs)(Pd,{title:`Delete organization`,description:`Takes the organization and its members and invitations away. Its records must be deleted first.`,children:[(0,I.jsx)(Fd,{message:r?void 0:c}),(0,I.jsx)(V,{variant:`danger`,onClick:()=>i(!0),children:`Delete organization`}),r&&(0,I.jsxs)(Nd,{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)(Fd,{message:c}),(0,I.jsx)(Yn,{"aria-label":`Organization name`,value:a,onChange:e=>o(e.target.value)})]})]})},X6=({organization:e,basePath:t,owner:n})=>{let{session:r}=B(),{busy:i,error:a,run:o}=Jm();return(0,I.jsxs)(Pd,{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)(Fd,{message:a}),(0,I.jsxs)(V,{loading:i,onClick:()=>void o(async()=>{await r.organizations.leave(e.id),K6(t)}),children:[`Leave `,e.name]})]})},Z6=({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)(dd,{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)(dd,{title:r.name,subtitle:e.role?`You are ${Rm[e.role].toLowerCase()} here.`:`You work here through your global roles, without being a member.`}),(0,I.jsx)(q6,{organization:r,editable:Bm(e),onSaved:n},`${r.name}/${r.slug}`),i&&e.memberId&&(0,I.jsx)(J6,{organization:r,memberId:e.memberId}),e.role&&(0,I.jsx)(X6,{organization:r,basePath:t,owner:i}),i&&(0,I.jsx)(Y6,{organization:r,basePath:t})]})},Q6=e=>e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,63),$6=({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)(Nn,{tone:`green`,children:`Current`}):(0,I.jsx)(V,{size:`sm`,loading:n,onClick:r,children:`Open`})]}),e8=({basePath:e})=>{let{session:t}=B(),[n,r]=(0,l.useState)(``),[i,a]=(0,l.useState)(),{busy:o,error:s,run:c}=Jm(),u=()=>c(async()=>{await t.organizations.create({name:n.trim(),slug:i??Q6(n)}),K6(e)});return(0,I.jsxs)(Pd,{title:`New organization`,description:`You become its owner, with every role, and work in it once it is made.`,children:[(0,I.jsx)(Fd,{message:s}),(0,I.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row`,onSubmit:e=>{e.preventDefault(),u()},children:[(0,I.jsx)(Yn,{"aria-label":`Name`,placeholder:`Name`,value:n,onChange:e=>r(e.target.value),wrapperClassName:`flex-1`}),(0,I.jsx)(Yn,{"aria-label":`Slug`,placeholder:`slug`,value:i??Q6(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`})]})]})},t8=({basePath:e,currentId:t})=>{let{session:n}=B(),[r,i]=(0,l.useState)(``),[a,o]=(0,l.useState)([]),{busy:s,error:c,run:u}=Jm();return(0,l.useEffect)(()=>{let e=setTimeout(()=>void n.organizations.search(r).then(o,()=>o([])),200);return()=>clearTimeout(e)},[n,r]),(0,I.jsxs)(Pd,{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)(Fd,{message:c}),(0,I.jsx)(Yn,{"aria-label":`Find an organization`,placeholder:`Name or slug`,value:r,onChange:e=>i(e.target.value),leading:(0,I.jsx)(Dt,{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)($6,{organization:r,current:r.id===t,busy:s,onOpen:()=>void u(async()=>{await n.organizations.switchTo(r.id),K6(e)})},r.id))})]})},n8=()=>{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)(Pd,{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=>zm(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))})})},r8=({state:e,basePath:t})=>{let{session:n,organizations:r,state:i}=B(),{busy:a,error:o,run:s}=Jm(),c=i.kind===`signed-in`?i.user:void 0,l=r?.create===`everyone`||c!==void 0&&$m(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)(dd,{title:`Organizations`,subtitle:`You work in one organization at a time; what you see follows from your roles there.`}),(0,I.jsxs)(Pd,{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)(Fd,{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)($6,{organization:e,current:e.id===u,busy:a,onOpen:()=>void s(async()=>{await n.organizations.switchTo(e.id),K6(t)})},e.id))})]}),(0,I.jsx)(n8,{}),l&&(0,I.jsx)(e8,{basePath:t}),(e.current?.globalRoles.length??0)>0&&(0,I.jsx)(t8,{basePath:t,currentId:u})]})},i8=(e,t)=>t?.active?{...e,role:t.active}:e,a8=(e,t)=>e instanceof ic?gd(e):t,o8=e=>{let{session:t}=B(),n=ph(),[r,i]=(0,l.useState)();(0,l.useEffect)(()=>{t.roles.current().then(i,e=>n.show({state:`error`,title:a8(e,`Could not read your roles`)}))},[t,n]);let a=(0,l.useCallback)(r=>void t.roles.switchTo(r).then(e,e=>n.show({state:`error`,title:a8(e,`Could not switch the role`)})),[t,n,e]);return{...r&&{current:r},switchTo:a}},s8=e=>new Set((e.userMenu?.items??[]).flatMap(e=>e.kind===`resource`?[e.resource]:e.kind===`page`?[e.page]:[])),c8=(e,t,n)=>(e.userMenu?.items??[]).map((r,i)=>{if(r.kind===`link`)return{id:`link-${i}`,label:r.label,icon:hg(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:hg(r.icon??i?.icon,Je),href:ts({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:hg(r.icon,pg(r.resource)),href:ts({kind:`list`,resource:r.resource},t),active:r.resource===n}}),l8={sales:`Sales`,crm:`CRM`,catalog:`Catalog`,inventory:`Inventory`,core:`Admin`,hr:`HR`},u8=(e,t=``,n={})=>{let r=new Map,i=new Map,a=s8(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:hg(n.icon,Je),href:ts({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??l8[c]??W(c),u=r.get(l)??{label:l,items:[]};u.items.push({id:o.name,label:s.names?.plural??W(o.name),icon:pg(o.name),href:ts({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:pg(r),href:ts({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))}))},d8=({action:e,label:t,danger:n,onCancel:r,onConfirm:i})=>(0,I.jsx)(Nd,{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})]})}),f8=(0,l.createContext)(void 0),p8=({value:e,children:t})=>(0,I.jsx)(f8.Provider,{value:e,children:t}),m8=()=>(0,l.useContext)(f8),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]))),g8=(e,t)=>({model:e,record:t,key:Zo(oh(e,t)),etag:typeof t.etag==`string`?t.etag:void 0,permissions:t.permissions}),_8=(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}}),v8=(e,t=``)=>Em(_8(U(),e,t)),y8=(e,{filter:t=``,sort:n=``,key:r})=>{let i=U();return Em({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{...g8(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]?g8(e,a.items[0]):null}})},b8=(e,{filter:t=``,sort:n=``,pageSize:r,pageToken:i=``})=>{let a=U();return Em({queryKey:H.list(e.name,t,n,r,i),placeholderData:Sp,queryFn:()=>a.list(e.name,{filter:t||void 0,orderBy:n||void 0,pageSize:r,pageToken:i||void 0})})},x8=()=>{let e=Qf();return(0,l.useCallback)(t=>e.invalidateQueries({predicate:e=>e.queryKey[1]===t}),[e])},S8=e=>e instanceof Error?e.message:`Something went wrong`,C8=(e,t,n)=>{let{views:r}=G(),{actions:i}=Dh(),a=kg(e),o=U(),s=Mm(e),c=ph(),u=x8(),{go:d}=Xg(),[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`&&(!P_(a,`update`)||t?.permissions?.update===!1))return`You cannot change this record`;if(n===`delete`&&(!P_(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(Uo(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:S8(t)})),p(void 0))}}},w8=(e,t,n)=>{let r=C8(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()}},T8=e=>e.props,E8=({node:e})=>{let{name:t,resource:n,label:r,variant:i}=T8(e),a=m8(),o=w8(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)(d8,{action:o.action,label:u,danger:i===`danger`,onCancel:()=>c(!1),onConfirm:()=>{c(!1),o.run()}})]})},D8=({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})]}),O8=({children:e})=>(0,I.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:e}),k8=({node:e,children:t,slots:n})=>{let{title:r,description:i}=T8(e);return(0,I.jsx)(D8,{title:r,description:i,actions:n.actions,className:`h-full`,children:(0,I.jsx)(`div`,{className:`flex flex-col gap-3`,children:t})})},A8=({model:e,filter:t,sort:n,limit:r=12,title:i,description:a,empty:o,actions:s,children:c})=>{let l=b8(e,{filter:t,sort:n,pageSize:r}),u=l.data?.items??[];return(0,I.jsx)(D8,{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)(gS,{className:`h-24 w-56`},t))}):l.error?(0,I.jsx)(x_,{title:`Could not load`,error:l.error}):u.length===0?(0,I.jsx)(O8,{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=g8(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)(p8,{value:n,children:c})},n.key)})})})},j8=({node:e,children:t,slots:n})=>{let{resource:r,...i}=T8(e),a=G().resources[r];return a?(0,I.jsx)(A8,{...i,model:a,actions:n.actions,children:t}):null},M8=({field:e,value:t,known:n})=>{let{resources:r,views:i}=G(),a=U(),o=Qf(),s=e.relation?r[e.relation.resource]:void 0,c=String(t),l=Em({queryKey:H.relatedLabel(s?.name??``,c),enabled:!!s&&n===void 0,queryFn:async()=>(await cw(o,a,s,[c],i[s.name])).get(c)??c});return s?(0,I.jsx)(Zg,{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})},N8=({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)(M8,{field:t,value:n,known:i});let s=t.type===`file`?a_(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=f_(t,n,o);return t.type===`enum`||o.format===`badge`?(0,I.jsx)(Nn,{tone:MC(String(n)),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})},P8=e=>{let{views:t}=G(),n=O_(e.field,t[e.model.name]?.fields[e.field.name]),r=(0,I.jsx)(N8,{...e});return n?(0,I.jsx)(A_,{shown:n,part:`display`,field:e.field,value:e.value,fallback:r}):r},F8=(e,t,n)=>{if(!t)return[];let r=rc(e,t.model.name,n);return r.ok?r.steps:[]},I8=(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}}),L8=(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}},R8=(e,t)=>{let{resources:n}=G(),r=F8(n,e,t);return L8(e,r,Em(I8(U(),Qf(),e,t,r)))},z8=(e,t)=>{let{resources:n}=G(),r=U(),i=Qf(),a=t.map(t=>F8(n,e,t)),o=wm({queries:t.map((t,n)=>I8(r,i,e,t,a[n]))});return t.map((t,n)=>L8(e,a[n],o[n]))},B8=(e,t)=>{if(t)return t;let n=e.split(`.`).map(e=>W(e).toLowerCase()).join(` `);return n[0].toUpperCase()+n.slice(1)},V8=({node:e})=>{let{name:t,label:n,format:r}=T8(e),{views:i}=G(),a=R8(m8(),t);if(a.state===`missing`)return null;let o=a.state===`loading`?(0,I.jsx)(gS,{className:`h-4 w-24`}):(0,I.jsx)(P8,{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??B8(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})]})},H8={1:``,2:`md:grid-cols-2`,3:`md:grid-cols-2 xl:grid-cols-3`,4:`sm:grid-cols-2 xl:grid-cols-4`},U8={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`},W8=({node:e,children:t})=>{let{columns:n=2}=T8(e),r=e.children;return(0,I.jsx)(`div`,{className:F(`grid grid-cols-1 gap-4`,H8[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&&U8[i]),children:e},t)})})},G8=`font-medium text-primary-text hover:underline`,K8=({node:e})=>{let t=T8(e),n=m8()?.record,r=e.children.filter(e=>typeof e==`string`).join(``);if(t.to){let e=Uo(t.to,n);return(0,I.jsx)(Zg,{to:e,className:G8,children:r||ts(e)})}let i=t.href??``;return(0,I.jsx)(`a`,{href:i,className:G8,...i.startsWith(`http`)&&{target:`_blank`,rel:`noreferrer`},children:r||i})},q8=(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]:p_(n.record[t])];let i=r.default&&`value`in r.default?r.default.value:void 0;return[t,r.type===`boolean`?!!i:p_(i)]})),J8=(e,t,n)=>Object.fromEntries(Object.entries(t).flatMap(([t,r])=>{let i=e.fields[t];return H_(r)?r.key===p_(n.record[t])?[]:[[t,i.type===`integer`?Number(r.key):r.key]]:y_(i,r,n.record[t])?[[t,g_(i,r)]]:[]})),Y8=({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=ph(),p=x8(),m=u[e.name],[h,g]=(0,l.useState)(()=>q8(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,{...K_(e,c,h),...o}):d.update(e.name,t.key,J8(e,h,t),t.etag??`*`)).then(async()=>{await p(e.name),f.show({state:`success`,title:`${i??r}: saved`}),s()},e=>{zs(e)&&v(Object.fromEntries(e.errors.flatMap(e=>e.field?[[e.field,e.message]]:[]))),b(e)}),S(!1)};return(0,I.jsx)(Nd,{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)(x_,{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)(z_,{label:m?.fields[n]?.label??W(n),help:m?.fields[n]?.help,error:_[n],children:(0,I.jsx)(N_,{field:r,hints:m?.fields[n],value:H_(i)?i.key:i,stored:t?.record[n],relationLabel:H_(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)})]})})},X8=({model:e,recordKey:t,children:n})=>{let r=y8(e,{key:t});return(0,I.jsx)(I.Fragment,{children:n(r.data??void 0)})},Z8=({node:e})=>{let t=T8(e),n=m8(),{resources:r}=G(),i=r[t.resource??n?.model.name??``],a=kg(i?.name??``),[o,s]=(0,l.useState)(!1);if(!i||!(t.mode===`create`?P_(a,`create`):P_(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)(Y8,{...t,model:i,record:t.mode===`edit`?e:void 0,onClose:()=>s(!1)})]});return t.mode===`edit`&&t.recordKey!==void 0?(0,I.jsx)(X8,{model:i,recordKey:t.recordKey,children:c}):c(t.mode===`edit`?n:void 0)},Q8=({node:e,children:t,slots:n})=>{let{title:r,description:i}=T8(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)(dd,{title:r,subtitle:i,actions:n.actions}),t]})})},$8=(e,t)=>{let n=m8(),r=R8(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},e5=({node:e})=>{let{value:t,max:n,label:r}=T8(e),i=$8(t,0),a=$8(n,100);if(i===void 0||a===void 0)return(0,I.jsx)(gS,{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}%`}})})]})},t5=({model:e,filter:t,sort:n,recordKey:r,title:i,description:a,empty:o,actions:s,children:c})=>{let l=y8(e,{filter:t,sort:n,key:r}),u=e=>l.data?(0,I.jsx)(p8,{value:l.data,children:e}):void 0,d=l.isPending?(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,I.jsx)(gS,{className:`h-4 w-1/2`}),(0,I.jsx)(gS,{className:`h-4 w-1/3`})]}):l.error?(0,I.jsx)(x_,{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)(O8,{children:o??`Nothing here yet.`});return(0,I.jsx)(D8,{title:i,description:a,actions:s?u(s):void 0,className:`h-full`,children:d})},n5=({node:e,children:t,slots:n})=>{let{resource:r,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l}=T8(e),u=G().resources[r];return u?(0,I.jsx)(t5,{model:u,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l,actions:n.actions,children:t}):null},r5=({node:e,children:t})=>{let{when:n}=T8(e),{resources:r}=G(),i=U(),a=m8(),o=(0,l.useMemo)(()=>gee(n),[n]),s=o.ok?o.paths:[],c=s.map(e=>vee(e,e=>!!(a&&Object.hasOwn(a.model.fields,e)))),u=s.filter((e,t)=>c[t]===void 0),d=z8(a,u),f=wm({queries:c.flatMap(e=>{let t=e===void 0?void 0:r[e];return t?[_8(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)}),_ee(o,p)?(0,I.jsx)(I.Fragment,{children:t}):null},i5=`text-2xl font-semibold tracking-tight tabular-nums`,a5=({model:e,filter:t})=>{let n=v8(e,t);return n.isPending?(0,I.jsx)(gS,{className:`h-8 w-16`}):n.error?(0,I.jsx)(`span`,{className:`text-[13px] text-danger-text`,children:`Could not count`}):(0,I.jsx)(Zg,{to:{kind:`list`,resource:e.name,filter:t},className:`${i5} hover:text-primary-text`,children:n.data.toLocaleString(`en-IE`)})},o5=({field:e,format:t})=>{let n=R8(m8(),e);return n.state===`loading`?(0,I.jsx)(gS,{className:`h-8 w-16`}):n.state===`missing`?null:(0,I.jsx)(`span`,{className:i5,children:(0,I.jsx)(P8,{model:n.model,field:n.field,value:n.value,format:t})})},s5=({node:e})=>{let{label:t,value:n,resource:r,filter:i,field:a,format:o,description:s}=T8(e),{resources:c}=G(),l=r===void 0?void 0:c[r];return(0,I.jsxs)(D8,{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:i5,children:n}),l&&(0,I.jsx)(a5,{model:l,filter:i}),a!==void 0&&(0,I.jsx)(o5,{field:a,format:o})]}),s&&(0,I.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:s})]})},c5=(e,t,n)=>{let{resources:r,views:i}=G(),a=U(),o=Qf(),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=wm({queries:s.map(({target:e,ids:t})=>({queryKey:H.labelMap(e.name,t.join(`,`)),queryFn:()=>cw(o,a,e,t,i[e.name])}))});return new Map(s.flatMap(({name:e},t)=>c[t]?.data?[[e,c[t].data]]:[]))},l5=e=>e.includes(`.`),u5=e=>{let{resources:t,views:n}=G();return r=>{let i=rc(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)}},d5=({model:e,row:t,column:n})=>{let r=R8(g8(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)(P8,{model:r.model,field:r.field,value:r.value})},f5=({model:e,columns:t,rows:n,label:r,pager:i})=>{let{resources:a}=G(),o=u5(e),s=t[0]===void 0?void 0:rc(a,e.name,t[0]),c=!s?.ok||s.steps.at(-1).field.type!==`relation`,l=c5(e,t.filter(e=>!l5(e)),n),u=(t,n)=>l5(n)?(0,I.jsx)(d5,{model:e,row:t,column:n}):(0,I.jsx)(P8,{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=g8(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)(Zg,{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`})})]})]})},p5=(e,t)=>t?.list?.columns??Object.keys(e.fields).filter(t=>!e.primaryKey.includes(t)&&t!==e.tenant).slice(0,5),m5=({model:e,view:t,filter:n,sort:r,columns:i,pageSize:a=10,title:o,description:s,empty:c,actions:u})=>{let d=(i??p5(e,t)).filter(t=>Object.hasOwn(e.fields,t)),[f,p]=(0,l.useState)([``]),m=b8(e,{filter:n,sort:r,pageSize:a,pageToken:f.at(-1)}),h=m.data?.items??[],g=m.data?.nextPageToken;return(0,I.jsx)(D8,{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)(gS,{className:`h-4 w-full`},t))}):m.error?(0,I.jsx)(x_,{title:`Could not load`,error:m.error}):h.length===0&&f.length===1?(0,I.jsx)(O8,{children:c??`Nothing here yet.`}):(0,I.jsx)(f5,{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])}})})},h5={Page:Q8,Grid:W8,Card:k8,Stat:s5,RecordCard:n5,Field:V8,Table:({node:e,slots:t})=>{let n=T8(e),{resources:r,views:i}=G(),a=r[n.resource];return a?(0,I.jsx)(m5,{...n,model:a,view:i[a.name],actions:t.actions}):null},CardRow:j8,Progress:e5,ModalForm:Z8,Action:E8,Show:r5,Link:K8},g5=e=>typeof e==`string`||!e.custom&&e.type===`Link`,_5=e=>{let t=[];for(let n of e){let e=t.at(-1);g5(n)&&e&&g5(e[0])?e.push(n):t.push([n])}return t.map((e,t)=>{let[n]=e;return g5(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)(b5,{node:e},t))},t):(0,I.jsx)(b5,{node:n},t)})},v5=e=>$s(e)||Array.isArray(e)&&e.length>0&&e.every($s),y5=e=>Object.fromEntries(Object.entries(e.props).flatMap(([e,t])=>v5(t)?[[e,(0,I.jsx)(I.Fragment,{children:_5(Array.isArray(t)?t:[t])})]]:[])),b5=({node:e})=>{let{components:t}=Dh();if(e.custom){let n=t?.[e.type];return n?(0,I.jsx)($g,{name:e.type,children:(0,I.jsx)(n,{...Io(e.props),children:e.children.length>0?_5(e.children):void 0})}):(0,I.jsxs)(Qg,{children:[`No component is registered as `,e.type,`. Export it from protobase.ui.tsx, or load the plugin that provides it.`]})}let n=h5[e.type];return n?(0,I.jsx)(n,{node:e,slots:y5(e),children:_5(e.children)}):(0,I.jsxs)(Qg,{children:[e.type,` is not a block this version of the app knows.`]})},x5=({name:e})=>{let t=G().pages[e];return t?(0,I.jsx)(b5,{node:t.tree}):(0,I.jsxs)(Eg,{title:`Not found`,children:[`There is no page called `,e,`.`]})},S5=e=>typeof e==`string`&&e.trim()!==``,C5=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 S5(t)?Number.isInteger(r)?S5(i)?S5(a)?o!==void 0&&!S5(o)?{problem:`its plugin.json names a stylesheet that is no URL`}:n!==void 0&&!S5(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`}},w5=class extends Error{name=`UiConflictError`},T5=e=>Object.keys(e).some(e=>e==="default"||/^[A-Z]/.test(e))?c(e):e,E5=(e,t)=>[...(e.extends??[]).map(T5).flatMap((e,n)=>E5(e,e.name??`${t} extends[${n}]`)),{ui:e,label:t}],D5=(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 w5(`${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},O5=e=>e.length<=1?e[0]:()=>e.map((e,t)=>(0,I.jsx)(e,{},t)),k5=(...e)=>{let t=e.flatMap((e,t)=>E5(e,e.name??`UI config ${t+1}`)),n=D5(`The component`,t,e=>e.components),r=D5(`The action handler`,t,e=>e.actions),i=D5(`The field type`,t,e=>e.fields),a=O5(t.flatMap(({ui:e})=>e.shell?.actions?[e.shell.actions]:[])),o=O5(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}}}}},A5=(0,l.createContext)(null),j5=A5.Provider,M5=()=>{let e=(0,l.useContext)(A5);if(!e)throw Error(`usePlugin is for the components of a plugin the app loaded`);return e},N5=(e,t,n)=>{let r=n=>(0,I.jsx)(j5,{value:e,children:(0,I.jsx)(t,{...n})});return r.displayName=`${e.name}:${n}`,r},P5=(e,t,n)=>({of:n.of,display:N5(e,n.display,`fields.${t}.display`),...n.editor&&{editor:N5(e,n.editor,`fields.${t}.editor`)},...n.cell&&{cell:N5(e,n.cell,`fields.${t}.cell`)}}),F5=(e,t)=>{let n=k5({...c(t),name:e.name}),r=Object.fromEntries(Object.entries(n.components??{}).map(([t,n])=>[t,N5(e,n,t)])),i=n.fields&&Object.fromEntries(Object.entries(n.fields).map(([t,n])=>[t,P5(e,t,n)])),a=n.shell&&{...n.shell.actions&&{actions:N5(e,n.shell.actions,`shell.actions`)},...n.shell.rightPanel&&{rightPanel:N5(e,n.shell.rightPanel,`shell.rightPanel`)}};return{name:e.name,components:r,...n.actions&&{actions:n.actions},...i&&{fields:i},...a&&{shell:a}}},I5=`0.12.5`,L5={pluginApi:1}.pluginApi,R5=I5,z5={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=>yh(()=>import(e),[])},B5={api:L5,version:R5},V5=e=>e instanceof Error?e.message:String(e),H5=async(e,t,n,r=B5)=>{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=C5(n.json);if(`problem`in s)return a(s.problem);let{manifest:c}=s;o=c.name;let l=ds(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:F5(d,u)}}catch(e){return a(`it could not be loaded: ${V5(e)}`,o)}},U5=(e,t)=>{let n=k5(e??{}),r=[],i=[];for(let e of t){if(e.kind===`off`){i.push(e);continue}try{k5(...r,e.ui,n),r.push(e.ui)}catch(t){if(!(t instanceof w5))throw t;i.push({kind:`off`,url:e.plugin.url,name:e.plugin.name,reason:t.message})}}return{ui:r.length===0?n:k5(...r,n),off:i}},W5=1e4,G5=[],K5=(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()},W5);return e.forEach((e,n)=>{H5(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}},q5=(0,l.createContext)([]),cne=()=>(0,l.useContext)(q5),lne=({ui:e,loader:t=z5,children:n})=>{let{plugins:r=[]}=G(),{loads:i,settled:a}=K5(r,t),o=(0,l.useMemo)(()=>U5(e,i),[e,i]);return a?(0,I.jsx)(Eh.Provider,{value:o.ui,children:(0,I.jsx)(q5.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)(Zn,{}),` Loading`]})},une=({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)(un,{"aria-hidden":!0,className:`size-4`})})]})},dne=({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))}),fne=({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))}),J5=({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]}),Y5=({title:e,rows:t})=>t.length===0?null:(0,I.jsx)(J5,{title:e,children:(0,I.jsx)(dne,{rows:t})}),pne=({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)(Nn,{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)(An,{people:i,size:`md`}),i.length,` viewing`]}),a]})]}),X5=(e,t)=>[`${t}_at`,`${t}At`].find(t=>e.fields[t]),Z5=({item:e,scope:t})=>{let{components:n}=Dh(),r=n?.[e.component],i=r?(0,I.jsx)(p8,{value:t,children:(0,I.jsx)($g,{name:e.component,children:(0,I.jsx)(r,{...Io(e.props??{})})})}):(0,I.jsxs)(Qg,{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)(J5,{title:e.title,children:i}):i:e.title?(0,I.jsx)(B_,{title:e.title,children:i}):(0,I.jsx)(`section`,{className:`py-8`,children:i})},mne=({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))})]}),hne={wallet:on,"file-text":He,send:jt},gne=e=>e?hne[e]??fn:fn,_ne=({model:e,stored:t,recordKey:n})=>{let{go:r}=Xg(),i={model:e,record:t.record,key:n,etag:t.etag,permissions:t.permissions},a=C8(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)(mne,{actions:a.actions.map(e=>({name:e.label,icon:gne(e.icon),blocked:a.blocked(e),running:a.running===e.name,onRun:()=>e.confirm?s(e):void a.run(e)}))}),o&&(0,I.jsx)(d8,{action:o,label:o.label,danger:o.run?.kind===`delete`,onCancel:()=>s(void 0),onConfirm:()=>{s(void 0),a.run(o)}})]})},Q5=[[`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]];Q5.length;var vne=e=>{let[t,n,r]=Q5[e%Q5.length],i=e%Q5.length;return{id:`P-${200+i}`,sku:`${n}-${String(1e3+i*7).padStart(4,`0`)}`,name:t,category:n,priceCents:r}},$5=`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]`,e7=e=>e.quantity*e.unitPriceCents,yne=(e,t=.21)=>{let n=e.reduce((e,t)=>e+e7(t),0),r=Math.round(n*t);return{subtotalCents:n,vatCents:r,totalCents:n+r}},bne=({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))})]})},t7=({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 xne(){var e=[...arguments];return(0,l.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var n7=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function r7(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function i7(e){return`nodeType`in e}function a7(e){return e?r7(e)?e:i7(e)?e.ownerDocument?.defaultView??window:window:window}function o7(e){let{Document:t}=a7(e);return e instanceof t}function s7(e){return!r7(e)&&e instanceof a7(e).HTMLElement}function c7(e){return e instanceof a7(e).SVGElement}function l7(e){return e?r7(e)?e.document:i7(e)?o7(e)?e:s7(e)||c7(e)?e.ownerDocument:document:document:document}var u7=n7?l.useLayoutEffect:l.useEffect;function d7(e){let t=(0,l.useRef)(e);return u7(()=>{t.current=e}),(0,l.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function Sne(){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 f7(e,t){t===void 0&&(t=[e]);let n=(0,l.useRef)(e);return u7(()=>{n.current!==e&&(n.current=e)},t),n}function p7(e,t){let n=(0,l.useRef)();return(0,l.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function m7(e){let t=d7(e),n=(0,l.useRef)(null);return[n,(0,l.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function h7(e){let t=(0,l.useRef)();return(0,l.useEffect)(()=>{t.current=e},[e]),t.current}var g7={};function _7(e,t){return(0,l.useMemo)(()=>{if(t)return t;let n=g7[e]==null?0:g7[e]+1;return g7[e]=n,e+`-`+n},[e,t])}function v7(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 y7=v7(1),b7=v7(-1);function Cne(e){return`clientX`in e&&`clientY`in e}function x7(e){if(!e)return!1;let{KeyboardEvent:t}=a7(e.target);return t&&e instanceof t}function wne(e){if(!e)return!1;let{TouchEvent:t}=a7(e.target);return t&&e instanceof t}function S7(e){if(wne(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 Cne(e)?{x:e.clientX,y:e.clientY}:null}var C7=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[C7.Translate.toString(e),C7.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),w7=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function Tne(e){return e.matches(w7)?e:e.querySelector(w7)}var Ene={display:`none`};function Dne(e){let{id:t,value:n}=e;return l.createElement(`div`,{id:t,style:Ene},n)}function One(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 kne(){let[e,t]=(0,l.useState)(``);return{announce:(0,l.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var T7=(0,l.createContext)(null);function Ane(e){let t=(0,l.useContext)(T7);(0,l.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function jne(){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 Mne={draggable:`
|
|
61
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function t6(e,t){if(e){if(typeof e==`string`)return n6(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)?n6(e,t):void 0}}function n6(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 r6(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 i6(e){if(Array.isArray(e))return e}var a6=()=>(IY(),null);function o6(e){if(typeof e==`number`)return e;if(typeof e==`string`){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var s6=(0,l.forwardRef)((e,t)=>{var n=(0,l.useRef)(null),r=$3((0,l.useState)({containerWidth:o6(e.style?.width),containerHeight:o6(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(SN,{width:i.containerWidth,height:i.containerHeight}),l.createElement(`div`,Q3({ref:s},e)))}),c6=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=$3((0,l.useState)({containerWidth:o6(n),containerHeight:o6(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(SN,{width:a.containerWidth,height:a.containerHeight}),l.createElement(`div`,Q3({ref:c},e)))}),l6=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height;return l.createElement(l.Fragment,null,l.createElement(SN,{width:n,height:r}),l.createElement(`div`,Q3({ref:t},e)))}),u6=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height;return typeof n==`string`||typeof r==`string`?l.createElement(c6,Q3({},e,{ref:t})):typeof n==`number`&&typeof r==`number`?l.createElement(l6,Q3({},e,{width:n,height:r,ref:t})):l.createElement(l.Fragment,null,l.createElement(SN,{width:n,height:r}),l.createElement(`div`,Q3({ref:t},e)))});function d6(e){return e?s6:u6}var f6=(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=_O(),w=$3((0,l.useState)(null),2),T=w[0],E=w[1],D=$3((0,l.useState)(null),2),O=D[0],k=D[1],A=K3(),j=lN(),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(z4(e)),C(s3({handler:a,reactEvent:e}))},[C,a]),ne=(0,l.useCallback)(e=>{C(V4(e)),C(s3({handler:u,reactEvent:e}))},[C,u]),re=(0,l.useCallback)(e=>{C(KK()),C(s3({handler:d,reactEvent:e}))},[C,d]),ie=(0,l.useCallback)(e=>{C(V4(e)),C(s3({handler:f,reactEvent:e}))},[C,f]),ae=(0,l.useCallback)(()=>{C(e3())},[C]),oe=(0,l.useCallback)(()=>{C(t3())},[C]),se=(0,l.useCallback)(e=>{C($4(e.key))},[C]),ce=(0,l.useCallback)(e=>{C(s3({handler:o,reactEvent:e}))},[C,o]),le=(0,l.useCallback)(e=>{C(s3({handler:s,reactEvent:e}))},[C,s]),ue=(0,l.useCallback)(e=>{C(s3({handler:c,reactEvent:e}))},[C,c]),P=(0,l.useCallback)(e=>{C(s3({handler:p,reactEvent:e}))},[C,p]),de=(0,l.useCallback)(e=>{C(s3({handler:g,reactEvent:e}))},[C,g]),fe=(0,l.useCallback)(e=>{x&&C(p3(e)),C(s3({handler:h,reactEvent:e}))},[C,x,h]),pe=(0,l.useCallback)(e=>{C(s3({handler:m,reactEvent:e}))},[C,m]),me=d6(y);return l.createElement(uY.Provider,{value:T},l.createElement(YT.Provider,{value:O},l.createElement(me,{width:M??_?.width,height:N??_?.height,className:Jw(`recharts-wrapper`,r),style:J3({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(a6,null),n)))}),p6=[`width`,`height`,`responsive`,`children`,`className`,`style`,`compact`,`title`,`desc`];function m6(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 g6=(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=eT(m6(e,p6));return c?l.createElement(l.Fragment,null,l.createElement(SN,{width:n,height:r}),l.createElement(z3,{otherAttributes:f,title:u,desc:d},a)):l.createElement(f6,{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(z3,{otherAttributes:f,title:u,desc:d,ref:t},l.createElement(l1,null,a)))});function _6(){return _6=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},_6.apply(null,arguments)}function v6(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 y6(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?v6(Object(n),!0).forEach(function(t){b6(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v6(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function b6(e,t,n){return(t=x6(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function x6(e){var t=S6(e,`string`);return typeof t==`symbol`?t:t+``}function S6(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 C6=y6({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`},y3),w6=(0,l.forwardRef)(function(e,t){var n=iD(e.categoricalChartProps,C6),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(T3,{preloadedState:{options:c},reduxStoreName:s.id??r},l.createElement(q$,{chartData:s.data}),l.createElement(D3,{layout:n.layout,margin:n.margin}),l.createElement(k3,{throttleDelay:n.throttleDelay,throttledEvents:n.throttledEvents}),l.createElement(O3,{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(g6,_6({},n,{ref:t})))}),T6=[`axis`,`item`],E6=(0,l.forwardRef)((e,t)=>l.createElement(w6,{chartName:`BarChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:T6,tooltipPayloadSearcher:gY,categoricalChartProps:e,ref:t})),D6={fontSize:11,fill:`var(--muted-foreground)`},O6=({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??Uw(d),m=gn(`(min-width: 640px)`),h=Gw(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:sv(Ww(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)(Mw,{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)(dN,{width:`100%`,height:`100%`,children:(0,I.jsxs)(E6,{data:p,margin:{top:4,right:0,bottom:0,left:0},barCategoryGap:d===`day`?`22%`:`30%`,children:[(0,I.jsx)(M0,{vertical:!1,stroke:`var(--border)`}),(0,I.jsx)(b4,{dataKey:`at`,padding:{left:4,right:m?4:18},tickFormatter:Ed,tick:D6,axisLine:!1,tickLine:!1,interval:d===`day`?m?4:9:m?1:3,height:18}),(0,I.jsx)(F4,{width:m?36:28,tick:D6,axisLine:!1,tickLine:!1,tickCount:3}),(0,I.jsx)($Y,{cursor:{fill:`var(--muted)`},content:(0,I.jsx)(Kw,{noun:t}),isAnimationActive:!1}),(0,I.jsx)($2,{dataKey:`count`,fill:`var(--primary)`,radius:[2,2,0,0],isAnimationActive:!1})]})})})]})},k6={"7d":`last 7 days`,"30d":`last 30 days`,"90d":`last 90 days`,"1y":`last year`,all:`all time`},A6=({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=aw(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)(O6,{title:n,noun:r,data:c,granularity:a,onGranularityChange:o,periodLabel:a===`week`?`last 12 weeks`:k6[s]})},j6=({value:e,onCommit:t,placeholder:n})=>{let[r,i]=(0,l.useState)(e);return(0,l.useEffect)(()=>i(e),[e]),(0,l.useEffect)(()=>{if(r===e)return;let n=setTimeout(()=>t(r),350);return()=>clearTimeout(n)},[r,e,t]),(0,I.jsx)(Yn,{wrapperClassName:`min-w-0 flex-1 sm:w-72 sm:flex-none`,leading:(0,I.jsx)(Dt,{className:`size-4`}),placeholder:n,"aria-label":`Search`,value:r,onChange:e=>i(e.target.value),onKeyDown:e=>e.key===`Enter`&&t(r)})},M6=(e,t,n,r)=>e.map(e=>{let i=t.fields[e.id],a=i&&D_(r,i,n?.fields[e.id]);return a?{...e,render:t=>(0,I.jsx)(A_,{shown:a,part:`cell`,field:i,value:t[e.id],fallback:hv(e,e.value?e.value(t):t[e.id])})}:e}),N6=No(),P6=e=>e.find(e=>e.kind===`search`),F6=({address:e})=>{let{resources:t}=G(),n=t[e.resource];return n?(0,I.jsx)(I6,{model:n,address:e}):(0,I.jsxs)(Eg,{title:`Not found`,children:[`There is no resource called `,e.resource,`.`]})},I6=({model:e,address:t})=>{let n=G(),{set:r,go:i}=Xg(),a=e.name,o=n.views[a],s=(0,l.useMemo)(()=>rw(o,e),[o,e]),{fields:c}=Dh(),u=(0,l.useMemo)(()=>M6(BC(e,o),e,o,c),[e,o,c]),d=t.filter,f=(0,l.useMemo)(()=>nw(s,d),[s,d]),p=f.ok?f.state:mC,m=f.ok?f.extras:[],{orderBy:h,filterLayout:g}=t,_=_n(),[v,y]=(0,l.useState)(!1),b=uw({model:e,resources:n.resources,views:n.views,view:o,state:p,extras:m}),x=(0,l.useMemo)(()=>Bg(e,o,u.map(e=>e.id)),[e,o,u]),S=pw({resources:n.resources,views:n.views,model:e,columns:x,filter:f.ok?d:``,orderBy:h}),C=yte(o,t.display),w=Lw(e,S.page,S.key,C!==void 0),T=rh(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=kg(a),{state:k}=B(),A=xw({model:e,view:o,restore:Sw(e),onReview:e=>i({kind:`record`,resource:a,key:e.key})}),j=(e,t=m)=>r({filter:ZC(s,e,t)}),M=P6(m),N=e=>{let t=m.filter(e=>e.kind!==`search`);j(p,e?[...t,N6.search(e)]:t)},ee=o?.names?.plural??W(a),te=(0,I.jsx)(AC,{layout:g,config:b,value:p,onChange:j}),ne=_C(b,p),re=(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)(zt,{className:`size-3.5`}),`Filters`,ne.length>0&&` (${ne.length})`]}),(0,I.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,I.jsx)(dC,{scroll:!0,chips:ne,onRemove:e=>j(vC(p,e)),onClear:()=>j(mC)})})]}),(0,I.jsx)(mw,{title:`Filters`,open:v,onClose:()=>y(!1),children:(0,I.jsx)(AC,{layout:`panel`,fullWidth:!0,config:b,value:p,onChange:j})})]}),ie=t=>i({kind:`record`,resource:a,key:oh(e,t)}),ae=S.source?(0,I.jsx)(lC,{columns:u,source:S.source,sort:Gg(h),onSortChange:e=>r({orderBy:Kg(e)}),onOpenRow:ie,rowActions:[{label:`Open ${D.toLowerCase()}`,onSelect:ie},...P_(O,`delete`)?[{label:`Delete`,destructive:!0,available:e=>F_(e,`delete`),onSelect:e=>void A.start(E(e))}]:[]],bulkActions:P_(O,`delete`)?[{label:e=>`Delete ${e}`,destructive:!0,onRun:e=>A.startBulk(e.map(E))}]:[],rowNumbers:!1,pinKey:k.kind===`signed-in`?ev(k.user.id,a):void 0,className:`min-h-0 flex-1`}):(0,I.jsx)(`div`,{className:`flex-1 rounded-lg border bg-surface`}),oe=C?C.kind===`cards`?(0,I.jsx)(Ew,{model:e,view:o,display:C,list:w}):(0,I.jsx)(jw,{display:C,list:w}):ae;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)(dd,{title:ee,subtitle:o?.help,actions:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(Pw,{view:o,value:C?.name??`table`,onChange:e=>r({display:e})}),C&&(0,I.jsx)(Iw,{model:e,view:o,display:C,orderBy:h,onChange:e=>r({orderBy:e})}),e.search?.length?(0,I.jsx)(j6,{value:M?.kind===`search`?M.text:``,onCommit:N,placeholder:`Search ${ee.toLowerCase()}`}):null,P_(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()]})]})}),!f.ok&&(0,I.jsx)(x_,{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)(x_,{title:`Could not load rows`,error:S.error}),o?.chart&&(0,I.jsx)(A6,{resource:a,chart:o.chart,title:`${ee} created`,noun:ee.toLowerCase(),filter:f.ok?d:``}),_?g===`bar`&&te:re,_&&g===`panel`?(0,I.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-4`,children:[te,oe]}):oe]})},L6=({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)(qm,{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)})}),R6=e=>e?.role===`owner`?[`owner`,`admin`,`member`]:[`admin`,`member`],z6=({member:e,current:t,onChanged:n})=>{let{session:r,organizations:i}=B(),a=t.organization.id,{busy:o,error:s,run:c}=Jm(),l=i?.roles??[],u=e.id===t.memberId,d=R6(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:Rm[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)(L6,{roles:l,selected:e.appRoles,grantable:Vm(l,t),disabled:o,onChange:t=>void c(async()=>{await r.organizations.setAppRoles(e.id,t),n()})}),(0,I.jsx)(Fd,{message:s})]})},B6=({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 ic?gd(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)(dd,{title:`Members`,subtitle:`Who works in ${e.organization.name}, and with which roles.`}),(0,I.jsxs)(Pd,{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)(Fd,{message:i}),n?(0,I.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(t=>(0,I.jsx)(z6,{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)(Zn,{}),` Loading`]})]})]}):null},V6=({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,H6=({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}=Jm(),_=()=>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)(Pd,{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)(Fd,{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)(Yn,{"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:R6(e).map(e=>(0,I.jsx)(`option`,{value:e,children:Rm[e]},e))}),(0,I.jsx)(V,{type:`submit`,variant:`primary`,loading:m,disabled:!a.trim(),children:`Invite`})]}),(0,I.jsx)(L6,{roles:i,selected:u,grantable:Vm(i,e),onChange:d})]}),(0,I.jsx)(V6,{link:f})]})},U6=({invitation:e,organizationId:t,onChanged:n})=>{let{session:r,organizations:i}=B(),[a,o]=(0,l.useState)(),{busy:s,error:c,run:u}=Jm(),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:[Rm[e.role],e.appRoles.length>0&&` · ${e.appRoles.map(e=>zm(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)(Fd,{message:c}),(0,I.jsx)(V6,{link:a})]})},W6=({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)(dd,{title:`Invitations`,subtitle:`People invited to ${e.organization.name}.`}),(0,I.jsx)(H6,{current:e,onSent:a}),(0,I.jsx)(Pd,{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)(U6,{invitation:e,organizationId:i,onChanged:a},e.id))})})]})},G6=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 ic?gd(e):`Could not read your organizations`))},[e,t,c]),{current:n,organizations:i,...o&&{error:o},reload:d}},K6=e=>window.location.assign(`${e}/`),q6=({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}=Jm(),f=i.trim()!==e.name||o!==e.slug;return(0,I.jsxs)(Pd,{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)(Fd,{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)(Yn,{"aria-label":`Name`,value:i,disabled:!t,onChange:e=>a(e.target.value),wrapperClassName:`flex-1`}),(0,I.jsx)(Yn,{"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`})]})]})},J6=({organization:e,memberId:t})=>{let{session:n}=B(),[r,i]=(0,l.useState)([]),[a,o]=(0,l.useState)(``),{busy:s,error:c,run:u}=Jm();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)(Pd,{title:`Hand over`,description:`Make another member the owner. You stay as an admin.`,children:[(0,I.jsx)(Fd,{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`})]})]})},Y6=({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}=Jm(),d=()=>u(async()=>{await n.organizations.remove(e.id),K6(t)});return(0,I.jsxs)(Pd,{title:`Delete organization`,description:`Takes the organization and its members and invitations away. Its records must be deleted first.`,children:[(0,I.jsx)(Fd,{message:r?void 0:c}),(0,I.jsx)(V,{variant:`danger`,onClick:()=>i(!0),children:`Delete organization`}),r&&(0,I.jsxs)(Nd,{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)(Fd,{message:c}),(0,I.jsx)(Yn,{"aria-label":`Organization name`,value:a,onChange:e=>o(e.target.value)})]})]})},X6=({organization:e,basePath:t,owner:n})=>{let{session:r}=B(),{busy:i,error:a,run:o}=Jm();return(0,I.jsxs)(Pd,{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)(Fd,{message:a}),(0,I.jsxs)(V,{loading:i,onClick:()=>void o(async()=>{await r.organizations.leave(e.id),K6(t)}),children:[`Leave `,e.name]})]})},Z6=({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)(dd,{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)(dd,{title:r.name,subtitle:e.role?`You are ${Rm[e.role].toLowerCase()} here.`:`You work here through your global roles, without being a member.`}),(0,I.jsx)(q6,{organization:r,editable:Bm(e),onSaved:n},`${r.name}/${r.slug}`),i&&e.memberId&&(0,I.jsx)(J6,{organization:r,memberId:e.memberId}),e.role&&(0,I.jsx)(X6,{organization:r,basePath:t,owner:i}),i&&(0,I.jsx)(Y6,{organization:r,basePath:t})]})},Q6=e=>e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,63),$6=({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)(Nn,{tone:`green`,children:`Current`}):(0,I.jsx)(V,{size:`sm`,loading:n,onClick:r,children:`Open`})]}),e8=({basePath:e})=>{let{session:t}=B(),[n,r]=(0,l.useState)(``),[i,a]=(0,l.useState)(),{busy:o,error:s,run:c}=Jm(),u=()=>c(async()=>{await t.organizations.create({name:n.trim(),slug:i??Q6(n)}),K6(e)});return(0,I.jsxs)(Pd,{title:`New organization`,description:`You become its owner, with every role, and work in it once it is made.`,children:[(0,I.jsx)(Fd,{message:s}),(0,I.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row`,onSubmit:e=>{e.preventDefault(),u()},children:[(0,I.jsx)(Yn,{"aria-label":`Name`,placeholder:`Name`,value:n,onChange:e=>r(e.target.value),wrapperClassName:`flex-1`}),(0,I.jsx)(Yn,{"aria-label":`Slug`,placeholder:`slug`,value:i??Q6(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`})]})]})},t8=({basePath:e,currentId:t})=>{let{session:n}=B(),[r,i]=(0,l.useState)(``),[a,o]=(0,l.useState)([]),{busy:s,error:c,run:u}=Jm();return(0,l.useEffect)(()=>{let e=setTimeout(()=>void n.organizations.search(r).then(o,()=>o([])),200);return()=>clearTimeout(e)},[n,r]),(0,I.jsxs)(Pd,{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)(Fd,{message:c}),(0,I.jsx)(Yn,{"aria-label":`Find an organization`,placeholder:`Name or slug`,value:r,onChange:e=>i(e.target.value),leading:(0,I.jsx)(Dt,{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)($6,{organization:r,current:r.id===t,busy:s,onOpen:()=>void u(async()=>{await n.organizations.switchTo(r.id),K6(e)})},r.id))})]})},n8=()=>{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)(Pd,{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=>zm(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))})})},r8=({state:e,basePath:t})=>{let{session:n,organizations:r,state:i}=B(),{busy:a,error:o,run:s}=Jm(),c=i.kind===`signed-in`?i.user:void 0,l=r?.create===`everyone`||c!==void 0&&$m(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)(dd,{title:`Organizations`,subtitle:`You work in one organization at a time; what you see follows from your roles there.`}),(0,I.jsxs)(Pd,{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)(Fd,{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)($6,{organization:e,current:e.id===u,busy:a,onOpen:()=>void s(async()=>{await n.organizations.switchTo(e.id),K6(t)})},e.id))})]}),(0,I.jsx)(n8,{}),l&&(0,I.jsx)(e8,{basePath:t}),(e.current?.globalRoles.length??0)>0&&(0,I.jsx)(t8,{basePath:t,currentId:u})]})},i8=(e,t)=>t?.active?{...e,role:t.active}:e,a8=(e,t)=>e instanceof ic?gd(e):t,o8=e=>{let{session:t}=B(),n=ph(),[r,i]=(0,l.useState)();(0,l.useEffect)(()=>{t.roles.current().then(i,e=>n.show({state:`error`,title:a8(e,`Could not read your roles`)}))},[t,n]);let a=(0,l.useCallback)(r=>void t.roles.switchTo(r).then(e,e=>n.show({state:`error`,title:a8(e,`Could not switch the role`)})),[t,n,e]);return{...r&&{current:r},switchTo:a}},s8=e=>new Set((e.userMenu?.items??[]).flatMap(e=>e.kind===`resource`?[e.resource]:e.kind===`page`?[e.page]:[])),c8=(e,t,n)=>(e.userMenu?.items??[]).map((r,i)=>{if(r.kind===`link`)return{id:`link-${i}`,label:r.label,icon:hg(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:hg(r.icon??i?.icon,Je),href:ts({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:hg(r.icon,pg(r.resource)),href:ts({kind:`list`,resource:r.resource},t),active:r.resource===n}}),l8={sales:`Sales`,crm:`CRM`,catalog:`Catalog`,inventory:`Inventory`,core:`Admin`,hr:`HR`},u8=(e,t=``,n={})=>{let r=new Map,i=new Map,a=s8(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:hg(n.icon,Je),href:ts({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??l8[c]??W(c),u=r.get(l)??{label:l,items:[]};u.items.push({id:o.name,label:s.names?.plural??W(o.name),icon:pg(o.name),href:ts({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:pg(r),href:ts({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))}))},d8=({action:e,label:t,danger:n,onCancel:r,onConfirm:i})=>(0,I.jsx)(Nd,{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})]})}),f8=(0,l.createContext)(void 0),p8=({value:e,children:t})=>(0,I.jsx)(f8.Provider,{value:e,children:t}),m8=()=>(0,l.useContext)(f8),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]))),g8=(e,t)=>({model:e,record:t,key:Zo(oh(e,t)),etag:typeof t.etag==`string`?t.etag:void 0,permissions:t.permissions}),_8=(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}}),v8=(e,t=``)=>Em(_8(U(),e,t)),y8=(e,{filter:t=``,sort:n=``,key:r})=>{let i=U();return Em({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{...g8(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]?g8(e,a.items[0]):null}})},b8=(e,{filter:t=``,sort:n=``,pageSize:r,pageToken:i=``})=>{let a=U();return Em({queryKey:H.list(e.name,t,n,r,i),placeholderData:Sp,queryFn:()=>a.list(e.name,{filter:t||void 0,orderBy:n||void 0,pageSize:r,pageToken:i||void 0})})},x8=()=>{let e=Qf();return(0,l.useCallback)(t=>e.invalidateQueries({predicate:e=>e.queryKey[1]===t}),[e])},S8=e=>e instanceof Error?e.message:`Something went wrong`,C8=(e,t,n)=>{let{views:r}=G(),{actions:i}=Dh(),a=kg(e),o=U(),s=Mm(e),c=ph(),u=x8(),{go:d}=Xg(),[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`&&(!P_(a,`update`)||t?.permissions?.update===!1))return`You cannot change this record`;if(n===`delete`&&(!P_(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(Uo(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:S8(t)})),p(void 0))}}},w8=(e,t,n)=>{let r=C8(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()}},T8=e=>e.props,E8=({node:e})=>{let{name:t,resource:n,label:r,variant:i}=T8(e),a=m8(),o=w8(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)(d8,{action:o.action,label:u,danger:i===`danger`,onCancel:()=>c(!1),onConfirm:()=>{c(!1),o.run()}})]})},D8=({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})]}),O8=({children:e})=>(0,I.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:e}),k8=({node:e,children:t,slots:n})=>{let{title:r,description:i}=T8(e);return(0,I.jsx)(D8,{title:r,description:i,actions:n.actions,className:`h-full`,children:(0,I.jsx)(`div`,{className:`flex flex-col gap-3`,children:t})})},A8=({model:e,filter:t,sort:n,limit:r=12,title:i,description:a,empty:o,actions:s,children:c})=>{let l=b8(e,{filter:t,sort:n,pageSize:r}),u=l.data?.items??[];return(0,I.jsx)(D8,{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)(gS,{className:`h-24 w-56`},t))}):l.error?(0,I.jsx)(x_,{title:`Could not load`,error:l.error}):u.length===0?(0,I.jsx)(O8,{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=g8(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)(p8,{value:n,children:c})},n.key)})})})},j8=({node:e,children:t,slots:n})=>{let{resource:r,...i}=T8(e),a=G().resources[r];return a?(0,I.jsx)(A8,{...i,model:a,actions:n.actions,children:t}):null},M8=({field:e,value:t,known:n})=>{let{resources:r,views:i}=G(),a=U(),o=Qf(),s=e.relation?r[e.relation.resource]:void 0,c=String(t),l=Em({queryKey:H.relatedLabel(s?.name??``,c),enabled:!!s&&n===void 0,queryFn:async()=>(await cw(o,a,s,[c],i[s.name])).get(c)??c});return s?(0,I.jsx)(Zg,{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})},N8=({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)(M8,{field:t,value:n,known:i});let s=t.type===`file`?a_(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=f_(t,n,o);return t.type===`enum`||o.format===`badge`?(0,I.jsx)(Nn,{tone:MC(String(n)),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})},P8=e=>{let{views:t}=G(),n=O_(e.field,t[e.model.name]?.fields[e.field.name]),r=(0,I.jsx)(N8,{...e});return n?(0,I.jsx)(A_,{shown:n,part:`display`,field:e.field,value:e.value,fallback:r}):r},F8=(e,t,n)=>{if(!t)return[];let r=rc(e,t.model.name,n);return r.ok?r.steps:[]},I8=(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}}),L8=(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}},R8=(e,t)=>{let{resources:n}=G(),r=F8(n,e,t);return L8(e,r,Em(I8(U(),Qf(),e,t,r)))},z8=(e,t)=>{let{resources:n}=G(),r=U(),i=Qf(),a=t.map(t=>F8(n,e,t)),o=wm({queries:t.map((t,n)=>I8(r,i,e,t,a[n]))});return t.map((t,n)=>L8(e,a[n],o[n]))},B8=(e,t)=>{if(t)return t;let n=e.split(`.`).map(e=>W(e).toLowerCase()).join(` `);return n[0].toUpperCase()+n.slice(1)},V8=({node:e})=>{let{name:t,label:n,format:r}=T8(e),{views:i}=G(),a=R8(m8(),t);if(a.state===`missing`)return null;let o=a.state===`loading`?(0,I.jsx)(gS,{className:`h-4 w-24`}):(0,I.jsx)(P8,{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??B8(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})]})},H8={1:``,2:`md:grid-cols-2`,3:`md:grid-cols-2 xl:grid-cols-3`,4:`sm:grid-cols-2 xl:grid-cols-4`},U8={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`},W8=({node:e,children:t})=>{let{columns:n=2}=T8(e),r=e.children;return(0,I.jsx)(`div`,{className:F(`grid grid-cols-1 gap-4`,H8[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&&U8[i]),children:e},t)})})},G8=`font-medium text-primary-text hover:underline`,K8=({node:e})=>{let t=T8(e),n=m8()?.record,r=e.children.filter(e=>typeof e==`string`).join(``);if(t.to){let e=Uo(t.to,n);return(0,I.jsx)(Zg,{to:e,className:G8,children:r||ts(e)})}let i=t.href??``;return(0,I.jsx)(`a`,{href:i,className:G8,...i.startsWith(`http`)&&{target:`_blank`,rel:`noreferrer`},children:r||i})},q8=(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]:p_(n.record[t])];let i=r.default&&`value`in r.default?r.default.value:void 0;return[t,r.type===`boolean`?!!i:p_(i)]})),J8=(e,t,n)=>Object.fromEntries(Object.entries(t).flatMap(([t,r])=>{let i=e.fields[t];return H_(r)?r.key===p_(n.record[t])?[]:[[t,i.type===`integer`?Number(r.key):r.key]]:y_(i,r,n.record[t])?[[t,g_(i,r)]]:[]})),Y8=({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=ph(),p=x8(),m=u[e.name],[h,g]=(0,l.useState)(()=>q8(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,{...K_(e,c,h),...o}):d.update(e.name,t.key,J8(e,h,t),t.etag??`*`)).then(async()=>{await p(e.name),f.show({state:`success`,title:`${i??r}: saved`}),s()},e=>{zs(e)&&v(Object.fromEntries(e.errors.flatMap(e=>e.field?[[e.field,e.message]]:[]))),b(e)}),S(!1)};return(0,I.jsx)(Nd,{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)(x_,{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)(z_,{label:m?.fields[n]?.label??W(n),help:m?.fields[n]?.help,error:_[n],children:(0,I.jsx)(N_,{field:r,hints:m?.fields[n],value:H_(i)?i.key:i,stored:t?.record[n],relationLabel:H_(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)})]})})},X8=({model:e,recordKey:t,children:n})=>{let r=y8(e,{key:t});return(0,I.jsx)(I.Fragment,{children:n(r.data??void 0)})},Z8=({node:e})=>{let t=T8(e),n=m8(),{resources:r}=G(),i=r[t.resource??n?.model.name??``],a=kg(i?.name??``),[o,s]=(0,l.useState)(!1);if(!i||!(t.mode===`create`?P_(a,`create`):P_(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)(Y8,{...t,model:i,record:t.mode===`edit`?e:void 0,onClose:()=>s(!1)})]});return t.mode===`edit`&&t.recordKey!==void 0?(0,I.jsx)(X8,{model:i,recordKey:t.recordKey,children:c}):c(t.mode===`edit`?n:void 0)},Q8=({node:e,children:t,slots:n})=>{let{title:r,description:i}=T8(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)(dd,{title:r,subtitle:i,actions:n.actions}),t]})})},$8=(e,t)=>{let n=m8(),r=R8(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},e5=({node:e})=>{let{value:t,max:n,label:r}=T8(e),i=$8(t,0),a=$8(n,100);if(i===void 0||a===void 0)return(0,I.jsx)(gS,{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}%`}})})]})},t5=({model:e,filter:t,sort:n,recordKey:r,title:i,description:a,empty:o,actions:s,children:c})=>{let l=y8(e,{filter:t,sort:n,key:r}),u=e=>l.data?(0,I.jsx)(p8,{value:l.data,children:e}):void 0,d=l.isPending?(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,I.jsx)(gS,{className:`h-4 w-1/2`}),(0,I.jsx)(gS,{className:`h-4 w-1/3`})]}):l.error?(0,I.jsx)(x_,{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)(O8,{children:o??`Nothing here yet.`});return(0,I.jsx)(D8,{title:i,description:a,actions:s?u(s):void 0,className:`h-full`,children:d})},n5=({node:e,children:t,slots:n})=>{let{resource:r,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l}=T8(e),u=G().resources[r];return u?(0,I.jsx)(t5,{model:u,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l,actions:n.actions,children:t}):null},r5=({node:e,children:t})=>{let{when:n}=T8(e),{resources:r}=G(),i=U(),a=m8(),o=(0,l.useMemo)(()=>gee(n),[n]),s=o.ok?o.paths:[],c=s.map(e=>vee(e,e=>!!(a&&Object.hasOwn(a.model.fields,e)))),u=s.filter((e,t)=>c[t]===void 0),d=z8(a,u),f=wm({queries:c.flatMap(e=>{let t=e===void 0?void 0:r[e];return t?[_8(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)}),_ee(o,p)?(0,I.jsx)(I.Fragment,{children:t}):null},i5=`text-2xl font-semibold tracking-tight tabular-nums`,a5=({model:e,filter:t})=>{let n=v8(e,t);return n.isPending?(0,I.jsx)(gS,{className:`h-8 w-16`}):n.error?(0,I.jsx)(`span`,{className:`text-[13px] text-danger-text`,children:`Could not count`}):(0,I.jsx)(Zg,{to:{kind:`list`,resource:e.name,filter:t},className:`${i5} hover:text-primary-text`,children:n.data.toLocaleString(`en-IE`)})},o5=({field:e,format:t})=>{let n=R8(m8(),e);return n.state===`loading`?(0,I.jsx)(gS,{className:`h-8 w-16`}):n.state===`missing`?null:(0,I.jsx)(`span`,{className:i5,children:(0,I.jsx)(P8,{model:n.model,field:n.field,value:n.value,format:t})})},s5=({node:e})=>{let{label:t,value:n,resource:r,filter:i,field:a,format:o,description:s}=T8(e),{resources:c}=G(),l=r===void 0?void 0:c[r];return(0,I.jsxs)(D8,{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:i5,children:n}),l&&(0,I.jsx)(a5,{model:l,filter:i}),a!==void 0&&(0,I.jsx)(o5,{field:a,format:o})]}),s&&(0,I.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:s})]})},c5=(e,t,n)=>{let{resources:r,views:i}=G(),a=U(),o=Qf(),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=wm({queries:s.map(({target:e,ids:t})=>({queryKey:H.labelMap(e.name,t.join(`,`)),queryFn:()=>cw(o,a,e,t,i[e.name])}))});return new Map(s.flatMap(({name:e},t)=>c[t]?.data?[[e,c[t].data]]:[]))},l5=e=>e.includes(`.`),u5=e=>{let{resources:t,views:n}=G();return r=>{let i=rc(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)}},d5=({model:e,row:t,column:n})=>{let r=R8(g8(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)(P8,{model:r.model,field:r.field,value:r.value})},f5=({model:e,columns:t,rows:n,label:r,pager:i})=>{let{resources:a}=G(),o=u5(e),s=t[0]===void 0?void 0:rc(a,e.name,t[0]),c=!s?.ok||s.steps.at(-1).field.type!==`relation`,l=c5(e,t.filter(e=>!l5(e)),n),u=(t,n)=>l5(n)?(0,I.jsx)(d5,{model:e,row:t,column:n}):(0,I.jsx)(P8,{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=g8(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)(Zg,{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`})})]})]})},p5=(e,t)=>t?.list?.columns??Object.keys(e.fields).filter(t=>!e.primaryKey.includes(t)&&t!==e.tenant).slice(0,5),m5=({model:e,view:t,filter:n,sort:r,columns:i,pageSize:a=10,title:o,description:s,empty:c,actions:u})=>{let d=(i??p5(e,t)).filter(t=>Object.hasOwn(e.fields,t)),[f,p]=(0,l.useState)([``]),m=b8(e,{filter:n,sort:r,pageSize:a,pageToken:f.at(-1)}),h=m.data?.items??[],g=m.data?.nextPageToken;return(0,I.jsx)(D8,{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)(gS,{className:`h-4 w-full`},t))}):m.error?(0,I.jsx)(x_,{title:`Could not load`,error:m.error}):h.length===0&&f.length===1?(0,I.jsx)(O8,{children:c??`Nothing here yet.`}):(0,I.jsx)(f5,{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])}})})},h5={Page:Q8,Grid:W8,Card:k8,Stat:s5,RecordCard:n5,Field:V8,Table:({node:e,slots:t})=>{let n=T8(e),{resources:r,views:i}=G(),a=r[n.resource];return a?(0,I.jsx)(m5,{...n,model:a,view:i[a.name],actions:t.actions}):null},CardRow:j8,Progress:e5,ModalForm:Z8,Action:E8,Show:r5,Link:K8},g5=e=>typeof e==`string`||!e.custom&&e.type===`Link`,_5=e=>{let t=[];for(let n of e){let e=t.at(-1);g5(n)&&e&&g5(e[0])?e.push(n):t.push([n])}return t.map((e,t)=>{let[n]=e;return g5(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)(b5,{node:e},t))},t):(0,I.jsx)(b5,{node:n},t)})},v5=e=>$s(e)||Array.isArray(e)&&e.length>0&&e.every($s),y5=e=>Object.fromEntries(Object.entries(e.props).flatMap(([e,t])=>v5(t)?[[e,(0,I.jsx)(I.Fragment,{children:_5(Array.isArray(t)?t:[t])})]]:[])),b5=({node:e})=>{let{components:t}=Dh();if(e.custom){let n=t?.[e.type];return n?(0,I.jsx)($g,{name:e.type,children:(0,I.jsx)(n,{...Io(e.props),children:e.children.length>0?_5(e.children):void 0})}):(0,I.jsxs)(Qg,{children:[`No component is registered as `,e.type,`. Export it from protobase.ui.tsx, or load the plugin that provides it.`]})}let n=h5[e.type];return n?(0,I.jsx)(n,{node:e,slots:y5(e),children:_5(e.children)}):(0,I.jsxs)(Qg,{children:[e.type,` is not a block this version of the app knows.`]})},x5=({name:e})=>{let t=G().pages[e];return t?(0,I.jsx)(b5,{node:t.tree}):(0,I.jsxs)(Eg,{title:`Not found`,children:[`There is no page called `,e,`.`]})},S5=e=>typeof e==`string`&&e.trim()!==``,C5=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 S5(t)?Number.isInteger(r)?S5(i)?S5(a)?o!==void 0&&!S5(o)?{problem:`its plugin.json names a stylesheet that is no URL`}:n!==void 0&&!S5(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`}},w5=class extends Error{name=`UiConflictError`},T5=e=>Object.keys(e).some(e=>e==="default"||/^[A-Z]/.test(e))?c(e):e,E5=(e,t)=>[...(e.extends??[]).map(T5).flatMap((e,n)=>E5(e,e.name??`${t} extends[${n}]`)),{ui:e,label:t}],D5=(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 w5(`${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},O5=e=>e.length<=1?e[0]:()=>e.map((e,t)=>(0,I.jsx)(e,{},t)),k5=(...e)=>{let t=e.flatMap((e,t)=>E5(e,e.name??`UI config ${t+1}`)),n=D5(`The component`,t,e=>e.components),r=D5(`The action handler`,t,e=>e.actions),i=D5(`The field type`,t,e=>e.fields),a=O5(t.flatMap(({ui:e})=>e.shell?.actions?[e.shell.actions]:[])),o=O5(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}}}}},A5=(0,l.createContext)(null),j5=A5.Provider,M5=()=>{let e=(0,l.useContext)(A5);if(!e)throw Error(`usePlugin is for the components of a plugin the app loaded`);return e},N5=(e,t,n)=>{let r=n=>(0,I.jsx)(j5,{value:e,children:(0,I.jsx)(t,{...n})});return r.displayName=`${e.name}:${n}`,r},P5=(e,t,n)=>({of:n.of,display:N5(e,n.display,`fields.${t}.display`),...n.editor&&{editor:N5(e,n.editor,`fields.${t}.editor`)},...n.cell&&{cell:N5(e,n.cell,`fields.${t}.cell`)}}),F5=(e,t)=>{let n=k5({...c(t),name:e.name}),r=Object.fromEntries(Object.entries(n.components??{}).map(([t,n])=>[t,N5(e,n,t)])),i=n.fields&&Object.fromEntries(Object.entries(n.fields).map(([t,n])=>[t,P5(e,t,n)])),a=n.shell&&{...n.shell.actions&&{actions:N5(e,n.shell.actions,`shell.actions`)},...n.shell.rightPanel&&{rightPanel:N5(e,n.shell.rightPanel,`shell.rightPanel`)}};return{name:e.name,components:r,...n.actions&&{actions:n.actions},...i&&{fields:i},...a&&{shell:a}}},I5=`0.12.6`,L5={pluginApi:1}.pluginApi,R5=I5,z5={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=>yh(()=>import(e),[])},B5={api:L5,version:R5},V5=e=>e instanceof Error?e.message:String(e),H5=async(e,t,n,r=B5)=>{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=C5(n.json);if(`problem`in s)return a(s.problem);let{manifest:c}=s;o=c.name;let l=ds(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:F5(d,u)}}catch(e){return a(`it could not be loaded: ${V5(e)}`,o)}},U5=(e,t)=>{let n=k5(e??{}),r=[],i=[];for(let e of t){if(e.kind===`off`){i.push(e);continue}try{k5(...r,e.ui,n),r.push(e.ui)}catch(t){if(!(t instanceof w5))throw t;i.push({kind:`off`,url:e.plugin.url,name:e.plugin.name,reason:t.message})}}return{ui:r.length===0?n:k5(...r,n),off:i}},W5=1e4,G5=[],K5=(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()},W5);return e.forEach((e,n)=>{H5(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}},q5=(0,l.createContext)([]),cne=()=>(0,l.useContext)(q5),lne=({ui:e,loader:t=z5,children:n})=>{let{plugins:r=[]}=G(),{loads:i,settled:a}=K5(r,t),o=(0,l.useMemo)(()=>U5(e,i),[e,i]);return a?(0,I.jsx)(Eh.Provider,{value:o.ui,children:(0,I.jsx)(q5.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)(Zn,{}),` Loading`]})},une=({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)(un,{"aria-hidden":!0,className:`size-4`})})]})},dne=({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))}),fne=({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))}),J5=({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]}),Y5=({title:e,rows:t})=>t.length===0?null:(0,I.jsx)(J5,{title:e,children:(0,I.jsx)(dne,{rows:t})}),pne=({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)(Nn,{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)(An,{people:i,size:`md`}),i.length,` viewing`]}),a]})]}),X5=(e,t)=>[`${t}_at`,`${t}At`].find(t=>e.fields[t]),Z5=({item:e,scope:t})=>{let{components:n}=Dh(),r=n?.[e.component],i=r?(0,I.jsx)(p8,{value:t,children:(0,I.jsx)($g,{name:e.component,children:(0,I.jsx)(r,{...Io(e.props??{})})})}):(0,I.jsxs)(Qg,{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)(J5,{title:e.title,children:i}):i:e.title?(0,I.jsx)(B_,{title:e.title,children:i}):(0,I.jsx)(`section`,{className:`py-8`,children:i})},mne=({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))})]}),hne={wallet:on,"file-text":He,send:jt},gne=e=>e?hne[e]??fn:fn,_ne=({model:e,stored:t,recordKey:n})=>{let{go:r}=Xg(),i={model:e,record:t.record,key:n,etag:t.etag,permissions:t.permissions},a=C8(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)(mne,{actions:a.actions.map(e=>({name:e.label,icon:gne(e.icon),blocked:a.blocked(e),running:a.running===e.name,onRun:()=>e.confirm?s(e):void a.run(e)}))}),o&&(0,I.jsx)(d8,{action:o,label:o.label,danger:o.run?.kind===`delete`,onCancel:()=>s(void 0),onConfirm:()=>{s(void 0),a.run(o)}})]})},Q5=[[`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]];Q5.length;var vne=e=>{let[t,n,r]=Q5[e%Q5.length],i=e%Q5.length;return{id:`P-${200+i}`,sku:`${n}-${String(1e3+i*7).padStart(4,`0`)}`,name:t,category:n,priceCents:r}},$5=`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]`,e7=e=>e.quantity*e.unitPriceCents,yne=(e,t=.21)=>{let n=e.reduce((e,t)=>e+e7(t),0),r=Math.round(n*t);return{subtotalCents:n,vatCents:r,totalCents:n+r}},bne=({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))})]})},t7=({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 xne(){var e=[...arguments];return(0,l.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var n7=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function r7(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function i7(e){return`nodeType`in e}function a7(e){return e?r7(e)?e:i7(e)?e.ownerDocument?.defaultView??window:window:window}function o7(e){let{Document:t}=a7(e);return e instanceof t}function s7(e){return!r7(e)&&e instanceof a7(e).HTMLElement}function c7(e){return e instanceof a7(e).SVGElement}function l7(e){return e?r7(e)?e.document:i7(e)?o7(e)?e:s7(e)||c7(e)?e.ownerDocument:document:document:document}var u7=n7?l.useLayoutEffect:l.useEffect;function d7(e){let t=(0,l.useRef)(e);return u7(()=>{t.current=e}),(0,l.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function Sne(){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 f7(e,t){t===void 0&&(t=[e]);let n=(0,l.useRef)(e);return u7(()=>{n.current!==e&&(n.current=e)},t),n}function p7(e,t){let n=(0,l.useRef)();return(0,l.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function m7(e){let t=d7(e),n=(0,l.useRef)(null);return[n,(0,l.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function h7(e){let t=(0,l.useRef)();return(0,l.useEffect)(()=>{t.current=e},[e]),t.current}var g7={};function _7(e,t){return(0,l.useMemo)(()=>{if(t)return t;let n=g7[e]==null?0:g7[e]+1;return g7[e]=n,e+`-`+n},[e,t])}function v7(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 y7=v7(1),b7=v7(-1);function Cne(e){return`clientX`in e&&`clientY`in e}function x7(e){if(!e)return!1;let{KeyboardEvent:t}=a7(e.target);return t&&e instanceof t}function wne(e){if(!e)return!1;let{TouchEvent:t}=a7(e.target);return t&&e instanceof t}function S7(e){if(wne(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 Cne(e)?{x:e.clientX,y:e.clientY}:null}var C7=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[C7.Translate.toString(e),C7.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),w7=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function Tne(e){return e.matches(w7)?e:e.querySelector(w7)}var Ene={display:`none`};function Dne(e){let{id:t,value:n}=e;return l.createElement(`div`,{id:t,style:Ene},n)}function One(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 kne(){let[e,t]=(0,l.useState)(``);return{announce:(0,l.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var T7=(0,l.createContext)(null);function Ane(e){let t=(0,l.useContext)(T7);(0,l.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function jne(){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 Mne={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-CNHqcIWP.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-DRkDxaX2.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(`
|
package/dist/shell/assets/{shared-protobase-ui-BZ7z7Y8G.js → shared-protobase-ui-DQxQC_dF.js}
RENAMED
|
@@ -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-
|
|
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-DRkDxaX2.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=x(),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,S as useFacets,M as useHistogram,O as useLayoutRecord,T as useList,I as useListDisplay,_ as useMeta,P as usePlugin,c as useRecord,n as useResourceClient,k as useSeries,N as useUpdateRecord};
|
package/dist/shell/index.html
CHANGED
|
@@ -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-
|
|
10
|
-
<script type="module" crossorigin src="/assets/index
|
|
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-DQxQC_dF.js"}}</script>
|
|
10
|
+
<script type="module" crossorigin src="/assets/index--KkbQgIT.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-
|
|
15
|
+
<link rel="modulepreload" crossorigin href="/assets/app-DRkDxaX2.js">
|
|
16
16
|
<link rel="stylesheet" crossorigin href="/assets/app-GUjJKojE.css">
|
|
17
17
|
<link rel="stylesheet" crossorigin href="/assets/index-BVOqIEYd.css">
|
|
18
18
|
<link rel="stylesheet" href="/protobase.theme.css">
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@protobase/ui",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.6",
|
|
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.
|
|
42
|
-
"@protobase/layout": "0.12.
|
|
43
|
-
"@protobase/schema": "0.12.
|
|
41
|
+
"@protobase/client": "0.12.6",
|
|
42
|
+
"@protobase/layout": "0.12.6",
|
|
43
|
+
"@protobase/schema": "0.12.6",
|
|
44
44
|
"@sentry/browser": "^11.7.0",
|
|
45
45
|
"@tanstack/react-query": "^5.104.1",
|
|
46
46
|
"@tanstack/react-table": "^9.2.6",
|