efficient-shell 10.23.0 → 10.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -3
- package/dist/{Browser-GTQKXJQ6.js → Browser-KUFFOGYK.js} +14 -14
- package/dist/Calculator-LENRW34X.js +29 -0
- package/dist/CurrencyConverter-7UMHQS2V.js +21 -0
- package/dist/{Documents-MTCJXTXY.js → Documents-ODZ4AAOY.js} +16 -16
- package/dist/{Files-XMZ3XBP4.js → Files-BRGTTI2J.js} +25 -25
- package/dist/Notepad-RMRDEGGU.js +24 -0
- package/dist/{PomodoroTimer-5ELVNJEU.js → PomodoroTimer-4566W4F7.js} +40 -40
- package/dist/{Preview-QCA6XUDU.js → Preview-7POJP7PB.js} +33 -33
- package/dist/Sidebar-TU4QCKYJ.js +44 -0
- package/dist/Spreadsheet-7T4VT5IO.js +37 -0
- package/dist/{Stock-TRG6CAZJ.js → Stock-H73C4R3N.js} +3 -3
- package/dist/{Weather-YGTT7UWR.js → Weather-WF56QCBI.js} +19 -19
- package/dist/{WorldClock-UCX5LCJB.js → WorldClock-5QJNZYYS.js} +6 -6
- package/dist/ai/index.js +1 -1
- package/dist/api/shellHttp.d.ts +52 -0
- package/dist/api/shellHttp.js +1 -0
- package/dist/apps/index.js +1 -1
- package/dist/bin/media-host-check.js +1 -1
- package/dist/bin/ui-check.js +1 -1
- package/dist/chunk-2QY5BJLA.js +2 -0
- package/dist/chunk-3C5NKOVF.js +1 -0
- package/dist/chunk-3FBDLIQW.js +99 -0
- package/dist/chunk-4LXCCZDM.js +1 -0
- package/dist/chunk-5DIGYJHD.js +1 -0
- package/dist/{chunk-U2RFKQVA.js → chunk-5H4SWQGM.js} +1 -1
- package/dist/{chunk-75UD5ZMP.js → chunk-6IOFNPR6.js} +3 -3
- package/dist/{chunk-YOZGW2RB.js → chunk-7FW2BQTV.js} +1 -1
- package/dist/{chunk-RV2FGSGH.js → chunk-ALTBTO3Z.js} +2 -2
- package/dist/chunk-ATMJ5ZPK.js +1 -0
- package/dist/{chunk-XJPKDTQN.js → chunk-BUO7XCYR.js} +12 -12
- package/dist/{chunk-JET2TKEQ.js → chunk-DOF56HTO.js} +5 -5
- package/dist/chunk-E6FDUFPH.js +1 -0
- package/dist/chunk-EH2BNSG3.js +13 -0
- package/dist/chunk-F3ZOO23R.js +1 -0
- package/dist/chunk-HNVSVTNC.js +16 -0
- package/dist/{chunk-E6LQY6TB.js → chunk-IHNOWRTP.js} +2 -2
- package/dist/{chunk-E5QPXEKN.js → chunk-JFBL4PR3.js} +1 -1
- package/dist/{chunk-O52BQ5DP.js → chunk-NZ7BFYCM.js} +1 -1
- package/dist/chunk-O3MBPAWZ.js +2 -0
- package/dist/{chunk-DBL7MFCB.js → chunk-PVDZG2U2.js} +4 -4
- package/dist/{chunk-G7BBSHDF.js → chunk-QRU55BUS.js} +1 -1
- package/dist/{chunk-5RQJRD2E.js → chunk-RSOBUPLK.js} +1 -1
- package/dist/{chunk-VCCGS6Q2.js → chunk-S5DYR75A.js} +8 -8
- package/dist/chunk-STKJA4PV.js +1 -0
- package/dist/{chunk-ZTV2BA3P.js → chunk-U6LKNGC6.js} +1 -1
- package/dist/chunk-UKBXQXDZ.js +1 -0
- package/dist/chunk-ULJQYXHB.js +1 -0
- package/dist/{chunk-I4DLYOPO.js → chunk-V2J2AHDW.js} +4 -4
- package/dist/{chunk-Z46MSUTP.js → chunk-WLYYC3AP.js} +1 -1
- package/dist/{chunk-OGU5JE52.js → chunk-WOAMPTZI.js} +6 -6
- package/dist/{chunk-GCZU4XFA.js → chunk-Z6GQFTLJ.js} +1 -1
- package/dist/data/DataTable.js +1 -1
- package/dist/data/EntityList.d.ts +125 -0
- package/dist/data/EntityList.js +2 -0
- package/dist/data/ResizableTable.d.ts +31 -0
- package/dist/data/ResizableTable.js +2 -0
- package/dist/data/useColumnConfig.d.ts +68 -0
- package/dist/data/useColumnConfig.js +2 -0
- package/dist/data/useSort.d.ts +55 -0
- package/dist/data/useSort.js +2 -0
- package/dist/data/useTableNav.d.ts +28 -0
- package/dist/data/useTableNav.js +2 -0
- package/dist/format/index.js +1 -1
- package/dist/forms/BorderInput.js +1 -1
- package/dist/forms/BrandAssetEditor.js +1 -1
- package/dist/forms/ColorPicker.js +1 -1
- package/dist/forms/CornersInput.js +1 -1
- package/dist/forms/InputNumber.js +1 -1
- package/dist/forms/LinkPicker.js +1 -1
- package/dist/forms/MediaLibrary.js +1 -1
- package/dist/forms/MediaUploadGrid.js +1 -1
- package/dist/forms/PositionInput.js +1 -1
- package/dist/forms/SidesInput.js +1 -1
- package/dist/forms/Slider.js +1 -1
- package/dist/forms/WidthsBar.js +1 -1
- package/dist/icons/efficient-glyphs.js +1 -1
- package/dist/icons/efficient-looks.js +1 -1
- package/dist/icons/efficient.js +1 -1
- package/dist/icons/looks/map.js +1 -1
- package/dist/icons/payment.js +1 -1
- package/dist/icons/sets.js +1 -1
- package/dist/index.d.ts +13 -317
- package/dist/index.js +667 -694
- package/dist/shell/LanguageSelect.js +1 -1
- package/dist/telemetry/index.js +1 -1
- package/dist/templates/DataTablePage.js +1 -1
- package/dist/ui/index.d.ts +6 -0
- package/dist/ui/index.js +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/dist/Calculator-PM4TYWTE.js +0 -29
- package/dist/CurrencyConverter-4I2ENTSX.js +0 -21
- package/dist/Notepad-QIJN7VDZ.js +0 -24
- package/dist/Sidebar-7LN3ZEF4.js +0 -44
- package/dist/Spreadsheet-EKYP6XIX.js +0 -37
- package/dist/chunk-7IY47EKR.js +0 -1
- package/dist/chunk-CY5N5OA3.js +0 -2
- package/dist/chunk-I3XM2PSQ.js +0 -100
- package/dist/chunk-OFCHJWM2.js +0 -1
- /package/dist/{chunk-CSA6CGXS.js → chunk-RKLZDVAO.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Pagination as e}from"./chunk-LXL2UCUR.js";import{Checkbox_default as t}from"./chunk-CGZBDI6C.js";import{SpinnerRing as r}from"./chunk-R2VKEMZH.js";import{TH_ONE_LINE as o,OneLineLabel as n}from"./chunk-WGLHB6WE.js";import{useBrowserLayoutEffect as l}from"./chunk-D65T4H6J.js";import{useShellStrings as s}from"./chunk-GDQJBQ5B.js";import{useState as i,useRef as a}from"react";import{jsxs as c,Fragment as d,jsx as h}from"react/jsx-runtime";function u(e){const t={};if(!e)return t;for(const[r,o]of Object.entries(e))!r.startsWith("data-")||"string"!=typeof o&&"number"!=typeof o&&"boolean"!=typeof o||(t[r]=o);return t}var m=e=>Array.isArray(e.columns),f=e=>"wide"===e.only?"rosh-dt-only-wide":"stacked"===e.only?"rosh-dt-only-stacked":"",g="rosh-dt-row-link rosh-focus-ring underline-offset-4 hover:underline",p={sm:"px-2 py-2",md:"px-3 py-2"},y={left:"text-left",right:"text-right",center:"text-center"};function b({direction:e}){/* @__PURE__ */
|
|
2
2
|
return c("span",{className:"ml-1 inline-flex flex-col leading-none","aria-hidden":"true",children:[
|
|
3
3
|
/* @__PURE__ */h("svg",{className:"h-2 w-2 "+("asc"===e?"text-gray-700":"text-gray-300"),viewBox:"0 0 8 5",fill:"currentColor",children:/* @__PURE__ */h("path",{d:"M4 0L8 5H0z"})}),
|
|
4
4
|
/* @__PURE__ */h("svg",{className:"h-2 w-2 "+("desc"===e?"text-gray-700":"text-gray-300"),viewBox:"0 0 8 5",fill:"currentColor",children:/* @__PURE__ */h("path",{d:"M4 5L0 0h8z"})})]})}function w(e,t=!1){const r=t?"":" whitespace-nowrap";return e.code?`font-mono${r}`:e.numeric?`tabular-nums${r}`:""}function x({columns:x,data:v,rowKey:k,sort:N=null,onSortChange:C,pagination:j,caption:B,loading:M=!1,bordered:$=!1,size:S="md",minWidth:z,rowClassName:H,onRow:L,rowHref:T,onRowPress:I,linkAs:D,emptyText:E,selection:R,footer:W,virtualized:A,stackOnNarrow:F=!1,stackBelow:O,className:P=""}){const G=s(),K=E??G.table.empty,J=(e,t)=>"function"==typeof k?k(e,t):String(e[k]),Q=F&&!A,U=Q?x:x.flatMap(e=>{if(!m(e))return"stacked"===e.only?[]:[e];const t=e.columns.filter(e=>"stacked"!==e.only);return t.length?[{...e,columns:t}]:[]}),Z=e=>Q?{role:e}:{},V=(e,t)=>(t??("string"==typeof e||"number"==typeof e?String(e):"")).trim()||void 0,[X,q]=i(0),Y=A?.overscan??6,_=A?e=>{const t=Math.max(0,Math.floor(e.currentTarget.scrollTop/A.rowHeight)-Y);q(e=>e===t?e:t)}:void 0,ee=A?Math.ceil(A.height/A.rowHeight)+2*Y:v.length,te=A?Math.min(X,Math.max(0,v.length-ee)):0,re=Math.min(v.length,te+ee),oe=A?te*A.rowHeight:0,ne=A?(v.length-re)*A.rowHeight:0,le=a(null),[se,ie]=i(0);l(()=>{if(!A)return;const e=le.current?.offsetHeight??0;ie(t=>t===e?t:e)});const ae=e=>e.sortField??e.key,ce=e=>N&&N.field===ae(e)?N.direction:null,de=U.flatMap(e=>m(e)?e.columns:[e]),he=U.some(m),ue=/* @__PURE__ */new Map;if(Q)for(const e of U)if(m(e))for(const t of e.columns)ue.set(t,V(e.title,e.label));const me=e=>{const t=V(e.title,e.label),r=ue.get(e);return t&&r?`${r} · ${t}`:t},fe=new Set(R?.selected??[]),ge=R?v.map((e,t)=>J(e,t)):[],pe=ge.length>0&&ge.every(e=>fe.has(e)),ye=ge.some(e=>fe.has(e)),be=R?36:0,we=de.length+(R?1:0),xe=de.some(e=>"left"===e.fixed),ve=Q&&!R&&de.some(e=>e.cardCorner),ke=D??"a",Ne=`${p[S]} ${"sm"===S?"text-xs":"text-sm"}`,Ce=(e,t)=>e.ellipsis?/* @__PURE__ */h("span",{className:"block w-0 min-w-full",children:t}):t,je=(e,t,r,l=0)=>{const s=ce(e),i=y[e.align??(e.numeric?"right":"left")],a="left"===e.fixed,d=!(!e.sortable||!C);/* @__PURE__ */
|
|
@@ -11,10 +11,10 @@ return h("th",{scope:"col",...Z("columnheader"),rowSpan:r>1?r:void 0,"aria-sort"
|
|
|
11
11
|
/* @__PURE__ */h("span",{className:"sr-only",children:G.table.loading})]}),
|
|
12
12
|
/* @__PURE__ */c("table",{...Z("table"),className:(Q?"rosh-dt-table ":"")+"w-full border-collapse tabular-nums",style:z?{minWidth:z}:void 0,children:[B&&/* @__PURE__ */h("caption",{className:"sr-only",children:B}),
|
|
13
13
|
/* @__PURE__ */c("thead",{...Z("rowgroup"),className:Q?"rosh-dt-head":void 0,children:[
|
|
14
|
-
/* @__PURE__ */c("tr",{ref:le,...Z("row"),className:"border-b border-gray-200 bg-gray-50",children:[R&&/* @__PURE__ */h("th",{scope:"col",...Z("columnheader"),rowSpan:he?2:void 0,style:{width:36,...A?{top:0}:{}},className:[Ne,o,xe||A?"sticky z-20 bg-gray-50":"",xe?"left-0":"",Q?"rosh-dt-select":""].filter(Boolean).join(" "),children:/* @__PURE__ */h(
|
|
15
|
-
/* @__PURE__ */h("tbody",{...Z("rowgroup"),className:Q?"rosh-dt-body":void 0,children:0!==v.length||M?/* @__PURE__ */c(d,{children:[oe>0&&/* @__PURE__ */h("tr",{"aria-hidden":"true",children:/* @__PURE__ */h("td",{colSpan:we,style:{height:oe,padding:0,border:0}})}),v.slice(te,re).map((
|
|
16
|
-
return c("tr",{...u(n),...Z("row"),style:A?{height:A.rowHeight}:void 0,onClick:n?.onClick,onMouseEnter:n?.onMouseEnter,onMouseLeave:n?.onMouseLeave,onFocus:b(n?.onFocus),onBlur:b(n?.onBlur),"aria-current":l&&!a?"true":void 0,...n?.onClick?{tabIndex:0,onKeyDown:e=>{e.target===e.currentTarget&&("Enter"!==e.key&&" "!==e.key||(e.preventDefault(),n.onClick?.()))}}:{},className:[Q?R?"rosh-dt-row rosh-dt-row-select":"rosh-dt-row":"",Q&&ve?"rosh-dt-row-corner":"","border-b border-gray-100 last:border-b-0",n?.onClick?"cursor-pointer hover:bg-gray-50 rosh-focus-ring focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[color:var(--rosh-focus-ring-solid)]":"",a?"rosh-dt-linked hover:bg-gray-50":"",l?"rosh-dt-current":"",H?.(
|
|
17
|
-
return h("td",{...Z("cell"),style:{width:36},onClick:e=>e.stopPropagation(),className:[Ne,xe?"sticky left-0 z-10 bg-white":"",Q?"rosh-dt-select":""].filter(Boolean).join(" "),children:/* @__PURE__ */h(
|
|
14
|
+
/* @__PURE__ */c("tr",{ref:le,...Z("row"),className:"border-b border-gray-200 bg-gray-50",children:[R&&/* @__PURE__ */h("th",{scope:"col",...Z("columnheader"),rowSpan:he?2:void 0,style:{width:36,...A?{top:0}:{}},className:[Ne,o,xe||A?"sticky z-20 bg-gray-50":"",xe?"left-0":"",Q?"rosh-dt-select":""].filter(Boolean).join(" "),children:/* @__PURE__ */h(t,{"aria-label":G.table.selectAll,checked:pe,indeterminate:ye&&!pe,onChange:()=>{if(!R)return;const e=new Set(ge);R.onChange(pe?R.selected.filter(t=>!e.has(t)):[...R.selected,...ge.filter(e=>!fe.has(e))])}})}),U.map((e,t)=>m(e)?/* @__PURE__ */h("th",{scope:"colgroup",...Z("columnheader"),colSpan:e.columns.length,style:A?{top:0}:void 0,className:[Ne,"text-center",o,"font-semibold uppercase tracking-wide text-gray-500","sm"===S?"text-2xs":"text-xs","border-b border-gray-200",A?"sticky z-10 bg-gray-50":"",e.headerClassName??""].filter(Boolean).join(" "),children:/* @__PURE__ */h(n,{children:e.title})},e.key??`group-${t}`):je(e,de.indexOf(e),he?2:1))]}),he&&/* @__PURE__ */h("tr",{...Z("row"),className:"border-b border-gray-200 bg-gray-50",children:U.flatMap(e=>m(e)?e.columns:[]).map(e=>je(e,de.indexOf(e),1,se))})]}),
|
|
15
|
+
/* @__PURE__ */h("tbody",{...Z("rowgroup"),className:Q?"rosh-dt-body":void 0,children:0!==v.length||M?/* @__PURE__ */c(d,{children:[oe>0&&/* @__PURE__ */h("tr",{"aria-hidden":"true",children:/* @__PURE__ */h("td",{colSpan:we,style:{height:oe,padding:0,border:0}})}),v.slice(te,re).map((e,r)=>{const o=te+r,n=L?.(e,o),l=!!n?.current,s=T?.(e,o),i=void 0===s&&I?()=>I(e,o):void 0,a=void 0!==s||void 0!==i;let d=!1;const m=(e,t)=>{if(d=!0,!a)return e;const r=[g,i?"cursor-pointer text-left":"",t?.className??""].filter(Boolean).join(" "),o=l?"true":void 0;return void 0!==s?/* @__PURE__ */h(ke,{href:s,className:r,"aria-current":o,children:e}):/* @__PURE__ */h("button",{type:"button",onClick:i,className:r,"aria-current":o,children:e})},p=de.map(t=>t.render?t.render(e,o,m):t.dataIndex?e[t.dataIndex]:null);if(a&&!d){const e=de.findIndex(e=>"stacked"!==e.only&&!e.cardCorner),t=de.findIndex(e=>"wide"!==e.only&&!e.cardCorner);for(const r of/* @__PURE__ */new Set([e,t]))r>=0&&(p[r]=m(p[r]))}const b=e=>e?t=>{t.currentTarget.contains(t.relatedTarget)||e()}:void 0;/* @__PURE__ */
|
|
16
|
+
return c("tr",{...u(n),...Z("row"),style:A?{height:A.rowHeight}:void 0,onClick:n?.onClick,onMouseEnter:n?.onMouseEnter,onMouseLeave:n?.onMouseLeave,onFocus:b(n?.onFocus),onBlur:b(n?.onBlur),"aria-current":l&&!a?"true":void 0,...n?.onClick?{tabIndex:0,onKeyDown:e=>{e.target===e.currentTarget&&("Enter"!==e.key&&" "!==e.key||(e.preventDefault(),n.onClick?.()))}}:{},className:[Q?R?"rosh-dt-row rosh-dt-row-select":"rosh-dt-row":"",Q&&ve?"rosh-dt-row-corner":"","border-b border-gray-100 last:border-b-0",n?.onClick?"cursor-pointer hover:bg-gray-50 rosh-focus-ring focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[color:var(--rosh-focus-ring-solid)]":"",a?"rosh-dt-linked hover:bg-gray-50":"",l?"rosh-dt-current":"",H?.(e,o)??"",n?.className??""].filter(Boolean).join(" "),children:[R&&(()=>{const r=J(e,o);/* @__PURE__ */
|
|
17
|
+
return h("td",{...Z("cell"),style:{width:36},onClick:e=>e.stopPropagation(),className:[Ne,xe?"sticky left-0 z-10 bg-white":"",Q?"rosh-dt-select":""].filter(Boolean).join(" "),children:/* @__PURE__ */h(t,{"aria-label":G.table.selectRow,checked:fe.has(r),onChange:()=>(e=>{R&&R.onChange(fe.has(e)?R.selected.filter(t=>t!==e):[...R.selected,e])})(r)})})})(),de.map((e,t)=>{const r="left"===e.fixed,o=p[t],n=ve&&!!e.cardCorner,l=Q&&!n&&"wide"!==e.only;/* @__PURE__ */
|
|
18
18
|
return h("td",{...Z("cell"),"data-label":l?me(e):void 0,style:r?{left:(Me[t]??0)+be}:void 0,className:[l?e.ellipsis?"rosh-dt-cell rosh-dt-clip":"rosh-dt-cell":"",n?"rosh-dt-corner":"",Q?f(e):"",Ne,y[e.align??(e.numeric?"right":"left")],Q?"":w(e),"text-ink-strongest",e.ellipsis?"max-w-0 truncate":"",r?"sticky z-10 bg-white":"",e.className??""].filter(Boolean).join(" "),children:Q?
|
|
19
|
-
/* @__PURE__ */h("span",{className:["rosh-dt-value",w(e,!0)].filter(Boolean).join(" "),children:o}):o},e.key)})]},J(
|
|
19
|
+
/* @__PURE__ */h("span",{className:["rosh-dt-value",w(e,!0)].filter(Boolean).join(" "),children:o}):o},e.key)})]},J(e,o))}),ne>0&&/* @__PURE__ */h("tr",{"aria-hidden":"true",children:/* @__PURE__ */h("td",{colSpan:we,style:{height:ne,padding:0,border:0}})})]}):/* @__PURE__ */h("tr",{...Z("row"),className:Q?"rosh-dt-empty":void 0,children:/* @__PURE__ */h("td",{...Z("cell"),colSpan:we,className:`${Ne} py-10 text-center text-gray-500`,children:K})})})]}),W]}),j&&j.pageCount>1&&/* @__PURE__ */h("div",{className:Q?"rosh-dt-pager mt-3 flex justify-end":"mt-3 flex justify-end",children:/* @__PURE__ */h(e,{page:j.page,pageCount:j.pageCount,onPageChange:j.onPageChange})})]});/* @__PURE__ */
|
|
20
20
|
return h("div",Q?void 0!==O&&O>0&&40!==O?{className:`rosh-dt-at ${P}`.trim(),children:/* @__PURE__ */h("div",{className:"rosh-dt-stack",style:{width:40/O*100+"%"},children:/* @__PURE__ */h("div",{className:"rosh-dt-fit",style:{width:O/40*100+"%"},children:$e})})}:{className:`rosh-dt-stack ${P}`.trim(),children:$e}:{className:P,children:$e})}export{x as DataTable};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{client_default as a}from"./chunk-
|
|
1
|
+
import{client_default as a}from"./chunk-3FBDLIQW.js";var t=()=>a.get("/auth/numbering-configs/").then(a=>a.data?.results??a.data??[]),e="uploaded:wallpaper";function r(a,t){return"string"!=typeof a||!a||"none"===a||a.startsWith("#")?"":a===e?t||"":a}var l=()=>a.get("/auth/me/wallpaper/").then(a=>a.data),n=(t,e)=>{const r=new FormData;r.append("wallpaper",t);const l=e?{onUploadProgress:a=>e(a.total?Math.round(a.loaded/a.total*100):null)}:void 0;return a.post("/auth/me/wallpaper/",r,l).then(a=>a.data)},p=()=>a.delete("/auth/me/wallpaper/").then(a=>a.data);function o(a){const t=a?.response?.status,e=a?.response?.data,r=Array.isArray(e?.wallpaper)?e.wallpaper[0]:void 0;return r||(413===t?"That picture is too large to use as a wallpaper.":415===t?"That file is not a picture this can use as a wallpaper.":"The wallpaper could not be saved. Please try again.")}export{e as WALLPAPER_PREF_TOKEN,p as deleteWallpaper,t as getNumberingConfigs,l as getWallpaper,n as uploadWallpaper,r as wallpaperSrc,o as wallpaperUploadError};
|
package/dist/data/DataTable.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{DataTable as default}from"../chunk-
|
|
2
|
+
export{DataTable as default}from"../chunk-WOAMPTZI.js";import"../chunk-LXL2UCUR.js";import"../chunk-CGZBDI6C.js";import"../chunk-R2VKEMZH.js";import"../chunk-MRJKZWWV.js";import"../chunk-WGLHB6WE.js";import"../chunk-NJN5IKWO.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-TWVUQUUD.js";import"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode, Dispatch, SetStateAction, RefObject } from 'react';
|
|
3
|
+
|
|
4
|
+
interface EntityListColumn {
|
|
5
|
+
key: string;
|
|
6
|
+
label: string;
|
|
7
|
+
/** The heading this column takes in a CSV export, when it should differ
|
|
8
|
+
* from what the grid shows. The export request carries a heading per
|
|
9
|
+
* column; a host whose interface is translated but whose exported files
|
|
10
|
+
* stay in one language for whoever opens them passes that language's
|
|
11
|
+
* heading here. Omitted, the export uses `label`. */
|
|
12
|
+
exportLabel?: string;
|
|
13
|
+
defaultWidth?: number;
|
|
14
|
+
minWidth?: number;
|
|
15
|
+
defaultHidden?: boolean;
|
|
16
|
+
sortField?: string;
|
|
17
|
+
headerNode?: ReactNode;
|
|
18
|
+
}
|
|
19
|
+
/** A page-supplied entry in the right-click bulk menu (e.g. invoice Post /
|
|
20
|
+
* Cancel). `onClick` receives the currently-selected rows. Set `divider` to
|
|
21
|
+
* render a separator above the item, `danger` for a destructive tint. */
|
|
22
|
+
interface EntityListContextAction<T = unknown> {
|
|
23
|
+
label: string;
|
|
24
|
+
onClick: (items: T[]) => void;
|
|
25
|
+
danger?: boolean;
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
divider?: boolean;
|
|
28
|
+
}
|
|
29
|
+
interface EntityListProps<T> {
|
|
30
|
+
items: T[];
|
|
31
|
+
isLoading: boolean;
|
|
32
|
+
emptyState: ReactNode;
|
|
33
|
+
totalCount?: number;
|
|
34
|
+
/** When true and no rows have loaded yet, render {@link ListLoadError}
|
|
35
|
+
* (with a retry) instead of `emptyState` — so a failed fetch reads as an
|
|
36
|
+
* error, not "nothing here". Wire `useInfiniteScroll`'s `isError`. A
|
|
37
|
+
* mid-scroll next-page failure (rows already loaded) keeps the list.
|
|
38
|
+
* Defaults to unset → behaviour unchanged for existing callers. */
|
|
39
|
+
isError?: boolean;
|
|
40
|
+
/** Retry handler for the error state — wire the data source's `refetch`.
|
|
41
|
+
* It also backs the row menu's Refresh item. */
|
|
42
|
+
onRetry?: () => void;
|
|
43
|
+
/** Heading for the error state, e.g. "Couldn't load candidates". Omit for
|
|
44
|
+
* {@link ListLoadError}'s generic "Couldn't load this list" — name the
|
|
45
|
+
* entity where the list has one, so an outage reads as *this* list failing. */
|
|
46
|
+
errorTitle?: string;
|
|
47
|
+
/** Explanatory line under {@link EntityListProps.errorTitle}. Omit for
|
|
48
|
+
* ListLoadError's generic connection/retry message. */
|
|
49
|
+
errorMessage?: string;
|
|
50
|
+
tableId: string;
|
|
51
|
+
columns: EntityListColumn[];
|
|
52
|
+
renderCell: (item: T, colKey: string) => ReactNode;
|
|
53
|
+
getRowId?: (item: T) => string | number;
|
|
54
|
+
sort?: {
|
|
55
|
+
field: string;
|
|
56
|
+
direction: 'asc' | 'desc';
|
|
57
|
+
};
|
|
58
|
+
onSort?: (field: string) => void;
|
|
59
|
+
/** The ticked row ids. The set is the caller's, and it may hold ids that are
|
|
60
|
+
* not among `items`: rows ticked before a search or a filter changed. The
|
|
61
|
+
* list keeps those. The header box, Ctrl/Cmd+A and Select all move only the
|
|
62
|
+
* rows on screen, the count says how many are not shown, and every row
|
|
63
|
+
* action — Copy rows, the export, `contextActions` — gets the ticked rows
|
|
64
|
+
* on screen. Clear selection, and a right-click on an unticked row, drop
|
|
65
|
+
* them. */
|
|
66
|
+
selected: Set<string | number>;
|
|
67
|
+
setSelected: Dispatch<SetStateAction<Set<string | number>>>;
|
|
68
|
+
onRowClick: (item: T) => void;
|
|
69
|
+
onRowHover?: (item: T) => void;
|
|
70
|
+
getRowClassName?: (item: T) => string;
|
|
71
|
+
footerLabel: string;
|
|
72
|
+
footerExtra?: ReactNode;
|
|
73
|
+
sentinelRef?: RefObject<any>;
|
|
74
|
+
isFetchingNextPage?: boolean;
|
|
75
|
+
/** Perm codenames that gate "Save as default for all users" in the column
|
|
76
|
+
* picker. Defaults to `['change_numberingconfig']` (admin-portal's proxy
|
|
77
|
+
* for admin access). Pass `[]` to hide the link entirely. */
|
|
78
|
+
saveDefaultPerms?: string[];
|
|
79
|
+
/** Right-click row menu. Every list has one, with nothing to wire: Open (the
|
|
80
|
+
* row right-clicked), Copy for text selected under the pointer, Copy
|
|
81
|
+
* `<first column>` and Copy rows (the ticked rows as a table of the visible
|
|
82
|
+
* columns in their on-screen order, which pastes into a spreadsheet as
|
|
83
|
+
* cells), Select all, Clear selection, and Refresh when `onRetry` is wired.
|
|
84
|
+
* Provide `exportEndpoint` (a list's `<base>/export_csv/` path, relative to
|
|
85
|
+
* the api base) to add "Export selected to CSV", which downloads just the
|
|
86
|
+
* ticked rows on screen (`?ids=`, honouring the visible/ordered columns),
|
|
87
|
+
* the same rows `contextActions` receives. Provide
|
|
88
|
+
* `contextActions` for domain actions (e.g. invoice Post / Cancel); they sit
|
|
89
|
+
* between the copy items and the selection items. */
|
|
90
|
+
exportEndpoint?: string;
|
|
91
|
+
exportFilename?: string;
|
|
92
|
+
contextActions?: (items: T[]) => EntityListContextAction<T>[];
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* The canonical pageless data grid for both portals. Wraps `<ResizableTable>`
|
|
96
|
+
* with selection-checkbox logic, keyboard navigation, the standardized list
|
|
97
|
+
* footer, an infinite-scroll sentinel hook-up, and a right-click row menu.
|
|
98
|
+
*
|
|
99
|
+
* Usage:
|
|
100
|
+
*
|
|
101
|
+
* const { sort, onSort } = useSort('mid', 'asc', 'suppliers');
|
|
102
|
+
* const { items, totalCount, isLoading, isFetchingNextPage, sentinelRef } =
|
|
103
|
+
* useInfiniteScroll<Supplier>({ queryKey: ['suppliers', filters],
|
|
104
|
+
* fetchFn: (p) => getSuppliers(p) });
|
|
105
|
+
*
|
|
106
|
+
* <EntityList
|
|
107
|
+
* items={items}
|
|
108
|
+
* totalCount={totalCount}
|
|
109
|
+
* isLoading={isLoading}
|
|
110
|
+
* sentinelRef={sentinelRef}
|
|
111
|
+
* isFetchingNextPage={isFetchingNextPage}
|
|
112
|
+
* tableId="suppliers"
|
|
113
|
+
* columns={SUPPLIER_COLUMNS}
|
|
114
|
+
* renderCell={(s, k) => …}
|
|
115
|
+
* sort={sort} onSort={onSort}
|
|
116
|
+
* selected={selected} setSelected={setSelected}
|
|
117
|
+
* onRowClick={(s) => openEntity('supplier', s.id, s, s.mid, '/suppliers')}
|
|
118
|
+
* exportEndpoint="/suppliers/export_csv/" exportFilename="Suppliers.csv"
|
|
119
|
+
* footerLabel="suppliers"
|
|
120
|
+
* emptyState={<EmptyState message="No suppliers yet." />}
|
|
121
|
+
* />
|
|
122
|
+
*/
|
|
123
|
+
declare function EntityList<T>(props: EntityListProps<T>): react_jsx_runtime.JSX.Element;
|
|
124
|
+
|
|
125
|
+
export { type EntityListColumn, type EntityListContextAction, type EntityListProps, EntityList as default };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
export{EntityList as default}from"../chunk-EH2BNSG3.js";import"../chunk-TMMNCXQT.js";import"../chunk-HNVSVTNC.js";import"../chunk-SI26KESU.js";import"../chunk-UKBXQXDZ.js";import"../chunk-ULJQYXHB.js";import"../chunk-ATMJ5ZPK.js";import"../chunk-G6DKCCWH.js";import"../chunk-CGZBDI6C.js";import"../chunk-4ULRP4Y4.js";import"../chunk-UNQ54QOF.js";import"../chunk-O3MBPAWZ.js";import"../chunk-7ELJQL7J.js";import"../chunk-2QY5BJLA.js";import"../chunk-UGTRSRIW.js";import"../chunk-KC3EX26K.js";import"../chunk-F3ZOO23R.js";import"../chunk-OTITQ3IH.js";import"../chunk-5QFPTDQF.js";import"../chunk-URHGHXDN.js";import"../chunk-EOVXFXVV.js";import"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.js";import"../chunk-2UO47XB4.js";import"../chunk-J75ZT2JQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-MRJKZWWV.js";import"../chunk-WGLHB6WE.js";import"../chunk-NJN5IKWO.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-STKJA4PV.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-TWVUQUUD.js";import"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ColumnDef, SortState } from './types.js';
|
|
3
|
+
|
|
4
|
+
interface ResizableTableProps {
|
|
5
|
+
tableId: string;
|
|
6
|
+
columns: ColumnDef[];
|
|
7
|
+
sort?: SortState;
|
|
8
|
+
onSort?: (field: string) => void;
|
|
9
|
+
footer?: React.ReactNode;
|
|
10
|
+
afterBody?: React.ReactNode;
|
|
11
|
+
/** Permission codename(s) that gate the "Save as default for all users" link
|
|
12
|
+
* in the column picker. The shell's `useShellAuth().hasAnyPerm` is queried
|
|
13
|
+
* against this list. Defaults to a single placeholder permission; consumers
|
|
14
|
+
* with no admin gate can pass `[]` to hide the link entirely. */
|
|
15
|
+
saveDefaultPerms?: string[];
|
|
16
|
+
children: (orderedColumns: (ColumnDef & {
|
|
17
|
+
width: number;
|
|
18
|
+
})[]) => React.ReactNode;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Sticky-header, scrollable-body table primitive with:
|
|
22
|
+
* - drag-to-reorder columns (with a blue drop-indicator line)
|
|
23
|
+
* - resize columns by the right-edge handle
|
|
24
|
+
* - hide/show columns via a glass popover picker
|
|
25
|
+
* - admin-only "Save as default for all users" link in the picker
|
|
26
|
+
* - per-user persistence (via the shell-registered apiClient)
|
|
27
|
+
* - mobile-aware selection mode toggle
|
|
28
|
+
*/
|
|
29
|
+
declare function ResizableTable({ tableId, columns, sort, onSort, footer, afterBody, saveDefaultPerms, children, }: ResizableTableProps): react_jsx_runtime.JSX.Element;
|
|
30
|
+
|
|
31
|
+
export { ResizableTable as default };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
export{ResizableTable as default}from"../chunk-HNVSVTNC.js";import"../chunk-SI26KESU.js";import"../chunk-UKBXQXDZ.js";import"../chunk-ULJQYXHB.js";import"../chunk-2QY5BJLA.js";import"../chunk-UGTRSRIW.js";import"../chunk-KC3EX26K.js";import"../chunk-2UO47XB4.js";import"../chunk-J75ZT2JQ.js";import"../chunk-WGLHB6WE.js";import"../chunk-NJN5IKWO.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-STKJA4PV.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-TWVUQUUD.js";import"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import react__default from 'react';
|
|
2
|
+
import { ColumnDef } from './types.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Resizable + reorderable + hideable column state for `<ResizableTable>`.
|
|
6
|
+
*
|
|
7
|
+
* Reads and persists per-user through the `<ShellPrefsProvider>` adapter
|
|
8
|
+
* (`prefs.columns_{tableId}`), with a 1-second debounce on the save, and reads
|
|
9
|
+
* per-viewport admin defaults through the shared
|
|
10
|
+
* `GET /auth/default-columns/{tableId}?viewport=…` probe.
|
|
11
|
+
*
|
|
12
|
+
* The prefs half used to be a raw `GET /auth/me/` fired from a `[tableId]`
|
|
13
|
+
* effect, outside react-query — so every list mount re-fetched the whole user
|
|
14
|
+
* profile (~1.5 MB on prod), on a client with no cache adapter and no in-flight
|
|
15
|
+
* dedupe, and a screen that also renders a column-aware CSV export paid for it
|
|
16
|
+
* twice. The adapter already holds that profile in one cached query, which is
|
|
17
|
+
* the same object the raw GET was reading `preferences` off (SG#00590).
|
|
18
|
+
*
|
|
19
|
+
* Three consequences worth knowing, because this is NOT behaviour-preserving:
|
|
20
|
+
*
|
|
21
|
+
* - **A `<ShellPrefsProvider>` is now required for server-side persistence.**
|
|
22
|
+
* Without one, `useShellPrefs()` reads empty and drops saves, so column
|
|
23
|
+
* config degrades to localStorage-only. All three consumers that render
|
|
24
|
+
* `<EntityList>`/`<ResizableTable>` mount the provider.
|
|
25
|
+
* - **Prefs and admin defaults resolve independently**, where the raw pair was
|
|
26
|
+
* a single `Promise.all`. If the admin default lands while prefs are still
|
|
27
|
+
* loading it applies first and the user's own config replaces it a beat
|
|
28
|
+
* later, rather than never showing. `useSort` has always behaved this way;
|
|
29
|
+
* the two hooks now agree. The precedence that used to be one `if/else if`
|
|
30
|
+
* is now the `userSavedRef` guard below plus the order the two effects fire
|
|
31
|
+
* in — `tests/columnConfigDefaultsPrecedence.test.tsx` pins both directions.
|
|
32
|
+
* - **A failed save is silent here.** The old `useMutation` let a rejected
|
|
33
|
+
* `PATCH` reach a consumer's global `MutationCache({ onError })` — the admin
|
|
34
|
+
* portal toasted it. The adapter's `save` owns its own failures now, so a
|
|
35
|
+
* consumer that wants that toast raises it inside the adapter.
|
|
36
|
+
*
|
|
37
|
+
* What it does NOT require is a `<QueryClientProvider>` — it used to, for the
|
|
38
|
+
* `useMutation`. `useDefaultColumnConfig` falls back to a client the package
|
|
39
|
+
* owns when no provider is mounted.
|
|
40
|
+
*/
|
|
41
|
+
declare function useColumnConfig(tableId: string, defaultColumns: ColumnDef[]): {
|
|
42
|
+
orderedColumns: {
|
|
43
|
+
width: number;
|
|
44
|
+
key: string;
|
|
45
|
+
label: string;
|
|
46
|
+
defaultWidth?: number;
|
|
47
|
+
minWidth?: number;
|
|
48
|
+
defaultHidden?: boolean;
|
|
49
|
+
headerNode?: react__default.ReactNode;
|
|
50
|
+
sortField?: string;
|
|
51
|
+
}[];
|
|
52
|
+
allColumns: {
|
|
53
|
+
key: string;
|
|
54
|
+
label: string;
|
|
55
|
+
hidden: boolean;
|
|
56
|
+
}[];
|
|
57
|
+
onResizeStart: (idx: number, e: react__default.MouseEvent) => void;
|
|
58
|
+
onDragStart: (idx: number) => void;
|
|
59
|
+
onDragOver: (visIdx: number, e: react__default.DragEvent) => void;
|
|
60
|
+
onDrop: (_visIdx: number, e: react__default.DragEvent) => void;
|
|
61
|
+
onDragEnd: () => void;
|
|
62
|
+
toggleColumn: (key: string) => void;
|
|
63
|
+
resetColumns: () => void;
|
|
64
|
+
draggedIdx: number | null;
|
|
65
|
+
dropGap: number | null;
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
export { useColumnConfig };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { SortState } from './types.js';
|
|
2
|
+
|
|
3
|
+
/** The part of a column `useSort` reads — `ColumnDef` and `EntityList`'s own
|
|
4
|
+
* column both fit.
|
|
5
|
+
*
|
|
6
|
+
* Not `DataTable`: its columns nest inside groups and it offers a sort on
|
|
7
|
+
* `sortable`, not on `sortField ?? key`. `DataTableColumn` satisfies this
|
|
8
|
+
* interface structurally, so passing one typechecks and then drops sorts the
|
|
9
|
+
* table does offer. `DataTable` owns its own sort state through
|
|
10
|
+
* `onSortChange`. */
|
|
11
|
+
interface SortableColumn {
|
|
12
|
+
key: string;
|
|
13
|
+
sortField?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Sort-state hook used by list pages. Returns:
|
|
17
|
+
* - `sort` — current `{ field, direction }`
|
|
18
|
+
* - `onSort(field)` — toggle direction if same field, else activate asc
|
|
19
|
+
* - `ordering` — DRF-style string (`'-mid'` for desc, `'mid'` for asc) ready
|
|
20
|
+
* to drop into a query-string param.
|
|
21
|
+
*
|
|
22
|
+
* Pass `tableId` (the same id the list gives `<ResizableTable>`/`<EntityList>`)
|
|
23
|
+
* to persist the user's choice alongside their column config. Restore order:
|
|
24
|
+
* per-user pref (`prefs.sort_{tableId}` via the ShellPrefs adapter) → the
|
|
25
|
+
* admin-saved default on `/auth/default-columns/{tableId}/` → the page's
|
|
26
|
+
* `defaultField`/`defaultDir`. localStorage mirrors the last-applied value so
|
|
27
|
+
* the first render (before async prefs arrive) already uses the last-known
|
|
28
|
+
* sort instead of flashing the default and refetching. Without `tableId` the
|
|
29
|
+
* hook is pure in-memory state, exactly as before.
|
|
30
|
+
*
|
|
31
|
+
* The admin default is read through `useDefaultColumnConfig`, shared with
|
|
32
|
+
* `useColumnConfig` so a list page fetches that row once rather than twice
|
|
33
|
+
* (SG#00590). That probe is a react-query query, but this hook still needs no
|
|
34
|
+
* `<QueryClientProvider>` in either form: with no provider above it the probe
|
|
35
|
+
* falls back to a client the package owns (see `useDefaultColumnConfig`), and
|
|
36
|
+
* the `tableId`-less form issues no request at all, as before.
|
|
37
|
+
*
|
|
38
|
+
* Pass `options.columns` (the same array the table gets) and a sort the
|
|
39
|
+
* columns do not offer is replaced by the page default in `sort` and
|
|
40
|
+
* `ordering` — a save on a column since given `sortField: ''`, or on a key
|
|
41
|
+
* whose column now sorts on another `sortField`. Without it that stale save
|
|
42
|
+
* goes out as `?ordering=` on every open; DRF drops a term it cannot order by,
|
|
43
|
+
* so the list comes back unsorted for good. Without `columns` — or while the
|
|
44
|
+
* array is still empty, which is a list page whose columns are not built yet
|
|
45
|
+
* rather than a table that offers no sort — nothing is checked, as before.
|
|
46
|
+
*/
|
|
47
|
+
declare function useSort(defaultField: string, defaultDir?: 'asc' | 'desc', tableId?: string, options?: {
|
|
48
|
+
columns?: ReadonlyArray<SortableColumn>;
|
|
49
|
+
}): {
|
|
50
|
+
sort: SortState;
|
|
51
|
+
onSort: (field: string) => void;
|
|
52
|
+
ordering: string;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export { type SortableColumn, useSort };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Keyboard + shift-click navigation for table rows.
|
|
5
|
+
*
|
|
6
|
+
* - J/K or Arrow keys to move focus
|
|
7
|
+
* - Enter to open the focused row (calls `onSelect`)
|
|
8
|
+
* - Space to toggle the focused row's checkbox (calls `onToggle`)
|
|
9
|
+
* — neither while the keyboard focus is on a button or a link the user moved
|
|
10
|
+
* it to: there the key is that control's. One the focus was only left on by
|
|
11
|
+
* a mouse click gives both keys back to the row at the next J/K; see the
|
|
12
|
+
* key handler
|
|
13
|
+
* - Shift+J/K to extend selection while moving
|
|
14
|
+
* - Shift+click to range-select (calls `onSelectRange`, which must ADD the range
|
|
15
|
+
* rather than toggle it — the clicked checkbox is ticked on that assumption)
|
|
16
|
+
* - Cmd/Ctrl+A to select/deselect all (calls `onSelectAll`)
|
|
17
|
+
*
|
|
18
|
+
* Each list instance gates its document-level listeners on `useModalActive`
|
|
19
|
+
* so two open lists don't both react to the same shift-click.
|
|
20
|
+
*
|
|
21
|
+
* `container` is the element that holds this list's rows. Row indices repeat
|
|
22
|
+
* from one list to the next, so without it the row J/K scrolls into view is the
|
|
23
|
+
* first `data-row-idx` match in the document — with two lists open, a row of
|
|
24
|
+
* the one behind.
|
|
25
|
+
*/
|
|
26
|
+
declare function useTableNav<T>(items: T[], onSelect: (item: T) => void, onToggle?: (item: T) => void, onSelectAll?: () => void, onSelectRange?: (from: number, to: number) => void, container?: RefObject<HTMLElement | null>): number;
|
|
27
|
+
|
|
28
|
+
export { useTableNav as default };
|
package/dist/format/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{slugify}from"../chunk-24AL3CDS.js";export{PAGE_MOTION_DURATIONS,PAGE_MOTION_EASING,PAGE_MOTION_STEPS,pageMotionMs}from"../chunk-DHKRXHJN.js";export{
|
|
1
|
+
export{slugify}from"../chunk-24AL3CDS.js";export{PAGE_MOTION_DURATIONS,PAGE_MOTION_EASING,PAGE_MOTION_STEPS,pageMotionMs}from"../chunk-DHKRXHJN.js";export{addShowWhenFacts,isShown,lazyShowWhenContext,showWhenFactReaders,showWhenFactsContext,showWhenOf,shownForOption,truthy,withRowRules,withRowsShownWhen,withShowWhen,withShowWhenFacts}from"../chunk-HCP7WOAL.js";export{FOCAL_DEFAULT,FOCAL_NUDGE_COARSE,FOCAL_NUDGE_STEP,focalFromRect,formatFocal,nudgeFocal,parseFocal}from"../chunk-25RR3GQW.js";export{fromDateKey,toDateKey}from"../chunk-2HMNOLKX.js";export{contrastRatio,hexToRgb,parseHexColor,readableInk,relativeLuminance}from"../chunk-S6OB6HJB.js";export{escapeHtml}from"../chunk-G6DKCCWH.js";export{currencyDecimals,currencySymbol,formatBytes,formatMoney,setCurrencyFormats,timeAgo}from"../chunk-GEYM4WN3.js";export{DATE_FORMAT_OPTIONS,TZ_AUTO,formatDate,formatDateTime,formatTime,getUserDateFormat,getUserTimezone,setUserDateFormat,setUserTimezone,syncTimezoneFromProfile}from"../chunk-Y3JW2GW5.js";export{EMPTY_VALUE}from"../chunk-36BRD5J3.js";import"../chunk-LF27WIN2.js";export{ROOT_THEME_ATTRIBUTES,rootIsDark,watchRootTheme}from"../chunk-LNXBTK7Q.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{BORDER_LINE_STYLES,borderSides,borderStartEach,BorderInput as default}from"../chunk-
|
|
2
|
+
export{BORDER_LINE_STYLES,borderSides,borderStartEach,BorderInput as default}from"../chunk-ALTBTO3Z.js";import"../chunk-S4FPYCUU.js";import"../chunk-JDQGHQ2C.js";import"../chunk-BUO7XCYR.js";import"../chunk-7JGR7WPD.js";import"../chunk-QRU55BUS.js";import"../chunk-2NMW66P5.js";import"../chunk-S6OB6HJB.js";import"../chunk-AYZY3YNC.js";import"../chunk-LE5LWALR.js";import"../chunk-CDAJKLGL.js";import"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.js";import"../chunk-2UO47XB4.js";import"../chunk-J75ZT2JQ.js";import"../chunk-NJN5IKWO.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-TWVUQUUD.js";import"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{BrandAssetEditor as default}from"../chunk-O7RR2ZZ2.js";import"../chunk-QGWKM7C3.js";import"../chunk-XQZL6JDD.js";import"../chunk-6KBDNYRW.js";import"../chunk-
|
|
2
|
+
export{BrandAssetEditor as default}from"../chunk-O7RR2ZZ2.js";import"../chunk-QGWKM7C3.js";import"../chunk-XQZL6JDD.js";import"../chunk-6KBDNYRW.js";import"../chunk-MI67DI3H.js";import"../chunk-S4FPYCUU.js";import"../chunk-JDQGHQ2C.js";import"../chunk-25RR3GQW.js";import"../chunk-H5NIW2KS.js";import"../chunk-TDAI4J27.js";import"../chunk-JTMEFXRL.js";import"../chunk-FZM3ZPW3.js";import"../chunk-EOVXFXVV.js";import"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.js";import"../chunk-2UO47XB4.js";import"../chunk-J75ZT2JQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-MRJKZWWV.js";import"../chunk-WGLHB6WE.js";import"../chunk-NJN5IKWO.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-TWVUQUUD.js";import"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{ColorPickerPanel,ColorSwatch,HexInput,NO_COLOR_FILL,clampOpacity,colorFill,colorSwatchClasses,ColorPicker as default,stepHue,stepOpacity,stepSquare}from"../chunk-
|
|
2
|
+
export{ColorPickerPanel,ColorSwatch,HexInput,NO_COLOR_FILL,clampOpacity,colorFill,colorSwatchClasses,ColorPicker as default,stepHue,stepOpacity,stepSquare}from"../chunk-BUO7XCYR.js";import"../chunk-7JGR7WPD.js";import"../chunk-QRU55BUS.js";import"../chunk-2NMW66P5.js";import"../chunk-S6OB6HJB.js";import"../chunk-AYZY3YNC.js";import"../chunk-LE5LWALR.js";import"../chunk-CDAJKLGL.js";import"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.js";import"../chunk-2UO47XB4.js";import"../chunk-J75ZT2JQ.js";import"../chunk-NJN5IKWO.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-TWVUQUUD.js";import"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{CornersInput as default}from"../chunk-
|
|
2
|
+
export{CornersInput as default}from"../chunk-6IOFNPR6.js";import"../chunk-QRU55BUS.js";import"../chunk-2NMW66P5.js";import"../chunk-AYZY3YNC.js";import"../chunk-LE5LWALR.js";import"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.js";import"../chunk-2UO47XB4.js";import"../chunk-J75ZT2JQ.js";import"../chunk-NJN5IKWO.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-TWVUQUUD.js";import"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{InputNumber_default as default}from"../chunk-
|
|
2
|
+
export{InputNumber_default as default}from"../chunk-QRU55BUS.js";import"../chunk-2NMW66P5.js";import"../chunk-AYZY3YNC.js";import"../chunk-LE5LWALR.js";import"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.js";import"../chunk-2UO47XB4.js";import"../chunk-J75ZT2JQ.js";import"../chunk-NJN5IKWO.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-TWVUQUUD.js";import"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
|
package/dist/forms/LinkPicker.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{TextLinkField,LinkPicker as default}from"../chunk-
|
|
2
|
+
export{TextLinkField,LinkPicker as default}from"../chunk-PVDZG2U2.js";import"../chunk-7RP7QTRF.js";import"../chunk-EQKUFYX6.js";import"../chunk-XFH64VIG.js";import"../chunk-EO5RLFRX.js";import"../chunk-LJN77RG6.js";import"../chunk-2NMW66P5.js";import"../chunk-UJUTS6LJ.js";import"../chunk-PJPK2ADX.js";import"../chunk-MAMWQCJ6.js";import"../chunk-AYZY3YNC.js";import"../chunk-UGTRSRIW.js";import"../chunk-URHGHXDN.js";import"../chunk-EOVXFXVV.js";import"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.js";import"../chunk-2UO47XB4.js";import"../chunk-J75ZT2JQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-MRJKZWWV.js";import"../chunk-NJN5IKWO.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-TWVUQUUD.js";import"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{MEDIA_FILES_DRAG_TYPE,MEDIA_FILE_DRAG_TYPE,MEDIA_FOLDER_DRAG_TYPE,MediaLibrary as default,readMediaFileDrag}from"../chunk-
|
|
2
|
+
export{MEDIA_FILES_DRAG_TYPE,MEDIA_FILE_DRAG_TYPE,MEDIA_FOLDER_DRAG_TYPE,MediaLibrary as default,readMediaFileDrag}from"../chunk-S5DYR75A.js";import"../chunk-NRALUW6P.js";import"../chunk-7JVGF555.js";import"../chunk-IC72MGON.js";import"../chunk-QVZKRROQ.js";import"../chunk-P7H2DXJB.js";import"../chunk-CGUMJZUB.js";import"../chunk-SACUSHVN.js";import"../chunk-V6Y4OC6K.js";import"../chunk-XYECIBVX.js";import"../chunk-MS5APD3V.js";import"../chunk-OPN4I565.js";import"../chunk-JPOYR5AO.js";import"../chunk-E3EJWNNK.js";import"../chunk-NZ34BQKH.js";import"../chunk-XFH64VIG.js";import"../chunk-EO5RLFRX.js";import"../chunk-LJN77RG6.js";import"../chunk-6KBDNYRW.js";import"../chunk-VLKDWKVR.js";import"../chunk-OLFYNMTD.js";import"../chunk-LACL4MAR.js";import"../chunk-S4FPYCUU.js";import"../chunk-JDQGHQ2C.js";import"../chunk-2NMW66P5.js";import"../chunk-TMMNCXQT.js";import"../chunk-CGZBDI6C.js";import"../chunk-DRUQH4ZE.js";import"../chunk-ZGOHRLXG.js";import"../chunk-CIHR5ZKF.js";import"../chunk-MAMWQCJ6.js";import"../chunk-H5NIW2KS.js";import"../chunk-TDAI4J27.js";import"../chunk-AYZY3YNC.js";import"../chunk-LE5LWALR.js";import"../chunk-JTMEFXRL.js";import"../chunk-55AEZX6K.js";import"../chunk-3DVNXNTF.js";import"../chunk-ECJKIPWU.js";import"../chunk-VWGWZY7A.js";import"../chunk-7QSDPSXP.js";import"../chunk-OKHKY3ZZ.js";import"../chunk-CDAJKLGL.js";import"../chunk-7ELJQL7J.js";import"../chunk-UGTRSRIW.js";import"../chunk-FZM3ZPW3.js";import"../chunk-OTITQ3IH.js";import"../chunk-5QFPTDQF.js";import"../chunk-URHGHXDN.js";import"../chunk-EOVXFXVV.js";import"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.js";import"../chunk-2UO47XB4.js";import"../chunk-J75ZT2JQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-MRJKZWWV.js";import"../chunk-WGLHB6WE.js";import"../chunk-NJN5IKWO.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-MAFUXCPZ.js";import"../chunk-TWVUQUUD.js";import"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{FULL_BADGE_TILE_PX,MediaUploadGrid as default}from"../chunk-E3EJWNNK.js";import"../chunk-6KBDNYRW.js";import"../chunk-H5NIW2KS.js";import"../chunk-TDAI4J27.js";import"../chunk-JTMEFXRL.js";import"../chunk-OKHKY3ZZ.js";import"../chunk-
|
|
2
|
+
export{FULL_BADGE_TILE_PX,MediaUploadGrid as default}from"../chunk-E3EJWNNK.js";import"../chunk-6KBDNYRW.js";import"../chunk-H5NIW2KS.js";import"../chunk-TDAI4J27.js";import"../chunk-JTMEFXRL.js";import"../chunk-OKHKY3ZZ.js";import"../chunk-FZM3ZPW3.js";import"../chunk-5QFPTDQF.js";import"../chunk-2UO47XB4.js";import"../chunk-J75ZT2JQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-MRJKZWWV.js";import"../chunk-WGLHB6WE.js";import"../chunk-NJN5IKWO.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-TWVUQUUD.js";import"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{PositionInput as default}from"../chunk-
|
|
2
|
+
export{PositionInput as default}from"../chunk-WLYYC3AP.js";import"../chunk-QRU55BUS.js";import"../chunk-2NMW66P5.js";import"../chunk-AYZY3YNC.js";import"../chunk-LE5LWALR.js";import"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.js";import"../chunk-2UO47XB4.js";import"../chunk-J75ZT2JQ.js";import"../chunk-NJN5IKWO.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-TWVUQUUD.js";import"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
|
package/dist/forms/SidesInput.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{SidesEachToggle,SidesInput as default,sidesStartEach}from"../chunk-
|
|
2
|
+
export{SidesEachToggle,SidesInput as default,sidesStartEach}from"../chunk-7FW2BQTV.js";import"../chunk-QRU55BUS.js";import"../chunk-2NMW66P5.js";import"../chunk-AYZY3YNC.js";import"../chunk-LE5LWALR.js";import"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.js";import"../chunk-2UO47XB4.js";import"../chunk-J75ZT2JQ.js";import"../chunk-NJN5IKWO.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-TWVUQUUD.js";import"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
|
package/dist/forms/Slider.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{SliderGroup,Slider as default,settleSliderValue,sliderBoxChars,stepDecimals}from"../chunk-
|
|
2
|
+
export{SliderGroup,Slider as default,settleSliderValue,sliderBoxChars,stepDecimals}from"../chunk-V2J2AHDW.js";import"../chunk-QRU55BUS.js";import"../chunk-2NMW66P5.js";import"../chunk-AYZY3YNC.js";import"../chunk-LE5LWALR.js";import"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.js";import"../chunk-2UO47XB4.js";import"../chunk-J75ZT2JQ.js";import"../chunk-NJN5IKWO.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-TWVUQUUD.js";import"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
|
package/dist/forms/WidthsBar.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{WidthsBar as default}from"../chunk-
|
|
2
|
+
export{WidthsBar as default}from"../chunk-DOF56HTO.js";import"../chunk-PLGJOHEG.js";import"../chunk-QRU55BUS.js";import"../chunk-2NMW66P5.js";import"../chunk-AYZY3YNC.js";import"../chunk-LE5LWALR.js";import"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.js";import"../chunk-2UO47XB4.js";import"../chunk-J75ZT2JQ.js";import"../chunk-NJN5IKWO.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-TWVUQUUD.js";import"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
|