@tribepad/themis 1.0.16 → 1.0.19
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/dist/elements/Accordion/Accordion.d.ts +3 -1
- package/dist/elements/Accordion/Accordion.d.ts.map +1 -1
- package/dist/elements/Accordion/index.js +1 -1
- package/dist/elements/Accordion/index.js.map +1 -1
- package/dist/elements/Accordion/index.mjs +1 -1
- package/dist/elements/Accordion/index.mjs.map +1 -1
- package/dist/elements/AlertDialog/index.js +1 -1
- package/dist/elements/AlertDialog/index.js.map +1 -1
- package/dist/elements/AlertDialog/index.mjs +1 -1
- package/dist/elements/AlertDialog/index.mjs.map +1 -1
- package/dist/elements/Breadcrumbs/index.js +1 -1
- package/dist/elements/Breadcrumbs/index.js.map +1 -1
- package/dist/elements/Breadcrumbs/index.mjs +1 -1
- package/dist/elements/Breadcrumbs/index.mjs.map +1 -1
- package/dist/elements/Button/Button.d.ts.map +1 -1
- package/dist/elements/Button/index.js +1 -1
- package/dist/elements/Button/index.js.map +1 -1
- package/dist/elements/Button/index.mjs +1 -1
- package/dist/elements/Button/index.mjs.map +1 -1
- package/dist/elements/Card/Card.d.ts +21 -1
- package/dist/elements/Card/Card.d.ts.map +1 -1
- package/dist/elements/Card/Card.types.d.ts +36 -0
- package/dist/elements/Card/Card.types.d.ts.map +1 -1
- package/dist/elements/Card/index.d.ts +10 -3
- package/dist/elements/Card/index.d.ts.map +1 -1
- package/dist/elements/Card/index.js +1 -1
- package/dist/elements/Card/index.js.map +1 -1
- package/dist/elements/Card/index.mjs +1 -1
- package/dist/elements/Card/index.mjs.map +1 -1
- package/dist/elements/Carousel/Carousel.d.ts.map +1 -1
- package/dist/elements/Carousel/index.js +1 -1
- package/dist/elements/Carousel/index.js.map +1 -1
- package/dist/elements/Carousel/index.mjs +1 -1
- package/dist/elements/Carousel/index.mjs.map +1 -1
- package/dist/elements/Chart/Chart.d.ts.map +1 -1
- package/dist/elements/Chart/Chart.types.d.ts +21 -4
- package/dist/elements/Chart/Chart.types.d.ts.map +1 -1
- package/dist/elements/Chart/ChartAreaSeries.d.ts +32 -0
- package/dist/elements/Chart/ChartAreaSeries.d.ts.map +1 -0
- package/dist/elements/Chart/ChartContext.d.ts +4 -1
- package/dist/elements/Chart/ChartContext.d.ts.map +1 -1
- package/dist/elements/Chart/ChartLegend.d.ts +2 -2
- package/dist/elements/Chart/ChartLegend.d.ts.map +1 -1
- package/dist/elements/Chart/ChartPieSeries.d.ts +28 -0
- package/dist/elements/Chart/ChartPieSeries.d.ts.map +1 -0
- package/dist/elements/Chart/ChartRadarSeries.d.ts +28 -0
- package/dist/elements/Chart/ChartRadarSeries.d.ts.map +1 -0
- package/dist/elements/Chart/ChartSVG.d.ts +7 -1
- package/dist/elements/Chart/ChartSVG.d.ts.map +1 -1
- package/dist/elements/Chart/ChartScatterSeries.d.ts +31 -0
- package/dist/elements/Chart/ChartScatterSeries.d.ts.map +1 -0
- package/dist/elements/Chart/index.js +1 -1
- package/dist/elements/Chart/index.js.map +1 -1
- package/dist/elements/Chart/index.mjs +1 -1
- package/dist/elements/Chart/index.mjs.map +1 -1
- package/dist/elements/Checkbox/index.js +1 -1
- package/dist/elements/Checkbox/index.js.map +1 -1
- package/dist/elements/Checkbox/index.mjs +1 -1
- package/dist/elements/Checkbox/index.mjs.map +1 -1
- package/dist/elements/ColorPicker/ColorPicker.d.ts +20 -0
- package/dist/elements/ColorPicker/ColorPicker.d.ts.map +1 -0
- package/dist/elements/ColorPicker/ColorPicker.styles.d.ts +74 -0
- package/dist/elements/ColorPicker/ColorPicker.styles.d.ts.map +1 -0
- package/dist/elements/ColorPicker/ColorPicker.types.d.ts +113 -0
- package/dist/elements/ColorPicker/ColorPicker.types.d.ts.map +1 -0
- package/dist/elements/ColorPicker/index.d.ts +5 -0
- package/dist/elements/ColorPicker/index.d.ts.map +1 -0
- package/dist/elements/ColorPicker/index.js +3 -0
- package/dist/elements/ColorPicker/index.js.map +1 -0
- package/dist/elements/ColorPicker/index.mjs +3 -0
- package/dist/elements/ColorPicker/index.mjs.map +1 -0
- package/dist/elements/Combobox/Combobox.d.ts +1 -1
- package/dist/elements/Combobox/Combobox.d.ts.map +1 -1
- package/dist/elements/Combobox/Combobox.styles.d.ts.map +1 -1
- package/dist/elements/Combobox/index.js +1 -1
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/Combobox/index.mjs +1 -1
- package/dist/elements/Combobox/index.mjs.map +1 -1
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/elements/DatePicker/DatePicker.types.d.ts +6 -6
- package/dist/elements/DatePicker/index.js +1 -1
- package/dist/elements/DatePicker/index.js.map +1 -1
- package/dist/elements/DatePicker/index.mjs +1 -1
- package/dist/elements/DatePicker/index.mjs.map +1 -1
- package/dist/elements/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/elements/Dropdown/index.js +1 -1
- package/dist/elements/Dropdown/index.js.map +1 -1
- package/dist/elements/Dropdown/index.mjs +1 -1
- package/dist/elements/Dropdown/index.mjs.map +1 -1
- package/dist/elements/FileField/index.js +1 -1
- package/dist/elements/FileField/index.js.map +1 -1
- package/dist/elements/FileField/index.mjs +1 -1
- package/dist/elements/FileField/index.mjs.map +1 -1
- package/dist/elements/Modal/Modal.d.ts +2 -1
- package/dist/elements/Modal/Modal.d.ts.map +1 -1
- package/dist/elements/Modal/index.js +1 -1
- package/dist/elements/Modal/index.js.map +1 -1
- package/dist/elements/Modal/index.mjs +1 -1
- package/dist/elements/Modal/index.mjs.map +1 -1
- package/dist/elements/NumberField/NumberField.d.ts.map +1 -1
- package/dist/elements/NumberField/NumberField.types.d.ts +1 -1
- package/dist/elements/NumberField/NumberField.variants.d.ts.map +1 -1
- package/dist/elements/NumberField/index.js +1 -1
- package/dist/elements/NumberField/index.js.map +1 -1
- package/dist/elements/NumberField/index.mjs +1 -1
- package/dist/elements/NumberField/index.mjs.map +1 -1
- package/dist/elements/OTPInput/OTPInput.d.ts +1 -1
- package/dist/elements/OTPInput/index.js +1 -1
- package/dist/elements/OTPInput/index.js.map +1 -1
- package/dist/elements/OTPInput/index.mjs +1 -1
- package/dist/elements/OTPInput/index.mjs.map +1 -1
- package/dist/elements/Pagination/index.js +1 -1
- package/dist/elements/Pagination/index.js.map +1 -1
- package/dist/elements/Pagination/index.mjs +1 -1
- package/dist/elements/Pagination/index.mjs.map +1 -1
- package/dist/elements/Panel/index.js +1 -1
- package/dist/elements/Panel/index.js.map +1 -1
- package/dist/elements/Panel/index.mjs +1 -1
- package/dist/elements/Panel/index.mjs.map +1 -1
- package/dist/elements/PasswordField/index.js +1 -1
- package/dist/elements/PasswordField/index.js.map +1 -1
- package/dist/elements/PasswordField/index.mjs +1 -1
- package/dist/elements/PasswordField/index.mjs.map +1 -1
- package/dist/elements/Progress/index.js +1 -1
- package/dist/elements/Progress/index.js.map +1 -1
- package/dist/elements/Progress/index.mjs +1 -1
- package/dist/elements/Progress/index.mjs.map +1 -1
- package/dist/elements/RatingScale/index.js +1 -1
- package/dist/elements/RatingScale/index.js.map +1 -1
- package/dist/elements/RatingScale/index.mjs +1 -1
- package/dist/elements/RatingScale/index.mjs.map +1 -1
- package/dist/elements/Resizable/index.js +1 -1
- package/dist/elements/Resizable/index.js.map +1 -1
- package/dist/elements/Resizable/index.mjs +1 -1
- package/dist/elements/Resizable/index.mjs.map +1 -1
- package/dist/elements/SearchField/index.js +1 -1
- package/dist/elements/SearchField/index.js.map +1 -1
- package/dist/elements/SearchField/index.mjs +1 -1
- package/dist/elements/SearchField/index.mjs.map +1 -1
- package/dist/elements/Select/Select.d.ts.map +1 -1
- package/dist/elements/Select/Select.styles.d.ts.map +1 -1
- package/dist/elements/Select/index.js +1 -1
- package/dist/elements/Select/index.js.map +1 -1
- package/dist/elements/Select/index.mjs +1 -1
- package/dist/elements/Select/index.mjs.map +1 -1
- package/dist/elements/SituationalJudgement/index.js +1 -1
- package/dist/elements/SituationalJudgement/index.js.map +1 -1
- package/dist/elements/SituationalJudgement/index.mjs +1 -1
- package/dist/elements/SituationalJudgement/index.mjs.map +1 -1
- package/dist/elements/Table/index.js +1 -1
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Table/index.mjs +1 -1
- package/dist/elements/Table/index.mjs.map +1 -1
- package/dist/elements/Tabs/index.js +1 -1
- package/dist/elements/Tabs/index.js.map +1 -1
- package/dist/elements/Tabs/index.mjs +1 -1
- package/dist/elements/Tabs/index.mjs.map +1 -1
- package/dist/elements/TextField/TextField.d.ts.map +1 -1
- package/dist/elements/TextField/TextField.styles.d.ts.map +1 -1
- package/dist/elements/TextField/index.js +1 -1
- package/dist/elements/TextField/index.js.map +1 -1
- package/dist/elements/TextField/index.mjs +1 -1
- package/dist/elements/TextField/index.mjs.map +1 -1
- package/dist/elements/TimeField/TimeField.d.ts.map +1 -1
- package/dist/elements/TimeField/TimeField.types.d.ts.map +1 -1
- package/dist/elements/TimeField/index.js +1 -1
- package/dist/elements/TimeField/index.js.map +1 -1
- package/dist/elements/TimeField/index.mjs +1 -1
- package/dist/elements/TimeField/index.mjs.map +1 -1
- package/dist/elements/Toast/Toast.d.ts +21 -43
- package/dist/elements/Toast/Toast.d.ts.map +1 -1
- package/dist/elements/Toast/Toast.types.d.ts +27 -1
- package/dist/elements/Toast/Toast.types.d.ts.map +1 -1
- package/dist/elements/Toast/Toaster.d.ts +0 -12
- package/dist/elements/Toast/Toaster.d.ts.map +1 -1
- package/dist/elements/Toast/index.d.ts +1 -1
- package/dist/elements/Toast/index.d.ts.map +1 -1
- package/dist/elements/Toast/index.js +1 -1
- package/dist/elements/Toast/index.js.map +1 -1
- package/dist/elements/Toast/index.mjs +1 -1
- package/dist/elements/Toast/index.mjs.map +1 -1
- package/dist/elements/Tooltip/index.js +1 -1
- package/dist/elements/Tooltip/index.js.map +1 -1
- package/dist/elements/Tooltip/index.mjs +1 -1
- package/dist/elements/Tooltip/index.mjs.map +1 -1
- package/dist/elements/index.d.ts +3 -1
- package/dist/elements/index.d.ts.map +1 -1
- package/dist/elements/index.js +1 -1
- package/dist/elements/index.js.map +1 -1
- package/dist/elements/index.mjs +1 -1
- package/dist/elements/index.mjs.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/dist/styles/animations.css +110 -0
- package/dist/styles/defaults.css +32 -0
- package/dist/styles/index.d.ts +1 -1
- package/dist/styles/index.d.ts.map +1 -1
- package/dist/styles/index.js +1 -1
- package/dist/styles/index.js.map +1 -1
- package/dist/styles/index.mjs +1 -1
- package/dist/styles/index.mjs.map +1 -1
- package/dist/styles/shared-variants.d.ts +21 -2
- package/dist/styles/shared-variants.d.ts.map +1 -1
- package/package.json +35 -34
- package/src/elements/Chart/Chart.stories.tsx +186 -2
- package/src/elements/ColorPicker/ColorPicker.stories.tsx +289 -0
- package/src/elements/Modal/Modal.stories.tsx +6 -9
- package/src/elements/Toast/Toast.stories.tsx +745 -648
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {createContext,forwardRef,useImperativeHandle,useRef,useState,useEffect,memo,useId,useCallback,useContext}from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {z}from'zod';import {cva}from'class-variance-authority';import {Loader2,Zap,Minus,Plus,X,GripVertical,GripHorizontal}from'lucide-react';import {Button,NumberField,Label,Group,Input,Text,FieldError,DialogTrigger,Popover,Dialog}from'react-aria-components';function S(...o){return twMerge(clsx(o))}var oe=createContext(null);oe.displayName="ResizableContext";function Q(){let o=useContext(oe);if(!o)throw new Error("useResizableContext must be used within a ResizablePanelGroup. Make sure ResizablePanel and ResizableHandle are children of ResizablePanelGroup.");return o}function we({direction:o,groupLabel:e,sizes:a,onSizesChange:t}){let[d,n]=useState([]),[i,l]=useState([]),r=useRef(null),u=useRef(null),x=useRef(null),f=useRef(false),P=a!==void 0,R=P?a:d,z=useCallback(b=>{P?t?.(b):n(b);},[P,t]),L=useCallback((b,s)=>{l(E=>{let V=[...E];return V[b]=s,V});},[]),C=useCallback(b=>{l(s=>{let E=[...s];return delete E[b],E.filter(Boolean)});},[]);useEffect(()=>{if(P||f.current)return;let s=i.filter(Boolean).length;if(s<2)return;if(R.length<s||R.some(V=>V===void 0)){let V=[],p=100/s;for(let m=0;m<s;m++)V[m]=p;f.current=true,n(V);}},[i,R,P]),useEffect(()=>()=>{x.current&&clearTimeout(x.current),u.current&&(document.body.removeChild(u.current),u.current=null);},[]);let y=useCallback(b=>{if(!u.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),u.current=s;}u.current.textContent=b,x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{u.current&&(u.current.textContent="");},1e3);},[]);return {direction:o,groupLabel:e,sizes:R,setSizes:z,panels:i,registerPanel:L,unregisterPanel:C,announce:y,containerRef:r}}var Te=forwardRef(function({direction:e,groupLabel:a,sizes:t,onSizesChange:d,className:n,children:i},l){let r=we({direction:e,groupLabel:a,sizes:t,onSizesChange:d});return useImperativeHandle(l,()=>r.containerRef.current,[r.containerRef]),jsx(oe.Provider,{value:r,children:jsx("div",{ref:r.containerRef,role:"group","aria-label":`${a}, ${e}`,"data-direction":e,className:S("flex h-full w-full",e==="horizontal"?"flex-row":"flex-col",n),children:i})})});Te.displayName="ResizablePanelGroup";var $=10,j=90,ae=300,Ae=z.object({label:z.string().min(1),sizes:z.array(z.number().min(0).max(100))}),bt=z.object({direction:z.enum(["horizontal","vertical"]),groupLabel:z.string().min(1),sizes:z.array(z.number().min(0).max(100)).optional(),onSizesChange:z.function().optional(),className:z.string().optional(),children:z.custom()}),vt=z.object({name:z.string().min(1),defaultSize:z.number().min(0).max(100).optional(),minSize:z.number().min(0).max(100).optional().default($),maxSize:z.number().min(0).max(100).optional().default(j),collapsible:z.boolean().optional().default(false),onCollapse:z.function().optional(),onExpand:z.function().optional(),onResize:z.function().optional(),className:z.string().optional(),children:z.custom()}),xt=z.object({withHandle:z.boolean().optional().default(true),presets:z.array(Ae).optional(),disabled:z.boolean().optional().default(false),className:z.string().optional()}),pe=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}}),fe=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 De=forwardRef(function({name:e,defaultSize:a,minSize:t=$,maxSize:d=j,collapsible:n=false,onCollapse:i,onExpand:l,onResize:r,className:u,children:x},f){let{sizes:P,registerPanel:R,unregisterPanel:z,containerRef:L}=Q(),C=useRef(null),[y,b]=useState(-1),s=useRef(null),E=useRef(false),V=useRef(-1);useEffect(()=>{let m=C.current,v=L.current;if(!m||!v)return;let N=v.querySelectorAll("[data-resizable-panel]"),T=-1;for(let M=0;M<N.length;M++)if(N[M]===m){T=M;break}if(T!==-1)return y!==T&&b(T),E.current||(E.current=true,V.current=T,R(T,{name:e,minSize:t,maxSize:d,collapsible:n})),()=>{E.current&&(z(V.current),E.current=false);}},[L,R,z,e,t,d,n,y]);let p=y>=0?P[y]??50:50;return useEffect(()=>{if(s.current===null){s.current=p;return}let m=s.current===0,v=p===0;!m&&v&&i?i():m&&!v&&l&&l(),r&&s.current!==p&&r(p),s.current=p;},[p,i,l,r]),jsx("div",{ref:m=>{C.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":y,"data-collapsed":p===0,style:{flexBasis:`${p}%`,flexGrow:0,flexShrink:0,overflow:"hidden"},className:S("relative",u),children:x})});De.displayName="ResizablePanel";function Ie(o,e,a){return Math.max(e,Math.min(a,o))}function Me(o,e,a,t,d){let n=[...o],i=e[a],l=e[t];if(!i||!l)return o;let r=o[a]??50,u=o[t]??50,x=r+d,f=u-d,P=i.collapsible?0:i.minSize,R=i.maxSize,z=l.collapsible?0:l.minSize,L=l.maxSize;return x=Ie(x,P,R),f=r+u-x,f=Ie(f,z,L),x=r+u-f,n[a]=x,n[t]=f,n}function Fe({direction:o,sizes:e,setSizes:a,panels:t,containerRef:d,leftPanelIndex:n,rightPanelIndex:i,disabled:l=false,announce:r,groupLabel:u,onOpenPopover:x}){let[f,P]=useState(false),R=useRef(null),z=useRef(null),L=useRef(0),C=useRef(false),y=useRef(t),b=useRef(e),s=useRef(a),E=useRef(()=>{}),V=useRef(()=>{});useEffect(()=>{y.current=t,b.current=e,s.current=a;},[t,e,a]);let p=useCallback(()=>{let h=d.current;return h?o==="horizontal"?h.offsetWidth:h.offsetHeight:0},[d,o]),m=useCallback(h=>{let A=p();return A===0?0:h/A*100},[p]),v=useCallback(h=>{E.current(h);},[]),N=useCallback(()=>{V.current();},[]),T=useCallback(h=>{if(!R.current||l)return;let I=(o==="horizontal"?h.clientX:h.clientY)-R.current.position,w=m(I),D=Me(R.current.sizes,y.current,n,i,w);s.current(D);},[o,l,n,m,i]),M=useCallback(()=>{if(z.current&&(clearTimeout(z.current),z.current=null),Date.now()-L.current<ae&&!C.current&&x&&!l&&x(),f){P(false);let I=y.current[n],w=Math.round(b.current[n]??50);r&&I&&u&&r(`${I.name} in ${u} resized to ${w} percent`);}R.current=null,C.current=false,document.removeEventListener("pointermove",v),document.removeEventListener("pointerup",N),document.removeEventListener("pointercancel",N),document.body.style.cursor="",document.body.style.userSelect="";},[r,l,u,f,n,x,v,N]);useEffect(()=>{E.current=T,V.current=M;});let O=useCallback(h=>{if(l)return;h.preventDefault();let A=o==="horizontal"?h.clientX:h.clientY;L.current=Date.now(),C.current=false,R.current={position:A,sizes:[...e],containerSize:p()},z.current=setTimeout(()=>{C.current=true,P(true),document.body.style.cursor=o==="horizontal"?"col-resize":"row-resize",document.body.style.userSelect="none";},ae),document.addEventListener("pointermove",v),document.addEventListener("pointerup",N),document.addEventListener("pointercancel",N),h.pointerType==="mouse"&&(z.current&&(clearTimeout(z.current),z.current=null),C.current=true,P(true),document.body.style.cursor=o==="horizontal"?"col-resize":"row-resize",document.body.style.userSelect="none");},[o,l,p,v,N,e]),F=useCallback(h=>{if(l)return;let A=h.shiftKey?10:1,I=0;switch(h.key){case "ArrowLeft":case "ArrowUp":I=-A;break;case "ArrowRight":case "ArrowDown":I=A;break;case "Home":{let w=t[n];w&&(I=(w.collapsible?0:w.minSize)-(e[n]??50));break}case "End":{let w=t[n];w&&(I=w.maxSize-(e[n]??50));break}case "Enter":case " ":h.preventDefault(),x?.();return;default:return}if(I!==0){h.preventDefault();let w=Me(e,t,n,i,I);a(w);let D=t[n],G=Math.round(w[n]??50);r&&D&&u&&r(`${D.name} in ${u} resized to ${G} percent`);}},[r,l,u,n,x,t,i,a,e]);return useEffect(()=>{let h=v,A=N;return ()=>{z.current&&clearTimeout(z.current),document.removeEventListener("pointermove",h),document.removeEventListener("pointerup",A),document.removeEventListener("pointercancel",A);}},[v,N]),{isDragging:f,handlePointerDown:O,handleKeyDown:F}}var ve=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}}),xe=cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors [&_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)] data-[pressed]:bg-[var(--primary-action)]/80",destructive:"bg-[var(--destructive-background)] text-[var(--destructive-foreground)] shadow-md hover:bg-[var(--destructive-background)]/90 data-[pressed]:bg-[var(--destructive-background)]/80",outline:"border border-[var(--input-border)] bg-[var(--page-background)] hover:bg-[var(--input-border)] data-[pressed]:bg-[var(--input-border)]",secondary:"bg-[var(--secondary)] text-[var(--secondary-foreground)] shadow-md hover:bg-[var(--secondary)]/80 data-[pressed]:bg-[var(--secondary)]/70",ghost:"hover:bg-[var(--accent)] hover:text-[var(--accent-foreground)] data-[pressed]:bg-[var(--accent)]",link:"text-[var(--text-link)] underline-offset-4 hover:underline data-[pressed]: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-8",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)] !shadow-md hover:!bg-[var(--paywall)]/90 !cursor-not-allowed !border-transparent",false:""}},defaultVariants:{variant:"default",visualSize:"default",paywall:false}});var he="data-[pressed]:scale-[0.97]";var ge="data-[hovered]:shadow-md";var se="hc:data-[hovered]:outline hc:data-[hovered]:outline-2 hc:data-[hovered]:outline-foreground",le="hc:data-[pressed]:outline hc:data-[pressed]:outline-2 hc:data-[pressed]:outline-offset-1 hc:data-[pressed]:outline-foreground";var ke=createContext(null);ke.displayName="ButtonGroupContext";function Oe(){return useContext(ke)}var Ue=createContext(null);Ue.displayName="ButtonGroupItemContext";function $e(){return useContext(Ue)}cva("inline-flex items-center gap-0",{variants:{orientation:{horizontal:"flex-row",vertical:"flex-col w-full"}},defaultVariants:{orientation:"horizontal"}});var je=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"}});cva("bg-[var(--border)]",{variants:{orientation:{horizontal:"w-px h-6 mx-1",vertical:"h-px w-full my-1"}},defaultVariants:{orientation:"horizontal"}});var B=memo(forwardRef(({className:o,buttonVisualClassName:e,variant:a,size:t,visualSize:d,fullWidth:n,loading:i=false,loadingText:l="Loading...",shortcut:r,children:u,isDisabled:x,paywall:f=false,paywallRedirect:P,paywallDescription:R,onPress:z,...L},C)=>{let y=useId(),b=Oe(),s=$e(),E=a??b?.variant??"default",V=t??b?.size,p=x??b?.isDisabled??false,m=b?.orientation==="vertical",v=n||m,N=s?je({orientation:b?.orientation??"horizontal",position:s.position}):"",T=d??V??"default";return process.env.NODE_ENV!=="production"&&(T==="dot"||T==="icon")&&!L["aria-label"]&&!u&&console.warn('[Button] visualSize="dot" or "icon" requires aria-label when no visible text is provided (WCAG 1.1.1)'),jsx(Button,{ref:C,isDisabled:p||i||void 0,"aria-disabled":f?true:void 0,"aria-describedby":f?y:void 0,onPress:F=>{if(f){P&&window.open(P,"_blank","noopener,noreferrer");return}z?.(F);},className:S(ve({fullWidth:v,inVerticalGroup:m}),o),...L,children:F=>jsxs("span",{className:S(xe({variant:E,visualSize:T,paywall:f,fullWidth:v}),N,e,he,ge,se,le),"data-pressed":F.isPressed||void 0,children:[i&&jsxs(Fragment,{children:[jsx(Loader2,{className:"motion-safe:animate-spin","aria-hidden":"true"}),jsx("span",{className:"sr-only","aria-live":"polite",children:l})]}),!i&&u,f&&jsx(Zap,{"data-testid":"zap-icon","aria-hidden":"true",className:"ml-1"}),f&&jsxs("span",{id:y,className:"sr-only",children:["Premium feature: ",R||"Upgrade required to access this feature"]}),F.isFocusVisible&&r&&jsx("kbd",{className:"ml-auto hidden text-xs opacity-60 lg:inline",children:r}),F.isPressed&&jsx("span",{className:"absolute inset-0 rounded-[inherit] bg-current opacity-10 motion-safe:animate-in motion-safe:zoom-in-95","aria-hidden":"true"})]})})}));B.displayName="Button";function qe(o,e){return !(o===false||e)}var Ye="(prefers-reduced-motion: reduce)";function Ct(){return typeof window>"u"?false:window.matchMedia(Ye).matches}function We(){let[o,e]=useState(Ct);return useEffect(()=>{let a=window.matchMedia(Ye);e(a.matches);let t=d=>{e(d.matches);};return a.addEventListener("change",t),()=>a.removeEventListener("change",t)},[]),o}var Xe=4294967295,Ze=0,Ke=-2147483647;z.object({value:z.number().nullable().optional(),defaultValue:z.number().optional(),minValue:z.number().optional(),maxValue:z.number().optional(),allowNegative:z.boolean().optional(),step:z.number().positive().optional(),formatOptions:z.custom().optional(),isDisabled:z.boolean().optional(),isReadOnly:z.boolean().optional(),isRequired:z.boolean().optional(),isInvalid:z.boolean().optional(),isWheelDisabled:z.boolean().optional(),validate:z.function().optional(),validationBehavior:z.enum(["native","aria"]).default("native"),label:z.string(),description:z.string().optional(),errorMessage:z.union([z.string(),z.function()]).optional(),stepperLayout:z.enum(["sides","stacked","hidden"]).default("sides"),incrementAriaLabel:z.string().optional(),decrementAriaLabel:z.string().optional(),name:z.string().optional(),size:z.enum(["sm","default","lg"]).default("default"),onChange:z.function().optional(),onFocus:z.function().optional(),onBlur:z.function().optional(),onFocusChange:z.function().optional(),animated:z.boolean().optional().default(true),springConfig:z.object({stiffness:z.number(),damping:z.number()}).optional(),className:z.string().optional(),autoFocus:z.boolean().optional()});var Qe=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:"h-9 text-sm",default:"h-10 text-base",lg:"h-12 text-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}}),Je=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 text-sm",default:"px-3 text-base",lg:"px-4 text-lg"}},defaultVariants:{size:"default"}}),J=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"}}),et=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"}}),tt=cva(["text-[var(--menu-muted)]","mt-1"],{variants:{size:{sm:"text-xs",default:"text-sm",lg:"text-base"}},defaultVariants:{size:"default"}}),nt=cva(["flex items-center gap-1","text-[var(--destructive-background)]","mt-1"],{variants:{size:{sm:"text-xs",default:"text-sm",lg:"text-base"}},defaultVariants:{size:"default"}});var ee;function Bt(){return ee!==void 0?Promise.resolve(ee):import('motion').then(o=>(ee=o.animate,ee)).catch(()=>(ee=null,null))}function kt(o,e){if(e)try{let a={...e};return a.style==="currency"&&!a.currencyDisplay&&(a.currencyDisplay="narrowSymbol"),new Intl.NumberFormat(void 0,a).format(o)}catch{return String(Math.round(o))}return String(Math.round(o))}var de=forwardRef(({label:o,description:e,errorMessage:a,size:t="default",stepperLayout:d="sides",allowNegative:n=false,incrementAriaLabel:i,decrementAriaLabel:l,animated:r,springConfig:u,onChange:x,value:f,defaultValue:P,formatOptions:R,minValue:z,maxValue:L,className:C,isInvalid:y,isRequired:b,isDisabled:s,isReadOnly:E,...V},p)=>{let m=z??(n?Ke:Ze),v=L??Xe,N=d!=="hidden"&&!E,T=We(),M=qe(r,T)&&N,O=useRef(null),F=useRef(f??P??0),h=useRef(void 0),A=useRef(null);useEffect(()=>{M&&Bt().then(D=>{h.current=D??null;});},[M]),useEffect(()=>()=>{A.current?.stop();},[]);let I=D=>{let G=F.current;if(M&&h.current&&O.current&&G!==D){A.current?.stop();let K=D,q=O.current,Y=q.parentElement?.querySelector("input");q.style.display="",Y&&(Y.style.color="transparent"),A.current=h.current(G,K,{type:"spring",stiffness:u?.stiffness??500,damping:u?.damping??30,onUpdate:Pe=>{F.current=Pe,q.textContent=kt(Pe,R);},onComplete:()=>{q.style.display="none",Y&&(Y.style.color=""),A.current=null,F.current=K;}});}else F.current=D;x?.(D);},w=d==="stacked";return jsxs(NumberField,{ref:p,className:S("group flex flex-col",C),minValue:m,maxValue:v,isInvalid:y,isRequired:b,isDisabled:s,isReadOnly:E,value:f,defaultValue:P,formatOptions:R,onChange:I,...V,children:[jsx(Label,{className:S(et({size:t})),"data-required":b||void 0,children:o}),jsxs(Group,{className:S(Qe({size:t,isInvalid:y??false}),w&&"pr-0"),children:[N&&!w&&jsx(B,{slot:"decrement",variant:"ghost",className:"!min-h-0 !min-w-0",buttonVisualClassName:S(J({size:t,position:"left"})),"aria-label":l??"Decrease value",children:jsx(Minus,{className:"h-4 w-4","aria-hidden":"true"})}),jsxs("div",{className:"relative flex flex-1",children:[jsx(Input,{className:S(Je({size:t}),"w-full")}),M&&jsx("span",{ref:O,className:S("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&&w&&jsxs("div",{className:"flex flex-col h-full",children:[jsx(B,{slot:"increment",variant:"ghost",className:"!min-h-0 !min-w-0",buttonVisualClassName:S(J({size:t,position:"top"})),"aria-label":i??"Increase value",children:jsx(Plus,{className:"h-3 w-3","aria-hidden":"true"})}),jsx(B,{slot:"decrement",variant:"ghost",className:"!min-h-0 !min-w-0",buttonVisualClassName:S(J({size:t,position:"bottom"})),"aria-label":l??"Decrease value",children:jsx(Minus,{className:"h-3 w-3","aria-hidden":"true"})})]}),N&&!w&&jsx(B,{slot:"increment",variant:"ghost",className:"!min-h-0 !min-w-0",buttonVisualClassName:S(J({size:t,position:"right"})),"aria-label":i??"Increase value",children:jsx(Plus,{className:"h-4 w-4","aria-hidden":"true"})})]}),e&&jsx(Text,{slot:"description",className:S(tt({size:t})),children:e}),jsx(FieldError,{className:S(nt({size:t})),children:a})]})});de.displayName="NumberField";var Se=forwardRef(function({isOpen:e,onOpenChange:a,groupLabel:t,leftPanel:d,rightPanel:n,leftSize:i,rightSize:l,onSizesChange:r,presets:u,triggerRef:x,direction:f},P){let[R,z]=useState({left:i,right:l}),L=useRef(false);useEffect(()=>{e&&!L.current&&z({left:i,right:l}),L.current=e;},[e,i,l]);let C=useCallback(p=>{if(p===null)return;let m=Math.max(d.collapsible?0:d.minSize,Math.min(d.maxSize,p)),v=100-m,N=n.collapsible?0:n.minSize,T=n.maxSize;v<N||v>T||r(m,v);},[d,n,r]),y=useCallback(p=>{if(p===null)return;let m=Math.max(n.collapsible?0:n.minSize,Math.min(n.maxSize,p)),v=100-m,N=d.collapsible?0:d.minSize,T=d.maxSize;v<N||v>T||r(v,m);},[d,n,r]),b=useCallback(p=>{let m=p.sizes[0],v=p.sizes[1];m!==void 0&&v!==void 0&&r(m,v);},[r]),s=useCallback(()=>{r(R.left,R.right),a(false);},[r,a,R]),E=useCallback(()=>{a(false);},[a]);return e?jsxs(DialogTrigger,{isOpen:e,onOpenChange:a,children:[jsx(Button,{className:"sr-only",children:"Open resize controls"}),jsx(Popover,{triggerRef:x,placement:f==="horizontal"?"bottom":"right",offset:8,className:S("w-72","rounded-lg border border-[var(--border)]","bg-[var(--content-background)] text-[var(--content-foreground)]","shadow-lg","outline-none","animate-in fade-in-0 zoom-in-95","data-[exiting]:animate-out data-[exiting]:fade-out-0 data-[exiting]:zoom-out-95"),children:jsxs(Dialog,{className:"outline-none",children:[jsxs("div",{className:"flex items-center justify-between border-b border-[var(--border)] px-4 py-3",children:[jsxs("h3",{className:"text-sm font-medium",children:["Resize: ",t]}),jsx(Button,{onPress:E,className:S("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:jsx(X,{className:"h-4 w-4"})})]}),jsxs("div",{className:"space-y-4 px-4 py-4",children:[jsx("div",{children:jsx(de,{label:`${d.name} (%)`,value:Math.round(i),onChange:C,minValue:d.collapsible?0:d.minSize,maxValue:d.maxSize,step:1,stepperLayout:"sides"})}),jsx("div",{children:jsx(de,{label:`${n.name} (%)`,value:Math.round(l),onChange:y,minValue:n.collapsible?0:n.minSize,maxValue:n.maxSize,step:1,stepperLayout:"sides"})}),u&&u.length>0&&jsxs("div",{className:"border-t border-[var(--border)] pt-4",children:[jsx("div",{className:"mb-2 text-xs font-medium text-[var(--menu-muted)]",children:"Presets"}),jsx("div",{className:"flex flex-wrap gap-2",children:u.map((p,m)=>jsx(B,{variant:"outline",size:"sm",onPress:()=>b(p),children:p.label},m))})]})]}),jsx("div",{className:"flex justify-end border-t border-[var(--border)] px-4 py-3",children:jsx(B,{variant:"ghost",size:"sm",onPress:s,children:"Cancel"})})]})})]}):null});Se.displayName="ResizablePopover";var lt=forwardRef(function({withHandle:e=true,presets:a,disabled:t=false,className:d},n){let{direction:i,groupLabel:l,sizes:r,setSizes:u,panels:x,announce:f,containerRef:P}=Q(),R=useRef(null),z=n||R,[L,C]=useState(0);useEffect(()=>{let w=z.current,D=P.current;if(!w||!D)return;let G=D.querySelectorAll('[role="slider"]'),K=0;G.forEach((q,Y)=>{q===w&&(K=Y);}),C(K);},[P,z]);let y=L,b=L+1,s=x[y],E=x[b],V=r[y]??50,p=r[b]??50,[m,v]=useState(false),N=useCallback((w,D)=>{let G=[...r];G[y]=w,G[b]=D,u(G);},[r,u,y,b]),{isDragging:T,handlePointerDown:M,handleKeyDown:O}=Fe({direction:i,sizes:r,setSizes:u,panels:x,containerRef:P,leftPanelIndex:y,rightPanelIndex:b,disabled:t,announce:f,groupLabel:l,onOpenPopover:()=>v(true)}),F=s&&E?`Resize handle between ${s.name} and ${E.name} in ${l}`:`Resize handle in ${l}`,h=i==="horizontal"?GripVertical:GripHorizontal,A=s??{name:"Panel 1",minSize:$,maxSize:j,collapsible:false},I=E??{name:"Panel 2",minSize:$,maxSize:j,collapsible:false};return jsxs(Fragment,{children:[jsx("div",{ref:z,role:"slider",tabIndex:t?-1:0,"aria-label":F,"aria-valuenow":Math.round(V),"aria-valuemin":s?.collapsible?0:s?.minSize??0,"aria-valuemax":s?.maxSize??100,"aria-orientation":i,"aria-disabled":t,"data-direction":i,"data-dragging":T,"data-disabled":t,onPointerDown:M,onKeyDown:O,className:S(pe({direction:i,disabled:t,isDragging:T}),d),children:e&&jsx("div",{className:S(fe({direction:i})),"aria-hidden":"true",children:jsx(h,{className:"h-4 w-4"})})}),jsx(Se,{isOpen:m,onOpenChange:v,groupLabel:l,leftPanel:A,rightPanel:I,leftSize:V,rightSize:p,onSizesChange:N,presets:a,triggerRef:z,direction:i})]})});lt.displayName="ResizableHandle";export{j as DEFAULT_MAX_SIZE,$ as DEFAULT_MIN_SIZE,ae as LONG_PRESS_THRESHOLD,lt as ResizableHandle,xt as ResizableHandlePropsSchema,De as ResizablePanel,Te as ResizablePanelGroup,bt as ResizablePanelGroupPropsSchema,vt as ResizablePanelPropsSchema,Ae as ResizePresetSchema,fe as resizableGripVariants,pe as resizableHandleVariants,Q as useResizableContext};//# sourceMappingURL=index.mjs.map
|
|
2
|
+
import {createContext,forwardRef,useImperativeHandle,useRef,useState,useEffect,memo,useId,useCallback,useContext}from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {z as z$1}from'zod';import {cva}from'class-variance-authority';import {Loader2,Zap,Minus,Plus,X,GripVertical,GripHorizontal}from'lucide-react';import {Button,NumberField,Label,Group,Input,Text,FieldError,DialogTrigger,Popover,Dialog}from'react-aria-components';function z(...o){return twMerge(clsx(o))}var ie=createContext(null);ie.displayName="ResizableContext";function K(){let o=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 we({direction:o,groupLabel:e,sizes:a,onSizesChange:t}){let[d,n]=useState([]),[i,l]=useState([]),r=useRef(null),u=useRef(null),x=useRef(null),f=useRef(false),N=a!==void 0,h=N?a:d,S=useCallback(b=>{N?t?.(b):n(b);},[N,t]),P=useCallback((b,s)=>{l(T=>{let A=[...T];return A[b]=s,A});},[]),L=useCallback(b=>{l(s=>{let T=[...s];return delete T[b],T.filter(Boolean)});},[]);useEffect(()=>{if(N||f.current)return;let s=i.filter(Boolean).length;if(s<2)return;if(h.length<s||h.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);}},[i,h,N]),useEffect(()=>()=>{x.current&&clearTimeout(x.current),u.current&&(document.body.removeChild(u.current),u.current=null);},[]);let E=useCallback(b=>{if(!u.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),u.current=s;}u.current.textContent=b,x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{u.current&&(u.current.textContent="");},1e3);},[]);return {direction:o,groupLabel:e,sizes:h,setSizes:S,panels:i,registerPanel:P,unregisterPanel:L,announce:E,containerRef:r}}var Ve=forwardRef(function({direction:e,groupLabel:a,sizes:t,onSizesChange:d,className:n,children:i},l){let r=we({direction:e,groupLabel:a,sizes:t,onSizesChange:d});return useImperativeHandle(l,()=>r.containerRef.current,[r.containerRef]),jsx(ie.Provider,{value:r,children:jsx("div",{ref:r.containerRef,role:"group","aria-label":`${a}, ${e}`,"data-direction":e,className:z("flex h-full w-full",e==="horizontal"?"flex-row":"flex-col",n),children:i})})});Ve.displayName="ResizablePanelGroup";var $=10,Y=90,se=300,De=z$1.object({label:z$1.string().min(1),sizes:z$1.array(z$1.number().min(0).max(100))}),Rt=z$1.object({direction:z$1.enum(["horizontal","vertical"]),groupLabel:z$1.string().min(1),sizes:z$1.array(z$1.number().min(0).max(100)).optional(),onSizesChange:z$1.function().optional(),className:z$1.string().optional(),children:z$1.custom()}),St=z$1.object({name:z$1.string().min(1),defaultSize:z$1.number().min(0).max(100).optional(),minSize:z$1.number().min(0).max(100).optional().default($),maxSize:z$1.number().min(0).max(100).optional().default(Y),collapsible:z$1.boolean().optional().default(false),onCollapse:z$1.function().optional(),onExpand:z$1.function().optional(),onResize:z$1.function().optional(),className:z$1.string().optional(),children:z$1.custom()}),ht=z$1.object({withHandle:z$1.boolean().optional().default(true),presets:z$1.array(De).optional(),disabled:z$1.boolean().optional().default(false),className:z$1.string().optional()}),ve=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}}),xe=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 Me=forwardRef(function({name:e,defaultSize:a,minSize:t=$,maxSize:d=Y,collapsible:n=false,onCollapse:i,onExpand:l,onResize:r,className:u,children:x},f){let{sizes:N,registerPanel:h,unregisterPanel:S,containerRef:P}=K(),L=useRef(null),[E,b]=useState(-1),s=useRef(null),T=useRef(false),A=useRef(-1);useEffect(()=>{let m=L.current,v=P.current;if(!m||!v)return;let I=v.querySelectorAll("[data-resizable-panel]"),y=-1;for(let D=0;D<I.length;D++)if(I[D]===m){y=D;break}if(y!==-1)return E!==y&&b(y),T.current||(T.current=true,A.current=y,h(y,{name:e,minSize:t,maxSize:d,collapsible:n})),()=>{T.current&&(S(A.current),T.current=false);}},[P,h,S,e,t,d,n,E]);let p=E>=0?N[E]??50:50;return useEffect(()=>{if(s.current===null){s.current=p;return}let m=s.current===0,v=p===0;!m&&v&&i?i():m&&!v&&l&&l(),r&&s.current!==p&&r(p),s.current=p;},[p,i,l,r]),jsx("div",{ref:m=>{L.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":E,"data-collapsed":p===0,style:{flexBasis:`${p}%`,flexGrow:0,flexShrink:0,overflow:"hidden"},className:z("relative",u),children:x})});Me.displayName="ResizablePanel";function He(o,e,a){return Math.max(e,Math.min(a,o))}function Fe(o,e,a,t,d){let n=[...o],i=e[a],l=e[t];if(!i||!l)return o;let r=o[a]??50,u=o[t]??50,x=r+d,f=u-d,N=i.collapsible?0:i.minSize,h=i.maxSize,S=l.collapsible?0:l.minSize,P=l.maxSize;return x=He(x,N,h),f=r+u-x,f=He(f,S,P),x=r+u-f,n[a]=x,n[t]=f,n}function Ge({direction:o,sizes:e,setSizes:a,panels:t,containerRef:d,leftPanelIndex:n,rightPanelIndex:i,disabled:l=false,announce:r,groupLabel:u,onOpenPopover:x}){let[f,N]=useState(false),h=useRef(null),S=useRef(null),P=useRef(0),L=useRef(false),E=useRef(t),b=useRef(e),s=useRef(a),T=useRef(()=>{}),A=useRef(()=>{});useEffect(()=>{E.current=t,b.current=e,s.current=a;},[t,e,a]);let p=useCallback(()=>{let g=d.current;return g?o==="horizontal"?g.offsetWidth:g.offsetHeight:0},[d,o]),m=useCallback(g=>{let w=p();return w===0?0:g/w*100},[p]),v=useCallback(g=>{T.current(g);},[]),I=useCallback(()=>{A.current();},[]),y=useCallback(g=>{if(!h.current||l)return;let C=(o==="horizontal"?g.clientX:g.clientY)-h.current.position,_=m(C),V=Fe(h.current.sizes,E.current,n,i,_);s.current(V);},[o,l,n,m,i]),D=useCallback(()=>{if(S.current&&(clearTimeout(S.current),S.current=null),Date.now()-P.current<se&&!L.current&&x&&!l&&x(),f){N(false);let C=E.current[n],_=Math.round(b.current[n]??50);r&&C&&u&&r(`${C.name} in ${u} resized to ${_} percent`);}h.current=null,L.current=false,document.removeEventListener("pointermove",v),document.removeEventListener("pointerup",I),document.removeEventListener("pointercancel",I),document.body.style.cursor="",document.body.style.userSelect="";},[r,l,u,f,n,x,v,I]);useEffect(()=>{T.current=y,A.current=D;});let U=useCallback(g=>{if(l)return;g.preventDefault();let w=o==="horizontal"?g.clientX:g.clientY;P.current=Date.now(),L.current=false,h.current={position:w,sizes:[...e],containerSize:p()},S.current=setTimeout(()=>{L.current=true,N(true),document.body.style.cursor=o==="horizontal"?"col-resize":"row-resize",document.body.style.userSelect="none";},se),document.addEventListener("pointermove",v),document.addEventListener("pointerup",I),document.addEventListener("pointercancel",I),g.pointerType==="mouse"&&(S.current&&(clearTimeout(S.current),S.current=null),L.current=true,N(true),document.body.style.cursor=o==="horizontal"?"col-resize":"row-resize",document.body.style.userSelect="none");},[o,l,p,v,I,e]),O=useCallback(g=>{if(l)return;let w=g.shiftKey?10:1,C=0;switch(g.key){case "ArrowLeft":case "ArrowUp":C=-w;break;case "ArrowRight":case "ArrowDown":C=w;break;case "Home":{let _=t[n];_&&(C=(_.collapsible?0:_.minSize)-(e[n]??50));break}case "End":{let _=t[n];_&&(C=_.maxSize-(e[n]??50));break}case "Enter":case " ":g.preventDefault(),x?.();return;default:return}if(C!==0){g.preventDefault();let _=Fe(e,t,n,i,C);a(_);let V=t[n],F=Math.round(_[n]??50);r&&V&&u&&r(`${V.name} in ${u} resized to ${F} percent`);}},[r,l,u,n,x,t,i,a,e]);return useEffect(()=>{let g=v,w=I;return ()=>{S.current&&clearTimeout(S.current),document.removeEventListener("pointermove",g),document.removeEventListener("pointerup",w),document.removeEventListener("pointercancel",w);}},[v,I]),{isDragging:f,handlePointerDown:U,handleKeyDown:O}}var Re=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=cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium 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)] shadow-md 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)] shadow-md 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-8",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)] !shadow-md hover:!bg-[var(--paywall)]/90 !cursor-not-allowed !border-transparent",false:""}},defaultVariants:{variant:"default",visualSize:"default",paywall:false}});var he="data-[pressed]:scale-[0.97]";var Ee="data-[hovered]:shadow-md";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=createContext(null);Ye.displayName="ButtonGroupContext";function Ze(){return useContext(Ye)}var je=createContext(null);je.displayName="ButtonGroupItemContext";function Xe(){return useContext(je)}cva("inline-flex items-center gap-0",{variants:{orientation:{horizontal:"flex-row",vertical:"flex-col w-full"}},defaultVariants:{orientation:"horizontal"}});var qe=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"}});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=memo(forwardRef(({className:o,buttonVisualClassName:e,variant:a,size:t,visualSize:d,fullWidth:n,loading:i=false,loadingText:l="Loading...",shortcut:r,children:u,isDisabled:x,paywall:f=false,paywallRedirect:N,paywallDescription:h,onPress:S,...P},L)=>{let E=useId(),b=Ze(),s=Xe(),T=a??b?.variant??"default",A=t??b?.size,p=x??b?.isDisabled??false,m=b?.orientation==="vertical",v=n||m,I=s?qe({orientation:b?.orientation??"horizontal",position:s.position}):"",y=d??A??"default";return process.env.NODE_ENV!=="production"&&(y==="dot"||y==="icon")&&!P["aria-label"]&&!u&&console.warn('[Button] visualSize="dot" or "icon" requires aria-label when no visible text is provided (WCAG 1.1.1)'),jsx(Button,{ref:L,isDisabled:p||i||void 0,"aria-disabled":f?true:void 0,"aria-describedby":f?E:void 0,onPress:O=>{if(f){N&&window.open(N,"_blank","noopener,noreferrer");return}S?.(O);},className:z(Re({fullWidth:v,inVerticalGroup:m}),o),...P,children:O=>jsxs("span",{className:z(Se({variant:T,visualSize:y,paywall:f,fullWidth:v}),I,e,he,Ee,ue,ce),"data-pressed":O.isPressed||void 0,children:[i&&jsxs(Fragment,{children:[jsx(Loader2,{className:"motion-safe:animate-spin","aria-hidden":"true"}),jsx("span",{className:"sr-only","aria-live":"polite",children:l})]}),!i&&u,f&&jsx(Zap,{"data-testid":"zap-icon","aria-hidden":"true",className:"ml-1"}),f&&jsxs("span",{id:E,className:"sr-only",children:["Premium feature: ",h||"Upgrade required to access this feature"]}),O.isFocusVisible&&r&&jsx("kbd",{className:"ml-auto hidden text-xs opacity-60 lg:inline",children:r})]})})}));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`},Ie="min-h-[44px] flex items-center";function We(o,e){return !(o===false||e)}var Ke="(prefers-reduced-motion: reduce)";function Ot(){return typeof window>"u"?false:window.matchMedia(Ke).matches}function Qe(){let[o,e]=useState(Ot);return useEffect(()=>{let a=window.matchMedia(Ke);e(a.matches);let t=d=>{e(d.matches);};return a.addEventListener("change",t),()=>a.removeEventListener("change",t)},[]),o}var Je=4294967295,et=0,tt=-2147483647;z$1.object({value:z$1.number().nullable().optional(),defaultValue:z$1.number().optional(),minValue:z$1.number().optional(),maxValue:z$1.number().optional(),allowNegative:z$1.boolean().optional(),step:z$1.number().positive().optional(),formatOptions:z$1.custom().optional(),isDisabled:z$1.boolean().optional(),isReadOnly:z$1.boolean().optional(),isRequired:z$1.boolean().optional(),isInvalid:z$1.boolean().optional(),isWheelDisabled:z$1.boolean().optional(),validate:z$1.function().optional(),validationBehavior:z$1.enum(["native","aria"]).default("native"),label:z$1.string(),description:z$1.string().optional(),errorMessage:z$1.union([z$1.string(),z$1.function()]).optional(),stepperLayout:z$1.enum(["sides","stacked","hidden"]).default("sides"),incrementAriaLabel:z$1.string().optional(),decrementAriaLabel:z$1.string().optional(),name:z$1.string().optional(),size:z$1.enum(["sm","default","lg"]).default("default"),onChange:z$1.function().optional(),onFocus:z$1.function().optional(),onBlur:z$1.function().optional(),onFocusChange:z$1.function().optional(),animated:z$1.boolean().optional().default(true),springConfig:z$1.object({stiffness:z$1.number(),damping:z$1.number()}).optional(),className:z$1.string().optional(),autoFocus:z$1.boolean().optional()});var nt=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}}),rt=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=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"}}),ot=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=cva(["text-[var(--menu-muted)]","mt-1"],{variants:{size:{sm:"text-xs",default:"text-sm",lg:"text-base"}},defaultVariants:{size:"default"}}),it=cva(["flex items-center gap-1","text-[var(--destructive-background)]","mt-1"],{variants:{size:{sm:"text-xs",default:"text-sm",lg:"text-base"}},defaultVariants:{size:"default"}});var ne;function $t(){return ne!==void 0?Promise.resolve(ne):import('motion').then(o=>(ne=o.animate,ne)).catch(()=>(ne=null,null))}function Yt(o,e){if(e)try{let a={...e};return a.style==="currency"&&!a.currencyDisplay&&(a.currencyDisplay="narrowSymbol"),new Intl.NumberFormat(void 0,a).format(o)}catch{return String(Math.round(o))}return String(Math.round(o))}var fe=forwardRef(({label:o,description:e,errorMessage:a,size:t="default",stepperLayout:d="sides",allowNegative:n=false,incrementAriaLabel:i,decrementAriaLabel:l,animated:r,springConfig:u,onChange:x,value:f,defaultValue:N,formatOptions:h,minValue:S,maxValue:P,className:L,isInvalid:E,isRequired:b,isDisabled:s,isReadOnly:T,...A},p)=>{let m=S??(n?tt:et),v=P??Je,I=d!=="hidden"&&!T,y=Qe(),D=We(r,y)&&I,U=useRef(null),O=useRef(f??N??0),g=useRef(void 0),w=useRef(null);useEffect(()=>{D&&$t().then(V=>{g.current=V??null;});},[D]),useEffect(()=>()=>{w.current?.stop();},[]);let C=V=>{let F=O.current;if(D&&g.current&&U.current&&F!==V){w.current?.stop();let W=V,Z=U.current,j=Z.parentElement?.querySelector("input");Z.style.display="",j&&(j.style.color="transparent"),w.current=g.current(F,W,{type:"spring",stiffness:u?.stiffness??500,damping:u?.damping??30,onUpdate:Ae=>{O.current=Ae,Z.textContent=Yt(Ae,h);},onComplete:()=>{Z.style.display="none",j&&(j.style.color=""),w.current=null,O.current=W;}});}else O.current=V;x?.(V);},_=d==="stacked";return jsxs(NumberField,{ref:p,className:z("group flex flex-col",L),minValue:m,maxValue:v,isInvalid:E,isRequired:b,isDisabled:s,isReadOnly:T,value:f,defaultValue:N,formatOptions:h,onChange:C,...A,children:[jsx(Label,{className:z(ot({size:t})),"data-required":b||void 0,children:o}),jsxs(Group,{className:z(Ie,nt({size:t,isInvalid:E??false}),_&&"pr-0"),children:[I&&!_&&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:jsx(Minus,{className:"h-4 w-4","aria-hidden":"true"})}),jsxs("div",{className:"relative flex flex-1",children:[jsx(Input,{className:z(rt({size:t}),"w-full")}),D&&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"})]}),I&&_&&jsxs("div",{className:"flex flex-col h-full",children:[jsx(G,{slot:"increment",variant:"ghost",className:"!min-h-0 !min-w-0",buttonVisualClassName:z(te({size:t,position:"top"})),"aria-label":i??"Increase value",children:jsx(Plus,{className:"h-3 w-3","aria-hidden":"true"})}),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:jsx(Minus,{className:"h-3 w-3","aria-hidden":"true"})})]}),I&&!_&&jsx(G,{slot:"increment",variant:"ghost",className:"!min-h-0 !min-w-0",buttonVisualClassName:z(te({size:t,position:"right"})),"aria-label":i??"Increase value",children:jsx(Plus,{className:"h-4 w-4","aria-hidden":"true"})})]}),e&&jsx(Text,{slot:"description",className:z(at({size:t})),children:e}),jsx(FieldError,{className:z(it({size:t})),children:a})]})});fe.displayName="NumberField";var _e=forwardRef(function({isOpen:e,onOpenChange:a,groupLabel:t,leftPanel:d,rightPanel:n,leftSize:i,rightSize:l,onSizesChange:r,presets:u,triggerRef:x,direction:f},N){let[h,S]=useState({left:i,right:l}),P=useRef(false);useEffect(()=>{e&&!P.current&&S({left:i,right:l}),P.current=e;},[e,i,l]);let L=useCallback(p=>{if(p===null)return;let m=Math.max(d.collapsible?0:d.minSize,Math.min(d.maxSize,p)),v=100-m,I=n.collapsible?0:n.minSize,y=n.maxSize;v<I||v>y||r(m,v);},[d,n,r]),E=useCallback(p=>{if(p===null)return;let m=Math.max(n.collapsible?0:n.minSize,Math.min(n.maxSize,p)),v=100-m,I=d.collapsible?0:d.minSize,y=d.maxSize;v<I||v>y||r(v,m);},[d,n,r]),b=useCallback(p=>{let m=p.sizes[0],v=p.sizes[1];m!==void 0&&v!==void 0&&r(m,v);},[r]),s=useCallback(()=>{r(h.left,h.right),a(false);},[r,a,h]),T=useCallback(()=>{a(false);},[a]);return e?jsxs(DialogTrigger,{isOpen:e,onOpenChange:a,children:[jsx(Button,{className:"sr-only",children:"Open resize controls"}),jsx(Popover,{triggerRef:x,placement:f==="horizontal"?"bottom":"right",offset:8,className:z("w-72","rounded-lg border border-[var(--border)]","bg-[var(--content-background)] text-[var(--content-foreground)]","shadow-lg","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:jsxs(Dialog,{className:"outline-none",children:[jsxs("div",{className:"flex items-center justify-between border-b border-[var(--border)] px-4 py-3",children:[jsxs("h3",{className:"text-sm font-medium",children:["Resize: ",t]}),jsx(Button,{onPress:T,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:jsx(X,{className:"h-4 w-4"})})]}),jsxs("div",{className:"space-y-4 px-4 py-4",children:[jsx("div",{children:jsx(fe,{label:`${d.name} (%)`,value:Math.round(i),onChange:L,minValue:d.collapsible?0:d.minSize,maxValue:d.maxSize,step:1,stepperLayout:"sides"})}),jsx("div",{children:jsx(fe,{label:`${n.name} (%)`,value:Math.round(l),onChange:E,minValue:n.collapsible?0:n.minSize,maxValue:n.maxSize,step:1,stepperLayout:"sides"})}),u&&u.length>0&&jsxs("div",{className:"border-t border-[var(--border)] pt-4",children:[jsx("div",{className:"mb-2 text-xs font-medium text-[var(--menu-muted)]",children:"Presets"}),jsx("div",{className:"flex flex-wrap gap-2",children:u.map((p,m)=>jsx(G,{variant:"outline",size:"sm",onPress:()=>b(p),children:p.label},m))})]})]}),jsx("div",{className:"flex justify-end border-t border-[var(--border)] px-4 py-3",children:jsx(G,{variant:"ghost",size:"sm",onPress:s,children:"Cancel"})})]})})]}):null});_e.displayName="ResizablePopover";var mt=forwardRef(function({withHandle:e=true,presets:a,disabled:t=false,className:d},n){let{direction:i,groupLabel:l,sizes:r,setSizes:u,panels:x,announce:f,containerRef:N}=K(),h=useRef(null),S=n||h,[P,L]=useState(0);useEffect(()=>{let _=S.current,V=N.current;if(!_||!V)return;let F=V.querySelectorAll('[role="slider"]'),W=0;F.forEach((Z,j)=>{Z===_&&(W=j);}),L(W);},[N,S]);let E=P,b=P+1,s=x[E],T=x[b],A=r[E]??50,p=r[b]??50,[m,v]=useState(false),I=useCallback((_,V)=>{let F=[...r];F[E]=_,F[b]=V,u(F);},[r,u,E,b]),{isDragging:y,handlePointerDown:D,handleKeyDown:U}=Ge({direction:i,sizes:r,setSizes:u,panels:x,containerRef:N,leftPanelIndex:E,rightPanelIndex:b,disabled:t,announce:f,groupLabel:l,onOpenPopover:()=>v(true)}),O=s&&T?`Resize handle between ${s.name} and ${T.name} in ${l}`:`Resize handle in ${l}`,g=i==="horizontal"?GripVertical:GripHorizontal,w=s??{name:"Panel 1",minSize:$,maxSize:Y,collapsible:false},C=T??{name:"Panel 2",minSize:$,maxSize:Y,collapsible:false};return jsxs(Fragment,{children:[jsx("div",{ref:S,role:"slider",tabIndex:t?-1:0,"aria-label":O,"aria-valuenow":Math.round(A),"aria-valuemin":s?.collapsible?0:s?.minSize??0,"aria-valuemax":s?.maxSize??100,"aria-orientation":i,"aria-disabled":t,"data-direction":i,"data-dragging":y,"data-disabled":t,onPointerDown:D,onKeyDown:U,className:z(ve({direction:i,disabled:t,isDragging:y}),d),children:e&&jsx("div",{className:z(xe({direction:i})),"aria-hidden":"true",children:jsx(g,{className:"h-4 w-4"})})}),jsx(_e,{isOpen:m,onOpenChange:v,groupLabel:l,leftPanel:w,rightPanel:C,leftSize:A,rightSize:p,onSizesChange:I,presets:a,triggerRef:S,direction:i})]})});mt.displayName="ResizableHandle";export{Y as DEFAULT_MAX_SIZE,$ as DEFAULT_MIN_SIZE,se as LONG_PRESS_THRESHOLD,mt as ResizableHandle,ht as ResizableHandlePropsSchema,Me as ResizablePanel,Ve as ResizablePanelGroup,Rt as ResizablePanelGroupPropsSchema,St as ResizablePanelPropsSchema,De as ResizePresetSchema,xe as resizableGripVariants,ve as resizableHandleVariants,K as useResizableContext};//# sourceMappingURL=index.mjs.map
|
|
3
3
|
//# sourceMappingURL=index.mjs.map
|