efficient-shell 11.1.0 → 11.4.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.
Files changed (60) hide show
  1. package/README.md +12 -0
  2. package/dist/{Browser-PTDZDMCG.js → Browser-XMJFN62W.js} +14 -14
  3. package/dist/{Calculator-KP57FK7Y.js → Calculator-OJSMHQKW.js} +23 -23
  4. package/dist/{CurrencyConverter-W66ZDA6I.js → CurrencyConverter-CUIFL32O.js} +5 -5
  5. package/dist/{Documents-EASK3J36.js → Documents-763OJV7I.js} +12 -12
  6. package/dist/{Files-YT4Z4J36.js → Files-LOJ6PPTE.js} +21 -21
  7. package/dist/{Notepad-T6NV4BSM.js → Notepad-ZAOFX5GU.js} +8 -8
  8. package/dist/{PomodoroTimer-6B2MNLWD.js → PomodoroTimer-IMNUQQAC.js} +17 -17
  9. package/dist/{Preview-KHCQHAWG.js → Preview-BYFMM2S5.js} +17 -17
  10. package/dist/{Spreadsheet-IQZECLJW.js → Spreadsheet-CQ5FWKAQ.js} +9 -9
  11. package/dist/{Stock-GCCTYXAG.js → Stock-S6URCQBQ.js} +3 -3
  12. package/dist/{Weather-DL4IZELD.js → Weather-SM5ZQUE2.js} +9 -9
  13. package/dist/{WorldClock-ZVN5O77W.js → WorldClock-I26FGYJO.js} +6 -6
  14. package/dist/apps/index.js +1 -1
  15. package/dist/bin/media-host-check.js +1 -1
  16. package/dist/bin/ui-check.js +1 -1
  17. package/dist/brand.css +1 -1
  18. package/dist/{chunk-7DQ3PM5Z.js → chunk-2N64TKI5.js} +1 -1
  19. package/dist/{chunk-QYXZC37J.js → chunk-5SBCAYBH.js} +1 -1
  20. package/dist/{chunk-IQZD6QQF.js → chunk-5XFBZ7C3.js} +26 -26
  21. package/dist/chunk-CJSZW3OS.js +1 -0
  22. package/dist/{chunk-5WY5DQI7.js → chunk-F56UUBKG.js} +1 -1
  23. package/dist/{chunk-FUDUQ44A.js → chunk-HAYGUFNM.js} +13 -13
  24. package/dist/chunk-HFDSKCPL.js +1 -0
  25. package/dist/chunk-KC4NOKZ6.js +28 -0
  26. package/dist/{chunk-KIXTJNHQ.js → chunk-M4IASUEE.js} +2 -2
  27. package/dist/chunk-Q2SCJQ5H.js +1 -0
  28. package/dist/chunk-RNBS6QGP.js +31 -0
  29. package/dist/chunk-T3DN2QBM.js +1 -0
  30. package/dist/chunk-WPCNJ4UL.js +2 -0
  31. package/dist/format/index.d.ts +2 -0
  32. package/dist/format/index.js +1 -1
  33. package/dist/forms/MediaLibrary.js +1 -1
  34. package/dist/forms/RenameField.d.ts +13 -0
  35. package/dist/forms/RenameField.js +2 -0
  36. package/dist/forms/colorMix.d.ts +38 -0
  37. package/dist/forms/colorMix.js +1 -0
  38. package/dist/icons/efficient-glyphs.js +1 -1
  39. package/dist/icons/efficient-looks.js +1 -1
  40. package/dist/icons/efficient.js +1 -1
  41. package/dist/icons/looks/map.js +1 -1
  42. package/dist/icons/payment.js +1 -1
  43. package/dist/icons/sets.js +1 -1
  44. package/dist/index.d.ts +3 -0
  45. package/dist/index.js +371 -371
  46. package/dist/motion/entrance.d.ts +38 -0
  47. package/dist/motion/entrance.js +1 -0
  48. package/dist/motion.css +101 -0
  49. package/dist/page-tabs/index.js +5 -5
  50. package/dist/telemetry/index.js +1 -1
  51. package/dist/templates/DashboardTemplate.js +1 -1
  52. package/dist/ui/index.d.ts +3 -0
  53. package/dist/ui/index.js +1 -1
  54. package/dist/version.js +1 -1
  55. package/package.json +1 -1
  56. package/dist/chunk-AM6HSHT5.js +0 -29
  57. package/dist/chunk-ETJRGQNG.js +0 -1
  58. package/dist/chunk-HUU4XMWE.js +0 -28
  59. package/dist/chunk-WBJ6KNUF.js +0 -1
  60. /package/dist/{chunk-2F5SLLBJ.js → chunk-MXK7A6ZM.js} +0 -0
@@ -0,0 +1,38 @@
1
+ /** The nine kinds, in the order the tiles show them. */
2
+ declare const ENTRANCE_KINDS: readonly ["none", "fade", "rise", "scale", "glide", "bounce", "flip", "reveal", "spin"];
3
+ type EntranceKind = (typeof ENTRANCE_KINDS)[number];
4
+ /** The kinds that come from a side, so the From row shows for them only. */
5
+ declare const ENTRANCE_KINDS_WITH_FROM: readonly ["glide", "bounce", "flip", "reveal"];
6
+ /** The four sides, in the order the From row shows them. */
7
+ declare const ENTRANCE_FROM: readonly ["top", "bottom", "left", "right"];
8
+ type EntranceFrom = (typeof ENTRANCE_FROM)[number];
9
+ /** The side a kind with a side comes from until one is chosen. */
10
+ declare const ENTRANCE_FROM_DEFAULT: EntranceFrom;
11
+ interface EntranceValue {
12
+ readonly kind: EntranceKind;
13
+ /** The side, for a kind that has one; `null` for every other kind. */
14
+ readonly from: EntranceFrom | null;
15
+ /** Seconds, inside `MOTION_TIMING.entrance`. */
16
+ readonly duration: number;
17
+ readonly delay: number;
18
+ }
19
+ declare const ENTRANCE_ATTR = "data-motion-entrance";
20
+ declare const ENTRANCE_FROM_ATTR = "data-motion-from";
21
+ /** `armed` (waiting hidden below the fold) or `play`. Written by `armEntrance` only. */
22
+ declare const ENTRANCE_STATE_ATTR = "data-motion-state";
23
+ /** A stored Entrance, read. An unknown kind is None; an unknown side is the default side. */
24
+ declare function readEntrance(kind: unknown, from?: unknown, duration?: unknown, delay?: unknown): EntranceValue;
25
+ /**
26
+ * What the element carries. None writes nothing. A time equal to the default is
27
+ * left to `motion.css`, so a page that never changed it follows the default.
28
+ */
29
+ declare function entranceAttrs(value: EntranceValue): {
30
+ attrs: Record<string, string>;
31
+ style: Record<string, string>;
32
+ };
33
+ /** Wait below the fold, play once on arrival. Returns the clean-up. */
34
+ declare function armEntrance(el: HTMLElement): () => void;
35
+ /** Play now (the editor's preview calls this too). It ends on the element's own `animationend`. */
36
+ declare function playEntrance(el: HTMLElement): void;
37
+
38
+ export { ENTRANCE_ATTR, ENTRANCE_FROM, ENTRANCE_FROM_ATTR, ENTRANCE_FROM_DEFAULT, ENTRANCE_KINDS, ENTRANCE_KINDS_WITH_FROM, ENTRANCE_STATE_ATTR, type EntranceFrom, type EntranceKind, type EntranceValue, armEntrance, entranceAttrs, playEntrance, readEntrance };
@@ -0,0 +1 @@
1
+ export{ENTRANCE_ATTR,ENTRANCE_FROM,ENTRANCE_FROM_ATTR,ENTRANCE_FROM_DEFAULT,ENTRANCE_KINDS,ENTRANCE_KINDS_WITH_FROM,ENTRANCE_STATE_ATTR,armEntrance,entranceAttrs,playEntrance,readEntrance}from"../chunk-Q2SCJQ5H.js";import"../chunk-AIJ3G6BD.js";
package/dist/motion.css CHANGED
@@ -24,3 +24,104 @@
24
24
  --page-hover-lift: 3px;
25
25
  --page-hover-rotate: 72deg;
26
26
  }
