@tribepad/themis 1.6.6 → 1.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/elements/NumberField/NumberField.types.d.ts +1 -1
  3. package/dist/elements/NumberField/NumberField.types.d.ts.map +1 -1
  4. package/dist/elements/NumberField/index.js +1 -1
  5. package/dist/elements/NumberField/index.js.map +1 -1
  6. package/dist/elements/NumberField/index.mjs +1 -1
  7. package/dist/elements/NumberField/index.mjs.map +1 -1
  8. package/dist/elements/Resizable/index.js +1 -1
  9. package/dist/elements/Resizable/index.js.map +1 -1
  10. package/dist/elements/Resizable/index.mjs +1 -1
  11. package/dist/elements/Resizable/index.mjs.map +1 -1
  12. package/dist/elements/Table/TableCardList.d.ts +1 -1
  13. package/dist/elements/Table/TableCardList.d.ts.map +1 -1
  14. package/dist/elements/Table/TableCardList.styles.d.ts +3 -0
  15. package/dist/elements/Table/TableCardList.styles.d.ts.map +1 -1
  16. package/dist/elements/Table/TableCardList.types.d.ts +17 -0
  17. package/dist/elements/Table/TableCardList.types.d.ts.map +1 -1
  18. package/dist/elements/Table/index.js +1 -1
  19. package/dist/elements/Table/index.js.map +1 -1
  20. package/dist/elements/Table/index.mjs +1 -1
  21. package/dist/elements/Table/index.mjs.map +1 -1
  22. package/dist/elements/index.js +1 -1
  23. package/dist/elements/index.js.map +1 -1
  24. package/dist/elements/index.mjs +1 -1
  25. package/dist/elements/index.mjs.map +1 -1
  26. package/dist/index.js +2 -2
  27. package/dist/index.js.map +1 -1
  28. package/dist/index.mjs +2 -2
  29. package/dist/index.mjs.map +1 -1
  30. package/package.json +1 -1
  31. package/src/elements/NumberField/NumberField.stories.tsx +2 -2
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- 'use strict';var react=require('react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime'),zod=require('zod'),classVarianceAuthority=require('class-variance-authority'),lucideReact=require('lucide-react'),reactAriaComponents=require('react-aria-components');function z(...o){return tailwindMerge.twMerge(clsx.clsx(o))}var ie=react.createContext(null);ie.displayName="ResizableContext";function K(){let o=react.useContext(ie);if(!o)throw new Error("useResizableContext must be used within a ResizablePanelGroup. Make sure ResizablePanel and ResizableHandle are children of ResizablePanelGroup.");return o}function Pe({direction:o,groupLabel:e,sizes:r,onSizesChange:t}){let[u,n]=react.useState([]),[a,l]=react.useState([]),i=react.useRef(null),d=react.useRef(null),v=react.useRef(null),f=react.useRef(false),T=r!==void 0,R=T?r:u,S=react.useCallback(b=>{T?t?.(b):n(b);},[T,t]),P=react.useCallback((b,s)=>{l(_=>{let A=[..._];return A[b]=s,A});},[]),D=react.useCallback(b=>{l(s=>{let _=[...s];return delete _[b],_.filter(Boolean)});},[]);react.useEffect(()=>{if(T||f.current)return;let s=a.filter(Boolean).length;if(s<2)return;if(R.length<s||R.some(A=>A===void 0)){let A=[],p=100/s;for(let m=0;m<s;m++)A[m]=p;f.current=true,n(A);}},[a,R,T]),react.useEffect(()=>()=>{v.current&&clearTimeout(v.current),d.current&&(document.body.removeChild(d.current),d.current=null);},[]);let h=react.useCallback(b=>{if(!d.current){let s=document.createElement("div");s.setAttribute("aria-live","polite"),s.setAttribute("aria-atomic","true"),s.className="sr-only",s.style.cssText="position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;",document.body.appendChild(s),d.current=s;}d.current.textContent=b,v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{d.current&&(d.current.textContent="");},1e3);},[]);return {direction:o,groupLabel:e,sizes:R,setSizes:S,panels:a,registerPanel:P,unregisterPanel:D,announce:h,containerRef:i}}var De=react.forwardRef(function({direction:e,groupLabel:r,sizes:t,onSizesChange:u,className:n,children:a},l){let i=Pe({direction:e,groupLabel:r,sizes:t,onSizesChange:u});return react.useImperativeHandle(l,()=>i.containerRef.current,[i.containerRef]),jsxRuntime.jsx(ie.Provider,{value:i,children:jsxRuntime.jsx("div",{ref:i.containerRef,role:"group","aria-label":`${r}, ${e}`,"data-direction":e,className:z("flex h-full w-full",e==="horizontal"?"flex-row":"flex-col",n),children:a})})});De.displayName="ResizablePanelGroup";var $=10,Y=90,se=300,Oe=zod.z.object({label:zod.z.string().min(1),sizes:zod.z.array(zod.z.number().min(0).max(100))}),Et=zod.z.object({direction:zod.z.enum(["horizontal","vertical"]),groupLabel:zod.z.string().min(1),sizes:zod.z.array(zod.z.number().min(0).max(100)).optional(),onSizesChange:zod.z.function().optional(),className:zod.z.string().optional(),children:zod.z.custom()}),St=zod.z.object({name:zod.z.string().min(1),defaultSize:zod.z.number().min(0).max(100).optional(),minSize:zod.z.number().min(0).max(100).optional().default($),maxSize:zod.z.number().min(0).max(100).optional().default(Y),collapsible:zod.z.boolean().optional().default(false),onCollapse:zod.z.function().optional(),onExpand:zod.z.function().optional(),onResize:zod.z.function().optional(),className:zod.z.string().optional(),children:zod.z.custom()}),Rt=zod.z.object({withHandle:zod.z.boolean().optional().default(true),presets:zod.z.array(Oe).optional(),disabled:zod.z.boolean().optional().default(false),className:zod.z.string().optional()}),xe=classVarianceAuthority.cva(["relative flex items-center justify-center","shrink-0","bg-transparent","transition-colors duration-150","focus-visible:outline-none focus-visible:ring-2","focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2","touch-none select-none"],{variants:{direction:{horizontal:["w-3 min-w-[12px]","cursor-col-resize","hover:bg-[var(--accent)]/50","before:absolute before:inset-y-0 before:-inset-x-4","before:min-w-[44px]"],vertical:["h-3 min-h-[12px]","cursor-row-resize","hover:bg-[var(--accent)]/50","before:absolute before:inset-x-0 before:-inset-y-4","before:min-h-[44px]"]},disabled:{true:"cursor-not-allowed opacity-50 pointer-events-none",false:""},isDragging:{true:"bg-[var(--accent)]",false:""}},defaultVariants:{direction:"horizontal",disabled:false,isDragging:false}}),ve=classVarianceAuthority.cva(["flex items-center justify-center","rounded-full","bg-[var(--border)]","text-[var(--menu-muted)]"],{variants:{direction:{horizontal:"h-8 w-1",vertical:"h-1 w-8"}},defaultVariants:{direction:"horizontal"}});var Ve=react.forwardRef(function({name:e,defaultSize:r,minSize:t=$,maxSize:u=Y,collapsible:n=false,onCollapse:a,onExpand:l,onResize:i,className:d,children:v},f){let{sizes:T,registerPanel:R,unregisterPanel:S,containerRef:P}=K(),D=react.useRef(null),[h,b]=react.useState(-1),s=react.useRef(null),_=react.useRef(false),A=react.useRef(-1);react.useEffect(()=>{let m=D.current,x=P.current;if(!m||!x)return;let N=x.querySelectorAll("[data-resizable-panel]"),y=-1;for(let C=0;C<N.length;C++)if(N[C]===m){y=C;break}if(y!==-1)return h!==y&&b(y),_.current||(_.current=true,A.current=y,R(y,{name:e,minSize:t,maxSize:u,collapsible:n})),()=>{_.current&&(S(A.current),_.current=false);}},[P,R,S,e,t,u,n,h]);let p=h>=0?T[h]??50:50;return react.useEffect(()=>{if(s.current===null){s.current=p;return}let m=s.current===0,x=p===0;!m&&x&&a?a():m&&!x&&l&&l(),i&&s.current!==p&&i(p),s.current=p;},[p,a,l,i]),jsxRuntime.jsx("div",{ref:m=>{D.current=m,typeof f=="function"?f(m):f&&(f.current=m);},role:"region","aria-label":e,"data-resizable-panel":"","data-panel-name":e,"data-panel-index":h,"data-collapsed":p===0,style:{flexBasis:`${p}%`,flexGrow:0,flexShrink:0,overflow:"hidden"},className:z("relative",d),children:v})});Ve.displayName="ResizablePanel";function Me(o,e,r){return Math.max(e,Math.min(r,o))}function He(o,e,r,t,u){let n=[...o],a=e[r],l=e[t];if(!a||!l)return o;let i=o[r]??50,d=o[t]??50,v=i+u,f,T=a.collapsible?0:a.minSize,R=a.maxSize,S=l.collapsible?0:l.minSize,P=l.maxSize;return v=Me(v,T,R),f=i+d-v,f=Me(f,S,P),v=i+d-f,n[r]=v,n[t]=f,n}function Fe({direction:o,sizes:e,setSizes:r,panels:t,containerRef:u,leftPanelIndex:n,rightPanelIndex:a,disabled:l=false,announce:i,groupLabel:d,onOpenPopover:v}){let[f,T]=react.useState(false),R=react.useRef(null),S=react.useRef(null),P=react.useRef(0),D=react.useRef(false),h=react.useRef(t),b=react.useRef(e),s=react.useRef(r),_=react.useRef(()=>{}),A=react.useRef(()=>{});react.useEffect(()=>{h.current=t,b.current=e,s.current=r;},[t,e,r]);let p=react.useCallback(()=>{let g=u.current;return g?o==="horizontal"?g.offsetWidth:g.offsetHeight:0},[u,o]),m=react.useCallback(g=>{let L=p();return L===0?0:g/L*100},[p]),x=react.useCallback(g=>{_.current(g);},[]),N=react.useCallback(()=>{A.current();},[]),y=react.useCallback(g=>{if(!R.current||l)return;let O=(o==="horizontal"?g.clientX:g.clientY)-R.current.position,I=m(O),w=He(R.current.sizes,h.current,n,a,I);s.current(w);},[o,l,n,m,a]),C=react.useCallback(()=>{if(S.current&&(clearTimeout(S.current),S.current=null),Date.now()-P.current<se&&!D.current&&v&&!l&&v(),f){T(false);let O=h.current[n],I=Math.round(b.current[n]??50);i&&O&&d&&i(`${O.name} in ${d} resized to ${I} percent`);}R.current=null,D.current=false,document.removeEventListener("pointermove",x),document.removeEventListener("pointerup",N),document.removeEventListener("pointercancel",N),document.body.style.cursor="",document.body.style.userSelect="";},[i,l,d,f,n,v,x,N]);react.useEffect(()=>{_.current=y,A.current=C;});let U=react.useCallback(g=>{if(l)return;g.preventDefault();let L=o==="horizontal"?g.clientX:g.clientY;P.current=Date.now(),D.current=false,R.current={position:L,sizes:[...e],containerSize:p()},S.current=setTimeout(()=>{D.current=true,T(true),document.body.style.cursor=o==="horizontal"?"col-resize":"row-resize",document.body.style.userSelect="none";},se),document.addEventListener("pointermove",x),document.addEventListener("pointerup",N),document.addEventListener("pointercancel",N),g.pointerType==="mouse"&&(S.current&&(clearTimeout(S.current),S.current=null),D.current=true,T(true),document.body.style.cursor=o==="horizontal"?"col-resize":"row-resize",document.body.style.userSelect="none");},[o,l,p,x,N,e]),V=react.useCallback(g=>{if(l)return;let L=g.shiftKey?10:1,O=0;switch(g.key){case "ArrowLeft":case "ArrowUp":O=-L;break;case "ArrowRight":case "ArrowDown":O=L;break;case "Home":{let I=t[n];I&&(O=(I.collapsible?0:I.minSize)-(e[n]??50));break}case "End":{let I=t[n];I&&(O=I.maxSize-(e[n]??50));break}case "Enter":case " ":g.preventDefault(),v?.();return;default:return}if(O!==0){g.preventDefault();let I=He(e,t,n,a,O);r(I);let w=t[n],F=Math.round(I[n]??50);i&&w&&d&&i(`${w.name} in ${d} resized to ${F} percent`);}},[i,l,d,n,v,t,a,r,e]);return react.useEffect(()=>{let g=x,L=N;return ()=>{S.current&&clearTimeout(S.current),document.removeEventListener("pointermove",g),document.removeEventListener("pointerup",L),document.removeEventListener("pointercancel",L);}},[x,N]),{isDragging:f,handlePointerDown:U,handleKeyDown:V}}function Nt(o){if(!(o instanceof Element))return false;let e=o;for(let u=0;e&&u<100;u++){let n=e.tagName?.toLowerCase()??"";if(n.startsWith("grammarly-")||n.startsWith("lt-")||e.hasAttribute("data-grammarly-shadow-root"))return true;if(e.parentElement)e=e.parentElement;else {let a=e.getRootNode();e=a instanceof ShadowRoot?a.host:null;}}let r=o;for(;r&&!r.tagName.includes("-");)r=r.parentElement;if(!r)return false;let t=r.parentElement;return t===document.body||t===document.documentElement}function Ge(o){return e=>!Nt(e)&&(o?.(e)??true)}var Ee=classVarianceAuthority.cva("inline-flex justify-center min-h-[44px] min-w-[44px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",{variants:{fullWidth:{true:"w-full",false:""},inVerticalGroup:{true:"items-stretch",false:"items-center"}},defaultVariants:{fullWidth:false,inVerticalGroup:false}}),Se=classVarianceAuthority.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-normal ring-offset-background motion-safe:transition-transform motion-safe:duration-200 motion-safe:[transition-timing-function:cubic-bezier(0.34,1.56,0.64,1)] motion-reduce:transition-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 relative cursor-pointer",{variants:{variant:{default:"bg-[var(--primary-action)] text-[var(--primary-action-foreground)] shadow-md hover:bg-[var(--primary-action-hover)] hover:-translate-y-1",destructive:"bg-[var(--destructive-background)] text-[var(--destructive-foreground)] hover:bg-[var(--destructive-background-hover,var(--destructive-background))] motion-safe:hover:btn-warn-shake",outline:"border border-[var(--input-border)] bg-[var(--page-background)] hover:bg-[var(--input-border)]",secondary:"bg-[var(--secondary)] text-[var(--secondary-foreground)] hover:bg-[var(--secondary-hover,var(--secondary))]",ghost:"hover:bg-[var(--accent)] hover:text-[var(--accent-foreground)]",link:"text-[var(--text-link)] underline underline-offset-4 hover:bg-[var(--accent)] hover:text-[var(--text-link-hover)]"},fullWidth:{true:"w-full",false:""},visualSize:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3 text-xs",lg:"h-11 rounded-md px-6 text-base",icon:"h-10 w-10",dot:"h-5 w-5 rounded-full p-0 min-h-0 min-w-0"},paywall:{true:"!bg-[var(--paywall)] !text-[var(--paywall-foreground)] hover:!bg-[var(--paywall)]/90 !cursor-not-allowed !border-transparent",false:""}},defaultVariants:{variant:"default",visualSize:"default",paywall:false}});var Re="data-[pressed]:scale-[0.97]";var ue="hc:data-[hovered]:outline hc:data-[hovered]:outline-2 hc:data-[hovered]:outline-foreground",ce="hc:data-[pressed]:outline hc:data-[pressed]:outline-2 hc:data-[pressed]:outline-offset-1 hc:data-[pressed]:outline-foreground";var Ye=react.createContext(null);Ye.displayName="ButtonGroupContext";function Ze(){return react.useContext(Ye)}var je=react.createContext(null);je.displayName="ButtonGroupItemContext";function Xe(){return react.useContext(je)}classVarianceAuthority.cva("inline-flex items-center gap-0",{variants:{orientation:{horizontal:"flex-row",vertical:"flex-col w-full"}},defaultVariants:{orientation:"horizontal"}});var We=classVarianceAuthority.cva("",{variants:{orientation:{horizontal:"min-w-[44px]",vertical:"flex min-h-[44px]"},position:{first:"",middle:"",last:"",only:""}},compoundVariants:[{orientation:"horizontal",position:"first",className:"rounded-r-none border-r-0"},{orientation:"horizontal",position:"middle",className:"rounded-none border-r-0"},{orientation:"horizontal",position:"last",className:"rounded-l-none"},{orientation:"vertical",position:"first",className:"rounded-b-none border-b-0"},{orientation:"vertical",position:"middle",className:"rounded-none border-b-0"},{orientation:"vertical",position:"last",className:"rounded-t-none"}],defaultVariants:{orientation:"horizontal",position:"only"}});classVarianceAuthority.cva("bg-[var(--border)]",{variants:{orientation:{horizontal:"w-px h-6 mx-1",vertical:"h-px w-full my-1"}},defaultVariants:{orientation:"horizontal"}});var G=react.memo(react.forwardRef(({className:o,buttonVisualClassName:e,variant:r,size:t,visualSize:u,fullWidth:n,loading:a=false,loadingText:l="Loading...",shortcut:i,children:d,isDisabled:v,paywall:f=false,paywallRedirect:T,paywallDescription:R,onPress:S,...P},D)=>{let h=react.useId(),b=Ze(),s=Xe(),_=r??b?.variant??"default",A=t??b?.size,p=v??b?.isDisabled??false,m=b?.orientation==="vertical",x=n||m,N=s?We({orientation:b?.orientation??"horizontal",position:s.position}):"",y=u??A??"default";return process.env.NODE_ENV!=="production"&&(y==="dot"||y==="icon")&&!P["aria-label"]&&!d&&console.warn('[Button] visualSize="dot" or "icon" requires aria-label when no visible text is provided (WCAG 1.1.1)'),jsxRuntime.jsx(reactAriaComponents.Button,{ref:D,isDisabled:p||a||void 0,"aria-disabled":f?true:void 0,"aria-describedby":f?h:void 0,onPress:V=>{if(f){T&&window.open(T,"_blank","noopener,noreferrer");return}S?.(V);},className:z(Ee({fullWidth:x,inVerticalGroup:m}),o),...P,children:V=>jsxRuntime.jsxs("span",{className:z(Se({variant:_,visualSize:y,paywall:f,fullWidth:x}),N,e,Re,"",ue,ce),"data-pressed":V.isPressed||void 0,children:[a&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(lucideReact.Loader2,{className:"motion-safe:animate-spin","aria-hidden":"true"}),jsxRuntime.jsx("span",{className:"sr-only","aria-live":"polite",children:l})]}),!a&&d,f&&jsxRuntime.jsx(lucideReact.Zap,{"data-testid":"zap-icon","aria-hidden":"true",className:"ml-1"}),f&&jsxRuntime.jsxs("span",{id:h,className:"sr-only",children:["Premium feature: ",R||"Upgrade required to access this feature"]}),V.isFocusVisible&&i&&jsxRuntime.jsx("kbd",{className:"ml-auto hidden text-xs opacity-60 lg:inline",children:i})]})})}));G.displayName="Button";var J={sm:"text-xs",default:"text-sm",lg:"text-base"};var de={sm:"h-9",default:"h-10",lg:"h-11"},ee={sm:`${de.sm} px-2 text-xs`,default:`${de.default} px-3 text-sm`,lg:`${de.lg} px-4 text-base`},_e="min-h-[44px] flex items-center";function qe(o,e){return !(o===false||e)}var Ke="(prefers-reduced-motion: reduce)";function Ht(){return typeof window>"u"?false:window.matchMedia(Ke).matches}function Qe(){let[o,e]=react.useState(Ht);return react.useEffect(()=>{let r=window.matchMedia(Ke);e(r.matches);let t=u=>{e(u.matches);};return r.addEventListener("change",t),()=>r.removeEventListener("change",t)},[]),o}var Je=4294967295,et=0,tt=-2147483647;zod.z.object({value:zod.z.number().nullable().optional(),defaultValue:zod.z.number().optional(),minValue:zod.z.number().optional(),maxValue:zod.z.number().optional(),allowNegative:zod.z.boolean().optional(),step:zod.z.number().positive().optional(),formatOptions:zod.z.custom().optional(),isDisabled:zod.z.boolean().optional(),isReadOnly:zod.z.boolean().optional(),isRequired:zod.z.boolean().optional(),isInvalid:zod.z.boolean().optional(),isWheelDisabled:zod.z.boolean().optional(),validate:zod.z.function().optional(),validationBehavior:zod.z.enum(["native","aria"]).default("native"),label:zod.z.string(),description:zod.z.string().optional(),errorMessage:zod.z.union([zod.z.string(),zod.z.function()]).optional(),stepperLayout:zod.z.enum(["sides","stacked","hidden"]).default("sides"),incrementAriaLabel:zod.z.string().optional(),decrementAriaLabel:zod.z.string().optional(),name:zod.z.string().optional(),size:zod.z.enum(["sm","default","lg"]).default("default"),onChange:zod.z.function().optional(),onFocus:zod.z.function().optional(),onBlur:zod.z.function().optional(),onFocusChange:zod.z.function().optional(),animated:zod.z.boolean().optional().default(true),springConfig:zod.z.object({stiffness:zod.z.number(),damping:zod.z.number()}).optional(),className:zod.z.string().optional(),autoFocus:zod.z.boolean().optional()});var nt=classVarianceAuthority.cva(["inline-flex items-center rounded-md border","bg-[var(--content-background)] text-[var(--content-foreground)]","transition-colors duration-200","focus-within:ring-2 focus-within:ring-[var(--ring)] focus-within:ring-offset-2","data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50"],{variants:{size:{sm:`${ee.sm}`,default:`${ee.default}`,lg:`${ee.lg}`},isInvalid:{true:"border-[var(--destructive-background)] focus-within:ring-[var(--destructive-background)]",false:"border-[var(--input-border)] hover:border-[var(--input-border)]/80"}},defaultVariants:{size:"default",isInvalid:false}}),ot=classVarianceAuthority.cva(["flex-1 bg-transparent text-center tabular-nums","min-w-0","focus:outline-none","[appearance:textfield]","[&::-webkit-outer-spin-button]:appearance-none","[&::-webkit-inner-spin-button]:appearance-none"],{variants:{size:{sm:`px-2 ${J.sm}`,default:`px-3 ${J.default}`,lg:`px-4 ${J.lg}`}},defaultVariants:{size:"default"}}),te=classVarianceAuthority.cva(["flex items-center justify-center","transition-colors duration-150","select-none","hover:bg-[var(--accent)] hover:text-[var(--accent-foreground)]","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]","focus-visible:ring-inset","active:bg-[var(--accent)]/80","disabled:pointer-events-none disabled:opacity-50"],{variants:{size:{sm:"min-w-8 min-h-8 text-sm",default:"min-w-10 min-h-10 text-base",lg:"min-w-12 min-h-12 text-lg"},position:{left:"rounded-l-md border-r border-[var(--input-border)]",right:"rounded-r-md border-l border-[var(--input-border)]",top:"rounded-tr-md border-b border-l border-[var(--input-border)] h-1/2",bottom:"rounded-br-md border-l border-[var(--input-border)] h-1/2"}},defaultVariants:{size:"default"}}),rt=classVarianceAuthority.cva(["block font-medium text-[var(--content-foreground)]","mb-1.5",'data-[required]:after:content-["*"] data-[required]:after:ml-0.5',"data-[required]:after:text-[var(--destructive-background)]"],{variants:{size:{sm:"text-sm",default:"text-sm",lg:"text-base"}},defaultVariants:{size:"default"}}),at=classVarianceAuthority.cva(["text-[var(--menu-muted)]","mt-1"],{variants:{size:{sm:"text-xs",default:"text-sm",lg:"text-base"}},defaultVariants:{size:"default"}}),it=classVarianceAuthority.cva(["flex items-center gap-1","text-[var(--destructive-background)]","font-medium","mt-1"],{variants:{size:{sm:"text-xs",default:"text-sm",lg:"text-base"}},defaultVariants:{size:"default"}});var ne;function Zt(){return ne!==void 0?Promise.resolve(ne):import('motion').then(o=>(ne=o.animate,ne)).catch(()=>(ne=null,null))}function jt(o,e){if(e)try{let r={...e};return r.style==="currency"&&!r.currencyDisplay&&(r.currencyDisplay="narrowSymbol"),new Intl.NumberFormat(void 0,r).format(o)}catch{return String(Math.round(o))}return String(Math.round(o))}var fe=react.forwardRef(({label:o,description:e,errorMessage:r,size:t="default",stepperLayout:u="sides",allowNegative:n=false,incrementAriaLabel:a,decrementAriaLabel:l,animated:i,springConfig:d,onChange:v,value:f,defaultValue:T,formatOptions:R,minValue:S,maxValue:P,className:D,isInvalid:h,isRequired:b,isDisabled:s,isReadOnly:_,...A},p)=>{let m=S??(n?tt:et),x=P??Je,N=u!=="hidden"&&!_,y=Qe(),C=qe(i,y)&&N,U=react.useRef(null),V=react.useRef(f??T??0),g=react.useRef(void 0),L=react.useRef(null);react.useEffect(()=>{C&&Zt().then(w=>{g.current=w??null;});},[C]),react.useEffect(()=>()=>{L.current?.stop();},[]);let O=w=>{let F=V.current;if(C&&g.current&&U.current&&F!==w){L.current?.stop();let q=w,Z=U.current,j=Z.parentElement?.querySelector("input");Z.style.display="",j&&(j.style.color="transparent"),L.current=g.current(F,q,{type:"spring",stiffness:d?.stiffness??500,damping:d?.damping??30,onUpdate:Ie=>{V.current=Ie,Z.textContent=jt(Ie,R);},onComplete:()=>{Z.style.display="none",j&&(j.style.color=""),L.current=null,V.current=q;}});}else V.current=w;v?.(w);},I=u==="stacked";return jsxRuntime.jsxs(reactAriaComponents.NumberField,{ref:p,className:z("group flex flex-col",D),minValue:m,maxValue:x,isInvalid:h,isRequired:b,isDisabled:s,isReadOnly:_,value:f,defaultValue:T,formatOptions:R,onChange:O,...A,children:[jsxRuntime.jsx(reactAriaComponents.Label,{className:z(rt({size:t})),"data-required":b||void 0,children:o}),jsxRuntime.jsxs(reactAriaComponents.Group,{className:z(_e,nt({size:t,isInvalid:h??false}),I&&"pr-0"),children:[N&&!I&&jsxRuntime.jsx(G,{slot:"decrement",variant:"ghost",className:"!min-h-0 !min-w-0",buttonVisualClassName:z(te({size:t,position:"left"})),"aria-label":l??"Decrease value",children:jsxRuntime.jsx(lucideReact.Minus,{className:"h-4 w-4","aria-hidden":"true"})}),jsxRuntime.jsxs("div",{className:"relative flex flex-1",children:[jsxRuntime.jsx(reactAriaComponents.Input,{className:z(ot({size:t}),"w-full")}),C&&jsxRuntime.jsx("span",{ref:U,className:z("absolute inset-0 flex items-center justify-center","pointer-events-none bg-[var(--content-background)] tabular-nums",t==="sm"&&"px-2 text-sm",t==="default"&&"px-3 text-base",t==="lg"&&"px-4 text-lg"),style:{display:"none"},"aria-hidden":"true"})]}),N&&I&&jsxRuntime.jsxs("div",{className:"flex flex-col h-full",children:[jsxRuntime.jsx(G,{slot:"increment",variant:"ghost",className:"!min-h-0 !min-w-0",buttonVisualClassName:z(te({size:t,position:"top"})),"aria-label":a??"Increase value",children:jsxRuntime.jsx(lucideReact.Plus,{className:"h-3 w-3","aria-hidden":"true"})}),jsxRuntime.jsx(G,{slot:"decrement",variant:"ghost",className:"!min-h-0 !min-w-0",buttonVisualClassName:z(te({size:t,position:"bottom"})),"aria-label":l??"Decrease value",children:jsxRuntime.jsx(lucideReact.Minus,{className:"h-3 w-3","aria-hidden":"true"})})]}),N&&!I&&jsxRuntime.jsx(G,{slot:"increment",variant:"ghost",className:"!min-h-0 !min-w-0",buttonVisualClassName:z(te({size:t,position:"right"})),"aria-label":a??"Increase value",children:jsxRuntime.jsx(lucideReact.Plus,{className:"h-4 w-4","aria-hidden":"true"})})]}),e&&jsxRuntime.jsx(reactAriaComponents.Text,{slot:"description",className:z(at({size:t})),children:e}),jsxRuntime.jsx(reactAriaComponents.FieldError,{className:z(it({size:t})),children:r})]})});fe.displayName="NumberField";var Ne=react.forwardRef(function({isOpen:e,onOpenChange:r,groupLabel:t,leftPanel:u,rightPanel:n,leftSize:a,rightSize:l,onSizesChange:i,presets:d,triggerRef:v,direction:f},T){let[R,S]=react.useState({left:a,right:l}),P=react.useRef(false);react.useEffect(()=>{e&&!P.current&&S({left:a,right:l}),P.current=e;},[e,a,l]);let D=react.useCallback(p=>{if(p===null)return;let m=Math.max(u.collapsible?0:u.minSize,Math.min(u.maxSize,p)),x=100-m,N=n.collapsible?0:n.minSize,y=n.maxSize;x<N||x>y||i(m,x);},[u,n,i]),h=react.useCallback(p=>{if(p===null)return;let m=Math.max(n.collapsible?0:n.minSize,Math.min(n.maxSize,p)),x=100-m,N=u.collapsible?0:u.minSize,y=u.maxSize;x<N||x>y||i(x,m);},[u,n,i]),b=react.useCallback(p=>{let m=p.sizes[0],x=p.sizes[1];m!==void 0&&x!==void 0&&i(m,x);},[i]),s=react.useCallback(()=>{i(R.left,R.right),r(false);},[i,r,R]),_=react.useCallback(()=>{r(false);},[r]);if(!e)return null;let A=f==="horizontal"?"bottom":"right";return jsxRuntime.jsxs(reactAriaComponents.DialogTrigger,{isOpen:e,onOpenChange:r,children:[jsxRuntime.jsx(reactAriaComponents.Button,{className:"sr-only",children:"Open resize controls"}),jsxRuntime.jsx(reactAriaComponents.Popover,{triggerRef:v,shouldCloseOnInteractOutside:Ge(),placement:A,offset:8,className:z("w-72","rounded-lg border border-[var(--border)]","bg-[var(--content-background)] text-[var(--content-foreground)]","outline-none","motion-safe:animate-in motion-safe:fade-in-0 motion-safe:zoom-in-95","data-[exiting]:motion-safe:animate-out data-[exiting]:motion-safe:fade-out-0 data-[exiting]:motion-safe:zoom-out-95"),children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{className:"outline-none",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between border-b border-[var(--border)] px-4 py-3",children:[jsxRuntime.jsxs("h3",{className:"text-sm font-medium",children:["Resize: ",t]}),jsxRuntime.jsx(reactAriaComponents.Button,{onPress:_,className:z("inline-flex items-center justify-center rounded-md","min-h-[44px] min-w-[44px]","text-[var(--menu-muted)]","hover:bg-[var(--accent)] hover:text-[var(--accent-foreground)]","focus-visible:outline-none focus-visible:ring-2","focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2"),"aria-label":"Close",children:jsxRuntime.jsx(lucideReact.X,{className:"h-4 w-4"})})]}),jsxRuntime.jsxs("div",{className:"space-y-4 px-4 py-4",children:[jsxRuntime.jsx("div",{children:jsxRuntime.jsx(fe,{label:`${u.name} (%)`,value:Math.round(a),onChange:D,minValue:u.collapsible?0:u.minSize,maxValue:u.maxSize,step:1,stepperLayout:"sides"})}),jsxRuntime.jsx("div",{children:jsxRuntime.jsx(fe,{label:`${n.name} (%)`,value:Math.round(l),onChange:h,minValue:n.collapsible?0:n.minSize,maxValue:n.maxSize,step:1,stepperLayout:"sides"})}),d&&d.length>0&&jsxRuntime.jsxs("div",{className:"border-t border-[var(--border)] pt-4",children:[jsxRuntime.jsx("div",{className:"mb-2 text-xs font-medium text-[var(--menu-muted)]",children:"Presets"}),jsxRuntime.jsx("div",{className:"flex flex-wrap gap-2",children:d.map((p,m)=>jsxRuntime.jsx(G,{variant:"outline",size:"sm",onPress:()=>b(p),children:p.label},m))})]})]}),jsxRuntime.jsx("div",{className:"flex justify-end border-t border-[var(--border)] px-4 py-3",children:jsxRuntime.jsx(G,{variant:"ghost",size:"sm",onPress:s,children:"Cancel"})})]})})]})});Ne.displayName="ResizablePopover";var mt=react.forwardRef(function({withHandle:e=true,presets:r,disabled:t=false,className:u},n){let{direction:a,groupLabel:l,sizes:i,setSizes:d,panels:v,announce:f,containerRef:T}=K(),R=react.useRef(null),S=n||R,[P,D]=react.useState(0);react.useEffect(()=>{let I=S.current,w=T.current;if(!I||!w)return;let F=w.querySelectorAll('[role="slider"]'),q=0;F.forEach((Z,j)=>{Z===I&&(q=j);}),D(q);},[T,S]);let h=P,b=P+1,s=v[h],_=v[b],A=i[h]??50,p=i[b]??50,[m,x]=react.useState(false),N=react.useCallback((I,w)=>{let F=[...i];F[h]=I,F[b]=w,d(F);},[i,d,h,b]),{isDragging:y,handlePointerDown:C,handleKeyDown:U}=Fe({direction:a,sizes:i,setSizes:d,panels:v,containerRef:T,leftPanelIndex:h,rightPanelIndex:b,disabled:t,announce:f,groupLabel:l,onOpenPopover:()=>x(true)}),V=s&&_?`Resize handle between ${s.name} and ${_.name} in ${l}`:`Resize handle in ${l}`,g=a==="horizontal"?lucideReact.GripVertical:lucideReact.GripHorizontal,L=s??{name:"Panel 1",minSize:$,maxSize:Y,collapsible:false},O=_??{name:"Panel 2",minSize:$,maxSize:Y,collapsible:false};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{ref:S,role:"slider",tabIndex:t?-1:0,"aria-label":V,"aria-valuenow":Math.round(A),"aria-valuemin":s?.collapsible?0:s?.minSize??0,"aria-valuemax":s?.maxSize??100,"aria-orientation":a,"aria-disabled":t,"data-direction":a,"data-dragging":y,"data-disabled":t,onPointerDown:C,onKeyDown:U,className:z(xe({direction:a,disabled:t,isDragging:y}),u),children:e&&jsxRuntime.jsx("div",{className:z(ve({direction:a})),"aria-hidden":"true",children:jsxRuntime.jsx(g,{className:"h-4 w-4"})})}),jsxRuntime.jsx(Ne,{isOpen:m,onOpenChange:x,groupLabel:l,leftPanel:L,rightPanel:O,leftSize:A,rightSize:p,onSizesChange:N,presets:r,triggerRef:S,direction:a})]})});mt.displayName="ResizableHandle";exports.DEFAULT_MAX_SIZE=Y;exports.DEFAULT_MIN_SIZE=$;exports.LONG_PRESS_THRESHOLD=se;exports.ResizableHandle=mt;exports.ResizableHandlePropsSchema=Rt;exports.ResizablePanel=Ve;exports.ResizablePanelGroup=De;exports.ResizablePanelGroupPropsSchema=Et;exports.ResizablePanelPropsSchema=St;exports.ResizePresetSchema=Oe;exports.resizableGripVariants=ve;exports.resizableHandleVariants=xe;exports.useResizableContext=K;//# sourceMappingURL=index.js.map
2
+ 'use strict';var react=require('react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime'),zod=require('zod'),classVarianceAuthority=require('class-variance-authority'),lucideReact=require('lucide-react'),reactAriaComponents=require('react-aria-components');function z(...o){return tailwindMerge.twMerge(clsx.clsx(o))}var ie=react.createContext(null);ie.displayName="ResizableContext";function K(){let o=react.useContext(ie);if(!o)throw new Error("useResizableContext must be used within a ResizablePanelGroup. Make sure ResizablePanel and ResizableHandle are children of ResizablePanelGroup.");return o}function Pe({direction:o,groupLabel:e,sizes:r,onSizesChange:t}){let[u,n]=react.useState([]),[a,l]=react.useState([]),i=react.useRef(null),d=react.useRef(null),v=react.useRef(null),f=react.useRef(false),T=r!==void 0,R=T?r:u,S=react.useCallback(b=>{T?t?.(b):n(b);},[T,t]),P=react.useCallback((b,s)=>{l(_=>{let A=[..._];return A[b]=s,A});},[]),D=react.useCallback(b=>{l(s=>{let _=[...s];return delete _[b],_.filter(Boolean)});},[]);react.useEffect(()=>{if(T||f.current)return;let s=a.filter(Boolean).length;if(s<2)return;if(R.length<s||R.some(A=>A===void 0)){let A=[],p=100/s;for(let m=0;m<s;m++)A[m]=p;f.current=true,n(A);}},[a,R,T]),react.useEffect(()=>()=>{v.current&&clearTimeout(v.current),d.current&&(document.body.removeChild(d.current),d.current=null);},[]);let h=react.useCallback(b=>{if(!d.current){let s=document.createElement("div");s.setAttribute("aria-live","polite"),s.setAttribute("aria-atomic","true"),s.className="sr-only",s.style.cssText="position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;",document.body.appendChild(s),d.current=s;}d.current.textContent=b,v.current&&clearTimeout(v.current),v.current=setTimeout(()=>{d.current&&(d.current.textContent="");},1e3);},[]);return {direction:o,groupLabel:e,sizes:R,setSizes:S,panels:a,registerPanel:P,unregisterPanel:D,announce:h,containerRef:i}}var De=react.forwardRef(function({direction:e,groupLabel:r,sizes:t,onSizesChange:u,className:n,children:a},l){let i=Pe({direction:e,groupLabel:r,sizes:t,onSizesChange:u});return react.useImperativeHandle(l,()=>i.containerRef.current,[i.containerRef]),jsxRuntime.jsx(ie.Provider,{value:i,children:jsxRuntime.jsx("div",{ref:i.containerRef,role:"group","aria-label":`${r}, ${e}`,"data-direction":e,className:z("flex h-full w-full",e==="horizontal"?"flex-row":"flex-col",n),children:a})})});De.displayName="ResizablePanelGroup";var $=10,Y=90,se=300,Oe=zod.z.object({label:zod.z.string().min(1),sizes:zod.z.array(zod.z.number().min(0).max(100))}),Et=zod.z.object({direction:zod.z.enum(["horizontal","vertical"]),groupLabel:zod.z.string().min(1),sizes:zod.z.array(zod.z.number().min(0).max(100)).optional(),onSizesChange:zod.z.function().optional(),className:zod.z.string().optional(),children:zod.z.custom()}),St=zod.z.object({name:zod.z.string().min(1),defaultSize:zod.z.number().min(0).max(100).optional(),minSize:zod.z.number().min(0).max(100).optional().default($),maxSize:zod.z.number().min(0).max(100).optional().default(Y),collapsible:zod.z.boolean().optional().default(false),onCollapse:zod.z.function().optional(),onExpand:zod.z.function().optional(),onResize:zod.z.function().optional(),className:zod.z.string().optional(),children:zod.z.custom()}),Rt=zod.z.object({withHandle:zod.z.boolean().optional().default(true),presets:zod.z.array(Oe).optional(),disabled:zod.z.boolean().optional().default(false),className:zod.z.string().optional()}),xe=classVarianceAuthority.cva(["relative flex items-center justify-center","shrink-0","bg-transparent","transition-colors duration-150","focus-visible:outline-none focus-visible:ring-2","focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2","touch-none select-none"],{variants:{direction:{horizontal:["w-3 min-w-[12px]","cursor-col-resize","hover:bg-[var(--accent)]/50","before:absolute before:inset-y-0 before:-inset-x-4","before:min-w-[44px]"],vertical:["h-3 min-h-[12px]","cursor-row-resize","hover:bg-[var(--accent)]/50","before:absolute before:inset-x-0 before:-inset-y-4","before:min-h-[44px]"]},disabled:{true:"cursor-not-allowed opacity-50 pointer-events-none",false:""},isDragging:{true:"bg-[var(--accent)]",false:""}},defaultVariants:{direction:"horizontal",disabled:false,isDragging:false}}),ve=classVarianceAuthority.cva(["flex items-center justify-center","rounded-full","bg-[var(--border)]","text-[var(--menu-muted)]"],{variants:{direction:{horizontal:"h-8 w-1",vertical:"h-1 w-8"}},defaultVariants:{direction:"horizontal"}});var Ve=react.forwardRef(function({name:e,defaultSize:r,minSize:t=$,maxSize:u=Y,collapsible:n=false,onCollapse:a,onExpand:l,onResize:i,className:d,children:v},f){let{sizes:T,registerPanel:R,unregisterPanel:S,containerRef:P}=K(),D=react.useRef(null),[h,b]=react.useState(-1),s=react.useRef(null),_=react.useRef(false),A=react.useRef(-1);react.useEffect(()=>{let m=D.current,x=P.current;if(!m||!x)return;let N=x.querySelectorAll("[data-resizable-panel]"),y=-1;for(let C=0;C<N.length;C++)if(N[C]===m){y=C;break}if(y!==-1)return h!==y&&b(y),_.current||(_.current=true,A.current=y,R(y,{name:e,minSize:t,maxSize:u,collapsible:n})),()=>{_.current&&(S(A.current),_.current=false);}},[P,R,S,e,t,u,n,h]);let p=h>=0?T[h]??50:50;return react.useEffect(()=>{if(s.current===null){s.current=p;return}let m=s.current===0,x=p===0;!m&&x&&a?a():m&&!x&&l&&l(),i&&s.current!==p&&i(p),s.current=p;},[p,a,l,i]),jsxRuntime.jsx("div",{ref:m=>{D.current=m,typeof f=="function"?f(m):f&&(f.current=m);},role:"region","aria-label":e,"data-resizable-panel":"","data-panel-name":e,"data-panel-index":h,"data-collapsed":p===0,style:{flexBasis:`${p}%`,flexGrow:0,flexShrink:0,overflow:"hidden"},className:z("relative",d),children:v})});Ve.displayName="ResizablePanel";function Me(o,e,r){return Math.max(e,Math.min(r,o))}function He(o,e,r,t,u){let n=[...o],a=e[r],l=e[t];if(!a||!l)return o;let i=o[r]??50,d=o[t]??50,v=i+u,f,T=a.collapsible?0:a.minSize,R=a.maxSize,S=l.collapsible?0:l.minSize,P=l.maxSize;return v=Me(v,T,R),f=i+d-v,f=Me(f,S,P),v=i+d-f,n[r]=v,n[t]=f,n}function Fe({direction:o,sizes:e,setSizes:r,panels:t,containerRef:u,leftPanelIndex:n,rightPanelIndex:a,disabled:l=false,announce:i,groupLabel:d,onOpenPopover:v}){let[f,T]=react.useState(false),R=react.useRef(null),S=react.useRef(null),P=react.useRef(0),D=react.useRef(false),h=react.useRef(t),b=react.useRef(e),s=react.useRef(r),_=react.useRef(()=>{}),A=react.useRef(()=>{});react.useEffect(()=>{h.current=t,b.current=e,s.current=r;},[t,e,r]);let p=react.useCallback(()=>{let g=u.current;return g?o==="horizontal"?g.offsetWidth:g.offsetHeight:0},[u,o]),m=react.useCallback(g=>{let L=p();return L===0?0:g/L*100},[p]),x=react.useCallback(g=>{_.current(g);},[]),N=react.useCallback(()=>{A.current();},[]),y=react.useCallback(g=>{if(!R.current||l)return;let O=(o==="horizontal"?g.clientX:g.clientY)-R.current.position,I=m(O),w=He(R.current.sizes,h.current,n,a,I);s.current(w);},[o,l,n,m,a]),C=react.useCallback(()=>{if(S.current&&(clearTimeout(S.current),S.current=null),Date.now()-P.current<se&&!D.current&&v&&!l&&v(),f){T(false);let O=h.current[n],I=Math.round(b.current[n]??50);i&&O&&d&&i(`${O.name} in ${d} resized to ${I} percent`);}R.current=null,D.current=false,document.removeEventListener("pointermove",x),document.removeEventListener("pointerup",N),document.removeEventListener("pointercancel",N),document.body.style.cursor="",document.body.style.userSelect="";},[i,l,d,f,n,v,x,N]);react.useEffect(()=>{_.current=y,A.current=C;});let U=react.useCallback(g=>{if(l)return;g.preventDefault();let L=o==="horizontal"?g.clientX:g.clientY;P.current=Date.now(),D.current=false,R.current={position:L,sizes:[...e],containerSize:p()},S.current=setTimeout(()=>{D.current=true,T(true),document.body.style.cursor=o==="horizontal"?"col-resize":"row-resize",document.body.style.userSelect="none";},se),document.addEventListener("pointermove",x),document.addEventListener("pointerup",N),document.addEventListener("pointercancel",N),g.pointerType==="mouse"&&(S.current&&(clearTimeout(S.current),S.current=null),D.current=true,T(true),document.body.style.cursor=o==="horizontal"?"col-resize":"row-resize",document.body.style.userSelect="none");},[o,l,p,x,N,e]),V=react.useCallback(g=>{if(l)return;let L=g.shiftKey?10:1,O=0;switch(g.key){case "ArrowLeft":case "ArrowUp":O=-L;break;case "ArrowRight":case "ArrowDown":O=L;break;case "Home":{let I=t[n];I&&(O=(I.collapsible?0:I.minSize)-(e[n]??50));break}case "End":{let I=t[n];I&&(O=I.maxSize-(e[n]??50));break}case "Enter":case " ":g.preventDefault(),v?.();return;default:return}if(O!==0){g.preventDefault();let I=He(e,t,n,a,O);r(I);let w=t[n],F=Math.round(I[n]??50);i&&w&&d&&i(`${w.name} in ${d} resized to ${F} percent`);}},[i,l,d,n,v,t,a,r,e]);return react.useEffect(()=>{let g=x,L=N;return ()=>{S.current&&clearTimeout(S.current),document.removeEventListener("pointermove",g),document.removeEventListener("pointerup",L),document.removeEventListener("pointercancel",L);}},[x,N]),{isDragging:f,handlePointerDown:U,handleKeyDown:V}}function Nt(o){if(!(o instanceof Element))return false;let e=o;for(let u=0;e&&u<100;u++){let n=e.tagName?.toLowerCase()??"";if(n.startsWith("grammarly-")||n.startsWith("lt-")||e.hasAttribute("data-grammarly-shadow-root"))return true;if(e.parentElement)e=e.parentElement;else {let a=e.getRootNode();e=a instanceof ShadowRoot?a.host:null;}}let r=o;for(;r&&!r.tagName.includes("-");)r=r.parentElement;if(!r)return false;let t=r.parentElement;return t===document.body||t===document.documentElement}function Ge(o){return e=>!Nt(e)&&(o?.(e)??true)}var Ee=classVarianceAuthority.cva("inline-flex justify-center min-h-[44px] min-w-[44px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",{variants:{fullWidth:{true:"w-full",false:""},inVerticalGroup:{true:"items-stretch",false:"items-center"}},defaultVariants:{fullWidth:false,inVerticalGroup:false}}),Se=classVarianceAuthority.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-normal ring-offset-background motion-safe:transition-transform motion-safe:duration-200 motion-safe:[transition-timing-function:cubic-bezier(0.34,1.56,0.64,1)] motion-reduce:transition-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 relative cursor-pointer",{variants:{variant:{default:"bg-[var(--primary-action)] text-[var(--primary-action-foreground)] shadow-md hover:bg-[var(--primary-action-hover)] hover:-translate-y-1",destructive:"bg-[var(--destructive-background)] text-[var(--destructive-foreground)] hover:bg-[var(--destructive-background-hover,var(--destructive-background))] motion-safe:hover:btn-warn-shake",outline:"border border-[var(--input-border)] bg-[var(--page-background)] hover:bg-[var(--input-border)]",secondary:"bg-[var(--secondary)] text-[var(--secondary-foreground)] hover:bg-[var(--secondary-hover,var(--secondary))]",ghost:"hover:bg-[var(--accent)] hover:text-[var(--accent-foreground)]",link:"text-[var(--text-link)] underline underline-offset-4 hover:bg-[var(--accent)] hover:text-[var(--text-link-hover)]"},fullWidth:{true:"w-full",false:""},visualSize:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3 text-xs",lg:"h-11 rounded-md px-6 text-base",icon:"h-10 w-10",dot:"h-5 w-5 rounded-full p-0 min-h-0 min-w-0"},paywall:{true:"!bg-[var(--paywall)] !text-[var(--paywall-foreground)] hover:!bg-[var(--paywall)]/90 !cursor-not-allowed !border-transparent",false:""}},defaultVariants:{variant:"default",visualSize:"default",paywall:false}});var Re="data-[pressed]:scale-[0.97]";var ue="hc:data-[hovered]:outline hc:data-[hovered]:outline-2 hc:data-[hovered]:outline-foreground",ce="hc:data-[pressed]:outline hc:data-[pressed]:outline-2 hc:data-[pressed]:outline-offset-1 hc:data-[pressed]:outline-foreground";var Ye=react.createContext(null);Ye.displayName="ButtonGroupContext";function Ze(){return react.useContext(Ye)}var je=react.createContext(null);je.displayName="ButtonGroupItemContext";function Xe(){return react.useContext(je)}classVarianceAuthority.cva("inline-flex items-center gap-0",{variants:{orientation:{horizontal:"flex-row",vertical:"flex-col w-full"}},defaultVariants:{orientation:"horizontal"}});var We=classVarianceAuthority.cva("",{variants:{orientation:{horizontal:"min-w-[44px]",vertical:"flex min-h-[44px]"},position:{first:"",middle:"",last:"",only:""}},compoundVariants:[{orientation:"horizontal",position:"first",className:"rounded-r-none border-r-0"},{orientation:"horizontal",position:"middle",className:"rounded-none border-r-0"},{orientation:"horizontal",position:"last",className:"rounded-l-none"},{orientation:"vertical",position:"first",className:"rounded-b-none border-b-0"},{orientation:"vertical",position:"middle",className:"rounded-none border-b-0"},{orientation:"vertical",position:"last",className:"rounded-t-none"}],defaultVariants:{orientation:"horizontal",position:"only"}});classVarianceAuthority.cva("bg-[var(--border)]",{variants:{orientation:{horizontal:"w-px h-6 mx-1",vertical:"h-px w-full my-1"}},defaultVariants:{orientation:"horizontal"}});var G=react.memo(react.forwardRef(({className:o,buttonVisualClassName:e,variant:r,size:t,visualSize:u,fullWidth:n,loading:a=false,loadingText:l="Loading...",shortcut:i,children:d,isDisabled:v,paywall:f=false,paywallRedirect:T,paywallDescription:R,onPress:S,...P},D)=>{let h=react.useId(),b=Ze(),s=Xe(),_=r??b?.variant??"default",A=t??b?.size,p=v??b?.isDisabled??false,m=b?.orientation==="vertical",x=n||m,N=s?We({orientation:b?.orientation??"horizontal",position:s.position}):"",y=u??A??"default";return process.env.NODE_ENV!=="production"&&(y==="dot"||y==="icon")&&!P["aria-label"]&&!d&&console.warn('[Button] visualSize="dot" or "icon" requires aria-label when no visible text is provided (WCAG 1.1.1)'),jsxRuntime.jsx(reactAriaComponents.Button,{ref:D,isDisabled:p||a||void 0,"aria-disabled":f?true:void 0,"aria-describedby":f?h:void 0,onPress:V=>{if(f){T&&window.open(T,"_blank","noopener,noreferrer");return}S?.(V);},className:z(Ee({fullWidth:x,inVerticalGroup:m}),o),...P,children:V=>jsxRuntime.jsxs("span",{className:z(Se({variant:_,visualSize:y,paywall:f,fullWidth:x}),N,e,Re,"",ue,ce),"data-pressed":V.isPressed||void 0,children:[a&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(lucideReact.Loader2,{className:"motion-safe:animate-spin","aria-hidden":"true"}),jsxRuntime.jsx("span",{className:"sr-only","aria-live":"polite",children:l})]}),!a&&d,f&&jsxRuntime.jsx(lucideReact.Zap,{"data-testid":"zap-icon","aria-hidden":"true",className:"ml-1"}),f&&jsxRuntime.jsxs("span",{id:h,className:"sr-only",children:["Premium feature: ",R||"Upgrade required to access this feature"]}),V.isFocusVisible&&i&&jsxRuntime.jsx("kbd",{className:"ml-auto hidden text-xs opacity-60 lg:inline",children:i})]})})}));G.displayName="Button";var J={sm:"text-xs",default:"text-sm",lg:"text-base"};var de={sm:"h-9",default:"h-10",lg:"h-11"},ee={sm:`${de.sm} px-2 text-xs`,default:`${de.default} px-3 text-sm`,lg:`${de.lg} px-4 text-base`},_e="min-h-[44px] flex items-center";function qe(o,e){return !(o===false||e)}var Ke="(prefers-reduced-motion: reduce)";function Ht(){return typeof window>"u"?false:window.matchMedia(Ke).matches}function Qe(){let[o,e]=react.useState(Ht);return react.useEffect(()=>{let r=window.matchMedia(Ke);e(r.matches);let t=u=>{e(u.matches);};return r.addEventListener("change",t),()=>r.removeEventListener("change",t)},[]),o}var Je=4294967295,et=0,tt=-2147483647;zod.z.object({value:zod.z.number().nullable().optional(),defaultValue:zod.z.number().optional(),minValue:zod.z.number().optional(),maxValue:zod.z.number().optional(),allowNegative:zod.z.boolean().optional(),step:zod.z.number().positive().optional(),formatOptions:zod.z.custom().optional(),isDisabled:zod.z.boolean().optional(),isReadOnly:zod.z.boolean().optional(),isRequired:zod.z.boolean().optional(),isInvalid:zod.z.boolean().optional(),isWheelDisabled:zod.z.boolean().optional(),validate:zod.z.function().optional(),validationBehavior:zod.z.enum(["native","aria"]).default("native"),label:zod.z.string(),description:zod.z.string().optional(),errorMessage:zod.z.union([zod.z.string(),zod.z.function()]).optional(),stepperLayout:zod.z.enum(["sides","stacked","hidden"]).default("sides"),incrementAriaLabel:zod.z.string().optional(),decrementAriaLabel:zod.z.string().optional(),name:zod.z.string().optional(),size:zod.z.enum(["sm","default","lg"]).default("default"),onChange:zod.z.function().optional(),onFocus:zod.z.function().optional(),onBlur:zod.z.function().optional(),onFocusChange:zod.z.function().optional(),animated:zod.z.boolean().optional().default(false),springConfig:zod.z.object({stiffness:zod.z.number(),damping:zod.z.number()}).optional(),className:zod.z.string().optional(),autoFocus:zod.z.boolean().optional()});var nt=classVarianceAuthority.cva(["inline-flex items-center rounded-md border","bg-[var(--content-background)] text-[var(--content-foreground)]","transition-colors duration-200","focus-within:ring-2 focus-within:ring-[var(--ring)] focus-within:ring-offset-2","data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50"],{variants:{size:{sm:`${ee.sm}`,default:`${ee.default}`,lg:`${ee.lg}`},isInvalid:{true:"border-[var(--destructive-background)] focus-within:ring-[var(--destructive-background)]",false:"border-[var(--input-border)] hover:border-[var(--input-border)]/80"}},defaultVariants:{size:"default",isInvalid:false}}),ot=classVarianceAuthority.cva(["flex-1 bg-transparent text-center tabular-nums","min-w-0","focus:outline-none","[appearance:textfield]","[&::-webkit-outer-spin-button]:appearance-none","[&::-webkit-inner-spin-button]:appearance-none"],{variants:{size:{sm:`px-2 ${J.sm}`,default:`px-3 ${J.default}`,lg:`px-4 ${J.lg}`}},defaultVariants:{size:"default"}}),te=classVarianceAuthority.cva(["flex items-center justify-center","transition-colors duration-150","select-none","hover:bg-[var(--accent)] hover:text-[var(--accent-foreground)]","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]","focus-visible:ring-inset","active:bg-[var(--accent)]/80","disabled:pointer-events-none disabled:opacity-50"],{variants:{size:{sm:"min-w-8 min-h-8 text-sm",default:"min-w-10 min-h-10 text-base",lg:"min-w-12 min-h-12 text-lg"},position:{left:"rounded-l-md border-r border-[var(--input-border)]",right:"rounded-r-md border-l border-[var(--input-border)]",top:"rounded-tr-md border-b border-l border-[var(--input-border)] h-1/2",bottom:"rounded-br-md border-l border-[var(--input-border)] h-1/2"}},defaultVariants:{size:"default"}}),rt=classVarianceAuthority.cva(["block font-medium text-[var(--content-foreground)]","mb-1.5",'data-[required]:after:content-["*"] data-[required]:after:ml-0.5',"data-[required]:after:text-[var(--destructive-background)]"],{variants:{size:{sm:"text-sm",default:"text-sm",lg:"text-base"}},defaultVariants:{size:"default"}}),at=classVarianceAuthority.cva(["text-[var(--menu-muted)]","mt-1"],{variants:{size:{sm:"text-xs",default:"text-sm",lg:"text-base"}},defaultVariants:{size:"default"}}),it=classVarianceAuthority.cva(["flex items-center gap-1","text-[var(--destructive-background)]","font-medium","mt-1"],{variants:{size:{sm:"text-xs",default:"text-sm",lg:"text-base"}},defaultVariants:{size:"default"}});var ne;function Zt(){return ne!==void 0?Promise.resolve(ne):import('motion').then(o=>(ne=o.animate,ne)).catch(()=>(ne=null,null))}function jt(o,e){if(e)try{let r={...e};return r.style==="currency"&&!r.currencyDisplay&&(r.currencyDisplay="narrowSymbol"),new Intl.NumberFormat(void 0,r).format(o)}catch{return String(Math.round(o))}return String(Math.round(o))}var fe=react.forwardRef(({label:o,description:e,errorMessage:r,size:t="default",stepperLayout:u="sides",allowNegative:n=false,incrementAriaLabel:a,decrementAriaLabel:l,animated:i=false,springConfig:d,onChange:v,value:f,defaultValue:T,formatOptions:R,minValue:S,maxValue:P,className:D,isInvalid:h,isRequired:b,isDisabled:s,isReadOnly:_,...A},p)=>{let m=S??(n?tt:et),x=P??Je,N=u!=="hidden"&&!_,y=Qe(),C=qe(i,y)&&N,U=react.useRef(null),V=react.useRef(f??T??0),g=react.useRef(void 0),L=react.useRef(null);react.useEffect(()=>{C&&Zt().then(w=>{g.current=w??null;});},[C]),react.useEffect(()=>()=>{L.current?.stop();},[]);let O=w=>{let F=V.current;if(C&&g.current&&U.current&&F!==w){L.current?.stop();let q=w,Z=U.current,j=Z.parentElement?.querySelector("input");Z.style.display="",j&&(j.style.color="transparent"),L.current=g.current(F,q,{type:"spring",stiffness:d?.stiffness??500,damping:d?.damping??30,onUpdate:Ie=>{V.current=Ie,Z.textContent=jt(Ie,R);},onComplete:()=>{Z.style.display="none",j&&(j.style.color=""),L.current=null,V.current=q;}});}else V.current=w;v?.(w);},I=u==="stacked";return jsxRuntime.jsxs(reactAriaComponents.NumberField,{ref:p,className:z("group flex flex-col",D),minValue:m,maxValue:x,isInvalid:h,isRequired:b,isDisabled:s,isReadOnly:_,value:f,defaultValue:T,formatOptions:R,onChange:O,...A,children:[jsxRuntime.jsx(reactAriaComponents.Label,{className:z(rt({size:t})),"data-required":b||void 0,children:o}),jsxRuntime.jsxs(reactAriaComponents.Group,{className:z(_e,nt({size:t,isInvalid:h??false}),I&&"pr-0"),children:[N&&!I&&jsxRuntime.jsx(G,{slot:"decrement",variant:"ghost",className:"!min-h-0 !min-w-0",buttonVisualClassName:z(te({size:t,position:"left"})),"aria-label":l??"Decrease value",children:jsxRuntime.jsx(lucideReact.Minus,{className:"h-4 w-4","aria-hidden":"true"})}),jsxRuntime.jsxs("div",{className:"relative flex flex-1",children:[jsxRuntime.jsx(reactAriaComponents.Input,{className:z(ot({size:t}),"w-full")}),C&&jsxRuntime.jsx("span",{ref:U,className:z("absolute inset-0 flex items-center justify-center","pointer-events-none bg-[var(--content-background)] tabular-nums",t==="sm"&&"px-2 text-sm",t==="default"&&"px-3 text-base",t==="lg"&&"px-4 text-lg"),style:{display:"none"},"aria-hidden":"true"})]}),N&&I&&jsxRuntime.jsxs("div",{className:"flex flex-col h-full",children:[jsxRuntime.jsx(G,{slot:"increment",variant:"ghost",className:"!min-h-0 !min-w-0",buttonVisualClassName:z(te({size:t,position:"top"})),"aria-label":a??"Increase value",children:jsxRuntime.jsx(lucideReact.Plus,{className:"h-3 w-3","aria-hidden":"true"})}),jsxRuntime.jsx(G,{slot:"decrement",variant:"ghost",className:"!min-h-0 !min-w-0",buttonVisualClassName:z(te({size:t,position:"bottom"})),"aria-label":l??"Decrease value",children:jsxRuntime.jsx(lucideReact.Minus,{className:"h-3 w-3","aria-hidden":"true"})})]}),N&&!I&&jsxRuntime.jsx(G,{slot:"increment",variant:"ghost",className:"!min-h-0 !min-w-0",buttonVisualClassName:z(te({size:t,position:"right"})),"aria-label":a??"Increase value",children:jsxRuntime.jsx(lucideReact.Plus,{className:"h-4 w-4","aria-hidden":"true"})})]}),e&&jsxRuntime.jsx(reactAriaComponents.Text,{slot:"description",className:z(at({size:t})),children:e}),jsxRuntime.jsx(reactAriaComponents.FieldError,{className:z(it({size:t})),children:r})]})});fe.displayName="NumberField";var Ne=react.forwardRef(function({isOpen:e,onOpenChange:r,groupLabel:t,leftPanel:u,rightPanel:n,leftSize:a,rightSize:l,onSizesChange:i,presets:d,triggerRef:v,direction:f},T){let[R,S]=react.useState({left:a,right:l}),P=react.useRef(false);react.useEffect(()=>{e&&!P.current&&S({left:a,right:l}),P.current=e;},[e,a,l]);let D=react.useCallback(p=>{if(p===null)return;let m=Math.max(u.collapsible?0:u.minSize,Math.min(u.maxSize,p)),x=100-m,N=n.collapsible?0:n.minSize,y=n.maxSize;x<N||x>y||i(m,x);},[u,n,i]),h=react.useCallback(p=>{if(p===null)return;let m=Math.max(n.collapsible?0:n.minSize,Math.min(n.maxSize,p)),x=100-m,N=u.collapsible?0:u.minSize,y=u.maxSize;x<N||x>y||i(x,m);},[u,n,i]),b=react.useCallback(p=>{let m=p.sizes[0],x=p.sizes[1];m!==void 0&&x!==void 0&&i(m,x);},[i]),s=react.useCallback(()=>{i(R.left,R.right),r(false);},[i,r,R]),_=react.useCallback(()=>{r(false);},[r]);if(!e)return null;let A=f==="horizontal"?"bottom":"right";return jsxRuntime.jsxs(reactAriaComponents.DialogTrigger,{isOpen:e,onOpenChange:r,children:[jsxRuntime.jsx(reactAriaComponents.Button,{className:"sr-only",children:"Open resize controls"}),jsxRuntime.jsx(reactAriaComponents.Popover,{triggerRef:v,shouldCloseOnInteractOutside:Ge(),placement:A,offset:8,className:z("w-72","rounded-lg border border-[var(--border)]","bg-[var(--content-background)] text-[var(--content-foreground)]","outline-none","motion-safe:animate-in motion-safe:fade-in-0 motion-safe:zoom-in-95","data-[exiting]:motion-safe:animate-out data-[exiting]:motion-safe:fade-out-0 data-[exiting]:motion-safe:zoom-out-95"),children:jsxRuntime.jsxs(reactAriaComponents.Dialog,{className:"outline-none",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between border-b border-[var(--border)] px-4 py-3",children:[jsxRuntime.jsxs("h3",{className:"text-sm font-medium",children:["Resize: ",t]}),jsxRuntime.jsx(reactAriaComponents.Button,{onPress:_,className:z("inline-flex items-center justify-center rounded-md","min-h-[44px] min-w-[44px]","text-[var(--menu-muted)]","hover:bg-[var(--accent)] hover:text-[var(--accent-foreground)]","focus-visible:outline-none focus-visible:ring-2","focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2"),"aria-label":"Close",children:jsxRuntime.jsx(lucideReact.X,{className:"h-4 w-4"})})]}),jsxRuntime.jsxs("div",{className:"space-y-4 px-4 py-4",children:[jsxRuntime.jsx("div",{children:jsxRuntime.jsx(fe,{label:`${u.name} (%)`,value:Math.round(a),onChange:D,minValue:u.collapsible?0:u.minSize,maxValue:u.maxSize,step:1,stepperLayout:"sides"})}),jsxRuntime.jsx("div",{children:jsxRuntime.jsx(fe,{label:`${n.name} (%)`,value:Math.round(l),onChange:h,minValue:n.collapsible?0:n.minSize,maxValue:n.maxSize,step:1,stepperLayout:"sides"})}),d&&d.length>0&&jsxRuntime.jsxs("div",{className:"border-t border-[var(--border)] pt-4",children:[jsxRuntime.jsx("div",{className:"mb-2 text-xs font-medium text-[var(--menu-muted)]",children:"Presets"}),jsxRuntime.jsx("div",{className:"flex flex-wrap gap-2",children:d.map((p,m)=>jsxRuntime.jsx(G,{variant:"outline",size:"sm",onPress:()=>b(p),children:p.label},m))})]})]}),jsxRuntime.jsx("div",{className:"flex justify-end border-t border-[var(--border)] px-4 py-3",children:jsxRuntime.jsx(G,{variant:"ghost",size:"sm",onPress:s,children:"Cancel"})})]})})]})});Ne.displayName="ResizablePopover";var mt=react.forwardRef(function({withHandle:e=true,presets:r,disabled:t=false,className:u},n){let{direction:a,groupLabel:l,sizes:i,setSizes:d,panels:v,announce:f,containerRef:T}=K(),R=react.useRef(null),S=n||R,[P,D]=react.useState(0);react.useEffect(()=>{let I=S.current,w=T.current;if(!I||!w)return;let F=w.querySelectorAll('[role="slider"]'),q=0;F.forEach((Z,j)=>{Z===I&&(q=j);}),D(q);},[T,S]);let h=P,b=P+1,s=v[h],_=v[b],A=i[h]??50,p=i[b]??50,[m,x]=react.useState(false),N=react.useCallback((I,w)=>{let F=[...i];F[h]=I,F[b]=w,d(F);},[i,d,h,b]),{isDragging:y,handlePointerDown:C,handleKeyDown:U}=Fe({direction:a,sizes:i,setSizes:d,panels:v,containerRef:T,leftPanelIndex:h,rightPanelIndex:b,disabled:t,announce:f,groupLabel:l,onOpenPopover:()=>x(true)}),V=s&&_?`Resize handle between ${s.name} and ${_.name} in ${l}`:`Resize handle in ${l}`,g=a==="horizontal"?lucideReact.GripVertical:lucideReact.GripHorizontal,L=s??{name:"Panel 1",minSize:$,maxSize:Y,collapsible:false},O=_??{name:"Panel 2",minSize:$,maxSize:Y,collapsible:false};return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{ref:S,role:"slider",tabIndex:t?-1:0,"aria-label":V,"aria-valuenow":Math.round(A),"aria-valuemin":s?.collapsible?0:s?.minSize??0,"aria-valuemax":s?.maxSize??100,"aria-orientation":a,"aria-disabled":t,"data-direction":a,"data-dragging":y,"data-disabled":t,onPointerDown:C,onKeyDown:U,className:z(xe({direction:a,disabled:t,isDragging:y}),u),children:e&&jsxRuntime.jsx("div",{className:z(ve({direction:a})),"aria-hidden":"true",children:jsxRuntime.jsx(g,{className:"h-4 w-4"})})}),jsxRuntime.jsx(Ne,{isOpen:m,onOpenChange:x,groupLabel:l,leftPanel:L,rightPanel:O,leftSize:A,rightSize:p,onSizesChange:N,presets:r,triggerRef:S,direction:a})]})});mt.displayName="ResizableHandle";exports.DEFAULT_MAX_SIZE=Y;exports.DEFAULT_MIN_SIZE=$;exports.LONG_PRESS_THRESHOLD=se;exports.ResizableHandle=mt;exports.ResizableHandlePropsSchema=Rt;exports.ResizablePanel=Ve;exports.ResizablePanelGroup=De;exports.ResizablePanelGroupPropsSchema=Et;exports.ResizablePanelPropsSchema=St;exports.ResizePresetSchema=Oe;exports.resizableGripVariants=ve;exports.resizableHandleVariants=xe;exports.useResizableContext=K;//# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map