efficient-shell 4.171.0 → 4.173.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 +255 -8
- package/dist/{Browser-BW3EZ7B2.js → Browser-X7UTQJOX.js} +14 -14
- package/dist/Calculator-IAJLLX67.js +29 -0
- package/dist/ConfirmDialog-EBZ5LHVS.js +1 -0
- package/dist/{CurrencyConverter-IW6F7HW4.js → CurrencyConverter-RODHLQMG.js} +6 -6
- package/dist/{Documents-VH3JXSSJ.js → Documents-BJFZHHBZ.js} +7 -7
- package/dist/{Files-R4ZA5MXU.js → Files-PL5NE4PQ.js} +28 -28
- package/dist/{Notepad-FOITSJJA.js → Notepad-52LDWEK2.js} +9 -9
- package/dist/PdfViewer-IIXXT7SF.js +1 -0
- package/dist/{PomodoroTimer-C4SVIFC6.js → PomodoroTimer-C3KCTCMB.js} +21 -21
- package/dist/{Preview-5K6LK6WZ.js → Preview-O3N26GG6.js} +20 -20
- package/dist/{Sidebar-FDFNRXJU.js → Sidebar-QNGQA6J5.js} +16 -16
- package/dist/{Spreadsheet-CZC3QU2G.js → Spreadsheet-HVKVNQN6.js} +14 -14
- package/dist/{Stock-B4WWEBZH.js → Stock-YOGVYL6F.js} +2 -2
- package/dist/{Weather-TDB5AY23.js → Weather-4OQOBM4C.js} +13 -13
- package/dist/{WorldClock-HYHDVPBV.js → WorldClock-K5KLOOD7.js} +6 -6
- package/dist/apps/index.js +1 -1
- package/dist/bin/ui-check.js +1 -1
- package/dist/chunk-6TDPY7WG.js +3 -0
- package/dist/{chunk-5G4QMZGJ.js → chunk-A6ZY4XSQ.js} +6 -6
- package/dist/{chunk-4P3IWZUC.js → chunk-AYZ4LP2A.js} +9 -9
- package/dist/{chunk-CRI4UFBU.js → chunk-CQN5CFKA.js} +4 -4
- package/dist/{chunk-ECFMRDUP.js → chunk-FIGVDYJR.js} +16 -16
- package/dist/{chunk-Y3UKUB7V.js → chunk-MFR4GZSB.js} +15 -15
- package/dist/{chunk-2UIKLYAI.js → chunk-MVUYJAZT.js} +1 -1
- package/dist/{chunk-HA2WG27U.js → chunk-MYNLN25H.js} +2 -2
- package/dist/{chunk-KSSAVLO7.js → chunk-OZMDKNVR.js} +1 -1
- package/dist/{chunk-GKLJ2SYS.js → chunk-RN5V7MDO.js} +322 -322
- package/dist/chunk-S5QF4VFG.js +1 -0
- package/dist/{chunk-5J2TKKGH.js → chunk-SXRJYJ7M.js} +1 -1
- package/dist/{chunk-NTCAZ6Y3.js → chunk-TLYGAHZN.js} +1 -1
- package/dist/{chunk-HNXPIYRS.js → chunk-U2SEGSNG.js} +1 -1
- package/dist/{chunk-FZRQBHTK.js → chunk-U6IUYOYS.js} +1 -1
- package/dist/{chunk-3U47BTEV.js → chunk-UOZMVS4Y.js} +11 -11
- package/dist/{chunk-S2AZZGFF.js → chunk-W32SKK3D.js} +1 -1
- package/dist/chunk-W33ZFDRR.js +1 -0
- package/dist/{chunk-FWZUTHP5.js → chunk-X5LH3UOJ.js} +111 -111
- package/dist/{chunk-36QX6LOQ.js → chunk-XHWT4DH2.js} +1 -1
- package/dist/chunk-XJX3NA37.js +1 -0
- package/dist/{chunk-AUKURHBZ.js → chunk-Z3JO7MDE.js} +4 -4
- package/dist/{chunk-7YFAFXQG.js → chunk-ZDCOC4IH.js} +9 -9
- package/dist/file-intake/index.js +1 -1
- package/dist/format/index.d.ts +1 -1
- package/dist/format/index.js +1 -1
- package/dist/{index-Dq20bi8D.d.ts → index-Dod08dsC.d.ts} +178 -11
- package/dist/{index-DCUzlKPZ.d.ts → index-DpUDK9zG.d.ts} +5 -0
- package/dist/index.d.ts +14 -6
- package/dist/index.js +111 -111
- package/dist/map/index.js +2 -2
- package/dist/page-tabs/index.js +5 -5
- package/dist/pdf/index.js +1 -1
- package/dist/sounds-FO772MN2.js +1 -0
- package/dist/ui/index.d.ts +2 -2
- package/dist/ui/index.js +1 -1
- package/package.json +1 -1
- package/dist/Calculator-VBK5NSMU.js +0 -29
- package/dist/ConfirmDialog-YRCG3W2T.js +0 -1
- package/dist/PdfViewer-S2B2DZYB.js +0 -1
- package/dist/chunk-67ZUPDWG.js +0 -1
- package/dist/chunk-6KO2U66R.js +0 -3
- package/dist/chunk-BUTSU7FO.js +0 -1
- package/dist/chunk-NCQLGQYR.js +0 -1
- package/dist/sounds-OMHXVVQ4.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{useWindowMenuItem as e,Modal as t}from"./chunk-
|
|
1
|
+
import{useWindowMenuItem as e,Modal as t}from"./chunk-X5LH3UOJ.js";import{navIcons as r}from"./chunk-DSSLOQDW.js";import{VERSION as o}from"./chunk-XJX3NA37.js";import{useState as n,useCallback as s,isValidElement as i,cloneElement as a}from"react";import{jsx as l,jsxs as d}from"react/jsx-runtime";var c={spreadsheet:{name:"Spreadsheets",version:"1.1.3",route:"/spreadsheet",description:"Multi-sheet spreadsheet editor with CSV / TSV import and export."},notepad:{name:"Notepad",version:"1.0.1",route:"/notepad",description:"Color-coded notes with checklists, desktop stickies and entity autolinking."},documents:{name:"Documents",version:"1.1.0",route:"/documents",description:"Letter-page editor for Word documents and plain-text files — images, lists, alignment."},preview:{name:"Preview",version:"1.4.1",route:"/preview",description:"Viewer for PDF documents, images, DXF drawings and 3D models — CAD-style measuring with object snap and an AutoCAD-like command bar."},files:{name:"Files",version:"1.1.1",route:"/files",description:"Personal file manager with folders, uploads, quota, trash and desktop shortcut folders."},browser:{name:"Browser",version:"1.0.1",route:"/browser",description:"Minimal web browser with bookmarks, history and navigation bar."}},m=/* @__PURE__ */l("svg",{className:"h-4 w-4 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:/* @__PURE__ */l("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"})}),p=/* @__PURE__ */l("svg",{className:"h-9 w-9",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:/* @__PURE__ */l("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 6.75A2.25 2.25 0 016 4.5h12a2.25 2.25 0 012.25 2.25v10.5A2.25 2.25 0 0118 19.5H6a2.25 2.25 0 01-2.25-2.25V6.75z M3.75 9h16.5"})});function h({app:h}){const u=c[h],[x,f]=n(!1),g=s(()=>f(!0),[]);if(e(`About ${u.name}`,g,m),!x)return null;const v=r[u.route],w=i(v)?a(v,{className:"h-9 w-9"}):p;/* @__PURE__ */
|
|
2
2
|
return l(t,{open:!0,onClose:()=>f(!1),title:`About ${u.name}`,size:"sm",compact:!0,bodyScroll:!1,autoHeight:!0,dimensions:[320,320],children:/* @__PURE__ */d("div",{className:"flex flex-col items-center text-center px-5 pt-5 pb-4",children:[
|
|
3
3
|
/* @__PURE__ */l("div",{className:"flex h-16 w-16 items-center justify-center rounded-2xl bg-gray-100 text-gray-600 shrink-0",children:w}),
|
|
4
4
|
/* @__PURE__ */l("h2",{className:"mt-3 text-lg font-bold text-gray-900",children:u.name}),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r="4.173.0",a=r;export{a as APP_VERSION,r as VERSION};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{Tooltip as e}from"./chunk-EXXHI5DO.js";import{useBrowserLayoutEffect as r,useBrowserState as t}from"./chunk-D65T4H6J.js";import{useShellStrings as n}from"./chunk-
|
|
2
|
-
return a(e,{content:y??N.hint,side:"left"===c?"right":"left",delay:600,className:`absolute inset-y-0 ${
|
|
1
|
+
import{Tooltip as e}from"./chunk-EXXHI5DO.js";import{useBrowserLayoutEffect as r,useBrowserState as t}from"./chunk-D65T4H6J.js";import{useShellStrings as n}from"./chunk-S5QF4VFG.js";import{useRef as o,useEffect as i,useCallback as l}from"react";import{jsx as a,jsxs as s,Fragment as c}from"react/jsx-runtime";var u=(e,r,t)=>Math.min(t,Math.max(r,e));function d(e,r,t,n,o){return Math.round(u("left"===t?e+r:e-r,n,o))}function h(e,r,t){let n=null;try{n=window.localStorage.getItem(e)}catch{return null}const o=n?parseInt(n,10):NaN;return Number.isNaN(o)?null:u(o,r,t)}function m({width:t,onResize:s,side:c,min:m,max:f,defaultWidth:v=m,step:b=16,storageKey:g,label:p,hint:y,controls:x,className:w=""}){const N=n().resizeHandle,z=o(null),k=o({onResize:s,min:m,max:f,side:c});k.current={onResize:s,min:m,max:f,side:c},r(()=>{if(!g)return;const e=h(g,m,f);null!==e&&e!==t&&s(e)},[g]),i(()=>{if(!g)return;const e=window.setTimeout(()=>{try{window.localStorage.setItem(g,String(Math.round(t)))}catch{}},200);return()=>window.clearTimeout(e)},[t,g]);const P=l(()=>{z.current=null,document.body.style.removeProperty("cursor"),document.body.style.removeProperty("user-select")},[]);i(()=>P,[P]);const M=e=>{z.current&&(e.currentTarget.hasPointerCapture?.(z.current.pointer)&&e.currentTarget.releasePointerCapture(z.current.pointer),P())},C="left"===c?"right-0":"left-0";/* @__PURE__ */
|
|
2
|
+
return a(e,{content:y??N.hint,side:"left"===c?"right":"left",delay:600,className:`absolute inset-y-0 ${C} z-10 flex w-2 ${w}`.trim(),children:/* @__PURE__ */a("div",{role:"separator",tabIndex:0,"aria-orientation":"vertical","aria-label":p??N.label,"aria-valuenow":Math.round(t),"aria-valuemin":m,"aria-valuemax":f,"aria-controls":x,"data-resize-handle":c,onPointerDown:e=>{0===e.button&&(e.preventDefault(),z.current={x:e.clientX,width:t,moved:!1,pointer:e.pointerId},e.currentTarget.setPointerCapture?.(e.pointerId),document.body.style.cursor="col-resize",document.body.style.userSelect="none")},onPointerMove:e=>{const r=z.current;if(!r)return;if(0===e.buttons)return void P();const t=e.clientX-r.x;if(!r.moved){if(Math.abs(t)<3)return;r.moved=!0}const{onResize:n,min:o,max:i,side:l}=k.current;n(d(r.width,t,l,o,i))},onPointerUp:M,onPointerCancel:M,onLostPointerCapture:()=>{z.current&&P()},onDoubleClick:()=>s(u(v,m,f)),onKeyDown:e=>{const r="ArrowRight"===e.key?b:"ArrowLeft"===e.key?-b:null,n=null!==r?d(t,r,c,m,f):"Home"===e.key?m:"End"===e.key?f:"Enter"===e.key?u(v,m,f):null;null!==n&&(e.preventDefault(),n!==t&&s(n))},className:"group/resize relative h-full w-full cursor-col-resize touch-none rosh-focus-ring focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[color:var(--rosh-focus-ring-solid)]",children:/* @__PURE__ */a("div",{"aria-hidden":"true",className:`absolute inset-y-0 ${C} w-px bg-transparent transition-colors group-hover/resize:bg-[var(--accent-500,var(--rosh-resize-handle))] group-focus-visible/resize:w-0.5 group-focus-visible/resize:bg-[var(--accent-500,var(--rosh-resize-handle))]`})})})}var f=(e,r,t)=>Math.min(Math.max(e,r),t);function v({sidebar:e,sidebarTop:r,sidebarBottom:o,children:i,side:l="left",storageKey:u,defaultWidth:d=256,minWidth:v=180,maxWidth:b=480,className:g="",sidebarClassName:p=("right"===l?"border-l border-gray-200 bg-gray-50":"border-r border-gray-200 bg-gray-50"),contentClassName:y="bg-white"}){const x="right"===l,w=n().sidebar,[N,z]=t(()=>(u?h(u,v,b):null)??f(d,v,b),f(d,v,b)),k=null!=r||null!=o,P=/* @__PURE__ */s("div",{className:"relative flex h-full shrink-0 flex-col",style:{width:N},children:[
|
|
3
3
|
/* @__PURE__ */s("div",{className:`flex h-full flex-col ${k?"overflow-hidden":"overflow-y-auto"} ${p}`,children:[null!=r&&/* @__PURE__ */a("div",{className:"flex shrink-0 flex-col gap-2 px-2 pt-3 pb-2",children:r}),k?/* @__PURE__ */a("div",{className:"min-h-0 flex-1 overflow-y-auto",children:e}):e,null!=o&&/* @__PURE__ */a("div",{className:"mt-auto flex shrink-0 flex-col gap-2 border-t border-gray-200 px-2 py-3",children:o})]}),
|
|
4
|
-
/* @__PURE__ */a(m,{side:l,width:N,onResize:z,min:v,max:b,defaultWidth:f(d,v,b),storageKey:u,hint:w.resize})]}),
|
|
5
|
-
return a("div",{className:`flex h-full w-full overflow-hidden ${g}`,children:/* @__PURE__ */s(c,x?{children:[
|
|
4
|
+
/* @__PURE__ */a(m,{side:l,width:N,onResize:z,min:v,max:b,defaultWidth:f(d,v,b),storageKey:u,hint:w.resize})]}),M=/* @__PURE__ */a("div",{className:`flex min-w-0 flex-1 flex-col ${y}`,children:i});/* @__PURE__ */
|
|
5
|
+
return a("div",{className:`flex h-full w-full overflow-hidden ${g}`,children:/* @__PURE__ */s(c,x?{children:[M,P]}:{children:[P,M]})})}export{m as ResizeHandle,v as SidebarLayout};
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import{escapeHtml as e}from"./chunk-BR22X7E5.js";import{useBrowserLayoutEffect as t}from"./chunk-D65T4H6J.js";import{useShellStrings as n}from"./chunk-
|
|
2
|
-
return u("div",{...n,dangerouslySetInnerHTML:r})}function g({columns:e,data:g,onChange:m,onColumnsChange:f,fixedRows:p=!1,minRows:y=15,maxHeight:b="260px",cellStyles:v,onFocusChange:x,onSelectionChange:M}){const D=r(null),k=n().grid,[C,E]=o(null);l(()=>{x?.(C)},[C,x]);const[L
|
|
1
|
+
import{escapeHtml as e}from"./chunk-BR22X7E5.js";import{useBrowserLayoutEffect as t}from"./chunk-D65T4H6J.js";import{useShellStrings as n}from"./chunk-S5QF4VFG.js";import{useRef as r,useState as o,useEffect as l,useCallback as c,useMemo as a}from"react";import{createPortal as s}from"react-dom";import{jsxs as i,jsx as u,Fragment as d}from"react/jsx-runtime";function h(e,t){const n=e[e.length-1];return n&&!n.some(e=>e.trim())?e:[...e,Array(t).fill("")]}function w({text:t,...n}){const r=a(()=>({__html:e(t)}),[t]);/* @__PURE__ */
|
|
2
|
+
return u("div",{...n,dangerouslySetInnerHTML:r})}function g({columns:e,data:g,onChange:m,onColumnsChange:f,fixedRows:p=!1,minRows:y=15,maxHeight:b="260px",cellStyles:v,onFocusChange:x,onSelectionChange:M}){const D=r(null),k=n().grid,[C,E]=o(null);l(()=>{x?.(C)},[C,x]);const[S,L]=o({}),$=r(null),[N,A]=o({}),z=r(null),[O,T]=o(null),[R,K]=o(null),[F,P]=o(null),[I,X]=o(null),[H,Y]=o(null),j=r(null);t(()=>{const e=j.current;if(!e||e.row!==H?.row||e.col!==H?.col)return;j.current=null;const t=D.current?.querySelector(`[data-row="${e.row}"][data-col="${e.col}"]`);if(!t)return;t.focus();const n=document.createRange();n.selectNodeContents(t),n.collapse(!1);const r=window.getSelection();r?.removeAllRanges(),r?.addRange(n)},[H]);const[q,B]=o(null),[W,V]=o(null);l(()=>{M?.(q&&W?{anchor:q,end:W}:null)},[q,W,M]);const _=r(!1),[G,J]=o(null),Q=r(!1),U=r({a:null,e:null});U.current={a:q,e:W};const Z=q&&W&&(q.row!==W.row||q.col!==W.col),ee=[...g];if(!p)for(;ee.length<y;)ee.push(Array(e.length).fill(""));const te=c((t,n,r)=>{const o=ee.map(e=>[...e]);for(;o.length<=t;)o.push(Array(e.length).fill(""));for(;o[t].length<e.length;)o[t].push("");o[t][n]=r,m(o)},[ee,e.length,m]),ne=c((e,t,n)=>{if(0!==e.button)return;const r=document.activeElement;if(r?.dataset?.row&&r?.dataset?.col){const e=parseInt(r.dataset.row),t=parseInt(r.dataset.col),n=r.textContent||"";if(n!==(ee[e]?.[t]||"")){const r=ee.map(e=>[...e]);r[e]&&(r[e][t]=n,m(r))}}_.current=!0,e.shiftKey&&q||B({row:t,col:n}),V({row:t,col:n})},[ee,m,q]),re=c((e,t)=>{_.current&&V({row:e,col:t})},[]);l(()=>{const e=()=>{_.current=!1};return window.addEventListener("mouseup",e),()=>window.removeEventListener("mouseup",e)},[]),l(()=>{const e=e=>{if(!e.ctrlKey&&!e.metaKey||"c"!==e.key)return;if(!q||!W)return;const t=window.getSelection();if(t&&t.toString().length>0&&!Z)return;const n=Math.min(q.row,W.row),r=Math.max(q.row,W.row),o=Math.min(q.col,W.col),l=Math.max(q.col,W.col),c=[];for(let e=n;e<=r;e++){const t=[];for(let n=o;n<=l;n++)t.push(ee[e]?.[n]||"");c.push(t.join("\t"))}const a=c.join("\n");a&&(e.preventDefault(),navigator.clipboard.writeText(a))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[q,W,ee,Z]),l(()=>{const t=t=>{if(!C)return;const n=document.activeElement;if(n?.isContentEditable)return;if(!D.current?.contains(n))return;const r=t.clipboardData?.getData("text/plain");if(!r)return;t.preventDefault();const o=r.split("\n").filter(e=>e).map(e=>e.split("\t")),l=ee.map(e=>[...e]);for(let t=0;t<o.length;t++){const n=C.row+t;for(;l.length<=n;)l.push(Array(e.length).fill(""));for(;l[n].length<e.length;)l[n].push("");for(let r=0;r<o[t].length;r++){const c=C.col+r;if(c>=e.length)break;e[c].readOnly||(l[n][c]=o[t][r].trim())}}m(p?l:h(l,e.length)),B({row:C.row,col:C.col}),V({row:Math.min(C.row+o.length-1,l.length-1),col:Math.min(C.col+(o[0]?.length||1)-1,e.length-1)})};return window.addEventListener("paste",t),()=>window.removeEventListener("paste",t)},[C,ee,e,m,p]);const oe=c((t,n,r)=>{const o=t.clipboardData.getData("text/plain");if(!o)return;const l=o.split("\n").map(e=>e.split("\t"));if(l.length<=1&&l[0]?.length<=1)return;t.preventDefault();const c=ee.map(e=>[...e]);for(let t=0;t<l.length;t++){const o=n+t;for(;c.length<=o;)c.push(Array(e.length).fill(""));for(;c[o].length<e.length;)c[o].push("");for(let n=0;n<l[t].length;n++){const a=r+n;if(a>=e.length)break;e[a].readOnly||(c[o][a]=l[t][n].trim())}}m(p?c:h(c,e.length))},[ee,e,m,p]),le=c((t,n,r)=>{let o=n,l=r;if("Tab"===t.key)t.preventDefault(),l=t.shiftKey?r-1:r+1,l>=e.length&&(l=0,o=n+1),l<0&&(l=e.length-1,o=n-1);else if("Enter"===t.key)t.preventDefault(),o=t.shiftKey?n-1:n+1;else if("ArrowDown"===t.key)t.preventDefault(),o=n+1;else if("ArrowUp"===t.key)t.preventDefault(),o=n-1;else if("ArrowLeft"===t.key)t.preventDefault(),l=r-1;else{if("ArrowRight"!==t.key){if("Delete"===t.key||"Backspace"===t.key){const o=t.target;if(o.isContentEditable)return void(o.textContent&&window.getSelection()?.toString()===o.textContent&&(t.preventDefault(),te(n,r,"")));if(t.preventDefault(),q&&W){const t=Math.min(q.row,W.row),n=Math.max(q.row,W.row),r=Math.min(q.col,W.col),o=Math.max(q.col,W.col),l=ee.map(e=>[...e]);for(let c=t;c<=n;c++)for(let t=r;t<=o;t++)l[c]&&!e[t]?.readOnly&&(l[c][t]="");m(l)}else te(n,r,"");return}return}t.preventDefault(),l=r+1}for(;l>=0&&l<e.length&&e[l].readOnly;)l+="Tab"===t.key&&t.shiftKey?-1:1;if(o>=0&&o<ee.length&&l>=0&&l<e.length){const e=D.current?.querySelector(`[data-row="${o}"][data-col="${l}"]`);e&&(e.focus({preventScroll:!0}),e.scrollIntoView({block:"nearest",inline:"nearest"}),E({row:o,col:l}),Y(null),B({row:o,col:l}),V({row:o,col:l}))}},[e,ee,ee.length,te,q,W,m]),ce=c(t=>{if(!p&&t>=ee.length-2){const t=ee.map(e=>[...e]);for(let n=0;n<5;n++)t.push(Array(e.length).fill(""));m(t)}},[p,ee,e.length,m]),[ae,se]=o(null);l(()=>{if(!ae)return;const e=()=>se(null);return window.addEventListener("pointerdown",e),()=>window.removeEventListener("pointerdown",e)},[ae]);const ie=c(t=>{const n=ee.map(e=>[...e]);n.splice(t,0,Array(e.length).fill("")),m(n)},[ee,e.length,m]),ue=c(e=>{if(ee.length<=1)return;const t=ee.filter((t,n)=>n!==e);m(t)},[ee,m]),de=c(e=>{const t=ee.map(t=>{const n=[...t];return n.splice(e,0,""),n});m(t)},[ee,m]),he=c(t=>{if(e.length<=1)return;const n=ee.map(e=>{const n=[...e];return n.splice(t,1),n});m(n)},[ee,e.length,m]),we=c((e,t)=>{e.preventDefault(),p||se({x:e.clientX,y:e.clientY,items:[{label:k.insertRowAbove,onClick:()=>{ie(t),se(null)}},{label:k.insertRowBelow,onClick:()=>{ie(t+1),se(null)}},{label:k.deleteRow(t+1),onClick:()=>{ue(t),se(null)}}]})},[p,ie,ue,k]),ge=c((t,n)=>{t.preventDefault(),p||se({x:t.clientX,y:t.clientY,items:[{label:k.insertColumnLeft,onClick:()=>{de(n),se(null)}},{label:k.insertColumnRight,onClick:()=>{de(n+1),se(null)}},{label:k.deleteColumn(String(e[n]?.title||n+1)),onClick:()=>{he(n),se(null)}}]})},[p,e,de,he,k]),me=t=>S[t]??e[t]?.width??150;l(()=>{const t=e=>{if(!$.current)return;const t=e.clientX-$.current.startX,n=Math.max(40,$.current.startW+t);L(e=>({...e,[$.current.col]:n}))},n=()=>{if($.current&&f){const t=e.map((e,t)=>({...e,width:S[t]??e.width}));t[$.current.col]={...t[$.current.col],width:S[$.current.col]??e[$.current.col].width},f(t)}$.current=null,document.body.style.cursor=""};return window.addEventListener("mousemove",t),window.addEventListener("mouseup",n),()=>{window.removeEventListener("mousemove",t),window.removeEventListener("mouseup",n)}},[e,S,f]);const fe=e=>N[e]??28;l(()=>{const e=e=>{if(!z.current)return;const t=e.clientY-z.current.startY,n=Math.max(20,z.current.startH+t);A(e=>({...e,[z.current.row]:n}))},t=()=>{z.current=null,document.body.style.cursor=""};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t)}},[]);const pe=c(t=>{const n=document.createElement("canvas").getContext("2d");if(!n)return;n.font="12px ui-monospace, SFMono-Regular, Menlo, monospace";let r=0;for(const e of ee){const o=String(e[t]??"").replace(/<[^>]*>/g,""),l=n.measureText(o).width;l>r&&(r=l)}const o=n.measureText(e[t]?.title??"").width;o>r&&(r=o);const l=Math.max(40,Math.ceil(r+24));if(L(e=>({...e,[t]:l})),f){const n=e.map((e,n)=>({...e,width:n===t?l:S[n]??e.width}));f(n)}},[ee,e,S,f]),ye=c(e=>{A(t=>{const n={...t};return delete n[e],n})},[]),be=c(t=>{const{a:n,e:r}=U.current;if(!n||!r)return;const o=Math.min(n.row,r.row),l=Math.max(n.row,r.row),c=Math.min(n.col,r.col),a=Math.max(n.col,r.col);let s=o,i=l,u=c,d=a;t.row>l?i=t.row:t.row<o&&(s=t.row),t.col>a?d=t.col:t.col<c&&(u=t.col);const h=l-o+1,w=a-c+1,g=ee.map(e=>[...e]);for(;g.length<=i;)g.push(Array(e.length).fill(""));for(const e of g)for(;e.length<=d;)e.push("");function f(e){const t=e.map(e=>parseFloat(e));if(t.length<2||t.some(e=>Number.isNaN(e)))return null;const n=t[1]-t[0];for(let e=2;e<t.length;e++)if(Math.abs(t[e]-t[e-1]-n)>1e-9)return null;return{step:n}}for(let e=s;e<=i;e++)for(let t=u;t<=d;t++){if(e>=o&&e<=l&&t>=c&&t<=a)continue;let n;if(1===w&&u===c&&d===a){const r=f(Array.from({length:h},(e,n)=>g[o+n]?.[t]??""));if(r){const c=parseFloat(g[l]?.[t]??"0"),a=parseFloat(g[o]?.[t]??"0"),s=e>l?e-l:-(o-e);n=String((e>l?c:a)+r.step*s)}else{const r=((e-o)%h+h)%h;n=g[o+r]?.[t]??""}}else if(1===h&&s===o&&i===l){const r=f(Array.from({length:w},(t,n)=>g[e]?.[c+n]??""));if(r){const o=parseFloat(g[e]?.[a]??"0"),l=parseFloat(g[e]?.[c]??"0"),s=t>a?t-a:-(c-t);n=String((t>a?o:l)+r.step*s)}else{const r=((t-c)%w+w)%w;n=g[e]?.[c+r]??""}}else{const r=((e-o)%h+h)%h,l=((t-c)%w+w)%w;n=g[o+r]?.[c+l]??""}g[e][t]=n}m(g),B({row:s,col:u}),V({row:i,col:d})},[ee,e.length,m]);l(()=>{const e=e=>{if(!Q.current)return;const t=document.elementFromPoint(e.clientX,e.clientY),n=t?.closest?.("[data-row][data-col]");if(!n)return;const r=parseInt(n.dataset.row),o=parseInt(n.dataset.col);J({row:r,col:o})},t=()=>{Q.current&&G&&be(G),Q.current=!1,J(null),document.body.style.cursor=""};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t)}},[G,be]);const ve=e=>{e.preventDefault(),e.stopPropagation(),Q.current=!0,document.body.style.cursor="crosshair"},xe=r(null),[Me,De]=o(0),[ke,Ce]=o(800);l(()=>{const e=xe.current;if(!e)return;const t=()=>Ce(e.clientHeight||800);t();const n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]);const Ee=ee.length>100,Se=Ee?Math.max(0,Math.floor(Me/28)-20):0,Le=Ee?Math.min(ee.length,Math.ceil((Me+ke)/28)+20):ee.length,$e=a(()=>ee.slice(Se,Le),[ee,Se,Le]),Ne=28*Se,Ae=28*(ee.length-Le),ze="px-2 py-1.5 text-left text-xs font-medium text-gray-500 uppercase bg-gray-100 border-b border-r border-gray-200 select-none";/* @__PURE__ */
|
|
3
3
|
return i("div",{ref:xe,className:"border border-gray-300 rounded overflow-scroll grid-scroll",style:{maxHeight:b,height:b},onScroll:e=>De(e.target.scrollTop),children:[
|
|
4
4
|
/* @__PURE__ */i("table",{ref:D,className:"border-collapse select-none",style:{tableLayout:"fixed",minWidth:36+e.reduce((t,n)=>t+me(e.indexOf(n)),0)},children:[
|
|
5
5
|
/* @__PURE__ */i("colgroup",{children:[
|
|
6
6
|
/* @__PURE__ */u("col",{style:{width:36}}),e.map((e,t)=>/* @__PURE__ */u("col",{style:{width:me(t)}},e.key))]}),
|
|
7
7
|
/* @__PURE__ */u("thead",{className:"sticky top-0 z-10",children:/* @__PURE__ */i("tr",{children:[
|
|
8
|
-
/* @__PURE__ */u("th",{className:ze+" text-center w-9 cursor-pointer hover:bg-gray-200",onClick:()=>{B({row:0,col:0}),
|
|
9
|
-
return i("th",{className:`${ze} cursor-pointer hover:bg-gray-200 relative${r?" !bg-blue-200":""}${I===n?" !bg-blue-100":""}`,style:{width:me(n)},draggable:!0,onDragStart:()=>(e=>
|
|
8
|
+
/* @__PURE__ */u("th",{className:ze+" text-center w-9 cursor-pointer hover:bg-gray-200",onClick:()=>{B({row:0,col:0}),V({row:ee.length-1,col:e.length-1})},title:k.selectAll,children:"#"}),e.map((t,n)=>{const r=q&&W&&Math.min(q.col,W.col)<=n&&n<=Math.max(q.col,W.col)&&0===Math.min(q.row,W.row)&&Math.max(q.row,W.row)===ee.length-1;/* @__PURE__ */
|
|
9
|
+
return i("th",{className:`${ze} cursor-pointer hover:bg-gray-200 relative${r?" !bg-blue-200":""}${I===n?" !bg-blue-100":""}`,style:{width:me(n)},draggable:!0,onDragStart:()=>(e=>P(e))(n),onDragOver:e=>((e,t)=>{e.preventDefault(),X(t)})(e,n),onDrop:()=>(t=>{if(null===F||F===t)return P(null),void X(null);const n=ee.map(e=>{const n=[...e],[r]=n.splice(F,1);return n.splice(t,0,r),n});if(m(n),f){const n=[...e],[r]=n.splice(F,1);n.splice(t,0,r),f(n)}P(null),X(null)})(n),onDragEnd:()=>{P(null),X(null)},onClick:e=>{e.shiftKey&&q||B({row:0,col:n}),V({row:ee.length-1,col:n})},onContextMenu:e=>ge(e,n),children:[t.title,
|
|
10
10
|
/* @__PURE__ */u("div",{className:"absolute -right-1 top-0 bottom-0 w-2 cursor-col-resize z-20",onMouseDown:e=>((e,t)=>{e.preventDefault(),e.stopPropagation(),$.current={col:t,startX:e.clientX,startW:me(t)},document.body.style.cursor="col-resize"})(e,n),onDoubleClick:e=>{e.stopPropagation(),pe(n)},title:k.resize})]},t.key)})]})}),
|
|
11
|
-
/* @__PURE__ */i("tbody",{children:[Ne>0&&/* @__PURE__ */u("tr",{style:{height:Ne}}),$e.map((t,n)=>{const r=
|
|
11
|
+
/* @__PURE__ */i("tbody",{children:[Ne>0&&/* @__PURE__ */u("tr",{style:{height:Ne}}),$e.map((t,n)=>{const r=Se+n,o=q&&W&&Math.min(q.row,W.row)<=r&&r<=Math.max(q.row,W.row)&&0===Math.min(q.col,W.col)&&Math.max(q.col,W.col)===e.length-1;/* @__PURE__ */
|
|
12
12
|
return i("tr",{style:{height:fe(r)},children:[
|
|
13
|
-
/* @__PURE__ */i("td",{className:`relative px-1 py-1 text-center text-[10px] text-gray-400 border-b border-r border-gray-200 bg-gray-50 select-none cursor-pointer hover:bg-gray-200${o?" !bg-blue-200 !text-gray-700":""}${
|
|
14
|
-
/* @__PURE__ */u("div",{className:"absolute -bottom-1 left-0 right-0 h-2 cursor-row-resize z-20",onMouseDown:e=>((e,t)=>{e.preventDefault(),e.stopPropagation(),z.current={row:t,startY:e.clientY,startH:fe(t)},document.body.style.cursor="row-resize"})(e,r),onDoubleClick:e=>{e.stopPropagation(),ye(r)},title:k.resize})]}),e.map((e,n)=>{const o=q&&W&&function(e,t,n,r){const o=Math.min(e.row,t.row),l=Math.max(e.row,t.row),c=Math.min(e.col,t.col),a=Math.max(e.col,t.col);return n>=o&&n<=l&&r>=c&&r<=a}(q,W,r,n),l=
|
|
15
|
-
return i("td",{className:`relative px-0 py-0 border-b border-r border-gray-200 text-sm${e.readOnly?" bg-gray-50 text-gray-500 cursor-default":" cursor-cell"}${o?" !bg-blue-100":""}${c&&!o?" ring-2 ring-inset ring-blue-400":""}${g?" !bg-blue-50 ring-1 ring-inset ring-blue-300":""}`,onMouseDown:e=>{if(e.target===e.currentTarget){ne(e,r,n);const t=e.currentTarget.querySelector("[data-row][data-col]");t?.focus()}},onMouseEnter:()=>re(r,n),onClick:e=>{if(e.target===e.currentTarget){const t=e.currentTarget.querySelector("[data-row][data-col]");t?.focus()}},onDoubleClick:t=>{t.target!==t.currentTarget||e.readOnly||
|
|
16
|
-
/* @__PURE__ */u(w,{contentEditable:l,suppressContentEditableWarning:!0,tabIndex:0,"data-row":r,"data-col":n,className:`w-full h-full px-2 py-1 rosh-focus-ring whitespace-nowrap overflow-hidden ${"right"===e.align?"text-right":"center"===e.align?"text-center":""} ${e.readOnly?"cursor-default":"cursor-cell"} font-mono ${m}${f}`,onMouseDown:e=>ne(e,r,n),onMouseEnter:()=>re(r,n),onDoubleClick:()=>{e.readOnly||
|
|
13
|
+
/* @__PURE__ */i("td",{className:`relative px-1 py-1 text-center text-[10px] text-gray-400 border-b border-r border-gray-200 bg-gray-50 select-none cursor-pointer hover:bg-gray-200${o?" !bg-blue-200 !text-gray-700":""}${R===r?" !bg-blue-100":""}`,draggable:!0,onDragStart:()=>(e=>T(e))(r),onDragOver:e=>((e,t)=>{e.preventDefault(),K(t)})(e,r),onDrop:()=>(e=>{if(null===O||O===e)return T(null),void K(null);const t=ee.map(e=>[...e]),[n]=t.splice(O,1);t.splice(e,0,n),m(t),T(null),K(null)})(r),onDragEnd:()=>{T(null),K(null)},onClick:t=>{t.shiftKey&&q||B({row:r,col:0}),V({row:r,col:e.length-1})},onContextMenu:e=>we(e,r),children:[r+1,
|
|
14
|
+
/* @__PURE__ */u("div",{className:"absolute -bottom-1 left-0 right-0 h-2 cursor-row-resize z-20",onMouseDown:e=>((e,t)=>{e.preventDefault(),e.stopPropagation(),z.current={row:t,startY:e.clientY,startH:fe(t)},document.body.style.cursor="row-resize"})(e,r),onDoubleClick:e=>{e.stopPropagation(),ye(r)},title:k.resize})]}),e.map((e,n)=>{const o=q&&W&&function(e,t,n,r){const o=Math.min(e.row,t.row),l=Math.max(e.row,t.row),c=Math.min(e.col,t.col),a=Math.max(e.col,t.col);return n>=o&&n<=l&&r>=c&&r<=a}(q,W,r,n),l=H?.row===r&&H?.col===n&&!e.readOnly,c=C?.row===r&&C?.col===n,a=v?.[`${r}:${n}`],s=q&&W?Math.max(q.row,W.row):-1,d=q&&W?Math.max(q.col,W.col):-1,h=q&&W&&r===s&&n===d,g=Q.current&&G&&q&&W&&(()=>{const e=Math.min(q.row,W.row),t=Math.max(q.row,W.row),o=Math.min(q.col,W.col),l=Math.max(q.col,W.col);let c=e,a=t,s=o,i=l;return G.row>t?a=G.row:G.row<e&&(c=G.row),G.col>l?i=G.col:G.col<o&&(s=G.col),r>=c&&r<=a&&n>=s&&n<=i&&!(r>=e&&r<=t&&n>=o&&n<=l)})(),m="sm"===a?.fontSize?"text-[11px]":"lg"===a?.fontSize?"text-sm":"xl"===a?.fontSize?"text-base":"text-xs",f=`${a?.bold?" font-bold":""}${a?.italic?" italic":""}${a?.underline?" underline":""}`;/* @__PURE__ */
|
|
15
|
+
return i("td",{className:`relative px-0 py-0 border-b border-r border-gray-200 text-sm${e.readOnly?" bg-gray-50 text-gray-500 cursor-default":" cursor-cell"}${o?" !bg-blue-100":""}${c&&!o?" ring-2 ring-inset ring-blue-400":""}${g?" !bg-blue-50 ring-1 ring-inset ring-blue-300":""}`,onMouseDown:e=>{if(e.target===e.currentTarget){ne(e,r,n);const t=e.currentTarget.querySelector("[data-row][data-col]");t?.focus()}},onMouseEnter:()=>re(r,n),onClick:e=>{if(e.target===e.currentTarget){const t=e.currentTarget.querySelector("[data-row][data-col]");t?.focus()}},onDoubleClick:t=>{t.target!==t.currentTarget||e.readOnly||Y({row:r,col:n})},children:[
|
|
16
|
+
/* @__PURE__ */u(w,{contentEditable:l,suppressContentEditableWarning:!0,tabIndex:0,"data-row":r,"data-col":n,className:`w-full h-full px-2 py-1 rosh-focus-ring whitespace-nowrap overflow-hidden ${"right"===e.align?"text-right":"center"===e.align?"text-center":""} ${e.readOnly?"cursor-default":"cursor-cell"} font-mono ${m}${f}`,onMouseDown:e=>ne(e,r,n),onMouseEnter:()=>re(r,n),onDoubleClick:()=>{e.readOnly||Y({row:r,col:n})},onFocus:()=>{E({row:r,col:n}),_.current||(B({row:r,col:n}),V({row:r,col:n}))},onBlur:e=>{const o=e.currentTarget.textContent||"";o!==(t[n]||"")&&te(r,n,o),Y(null)},onInput:()=>ce(r),onPaste:e=>oe(e,r,n),onKeyDown:t=>{if(!(l||e.readOnly||1!==t.key.length||t.ctrlKey||t.metaKey||t.altKey))return t.preventDefault(),te(r,n,t.key),j.current={row:r,col:n},void Y({row:r,col:n});le(t,r,n)},text:t[n]||""}),h&&/* @__PURE__ */u("div",{onMouseDown:ve,title:k.fill,className:"absolute -bottom-[3px] -right-[3px] w-[7px] h-[7px] bg-blue-500 border border-white cursor-crosshair z-30 hover:bg-blue-600"})]},n)})]},r)}),Ae>0&&/* @__PURE__ */u("tr",{style:{height:Ae}})]})]}),ae&&s(
|
|
17
17
|
/* @__PURE__ */i(d,{children:[
|
|
18
18
|
/* @__PURE__ */u("div",{className:"fixed inset-0 z-[200]",onPointerDown:()=>se(null)}),
|
|
19
19
|
/* @__PURE__ */u("div",{className:"fixed z-[201] bg-white rounded-lg shadow-lg border border-gray-200 py-1 min-w-[160px]",style:{left:ae.x,top:ae.y},children:ae.items.map((e,t)=>/* @__PURE__ */u("button",{onPointerDown:t=>{t.stopPropagation(),e.onClick()},className:"w-full text-left px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100",children:e.label},t))})]}),document.body)]})}export{g as EditableGrid,h as withSpareRow};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
export{FileIntakeAlert,acceptsFile,useFileIntake}from"../chunk-
|
|
2
|
+
export{FileIntakeAlert,acceptsFile,useFileIntake}from"../chunk-SXRJYJ7M.js";import"../chunk-S5QF4VFG.js";
|
package/dist/format/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { C as CurrencyFormat, D as DATE_FORMAT_OPTIONS, a as DateFormatKey, E as EMPTY_VALUE, F as FormatDateOptions, b as FormatMoneyOptions, T as TZ_AUTO, c as TimeAgoOptions, d as currencyDecimals, e as currencySymbol, g as formatBytes, h as formatDate, i as formatDateTime, j as formatMoney, k as formatTime, l as getUserDateFormat, m as getUserTimezone, s as setCurrencyFormats, n as setUserDateFormat, o as setUserTimezone, p as syncTimezoneFromProfile, t as timeAgo } from '../index-
|
|
1
|
+
export { C as CurrencyFormat, D as DATE_FORMAT_OPTIONS, a as DateFormatKey, E as EMPTY_VALUE, F as FormatDateOptions, b as FormatMoneyOptions, T as TZ_AUTO, c as TimeAgoOptions, d as currencyDecimals, e as currencySymbol, g as formatBytes, h as formatDate, i as formatDateTime, j as formatMoney, k as formatTime, l as getUserDateFormat, m as getUserTimezone, s as setCurrencyFormats, n as setUserDateFormat, o as setUserTimezone, p as syncTimezoneFromProfile, t as timeAgo } from '../index-DpUDK9zG.js';
|
package/dist/format/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{DATE_FORMAT_OPTIONS,EMPTY_VALUE,TZ_AUTO,currencyDecimals,currencySymbol,formatBytes,formatDate,formatDateTime,formatMoney,formatTime,getUserDateFormat,getUserTimezone,setCurrencyFormats,setUserDateFormat,setUserTimezone,syncTimezoneFromProfile,timeAgo}from"../chunk-
|
|
1
|
+
export{DATE_FORMAT_OPTIONS,EMPTY_VALUE,TZ_AUTO,currencyDecimals,currencySymbol,formatBytes,formatDate,formatDateTime,formatMoney,formatTime,getUserDateFormat,getUserTimezone,setCurrencyFormats,setUserDateFormat,setUserTimezone,syncTimezoneFromProfile,timeAgo}from"../chunk-W32SKK3D.js";
|
|
@@ -4,7 +4,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
4
4
|
import { useFileIntake, FileIntakeLimits, FileRejection } from './file-intake/index.js';
|
|
5
5
|
import './icons/index.js';
|
|
6
6
|
import './registry-FHdUeVww.js';
|
|
7
|
-
import { c as TimeAgoOptions } from './index-
|
|
7
|
+
import { c as TimeAgoOptions } from './index-DpUDK9zG.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Button styling — the class strings `Button` and `IconButton` wear, and the
|
|
@@ -755,11 +755,11 @@ interface ShellStrings {
|
|
|
755
755
|
/** Marks a tab with unsaved changes (the dot's accessible text). */
|
|
756
756
|
unsaved: string;
|
|
757
757
|
/** The active tab's copy icon: `"Copy SO-0041"`. */
|
|
758
|
-
copy
|
|
758
|
+
copy: (text: string) => string;
|
|
759
759
|
/** The copy icon's label for a moment after it copied. */
|
|
760
|
-
copied
|
|
760
|
+
copied: string;
|
|
761
761
|
/** The active tab's icon, where it opens the page's own menu. */
|
|
762
|
-
tabMenu
|
|
762
|
+
tabMenu: string;
|
|
763
763
|
/** Asked before a tab with unsaved changes closes. */
|
|
764
764
|
discardTitle: string;
|
|
765
765
|
discardOne: string;
|
|
@@ -868,8 +868,9 @@ interface ShellStrings {
|
|
|
868
868
|
next: string;
|
|
869
869
|
last: string;
|
|
870
870
|
};
|
|
871
|
-
/** `ListFooter` and `ListLoadError
|
|
872
|
-
*
|
|
871
|
+
/** `ListFooter` and `ListLoadError`, and what `EntityList` says in the same
|
|
872
|
+
* words: its row menu's heading and the line under its last row. `label` is
|
|
873
|
+
* the caller's own noun ("records"); the counts are numbers, for the plural. */
|
|
873
874
|
list: {
|
|
874
875
|
/** Before the em dash: "3 selected — 40 records". */
|
|
875
876
|
selected: (count: number) => string;
|
|
@@ -879,7 +880,8 @@ interface ShellStrings {
|
|
|
879
880
|
allLoaded: (total: number, label: string) => string;
|
|
880
881
|
count: (total: number, label: string) => string;
|
|
881
882
|
loadedOf: (loaded: number, total: number, label: string) => string;
|
|
882
|
-
/** After a middle dot: "40 of 900 records · Loading more...".
|
|
883
|
+
/** After a middle dot: "40 of 900 records · Loading more...". `EntityList`
|
|
884
|
+
* says it again under the last row, where the next page will land. */
|
|
883
885
|
loadingMore: string;
|
|
884
886
|
loadError: string;
|
|
885
887
|
loadErrorMessage: string;
|
|
@@ -946,12 +948,18 @@ interface ShellStrings {
|
|
|
946
948
|
preview: string;
|
|
947
949
|
alt: (subjectName: string, assetName: string) => string;
|
|
948
950
|
};
|
|
949
|
-
/** `Snippet`'s copy button,
|
|
951
|
+
/** `Snippet`'s copy button, `CopyButton` beside a record's number in a
|
|
952
|
+
* window title, and the clipboard's toasts. */
|
|
950
953
|
copy: {
|
|
951
954
|
copy: string;
|
|
952
955
|
copyLabel: (label: string) => string;
|
|
953
956
|
/** Snippet's spoken confirmation. */
|
|
954
957
|
copied: string;
|
|
958
|
+
/** `CopyButton`'s tooltip. It names the VALUE it copies, where
|
|
959
|
+
* `copyLabel` names a field: "Copy SO-0041". */
|
|
960
|
+
copyValue: (value: string) => string;
|
|
961
|
+
/** …and for a moment after it copied. */
|
|
962
|
+
copiedValue: string;
|
|
955
963
|
/** `copyToClipboard`'s success toast; `label` names what was copied. */
|
|
956
964
|
copiedLabel: (label: string) => string;
|
|
957
965
|
failed: string;
|
|
@@ -1365,6 +1373,145 @@ interface ShellStrings {
|
|
|
1365
1373
|
loadFailed: string;
|
|
1366
1374
|
allowPopups: string;
|
|
1367
1375
|
};
|
|
1376
|
+
/** The plain line a list, or a window whose code is still arriving, shows
|
|
1377
|
+
* in place of its content (`shell/LoadingSpinner`; the kit's ring of the
|
|
1378
|
+
* same export name says only what its `label` prop does). */
|
|
1379
|
+
loading: {
|
|
1380
|
+
label: string;
|
|
1381
|
+
};
|
|
1382
|
+
/** `EntityList`'s row menu, and what it says after a copy or an export. The
|
|
1383
|
+
* menu's heading and the list's footer are `list`'s; a page's own
|
|
1384
|
+
* `contextActions` carry their own labels. */
|
|
1385
|
+
entityList: {
|
|
1386
|
+
/** Opens the row that was right-clicked. */
|
|
1387
|
+
open: string;
|
|
1388
|
+
/** Copies the text selected under the pointer. */
|
|
1389
|
+
copy: string;
|
|
1390
|
+
/** Copies the first column of the ticked rows, by its heading: "Copy PO Number". */
|
|
1391
|
+
copyColumn: (column: string) => string;
|
|
1392
|
+
/** Copies the ticked rows as a table: "Copy row", "Copy 3 rows". */
|
|
1393
|
+
copyRows: (count: number) => string;
|
|
1394
|
+
exportSelected: string;
|
|
1395
|
+
selectAll: string;
|
|
1396
|
+
/** In its place while the list holds fewer rows than exist. */
|
|
1397
|
+
selectAllLoaded: (loaded: number) => string;
|
|
1398
|
+
clearSelection: string;
|
|
1399
|
+
refresh: string;
|
|
1400
|
+
/** What a copy names in `copy.copiedLabel`'s toast: "Text copied"… */
|
|
1401
|
+
copiedText: string;
|
|
1402
|
+
/** …"Row copied", "3 rows copied". */
|
|
1403
|
+
copiedRows: (count: number) => string;
|
|
1404
|
+
/** The export's toast, when the file holds every row that was ticked. */
|
|
1405
|
+
exported: (count: number) => string;
|
|
1406
|
+
/** The server capped the export: `kept` of the `asked` rows are in the file… */
|
|
1407
|
+
exportTruncated: (kept: number, asked: number) => string;
|
|
1408
|
+
/** …or it did not say how many are. */
|
|
1409
|
+
exportTruncatedUnknown: (asked: number) => string;
|
|
1410
|
+
exportFailed: string;
|
|
1411
|
+
};
|
|
1412
|
+
/** `ResizableTable`'s footer controls: the column chooser, and on a phone
|
|
1413
|
+
* the switch that brings the tick-box column back. Column names are the
|
|
1414
|
+
* caller's. */
|
|
1415
|
+
columns: {
|
|
1416
|
+
/** The chooser's button, as a tooltip, and the heading over its list. */
|
|
1417
|
+
choose: string;
|
|
1418
|
+
heading: string;
|
|
1419
|
+
reset: string;
|
|
1420
|
+
/** An admin's link under the list, and what it reads once it has saved. */
|
|
1421
|
+
saveDefault: string;
|
|
1422
|
+
savedDefault: string;
|
|
1423
|
+
/** The phone's switch: its two faces, then the tooltip for each. */
|
|
1424
|
+
select: string;
|
|
1425
|
+
selectDone: string;
|
|
1426
|
+
showSelection: string;
|
|
1427
|
+
hideSelection: string;
|
|
1428
|
+
};
|
|
1429
|
+
/** `EntityWindowState`: what a record's window says while it has no record
|
|
1430
|
+
* to draw. A refusal (403) is `errors.noAccess`, by way of `Result`. */
|
|
1431
|
+
record: {
|
|
1432
|
+
loading: string;
|
|
1433
|
+
signInRequired: string;
|
|
1434
|
+
signInBody: string;
|
|
1435
|
+
notFound: string;
|
|
1436
|
+
loadFailed: string;
|
|
1437
|
+
/** Under `loadFailed`, when trying again may help… */
|
|
1438
|
+
checkConnection: string;
|
|
1439
|
+
/** …and when the server refused the request itself. */
|
|
1440
|
+
rejected: string;
|
|
1441
|
+
retry: string;
|
|
1442
|
+
};
|
|
1443
|
+
/** `ChangePasswordForm` (its `submitLabel` and `doneLabel` win). */
|
|
1444
|
+
password: {
|
|
1445
|
+
current: string;
|
|
1446
|
+
newPassword: string;
|
|
1447
|
+
confirm: string;
|
|
1448
|
+
submit: string;
|
|
1449
|
+
/** The submit button while the change is in flight. */
|
|
1450
|
+
submitting: string;
|
|
1451
|
+
/** The button under the confirmation. */
|
|
1452
|
+
done: string;
|
|
1453
|
+
currentRequired: string;
|
|
1454
|
+
tooShort: (minLength: number) => string;
|
|
1455
|
+
mismatch: string;
|
|
1456
|
+
/** When the host's `onSubmit` rejects without a message of its own. */
|
|
1457
|
+
failed: string;
|
|
1458
|
+
changed: string;
|
|
1459
|
+
};
|
|
1460
|
+
/** `PdfActionButton`: its menu, its toasts, and what it puts in the Preview
|
|
1461
|
+
* window while the document is on its way (its `label` wins). */
|
|
1462
|
+
pdfAction: {
|
|
1463
|
+
label: string;
|
|
1464
|
+
/** The button while a document is being fetched. */
|
|
1465
|
+
loading: string;
|
|
1466
|
+
preview: string;
|
|
1467
|
+
download: string;
|
|
1468
|
+
email: string;
|
|
1469
|
+
downloaded: (filename: string) => string;
|
|
1470
|
+
/** A download or an email that stopped waiting for the document. */
|
|
1471
|
+
tookTooLong: (filename: string) => string;
|
|
1472
|
+
/** The Preview window's placeholder, and the two ways it can end without a
|
|
1473
|
+
* document: the fetch never settled, or it settled with nothing. */
|
|
1474
|
+
previewLoading: string;
|
|
1475
|
+
previewTookTooLong: string;
|
|
1476
|
+
previewFailed: string;
|
|
1477
|
+
};
|
|
1478
|
+
/** `UndoControls`. `label` is the step's own name, as the form registered
|
|
1479
|
+
* it; `keys` is the shortcut as the reader's platform writes it. */
|
|
1480
|
+
undo: {
|
|
1481
|
+
undo: string;
|
|
1482
|
+
redo: string;
|
|
1483
|
+
/** The buttons' tooltips: "Undo supplier (Ctrl+Z)". */
|
|
1484
|
+
undoStep: (label: string, keys: string) => string;
|
|
1485
|
+
redoStep: (label: string, keys: string) => string;
|
|
1486
|
+
nothingToUndo: string;
|
|
1487
|
+
nothingToRedo: string;
|
|
1488
|
+
};
|
|
1489
|
+
/** `SoundsPanel`, and the same grid in Preferences → Customization. Only the
|
|
1490
|
+
* NAMES are here: the scheme and event keys stored under `erp_sound_config`
|
|
1491
|
+
* are identifiers and never translated. */
|
|
1492
|
+
sounds: {
|
|
1493
|
+
title: string;
|
|
1494
|
+
/** The switch over the grid. */
|
|
1495
|
+
enable: string;
|
|
1496
|
+
autosave: string;
|
|
1497
|
+
/** One round button of the grid, by its row and column: "Click — Classic". */
|
|
1498
|
+
choice: (event: string, pack: string) => string;
|
|
1499
|
+
/** The schemes, a column each. */
|
|
1500
|
+
packClassic: string;
|
|
1501
|
+
packMinimal: string;
|
|
1502
|
+
packRetro: string;
|
|
1503
|
+
packSoft: string;
|
|
1504
|
+
packArcade: string;
|
|
1505
|
+
packSilent: string;
|
|
1506
|
+
/** The events, a row each. */
|
|
1507
|
+
eventClick: string;
|
|
1508
|
+
eventSuccess: string;
|
|
1509
|
+
eventError: string;
|
|
1510
|
+
eventNotification: string;
|
|
1511
|
+
eventStartup: string;
|
|
1512
|
+
eventTimerDone: string;
|
|
1513
|
+
eventLogout: string;
|
|
1514
|
+
};
|
|
1368
1515
|
}
|
|
1369
1516
|
declare const DEFAULT_SHELL_STRINGS: ShellStrings;
|
|
1370
1517
|
/** A per-section partial: override any subset of a section's strings. */
|
|
@@ -3278,10 +3425,30 @@ declare const GROUP_COLORS_SOLID: Record<SemanticGroup, string>;
|
|
|
3278
3425
|
* build its own pill — a virtualised cell, a canvas legend — takes the same
|
|
3279
3426
|
* colours instead of guessing at them. */
|
|
3280
3427
|
declare function groupColors(group: SemanticGroup, emphasis?: StatusEmphasis): string;
|
|
3281
|
-
|
|
3428
|
+
/** What a status is CALLED, when the host has a word for it. */
|
|
3429
|
+
type StatusLabelResolver = (status: string) => ReactNode | undefined;
|
|
3430
|
+
/**
|
|
3431
|
+
* `groups` maps a status to its colour. `labelFor` maps it to its WORDS.
|
|
3432
|
+
*
|
|
3433
|
+
* A status is a stored value: `in_production` is what the row holds and what
|
|
3434
|
+
* the API returns, and it must stay that. What a reader is shown is a label
|
|
3435
|
+
* resolved FROM it, and the derived one is English by construction. A host
|
|
3436
|
+
* whose interface is in another language passes `labelFor` once, here, and
|
|
3437
|
+
* every badge under it speaks that language; a status it returns `undefined`
|
|
3438
|
+
* for keeps the derived label, so a catalog that falls behind a new status
|
|
3439
|
+
* shows English rather than nothing. A badge's own `label` still wins.
|
|
3440
|
+
*/
|
|
3441
|
+
declare function StatusBadgeProvider({ groups, labelFor, children, }: {
|
|
3282
3442
|
groups: Record<string, SemanticGroup>;
|
|
3443
|
+
labelFor?: StatusLabelResolver;
|
|
3283
3444
|
children: ReactNode;
|
|
3284
3445
|
}): react_jsx_runtime.JSX.Element;
|
|
3446
|
+
/**
|
|
3447
|
+
* The words for a status, wherever it is written outside a badge — a filter
|
|
3448
|
+
* option, a search result's second line, a chart legend — so they match the
|
|
3449
|
+
* badge beside them. The host's `labelFor` first, the derived label otherwise.
|
|
3450
|
+
*/
|
|
3451
|
+
declare function useStatusLabel(): (status: string) => ReactNode;
|
|
3285
3452
|
interface StatusBadgeProps {
|
|
3286
3453
|
status: string;
|
|
3287
3454
|
/**
|
|
@@ -7900,7 +8067,7 @@ interface TimeAgoProps extends TimeAgoOptions {
|
|
|
7900
8067
|
* "5m ago", with the full date and time on hover — the same everywhere a
|
|
7901
8068
|
* relative time is shown. A missing value is the empty value, with no hover.
|
|
7902
8069
|
*/
|
|
7903
|
-
declare function TimeAgo({ value, precise, className }: TimeAgoProps): react_jsx_runtime.JSX.Element;
|
|
8070
|
+
declare function TimeAgo({ value, precise, locale, className }: TimeAgoProps): react_jsx_runtime.JSX.Element;
|
|
7904
8071
|
|
|
7905
8072
|
/**
|
|
7906
8073
|
* The value, settled: it changes only after `delay` ms (300 by default) with no
|
|
@@ -8366,4 +8533,4 @@ declare function ChordChart({ labels, matrix, size, maxNodes, padAngle, arcWidth
|
|
|
8366
8533
|
* string when the source is consumed without a build (e.g. tests). */
|
|
8367
8534
|
declare const VERSION: string;
|
|
8368
8535
|
|
|
8369
|
-
export { type BudgetBarProps as $, ALT as A, type BackgroundVariant as B, type ColumnDef as C, type BandScale as D, Banner as E, type BannerEmphasis as F, type BannerProps as G, type BannerTone as H, BarChart as I, type BarChartProps as J, type BoxPlotBox as K, BoxPlotChart as L, type BoxPlotChartProps as M, BrandAssetEditor as N, type BrandAssetEditorProps as O, type PaginatedResponse as P, type BrandAssetPreview as Q, BrandMark as R, type SearchConfig as S, type BrandMarkProps as T, type BrandMarkSlot as U, type BrandMarkSurface as V, type BrandMarkTreatment as W, type BreadcrumbItem as X, Breadcrumbs as Y, type BreadcrumbsProps as Z, BudgetBar as _, type SortState as a, type ColorSwatchSize as a$, type BudgetState as a0, Button as a1, type ButtonClassesOptions as a2, type ButtonProps as a3, type ButtonSize as a4, type ButtonVariant as a5, CHART_INK as a6, CMD_A as a7, CMD_DOT as a8, CMD_ENTER as a9, type ChartFrameProps as aA, ChartHighlightProvider as aB, type ChartLegendEntry as aC, type ChartLegendSwatch as aD, type ChartRange as aE, type ChartReferenceLine as aF, type ChartRevealDirection as aG, ChartSkeleton as aH, type ChartSkeletonProps as aI, type ChartStatusTone as aJ, type ChartStrokeVariant as aK, ChartTooltip as aL, type ChartTooltipProps as aM, type ChartTooltipRow as aN, ChatTemplate as aO, Checkbox as aP, type CheckboxProps as aQ, CheckoutTemplate as aR, ChordChart as aS, type ChordChartProps as aT, ColorPicker as aU, ColorPickerPanel as aV, type ColorPickerPanelProps as aW, type ColorPickerProps as aX, type ColorPreset as aY, ColorSwatch as aZ, type ColorSwatchProps as a_, CMD_K as aa, CMD_S as ab, CORNERS as ac, Calendar as ad, type CalendarMode as ae, type CalendarProps as af, type Candle as ag, CandlestickChart as ah, type CandlestickChartProps as ai, Card as aj, type CardPadding as ak, type CardProps as al, CartesianPlot as am, type CartesianPlotProps as an, type CellStyle as ao, type ChartBackgroundVariant as ap, ChartBrush as aq, type ChartBrushProps as ar, type ChartCurve as as, ChartDefs as at, type ChartDefsProps as au, ChartDot as av, type ChartDotProps as aw, type ChartDotVariant as ax, type ChartFillVariant as ay, ChartFrame as az, ALT_SHIFT_D as b, type DropdownMenuRadioItem as b$, ColoredBadge as b0, type ColoredBadgeProps as b1, ColumnChart as b2, type ColumnChartProps as b3, type ColumnSeries as b4, ComposerAttachments as b5, type ComposerAttachmentsProps as b6, ConfirmProvider as b7, ContainerFillChart as b8, type ContainerFillChartProps as b9, type DateTimePickerProps as bA, type DescriptionColumns as bB, type DescriptionItem as bC, DescriptionList as bD, type DescriptionListProps as bE, Dialog as bF, type DialogProps as bG, type DialogSize as bH, Divider as bI, type DividerProps as bJ, type DividerSpacing as bK, DonutChart as bL, type DonutChartProps as bM, type DonutSegment as bN, Drawer as bO, type DrawerProps as bP, type DrawerSide as bQ, type DrawerSize as bR, DropdownMenu as bS, type DropdownMenuAlign as bT, type DropdownMenuCheckboxItem as bU, type DropdownMenuDividerItem as bV, type DropdownMenuEntry as bW, type DropdownMenuItem as bX, type DropdownMenuLabelItem as bY, type DropdownMenuLinkItem as bZ, type DropdownMenuProps as b_, type ContainerFillItem as ba, ContextMenu as bb, type ContextMenuPoint as bc, type ContextMenuProps as bd, type ContextMenuState as be, type Corners as bf, CountBadge as bg, type CountBadgeProps as bh, type CountBadgeTone as bi, type Curve as bj, DAY_MS as bk, DEFAULT_SHELL_STRINGS as bl, DashboardTemplate as bm, DataTable as bn, type DataTableColumn as bo, type DataTableColumnGroup as bp, type DataTableHeader as bq, DataTablePage as br, type DataTableProps as bs, type DataTableRowLink as bt, type DataTableRowProps as bu, DatePicker as bv, type DatePickerProps as bw, DateRangePicker as bx, type DateRangePickerProps as by, DateTimePicker as bz, ALT_SHIFT_E as c, Inline as c$, type DropdownMenuSide as c0, type DropdownPositionOptions as c1, ENGLISH as c2, ENTER as c3, EditableGrid as c4, type EditableGridProps as c5, EmailTemplate as c6, EmptyState as c7, type EmptyStateProps as c8, EmptyValue as c9, type GlobalSearchProps as cA, Grid as cB, type GridCols as cC, type GridColumn as cD, type GridProps as cE, HeatmapChart as cF, type HeatmapChartProps as cG, HelpCenter as cH, type HelpCenterDoc as cI, type HelpCenterProps as cJ, HexInput as cK, type HistogramBin as cL, HistogramChart as cM, type HistogramChartProps as cN, type Hsv as cO, INPUT_BASE as cP, INPUT_SIZES as cQ, IconButton as cR, type IconButtonClassesOptions as cS, type IconButtonProps as cT, IconRail as cU, IconRailButton as cV, type IconRailButtonProps as cW, type IconRailLabels as cX, type IconRailLabelsShown as cY, type IconRailOrientation as cZ, type IconRailProps as c_, type EmptyValueProps as ca, ErrorBoundary as cb, type ErrorBoundaryProps as cc, ErrorPage as cd, type ErrorPageProps as ce, type FileIntake as cf, FilePicker as cg, type FilePickerProps as ch, type FillVariant as ci, type FormError as cj, FormErrorSummary as ck, type FormErrorSummaryProps as cl, FormField as cm, type FormFieldProps as cn, FormLayoutPage as co, FunnelChart as cp, type FunnelChartProps as cq, type FunnelStage as cr, GLASS_DIVIDER as cs, GLASS_INPUT_BG as ct, GROUP_COLORS as cu, GROUP_COLORS_SOLID as cv, GalleryTemplate as cw, type Gap as cx, type GlassOptions as cy, GlobalSearch as cz, ALT_SHIFT_N as d, PaperclipGlyph as d$, type InlineProps as d0, Input as d1, InputNumber as d2, type InputNumberProps as d3, type InputProps as d4, type InputSize as d5, type Justify as d6, Kanban as d7, type KanbanColumn as d8, type KanbanProps as d9, type MarkdownProps as dA, MediaUploadField as dB, type MediaUploadFieldProps as dC, MediaUploadGrid as dD, type MediaUploadGridItem as dE, type MediaUploadGridProps as dF, type MenuPos as dG, Meter as dH, type MeterProps as dI, MetricBar as dJ, type MetricBarProps as dK, type Milestone as dL, type MilestoneKind as dM, MilestoneTimeline as dN, type MilestoneTimelineProps as dO, NATIVE_MENU_ATTR as dP, NEXT_CHUNK_PATH_PREFIX as dQ, NativeSelect as dR, NumericKeypad as dS, type NumericKeypadProps as dT, OVERLAY_OPEN_EVENT as dU, POPUP_MAX_WIDTH as dV, POST_PRODUCTION_STATUSES as dW, PageHeader as dX, type PageHeaderProps as dY, Pagination as dZ, type PaginationProps as d_, Kbd as da, type KbdProps as db, type KbdSize as dc, Label as dd, type LabelClassesOptions as de, type LabelProps as df, type LadderScale as dg, LineChart as dh, type LineChartProps as di, type LineChartSeries as dj, type LinearScale as dk, type ListDrop as dl, ListFooter as dm, ListLoadError as dn, type ListLoadErrorProps as dp, type ListMove as dq, ListRow as dr, type ListRowProps as ds, LoadingSpinner as dt, type LoadingSpinnerProps as du, MAX_FRACTION_DIGITS as dv, MENU_MAX_HEIGHT as dw, MOD as dx, MOTION as dy, Markdown as dz, APP_UPDATE_POLL_MS as e, STAGES as e$, Paragraph as e0, type ParagraphProps as e1, PieChart as e2, type PieChartProps as e3, type PieSegment as e4, type PlotGeometry as e5, type Point as e6, Popover as e7, type PopoverAlign as e8, type PopoverProps as e9, type RadialBarRow as eA, Radio as eB, RadioGroup as eC, type RadioGroupOption as eD, type RadioGroupOrientation as eE, type RadioGroupProps as eF, type RadioProps as eG, type Range as eH, RangeChart as eI, type RangeChartProps as eJ, type RangeRow as eK, RankedBars as eL, type RankedBarsProps as eM, type RankedBarsRow as eN, ResizeHandle as eO, type ResizeHandleProps as eP, type ResizeHandleSide as eQ, type ResolvedPortalBrandAsset as eR, Result as eS, type ResultProps as eT, type ResultStatus as eU, type RevealDirection as eV, SCATTER_SERIES_CAP as eW, SERIES_SLOT_COUNT as eX, SERIES_VARS as eY, SHELL_LANGUAGE_STORAGE_KEY as eZ, SHIFT as e_, type PopoverRenderProps as ea, type PopoverSide as eb, PopupMenu as ec, PopupMenuDivider as ed, PopupMenuItem as ee, type PopupMenuItemProps as ef, PopupMenuLabel as eg, type PopupMenuProps as eh, PopupSubmenu as ei, type PopupSubmenuProps as ej, type PortalBrandingContextValue as ek, PortalBrandingProvider as el, type PortalBrandingProviderProps as em, ProductionTimeline as en, type ProductionTimelineProps as eo, type ProductionTimelineSnapshot as ep, type ProgressItem as eq, type PublicPortal as er, type PublicPortalBranding as es, RADAR_SERIES_CAP as et, type RadarAxis as eu, RadarChart as ev, type RadarChartProps as ew, type RadarSeries as ex, RadialBarChart as ey, type RadialBarChartProps as ez, Accordion as f, type SliderSize as f$, STALE_CHUNK_RELOAD_COOLDOWN_MS as f0, STALE_CHUNK_RELOAD_KEY as f1, STATUS_VARS as f2, SankeyChart as f3, type SankeyChartProps as f4, type SankeyLink as f5, type SankeyNode as f6, ScatterChart as f7, type ScatterChartProps as f8, type ScatterPoint as f9, type SettingRowProps as fA, type SeverityTone as fB, type ShellContextKind as fC, type ShellContextTarget as fD, type ShellLanguage as fE, ShellLanguageProvider as fF, type ShellLanguageState as fG, type ShellPrefsAdapter as fH, ShellPrefsProvider as fI, type ShellStrings as fJ, type ShellStringsOverride as fK, ShellStringsProvider as fL, SidebarActionButton as fM, type SidebarActionButtonProps as fN, SidebarGroupLabel as fO, type SidebarGroupLabelProps as fP, SidebarLayout as fQ, type SidebarLayoutProps as fR, SidebarNavGroup as fS, type SidebarNavGroupProps as fT, SidebarNavItem as fU, type SidebarNavItemProps as fV, Skeleton as fW, type SkeletonProps as fX, type SkeletonVariant as fY, Slider as fZ, type SliderProps as f_, type ScatterSeries as fa, type SearchListRoute as fb, type SearchProvider as fc, type SearchQuickAction as fd, type SearchResponse as fe, type SearchResult as ff, type SearchableItem as fg, type SearchableOption as fh, type SearchableOptionGroup as fi, SearchableSelect as fj, type SearchableSelectBaseProps as fk, type SearchableSelectMultipleProps as fl, type SearchableSelectProps as fm, Segmented as fn, type SegmentedOption as fo, type SegmentedProps as fp, type SegmentedSize as fq, Select as fr, type SelectBaseProps as fs, type SelectItem as ft, type SelectMultipleProps as fu, type SelectOption as fv, type SelectOptionGroup as fw, type SelectProps as fx, type SemanticGroup as fy, SettingRow as fz, type AccordionItem as g, type TimelineTrackKind as g$, Snippet as g0, type SnippetProps as g1, type SnippetSize as g2, type SnippetVariant as g3, SortableList as g4, type SortableListProps as g5, type SortableListSpacing as g6, Sparkline as g7, type SparklineProps as g8, Stack as g9, TagInput as gA, type TagInputOption as gB, type TagInputProps as gC, Text as gD, type TextProps as gE, type TextSize as gF, type TextTone as gG, type TextWeight as gH, Textarea as gI, type TextareaProps as gJ, type Theme as gK, TileButton as gL, type TileButtonProps as gM, type TileSize as gN, TimeAgo as gO, type TimeAgoProps as gP, TimePicker as gQ, type TimePickerProps as gR, TimeSeriesChart as gS, type TimeSeriesChartProps as gT, type TimeSeriesSeries as gU, type TimelineMarker as gV, type TimelineMarkerKind as gW, type TimelineReport as gX, type TimelineScrubProgress as gY, TimelineTrack as gZ, type TimelineTrackItem as g_, type StackProps as ga, type StaleChunkReloadOptions as gb, StatCard as gc, type StatCardProps as gd, StatTile as ge, type StatTileProps as gf, Statistic as gg, type StatisticProps as gh, type StatisticSize as gi, type StatisticTone as gj, StatusBadge as gk, StatusBadgeProvider as gl, type StatusEmphasis as gm, type StepItem as gn, Stepper as go, type StepperProps as gp, type StrokeVariant as gq, SunburstChart as gr, type SunburstChartProps as gs, type SunburstNode as gt, Switch as gu, type SwitchProps as gv, type SwitchSize as gw, type TabItem as gx, Tabs as gy, type TabsProps as gz, type AccordionProps as h, curvePath as h$, type TimelineTrackPending as h0, type TimelineTrackPhase as h1, type TimelineTrackPlayback as h2, type TimelineTrackProps as h3, type TimelineTrackThumb as h4, Title as h5, type TitleLevel as h6, type TitleProps as h7, type ToastOptions as h8, type ToastPlacement as h9, VITE_PRELOAD_ERROR_EVENT as hA, WaterfallChart as hB, type WaterfallChartProps as hC, type WaterfallStep as hD, type ZLayer as hE, Z_LAYERS as hF, angleScale as hG, appendKey as hH, applyCorners as hI, applyIconSet as hJ, applyThemePrefs as hK, arcPath as hL, areaBetween as hM, areaFrom as hN, autoHighlightIndex as hO, backspace as hP, bandScale as hQ, binValues as hR, budgetState as hS, bumpPath as hT, buttonClasses as hU, calcOverall as hV, calcReportOverall as hW, colorFill as hX, colorSwatchClasses as hY, confirm as hZ, confirmDestructive as h_, Tooltip as ha, type TooltipProps as hb, TopNav as hc, type TopNavItem as hd, type TopNavProps as he, Tree as hf, type TreeDrop as hg, TreeEmptySlot as hh, type TreeEmptySlotProps as hi, TreeGroup as hj, TreeGroupLabel as hk, type TreeGroupProps as hl, type TreeMove as hm, type TreeProps as hn, TreeRow as ho, type TreeRowProps as hp, TreeSeam as hq, type TreeSeamProps as hr, TreemapChart as hs, type TreemapChartProps as ht, type TreemapItem as hu, type TreemapTile as hv, type UseAppUpdateOptions as hw, type UseContextMenu as hx, type UseProductionTimelineOpts as hy, VERSION as hz, type Align as i, useAppUpdate as i$, dashFor as i0, describeContextTarget as i1, dismissPopups as i2, fillFor as i3, fillId as i4, fmtSliderDate as i5, fromKey as i6, glassStyle as i7, glowId as i8, groundId as i9, polygonPoints as iA, popupBounds as iB, prompt as iC, pushRecent as iD, radiusScale as iE, readSavedShellLanguage as iF, registerModalEscapeInterceptor as iG, resolveBrandMarkTreatment as iH, resolveCorners as iI, resolvePortalBrandAsset as iJ, resolveSeriesColor as iK, resolveShellLanguage as iL, resolveTheme as iM, sanitizeRecent as iN, saveShellLanguage as iO, seriesColor as iP, severityOf as iQ, splinePath as iR, squarify as iS, stagger as iT, stepPath as iU, tabButtonId as iV, tabPanelId as iW, toKey as iX, toDayMs as iY, toISODate as iZ, toast as i_, groupColors as ia, hexToHsv as ib, highlightOpacity as ic, hsvToHex as id, iconButtonClasses as ie, inputClasses as ig, installStaleChunkReload as ih, isMac as ii, isSeverityTone as ij, isStaleChunkError as ik, keepsNativeMenu as il, labelClasses as im, ladderScale as io, leavesContextMenuAlone as ip, linearPath as iq, linearScale as ir, logScale as is, maskId as it, matchShellLanguage as iu, mediaFileName as iv, monotonePath as iw, niceMax as ix, openGlobalSearch as iy, parseHexColor as iz, type AngleScale as j, useClickOutside as j0, useConfirm as j1, useContextMenu as j2, useDebouncedValue as j3, useDropdownPosition as j4, useFocusTrap as j5, useHighlight as j6, useIsMobile as j7, useLocalStoragePrefs as j8, usePlotWidth as j9, usePortalBranding as ja, useProductionTimeline as jb, useScrollLock as jc, useShellLanguage as jd, useShellLocale as je, useShellPrefs as jf, useShellStrings as jg, useTheme as jh, AppUpdateBanner as k, type AppUpdateBannerProps as l, AttachButton as m, type AttachButtonProps as n, AttachmentDropZone as o, type AttachmentDropZoneProps as p, AttachmentList as q, type AttachmentListProps as r, AuthScreen as s, type AuthScreenProps as t, Avatar as u, AvatarGroup as v, type AvatarGroupProps as w, type AvatarProps as x, type AvatarSize as y, type AvatarStatus as z };
|
|
8536
|
+
export { type BudgetBarProps as $, ALT as A, type BackgroundVariant as B, type ColumnDef as C, type BandScale as D, Banner as E, type BannerEmphasis as F, type BannerProps as G, type BannerTone as H, BarChart as I, type BarChartProps as J, type BoxPlotBox as K, BoxPlotChart as L, type BoxPlotChartProps as M, BrandAssetEditor as N, type BrandAssetEditorProps as O, type PaginatedResponse as P, type BrandAssetPreview as Q, BrandMark as R, type SearchConfig as S, type BrandMarkProps as T, type BrandMarkSlot as U, type BrandMarkSurface as V, type BrandMarkTreatment as W, type BreadcrumbItem as X, Breadcrumbs as Y, type BreadcrumbsProps as Z, BudgetBar as _, type SortState as a, type ColorSwatchSize as a$, type BudgetState as a0, Button as a1, type ButtonClassesOptions as a2, type ButtonProps as a3, type ButtonSize as a4, type ButtonVariant as a5, CHART_INK as a6, CMD_A as a7, CMD_DOT as a8, CMD_ENTER as a9, type ChartFrameProps as aA, ChartHighlightProvider as aB, type ChartLegendEntry as aC, type ChartLegendSwatch as aD, type ChartRange as aE, type ChartReferenceLine as aF, type ChartRevealDirection as aG, ChartSkeleton as aH, type ChartSkeletonProps as aI, type ChartStatusTone as aJ, type ChartStrokeVariant as aK, ChartTooltip as aL, type ChartTooltipProps as aM, type ChartTooltipRow as aN, ChatTemplate as aO, Checkbox as aP, type CheckboxProps as aQ, CheckoutTemplate as aR, ChordChart as aS, type ChordChartProps as aT, ColorPicker as aU, ColorPickerPanel as aV, type ColorPickerPanelProps as aW, type ColorPickerProps as aX, type ColorPreset as aY, ColorSwatch as aZ, type ColorSwatchProps as a_, CMD_K as aa, CMD_S as ab, CORNERS as ac, Calendar as ad, type CalendarMode as ae, type CalendarProps as af, type Candle as ag, CandlestickChart as ah, type CandlestickChartProps as ai, Card as aj, type CardPadding as ak, type CardProps as al, CartesianPlot as am, type CartesianPlotProps as an, type CellStyle as ao, type ChartBackgroundVariant as ap, ChartBrush as aq, type ChartBrushProps as ar, type ChartCurve as as, ChartDefs as at, type ChartDefsProps as au, ChartDot as av, type ChartDotProps as aw, type ChartDotVariant as ax, type ChartFillVariant as ay, ChartFrame as az, ALT_SHIFT_D as b, type DropdownMenuRadioItem as b$, ColoredBadge as b0, type ColoredBadgeProps as b1, ColumnChart as b2, type ColumnChartProps as b3, type ColumnSeries as b4, ComposerAttachments as b5, type ComposerAttachmentsProps as b6, ConfirmProvider as b7, ContainerFillChart as b8, type ContainerFillChartProps as b9, type DateTimePickerProps as bA, type DescriptionColumns as bB, type DescriptionItem as bC, DescriptionList as bD, type DescriptionListProps as bE, Dialog as bF, type DialogProps as bG, type DialogSize as bH, Divider as bI, type DividerProps as bJ, type DividerSpacing as bK, DonutChart as bL, type DonutChartProps as bM, type DonutSegment as bN, Drawer as bO, type DrawerProps as bP, type DrawerSide as bQ, type DrawerSize as bR, DropdownMenu as bS, type DropdownMenuAlign as bT, type DropdownMenuCheckboxItem as bU, type DropdownMenuDividerItem as bV, type DropdownMenuEntry as bW, type DropdownMenuItem as bX, type DropdownMenuLabelItem as bY, type DropdownMenuLinkItem as bZ, type DropdownMenuProps as b_, type ContainerFillItem as ba, ContextMenu as bb, type ContextMenuPoint as bc, type ContextMenuProps as bd, type ContextMenuState as be, type Corners as bf, CountBadge as bg, type CountBadgeProps as bh, type CountBadgeTone as bi, type Curve as bj, DAY_MS as bk, DEFAULT_SHELL_STRINGS as bl, DashboardTemplate as bm, DataTable as bn, type DataTableColumn as bo, type DataTableColumnGroup as bp, type DataTableHeader as bq, DataTablePage as br, type DataTableProps as bs, type DataTableRowLink as bt, type DataTableRowProps as bu, DatePicker as bv, type DatePickerProps as bw, DateRangePicker as bx, type DateRangePickerProps as by, DateTimePicker as bz, ALT_SHIFT_E as c, Inline as c$, type DropdownMenuSide as c0, type DropdownPositionOptions as c1, ENGLISH as c2, ENTER as c3, EditableGrid as c4, type EditableGridProps as c5, EmailTemplate as c6, EmptyState as c7, type EmptyStateProps as c8, EmptyValue as c9, type GlobalSearchProps as cA, Grid as cB, type GridCols as cC, type GridColumn as cD, type GridProps as cE, HeatmapChart as cF, type HeatmapChartProps as cG, HelpCenter as cH, type HelpCenterDoc as cI, type HelpCenterProps as cJ, HexInput as cK, type HistogramBin as cL, HistogramChart as cM, type HistogramChartProps as cN, type Hsv as cO, INPUT_BASE as cP, INPUT_SIZES as cQ, IconButton as cR, type IconButtonClassesOptions as cS, type IconButtonProps as cT, IconRail as cU, IconRailButton as cV, type IconRailButtonProps as cW, type IconRailLabels as cX, type IconRailLabelsShown as cY, type IconRailOrientation as cZ, type IconRailProps as c_, type EmptyValueProps as ca, ErrorBoundary as cb, type ErrorBoundaryProps as cc, ErrorPage as cd, type ErrorPageProps as ce, type FileIntake as cf, FilePicker as cg, type FilePickerProps as ch, type FillVariant as ci, type FormError as cj, FormErrorSummary as ck, type FormErrorSummaryProps as cl, FormField as cm, type FormFieldProps as cn, FormLayoutPage as co, FunnelChart as cp, type FunnelChartProps as cq, type FunnelStage as cr, GLASS_DIVIDER as cs, GLASS_INPUT_BG as ct, GROUP_COLORS as cu, GROUP_COLORS_SOLID as cv, GalleryTemplate as cw, type Gap as cx, type GlassOptions as cy, GlobalSearch as cz, ALT_SHIFT_N as d, PaperclipGlyph as d$, type InlineProps as d0, Input as d1, InputNumber as d2, type InputNumberProps as d3, type InputProps as d4, type InputSize as d5, type Justify as d6, Kanban as d7, type KanbanColumn as d8, type KanbanProps as d9, type MarkdownProps as dA, MediaUploadField as dB, type MediaUploadFieldProps as dC, MediaUploadGrid as dD, type MediaUploadGridItem as dE, type MediaUploadGridProps as dF, type MenuPos as dG, Meter as dH, type MeterProps as dI, MetricBar as dJ, type MetricBarProps as dK, type Milestone as dL, type MilestoneKind as dM, MilestoneTimeline as dN, type MilestoneTimelineProps as dO, NATIVE_MENU_ATTR as dP, NEXT_CHUNK_PATH_PREFIX as dQ, NativeSelect as dR, NumericKeypad as dS, type NumericKeypadProps as dT, OVERLAY_OPEN_EVENT as dU, POPUP_MAX_WIDTH as dV, POST_PRODUCTION_STATUSES as dW, PageHeader as dX, type PageHeaderProps as dY, Pagination as dZ, type PaginationProps as d_, Kbd as da, type KbdProps as db, type KbdSize as dc, Label as dd, type LabelClassesOptions as de, type LabelProps as df, type LadderScale as dg, LineChart as dh, type LineChartProps as di, type LineChartSeries as dj, type LinearScale as dk, type ListDrop as dl, ListFooter as dm, ListLoadError as dn, type ListLoadErrorProps as dp, type ListMove as dq, ListRow as dr, type ListRowProps as ds, LoadingSpinner as dt, type LoadingSpinnerProps as du, MAX_FRACTION_DIGITS as dv, MENU_MAX_HEIGHT as dw, MOD as dx, MOTION as dy, Markdown as dz, APP_UPDATE_POLL_MS as e, STAGES as e$, Paragraph as e0, type ParagraphProps as e1, PieChart as e2, type PieChartProps as e3, type PieSegment as e4, type PlotGeometry as e5, type Point as e6, Popover as e7, type PopoverAlign as e8, type PopoverProps as e9, type RadialBarRow as eA, Radio as eB, RadioGroup as eC, type RadioGroupOption as eD, type RadioGroupOrientation as eE, type RadioGroupProps as eF, type RadioProps as eG, type Range as eH, RangeChart as eI, type RangeChartProps as eJ, type RangeRow as eK, RankedBars as eL, type RankedBarsProps as eM, type RankedBarsRow as eN, ResizeHandle as eO, type ResizeHandleProps as eP, type ResizeHandleSide as eQ, type ResolvedPortalBrandAsset as eR, Result as eS, type ResultProps as eT, type ResultStatus as eU, type RevealDirection as eV, SCATTER_SERIES_CAP as eW, SERIES_SLOT_COUNT as eX, SERIES_VARS as eY, SHELL_LANGUAGE_STORAGE_KEY as eZ, SHIFT as e_, type PopoverRenderProps as ea, type PopoverSide as eb, PopupMenu as ec, PopupMenuDivider as ed, PopupMenuItem as ee, type PopupMenuItemProps as ef, PopupMenuLabel as eg, type PopupMenuProps as eh, PopupSubmenu as ei, type PopupSubmenuProps as ej, type PortalBrandingContextValue as ek, PortalBrandingProvider as el, type PortalBrandingProviderProps as em, ProductionTimeline as en, type ProductionTimelineProps as eo, type ProductionTimelineSnapshot as ep, type ProgressItem as eq, type PublicPortal as er, type PublicPortalBranding as es, RADAR_SERIES_CAP as et, type RadarAxis as eu, RadarChart as ev, type RadarChartProps as ew, type RadarSeries as ex, RadialBarChart as ey, type RadialBarChartProps as ez, Accordion as f, type SliderSize as f$, STALE_CHUNK_RELOAD_COOLDOWN_MS as f0, STALE_CHUNK_RELOAD_KEY as f1, STATUS_VARS as f2, SankeyChart as f3, type SankeyChartProps as f4, type SankeyLink as f5, type SankeyNode as f6, ScatterChart as f7, type ScatterChartProps as f8, type ScatterPoint as f9, type SettingRowProps as fA, type SeverityTone as fB, type ShellContextKind as fC, type ShellContextTarget as fD, type ShellLanguage as fE, ShellLanguageProvider as fF, type ShellLanguageState as fG, type ShellPrefsAdapter as fH, ShellPrefsProvider as fI, type ShellStrings as fJ, type ShellStringsOverride as fK, ShellStringsProvider as fL, SidebarActionButton as fM, type SidebarActionButtonProps as fN, SidebarGroupLabel as fO, type SidebarGroupLabelProps as fP, SidebarLayout as fQ, type SidebarLayoutProps as fR, SidebarNavGroup as fS, type SidebarNavGroupProps as fT, SidebarNavItem as fU, type SidebarNavItemProps as fV, Skeleton as fW, type SkeletonProps as fX, type SkeletonVariant as fY, Slider as fZ, type SliderProps as f_, type ScatterSeries as fa, type SearchListRoute as fb, type SearchProvider as fc, type SearchQuickAction as fd, type SearchResponse as fe, type SearchResult as ff, type SearchableItem as fg, type SearchableOption as fh, type SearchableOptionGroup as fi, SearchableSelect as fj, type SearchableSelectBaseProps as fk, type SearchableSelectMultipleProps as fl, type SearchableSelectProps as fm, Segmented as fn, type SegmentedOption as fo, type SegmentedProps as fp, type SegmentedSize as fq, Select as fr, type SelectBaseProps as fs, type SelectItem as ft, type SelectMultipleProps as fu, type SelectOption as fv, type SelectOptionGroup as fw, type SelectProps as fx, type SemanticGroup as fy, SettingRow as fz, type AccordionItem as g, type TimelineTrackKind as g$, Snippet as g0, type SnippetProps as g1, type SnippetSize as g2, type SnippetVariant as g3, SortableList as g4, type SortableListProps as g5, type SortableListSpacing as g6, Sparkline as g7, type SparklineProps as g8, Stack as g9, TagInput as gA, type TagInputOption as gB, type TagInputProps as gC, Text as gD, type TextProps as gE, type TextSize as gF, type TextTone as gG, type TextWeight as gH, Textarea as gI, type TextareaProps as gJ, type Theme as gK, TileButton as gL, type TileButtonProps as gM, type TileSize as gN, TimeAgo as gO, type TimeAgoProps as gP, TimePicker as gQ, type TimePickerProps as gR, TimeSeriesChart as gS, type TimeSeriesChartProps as gT, type TimeSeriesSeries as gU, type TimelineMarker as gV, type TimelineMarkerKind as gW, type TimelineReport as gX, type TimelineScrubProgress as gY, TimelineTrack as gZ, type TimelineTrackItem as g_, type StackProps as ga, type StaleChunkReloadOptions as gb, StatCard as gc, type StatCardProps as gd, StatTile as ge, type StatTileProps as gf, Statistic as gg, type StatisticProps as gh, type StatisticSize as gi, type StatisticTone as gj, StatusBadge as gk, StatusBadgeProvider as gl, type StatusEmphasis as gm, type StepItem as gn, Stepper as go, type StepperProps as gp, type StrokeVariant as gq, SunburstChart as gr, type SunburstChartProps as gs, type SunburstNode as gt, Switch as gu, type SwitchProps as gv, type SwitchSize as gw, type TabItem as gx, Tabs as gy, type TabsProps as gz, type AccordionProps as h, curvePath as h$, type TimelineTrackPending as h0, type TimelineTrackPhase as h1, type TimelineTrackPlayback as h2, type TimelineTrackProps as h3, type TimelineTrackThumb as h4, Title as h5, type TitleLevel as h6, type TitleProps as h7, type ToastOptions as h8, type ToastPlacement as h9, VITE_PRELOAD_ERROR_EVENT as hA, WaterfallChart as hB, type WaterfallChartProps as hC, type WaterfallStep as hD, type ZLayer as hE, Z_LAYERS as hF, angleScale as hG, appendKey as hH, applyCorners as hI, applyIconSet as hJ, applyThemePrefs as hK, arcPath as hL, areaBetween as hM, areaFrom as hN, autoHighlightIndex as hO, backspace as hP, bandScale as hQ, binValues as hR, budgetState as hS, bumpPath as hT, buttonClasses as hU, calcOverall as hV, calcReportOverall as hW, colorFill as hX, colorSwatchClasses as hY, confirm as hZ, confirmDestructive as h_, Tooltip as ha, type TooltipProps as hb, TopNav as hc, type TopNavItem as hd, type TopNavProps as he, Tree as hf, type TreeDrop as hg, TreeEmptySlot as hh, type TreeEmptySlotProps as hi, TreeGroup as hj, TreeGroupLabel as hk, type TreeGroupProps as hl, type TreeMove as hm, type TreeProps as hn, TreeRow as ho, type TreeRowProps as hp, TreeSeam as hq, type TreeSeamProps as hr, TreemapChart as hs, type TreemapChartProps as ht, type TreemapItem as hu, type TreemapTile as hv, type UseAppUpdateOptions as hw, type UseContextMenu as hx, type UseProductionTimelineOpts as hy, VERSION as hz, type Align as i, useAppUpdate as i$, dashFor as i0, describeContextTarget as i1, dismissPopups as i2, fillFor as i3, fillId as i4, fmtSliderDate as i5, fromKey as i6, glassStyle as i7, glowId as i8, groundId as i9, polygonPoints as iA, popupBounds as iB, prompt as iC, pushRecent as iD, radiusScale as iE, readSavedShellLanguage as iF, registerModalEscapeInterceptor as iG, resolveBrandMarkTreatment as iH, resolveCorners as iI, resolvePortalBrandAsset as iJ, resolveSeriesColor as iK, resolveShellLanguage as iL, resolveTheme as iM, sanitizeRecent as iN, saveShellLanguage as iO, seriesColor as iP, severityOf as iQ, splinePath as iR, squarify as iS, stagger as iT, stepPath as iU, tabButtonId as iV, tabPanelId as iW, toKey as iX, toDayMs as iY, toISODate as iZ, toast as i_, groupColors as ia, hexToHsv as ib, highlightOpacity as ic, hsvToHex as id, iconButtonClasses as ie, inputClasses as ig, installStaleChunkReload as ih, isMac as ii, isSeverityTone as ij, isStaleChunkError as ik, keepsNativeMenu as il, labelClasses as im, ladderScale as io, leavesContextMenuAlone as ip, linearPath as iq, linearScale as ir, logScale as is, maskId as it, matchShellLanguage as iu, mediaFileName as iv, monotonePath as iw, niceMax as ix, openGlobalSearch as iy, parseHexColor as iz, type AngleScale as j, useClickOutside as j0, useConfirm as j1, useContextMenu as j2, useDebouncedValue as j3, useDropdownPosition as j4, useFocusTrap as j5, useHighlight as j6, useIsMobile as j7, useLocalStoragePrefs as j8, usePlotWidth as j9, usePortalBranding as ja, useProductionTimeline as jb, useScrollLock as jc, useShellLanguage as jd, useShellLocale as je, useShellPrefs as jf, useShellStrings as jg, useStatusLabel as jh, useTheme as ji, AppUpdateBanner as k, type AppUpdateBannerProps as l, AttachButton as m, type AttachButtonProps as n, AttachmentDropZone as o, type AttachmentDropZoneProps as p, AttachmentList as q, type AttachmentListProps as r, AuthScreen as s, type AuthScreenProps as t, Avatar as u, AvatarGroup as v, type AvatarGroupProps as w, type AvatarProps as x, type AvatarSize as y, type AvatarStatus as z };
|
|
@@ -139,6 +139,11 @@ interface TimeAgoOptions {
|
|
|
139
139
|
/** Count seconds under a minute ("12s ago") — for a status screen that polls
|
|
140
140
|
* every few seconds. Without it, anything under a minute is "just now". */
|
|
141
141
|
precise?: boolean;
|
|
142
|
+
/** A BCP 47 tag to write it in: "5分钟前" for `zh-Hans`. The words are
|
|
143
|
+
* `Intl.RelativeTimeFormat`'s, and the date an old instant falls back to
|
|
144
|
+
* is written in the same locale. Omitted, it is the English short form it
|
|
145
|
+
* has always been. */
|
|
146
|
+
locale?: string;
|
|
142
147
|
}
|
|
143
148
|
/**
|
|
144
149
|
* How long ago, in the fewest characters: "just now", "5m ago", "3h ago",
|