27
+
28
+ /*
29
+ * Entrance (src/motion/entrance.ts). The element carries data-motion-entrance
30
+ * (the kind), data-motion-from (the side, four kinds only) and, when changed,
31
+ * --motion-entrance-duration / --motion-entrance-delay inline. JS writes
32
+ * data-motion-state: "armed" waits hidden below the fold, "play" plays once.
33
+ * Each keyframe list ends on the element's own look, so a lost animationend
34
+ * costs nothing (fill-mode both rests on the last keyframe). Reveal is the one
35
+ * exception: a clip-path cannot animate to "none", so it ends on inset(0),
36
+ * which shows the whole box.
37
+ * Rise and Scale keep the distances the section entrance used (24px, 0.96).
38
+ */
39
+ [data-motion-entrance] {
40
+ /* Reset, so a nested element with the default times does not inherit its
41
+ parent's changed ones (custom properties inherit). Inline values win. */
42
+ --motion-entrance-duration: initial;
43
+ --motion-entrance-delay: initial;
44
+ --motion-entrance-x: 0px;
45
+ --motion-entrance-y: 48px;
46
+ --motion-entrance-flip: rotateX(-90deg);
47
+ --motion-entrance-clip: inset(100% 0 0 0);
48
+ }
49
+ [data-motion-from="top"] {
50
+ --motion-entrance-x: 0px;
51
+ --motion-entrance-y: -48px;
52
+ --motion-entrance-flip: rotateX(90deg);
53
+ --motion-entrance-clip: inset(0 0 100% 0);
54
+ }
55
+ [data-motion-from="bottom"] {
56
+ --motion-entrance-x: 0px;
57
+ --motion-entrance-y: 48px;
58
+ --motion-entrance-flip: rotateX(-90deg);
59
+ --motion-entrance-clip: inset(100% 0 0 0);
60
+ }
61
+ [data-motion-from="left"] {
62
+ --motion-entrance-x: -48px;
63
+ --motion-entrance-y: 0px;
64
+ --motion-entrance-flip: rotateY(90deg);
65
+ --motion-entrance-clip: inset(0 100% 0 0);
66
+ }
67
+ [data-motion-from="right"] {
68
+ --motion-entrance-x: 48px;
69
+ --motion-entrance-y: 0px;
70
+ --motion-entrance-flip: rotateY(-90deg);
71
+ --motion-entrance-clip: inset(0 0 0 100%);
72
+ }
73
+
74
+ @keyframes motion-entrance-fade {
75
+ from { opacity: 0; }
76
+ }
77
+ @keyframes motion-entrance-rise {
78
+ from { opacity: 0; transform: translateY(24px); }
79
+ }
80
+ @keyframes motion-entrance-scale {
81
+ from { opacity: 0; transform: scale(0.96); }
82
+ }
83
+ @keyframes motion-entrance-glide {
84
+ from { opacity: 0; transform: translate(var(--motion-entrance-x), var(--motion-entrance-y)); }
85
+ }
86
+ @keyframes motion-entrance-bounce {
87
+ 0% { opacity: 0; transform: translate(var(--motion-entrance-x), var(--motion-entrance-y)); }
88
+ 60% { opacity: 1; transform: translate(calc(var(--motion-entrance-x) * -0.15), calc(var(--motion-entrance-y) * -0.15)); }
89
+ 80% { transform: translate(calc(var(--motion-entrance-x) * 0.05), calc(var(--motion-entrance-y) * 0.05)); }
90
+ }
91
+ @keyframes motion-entrance-flip {
92
+ from { opacity: 0; transform: perspective(800px) var(--motion-entrance-flip); }
93
+ }
94
+ @keyframes motion-entrance-reveal {
95
+ from { clip-path: var(--motion-entrance-clip); }
96
+ to { clip-path: inset(0 0 0 0); }
97
+ }
98
+ @keyframes motion-entrance-spin {
99
+ from { opacity: 0; transform: rotate(-90deg) scale(0.8); }
100
+ }
101
+
102
+ [data-motion-entrance][data-motion-state="armed"] {
103
+ opacity: 0;
104
+ }
105
+ [data-motion-entrance][data-motion-state="play"] {
106
+ animation-duration: var(--motion-entrance-duration, var(--page-motion-entrance-duration));
107
+ animation-delay: var(--motion-entrance-delay, var(--page-motion-entrance-delay));
108
+ animation-timing-function: var(--page-ease-arrive);
109
+ animation-fill-mode: both;
110
+ }
111
+ [data-motion-entrance="fade"][data-motion-state="play"] { animation-name: motion-entrance-fade; }
112
+ [data-motion-entrance="rise"][data-motion-state="play"] { animation-name: motion-entrance-rise; }
113
+ [data-motion-entrance="scale"][data-motion-state="play"] { animation-name: motion-entrance-scale; }
114
+ [data-motion-entrance="glide"][data-motion-state="play"] { animation-name: motion-entrance-glide; }
115
+ [data-motion-entrance="bounce"][data-motion-state="play"] { animation-name: motion-entrance-bounce; }
116
+ [data-motion-entrance="flip"][data-motion-state="play"] { animation-name: motion-entrance-flip; }
117
+ [data-motion-entrance="reveal"][data-motion-state="play"] { animation-name: motion-entrance-reveal; }
118
+ [data-motion-entrance="spin"][data-motion-state="play"] { animation-name: motion-entrance-spin; }
119
+
120
+ /* Reduced motion has one answer, here: an element is never hidden and never
121
+ moves. The engine does not ask in JS. */
122
+ @media (prefers-reduced-motion: reduce) {
123
+ [data-motion-entrance][data-motion-state] {
124
+ opacity: 1;
125
+ animation: none;
126
+ }
127
+ }
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import{TabStrip as e}from"../chunk-HUU4XMWE.js";import{useShellLanguage as t}from"../chunk-7TZV6G2F.js";import"../chunk-2E2SUEEE.js";import{confirm as n}from"../chunk-PLK2WHZG.js";import"../chunk-7INZ7O3A.js";import"../chunk-55AEZX6K.js";import"../chunk-3DVNXNTF.js";import"../chunk-ECJKIPWU.js";import"../chunk-VWGWZY7A.js";import"../chunk-7QSDPSXP.js";import"../chunk-CDAJKLGL.js";import"../chunk-6KGIHI6X.js";import"../chunk-URHGHXDN.js";import"../chunk-5QFPTDQF.js";import"../chunk-UQYNPYF4.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{useBrowserLayoutEffect as r}from"../chunk-D65T4H6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-TWVUQUUD.js";import{useShellStrings as i}from"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";import*as c from"react";import{createContext as s,memo as l,useRef as a,useEffect as o,useMemo as u,useId as y,useCallback as d,useReducer as p,useState as f,useContext as k}from"react";import{useLocation as m,useNavigate as h}from"react-router-dom";import{jsx as b,Fragment as v,jsxs as g}from"react/jsx-runtime";var j=s(null),K=s(null),N=12;var F=(e,t)=>e.filter(e=>e!==t);function T(e,t){return[...t.map(t=>e.find(e=>e.key===t)).filter(e=>Boolean(e)),...e.filter(e=>!t.includes(e.key))]}function I(e,t,n=12){const r=e.clock+1;let i;i=e.tabs.find(e=>e.key===t.key)?e.tabs.map(e=>e.key===t.key?{...e,path:t.path,title:"page"===e.titleFrom?e.title:t.title||e.title,lastActive:r}:e):[...e.tabs,{key:t.key,path:t.path,title:t.title,titleFrom:"route",pinned:!1,lastActive:r}];let c={...e,tabs:i,activeKey:t.key,mounted:(s=e.mounted,l=t.key,s.includes(l)?s:[...s,l]),clock:r};var s,l;return c.closing&&c.closing!==t.key?c=L(c,c.closing):c.closing===t.key&&(c={...c,closing:null}),function(e,t){let n=e;for(;n.tabs.length>t;){const e=n.tabs.filter(e=>!e.pinned&&e.key!==n.activeKey&&!n.dirty.includes(e.key)&&e.key!==n.closing).sort((e,t)=>e.lastActive-t.lastActive);if(0===e.length)break;n=L(n,e[0].key)}return n}(c,n)}function A(e){let t={...e,activeKey:null};return t.closing&&(t=L(t,t.closing)),t}function L(e,t){return{...e,tabs:e.tabs.filter(e=>e.key!==t),mounted:F(e.mounted,t),dirty:F(e.dirty,t),activeKey:e.activeKey===t?null:e.activeKey,closing:e.closing===t?null:e.closing}}function M(e,t){switch(t.type){case"visit":return I(e,t.entry,t.maxTabs);case"transient":return A(e);case"close":{let n=e;for(const e of t.keys)n=L(n,e);return t.closing?function(e,t){return{...e,closing:t}}(n,t.closing):n}case"title":return function(e,t,n){const r=e.tabs.find(e=>e.key===t);return!r||!n||r.title===n&&"page"===r.titleFrom?e:{...e,tabs:e.tabs.map(e=>e.key===t?{...e,title:n,titleFrom:"page"}:e)}}(e,t.key,t.title);case"dirty":return function(e,t,n){return n===e.dirty.includes(t)?e:{...e,dirty:n?[...e.dirty,t]:F(e.dirty,t)}}(e,t.key,t.dirty)}}var w=e=>`${e.pathname}${e.search}`;function C(e){const t=e.indexOf("#"),n=t>=0?e.slice(t):"",r=t>=0?e.slice(0,t):e,i=r.indexOf("?");return{pathname:i>=0?r.slice(0,i):r,search:i>=0?r.slice(i):"",hash:n}}function D({children:e,resolve:c,pinned:s=[],storageKey:l,maxTabs:k=12,enabled:v=!0,confirmDiscard:g}){const K=m(),N=h(),F=i().pageTabs,L=y(),D=a(c);D.current=c;const E=d(e=>{const t=D.current(e);return t?{key:t.key??e.pathname,path:w(e),title:t.title}:null},[]),{language:O}=t(),[J,U]=p(M,void 0,()=>{const e=function(e,t,n){if(!e)return[];let r;try{r=JSON.parse(e)}catch{return[]}const i=r;if(!i||1!==i.v||!Array.isArray(i.tabs))return[];const c=Boolean(n&&"string"==typeof i.lang&&i.lang!==n),s=[];for(const e of i.tabs){if(!e||"string"!=typeof e.path||!e.path.startsWith("/")||e.path.startsWith("//"))continue;const n=e.path.indexOf("#"),r=n>=0?e.path.slice(0,n):e.path,i=t(r);if(!i||s.some(e=>e.key===i.key))continue;const l=!c&&"page"===e.titleFrom&&"string"==typeof e.title&&e.title;s.push({key:i.key,path:r,title:l||i.title,titleFrom:l?"page":"route",pinned:!1,lastActive:0})}return s}(function(e){if(!e)return null;try{return localStorage.getItem(e)}catch{return null}}(l),e=>E(C(e)),O);let t=function(e,t){const n=t.map(e=>e.key);let r=e.tabs.map(e=>({...e,pinned:n.includes(e.key)}));for(const e of t)r.some(t=>t.key===e.key)||(r=[...r,{key:e.key,path:e.path,title:e.title,titleFrom:"route",pinned:!0,lastActive:0}]);return{...e,tabs:T(r,n)}}({tabs:[],activeKey:null,mounted:[],dirty:[],closing:null,clock:0,tabs:e},s.map(e=>E(C(e))).filter(e=>Boolean(e)));const n=v?E(K):null;return t=n?I(t,n,k):A(t),t}),x=a(J);x.current=J;const B=a(/* @__PURE__ */new Map),Q=v?E(K):null,S=Q?.key??null;r(()=>{if(!v)return;const e=E(K);e?(B.current.set(e.key,K),U({type:"visit",entry:e,maxTabs:k})):U({type:"transient"})},[K,v,k,E]),o(()=>{const e=new Set(J.tabs.map(e=>e.key));for(const t of B.current.keys())e.has(t)||B.current.delete(t)},[J.tabs]);const W=u(()=>function(e,t){const n={v:1,...t?{lang:t}:{},tabs:e.tabs.filter(t=>t.key!==e.closing).map(({key:e,path:t,title:n,titleFrom:r})=>({key:e,path:t,title:n,titleFrom:r}))};return JSON.stringify(n)}(J,O),[J,O]);o(()=>{if(l)try{localStorage.setItem(l,W)}catch{}},[W,l]);const G=J.dirty.length>0;o(()=>{if(!G)return;const e=e=>{e.preventDefault(),e.returnValue=""};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[G]);const P=a(/* @__PURE__ */new Map),H=d((e,t)=>{let n=P.current.get(e);return void 0===n&&(n=P.current.size,P.current.set(e,n)),`${L}-page-${t}-${n}`},[L]),X=d(e=>g?g(e):n({title:F.discardTitle,message:1===e.length?F.discardOne:F.discardCount?.(e.length)??`${e.length} ${F.discardMany}`,confirmLabel:F.discardConfirm,cancelLabel:F.keepEditing,variant:"warning"}),[g,F]),$=d(()=>{const e=x.current;return e.tabs.find(e=>e.pinned)?.path??"/"},[]),R=d((e,t,n)=>{const r=x.current,i=r.activeKey;if(!i||!e.includes(i))return void U({type:"close",keys:e,closing:null});let c=t;if(!c){const t={...r,tabs:r.tabs.filter(t=>t.key===i||!e.includes(t.key))},s=n?r.tabs.find(t=>t.key===n&&!e.includes(t.key)):void 0;c=(s??function(e,t){const n=e.tabs.filter(n=>n.key!==e.closing||n.key===t),r=n.findIndex(e=>e.key===t);return r<0?null:n[r+1]??n[r-1]??null}(t,i))?.path??$()}U({type:"close",keys:e.filter(e=>e!==i),closing:i}),N(c)},[N,$]),Z=d(async(e,t={})=>{const n=x.current.tabs.find(t=>t.key===e);return!n||n.pinned?(t.to&&N(t.to),!1):!(!t.force&&x.current.dirty.includes(e)&&!await X([n]))&&(!!x.current.tabs.some(t=>t.key===e)&&(R([e],t.to),!0))},[X,R,N]),V=d(async(e,t)=>{let n=function(e,t,n){const r=e.tabs.filter(e=>!e.pinned);if("all"===t)return r.map(e=>e.key);if("others"===t)return r.filter(e=>e.key!==n).map(e=>e.key);const i=e.tabs.findIndex(e=>e.key===n);return i<0?[]:e.tabs.slice(i+1).filter(e=>!e.pinned).map(e=>e.key)}(x.current,e,t);const r=x.current.tabs.filter(e=>n.includes(e.key)&&x.current.dirty.includes(e.key));r.length&&!await X(r)&&(n=n.filter(e=>!r.some(t=>t.key===e)));const i=new Set(x.current.tabs.map(e=>e.key));n=n.filter(e=>i.has(e)),n.length&&R(n,void 0,"all"===e?null:t)},[X,R]),Y=d(e=>{const t=x.current.tabs.find(t=>t.key===e);t&&e!==x.current.activeKey&&N(t.path)},[N]),z=d((e,t)=>U({type:"title",key:e,title:t}),[]),q=d((e,t)=>U({type:"dirty",key:e,dirty:t}),[]),[_,ee]=f({}),te=d((e,t)=>{ee(n=>{if((n[e]??null)===t)return n;const r={...n};return t?r[e]=t:delete r[e],r})},[]),ne=d(e=>E(e)?.key??null,[E]),re=d(e=>B.current.get(e),[]),ie=u(()=>v?J.tabs.filter(e=>e.key!==J.closing):[],[v,J.tabs,J.closing]),ce=u(()=>({enabled:v,state:J,currentKey:S,resolve:c,keyFor:ne,locationFor:re,idFor:H,activate:Y,close:Z,closeMany:V,setTitle:z,setDirty:q,copies:_,setCopy:te,visibleTabs:ie}),[v,J,S,c,ne,re,H,Y,Z,V,z,q,_,te,ie]);/* @__PURE__ */
3
- return b(j.Provider,{value:ce,children:e})}var E=c.Activity,O=Boolean(E);function J({active:e,children:t}){return E?/* @__PURE__ */b(E,{mode:e?"visible":"hidden",children:t}):/* @__PURE__ */b(v,{children:t})}var U=l(function({tabKey:e,active:t,location:n,render:i,className:c,panelId:s,tabId:l}){const y=a(null),d=a(t),p=a(/* @__PURE__ */new Map);r(()=>{const e=d.current;if(d.current=t,t&&!e)for(const[e,[t,n]]of p.current)e.isConnected?(e.scrollTop=t,e.scrollLeft=n):p.current.delete(e)},[t]),o(()=>{const e=y.current;if(!e)return;const t=e=>{if(!d.current)return;const t=e.target;t&&"number"==typeof t.scrollTop&&p.current.set(t,[t.scrollTop,t.scrollLeft])};return e.addEventListener("scroll",t,!0),()=>e.removeEventListener("scroll",t,!0)},[]);const f=u(()=>({key:e,activeRef:d}),[e]);/* @__PURE__ */
4
- return b("div",{ref:y,role:s?"tabpanel":void 0,id:s,"aria-labelledby":l,hidden:!t,style:t?void 0:{display:"none"},className:c,"data-page-tab":e,children:/* @__PURE__ */b(K.Provider,{value:f,children:/* @__PURE__ */b(J,{active:t,children:i(n)})})})},(e,t)=>e.active===t.active&&e.location===t.location&&e.className===t.className&&e.panelId===t.panelId&&e.tabId===t.tabId&&(!t.active||e.render===t.render)),x="\0transient";function B({children:e,frameClassName:t}){const n=k(j),r=m();if(!n||!n.enabled)/* @__PURE__ */
5
- return b("div",{className:t,children:e(r)},x);const{state:i,currentKey:c,locationFor:s,idFor:l}=n,a=i.tabs.filter(e=>i.mounted.includes(e.key)).map(e=>e.key);return c&&!a.includes(c)&&a.push(c),/* @__PURE__ */g(v,{children:[a.map(n=>{const i=n===c,a=i?r:s(n);return a?/* @__PURE__ */b(U,{tabKey:n,active:i,location:a,render:e,className:t,panelId:l(n,"panel"),tabId:l(n,"tab")},n):null}),!c&&/* @__PURE__ */b(U,{tabKey:x,active:!0,location:r,render:e,className:t},x)]})}function Q({className:t,activeClassName:n,end:r}){const c=k(j),s=i().pageTabs;if(!c||!c.enabled)return null;const{visibleTabs:l,state:a,idFor:o,activate:u,close:y,closeMany:d,resolve:p}=c;/* @__PURE__ */
6
- return b(e,{tabs:l.map(e=>({key:e.key,title:e.title,pinned:e.pinned,dirty:a.dirty.includes(e.key),copy:c.copies[e.key],icon:p(C(e.path))?.icon})),activeKey:c.currentKey??null,idFor:o,panelMounted:e=>a.mounted.includes(e),onActivate:u,onClose:e=>{y(e)},onCloseMany:(e,t)=>{d(e,t)},label:s.label,className:t,activeClassName:n,end:r})}var S={enabled:!1,tabs:[],activeKey:null,activate:()=>{},close:async()=>!1,closeOthers:async()=>{},closeRight:async()=>{},closeAll:async()=>{}};function W(){const e=k(j);return e&&e.enabled?{enabled:!0,tabs:e.visibleTabs,activeKey:e.currentKey,activate:e.activate,close:e.close,closeOthers:t=>e.closeMany("others",t),closeRight:t=>e.closeMany("right",t),closeAll:()=>e.closeMany("all",null)}:S}function G(){const e=k(j),t=k(K),n=h();return{key:e?.enabled&&t?t.key:null,close:d(async(r={})=>e?.enabled&&t&&e.state.tabs.some(e=>e.key===t.key)?e.close(t.key,r):(r.to&&n(r.to),!1),[e,t,n])}}function P(e){const t=k(j),n=k(K),r=t?.enabled?t.setTitle:void 0,i=n?.key;o(()=>{r&&i&&e&&r(i,e)},[r,i,e])}function H(e){const t=k(j),n=k(K),r=t?.enabled?t.setCopy:void 0,i=n?.key;o(()=>{if(r&&i)return r(i,e||null),()=>r(i,null)},[r,i,e])}function X(e){const t=k(j),n=k(K),r=t?.enabled?t.setDirty:void 0;o(()=>{if(r&&n)return r(n.key,e),()=>{n.activeRef.current&&r(n.key,!1)}},[r,n,e])}export{N as DEFAULT_MAX_TABS,O as PAGE_TABS_PAUSE_HIDDEN,Q as PageTabBar,B as PageTabsOutlet,D as PageTabsProvider,C as parseTabPath,G as usePageTab,H as usePageTabCopy,X as usePageTabDirty,P as usePageTabTitle,W as usePageTabs};
2
+ import{TabStrip as e}from"../chunk-RNBS6QGP.js";import{useShellLanguage as t}from"../chunk-7TZV6G2F.js";import"../chunk-2E2SUEEE.js";import{confirm as n}from"../chunk-PLK2WHZG.js";import"../chunk-7INZ7O3A.js";import"../chunk-55AEZX6K.js";import"../chunk-3DVNXNTF.js";import"../chunk-ECJKIPWU.js";import"../chunk-VWGWZY7A.js";import"../chunk-7QSDPSXP.js";import"../chunk-CDAJKLGL.js";import"../chunk-6KGIHI6X.js";import"../chunk-URHGHXDN.js";import"../chunk-5QFPTDQF.js";import"../chunk-UQYNPYF4.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{useBrowserLayoutEffect as r}from"../chunk-D65T4H6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-TWVUQUUD.js";import{useShellStrings as i}from"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";import*as c from"react";import{createContext as s,memo as l,useRef as a,useEffect as o,useMemo as u,useId as y,useCallback as d,useReducer as p,useState as f,useContext as k}from"react";import{useLocation as m,useNavigate as h}from"react-router-dom";import{jsx as b,Fragment as v,jsxs as g}from"react/jsx-runtime";var j=s(null),K=s(null),N=12;var F=(e,t)=>e.filter(e=>e!==t);function T(e,t){return[...t.map(t=>e.find(e=>e.key===t)).filter(e=>Boolean(e)),...e.filter(e=>!t.includes(e.key))]}function I(e,t,n=12){const r=e.clock+1;let i;i=e.tabs.find(e=>e.key===t.key)?e.tabs.map(e=>e.key===t.key?{...e,path:t.path,title:"page"===e.titleFrom?e.title:t.title||e.title,lastActive:r}:e):[...e.tabs,{key:t.key,path:t.path,title:t.title,titleFrom:"route",pinned:!1,lastActive:r}];let c={...e,tabs:i,activeKey:t.key,mounted:(s=e.mounted,l=t.key,s.includes(l)?s:[...s,l]),clock:r};var s,l;return c.closing&&c.closing!==t.key?c=L(c,c.closing):c.closing===t.key&&(c={...c,closing:null}),function(e,t){let n=e;for(;n.tabs.length>t;){const e=n.tabs.filter(e=>!e.pinned&&e.key!==n.activeKey&&!n.dirty.includes(e.key)&&e.key!==n.closing).sort((e,t)=>e.lastActive-t.lastActive);if(0===e.length)break;n=L(n,e[0].key)}return n}(c,n)}function A(e){let t={...e,activeKey:null};return t.closing&&(t=L(t,t.closing)),t}function L(e,t){return{...e,tabs:e.tabs.filter(e=>e.key!==t),mounted:F(e.mounted,t),dirty:F(e.dirty,t),activeKey:e.activeKey===t?null:e.activeKey,closing:e.closing===t?null:e.closing}}function w(e,t){switch(t.type){case"visit":return I(e,t.entry,t.maxTabs);case"transient":return A(e);case"close":{let n=e;for(const e of t.keys)n=L(n,e);return t.closing?function(e,t){return{...e,closing:t}}(n,t.closing):n}case"title":return function(e,t,n){const r=e.tabs.find(e=>e.key===t);return!r||!n||r.title===n&&"page"===r.titleFrom?e:{...e,tabs:e.tabs.map(e=>e.key===t?{...e,title:n,titleFrom:"page"}:e)}}(e,t.key,t.title);case"dirty":return function(e,t,n){return n===e.dirty.includes(t)?e:{...e,dirty:n?[...e.dirty,t]:F(e.dirty,t)}}(e,t.key,t.dirty)}}var C=e=>`${e.pathname}${e.search}`;function D(e){const t=e.indexOf("#"),n=t>=0?e.slice(t):"",r=t>=0?e.slice(0,t):e,i=r.indexOf("?");return{pathname:i>=0?r.slice(0,i):r,search:i>=0?r.slice(i):"",hash:n}}function M({children:e,resolve:c,pinned:s=[],storageKey:l,maxTabs:k=12,enabled:v=!0,confirmDiscard:g}){const K=m(),N=h(),F=i().pageTabs,L=y(),M=a(c);M.current=c;const E=d(e=>{const t=M.current(e);return t?{key:t.key??e.pathname,path:C(e),title:t.title}:null},[]),{language:O}=t(),[B,J]=p(w,void 0,()=>{const e=function(e,t,n){if(!e)return[];let r;try{r=JSON.parse(e)}catch{return[]}const i=r;if(!i||1!==i.v||!Array.isArray(i.tabs))return[];const c=Boolean(n&&"string"==typeof i.lang&&i.lang!==n),s=[];for(const e of i.tabs){if(!e||"string"!=typeof e.path||!e.path.startsWith("/")||e.path.startsWith("//"))continue;const n=e.path.indexOf("#"),r=n>=0?e.path.slice(0,n):e.path,i=t(r);if(!i||s.some(e=>e.key===i.key))continue;const l=!c&&"page"===e.titleFrom&&"string"==typeof e.title&&e.title;s.push({key:i.key,path:r,title:l||i.title,titleFrom:l?"page":"route",pinned:!1,lastActive:0})}return s}(function(e){if(!e)return null;try{return localStorage.getItem(e)}catch{return null}}(l),e=>E(D(e)),O);let t=function(e,t){const n=t.map(e=>e.key);let r=e.tabs.map(e=>({...e,pinned:n.includes(e.key)}));for(const e of t)r.some(t=>t.key===e.key)||(r=[...r,{key:e.key,path:e.path,title:e.title,titleFrom:"route",pinned:!0,lastActive:0}]);return{...e,tabs:T(r,n)}}({tabs:[],activeKey:null,mounted:[],dirty:[],closing:null,clock:0,tabs:e},s.map(e=>E(D(e))).filter(e=>Boolean(e)));const n=v?E(K):null;return t=n?I(t,n,k):A(t),t}),Q=a(B);Q.current=B;const S=a(/* @__PURE__ */new Map),x=v?E(K):null,G=x?.key??null;r(()=>{if(!v)return;const e=E(K);e?(S.current.set(e.key,K),J({type:"visit",entry:e,maxTabs:k})):J({type:"transient"})},[K,v,k,E]),o(()=>{const e=new Set(B.tabs.map(e=>e.key));for(const t of S.current.keys())e.has(t)||S.current.delete(t)},[B.tabs]);const P=u(()=>function(e,t){const n={v:1,...t?{lang:t}:{},tabs:e.tabs.filter(t=>t.key!==e.closing).map(({key:e,path:t,title:n,titleFrom:r})=>({key:e,path:t,title:n,titleFrom:r}))};return JSON.stringify(n)}(B,O),[B,O]);o(()=>{if(l)try{localStorage.setItem(l,P)}catch{}},[P,l]);const U=B.dirty.length>0;o(()=>{if(!U)return;const e=e=>{e.preventDefault(),e.returnValue=""};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[U]);const W=a(/* @__PURE__ */new Map),H=d((e,t)=>{let n=W.current.get(e);return void 0===n&&(n=W.current.size,W.current.set(e,n)),`${L}-page-${t}-${n}`},[L]),R=d(e=>g?g(e):n({title:F.discardTitle,message:1===e.length?F.discardOne:F.discardCount?.(e.length)??`${e.length} ${F.discardMany}`,confirmLabel:F.discardConfirm,cancelLabel:F.keepEditing,variant:"warning"}),[g,F]),X=d(()=>{const e=Q.current;return e.tabs.find(e=>e.pinned)?.path??"/"},[]),$=d((e,t,n)=>{const r=Q.current,i=r.activeKey;if(!i||!e.includes(i))return void J({type:"close",keys:e,closing:null});let c=t;if(!c){const t={...r,tabs:r.tabs.filter(t=>t.key===i||!e.includes(t.key))},s=n?r.tabs.find(t=>t.key===n&&!e.includes(t.key)):void 0;c=(s??function(e,t){const n=e.tabs.filter(n=>n.key!==e.closing||n.key===t),r=n.findIndex(e=>e.key===t);return r<0?null:n[r+1]??n[r-1]??null}(t,i))?.path??X()}J({type:"close",keys:e.filter(e=>e!==i),closing:i}),N(c)},[N,X]),Z=d(async(e,t={})=>{const n=Q.current.tabs.find(t=>t.key===e);return!n||n.pinned?(t.to&&N(t.to),!1):!(!t.force&&Q.current.dirty.includes(e)&&!await R([n]))&&(!!Q.current.tabs.some(t=>t.key===e)&&($([e],t.to),!0))},[R,$,N]),V=d(async(e,t)=>{let n=function(e,t,n){const r=e.tabs.filter(e=>!e.pinned);if("all"===t)return r.map(e=>e.key);if("others"===t)return r.filter(e=>e.key!==n).map(e=>e.key);const i=e.tabs.findIndex(e=>e.key===n);return i<0?[]:e.tabs.slice(i+1).filter(e=>!e.pinned).map(e=>e.key)}(Q.current,e,t);const r=Q.current.tabs.filter(e=>n.includes(e.key)&&Q.current.dirty.includes(e.key));r.length&&!await R(r)&&(n=n.filter(e=>!r.some(t=>t.key===e)));const i=new Set(Q.current.tabs.map(e=>e.key));n=n.filter(e=>i.has(e)),n.length&&$(n,void 0,"all"===e?null:t)},[R,$]),Y=d(e=>{const t=Q.current.tabs.find(t=>t.key===e);t&&e!==Q.current.activeKey&&N(t.path)},[N]),z=d((e,t)=>J({type:"title",key:e,title:t}),[]),q=d((e,t)=>J({type:"dirty",key:e,dirty:t}),[]),[_,ee]=f({}),te=d((e,t)=>{ee(n=>{if((n[e]??null)===t)return n;const r={...n};return t?r[e]=t:delete r[e],r})},[]),ne=d(e=>E(e)?.key??null,[E]),re=d(e=>S.current.get(e),[]),ie=u(()=>v?B.tabs.filter(e=>e.key!==B.closing):[],[v,B.tabs,B.closing]),ce=u(()=>({enabled:v,state:B,currentKey:G,resolve:c,keyFor:ne,locationFor:re,idFor:H,activate:Y,close:Z,closeMany:V,setTitle:z,setDirty:q,copies:_,setCopy:te,visibleTabs:ie}),[v,B,G,c,ne,re,H,Y,Z,V,z,q,_,te,ie]);/* @__PURE__ */
3
+ return b(j.Provider,{value:ce,children:e})}var E=c.Activity,O=Boolean(E);function B({active:e,children:t}){return E?/* @__PURE__ */b(E,{mode:e?"visible":"hidden",children:t}):/* @__PURE__ */b(v,{children:t})}var J=l(function({tabKey:e,active:t,location:n,render:i,className:c,panelId:s,tabId:l}){const y=a(null),d=a(t),p=a(/* @__PURE__ */new Map);r(()=>{const e=d.current;if(d.current=t,t&&!e)for(const[e,[t,n]]of p.current)e.isConnected?(e.scrollTop=t,e.scrollLeft=n):p.current.delete(e)},[t]),o(()=>{const e=y.current;if(!e)return;const t=e=>{if(!d.current)return;const t=e.target;t&&"number"==typeof t.scrollTop&&p.current.set(t,[t.scrollTop,t.scrollLeft])};return e.addEventListener("scroll",t,!0),()=>e.removeEventListener("scroll",t,!0)},[]);const f=u(()=>({key:e,activeRef:d}),[e]);/* @__PURE__ */
4
+ return b("div",{ref:y,role:s?"tabpanel":void 0,id:s,"aria-labelledby":l,hidden:!t,style:t?void 0:{display:"none"},className:c,"data-page-tab":e,children:/* @__PURE__ */b(K.Provider,{value:f,children:/* @__PURE__ */b(B,{active:t,children:i(n)})})})},(e,t)=>e.active===t.active&&e.location===t.location&&e.className===t.className&&e.panelId===t.panelId&&e.tabId===t.tabId&&(!t.active||e.render===t.render)),Q="\0transient";function S({children:e,frameClassName:t}){const n=k(j),r=m();if(!n||!n.enabled)/* @__PURE__ */
5
+ return b("div",{className:t,children:e(r)},Q);const{state:i,currentKey:c,locationFor:s,idFor:l}=n,a=i.tabs.filter(e=>i.mounted.includes(e.key)).map(e=>e.key);return c&&!a.includes(c)&&a.push(c),/* @__PURE__ */g(v,{children:[a.map(n=>{const i=n===c,a=i?r:s(n);return a?/* @__PURE__ */b(J,{tabKey:n,active:i,location:a,render:e,className:t,panelId:l(n,"panel"),tabId:l(n,"tab")},n):null}),!c&&/* @__PURE__ */b(J,{tabKey:Q,active:!0,location:r,render:e,className:t},Q)]})}function x({className:t,activeClassName:n,end:r}){const c=k(j),s=i().pageTabs;if(!c||!c.enabled)return null;const{visibleTabs:l,state:a,idFor:o,activate:u,close:y,closeMany:d,resolve:p}=c;/* @__PURE__ */
6
+ return b(e,{tabs:l.map(e=>({key:e.key,title:e.title,pinned:e.pinned,dirty:a.dirty.includes(e.key),copy:c.copies[e.key],icon:p(D(e.path))?.icon})),activeKey:c.currentKey??null,idFor:o,panelMounted:e=>a.mounted.includes(e),onActivate:u,onClose:e=>{y(e)},onCloseMany:(e,t)=>{d(e,t)},label:s.label,className:t,activeClassName:n,end:r})}var G={enabled:!1,tabs:[],activeKey:null,activate:()=>{},close:async()=>!1,closeOthers:async()=>{},closeRight:async()=>{},closeAll:async()=>{}};function P(){const e=k(j);return e&&e.enabled?{enabled:!0,tabs:e.visibleTabs,activeKey:e.currentKey,activate:e.activate,close:e.close,closeOthers:t=>e.closeMany("others",t),closeRight:t=>e.closeMany("right",t),closeAll:()=>e.closeMany("all",null)}:G}function U(){const e=k(j),t=k(K),n=h();return{key:e?.enabled&&t?t.key:null,close:d(async(r={})=>e?.enabled&&t&&e.state.tabs.some(e=>e.key===t.key)?e.close(t.key,r):(r.to&&n(r.to),!1),[e,t,n])}}function W(e){const t=k(j),n=k(K),r=t?.enabled?t.setTitle:void 0,i=n?.key;o(()=>{r&&i&&e&&r(i,e)},[r,i,e])}function H(e){const t=k(j),n=k(K),r=t?.enabled?t.setCopy:void 0,i=n?.key;o(()=>{if(r&&i)return r(i,e||null),()=>r(i,null)},[r,i,e])}function R(e){const t=k(j),n=k(K),r=t?.enabled?t.setDirty:void 0;o(()=>{if(r&&n)return r(n.key,e),()=>{n.activeRef.current&&r(n.key,!1)}},[r,n,e])}export{N as DEFAULT_MAX_TABS,O as PAGE_TABS_PAUSE_HIDDEN,x as PageTabBar,S as PageTabsOutlet,M as PageTabsProvider,D as parseTabPath,U as usePageTab,H as usePageTabCopy,R as usePageTabDirty,W as usePageTabTitle,P as usePageTabs};
@@ -1 +1 @@
1
- export{startClientTelemetry}from"../chunk-QYXZC37J.js";import"../chunk-KNUR2UEG.js";import"../chunk-ETJRGQNG.js";
1
+ export{startClientTelemetry}from"../chunk-5SBCAYBH.js";import"../chunk-KNUR2UEG.js";import"../chunk-T3DN2QBM.js";
@@ -1 +1 @@
1
- export{DashboardTemplate as default}from"../chunk-FUDUQ44A.js";import"../chunk-AFYLVV74.js";import"../chunk-P3RXXWXN.js";import"../chunk-CKCDGSTC.js";import"../chunk-G66SG6JN.js";import"../chunk-VFC6QUEN.js";import"../chunk-BMXTPJ7T.js";import"../chunk-465RRWBY.js";import"../chunk-3IUPYCW3.js";import"../chunk-CNYAHYE6.js";import"../chunk-FZM3ZPW3.js";import"../chunk-EOVXFXVV.js";import"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.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-36VIGB6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-QO5E33DH.js";import"../chunk-C764JODK.js";import"../chunk-2JWPNR2U.js";import"../chunk-MAFUXCPZ.js";import"../chunk-TZFACUMR.js";import"../chunk-TWVUQUUD.js";import"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
1
+ export{DashboardTemplate as default}from"../chunk-HAYGUFNM.js";import"../chunk-P3RXXWXN.js";import"../chunk-AFYLVV74.js";import"../chunk-CKCDGSTC.js";import"../chunk-G66SG6JN.js";import"../chunk-VFC6QUEN.js";import"../chunk-BMXTPJ7T.js";import"../chunk-465RRWBY.js";import"../chunk-3IUPYCW3.js";import"../chunk-CNYAHYE6.js";import"../chunk-FZM3ZPW3.js";import"../chunk-EOVXFXVV.js";import"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.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-36VIGB6J.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-QO5E33DH.js";import"../chunk-C764JODK.js";import"../chunk-2JWPNR2U.js";import"../chunk-MAFUXCPZ.js";import"../chunk-TZFACUMR.js";import"../chunk-TWVUQUUD.js";import"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
@@ -26,6 +26,7 @@ export { MediaUsedInItem, default as MediaUsedInList, MediaUsedInListProps } fro
26
26
  export { MediaMoveItemsOptions, MediaMoveTarget, mediaMoveItems, mediaMoveSubmenu, useMediaMoveItems } from '../forms/mediaMoveItems.js';
