@jacshuo/onyx 0.1.9 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +191 -30
- package/README.zh-CN.md +745 -0
- package/dist/Accordion.cjs +1 -1
- package/dist/Accordion.d.cts +3 -1
- package/dist/Accordion.d.ts +3 -1
- package/dist/Accordion.js +1 -1
- package/dist/Alert.cjs +1 -1
- package/dist/Alert.d.cts +3 -1
- package/dist/Alert.d.ts +3 -1
- package/dist/Alert.js +1 -1
- package/dist/Badge.cjs +1 -1
- package/dist/Badge.d.cts +1 -1
- package/dist/Badge.d.ts +1 -1
- package/dist/Badge.js +1 -1
- package/dist/Button.cjs +1 -1
- package/dist/Button.js +1 -1
- package/dist/Card.cjs +1 -1
- package/dist/Card.d.cts +3 -1
- package/dist/Card.d.ts +3 -1
- package/dist/Card.js +1 -1
- package/dist/Checkbox.cjs +1 -0
- package/dist/Checkbox.d.cts +21 -0
- package/dist/Checkbox.d.ts +21 -0
- package/dist/Checkbox.js +1 -0
- package/dist/CodeBlock.cjs +1 -0
- package/dist/CodeBlock.d.cts +22 -0
- package/dist/CodeBlock.d.ts +22 -0
- package/dist/CodeBlock.js +1 -0
- package/dist/Dialog.cjs +1 -1
- package/dist/Dialog.d.cts +5 -2
- package/dist/Dialog.d.ts +5 -2
- package/dist/Dialog.js +1 -1
- package/dist/Dropdown.cjs +1 -1
- package/dist/Dropdown.d.cts +12 -0
- package/dist/Dropdown.d.ts +12 -0
- package/dist/Dropdown.js +1 -1
- package/dist/DropdownButton.cjs +1 -1
- package/dist/DropdownButton.d.cts +3 -1
- package/dist/DropdownButton.d.ts +3 -1
- package/dist/DropdownButton.js +1 -1
- package/dist/FileExplorer.cjs +1 -1
- package/dist/FileExplorer.js +1 -1
- package/dist/Form.cjs +1 -0
- package/dist/Form.d.cts +101 -0
- package/dist/Form.d.ts +101 -0
- package/dist/Form.js +1 -0
- package/dist/Header.cjs +1 -1
- package/dist/Header.d.cts +7 -1
- package/dist/Header.d.ts +7 -1
- package/dist/Header.js +1 -1
- package/dist/Indicator.cjs +1 -0
- package/dist/Indicator.d.cts +19 -0
- package/dist/Indicator.d.ts +19 -0
- package/dist/Indicator.js +1 -0
- package/dist/Input.cjs +1 -1
- package/dist/Input.js +1 -1
- package/dist/Label.cjs +1 -1
- package/dist/Label.js +1 -1
- package/dist/List.cjs +1 -1
- package/dist/List.d.cts +11 -4
- package/dist/List.d.ts +11 -4
- package/dist/List.js +1 -1
- package/dist/Masonry.cjs +1 -0
- package/dist/Masonry.d.cts +41 -0
- package/dist/Masonry.d.ts +41 -0
- package/dist/Masonry.js +1 -0
- package/dist/NavLink.cjs +1 -0
- package/dist/NavLink.d.cts +13 -0
- package/dist/NavLink.d.ts +13 -0
- package/dist/NavLink.js +1 -0
- package/dist/Panel.cjs +1 -1
- package/dist/Panel.js +1 -1
- package/dist/ProgressBar.cjs +1 -0
- package/dist/ProgressBar.d.cts +21 -0
- package/dist/ProgressBar.d.ts +21 -0
- package/dist/ProgressBar.js +1 -0
- package/dist/Radio.cjs +1 -0
- package/dist/Radio.d.cts +35 -0
- package/dist/Radio.d.ts +35 -0
- package/dist/Radio.js +1 -0
- package/dist/SideNav.cjs +1 -1
- package/dist/SideNav.d.cts +14 -1
- package/dist/SideNav.d.ts +14 -1
- package/dist/SideNav.js +1 -1
- package/dist/Spin.cjs +1 -0
- package/dist/Spin.d.cts +26 -0
- package/dist/Spin.d.ts +26 -0
- package/dist/Spin.js +1 -0
- package/dist/Switch.cjs +1 -0
- package/dist/Switch.d.cts +23 -0
- package/dist/Switch.d.ts +23 -0
- package/dist/Switch.js +1 -0
- package/dist/Table.cjs +1 -1
- package/dist/Table.d.cts +24 -4
- package/dist/Table.d.ts +24 -4
- package/dist/Table.js +1 -1
- package/dist/Tabs.cjs +1 -1
- package/dist/Tabs.d.cts +3 -1
- package/dist/Tabs.d.ts +3 -1
- package/dist/Tabs.js +1 -1
- package/dist/TextBox.cjs +1 -0
- package/dist/TextBox.d.cts +16 -0
- package/dist/TextBox.d.ts +16 -0
- package/dist/TextBox.js +1 -0
- package/dist/Tooltip.cjs +1 -1
- package/dist/Tooltip.d.cts +3 -1
- package/dist/Tooltip.d.ts +3 -1
- package/dist/Tooltip.js +1 -1
- package/dist/Tree.cjs +1 -1
- package/dist/Tree.d.cts +6 -2
- package/dist/Tree.d.ts +6 -2
- package/dist/Tree.js +1 -1
- package/dist/chunks/chunk-2JLNRAXS.cjs +1 -0
- package/dist/chunks/{chunk-BQLPFPCA.cjs → chunk-2KVAFCQI.cjs} +1 -1
- package/dist/chunks/chunk-3I7Y6FUJ.js +1 -0
- package/dist/chunks/chunk-47UMFXDG.js +1 -0
- package/dist/chunks/{chunk-MXDZHU6E.cjs → chunk-4D3XBPZX.cjs} +2 -2
- package/dist/chunks/{chunk-VDC7N5TC.js → chunk-4VFV5U3S.js} +1 -1
- package/dist/chunks/{chunk-N36YROV3.js → chunk-5FUEJFGY.js} +1 -1
- package/dist/chunks/chunk-5XT6TJGF.js +1 -0
- package/dist/chunks/{chunk-XCP37UUA.cjs → chunk-6BI4QL37.cjs} +1 -1
- package/dist/chunks/chunk-6E5ARQBB.cjs +1 -0
- package/dist/chunks/chunk-7CEOIZXK.js +1 -0
- package/dist/chunks/chunk-7XPIY2SQ.cjs +1 -0
- package/dist/chunks/chunk-A6HIQADJ.cjs +1 -0
- package/dist/chunks/{chunk-66LIYNLT.cjs → chunk-AEBULFON.cjs} +1 -1
- package/dist/chunks/chunk-AK5IK7ZD.js +1 -0
- package/dist/chunks/chunk-AN2R5URJ.js +1 -0
- package/dist/chunks/chunk-BTR2N5MO.cjs +2 -0
- package/dist/chunks/chunk-BUNOVZ23.cjs +2 -0
- package/dist/chunks/chunk-CEEQE7SY.js +1 -0
- package/dist/chunks/chunk-CMHBPMXE.js +1 -0
- package/dist/chunks/chunk-DWYAPPDB.cjs +1 -0
- package/dist/chunks/chunk-E3DST3QD.cjs +1 -0
- package/dist/chunks/chunk-E4EMAZ6V.js +2 -0
- package/dist/chunks/chunk-E5UKEXJE.js +1 -0
- package/dist/chunks/{chunk-HA5QPLJP.cjs → chunk-FDTREGBQ.cjs} +1 -1
- package/dist/chunks/chunk-FGUFBTKI.cjs +1 -0
- package/dist/chunks/chunk-FQZX67Z7.js +1 -0
- package/dist/chunks/chunk-FROZM2O6.js +1 -0
- package/dist/chunks/chunk-G2VO67XY.js +1 -0
- package/dist/chunks/{chunk-NG7F3GCN.js → chunk-GYFFUCBT.js} +1 -1
- package/dist/chunks/chunk-I425OSJL.js +1 -0
- package/dist/chunks/chunk-ICDAUJ2G.cjs +1 -0
- package/dist/chunks/chunk-IFRKP7M2.js +1 -0
- package/dist/chunks/chunk-IHBP6FI4.js +1 -0
- package/dist/chunks/chunk-IL5XDMUA.cjs +1 -0
- package/dist/chunks/chunk-IRSGPS7D.cjs +1 -0
- package/dist/chunks/chunk-ITWFMFVO.js +1 -0
- package/dist/chunks/chunk-JJP23IOG.cjs +1 -0
- package/dist/chunks/chunk-JRYYWYGV.cjs +1 -0
- package/dist/chunks/chunk-KCIICUZN.cjs +1 -0
- package/dist/chunks/chunk-KFQVZ2HC.cjs +1 -0
- package/dist/chunks/chunk-KGRBVUVK.cjs +1 -0
- package/dist/chunks/chunk-KY4NDB23.cjs +1 -0
- package/dist/chunks/chunk-KZBYFKOH.js +1 -0
- package/dist/chunks/chunk-LFJEIO3X.cjs +1 -0
- package/dist/chunks/chunk-NY27TTWN.js +1 -0
- package/dist/chunks/chunk-OEXZGLB4.js +1 -0
- package/dist/chunks/chunk-QC67HOC2.cjs +1 -0
- package/dist/chunks/chunk-QLFCH4TD.js +1 -0
- package/dist/chunks/chunk-RPBESM5F.cjs +1 -0
- package/dist/chunks/chunk-SC4PNYQT.js +2 -0
- package/dist/chunks/chunk-SLHD7PST.cjs +1 -0
- package/dist/chunks/chunk-UEGTVAFV.cjs +1 -0
- package/dist/chunks/chunk-V34PT6H4.cjs +1 -0
- package/dist/chunks/chunk-VUWT3NFR.js +1 -0
- package/dist/chunks/chunk-W5UXZVLS.cjs +1 -0
- package/dist/chunks/chunk-WQOSJM7L.js +2 -0
- package/dist/chunks/chunk-WRPPKNRG.js +1 -0
- package/dist/chunks/chunk-XAOBJSFW.js +1 -0
- package/dist/chunks/chunk-XK7SMEDO.cjs +2 -0
- package/dist/chunks/chunk-XO6CNALX.js +1 -0
- package/dist/chunks/chunk-ZY7GZOBS.js +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +15 -4
- package/dist/index.d.ts +15 -4
- package/dist/index.js +1 -1
- package/dist/styles/base.css +1239 -6
- package/dist/styles/tokens.css +230 -0
- package/dist/styles.css +1333 -6
- package/dist/theme.cjs +1 -1
- package/dist/theme.d.cts +63 -1
- package/dist/theme.d.ts +63 -1
- package/dist/theme.js +1 -1
- package/package.json +2 -1
- package/dist/chunks/chunk-2DFUB3KN.js +0 -1
- package/dist/chunks/chunk-4BKLB4KV.cjs +0 -1
- package/dist/chunks/chunk-5PFWPAB6.js +0 -1
- package/dist/chunks/chunk-5XPTHIGM.cjs +0 -1
- package/dist/chunks/chunk-63LKYF4D.cjs +0 -1
- package/dist/chunks/chunk-6HZRNHE6.js +0 -1
- package/dist/chunks/chunk-6OLB4BUJ.js +0 -1
- package/dist/chunks/chunk-7NYDMXZT.cjs +0 -1
- package/dist/chunks/chunk-AAFG7R4U.cjs +0 -1
- package/dist/chunks/chunk-ACQOSYBI.js +0 -1
- package/dist/chunks/chunk-BW6NCATH.js +0 -1
- package/dist/chunks/chunk-DWTXICFN.js +0 -1
- package/dist/chunks/chunk-DXXCR4ON.js +0 -1
- package/dist/chunks/chunk-EK4BC3WT.cjs +0 -1
- package/dist/chunks/chunk-ENRXEISR.js +0 -1
- package/dist/chunks/chunk-ER2MYWQO.cjs +0 -1
- package/dist/chunks/chunk-GAK5OQW4.cjs +0 -1
- package/dist/chunks/chunk-JAKATE3I.js +0 -1
- package/dist/chunks/chunk-KVV5ZEYV.cjs +0 -1
- package/dist/chunks/chunk-NBLJWONR.cjs +0 -1
- package/dist/chunks/chunk-NCJ5A6VE.js +0 -1
- package/dist/chunks/chunk-ORNYPP3O.cjs +0 -1
- package/dist/chunks/chunk-P652JDOU.cjs +0 -1
- package/dist/chunks/chunk-PODSD5UT.js +0 -1
- package/dist/chunks/chunk-PSMWVB3O.js +0 -1
- package/dist/chunks/chunk-QLKUAE3R.cjs +0 -1
- package/dist/chunks/chunk-R2K6KI4L.js +0 -1
- package/dist/chunks/chunk-SCSMM2J4.js +0 -1
- package/dist/chunks/chunk-SMZQSZH2.js +0 -1
- package/dist/chunks/chunk-TDI2N27U.cjs +0 -1
- package/dist/chunks/chunk-U2ZQHP4I.cjs +0 -1
- package/dist/chunks/chunk-XOO3AGIT.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {g}from'./chunk-XAOBJSFW.js';import {a}from'./chunk-AXBJKPZZ.js';import {jsx}from'react/jsx-runtime';function s({intent:t,size:r,className:n,...o}){return jsx("div",{className:a(g({intent:t,size:r}),n),...o})}function l({className:t,...r}){return jsx("div",{className:a("border-primary-200 text-primary-900 dark:border-primary-700 dark:text-primary-100 mb-3 flex items-center gap-1.5 border-b pb-3 text-sm font-semibold [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",t),...r})}function c({className:t,...r}){return jsx("div",{className:a("text-primary-700 dark:text-primary-300 text-sm",t),...r})}export{s as a,l as b,c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-
|
|
1
|
+
import {a as a$1}from'./chunk-XAOBJSFW.js';import {a}from'./chunk-AXBJKPZZ.js';import {jsx}from'react/jsx-runtime';function m({intent:r,size:n,className:p,...a$2}){return jsx("button",{className:a(a$1({intent:r,size:n}),p),...a$2})}export{m as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {x}from'./chunk-XAOBJSFW.js';import {a}from'./chunk-AXBJKPZZ.js';import {createContext,useId,useState,useCallback,useContext}from'react';import {jsx,jsxs}from'react/jsx-runtime';var C=createContext(null);function M({name:t,value:o,defaultValue:p,onValueChange:i,intent:u,size:m,disabled:f,orientation:s="vertical",className:g,children:d}){let e=useId(),h=t??e,[l,v]=useState(p),c=o??l,x=useCallback(a=>{o===void 0&&v(a),i?.(a);},[o,i]);return jsx(C.Provider,{value:{name:h,value:c,onChange:x,intent:u,size:m,disabled:f},children:jsx("div",{role:"radiogroup",className:a("flex gap-2",s==="vertical"?"flex-col":"flex-row flex-wrap",g),children:d})})}var G={sm:"h-1.5 w-1.5",md:"h-2 w-2",lg:"h-2.5 w-2.5"};function S({value:t,intent:o,size:p,label:i,id:u,className:m,disabled:f,...s}){let g=useId(),d=u??g,e=useContext(C),h=o??e?.intent,l=p??e?.size,v=l??"md",c=f??e?.disabled,x$1=s.name??e?.name,a$1=e?e.value===t:void 0,b=useCallback(P=>{P.target.checked&&e?.onChange(t);},[e,t]);return jsxs("label",{htmlFor:d,className:a("inline-flex cursor-pointer items-center gap-2 select-none",c&&"pointer-events-none opacity-50",m),children:[jsx("input",{...s,id:d,type:"radio",name:x$1,value:t,className:"sr-only",checked:a$1,disabled:c,onChange:b}),jsx("span",{className:a(x({intent:h,size:l,checked:a$1?"on":"off"})),children:jsx("span",{className:a("rounded-full bg-white transition-all duration-200",G[v],a$1?"scale-100 opacity-100":"scale-0 opacity-0")})}),i&&jsx("span",{className:"text-sm text-primary-700 dark:text-primary-300",children:i})]})}export{M as a,S as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),jsxRuntime=require('react/jsx-runtime');var l={sm:{wrapper:"h-7 text-xs",prefix:"px-2 text-xs [&_svg]:h-3 [&_svg]:w-3",input:"px-2 text-xs",icon:"px-1.5 [&_svg]:h-3 [&_svg]:w-3"},md:{wrapper:"h-9 text-sm",prefix:"px-3 text-sm [&_svg]:h-4 [&_svg]:w-4",input:"px-3 py-2 text-sm",icon:"px-2 [&_svg]:h-4 [&_svg]:w-4"},lg:{wrapper:"h-11 text-base",prefix:"px-4 text-base [&_svg]:h-5 [&_svg]:w-5",input:"px-4 py-2.5 text-base",icon:"px-2.5 [&_svg]:h-5 [&_svg]:w-5"}},u={default:"border-secondary-300 focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus-within:border-danger-500 focus-within:ring-2 focus-within:ring-danger-500/20"};function g({state:o="default",inputSize:i="md",className:p,prefix:s,suffix:a,action:t,...c}){if(!s&&!a&&!t)return jsxRuntime.jsx("input",{className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.d({state:o,size:i}),p),...c});let r=l[i??"md"],x=u[o??"default"];return jsxRuntime.jsxs("div",{className:chunkX5YP5TMY_cjs.a("flex w-full items-center overflow-hidden rounded-md border bg-white transition-colors dark:bg-secondary-900",r.wrapper,x,p),children:[s&&jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a("flex shrink-0 items-center gap-1.5 self-stretch border-r border-secondary-300 bg-secondary-50 font-medium text-secondary-600 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300",r.prefix),children:s}),jsxRuntime.jsx("input",{className:chunkX5YP5TMY_cjs.a("min-w-0 flex-1 bg-transparent text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600",r.input,s&&"pl-2"),...c}),a&&jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a("pointer-events-none flex shrink-0 items-center text-secondary-400 dark:text-secondary-500",r.icon),children:a}),t&&jsxRuntime.jsx("button",{type:"button",onClick:t.onClick,"aria-label":t["aria-label"]??"Action",className:chunkX5YP5TMY_cjs.a("flex shrink-0 items-center text-secondary-500 transition-colors hover:text-primary-600 dark:text-secondary-400 dark:hover:text-primary-400",r.icon),children:t.icon})]})}exports.a=g;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var C={sm:{trackFixed:"h-5 w-9",trackH:"h-5 min-w-9",thumb:"h-3.5 w-3.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-16px)]",pad:"pl-[6px] pr-[18px]",contentLeft:"left-[6px]",contentRight:"right-[6px]",icon:"text-[10px] [&_svg]:h-3 [&_svg]:w-3"},md:{trackFixed:"h-6 w-11",trackH:"h-6 min-w-11",thumb:"h-4.5 w-4.5",thumbTop:"top-[3px]",thumbOff:"left-[2px]",thumbOn:"left-[calc(100%-20px)]",pad:"pl-[7px] pr-[23px]",contentLeft:"left-[7px]",contentRight:"right-[7px]",icon:"text-xs [&_svg]:h-3.5 [&_svg]:w-3.5"},lg:{trackFixed:"h-7 w-14",trackH:"h-7 min-w-14",thumb:"h-5.5 w-5.5",thumbTop:"top-[3px]",thumbOff:"left-[3px]",thumbOn:"left-[calc(100%-25px)]",pad:"pl-[8px] pr-[28px]",contentLeft:"left-[8px]",contentRight:"right-[8px]",icon:"text-sm [&_svg]:h-4 [&_svg]:w-4"}},F={primary:"text-primary-100",secondary:"text-secondary-100",danger:"text-danger-100",warning:"text-warning-100",success:"text-success-100"};function z({checked:i,defaultChecked:g=false,onCheckedChange:p,checkedContent:o,uncheckedContent:c,intent:r,size:l,label:h,id:w,className:b,disabled:m,...y}){let k=react.useId(),d=w??k,v=l??"md",N=r??"primary",t=C[v],u=o!=null||c!=null,[R,O]=react.useState(g),a=i??R,T=react.useCallback(H=>{let x=H.target.checked;i===void 0&&O(x),p?.(x);},[i,p]);return jsxRuntime.jsxs("label",{htmlFor:d,className:chunkX5YP5TMY_cjs.a("inline-flex cursor-pointer items-center gap-2",m&&"pointer-events-none opacity-50",b),children:[jsxRuntime.jsx("input",{...y,id:d,type:"checkbox",role:"switch",className:"sr-only",checked:a,disabled:m,onChange:T,"aria-checked":a}),jsxRuntime.jsxs("span",{className:chunkX5YP5TMY_cjs.a("relative inline-flex shrink-0 items-center rounded-full transition-colors duration-200",u?t.trackH:t.trackFixed,chunk2JLNRAXS_cjs.y({intent:r,size:l,checked:a?"on":"off"})),children:[u?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("span",{className:chunkX5YP5TMY_cjs.a("pointer-events-none invisible inline-grid",t.icon),children:[jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a("[grid-area:1/1] whitespace-nowrap",t.pad),children:o}),jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a("[grid-area:1/1] whitespace-nowrap",t.pad),children:c})]}),jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",t.contentLeft,t.icon,F[N],a?"opacity-100":"opacity-0"),children:o}),jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a("absolute top-1/2 -translate-y-1/2 whitespace-nowrap font-medium leading-none transition-opacity duration-200",t.contentRight,t.icon,"text-primary-400 dark:text-primary-500",a?"opacity-0":"opacity-100"),children:c})]}):null,jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a("pointer-events-none absolute rounded-full bg-white shadow-sm transition-[left] duration-200 ease-in-out",t.thumb,t.thumbTop,a?t.thumbOn:t.thumbOff)})]}),h&&jsxRuntime.jsx("span",{className:"select-none text-sm text-primary-700 dark:text-primary-300",children:h})]})}exports.a=z;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {w}from'./chunk-XAOBJSFW.js';import {a}from'./chunk-AXBJKPZZ.js';import {useId,useState,useCallback}from'react';import {jsxs,jsx}from'react/jsx-runtime';var M={sm:"h-3 w-3",md:"h-3.5 w-3.5",lg:"h-4 w-4"};function S({checked:o,defaultChecked:k=false,indeterminate:n=false,onCheckedChange:a$1,intent:m,size:s,label:c,id:u,className:x,disabled:r,...f}){let b=useId(),i=u??b,y=s??"md",[C,g]=useState(k),l=o??C,v=useCallback(L=>{let d=L.target.checked;o===void 0&&g(d),a$1?.(d);},[o,a$1]),p=l||n;return jsxs("label",{htmlFor:i,className:a("inline-flex cursor-pointer items-center gap-2 select-none",r&&"pointer-events-none opacity-50",x),children:[jsx("input",{...f,id:i,type:"checkbox",className:"sr-only",checked:l,disabled:r,onChange:v}),jsx("span",{className:a(w({intent:m,size:s,checked:p?"on":"off"})),children:jsx("svg",{viewBox:"0 0 16 16",fill:"none",className:a("text-white transition-all duration-200",M[y],p?"scale-100 opacity-100":"scale-0 opacity-0"),children:n?jsx("line",{x1:"3",y1:"8",x2:"13",y2:"8",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}):jsx("path",{d:"M3.5 8.5L6.5 11.5L12.5 4.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),c&&jsx("span",{className:"text-sm text-primary-700 dark:text-primary-300",children:c})]})}export{S as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var m=react.createContext({size:"md"});function h({intent:t,size:o="md",className:i,...n}){return jsxRuntime.jsx(m.Provider,{value:{size:o},children:jsxRuntime.jsx("ul",{className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.i({intent:t}),i),...n})})}function v({actions:t,className:o,children:i,...n}){let{size:p}=react.useContext(m);return jsxRuntime.jsxs("li",{className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.m({size:p}),o),...n,children:[jsxRuntime.jsx("span",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:i}),t&&jsxRuntime.jsx("span",{className:"ml-auto flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100 [@media(hover:none)]:opacity-100 [@media(hover:none)]:[&>button]:min-h-(--row-action-touch-min) [@media(hover:none)]:[&>button]:min-w-(--row-action-touch-min) [@media(hover:none)]:[&>button]:flex [@media(hover:none)]:[&>button]:items-center [@media(hover:none)]:[&>button]:justify-center",children:t})]})}exports.a=h;exports.b=v;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),ee=require('react'),reactDom=require('react-dom'),lucideReact=require('lucide-react'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ee__default=/*#__PURE__*/_interopDefault(ee);var k="flex w-full items-center gap-2 rounded-md px-3 py-1.5 text-sm transition-colors cursor-pointer",U="bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100 font-medium",w="text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200",I="flex items-center justify-center rounded-md p-2 transition-colors cursor-pointer text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200";function ie({to:e,className:r,style:a,children:i}){let l=typeof r=="function"?r({isActive:false}):r;return jsxRuntime.jsx("a",{href:e,className:l,style:a,children:i})}var O=["expanded","icons","mini"];function le(e){let r=O.indexOf(e);return O[(r+1)%O.length]}function $(e){let r=new Set;for(let a of e)if(a.children&&a.children.length>0){r.add(a.key??a.label);for(let i of $(a.children))r.add(i);}return r}function q({item:e,basePath:r,depth:a,onItemClick:i,LinkComponent:l,showLines:f,expandedKeys:c,onToggle:v}){let b=e.key??e.label,M=e.children&&e.children.length>0,[N,h]=ee.useState(e.defaultOpen??true),g=c?c.has(b):N,o=ee.useCallback(()=>{c?v(b):h(d=>!d);},[c,v,b]),m=a>0?`${a*1.25}rem`:void 0;if(M)return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("button",{type:"button",onClick:o,className:chunkX5YP5TMY_cjs.a(k,w,"justify-between"),style:{paddingLeft:m},children:[jsxRuntime.jsxs("span",{className:"flex items-center gap-2",children:[e.icon,e.label]}),jsxRuntime.jsx(lucideReact.ChevronRight,{className:chunkX5YP5TMY_cjs.a("h-3.5 w-3.5 transition-transform",g&&"rotate-90")})]}),g&&jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("flex flex-col gap-0.5 pt-0.5",f?"ml-2.5 border-l border-primary-200 dark:border-primary-700":"ml-2"),children:e.children.map(d=>jsxRuntime.jsx(q,{item:d,basePath:r,depth:a+1,onItemClick:i,LinkComponent:l,showLines:f,expandedKeys:c,onToggle:v},d.key??d.path??d.label))})]});if(e.path!=null){let d=r+e.path;return i?jsxRuntime.jsxs("button",{type:"button",onClick:()=>i(e,d),className:chunkX5YP5TMY_cjs.a(k,w),style:{paddingLeft:m},children:[e.icon,e.label]}):jsxRuntime.jsxs(l,{to:d,className:({isActive:C})=>chunkX5YP5TMY_cjs.a(k,C?U:w),style:{paddingLeft:m},children:[e.icon,e.label]})}return jsxRuntime.jsxs("span",{className:chunkX5YP5TMY_cjs.a(k,w,"cursor-default"),style:{paddingLeft:m},children:[e.icon,e.label]})}function de({item:e,basePath:r,onItemClick:a,LinkComponent:i}){let[l,f]=ee.useState(false),c=ee.useRef(null),v=ee.useRef(void 0),[b,M]=ee.useState({top:0,left:0}),N=()=>{clearTimeout(v.current),f(true);},h=()=>{v.current=setTimeout(()=>f(false),200);};ee.useLayoutEffect(()=>{if(l&&c.current){let o=c.current.getBoundingClientRect();M({top:o.top,left:o.right+4});}},[l]);let g=e.icon||jsxRuntime.jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});return jsxRuntime.jsxs("div",{onMouseEnter:N,onMouseLeave:h,children:[jsxRuntime.jsx("button",{ref:c,type:"button",className:chunkX5YP5TMY_cjs.a(I,"w-full"),title:e.label,onClick:()=>f(o=>!o),children:g}),l&&reactDom.createPortal(jsxRuntime.jsxs("div",{className:"fixed z-50 min-w-44 rounded-md border border-primary-200 bg-white p-1 shadow-lg dark:border-primary-700 dark:bg-primary-900",style:{top:b.top,left:b.left},onMouseEnter:N,onMouseLeave:h,children:[jsxRuntime.jsx("div",{className:"px-2.5 py-1.5 text-xs font-semibold uppercase text-primary-500 dark:text-primary-400",children:e.label}),jsxRuntime.jsx("div",{className:"flex flex-col gap-0.5",children:e.children?.map(o=>{let m=o.key??o.path??o.label;if(o.path!=null){let d=r+o.path;return a?jsxRuntime.jsxs("button",{type:"button",onClick:()=>{a(o,d),f(false);},className:chunkX5YP5TMY_cjs.a(k,w),children:[o.icon,o.label]},m):jsxRuntime.jsxs(i,{to:d,className:({isActive:C})=>chunkX5YP5TMY_cjs.a(k,C?U:w),children:[o.icon,o.label]},m)}return jsxRuntime.jsxs("span",{className:chunkX5YP5TMY_cjs.a(k,"cursor-default text-primary-400"),children:[o.icon,o.label]},m)})})]}),document.body)]})}function pe({item:e,basePath:r,onItemClick:a,LinkComponent:i}){let l=e.icon||jsxRuntime.jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});if(e.path!=null){let f=r+e.path;return a?jsxRuntime.jsx("button",{type:"button",onClick:()=>a(e,f),className:chunkX5YP5TMY_cjs.a(I,"w-full"),title:e.label,children:l}):jsxRuntime.jsx(i,{to:f,className:({isActive:c})=>chunkX5YP5TMY_cjs.a(I,"w-full",c&&"bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100"),children:jsxRuntime.jsx("span",{title:e.label,children:l})})}return jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a(I,"w-full cursor-default"),title:e.label,children:l})}function be({items:e,title:r,basePath:a="/",onItemClick:i,LinkComponent:l=ie,collapsible:f,collapseMode:c,defaultCollapseMode:v="expanded",onCollapseModeChange:b,showLines:M=true,expandedKeys:N,defaultExpandedKeys:h="all",onExpandedKeysChange:g,className:o,responsive:m=true,mobileBreakpoint:d=768,mobileTopOffset:C=48,...D}){let[F,Q]=ee.useState(v),y=c??F,W=ee__default.default.useMemo(()=>$(e),[e]),[X,J]=ee.useState(()=>h==="all"?new Set(W):new Set(h)),K=N??null,j=K??X,V=ee.useCallback(t=>{let u=new Set(j);u.has(t)?u.delete(t):u.add(t),J(u),g?.(u);},[j,g]),Y=ee.useCallback(()=>{let t=le(y);Q(t),b?.(t);},[y,b]),[S,Z]=ee.useState(()=>m&&typeof window<"u"&&window.innerWidth<d),[P,L]=ee.useState(false);ee.useEffect(()=>{if(!m||typeof window>"u"||!window.matchMedia)return;let t=window.matchMedia(`(max-width: ${d-1}px)`),u=B=>{Z(B.matches),B.matches||L(false);};return t.addEventListener("change",u),()=>t.removeEventListener("change",u)},[m,d]);let _=ee.useCallback(t=>{t.target.closest("a")&&L(false);},[]),T=ee.useMemo(()=>!S||!i?i:(t,u)=>{L(false),i(t,u);},[S,i]),z=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[f&&!S&&jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("flex shrink-0 mb-1",y==="expanded"?"justify-end":"justify-center"),children:jsxRuntime.jsx("button",{type:"button",onClick:Y,className:I,"aria-label":y==="mini"?"Expand sidebar":"Collapse sidebar",title:y==="mini"?"Expand sidebar":"Collapse sidebar",children:y==="mini"?jsxRuntime.jsx(lucideReact.Menu,{className:"h-5 w-5"}):jsxRuntime.jsx(lucideReact.ChevronsLeft,{className:"h-4 w-4"})})}),(S||y==="expanded")&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[r&&jsxRuntime.jsx("h2",{className:"text-primary-500 dark:text-primary-400 mb-3 text-sm font-semibold uppercase",children:r}),e.map(t=>jsxRuntime.jsx(q,{item:t,basePath:a,depth:0,onItemClick:T,LinkComponent:l,showLines:M,expandedKeys:K,onToggle:V},t.key??t.path??t.label))]}),!S&&y==="icons"&&e.map(t=>{let u=t.key??t.path??t.label;return t.children&&t.children.length>0?jsxRuntime.jsx(de,{item:t,basePath:a,onItemClick:T,LinkComponent:l},u):jsxRuntime.jsx(pe,{item:t,basePath:a,onItemClick:T,LinkComponent:l},u)})]});return m&&S?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[P&&reactDom.createPortal(jsxRuntime.jsx("div",{className:"fixed inset-0 z-40 bg-black/50",style:{top:C},onClick:()=>L(false)}),document.body),reactDom.createPortal(jsxRuntime.jsx("aside",{className:chunkX5YP5TMY_cjs.a("fixed bottom-0 left-0 z-50 w-56 overflow-y-auto border-r border-primary-200 dark:border-primary-700 bg-white dark:bg-primary-900 shadow-xl transition-transform duration-200 p-3",P?"translate-x-0":"-translate-x-full"),style:{top:C},onClick:_,children:jsxRuntime.jsx("nav",{className:"flex flex-col gap-0.5",children:z})}),document.body),reactDom.createPortal(jsxRuntime.jsx("button",{type:"button",className:"fixed bottom-5 left-4 z-50 flex h-10 w-10 items-center justify-center rounded-full bg-primary-800 text-white shadow-lg transition-colors hover:bg-primary-700 dark:bg-primary-100 dark:text-primary-900 dark:hover:bg-primary-200",onClick:()=>L(t=>!t),"aria-label":P?"Close navigation":"Open navigation",children:P?jsxRuntime.jsx(lucideReact.X,{className:"h-5 w-5"}):jsxRuntime.jsx(lucideReact.Menu,{className:"h-5 w-5"})}),document.body)]}):jsxRuntime.jsx("nav",{className:chunkX5YP5TMY_cjs.a("flex flex-col gap-0.5",y==="mini"&&"items-center",o),...D,children:z})}exports.a=be;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),jsxRuntime=require('react/jsx-runtime');function s({intent:t,size:r,className:n,...o}){return jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.g({intent:t,size:r}),n),...o})}function l({className:t,...r}){return jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("border-primary-200 text-primary-900 dark:border-primary-700 dark:text-primary-100 mb-3 flex items-center gap-1.5 border-b pb-3 text-sm font-semibold [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0",t),...r})}function c({className:t,...r}){return jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("text-primary-700 dark:text-primary-300 text-sm",t),...r})}exports.a=s;exports.b=l;exports.c=c;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {A,C}from'./chunk-XAOBJSFW.js';import {a}from'./chunk-AXBJKPZZ.js';import P,{createContext,useState,useCallback,useContext,useId}from'react';import {Info,CheckCircle,AlertTriangle,AlertCircle}from'lucide-react';import {jsx,jsxs}from'react/jsx-runtime';var I=createContext({layout:"stacked",size:"md",labelWidth:"var(--form-label-w-md, 7rem)",bulkErrors:{}}),G={sm:"var(--form-label-w-sm, 5rem)",md:"var(--form-label-w-md, 7rem)",lg:"var(--form-label-w-lg, 9rem)"},j={sm:"gap-(--form-row-gap-sm)",md:"gap-(--form-row-gap-md)",lg:"gap-(--form-row-gap-lg)"};function Y({children:l,className:c,intent:g,size:a$1="md",layout:f="stacked",title:t,description:m,footer:k,onValues:y,onSubmit:o,...n}){let w=G[a$1??"md"],[v,C]=useState({}),i=useCallback(h=>{if(o?.(h),y){let b=Object.fromEntries(new FormData(h.currentTarget).entries()),R=y(b,h),F=N=>{if(!N)return;let V={};for(let[E,{result:r,reason:x}]of Object.entries(N))x&&(V[E]={status:r?"success":"error",message:x});C(V);};R instanceof Promise?R.then(F).catch(()=>{}):F(R);}},[o,y]);return jsx(I.Provider,{value:{layout:f??"stacked",size:a$1??"md",labelWidth:w,bulkErrors:v},children:jsxs("form",{className:a(A({intent:g,size:a$1}),"flex flex-col",c),onSubmit:i,...n,children:[(t||m)&&jsxs("div",{className:"mb-(--form-header-mb)",children:[t&&jsx("h2",{className:"text-base font-semibold text-primary-900 dark:text-primary-100",children:t}),m&&jsx("p",{className:"mt-1 text-xs text-primary-500 dark:text-primary-400",children:m})]}),jsx("div",{className:a("flex flex-col",j[a$1??"md"]),children:l}),k&&jsx("div",{className:"mt-(--form-footer-pt) flex flex-wrap items-center justify-end gap-(--form-footer-gap) border-t border-primary-200 pt-(--form-footer-pt) dark:border-primary-700",children:k})]})})}var J={error:jsx(AlertCircle,{}),warning:jsx(AlertTriangle,{}),success:jsx(CheckCircle,{}),hint:jsx(Info,{})};function Z({label:l,layout:c,required:g,hint:a$1,validation:f,name:t,onValidate:m,className:k,children:y}){let o=useContext(I),n=useId(),[w,v]=useState(void 0),C$1=t?o.bulkErrors[t]:void 0,i=f??w??C$1,b=(c??o.layout)==="inline",R=useCallback(r=>{let x=r!=null&&typeof r=="object"&&"target"in r?r.target.value:r;if(t&&o.bulkErrors[t]&&(o.bulkErrors[t]=void 0),!m){v(void 0);return}let{result:d,reason:s}=m(x);v(s?{status:d?"success":"error",message:s}:void 0);},[m,t,o.bulkErrors]),F=i?`${n}-validation`:a$1?`${n}-hint`:void 0,N=P.Children.map(y,(r,x)=>{if(x!==0||!P.isValidElement(r))return r;let d=r,s={};if(d.props.id||(s.id=n),F&&!d.props["aria-describedby"]&&(s["aria-describedby"]=F),i?.status==="error"&&!d.props["aria-invalid"]&&(s["aria-invalid"]=true),t&&!d.props.name&&(s.name=t),m){let B=d.props.onChange;s.onChange=S=>{B?.(S),R(S);};}return Object.keys(s).length?P.cloneElement(d,s):r}),V=l!=null&&jsx("label",{htmlFor:n,className:a("shrink-0 text-sm font-medium","text-primary-700 dark:text-primary-300",g&&"after:ml-0.5 after:text-danger-500 after:content-['*']",b&&"pt-1.75"),style:b?{width:o.labelWidth,minWidth:o.labelWidth}:void 0,children:l}),E=f?`${n}-validation`:a$1?`${n}-hint`:void 0;return jsxs("div",{className:a("flex w-full flex-col gap-1.5",b&&"md:flex-row md:items-start md:gap-(--form-item-gap-md)",k),children:[V,jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[N,i&&jsxs("p",{id:`${n}-validation`,className:a(C({status:i.status})),role:i.status==="error"?"alert":void 0,children:[J[i.status],jsx("span",{children:i.message})]}),a$1&&jsx("p",{id:E===`${n}-hint`?E:void 0,className:"mt-1 text-xs text-primary-400 dark:text-primary-500",children:a$1})]})]})}function _({title:l,description:c,className:g,children:a$1}){let{size:f}=useContext(I);return jsxs("fieldset",{className:a("flex flex-col rounded-(--form-radius) border border-primary-200 p-4 dark:border-primary-700",j[f],g),children:[(l||c)&&jsxs("legend",{className:"px-1.5 pb-1",children:[l&&jsx("span",{className:"text-sm font-semibold text-primary-700 dark:text-primary-300",children:l}),c&&jsx("span",{className:"ml-2 text-xs text-primary-400 dark:text-primary-500",children:c})]}),a$1]})}export{Y as a,Z as b,_ as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {r}from'./chunk-XAOBJSFW.js';import {a}from'./chunk-AXBJKPZZ.js';import {useState}from'react';import {jsxs,jsx}from'react/jsx-runtime';var d={top:"bottom-full left-1/2 -translate-x-1/2 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2"};function V({content:n,position:l="top",intent:r$1,delay:a$1=200,maxWidth:t,children:p,className:m}){let[c,o]=useState(false),[f,u]=useState();return jsxs("span",{className:"relative inline-flex",onMouseEnter:()=>{let T=setTimeout(()=>o(true),a$1);u(T);},onMouseLeave:()=>{clearTimeout(f),o(false);},children:[p,c&&jsx("span",{className:a(r({intent:r$1}),d[l],"pointer-events-none",t?"whitespace-normal":"whitespace-nowrap",m),style:t!==void 0?{maxWidth:t}:void 0,role:"tooltip",children:n})]})}export{V as a};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var A={name:"onyx-css-vars",type:"dark",settings:[{settings:{foreground:"var(--color-syntax-plain)",background:"var(--color-syntax-bg)"}},{scope:["comment","punctuation.definition.comment"],settings:{foreground:"var(--color-syntax-comment)",fontStyle:"italic"}},{scope:["keyword","keyword.control","keyword.operator.new","keyword.operator.expression","storage.type","storage.modifier"],settings:{foreground:"var(--color-syntax-keyword)"}},{scope:["string","string.quoted","string.template"],settings:{foreground:"var(--color-syntax-string)"}},{scope:["entity.name.function","support.function","meta.function-call"],settings:{foreground:"var(--color-syntax-function)"}},{scope:["variable","variable.other","variable.parameter","meta.definition.variable"],settings:{foreground:"var(--color-syntax-variable)"}},{scope:["constant.numeric","constant.language"],settings:{foreground:"var(--color-syntax-number)"}},{scope:["keyword.operator","keyword.operator.assignment","keyword.operator.comparison","keyword.operator.arithmetic"],settings:{foreground:"var(--color-syntax-operator)"}},{scope:["entity.name.tag","punctuation.definition.tag","support.class.component"],settings:{foreground:"var(--color-syntax-tag)"}},{scope:["entity.other.attribute-name","meta.tag.attributes"],settings:{foreground:"var(--color-syntax-attr)"}},{scope:["punctuation","meta.brace","punctuation.definition.block","punctuation.separator","punctuation.terminator"],settings:{foreground:"var(--color-syntax-punctuation)"}},{scope:["entity.name.type","support.type","support.class","entity.other.inherited-class"],settings:{foreground:"var(--color-syntax-type)"}}]},h=null,T=new Set;function D(){return h||(h=import('shiki').then(n=>n.createHighlighter({themes:[A],langs:[]}))),h}async function F(n,o,s){let i=await D();if(o&&!T.has(o))try{await i.loadLanguage(o),T.add(o);}catch{o="text";}let r=i.codeToHtml(n,{lang:o||"text",theme:"onyx-css-vars"});if(r=r.replace(/(<pre [^>]*style=")/,"$1line-height:1.7;tab-size:2;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;"),s){let l=0;r=r.replace(/<span class="line">/g,()=>(l++,`<span class="line"><span class="line-number" data-line="${l}"></span>`));}return r}function I({code:n,language:o="text",lineNumbers:s=false,editable:i=false,onCodeChange:r,size:l,className:v,...b}){let[c,H]=react.useState(""),u=react.useRef(null),x=react.useRef(null),d=react.useRef(null);react.useEffect(()=>{let e=false;return F(n,o,i?false:s).then(t=>{e||H(t);}),()=>{e=true;}},[n,o,s,i]);let L=react.useCallback(()=>{let e=x.current,t=d.current?.querySelector("pre"),p=u.current?.querySelector("[data-gutter]");e&&t&&(t.scrollTop=e.scrollTop,t.scrollLeft=e.scrollLeft),e&&p&&(p.scrollTop=e.scrollTop);},[]),M=react.useCallback(e=>{r?.(e.target.value);},[r]),S=react.useCallback(e=>{if(e.key==="Tab"){e.preventDefault();let t=e.currentTarget,p=t.selectionStart,R=t.selectionEnd,B=t.value.substring(0,p)+" "+t.value.substring(R);r?.(B),requestAnimationFrame(()=>{t.selectionStart=t.selectionEnd=p+2;});}},[r]),C=s&&"[&_.line-number]:inline-block [&_.line-number]:w-8 [&_.line-number]:mr-4 [&_.line-number]:text-right [&_.line-number]:text-secondary-400 [&_.line-number]:select-none [&_.line-number]:before:content-[attr(data-line)]",k="ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",w=1.7,E=n.split(`
|
|
2
|
+
`).length;return i?jsxRuntime.jsxs("div",{ref:u,className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.t({size:l}),"flex border border-primary-200 dark:border-primary-700",v),style:{background:"var(--color-syntax-bg)"},...b,children:[s&&jsxRuntime.jsx("div",{"data-gutter":true,"aria-hidden":true,className:"shrink-0 select-none overflow-hidden py-4 pl-3 pr-1 text-right text-secondary-400",style:{fontFamily:k,lineHeight:w,width:"3rem"},children:Array.from({length:E},(e,t)=>jsxRuntime.jsx("div",{children:t+1},t))}),jsxRuntime.jsxs("div",{className:"relative min-w-0 flex-1",children:[jsxRuntime.jsx("textarea",{ref:x,value:n,onChange:M,onScroll:L,onKeyDown:S,spellCheck:false,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",className:"relative z-2 m-0 block h-full w-full resize-none overflow-auto whitespace-pre border-none bg-transparent p-4 text-transparent caret-primary-600 outline-none dark:caret-primary-400",style:{fontFamily:k,lineHeight:w,tabSize:2,minHeight:"6rem"}}),jsxRuntime.jsx("div",{ref:d,"aria-hidden":true,className:"pointer-events-none absolute inset-0 z-1 overflow-hidden [&_pre]:m-0 [&_pre]:h-full [&_pre]:overflow-hidden [&_pre]:p-4 [&_code]:bg-transparent",dangerouslySetInnerHTML:c?{__html:c}:void 0})]})]}):jsxRuntime.jsx("div",{ref:u,className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.t({size:l}),"border border-primary-200 dark:border-primary-700",C,v),...b,children:jsxRuntime.jsx("div",{ref:d,className:"[&_pre]:m-0 [&_pre]:p-4",dangerouslySetInnerHTML:c?{__html:c}:void 0,children:c?void 0:jsxRuntime.jsx("pre",{className:"m-0 p-4",style:{background:"var(--color-syntax-bg)"},children:jsxRuntime.jsx("code",{children:n})})})})}exports.a=I;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),jsxRuntime=require('react/jsx-runtime');function k(n,r){return !!(r==="_blank"||n&&/^https?:\/\//.test(n))}var m=n=>jsxRuntime.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":true,...n,children:[jsxRuntime.jsx("path",{d:"M15 3h6v6"}),jsxRuntime.jsx("path",{d:"M10 14 21 3"}),jsxRuntime.jsx("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]});function w({intent:n,size:r,underline:f,external:c,className:u,children:d,href:a,target:t,rel:s,...h}){let o=c??k(a,t);return jsxRuntime.jsxs("a",{href:a,target:o&&!t?"_blank":t,rel:o&&!s?"noopener noreferrer":s,className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.s({intent:n,size:r,underline:f}),u),...h,children:[d,o&&jsxRuntime.jsx(m,{})]})}
|
|
2
|
+
exports.a=w;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {d}from'./chunk-XAOBJSFW.js';import {a}from'./chunk-AXBJKPZZ.js';import {useState,useRef,useCallback,useEffect,useMemo}from'react';import {ChevronDown,Check,ChevronRight}from'lucide-react';import {jsxs,jsx}from'react/jsx-runtime';function $(n,r){for(let o of n){if(o.value===r)return o;if(o.children){let s=$(o.children,r);if(s)return s}}}function z(n){let r=[];for(let o of n)o.children?.length||r.push(o),o.children&&r.push(...z(o.children));return r}var A=40,Q=150,W=120;function I(n,r,o,s){return s?o?{animation:"var(--animate-dropdown-item-out)",animationDelay:`${(r-1-n)*A}ms`}:{animation:"var(--animate-dropdown-item-in)",animationDelay:`${n*A}ms`}:{}}function X(n,r,o){if(!o)return {};if(r){let s=Math.max(n-1,0)*A+Q;return {animation:`dropdown-container-out ${W}ms ease-in both`,animationDelay:`${s}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function Y({options:n,onSelect:r,animated:o=true,closing:s=false,depth:c=0}){let[p,g]=useState(null),v=useRef(void 0),T=e=>{v.current&&clearTimeout(v.current),g(e);},h=()=>{v.current=setTimeout(()=>g(null),150);};return useEffect(()=>()=>{v.current&&clearTimeout(v.current);},[]),jsx("div",{className:a("absolute z-50 min-w-44 rounded-md border py-1 shadow-lg overflow-hidden","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",c===0?"mt-1 w-full":"top-0 ml-0.5"),style:{...c>0?{left:"100%"}:{},...X(n.length,s,o)},role:"listbox",children:n.map((e,D)=>{let m=!!e.children?.length,y=p===e.value;return jsxs("div",{className:"relative",style:I(D,n.length,s,o),onMouseEnter:()=>T(e.value),onMouseLeave:h,children:[jsxs("div",{role:"option","aria-selected":false,"aria-disabled":e.disabled,className:a("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",e.disabled&&"pointer-events-none opacity-50"),onClick:()=>{e.disabled||m||r(e.value,e);},children:[e.icon&&jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:e.icon}),jsx("span",{className:"flex-1 truncate",children:e.label??e.value}),m&&jsx(ChevronRight,{className:"text-primary-400 h-3.5 w-3.5 shrink-0"})]}),m&&y&&jsx(Y,{options:e.children,onSelect:r,animated:o,depth:c+1})]},e.value)})})}function se({options:n,filter:r,multiple:o,selected:s,canAdd:c,animated:p=true,closing:g=false,onSelect:v,onToggle:T,onAdd:h}){let e=useMemo(()=>z(n),[n]),D=r.toLowerCase(),m=r?e.filter(a=>(a.label??a.value).toLowerCase().includes(D)||a.value.toLowerCase().includes(D)):e,y=m.length===0&&!c||c?1:0,P=m.length+y;return jsxs("div",{className:a("absolute z-50 mt-1 w-full max-h-60 min-w-44 overflow-y-auto rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white"),role:"listbox","aria-multiselectable":o||void 0,style:X(P,g,p),children:[m.map((a$1,d)=>{let f=o&&s.includes(a$1.value);return jsxs("div",{role:"option","aria-selected":o?f:false,"aria-disabled":a$1.disabled,className:a("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",a$1.disabled&&"pointer-events-none opacity-50"),style:I(d,P,g,p),onClick:()=>{a$1.disabled||(o?T(a$1.value):v(a$1.value,a$1));},children:[o&&jsx("span",{className:a("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",f?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:f&&jsx(Check,{className:"h-3 w-3"})}),a$1.icon&&jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:a$1.icon}),jsx("span",{className:"truncate",children:a$1.label??a$1.value})]},a$1.value)}),m.length===0&&!c&&jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:I(0,1,g,p),children:"No matches"}),c&&jsxs("div",{className:a("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:I(m.length,P,g,p),onClick:h,children:[jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxs("span",{className:"truncate",children:["Add \u201C",r.trim(),"\u201D"]})]})]})}function me(n){let{options:r,placeholder:o="Select\u2026",editable:s=false,onAddItem:c,disabled:p=false,align:g="left",className:v,size:T="md",animated:h=true}=n,e=n.multiple===true,[D,m]=useState(e?void 0:n.defaultValue),[y,P]=useState(e?n.defaultSelected??[]:[]),a$1=e?n.selected??y:[],[d$1,f]=useState(false),[B,E]=useState(false),[k,S]=useState(""),V=useRef(null),q=useRef(null),w=useRef(void 0),N=useCallback(()=>{if(!h||!d$1){f(false),S("");return}E(true);let i=(Math.max(r.length,1)-1)*A+Q+W+20;w.current=setTimeout(()=>{f(false),E(false),S("");},i);},[h,d$1,r.length]);useEffect(()=>()=>{w.current&&clearTimeout(w.current);},[]);let K=e?void 0:n.value??D,O=useMemo(()=>K?$(r,K):void 0,[r,K]);useEffect(()=>{if(!d$1)return;let t=i=>{V.current&&!V.current.contains(i.target)&&N();};return document.addEventListener("mousedown",t),()=>document.removeEventListener("mousedown",t)},[d$1,N]),useEffect(()=>{if(!d$1)return;let t=i=>{i.key==="Escape"&&N();};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[d$1,N]);let U=useCallback((t,i)=>{e||(n.value===void 0&&m(t),n.onChange?.(t,i)),w.current&&clearTimeout(w.current),f(false),E(false),S("");},[e,n]),Z=useCallback(t=>{if(!e)return;let i=n.selected??y,G=i.includes(t)?i.filter(re=>re!==t):[...i,t];n.selected===void 0&&P(G),n.onSelectionChange?.(G);},[e,y,n]),_=k.toLowerCase(),j=useMemo(()=>!s||!k.trim()?false:!z(r).some(i=>i.value.toLowerCase()===_||(i.label??i.value).toLowerCase()===_),[s,_,r]),F=useCallback(()=>{let t=k.trim();t&&(c?.(t),S(""));},[k,c]),ee=useCallback(t=>{t.key==="Enter"&&j&&(t.preventDefault(),F());},[j,F]),ne=useCallback(()=>{p||(d$1?N():(w.current&&clearTimeout(w.current),E(false),f(true),S(""),s&&requestAnimationFrame(()=>q.current?.focus())));},[p,d$1,N,s]),x;if(e){let t=a$1.length;t===0?x="":t<=2?x=a$1.map(i=>$(r,i)).map(i=>i?i.label??i.value:"").filter(Boolean).join(", "):x=`${t} selected`;}else x=O?O.label??O.value:"";let te=e||s;return jsxs("div",{ref:V,className:a("relative inline-block min-w-44",v),children:[jsxs("div",{className:a(d({state:"default",size:T}),"flex cursor-pointer items-center gap-1",p&&"pointer-events-none opacity-50"),onClick:ne,role:"combobox","aria-expanded":d$1,"aria-haspopup":"listbox",children:[s?jsx("input",{ref:q,className:"min-w-0 flex-1 bg-transparent outline-none placeholder:text-secondary-400 dark:placeholder:text-secondary-600",value:d$1?k:x,placeholder:o,disabled:p,onChange:t=>{S(t.target.value),d$1||f(true);},onKeyDown:ee,onClick:t=>{t.stopPropagation(),d$1||f(true);}}):jsx("span",{className:a("flex-1 truncate",!x&&"text-secondary-400 dark:text-secondary-600"),children:x||o}),O?.icon&&!s&&!e&&jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:O.icon}),e&&a$1.length>0&&jsx("span",{className:"rounded-full bg-primary-100 px-1.5 text-xs font-semibold text-primary-700 dark:bg-primary-900 dark:text-primary-300",children:a$1.length}),jsx(ChevronDown,{className:a("text-primary-400 h-4 w-4 shrink-0 transition-transform",d$1&&"rotate-180")})]}),d$1&&jsx("div",{className:a(g==="right"?"right-0":"left-0","absolute w-full"),children:te?jsx(se,{options:r,filter:k,multiple:e,selected:a$1,canAdd:j,animated:h,closing:B,onSelect:U,onToggle:Z,onAdd:F}):jsx(Y,{options:r,onSelect:U,animated:h,closing:B})})]})}export{me as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {o,p}from'./chunk-XAOBJSFW.js';import {a}from'./chunk-AXBJKPZZ.js';import L,{createContext,useState,useRef,useCallback,useContext,useLayoutEffect,useEffect}from'react';import {jsx,jsxs}from'react/jsx-runtime';var f=createContext(null),y=createContext(false);function N({defaultValue:i="",value:l,onValueChange:n,intent:e,children:t,className:a}){let[r,s]=useState(i),g=l??r,T=useRef(new Map),d=useCallback(c=>{n?n(c):s(c);},[n]),p=useCallback((c,v)=>{v?T.current.set(c,v):T.current.delete(c);},[]);return jsx(f.Provider,{value:{activeValue:g,setActiveValue:d,intent:e,registerTrigger:p},children:jsx("div",{className:a,children:t})})}function B({className:i,scrollable:l,...n}){let e=useContext(f),t=useRef(null),[a$1,r]=useState(null),s=useCallback(()=>{if(!e||!t.current)return;let p=t.current.querySelectorAll('[role="tab"][data-active="true"]')[0];if(!p){r(null);return}let c=t.current.getBoundingClientRect(),v=p.getBoundingClientRect();r({left:v.left-c.left,width:v.width});},[e]);useLayoutEffect(s,[e?.activeValue,s]),useEffect(()=>{let d=new ResizeObserver(s);return t.current&&d.observe(t.current),()=>d.disconnect()},[s]);let g=e?.intent??"line",T=a$1&&(g==="line"||g==="underline");return jsxs("div",{ref:t,className:a(o({intent:e?.intent}),"relative",l&&"overflow-x-auto",i),role:"tablist",...n,children:[n.children,T&&jsx("span",{className:"absolute bottom-0 h-0.5 rounded-full bg-primary-600 dark:bg-primary-400 transition-all duration-300 ease-in-out",style:{left:a$1.left,width:a$1.width},"aria-hidden":true})]})}function I({value:i,className:l,children:n,...e}){let t=useContext(f),a$1=t?.activeValue===i,r=useCallback(s=>t?.registerTrigger(i,s),[t,i]);return jsx("button",{ref:r,className:a(p({intent:t?.intent}),l),role:"tab","data-active":a$1,"aria-selected":a$1,onClick:()=>t?.setActiveValue(i),...e,children:n})}function k({className:i,children:l,...n}){let e=useContext(f);if(!e)return null;let t=L.Children.toArray(l).filter(r=>L.isValidElement(r)),a$1=Math.max(0,t.findIndex(r=>r.props.value===e.activeValue));return jsx("div",{className:a("overflow-hidden",i),...n,children:jsx(y.Provider,{value:true,children:jsx("div",{className:"flex transition-transform duration-300 ease-in-out",style:{transform:`translateX(-${a$1*100}%)`},children:t.map((r,s)=>jsx("div",{className:"w-full shrink-0","aria-hidden":s!==a$1,children:r},r.props.value??s))})})})}function D({value:i,className:l,children:n,...e}){let t=useContext(f);return useContext(y)?jsx("div",{className:a("pt-4",l),role:"tabpanel",...e,children:n}):t?.activeValue!==i?null:jsx("div",{className:a("pt-4",l),role:"tabpanel",...e,children:n})}export{N as a,B as b,I as c,k as d,D as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),react=require('react'),reactDom=require('react-dom'),lucideReact=require('lucide-react'),jsxRuntime=require('react/jsx-runtime');function q({href:y,className:o,onClick:m,children:p}){return jsxRuntime.jsx("a",{href:y,className:o,onClick:m,children:p})}function V({brand:y,onBrandClick:o,navItems:m=[],actions:p=[],linkComponent:N=q,height:z="h-12",mobileMenu:h=false,navMenuIcon:A,actionsMenuIcon:T,className:P,children:R}){let[l,f]=react.useState(false),[s,u]=react.useState(false),w=react.useRef(null),v=react.useRef(null),C=react.useRef(null),E=react.useRef(null),[i,H]=react.useState(null),L=h&&m.length>0,M=h&&p.length>0;react.useLayoutEffect(()=>{(l||s)&&v.current&&H(v.current.getBoundingClientRect());},[l,s]),react.useEffect(()=>{if(!l&&!s)return;let e=d=>{let c=d.target;!w.current?.contains(c)&&!C.current?.contains(c)&&!E.current?.contains(c)&&(f(false),u(false));},t=()=>{f(false),u(false);},a=()=>{v.current&&H(v.current.getBoundingClientRect());};return document.addEventListener("mousedown",e),window.addEventListener("scroll",t,true),window.addEventListener("resize",a),()=>{document.removeEventListener("mousedown",e),window.removeEventListener("scroll",t,true),window.removeEventListener("resize",a);}},[l,s]);let k="rounded-md p-1.5 text-primary-500 hover:bg-primary-100 hover:text-primary-700 dark:text-primary-400 dark:hover:bg-primary-800 dark:hover:text-primary-200 transition-colors [&_svg]:h-5 [&_svg]:w-5",I=e=>e?"text-primary-900 font-medium dark:text-primary-100":"text-primary-500 hover:text-primary-700 dark:text-primary-400 dark:hover:text-primary-200 transition-colors",S=e=>chunkX5YP5TMY_cjs.a("flex w-full rounded-md px-3 py-2 text-left text-sm transition-colors",e?"bg-primary-100 font-medium text-primary-900 dark:bg-primary-800 dark:text-primary-100":"text-primary-600 hover:bg-primary-50 hover:text-primary-900 dark:text-primary-400 dark:hover:bg-primary-800/50 dark:hover:text-primary-200"),D="flex w-full items-center gap-3 rounded-md px-3 py-2 text-left text-sm text-primary-600 hover:bg-primary-50 hover:text-primary-900 dark:text-primary-400 dark:hover:bg-primary-800/50 dark:hover:text-primary-200 transition-colors [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0";return jsxRuntime.jsxs("div",{className:"relative",ref:w,children:[jsxRuntime.jsxs("header",{ref:v,className:chunkX5YP5TMY_cjs.a("flex shrink-0 items-center justify-between border-b px-5","border-primary-200 bg-white dark:border-primary-700 dark:bg-primary-900",z,P),children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2 md:gap-6",children:[y&&jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("text-lg font-bold text-primary-800 dark:text-primary-100",o&&"cursor-pointer"),onClick:o,role:o?"button":void 0,tabIndex:o?0:void 0,onKeyDown:o?e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),o(e));}:void 0,children:y}),L&&jsxRuntime.jsx("button",{type:"button",className:chunkX5YP5TMY_cjs.a(k,"md:hidden"),"aria-label":l?"Close navigation":"Open navigation","aria-expanded":l,onClick:()=>{f(e=>!e),u(false);},children:l?jsxRuntime.jsx(lucideReact.X,{className:"h-5 w-5"}):A??jsxRuntime.jsx(lucideReact.PanelLeft,{className:"h-5 w-5"})}),m.length>0&&jsxRuntime.jsx("nav",{className:chunkX5YP5TMY_cjs.a("flex items-center gap-4 text-sm",h?"hidden md:flex":"flex"),children:m.map((e,t)=>{let a=typeof e.label=="string"?e.label:t,d=I(e.active);return e.href?jsxRuntime.jsx(N,{href:e.href,className:d,onClick:e.onClick,children:e.label},a):jsxRuntime.jsx("button",{type:"button",className:chunkX5YP5TMY_cjs.a(d,"cursor-pointer"),onClick:e.onClick,children:e.label},a)})})]}),R&&jsxRuntime.jsx("div",{className:"flex items-center",children:R}),jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[p.length>0&&jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("flex items-center gap-1",h?"hidden md:flex":"flex"),children:p.map((e,t)=>e.href?jsxRuntime.jsx("a",{href:e.href,target:e.external?"_blank":void 0,rel:e.external?"noopener noreferrer":void 0,className:k,"aria-label":e["aria-label"],onClick:e.onClick,children:e.icon},e.key??t):jsxRuntime.jsx("button",{type:"button",className:k,"aria-label":e["aria-label"],onClick:e.onClick,children:e.icon},e.key??t))}),M&&jsxRuntime.jsx("button",{type:"button",className:chunkX5YP5TMY_cjs.a(k,"md:hidden"),"aria-label":s?"Close menu":"Open menu","aria-expanded":s,onClick:()=>{u(e=>!e),f(false);},children:s?jsxRuntime.jsx(lucideReact.X,{className:"h-5 w-5"}):T??jsxRuntime.jsx(lucideReact.MoreHorizontal,{className:"h-5 w-5"})})]})]}),L&&l&&i&&reactDom.createPortal(jsxRuntime.jsx("div",{ref:C,className:"z-9999 border-b border-primary-200 bg-white shadow-lg dark:border-primary-700 dark:bg-primary-900",style:{position:"fixed",top:i.bottom,left:i.left,right:window.innerWidth-i.right},children:jsxRuntime.jsx("nav",{className:"flex flex-col gap-0.5 px-3 py-2",children:m.map((e,t)=>{let a=typeof e.label=="string"?e.label:t,d=S(e.active);return e.href?jsxRuntime.jsx(N,{href:e.href,className:d,onClick:c=>{e.onClick?.(c),f(false);},children:e.label},a):jsxRuntime.jsx("button",{type:"button",className:d,onClick:c=>{e.onClick?.(c),f(false);},children:e.label},a)})})}),document.body),M&&s&&i&&reactDom.createPortal(jsxRuntime.jsx("div",{ref:E,className:"z-9999 min-w-44 rounded-bl-lg border-b border-l border-primary-200 bg-white shadow-lg dark:border-primary-700 dark:bg-primary-900",style:{position:"fixed",top:i.bottom,right:window.innerWidth-i.right},children:jsxRuntime.jsx("div",{className:"flex flex-col gap-0.5 p-2",children:p.map((e,t)=>e.href?jsxRuntime.jsxs("a",{href:e.href,target:e.external?"_blank":void 0,rel:e.external?"noopener noreferrer":void 0,className:D,"aria-label":e["aria-label"],onClick:()=>u(false),children:[e.icon,jsxRuntime.jsx("span",{children:e["aria-label"]})]},e.key??t):jsxRuntime.jsxs("button",{type:"button",className:D,onClick:a=>{e.onClick?.(a),u(false);},children:[e.icon,jsxRuntime.jsx("span",{children:e["aria-label"]})]},e.key??t))})}),document.body)]})}exports.a=V;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),P=require('react'),lucideReact=require('lucide-react'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var P__default=/*#__PURE__*/_interopDefault(P);var I=P.createContext({layout:"stacked",size:"md",labelWidth:"var(--form-label-w-md, 7rem)",bulkErrors:{}}),G={sm:"var(--form-label-w-sm, 5rem)",md:"var(--form-label-w-md, 7rem)",lg:"var(--form-label-w-lg, 9rem)"},j={sm:"gap-(--form-row-gap-sm)",md:"gap-(--form-row-gap-md)",lg:"gap-(--form-row-gap-lg)"};function Y({children:l,className:c,intent:g,size:a="md",layout:f="stacked",title:t,description:m,footer:k,onValues:y,onSubmit:o,...n}){let w=G[a??"md"],[v,C]=P.useState({}),i=P.useCallback(h=>{if(o?.(h),y){let b=Object.fromEntries(new FormData(h.currentTarget).entries()),R=y(b,h),F=N=>{if(!N)return;let V={};for(let[E,{result:r,reason:x}]of Object.entries(N))x&&(V[E]={status:r?"success":"error",message:x});C(V);};R instanceof Promise?R.then(F).catch(()=>{}):F(R);}},[o,y]);return jsxRuntime.jsx(I.Provider,{value:{layout:f??"stacked",size:a??"md",labelWidth:w,bulkErrors:v},children:jsxRuntime.jsxs("form",{className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.A({intent:g,size:a}),"flex flex-col",c),onSubmit:i,...n,children:[(t||m)&&jsxRuntime.jsxs("div",{className:"mb-(--form-header-mb)",children:[t&&jsxRuntime.jsx("h2",{className:"text-base font-semibold text-primary-900 dark:text-primary-100",children:t}),m&&jsxRuntime.jsx("p",{className:"mt-1 text-xs text-primary-500 dark:text-primary-400",children:m})]}),jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("flex flex-col",j[a??"md"]),children:l}),k&&jsxRuntime.jsx("div",{className:"mt-(--form-footer-pt) flex flex-wrap items-center justify-end gap-(--form-footer-gap) border-t border-primary-200 pt-(--form-footer-pt) dark:border-primary-700",children:k})]})})}var J={error:jsxRuntime.jsx(lucideReact.AlertCircle,{}),warning:jsxRuntime.jsx(lucideReact.AlertTriangle,{}),success:jsxRuntime.jsx(lucideReact.CheckCircle,{}),hint:jsxRuntime.jsx(lucideReact.Info,{})};function Z({label:l,layout:c,required:g,hint:a,validation:f,name:t,onValidate:m,className:k,children:y}){let o=P.useContext(I),n=P.useId(),[w,v]=P.useState(void 0),C=t?o.bulkErrors[t]:void 0,i=f??w??C,b=(c??o.layout)==="inline",R=P.useCallback(r=>{let x=r!=null&&typeof r=="object"&&"target"in r?r.target.value:r;if(t&&o.bulkErrors[t]&&(o.bulkErrors[t]=void 0),!m){v(void 0);return}let{result:d,reason:s}=m(x);v(s?{status:d?"success":"error",message:s}:void 0);},[m,t,o.bulkErrors]),F=i?`${n}-validation`:a?`${n}-hint`:void 0,N=P__default.default.Children.map(y,(r,x)=>{if(x!==0||!P__default.default.isValidElement(r))return r;let d=r,s={};if(d.props.id||(s.id=n),F&&!d.props["aria-describedby"]&&(s["aria-describedby"]=F),i?.status==="error"&&!d.props["aria-invalid"]&&(s["aria-invalid"]=true),t&&!d.props.name&&(s.name=t),m){let B=d.props.onChange;s.onChange=S=>{B?.(S),R(S);};}return Object.keys(s).length?P__default.default.cloneElement(d,s):r}),V=l!=null&&jsxRuntime.jsx("label",{htmlFor:n,className:chunkX5YP5TMY_cjs.a("shrink-0 text-sm font-medium","text-primary-700 dark:text-primary-300",g&&"after:ml-0.5 after:text-danger-500 after:content-['*']",b&&"pt-1.75"),style:b?{width:o.labelWidth,minWidth:o.labelWidth}:void 0,children:l}),E=f?`${n}-validation`:a?`${n}-hint`:void 0;return jsxRuntime.jsxs("div",{className:chunkX5YP5TMY_cjs.a("flex w-full flex-col gap-1.5",b&&"md:flex-row md:items-start md:gap-(--form-item-gap-md)",k),children:[V,jsxRuntime.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[N,i&&jsxRuntime.jsxs("p",{id:`${n}-validation`,className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.C({status:i.status})),role:i.status==="error"?"alert":void 0,children:[J[i.status],jsxRuntime.jsx("span",{children:i.message})]}),a&&jsxRuntime.jsx("p",{id:E===`${n}-hint`?E:void 0,className:"mt-1 text-xs text-primary-400 dark:text-primary-500",children:a})]})]})}function _({title:l,description:c,className:g,children:a}){let{size:f}=P.useContext(I);return jsxRuntime.jsxs("fieldset",{className:chunkX5YP5TMY_cjs.a("flex flex-col rounded-(--form-radius) border border-primary-200 p-4 dark:border-primary-700",j[f],g),children:[(l||c)&&jsxRuntime.jsxs("legend",{className:"px-1.5 pb-1",children:[l&&jsxRuntime.jsx("span",{className:"text-sm font-semibold text-primary-700 dark:text-primary-300",children:l}),c&&jsxRuntime.jsx("span",{className:"ml-2 text-xs text-primary-400 dark:text-primary-500",children:c})]}),a]})}exports.a=Y;exports.b=Z;exports.c=_;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {t}from'./chunk-XAOBJSFW.js';import {a}from'./chunk-AXBJKPZZ.js';import {useState,useRef,useEffect,useCallback}from'react';import {jsxs,jsx}from'react/jsx-runtime';var A={name:"onyx-css-vars",type:"dark",settings:[{settings:{foreground:"var(--color-syntax-plain)",background:"var(--color-syntax-bg)"}},{scope:["comment","punctuation.definition.comment"],settings:{foreground:"var(--color-syntax-comment)",fontStyle:"italic"}},{scope:["keyword","keyword.control","keyword.operator.new","keyword.operator.expression","storage.type","storage.modifier"],settings:{foreground:"var(--color-syntax-keyword)"}},{scope:["string","string.quoted","string.template"],settings:{foreground:"var(--color-syntax-string)"}},{scope:["entity.name.function","support.function","meta.function-call"],settings:{foreground:"var(--color-syntax-function)"}},{scope:["variable","variable.other","variable.parameter","meta.definition.variable"],settings:{foreground:"var(--color-syntax-variable)"}},{scope:["constant.numeric","constant.language"],settings:{foreground:"var(--color-syntax-number)"}},{scope:["keyword.operator","keyword.operator.assignment","keyword.operator.comparison","keyword.operator.arithmetic"],settings:{foreground:"var(--color-syntax-operator)"}},{scope:["entity.name.tag","punctuation.definition.tag","support.class.component"],settings:{foreground:"var(--color-syntax-tag)"}},{scope:["entity.other.attribute-name","meta.tag.attributes"],settings:{foreground:"var(--color-syntax-attr)"}},{scope:["punctuation","meta.brace","punctuation.definition.block","punctuation.separator","punctuation.terminator"],settings:{foreground:"var(--color-syntax-punctuation)"}},{scope:["entity.name.type","support.type","support.class","entity.other.inherited-class"],settings:{foreground:"var(--color-syntax-type)"}}]},h=null,T=new Set;function D(){return h||(h=import('shiki').then(n=>n.createHighlighter({themes:[A],langs:[]}))),h}async function F(n,o,s){let i=await D();if(o&&!T.has(o))try{await i.loadLanguage(o),T.add(o);}catch{o="text";}let r=i.codeToHtml(n,{lang:o||"text",theme:"onyx-css-vars"});if(r=r.replace(/(<pre [^>]*style=")/,"$1line-height:1.7;tab-size:2;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;"),s){let l=0;r=r.replace(/<span class="line">/g,()=>(l++,`<span class="line"><span class="line-number" data-line="${l}"></span>`));}return r}function I({code:n,language:o="text",lineNumbers:s=false,editable:i=false,onCodeChange:r,size:l,className:v,...b}){let[c,H]=useState(""),u=useRef(null),x=useRef(null),d=useRef(null);useEffect(()=>{let e=false;return F(n,o,i?false:s).then(t=>{e||H(t);}),()=>{e=true;}},[n,o,s,i]);let L=useCallback(()=>{let e=x.current,t=d.current?.querySelector("pre"),p=u.current?.querySelector("[data-gutter]");e&&t&&(t.scrollTop=e.scrollTop,t.scrollLeft=e.scrollLeft),e&&p&&(p.scrollTop=e.scrollTop);},[]),M=useCallback(e=>{r?.(e.target.value);},[r]),S=useCallback(e=>{if(e.key==="Tab"){e.preventDefault();let t=e.currentTarget,p=t.selectionStart,R=t.selectionEnd,B=t.value.substring(0,p)+" "+t.value.substring(R);r?.(B),requestAnimationFrame(()=>{t.selectionStart=t.selectionEnd=p+2;});}},[r]),C=s&&"[&_.line-number]:inline-block [&_.line-number]:w-8 [&_.line-number]:mr-4 [&_.line-number]:text-right [&_.line-number]:text-secondary-400 [&_.line-number]:select-none [&_.line-number]:before:content-[attr(data-line)]",k="ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",w=1.7,E=n.split(`
|
|
2
|
+
`).length;return i?jsxs("div",{ref:u,className:a(t({size:l}),"flex border border-primary-200 dark:border-primary-700",v),style:{background:"var(--color-syntax-bg)"},...b,children:[s&&jsx("div",{"data-gutter":true,"aria-hidden":true,className:"shrink-0 select-none overflow-hidden py-4 pl-3 pr-1 text-right text-secondary-400",style:{fontFamily:k,lineHeight:w,width:"3rem"},children:Array.from({length:E},(e,t)=>jsx("div",{children:t+1},t))}),jsxs("div",{className:"relative min-w-0 flex-1",children:[jsx("textarea",{ref:x,value:n,onChange:M,onScroll:L,onKeyDown:S,spellCheck:false,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",className:"relative z-2 m-0 block h-full w-full resize-none overflow-auto whitespace-pre border-none bg-transparent p-4 text-transparent caret-primary-600 outline-none dark:caret-primary-400",style:{fontFamily:k,lineHeight:w,tabSize:2,minHeight:"6rem"}}),jsx("div",{ref:d,"aria-hidden":true,className:"pointer-events-none absolute inset-0 z-1 overflow-hidden [&_pre]:m-0 [&_pre]:h-full [&_pre]:overflow-hidden [&_pre]:p-4 [&_code]:bg-transparent",dangerouslySetInnerHTML:c?{__html:c}:void 0})]})]}):jsx("div",{ref:u,className:a(t({size:l}),"border border-primary-200 dark:border-primary-700",C,v),...b,children:jsx("div",{ref:d,className:"[&_pre]:m-0 [&_pre]:p-4",dangerouslySetInnerHTML:c?{__html:c}:void 0,children:c?void 0:jsx("pre",{className:"m-0 p-4",style:{background:"var(--color-syntax-bg)"},children:jsx("code",{children:n})})})})}export{I as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {c}from'./chunk-XAOBJSFW.js';import {a}from'./chunk-AXBJKPZZ.js';import {jsxs,jsx}from'react/jsx-runtime';var m={danger:"bg-danger-500",success:"bg-success-500",warning:"bg-warning-500",info:"bg-primary-500",primary:"bg-secondary-500"};function N({children:o,show:t=true,content:a$1,dot:d,intent:e="danger",size:p="md",placement:l="top-right",pulse:c$1=false,className:u}){let i=d??a$1==null,g=i?null:typeof a$1=="number"?a$1>99?"99+":String(a$1):a$1;return jsxs("div",{className:"relative inline-flex",children:[o,t&&jsxs("span",{className:a(c({intent:e,size:p,dot:i,placement:l}),u),role:typeof a$1=="number"?"status":void 0,"aria-label":typeof a$1=="number"?String(a$1):void 0,children:[c$1&&jsx("span",{className:a("absolute inset-0 rounded-full animate-ping opacity-60",m[e??"danger"]),"aria-hidden":"true"}),g]})]})}export{N as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),jsxRuntime=require('react/jsx-runtime');function m({intent:t,size:e,className:o,...l}){return jsxRuntime.jsx("label",{className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.e({intent:t,size:e}),o),...l})}exports.a=m;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),jsxRuntime=require('react/jsx-runtime');var m={danger:"bg-danger-500",success:"bg-success-500",warning:"bg-warning-500",info:"bg-primary-500",primary:"bg-secondary-500"};function N({children:o,show:t=true,content:a,dot:d,intent:e="danger",size:p="md",placement:l="top-right",pulse:c=false,className:u}){let i=d??a==null,g=i?null:typeof a=="number"?a>99?"99+":String(a):a;return jsxRuntime.jsxs("div",{className:"relative inline-flex",children:[o,t&&jsxRuntime.jsxs("span",{className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.c({intent:e,size:p,dot:i,placement:l}),u),role:typeof a=="number"?"status":void 0,"aria-label":typeof a=="number"?String(a):void 0,children:[c&&jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a("absolute inset-0 rounded-full animate-ping opacity-60",m[e??"danger"]),"aria-hidden":"true"}),g]})]})}exports.a=N;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {u}from'./chunk-XAOBJSFW.js';import {a}from'./chunk-AXBJKPZZ.js';import {useState,useRef,useEffect}from'react';import {jsx,jsxs}from'react/jsx-runtime';function L({value:i=0,size:a$1,intent:l,edge:u$1,showLabel:m=false,indeterminate:e=false,animated:p=false,duration:f=500,className:d,...c}){let r=Math.max(0,Math.min(100,i)),[h,b]=useState(0),s=useRef(0);useEffect(()=>{if(!e)return s.current=requestAnimationFrame(()=>{b(r);}),()=>{s.current&&cancelAnimationFrame(s.current);}},[r,e]);let g=m&&!e&&a$1!=="xs"&&a$1!=="sm";return jsx("div",{role:"progressbar","aria-valuenow":e?void 0:r,"aria-valuemin":0,"aria-valuemax":100,className:a(u({size:a$1,intent:l,edge:u$1}),d),...c,children:e?jsx("div",{className:"progress-fill absolute top-0 h-full rounded-full animate-progress-indeterminate"}):jsx("div",{className:a("progress-fill h-full rounded-full transition-[width] ease-out",p&&"animate-progress-shine"),style:{width:`${h}%`,transitionDuration:`${f}ms`},children:g&&jsxs("span",{className:"flex h-full items-center justify-end pr-2 text-[10px] font-semibold text-white",children:[Math.round(r),"%"]})})})}export{L as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a}from'./chunk-AXBJKPZZ.js';import {useState,useCallback,useMemo}from'react';import {jsxs,jsx}from'react/jsx-runtime';var E={sm:"px-2 py-1.5 text-xs min-h-[60px]",md:"px-3 py-2 text-sm min-h-[80px]",lg:"px-4 py-2.5 text-base min-h-[100px]"},v={default:"border-secondary-300 focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-2 focus:ring-danger-500/20"};function T(s){if(!s)return 0;let a="\u2E80-\u2EFF\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\u3400-\u4DBF\u4E00-\u9FFF\uAC00-\uD7AF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF",u=new RegExp(`[${a}]`),e=0,r="",t=()=>{let n=r.trim();n&&(e+=n.split(/\s+/).length),r="";};for(let n of s)u.test(n)?(t(),e+=1):r+=n;return t(),e}function L({state:s="default",size:a$1="md",showWordCount:u=false,maxWords:e,className:r,value:t,defaultValue:n,onChange:i,disabled:l,...p}){let[F,g]=useState(()=>n??""),c=t!==void 0?String(t):F,y=useCallback(f=>{t===void 0&&g(f.target.value),i?.(f);},[t,i]),d=useMemo(()=>T(c),[c]),x=e!=null&&d>e;return jsxs("div",{className:a("inline-flex w-full flex-col",r),children:[jsx("textarea",{value:c,onChange:y,disabled:l,className:a("w-full resize-y rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",E[a$1],v[x?"error":s],l&&"pointer-events-none opacity-50"),...p}),(u||e!=null)&&jsx("span",{className:a("mt-1 self-end text-xs",x?"text-danger-500 dark:text-danger-400":"text-secondary-400 dark:text-secondary-500"),children:e!=null?`${d} / ${e} words`:`${d} words`})]})}export{L as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a}from'./chunk-AXBJKPZZ.js';import B,{useRef,useState,useCallback,useEffect}from'react';import {jsx,jsxs}from'react/jsx-runtime';function S(c,i){let r=i.getBoundingClientRect(),n=Math.max(r.width,r.height)*1.2,l=c.clientX-r.left,f=c.clientY-r.top,s=document.createElement("span");s.className="masonry-ripple",s.style.width=`${n}px`,s.style.height=`${n}px`,s.style.left=`${l}px`,s.style.top=`${f}px`,i.appendChild(s),s.addEventListener("animationend",()=>s.remove());}function G({columns:c,columnWidth:i=240,gap:r=16,items:n,onItemClick:l,className:f,style:s,children:T,...A}){let h=useRef(null),v=useRef([]),[I,O]=useState(()=>c??1),[b,P]=useState([]),[$,z]=useState(0),k=n?n.map((t,e)=>({key:t.key??e,node:t.content})):B.Children.toArray(T).map((t,e)=>({key:t.key??e,node:t})),d=k.length,H=useCallback(t=>c??Math.max(1,Math.floor((t+r)/(i+r))),[c,i,r]),a$1=useCallback(()=>{let t=h.current;if(!t)return;let e=t.clientWidth,o=H(e);O(o);let x=(e-(o-1)*r)/o,m=new Array(o).fill(0),N=[];for(let M=0;M<d;M++){let g=v.current[M],q=g?g.offsetHeight:0,u=0;for(let p=1;p<o;p++)m[p]<m[u]&&(u=p);N.push({top:m[u],left:u*(x+r),width:x}),m[u]+=q+r;}let K=Math.max(0,...m)-(d?r:0);P(N),z(K);},[d,H,r]);useEffect(()=>{let t=h.current;if(!t)return;let e=new ResizeObserver(()=>a$1());return e.observe(t),()=>e.disconnect()},[a$1]),useEffect(()=>{let t=requestAnimationFrame(a$1);return ()=>cancelAnimationFrame(t)},[a$1]),useEffect(()=>{let t=new ResizeObserver(()=>a$1());return v.current.forEach(e=>{e&&t.observe(e);}),()=>t.disconnect()},[d,I,a$1]);let W=useCallback((t,e)=>{let o=t.currentTarget;S(t,o),l?.(n?.[e],e);},[l,n]),F=t=>{if(!n)return false;let e=n[t];return !!(e.title||e.description||e.actions)};return jsx("div",{ref:h,className:a("relative",f),style:{...s,height:$},...A,children:k.map((t,e)=>jsxs("div",{ref:o=>{v.current[e]=o;},className:"masonry-item",role:"button",tabIndex:0,onClick:o=>W(o,e),onKeyDown:o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),l?.(n?.[e],e));},style:{position:"absolute",top:b[e]?.top??0,left:b[e]?.left??0,width:b[e]?.width??"100%"},children:[t.node,F(e)&&jsxs("div",{className:"masonry-item-overlay",children:[n[e].title&&jsx("p",{className:"masonry-item-overlay-title",children:n[e].title}),n[e].description&&jsx("p",{className:"masonry-item-overlay-desc",children:n[e].description}),n[e].actions&&jsx("div",{className:"masonry-item-overlay-actions",children:n[e].actions})]})]},t.key))})}export{G as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {a as a$1,b,c,d,e,f}from'./chunk-NCJ5A6VE.js';import {a as a$2}from'./chunk-N36YROV3.js';import {a}from'./chunk-AXBJKPZZ.js';import ze,{useState,useRef,useMemo,useCallback,useEffect}from'react';import {HardDrive,LayoutGrid,LayoutList,Minus,Minimize2,Maximize2,X,FolderUp,Search,CornerRightDown,Folder,ArrowUp,AlertTriangle,Trash2,FileArchive,Database,FileSpreadsheet,FileText,Terminal,FileCode,Video,Music,Image,File}from'lucide-react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';function _(o){let f=o.lastIndexOf(".");return f>0?o.slice(f).toLowerCase():""}function Se(o){return o==null?"\u2014":o<1024?`${o} B`:o<1024*1024?`${(o/1024).toFixed(1)} KB`:o<1024*1024*1024?`${(o/(1024*1024)).toFixed(1)} MB`:`${(o/(1024*1024*1024)).toFixed(2)} GB`}function ue(o){return o?(typeof o=="string"?new Date(o):o).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"\u2014"}var ut={".png":Image,".jpg":Image,".jpeg":Image,".gif":Image,".svg":Image,".webp":Image,".ico":Image,".bmp":Image,".mp3":Music,".wav":Music,".flac":Music,".ogg":Music,".aac":Music,".m4a":Music,".mp4":Video,".mkv":Video,".avi":Video,".mov":Video,".wmv":Video,".webm":Video,".ts":FileCode,".tsx":FileCode,".js":FileCode,".jsx":FileCode,".json":FileCode,".html":FileCode,".css":FileCode,".scss":FileCode,".py":FileCode,".rs":FileCode,".go":FileCode,".java":FileCode,".c":FileCode,".cpp":FileCode,".h":FileCode,".sh":Terminal,".bat":Terminal,".ps1":Terminal,".md":FileText,".txt":FileText,".pdf":FileText,".doc":FileText,".docx":FileText,".rtf":FileText,".csv":FileSpreadsheet,".xls":FileSpreadsheet,".xlsx":FileSpreadsheet,".db":Database,".sqlite":Database,".sql":Database,".zip":FileArchive,".tar":FileArchive,".gz":FileArchive,".rar":FileArchive,".7z":FileArchive};function fe(o){if(o.type==="directory")return Folder;let f=o.extension||_(o.name);return ut[f]||File}function Ie(o,f,I){return Math.max(f,Math.min(I,o))}function yt({files:o,title:f$1="File Explorer",accent:I="#8b5cf6",defaultView:Ae="list",initialPosition:Re,initialSize:Te,dockable:je=false,dockSide:Be="right",visible:G=true,onFileOpen:X$1,onSelectionChange:me,onNavigate:$,onDelete:U,onClose:Ve,onMinimize:pe,onPathSubmit:xe,defaultInputMode:Xe="search",actions:$e,resizable:He=true,minSize:L={width:400,height:300},className:Ke}){let[q,Oe]=useState(Ae),[d$1,A]=useState(new Set),[ge,H]=useState(null),[l,Q]=useState(false),[R,W]=useState(false),[w,Pe]=useState(""),[y,Ye]=useState(Xe),[_e,Ge]=useState(G),[Ue,K]=useState(false),J=Te??{width:720,height:520},[x,O]=useState(Re??{x:Math.max(0,Math.round((window.innerWidth-J.width)/2)),y:Math.max(0,Math.round((window.innerHeight-J.height)/2))}),[k,Z]=useState(J),[h,qe]=useState(null),ee=useRef(false),te=useRef({x:0,y:0}),ne=useRef(null),T=useRef(false),P=useRef({x:0,y:0,w:0,h:0,px:0,py:0}),re=G!==void 0?G:_e,oe=useMemo(()=>{let e=o.filter(i=>i.type==="directory"),n=o.filter(i=>i.type==="file");return e.sort((i,s)=>i.name.localeCompare(s.name)),n.sort((i,s)=>i.name.localeCompare(s.name)),[...e,...n]},[o]),u=useMemo(()=>{if(y!=="search"||!w.trim())return oe;let e=w.toLowerCase();return oe.filter(n=>n.name.toLowerCase().includes(e))},[oe,w,y]),a$3=ge!=null?u[ge]:null,he=useCallback((e,n)=>{A(i=>{let s=new Set(i);return n.ctrlKey||n.metaKey?s.has(e)?s.delete(e):s.add(e):(s.clear(),s.add(e)),s}),H(e);},[]);useEffect(()=>{if(!me)return;let e=Array.from(d$1).map(n=>u[n]).filter(Boolean);me(e);},[d$1]);let be=useCallback(e=>{let n=u[e];n&&(n.type==="directory"?$?.(n.path):X$1?.(n));},[u,X$1,$]),Qe=useCallback(e=>{l||e.target.closest("button")||(ee.current=true,te.current={x:e.clientX-x.x,y:e.clientY-x.y},e.preventDefault());},[x,l]);useEffect(()=>{let e=i=>{if(!ee.current)return;let s=window.innerWidth-100,m=window.innerHeight-40;O({x:Ie(i.clientX-te.current.x,0,s),y:Ie(i.clientY-te.current.y,0,m)});},n=()=>{ee.current=false,T.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",n),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",n);}},[]);let b$1=useCallback((e,n)=>{l||(n.preventDefault(),n.stopPropagation(),T.current=e,P.current={x:n.clientX,y:n.clientY,w:k.width,h:k.height,px:x.x,py:x.y},document.body.style.cursor=e==="e"||e==="w"?"ew-resize":e==="n"||e==="s"?"ns-resize":e==="nw"||e==="se"?"nwse-resize":"nesw-resize",document.body.style.userSelect="none");},[l,k,x]);useEffect(()=>{let e=i=>{if(!T.current)return;let s=T.current,m=i.clientX-P.current.x,N=i.clientY-P.current.y,{w:M,h:D,px:se,py:ae}=P.current;if(s.includes("e")&&(M=Math.max(L.width,M+m)),s.includes("w")){let j=Math.max(L.width,M-m);se=se+(M-j),M=j;}if(s.includes("s")&&(D=Math.max(L.height,D+N)),s.includes("n")){let j=Math.max(L.height,D-N);ae=ae+(D-j),D=j;}Z({width:M,height:D}),O({x:se,y:ae});},n=()=>{T.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",n),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",n);}},[L]);let ve=useCallback(()=>{l?(h&&(O(h.pos),Z(h.size)),Q(false)):(qe({pos:x,size:k}),Q(true));},[l,x,k,h]),We=useCallback(()=>{R?W(false):(l&&(Q(false),h&&(O(h.pos),Z(h.size))),W(true),pe?.());},[R,l,h,pe]);useEffect(()=>{if(!re||R)return;let e=n=>{if(!(!ne.current?.contains(document.activeElement)&&document.activeElement!==ne.current)){if(n.key==="Escape"&&(H(null),A(new Set)),n.ctrlKey&&n.key==="a"){n.preventDefault();let i=new Set(u.map((s,m)=>m));A(i);}n.key==="Delete"&&d$1.size>0&&U&&(n.preventDefault(),K(true));}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[re,R,u,d$1,U]);let we={"--fe-accent":I};return R?jsx("div",{className:a("fixed z-100 cursor-pointer transition-all duration-300",Be==="right"?"right-0 top-1/2 -translate-y-1/2":"left-0 top-1/2 -translate-y-1/2"),style:we,onClick:()=>W(false),title:`Restore ${f$1}`,children:jsxs("div",{className:"fe-dock flex items-center gap-1.5 rounded-l-lg px-2 py-3 backdrop-blur-md",style:{writingMode:"vertical-rl",textOrientation:"mixed"},children:[jsx(HardDrive,{className:"h-3.5 w-3.5 text-(--fe-accent)"}),jsx("span",{className:"text-[10px] font-bold uppercase tracking-widest text-(--fe-text)",children:f$1})]})}):re?jsxs("div",{ref:ne,className:a("fe-window fixed z-100 flex flex-col overflow-hidden","rounded-xl border border-(--fe-border)","animate-[fe-window-in_0.35s_cubic-bezier(0.16,1,0.3,1)_both]",l&&"rounded-none",Ke),style:{...we,left:l?0:x.x,top:l?0:x.y,width:l?"100vw":k.width,height:l?"100vh":k.height,transition:l?"left 0.3s, top 0.3s, width 0.3s, height 0.3s":void 0},tabIndex:0,children:[jsxs("div",{className:"fe-titlebar group/titlebar flex h-10 shrink-0 cursor-grab items-center justify-between px-3 select-none active:cursor-grabbing",onMouseDown:Qe,onDoubleClick:ve,children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"flex h-5 w-5 items-center justify-center rounded",style:{background:"color-mix(in srgb, var(--fe-accent) 25%, transparent)"},children:jsx(HardDrive,{className:"h-3 w-3 text-(--fe-accent)"})}),jsx("span",{className:"text-xs font-bold uppercase tracking-widest text-(--fe-text)",children:f$1}),jsx("div",{className:"ml-2 hidden h-px w-20 md:block",style:{background:"linear-gradient(90deg, var(--fe-accent), transparent)",opacity:.3}})]}),jsxs("div",{className:"flex items-center gap-0.5",children:[jsx("button",{className:"fe-btn mr-1",onClick:()=>Oe(e=>e==="list"?"grid":"list"),title:q==="list"?"Grid view":"List view",children:q==="list"?jsx(LayoutGrid,{className:"h-3.5 w-3.5"}):jsx(LayoutList,{className:"h-3.5 w-3.5"})}),je&&jsx("button",{className:"fe-btn",onClick:We,title:"Dock to edge",children:jsx(Minus,{className:"h-3.5 w-3.5"})}),jsx("button",{className:"fe-btn",onClick:ve,title:l?"Restore":"Maximize",children:l?jsx(Minimize2,{className:"h-3.5 w-3.5"}):jsx(Maximize2,{className:"h-3.5 w-3.5"})}),jsx("button",{className:"fe-btn hover:bg-red-500/40! hover:text-red-300!",onClick:()=>{Ve?.(),Ge(false);},title:"Close",children:jsx(X,{className:"h-3.5 w-3.5"})})]})]}),jsxs("div",{className:"fe-toolbar flex h-9 shrink-0 items-center gap-2 px-3",children:[jsx("button",{className:"fe-btn p-1",onClick:()=>$?.(".."),title:"Go up",children:jsx(FolderUp,{className:"h-3.5 w-3.5"})}),jsx("button",{className:"fe-btn shrink-0 px-1.5 py-0.5 text-[9px] font-bold uppercase tracking-wider",style:y==="navigate"?{color:"var(--fe-accent)",background:"color-mix(in srgb, var(--fe-accent) 15%, transparent)"}:void 0,onClick:()=>Ye(e=>e==="search"?"navigate":"search"),title:y==="search"?"Switch to path navigation":"Switch to file search",children:y==="search"?jsx(Search,{className:"h-3 w-3"}):jsx(CornerRightDown,{className:"h-3 w-3"})}),jsx("div",{className:"relative flex-1",children:jsx("input",{type:"text",value:w,onChange:e=>Pe(e.target.value),onKeyDown:e=>{e.key==="Enter"&&w.trim()&&y==="navigate"&&(xe?xe(w.trim()):$?.(w.trim()));},placeholder:y==="search"?"Search files\u2026":"Enter path and press Enter\u2026",className:"h-6 w-full rounded border border-(--fe-input-border) bg-(--fe-input-bg) px-2 text-[11px] text-(--fe-text-strong) placeholder:text-(--fe-text-muted) outline-none transition-colors focus:border-(--fe-accent)/40 focus:bg-(--fe-input-bg)"})}),jsxs("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:[u.length," item",u.length!==1?"s":"",d$1.size>0&&` \xB7 ${d$1.size} selected`]})]}),jsxs("div",{className:"flex flex-1 min-h-0",children:[jsx("div",{className:"flex-1 overflow-y-auto overflow-x-hidden p-1.5",onClick:e=>{e.target===e.currentTarget&&(A(new Set),H(null));},children:u.length===0?jsxs("div",{className:"flex h-full flex-col items-center justify-center text-(--fe-text-muted)",children:[jsx(Folder,{className:"mb-2 h-10 w-10"}),jsx("span",{className:"text-xs",children:"No files found"})]}):q==="list"?jsx("div",{className:"space-y-px",children:u.map((e,n)=>{let i=fe(e),s=d$1.has(n),m=e.extension||_(e.name);return jsxs("div",{className:a("fe-item group/item flex items-center gap-2.5 rounded-lg px-2.5 py-1.5 text-(--fe-text) transition-all duration-150 cursor-pointer",s?"bg-(--fe-accent)/15 text-(--fe-text-strong)":"hover:bg-(--fe-surface-hover) hover:text-(--fe-text-strong)"),style:s?{boxShadow:"inset 2px 0 0 var(--fe-accent)"}:void 0,onClick:N=>he(n,N),onDoubleClick:()=>be(n),children:[jsx(i,{className:a("h-4 w-4 shrink-0",e.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsx("span",{className:"flex-1 truncate text-xs font-medium",children:e.name}),m&&e.type==="file"&&jsx("span",{className:"shrink-0 rounded bg-(--fe-badge-bg) px-1.5 py-0.5 font-mono text-[9px] uppercase text-(--fe-text-muted)",children:m}),e.size!=null&&jsx("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:Se(e.size)}),e.modifiedAt&&jsx("span",{className:"hidden shrink-0 font-mono text-[10px] text-(--fe-text-muted) lg:inline",children:ue(e.modifiedAt)})]},e.path+n)})}):jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(90px,1fr))] gap-1.5 p-1",children:u.map((e,n)=>{let i=fe(e),s=d$1.has(n),m=e.extension||_(e.name);return jsxs("div",{className:a("fe-item group/item flex cursor-pointer flex-col items-center gap-1 rounded-lg px-2 py-2.5 text-center transition-all duration-150",s?"bg-(--fe-accent)/15 text-(--fe-text-strong) ring-1 ring-(--fe-accent)/30":"text-(--fe-text) hover:bg-(--fe-surface-hover) hover:text-(--fe-text-strong)"),onClick:N=>he(n,N),onDoubleClick:()=>be(n),children:[jsx(i,{className:a("h-7 w-7",e.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsx("span",{className:"w-full truncate text-[10px] font-medium leading-tight",children:e.name}),m&&e.type==="file"&&jsx("span",{className:"font-mono text-[8px] uppercase text-(--fe-text-muted)",children:m})]},e.path+n)})})}),jsx("div",{className:a("shrink-0 overflow-hidden transition-[width] duration-300 ease-out",a$3?"w-56":"w-0"),children:a$3&&jsxs("div",{className:"fe-panel flex h-full w-56 flex-col border-l border-(--fe-border) p-4",children:[jsxs("div",{className:"mb-3 flex flex-col items-center",children:[ze.createElement(fe(a$3),{className:a("h-10 w-10 mb-2",a$3.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsx("span",{className:"w-full text-center text-xs font-semibold text-(--fe-text-strong) break-all leading-tight",children:a$3.name})]}),jsxs("div",{className:"space-y-2.5 text-[10px]",children:[jsx(S,{label:"Type",value:a$3.type==="directory"?"Directory":a$3.mimeType||a$3.extension||_(a$3.name)||"File"}),a$3.size!=null&&jsx(S,{label:"Size",value:Se(a$3.size)}),jsx(S,{label:"Path",value:a$3.path,mono:true}),a$3.extension&&jsx(S,{label:"Extension",value:a$3.extension}),a$3.modifiedAt&&jsx(S,{label:"Modified",value:ue(a$3.modifiedAt)}),a$3.createdAt&&jsx(S,{label:"Created",value:ue(a$3.createdAt)})]}),jsxs("div",{className:"mt-auto flex flex-col gap-1.5",children:[a$3.type==="file"&&X$1&&jsxs("button",{className:"flex items-center justify-center gap-1.5 rounded-lg py-1.5 text-[10px] font-semibold uppercase tracking-wider text-(--fe-text-strong) transition-colors",style:{background:"color-mix(in srgb, var(--fe-accent) 20%, transparent)",border:"1px solid color-mix(in srgb, var(--fe-accent) 30%, transparent)"},onClick:()=>X$1(a$3),children:[jsx(ArrowUp,{className:"h-3 w-3 rotate-45"}),"Open"]}),$e?.map(e=>jsxs("button",{className:"fe-action flex items-center justify-center gap-1.5 rounded-lg py-1.5 text-[10px] font-semibold uppercase tracking-wider text-(--fe-text) transition-colors hover:text-(--fe-text-strong)",onClick:()=>e.onClick(a$3),children:[e.icon&&ze.createElement(e.icon,{className:"h-3 w-3"}),e.label]},e.key))]})]})})]}),jsxs("div",{className:"fe-statusbar flex h-6 shrink-0 items-center justify-between px-3 text-[9px] font-mono text-(--fe-text-muted)",children:[jsxs("span",{children:[u.length," items"]}),jsxs("div",{className:"flex items-center gap-2",children:[d$1.size>0&&jsxs("span",{className:"text-(--fe-accent)/70",children:[d$1.size," selected"]}),jsx("span",{className:"opacity-50",children:"Ctrl+Click multi-select \xB7 Esc clear"})]})]}),He&&!l&&jsxs(Fragment,{children:[jsx("div",{className:"absolute top-0 left-2 right-2 h-1.5 cursor-ns-resize",onMouseDown:e=>b$1("n",e)}),jsx("div",{className:"absolute bottom-0 left-2 right-2 h-1.5 cursor-ns-resize",onMouseDown:e=>b$1("s",e)}),jsx("div",{className:"absolute top-2 left-0 bottom-2 w-1.5 cursor-ew-resize",onMouseDown:e=>b$1("w",e)}),jsx("div",{className:"absolute top-2 right-0 bottom-2 w-1.5 cursor-ew-resize",onMouseDown:e=>b$1("e",e)}),jsx("div",{className:"absolute top-0 left-0 h-3 w-3 cursor-nwse-resize",onMouseDown:e=>b$1("nw",e)}),jsx("div",{className:"absolute top-0 right-0 h-3 w-3 cursor-nesw-resize",onMouseDown:e=>b$1("ne",e)}),jsx("div",{className:"absolute bottom-0 left-0 h-3 w-3 cursor-nesw-resize",onMouseDown:e=>b$1("sw",e)}),jsx("div",{className:"absolute bottom-0 right-0 h-3 w-3 cursor-nwse-resize",onMouseDown:e=>b$1("se",e)})]}),jsx("style",{children:`
|
|
1
|
+
import {a as a$1,b,c,d,e,f}from'./chunk-3I7Y6FUJ.js';import {a as a$2}from'./chunk-5FUEJFGY.js';import {a}from'./chunk-AXBJKPZZ.js';import ze,{useState,useRef,useMemo,useCallback,useEffect}from'react';import {HardDrive,LayoutGrid,LayoutList,Minus,Minimize2,Maximize2,X,FolderUp,Search,CornerRightDown,Folder,ArrowUp,AlertTriangle,Trash2,FileArchive,Database,FileSpreadsheet,FileText,Terminal,FileCode,Video,Music,Image,File}from'lucide-react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';function _(o){let f=o.lastIndexOf(".");return f>0?o.slice(f).toLowerCase():""}function Se(o){return o==null?"\u2014":o<1024?`${o} B`:o<1024*1024?`${(o/1024).toFixed(1)} KB`:o<1024*1024*1024?`${(o/(1024*1024)).toFixed(1)} MB`:`${(o/(1024*1024*1024)).toFixed(2)} GB`}function ue(o){return o?(typeof o=="string"?new Date(o):o).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"\u2014"}var ut={".png":Image,".jpg":Image,".jpeg":Image,".gif":Image,".svg":Image,".webp":Image,".ico":Image,".bmp":Image,".mp3":Music,".wav":Music,".flac":Music,".ogg":Music,".aac":Music,".m4a":Music,".mp4":Video,".mkv":Video,".avi":Video,".mov":Video,".wmv":Video,".webm":Video,".ts":FileCode,".tsx":FileCode,".js":FileCode,".jsx":FileCode,".json":FileCode,".html":FileCode,".css":FileCode,".scss":FileCode,".py":FileCode,".rs":FileCode,".go":FileCode,".java":FileCode,".c":FileCode,".cpp":FileCode,".h":FileCode,".sh":Terminal,".bat":Terminal,".ps1":Terminal,".md":FileText,".txt":FileText,".pdf":FileText,".doc":FileText,".docx":FileText,".rtf":FileText,".csv":FileSpreadsheet,".xls":FileSpreadsheet,".xlsx":FileSpreadsheet,".db":Database,".sqlite":Database,".sql":Database,".zip":FileArchive,".tar":FileArchive,".gz":FileArchive,".rar":FileArchive,".7z":FileArchive};function fe(o){if(o.type==="directory")return Folder;let f=o.extension||_(o.name);return ut[f]||File}function Ie(o,f,I){return Math.max(f,Math.min(I,o))}function yt({files:o,title:f$1="File Explorer",accent:I="#8b5cf6",defaultView:Ae="list",initialPosition:Re,initialSize:Te,dockable:je=false,dockSide:Be="right",visible:G=true,onFileOpen:X$1,onSelectionChange:me,onNavigate:$,onDelete:U,onClose:Ve,onMinimize:pe,onPathSubmit:xe,defaultInputMode:Xe="search",actions:$e,resizable:He=true,minSize:L={width:400,height:300},className:Ke}){let[q,Oe]=useState(Ae),[d$1,A]=useState(new Set),[ge,H]=useState(null),[l,Q]=useState(false),[R,W]=useState(false),[w,Pe]=useState(""),[y,Ye]=useState(Xe),[_e,Ge]=useState(G),[Ue,K]=useState(false),J=Te??{width:720,height:520},[x,O]=useState(Re??{x:Math.max(0,Math.round((window.innerWidth-J.width)/2)),y:Math.max(0,Math.round((window.innerHeight-J.height)/2))}),[k,Z]=useState(J),[h,qe]=useState(null),ee=useRef(false),te=useRef({x:0,y:0}),ne=useRef(null),T=useRef(false),P=useRef({x:0,y:0,w:0,h:0,px:0,py:0}),re=G!==void 0?G:_e,oe=useMemo(()=>{let e=o.filter(i=>i.type==="directory"),n=o.filter(i=>i.type==="file");return e.sort((i,s)=>i.name.localeCompare(s.name)),n.sort((i,s)=>i.name.localeCompare(s.name)),[...e,...n]},[o]),u=useMemo(()=>{if(y!=="search"||!w.trim())return oe;let e=w.toLowerCase();return oe.filter(n=>n.name.toLowerCase().includes(e))},[oe,w,y]),a$3=ge!=null?u[ge]:null,he=useCallback((e,n)=>{A(i=>{let s=new Set(i);return n.ctrlKey||n.metaKey?s.has(e)?s.delete(e):s.add(e):(s.clear(),s.add(e)),s}),H(e);},[]);useEffect(()=>{if(!me)return;let e=Array.from(d$1).map(n=>u[n]).filter(Boolean);me(e);},[d$1]);let be=useCallback(e=>{let n=u[e];n&&(n.type==="directory"?$?.(n.path):X$1?.(n));},[u,X$1,$]),Qe=useCallback(e=>{l||e.target.closest("button")||(ee.current=true,te.current={x:e.clientX-x.x,y:e.clientY-x.y},e.preventDefault());},[x,l]);useEffect(()=>{let e=i=>{if(!ee.current)return;let s=window.innerWidth-100,m=window.innerHeight-40;O({x:Ie(i.clientX-te.current.x,0,s),y:Ie(i.clientY-te.current.y,0,m)});},n=()=>{ee.current=false,T.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",n),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",n);}},[]);let b$1=useCallback((e,n)=>{l||(n.preventDefault(),n.stopPropagation(),T.current=e,P.current={x:n.clientX,y:n.clientY,w:k.width,h:k.height,px:x.x,py:x.y},document.body.style.cursor=e==="e"||e==="w"?"ew-resize":e==="n"||e==="s"?"ns-resize":e==="nw"||e==="se"?"nwse-resize":"nesw-resize",document.body.style.userSelect="none");},[l,k,x]);useEffect(()=>{let e=i=>{if(!T.current)return;let s=T.current,m=i.clientX-P.current.x,N=i.clientY-P.current.y,{w:M,h:D,px:se,py:ae}=P.current;if(s.includes("e")&&(M=Math.max(L.width,M+m)),s.includes("w")){let j=Math.max(L.width,M-m);se=se+(M-j),M=j;}if(s.includes("s")&&(D=Math.max(L.height,D+N)),s.includes("n")){let j=Math.max(L.height,D-N);ae=ae+(D-j),D=j;}Z({width:M,height:D}),O({x:se,y:ae});},n=()=>{T.current=false,document.body.style.cursor="",document.body.style.userSelect="";};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",n),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",n);}},[L]);let ve=useCallback(()=>{l?(h&&(O(h.pos),Z(h.size)),Q(false)):(qe({pos:x,size:k}),Q(true));},[l,x,k,h]),We=useCallback(()=>{R?W(false):(l&&(Q(false),h&&(O(h.pos),Z(h.size))),W(true),pe?.());},[R,l,h,pe]);useEffect(()=>{if(!re||R)return;let e=n=>{if(!(!ne.current?.contains(document.activeElement)&&document.activeElement!==ne.current)){if(n.key==="Escape"&&(H(null),A(new Set)),n.ctrlKey&&n.key==="a"){n.preventDefault();let i=new Set(u.map((s,m)=>m));A(i);}n.key==="Delete"&&d$1.size>0&&U&&(n.preventDefault(),K(true));}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[re,R,u,d$1,U]);let we={"--fe-accent":I};return R?jsx("div",{className:a("fixed z-100 cursor-pointer transition-all duration-300",Be==="right"?"right-0 top-1/2 -translate-y-1/2":"left-0 top-1/2 -translate-y-1/2"),style:we,onClick:()=>W(false),title:`Restore ${f$1}`,children:jsxs("div",{className:"fe-dock flex items-center gap-1.5 rounded-l-lg px-2 py-3 backdrop-blur-md",style:{writingMode:"vertical-rl",textOrientation:"mixed"},children:[jsx(HardDrive,{className:"h-3.5 w-3.5 text-(--fe-accent)"}),jsx("span",{className:"text-[10px] font-bold uppercase tracking-widest text-(--fe-text)",children:f$1})]})}):re?jsxs("div",{ref:ne,className:a("fe-window fixed z-100 flex flex-col overflow-hidden","rounded-xl border border-(--fe-border)","animate-[fe-window-in_0.35s_cubic-bezier(0.16,1,0.3,1)_both]",l&&"rounded-none",Ke),style:{...we,left:l?0:x.x,top:l?0:x.y,width:l?"100vw":k.width,height:l?"100vh":k.height,transition:l?"left 0.3s, top 0.3s, width 0.3s, height 0.3s":void 0},tabIndex:0,children:[jsxs("div",{className:"fe-titlebar group/titlebar flex h-10 shrink-0 cursor-grab items-center justify-between px-3 select-none active:cursor-grabbing",onMouseDown:Qe,onDoubleClick:ve,children:[jsxs("div",{className:"flex items-center gap-2",children:[jsx("div",{className:"flex h-5 w-5 items-center justify-center rounded",style:{background:"color-mix(in srgb, var(--fe-accent) 25%, transparent)"},children:jsx(HardDrive,{className:"h-3 w-3 text-(--fe-accent)"})}),jsx("span",{className:"text-xs font-bold uppercase tracking-widest text-(--fe-text)",children:f$1}),jsx("div",{className:"ml-2 hidden h-px w-20 md:block",style:{background:"linear-gradient(90deg, var(--fe-accent), transparent)",opacity:.3}})]}),jsxs("div",{className:"flex items-center gap-0.5",children:[jsx("button",{className:"fe-btn mr-1",onClick:()=>Oe(e=>e==="list"?"grid":"list"),title:q==="list"?"Grid view":"List view",children:q==="list"?jsx(LayoutGrid,{className:"h-3.5 w-3.5"}):jsx(LayoutList,{className:"h-3.5 w-3.5"})}),je&&jsx("button",{className:"fe-btn",onClick:We,title:"Dock to edge",children:jsx(Minus,{className:"h-3.5 w-3.5"})}),jsx("button",{className:"fe-btn",onClick:ve,title:l?"Restore":"Maximize",children:l?jsx(Minimize2,{className:"h-3.5 w-3.5"}):jsx(Maximize2,{className:"h-3.5 w-3.5"})}),jsx("button",{className:"fe-btn hover:bg-red-500/40! hover:text-red-300!",onClick:()=>{Ve?.(),Ge(false);},title:"Close",children:jsx(X,{className:"h-3.5 w-3.5"})})]})]}),jsxs("div",{className:"fe-toolbar flex h-9 shrink-0 items-center gap-2 px-3",children:[jsx("button",{className:"fe-btn p-1",onClick:()=>$?.(".."),title:"Go up",children:jsx(FolderUp,{className:"h-3.5 w-3.5"})}),jsx("button",{className:"fe-btn shrink-0 px-1.5 py-0.5 text-[9px] font-bold uppercase tracking-wider",style:y==="navigate"?{color:"var(--fe-accent)",background:"color-mix(in srgb, var(--fe-accent) 15%, transparent)"}:void 0,onClick:()=>Ye(e=>e==="search"?"navigate":"search"),title:y==="search"?"Switch to path navigation":"Switch to file search",children:y==="search"?jsx(Search,{className:"h-3 w-3"}):jsx(CornerRightDown,{className:"h-3 w-3"})}),jsx("div",{className:"relative flex-1",children:jsx("input",{type:"text",value:w,onChange:e=>Pe(e.target.value),onKeyDown:e=>{e.key==="Enter"&&w.trim()&&y==="navigate"&&(xe?xe(w.trim()):$?.(w.trim()));},placeholder:y==="search"?"Search files\u2026":"Enter path and press Enter\u2026",className:"h-6 w-full rounded border border-(--fe-input-border) bg-(--fe-input-bg) px-2 text-[11px] text-(--fe-text-strong) placeholder:text-(--fe-text-muted) outline-none transition-colors focus:border-(--fe-accent)/40 focus:bg-(--fe-input-bg)"})}),jsxs("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:[u.length," item",u.length!==1?"s":"",d$1.size>0&&` \xB7 ${d$1.size} selected`]})]}),jsxs("div",{className:"flex flex-1 min-h-0",children:[jsx("div",{className:"flex-1 overflow-y-auto overflow-x-hidden p-1.5",onClick:e=>{e.target===e.currentTarget&&(A(new Set),H(null));},children:u.length===0?jsxs("div",{className:"flex h-full flex-col items-center justify-center text-(--fe-text-muted)",children:[jsx(Folder,{className:"mb-2 h-10 w-10"}),jsx("span",{className:"text-xs",children:"No files found"})]}):q==="list"?jsx("div",{className:"space-y-px",children:u.map((e,n)=>{let i=fe(e),s=d$1.has(n),m=e.extension||_(e.name);return jsxs("div",{className:a("fe-item group/item flex items-center gap-2.5 rounded-lg px-2.5 py-1.5 text-(--fe-text) transition-all duration-150 cursor-pointer",s?"bg-(--fe-accent)/15 text-(--fe-text-strong)":"hover:bg-(--fe-surface-hover) hover:text-(--fe-text-strong)"),style:s?{boxShadow:"inset 2px 0 0 var(--fe-accent)"}:void 0,onClick:N=>he(n,N),onDoubleClick:()=>be(n),children:[jsx(i,{className:a("h-4 w-4 shrink-0",e.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsx("span",{className:"flex-1 truncate text-xs font-medium",children:e.name}),m&&e.type==="file"&&jsx("span",{className:"shrink-0 rounded bg-(--fe-badge-bg) px-1.5 py-0.5 font-mono text-[9px] uppercase text-(--fe-text-muted)",children:m}),e.size!=null&&jsx("span",{className:"shrink-0 font-mono text-[10px] text-(--fe-text-muted)",children:Se(e.size)}),e.modifiedAt&&jsx("span",{className:"hidden shrink-0 font-mono text-[10px] text-(--fe-text-muted) lg:inline",children:ue(e.modifiedAt)})]},e.path+n)})}):jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(90px,1fr))] gap-1.5 p-1",children:u.map((e,n)=>{let i=fe(e),s=d$1.has(n),m=e.extension||_(e.name);return jsxs("div",{className:a("fe-item group/item flex cursor-pointer flex-col items-center gap-1 rounded-lg px-2 py-2.5 text-center transition-all duration-150",s?"bg-(--fe-accent)/15 text-(--fe-text-strong) ring-1 ring-(--fe-accent)/30":"text-(--fe-text) hover:bg-(--fe-surface-hover) hover:text-(--fe-text-strong)"),onClick:N=>he(n,N),onDoubleClick:()=>be(n),children:[jsx(i,{className:a("h-7 w-7",e.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsx("span",{className:"w-full truncate text-[10px] font-medium leading-tight",children:e.name}),m&&e.type==="file"&&jsx("span",{className:"font-mono text-[8px] uppercase text-(--fe-text-muted)",children:m})]},e.path+n)})})}),jsx("div",{className:a("shrink-0 overflow-hidden transition-[width] duration-300 ease-out",a$3?"w-56":"w-0"),children:a$3&&jsxs("div",{className:"fe-panel flex h-full w-56 flex-col border-l border-(--fe-border) p-4",children:[jsxs("div",{className:"mb-3 flex flex-col items-center",children:[ze.createElement(fe(a$3),{className:a("h-10 w-10 mb-2",a$3.type==="directory"?"text-(--fe-accent)":"text-(--fe-text-muted)")}),jsx("span",{className:"w-full text-center text-xs font-semibold text-(--fe-text-strong) break-all leading-tight",children:a$3.name})]}),jsxs("div",{className:"space-y-2.5 text-[10px]",children:[jsx(S,{label:"Type",value:a$3.type==="directory"?"Directory":a$3.mimeType||a$3.extension||_(a$3.name)||"File"}),a$3.size!=null&&jsx(S,{label:"Size",value:Se(a$3.size)}),jsx(S,{label:"Path",value:a$3.path,mono:true}),a$3.extension&&jsx(S,{label:"Extension",value:a$3.extension}),a$3.modifiedAt&&jsx(S,{label:"Modified",value:ue(a$3.modifiedAt)}),a$3.createdAt&&jsx(S,{label:"Created",value:ue(a$3.createdAt)})]}),jsxs("div",{className:"mt-auto flex flex-col gap-1.5",children:[a$3.type==="file"&&X$1&&jsxs("button",{className:"flex items-center justify-center gap-1.5 rounded-lg py-1.5 text-[10px] font-semibold uppercase tracking-wider text-(--fe-text-strong) transition-colors",style:{background:"color-mix(in srgb, var(--fe-accent) 20%, transparent)",border:"1px solid color-mix(in srgb, var(--fe-accent) 30%, transparent)"},onClick:()=>X$1(a$3),children:[jsx(ArrowUp,{className:"h-3 w-3 rotate-45"}),"Open"]}),$e?.map(e=>jsxs("button",{className:"fe-action flex items-center justify-center gap-1.5 rounded-lg py-1.5 text-[10px] font-semibold uppercase tracking-wider text-(--fe-text) transition-colors hover:text-(--fe-text-strong)",onClick:()=>e.onClick(a$3),children:[e.icon&&ze.createElement(e.icon,{className:"h-3 w-3"}),e.label]},e.key))]})]})})]}),jsxs("div",{className:"fe-statusbar flex h-6 shrink-0 items-center justify-between px-3 text-[9px] font-mono text-(--fe-text-muted)",children:[jsxs("span",{children:[u.length," items"]}),jsxs("div",{className:"flex items-center gap-2",children:[d$1.size>0&&jsxs("span",{className:"text-(--fe-accent)/70",children:[d$1.size," selected"]}),jsx("span",{className:"opacity-50",children:"Ctrl+Click multi-select \xB7 Esc clear"})]})]}),He&&!l&&jsxs(Fragment,{children:[jsx("div",{className:"absolute top-0 left-2 right-2 h-1.5 cursor-ns-resize",onMouseDown:e=>b$1("n",e)}),jsx("div",{className:"absolute bottom-0 left-2 right-2 h-1.5 cursor-ns-resize",onMouseDown:e=>b$1("s",e)}),jsx("div",{className:"absolute top-2 left-0 bottom-2 w-1.5 cursor-ew-resize",onMouseDown:e=>b$1("w",e)}),jsx("div",{className:"absolute top-2 right-0 bottom-2 w-1.5 cursor-ew-resize",onMouseDown:e=>b$1("e",e)}),jsx("div",{className:"absolute top-0 left-0 h-3 w-3 cursor-nwse-resize",onMouseDown:e=>b$1("nw",e)}),jsx("div",{className:"absolute top-0 right-0 h-3 w-3 cursor-nesw-resize",onMouseDown:e=>b$1("ne",e)}),jsx("div",{className:"absolute bottom-0 left-0 h-3 w-3 cursor-nesw-resize",onMouseDown:e=>b$1("sw",e)}),jsx("div",{className:"absolute bottom-0 right-0 h-3 w-3 cursor-nwse-resize",onMouseDown:e=>b$1("se",e)})]}),jsx("style",{children:`
|
|
2
2
|
.fe-window {
|
|
3
3
|
background: var(--fe-bg);
|
|
4
4
|
box-shadow: var(--fe-shadow);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {h}from'./chunk-XAOBJSFW.js';import {a}from'./chunk-AXBJKPZZ.js';import {useState,useCallback,useMemo,useRef,useEffect}from'react';import {Inbox,Plus,Trash2,Pencil,ArrowUpDown,ArrowUp,ArrowDown,Check,X as X$1}from'lucide-react';import {jsx,jsxs}from'react/jsx-runtime';function Q({intent:a$1,density:r,className:d,...f}){return jsx("div",{className:"w-full overflow-auto",children:jsx("table",{className:a(h({intent:a$1,density:r}),d),...f})})}function W({className:a$1,...r}){return jsx("thead",{className:a("bg-primary-50 text-primary-600 dark:bg-primary-800/50 dark:text-primary-400",a$1),...r})}function Y({className:a$1,...r}){return jsx("tbody",{className:a("[&_tr:last-child]:border-0",a$1),...r})}function X({className:a$1,...r}){return jsx("tr",{className:a("border-primary-200 hover:bg-primary-50/50 dark:border-primary-700 dark:hover:bg-primary-800/30 border-b transition-colors",a$1),...r})}function P({className:a$1,...r}){return jsx("th",{className:a("px-4 py-3 text-left text-xs font-semibold tracking-wider uppercase",a$1),...r})}function E({className:a$1,...r}){return jsx("td",{className:a("text-primary-700 dark:text-primary-300 px-4 py-3",a$1),...r})}function Z({icon:a$1,text:r="No data",className:d}){return jsxs("div",{className:a("flex flex-col items-center justify-center gap-3 py-16 text-primary-400 dark:text-primary-500",d),children:[a$1??jsx(Inbox,{className:"h-12 w-12 stroke-[1.2]"}),jsx("span",{className:"text-sm",children:r})]})}var O={sm:"hidden sm:table-cell",md:"hidden md:table-cell",lg:"hidden lg:table-cell"};function we({columns:a$1,data:r,sort:d,onSortChange:f,defaultSort:h=null,rowKey:T,rowActions:l,intent:x,density:_,className:C,empty:L}){let[$,A]=useState(h),y=d??$,v=useCallback(n=>{let g=y?.column===n?y.direction==="asc"?{column:n,direction:"desc"}:null:{column:n,direction:"asc"};f?f(g):A(g);},[y,f]),B=useMemo(()=>{if(!y)return r;let n=a$1.find(V=>V.key===y.column);if(!n)return r;let g=n.compareFn??((V,j)=>{let p=n.cell(V),k=n.cell(j);return p==null&&k==null?0:p==null?-1:k==null?1:typeof p=="number"&&typeof k=="number"?p-k:String(p).localeCompare(String(k))}),u=[...r].sort(g);return y.direction==="desc"?u.reverse():u},[r,y,a$1]);return jsxs(Q,{intent:x,density:_,className:C,children:[jsx(W,{children:jsxs(X,{children:[a$1.map(n=>{let g=n.sortable!==false,u=y?.column===n.key;return jsx(P,{className:a(g&&"cursor-pointer select-none",n.headerClassName,n.hideBelow&&O[n.hideBelow]),onClick:g?()=>v(n.key):void 0,"aria-sort":u?y.direction==="asc"?"ascending":"descending":void 0,children:jsxs("span",{className:"inline-flex items-center gap-1",children:[n.header,g&&jsx(ee,{active:u,direction:u?y.direction:null})]})},n.key)}),l&&jsx(P,{className:"w-20 text-right",children:"Actions"})]})}),jsx(Y,{children:B.length===0?jsx("tr",{children:jsx("td",{colSpan:a$1.length+(l?1:0),children:jsx(Z,{...L})})}):B.map((n,g)=>jsxs(X,{children:[a$1.map(u=>jsx(E,{className:a(u.cellClassName,u.hideBelow&&O[u.hideBelow]),children:u.cell(n)},u.key)),l&&jsx(E,{className:"text-right",children:jsx("span",{className:"inline-flex items-center gap-1",children:l(n)})})]},T?T(n,g):g))})]})}function Te({value:a,onCommit:r,onCancel:d}){let[f,h]=useState(a),T=useRef(null);useEffect(()=>{T.current?.focus(),T.current?.select();},[]);let l=()=>r(f);return jsxs("span",{className:"flex items-center gap-1",children:[jsx("input",{ref:T,type:"text",value:f,onChange:x=>h(x.target.value),onKeyDown:x=>{x.key==="Enter"&&l(),x.key==="Escape"&&d();},"aria-label":"Edit cell",className:"min-w-0 flex-1 rounded border border-primary-400 bg-white px-1.5 py-0.5 text-sm outline-none focus:ring-1 focus:ring-primary-400 dark:border-primary-600 dark:bg-secondary-800"}),jsx("button",{type:"button",onClick:l,className:"text-success-600 hover:text-success-700 dark:text-success-400","aria-label":"Confirm",children:jsx(Check,{className:"h-3.5 w-3.5"})}),jsx("button",{type:"button",onClick:d,className:"text-danger-500 hover:text-danger-600 dark:text-danger-400","aria-label":"Cancel",children:jsx(X$1,{className:"h-3.5 w-3.5"})})]})}function Ce({columns:a$1,data:r,rowKey:d,sort:f,onSortChange:h,defaultSort:T=null,selectionMode:l="none",selected:x,onSelectionChange:_,editable:C=false,onCellEdit:L,toolbar:$=false,onAdd:A,onDelete:y,rowActions:v,intent:B,density:n,className:g,empty:u}){let[V,j]=useState(T),p=f??V,k=useCallback(t=>{let s=p?.column===t?p.direction==="asc"?{column:t,direction:"desc"}:null:{column:t,direction:"asc"};h?h(s):j(s);},[p,h]),M=useMemo(()=>{if(!p)return r;let t=a$1.find(N=>N.key===p.column);if(!t)return r;let s=t.compareFn??((N,i)=>{let S=t.cell(N),K=t.cell(i);return S==null&&K==null?0:S==null?-1:K==null?1:typeof S=="number"&&typeof K=="number"?S-K:String(S).localeCompare(String(K))}),o=[...r].sort(s);return p.direction==="desc"?o.reverse():o},[r,p,a$1]),[te,ae]=useState([]),c=x??te,R=_??ae,I=useMemo(()=>M.map((t,s)=>d(t,s)),[M,d]),F=l==="multiple"&&I.length>0&&I.every(t=>c.includes(t)),re=l==="multiple"&&c.length>0&&!F,q=useCallback(t=>{l==="single"?R(c.includes(t)?[]:[t]):l==="multiple"&&R(c.includes(t)?c.filter(s=>s!==t):[...c,t]);},[l,c,R]),ne=useCallback(()=>{R(F?[]:I);},[F,I,R]),[G,U]=useState(null),se=useCallback((t,s,o)=>{C&&o!==false&&U({rowKey:t,colKey:s});},[C]),le=useCallback((t,s,o)=>{L?.(t,s,o),U(null);},[L]);return jsxs("div",{className:"space-y-2",children:[$&&jsxs("div",{className:"flex items-center gap-2",children:[A&&jsxs("button",{type:"button",onClick:A,className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-secondary-700 transition-colors hover:bg-secondary-50 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300 dark:hover:bg-secondary-700",children:[jsx(Plus,{className:"h-3.5 w-3.5"})," Add"]}),y&&jsxs("button",{type:"button",onClick:()=>y(c),disabled:c.length===0,className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-danger-600 transition-colors hover:bg-danger-50 disabled:opacity-40 disabled:pointer-events-none dark:border-secondary-600 dark:bg-secondary-800 dark:text-danger-400 dark:hover:bg-danger-900/20",children:[jsx(Trash2,{className:"h-3.5 w-3.5"})," Delete",c.length>0&&` (${c.length})`]}),C&&c.length===1&&jsxs("button",{type:"button",onClick:()=>{let t=a$1.find(s=>s.editable!==false);t&&U({rowKey:c[0],colKey:t.key});},className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-secondary-700 transition-colors hover:bg-secondary-50 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300 dark:hover:bg-secondary-700",children:[jsx(Pencil,{className:"h-3.5 w-3.5"})," Edit"]}),c.length>0&&jsxs("span",{className:"ml-auto text-sm text-secondary-500 dark:text-secondary-400",children:[c.length," row",c.length>1?"s":""," selected"]})]}),jsxs(Q,{intent:B,density:n,className:g,children:[jsx(W,{children:jsxs(X,{children:[l==="multiple"&&jsx(P,{className:"w-10",children:jsx("input",{type:"checkbox",checked:F,ref:t=>{t&&(t.indeterminate=re);},onChange:ne,className:"h-4 w-4 cursor-pointer rounded border-secondary-300 accent-primary-600","aria-label":"Select all"})}),l==="single"&&jsx(P,{className:"w-10"}),a$1.map(t=>{let s=t.sortable!==false,o=p?.column===t.key;return jsx(P,{className:a(s&&"cursor-pointer select-none",t.headerClassName),onClick:s?()=>k(t.key):void 0,"aria-sort":o?p.direction==="asc"?"ascending":"descending":void 0,children:jsxs("span",{className:"inline-flex items-center gap-1",children:[t.header,s&&jsx(ee,{active:o,direction:o?p.direction:null})]})},t.key)}),v&&jsx(P,{className:"w-20 text-right",children:"Actions"})]})}),jsx(Y,{children:M.length===0?jsx("tr",{children:jsx("td",{colSpan:a$1.length+(l!=="none"?1:0)+(v?1:0),children:jsx(Z,{...u})})}):M.map((t,s)=>{let o=d(t,s),N=c.includes(o);return jsxs(X,{className:a(N&&"bg-primary-50/60 dark:bg-primary-900/20"),onClick:()=>{l!=="none"&&q(o);},children:[l==="multiple"&&jsx(E,{className:"w-10",children:jsx("input",{type:"checkbox",checked:N,onChange:()=>q(o),onClick:i=>i.stopPropagation(),className:"h-4 w-4 cursor-pointer rounded border-secondary-300 accent-primary-600","aria-label":"Select row"})}),l==="single"&&jsx(E,{className:"w-10",children:jsx("input",{type:"radio",checked:N,onChange:()=>q(o),onClick:i=>i.stopPropagation(),className:"h-4 w-4 cursor-pointer accent-primary-600","aria-label":"Select row"})}),a$1.map(i=>{let S=G?.rowKey===o&&G?.colKey===i.key,K=i.editValue?.(t)??(()=>{let w=i.cell(t);return typeof w=="string"||typeof w=="number"?String(w):""})();return jsx(E,{className:a(i.cellClassName,C&&i.editable!==false&&"cursor-text"),onDoubleClick:w=>{w.stopPropagation(),se(o,i.key,i.editable);},children:S?jsx(Te,{value:K,onCommit:w=>le(o,i.key,w),onCancel:()=>U(null)}):i.cell(t)},i.key)}),v&&jsx(E,{className:"text-right",onClick:i=>i.stopPropagation(),children:jsx("span",{className:"inline-flex items-center gap-1",children:v(t)})})]},o)})})]})]})}function ee({active:a$1,direction:r}){let d="h-3.5 w-3.5 shrink-0";return !a$1||!r?jsx(ArrowUpDown,{className:a(d,"opacity-30")}):r==="asc"?jsx(ArrowUp,{className:a(d,"opacity-70")}):jsx(ArrowDown,{className:a(d,"opacity-70")})}export{Q as a,W as b,Y as c,X as d,P as e,E as f,Z as g,we as h,Ce as i};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),X=require('react'),lucideReact=require('lucide-react'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var X__default=/*#__PURE__*/_interopDefault(X);function ee(n,t){return n.key??(typeof n.label=="string"?n.label:String(t))}var C=40,$=150,q=120;function F(n,t,y,g){return g?y?{animation:"var(--animate-dropdown-item-out)",animationDelay:`${(t-1-n)*C}ms`}:{animation:"var(--animate-dropdown-item-in)",animationDelay:`${n*C}ms`}:{}}function te(n,t,y){if(!y)return {};if(t){let g=Math.max(n-1,0)*C+$;return {animation:`dropdown-container-out ${q}ms ease-in both`,animationDelay:`${g}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function ie({label:n,items:t,intent:y,size:g,align:_="left",className:U,disabled:R,editable:x=false,onAddItem:B,multiple:s=false,selected:l=[],onSelectionChange:H,animated:m=true,...j}){let[o,k]=X.useState(false),[N,T]=X.useState(false),[c,p]=X.useState(""),M=X.useRef(null),K=X.useRef(null),d=X.useRef(void 0);X.useEffect(()=>()=>{d.current&&clearTimeout(d.current);},[]);let f=X.useCallback(()=>{if(!m||!o){k(false),p("");return}T(true);let r=(Math.max(t.length,1)-1)*C+$+q+20;d.current=setTimeout(()=>{k(false),T(false),p("");},r);},[m,o,t.length]),z=X.useCallback(()=>{R||(o?f():(d.current&&clearTimeout(d.current),T(false),k(true),p(""),x&&requestAnimationFrame(()=>K.current?.focus())));},[R,o,f,x]);X.useEffect(()=>{if(!o)return;let e=r=>{M.current&&!M.current.contains(r.target)&&f();};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[o,f]),X.useEffect(()=>{if(!o)return;let e=r=>{r.key==="Escape"&&f();};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[o,f]);let E=c.toLowerCase(),h=X.useMemo(()=>c?t.filter(e=>(typeof e.label=="string"?e.label:e.key??"").toLowerCase().includes(E)):t,[t,E]),b=X.useMemo(()=>!x||!c.trim()?false:!t.some(e=>(typeof e.label=="string"?e.label:e.key??"").toLowerCase()===E),[x,E,t]),D=X.useCallback(()=>{let e=c.trim();e&&(B?.(e),p(""));},[c,B]),G=X.useCallback(e=>{e.key==="Enter"&&b&&(e.preventDefault(),D());},[b,D]),J=X.useCallback(e=>{let r=l.includes(e)?l.filter(v=>v!==e):[...l,e];H?.(r);},[l,H]),Q=s&&l.length>0?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[n," ",jsxRuntime.jsx("span",{className:"ml-1 rounded-full bg-white/20 px-1.5 text-xs font-semibold",children:l.length})]}):n,W=h.length===0&&!b||b?1:0,I=h.length+W;return jsxRuntime.jsxs("div",{ref:M,className:"relative inline-block",children:[jsxRuntime.jsxs("button",{type:"button",onClick:z,disabled:R,className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.a({intent:y,size:g}),"inline-flex items-center gap-1",U),"aria-haspopup":s?"listbox":"true","aria-expanded":o?"true":"false",...j,children:[Q,jsxRuntime.jsx(lucideReact.ChevronDown,{className:chunkX5YP5TMY_cjs.a("h-3.5 w-3.5 transition-transform",o&&"rotate-180")})]}),o&&jsxRuntime.jsxs("div",{className:chunkX5YP5TMY_cjs.a("absolute z-50 mt-1 min-w-44 rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",_==="right"?"right-0":"left-0"),style:te(I,N,m),role:s?"listbox":"menu","aria-multiselectable":s||void 0,children:[x&&jsxRuntime.jsx("div",{className:"border-primary-200 dark:border-primary-700 border-b px-2 pb-1.5 pt-1",children:jsxRuntime.jsx("input",{ref:K,type:"text",value:c,onChange:e=>p(e.target.value),onKeyDown:G,placeholder:"Type to filter or add\u2026",className:"w-full bg-transparent text-sm text-secondary-900 placeholder:text-secondary-400 focus:outline-none dark:text-secondary-100 dark:placeholder:text-secondary-600"})}),jsxRuntime.jsxs("div",{className:"max-h-60 overflow-y-auto",children:[h.map((e,r)=>{let v=ee(e,r),L=s&&l.includes(v);return jsxRuntime.jsxs(X__default.default.Fragment,{children:[e.divider&&jsxRuntime.jsx("div",{className:"border-primary-200 dark:border-primary-700 my-1 border-t"}),jsxRuntime.jsxs("button",{type:"button",role:s?"option":"menuitem","aria-selected":s?L:void 0,disabled:e.disabled,className:chunkX5YP5TMY_cjs.a("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",e.disabled&&"pointer-events-none opacity-50"),style:F(r,I,N,m),onClick:()=>{s?J(v):(e.onClick?.(),d.current&&clearTimeout(d.current),k(false),T(false),p(""));},children:[s&&jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",L?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:L&&jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3"})}),jsxRuntime.jsx("span",{className:"flex-1 truncate",children:e.label})]})]},v)}),h.length===0&&!b&&jsxRuntime.jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:F(0,1,N,m),children:"No matches"}),b&&jsxRuntime.jsxs("button",{type:"button",className:chunkX5YP5TMY_cjs.a("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:F(h.length,I,N,m),onClick:D,children:[jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxRuntime.jsxs("span",{className:"truncate",children:["Add \u201C",c.trim(),"\u201D"]})]})]})]})]})}exports.a=ie;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a}from'./chunk-AXBJKPZZ.js';import ee,{useState,useCallback,useEffect,useMemo,useRef,useLayoutEffect}from'react';import {createPortal}from'react-dom';import {Menu,ChevronsLeft,X,ChevronRight}from'lucide-react';import {jsxs,Fragment,jsx}from'react/jsx-runtime';var k="flex w-full items-center gap-2 rounded-md px-3 py-1.5 text-sm transition-colors cursor-pointer",U="bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100 font-medium",w="text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200",I="flex items-center justify-center rounded-md p-2 transition-colors cursor-pointer text-primary-600 dark:text-primary-400 hover:bg-primary-100 dark:hover:bg-primary-800/50 hover:text-primary-900 dark:hover:text-primary-200";function ie({to:e,className:r,style:a,children:i}){let l=typeof r=="function"?r({isActive:false}):r;return jsx("a",{href:e,className:l,style:a,children:i})}var O=["expanded","icons","mini"];function le(e){let r=O.indexOf(e);return O[(r+1)%O.length]}function $(e){let r=new Set;for(let a of e)if(a.children&&a.children.length>0){r.add(a.key??a.label);for(let i of $(a.children))r.add(i);}return r}function q({item:e,basePath:r,depth:a$1,onItemClick:i,LinkComponent:l,showLines:f,expandedKeys:c,onToggle:v}){let b=e.key??e.label,M=e.children&&e.children.length>0,[N,h]=useState(e.defaultOpen??true),g=c?c.has(b):N,o=useCallback(()=>{c?v(b):h(d=>!d);},[c,v,b]),m=a$1>0?`${a$1*1.25}rem`:void 0;if(M)return jsxs("div",{children:[jsxs("button",{type:"button",onClick:o,className:a(k,w,"justify-between"),style:{paddingLeft:m},children:[jsxs("span",{className:"flex items-center gap-2",children:[e.icon,e.label]}),jsx(ChevronRight,{className:a("h-3.5 w-3.5 transition-transform",g&&"rotate-90")})]}),g&&jsx("div",{className:a("flex flex-col gap-0.5 pt-0.5",f?"ml-2.5 border-l border-primary-200 dark:border-primary-700":"ml-2"),children:e.children.map(d=>jsx(q,{item:d,basePath:r,depth:a$1+1,onItemClick:i,LinkComponent:l,showLines:f,expandedKeys:c,onToggle:v},d.key??d.path??d.label))})]});if(e.path!=null){let d=r+e.path;return i?jsxs("button",{type:"button",onClick:()=>i(e,d),className:a(k,w),style:{paddingLeft:m},children:[e.icon,e.label]}):jsxs(l,{to:d,className:({isActive:C})=>a(k,C?U:w),style:{paddingLeft:m},children:[e.icon,e.label]})}return jsxs("span",{className:a(k,w,"cursor-default"),style:{paddingLeft:m},children:[e.icon,e.label]})}function de({item:e,basePath:r,onItemClick:a$1,LinkComponent:i}){let[l,f]=useState(false),c=useRef(null),v=useRef(void 0),[b,M]=useState({top:0,left:0}),N=()=>{clearTimeout(v.current),f(true);},h=()=>{v.current=setTimeout(()=>f(false),200);};useLayoutEffect(()=>{if(l&&c.current){let o=c.current.getBoundingClientRect();M({top:o.top,left:o.right+4});}},[l]);let g=e.icon||jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});return jsxs("div",{onMouseEnter:N,onMouseLeave:h,children:[jsx("button",{ref:c,type:"button",className:a(I,"w-full"),title:e.label,onClick:()=>f(o=>!o),children:g}),l&&createPortal(jsxs("div",{className:"fixed z-50 min-w-44 rounded-md border border-primary-200 bg-white p-1 shadow-lg dark:border-primary-700 dark:bg-primary-900",style:{top:b.top,left:b.left},onMouseEnter:N,onMouseLeave:h,children:[jsx("div",{className:"px-2.5 py-1.5 text-xs font-semibold uppercase text-primary-500 dark:text-primary-400",children:e.label}),jsx("div",{className:"flex flex-col gap-0.5",children:e.children?.map(o=>{let m=o.key??o.path??o.label;if(o.path!=null){let d=r+o.path;return a$1?jsxs("button",{type:"button",onClick:()=>{a$1(o,d),f(false);},className:a(k,w),children:[o.icon,o.label]},m):jsxs(i,{to:d,className:({isActive:C})=>a(k,C?U:w),children:[o.icon,o.label]},m)}return jsxs("span",{className:a(k,"cursor-default text-primary-400"),children:[o.icon,o.label]},m)})})]}),document.body)]})}function pe({item:e,basePath:r,onItemClick:a$1,LinkComponent:i}){let l=e.icon||jsx("span",{className:"text-xs font-bold leading-none",children:e.label.charAt(0).toUpperCase()});if(e.path!=null){let f=r+e.path;return a$1?jsx("button",{type:"button",onClick:()=>a$1(e,f),className:a(I,"w-full"),title:e.label,children:l}):jsx(i,{to:f,className:({isActive:c})=>a(I,"w-full",c&&"bg-primary-200 dark:bg-primary-700/50 text-primary-900 dark:text-primary-100"),children:jsx("span",{title:e.label,children:l})})}return jsx("span",{className:a(I,"w-full cursor-default"),title:e.label,children:l})}function be({items:e,title:r,basePath:a$1="/",onItemClick:i,LinkComponent:l=ie,collapsible:f,collapseMode:c,defaultCollapseMode:v="expanded",onCollapseModeChange:b,showLines:M=true,expandedKeys:N,defaultExpandedKeys:h="all",onExpandedKeysChange:g,className:o,responsive:m=true,mobileBreakpoint:d=768,mobileTopOffset:C=48,...D}){let[F,Q]=useState(v),y=c??F,W=ee.useMemo(()=>$(e),[e]),[X$1,J]=useState(()=>h==="all"?new Set(W):new Set(h)),K=N??null,j=K??X$1,V=useCallback(t=>{let u=new Set(j);u.has(t)?u.delete(t):u.add(t),J(u),g?.(u);},[j,g]),Y=useCallback(()=>{let t=le(y);Q(t),b?.(t);},[y,b]),[S,Z]=useState(()=>m&&typeof window<"u"&&window.innerWidth<d),[P,L]=useState(false);useEffect(()=>{if(!m||typeof window>"u"||!window.matchMedia)return;let t=window.matchMedia(`(max-width: ${d-1}px)`),u=B=>{Z(B.matches),B.matches||L(false);};return t.addEventListener("change",u),()=>t.removeEventListener("change",u)},[m,d]);let _=useCallback(t=>{t.target.closest("a")&&L(false);},[]),T=useMemo(()=>!S||!i?i:(t,u)=>{L(false),i(t,u);},[S,i]),z=jsxs(Fragment,{children:[f&&!S&&jsx("div",{className:a("flex shrink-0 mb-1",y==="expanded"?"justify-end":"justify-center"),children:jsx("button",{type:"button",onClick:Y,className:I,"aria-label":y==="mini"?"Expand sidebar":"Collapse sidebar",title:y==="mini"?"Expand sidebar":"Collapse sidebar",children:y==="mini"?jsx(Menu,{className:"h-5 w-5"}):jsx(ChevronsLeft,{className:"h-4 w-4"})})}),(S||y==="expanded")&&jsxs(Fragment,{children:[r&&jsx("h2",{className:"text-primary-500 dark:text-primary-400 mb-3 text-sm font-semibold uppercase",children:r}),e.map(t=>jsx(q,{item:t,basePath:a$1,depth:0,onItemClick:T,LinkComponent:l,showLines:M,expandedKeys:K,onToggle:V},t.key??t.path??t.label))]}),!S&&y==="icons"&&e.map(t=>{let u=t.key??t.path??t.label;return t.children&&t.children.length>0?jsx(de,{item:t,basePath:a$1,onItemClick:T,LinkComponent:l},u):jsx(pe,{item:t,basePath:a$1,onItemClick:T,LinkComponent:l},u)})]});return m&&S?jsxs(Fragment,{children:[P&&createPortal(jsx("div",{className:"fixed inset-0 z-40 bg-black/50",style:{top:C},onClick:()=>L(false)}),document.body),createPortal(jsx("aside",{className:a("fixed bottom-0 left-0 z-50 w-56 overflow-y-auto border-r border-primary-200 dark:border-primary-700 bg-white dark:bg-primary-900 shadow-xl transition-transform duration-200 p-3",P?"translate-x-0":"-translate-x-full"),style:{top:C},onClick:_,children:jsx("nav",{className:"flex flex-col gap-0.5",children:z})}),document.body),createPortal(jsx("button",{type:"button",className:"fixed bottom-5 left-4 z-50 flex h-10 w-10 items-center justify-center rounded-full bg-primary-800 text-white shadow-lg transition-colors hover:bg-primary-700 dark:bg-primary-100 dark:text-primary-900 dark:hover:bg-primary-200",onClick:()=>L(t=>!t),"aria-label":P?"Close navigation":"Open navigation",children:P?jsx(X,{className:"h-5 w-5"}):jsx(Menu,{className:"h-5 w-5"})}),document.body)]}):jsx("nav",{className:a("flex flex-col gap-0.5",y==="mini"&&"items-center",o),...D,children:z})}export{be as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {f}from'./chunk-XAOBJSFW.js';import {a}from'./chunk-AXBJKPZZ.js';import {jsx,jsxs}from'react/jsx-runtime';function u({intent:t,size:r,className:o,...i}){return jsx("div",{className:a(f({intent:t,size:r}),o),...i})}function x({className:t,...r}){return jsx("div",{className:a("mb-4 space-y-1",t),...r})}function v({className:t,...r}){return jsx("h3",{className:a("text-primary-900 dark:text-primary-100 text-lg font-semibold",t),...r})}function y({className:t,...r}){return jsx("p",{className:a("text-primary-500 dark:text-primary-400 text-sm",t),...r})}function H({className:t,...r}){return jsx("div",{className:a("text-primary-700 dark:text-primary-300 text-sm",t),...r})}function g({className:t,...r}){return jsx("div",{className:a("border-primary-100 dark:border-primary-800 mt-4 flex items-center gap-2 border-t pt-4",t),...r})}function h({intent:t,media:r,mediaPosition:o="left",stackOnMobile:i=false,className:n,children:s,...d}){let c=jsx("div",{className:a("relative shrink-0 overflow-hidden",i?"h-48 w-full rounded-t-lg sm:h-auto sm:w-auto":"",!i&&(o==="left"?"rounded-l-lg":"rounded-r-lg")),style:i?void 0:{width:r.width??"10rem"},children:r.src?jsx("img",{src:r.src,alt:r.alt??"",className:"h-full w-full object-cover",draggable:false}):r.icon?jsx("div",{className:"bg-primary-100 text-primary-500 dark:bg-primary-800 dark:text-primary-400 flex h-full w-full items-center justify-center",children:r.icon}):null});return jsxs("div",{className:a(f({intent:t}),"flex overflow-hidden p-0",i?"flex-col sm:flex-row":"",!i&&o==="right"&&"flex-row-reverse",!i&&o==="left"&&"flex-row",n),...d,children:[c,jsx("div",{className:"flex min-w-0 flex-1 flex-col p-4",children:s})]})}export{u as a,x as b,v as c,y as d,H as e,g as f,h as g};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var M={sm:"h-3 w-3",md:"h-3.5 w-3.5",lg:"h-4 w-4"};function S({checked:o,defaultChecked:k=false,indeterminate:n=false,onCheckedChange:a,intent:m,size:s,label:c,id:u,className:x,disabled:r,...f}){let b=react.useId(),i=u??b,y=s??"md",[C,g]=react.useState(k),l=o??C,v=react.useCallback(L=>{let d=L.target.checked;o===void 0&&g(d),a?.(d);},[o,a]),p=l||n;return jsxRuntime.jsxs("label",{htmlFor:i,className:chunkX5YP5TMY_cjs.a("inline-flex cursor-pointer items-center gap-2 select-none",r&&"pointer-events-none opacity-50",x),children:[jsxRuntime.jsx("input",{...f,id:i,type:"checkbox",className:"sr-only",checked:l,disabled:r,onChange:v}),jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.w({intent:m,size:s,checked:p?"on":"off"})),children:jsxRuntime.jsx("svg",{viewBox:"0 0 16 16",fill:"none",className:chunkX5YP5TMY_cjs.a("text-white transition-all duration-200",M[y],p?"scale-100 opacity-100":"scale-0 opacity-0"),children:n?jsxRuntime.jsx("line",{x1:"3",y1:"8",x2:"13",y2:"8",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round"}):jsxRuntime.jsx("path",{d:"M3.5 8.5L6.5 11.5L12.5 4.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),c&&jsxRuntime.jsx("span",{className:"text-sm text-primary-700 dark:text-primary-300",children:c})]})}exports.a=S;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),react=require('react'),lucideReact=require('lucide-react'),jsxRuntime=require('react/jsx-runtime');function $(n,r){for(let o of n){if(o.value===r)return o;if(o.children){let s=$(o.children,r);if(s)return s}}}function z(n){let r=[];for(let o of n)o.children?.length||r.push(o),o.children&&r.push(...z(o.children));return r}var A=40,Q=150,W=120;function I(n,r,o,s){return s?o?{animation:"var(--animate-dropdown-item-out)",animationDelay:`${(r-1-n)*A}ms`}:{animation:"var(--animate-dropdown-item-in)",animationDelay:`${n*A}ms`}:{}}function X(n,r,o){if(!o)return {};if(r){let s=Math.max(n-1,0)*A+Q;return {animation:`dropdown-container-out ${W}ms ease-in both`,animationDelay:`${s}ms`}}return {animation:"var(--animate-dropdown-container-in)"}}function Y({options:n,onSelect:r,animated:o=true,closing:s=false,depth:c=0}){let[p,g]=react.useState(null),v=react.useRef(void 0),T=e=>{v.current&&clearTimeout(v.current),g(e);},h=()=>{v.current=setTimeout(()=>g(null),150);};return react.useEffect(()=>()=>{v.current&&clearTimeout(v.current);},[]),jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("absolute z-50 min-w-44 rounded-md border py-1 shadow-lg overflow-hidden","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white",c===0?"mt-1 w-full":"top-0 ml-0.5"),style:{...c>0?{left:"100%"}:{},...X(n.length,s,o)},role:"listbox",children:n.map((e,D)=>{let m=!!e.children?.length,y=p===e.value;return jsxRuntime.jsxs("div",{className:"relative",style:I(D,n.length,s,o),onMouseEnter:()=>T(e.value),onMouseLeave:h,children:[jsxRuntime.jsxs("div",{role:"option","aria-selected":false,"aria-disabled":e.disabled,className:chunkX5YP5TMY_cjs.a("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",e.disabled&&"pointer-events-none opacity-50"),onClick:()=>{e.disabled||m||r(e.value,e);},children:[e.icon&&jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:e.icon}),jsxRuntime.jsx("span",{className:"flex-1 truncate",children:e.label??e.value}),m&&jsxRuntime.jsx(lucideReact.ChevronRight,{className:"text-primary-400 h-3.5 w-3.5 shrink-0"})]}),m&&y&&jsxRuntime.jsx(Y,{options:e.children,onSelect:r,animated:o,depth:c+1})]},e.value)})})}function se({options:n,filter:r,multiple:o,selected:s,canAdd:c,animated:p=true,closing:g=false,onSelect:v,onToggle:T,onAdd:h}){let e=react.useMemo(()=>z(n),[n]),D=r.toLowerCase(),m=r?e.filter(a=>(a.label??a.value).toLowerCase().includes(D)||a.value.toLowerCase().includes(D)):e,y=m.length===0&&!c||c?1:0,P=m.length+y;return jsxRuntime.jsxs("div",{className:chunkX5YP5TMY_cjs.a("absolute z-50 mt-1 w-full max-h-60 min-w-44 overflow-y-auto rounded-md border py-1 shadow-lg","border-primary-200 dark:border-primary-700 dark:bg-primary-800 bg-white"),role:"listbox","aria-multiselectable":o||void 0,style:X(P,g,p),children:[m.map((a,d)=>{let f=o&&s.includes(a.value);return jsxRuntime.jsxs("div",{role:"option","aria-selected":o?f:false,"aria-disabled":a.disabled,className:chunkX5YP5TMY_cjs.a("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-700 hover:bg-primary-100 dark:text-primary-300 dark:hover:bg-primary-700/50",a.disabled&&"pointer-events-none opacity-50"),style:I(d,P,g,p),onClick:()=>{a.disabled||(o?T(a.value):v(a.value,a));},children:[o&&jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a("flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors",f?"border-primary-600 bg-primary-600 text-white dark:border-primary-500 dark:bg-primary-500":"border-secondary-300 bg-white dark:border-secondary-600 dark:bg-secondary-800"),children:f&&jsxRuntime.jsx(lucideReact.Check,{className:"h-3 w-3"})}),a.icon&&jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:a.icon}),jsxRuntime.jsx("span",{className:"truncate",children:a.label??a.value})]},a.value)}),m.length===0&&!c&&jsxRuntime.jsx("div",{className:"text-primary-400 px-3 py-2 text-center text-sm",style:I(0,1,g,p),children:"No matches"}),c&&jsxRuntime.jsxs("div",{className:chunkX5YP5TMY_cjs.a("flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors","text-primary-600 hover:bg-primary-50 dark:text-primary-400 dark:hover:bg-primary-900/30"),style:I(m.length,P,g,p),onClick:h,children:[jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center text-lg leading-none",children:"+"}),jsxRuntime.jsxs("span",{className:"truncate",children:["Add \u201C",r.trim(),"\u201D"]})]})]})}function me(n){let{options:r,placeholder:o="Select\u2026",editable:s=false,onAddItem:c,disabled:p=false,align:g="left",className:v,size:T="md",animated:h=true}=n,e=n.multiple===true,[D,m]=react.useState(e?void 0:n.defaultValue),[y,P]=react.useState(e?n.defaultSelected??[]:[]),a=e?n.selected??y:[],[d,f]=react.useState(false),[B,E]=react.useState(false),[k,S]=react.useState(""),V=react.useRef(null),q=react.useRef(null),w=react.useRef(void 0),N=react.useCallback(()=>{if(!h||!d){f(false),S("");return}E(true);let i=(Math.max(r.length,1)-1)*A+Q+W+20;w.current=setTimeout(()=>{f(false),E(false),S("");},i);},[h,d,r.length]);react.useEffect(()=>()=>{w.current&&clearTimeout(w.current);},[]);let K=e?void 0:n.value??D,O=react.useMemo(()=>K?$(r,K):void 0,[r,K]);react.useEffect(()=>{if(!d)return;let t=i=>{V.current&&!V.current.contains(i.target)&&N();};return document.addEventListener("mousedown",t),()=>document.removeEventListener("mousedown",t)},[d,N]),react.useEffect(()=>{if(!d)return;let t=i=>{i.key==="Escape"&&N();};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[d,N]);let U=react.useCallback((t,i)=>{e||(n.value===void 0&&m(t),n.onChange?.(t,i)),w.current&&clearTimeout(w.current),f(false),E(false),S("");},[e,n]),Z=react.useCallback(t=>{if(!e)return;let i=n.selected??y,G=i.includes(t)?i.filter(re=>re!==t):[...i,t];n.selected===void 0&&P(G),n.onSelectionChange?.(G);},[e,y,n]),_=k.toLowerCase(),j=react.useMemo(()=>!s||!k.trim()?false:!z(r).some(i=>i.value.toLowerCase()===_||(i.label??i.value).toLowerCase()===_),[s,_,r]),F=react.useCallback(()=>{let t=k.trim();t&&(c?.(t),S(""));},[k,c]),ee=react.useCallback(t=>{t.key==="Enter"&&j&&(t.preventDefault(),F());},[j,F]),ne=react.useCallback(()=>{p||(d?N():(w.current&&clearTimeout(w.current),E(false),f(true),S(""),s&&requestAnimationFrame(()=>q.current?.focus())));},[p,d,N,s]),x;if(e){let t=a.length;t===0?x="":t<=2?x=a.map(i=>$(r,i)).map(i=>i?i.label??i.value:"").filter(Boolean).join(", "):x=`${t} selected`;}else x=O?O.label??O.value:"";let te=e||s;return jsxRuntime.jsxs("div",{ref:V,className:chunkX5YP5TMY_cjs.a("relative inline-block min-w-44",v),children:[jsxRuntime.jsxs("div",{className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.d({state:"default",size:T}),"flex cursor-pointer items-center gap-1",p&&"pointer-events-none opacity-50"),onClick:ne,role:"combobox","aria-expanded":d,"aria-haspopup":"listbox",children:[s?jsxRuntime.jsx("input",{ref:q,className:"min-w-0 flex-1 bg-transparent outline-none placeholder:text-secondary-400 dark:placeholder:text-secondary-600",value:d?k:x,placeholder:o,disabled:p,onChange:t=>{S(t.target.value),d||f(true);},onKeyDown:ee,onClick:t=>{t.stopPropagation(),d||f(true);}}):jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a("flex-1 truncate",!x&&"text-secondary-400 dark:text-secondary-600"),children:x||o}),O?.icon&&!s&&!e&&jsxRuntime.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:O.icon}),e&&a.length>0&&jsxRuntime.jsx("span",{className:"rounded-full bg-primary-100 px-1.5 text-xs font-semibold text-primary-700 dark:bg-primary-900 dark:text-primary-300",children:a.length}),jsxRuntime.jsx(lucideReact.ChevronDown,{className:chunkX5YP5TMY_cjs.a("text-primary-400 h-4 w-4 shrink-0 transition-transform",d&&"rotate-180")})]}),d&&jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a(g==="right"?"right-0":"left-0","absolute w-full"),children:te?jsxRuntime.jsx(se,{options:r,filter:k,multiple:e,selected:a,canAdd:j,animated:h,closing:B,onSelect:U,onToggle:Z,onAdd:F}):jsxRuntime.jsx(Y,{options:r,onSelect:U,animated:h,closing:B})})]})}exports.a=me;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {n}from'./chunk-XAOBJSFW.js';import {a}from'./chunk-AXBJKPZZ.js';import m,{createContext,useState,useCallback,useContext}from'react';import {ChevronRight}from'lucide-react';import {jsx,Fragment,jsxs}from'react/jsx-runtime';var C=createContext({showLines:true,expandedKeys:null,onToggleKey:()=>{},size:"md"});function V({showLines:l=true,showRoot:r=true,expandedKeys:e,defaultExpandedKeys:u="all",onExpandedKeysChange:h,size:f="md",className:c,children:p,...g}){let [x,d]=useState(()=>u),v=useCallback(a=>{if(e){let t=new Set(e);t.has(a)?t.delete(a):t.add(a),h?.(t);}else d(t=>{if(t==="all")return new Set(["__ALL_MINUS__",a]);let o=new Set(t);return o.has(a)?o.delete(a):o.add(a),o});},[e,h]),R=e??(x==="all"?null:x);return jsx(C.Provider,{value:{showLines:l,expandedKeys:R,onToggleKey:v,size:f},children:r?jsx("ul",{className:a("text-sm",c),role:"tree",...g,children:p}):jsx("ul",{className:a("text-sm",c),role:"tree",...g,children:jsx(E,{children:p})})})}function E({children:l}){let r=K(l);return jsx(Fragment,{children:r.map(e=>m.isValidElement(e)&&e.props.children?e.props.children:null)})}function K(l){let r=[];return m.Children.forEach(l,e=>{m.isValidElement(e)&&e.type===m.Fragment?r.push(...K(e.props.children)):r.push(e);}),r}function F({nodeKey:l,label:r,icon:e,actions:u,defaultExpanded:h=false,expanded:f,onToggle:c,children:p,className:g}){let{showLines:x,expandedKeys:d,onToggleKey:N,size:v}=useContext(C),[R,a$1]=useState(h),t=m.Children.count(p)>0,o=l??(typeof r=="string"?r:""),s;f!=null?s=f:d!=null&&o?d.has("__ALL_MINUS__")?s=!d.has(o):s=d.has(o):s=R;let L=()=>{let y=!s;c?c(y):d!=null&&o?N(o):a$1(y);};return jsxs("li",{className:a("select-none",g),role:"treeitem","aria-expanded":t?s:void 0,children:[jsxs("div",{className:a("group hover:bg-primary-50 dark:hover:bg-primary-800/50 rounded-md px-1",n({size:v}),t?"cursor-pointer":"cursor-default"),onClick:t?L:void 0,children:[t?jsx(ChevronRight,{className:a("text-primary-400 h-4 w-4 shrink-0 transition-transform duration-200",s&&"rotate-90")}):jsx("span",{className:"w-4 shrink-0"}),e&&jsx("span",{className:"shrink-0",children:e}),jsx("span",{className:"text-primary-700 dark:text-primary-300 min-w-0 flex-1 truncate",children:r}),u&&jsx("span",{className:"ml-auto flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100 [@media(hover:none)]:opacity-100 [@media(hover:none)]:[&>button]:min-h-(--row-action-touch-min) [@media(hover:none)]:[&>button]:min-w-(--row-action-touch-min) [@media(hover:none)]:[&>button]:flex [@media(hover:none)]:[&>button]:items-center [@media(hover:none)]:[&>button]:justify-center",onClick:y=>y.stopPropagation(),children:u})]}),t&&jsx("div",{className:a("grid transition-[grid-template-rows] duration-200 ease-out",s?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:jsx("div",{className:"overflow-hidden",children:jsx("ul",{className:a("ml-4 pl-2",x&&"border-primary-200 dark:border-primary-700 border-l"),role:"group",children:p})})})]})}export{V as a,F as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),react=require('react'),reactDom=require('react-dom'),lucideReact=require('lucide-react'),jsxRuntime=require('react/jsx-runtime');var a=[];function k(e){a.push(e);}function O(e){let t=a.indexOf(e);t!==-1&&a.splice(t,1);}function f(e){return a.length>0&&a[a.length-1]===e}function H(e){let t=a.indexOf(e);return t!==-1?t:a.length}var g=react.createContext(null);function R({open:e,onOpenChange:t,modal:i=true,closeOnOutsideClick:s=false,children:c}){let o=react.useId();return react.useEffect(()=>{if(e)return k(o),()=>O(o)},[e,o]),react.useEffect(()=>{if(!e||!i)return;let l=d=>{d.key==="Escape"&&f(o)&&t(false);};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[e,i,t,o]),react.useEffect(()=>{if(!e||!i)return;let l=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=l;}},[e,i]),e?jsxRuntime.jsx(g.Provider,{value:{id:o,onOpenChange:t,modal:i,closeOnOutsideClick:s},children:reactDom.createPortal(c,document.body)}):null}function A({size:e,position:t="center",className:i,children:s,...c}){let o=react.useContext(g);if(!o)return null;let d=200+H(o.id)*10,y=()=>{o.closeOnOutsideClick&&f(o.id)&&o.onOpenChange(false);},x=t==="bottom";return o.modal?jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("animate-fade-in fixed inset-0 bg-black/50",x?"flex items-end justify-center":"flex items-center justify-center p-4"),style:{zIndex:d},onClick:y,children:jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.q({size:e}),x?"animate-slide-in-bottom w-full rounded-b-none rounded-t-[var(--dialog-sheet-radius)] max-h-[85vh] overflow-y-auto":"animate-scale-in",i),role:"dialog","aria-modal":"true",onClick:u=>u.stopPropagation(),...c,children:s})}):jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("fixed inset-0 flex items-center justify-center p-4",o.closeOnOutsideClick?"pointer-events-auto":"pointer-events-none"),style:{zIndex:d},onClick:o.closeOnOutsideClick&&f(o.id)?()=>o.onOpenChange(false):void 0,children:jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.q({size:e}),"animate-scale-in pointer-events-auto shadow-2xl",i),role:"dialog",onClick:o.closeOnOutsideClick?u=>u.stopPropagation():void 0,...c,children:s})})}function B({className:e,...t}){return jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("mb-4 space-y-1",e),...t})}function V({className:e,...t}){return jsxRuntime.jsx("h2",{className:chunkX5YP5TMY_cjs.a("text-primary-900 dark:text-primary-100 flex items-center gap-1.5 text-lg font-semibold [&_svg]:h-5 [&_svg]:w-5 [&_svg]:shrink-0",e),...t})}function j({className:e,...t}){return jsxRuntime.jsx("p",{className:chunkX5YP5TMY_cjs.a("text-primary-500 dark:text-primary-400 text-sm",e),...t})}function _({className:e,...t}){return jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("mt-6 flex justify-end gap-2",e),...t})}function I({className:e,...t}){let i=react.useContext(g);return jsxRuntime.jsx("button",{className:chunkX5YP5TMY_cjs.a("text-primary-400 hover:text-primary-600 dark:hover:text-primary-200 absolute top-4 right-4 rounded-md p-1 transition-colors",e),onClick:()=>i?.onOpenChange(false),"aria-label":"Close",...t,children:jsxRuntime.jsx(lucideReact.X,{className:"h-4 w-4"})})}exports.a=R;exports.b=A;exports.c=B;exports.d=V;exports.e=j;exports.f=_;exports.g=I;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var d={top:"bottom-full left-1/2 -translate-x-1/2 mb-2",bottom:"top-full left-1/2 -translate-x-1/2 mt-2",left:"right-full top-1/2 -translate-y-1/2 mr-2",right:"left-full top-1/2 -translate-y-1/2 ml-2"};function V({content:n,position:l="top",intent:r,delay:a=200,maxWidth:t,children:p,className:m}){let[c,o]=react.useState(false),[f,u]=react.useState();return jsxRuntime.jsxs("span",{className:"relative inline-flex",onMouseEnter:()=>{let T=setTimeout(()=>o(true),a);u(T);},onMouseLeave:()=>{clearTimeout(f),o(false);},children:[p,c&&jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.r({intent:r}),d[l],"pointer-events-none",t?"whitespace-normal":"whitespace-nowrap",m),style:t!==void 0?{maxWidth:t}:void 0,role:"tooltip",children:n})]})}exports.a=V;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),react=require('react'),lucideReact=require('lucide-react'),jsxRuntime=require('react/jsx-runtime');function Q({intent:a,density:r,className:d,...f}){return jsxRuntime.jsx("div",{className:"w-full overflow-auto",children:jsxRuntime.jsx("table",{className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.h({intent:a,density:r}),d),...f})})}function W({className:a,...r}){return jsxRuntime.jsx("thead",{className:chunkX5YP5TMY_cjs.a("bg-primary-50 text-primary-600 dark:bg-primary-800/50 dark:text-primary-400",a),...r})}function Y({className:a,...r}){return jsxRuntime.jsx("tbody",{className:chunkX5YP5TMY_cjs.a("[&_tr:last-child]:border-0",a),...r})}function X({className:a,...r}){return jsxRuntime.jsx("tr",{className:chunkX5YP5TMY_cjs.a("border-primary-200 hover:bg-primary-50/50 dark:border-primary-700 dark:hover:bg-primary-800/30 border-b transition-colors",a),...r})}function P({className:a,...r}){return jsxRuntime.jsx("th",{className:chunkX5YP5TMY_cjs.a("px-4 py-3 text-left text-xs font-semibold tracking-wider uppercase",a),...r})}function E({className:a,...r}){return jsxRuntime.jsx("td",{className:chunkX5YP5TMY_cjs.a("text-primary-700 dark:text-primary-300 px-4 py-3",a),...r})}function Z({icon:a,text:r="No data",className:d}){return jsxRuntime.jsxs("div",{className:chunkX5YP5TMY_cjs.a("flex flex-col items-center justify-center gap-3 py-16 text-primary-400 dark:text-primary-500",d),children:[a??jsxRuntime.jsx(lucideReact.Inbox,{className:"h-12 w-12 stroke-[1.2]"}),jsxRuntime.jsx("span",{className:"text-sm",children:r})]})}var O={sm:"hidden sm:table-cell",md:"hidden md:table-cell",lg:"hidden lg:table-cell"};function we({columns:a,data:r,sort:d,onSortChange:f,defaultSort:h=null,rowKey:T,rowActions:l,intent:x,density:_,className:C,empty:L}){let[$,A]=react.useState(h),y=d??$,v=react.useCallback(n=>{let g=y?.column===n?y.direction==="asc"?{column:n,direction:"desc"}:null:{column:n,direction:"asc"};f?f(g):A(g);},[y,f]),B=react.useMemo(()=>{if(!y)return r;let n=a.find(V=>V.key===y.column);if(!n)return r;let g=n.compareFn??((V,j)=>{let p=n.cell(V),k=n.cell(j);return p==null&&k==null?0:p==null?-1:k==null?1:typeof p=="number"&&typeof k=="number"?p-k:String(p).localeCompare(String(k))}),u=[...r].sort(g);return y.direction==="desc"?u.reverse():u},[r,y,a]);return jsxRuntime.jsxs(Q,{intent:x,density:_,className:C,children:[jsxRuntime.jsx(W,{children:jsxRuntime.jsxs(X,{children:[a.map(n=>{let g=n.sortable!==false,u=y?.column===n.key;return jsxRuntime.jsx(P,{className:chunkX5YP5TMY_cjs.a(g&&"cursor-pointer select-none",n.headerClassName,n.hideBelow&&O[n.hideBelow]),onClick:g?()=>v(n.key):void 0,"aria-sort":u?y.direction==="asc"?"ascending":"descending":void 0,children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[n.header,g&&jsxRuntime.jsx(ee,{active:u,direction:u?y.direction:null})]})},n.key)}),l&&jsxRuntime.jsx(P,{className:"w-20 text-right",children:"Actions"})]})}),jsxRuntime.jsx(Y,{children:B.length===0?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:a.length+(l?1:0),children:jsxRuntime.jsx(Z,{...L})})}):B.map((n,g)=>jsxRuntime.jsxs(X,{children:[a.map(u=>jsxRuntime.jsx(E,{className:chunkX5YP5TMY_cjs.a(u.cellClassName,u.hideBelow&&O[u.hideBelow]),children:u.cell(n)},u.key)),l&&jsxRuntime.jsx(E,{className:"text-right",children:jsxRuntime.jsx("span",{className:"inline-flex items-center gap-1",children:l(n)})})]},T?T(n,g):g))})]})}function Te({value:a,onCommit:r,onCancel:d}){let[f,h]=react.useState(a),T=react.useRef(null);react.useEffect(()=>{T.current?.focus(),T.current?.select();},[]);let l=()=>r(f);return jsxRuntime.jsxs("span",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("input",{ref:T,type:"text",value:f,onChange:x=>h(x.target.value),onKeyDown:x=>{x.key==="Enter"&&l(),x.key==="Escape"&&d();},"aria-label":"Edit cell",className:"min-w-0 flex-1 rounded border border-primary-400 bg-white px-1.5 py-0.5 text-sm outline-none focus:ring-1 focus:ring-primary-400 dark:border-primary-600 dark:bg-secondary-800"}),jsxRuntime.jsx("button",{type:"button",onClick:l,className:"text-success-600 hover:text-success-700 dark:text-success-400","aria-label":"Confirm",children:jsxRuntime.jsx(lucideReact.Check,{className:"h-3.5 w-3.5"})}),jsxRuntime.jsx("button",{type:"button",onClick:d,className:"text-danger-500 hover:text-danger-600 dark:text-danger-400","aria-label":"Cancel",children:jsxRuntime.jsx(lucideReact.X,{className:"h-3.5 w-3.5"})})]})}function Ce({columns:a,data:r,rowKey:d,sort:f,onSortChange:h,defaultSort:T=null,selectionMode:l="none",selected:x,onSelectionChange:_,editable:C=false,onCellEdit:L,toolbar:$=false,onAdd:A,onDelete:y,rowActions:v,intent:B,density:n,className:g,empty:u}){let[V,j]=react.useState(T),p=f??V,k=react.useCallback(t=>{let s=p?.column===t?p.direction==="asc"?{column:t,direction:"desc"}:null:{column:t,direction:"asc"};h?h(s):j(s);},[p,h]),M=react.useMemo(()=>{if(!p)return r;let t=a.find(N=>N.key===p.column);if(!t)return r;let s=t.compareFn??((N,i)=>{let S=t.cell(N),K=t.cell(i);return S==null&&K==null?0:S==null?-1:K==null?1:typeof S=="number"&&typeof K=="number"?S-K:String(S).localeCompare(String(K))}),o=[...r].sort(s);return p.direction==="desc"?o.reverse():o},[r,p,a]),[te,ae]=react.useState([]),c=x??te,R=_??ae,I=react.useMemo(()=>M.map((t,s)=>d(t,s)),[M,d]),F=l==="multiple"&&I.length>0&&I.every(t=>c.includes(t)),re=l==="multiple"&&c.length>0&&!F,q=react.useCallback(t=>{l==="single"?R(c.includes(t)?[]:[t]):l==="multiple"&&R(c.includes(t)?c.filter(s=>s!==t):[...c,t]);},[l,c,R]),ne=react.useCallback(()=>{R(F?[]:I);},[F,I,R]),[G,U]=react.useState(null),se=react.useCallback((t,s,o)=>{C&&o!==false&&U({rowKey:t,colKey:s});},[C]),le=react.useCallback((t,s,o)=>{L?.(t,s,o),U(null);},[L]);return jsxRuntime.jsxs("div",{className:"space-y-2",children:[$&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[A&&jsxRuntime.jsxs("button",{type:"button",onClick:A,className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-secondary-700 transition-colors hover:bg-secondary-50 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300 dark:hover:bg-secondary-700",children:[jsxRuntime.jsx(lucideReact.Plus,{className:"h-3.5 w-3.5"})," Add"]}),y&&jsxRuntime.jsxs("button",{type:"button",onClick:()=>y(c),disabled:c.length===0,className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-danger-600 transition-colors hover:bg-danger-50 disabled:opacity-40 disabled:pointer-events-none dark:border-secondary-600 dark:bg-secondary-800 dark:text-danger-400 dark:hover:bg-danger-900/20",children:[jsxRuntime.jsx(lucideReact.Trash2,{className:"h-3.5 w-3.5"})," Delete",c.length>0&&` (${c.length})`]}),C&&c.length===1&&jsxRuntime.jsxs("button",{type:"button",onClick:()=>{let t=a.find(s=>s.editable!==false);t&&U({rowKey:c[0],colKey:t.key});},className:"inline-flex items-center gap-1.5 rounded-md border border-secondary-300 bg-white px-3 py-1.5 text-sm font-medium text-secondary-700 transition-colors hover:bg-secondary-50 dark:border-secondary-600 dark:bg-secondary-800 dark:text-secondary-300 dark:hover:bg-secondary-700",children:[jsxRuntime.jsx(lucideReact.Pencil,{className:"h-3.5 w-3.5"})," Edit"]}),c.length>0&&jsxRuntime.jsxs("span",{className:"ml-auto text-sm text-secondary-500 dark:text-secondary-400",children:[c.length," row",c.length>1?"s":""," selected"]})]}),jsxRuntime.jsxs(Q,{intent:B,density:n,className:g,children:[jsxRuntime.jsx(W,{children:jsxRuntime.jsxs(X,{children:[l==="multiple"&&jsxRuntime.jsx(P,{className:"w-10",children:jsxRuntime.jsx("input",{type:"checkbox",checked:F,ref:t=>{t&&(t.indeterminate=re);},onChange:ne,className:"h-4 w-4 cursor-pointer rounded border-secondary-300 accent-primary-600","aria-label":"Select all"})}),l==="single"&&jsxRuntime.jsx(P,{className:"w-10"}),a.map(t=>{let s=t.sortable!==false,o=p?.column===t.key;return jsxRuntime.jsx(P,{className:chunkX5YP5TMY_cjs.a(s&&"cursor-pointer select-none",t.headerClassName),onClick:s?()=>k(t.key):void 0,"aria-sort":o?p.direction==="asc"?"ascending":"descending":void 0,children:jsxRuntime.jsxs("span",{className:"inline-flex items-center gap-1",children:[t.header,s&&jsxRuntime.jsx(ee,{active:o,direction:o?p.direction:null})]})},t.key)}),v&&jsxRuntime.jsx(P,{className:"w-20 text-right",children:"Actions"})]})}),jsxRuntime.jsx(Y,{children:M.length===0?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:a.length+(l!=="none"?1:0)+(v?1:0),children:jsxRuntime.jsx(Z,{...u})})}):M.map((t,s)=>{let o=d(t,s),N=c.includes(o);return jsxRuntime.jsxs(X,{className:chunkX5YP5TMY_cjs.a(N&&"bg-primary-50/60 dark:bg-primary-900/20"),onClick:()=>{l!=="none"&&q(o);},children:[l==="multiple"&&jsxRuntime.jsx(E,{className:"w-10",children:jsxRuntime.jsx("input",{type:"checkbox",checked:N,onChange:()=>q(o),onClick:i=>i.stopPropagation(),className:"h-4 w-4 cursor-pointer rounded border-secondary-300 accent-primary-600","aria-label":"Select row"})}),l==="single"&&jsxRuntime.jsx(E,{className:"w-10",children:jsxRuntime.jsx("input",{type:"radio",checked:N,onChange:()=>q(o),onClick:i=>i.stopPropagation(),className:"h-4 w-4 cursor-pointer accent-primary-600","aria-label":"Select row"})}),a.map(i=>{let S=G?.rowKey===o&&G?.colKey===i.key,K=i.editValue?.(t)??(()=>{let w=i.cell(t);return typeof w=="string"||typeof w=="number"?String(w):""})();return jsxRuntime.jsx(E,{className:chunkX5YP5TMY_cjs.a(i.cellClassName,C&&i.editable!==false&&"cursor-text"),onDoubleClick:w=>{w.stopPropagation(),se(o,i.key,i.editable);},children:S?jsxRuntime.jsx(Te,{value:K,onCommit:w=>le(o,i.key,w),onCancel:()=>U(null)}):i.cell(t)},i.key)}),v&&jsxRuntime.jsx(E,{className:"text-right",onClick:i=>i.stopPropagation(),children:jsxRuntime.jsx("span",{className:"inline-flex items-center gap-1",children:v(t)})})]},o)})})]})]})}function ee({active:a,direction:r}){let d="h-3.5 w-3.5 shrink-0";return !a||!r?jsxRuntime.jsx(lucideReact.ArrowUpDown,{className:chunkX5YP5TMY_cjs.a(d,"opacity-30")}):r==="asc"?jsxRuntime.jsx(lucideReact.ArrowUp,{className:chunkX5YP5TMY_cjs.a(d,"opacity-70")}):jsxRuntime.jsx(lucideReact.ArrowDown,{className:chunkX5YP5TMY_cjs.a(d,"opacity-70")})}exports.a=Q;exports.b=W;exports.c=Y;exports.d=X;exports.e=P;exports.f=E;exports.g=Z;exports.h=we;exports.i=Ce;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),react=require('react'),jsxRuntime=require('react/jsx-runtime');var E={sm:"px-2 py-1.5 text-xs min-h-[60px]",md:"px-3 py-2 text-sm min-h-[80px]",lg:"px-4 py-2.5 text-base min-h-[100px]"},v={default:"border-secondary-300 focus:border-primary-500 focus:ring-2 focus:ring-primary-500/20 dark:border-secondary-600",error:"border-danger-400 focus:border-danger-500 focus:ring-2 focus:ring-danger-500/20"};function T(s){if(!s)return 0;let a="\u2E80-\u2EFF\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\u3400-\u4DBF\u4E00-\u9FFF\uAC00-\uD7AF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF",u=new RegExp(`[${a}]`),e=0,r="",t=()=>{let n=r.trim();n&&(e+=n.split(/\s+/).length),r="";};for(let n of s)u.test(n)?(t(),e+=1):r+=n;return t(),e}function L({state:s="default",size:a="md",showWordCount:u=false,maxWords:e,className:r,value:t,defaultValue:n,onChange:i,disabled:l,...p}){let[F,g]=react.useState(()=>n??""),c=t!==void 0?String(t):F,y=react.useCallback(f=>{t===void 0&&g(f.target.value),i?.(f);},[t,i]),d=react.useMemo(()=>T(c),[c]),x=e!=null&&d>e;return jsxRuntime.jsxs("div",{className:chunkX5YP5TMY_cjs.a("inline-flex w-full flex-col",r),children:[jsxRuntime.jsx("textarea",{value:c,onChange:y,disabled:l,className:chunkX5YP5TMY_cjs.a("w-full resize-y rounded-md border bg-white text-secondary-900 transition-colors placeholder:text-secondary-400 focus:outline-none dark:bg-secondary-900 dark:text-secondary-100 dark:placeholder:text-secondary-600",E[a],v[x?"error":s],l&&"pointer-events-none opacity-50"),...p}),(u||e!=null)&&jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a("mt-1 self-end text-xs",x?"text-danger-500 dark:text-danger-400":"text-secondary-400 dark:text-secondary-500"),children:e!=null?`${d} / ${e} words`:`${d} words`})]})}exports.a=L;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),jsxRuntime=require('react/jsx-runtime');function s({intent:t,size:o,className:e,...p}){return jsxRuntime.jsx("span",{className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.b({intent:t,size:o}),e),...p})}exports.a=s;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunk2JLNRAXS_cjs=require('./chunk-2JLNRAXS.cjs'),chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),jsxRuntime=require('react/jsx-runtime');function u({intent:t,size:r,className:o,...i}){return jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.f({intent:t,size:r}),o),...i})}function x({className:t,...r}){return jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("mb-4 space-y-1",t),...r})}function v({className:t,...r}){return jsxRuntime.jsx("h3",{className:chunkX5YP5TMY_cjs.a("text-primary-900 dark:text-primary-100 text-lg font-semibold",t),...r})}function y({className:t,...r}){return jsxRuntime.jsx("p",{className:chunkX5YP5TMY_cjs.a("text-primary-500 dark:text-primary-400 text-sm",t),...r})}function H({className:t,...r}){return jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("text-primary-700 dark:text-primary-300 text-sm",t),...r})}function g({className:t,...r}){return jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("border-primary-100 dark:border-primary-800 mt-4 flex items-center gap-2 border-t pt-4",t),...r})}function h({intent:t,media:r,mediaPosition:o="left",stackOnMobile:i=false,className:n,children:s,...d}){let c=jsxRuntime.jsx("div",{className:chunkX5YP5TMY_cjs.a("relative shrink-0 overflow-hidden",i?"h-48 w-full rounded-t-lg sm:h-auto sm:w-auto":"",!i&&(o==="left"?"rounded-l-lg":"rounded-r-lg")),style:i?void 0:{width:r.width??"10rem"},children:r.src?jsxRuntime.jsx("img",{src:r.src,alt:r.alt??"",className:"h-full w-full object-cover",draggable:false}):r.icon?jsxRuntime.jsx("div",{className:"bg-primary-100 text-primary-500 dark:bg-primary-800 dark:text-primary-400 flex h-full w-full items-center justify-center",children:r.icon}):null});return jsxRuntime.jsxs("div",{className:chunkX5YP5TMY_cjs.a(chunk2JLNRAXS_cjs.f({intent:t}),"flex overflow-hidden p-0",i?"flex-col sm:flex-row":"",!i&&o==="right"&&"flex-row-reverse",!i&&o==="left"&&"flex-row",n),...d,children:[c,jsxRuntime.jsx("div",{className:"flex min-w-0 flex-1 flex-col p-4",children:s})]})}exports.a=u;exports.b=x;exports.c=v;exports.d=y;exports.e=H;exports.f=g;exports.g=h;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {l,j,k}from'./chunk-XAOBJSFW.js';import {a}from'./chunk-AXBJKPZZ.js';import {createContext,useState,useCallback,useContext}from'react';import {ChevronDown}from'lucide-react';import {jsx,jsxs}from'react/jsx-runtime';var d=createContext(null),u=createContext(null);function V({type:e="single",defaultValue:n=[],value:i,onValueChange:t,intent:r,size:l$1,className:C,children:y,...I}){let[P,T]=useState(n),m=i??P,E=useCallback(a=>{let x=p=>p.includes(a)?p.filter(b=>b!==a):e==="single"?[a]:[...p,a];t?t(x(m)):T(x);},[e,m,t]);return jsx(d.Provider,{value:{expandedItems:m,toggleItem:E,size:l$1},children:jsx("div",{className:a(l({intent:r}),C),...I,children:y})})}function D({value:e,className:n,children:i,...t}){let l=useContext(d)?.expandedItems.includes(e)??false;return jsx(u.Provider,{value:{value:e,isExpanded:l},children:jsx("div",{className:a("",n),...t,children:i})})}function B({className:e,children:n,...i}){let t=useContext(d),r=useContext(u);return jsxs("button",{className:a("text-primary-800 hover:text-primary-600 dark:text-primary-100 dark:hover:text-primary-300 cursor-pointer gap-2 font-medium transition-colors",j({size:t?.size}),e),onClick:()=>r&&t?.toggleItem(r.value),"aria-expanded":r?.isExpanded?"true":"false",...i,children:[jsx("span",{className:"flex items-center gap-1.5 [&_svg]:shrink-0",children:n}),jsx(ChevronDown,{className:a("shrink-0 transition-transform duration-200",r?.isExpanded&&"rotate-180")})]})}function S({className:e,children:n,...i}){let t=useContext(d),r=useContext(u);return jsx("div",{className:a("grid transition-[grid-template-rows] duration-200 ease-out",r?.isExpanded?"grid-rows-[1fr]":"grid-rows-[0fr]"),children:jsx("div",{className:"overflow-hidden",children:jsx("div",{className:a("text-primary-500 dark:text-primary-400",k({size:t?.size}),e),...i,children:n})})})}export{V as a,D as b,B as c,S as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkX5YP5TMY_cjs=require('./chunk-X5YP5TMY.cjs'),B=require('react'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var B__default=/*#__PURE__*/_interopDefault(B);function S(c,i){let r=i.getBoundingClientRect(),n=Math.max(r.width,r.height)*1.2,l=c.clientX-r.left,f=c.clientY-r.top,s=document.createElement("span");s.className="masonry-ripple",s.style.width=`${n}px`,s.style.height=`${n}px`,s.style.left=`${l}px`,s.style.top=`${f}px`,i.appendChild(s),s.addEventListener("animationend",()=>s.remove());}function G({columns:c,columnWidth:i=240,gap:r=16,items:n,onItemClick:l,className:f,style:s,children:T,...A}){let h=B.useRef(null),v=B.useRef([]),[I,O]=B.useState(()=>c??1),[b,P]=B.useState([]),[$,z]=B.useState(0),k=n?n.map((t,e)=>({key:t.key??e,node:t.content})):B__default.default.Children.toArray(T).map((t,e)=>({key:t.key??e,node:t})),d=k.length,H=B.useCallback(t=>c??Math.max(1,Math.floor((t+r)/(i+r))),[c,i,r]),a=B.useCallback(()=>{let t=h.current;if(!t)return;let e=t.clientWidth,o=H(e);O(o);let x=(e-(o-1)*r)/o,m=new Array(o).fill(0),N=[];for(let M=0;M<d;M++){let g=v.current[M],q=g?g.offsetHeight:0,u=0;for(let p=1;p<o;p++)m[p]<m[u]&&(u=p);N.push({top:m[u],left:u*(x+r),width:x}),m[u]+=q+r;}let K=Math.max(0,...m)-(d?r:0);P(N),z(K);},[d,H,r]);B.useEffect(()=>{let t=h.current;if(!t)return;let e=new ResizeObserver(()=>a());return e.observe(t),()=>e.disconnect()},[a]),B.useEffect(()=>{let t=requestAnimationFrame(a);return ()=>cancelAnimationFrame(t)},[a]),B.useEffect(()=>{let t=new ResizeObserver(()=>a());return v.current.forEach(e=>{e&&t.observe(e);}),()=>t.disconnect()},[d,I,a]);let W=B.useCallback((t,e)=>{let o=t.currentTarget;S(t,o),l?.(n?.[e],e);},[l,n]),F=t=>{if(!n)return false;let e=n[t];return !!(e.title||e.description||e.actions)};return jsxRuntime.jsx("div",{ref:h,className:chunkX5YP5TMY_cjs.a("relative",f),style:{...s,height:$},...A,children:k.map((t,e)=>jsxRuntime.jsxs("div",{ref:o=>{v.current[e]=o;},className:"masonry-item",role:"button",tabIndex:0,onClick:o=>W(o,e),onKeyDown:o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),l?.(n?.[e],e));},style:{position:"absolute",top:b[e]?.top??0,left:b[e]?.left??0,width:b[e]?.width??"100%"},children:[t.node,F(e)&&jsxRuntime.jsxs("div",{className:"masonry-item-overlay",children:[n[e].title&&jsxRuntime.jsx("p",{className:"masonry-item-overlay-title",children:n[e].title}),n[e].description&&jsxRuntime.jsx("p",{className:"masonry-item-overlay-desc",children:n[e].description}),n[e].actions&&jsxRuntime.jsx("div",{className:"masonry-item-overlay-actions",children:n[e].actions})]})]},t.key))})}exports.a=G;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {i,m as m$1}from'./chunk-XAOBJSFW.js';import {a}from'./chunk-AXBJKPZZ.js';import {createContext,useContext}from'react';import {jsx,jsxs}from'react/jsx-runtime';var m=createContext({size:"md"});function h({intent:t,size:o="md",className:i$1,...n}){return jsx(m.Provider,{value:{size:o},children:jsx("ul",{className:a(i({intent:t}),i$1),...n})})}function v({actions:t,className:o,children:i,...n}){let{size:p}=useContext(m);return jsxs("li",{className:a(m$1({size:p}),o),...n,children:[jsx("span",{className:"flex min-w-0 flex-1 items-center gap-1.5",children:i}),t&&jsx("span",{className:"ml-auto flex shrink-0 items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100 [@media(hover:none)]:opacity-100 [@media(hover:none)]:[&>button]:min-h-(--row-action-touch-min) [@media(hover:none)]:[&>button]:min-w-(--row-action-touch-min) [@media(hover:none)]:[&>button]:flex [@media(hover:none)]:[&>button]:items-center [@media(hover:none)]:[&>button]:justify-center",children:t})]})}export{h as a,v as b};
|