@protobase/ui 0.12.0 → 0.12.1
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-heHm3H5D.js → app-BKdW5nhg.js} +1 -1
- package/dist/shell/assets/{index-B6FP_5El.js → index-Bro4QDEX.js} +1 -1
- package/dist/shell/assets/{shared-protobase-ui-C4sf7CCI.js → shared-protobase-ui-PjtR6P4n.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 M$(e,t){if(e){if(typeof e==`string`)return N$(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)?N$(e,t):void 0}}function N$(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 P$(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 F$(e){if(Array.isArray(e))return e}function I$(e,t){if(e==null)return{};var n,r,i=L$(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 L$(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 R$(){return R$=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},R$.apply(null,arguments)}function z$(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 B$(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?z$(Object(n),!0).forEach(function(t){V$(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):z$(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function V$(e,t,n){return(t=H$(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function H$(e){var t=U$(e,`string`);return typeof t==`symbol`?t:t+``}function U$(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 W$={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:II.axis};function G$(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=B$(B$(B$({},c),qC(s)),{},{fill:`none`});if(a===`top`||a===`bottom`){var d=+(a===`top`&&!o||a===`bottom`&&o);u=B$(B$({},u),{},{x1:t,y1:n+d*i,x2:t+r,y2:n+d*i})}else{var f=+(a===`left`&&!o||a===`right`&&o);u=B$(B$({},u),{},{x1:t+f*r,y1:n,x2:t+f*r,y2:n+i})}return l.createElement(`line`,R$({},u,{className:VC(`recharts-cartesian-axis-line`,mw(s,`className`))}))}function K$(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 q$(e,t){switch(e){case`left`:return t?`start`:`end`;case`right`:return t?`end`:`start`;default:return`middle`}}function J$(e,t){switch(e){case`left`:case`right`:return`middle`;case`top`:return t?`start`:`end`;default:return t?`end`:`start`}}function Y$(e){var t=e.option,n=e.tickProps,r=e.value,i,a=VC(n.className,`recharts-cartesian-axis-tick-value`);if(l.isValidElement(t))i=l.cloneElement(t,B$(B$({},n),{},{className:a}));else if(typeof t==`function`)i=t(B$(B$({},n),{},{className:a}));else{var o=`recharts-cartesian-axis-tick-value`;typeof t!=`boolean`&&(o=VC(o,KX(t))),i=l.createElement(iX,R$({},n,{className:o}),r)}return i}function X$(e){var t=e.ticks,n=e.axisType,r=e.axisId,i=uD(),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&&o$(o.ticks,e)||(a.current={ticks:e,axisId:r,axisType:n},i(E$({ticks:e,axisId:r,axisType:n})))}},[i,t,r,n]),(0,l.useEffect)(()=>r==null||n==null?Mw:()=>{i(D$({axisId:r,axisType:n}))},[i,r,n]),null}var Z$=(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=x$(B$(B$({},S),{},{ticks:r}),b,x),D=qC(S),O=JC(i),k=qY(D.textAnchor)?D.textAnchor:q$(f,p),A=J$(f,p),j={};typeof a==`object`&&(j=a);var M=B$(B$({},D),{},{fill:`none`},j),N=E.map(e=>B$({entry:e},K$(e,m,h,g,_,f,v,p,y))),ee=N.map(e=>{var t=e.entry,n=e.line;return l.createElement(aw,{className:`recharts-cartesian-axis-tick`,key:`tick-${t.value}-${t.coordinate}-${t.tickCoord}`},a&&l.createElement(`line`,R$({},M,n,{className:VC(`recharts-cartesian-axis-tick-line`,mw(a,`className`))})))}),te=N.map((e,t)=>{var n=e.entry,r=e.tick,a=B$(B$({},B$(B$(B$(B$({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(aw,R$({className:`recharts-cartesian-axis-tick-label`,key:`tick-label-${n.value}-${n.coordinate}-${n.tickCoord}`},GT(C,n,t)),i&&l.createElement(Y$,{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(X$,{ticks:E,axisId:T,axisType:w}),te.length>0&&l.createElement(Gq,{zIndex:II.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))}),Q$=(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=I$(e,k$),f=A$((0,l.useState)(``),2),p=f[0],m=f[1],h=A$((0,l.useState)(``),2),g=h[0],_=h[1],v=(0,l.useRef)(null);(0,l.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>S$({ticks:v.current,label:e.labelRef?.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin}),getCalculatedHeight:()=>C$({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(Gq,{zIndex:e.zIndex},l.createElement(aw,{className:VC(`recharts-cartesian-axis`,a)},l.createElement(G$,{x:e.x,y:e.y,width:r,height:i,orientation:e.orientation,mirror:e.mirror,axisLine:n,otherSvgProps:qC(e)}),l.createElement(Z$,{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(gX,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},l.createElement(AX,{label:e.label,labelRef:e.labelRef}),e.children)))}),$$=l.forwardRef((e,t)=>{var n=ZT(e,W$);return l.createElement(Q$,R$({},n,{ref:t}))});$$.displayName=`CartesianAxis`;var e1=(0,l.createContext)({grid:{stroke:`#ccc`,fill:`none`}});e1.Provider;var t1=()=>(0,l.useContext)(e1),n1=[`x1`,`y1`,`x2`,`y2`,`key`],r1=[`offset`],i1=[`xAxisId`,`yAxisId`],a1=[`xAxisId`,`yAxisId`];function o1(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 s1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?o1(Object(n),!0).forEach(function(t){c1(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o1(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function c1(e,t,n){return(t=l1(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l1(e){var t=u1(e,`string`);return typeof t==`symbol`?t:t+``}function u1(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 d1(){return d1=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},d1.apply(null,arguments)}function f1(e,t){if(e==null)return{};var n,r,i=p1(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 p1(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 m1=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 h1(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=qC(f1(n,n1))??{};u.offset;var d=f1(u,r1),f=Array.isArray(d.strokeDasharray)?d.strokeDasharray.join(`,`):d.strokeDasharray;r=l.createElement(`line`,d1({},d,{strokeDasharray:f,x1:i,y1:a,x2:o,y2:s,fill:`none`,key:c}))}return r}function g1(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=f1(e,i1),s=a.map((e,r)=>{var a=s1(s1({},o),{},{x1:t,y1:e,x2:t+n,y2:e,key:`line-${r}`,index:r});return l.createElement(h1,{key:`line-${r}`,option:i,lineItemProps:a})});return l.createElement(`g`,{className:`recharts-cartesian-grid-horizontal`},s)}function _1(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=f1(e,a1),s=a.map((e,r)=>{var a=s1(s1({},o),{},{x1:e,y1:t,x2:e,y2:t+n,key:`line-${r}`,index:r});return l.createElement(h1,{option:i,lineItemProps:a,key:`line-${r}`})});return l.createElement(`g`,{className:`recharts-cartesian-grid-vertical`},s)}function v1(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 y1(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 b1=(e,t)=>{var n=e.xAxis,r=e.width,i=e.height,a=e.offset;return BA(x$(s1(s1(s1({},W$),n),{},{ticks:VA(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.left,a.left+a.width,t)},x1=(e,t)=>{var n=e.yAxis,r=e.width,i=e.height,a=e.offset;return BA(x$(s1(s1(s1({},W$),n),{},{ticks:VA(n,!0),viewBox:{x:0,y:0,width:r,height:i}})),a.top,a.top+a.height,t)},S1={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:II.grid};function C1(e){var t=oM(),n=sM(),r=aM(),i=s1(s1({},ZT(e,S1)),{},{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=xj(),g=q(e=>gG(e,`xAxis`,a,h)),_=q(e=>gG(e,`yAxis`,o,h)),v=t1(),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(!FA(u)||!FA(d)||!K(s)||!K(c))return null;var b=i.verticalCoordinatesGenerator||b1,x=i.horizontalCoordinatesGenerator||x1,S=i.horizontalPoints,C=i.verticalPoints;if((!S||!S.length)&&typeof x==`function`){var w=p&&p.length,T=x({yAxis:_?s1(s1({},_),{},{ticks:w?p:_.ticks}):void 0,width:t??u,height:n??d,offset:r},w?!0:f);Dj(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?s1(s1({},g),{},{ticks:E?m:g.ticks}):void 0,width:t??u,height:n??d,offset:r},E?!0:f);Dj(Array.isArray(D),`verticalCoordinatesGenerator should return Array but instead it returned [${typeof D}]`),Array.isArray(D)&&(C=D)}return l.createElement(Gq,{zIndex:i.zIndex},l.createElement(`g`,{className:`recharts-cartesian-grid`},l.createElement(m1,{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(v1,d1({},i,{horizontalPoints:S})),l.createElement(y1,d1({},i,{verticalPoints:C})),l.createElement(g1,d1({},i,y,{offset:r,horizontalPoints:S,xAxis:g,yAxis:_})),l.createElement(_1,d1({},i,y,{offset:r,verticalPoints:C,xAxis:g,yAxis:_}))))}C1.displayName=`CartesianGrid`;var w1=$k({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))}}}),T1=w1.actions;T1.addErrorBar,T1.replaceErrorBar,T1.removeErrorBar;var E1=w1.reducer,D1=[`children`];function O1(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}var A1=(0,l.createContext)({data:[],xAxisId:`xAxis-0`,yAxisId:`yAxis-0`,dataPointFormatter:()=>({x:0,y:0,value:0}),errorBarOffset:0});function j1(e){var t=e.children,n=O1(e,D1);return l.createElement(A1.Provider,{value:n},t)}function M1(e,t){var n=q(t=>_U(t,e)),r=q(e=>bU(e,t)),i=n?.allowDataOverflow??hU.allowDataOverflow,a=r?.allowDataOverflow??vU.allowDataOverflow;return{needClip:i||a,needClipX:i,needClipY:a}}function N1(e){var t=e.xAxisId,n=e.yAxisId,r=e.clipPathId,i=yQ(),a=M1(t,n),o=a.needClipX,s=a.needClipY,c=a.needClip,u=q(e=>WW(e,t,!1)),d=q(e=>GW(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 P1(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.xAxisId??0}function F1(e,t){return e.graphicalItems.cartesianItems.find(e=>e.id===t)?.yAxisId??0}var I1=`Invariant failed`;function L1(e,t){if(!e)throw Error(I1)}var R1=[`option`];function z1(e,t){if(e==null)return{};var n,r,i=B1(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 B1(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 V1=mF;function H1(e){var t=e.option,n=z1(e,R1);return l.createElement(uZ,{option:t,DefaultShape:V1,shapeProps:n,activeClassName:`recharts-active-bar`,inActiveClassName:`recharts-inactive-bar`})}var U1=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)||kw(n);return i?e(n,r):(!i&&L1(!1,`minPointSize callback function received a value with type of ${typeof n}. Currently only numbers or null/undefined are supported.`),t)}},W1=(e,t,n)=>n,G1=J([OU,(e,t)=>t],(e,t)=>e.filter(e=>e.type===`bar`).find(e=>e.id===t)),K1=J([G1],e=>e?.maxBarSize),q1=(e,t,n,r)=>r,J1=J([cM,OU,P1,F1,W1],(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`)),Y1=(e,t,n)=>{var r=cM(e),i=P1(e,t),a=F1(e,t);if(i!=null&&a!=null)return r===`horizontal`?eW(e,`yAxis`,a,n):eW(e,`xAxis`,i,n)},X1=J([J1,kI,(e,t)=>{var n=cM(e),r=P1(e,t),i=F1(e,t);if(r!=null&&i!=null)return n===`horizontal`?pG(e,`xAxis`,r):pG(e,`yAxis`,i)}],DQ),Z1=(e,t,n)=>{var r=G1(e,t);if(r==null)return 0;var i=P1(e,t),a=F1(e,t);if(i==null||a==null)return 0;var o=cM(e),s=EI(e),c=r.maxBarSize,l=kw(c)?s:c,u,d;return o===`horizontal`?(u=yG(e,`xAxis`,i,n),d=vG(e,`xAxis`,i,n)):(u=yG(e,`yAxis`,a,n),d=vG(e,`yAxis`,a,n)),YA(u,d,!0)??l??0},Q1=(e,t,n)=>{var r=cM(e),i=P1(e,t),a=F1(e,t);if(i!=null&&a!=null){var o,s;return r===`horizontal`?(o=yG(e,`xAxis`,i,n),s=vG(e,`xAxis`,i,n)):(o=yG(e,`yAxis`,a,n),s=vG(e,`yAxis`,a,n)),YA(o,s)}},$1=J([_j,yj,(e,t,n)=>{var r=P1(e,t);if(r!=null)return yG(e,`xAxis`,r,n)},(e,t,n)=>{var r=F1(e,t);if(r!=null)return yG(e,`yAxis`,r,n)},(e,t,n)=>{var r=P1(e,t);if(r!=null)return vG(e,`xAxis`,r,n)},(e,t,n)=>{var r=F1(e,t);if(r!=null)return vG(e,`yAxis`,r,n)},J([J([X1,EI,DI,OI,Z1,Q1,K1],PQ),G1],IQ),cM,QF,Q1,J([Y1,G1],FQ),G1,q1],(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 H0({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})}}),e0=[`index`];function t0(){return t0=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},t0.apply(null,arguments)}function n0(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 i0=(0,l.createContext)(void 0),a0=e=>{var t=(0,l.useContext)(i0);if(t!=null)return t.stackId;if(e!=null)return tte(e)},o0=(e,t)=>`recharts-bar-stack-clip-path-${e}-${t}`,s0=e=>{var t=(0,l.useContext)(i0);if(t!=null){var n=t.stackId;return`url(#${o0(n,e)})`}},c0=e=>{var t=e.index,n=n0(e,e0),r=s0(t);return l.createElement(aw,t0({className:`recharts-bar-stack-layer`,clipPath:r},n))},l0=[`onMouseEnter`,`onMouseLeave`,`onClick`],u0=[`value`,`background`,`tooltipPosition`],d0=[`id`],f0=[`onMouseEnter`,`onClick`,`onMouseLeave`];function p0(e,t){return v0(e)||_0(e,t)||h0(e,t)||m0()}function m0(){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 h0(e,t){if(e){if(typeof e==`string`)return g0(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)?g0(e,t):void 0}}function g0(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 _0(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 v0(e){if(Array.isArray(e))return e}function y0(){return y0=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},y0.apply(null,arguments)}function b0(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 x0(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?b0(Object(n),!0).forEach(function(t){S0(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):b0(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function S0(e,t,n){return(t=C0(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C0(e){var t=w0(e,`string`);return typeof t==`symbol`?t:t+``}function w0(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 T0(e,t){if(e==null)return{};var n,r,i=E0(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 E0(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 D0=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:ZA(n,t),payload:e}]},O0=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:Mw,settings:{stroke:n,strokeWidth:r,fill:i,dataKey:t,nameKey:void 0,name:ZA(a,t),hide:o,type:u,color:i,unit:s,formatter:c,graphicalItemId:d}};return l.createElement(mZ,{tooltipEntrySettings:f})});function k0(e){var t=q(HK),n=e.data,r=e.dataKey,i=e.background,a=e.allOtherBarProps,o=a.onMouseEnter,s=a.onMouseLeave,c=a.onClick,u=T0(a,l0),d=dZ(o,r,a.id),f=fZ(s),p=pZ(c,r,a.id);if(!i||n==null)return null;var m=JC(i);return l.createElement(Gq,{zIndex:LQ(i,II.barBackground)},n.map((e,n)=>{e.value;var a=e.background;e.tooltipPosition;var o=T0(e,u0);if(!a)return null;var s=d(e,e.originalDataIndex),c=f(e,e.originalDataIndex),h=p(e,e.originalDataIndex),g=x0(x0(x0(x0(x0({option:i,isActive:String(e.originalDataIndex)===t},o),{},{fill:`#eee`},a),m),GT(u,e,n)),{},{onMouseEnter:s,onMouseLeave:c,onClick:h,dataKey:r,index:n,className:`recharts-bar-background-rectangle`});return l.createElement(H1,y0({key:`background-bar-${n}`},g))}))}function A0(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 x0(x0({},t),{},{value:e.value,payload:e.payload,parentViewBox:e.parentViewBox,viewBox:t,fill:e.fill})});return l.createElement(RX,{value:t?r:void 0},n)}function j0(e){var t=e.shape,n=e.activeBar,r=e.baseProps,i=e.entry,a=e.index,o=e.dataKey,s=q(HK),c=q(WK),u=n&&String(i.originalDataIndex)===s&&(c==null||o===c),d=s!=null&&(String(i.originalDataIndex)!==s||c!=null&&o!==c),f=p0((0,l.useState)(!1),2),p=f[0],m=f[1],h=p0((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(H1,y0({},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(Gq,{zIndex:II.activeBar},l.createElement(c0,{index:i.originalDataIndex},S)):S}function M0(e){var t=e.shape,n=e.baseProps,r=e.entry,i=e.index,a=e.dataKey;return l.createElement(H1,y0({},n,{name:String(n.name)},r,{isActive:!1,option:t,index:i,dataKey:a,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function N0(e){var t=e.data,n=e.props,r=e.animationElapsedTime,i=e.isAnimating,a=e.isEntrance,o=qC(n)??{},s=o.id,c=T0(o,d0),u=n.shape,d=n.dataKey,f=n.activeBar,p=n.onMouseEnter,m=n.onClick,h=n.onMouseLeave,g=T0(n,f0),_=dZ(p,d,s),v=fZ(h),y=pZ(m,d,s);return t?l.createElement(l.Fragment,null,t.map((e,t)=>l.createElement(c0,y0({index:e.originalDataIndex,key:`rectangle-${e?.x}-${e?.y}-${e?.value}-${t}`,className:`recharts-bar-rectangle`},GT(g,e,t),{onMouseEnter:_(e,e.originalDataIndex),onMouseLeave:v(e,e.originalDataIndex),onClick:y(e,e.originalDataIndex)}),f?l.createElement(j0,{shape:u,activeBar:f,baseProps:c,entry:e,index:t,dataKey:d,animationElapsedTime:r,isAnimating:i,isEntrance:a}):l.createElement(M0,{shape:u,baseProps:c,entry:e,index:t,dataKey:d,animationElapsedTime:r,isAnimating:i,isEntrance:a})))):null}var P0=(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`?[x0(x0({},e.prev),{},{height:Dw(e.prev.height,0,t),y:Dw(e.prev.y,e.prev.y+e.prev.height,t)})]:[x0(x0({},e.prev),{},{width:Dw(e.prev.width,0,t)})];if(e.status===`matched`)return[x0(x0({},e.next),{},{x:Dw(e.prev.x,e.next.x,t),y:Dw(e.prev.y,e.next.y,t),width:Dw(e.prev.width,e.next.width,t),height:Dw(e.prev.height,e.next.height,t)})];var r=e.next;return n===`horizontal`?[x0(x0({},r),{},{height:Dw(0,r.height,t),y:Dw(r.stackedBarStart,r.y,t)})]:[x0(x0({},r),{},{width:Dw(0,r.width,t),x:Dw(r.stackedBarStart,r.x,t)})]});function F0(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=LZ(t.onAnimationStart,t.onAnimationEnd),f=d.isAnimating,p=d.handleAnimationStart,m=d.handleAnimationEnd;return l.createElement(A0,{showLabels:!f,rects:r},l.createElement(RZ,{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(aw,null,l.createElement(N0,{props:t,data:e,animationElapsedTime:n,isAnimating:f||n<1,isEntrance:r}))),l.createElement(HX,{label:t.label}),t.children)}function I0(e){var t=(0,l.useRef)(null);return l.createElement(F0,{previousRectanglesRef:t,props:e})}var L0=0,R0=(e,t)=>{var n=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:n,errorVal:RA(e,t)}},z0=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=VC(`recharts-bar`,i),f=u;return l.createElement(aw,{className:d,id:u},s&&l.createElement(`defs`,null,l.createElement(N1,{clipPathId:f,xAxisId:a,yAxisId:o})),l.createElement(aw,{className:`recharts-bar-rectangles`,clipPath:s?`url(#clipPath-${f})`:void 0},l.createElement(k0,{data:n,dataKey:r,background:c,allOtherBarProps:this.props}),l.createElement(I0,this.props)))}},B0={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:`ease`,animationInterpolateFn:P0,animationMatchBy:CZ,background:!1,hide:!1,isAnimationActive:`auto`,label:!1,legendType:`rect`,minPointSize:L0,shape:V1,xAxisId:0,yAxisId:0,zIndex:II.bar};function V0(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=M1(t,n).needClip,p=lM(),m=xj(),h=$X(e.children,GJ),g=q(t=>$1(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(j1,{xAxisId:t,yAxisId:n,data:g,dataPointFormatter:R0,errorBarOffset:_},l.createElement(z0,y0({},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 H0(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=UA({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=Qee(E,y)}else p=RA(e,r),Array.isArray(p)||(p=[b,p]);var D=U1(i,L0)(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=HA({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=bw(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=yw(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=HA({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=yw(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:x0(x0({},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 U0(e){var t=ZT(e,B0),n=a0(t.stackId),r=xj();return l.createElement(JZ,{id:t.id,type:`bar`},e=>l.createElement(l.Fragment,null,l.createElement(hZ,{legendPayload:D0(t)}),l.createElement(O0,{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(tQ,{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!==V1}),l.createElement(Gq,{zIndex:t.zIndex},l.createElement(V0,y0({},t,{id:e})))))}var W0=l.memo(U0,RM);W0.displayName=`Bar`;var G0=[`domain`,`range`],K0=[`domain`,`range`];function q0(e,t){if(e==null)return{};var n,r,i=J0(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 J0(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 Y0(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 X0(e,t){if(e===t)return!0;var n=e.domain,r=e.range,i=q0(e,G0),a=t.domain,o=t.range,s=q0(t,K0);return!Y0(n,a)||!Y0(r,o)?!1:RM(i,s)}var Z0=[`type`],Q0=[`dangerouslySetInnerHTML`,`ticks`,`scale`],$0=[`id`,`scale`];function e2(){return e2=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},e2.apply(null,arguments)}function t2(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 n2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?t2(Object(n),!0).forEach(function(t){r2(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):t2(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function r2(e,t,n){return(t=i2(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i2(e){var t=a2(e,`string`);return typeof t==`symbol`?t:t+``}function a2(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 o2(e,t){if(e==null)return{};var n,r,i=s2(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function s2(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function c2(e){var t=uD(),n=(0,l.useRef)(null),r=uM(),i=e.type,a=o2(e,Z0),o=BI(r,`xAxis`,i),s=(0,l.useMemo)(()=>{if(o!=null)return n2(n2({},a),{},{type:o})},[a,o]);return(0,l.useLayoutEffect)(()=>{s!=null&&(n.current===null?t(lQ(s)):n.current!==s&&t(uQ({prev:n.current,next:s})),n.current=s)},[s,t]),(0,l.useLayoutEffect)(()=>()=>{n.current&&=(t(dQ(n.current)),null)},[t]),null}var l2=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(yj),c=xj(),u=uD(),d=`xAxis`,f=q(e=>_G(e,d,t,c)),p=q(e=>aG(e,t)),m=q(e=>uG(e,t)),h=q(e=>gU(e,t));if((0,l.useLayoutEffect)(()=>{if(!(r!==`auto`||!p||xX(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(gQ({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=o2(e,Q0);h.id,h.scale;var _=o2(h,$0);return l.createElement($$,e2({},g,_,{ref:a,labelRef:o,x:m.x,y:m.y,width:p.width,height:p.height,className:VC(`recharts-${d} ${d}`,n),viewBox:s,ticks:f,axisType:d,axisId:t}))},u2={allowDataOverflow:hU.allowDataOverflow,allowDecimals:hU.allowDecimals,allowDuplicatedCategory:hU.allowDuplicatedCategory,angle:hU.angle,axisLine:W$.axisLine,height:hU.height,hide:!1,includeHidden:hU.includeHidden,interval:hU.interval,label:!1,minTickGap:hU.minTickGap,mirror:hU.mirror,orientation:hU.orientation,padding:hU.padding,reversed:hU.reversed,scale:hU.scale,tick:hU.tick,tickCount:hU.tickCount,tickLine:W$.tickLine,tickSize:W$.tickSize,type:hU.type,niceTicks:hU.niceTicks,xAxisId:0},d2=l.memo(e=>{var t=ZT(e,u2);return l.createElement(l.Fragment,null,l.createElement(c2,{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(l2,t))},X0);d2.displayName=`XAxis`;var f2=[`type`],p2=[`dangerouslySetInnerHTML`,`ticks`,`scale`],m2=[`id`,`scale`];function h2(){return h2=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},h2.apply(null,arguments)}function g2(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 _2(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?g2(Object(n),!0).forEach(function(t){v2(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g2(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function v2(e,t,n){return(t=y2(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y2(e){var t=b2(e,`string`);return typeof t==`symbol`?t:t+``}function b2(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 x2(e,t){if(e==null)return{};var n,r,i=S2(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function S2(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function C2(e){var t=uD(),n=(0,l.useRef)(null),r=uM(),i=e.type,a=x2(e,f2),o=BI(r,`yAxis`,i),s=(0,l.useMemo)(()=>{if(o!=null)return _2(_2({},a),{},{type:o})},[o,a]);return(0,l.useLayoutEffect)(()=>{s!=null&&(n.current===null?t(fQ(s)):n.current!==s&&t(pQ({prev:n.current,next:s})),n.current=s)},[s,t]),(0,l.useLayoutEffect)(()=>()=>{n.current&&=(t(mQ(n.current)),null)},[t]),null}function w2(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(yj),c=xj(),u=uD(),d=`yAxis`,f=q(e=>fG(e,t)),p=q(e=>dG(e,t)),m=q(e=>_G(e,d,t,c)),h=q(e=>yU(e,t));if((0,l.useLayoutEffect)(()=>{if(!(r!==`auto`||!f||xX(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(hQ({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=x2(e,p2);h.id,h.scale;var _=x2(h,m2);return l.createElement($$,h2({},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:VC(`recharts-${d} ${d}`,n),viewBox:s,ticks:m,axisType:d,axisId:t}))}var T2={allowDataOverflow:vU.allowDataOverflow,allowDecimals:vU.allowDecimals,allowDuplicatedCategory:vU.allowDuplicatedCategory,angle:vU.angle,axisLine:W$.axisLine,hide:!1,includeHidden:vU.includeHidden,interval:vU.interval,label:!1,minTickGap:vU.minTickGap,mirror:vU.mirror,orientation:vU.orientation,padding:vU.padding,reversed:vU.reversed,scale:vU.scale,tick:vU.tick,tickCount:vU.tickCount,tickLine:W$.tickLine,tickSize:W$.tickSize,type:vU.type,niceTicks:vU.niceTicks,width:vU.width,yAxisId:0},E2=l.memo(e=>{var t=ZT(e,T2);return l.createElement(l.Fragment,null,l.createElement(C2,{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(w2,t))},X0);E2.displayName=`YAxis`;var D2=J([(e,t)=>t,cM,nL,dL,FK,LK,hq,_j],Dq);function O2(e){return`getBBox`in e.currentTarget&&typeof e.currentTarget.getBBox==`function`}function k2(e){var t=e.currentTarget.getBoundingClientRect(),n,r;if(O2(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 A2=jk(`mouseClick`),j2=AA();j2.startListening({actionCreator:A2,effect:(e,t)=>{var n=e.payload,r=D2(t.getState(),k2(n));r?.activeIndex!=null&&t.dispatch(BG({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var M2=jk(`mouseMove`),N2=AA(),P2=null,F2=null,I2=null;N2.startListening({actionCreator:M2,effect:(e,t)=>{var n=e.payload,r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a?.includes(`mousemove`);P2!==null&&(cancelAnimationFrame(P2),P2=null),F2!==null&&(typeof i!=`number`||!o)&&(clearTimeout(F2),F2=null),I2=k2(n);var s=()=>{var e=t.getState(),n=wG(e,e.tooltip.settings.shared);if(!I2){P2=null,F2=null;return}if(n===`axis`){var r=D2(e,I2);r?.activeIndex==null?t.dispatch(LG()):t.dispatch(zG({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}P2=null,F2=null};if(!o){s();return}i===`raf`?P2=requestAnimationFrame(s):typeof i==`number`&&F2===null&&(F2=setTimeout(s,i))}});function L2(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 R2={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},z2=$k({name:`rootProps`,initialState:R2,reducers:{updateOptions:(e,t)=>{e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=t.payload.barGap??R2.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}}}),B2=z2.reducer,V2=z2.actions.updateOptions,H2=$k({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)}});H2.actions.updatePolarOptions;var U2=H2.reducer,W2=jk(`keyDown`),G2=jk(`focus`),K2=jk(`blur`),q2=AA(),J2=null,Y2=null,X2=null;q2.startListening({actionCreator:W2,effect:(e,t)=>{X2=e.payload,J2!==null&&(cancelAnimationFrame(J2),J2=null);var n=t.getState().eventSettings,r=n.throttleDelay,i=n.throttledEvents,a=i===`all`||i.includes(`keydown`);Y2!==null&&(typeof r!=`number`||!a)&&(clearTimeout(Y2),Y2=null);var o=()=>{try{var e=t.getState();if(e.rootProps.accessibilityLayer===!1)return;var n=e.tooltip.keyboardInteraction,r=X2;if(r!==`ArrowRight`&&r!==`ArrowLeft`&&r!==`Enter`)return;var i=tK(n,CK(e),ZU(e),MK(e)),a=i==null?-1:Number(i),o=!Number.isFinite(a)||a<0,s=LK(e),c=CK(e),l=wG(e,e.tooltip.settings.shared);if(r===`Enter`){if(o)return;var u=bq(e,l,`hover`,String(n.index));t.dispatch(HG({active:!n.active,activeIndex:n.index,activeCoordinate:u}));return}var d=bG(e)===`left-to-right`?1:-1,f=r===`ArrowRight`?1:-1,p;if(o){var m=ZU(e),h=MK(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(tK(_(v),c,m,h)!=null){p=v;break}}else for(var y=c.length-1;y>=0;y--)if(tK(_(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=bq(e,l,`hover`,String(p));t.dispatch(HG({active:!0,activeIndex:p.toString(),activeCoordinate:x}))}finally{J2=null,Y2=null}};if(!a){o();return}r===`raf`?J2=requestAnimationFrame(o):typeof r==`number`&&Y2===null&&(o(),X2=null,Y2=setTimeout(()=>{X2?o():(Y2=null,J2=null)},r))}}),q2.startListening({actionCreator:G2,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=bq(n,wG(n,n.tooltip.settings.shared),`hover`,String(i));t.dispatch(HG({active:!0,activeIndex:i,activeCoordinate:a}))}}}}),q2.startListening({actionCreator:K2,effect:(e,t)=>{var n=t.getState();if(n.rootProps.accessibilityLayer!==!1){var r=n.tooltip.keyboardInteraction;r.active&&t.dispatch(HG({active:!1,activeIndex:r.index,activeCoordinate:r.coordinate}))}}});function Z2(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 Q2=jk(`externalEvent`),$2=AA(),e4=new Map,t4=new Map,n4=new Map;$2.startListening({actionCreator:Q2,effect:(e,t)=>{var n=e.payload,r=n.handler,i=n.reactEvent;if(r!=null){var a=i.type,o=Z2(i);n4.set(a,{handler:r,reactEvent:o});var s=e4.get(a);s!==void 0&&(cancelAnimationFrame(s),e4.delete(a));var c=t.getState().eventSettings,l=c.throttleDelay,u=c.throttledEvents,d=u===`all`||u?.includes(a),f=t4.get(a);f!==void 0&&(typeof l!=`number`||!d)&&(clearTimeout(f),t4.delete(a));var p=()=>{var e=n4.get(a);try{if(!e)return;var n=e.handler,r=e.reactEvent,i=t.getState(),o={activeCoordinate:qK(i),activeDataKey:WK(i),activeIndex:HK(i),activeLabel:UK(i),activeTooltipIndex:HK(i),isTooltipActive:JK(i)};n&&n(o,r)}finally{e4.delete(a),t4.delete(a),n4.delete(a)}};if(!d){p();return}if(l===`raf`){var m=requestAnimationFrame(p);e4.set(a,m)}else if(typeof l==`number`){if(!t4.has(a)){p();var h=setTimeout(p,l);t4.set(a,h)}}else p()}}});var r4=J([J([aK],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)}}}),i4=jk(`touchMove`),a4=AA(),o4=null,s4=null,c4=null,l4=null;a4.startListening({actionCreator:i4,effect:(e,t)=>{var n=e.payload;if(n.touches!=null&&n.touches.length!==0){l4=Z2(n);var r=t.getState().eventSettings,i=r.throttleDelay,a=r.throttledEvents,o=a===`all`||a.includes(`touchmove`);o4!==null&&(cancelAnimationFrame(o4),o4=null),s4!==null&&(typeof i!=`number`||!o)&&(clearTimeout(s4),s4=null),c4=Array.from(n.touches).map(e=>k2({clientX:e.clientX,clientY:e.clientY,currentTarget:n.currentTarget}));var s=()=>{if(l4!=null){var e=t.getState(),n=wG(e,e.tooltip.settings.shared);if(n===`axis`){var r=c4?.[0];if(r==null){o4=null,s4=null;return}var i=D2(e,r);i?.activeIndex!=null&&t.dispatch(zG({activeIndex:i.activeIndex,activeDataKey:void 0,activeCoordinate:i.activeCoordinate}))}else if(n===`item`){var a=l4.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(oj),c=o.getAttribute(`data-recharts-item-id`)??void 0,l=yK(e).find(e=>e.id===c);if(s==null||l==null||c==null)return;var u=l.dataKey,d=r4(e,s,c);t.dispatch(FG({activeDataKey:u,activeIndex:s,activeCoordinate:d,activeGraphicalItemId:c}))}o4=null,s4=null}};if(!o){s();return}i===`raf`?o4=requestAnimationFrame(s):typeof i==`number`&&s4===null&&(s(),l4=null,s4=setTimeout(()=>{l4?s():(s4=null,o4=null)},i))}}});var u4={throttleDelay:`raf`,throttledEvents:[`mousemove`,`touchmove`,`pointermove`,`scroll`,`wheel`]},d4=$k({name:`eventSettings`,initialState:u4,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=Y(t.payload.throttledEvents))}}}),f4=d4.actions.setEventSettings,p4=d4.reducer,m4=tO({brush:VQ,cartesianAxis:_Q,chartData:gJ,errorBars:E1,eventSettings:p4,graphicalItems:eQ,layout:qee,legend:yM,options:lJ,polarAxis:GX,polarOptions:U2,referenceElements:KQ,renderedTicks:O$,rootProps:B2,tooltip:UG,zIndex:Wq}),h4=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`Chart`;return Uk({reducer:m4,preloadedState:e,middleware:e=>e({serializableCheck:!1,immutableCheck:![`commonjs`,`es6`,`production`].includes(`es6`)}).concat([j2.middleware,N2.middleware,q2.middleware,$2.middleware,a4.middleware]),enhancers:e=>{var t=e;return typeof e==`function`&&(t=e()),t.concat(Vk({type:`raf`}))},devTools:sN.devToolsEnabled&&{serialize:{replacer:L2},name:`recharts-${t}`}})};function g4(e){var t=e.preloadedState,n=e.children,r=e.reduxStoreName,i=xj(),a=(0,l.useRef)(null);if(i)return n;a.current??=h4(t,r);var o=cD;return l.createElement(FM,{context:o,store:a.current},n)}function _4(e){var t=e.layout,n=e.margin,r=uD(),i=xj();return(0,l.useEffect)(()=>{i||(r(Wee(t)),r(Uee(n)))},[r,i,t,n]),null}var v4=(0,l.memo)(_4,RM);function y4(e){var t=uD();return(0,l.useEffect)(()=>{t(V2(e))},[t,e]),null}var b4=(0,l.memo)(e=>{var t=uD();return(0,l.useEffect)(()=>{t(f4(e))},[t,e]),null},RM);function x4(e){var t=e.zIndex,n=e.isPanorama,r=(0,l.useRef)(null),i=uD();return(0,l.useLayoutEffect)(()=>(r.current&&i(Hq({zIndex:t,element:r.current,isPanorama:n})),()=>{i(Uq({zIndex:t,isPanorama:n}))}),[i,t,n]),l.createElement(`g`,{tabIndex:-1,ref:r,className:`recharts-zIndex-layer_${t}`})}function S4(e){var t=e.children,n=e.isPanorama,r=q(kq);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(x4,{key:e,zIndex:e,isPanorama:n})),t,a.map(e=>l.createElement(x4,{key:e,zIndex:e,isPanorama:n})))}var C4=[`children`];function w4(e,t){if(e==null)return{};var n,r,i=T4(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 T4(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 E4(){return E4=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},E4.apply(null,arguments)}var D4={width:`100%`,height:`100%`,display:`block`},O4=(0,l.forwardRef)((e,t)=>{var n=oM(),r=sM(),i=kN();if(!FA(n)||!FA(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(ew,E4({},o,{title:s,desc:c,role:d,tabIndex:u,width:n,height:r,style:D4,ref:t}),a)}),k4=e=>{var t=e.children,n=q(Cj);if(!n)return null;var r=n.width,i=n.height,a=n.y,o=n.x;return l.createElement(ew,{width:r,height:i,x:o,y:a},t)},A4=(0,l.forwardRef)((e,t)=>{var n=e.children,r=w4(e,C4);return xj()?l.createElement(k4,null,l.createElement(S4,{isPanorama:!0},n)):l.createElement(O4,E4({ref:t},r),l.createElement(S4,{isPanorama:!1},n))});function j4(e,t){return I4(e)||F4(e,t)||N4(e,t)||M4()}function M4(){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 N4(e,t){if(e){if(typeof e==`string`)return P4(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)?P4(e,t):void 0}}function P4(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 F4(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 I4(e){if(Array.isArray(e))return e}function L4(){var e=uD(),t=j4((0,l.useState)(null),2),n=t[0],r=t[1],i=q(nj);return(0,l.useEffect)(()=>{if(n!=null){var t=n.getBoundingClientRect().width/n.offsetWidth;X(t)&&t!==i&&e(Kee(t))}},[n,e,i]),r}function R4(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 z4(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?R4(Object(n),!0).forEach(function(t){B4(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):R4(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function B4(e,t,n){return(t=V4(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V4(e){var t=H4(e,`string`);return typeof t==`symbol`?t:t+``}function H4(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 U4(){return U4=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},U4.apply(null,arguments)}function W4(e,t){return Y4(e)||J4(e,t)||K4(e,t)||G4()}function G4(){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 K4(e,t){if(e){if(typeof e==`string`)return q4(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)?q4(e,t):void 0}}function q4(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 J4(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 Y4(e){if(Array.isArray(e))return e}var X4=()=>(DJ(),null);function Z4(e){if(typeof e==`number`)return e;if(typeof e==`string`){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var Q4=(0,l.forwardRef)((e,t)=>{var n=(0,l.useRef)(null),r=W4((0,l.useState)({containerWidth:Z4(e.style?.width),containerHeight:Z4(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(pM,{width:i.containerWidth,height:i.containerHeight}),l.createElement(`div`,U4({ref:s},e)))}),$4=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=W4((0,l.useState)({containerWidth:Z4(n),containerHeight:Z4(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(pM,{width:a.containerWidth,height:a.containerHeight}),l.createElement(`div`,U4({ref:c},e)))}),e3=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height;return l.createElement(l.Fragment,null,l.createElement(pM,{width:n,height:r}),l.createElement(`div`,U4({ref:t},e)))}),t3=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height;return typeof n==`string`||typeof r==`string`?l.createElement($4,U4({},e,{ref:t})):typeof n==`number`&&typeof r==`number`?l.createElement(e3,U4({},e,{width:n,height:r,ref:t})):l.createElement(l.Fragment,null,l.createElement(pM,{width:n,height:r}),l.createElement(`div`,U4({ref:t},e)))});function n3(e){return e?Q4:t3}var r3=(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=uD(),w=W4((0,l.useState)(null),2),T=w[0],E=w[1],D=W4((0,l.useState)(null),2),O=D[0],k=D[1],A=L4(),j=eM(),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(A2(e)),C(Q2({handler:a,reactEvent:e}))},[C,a]),ne=(0,l.useCallback)(e=>{C(M2(e)),C(Q2({handler:u,reactEvent:e}))},[C,u]),re=(0,l.useCallback)(e=>{C(LG()),C(Q2({handler:d,reactEvent:e}))},[C,d]),ie=(0,l.useCallback)(e=>{C(M2(e)),C(Q2({handler:f,reactEvent:e}))},[C,f]),ae=(0,l.useCallback)(()=>{C(G2())},[C]),oe=(0,l.useCallback)(()=>{C(K2())},[C]),se=(0,l.useCallback)(e=>{C(W2(e.key))},[C]),ce=(0,l.useCallback)(e=>{C(Q2({handler:o,reactEvent:e}))},[C,o]),le=(0,l.useCallback)(e=>{C(Q2({handler:s,reactEvent:e}))},[C,s]),ue=(0,l.useCallback)(e=>{C(Q2({handler:c,reactEvent:e}))},[C,c]),P=(0,l.useCallback)(e=>{C(Q2({handler:p,reactEvent:e}))},[C,p]),de=(0,l.useCallback)(e=>{C(Q2({handler:g,reactEvent:e}))},[C,g]),fe=(0,l.useCallback)(e=>{x&&C(i4(e)),C(Q2({handler:h,reactEvent:e}))},[C,x,h]),pe=(0,l.useCallback)(e=>{C(Q2({handler:m,reactEvent:e}))},[C,m]),me=n3(y);return l.createElement(tJ.Provider,{value:T},l.createElement(Hw.Provider,{value:O},l.createElement(me,{width:M??_?.width,height:N??_?.height,className:VC(`recharts-wrapper`,r),style:z4({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(X4,null),n)))}),i3=[`width`,`height`,`responsive`,`children`,`className`,`style`,`compact`,`title`,`desc`];function a3(e,t){if(e==null)return{};var n,r,i=o3(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 o3(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 s3=(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=qC(a3(e,i3));return c?l.createElement(l.Fragment,null,l.createElement(pM,{width:n,height:r}),l.createElement(A4,{otherAttributes:f,title:u,desc:d},a)):l.createElement(r3,{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(A4,{otherAttributes:f,title:u,desc:d,ref:t},l.createElement(e$,null,a)))});function c3(){return c3=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},c3.apply(null,arguments)}function l3(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 u3(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?l3(Object(n),!0).forEach(function(t){d3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l3(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function d3(e,t,n){return(t=f3(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f3(e){var t=p3(e,`string`);return typeof t==`symbol`?t:t+``}function p3(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 m3=u3({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`},u4),h3=(0,l.forwardRef)(function(e,t){var n=ZT(e.categoricalChartProps,m3),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(g4,{preloadedState:{options:c},reduxStoreName:s.id??r},l.createElement(RQ,{chartData:s.data}),l.createElement(v4,{layout:n.layout,margin:n.margin}),l.createElement(b4,{throttleDelay:n.throttleDelay,throttledEvents:n.throttledEvents}),l.createElement(y4,{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(s3,c3({},n,{ref:t})))}),g3=[`axis`,`item`],_3=(0,l.forwardRef)((e,t)=>l.createElement(h3,{chartName:`BarChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:g3,tooltipPayloadSearcher:sJ,categoricalChartProps:e,ref:t})),v3={fontSize:11,fill:`var(--muted-foreground)`},y3=({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??IC(d),m=_n(`(min-width: 640px)`),h=RC(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:Tg(LC(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)(TC,{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)(nM,{width:`100%`,height:`100%`,children:(0,I.jsxs)(_3,{data:p,margin:{top:4,right:0,bottom:0,left:0},barCategoryGap:d===`day`?`22%`:`30%`,children:[(0,I.jsx)(C1,{vertical:!1,stroke:`var(--border)`}),(0,I.jsx)(d2,{dataKey:`at`,padding:{left:4,right:m?4:18},tickFormatter:Gl,tick:v3,axisLine:!1,tickLine:!1,interval:d===`day`?m?4:9:m?1:3,height:18}),(0,I.jsx)(E2,{width:m?36:28,tick:v3,axisLine:!1,tickLine:!1,tickCount:3}),(0,I.jsx)(WJ,{cursor:{fill:`var(--muted)`},content:(0,I.jsx)(zC,{noun:t}),isAnimationActive:!1}),(0,I.jsx)(W0,{dataKey:`count`,fill:`var(--primary)`,radius:[2,2,0,0],isAnimationActive:!1})]})})})]})},b3={"7d":`last 7 days`,"30d":`last 30 days`,"90d":`last 90 days`,"1y":`last year`,all:`all time`},x3=({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=US(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)(y3,{title:n,noun:r,data:c,granularity:a,onGranularityChange:o,periodLabel:a===`week`?`last 12 weeks`:b3[s]})},S3=({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)(nr,{wrapperClassName:`min-w-0 flex-1 sm:w-72 sm:flex-none`,leading:(0,I.jsx)(Ot,{className:`size-4`}),placeholder:n,"aria-label":`Search`,value:r,onChange:e=>i(e.target.value),onKeyDown:e=>e.key===`Enter`&&t(r)})},C3=(e,t,n,r)=>e.map(e=>{let i=t.fields[e.id],a=i&&Gh(r,i,n?.fields[e.id]);return a?{...e,render:t=>(0,I.jsx)(Jh,{shown:a,part:`cell`,field:i,value:t[e.id],fallback:Ng(e,e.value?e.value(t):t[e.id])})}:e}),w3=ja(),T3=e=>e.find(e=>e.kind===`search`),E3=({address:e})=>{let{resources:t}=G(),n=t[e.resource];return n?(0,I.jsx)(D3,{model:n,address:e}):(0,I.jsxs)(ph,{title:`Not found`,children:[`There is no resource called `,e.resource,`.`]})},D3=({model:e,address:t})=>{let n=G(),{set:r,go:i}=Eh(),a=e.name,o=n.views[a],s=(0,l.useMemo)(()=>VS(o,e),[o,e]),{fields:c}=ym(),u=(0,l.useMemo)(()=>C3(wS(e,o),e,o,c),[e,o,c]),d=t.filter,f=(0,l.useMemo)(()=>BS(s,d),[s,d]),p=f.ok?f.state:Qx,m=f.ok?f.extras:[],{orderBy:h,filterLayout:g}=t,_=vn(),[v,y]=(0,l.useState)(!1),b=JS({model:e,resources:n.resources,views:n.views,view:o,state:p,extras:m}),x=(0,l.useMemo)(()=>fC(e,o,u.map(e=>e.id)),[e,o,u]),S=ZS({resources:n.resources,views:n.views,model:e,columns:x,filter:f.ok?d:``,orderBy:h}),C=cC(o,t.display),w=AC(e,S.page,S.key,C!==void 0),T=im(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=hh(a),{state:k}=B(),A=aC({model:e,view:o,restore:oC(e),onReview:e=>i({kind:`record`,resource:a,key:e.key})}),j=(e,t=m)=>r({filter:FS(s,e,t)}),M=T3(m),N=e=>{let t=m.filter(e=>e.kind!==`search`);j(p,e?[...t,w3.search(e)]:t)},ee=o?.names?.plural??W(a),te=(0,I.jsx)(mS,{layout:g,config:b,value:p,onChange:j}),ne=tS(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)(Bt,{className:`size-3.5`}),`Filters`,ne.length>0&&` (${ne.length})`]}),(0,I.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,I.jsx)(Yx,{scroll:!0,chips:ne,onRemove:e=>j(nS(p,e)),onClear:()=>j(Qx)})})]}),(0,I.jsx)(QS,{title:`Filters`,open:v,onClose:()=>y(!1),children:(0,I.jsx)(mS,{layout:`panel`,fullWidth:!0,config:b,value:p,onChange:j})})]}),ie=t=>i({kind:`record`,resource:a,key:sm(e,t)}),ae=S.source?(0,I.jsx)(qx,{columns:u,source:S.source,sort:Th(h),onSortChange:e=>r({orderBy:vee(e)}),onOpenRow:ie,rowActions:[{label:`Open ${D.toLowerCase()}`,onSelect:ie},...Qh(O,`delete`)?[{label:`Delete`,destructive:!0,available:e=>$h(e,`delete`),onSelect:e=>void A.start(E(e))}]:[]],bulkActions:Qh(O,`delete`)?[{label:e=>`Delete ${e}`,destructive:!0,onRun:e=>A.startBulk(e.map(E))}]:[],rowNumbers:!1,pinKey:k.kind===`signed-in`?vg(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)(yC,{model:e,view:o,display:C,list:w}):(0,I.jsx)(wC,{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)(Al,{title:ee,subtitle:o?.help,actions:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(DC,{view:o,value:C?.name??`table`,onChange:e=>r({display:e})}),C&&(0,I.jsx)(kC,{model:e,view:o,display:C,orderBy:h,onChange:e=>r({orderBy:e})}),e.search?.length?(0,I.jsx)(S3,{value:M?.kind===`search`?M.text:``,onCommit:N,placeholder:`Search ${ee.toLowerCase()}`}):null,Qh(O,`create`)&&(0,I.jsxs)(V,{variant:`primary`,onClick:()=>i({kind:`create`,resource:a}),children:[(0,I.jsx)(St,{className:`size-3.5`}),`New `,D.toLowerCase()]})]})}),!f.ok&&(0,I.jsx)(Vh,{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)(Vh,{title:`Could not load rows`,error:S.error}),o?.chart&&(0,I.jsx)(x3,{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]})},O3=({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)(Fp,{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)})}),k3=e=>e?.role===`owner`?[`owner`,`admin`,`member`]:[`admin`,`member`],A3=({member:e,current:t,onChanged:n})=>{let{session:r,organizations:i}=B(),a=t.organization.id,{busy:o,error:s,run:c}=Vp(),l=i?.roles??[],u=e.id===t.memberId,d=k3(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:tp[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)(O3,{roles:l,selected:e.appRoles,grantable:ap(l,t),disabled:o,onChange:t=>void c(async()=>{await r.organizations.setAppRoles(e.id,t),n()})}),(0,I.jsx)(eu,{message:s})]})},j3=({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 Ao?Fl(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)(Al,{title:`Members`,subtitle:`Who works in ${e.organization.name}, and with which roles.`}),(0,I.jsxs)($l,{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)(eu,{message:i}),n?(0,I.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(t=>(0,I.jsx)(A3,{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)(ir,{}),` Loading`]})]})]}):null},M3=({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,N3=({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}=Vp(),_=()=>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)($l,{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)(eu,{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)(nr,{"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:k3(e).map(e=>(0,I.jsx)(`option`,{value:e,children:tp[e]},e))}),(0,I.jsx)(V,{type:`submit`,variant:`primary`,loading:m,disabled:!a.trim(),children:`Invite`})]}),(0,I.jsx)(O3,{roles:i,selected:u,grantable:ap(i,e),onChange:d})]}),(0,I.jsx)(M3,{link:f})]})},P3=({invitation:e,organizationId:t,onChanged:n})=>{let{session:r,organizations:i}=B(),[a,o]=(0,l.useState)(),{busy:s,error:c,run:u}=Vp(),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:[tp[e.role],e.appRoles.length>0&&` · ${e.appRoles.map(e=>np(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)(eu,{message:c}),(0,I.jsx)(M3,{link:a})]})},F3=({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)(Al,{title:`Invitations`,subtitle:`People invited to ${e.organization.name}.`}),(0,I.jsx)(N3,{current:e,onSent:a}),(0,I.jsx)($l,{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)(P3,{invitation:e,organizationId:i,onChanged:a},e.id))})})]})},I3=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 Ao?Fl(e):`Could not read your organizations`))},[e,t,c]),{current:n,organizations:i,...o&&{error:o},reload:d}},L3=e=>window.location.assign(`${e}/`),R3=({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}=Vp(),f=i.trim()!==e.name||o!==e.slug;return(0,I.jsxs)($l,{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)(eu,{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)(nr,{"aria-label":`Name`,value:i,disabled:!t,onChange:e=>a(e.target.value),wrapperClassName:`flex-1`}),(0,I.jsx)(nr,{"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`})]})]})},z3=({organization:e,memberId:t})=>{let{session:n}=B(),[r,i]=(0,l.useState)([]),[a,o]=(0,l.useState)(``),{busy:s,error:c,run:u}=Vp();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)($l,{title:`Hand over`,description:`Make another member the owner. You stay as an admin.`,children:[(0,I.jsx)(eu,{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`})]})]})},B3=({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}=Vp(),d=()=>u(async()=>{await n.organizations.remove(e.id),L3(t)});return(0,I.jsxs)($l,{title:`Delete organization`,description:`Takes the organization and its members and invitations away. Its records must be deleted first.`,children:[(0,I.jsx)(eu,{message:r?void 0:c}),(0,I.jsx)(V,{variant:`danger`,onClick:()=>i(!0),children:`Delete organization`}),r&&(0,I.jsxs)(Ql,{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)(eu,{message:c}),(0,I.jsx)(nr,{"aria-label":`Organization name`,value:a,onChange:e=>o(e.target.value)})]})]})},V3=({organization:e,basePath:t,owner:n})=>{let{session:r}=B(),{busy:i,error:a,run:o}=Vp();return(0,I.jsxs)($l,{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)(eu,{message:a}),(0,I.jsxs)(V,{loading:i,onClick:()=>void o(async()=>{await r.organizations.leave(e.id),L3(t)}),children:[`Leave `,e.name]})]})},H3=({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)(Al,{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)(Al,{title:r.name,subtitle:e.role?`You are ${tp[e.role].toLowerCase()} here.`:`You work here through your global roles, without being a member.`}),(0,I.jsx)(R3,{organization:r,editable:rp(e),onSaved:n},`${r.name}/${r.slug}`),i&&e.memberId&&(0,I.jsx)(z3,{organization:r,memberId:e.memberId}),e.role&&(0,I.jsx)(V3,{organization:r,basePath:t,owner:i}),i&&(0,I.jsx)(B3,{organization:r,basePath:t})]})},U3=e=>e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,63),W3=({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`})]}),G3=({basePath:e})=>{let{session:t}=B(),[n,r]=(0,l.useState)(``),[i,a]=(0,l.useState)(),{busy:o,error:s,run:c}=Vp(),u=()=>c(async()=>{await t.organizations.create({name:n.trim(),slug:i??U3(n)}),L3(e)});return(0,I.jsxs)($l,{title:`New organization`,description:`You become its owner, with every role, and work in it once it is made.`,children:[(0,I.jsx)(eu,{message:s}),(0,I.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row`,onSubmit:e=>{e.preventDefault(),u()},children:[(0,I.jsx)(nr,{"aria-label":`Name`,placeholder:`Name`,value:n,onChange:e=>r(e.target.value),wrapperClassName:`flex-1`}),(0,I.jsx)(nr,{"aria-label":`Slug`,placeholder:`slug`,value:i??U3(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`})]})]})},K3=({basePath:e,currentId:t})=>{let{session:n}=B(),[r,i]=(0,l.useState)(``),[a,o]=(0,l.useState)([]),{busy:s,error:c,run:u}=Vp();return(0,l.useEffect)(()=>{let e=setTimeout(()=>void n.organizations.search(r).then(o,()=>o([])),200);return()=>clearTimeout(e)},[n,r]),(0,I.jsxs)($l,{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)(eu,{message:c}),(0,I.jsx)(nr,{"aria-label":`Find an organization`,placeholder:`Name or slug`,value:r,onChange:e=>i(e.target.value),leading:(0,I.jsx)(Ot,{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)(W3,{organization:r,current:r.id===t,busy:s,onOpen:()=>void u(async()=>{await n.organizations.switchTo(r.id),L3(e)})},r.id))})]})},q3=()=>{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)($l,{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=>np(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))})})},J3=({state:e,basePath:t})=>{let{session:n,organizations:r,state:i}=B(),{busy:a,error:o,run:s}=Vp(),c=i.kind===`signed-in`?i.user:void 0,l=r?.create===`everyone`||c!==void 0&&$p(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)(Al,{title:`Organizations`,subtitle:`You work in one organization at a time; what you see follows from your roles there.`}),(0,I.jsxs)($l,{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)(eu,{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)(W3,{organization:e,current:e.id===u,busy:a,onOpen:()=>void s(async()=>{await n.organizations.switchTo(e.id),L3(t)})},e.id))})]}),(0,I.jsx)(q3,{}),l&&(0,I.jsx)(G3,{basePath:t}),(e.current?.globalRoles.length??0)>0&&(0,I.jsx)(K3,{basePath:t,currentId:u})]})},Y3=(e,t)=>t?.active?{...e,role:t.active}:e,X3=(e,t)=>e instanceof Ao?Fl(e):t,Z3=e=>{let{session:t}=B(),n=mm(),[r,i]=(0,l.useState)();(0,l.useEffect)(()=>{t.roles.current().then(i,e=>n.show({state:`error`,title:X3(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:X3(e,`Could not switch the role`)})),[t,n,e]);return{...r&&{current:r},switchTo:a}},Q3=e=>new Set((e.userMenu?.items??[]).flatMap(e=>e.kind===`resource`?[e.resource]:e.kind===`page`?[e.page]:[])),$3=(e,t,n)=>(e.userMenu?.items??[]).map((r,i)=>{if(r.kind===`link`)return{id:`link-${i}`,label:r.label,icon:sh(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:sh(r.icon??i?.icon,Je),href:Xa({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:sh(r.icon,ah(r.resource)),href:Xa({kind:`list`,resource:r.resource},t),active:r.resource===n}}),e6={sales:`Sales`,crm:`CRM`,catalog:`Catalog`,inventory:`Inventory`,core:`Admin`,hr:`HR`},t6=(e,t=``,n={})=>{let r=new Map,i=new Map,a=Q3(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:sh(n.icon,Je),href:Xa({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??e6[c]??W(c),u=r.get(l)??{label:l,items:[]};u.items.push({id:o.name,label:s.names?.plural??W(o.name),icon:ah(o.name),href:Xa({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)}return[...r.values()].map(e=>({...e,items:[...e.items].sort((e,t)=>(i.get(e.id)??0)-(i.get(t.id)??0))}))},n6=({action:e,label:t,danger:n,onCancel:r,onConfirm:i})=>(0,I.jsx)(Ql,{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})]})}),r6=(0,l.createContext)(void 0),i6=({value:e,children:t})=>(0,I.jsx)(r6.Provider,{value:e,children:t}),a6=()=>(0,l.useContext)(r6),o6=(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]))),s6=(e,t)=>({model:e,record:t,key:Ka(sm(e,t)),etag:typeof t.etag==`string`?t.etag:void 0,permissions:t.permissions}),c6=(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}}),l6=(e,t=``)=>Gf(c6(U(),e,t)),u6=(e,{filter:t=``,sort:n=``,key:r})=>{let i=U();return Gf({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{...s6(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]?s6(e,a.items[0]):null}})},d6=(e,{filter:t=``,sort:n=``,pageSize:r,pageToken:i=``})=>{let a=U();return Gf({queryKey:H.list(e.name,t,n,r,i),placeholderData:Bd,queryFn:()=>a.list(e.name,{filter:t||void 0,orderBy:n||void 0,pageSize:r,pageToken:i||void 0})})},f6=()=>{let e=gd();return(0,l.useCallback)(t=>e.invalidateQueries({predicate:e=>e.queryKey[1]===t}),[e])},p6=e=>e instanceof Error?e.message:`Something went wrong`,m6=(e,t,n)=>{let{views:r}=G(),{actions:i}=ym(),a=hh(e),o=U(),s=mm(),c=f6(),{go:u}=Eh(),[d,f]=(0,l.useState)(),p=r[e]?.actions??[],m=e=>{let n=e.run?.kind;if((n===`update`||n===`delete`)&&!t)return`Needs a record`;if(n===`update`&&(!Qh(a,`update`)||t?.permissions?.update===!1))return`You cannot change this record`;if(n===`delete`&&(!Qh(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}"`},h=async r=>{let{run:a}=r;if(a?.kind===`link`){`to`in a?u(Ra(a.to,t?.record)):window.location.assign(o6(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:o,navigate:u}),await c(e),s.show({state:`success`,title:`${r.label}: done`}),n?.(r)};return{actions:p,blocked:m,running:d,run:async e=>{m(e)||(f(e.name),await h(e).catch(t=>s.show({state:`error`,title:`${e.label} failed`,description:p6(t)})),f(void 0))}}},h6=(e,t,n)=>{let r=m6(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()}},g6=e=>e.props,_6=({node:e})=>{let{name:t,resource:n,label:r,variant:i}=g6(e),a=a6(),o=h6(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)(n6,{action:o.action,label:u,danger:i===`danger`,onCancel:()=>c(!1),onConfirm:()=>{c(!1),o.run()}})]})},v6=({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})]}),y6=({children:e})=>(0,I.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:e}),b6=({node:e,children:t,slots:n})=>{let{title:r,description:i}=g6(e);return(0,I.jsx)(v6,{title:r,description:i,actions:n.actions,className:`h-full`,children:(0,I.jsx)(`div`,{className:`flex flex-col gap-3`,children:t})})},x6=({model:e,filter:t,sort:n,limit:r=12,title:i,description:a,empty:o,actions:s,children:c})=>{let l=d6(e,{filter:t,sort:n,pageSize:r}),u=l.data?.items??[];return(0,I.jsx)(v6,{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)(ex,{className:`h-24 w-56`},t))}):l.error?(0,I.jsx)(Vh,{title:`Could not load`,error:l.error}):u.length===0?(0,I.jsx)(y6,{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=s6(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)(i6,{value:n,children:c})},n.key)})})})},S6=({node:e,children:t,slots:n})=>{let{resource:r,...i}=g6(e),a=G().resources[r];return a?(0,I.jsx)(x6,{...i,model:a,actions:n.actions,children:t}):null},C6=({field:e,value:t,known:n})=>{let{resources:r,views:i}=G(),a=U(),o=gd(),s=e.relation?r[e.relation.resource]:void 0,c=String(t),l=Gf({queryKey:H.relatedLabel(s?.name??``,c),enabled:!!s&&n===void 0,queryFn:async()=>(await KS(o,a,s,[c],i[s.name])).get(c)??c});return s?(0,I.jsx)(Dh,{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})},w6=({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)(C6,{field:t,value:n,known:i});let s=t.type===`file`?Nh(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=Ih(t,n,o);return t.type===`enum`||o.format===`badge`?(0,I.jsx)(Nn,{tone:gS(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})},T6=e=>{let{views:t}=G(),n=Kh(e.field,t[e.model.name]?.fields[e.field.name]),r=(0,I.jsx)(w6,{...e});return n?(0,I.jsx)(Jh,{shown:n,part:`display`,field:e.field,value:e.value,fallback:r}):r},E6=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&typeof e.type==`string`&&Array.isArray(e.children),D6=e=>typeof e==`object`&&!!e&&e.kind===`member`,O6=e=>D6(e)?[e.path.join(`.`)]:typeof e!=`object`||!e?[]:Object.values(e).flatMap(O6),k6=e=>D6(e)?{...e,path:[e.path.join(`.`)]}:Array.isArray(e)?e.map(k6):typeof e!=`object`||!e?e:Object.fromEntries(Object.entries(e).map(([e,t])=>[e,k6(t)])),A6=e=>{let t=_i(e);return t.ok?t.ast?{ok:!0,ast:t.ast,paths:[...new Set(O6(t.ast))]}:{ok:!1,message:`the condition is empty`}:{ok:!1,message:t.errors.map(e=>e.message).join(`; `)}},j6=(e,t)=>e.ast!==void 0&&aa(k6(e.ast),t),M6=(e,t)=>{let[n,r,...i]=e.split(`.`);return n&&r===`count`&&i.length===0&&!t(n)?n:void 0},N6=(e,t,n)=>{let r=[],i=e[t],a=n.split(`.`);for(let[o,s]of a.entries()){if(!i)return{ok:!1,message:`unknown resource "${t}"`};let c=Object.hasOwn(i.fields,s)?i.fields[s]:void 0;if(!c)return{ok:!1,message:`unknown field "${a.slice(0,o+1).join(`.`)}" on ${i.name}`};if(r.push({model:i,field:c}),o===a.length-1)break;if(c.type!==`relation`||!c.relation)return{ok:!1,message:`"${a.slice(0,o+1).join(`.`)}" is not a relation, so "${n}" cannot go through it`};t=c.relation.resource,i=e[t]}return{ok:!0,steps:r}},P6=(e,t,n)=>{if(!t)return[];let r=N6(e,t.model.name,n);return r.ok?r.steps:[]},F6=(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}}),I6=(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}},L6=(e,t)=>{let{resources:n}=G(),r=P6(n,e,t);return I6(e,r,Gf(F6(U(),gd(),e,t,r)))},R6=(e,t)=>{let{resources:n}=G(),r=U(),i=gd(),a=t.map(t=>P6(n,e,t)),o=Uf({queries:t.map((t,n)=>F6(r,i,e,t,a[n]))});return t.map((t,n)=>I6(e,a[n],o[n]))},z6=(e,t)=>{if(t)return t;let n=e.split(`.`).map(e=>W(e).toLowerCase()).join(` `);return n[0].toUpperCase()+n.slice(1)},B6=({node:e})=>{let{name:t,label:n,format:r}=g6(e),{views:i}=G(),a=L6(a6(),t);if(a.state===`missing`)return null;let o=a.state===`loading`?(0,I.jsx)(ex,{className:`h-4 w-24`}):(0,I.jsx)(T6,{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??z6(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})]})},V6={1:``,2:`md:grid-cols-2`,3:`md:grid-cols-2 xl:grid-cols-3`,4:`sm:grid-cols-2 xl:grid-cols-4`},H6={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`},U6=({node:e,children:t})=>{let{columns:n=2}=g6(e),r=e.children;return(0,I.jsx)(`div`,{className:F(`grid grid-cols-1 gap-4`,V6[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&&H6[i]),children:e},t)})})},W6=`font-medium text-primary-text hover:underline`,G6=({node:e})=>{let t=g6(e),n=a6()?.record,r=e.children.filter(e=>typeof e==`string`).join(``);if(t.to){let e=Ra(t.to,n);return(0,I.jsx)(Dh,{to:e,className:W6,children:r||Xa(e)})}let i=t.href??``;return(0,I.jsx)(`a`,{href:i,className:W6,...i.startsWith(`http`)&&{target:`_blank`,rel:`noreferrer`},children:r||i})},K6=(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]:Lh(n.record[t])];let i=r.default&&`value`in r.default?r.default.value:void 0;return[t,r.type===`boolean`?!!i:Lh(i)]})),q6=(e,t,n)=>Object.fromEntries(Object.entries(t).flatMap(([t,r])=>{let i=e.fields[t];return og(r)?r.key===Lh(n.record[t])?[]:[[t,i.type===`integer`?Number(r.key):r.key]]:Bh(i,r,n.record[t])?[[t,zh(i,r)]]:[]})),J6=({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=mm(),p=f6(),m=u[e.name],[h,g]=(0,l.useState)(()=>K6(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,{...ug(e,c,h),...o}):d.update(e.name,t.key,q6(e,h,t),t.etag??`*`)).then(async()=>{await p(e.name),f.show({state:`success`,title:`${i??r}: saved`}),s()},e=>{vo(e)&&v(Object.fromEntries(e.errors.flatMap(e=>e.field?[[e.field,e.message]]:[]))),b(e)}),S(!1)};return(0,I.jsx)(Ql,{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)(Vh,{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)(rg,{label:m?.fields[n]?.label??W(n),help:m?.fields[n]?.help,error:_[n],children:(0,I.jsx)(Zh,{field:r,hints:m?.fields[n],value:og(i)?i.key:i,stored:t?.record[n],relationLabel:og(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)})]})})},Y6=({model:e,recordKey:t,children:n})=>{let r=u6(e,{key:t});return(0,I.jsx)(I.Fragment,{children:n(r.data??void 0)})},X6=({node:e})=>{let t=g6(e),n=a6(),{resources:r}=G(),i=r[t.resource??n?.model.name??``],a=hh(i?.name??``),[o,s]=(0,l.useState)(!1);if(!i||!(t.mode===`create`?Qh(a,`create`):Qh(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)(J6,{...t,model:i,record:t.mode===`edit`?e:void 0,onClose:()=>s(!1)})]});return t.mode===`edit`&&t.recordKey!==void 0?(0,I.jsx)(Y6,{model:i,recordKey:t.recordKey,children:c}):c(t.mode===`edit`?n:void 0)},Z6=({node:e,children:t,slots:n})=>{let{title:r,description:i}=g6(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)(Al,{title:r,subtitle:i,actions:n.actions}),t]})})},Q6=(e,t)=>{let n=a6(),r=L6(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},$6=({node:e})=>{let{value:t,max:n,label:r}=g6(e),i=Q6(t,0),a=Q6(n,100);if(i===void 0||a===void 0)return(0,I.jsx)(ex,{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}%`}})})]})},e8=({model:e,filter:t,sort:n,recordKey:r,title:i,description:a,empty:o,actions:s,children:c})=>{let l=u6(e,{filter:t,sort:n,key:r}),u=e=>l.data?(0,I.jsx)(i6,{value:l.data,children:e}):void 0,d=l.isPending?(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,I.jsx)(ex,{className:`h-4 w-1/2`}),(0,I.jsx)(ex,{className:`h-4 w-1/3`})]}):l.error?(0,I.jsx)(Vh,{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)(y6,{children:o??`Nothing here yet.`});return(0,I.jsx)(v6,{title:i,description:a,actions:s?u(s):void 0,className:`h-full`,children:d})},t8=({node:e,children:t,slots:n})=>{let{resource:r,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l}=g6(e),u=G().resources[r];return u?(0,I.jsx)(e8,{model:u,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l,actions:n.actions,children:t}):null},n8=({node:e,children:t})=>{let{when:n}=g6(e),{resources:r}=G(),i=U(),a=a6(),o=(0,l.useMemo)(()=>A6(n),[n]),s=o.ok?o.paths:[],c=s.map(e=>M6(e,e=>!!(a&&Object.hasOwn(a.model.fields,e)))),u=s.filter((e,t)=>c[t]===void 0),d=R6(a,u),f=Uf({queries:c.flatMap(e=>{let t=e===void 0?void 0:r[e];return t?[c6(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)}),j6(o,p)?(0,I.jsx)(I.Fragment,{children:t}):null},r8=`text-2xl font-semibold tracking-tight tabular-nums`,i8=({model:e,filter:t})=>{let n=l6(e,t);return n.isPending?(0,I.jsx)(ex,{className:`h-8 w-16`}):n.error?(0,I.jsx)(`span`,{className:`text-[13px] text-danger-text`,children:`Could not count`}):(0,I.jsx)(Dh,{to:{kind:`list`,resource:e.name,filter:t},className:`${r8} hover:text-primary-text`,children:n.data.toLocaleString(`en-IE`)})},a8=({field:e,format:t})=>{let n=L6(a6(),e);return n.state===`loading`?(0,I.jsx)(ex,{className:`h-8 w-16`}):n.state===`missing`?null:(0,I.jsx)(`span`,{className:r8,children:(0,I.jsx)(T6,{model:n.model,field:n.field,value:n.value,format:t})})},o8=({node:e})=>{let{label:t,value:n,resource:r,filter:i,field:a,format:o,description:s}=g6(e),{resources:c}=G(),l=r===void 0?void 0:c[r];return(0,I.jsxs)(v6,{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:r8,children:n}),l&&(0,I.jsx)(i8,{model:l,filter:i}),a!==void 0&&(0,I.jsx)(a8,{field:a,format:o})]}),s&&(0,I.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:s})]})},s8=(e,t,n)=>{let{resources:r,views:i}=G(),a=U(),o=gd(),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=Uf({queries:s.map(({target:e,ids:t})=>({queryKey:H.labelMap(e.name,t.join(`,`)),queryFn:()=>KS(o,a,e,t,i[e.name])}))});return new Map(s.flatMap(({name:e},t)=>c[t]?.data?[[e,c[t].data]]:[]))},c8=e=>e.includes(`.`),l8=e=>{let{resources:t,views:n}=G();return r=>{let i=N6(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)}},u8=({model:e,row:t,column:n})=>{let r=L6(s6(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)(T6,{model:r.model,field:r.field,value:r.value})},d8=({model:e,columns:t,rows:n,label:r,pager:i})=>{let{resources:a}=G(),o=l8(e),s=t[0]===void 0?void 0:N6(a,e.name,t[0]),c=!s?.ok||s.steps.at(-1).field.type!==`relation`,l=s8(e,t.filter(e=>!c8(e)),n),u=(t,n)=>c8(n)?(0,I.jsx)(u8,{model:e,row:t,column:n}):(0,I.jsx)(T6,{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=s6(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)(Dh,{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`})})]})]})},f8=(e,t)=>t?.list?.columns??Object.keys(e.fields).filter(t=>!e.primaryKey.includes(t)&&t!==e.tenant).slice(0,5),p8=({model:e,view:t,filter:n,sort:r,columns:i,pageSize:a=10,title:o,description:s,empty:c,actions:u})=>{let d=(i??f8(e,t)).filter(t=>Object.hasOwn(e.fields,t)),[f,p]=(0,l.useState)([``]),m=d6(e,{filter:n,sort:r,pageSize:a,pageToken:f.at(-1)}),h=m.data?.items??[],g=m.data?.nextPageToken;return(0,I.jsx)(v6,{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)(ex,{className:`h-4 w-full`},t))}):m.error?(0,I.jsx)(Vh,{title:`Could not load`,error:m.error}):h.length===0&&f.length===1?(0,I.jsx)(y6,{children:c??`Nothing here yet.`}):(0,I.jsx)(d8,{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])}})})},m8={Page:Z6,Grid:U6,Card:b6,Stat:o8,RecordCard:t8,Field:B6,Table:({node:e,slots:t})=>{let n=g6(e),{resources:r,views:i}=G(),a=r[n.resource];return a?(0,I.jsx)(p8,{...n,model:a,view:i[a.name],actions:t.actions}):null},CardRow:S6,Progress:$6,ModalForm:X6,Action:_6,Show:n8,Link:G6},h8=e=>typeof e==`string`||!e.custom&&e.type===`Link`,g8=e=>{let t=[];for(let n of e){let e=t.at(-1);h8(n)&&e&&h8(e[0])?e.push(n):t.push([n])}return t.map((e,t)=>{let[n]=e;return h8(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)(y8,{node:e},t))},t):(0,I.jsx)(y8,{node:n},t)})},_8=e=>E6(e)||Array.isArray(e)&&e.length>0&&e.every(E6),v8=e=>Object.fromEntries(Object.entries(e.props).flatMap(([e,t])=>_8(t)?[[e,(0,I.jsx)(I.Fragment,{children:g8(Array.isArray(t)?t:[t])})]]:[])),y8=({node:e})=>{let{components:t}=ym();if(e.custom){let n=t?.[e.type];return n?(0,I.jsx)(kh,{name:e.type,children:(0,I.jsx)(n,{...Pa(e.props),children:e.children.length>0?g8(e.children):void 0})}):(0,I.jsxs)(Oh,{children:[`No component is registered as `,e.type,`. Export it from protobase.ui.tsx, or load the plugin that provides it.`]})}let n=m8[e.type];return n?(0,I.jsx)(n,{node:e,slots:v8(e),children:g8(e.children)}):(0,I.jsxs)(Oh,{children:[e.type,` is not a block this version of the app knows.`]})},b8=({name:e})=>{let t=G().pages[e];return t?(0,I.jsx)(y8,{node:t.tree}):(0,I.jsxs)(ph,{title:`Not found`,children:[`There is no page called `,e,`.`]})},x8=e=>typeof e==`string`&&e.trim()!==``,S8=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 x8(t)?Number.isInteger(r)?x8(i)?x8(a)?o!==void 0&&!x8(o)?{problem:`its plugin.json names a stylesheet that is no URL`}:n!==void 0&&!x8(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`}},C8=class extends Error{name=`UiConflictError`},w8=e=>Object.keys(e).some(e=>e==="default"||/^[A-Z]/.test(e))?c(e):e,T8=(e,t)=>[...(e.extends??[]).map(w8).flatMap((e,n)=>T8(e,e.name??`${t} extends[${n}]`)),{ui:e,label:t}],E8=(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 C8(`${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},D8=e=>e.length<=1?e[0]:()=>e.map((e,t)=>(0,I.jsx)(e,{},t)),O8=(...e)=>{let t=e.flatMap((e,t)=>T8(e,e.name??`UI config ${t+1}`)),n=E8(`The component`,t,e=>e.components),r=E8(`The action handler`,t,e=>e.actions),i=E8(`The field type`,t,e=>e.fields),a=D8(t.flatMap(({ui:e})=>e.shell?.actions?[e.shell.actions]:[])),o=D8(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}}}}},k8=(0,l.createContext)(null),A8=k8.Provider,j8=()=>{let e=(0,l.useContext)(k8);if(!e)throw Error(`usePlugin is for the components of a plugin the app loaded`);return e},M8=(e,t,n)=>{let r=n=>(0,I.jsx)(A8,{value:e,children:(0,I.jsx)(t,{...n})});return r.displayName=`${e.name}:${n}`,r},N8=(e,t,n)=>({of:n.of,display:M8(e,n.display,`fields.${t}.display`),...n.editor&&{editor:M8(e,n.editor,`fields.${t}.editor`)},...n.cell&&{cell:M8(e,n.cell,`fields.${t}.cell`)}}),P8=(e,t)=>{let n=O8({...c(t),name:e.name}),r=Object.fromEntries(Object.entries(n.components??{}).map(([t,n])=>[t,M8(e,n,t)])),i=n.fields&&Object.fromEntries(Object.entries(n.fields).map(([t,n])=>[t,N8(e,t,n)])),a=n.shell&&{...n.shell.actions&&{actions:M8(e,n.shell.actions,`shell.actions`)},...n.shell.rightPanel&&{rightPanel:M8(e,n.shell.rightPanel,`shell.rightPanel`)}};return{name:e.name,components:r,...n.actions&&{actions:n.actions},...i&&{fields:i},...a&&{shell:a}}},F8=`0.12.0`,I8={pluginApi:1}.pluginApi,L8=F8,R8=`modulepreload`,z8=function(e){return`/`+e},B8={},V8=function(e){return e.pathname.endsWith(`.css`)},H8=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=z8(t,n);let r=s(t);if(r.href in B8)return;B8[r.href]=!0;let i=V8(r);if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let o=document.createElement(`link`);if(o.rel=i?`stylesheet`:R8,i||(o.as=`script`),o.crossOrigin=``,o.href=r.href,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),i)return new Promise((e,t)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>t(Error(`Unable to preload CSS for ${r}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},U8={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=>H8(()=>import(e),[])},W8={api:I8,version:L8},G8=e=>e instanceof Error?e.message:String(e),K8=async(e,t,n,r=W8)=>{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=S8(n.json);if(`problem`in s)return a(s.problem);let{manifest:c}=s;o=c.name;let l=oo(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:P8(d,u)}}catch(e){return a(`it could not be loaded: ${G8(e)}`,o)}},q8=(e,t)=>{let n=O8(e??{}),r=[],i=[];for(let e of t){if(e.kind===`off`){i.push(e);continue}try{O8(...r,e.ui,n),r.push(e.ui)}catch(t){if(!(t instanceof C8))throw t;i.push({kind:`off`,url:e.plugin.url,name:e.plugin.name,reason:t.message})}}return{ui:r.length===0?n:O8(...r,n),off:i}},J8=1e4,Y8=[],X8=(e,t)=>{let n=JSON.stringify(e),[r,i]=(0,l.useState)({key:`[]`,loads:Y8,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()},J8);return e.forEach((e,n)=>{K8(e,t,window.location.href).then(e=>{o[n]=e,s()})}),()=>{r=!1,clearTimeout(c)}},[n,t]),e.length===0?{loads:Y8,settled:!0}:r.key===n?r:{loads:Y8,settled:!1}},Z8=(0,l.createContext)([]),Q8=()=>(0,l.useContext)(Z8),$8=({ui:e,loader:t=U8,children:n})=>{let{plugins:r=[]}=G(),{loads:i,settled:a}=X8(r,t),o=(0,l.useMemo)(()=>q8(e,i),[e,i]);return a?(0,I.jsx)(vm.Provider,{value:o.ui,children:(0,I.jsx)(Z8.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)(ir,{}),` Loading`]})},e5=({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)(wt,{"aria-hidden":!0,className:`mt-0.5 size-4 shrink-0`}),(0,I.jsx)(`ul`,{className:`min-w-0 flex-1 space-y-0.5 break-words`,children:e.map(e=>(0,I.jsxs)(`li`,{children:[`The plugin `,(0,I.jsx)(`span`,{className:`font-semibold`,children:e.name??e.url}),` is off: `,e.reason,`.`]},e.url))}),(0,I.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,className:`rounded p-0.5 hover:bg-warning/10`,onClick:()=>n(!0),children:(0,I.jsx)(dn,{"aria-hidden":!0,className:`size-4`})})]})},t5=({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))}),n5=({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))}),r5=({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]}),i5=({title:e,rows:t})=>t.length===0?null:(0,I.jsx)(r5,{title:e,children:(0,I.jsx)(t5,{rows:t})}),a5=({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]})]}),o5=(e,t)=>[`${t}_at`,`${t}At`].find(t=>e.fields[t]),s5=({item:e,scope:t})=>{let{components:n}=ym(),r=n?.[e.component],i=r?(0,I.jsx)(i6,{value:t,children:(0,I.jsx)(kh,{name:e.component,children:(0,I.jsx)(r,{...Pa(e.props??{})})})}):(0,I.jsxs)(Oh,{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)(r5,{title:e.title,children:i}):i:e.title?(0,I.jsx)(ig,{title:e.title,children:i}):(0,I.jsx)(`section`,{className:`py-8`,children:i})},c5=({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))})]}),l5={wallet:sn,"file-text":He,send:Mt},u5=e=>e?l5[e]??pn:pn,d5=({model:e,stored:t,recordKey:n})=>{let{go:r}=Eh(),i={model:e,record:t.record,key:n,etag:t.etag,permissions:t.permissions},a=m6(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)(c5,{actions:a.actions.map(e=>({name:e.label,icon:u5(e.icon),blocked:a.blocked(e),running:a.running===e.name,onRun:()=>e.confirm?s(e):void a.run(e)}))}),o&&(0,I.jsx)(n6,{action:o,label:o.label,danger:o.run?.kind===`delete`,onCancel:()=>s(void 0),onConfirm:()=>{s(void 0),a.run(o)}})]})},f5=[[`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]];f5.length;var p5=e=>{let[t,n,r]=f5[e%f5.length],i=e%f5.length;return{id:`P-${200+i}`,sku:`${n}-${String(1e3+i*7).padStart(4,`0`)}`,name:t,category:n,priceCents:r}},m5=`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]`,h5=e=>e.quantity*e.unitPriceCents,g5=(e,t=.21)=>{let n=e.reduce((e,t)=>e+h5(t),0),r=Math.round(n*t);return{subtotalCents:n,vatCents:r,totalCents:n+r}},_5=({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))})]})},v5=({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 y5(){var e=[...arguments];return(0,l.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var b5=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function x5(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function S5(e){return`nodeType`in e}function C5(e){return e?x5(e)?e:S5(e)?e.ownerDocument?.defaultView??window:window:window}function w5(e){let{Document:t}=C5(e);return e instanceof t}function T5(e){return!x5(e)&&e instanceof C5(e).HTMLElement}function E5(e){return e instanceof C5(e).SVGElement}function D5(e){return e?x5(e)?e.document:S5(e)?w5(e)?e:T5(e)||E5(e)?e.ownerDocument:document:document:document}var O5=b5?l.useLayoutEffect:l.useEffect;function k5(e){let t=(0,l.useRef)(e);return O5(()=>{t.current=e}),(0,l.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function A5(){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 j5(e,t){t===void 0&&(t=[e]);let n=(0,l.useRef)(e);return O5(()=>{n.current!==e&&(n.current=e)},t),n}function M5(e,t){let n=(0,l.useRef)();return(0,l.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function N5(e){let t=k5(e),n=(0,l.useRef)(null);return[n,(0,l.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function P5(e){let t=(0,l.useRef)();return(0,l.useEffect)(()=>{t.current=e},[e]),t.current}var F5={};function I5(e,t){return(0,l.useMemo)(()=>{if(t)return t;let n=F5[e]==null?0:F5[e]+1;return F5[e]=n,e+`-`+n},[e,t])}function L5(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 R5=L5(1),z5=L5(-1);function B5(e){return`clientX`in e&&`clientY`in e}function V5(e){if(!e)return!1;let{KeyboardEvent:t}=C5(e.target);return t&&e instanceof t}function H5(e){if(!e)return!1;let{TouchEvent:t}=C5(e.target);return t&&e instanceof t}function U5(e){if(H5(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 B5(e)?{x:e.clientX,y:e.clientY}:null}var W5=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[W5.Translate.toString(e),W5.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),G5=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function K5(e){return e.matches(G5)?e:e.querySelector(G5)}var q5={display:`none`};function J5(e){let{id:t,value:n}=e;return l.createElement(`div`,{id:t,style:q5},n)}function Y5(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 X5(){let[e,t]=(0,l.useState)(``);return{announce:(0,l.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var Z5=(0,l.createContext)(null);function Q5(e){let t=(0,l.useContext)(Z5);(0,l.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function $5(){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 e7={draggable:`
|
|
61
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function K4(e,t){if(e){if(typeof e==`string`)return q4(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)?q4(e,t):void 0}}function q4(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 J4(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 Y4(e){if(Array.isArray(e))return e}var X4=()=>(DJ(),null);function Z4(e){if(typeof e==`number`)return e;if(typeof e==`string`){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var Q4=(0,l.forwardRef)((e,t)=>{var n=(0,l.useRef)(null),r=W4((0,l.useState)({containerWidth:Z4(e.style?.width),containerHeight:Z4(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(pM,{width:i.containerWidth,height:i.containerHeight}),l.createElement(`div`,U4({ref:s},e)))}),$4=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height,i=W4((0,l.useState)({containerWidth:Z4(n),containerHeight:Z4(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(pM,{width:a.containerWidth,height:a.containerHeight}),l.createElement(`div`,U4({ref:c},e)))}),e3=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height;return l.createElement(l.Fragment,null,l.createElement(pM,{width:n,height:r}),l.createElement(`div`,U4({ref:t},e)))}),t3=(0,l.forwardRef)((e,t)=>{var n=e.width,r=e.height;return typeof n==`string`||typeof r==`string`?l.createElement($4,U4({},e,{ref:t})):typeof n==`number`&&typeof r==`number`?l.createElement(e3,U4({},e,{width:n,height:r,ref:t})):l.createElement(l.Fragment,null,l.createElement(pM,{width:n,height:r}),l.createElement(`div`,U4({ref:t},e)))});function n3(e){return e?Q4:t3}var r3=(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=uD(),w=W4((0,l.useState)(null),2),T=w[0],E=w[1],D=W4((0,l.useState)(null),2),O=D[0],k=D[1],A=L4(),j=eM(),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(A2(e)),C(Q2({handler:a,reactEvent:e}))},[C,a]),ne=(0,l.useCallback)(e=>{C(M2(e)),C(Q2({handler:u,reactEvent:e}))},[C,u]),re=(0,l.useCallback)(e=>{C(LG()),C(Q2({handler:d,reactEvent:e}))},[C,d]),ie=(0,l.useCallback)(e=>{C(M2(e)),C(Q2({handler:f,reactEvent:e}))},[C,f]),ae=(0,l.useCallback)(()=>{C(G2())},[C]),oe=(0,l.useCallback)(()=>{C(K2())},[C]),se=(0,l.useCallback)(e=>{C(W2(e.key))},[C]),ce=(0,l.useCallback)(e=>{C(Q2({handler:o,reactEvent:e}))},[C,o]),le=(0,l.useCallback)(e=>{C(Q2({handler:s,reactEvent:e}))},[C,s]),ue=(0,l.useCallback)(e=>{C(Q2({handler:c,reactEvent:e}))},[C,c]),P=(0,l.useCallback)(e=>{C(Q2({handler:p,reactEvent:e}))},[C,p]),de=(0,l.useCallback)(e=>{C(Q2({handler:g,reactEvent:e}))},[C,g]),fe=(0,l.useCallback)(e=>{x&&C(i4(e)),C(Q2({handler:h,reactEvent:e}))},[C,x,h]),pe=(0,l.useCallback)(e=>{C(Q2({handler:m,reactEvent:e}))},[C,m]),me=n3(y);return l.createElement(tJ.Provider,{value:T},l.createElement(Hw.Provider,{value:O},l.createElement(me,{width:M??_?.width,height:N??_?.height,className:VC(`recharts-wrapper`,r),style:z4({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(X4,null),n)))}),i3=[`width`,`height`,`responsive`,`children`,`className`,`style`,`compact`,`title`,`desc`];function a3(e,t){if(e==null)return{};var n,r,i=o3(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 o3(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 s3=(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=qC(a3(e,i3));return c?l.createElement(l.Fragment,null,l.createElement(pM,{width:n,height:r}),l.createElement(A4,{otherAttributes:f,title:u,desc:d},a)):l.createElement(r3,{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(A4,{otherAttributes:f,title:u,desc:d,ref:t},l.createElement(e$,null,a)))});function c3(){return c3=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},c3.apply(null,arguments)}function l3(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 u3(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?l3(Object(n),!0).forEach(function(t){d3(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l3(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function d3(e,t,n){return(t=f3(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f3(e){var t=p3(e,`string`);return typeof t==`symbol`?t:t+``}function p3(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 m3=u3({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`},u4),h3=(0,l.forwardRef)(function(e,t){var n=ZT(e.categoricalChartProps,m3),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(g4,{preloadedState:{options:c},reduxStoreName:s.id??r},l.createElement(RQ,{chartData:s.data}),l.createElement(v4,{layout:n.layout,margin:n.margin}),l.createElement(b4,{throttleDelay:n.throttleDelay,throttledEvents:n.throttledEvents}),l.createElement(y4,{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(s3,c3({},n,{ref:t})))}),g3=[`axis`,`item`],_3=(0,l.forwardRef)((e,t)=>l.createElement(h3,{chartName:`BarChart`,defaultTooltipEventType:`axis`,validateTooltipEventTypes:g3,tooltipPayloadSearcher:sJ,categoricalChartProps:e,ref:t})),v3={fontSize:11,fill:`var(--muted-foreground)`},y3=({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??IC(d),m=_n(`(min-width: 640px)`),h=RC(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:Tg(LC(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)(TC,{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)(nM,{width:`100%`,height:`100%`,children:(0,I.jsxs)(_3,{data:p,margin:{top:4,right:0,bottom:0,left:0},barCategoryGap:d===`day`?`22%`:`30%`,children:[(0,I.jsx)(C1,{vertical:!1,stroke:`var(--border)`}),(0,I.jsx)(d2,{dataKey:`at`,padding:{left:4,right:m?4:18},tickFormatter:Gl,tick:v3,axisLine:!1,tickLine:!1,interval:d===`day`?m?4:9:m?1:3,height:18}),(0,I.jsx)(E2,{width:m?36:28,tick:v3,axisLine:!1,tickLine:!1,tickCount:3}),(0,I.jsx)(WJ,{cursor:{fill:`var(--muted)`},content:(0,I.jsx)(zC,{noun:t}),isAnimationActive:!1}),(0,I.jsx)(W0,{dataKey:`count`,fill:`var(--primary)`,radius:[2,2,0,0],isAnimationActive:!1})]})})})]})},b3={"7d":`last 7 days`,"30d":`last 30 days`,"90d":`last 90 days`,"1y":`last year`,all:`all time`},x3=({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=US(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)(y3,{title:n,noun:r,data:c,granularity:a,onGranularityChange:o,periodLabel:a===`week`?`last 12 weeks`:b3[s]})},S3=({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)(nr,{wrapperClassName:`min-w-0 flex-1 sm:w-72 sm:flex-none`,leading:(0,I.jsx)(Ot,{className:`size-4`}),placeholder:n,"aria-label":`Search`,value:r,onChange:e=>i(e.target.value),onKeyDown:e=>e.key===`Enter`&&t(r)})},C3=(e,t,n,r)=>e.map(e=>{let i=t.fields[e.id],a=i&&Gh(r,i,n?.fields[e.id]);return a?{...e,render:t=>(0,I.jsx)(Jh,{shown:a,part:`cell`,field:i,value:t[e.id],fallback:Ng(e,e.value?e.value(t):t[e.id])})}:e}),w3=ja(),T3=e=>e.find(e=>e.kind===`search`),E3=({address:e})=>{let{resources:t}=G(),n=t[e.resource];return n?(0,I.jsx)(D3,{model:n,address:e}):(0,I.jsxs)(ph,{title:`Not found`,children:[`There is no resource called `,e.resource,`.`]})},D3=({model:e,address:t})=>{let n=G(),{set:r,go:i}=Eh(),a=e.name,o=n.views[a],s=(0,l.useMemo)(()=>VS(o,e),[o,e]),{fields:c}=ym(),u=(0,l.useMemo)(()=>C3(wS(e,o),e,o,c),[e,o,c]),d=t.filter,f=(0,l.useMemo)(()=>BS(s,d),[s,d]),p=f.ok?f.state:Qx,m=f.ok?f.extras:[],{orderBy:h,filterLayout:g}=t,_=vn(),[v,y]=(0,l.useState)(!1),b=JS({model:e,resources:n.resources,views:n.views,view:o,state:p,extras:m}),x=(0,l.useMemo)(()=>fC(e,o,u.map(e=>e.id)),[e,o,u]),S=ZS({resources:n.resources,views:n.views,model:e,columns:x,filter:f.ok?d:``,orderBy:h}),C=cC(o,t.display),w=AC(e,S.page,S.key,C!==void 0),T=im(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=hh(a),{state:k}=B(),A=aC({model:e,view:o,restore:oC(e),onReview:e=>i({kind:`record`,resource:a,key:e.key})}),j=(e,t=m)=>r({filter:FS(s,e,t)}),M=T3(m),N=e=>{let t=m.filter(e=>e.kind!==`search`);j(p,e?[...t,w3.search(e)]:t)},ee=o?.names?.plural??W(a),te=(0,I.jsx)(mS,{layout:g,config:b,value:p,onChange:j}),ne=tS(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)(Bt,{className:`size-3.5`}),`Filters`,ne.length>0&&` (${ne.length})`]}),(0,I.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,I.jsx)(Yx,{scroll:!0,chips:ne,onRemove:e=>j(nS(p,e)),onClear:()=>j(Qx)})})]}),(0,I.jsx)(QS,{title:`Filters`,open:v,onClose:()=>y(!1),children:(0,I.jsx)(mS,{layout:`panel`,fullWidth:!0,config:b,value:p,onChange:j})})]}),ie=t=>i({kind:`record`,resource:a,key:sm(e,t)}),ae=S.source?(0,I.jsx)(qx,{columns:u,source:S.source,sort:Th(h),onSortChange:e=>r({orderBy:vee(e)}),onOpenRow:ie,rowActions:[{label:`Open ${D.toLowerCase()}`,onSelect:ie},...Qh(O,`delete`)?[{label:`Delete`,destructive:!0,available:e=>$h(e,`delete`),onSelect:e=>void A.start(E(e))}]:[]],bulkActions:Qh(O,`delete`)?[{label:e=>`Delete ${e}`,destructive:!0,onRun:e=>A.startBulk(e.map(E))}]:[],rowNumbers:!1,pinKey:k.kind===`signed-in`?vg(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)(yC,{model:e,view:o,display:C,list:w}):(0,I.jsx)(wC,{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)(Al,{title:ee,subtitle:o?.help,actions:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(DC,{view:o,value:C?.name??`table`,onChange:e=>r({display:e})}),C&&(0,I.jsx)(kC,{model:e,view:o,display:C,orderBy:h,onChange:e=>r({orderBy:e})}),e.search?.length?(0,I.jsx)(S3,{value:M?.kind===`search`?M.text:``,onCommit:N,placeholder:`Search ${ee.toLowerCase()}`}):null,Qh(O,`create`)&&(0,I.jsxs)(V,{variant:`primary`,onClick:()=>i({kind:`create`,resource:a}),children:[(0,I.jsx)(St,{className:`size-3.5`}),`New `,D.toLowerCase()]})]})}),!f.ok&&(0,I.jsx)(Vh,{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)(Vh,{title:`Could not load rows`,error:S.error}),o?.chart&&(0,I.jsx)(x3,{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]})},O3=({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)(Fp,{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)})}),k3=e=>e?.role===`owner`?[`owner`,`admin`,`member`]:[`admin`,`member`],A3=({member:e,current:t,onChanged:n})=>{let{session:r,organizations:i}=B(),a=t.organization.id,{busy:o,error:s,run:c}=Vp(),l=i?.roles??[],u=e.id===t.memberId,d=k3(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:tp[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)(O3,{roles:l,selected:e.appRoles,grantable:ap(l,t),disabled:o,onChange:t=>void c(async()=>{await r.organizations.setAppRoles(e.id,t),n()})}),(0,I.jsx)(eu,{message:s})]})},j3=({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 Ao?Fl(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)(Al,{title:`Members`,subtitle:`Who works in ${e.organization.name}, and with which roles.`}),(0,I.jsxs)($l,{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)(eu,{message:i}),n?(0,I.jsx)(`ul`,{className:`divide-y rounded-md border`,children:n.map(t=>(0,I.jsx)(A3,{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)(ir,{}),` Loading`]})]})]}):null},M3=({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,N3=({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}=Vp(),_=()=>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)($l,{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)(eu,{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)(nr,{"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:k3(e).map(e=>(0,I.jsx)(`option`,{value:e,children:tp[e]},e))}),(0,I.jsx)(V,{type:`submit`,variant:`primary`,loading:m,disabled:!a.trim(),children:`Invite`})]}),(0,I.jsx)(O3,{roles:i,selected:u,grantable:ap(i,e),onChange:d})]}),(0,I.jsx)(M3,{link:f})]})},P3=({invitation:e,organizationId:t,onChanged:n})=>{let{session:r,organizations:i}=B(),[a,o]=(0,l.useState)(),{busy:s,error:c,run:u}=Vp(),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:[tp[e.role],e.appRoles.length>0&&` · ${e.appRoles.map(e=>np(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)(eu,{message:c}),(0,I.jsx)(M3,{link:a})]})},F3=({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)(Al,{title:`Invitations`,subtitle:`People invited to ${e.organization.name}.`}),(0,I.jsx)(N3,{current:e,onSent:a}),(0,I.jsx)($l,{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)(P3,{invitation:e,organizationId:i,onChanged:a},e.id))})})]})},I3=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 Ao?Fl(e):`Could not read your organizations`))},[e,t,c]),{current:n,organizations:i,...o&&{error:o},reload:d}},L3=e=>window.location.assign(`${e}/`),R3=({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}=Vp(),f=i.trim()!==e.name||o!==e.slug;return(0,I.jsxs)($l,{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)(eu,{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)(nr,{"aria-label":`Name`,value:i,disabled:!t,onChange:e=>a(e.target.value),wrapperClassName:`flex-1`}),(0,I.jsx)(nr,{"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`})]})]})},z3=({organization:e,memberId:t})=>{let{session:n}=B(),[r,i]=(0,l.useState)([]),[a,o]=(0,l.useState)(``),{busy:s,error:c,run:u}=Vp();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)($l,{title:`Hand over`,description:`Make another member the owner. You stay as an admin.`,children:[(0,I.jsx)(eu,{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`})]})]})},B3=({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}=Vp(),d=()=>u(async()=>{await n.organizations.remove(e.id),L3(t)});return(0,I.jsxs)($l,{title:`Delete organization`,description:`Takes the organization and its members and invitations away. Its records must be deleted first.`,children:[(0,I.jsx)(eu,{message:r?void 0:c}),(0,I.jsx)(V,{variant:`danger`,onClick:()=>i(!0),children:`Delete organization`}),r&&(0,I.jsxs)(Ql,{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)(eu,{message:c}),(0,I.jsx)(nr,{"aria-label":`Organization name`,value:a,onChange:e=>o(e.target.value)})]})]})},V3=({organization:e,basePath:t,owner:n})=>{let{session:r}=B(),{busy:i,error:a,run:o}=Vp();return(0,I.jsxs)($l,{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)(eu,{message:a}),(0,I.jsxs)(V,{loading:i,onClick:()=>void o(async()=>{await r.organizations.leave(e.id),L3(t)}),children:[`Leave `,e.name]})]})},H3=({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)(Al,{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)(Al,{title:r.name,subtitle:e.role?`You are ${tp[e.role].toLowerCase()} here.`:`You work here through your global roles, without being a member.`}),(0,I.jsx)(R3,{organization:r,editable:rp(e),onSaved:n},`${r.name}/${r.slug}`),i&&e.memberId&&(0,I.jsx)(z3,{organization:r,memberId:e.memberId}),e.role&&(0,I.jsx)(V3,{organization:r,basePath:t,owner:i}),i&&(0,I.jsx)(B3,{organization:r,basePath:t})]})},U3=e=>e.normalize(`NFKD`).replace(/[̀-ͯ]/g,``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,63),W3=({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`})]}),G3=({basePath:e})=>{let{session:t}=B(),[n,r]=(0,l.useState)(``),[i,a]=(0,l.useState)(),{busy:o,error:s,run:c}=Vp(),u=()=>c(async()=>{await t.organizations.create({name:n.trim(),slug:i??U3(n)}),L3(e)});return(0,I.jsxs)($l,{title:`New organization`,description:`You become its owner, with every role, and work in it once it is made.`,children:[(0,I.jsx)(eu,{message:s}),(0,I.jsxs)(`form`,{className:`flex flex-col gap-2 sm:flex-row`,onSubmit:e=>{e.preventDefault(),u()},children:[(0,I.jsx)(nr,{"aria-label":`Name`,placeholder:`Name`,value:n,onChange:e=>r(e.target.value),wrapperClassName:`flex-1`}),(0,I.jsx)(nr,{"aria-label":`Slug`,placeholder:`slug`,value:i??U3(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`})]})]})},K3=({basePath:e,currentId:t})=>{let{session:n}=B(),[r,i]=(0,l.useState)(``),[a,o]=(0,l.useState)([]),{busy:s,error:c,run:u}=Vp();return(0,l.useEffect)(()=>{let e=setTimeout(()=>void n.organizations.search(r).then(o,()=>o([])),200);return()=>clearTimeout(e)},[n,r]),(0,I.jsxs)($l,{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)(eu,{message:c}),(0,I.jsx)(nr,{"aria-label":`Find an organization`,placeholder:`Name or slug`,value:r,onChange:e=>i(e.target.value),leading:(0,I.jsx)(Ot,{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)(W3,{organization:r,current:r.id===t,busy:s,onOpen:()=>void u(async()=>{await n.organizations.switchTo(r.id),L3(e)})},r.id))})]})},q3=()=>{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)($l,{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=>np(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))})})},J3=({state:e,basePath:t})=>{let{session:n,organizations:r,state:i}=B(),{busy:a,error:o,run:s}=Vp(),c=i.kind===`signed-in`?i.user:void 0,l=r?.create===`everyone`||c!==void 0&&$p(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)(Al,{title:`Organizations`,subtitle:`You work in one organization at a time; what you see follows from your roles there.`}),(0,I.jsxs)($l,{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)(eu,{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)(W3,{organization:e,current:e.id===u,busy:a,onOpen:()=>void s(async()=>{await n.organizations.switchTo(e.id),L3(t)})},e.id))})]}),(0,I.jsx)(q3,{}),l&&(0,I.jsx)(G3,{basePath:t}),(e.current?.globalRoles.length??0)>0&&(0,I.jsx)(K3,{basePath:t,currentId:u})]})},Y3=(e,t)=>t?.active?{...e,role:t.active}:e,X3=(e,t)=>e instanceof Ao?Fl(e):t,Z3=e=>{let{session:t}=B(),n=mm(),[r,i]=(0,l.useState)();(0,l.useEffect)(()=>{t.roles.current().then(i,e=>n.show({state:`error`,title:X3(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:X3(e,`Could not switch the role`)})),[t,n,e]);return{...r&&{current:r},switchTo:a}},Q3=e=>new Set((e.userMenu?.items??[]).flatMap(e=>e.kind===`resource`?[e.resource]:e.kind===`page`?[e.page]:[])),$3=(e,t,n)=>(e.userMenu?.items??[]).map((r,i)=>{if(r.kind===`link`)return{id:`link-${i}`,label:r.label,icon:sh(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:sh(r.icon??i?.icon,Je),href:Xa({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:sh(r.icon,ah(r.resource)),href:Xa({kind:`list`,resource:r.resource},t),active:r.resource===n}}),e6={sales:`Sales`,crm:`CRM`,catalog:`Catalog`,inventory:`Inventory`,core:`Admin`,hr:`HR`},t6=(e,t=``,n={})=>{let r=new Map,i=new Map,a=Q3(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:sh(n.icon,Je),href:Xa({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??e6[c]??W(c),u=r.get(l)??{label:l,items:[]};u.items.push({id:o.name,label:s.names?.plural??W(o.name),icon:ah(o.name),href:Xa({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)}return[...r.values()].map(e=>({...e,items:[...e.items].sort((e,t)=>(i.get(e.id)??0)-(i.get(t.id)??0))}))},n6=({action:e,label:t,danger:n,onCancel:r,onConfirm:i})=>(0,I.jsx)(Ql,{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})]})}),r6=(0,l.createContext)(void 0),i6=({value:e,children:t})=>(0,I.jsx)(r6.Provider,{value:e,children:t}),a6=()=>(0,l.useContext)(r6),o6=(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]))),s6=(e,t)=>({model:e,record:t,key:Ka(sm(e,t)),etag:typeof t.etag==`string`?t.etag:void 0,permissions:t.permissions}),c6=(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}}),l6=(e,t=``)=>Gf(c6(U(),e,t)),u6=(e,{filter:t=``,sort:n=``,key:r})=>{let i=U();return Gf({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{...s6(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]?s6(e,a.items[0]):null}})},d6=(e,{filter:t=``,sort:n=``,pageSize:r,pageToken:i=``})=>{let a=U();return Gf({queryKey:H.list(e.name,t,n,r,i),placeholderData:Bd,queryFn:()=>a.list(e.name,{filter:t||void 0,orderBy:n||void 0,pageSize:r,pageToken:i||void 0})})},f6=()=>{let e=gd();return(0,l.useCallback)(t=>e.invalidateQueries({predicate:e=>e.queryKey[1]===t}),[e])},p6=e=>e instanceof Error?e.message:`Something went wrong`,m6=(e,t,n)=>{let{views:r}=G(),{actions:i}=ym(),a=hh(e),o=U(),s=mm(),c=f6(),{go:u}=Eh(),[d,f]=(0,l.useState)(),p=r[e]?.actions??[],m=e=>{let n=e.run?.kind;if((n===`update`||n===`delete`)&&!t)return`Needs a record`;if(n===`update`&&(!Qh(a,`update`)||t?.permissions?.update===!1))return`You cannot change this record`;if(n===`delete`&&(!Qh(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}"`},h=async r=>{let{run:a}=r;if(a?.kind===`link`){`to`in a?u(Ra(a.to,t?.record)):window.location.assign(o6(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:o,navigate:u}),await c(e),s.show({state:`success`,title:`${r.label}: done`}),n?.(r)};return{actions:p,blocked:m,running:d,run:async e=>{m(e)||(f(e.name),await h(e).catch(t=>s.show({state:`error`,title:`${e.label} failed`,description:p6(t)})),f(void 0))}}},h6=(e,t,n)=>{let r=m6(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()}},g6=e=>e.props,_6=({node:e})=>{let{name:t,resource:n,label:r,variant:i}=g6(e),a=a6(),o=h6(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)(n6,{action:o.action,label:u,danger:i===`danger`,onCancel:()=>c(!1),onConfirm:()=>{c(!1),o.run()}})]})},v6=({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})]}),y6=({children:e})=>(0,I.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:e}),b6=({node:e,children:t,slots:n})=>{let{title:r,description:i}=g6(e);return(0,I.jsx)(v6,{title:r,description:i,actions:n.actions,className:`h-full`,children:(0,I.jsx)(`div`,{className:`flex flex-col gap-3`,children:t})})},x6=({model:e,filter:t,sort:n,limit:r=12,title:i,description:a,empty:o,actions:s,children:c})=>{let l=d6(e,{filter:t,sort:n,pageSize:r}),u=l.data?.items??[];return(0,I.jsx)(v6,{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)(ex,{className:`h-24 w-56`},t))}):l.error?(0,I.jsx)(Vh,{title:`Could not load`,error:l.error}):u.length===0?(0,I.jsx)(y6,{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=s6(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)(i6,{value:n,children:c})},n.key)})})})},S6=({node:e,children:t,slots:n})=>{let{resource:r,...i}=g6(e),a=G().resources[r];return a?(0,I.jsx)(x6,{...i,model:a,actions:n.actions,children:t}):null},C6=({field:e,value:t,known:n})=>{let{resources:r,views:i}=G(),a=U(),o=gd(),s=e.relation?r[e.relation.resource]:void 0,c=String(t),l=Gf({queryKey:H.relatedLabel(s?.name??``,c),enabled:!!s&&n===void 0,queryFn:async()=>(await KS(o,a,s,[c],i[s.name])).get(c)??c});return s?(0,I.jsx)(Dh,{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})},w6=({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)(C6,{field:t,value:n,known:i});let s=t.type===`file`?Nh(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=Ih(t,n,o);return t.type===`enum`||o.format===`badge`?(0,I.jsx)(Nn,{tone:gS(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})},T6=e=>{let{views:t}=G(),n=Kh(e.field,t[e.model.name]?.fields[e.field.name]),r=(0,I.jsx)(w6,{...e});return n?(0,I.jsx)(Jh,{shown:n,part:`display`,field:e.field,value:e.value,fallback:r}):r},E6=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&typeof e.type==`string`&&Array.isArray(e.children),D6=e=>typeof e==`object`&&!!e&&e.kind===`member`,O6=e=>D6(e)?[e.path.join(`.`)]:typeof e!=`object`||!e?[]:Object.values(e).flatMap(O6),k6=e=>D6(e)?{...e,path:[e.path.join(`.`)]}:Array.isArray(e)?e.map(k6):typeof e!=`object`||!e?e:Object.fromEntries(Object.entries(e).map(([e,t])=>[e,k6(t)])),A6=e=>{let t=_i(e);return t.ok?t.ast?{ok:!0,ast:t.ast,paths:[...new Set(O6(t.ast))]}:{ok:!1,message:`the condition is empty`}:{ok:!1,message:t.errors.map(e=>e.message).join(`; `)}},j6=(e,t)=>e.ast!==void 0&&aa(k6(e.ast),t),M6=(e,t)=>{let[n,r,...i]=e.split(`.`);return n&&r===`count`&&i.length===0&&!t(n)?n:void 0},N6=(e,t,n)=>{let r=[],i=e[t],a=n.split(`.`);for(let[o,s]of a.entries()){if(!i)return{ok:!1,message:`unknown resource "${t}"`};let c=Object.hasOwn(i.fields,s)?i.fields[s]:void 0;if(!c)return{ok:!1,message:`unknown field "${a.slice(0,o+1).join(`.`)}" on ${i.name}`};if(r.push({model:i,field:c}),o===a.length-1)break;if(c.type!==`relation`||!c.relation)return{ok:!1,message:`"${a.slice(0,o+1).join(`.`)}" is not a relation, so "${n}" cannot go through it`};t=c.relation.resource,i=e[t]}return{ok:!0,steps:r}},P6=(e,t,n)=>{if(!t)return[];let r=N6(e,t.model.name,n);return r.ok?r.steps:[]},F6=(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}}),I6=(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}},L6=(e,t)=>{let{resources:n}=G(),r=P6(n,e,t);return I6(e,r,Gf(F6(U(),gd(),e,t,r)))},R6=(e,t)=>{let{resources:n}=G(),r=U(),i=gd(),a=t.map(t=>P6(n,e,t)),o=Uf({queries:t.map((t,n)=>F6(r,i,e,t,a[n]))});return t.map((t,n)=>I6(e,a[n],o[n]))},z6=(e,t)=>{if(t)return t;let n=e.split(`.`).map(e=>W(e).toLowerCase()).join(` `);return n[0].toUpperCase()+n.slice(1)},B6=({node:e})=>{let{name:t,label:n,format:r}=g6(e),{views:i}=G(),a=L6(a6(),t);if(a.state===`missing`)return null;let o=a.state===`loading`?(0,I.jsx)(ex,{className:`h-4 w-24`}):(0,I.jsx)(T6,{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??z6(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})]})},V6={1:``,2:`md:grid-cols-2`,3:`md:grid-cols-2 xl:grid-cols-3`,4:`sm:grid-cols-2 xl:grid-cols-4`},H6={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`},U6=({node:e,children:t})=>{let{columns:n=2}=g6(e),r=e.children;return(0,I.jsx)(`div`,{className:F(`grid grid-cols-1 gap-4`,V6[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&&H6[i]),children:e},t)})})},W6=`font-medium text-primary-text hover:underline`,G6=({node:e})=>{let t=g6(e),n=a6()?.record,r=e.children.filter(e=>typeof e==`string`).join(``);if(t.to){let e=Ra(t.to,n);return(0,I.jsx)(Dh,{to:e,className:W6,children:r||Xa(e)})}let i=t.href??``;return(0,I.jsx)(`a`,{href:i,className:W6,...i.startsWith(`http`)&&{target:`_blank`,rel:`noreferrer`},children:r||i})},K6=(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]:Lh(n.record[t])];let i=r.default&&`value`in r.default?r.default.value:void 0;return[t,r.type===`boolean`?!!i:Lh(i)]})),q6=(e,t,n)=>Object.fromEntries(Object.entries(t).flatMap(([t,r])=>{let i=e.fields[t];return og(r)?r.key===Lh(n.record[t])?[]:[[t,i.type===`integer`?Number(r.key):r.key]]:Bh(i,r,n.record[t])?[[t,zh(i,r)]]:[]})),J6=({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=mm(),p=f6(),m=u[e.name],[h,g]=(0,l.useState)(()=>K6(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,{...ug(e,c,h),...o}):d.update(e.name,t.key,q6(e,h,t),t.etag??`*`)).then(async()=>{await p(e.name),f.show({state:`success`,title:`${i??r}: saved`}),s()},e=>{vo(e)&&v(Object.fromEntries(e.errors.flatMap(e=>e.field?[[e.field,e.message]]:[]))),b(e)}),S(!1)};return(0,I.jsx)(Ql,{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)(Vh,{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)(rg,{label:m?.fields[n]?.label??W(n),help:m?.fields[n]?.help,error:_[n],children:(0,I.jsx)(Zh,{field:r,hints:m?.fields[n],value:og(i)?i.key:i,stored:t?.record[n],relationLabel:og(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)})]})})},Y6=({model:e,recordKey:t,children:n})=>{let r=u6(e,{key:t});return(0,I.jsx)(I.Fragment,{children:n(r.data??void 0)})},X6=({node:e})=>{let t=g6(e),n=a6(),{resources:r}=G(),i=r[t.resource??n?.model.name??``],a=hh(i?.name??``),[o,s]=(0,l.useState)(!1);if(!i||!(t.mode===`create`?Qh(a,`create`):Qh(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)(J6,{...t,model:i,record:t.mode===`edit`?e:void 0,onClose:()=>s(!1)})]});return t.mode===`edit`&&t.recordKey!==void 0?(0,I.jsx)(Y6,{model:i,recordKey:t.recordKey,children:c}):c(t.mode===`edit`?n:void 0)},Z6=({node:e,children:t,slots:n})=>{let{title:r,description:i}=g6(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)(Al,{title:r,subtitle:i,actions:n.actions}),t]})})},Q6=(e,t)=>{let n=a6(),r=L6(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},$6=({node:e})=>{let{value:t,max:n,label:r}=g6(e),i=Q6(t,0),a=Q6(n,100);if(i===void 0||a===void 0)return(0,I.jsx)(ex,{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}%`}})})]})},e8=({model:e,filter:t,sort:n,recordKey:r,title:i,description:a,empty:o,actions:s,children:c})=>{let l=u6(e,{filter:t,sort:n,key:r}),u=e=>l.data?(0,I.jsx)(i6,{value:l.data,children:e}):void 0,d=l.isPending?(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,I.jsx)(ex,{className:`h-4 w-1/2`}),(0,I.jsx)(ex,{className:`h-4 w-1/3`})]}):l.error?(0,I.jsx)(Vh,{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)(y6,{children:o??`Nothing here yet.`});return(0,I.jsx)(v6,{title:i,description:a,actions:s?u(s):void 0,className:`h-full`,children:d})},t8=({node:e,children:t,slots:n})=>{let{resource:r,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l}=g6(e),u=G().resources[r];return u?(0,I.jsx)(e8,{model:u,filter:i,sort:a,recordKey:o,title:s,description:c,empty:l,actions:n.actions,children:t}):null},n8=({node:e,children:t})=>{let{when:n}=g6(e),{resources:r}=G(),i=U(),a=a6(),o=(0,l.useMemo)(()=>A6(n),[n]),s=o.ok?o.paths:[],c=s.map(e=>M6(e,e=>!!(a&&Object.hasOwn(a.model.fields,e)))),u=s.filter((e,t)=>c[t]===void 0),d=R6(a,u),f=Uf({queries:c.flatMap(e=>{let t=e===void 0?void 0:r[e];return t?[c6(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)}),j6(o,p)?(0,I.jsx)(I.Fragment,{children:t}):null},r8=`text-2xl font-semibold tracking-tight tabular-nums`,i8=({model:e,filter:t})=>{let n=l6(e,t);return n.isPending?(0,I.jsx)(ex,{className:`h-8 w-16`}):n.error?(0,I.jsx)(`span`,{className:`text-[13px] text-danger-text`,children:`Could not count`}):(0,I.jsx)(Dh,{to:{kind:`list`,resource:e.name,filter:t},className:`${r8} hover:text-primary-text`,children:n.data.toLocaleString(`en-IE`)})},a8=({field:e,format:t})=>{let n=L6(a6(),e);return n.state===`loading`?(0,I.jsx)(ex,{className:`h-8 w-16`}):n.state===`missing`?null:(0,I.jsx)(`span`,{className:r8,children:(0,I.jsx)(T6,{model:n.model,field:n.field,value:n.value,format:t})})},o8=({node:e})=>{let{label:t,value:n,resource:r,filter:i,field:a,format:o,description:s}=g6(e),{resources:c}=G(),l=r===void 0?void 0:c[r];return(0,I.jsxs)(v6,{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:r8,children:n}),l&&(0,I.jsx)(i8,{model:l,filter:i}),a!==void 0&&(0,I.jsx)(a8,{field:a,format:o})]}),s&&(0,I.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:s})]})},s8=(e,t,n)=>{let{resources:r,views:i}=G(),a=U(),o=gd(),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=Uf({queries:s.map(({target:e,ids:t})=>({queryKey:H.labelMap(e.name,t.join(`,`)),queryFn:()=>KS(o,a,e,t,i[e.name])}))});return new Map(s.flatMap(({name:e},t)=>c[t]?.data?[[e,c[t].data]]:[]))},c8=e=>e.includes(`.`),l8=e=>{let{resources:t,views:n}=G();return r=>{let i=N6(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)}},u8=({model:e,row:t,column:n})=>{let r=L6(s6(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)(T6,{model:r.model,field:r.field,value:r.value})},d8=({model:e,columns:t,rows:n,label:r,pager:i})=>{let{resources:a}=G(),o=l8(e),s=t[0]===void 0?void 0:N6(a,e.name,t[0]),c=!s?.ok||s.steps.at(-1).field.type!==`relation`,l=s8(e,t.filter(e=>!c8(e)),n),u=(t,n)=>c8(n)?(0,I.jsx)(u8,{model:e,row:t,column:n}):(0,I.jsx)(T6,{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=s6(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)(Dh,{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`})})]})]})},f8=(e,t)=>t?.list?.columns??Object.keys(e.fields).filter(t=>!e.primaryKey.includes(t)&&t!==e.tenant).slice(0,5),p8=({model:e,view:t,filter:n,sort:r,columns:i,pageSize:a=10,title:o,description:s,empty:c,actions:u})=>{let d=(i??f8(e,t)).filter(t=>Object.hasOwn(e.fields,t)),[f,p]=(0,l.useState)([``]),m=d6(e,{filter:n,sort:r,pageSize:a,pageToken:f.at(-1)}),h=m.data?.items??[],g=m.data?.nextPageToken;return(0,I.jsx)(v6,{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)(ex,{className:`h-4 w-full`},t))}):m.error?(0,I.jsx)(Vh,{title:`Could not load`,error:m.error}):h.length===0&&f.length===1?(0,I.jsx)(y6,{children:c??`Nothing here yet.`}):(0,I.jsx)(d8,{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])}})})},m8={Page:Z6,Grid:U6,Card:b6,Stat:o8,RecordCard:t8,Field:B6,Table:({node:e,slots:t})=>{let n=g6(e),{resources:r,views:i}=G(),a=r[n.resource];return a?(0,I.jsx)(p8,{...n,model:a,view:i[a.name],actions:t.actions}):null},CardRow:S6,Progress:$6,ModalForm:X6,Action:_6,Show:n8,Link:G6},h8=e=>typeof e==`string`||!e.custom&&e.type===`Link`,g8=e=>{let t=[];for(let n of e){let e=t.at(-1);h8(n)&&e&&h8(e[0])?e.push(n):t.push([n])}return t.map((e,t)=>{let[n]=e;return h8(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)(y8,{node:e},t))},t):(0,I.jsx)(y8,{node:n},t)})},_8=e=>E6(e)||Array.isArray(e)&&e.length>0&&e.every(E6),v8=e=>Object.fromEntries(Object.entries(e.props).flatMap(([e,t])=>_8(t)?[[e,(0,I.jsx)(I.Fragment,{children:g8(Array.isArray(t)?t:[t])})]]:[])),y8=({node:e})=>{let{components:t}=ym();if(e.custom){let n=t?.[e.type];return n?(0,I.jsx)(kh,{name:e.type,children:(0,I.jsx)(n,{...Pa(e.props),children:e.children.length>0?g8(e.children):void 0})}):(0,I.jsxs)(Oh,{children:[`No component is registered as `,e.type,`. Export it from protobase.ui.tsx, or load the plugin that provides it.`]})}let n=m8[e.type];return n?(0,I.jsx)(n,{node:e,slots:v8(e),children:g8(e.children)}):(0,I.jsxs)(Oh,{children:[e.type,` is not a block this version of the app knows.`]})},b8=({name:e})=>{let t=G().pages[e];return t?(0,I.jsx)(y8,{node:t.tree}):(0,I.jsxs)(ph,{title:`Not found`,children:[`There is no page called `,e,`.`]})},x8=e=>typeof e==`string`&&e.trim()!==``,S8=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 x8(t)?Number.isInteger(r)?x8(i)?x8(a)?o!==void 0&&!x8(o)?{problem:`its plugin.json names a stylesheet that is no URL`}:n!==void 0&&!x8(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`}},C8=class extends Error{name=`UiConflictError`},w8=e=>Object.keys(e).some(e=>e==="default"||/^[A-Z]/.test(e))?c(e):e,T8=(e,t)=>[...(e.extends??[]).map(w8).flatMap((e,n)=>T8(e,e.name??`${t} extends[${n}]`)),{ui:e,label:t}],E8=(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 C8(`${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},D8=e=>e.length<=1?e[0]:()=>e.map((e,t)=>(0,I.jsx)(e,{},t)),O8=(...e)=>{let t=e.flatMap((e,t)=>T8(e,e.name??`UI config ${t+1}`)),n=E8(`The component`,t,e=>e.components),r=E8(`The action handler`,t,e=>e.actions),i=E8(`The field type`,t,e=>e.fields),a=D8(t.flatMap(({ui:e})=>e.shell?.actions?[e.shell.actions]:[])),o=D8(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}}}}},k8=(0,l.createContext)(null),A8=k8.Provider,j8=()=>{let e=(0,l.useContext)(k8);if(!e)throw Error(`usePlugin is for the components of a plugin the app loaded`);return e},M8=(e,t,n)=>{let r=n=>(0,I.jsx)(A8,{value:e,children:(0,I.jsx)(t,{...n})});return r.displayName=`${e.name}:${n}`,r},N8=(e,t,n)=>({of:n.of,display:M8(e,n.display,`fields.${t}.display`),...n.editor&&{editor:M8(e,n.editor,`fields.${t}.editor`)},...n.cell&&{cell:M8(e,n.cell,`fields.${t}.cell`)}}),P8=(e,t)=>{let n=O8({...c(t),name:e.name}),r=Object.fromEntries(Object.entries(n.components??{}).map(([t,n])=>[t,M8(e,n,t)])),i=n.fields&&Object.fromEntries(Object.entries(n.fields).map(([t,n])=>[t,N8(e,t,n)])),a=n.shell&&{...n.shell.actions&&{actions:M8(e,n.shell.actions,`shell.actions`)},...n.shell.rightPanel&&{rightPanel:M8(e,n.shell.rightPanel,`shell.rightPanel`)}};return{name:e.name,components:r,...n.actions&&{actions:n.actions},...i&&{fields:i},...a&&{shell:a}}},F8=`0.12.1`,I8={pluginApi:1}.pluginApi,L8=F8,R8=`modulepreload`,z8=function(e){return`/`+e},B8={},V8=function(e){return e.pathname.endsWith(`.css`)},H8=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=z8(t,n);let r=s(t);if(r.href in B8)return;B8[r.href]=!0;let i=V8(r);if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let o=document.createElement(`link`);if(o.rel=i?`stylesheet`:R8,i||(o.as=`script`),o.crossOrigin=``,o.href=r.href,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),i)return new Promise((e,t)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>t(Error(`Unable to preload CSS for ${r}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},U8={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=>H8(()=>import(e),[])},W8={api:I8,version:L8},G8=e=>e instanceof Error?e.message:String(e),K8=async(e,t,n,r=W8)=>{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=S8(n.json);if(`problem`in s)return a(s.problem);let{manifest:c}=s;o=c.name;let l=oo(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:P8(d,u)}}catch(e){return a(`it could not be loaded: ${G8(e)}`,o)}},q8=(e,t)=>{let n=O8(e??{}),r=[],i=[];for(let e of t){if(e.kind===`off`){i.push(e);continue}try{O8(...r,e.ui,n),r.push(e.ui)}catch(t){if(!(t instanceof C8))throw t;i.push({kind:`off`,url:e.plugin.url,name:e.plugin.name,reason:t.message})}}return{ui:r.length===0?n:O8(...r,n),off:i}},J8=1e4,Y8=[],X8=(e,t)=>{let n=JSON.stringify(e),[r,i]=(0,l.useState)({key:`[]`,loads:Y8,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()},J8);return e.forEach((e,n)=>{K8(e,t,window.location.href).then(e=>{o[n]=e,s()})}),()=>{r=!1,clearTimeout(c)}},[n,t]),e.length===0?{loads:Y8,settled:!0}:r.key===n?r:{loads:Y8,settled:!1}},Z8=(0,l.createContext)([]),Q8=()=>(0,l.useContext)(Z8),$8=({ui:e,loader:t=U8,children:n})=>{let{plugins:r=[]}=G(),{loads:i,settled:a}=X8(r,t),o=(0,l.useMemo)(()=>q8(e,i),[e,i]);return a?(0,I.jsx)(vm.Provider,{value:o.ui,children:(0,I.jsx)(Z8.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)(ir,{}),` Loading`]})},e5=({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)(wt,{"aria-hidden":!0,className:`mt-0.5 size-4 shrink-0`}),(0,I.jsx)(`ul`,{className:`min-w-0 flex-1 space-y-0.5 break-words`,children:e.map(e=>(0,I.jsxs)(`li`,{children:[`The plugin `,(0,I.jsx)(`span`,{className:`font-semibold`,children:e.name??e.url}),` is off: `,e.reason,`.`]},e.url))}),(0,I.jsx)(`button`,{type:`button`,"aria-label":`Dismiss`,className:`rounded p-0.5 hover:bg-warning/10`,onClick:()=>n(!0),children:(0,I.jsx)(dn,{"aria-hidden":!0,className:`size-4`})})]})},t5=({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))}),n5=({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))}),r5=({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]}),i5=({title:e,rows:t})=>t.length===0?null:(0,I.jsx)(r5,{title:e,children:(0,I.jsx)(t5,{rows:t})}),a5=({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]})]}),o5=(e,t)=>[`${t}_at`,`${t}At`].find(t=>e.fields[t]),s5=({item:e,scope:t})=>{let{components:n}=ym(),r=n?.[e.component],i=r?(0,I.jsx)(i6,{value:t,children:(0,I.jsx)(kh,{name:e.component,children:(0,I.jsx)(r,{...Pa(e.props??{})})})}):(0,I.jsxs)(Oh,{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)(r5,{title:e.title,children:i}):i:e.title?(0,I.jsx)(ig,{title:e.title,children:i}):(0,I.jsx)(`section`,{className:`py-8`,children:i})},c5=({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))})]}),l5={wallet:sn,"file-text":He,send:Mt},u5=e=>e?l5[e]??pn:pn,d5=({model:e,stored:t,recordKey:n})=>{let{go:r}=Eh(),i={model:e,record:t.record,key:n,etag:t.etag,permissions:t.permissions},a=m6(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)(c5,{actions:a.actions.map(e=>({name:e.label,icon:u5(e.icon),blocked:a.blocked(e),running:a.running===e.name,onRun:()=>e.confirm?s(e):void a.run(e)}))}),o&&(0,I.jsx)(n6,{action:o,label:o.label,danger:o.run?.kind===`delete`,onCancel:()=>s(void 0),onConfirm:()=>{s(void 0),a.run(o)}})]})},f5=[[`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]];f5.length;var p5=e=>{let[t,n,r]=f5[e%f5.length],i=e%f5.length;return{id:`P-${200+i}`,sku:`${n}-${String(1e3+i*7).padStart(4,`0`)}`,name:t,category:n,priceCents:r}},m5=`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]`,h5=e=>e.quantity*e.unitPriceCents,g5=(e,t=.21)=>{let n=e.reduce((e,t)=>e+h5(t),0),r=Math.round(n*t);return{subtotalCents:n,vatCents:r,totalCents:n+r}},_5=({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))})]})},v5=({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 y5(){var e=[...arguments];return(0,l.useMemo)(()=>t=>{e.forEach(e=>e(t))},e)}var b5=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0;function x5(e){let t=Object.prototype.toString.call(e);return t===`[object Window]`||t===`[object global]`}function S5(e){return`nodeType`in e}function C5(e){return e?x5(e)?e:S5(e)?e.ownerDocument?.defaultView??window:window:window}function w5(e){let{Document:t}=C5(e);return e instanceof t}function T5(e){return!x5(e)&&e instanceof C5(e).HTMLElement}function E5(e){return e instanceof C5(e).SVGElement}function D5(e){return e?x5(e)?e.document:S5(e)?w5(e)?e:T5(e)||E5(e)?e.ownerDocument:document:document:document}var O5=b5?l.useLayoutEffect:l.useEffect;function k5(e){let t=(0,l.useRef)(e);return O5(()=>{t.current=e}),(0,l.useCallback)(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}function A5(){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 j5(e,t){t===void 0&&(t=[e]);let n=(0,l.useRef)(e);return O5(()=>{n.current!==e&&(n.current=e)},t),n}function M5(e,t){let n=(0,l.useRef)();return(0,l.useMemo)(()=>{let t=e(n.current);return n.current=t,t},[...t])}function N5(e){let t=k5(e),n=(0,l.useRef)(null);return[n,(0,l.useCallback)(e=>{e!==n.current&&t?.(e,n.current),n.current=e},[])]}function P5(e){let t=(0,l.useRef)();return(0,l.useEffect)(()=>{t.current=e},[e]),t.current}var F5={};function I5(e,t){return(0,l.useMemo)(()=>{if(t)return t;let n=F5[e]==null?0:F5[e]+1;return F5[e]=n,e+`-`+n},[e,t])}function L5(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 R5=L5(1),z5=L5(-1);function B5(e){return`clientX`in e&&`clientY`in e}function V5(e){if(!e)return!1;let{KeyboardEvent:t}=C5(e.target);return t&&e instanceof t}function H5(e){if(!e)return!1;let{TouchEvent:t}=C5(e.target);return t&&e instanceof t}function U5(e){if(H5(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 B5(e)?{x:e.clientX,y:e.clientY}:null}var W5=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[W5.Translate.toString(e),W5.Scale.toString(e)].join(` `)}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+` `+n+`ms `+r}}}),G5=`a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]`;function K5(e){return e.matches(G5)?e:e.querySelector(G5)}var q5={display:`none`};function J5(e){let{id:t,value:n}=e;return l.createElement(`div`,{id:t,style:q5},n)}function Y5(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 X5(){let[e,t]=(0,l.useState)(``);return{announce:(0,l.useCallback)(e=>{e!=null&&t(e)},[]),announcement:e}}var Z5=(0,l.createContext)(null);function Q5(e){let t=(0,l.useContext)(Z5);(0,l.useEffect)(()=>{if(!t)throw Error(`useDndMonitor must be used within a children of <DndContext>`);return t(e)},[e,t])}function $5(){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 e7={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{B as r,t as i}from"./app-heHm3H5D.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{B as r,t as i}from"./app-BKdW5nhg.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-C4sf7CCI.js → shared-protobase-ui-PjtR6P4n.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,_ as g,a as _,b as v,c as y,d as b,f as x,g as S,h as C,i as w,j as T,k as E,l as D,m as O,n as k,o as A,p as j,r as M,s as N,t as P,u as F,v as I,w as L,x as R,y as z,z as B}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,_ as g,a as _,b as v,c as y,d as b,f as x,g as S,h as C,i as w,j as T,k as E,l as D,m as O,n as k,o as A,p as j,r as M,s as N,t as P,u as F,v as I,w as L,x as R,y as z,z as B}from"./app-BKdW5nhg.js";import{t as V}from"./jsx-runtime-NZYk81nU.js";var H=e(V(),1),U=({row:e,resource:t,recordKey:n,...r})=>{let i=b(),a=D(),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,H.jsx)(C,{to:{kind:`record`,resource:o,key:e?e.key:n},...r})};export{t as ActionCard,p as ApiProvider,P as App,C as AppLink,R as AssistantDock,f as ChatMessage,u as ChatThread,d as CompactTable,l as Composer,h as DiffView,E as FieldList,r as PartView,U as RecordLink,T as SidePanel,L as StepList,o as definePlugin,s as defineUi,a as diffStats,k as isConflict,y as mergeUi,i as parseDiff,_ as pluginApi,A as protobaseVersion,n as uiFromModule,z as useApiToken,S as useAppAddress,v as useAssistant,I as useAssistantClient,m as useBackendData,B as useClient,x as useFacets,j as useHistogram,D as useLayoutRecord,w as useList,F as useListDisplay,g as useMeta,N as usePlugin,c as useRecord,O as useSeries,M 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-PjtR6P4n.js"}}</script>
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-Bro4QDEX.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-BKdW5nhg.js">
|
|
16
16
|
<link rel="stylesheet" crossorigin href="/assets/app-GUjJKojE.css">
|
|
17
17
|
<link rel="stylesheet" crossorigin href="/assets/index-DheSSTn2.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.1",
|
|
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.1",
|
|
42
|
+
"@protobase/layout": "0.12.1",
|
|
43
|
+
"@protobase/schema": "0.12.1",
|
|
44
44
|
"@tanstack/react-query": "^5.104.1",
|
|
45
45
|
"@tanstack/react-table": "^9.2.6",
|
|
46
46
|
"@tanstack/react-virtual": "^3.14.13",
|