27
27
  export { MEDIA_FILES_DRAG_TYPE, MEDIA_FILE_DRAG_TYPE, MEDIA_FOLDER_DRAG_TYPE, default as MediaLibrary, MediaLibraryDragFile, MediaLibraryDragOut, MediaLibraryExtraFilter, MediaLibraryFile, MediaLibraryFilters, MediaLibraryFolder, MediaLibraryLocation, MediaLibraryProductNode, MediaLibraryProps, readMediaFileDrag } from '../forms/MediaLibrary.js';
28
28
  export { MediaLibraryAction, MediaLibraryMenuContext, MediaLibraryMoving, MediaLibraryTarget, mediaLibraryMenu } from '../forms/mediaLibraryMenu.js';
29
+ export { default as RenameField, RenameFieldProps } from '../forms/RenameField.js';
29
30
  export { default as DateRangePicker, DateRangePickerProps, toISODate } from '../forms/DateRangePicker.js';
30
31
  export { default as Calendar, CalendarMode, CalendarProps } from '../forms/Calendar.js';
31
32
  export { fromDateKey, toDateKey } from '../utils/dateKey.js';
@@ -52,6 +53,7 @@ export { default as WidthsBar, WidthsBarProps } from '../forms/WidthsBar.js';
52
53
  export { COLUMN_COUNT_MAX, COLUMN_COUNT_WIDTHS, COLUMN_SHARES_EQUAL, COLUMN_SHARE_MIN, ColumnShares, columnSharesWidths, resolveColumnShares, resolveColumnWidths } from '../forms/columnShares.js';
53
54
  export { default as ColorPicker, ColorPickerPanel, ColorPickerPanelProps, ColorPickerProps, ColorPreset, ColorSwatch, ColorSwatchProps, ColorSwatchSize, HexInput, colorFill, colorSwatchClasses } from '../forms/ColorPicker.js';
54
55
  export { Hsv, Rgb, contrastRatio, hexToHsv, hexToRgb, hsvToHex, parseHexColor, readableInk, relativeLuminance } from '../forms/color.js';
56
+ export { hexWithAlpha, mixHex, rgbToHex } from '../forms/colorMix.js';
55
57
  export { default as ImageFocusPoint, ImageFocusPointProps } from '../forms/ImageFocusPoint.js';
56
58
  export { FOCAL_DEFAULT, FOCAL_NUDGE_COARSE, FOCAL_NUDGE_STEP, FocalPoint, focalFromRect, formatFocal, nudgeFocal, parseFocal } from '../forms/imageFocus.js';
57
59
  export { LinkFilter, LinkFilterField, LinkKindChoice, LinkOption, LinkOptionGroup, default as LinkPicker, LinkPickerFieldProps, LinkPickerProps, LinkPickerWindowProps, LinkRules, LinkTarget, TextLinkField, TextLinkFieldProps } from '../forms/LinkPicker.js';
@@ -72,6 +74,7 @@ export { default as Divider, DividerProps, DividerSpacing } from '../shell/Divid
72
74
  export { CONTROL_HEIGHTS, ControlSize, ROW_HEIGHTS, SPACING_ROLES, SPACING_SCALE, SpacingRole, SpacingStep, isSpacingStep } from '../tokens/spacing.js';
73
75
  export { BORDER_WIDTHS, BorderRole, FONT_WEIGHTS, FontWeightRole, MOTION_DURATIONS, MotionSpeed, TYPE_SCALE, TypeStep } from '../tokens/type.js';
74
76
  export { HOVER_MOTION, MOTION_EASING, MOTION_GROUPS, MOTION_TIMING, MotionEasing, MotionGroup, MotionRange, MotionTiming, TimedMotionGroup, motionSeconds, rotateDegrees } from '../motion/values.js';
77
+ export { ENTRANCE_ATTR, ENTRANCE_FROM, ENTRANCE_FROM_ATTR, ENTRANCE_FROM_DEFAULT, ENTRANCE_KINDS, ENTRANCE_KINDS_WITH_FROM, ENTRANCE_STATE_ATTR, EntranceFrom, EntranceKind, EntranceValue, armEntrance, entranceAttrs, playEntrance, readEntrance } from '../motion/entrance.js';
75
78
  export { ELEVATION_LEVELS, ElevationLevel, RADIUS_ROLES, RadiusRole } from '../tokens/elevation.js';
76
79
  export { ACCENT_ROLES, COLOUR_ROLES, ColourRole, FLAT_STATUS_ROLES, IDENTITY_ROLES, NEUTRAL_ROLES, SCRIM_ROLES, STATUS_GROUPS, STATUS_ROLES } from '../tokens/colour.js';
77
80
  export { default as Skeleton, SkeletonProps, SkeletonVariant } from '../shell/Skeleton.js';
package/dist/ui/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import"../chunk-2F5SLLBJ.js";export{ACCENT_ROLES,COLOUR_ROLES,FLAT_STATUS_ROLES,IDENTITY_ROLES,NEUTRAL_ROLES,SCRIM_ROLES,STATUS_GROUPS,STATUS_ROLES}from"../chunk-VVJIKS47.js";export{ELEVATION_LEVELS,RADIUS_ROLES}from"../chunk-4MVRSCQE.js";export{BORDER_WIDTHS,FONT_WEIGHTS,MOTION_DURATIONS,TYPE_SCALE}from"../chunk-LH7IKIGE.js";export{CheckoutTemplate}from"../chunk-PLC656AN.js";export{DashboardTemplate}from"../chunk-FUDUQ44A.js";export{DataTablePage}from"../chunk-D5HGRACW.js";export{EmailTemplate}from"../chunk-VX6TKEEK.js";export{ErrorBoundary}from"../chunk-4RGMRXYH.js";export{ErrorPage}from"../chunk-ORIXCEKO.js";export{FormLayoutPage}from"../chunk-ILY4DU3D.js";export{GalleryTemplate}from"../chunk-U44DVPGB.js";export{useTransferProgress}from"../chunk-QHOEMRR7.js";export{AuthScreen}from"../chunk-KXU4ORKE.js";export{ChatTemplate}from"../chunk-AWGJIDBR.js";export{TopNav}from"../chunk-T6BGS26U.js";export{Grid,Inline,Stack}from"../chunk-3RPER7VH.js";export{Statistic}from"../chunk-TGGUYAWA.js";export{Stepper}from"../chunk-CRILBBSU.js";export{Tabs,tabButtonId,tabPanelId}from"../chunk-N5KO2IHG.js";export{Paragraph,Text,Title}from"../chunk-5KUE6IHF.js";export{TimeAgo}from"../chunk-JSG2AKCG.js";export{SettingRow}from"../chunk-4TYIYL56.js";export{SidebarActionButton}from"../chunk-KMTCYDJH.js";export{SidebarLayout}from"../chunk-AFG34RBV.js";export{SidebarGroupLabel,SidebarNavGroup,SidebarNavItem,SidebarSection}from"../chunk-DWAA4YZV.js";import"../chunk-QWK6DRSN.js";export{Skeleton}from"../chunk-4Z62SEA5.js";export{ListRow,SortableList}from"../chunk-IPO4LHSB.js";export{PageHeader}from"../chunk-EN5NXWT6.js";export{POST_PRODUCTION_STATUSES,ProductionTimeline,STAGES,calcOverall,calcReportOverall,useProductionTimeline}from"../chunk-NU5HN3FZ.js";export{ResizeHandle}from"../chunk-Z44JWU75.js";export{SettingReset}from"../chunk-TFSLPAGB.js";export{LanguagePanel,LanguageSelect,languageSelectWidth}from"../chunk-3BFZVVAT.js";export{MetricBar}from"../chunk-DQQKG46I.js";export{isSeverityTone,severityOf}from"../chunk-TZFNWAED.js";export{MetricBarLegend}from"../chunk-IMDGMUE3.js";import"../chunk-URBCGEXG.js";export{MilestoneTimeline}from"../chunk-K4JQ3FQI.js";import"../chunk-S4Z657L6.js";export{TimelineTrack}from"../chunk-SDDV3UCN.js";export{DAY_MS,fmtSliderDate,toDayMs}from"../chunk-7TC3LJQM.js";export{EditableGrid}from"../chunk-6M5O2P64.js";export{EmptyValue}from"../chunk-HNQPF5QZ.js";export{FloatingBar}from"../chunk-7KWYVQMX.js";export{GlobalSearch,openGlobalSearch}from"../chunk-DZOJQURG.js";export{pushRecent as pushRecentSearch,sanitizeRecent as sanitizeRecentSearches}from"../chunk-WGRS6QBT.js";export{HelpCenter}from"../chunk-OEPYQUXZ.js";export{IconRail,IconRailButton}from"../chunk-4P3324KU.js";import"../chunk-FQEALPZJ.js";export{ContainerFillChart}from"../chunk-PCTOL2FX.js";export{CountBadge}from"../chunk-CLTRQ7AQ.js";export{APP_UPDATE_POLL_MS,AppUpdateBanner,useAppUpdate}from"../chunk-DIEH76MB.js";export{Avatar,AvatarGroup}from"../chunk-AFYLVV74.js";export{BudgetBar,budgetState}from"../chunk-UEISJFZH.js";export{Card,StatCard}from"../chunk-P3RXXWXN.js";export{ENGLISH,SHELL_LANGUAGE_STORAGE_KEY,ShellLanguageProvider,matchShellLanguage,readSavedShellLanguage,resolveShellLanguage,saveShellLanguage,useShellLanguage}from"../chunk-7TZV6G2F.js";export{Accordion,AccordionBody,AccordionHeading}from"../chunk-AWKJZSTO.js";export{BRAND_ICON_NAMES,ICON_NAMES,isBrandIconName,isIconName}from"../chunk-T23TIJ4P.js";export{BRAND_MAX_HEIGHT,BRAND_MIN_HEIGHT_PX,brandBox}from"../chunk-64ACCUNN.js";export{TextToolbar,textToolbarRows,textToolbarWindowColumns}from"../chunk-EXLHFM3V.js";export{TEXT_ALIGNS,TEXT_ALIGN_FIT,TEXT_ALIGN_ICONS,textAlignFit,textAlignOptions,textAlignWords}from"../chunk-4EZIWLJJ.js";export{Textarea_default as Textarea}from"../chunk-PB7G6CJ7.js";export{TileButton_default as TileButton}from"../chunk-H2R4SNNO.js";export{TimePicker_default as TimePicker}from"../chunk-OBJGUJIE.js";export{WidthsBar}from"../chunk-DOF56HTO.js";export{COLUMN_COUNT_MAX,COLUMN_COUNT_WIDTHS,COLUMN_SHARES_EQUAL,COLUMN_SHARE_MIN,columnSharesWidths,resolveColumnShares,resolveColumnWidths}from"../chunk-PLGJOHEG.js";export{ShowWhen}from"../chunk-YEM4KYCW.js";export{SidesEachToggle,SidesInput,sidesStartEach}from"../chunk-7FW2BQTV.js";export{Slider,SliderGroup}from"../chunk-V2J2AHDW.js";export{Snippet}from"../chunk-COF33H6J.js";export{SplitButton_default as SplitButton}from"../chunk-5PDHKH2A.js";export{Switch_default as Switch}from"../chunk-M3R4C3A6.js";export{TagInput}from"../chunk-CH3JQUDW.js";export{NumericKeypad}from"../chunk-WDQEUNGE.js";export{MAX_FRACTION_DIGITS,appendKey,backspace}from"../chunk-VEPVOHCV.js";export{PictureTiles}from"../chunk-ZRLWE3JM.js";export{PositionInput}from"../chunk-WLYYC3AP.js";export{RadioGroup}from"../chunk-32VV2J22.js";export{Radio_default as Radio}from"../chunk-NI5FXWK5.js";export{IconPicker}from"../chunk-WL4U4MTQ.js";export{LinkPicker,TextLinkField}from"../chunk-RBZKV3ED.js";export{SearchableSelect}from"../chunk-3XZFWR6T.js";export{Label,labelClasses}from"../chunk-EQKUFYX6.js";export{MEDIA_FILES_DRAG_TYPE,MEDIA_FILE_DRAG_TYPE,MEDIA_FOLDER_DRAG_TYPE,MediaLibrary,readMediaFileDrag}from"../chunk-AM6HSHT5.js";export{Tree,TreeEmptySlot,TreeGroup,TreeGroupLabel,TreeRow,TreeSeam}from"../chunk-NRALUW6P.js";import"../chunk-7JVGF555.js";export{MarqueeBox}from"../chunk-IC72MGON.js";export{EmptyState}from"../chunk-QVZKRROQ.js";export{ImageLightbox,lightboxKind}from"../chunk-P7H2DXJB.js";export{LIGHTBOX_PICTURE_FIT,ZoomableImage}from"../chunk-CGUMJZUB.js";export{DescriptionList}from"../chunk-SACUSHVN.js";export{Drawer}from"../chunk-V6Y4OC6K.js";export{Breadcrumbs}from"../chunk-XYECIBVX.js";export{mediaLibraryMenu}from"../chunk-MS5APD3V.js";export{mediaMoveItems,mediaMoveSubmenu,useMediaMoveItems}from"../chunk-OPN4I565.js";export{FULL_BADGE_TILE_PX,MediaUploadGrid}from"../chunk-E3EJWNNK.js";export{MediaUsedInList}from"../chunk-NZ34BQKH.js";export{NativeSelect,Select_default as Select}from"../chunk-XFH64VIG.js";import"../chunk-EO5RLFRX.js";import"../chunk-LJN77RG6.js";export{DatePicker_default as DatePicker}from"../chunk-77AQNJE2.js";export{DateRangePicker,toISODate}from"../chunk-KYBXJL6A.js";export{DateTimePicker_default as DateTimePicker}from"../chunk-SXNQHIBY.js";export{DisplayChips}from"../chunk-BBXFIBXB.js";export{FilePicker_default as FilePicker}from"../chunk-XBHXGBJR.js";export{FormErrorSummary}from"../chunk-SAP4YI2Y.js";export{BrandAssetEditor}from"../chunk-O7RR2ZZ2.js";export{MediaUploadField}from"../chunk-QGWKM7C3.js";export{ImageFocusPoint}from"../chunk-XQZL6JDD.js";export{FormField}from"../chunk-6KBDNYRW.js";export{BrandMark,resolveBrandMarkTreatment}from"../chunk-MI67DI3H.js";export{Calendar}from"../chunk-JH4ZCPHW.js";export{CornersInput}from"../chunk-6IOFNPR6.js";export{useDebouncedValue}from"../chunk-SLGT5WPJ.js";export{useGridSelection}from"../chunk-VLKDWKVR.js";export{MARQUEE_IGNORE,marqueeHits,rectsIntersect,useMarquee}from"../chunk-OLFYNMTD.js";export{edgeScrollDelta,getScrollParent,scrollBoundsOf}from"../chunk-LACL4MAR.js";export{useRootIsDark}from"../chunk-UPXDDO3U.js";export{CORNERS,CORNERS_FOR_THEME,applyCorners,applyIconSet,applyThemePrefs,cornersFor,resolveCorners,resolveTheme,useTheme}from"../chunk-CUZQVBPC.js";export{ICON_SET_FOR_THEME,THEME_ICON_SETS,iconSetFor,loadIconSet}from"../chunk-VQCKMT5F.js";export{AlignmentGrid}from"../chunk-RDKIYORS.js";export{BORDER_LINE_STYLES,BorderInput,borderSides,borderStartEach}from"../chunk-ALTBTO3Z.js";export{Segmented}from"../chunk-S4FPYCUU.js";import"../chunk-JDQGHQ2C.js";export{ColorPicker,ColorPickerPanel,ColorSwatch,HexInput,colorFill,colorSwatchClasses}from"../chunk-BUO7XCYR.js";export{Popover}from"../chunk-7JGR7WPD.js";export{InputNumber_default as InputNumber}from"../chunk-QRU55BUS.js";export{useSettingAuto,useSettingRowName}from"../chunk-2NMW66P5.js";export{useSort}from"../chunk-E6FDUFPH.js";export{slugify}from"../chunk-24AL3CDS.js";export{HOVER_MOTION,MOTION_EASING,MOTION_GROUPS,MOTION_TIMING,motionSeconds,rotateDegrees}from"../chunk-AIJ3G6BD.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,hexToHsv,hexToRgb,hsvToHex,parseHexColor,readableInk,relativeLuminance}from"../chunk-S6OB6HJB.js";export{PortalBrandingProvider,resolvePortalBrandAsset,usePortalBranding}from"../chunk-ACYYVK6G.js";export{DataTable}from"../chunk-WOAMPTZI.js";export{Pagination}from"../chunk-LXL2UCUR.js";export{EntityList}from"../chunk-SX3SG522.js";import"../chunk-TMMNCXQT.js";export{ResizableTable}from"../chunk-HNVSVTNC.js";export{useClickOutside}from"../chunk-SI26KESU.js";export{useColumnConfig}from"../chunk-UKBXQXDZ.js";import"../chunk-ULJQYXHB.js";export{useTableNav}from"../chunk-ATMJ5ZPK.js";export{escapeHtml}from"../chunk-G6DKCCWH.js";export{Checkbox_default as Checkbox}from"../chunk-CGZBDI6C.js";export{Kanban}from"../chunk-54NMFQMW.js";export{ListFooter}from"../chunk-4ULRP4Y4.js";export{ListLoadError}from"../chunk-UNQ54QOF.js";export{WaterfallChart}from"../chunk-LCSMBVMU.js";export{SankeyChart}from"../chunk-4BCFBF3C.js";export{SCATTER_SERIES_CAP,ScatterChart}from"../chunk-MHPFBVDD.js";export{StatTile}from"../chunk-JFV5CQN4.js";export{Sparkline}from"../chunk-CKCDGSTC.js";export{SunburstChart}from"../chunk-VX4COEWP.js";export{TreemapChart}from"../chunk-7LU3H72S.js";export{squarify}from"../chunk-46BYGPGD.js";export{HeatmapChart}from"../chunk-NWC6YCIJ.js";export{HistogramChart}from"../chunk-4P57TIFK.js";export{Meter}from"../chunk-OH5L6HYW.js";export{PieChart}from"../chunk-G66SG6JN.js";export{RADAR_SERIES_CAP,RadarChart}from"../chunk-4EBJO7ER.js";export{RadialBarChart}from"../chunk-YQOVUH5W.js";export{RangeChart}from"../chunk-A6FR2D46.js";export{RankedBars}from"../chunk-SL77N7VT.js";export{ChordChart}from"../chunk-TNJ2VCH4.js";import"../chunk-5PP435FL.js";export{FunnelChart}from"../chunk-PSR6SXCC.js";export{StepChain,StepChainItem}from"../chunk-RDYFZHT3.js";export{Markdown,Markdown as MarkdownLite,plainCell,tableToCsv}from"../chunk-QOI4GQVH.js";export{Divider}from"../chunk-DFOFEBYX.js";import"../chunk-UJUTS6LJ.js";export{isSafeLinkHref}from"../chunk-Q5Z3KHT2.js";export{ContextMenu,useContextMenu}from"../chunk-AIJ6OR6X.js";export{Banner}from"../chunk-ZGOHRLXG.js";export{Input_default as Input}from"../chunk-HNUKXGYP.js";export{DropdownMenu}from"../chunk-NZISMTQE.js";import"../chunk-4DDL6NXB.js";export{AttachButton,AttachmentDropZone,AttachmentList,ComposerAttachments,PaperclipGlyph}from"../chunk-XCAUDTCC.js";export{mediaFileName}from"../chunk-H5NIW2KS.js";export{TransferProgress}from"../chunk-TDAI4J27.js";export{INPUT_BASE,INPUT_SIZES,PLACEHOLDER_INK,inputClasses}from"../chunk-AYZY3YNC.js";export{IconButton_default as IconButton}from"../chunk-LE5LWALR.js";export{FileIntakeAlert,acceptsFile,useFileIntake}from"../chunk-JTMEFXRL.js";export{CHART_SPEC_LIMITS,parseChartSpec}from"../chunk-CR7T435F.js";export{SpecChart}from"../chunk-MCAPJSB6.js";export{currencyDecimals,currencySymbol,formatBytes,formatMoney,setCurrencyFormats,timeAgo}from"../chunk-GEYM4WN3.js";export{DATE_FORMAT_OPTIONS,TZ_AUTO,firstDayOfWeek,formatDate,formatDateTime,formatTime,getUserDateFormat,getUserTimezone,setUserDateFormat,setUserTimezone,syncTimezoneFromProfile}from"../chunk-Y3JW2GW5.js";export{EMPTY_VALUE}from"../chunk-36BRD5J3.js";import"../chunk-LF27WIN2.js";export{TimeSeriesChart}from"../chunk-XXL5RLNM.js";export{ChartBrush}from"../chunk-E6GDAV5R.js";export{ChartDot}from"../chunk-CK2YOGUS.js";export{ChartFrame}from"../chunk-VAK5FQXH.js";export{arcPath,areaBetween,areaFrom,bumpPath,curvePath,linearPath,monotonePath,polygonPoints,splinePath,stepPath}from"../chunk-VFC6QUEN.js";export{ColumnChart}from"../chunk-BMXTPJ7T.js";export{ChartDefs,MOTION,dashFor,fillFor,fillId,glowId,groundId,maskId,stagger}from"../chunk-465RRWBY.js";export{ChartSkeleton}from"../chunk-3IUPYCW3.js";export{ChartHighlightProvider,autoHighlightIndex,highlightOpacity,useHighlight}from"../chunk-CNYAHYE6.js";export{CONTROL_HEIGHTS,ROW_HEIGHTS,SPACING_ROLES,SPACING_SCALE,isSpacingStep}from"../chunk-AW7TOB6N.js";import"../chunk-KNUR2UEG.js";export{NEXT_CHUNK_PATH_PREFIX,STALE_CHUNK_RELOAD_COOLDOWN_MS,STALE_CHUNK_RELOAD_KEY,VITE_PRELOAD_ERROR_EVENT,installStaleChunkReload,isStaleChunkError}from"../chunk-JDCM2VHG.js";export{Result}from"../chunk-QYL26AB4.js";export{ALT,ALT_SHIFT_D,ALT_SHIFT_E,ALT_SHIFT_N,CMD_A,CMD_DOT,CMD_ENTER,CMD_K,CMD_S,ENTER,Kbd,MOD,SHIFT,isMac}from"../chunk-ZDMZM7HD.js";import"../chunk-5A7MWTXX.js";export{ConfirmProvider,confirm,confirmDestructive,prompt,useConfirm}from"../chunk-PLK2WHZG.js";export{Dialog}from"../chunk-7INZ7O3A.js";export{ItemCount}from"../chunk-55AEZX6K.js";import"../chunk-3DVNXNTF.js";import"../chunk-ECJKIPWU.js";import"../chunk-VWGWZY7A.js";import"../chunk-7QSDPSXP.js";export{ColoredBadge}from"../chunk-OKHKY3ZZ.js";import"../chunk-O3MBPAWZ.js";export{UNDOABLE_MS,toast_default as toast}from"../chunk-7ELJQL7J.js";import"../chunk-2QY5BJLA.js";export{useIsMobile}from"../chunk-UGTRSRIW.js";export{ShellPrefsProvider,useLocalStoragePrefs,useShellPrefs}from"../chunk-KC3EX26K.js";import"../chunk-F3ZOO23R.js";export{VERSION}from"../chunk-ETJRGQNG.js";export{GROUP_COLORS,GROUP_COLORS_SOLID,StatusBadge,StatusBadgeProvider,groupColors,useStatusLabel}from"../chunk-FZM3ZPW3.js";export{useFocusTrap,useScrollLock}from"../chunk-CDAJKLGL.js";export{PopupMenu,PopupMenuDivider,PopupMenuItem,PopupMenuLabel,PopupSubmenu}from"../chunk-6KGIHI6X.js";import"../chunk-URHGHXDN.js";export{MENU_ON_MEDIA_ATTR,leavesContextMenuAlone}from"../chunk-5QFPTDQF.js";export{Button_default as Button}from"../chunk-EOVXFXVV.js";export{buttonClasses,iconButtonClasses}from"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.js";export{Icon}from"../chunk-2UO47XB4.js";export{activeIconSet,iconSets,iconsVersion,registerIconSet,registerIcons,resolveIcon,setDefaultIconSet,setIconSet,subscribeIcons}from"../chunk-J75ZT2JQ.js";export{LoadingSpinner,SpinnerRing}from"../chunk-R2VKEMZH.js";import"../chunk-MRJKZWWV.js";import"../chunk-WGLHB6WE.js";export{Tooltip}from"../chunk-NJN5IKWO.js";export{OVERLAY_OPEN_EVENT,dismissPopups}from"../chunk-PGN5ME7B.js";export{Z_LAYERS}from"../chunk-62LW225J.js";export{MENU_MAX_HEIGHT,POPUP_MAX_WIDTH,placeMenu,popupBounds,useDropdownPosition}from"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";export{setShellApiClient}from"../chunk-STKJA4PV.js";export{BoxPlotChart}from"../chunk-36PJGT4W.js";export{CandlestickChart}from"../chunk-DVYIBJ3S.js";export{ChartTooltip}from"../chunk-36VIGB6J.js";export{GLASS_DIVIDER,glassStyle,solidSurfaceStyle}from"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";export{CartesianPlot}from"../chunk-QO5E33DH.js";import"../chunk-C764JODK.js";export{angleScale,bandScale,binValues,ladderScale,linearScale,logScale,niceAxis,niceMax,radiusScale}from"../chunk-2JWPNR2U.js";export{usePlotWidth}from"../chunk-MAFUXCPZ.js";export{CHART_INK,SERIES_SLOT_COUNT,SERIES_VARS,STATUS_VARS,assignSeriesSlots,resolveSeriesColor,resolveSeriesColorWithin,seriesColor,toggleSeriesSlot}from"../chunk-TZFACUMR.js";export{registerModalEscapeInterceptor}from"../chunk-TWVUQUUD.js";export{DEFAULT_SHELL_STRINGS,ShellStringsProvider,useShellLocale,useShellStrings}from"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
2
+ import"../chunk-MXK7A6ZM.js";export{FormLayoutPage}from"../chunk-ILY4DU3D.js";export{GalleryTemplate}from"../chunk-U44DVPGB.js";export{ACCENT_ROLES,COLOUR_ROLES,FLAT_STATUS_ROLES,IDENTITY_ROLES,NEUTRAL_ROLES,SCRIM_ROLES,STATUS_GROUPS,STATUS_ROLES}from"../chunk-VVJIKS47.js";export{ELEVATION_LEVELS,RADIUS_ROLES}from"../chunk-4MVRSCQE.js";export{BORDER_WIDTHS,FONT_WEIGHTS,MOTION_DURATIONS,TYPE_SCALE}from"../chunk-LH7IKIGE.js";export{AuthScreen}from"../chunk-KXU4ORKE.js";export{ChatTemplate}from"../chunk-AWGJIDBR.js";export{CheckoutTemplate}from"../chunk-PLC656AN.js";export{DashboardTemplate}from"../chunk-HAYGUFNM.js";export{DataTablePage}from"../chunk-D5HGRACW.js";export{EmailTemplate}from"../chunk-VX6TKEEK.js";export{ErrorBoundary}from"../chunk-4RGMRXYH.js";export{ErrorPage}from"../chunk-ORIXCEKO.js";export{useTransferProgress}from"../chunk-QHOEMRR7.js";export{Tabs,tabButtonId,tabPanelId}from"../chunk-N5KO2IHG.js";export{Paragraph,Text,Title}from"../chunk-5KUE6IHF.js";export{TimeAgo}from"../chunk-JSG2AKCG.js";export{TopNav}from"../chunk-T6BGS26U.js";export{Skeleton}from"../chunk-4Z62SEA5.js";export{ListRow,SortableList}from"../chunk-IPO4LHSB.js";export{Grid,Inline,Stack}from"../chunk-3RPER7VH.js";export{Statistic}from"../chunk-TGGUYAWA.js";export{Stepper}from"../chunk-CRILBBSU.js";export{SettingReset}from"../chunk-TFSLPAGB.js";export{SettingRow}from"../chunk-4TYIYL56.js";export{SidebarActionButton}from"../chunk-KMTCYDJH.js";export{SidebarLayout}from"../chunk-AFG34RBV.js";export{SidebarGroupLabel,SidebarNavGroup,SidebarNavItem,SidebarSection}from"../chunk-DWAA4YZV.js";import"../chunk-QWK6DRSN.js";export{MetricBar}from"../chunk-DQQKG46I.js";export{isSeverityTone,severityOf}from"../chunk-TZFNWAED.js";export{MetricBarLegend}from"../chunk-IMDGMUE3.js";import"../chunk-URBCGEXG.js";export{MilestoneTimeline}from"../chunk-K4JQ3FQI.js";export{PageHeader}from"../chunk-EN5NXWT6.js";export{POST_PRODUCTION_STATUSES,ProductionTimeline,STAGES,calcOverall,calcReportOverall,useProductionTimeline}from"../chunk-NU5HN3FZ.js";import"../chunk-S4Z657L6.js";export{TimelineTrack}from"../chunk-SDDV3UCN.js";export{DAY_MS,fmtSliderDate,toDayMs}from"../chunk-7TC3LJQM.js";export{ResizeHandle}from"../chunk-Z44JWU75.js";export{HelpCenter}from"../chunk-OEPYQUXZ.js";export{IconRail,IconRailButton}from"../chunk-4P3324KU.js";import"../chunk-FQEALPZJ.js";export{LanguagePanel,LanguageSelect,languageSelectWidth}from"../chunk-3BFZVVAT.js";export{EditableGrid}from"../chunk-6M5O2P64.js";export{EmptyValue}from"../chunk-HNQPF5QZ.js";export{FloatingBar}from"../chunk-7KWYVQMX.js";export{GlobalSearch,openGlobalSearch}from"../chunk-DZOJQURG.js";export{pushRecent as pushRecentSearch,sanitizeRecent as sanitizeRecentSearches}from"../chunk-WGRS6QBT.js";export{Card,StatCard}from"../chunk-P3RXXWXN.js";export{ContainerFillChart}from"../chunk-PCTOL2FX.js";export{CountBadge}from"../chunk-CLTRQ7AQ.js";export{ENGLISH,SHELL_LANGUAGE_STORAGE_KEY,ShellLanguageProvider,matchShellLanguage,readSavedShellLanguage,resolveShellLanguage,saveShellLanguage,useShellLanguage}from"../chunk-7TZV6G2F.js";export{Accordion,AccordionBody,AccordionHeading}from"../chunk-AWKJZSTO.js";export{APP_UPDATE_POLL_MS,AppUpdateBanner,useAppUpdate}from"../chunk-DIEH76MB.js";export{Avatar,AvatarGroup}from"../chunk-AFYLVV74.js";export{BudgetBar,budgetState}from"../chunk-UEISJFZH.js";export{BRAND_ICON_NAMES,ICON_NAMES,isBrandIconName,isIconName}from"../chunk-T23TIJ4P.js";export{BRAND_MAX_HEIGHT,BRAND_MIN_HEIGHT_PX,brandBox}from"../chunk-64ACCUNN.js";export{TagInput}from"../chunk-CH3JQUDW.js";export{TextToolbar,textToolbarRows,textToolbarWindowColumns}from"../chunk-EXLHFM3V.js";export{TEXT_ALIGNS,TEXT_ALIGN_FIT,TEXT_ALIGN_ICONS,textAlignFit,textAlignOptions,textAlignWords}from"../chunk-4EZIWLJJ.js";export{Textarea_default as Textarea}from"../chunk-PB7G6CJ7.js";export{TileButton_default as TileButton}from"../chunk-H2R4SNNO.js";export{TimePicker_default as TimePicker}from"../chunk-OBJGUJIE.js";export{WidthsBar}from"../chunk-DOF56HTO.js";export{COLUMN_COUNT_MAX,COLUMN_COUNT_WIDTHS,COLUMN_SHARES_EQUAL,COLUMN_SHARE_MIN,columnSharesWidths,resolveColumnShares,resolveColumnWidths}from"../chunk-PLGJOHEG.js";export{ShowWhen}from"../chunk-YEM4KYCW.js";export{SidesEachToggle,SidesInput,sidesStartEach}from"../chunk-7FW2BQTV.js";export{Slider,SliderGroup}from"../chunk-V2J2AHDW.js";export{Snippet}from"../chunk-COF33H6J.js";export{SplitButton_default as SplitButton}from"../chunk-5PDHKH2A.js";export{Switch_default as Switch}from"../chunk-M3R4C3A6.js";export{NumericKeypad}from"../chunk-WDQEUNGE.js";export{MAX_FRACTION_DIGITS,appendKey,backspace}from"../chunk-VEPVOHCV.js";export{PictureTiles}from"../chunk-ZRLWE3JM.js";export{PositionInput}from"../chunk-WLYYC3AP.js";export{RadioGroup}from"../chunk-32VV2J22.js";export{Radio_default as Radio}from"../chunk-NI5FXWK5.js";export{IconPicker}from"../chunk-WL4U4MTQ.js";export{LinkPicker,TextLinkField}from"../chunk-RBZKV3ED.js";export{SearchableSelect}from"../chunk-3XZFWR6T.js";export{Label,labelClasses}from"../chunk-EQKUFYX6.js";export{MEDIA_FILES_DRAG_TYPE,MEDIA_FILE_DRAG_TYPE,MEDIA_FOLDER_DRAG_TYPE,MediaLibrary,readMediaFileDrag}from"../chunk-KC4NOKZ6.js";export{Tree,TreeEmptySlot,TreeGroup,TreeGroupLabel,TreeRow,TreeSeam}from"../chunk-NRALUW6P.js";import"../chunk-7JVGF555.js";export{ImageLightbox,lightboxKind}from"../chunk-P7H2DXJB.js";export{LIGHTBOX_PICTURE_FIT,ZoomableImage}from"../chunk-CGUMJZUB.js";export{MarqueeBox}from"../chunk-IC72MGON.js";export{Drawer}from"../chunk-V6Y4OC6K.js";export{EmptyState}from"../chunk-QVZKRROQ.js";export{DescriptionList}from"../chunk-SACUSHVN.js";export{Breadcrumbs}from"../chunk-XYECIBVX.js";export{mediaLibraryMenu}from"../chunk-MS5APD3V.js";export{mediaMoveItems,mediaMoveSubmenu,useMediaMoveItems}from"../chunk-OPN4I565.js";export{FULL_BADGE_TILE_PX,MediaUploadGrid}from"../chunk-E3EJWNNK.js";export{MediaUsedInList}from"../chunk-NZ34BQKH.js";export{RenameField}from"../chunk-WPCNJ4UL.js";export{NativeSelect,Select_default as Select}from"../chunk-XFH64VIG.js";import"../chunk-EO5RLFRX.js";import"../chunk-LJN77RG6.js";export{DatePicker_default as DatePicker}from"../chunk-77AQNJE2.js";export{DateRangePicker,toISODate}from"../chunk-KYBXJL6A.js";export{DateTimePicker_default as DateTimePicker}from"../chunk-SXNQHIBY.js";export{DisplayChips}from"../chunk-BBXFIBXB.js";export{FilePicker_default as FilePicker}from"../chunk-XBHXGBJR.js";export{FormErrorSummary}from"../chunk-SAP4YI2Y.js";export{BrandAssetEditor}from"../chunk-O7RR2ZZ2.js";export{MediaUploadField}from"../chunk-QGWKM7C3.js";export{ImageFocusPoint}from"../chunk-XQZL6JDD.js";export{FormField}from"../chunk-6KBDNYRW.js";export{BrandMark,resolveBrandMarkTreatment}from"../chunk-MI67DI3H.js";export{Calendar}from"../chunk-JH4ZCPHW.js";export{CornersInput}from"../chunk-6IOFNPR6.js";export{useDebouncedValue}from"../chunk-SLGT5WPJ.js";export{useGridSelection}from"../chunk-VLKDWKVR.js";export{MARQUEE_IGNORE,marqueeHits,rectsIntersect,useMarquee}from"../chunk-OLFYNMTD.js";export{edgeScrollDelta,getScrollParent,scrollBoundsOf}from"../chunk-LACL4MAR.js";export{useRootIsDark}from"../chunk-UPXDDO3U.js";export{CORNERS,CORNERS_FOR_THEME,applyCorners,applyIconSet,applyThemePrefs,cornersFor,resolveCorners,resolveTheme,useTheme}from"../chunk-CUZQVBPC.js";export{ICON_SET_FOR_THEME,THEME_ICON_SETS,iconSetFor,loadIconSet}from"../chunk-VQCKMT5F.js";export{AlignmentGrid}from"../chunk-RDKIYORS.js";export{BORDER_LINE_STYLES,BorderInput,borderSides,borderStartEach}from"../chunk-ALTBTO3Z.js";export{Segmented}from"../chunk-S4FPYCUU.js";import"../chunk-JDQGHQ2C.js";export{ColorPicker,ColorPickerPanel,ColorSwatch,HexInput,colorFill,colorSwatchClasses}from"../chunk-BUO7XCYR.js";export{Popover}from"../chunk-7JGR7WPD.js";export{InputNumber_default as InputNumber}from"../chunk-QRU55BUS.js";export{useSettingAuto,useSettingRowName}from"../chunk-2NMW66P5.js";export{useSort}from"../chunk-E6FDUFPH.js";export{slugify}from"../chunk-24AL3CDS.js";export{ENTRANCE_ATTR,ENTRANCE_FROM,ENTRANCE_FROM_ATTR,ENTRANCE_FROM_DEFAULT,ENTRANCE_KINDS,ENTRANCE_KINDS_WITH_FROM,ENTRANCE_STATE_ATTR,armEntrance,entranceAttrs,playEntrance,readEntrance}from"../chunk-Q2SCJQ5H.js";export{HOVER_MOTION,MOTION_EASING,MOTION_GROUPS,MOTION_TIMING,motionSeconds,rotateDegrees}from"../chunk-AIJ3G6BD.js";export{hexWithAlpha,mixHex,rgbToHex}from"../chunk-CJSZW3OS.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,hexToHsv,hexToRgb,hsvToHex,parseHexColor,readableInk,relativeLuminance}from"../chunk-S6OB6HJB.js";export{PortalBrandingProvider,resolvePortalBrandAsset,usePortalBranding}from"../chunk-ACYYVK6G.js";export{DataTable}from"../chunk-WOAMPTZI.js";export{Pagination}from"../chunk-LXL2UCUR.js";export{EntityList}from"../chunk-SX3SG522.js";import"../chunk-TMMNCXQT.js";export{ResizableTable}from"../chunk-HNVSVTNC.js";export{useClickOutside}from"../chunk-SI26KESU.js";export{useColumnConfig}from"../chunk-UKBXQXDZ.js";import"../chunk-ULJQYXHB.js";export{useTableNav}from"../chunk-ATMJ5ZPK.js";export{escapeHtml}from"../chunk-G6DKCCWH.js";export{Checkbox_default as Checkbox}from"../chunk-CGZBDI6C.js";export{Kanban}from"../chunk-54NMFQMW.js";export{ListFooter}from"../chunk-4ULRP4Y4.js";export{ListLoadError}from"../chunk-UNQ54QOF.js";export{WaterfallChart}from"../chunk-LCSMBVMU.js";export{SankeyChart}from"../chunk-4BCFBF3C.js";export{SCATTER_SERIES_CAP,ScatterChart}from"../chunk-MHPFBVDD.js";export{StatTile}from"../chunk-JFV5CQN4.js";export{Sparkline}from"../chunk-CKCDGSTC.js";export{SunburstChart}from"../chunk-VX4COEWP.js";export{TreemapChart}from"../chunk-7LU3H72S.js";export{squarify}from"../chunk-46BYGPGD.js";export{HeatmapChart}from"../chunk-NWC6YCIJ.js";export{HistogramChart}from"../chunk-4P57TIFK.js";export{Meter}from"../chunk-OH5L6HYW.js";export{PieChart}from"../chunk-G66SG6JN.js";export{RADAR_SERIES_CAP,RadarChart}from"../chunk-4EBJO7ER.js";export{RadialBarChart}from"../chunk-YQOVUH5W.js";export{RangeChart}from"../chunk-A6FR2D46.js";export{RankedBars}from"../chunk-SL77N7VT.js";export{ChordChart}from"../chunk-TNJ2VCH4.js";import"../chunk-5PP435FL.js";export{FunnelChart}from"../chunk-PSR6SXCC.js";export{StepChain,StepChainItem}from"../chunk-RDYFZHT3.js";export{Markdown,Markdown as MarkdownLite,plainCell,tableToCsv}from"../chunk-QOI4GQVH.js";export{Divider}from"../chunk-DFOFEBYX.js";import"../chunk-UJUTS6LJ.js";export{isSafeLinkHref}from"../chunk-Q5Z3KHT2.js";export{ContextMenu,useContextMenu}from"../chunk-AIJ6OR6X.js";export{Banner}from"../chunk-ZGOHRLXG.js";export{Input_default as Input}from"../chunk-HNUKXGYP.js";export{DropdownMenu}from"../chunk-NZISMTQE.js";import"../chunk-4DDL6NXB.js";export{AttachButton,AttachmentDropZone,AttachmentList,ComposerAttachments,PaperclipGlyph}from"../chunk-XCAUDTCC.js";export{mediaFileName}from"../chunk-H5NIW2KS.js";export{TransferProgress}from"../chunk-TDAI4J27.js";export{INPUT_BASE,INPUT_SIZES,PLACEHOLDER_INK,inputClasses}from"../chunk-AYZY3YNC.js";export{IconButton_default as IconButton}from"../chunk-LE5LWALR.js";export{FileIntakeAlert,acceptsFile,useFileIntake}from"../chunk-JTMEFXRL.js";export{CHART_SPEC_LIMITS,parseChartSpec}from"../chunk-CR7T435F.js";export{SpecChart}from"../chunk-MCAPJSB6.js";export{currencyDecimals,currencySymbol,formatBytes,formatMoney,setCurrencyFormats,timeAgo}from"../chunk-GEYM4WN3.js";export{DATE_FORMAT_OPTIONS,TZ_AUTO,firstDayOfWeek,formatDate,formatDateTime,formatTime,getUserDateFormat,getUserTimezone,setUserDateFormat,setUserTimezone,syncTimezoneFromProfile}from"../chunk-Y3JW2GW5.js";export{EMPTY_VALUE}from"../chunk-36BRD5J3.js";import"../chunk-LF27WIN2.js";export{TimeSeriesChart}from"../chunk-XXL5RLNM.js";export{ChartBrush}from"../chunk-E6GDAV5R.js";export{ChartDot}from"../chunk-CK2YOGUS.js";export{ChartFrame}from"../chunk-VAK5FQXH.js";export{arcPath,areaBetween,areaFrom,bumpPath,curvePath,linearPath,monotonePath,polygonPoints,splinePath,stepPath}from"../chunk-VFC6QUEN.js";export{ColumnChart}from"../chunk-BMXTPJ7T.js";export{ChartDefs,MOTION,dashFor,fillFor,fillId,glowId,groundId,maskId,stagger}from"../chunk-465RRWBY.js";export{ChartSkeleton}from"../chunk-3IUPYCW3.js";export{ChartHighlightProvider,autoHighlightIndex,highlightOpacity,useHighlight}from"../chunk-CNYAHYE6.js";export{CONTROL_HEIGHTS,ROW_HEIGHTS,SPACING_ROLES,SPACING_SCALE,isSpacingStep}from"../chunk-AW7TOB6N.js";import"../chunk-KNUR2UEG.js";export{NEXT_CHUNK_PATH_PREFIX,STALE_CHUNK_RELOAD_COOLDOWN_MS,STALE_CHUNK_RELOAD_KEY,VITE_PRELOAD_ERROR_EVENT,installStaleChunkReload,isStaleChunkError}from"../chunk-JDCM2VHG.js";export{Result}from"../chunk-QYL26AB4.js";export{ALT,ALT_SHIFT_D,ALT_SHIFT_E,ALT_SHIFT_N,CMD_A,CMD_DOT,CMD_ENTER,CMD_K,CMD_S,ENTER,Kbd,MOD,SHIFT,isMac}from"../chunk-ZDMZM7HD.js";import"../chunk-5A7MWTXX.js";export{ConfirmProvider,confirm,confirmDestructive,prompt,useConfirm}from"../chunk-PLK2WHZG.js";export{Dialog}from"../chunk-7INZ7O3A.js";export{ItemCount}from"../chunk-55AEZX6K.js";import"../chunk-3DVNXNTF.js";import"../chunk-ECJKIPWU.js";import"../chunk-VWGWZY7A.js";import"../chunk-7QSDPSXP.js";export{ColoredBadge}from"../chunk-OKHKY3ZZ.js";import"../chunk-O3MBPAWZ.js";export{UNDOABLE_MS,toast_default as toast}from"../chunk-7ELJQL7J.js";import"../chunk-2QY5BJLA.js";export{useIsMobile}from"../chunk-UGTRSRIW.js";export{ShellPrefsProvider,useLocalStoragePrefs,useShellPrefs}from"../chunk-KC3EX26K.js";import"../chunk-F3ZOO23R.js";export{VERSION}from"../chunk-T3DN2QBM.js";export{GROUP_COLORS,GROUP_COLORS_SOLID,StatusBadge,StatusBadgeProvider,groupColors,useStatusLabel}from"../chunk-FZM3ZPW3.js";export{useFocusTrap,useScrollLock}from"../chunk-CDAJKLGL.js";export{PopupMenu,PopupMenuDivider,PopupMenuItem,PopupMenuLabel,PopupSubmenu}from"../chunk-6KGIHI6X.js";import"../chunk-URHGHXDN.js";export{MENU_ON_MEDIA_ATTR,leavesContextMenuAlone}from"../chunk-5QFPTDQF.js";export{Button_default as Button}from"../chunk-EOVXFXVV.js";export{buttonClasses,iconButtonClasses}from"../chunk-UQYNPYF4.js";import"../chunk-TE6R53YD.js";export{Icon}from"../chunk-2UO47XB4.js";export{activeIconSet,iconSets,iconsVersion,registerIconSet,registerIcons,resolveIcon,setDefaultIconSet,setIconSet,subscribeIcons}from"../chunk-J75ZT2JQ.js";export{LoadingSpinner,SpinnerRing}from"../chunk-R2VKEMZH.js";import"../chunk-MRJKZWWV.js";import"../chunk-WGLHB6WE.js";export{Tooltip}from"../chunk-NJN5IKWO.js";export{OVERLAY_OPEN_EVENT,dismissPopups}from"../chunk-PGN5ME7B.js";export{Z_LAYERS}from"../chunk-62LW225J.js";export{MENU_MAX_HEIGHT,POPUP_MAX_WIDTH,placeMenu,popupBounds,useDropdownPosition}from"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";export{setShellApiClient}from"../chunk-STKJA4PV.js";export{BoxPlotChart}from"../chunk-36PJGT4W.js";export{CandlestickChart}from"../chunk-DVYIBJ3S.js";export{ChartTooltip}from"../chunk-36VIGB6J.js";export{GLASS_DIVIDER,glassStyle,solidSurfaceStyle}from"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";export{CartesianPlot}from"../chunk-QO5E33DH.js";import"../chunk-C764JODK.js";export{angleScale,bandScale,binValues,ladderScale,linearScale,logScale,niceAxis,niceMax,radiusScale}from"../chunk-2JWPNR2U.js";export{usePlotWidth}from"../chunk-MAFUXCPZ.js";export{CHART_INK,SERIES_SLOT_COUNT,SERIES_VARS,STATUS_VARS,assignSeriesSlots,resolveSeriesColor,resolveSeriesColorWithin,seriesColor,toggleSeriesSlot}from"../chunk-TZFACUMR.js";export{registerModalEscapeInterceptor}from"../chunk-TWVUQUUD.js";export{DEFAULT_SHELL_STRINGS,ShellStringsProvider,useShellLocale,useShellStrings}from"../chunk-GDQJBQ5B.js";import"../chunk-C3QOHMR6.js";
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export{APP_VERSION,VERSION}from"./chunk-ETJRGQNG.js";
1
+ export{APP_VERSION,VERSION}from"./chunk-T3DN2QBM.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "efficient-shell",
3
- "version": "11.1.0",
3
+ "version": "11.4.0",
4
4
  "description": "Desktop-style React UI shell — windows, taskbar, start menu, sticky notes, frosted glass theming, and bundled apps.",
5
5
  "license": "UNLICENSED",
6
6
  "author": "Efficient Pty Ltd",
@@ -1,29 +0,0 @@
1
- import{Tree as e,TreeRow as n,TreeGroup as l}from"./chunk-NRALUW6P.js";import{MarqueeBox as a}from"./chunk-IC72MGON.js";import{EmptyState as i}from"./chunk-QVZKRROQ.js";import{ImageLightbox as r}from"./chunk-P7H2DXJB.js";import{DescriptionList as t}from"./chunk-SACUSHVN.js";import{Drawer as o}from"./chunk-V6Y4OC6K.js";import{Breadcrumbs as d}from"./chunk-XYECIBVX.js";import{ROOT_KEY as s,mediaLibraryMenu as c}from"./chunk-MS5APD3V.js";import{useMediaMoveItems as u}from"./chunk-OPN4I565.js";import{MediaUploadGrid as m}from"./chunk-E3EJWNNK.js";import{MediaUsedInList as p}from"./chunk-NZ34BQKH.js";import{NativeSelect as h}from"./chunk-XFH64VIG.js";import{useGridSelection as f}from"./chunk-VLKDWKVR.js";import{useMarquee as g}from"./chunk-OLFYNMTD.js";import{Segmented as v}from"./chunk-S4FPYCUU.js";import{copyToClipboard as k}from"./chunk-TMMNCXQT.js";import{Checkbox_default as y}from"./chunk-CGZBDI6C.js";import{useContextMenu as b,ContextMenu as w}from"./chunk-AIJ6OR6X.js";import{Banner as N}from"./chunk-ZGOHRLXG.js";import{Input_default as x}from"./chunk-HNUKXGYP.js";import{DropdownMenu as C}from"./chunk-NZISMTQE.js";import{IconButton_default as I}from"./chunk-LE5LWALR.js";import{useFileIntake as D,FileIntakeAlert as S}from"./chunk-JTMEFXRL.js";import{ColoredBadge as j}from"./chunk-OKHKY3ZZ.js";import{Button_default as z}from"./chunk-EOVXFXVV.js";import{buttonClasses as O}from"./chunk-UQYNPYF4.js";import{Icon as F}from"./chunk-2UO47XB4.js";import{Tooltip as T}from"./chunk-NJN5IKWO.js";import{usePlotWidth as L}from"./chunk-MAFUXCPZ.js";import{useShellStrings as P}from"./chunk-GDQJBQ5B.js";import{useRef as E,useMemo as A,useCallback as M,useState as R,useEffect as K}from"react";import{jsxs as U,Fragment as B,jsx as V}from"react/jsx-runtime";var X="application/x-efficient-media-files",H="application/x-efficient-media-folder",J="application/x-efficient-media-file";function G(e){if(!e||!Array.from(e.types).includes(J))return null;try{const n=JSON.parse(e.getData(J));if(n&&"string"==typeof n.id&&"string"==typeof n.url&&"string"==typeof n.name&&("image"===n.kind||"video"===n.kind))return{id:n.id,url:n.url,kind:n.kind,name:n.name}}catch{}return null}var Q={type:"all",use:"any",sort:"newest"},W={lock:/* @__PURE__ */V(F,{name:"lock","aria-hidden":"true",className:"h-4 w-4"}),folder:/* @__PURE__ */V(F,{name:"folder","aria-hidden":"true",className:"h-4 w-4"}),folderOpen:/* @__PURE__ */V(F,{name:"folder-open","aria-hidden":"true",className:"h-4 w-4"}),folderPlus:/* @__PURE__ */V(F,{name:"folder-plus","aria-hidden":"true",className:"h-4 w-4"}),trash:/* @__PURE__ */V(F,{name:"trash","aria-hidden":"true",className:"h-4 w-4"}),upload:/* @__PURE__ */V(F,{name:"upload","aria-hidden":"true",className:"h-4 w-4"}),search:/* @__PURE__ */V(F,{name:"search","aria-hidden":"true",className:"h-4 w-4"}),grid:/* @__PURE__ */V(F,{name:"grid","aria-hidden":"true",className:"h-4 w-4"}),list:/* @__PURE__ */V(F,{name:"list","aria-hidden":"true",className:"h-4 w-4"}),more:/* @__PURE__ */V(F,{name:"more","aria-hidden":"true",className:"h-4 w-4"}),copy:/* @__PURE__ */V(F,{name:"copy","aria-hidden":"true",className:"h-4 w-4"}),edit:/* @__PURE__ */V(F,{name:"edit","aria-hidden":"true",className:"h-4 w-4"}),swap:/* @__PURE__ */V(F,{name:"swap","aria-hidden":"true",className:"h-4 w-4"}),crop:/* @__PURE__ */V(F,{name:"crop","aria-hidden":"true",className:"h-4 w-4"}),external:/* @__PURE__ */V(F,{name:"external","aria-hidden":"true",className:"h-4 w-4"}),undo:/* @__PURE__ */V(F,{name:"undo","aria-hidden":"true",className:"h-4 w-4"})},Y={link:/* @__PURE__ */V(F,{name:"link","aria-hidden":"true",className:"h-3 w-3"}),email:/* @__PURE__ */V(F,{name:"email","aria-hidden":"true",className:"h-3 w-3"}),lock:/* @__PURE__ */V(F,{name:"lock","aria-hidden":"true",className:"h-3 w-3"}),clock:/* @__PURE__ */V(F,{name:"clock","aria-hidden":"true",className:"h-3 w-3"})};function Z({value:e,label:n,onDone:l}){const[a,i]=R(e),r=E(!1),t=e=>{r.current||(r.current=!0,l(e))};/* @__PURE__ */
2
- return V(x,{size:"sm",autoFocus:!0,"aria-label":n,value:a,onChange:e=>i(e.target.value),onFocus:e=>e.currentTarget.select(),onKeyDown:n=>{n.stopPropagation(),"Enter"===n.key?(n.preventDefault(),t(a.trim()||e)):"Escape"===n.key&&(n.preventDefault(),t(null))},onBlur:()=>t(a.trim()||e),onClick:e=>e.stopPropagation()})}function $(F){const{mode:G="manage",layout:$="auto",location:q,onLocationChange:_,folders:ee,products:ne,allFilesCount:le,trashCount:ae,files:ie,query:re,onQueryChange:te,filters:oe=Q,onFiltersChange:de,extraFilters:se,view:ce="grid",onViewChange:ue,selectedIds:me,onSelectionChange:pe,usedIn:he,denied:fe={},accept:ge="image/*,video/*",maxSizeBytes:ve,busy:ke,progress:ye,onUpload:be,onNewFolder:we,onRename:Ne,onMove:xe,onTrash:Ce,onDeleteFolder:Ie,onRestore:De,onDeleteForever:Se,onEmptyTrash:je,onReplace:ze,onCropEdit:Oe,onOpenInDesign:Fe,onChoose:Te,onCancel:Le,pickNote:Pe,onDragOut:Ee,className:Ae=""}=F,Me=P().mediaLibrary,Re=P().media,Ke="pick"===G,Ue=!Ke,Be=E(null),Ve=L(Be,"phone"===$?343:1200),Xe="phone"===$||"auto"===$&&Ve<640,He=A(()=>function(e=[]){const n=/* @__PURE__ */new Map,l=(e,a)=>{for(const i of e){const e=[...a,i];n.set(i.id,{node:i,path:e}),i.children&&l(i.children,e)}};return l(e,[]),n}(ne),[ne]),Je=A(()=>new Map(ee.map(e=>[e.id,e])),[ee]),Ge=A(()=>{const e=/* @__PURE__ */new Map;for(const n of ee){const l=n.parentId&&Je.has(n.parentId)?n.parentId:null;e.set(l,[...e.get(l)??[],n])}return e},[ee,Je]),Qe=M(e=>{const n=[];for(let l=e?Je.get(e):void 0;l&&(n.unshift(l),!(n.length>ee.length));l=l.parentId?Je.get(l.parentId):void 0);return n},[Je,ee.length]),We=M((e,n)=>Qe(e).some(e=>e.id===n),[Qe]),[Ye,Ze]=R(()=>/* @__PURE__ */new Set(["@files"])),$e=e=>Ze(n=>{const l=new Set(n);return l.has(e)?l.delete(e):l.add(e),l}),qe=M(e=>{Ze(n=>e.every(e=>n.has(e))?n:/* @__PURE__ */new Set([...n,...e]))},[]),_e="files"===(en=q).place?`files:${en.folderId??""}`:"products"===en.place?`products:${en.nodeId??""}`:"trash";var en;K(()=>{if("files"===q.place)qe(["@files",...Qe(q.folderId).slice(0,-1).map(e=>e.id)]);else if("products"===q.place){const e=q.nodeId?He.get(q.nodeId)?.path??[]:[];qe(["@products",...e.slice(0,-1).map(e=>`p:${e.id}`)])}},[_e]);const nn="products"===q.place,ln="trash"===q.place,an="files"===q.place,rn=an?q.folderId:null,tn=nn&&q.nodeId?He.get(q.nodeId)?.path[0]:void 0,on=e=>e?.sharedFrom?`${Me.readOnly} ${Me.editedAtHq(e.sharedFrom)}`:Me.readOnly,dn=A(()=>ie.map(e=>e.id),[ie]),sn=A(()=>new Map(ie.map(e=>[e.id,e])),[ie]),cn=f(dn),un=A(()=>dn.filter(e=>cn.selected.has(e)),[dn,cn.selected]),mn=1===un.length?sn.get(un[0]):void 0,pn=E(!0);K(()=>{pn.current?pn.current=!1:cn.clear()},[_e]);const hn=me?.join("\0");K(()=>{me&&cn.setSelection(me)},[hn]);const fn=E(hn??""),gn=un.join("\0");K(()=>{fn.current!==gn&&(fn.current=gn,pe?.(un))},[gn]);const vn=(e,n={})=>{Ke?cn.select(e):cn.select(e,{ctrl:!(!n.ctrlKey&&!n.metaKey),shift:!!n.shiftKey})},[kn,yn]=R(null),bn=e=>{const n=kn;if(yn(null),!n||null==e)return;e!==("folder"===n.kind?Je.get(n.id)?.name:sn.get(n.id)?.name)&&Ne?.(n,e)},wn=async e=>{if(!we)return;const n=await we(e);qe(["@files",...e?[e]:[]]),"string"==typeof n&&yn({kind:"folder",id:n})},Nn=M(e=>{const n=[],l=n=>{if("files"===e.kind)return n===rn&&an?Me.alreadyHere:void 0;const l=Je.get(e.id);return n===e.id||n&&We(n,e.id)?Me.notIntoItself:(l?.parentId??null)===n?Me.folderAlreadyHere:void 0};n.push({key:s,label:Me.allFiles,disabledReason:l(null)});const a=(e,i)=>{for(const r of Ge.get(e)??[])n.push({key:r.id,label:r.name,depth:i,disabledReason:l(r.id)}),a(r.id,i+1)};return a(null,1),n},[Ge,Je,an,We,rn,Me]),xn=M(e=>{const n=new Set(e.map(e=>sn.get(e)?.kind??"image"));return 1===n.size?[...n][0]:"file"},[sn]),[Cn,In]=R(null),Dn={words:Me,media:Re,denied:fe,moveTargets:Nn,kindOf:xn,urlOf:e=>sn.get(e)?.url,newSubfolder:we&&Ue?e=>{wn(e)}:void 0,rename:Ne&&Ue?e=>{"file"!==e.kind||cn.isSelected(e.id)||cn.select(e.id),yn(e)}:void 0,move:xe&&Ue?xe:void 0,trash:Ce&&Ue?Ce:void 0,deleteFolder:Ie&&Ue?Ie:void 0,folderNotEmpty:e=>!!Je.get(e)?.notEmpty,replace:ze&&Ue?ze:void 0,copyUrl:e=>{const n=sn.get(e)?.url;n&&k(Me.urlLabel,n)},openInDesign:Fe,restore:De,deleteForever:Se},Sn=e=>c(e,Dn),jn=b(),zn=(e,n)=>{Ke||(cn.isSelected(e)||cn.select(e),jn.open(n,(e=>{const n=cn.isSelected(e)?un:[e];return nn?{kind:"render",id:e}:ln?{kind:"trashed",ids:n}:{kind:"files",ids:n}})(e)))},[On,Fn]=R(null),[Tn,Ln]=R(null),[Pn,En]=R(null);K(()=>{if(!Tn&&!On)return;const e=()=>{Ln(null),Fn(null)};return window.addEventListener("dragend",e),window.addEventListener("drop",e),()=>{window.removeEventListener("dragend",e),window.removeEventListener("drop",e)}},[Tn,On]);const An=(e,n)=>Array.from(e.dataTransfer?.types??[]).includes(n),Mn=(e,n)=>!(!xe||fe.move||Ke)&&(!!An(e,X)||!(!An(e,H)||!Pn)&&(n!==Pn&&!(n&&We(n,Pn)))),Rn=(e,n)=>({onDragEnter:l=>{Mn(l,n)&&(l.preventDefault(),Fn(e))},onDragOver:l=>{Mn(l,n)&&(l.preventDefault(),l.dataTransfer.dropEffect="move",On!==e&&Fn(e))},onDragLeave:n=>{const l=n.relatedTarget;l&&n.currentTarget.contains(l)||Fn(n=>n===e?null:n)},onDrop:e=>{if(Mn(e,n))if(e.preventDefault(),Fn(null),An(e,X)){let l;try{l=JSON.parse(e.dataTransfer.getData(X))}catch{l=null}Array.isArray(l)&&l.length&&xe({kind:"files",ids:l.map(String)},n)}else Pn&&(xe({kind:"folder",id:Pn},n),En(null))}}),Kn=e=>{const n=e=>An(e,X)||An(e,H)||An(e,"Files");return{onDragEnter:l=>{n(l)&&Ln(e)},onDragOver:l=>{n(l)&&Tn!==e&&Ln(e)},onDragLeave:n=>{const l=n.relatedTarget;l&&n.currentTarget.contains(l)||Ln(n=>n===e?null:n)}}},Un=(e,n,l)=>/* @__PURE__ */V(T,{side:"right",content:Tn===e?Me.noDropProducts:on(l),open:Tn===e||!Tn&&void 0,children:/* @__PURE__ */V("span",{children:n})}),Bn=e=>({onContextMenu:n=>{jn.open(n,e)}}),Vn=(e,a,i)=>e.map(e=>{const r=`p:${e.id}`,t=i??e,o=Ye.has(r),d=e.children?.length?e.children:null;/* @__PURE__ */
3
- return U("div",{role:"none",className:"contents",children:[
4
- /* @__PURE__ */V(n,{label:Un(r,e.name,t),level:a,icon:d&&o?W.folderOpen:W.folder,count:e.count,countLabel:null!=e.count?e.countLabel??Me.fileCount(e.count):void 0,selected:nn&&q.nodeId===e.id,expanded:d?o:void 0,onToggle:d?()=>$e(r):void 0,onSelect:()=>_({place:"products",nodeId:e.id}),rowProps:{"data-media-row":r,...Kn(r),...Ue?Bn({kind:"product-node",id:e.id}):{}}}),d&&o&&/* @__PURE__ */V(l,{children:Vn(d,a+1,t)})]},e.id)}),Xn=(e,a)=>(Ge.get(e)??[]).map(e=>{const i=Ge.get(e.id),r=Ye.has(e.id),t="folder"===kn?.kind&&kn.id===e.id,o=Sn({kind:"folder",id:e.id});/* @__PURE__ */
5
- return U("div",{role:"none",className:"contents",children:[
6
- /* @__PURE__ */V(n,{label:e.name,level:a,icon:i&&r?W.folderOpen:W.folder,count:e.count,countLabel:null!=e.count?e.countLabel??Me.fileCount(e.count):void 0,selected:t||an&&q.folderId===e.id,expanded:i?r:void 0,onToggle:i?()=>$e(e.id):void 0,onSelect:()=>_({place:"files",folderId:e.id}),drop:On===e.id?"into":void 0,dragging:Pn===e.id,draggable:Ue&&!!xe&&!fe.move,rename:t?/* @__PURE__ */V(Z,{value:e.name,label:Me.folderName,onDone:bn}):void 0,actions:Ue&&o.length?/* @__PURE__ */V(C,{align:"end","aria-label":Me.folderActions,trigger:W.more,items:o}):void 0,rowProps:{"data-media-row":e.id,...Rn(e.id,e.id),...Ue?Bn({kind:"folder",id:e.id}):{},...Ue&&xe&&!fe.move?{draggable:!0,onDragStart:n=>{n.dataTransfer.effectAllowed="move",n.dataTransfer.setData(H,e.id),En(e.id)},onDragEnd:()=>{En(null),Fn(null)}}:{}}}),i&&r&&/* @__PURE__ */V(l,{children:Xn(e.id,a+1)})]},e.id)}),Hn=Ye.has("@files"),Jn=Ye.has("@products"),Gn=/* @__PURE__ */U(e,{"aria-label":Me.folders,children:[ne&&/* @__PURE__ */U(B,{children:[
7
- /* @__PURE__ */V(n,{label:Un("@products",Me.products),level:1,icon:W.lock,badge:{label:Me.readOnlyBadge,tone:"neutral"},expanded:ne.length?Jn:void 0,onToggle:()=>$e("@products"),selected:nn&&null==q.nodeId,onSelect:()=>_({place:"products",nodeId:null}),rowProps:{"data-media-row":"@products",...Kn("@products")}}),Jn&&ne.length>0&&/* @__PURE__ */V(l,{children:Vn(ne,2)})]}),
8
- /* @__PURE__ */V(n,{label:Me.allFiles,level:1,icon:Hn?W.folderOpen:W.folder,count:le,countLabel:null!=le?Me.fileCount(le):void 0,expanded:Ge.get(null)?.length?Hn:void 0,onToggle:()=>$e("@files"),selected:an&&null==q.folderId,onSelect:()=>_({place:"files",folderId:null}),drop:"@files"===On?"into":void 0,rowProps:{"data-media-row":"@files",...Rn("@files",null)}}),Hn&&(Ge.get(null)?.length??0)>0&&/* @__PURE__ */V(l,{children:Xn(null,2)}),Ue&&/* @__PURE__ */V(n,{label:Me.trash,level:1,icon:W.trash,count:ae,countLabel:null!=ae?Me.fileCount(ae):void 0,selected:ln,onSelect:()=>_({place:"trash"}),rowProps:{"data-media-row":"@trash"}})]}),Qn=(()=>{if(ln)return[{label:Me.trash}];if(nn){const e=q.nodeId?He.get(q.nodeId)?.path??[]:[];return[{label:Me.products,onClick:e.length?()=>_({place:"products",nodeId:null}):void 0},...e.map((n,l)=>({label:n.name,onClick:l<e.length-1?()=>_({place:"products",nodeId:n.id}):void 0}))]}const e=Qe(rn);return[{label:Me.allFiles,onClick:e.length?()=>_({place:"files",folderId:null}):void 0},...e.map((n,l)=>({label:n.name,onClick:l<e.length-1?()=>_({place:"files",folderId:n.id}):void 0}))]})(),Wn=nn?Me.readOnly:fe.upload,Yn=!!be&&!ln&&!Wn,Zn=D({accept:ge,maxSizeBytes:ve,multiple:!0,disabled:!Yn,onAccept:e=>be?.(e,rn)}),$n=nn?Me.noProductFolder:fe.newFolder,qn=e=>e?{"aria-disabled":!0,disabledReason:e}:{},_n=/* @__PURE__ */U("div",{className:"flex flex-wrap items-center gap-2",children:[Ue&&we&&!ln&&/* @__PURE__ */V(z,{variant:"secondary",size:"sm",leftIcon:W.folderPlus,onClick:()=>{wn(rn)},...qn($n),children:Me.newFolder}),be&&!ln&&/* @__PURE__ */V(z,{variant:"primary",size:"sm",leftIcon:W.upload,onClick:()=>Zn.open(),...qn(Wn),children:Me.upload}),Ue&&ln&&je&&ie.length>0&&/* @__PURE__ */V(z,{variant:"danger",size:"sm",onClick:je,...qn(fe.deleteForever),children:Me.emptyTrash})]}),el=(e,n,l,a,i)=>/* @__PURE__ */V("div",{style:{width:Xe?void 0:i,flex:Xe?"1 1 120px":"0 0 auto",minWidth:0},children:/* @__PURE__ */V(h,{size:"sm","aria-label":e,value:n,onChange:a,options:l})},e),nl=e=>n=>de?.({...oe,[e]:n}),ll=/* @__PURE__ */U("div",{className:"flex flex-wrap items-center gap-2",children:[te&&/* @__PURE__ */V("div",{style:{flex:"1 1 200px",minWidth:0},children:/* @__PURE__ */V(x,{size:"sm",type:"search",leftIcon:W.search,placeholder:nn?Me.searchProducts:Me.search,"aria-label":nn?Me.searchProducts:Me.search,value:re??"",onChange:e=>te(e.target.value)})}),de&&el(Me.mediaType,oe.type,[{value:"all",label:Me.allTypes},{value:"image",label:Me.images},{value:"video",label:Me.videos},{value:"svg",label:"SVG"},{value:"gif",label:"GIF"}],nl("type"),130),de&&!nn&&!ln&&el(Me.use,oe.use,[{value:"any",label:Me.anyUse},{value:"email",label:Me.emailOnly},{value:"website",label:Me.websiteOnly},{value:"unused",label:Me.notUsed}],nl("use"),130),de&&Ue&&el(Me.sort,oe.sort,[{value:"newest",label:Me.newest},{value:"name",label:Me.byName},{value:"size",label:Me.bySize}],nl("sort"),110),se?.map(e=>el(e.label,e.value,e.options,e.onChange,120)),ue&&/* @__PURE__ */V(v,{size:"sm",label:Me.view,value:ce,onChange:ue,options:[{value:"grid",label:Me.grid,icon:W.grid},{value:"list",label:Me.list,icon:W.list}]})]}),al=e=>{const n=[];return null!=e.trashedDaysAgo&&n.push({key:"t",label:Me.daysAgo(e.trashedDaysAgo),count:e.trashedDaysAgo,icon:Y.clock,tone:"neutral"}),e.usedCount&&n.push({key:"u",label:Me.used(e.usedCount),count:e.usedCount,icon:Y.link,tone:"active"}),e.email&&n.push({key:"e",label:Me.email,icon:Y.email,tone:"queued"}),e.private&&n.push({key:"p",label:Me.private,icon:Y.lock,tone:"neutral"}),n},il=e=>al(e).map(e=>/* @__PURE__ */V(j,{tone:e.tone,size:"xs",children:e.label},e.key)),rl=Ue&&an&&!!xe&&!fe.move,tl=!!Ee&&!ln,ol=e=>!tl||e.private||e.pickDisabledReason?void 0:JSON.stringify({id:e.id,url:e.url,kind:"video"===e.kind?"video":"image",name:e.name}),dl=ie.map(e=>({id:e.id,url:e.thumbUrl??e.url,name:e.name,kind:e.kind,caption:e.name,badges:al(e),dragData:rl?JSON.stringify(cn.isSelected(e.id)?un:[e.id]):ol(e),...rl&&ol(e)?{dragAlso:{[J]:ol(e)}}:{}})),sl=Xe?Math.max(72,Math.floor((Ve-24-16-1)/3)):112,cl=E(null),ul=g({containerRef:cl,enabled:Ue&&!Xe&&ie.length>0,selected:cn.selected,setSelection:e=>cn.setSelection(e),clearSelection:cn.clear}),ml=e=>{if(Ke){const n=sn.get(e);return void(!n||n.private||n.pickDisabledReason||Te?.(n))}const n=dn.indexOf(e);n>=0&&In(n)},pl=ie.length?null:re?/* @__PURE__ */V(i,{variant:"dashed",title:Me.noMatches}):nn?/* @__PURE__ */V(i,{variant:"dashed",title:Me.emptyProducts,description:on(tn)}):ln?/* @__PURE__ */V(i,{variant:"dashed",title:Me.trashEmpty}):!Yn||Ke?/* @__PURE__ */V(i,{variant:"dashed",title:Me.emptyFolder}):null,hl="list"===ce&&ie.length>0,fl=pl??(hl?/* @__PURE__ */V("ul",{role:"listbox","aria-multiselectable":Ue||void 0,"aria-label":Me.folders,className:"flex flex-col gap-1",children:ie.map(e=>/* @__PURE__ */U("li",{role:"option","aria-selected":cn.isSelected(e.id),tabIndex:0,"data-grid-item":"","data-grid-id":e.id,onClick:n=>vn(e.id,n),onDoubleClick:()=>ml(e.id),onContextMenu:n=>zn(e.id,n),draggable:!!ol(e)||void 0,onDragStart:ol(e)?n=>{n.dataTransfer.effectAllowed="link",n.dataTransfer.setData(J,ol(e)),Ee("start")}:void 0,onDragEnd:ol(e)?e=>Ee("none"===e.dataTransfer.dropEffect?"cancelled":"dropped"):void 0,onKeyDown:n=>{"Enter"!==n.key&&" "!==n.key||(n.preventDefault(),vn(e.id,n))},className:"flex h-12 cursor-pointer items-center gap-3 rounded-md px-2 text-sm rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-solid)] "+(cn.isSelected(e.id)?"bg-accent-tint text-blue-700":"text-ink hover:bg-gray-100"),children:[
9
- /* @__PURE__ */V("img",{src:e.thumbUrl??e.url,alt:"",className:"h-10 w-10 shrink-0 rounded bg-gray-100 object-contain"}),
10
- /* @__PURE__ */V("span",{className:"min-w-0 flex-1 truncate",children:e.name}),
11
- /* @__PURE__ */V("span",{className:"flex shrink-0 items-center gap-1",children:il(e)}),e.sizeLabel&&/* @__PURE__ */V("span",{className:"w-16 shrink-0 text-right text-xs text-ink-faint",children:e.sizeLabel})]},e.id))}):/* @__PURE__ */V(m,{items:dl,readOnly:!Yn||Ke,onFiles:Yn&&!Ke?e=>be(e,rn):void 0,accept:ge,maxSizeBytes:ve,busy:ke,progress:ye,fit:"contain",thumbSize:sl,dragType:rl?X:tl?J:void 0,onDragOutChange:tl?e=>Ee(e):void 0,selected:cn.selected,onItemClick:vn,onItemDoubleClick:ml,onItemContextMenu:Ue?zn:void 0,menuOnMedia:Ue})),gl=u({count:un.length,kind:xn(un),targets:Nn({kind:"files",ids:un}),onPick:e=>xe?.({kind:"files",ids:un},e.key===s?null:e.key)}),vl=O({variant:"secondary",size:"sm"}),kl=/* @__PURE__ */V(C,{align:"start",triggerClassName:vl,trigger:/* @__PURE__ */U(B,{children:[W.folder,Me.moveTo]}),items:gl,disabled:!!fe.move}),yl=Ue&&un.length>1&&!nn?/* @__PURE__ */U("div",{"data-media-bulk":"",className:"flex flex-wrap items-center gap-2 rounded-lg border border-line px-3 py-2",children:[
12
- /* @__PURE__ */V(y,{checked:un.length===ie.length,indeterminate:un.length<ie.length,onChange:e=>e?cn.selectAll():cn.clear(),label:Me.selected(un.length)}),/* @__PURE__ */U(B,ln?{children:[De&&/* @__PURE__ */V(z,{variant:"secondary",size:"sm",leftIcon:W.undo,onClick:()=>De(un),...qn(fe.restore),children:Me.restore}),Se&&/* @__PURE__ */V(z,{variant:"secondary-danger",size:"sm",onClick:()=>Se(un),...qn(fe.deleteForever),children:Me.deleteForever})]}:{children:[xe&&kl,Ne&&/* @__PURE__ */V(z,{variant:"secondary",size:"sm",leftIcon:W.edit,disabled:!0,children:Me.rename}),Ce&&/* @__PURE__ */V(z,{variant:"secondary",size:"sm",leftIcon:W.trash,onClick:()=>Ce({kind:"files",ids:un}),...qn(fe.trash),children:Me.moveFilesToTrash(un.length)})]}),
13
- /* @__PURE__ */V(z,{variant:"ghost",size:"sm",onClick:cn.clear,children:Me.clearSelection})]}):null,bl=e=>{const n=[],l=(e,l,a)=>{null!=a&&""!==a&&n.push({key:e,label:l,value:a})},a="file"===kn?.kind&&kn.id===e.id;l("name",Me.name,a?/* @__PURE__ */V(Z,{value:e.name,label:Me.fileName,onDone:bn}):e.name),l("type",Me.type,e.typeLabel),l("size",Me.size,e.sizeLabel),l("resolution",Me.resolution,e.resolution),nn?(l("design",Me.design,e.design),l("finish",Me.finish,e.finish),l("angle",Me.angleLug,e.angleLug),l("owner",Me.owner,e.owner)):(l("added",Me.addedBy,e.addedBy),l("folder",Me.folder,e.folderPath)),l("used",Me.usedIn,null!=e.usedCount?Me.places(e.usedCount):void 0);const i=c({kind:"files",ids:[e.id]},Dn).find(e=>"submenu"===e.type);/* @__PURE__ */
14
- return U("div",{"data-media-details":"",className:"flex flex-col gap-3",children:[
15
- /* @__PURE__ */V("img",{src:e.url,alt:e.name,className:"aspect-square w-full rounded-lg bg-gray-100 object-contain"}),nn&&/* @__PURE__ */V(N,{tone:"neutral",title:Me.readOnlyBadge,children:on(tn)}),
16
- /* @__PURE__ */V(t,{size:"sm",columns:1,items:n}),!ln&&/* @__PURE__ */U("div",{className:"flex gap-2",children:[
17
- /* @__PURE__ */V("div",{style:{flex:"1 1 0",minWidth:0},children:/* @__PURE__ */V(x,{size:"sm",readOnly:!0,value:e.url,"aria-label":Me.fileUrl,onFocus:e=>e.currentTarget.select()})}),
18
- /* @__PURE__ */V(z,{variant:"secondary",size:"sm",leftIcon:W.copy,onClick:()=>Dn.copyUrl(e.id),children:Me.copyUrl})]}),an&&Ue&&/* @__PURE__ */U("div",{className:"flex flex-wrap gap-2",children:[ze&&/* @__PURE__ */V(z,{variant:"secondary",size:"sm",leftIcon:W.swap,onClick:()=>ze(e.id),...qn(fe.replace),children:Me.replace}),Oe&&/* @__PURE__ */V(z,{variant:"secondary",size:"sm",leftIcon:W.crop,onClick:()=>Oe(e.id),children:Me.cropEdit}),xe&&"submenu"===i?.type&&/* @__PURE__ */V(C,{align:"start",triggerClassName:vl,trigger:/* @__PURE__ */U(B,{children:[W.folder,Me.moveTo]}),items:i.items,disabled:!!fe.move}),Ne&&/* @__PURE__ */V(z,{variant:"secondary",size:"sm",leftIcon:W.edit,onClick:()=>yn({kind:"file",id:e.id}),...qn(fe.rename),children:Me.rename}),Ce&&/* @__PURE__ */V(I,{"aria-label":Me.moveToTrash,size:"sm",onClick:()=>Ce({kind:"files",ids:[e.id]}),disabledReason:fe.trash,"aria-disabled":!!fe.trash||void 0,children:W.trash})]}),ln&&Ue&&/* @__PURE__ */U("div",{className:"flex flex-wrap gap-2",children:[De&&/* @__PURE__ */V(z,{variant:"primary",size:"sm",leftIcon:W.undo,onClick:()=>De([e.id]),...qn(fe.restore),children:Me.restore}),Se&&/* @__PURE__ */V(z,{variant:"danger",size:"sm",onClick:()=>Se([e.id]),...qn(fe.deleteForever),children:Me.deleteForever})]}),nn&&Fe&&/* @__PURE__ */V(z,{variant:"secondary",size:"sm",leftIcon:W.external,onClick:()=>Fe({kind:"render",id:e.id}),children:Me.openInDesign}),he&&/* @__PURE__ */V(p,{items:he})]})},wl=mn?mn.private?Me.privateNoPick:mn.pickDisabledReason:void 0,Nl=Ke?/* @__PURE__ */U("div",{"data-media-picker-footer":"",className:"flex flex-wrap items-center justify-between gap-2 border-t border-line px-3 py-2",children:[
19
- /* @__PURE__ */V("span",{className:"min-w-0 truncate text-sm text-ink-faint",children:mn?Me.oneChosen(mn.name):Me.noneChosen}),
20
- /* @__PURE__ */U("div",{className:"flex gap-2",children:[Le&&/* @__PURE__ */V(z,{variant:"secondary",size:"sm",onClick:Le,children:Me.cancel}),
21
- /* @__PURE__ */V(z,{variant:"primary",size:"sm",disabled:!mn,...qn(wl),onClick:()=>{mn&&!wl&&Te?.(mn)},children:Me.chooseImage})]})]}):null,xl=Ue&&!!mn,Cl=/* @__PURE__ */U("div",{className:"flex min-w-0 flex-col gap-3",children:[Pe&&/* @__PURE__ */V(N,{tone:"neutral",children:Pe}),
22
- /* @__PURE__ */U("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[
23
- /* @__PURE__ */V(d,{items:Qn}),_n]}),ll,yl,
24
- /* @__PURE__ */U("div",{ref:cl,className:"relative",onPointerDown:ul.onPointerDown,onKeyDown:e=>{Ue&&(e.ctrlKey||e.metaKey)&&"a"===e.key.toLowerCase()?(e.preventDefault(),cn.selectAll()):"Escape"===e.key&&cn.size&&cn.clear()},children:[fl,
25
- /* @__PURE__ */V(a,{rect:ul.rect})]}),Yn&&/* @__PURE__ */V("input",{...Zn.inputProps}),
26
- /* @__PURE__ */V(S,{rejections:Zn.rejections})]});/* @__PURE__ */
27
- return U("div",{ref:Be,"data-media-library":"","data-layout":Xe?"phone":"wide",className:`flex h-full min-h-0 min-w-0 flex-col ${Ae}`.trim(),children:[/* @__PURE__ */U("div",Xe?{className:"flex flex-col gap-3 p-3",children:[Gn,Cl]}:{className:"flex min-h-0 min-w-0 flex-1",children:[
28
- /* @__PURE__ */V("div",{className:"shrink-0 overflow-y-auto border-r border-line p-3",style:{width:280,"--rosh-tree-ground":"var(--surface)"},children:Gn}),
29
- /* @__PURE__ */V("div",{className:"min-w-0 flex-1 overflow-y-auto p-3",children:Cl}),xl&&/* @__PURE__ */V("div",{className:"shrink-0 overflow-y-auto border-l border-line p-3",style:{width:300},children:bl(mn)})]}),Nl,Xe&&/* @__PURE__ */V(o,{open:xl,onClose:cn.clear,side:"bottom",title:mn?.name,children:mn&&bl(mn)}),jn.state&&/* @__PURE__ */V(w,{...jn.props,items:Sn(jn.state.data)}),null!=Cn&&ie.length>0&&/* @__PURE__ */V(r,{images:ie.map(e=>({url:e.url,caption:e.name})),startIndex:Math.min(Cn,ie.length-1),onClose:()=>In(null)})]})}export{X as MEDIA_FILES_DRAG_TYPE,J as MEDIA_FILE_DRAG_TYPE,H as MEDIA_FOLDER_DRAG_TYPE,$ as MediaLibrary,G as readMediaFileDrag};
@@ -1 +0,0 @@
1
- var r="11.1.0",a=r;export{a as APP_VERSION,r as VERSION};
@@ -1,28 +0,0 @@
1
- import{useCopyText as e,CopyGlyph as t}from"./chunk-2E2SUEEE.js";import{ItemCount as n}from"./chunk-55AEZX6K.js";import{PopupMenu as r,PopupMenuItem as i,PopupMenuDivider as l}from"./chunk-6KGIHI6X.js";import{Icon as o}from"./chunk-2UO47XB4.js";import{useShellStrings as a}from"./chunk-GDQJBQ5B.js";import{useState as s,useMemo as d,useRef as c,useEffect as u,Fragment as m,useLayoutEffect as f}from"react";import{jsxs as p,jsx as y,Fragment as h}from"react/jsx-runtime";function g(e){const t=[];let n=0;for(;n<e.length;){const r=e[n].group;let i=n;for(;void 0!==r&&i+1<e.length&&e[i+1].group===r;)i++;t.push(i>n?{group:r,start:n,end:i}:{start:n,end:n}),n=i+1}return t}function b(e,t){return e.find(e=>t>=e.start&&t<=e.end)}function k(e,t,n,r){const i=e.findIndex(e=>e.key===t.key);let l=e.findIndex(e=>e.key===n);if(i<0||l<0)return null;const o=g(e),a=b(o,i),s="group"===t.kind&&void 0!==a.group?e.slice(a.start,a.end+1).map(e=>e.key):[t.key];if(s.includes(n))return null;const d=b(o,l);if("tab"===t.kind&&void 0!==a.group){if(d!==a)return null}else void 0!==d.group&&(l="before"===r?d.start:d.end);return{key:e[l].key,side:r,moving:s}}function x(e,t,n,r){const i=k(e,t,n,r);if(!i)return null;const l=e.map(e=>e.key).filter(e=>!i.moving.includes(e)),o=l.indexOf(i.key)+("after"===i.side?1:0),a=[...l.slice(0,o),...i.moving,...l.slice(o)];return a.every((t,n)=>t===e[n].key)?null:a}var v="flex-[0_1_15rem]",w=v,N="outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-blue-500";function C(){/* @__PURE__ */
2
- return y(o,{name:"close",look:"mini","aria-hidden":"true",className:"size-3.5"})}function $({text:n,label:r,copiedLabel:i}){const{copied:l,copy:o}=e(n);/* @__PURE__ */
3
- return y("button",{type:"button",tabIndex:-1,"aria-label":l?i:r,title:l?i:r,onClick:o,className:"flex size-5 shrink-0 items-center justify-center rounded text-gray-400 hover:bg-gray-200 hover:text-gray-700 @max-[10rem]:hidden",children:/* @__PURE__ */y(t,{copied:l,className:"size-3.5"})})}function I({node:e}){const t=c(null);return f(()=>{const n=t.current;if(n)return n.appendChild(e),()=>{e.parentNode===n&&n.removeChild(e)}},[e]),/* @__PURE__ */y("span",{ref:t,className:"ml-1 flex shrink-0 items-center"})}function z({tabs:e,activeKey:t,idFor:f,panelMounted:b,onActivate:z,onClose:j,onCloseMany:D,label:E,className:A,activeClassName:B,end:T,afterPinned:_,onIconMenu:K,menuItems:M,sizing:O="even",tall:R=!1,onReorder:S,groupInfo:X}){const L=a().pageTabs,F=a().count,[G,H]=s(null),Q=R?"h-[34px]":"h-8",U=d(()=>e.map(e=>({key:e.key,group:X?e.group:void 0})),[e,X]),W=d(()=>g(U),[U]),[J,P]=s(()=>/* @__PURE__ */new Set),V=e=>P(t=>{const n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),Y=d(()=>{const n=[];for(const r of W)for(let i=r.start;i<=r.end;i++)void 0!==r.group&&J.has(r.group)&&e[i].key!==t||n.push(e[i]);return n},[W,J,e,t]),Z=c(null),[q,ee]=s(null),te=(t,n)=>S?{draggable:!0,onDragStart:n=>{Z.current=t,n.dataTransfer.effectAllowed="move",n.dataTransfer.setData("text/plain",e.find(e=>e.key===t.key)?.title??"")},onDragOver:e=>{const r=Z.current;if(!r)return;const i=e.currentTarget.getBoundingClientRect(),l=n!==t.key||"tab"===t.kind?e.clientX<i.left+i.width/2?"before":"after":"before",o=x(U,r,n,l)?k(U,r,n,l):null;o?(e.preventDefault(),e.dataTransfer.dropEffect="move",q?.key===o.key&&q.side===o.side||ee({key:o.key,side:o.side})):q&&ee(null)},onDrop:e=>{const t=Z.current;if(!t||!q)return;e.preventDefault();const n=x(U,t,q.key,q.side);Z.current=null,ee(null),n&&S(n)},onDragEnd:()=>{Z.current=null,ee(null)}}:{},ne=d(()=>new Set(W.filter(e=>void 0!==e.group&&X).map(t=>e[t.start].key)),[W,e,X]),re=e=>"pointer-events-none absolute inset-y-1 z-[3] w-0.5 rounded-full bg-blue-500 "+("before"===e?"-left-px":"-right-px"),ie=e=>q?.key===e&&!("before"===q.side&&ne.has(e))&&/* @__PURE__ */y("span",{"aria-hidden":"true",className:re(q.side)}),le=e.length;u(()=>{if(!t)return;const e=document.getElementById(f(t,"tab"));e?.scrollIntoView?.({block:"nearest",inline:"nearest"})},[f,t,le]);const oe=_?Y.findIndex(e=>!e.pinned):-1,ae=Y.some(e=>e.key===t)?t:Y[0]?.key,se=e=>{const t=Y[(e+Y.length)%Y.length];t&&document.getElementById(f(t.key,"tab"))?.focus()},de=(e,t)=>{const n=Y[e+t];if(!S||!n)return;const r=x(U,{kind:"tab",key:Y[e].key},n.key,t<0?"before":"after");r&&(S(r),setTimeout(()=>document.getElementById(f(Y[e].key,"tab"))?.focus(),0))},ce=G?e.find(e=>e.key===G.key):void 0,ue=ce&&M?M(ce.key):[],me=ce?e.indexOf(ce):-1,fe=e=>e.some(e=>!e.pinned),pe=e=>()=>{H(null),e()},ye=(e,n)=>{const r=e.key===t,i=!!e.dirty,l=e.icon,a=r?B??"z-[1] border-gray-200 bg-gray-50 text-gray-900":"border-transparent text-gray-600 hover:bg-gray-200/70 hover:text-gray-900",s=!!n&&!r&&n.key!==t,d={type:"button",role:"tab",id:f(e.key,"tab"),"aria-selected":r,"aria-controls":b?.(e.key)?f(e.key,"panel"):void 0,tabIndex:e.key===ae?0:-1,title:e.title,onClick:()=>z(e.key)},c={onContextMenu:t=>((e,t)=>{e.preventDefault(),H({x:e.clientX,y:e.clientY,key:t.key})})(t,e),onAuxClick:t=>((e,t)=>{1!==e.button||t.pinned||(e.preventDefault(),j(t.key))})(t,e),onMouseDown:e=>{1===e.button&&e.preventDefault()}},u=l&&
4
- /* @__PURE__ */p("span",{className:"relative flex size-4 shrink-0 items-center justify-center text-gray-500 [&>svg]:size-4","aria-hidden":"true",children:[l,i&&!r&&!e.pinned&&
5
- /* @__PURE__ */y("span",{className:"absolute -right-1 -top-1 hidden size-2 rounded-full bg-gray-500 ring-2 ring-gray-100 @max-[6.5rem]:block @max-[6.5rem]:group-hover:hidden"})]}),h=r&&!!K&&!!l;return e.pinned?/* @__PURE__ */p("div",{role:"presentation",className:`group relative flex flex-none items-center justify-center rounded-t-md border border-b-0 transition-colors ${Q} ${l?"w-10":""} ${a}`,...c,...te({kind:"tab",key:e.key},e.key),children:[ie(e.key),
6
- /* @__PURE__ */p("button",{...d,className:`flex h-full items-center justify-center rounded-t-md ${l?"w-full":"px-3"} ${N}`,children:[u,
7
- /* @__PURE__ */y("span",{className:l?"sr-only":"whitespace-nowrap text-sm",children:e.title})]})]},e.key):/* @__PURE__ */p(m,{children:[s&&/* @__PURE__ */y("span",{"aria-hidden":"true",className:"mb-3 h-4 w-px shrink-0 self-end border-l border-gray-300"}),
8
- /* @__PURE__ */p("div",{role:"presentation",className:`group relative flex items-center rounded-t-md border border-b-0 text-sm transition-colors ${Q} ${"active-full"===O&&r?"":"@container"} ${"active-full"===O?r?"flex-[0_0_15rem] min-w-0":w:r&&(e.copy||h)?"flex-[0_1_20rem]":v} ${r?"active-full"===O?"":"min-w-[4.25rem]":"min-w-[4rem]"} ${a}`,...c,...te({kind:"tab",key:e.key},e.key),children:[ie(e.key),h&&
9
- /* @__PURE__ */y("button",{type:"button",tabIndex:-1,"aria-haspopup":"menu","aria-label":L.tabMenu,title:L.tabMenu,onClick:t=>{const n=t.currentTarget.getBoundingClientRect();K?.(e.key,n.left,n.bottom+4)},className:`ml-2 flex size-6 shrink-0 items-center justify-center rounded hover:bg-gray-200 @max-[5rem]:ml-2 ${N}`,children:u}),
10
- /* @__PURE__ */p("button",{...d,className:`flex h-full min-w-0 flex-1 items-center gap-2 rounded-t-md pr-1 text-left ${h?"pl-2":"pl-3"} ${N} ${r?h?"":"@max-[5rem]:pl-3":"@max-[6.5rem]:pr-3 @max-[4.5rem]:justify-center @max-[4.5rem]:px-0 @max-[4.5rem]:group-hover:pl-2 @max-[4.5rem]:group-hover:pr-3"}`,children:[!h&&u,
11
- /* @__PURE__ */p("span",{className:`min-w-0 flex-1 overflow-hidden whitespace-nowrap [mask-image:linear-gradient(to_right,#000_calc(100%-1rem),transparent)] ${"active-full"===O&&r?"pr-4":""} ${l?r?"@max-[5rem]:sr-only":"@max-[4.5rem]:sr-only":""}`,children:[e.title,e.favorite&&
12
- /* @__PURE__ */y("span",{role:"img","aria-label":L.favorite,title:L.favorite,className:"ml-1 inline-flex align-[-0.125em] text-yellow-500",children:/* @__PURE__ */y(o,{name:"star","aria-hidden":"true",className:"size-3.5",fill:"currentColor",strokeWidth:1.5})})]})]}),r&&e.actions&&/* @__PURE__ */y(I,{node:e.actions}),r&&e.copy&&/* @__PURE__ */y($,{text:e.copy,label:L.copy(e.copy),copiedLabel:L.copied}),
13
- /* @__PURE__ */p("span",{className:"mr-2 flex size-5 shrink-0 items-center justify-center "+(r?"":"@max-[6.5rem]:hidden @max-[6.5rem]:group-hover:flex"),children:[i&&/* @__PURE__ */y("span",{role:"img","aria-label":L.unsaved,className:"size-2 rounded-full bg-gray-500 group-hover:hidden"}),
14
- /* @__PURE__ */y("button",{type:"button",tabIndex:-1,"aria-label":L.closeTab?.(e.title)??`${L.close} ${e.title}`,onClick:()=>j(e.key),className:"size-5 items-center justify-center rounded text-gray-400 hover:bg-gray-200 hover:text-gray-700 "+(i?"hidden group-hover:flex":r?"flex":"flex opacity-0 group-hover:opacity-100 focus-visible:opacity-100"),children:/* @__PURE__ */y(C,{})})]})]})]},e.key)},he=[];let ge,be=0,ke=!_;for(const t of W){const r=Y.filter(n=>{const r=e.indexOf(n);return r>=t.start&&r<=t.end});if(ke||be!==oe||(ke=!0,he.push(/* @__PURE__ */y(m,{children:_},"rosh-after-pinned")),ge=void 0),be+=r.length,void 0===t.group||!X){for(const e of r)he.push(ye(e,ge)),ge=e;continue}ge=void 0;const i=t.group,l=X(i),a=t.end-t.start+1,s=!J.has(i),d=e[t.start].key;he.push(
15
- /* @__PURE__ */p("div",{role:"group","aria-label":l.label,"data-tab-group":i,className:"relative mx-1 flex shrink-0 items-end first:ml-0 min-w-0",children:[
16
- /* @__PURE__ */p("button",{type:"button",tabIndex:-1,"aria-expanded":s,title:L.groupToggle(l.label,a),onClick:()=>V(i),...te({kind:"group",key:d},d),className:`relative mb-1 mr-1 flex h-6 shrink-0 items-center gap-1 rounded-full bg-blue-100 px-2 text-xs font-medium text-blue-700 hover:bg-blue-200 ${N}`,children:[
17
- /* @__PURE__ */y(o,{name:s?"chevron-down":"chevron-right","aria-hidden":"true",className:"size-3",strokeWidth:2}),l.icon&&/* @__PURE__ */y("span",{className:"flex size-3.5 items-center justify-center [&>svg]:size-3.5","aria-hidden":"true",children:l.icon}),
18
- /* @__PURE__ */y("span",{className:"max-w-[8rem] truncate",children:l.label}),
19
- /* @__PURE__ */y(n,{count:a,label:F.tabs(a),active:!0})]}),q?.key===d&&"before"===q.side&&/* @__PURE__ */y("span",{"aria-hidden":"true",className:re("before")}),r.map((e,t)=>ye(e,t>0?r[t-1]:void 0)),
20
- /* @__PURE__ */y("span",{"aria-hidden":"true",className:"pointer-events-none absolute inset-x-0 bottom-0 z-[2] h-0.5 bg-blue-500"})]},`rosh-group-${d}`))}return ke||he.push(/* @__PURE__ */y(m,{children:_},"rosh-after-pinned")),/* @__PURE__ */p("div",{className:A??"relative flex h-10 shrink-0 items-end gap-3 bg-gray-100 px-3",children:[
21
- /* @__PURE__ */y("div",{"aria-hidden":"true",className:"pointer-events-none absolute inset-x-0 bottom-0 h-px bg-gray-200"}),
22
- /* @__PURE__ */y("div",{role:"tablist","aria-label":E,onKeyDown:e=>{const t=Y.findIndex(t=>document.getElementById(f(t.key,"tab"))===e.target);if(t<0)return;const n=e.shiftKey&&(e.ctrlKey||e.metaKey);if(n&&"ArrowRight"===e.key)de(t,1);else if(n&&"ArrowLeft"===e.key)de(t,-1);else if("ArrowRight"===e.key)se(t+1);else if("ArrowLeft"===e.key)se(t-1);else if("Home"===e.key)se(0);else if("End"===e.key)se(Y.length-1);else{if("Delete"!==e.key||Y[t].pinned)return;j(Y[t].key)}e.preventDefault()},className:"flex min-w-0 flex-1 items-end overflow-x-auto overflow-y-hidden [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:he}),T&&/* @__PURE__ */y("div",{className:"flex shrink-0 items-center gap-2 self-center",children:T}),G&&ce&&/* @__PURE__ */p(r,{portal:!0,style:{left:G.x,top:G.y},onClose:()=>H(null),children:[ue.length>0&&/* @__PURE__ */p(h,{children:[ue.map((e,t)=>/* @__PURE__ */p(i,{onClick:pe(e.onSelect),children:[e.icon,e.label]},t)),
23
- /* @__PURE__ */y(l,{})]}),
24
- /* @__PURE__ */y(i,{disabled:ce.pinned,onClick:pe(()=>j(ce.key)),children:L.close}),
25
- /* @__PURE__ */y(l,{}),
26
- /* @__PURE__ */y(i,{disabled:!fe(e.filter(e=>e.key!==ce.key)),onClick:pe(()=>D("others",ce.key)),children:L.closeOthers}),
27
- /* @__PURE__ */y(i,{disabled:!fe(e.slice(me+1)),onClick:pe(()=>D("right",ce.key)),children:L.closeRight}),
28
- /* @__PURE__ */y(i,{disabled:!fe(e),onClick:pe(()=>D("all",null)),children:L.closeAll})]})]})}export{z as TabStrip};