@womp/kookie-ui 0.33.0 → 0.34.1

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 (51) hide show
  1. package/components.css +202 -0
  2. package/dist/cjs/components/command.d.ts +133 -0
  3. package/dist/cjs/components/command.d.ts.map +1 -0
  4. package/dist/cjs/components/command.js +3 -0
  5. package/dist/cjs/components/command.js.map +7 -0
  6. package/dist/cjs/components/index.d.ts +1 -0
  7. package/dist/cjs/components/index.d.ts.map +1 -1
  8. package/dist/cjs/components/index.js +2 -2
  9. package/dist/cjs/components/index.js.map +4 -4
  10. package/dist/cjs/components/text-field.d.ts.map +1 -1
  11. package/dist/cjs/components/text-field.js +2 -2
  12. package/dist/cjs/components/text-field.js.map +3 -3
  13. package/dist/cjs/index.js +5 -5
  14. package/dist/cjs/index.js.map +4 -4
  15. package/dist/esm/{chunk-K35JUIUT.js → chunk-API4DAPY.js} +2 -2
  16. package/dist/esm/{chunk-W35ZKQMQ.js → chunk-CAM66IXC.js} +2 -2
  17. package/dist/esm/chunk-GZPB6MRQ.js +3 -0
  18. package/dist/esm/chunk-GZPB6MRQ.js.map +7 -0
  19. package/dist/esm/{chunk-6WHKGVWY.js → chunk-NZJRXZYX.js} +2 -2
  20. package/dist/esm/chunk-SHKPQ3RI.js +2 -0
  21. package/dist/esm/chunk-YLGIP3A5.js +6 -0
  22. package/dist/esm/chunk-YLGIP3A5.js.map +7 -0
  23. package/dist/esm/components/alert-dialog.js +1 -1
  24. package/dist/esm/components/command.d.ts +133 -0
  25. package/dist/esm/components/command.d.ts.map +1 -0
  26. package/dist/esm/components/command.js +3 -0
  27. package/dist/esm/components/command.js.map +7 -0
  28. package/dist/esm/components/dialog.js +1 -1
  29. package/dist/esm/components/index.d.ts +1 -0
  30. package/dist/esm/components/index.d.ts.map +1 -1
  31. package/dist/esm/components/index.js +1 -1
  32. package/dist/esm/components/navigator.js +1 -1
  33. package/dist/esm/components/sheet.js +1 -1
  34. package/dist/esm/components/text-field.d.ts.map +1 -1
  35. package/dist/esm/components/text-field.js +1 -1
  36. package/dist/esm/hooks/index.js +1 -1
  37. package/dist/esm/index.js +1 -1
  38. package/package.json +1 -1
  39. package/src/components/command.css +197 -0
  40. package/src/components/command.tsx +432 -0
  41. package/src/components/index.css +1 -0
  42. package/src/components/index.tsx +24 -0
  43. package/src/components/text-field.tsx +11 -4
  44. package/styles.css +202 -0
  45. package/dist/esm/chunk-RSG4XWHU.js +0 -2
  46. package/dist/esm/chunk-Y44DYJA5.js +0 -6
  47. package/dist/esm/chunk-Y44DYJA5.js.map +0 -7
  48. /package/dist/esm/{chunk-K35JUIUT.js.map → chunk-API4DAPY.js.map} +0 -0
  49. /package/dist/esm/{chunk-W35ZKQMQ.js.map → chunk-CAM66IXC.js.map} +0 -0
  50. /package/dist/esm/{chunk-6WHKGVWY.js.map → chunk-NZJRXZYX.js.map} +0 -0
  51. /package/dist/esm/{chunk-RSG4XWHU.js.map → chunk-SHKPQ3RI.js.map} +0 -0
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as g}from"./chunk-FATCGZZE.js";import{a as C}from"./chunk-7VJF6EXN.js";import{a}from"./chunk-TGRHRMQI.js";import{a as f}from"./chunk-OBSZOD5M.js";import{a as d}from"./chunk-FICBVI4M.js";import{a as h}from"./chunk-HGF4CKRY.js";import{c}from"./chunk-5ON3XLRD.js";import{a as P}from"./chunk-4KBKS3ZE.js";import{c as m}from"./chunk-OKQAVYW4.js";import{a as W}from"./chunk-VQPANPMI.js";var j={};W(j,{Close:()=>E,Content:()=>y,Description:()=>T,Root:()=>S,Title:()=>D,Trigger:()=>R});import*as e from"react";import k from"classnames";import{Dialog as i}from"radix-ui";var S=t=>e.createElement(i.Root,{...t,modal:!0});S.displayName="Sheet.Root";var R=e.forwardRef(({children:t,...o},r)=>e.createElement(i.Trigger,{...o,ref:r,asChild:!0},a(t)));R.displayName="Sheet.Trigger";var{align:Y,...w}=g,u=w,B={Title:({children:t})=>e.createElement(i.Title,{asChild:!0},t),Close:({children:t})=>e.createElement(i.Close,{asChild:!0},t)},v=e.createContext(null),y=e.forwardRef((t,o)=>{let{side:r="start",forceMount:s,container:n,className:N,...x}=t,b=c(x,u.size),H={left:"start",right:"end",start:"start",end:"end",top:"top",bottom:"bottom"}[r],{className:O,...l}=m(b,u),z=e.useRef(0),M=e.useCallback(p=>{typeof o=="function"?o(p):o&&(o.current=p)},[o]);return C(),e.createElement(i.Portal,{container:n,forceMount:s},e.createElement(v.Provider,{value:z},e.createElement(h,{asChild:!0},e.createElement(i.Overlay,{className:"kui-BaseDialogOverlay kui-DialogOverlay kui-SheetOverlay"},e.createElement(i.Content,{...l,ref:M,className:k("kui-BaseDialogContent","kui-SheetContent",N,O),"data-side":H,"aria-modal":"true",children:e.createElement(P.Provider,{value:B},l.children)})))))});y.displayName="Sheet.Content";var D=e.forwardRef(({size:t="4",weight:o="medium",...r},s)=>{let n=e.useContext(v);return e.useLayoutEffect(()=>{if(n)return n.current+=1,()=>{n.current-=1}},[n]),e.createElement(i.Title,{asChild:!0},e.createElement(f,{ref:s,size:t,weight:o,...r}))});D.displayName="Sheet.Title";var T=e.forwardRef(({size:t="2",emphasis:o="medium",...r},s)=>e.createElement(i.Description,{asChild:!0},e.createElement(d,{ref:s,size:t,emphasis:o,...r})));T.displayName="Sheet.Description";var E=e.forwardRef(({children:t,...o},r)=>e.createElement(i.Close,{...o,ref:r,asChild:!0},a(t)));E.displayName="Sheet.Close";export{S as a,R as b,y as c,D as d,T as e,E as f,j as g};
3
- //# sourceMappingURL=chunk-K35JUIUT.js.map
2
+ import{a as g}from"./chunk-FATCGZZE.js";import{a as f}from"./chunk-OBSZOD5M.js";import{a as C}from"./chunk-7VJF6EXN.js";import{a}from"./chunk-TGRHRMQI.js";import{a as d}from"./chunk-FICBVI4M.js";import{a as h}from"./chunk-HGF4CKRY.js";import{c}from"./chunk-5ON3XLRD.js";import{a as P}from"./chunk-4KBKS3ZE.js";import{c as m}from"./chunk-OKQAVYW4.js";import{a as W}from"./chunk-VQPANPMI.js";var j={};W(j,{Close:()=>E,Content:()=>y,Description:()=>T,Root:()=>S,Title:()=>D,Trigger:()=>R});import*as e from"react";import k from"classnames";import{Dialog as i}from"radix-ui";var S=t=>e.createElement(i.Root,{...t,modal:!0});S.displayName="Sheet.Root";var R=e.forwardRef(({children:t,...o},r)=>e.createElement(i.Trigger,{...o,ref:r,asChild:!0},a(t)));R.displayName="Sheet.Trigger";var{align:Y,...w}=g,u=w,B={Title:({children:t})=>e.createElement(i.Title,{asChild:!0},t),Close:({children:t})=>e.createElement(i.Close,{asChild:!0},t)},v=e.createContext(null),y=e.forwardRef((t,o)=>{let{side:r="start",forceMount:s,container:n,className:N,...x}=t,b=c(x,u.size),H={left:"start",right:"end",start:"start",end:"end",top:"top",bottom:"bottom"}[r],{className:O,...l}=m(b,u),z=e.useRef(0),M=e.useCallback(p=>{typeof o=="function"?o(p):o&&(o.current=p)},[o]);return C(),e.createElement(i.Portal,{container:n,forceMount:s},e.createElement(v.Provider,{value:z},e.createElement(h,{asChild:!0},e.createElement(i.Overlay,{className:"kui-BaseDialogOverlay kui-DialogOverlay kui-SheetOverlay"},e.createElement(i.Content,{...l,ref:M,className:k("kui-BaseDialogContent","kui-SheetContent",N,O),"data-side":H,"aria-modal":"true",children:e.createElement(P.Provider,{value:B},l.children)})))))});y.displayName="Sheet.Content";var D=e.forwardRef(({size:t="4",weight:o="medium",...r},s)=>{let n=e.useContext(v);return e.useLayoutEffect(()=>{if(n)return n.current+=1,()=>{n.current-=1}},[n]),e.createElement(i.Title,{asChild:!0},e.createElement(f,{ref:s,size:t,weight:o,...r}))});D.displayName="Sheet.Title";var T=e.forwardRef(({size:t="2",emphasis:o="medium",...r},s)=>e.createElement(i.Description,{asChild:!0},e.createElement(d,{ref:s,size:t,emphasis:o,...r})));T.displayName="Sheet.Description";var E=e.forwardRef(({children:t,...o},r)=>e.createElement(i.Close,{...o,ref:r,asChild:!0},a(t)));E.displayName="Sheet.Close";export{S as a,R as b,y as c,D as d,T as e,E as f,j as g};
3
+ //# sourceMappingURL=chunk-API4DAPY.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as m}from"./chunk-FATCGZZE.js";import{a as c}from"./chunk-7VJF6EXN.js";import{a as l}from"./chunk-TGRHRMQI.js";import{a as D}from"./chunk-OBSZOD5M.js";import{a as P}from"./chunk-FICBVI4M.js";import{a as g}from"./chunk-HGF4CKRY.js";import{c as n}from"./chunk-5ON3XLRD.js";import{a as p}from"./chunk-4KBKS3ZE.js";import{c as r}from"./chunk-OKQAVYW4.js";import{a as w}from"./chunk-VQPANPMI.js";var z={};w(z,{Close:()=>T,Content:()=>v,Description:()=>y,Root:()=>f,Title:()=>R,Trigger:()=>d});import*as o from"react";import W from"classnames";import{Dialog as i}from"radix-ui";var f=e=>o.createElement(i.Root,{...e,modal:!0});f.displayName="Dialog.Root";var d=o.forwardRef(({children:e,...t},a)=>o.createElement(i.Trigger,{...t,ref:a,asChild:!0},l(e)));d.displayName="Dialog.Trigger";var{align:O,...C}=m,B={align:O},S={Title:({children:e})=>o.createElement(i.Title,{asChild:!0},e),Close:({children:e})=>o.createElement(i.Close,{asChild:!0},e)},v=o.forwardRef(({align:e,...t},a)=>{let u=n(t,C.size),{className:h}=r({align:e},B),{className:N,forceMount:E,container:x,onCloseAutoFocus:H,...s}=r(u,C);return c(),o.createElement(i.Portal,{container:x,forceMount:E},o.createElement(g,{asChild:!0},o.createElement(i.Overlay,{className:"kui-BaseDialogOverlay kui-DialogOverlay"},o.createElement("div",{className:"kui-BaseDialogScroll kui-DialogScroll"},o.createElement("div",{className:`kui-BaseDialogScrollPadding kui-DialogScrollPadding ${h}`},o.createElement(i.Content,{...s,ref:a,className:W("kui-BaseDialogContent","kui-DialogContent",N),children:o.createElement(p.Provider,{value:S},s.children),"aria-modal":"true",onCloseAutoFocus:k=>{H?.(k),document.body.style.pointerEvents=""}}))))))});v.displayName="Dialog.Content";var R=o.forwardRef((e,t)=>o.createElement(i.Title,{asChild:!0},o.createElement(D,{size:"5",trim:"start",...e,asChild:!1,ref:t})));R.displayName="Dialog.Title";var y=o.forwardRef((e,t)=>o.createElement(i.Description,{asChild:!0},o.createElement(P,{as:"p",size:"3",...e,asChild:!1,ref:t})));y.displayName="Dialog.Description";var T=o.forwardRef(({children:e,...t},a)=>o.createElement(i.Close,{...t,ref:a,asChild:!0},l(e)));T.displayName="Dialog.Close";export{f as a,d as b,v as c,R as d,y as e,T as f,z as g};
3
- //# sourceMappingURL=chunk-W35ZKQMQ.js.map
2
+ import{a as m}from"./chunk-FATCGZZE.js";import{a as D}from"./chunk-OBSZOD5M.js";import{a as c}from"./chunk-7VJF6EXN.js";import{a as l}from"./chunk-TGRHRMQI.js";import{a as P}from"./chunk-FICBVI4M.js";import{a as g}from"./chunk-HGF4CKRY.js";import{c as n}from"./chunk-5ON3XLRD.js";import{a as p}from"./chunk-4KBKS3ZE.js";import{c as r}from"./chunk-OKQAVYW4.js";import{a as w}from"./chunk-VQPANPMI.js";var z={};w(z,{Close:()=>T,Content:()=>v,Description:()=>y,Root:()=>f,Title:()=>R,Trigger:()=>d});import*as o from"react";import W from"classnames";import{Dialog as i}from"radix-ui";var f=e=>o.createElement(i.Root,{...e,modal:!0});f.displayName="Dialog.Root";var d=o.forwardRef(({children:e,...t},a)=>o.createElement(i.Trigger,{...t,ref:a,asChild:!0},l(e)));d.displayName="Dialog.Trigger";var{align:O,...C}=m,B={align:O},S={Title:({children:e})=>o.createElement(i.Title,{asChild:!0},e),Close:({children:e})=>o.createElement(i.Close,{asChild:!0},e)},v=o.forwardRef(({align:e,...t},a)=>{let u=n(t,C.size),{className:h}=r({align:e},B),{className:N,forceMount:E,container:x,onCloseAutoFocus:H,...s}=r(u,C);return c(),o.createElement(i.Portal,{container:x,forceMount:E},o.createElement(g,{asChild:!0},o.createElement(i.Overlay,{className:"kui-BaseDialogOverlay kui-DialogOverlay"},o.createElement("div",{className:"kui-BaseDialogScroll kui-DialogScroll"},o.createElement("div",{className:`kui-BaseDialogScrollPadding kui-DialogScrollPadding ${h}`},o.createElement(i.Content,{...s,ref:a,className:W("kui-BaseDialogContent","kui-DialogContent",N),children:o.createElement(p.Provider,{value:S},s.children),"aria-modal":"true",onCloseAutoFocus:k=>{H?.(k),document.body.style.pointerEvents=""}}))))))});v.displayName="Dialog.Content";var R=o.forwardRef((e,t)=>o.createElement(i.Title,{asChild:!0},o.createElement(D,{size:"5",trim:"start",...e,asChild:!1,ref:t})));R.displayName="Dialog.Title";var y=o.forwardRef((e,t)=>o.createElement(i.Description,{asChild:!0},o.createElement(P,{as:"p",size:"3",...e,asChild:!1,ref:t})));y.displayName="Dialog.Description";var T=o.forwardRef(({children:e,...t},a)=>o.createElement(i.Close,{...t,ref:a,asChild:!0},l(e)));T.displayName="Dialog.Close";export{f as a,d as b,v as c,R as d,y as e,T as f,z as g};
3
+ //# sourceMappingURL=chunk-CAM66IXC.js.map
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import{a as b}from"./chunk-7VJF6EXN.js";import{a as T}from"./chunk-HGF4CKRY.js";import{b as N}from"./chunk-5ON3XLRD.js";import*as e from"react";import{createPortal as D}from"react-dom";import d from"classnames";import{Command as v}from"cmdk";import{Dialog as g}from"radix-ui";var z={1:"2",2:"3",3:"4",4:"4"},M={values:["1","2","3","4"],default:"2"},h=e.createContext("2"),I=e.createContext(()=>{}),w=e.createContext([]),L=e.createContext(null),E=e.createContext({query:"",filter:null,itemToString:String}),x=e.createContext(null);function G(t){if(typeof t=="string"||typeof t=="number")return String(t);if(t&&typeof t=="object"){let n=t;for(let o of["label","title","value","name"])if(typeof n[o]=="string")return n[o]}return""}var F=(t,n,o)=>o(t).toLowerCase().includes(n.trim().toLowerCase());function B(t){return!!(t&&typeof t=="object"&&Array.isArray(t.items))}function V(t,n,o,r){if(o===null||n.trim()==="")return[...t];let s=[];for(let a of t)if(B(a)){let i=a.items.filter(m=>o(m,n,r));i.length>0&&s.push({...a,items:i})}else o(a,n,r)&&s.push(a);return s}function j({size:t,items:n,open:o,defaultOpen:r,onOpenChange:s,children:a}){let i=N(t,M),[m,C]=e.useState(r??!1),l=o!==void 0,p=l?o:m,u=e.useCallback((c,R)=>{s?.(c,{reason:R}),l||C(c)},[s,l]),f=e.useCallback(()=>u(!1,"item-press"),[u]);return e.createElement(h.Provider,{value:i},e.createElement(w.Provider,{value:n},e.createElement(L.Provider,{value:f},e.createElement(g.Root,{open:p,onOpenChange:c=>u(c,"dismiss"),modal:!0},a))))}function Z({children:t,...n}){return e.createElement(g.Trigger,{asChild:!0,...n},t)}function J({"aria-label":t,filter:n=F,itemToString:o=G,onQueryChange:r,container:s,children:a,className:i,style:m}){let C=e.useContext(h),[l,p]=e.useState(""),[u,f]=e.useState(null),c=e.useRef(r);e.useEffect(()=>{c.current=r}),e.useEffect(()=>()=>c.current?.(""),[]),b();let R=e.useCallback(k=>{p(k),c.current?.(k)},[]),S=e.useMemo(()=>({query:l,filter:n,itemToString:o}),[l,n,o]),P=e.useMemo(()=>({seat:u,setSeat:f}),[u]);return e.createElement(g.Portal,{container:s},e.createElement(T,{asChild:!0},e.createElement(g.Overlay,{className:"kui-BaseDialogOverlay kui-CommandOverlay"},e.createElement(g.Content,{"aria-label":t,"aria-describedby":void 0,className:d("kui-CommandContent",`kui-r-size-${C}`,i),style:m,onCloseAutoFocus:()=>{document.body.style.pointerEvents=""}},e.createElement(g.Title,{className:"kui-sr-only"},t),e.createElement(v,{label:t,shouldFilter:!1,loop:!0,className:"kui-CommandRoot"},e.createElement(E.Provider,{value:S},e.createElement(I.Provider,{value:R},e.createElement(x.Provider,{value:P},a))))))))}function K({leading:t,className:n,...o}){let r=e.useContext(h),s=e.useContext(I),a=e.useRef(null);return e.createElement("div",{className:d("kui-CommandSearch",`kui-r-size-${r}`),onMouseDown:i=>{i.target!==a.current&&(i.preventDefault(),a.current?.focus())}},t?e.createElement("span",{className:"kui-CommandSearchSlot","aria-hidden":!0},t):null,e.createElement(v.Input,{ref:a,autoFocus:!0,...o,onValueChange:s,className:d("kui-reset","kui-CommandInput",n)}))}function U({children:t,className:n}){let o=e.useContext(h),r=e.useContext(w),{query:s,filter:a,itemToString:i}=e.useContext(E),m=e.useContext(x),C=e.useMemo(()=>V(r,s,a,i),[r,s,a,i]);return e.createElement("div",{className:d("kui-BaseMenuContent","kui-variant-soft",`kui-r-size-${z[o]}`,"kui-CommandPanel",n)},e.createElement(v.List,{className:d("kui-BaseMenuViewport","kui-CommandList")},C.map(l=>t(l)),e.createElement("div",{className:"kui-CommandSeat",ref:m?m.setSeat:void 0})))}var O=e.createContext([]);function X({items:t,children:n,className:o}){return e.createElement(O.Provider,{value:t},e.createElement(v.Group,{className:d("kui-BaseMenuGroup","kui-CommandGroup",o)},n))}function Y({children:t,className:n}){return e.createElement("div",{className:d("kui-BaseMenuLabel","kui-CommandGroupLabel",n),"aria-hidden":!0},t)}function ee({children:t}){let n=e.useContext(O);return e.createElement(e.Fragment,null,n.map(o=>t(o)))}function te({value:t,onSelect:n,leading:o,trailing:r,tone:s,asChild:a,children:i,className:m,...C}){let l=e.useContext(L),p=e.useId(),u=e.useRef(null),f=e.useRef(!1),c=typeof t=="string"?t:p,R=()=>{n?.(),l?.()},S=()=>{if(f.current){f.current=!1,R();return}let y=u.current??document.querySelector(`[data-kui-command-item="${CSS.escape(p)}"]`);if(a&&y instanceof HTMLAnchorElement){y.click();return}R()},P=a&&e.isValidElement(i)?i:null,k=y=>e.createElement(e.Fragment,null,o?e.createElement("span",{className:"kui-CommandItemSlot","data-slot":"leading","aria-hidden":!0},o):null,e.createElement("span",{className:"kui-CommandItemLabel"},y),r?e.createElement("span",{className:"kui-CommandItemSlot","data-slot":"trailing"},r):null);return e.createElement(v.Item,{...C,ref:u,"data-kui-command-item":p,value:c,asChild:!!P,onSelect:S,onClickCapture:()=>{f.current=!0},"data-tone":s,className:d("kui-reset","kui-BaseMenuItem","kui-CommandItem",m)},P?e.cloneElement(P,void 0,k(P.props.children)):k(i))}function ne({children:t,className:n}){let o=e.useContext(x);return o?.seat?D(e.createElement(v.Empty,{className:d("kui-CommandEmpty",n)},t),o.seat):null}export{z as a,j as b,Z as c,J as d,K as e,U as f,X as g,Y as h,ee as i,te as j,ne as k};
3
+ //# sourceMappingURL=chunk-GZPB6MRQ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/command.tsx"],
4
+ "sourcesContent": ["'use client';\n\n/**\n * Command, from v2 (2026-11-03): a command palette, one field over everything the app can do.\n *\n * It is a Dialog: it covers the app, traps focus, locks the page and leaves on Escape. Inside are\n * two panes in a column anchored to the top, the search bar and the results, so a result count\n * never moves the field. The keyboard model is the package's: a row is highlighted from the first\n * frame and after every keystroke, the arrows move it, Enter runs it, and running a row closes the\n * palette. What rows exist and what they do is the app's.\n *\n * Filtering keeps the order of `items`: a palette is used by muscle memory, so typing never\n * reorders it. Pass `filter={null}` to narrow and rank `items` yourself.\n *\n * Differs from v2 in its machine only: v1 builds on cmdk where v2 builds on Base UI's Autocomplete.\n * A row that should be a link takes `asChild` around the app's link, where v2 takes `render`.\n */\n\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport classNames from 'classnames';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\n\nimport { PortalTheme } from './_internal/portal-theme.js';\nimport { useBodyPointerEventsCleanup } from '../hooks/use-body-pointer-events-cleanup.js';\nimport { useThemeSize } from '../hooks/theme-size.js';\n\ntype Size = '1' | '2' | '3' | '4';\n\n/** The rows stand one step above the palette: it is the one object on screen, read from a distance. */\nconst ROW_STEP: Record<Size, Size> = { '1': '2', '2': '3', '3': '4', '4': '4' };\n\ntype CommandOpenChangeReason = 'item-press' | 'dismiss';\ntype CommandOpenChangeDetails = { reason: CommandOpenChangeReason };\n\ntype Filter = (item: unknown, query: string, itemToString: (item: unknown) => string) => boolean;\n\nconst SIZE_DEF = { values: ['1', '2', '3', '4'], default: '2' } as const;\n\nconst CommandSizeContext = React.createContext<Size>('2');\nconst CommandQueryContext = React.createContext<(query: string) => void>(() => {});\nconst CommandItemsContext = React.createContext<readonly unknown[]>([]);\nconst CommandCloseContext = React.createContext<(() => void) | null>(null);\nconst CommandListContext = React.createContext<{ query: string; filter: Filter | null; itemToString: (item: unknown) => string }>({\n query: '',\n filter: null,\n itemToString: String,\n});\nconst CommandSeatContext = React.createContext<{ seat: HTMLElement | null; setSeat: (node: HTMLElement | null) => void } | null>(null);\n\n/** What an item says, for the default filter: a string as itself, an object by its label, title or value. */\nfunction defaultItemToString(item: unknown): string {\n if (typeof item === 'string' || typeof item === 'number') return String(item);\n if (item && typeof item === 'object') {\n const record = item as Record<string, unknown>;\n for (const key of ['label', 'title', 'value', 'name']) {\n if (typeof record[key] === 'string') return record[key] as string;\n }\n }\n return '';\n}\n\nconst defaultFilter: Filter = (item, query, itemToString) => itemToString(item).toLowerCase().includes(query.trim().toLowerCase());\n\n/** A group is an item that carries its own `items`; it stays while any of them matches. */\nfunction isGroup(item: unknown): item is { items: readonly unknown[] } {\n return Boolean(item && typeof item === 'object' && Array.isArray((item as { items?: unknown }).items));\n}\n\nfunction narrow(items: readonly unknown[], query: string, filter: Filter | null, itemToString: (item: unknown) => string): unknown[] {\n if (filter === null || query.trim() === '') return [...items];\n const out: unknown[] = [];\n for (const item of items) {\n if (isGroup(item)) {\n const kept = item.items.filter((member) => filter(member, query, itemToString));\n if (kept.length > 0) out.push({ ...item, items: kept });\n } else if (filter(item, query, itemToString)) {\n out.push(item);\n }\n }\n return out;\n}\n\ninterface CommandProps {\n /**\n * The size step of the palette, from `\"1\"` to `\"4\"`. The rows are one step larger than the\n * app's controls at the same step, and the search text larger again. The default comes from\n * the theme.\n */\n size?: Size;\n /**\n * Every item the palette can show, before filtering. `CommandList` takes a function that turns\n * an item into a row. An item with its own `items` array is a group. Keep the array stable.\n */\n items: readonly unknown[];\n /** Whether the palette is open, for a controlled palette. Most are, because a key handler opens them. */\n open?: boolean;\n /** Whether the palette is open at the start, for an uncontrolled palette. */\n defaultOpen?: boolean;\n /** Called each time the palette opens or closes. `reason` is `\"item-press\"` when a row ran. */\n onOpenChange?: (open: boolean, details: CommandOpenChangeDetails) => void;\n /** A `CommandTrigger`, if there is one, and a `CommandContent`. */\n children: React.ReactNode;\n}\n\n/** A command palette: a field over a list of rows, in a dialog. Running a row closes it. */\nfunction Command({ size: sizeProp, items, open, defaultOpen, onOpenChange, children }: CommandProps) {\n const size = useThemeSize<Size>(sizeProp, SIZE_DEF);\n const [internalOpen, setInternalOpen] = React.useState(defaultOpen ?? false);\n const controlled = open !== undefined;\n const isOpen = controlled ? open : internalOpen;\n\n const change = React.useCallback(\n (next: boolean, reason: CommandOpenChangeReason) => {\n onOpenChange?.(next, { reason });\n if (!controlled) setInternalOpen(next);\n },\n [onOpenChange, controlled],\n );\n const close = React.useCallback(() => change(false, 'item-press'), [change]);\n\n return (\n <CommandSizeContext.Provider value={size}>\n <CommandItemsContext.Provider value={items}>\n <CommandCloseContext.Provider value={close}>\n <DialogPrimitive.Root open={isOpen} onOpenChange={(next) => change(next, 'dismiss')} modal>\n {children}\n </DialogPrimitive.Root>\n </CommandCloseContext.Provider>\n </CommandItemsContext.Provider>\n </CommandSizeContext.Provider>\n );\n}\n\ninterface CommandTriggerProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Trigger> {}\n\n/** Opens the palette. Most palettes open from a key handler instead, and render none. */\nfunction CommandTrigger({ children, ...props }: CommandTriggerProps) {\n return (\n <DialogPrimitive.Trigger asChild {...props}>\n {children}\n </DialogPrimitive.Trigger>\n );\n}\n\ninterface CommandContentProps {\n /** The palette's accessible name, such as \"Search the documentation\". */\n 'aria-label': string;\n /**\n * How an item matches the query. The default keeps an item whose text contains the query.\n * `null` turns filtering off, for an app that narrows and ranks `items` itself.\n */\n filter?: Filter | null;\n /** What an item says, for the filter. The default reads a string, or an object's label, title or value. */\n itemToString?: (item: unknown) => string;\n /** Called with the query on every keystroke, and with `\"\"` when the palette closes. */\n onQueryChange?: (query: string) => void;\n /** Keep the portal in a container of your own. */\n container?: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>['container'];\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n}\n\n/** The palette: a column of the search bar over the results, anchored to the top of the window. */\nfunction CommandContent({ 'aria-label': label, filter = defaultFilter, itemToString = defaultItemToString, onQueryChange, container, children, className, style }: CommandContentProps) {\n const size = React.useContext(CommandSizeContext);\n const [query, setQuery] = React.useState('');\n const [seat, setSeat] = React.useState<HTMLElement | null>(null);\n const report = React.useRef(onQueryChange);\n React.useEffect(() => {\n report.current = onQueryChange;\n });\n\n // Closing clears the query, so the palette opens fresh.\n React.useEffect(() => () => report.current?.(''), []);\n useBodyPointerEventsCleanup();\n\n const changeQuery = React.useCallback((next: string) => {\n setQuery(next);\n report.current?.(next);\n }, []);\n const listValue = React.useMemo(() => ({ query, filter, itemToString }), [query, filter, itemToString]);\n const seatValue = React.useMemo(() => ({ seat, setSeat }), [seat]);\n\n return (\n <DialogPrimitive.Portal container={container}>\n <PortalTheme asChild>\n <DialogPrimitive.Overlay className=\"kui-BaseDialogOverlay kui-CommandOverlay\">\n <DialogPrimitive.Content\n aria-label={label}\n aria-describedby={undefined}\n className={classNames('kui-CommandContent', `kui-r-size-${size}`, className)}\n style={style}\n onCloseAutoFocus={() => {\n document.body.style.pointerEvents = '';\n }}\n >\n <DialogPrimitive.Title className=\"kui-sr-only\">{label}</DialogPrimitive.Title>\n {/* cmdk owns the highlight and Enter; this file owns the filter, so order never changes. */}\n <CommandPrimitive label={label} shouldFilter={false} loop className=\"kui-CommandRoot\">\n <CommandListContext.Provider value={listValue}>\n <CommandQueryContext.Provider value={changeQuery}>\n <CommandSeatContext.Provider value={seatValue}>{children}</CommandSeatContext.Provider>\n </CommandQueryContext.Provider>\n </CommandListContext.Provider>\n </CommandPrimitive>\n </DialogPrimitive.Content>\n </DialogPrimitive.Overlay>\n </PortalTheme>\n </DialogPrimitive.Portal>\n );\n}\n\ninterface CommandInputProps extends Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>, 'value' | 'onValueChange' | 'aria-label'> {\n /** The field's accessible name. */\n 'aria-label': string;\n /** An icon before the text, such as a search glyph. */\n leading?: React.ReactNode;\n}\n\n/** The search bar, a pane of its own. The palette opens with the caret in it. */\nfunction CommandInput({ leading, className, ...props }: CommandInputProps) {\n const size = React.useContext(CommandSizeContext);\n const setQuery = React.useContext(CommandQueryContext);\n const inputRef = React.useRef<HTMLInputElement>(null);\n return (\n // A press anywhere on the bar puts the caret in the field.\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n className={classNames('kui-CommandSearch', `kui-r-size-${size}`)}\n onMouseDown={(event) => {\n if (event.target === inputRef.current) return;\n event.preventDefault();\n inputRef.current?.focus();\n }}\n >\n {leading ? (\n <span className=\"kui-CommandSearchSlot\" aria-hidden>\n {leading}\n </span>\n ) : null}\n {/* `autoFocus` focuses inside the tap's own task, which is what raises the keyboard on iOS. */}\n <CommandPrimitive.Input\n ref={inputRef}\n // The palette is the field: it opens to type into, the one place autofocus is the design.\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus\n {...props}\n onValueChange={setQuery}\n className={classNames('kui-reset', 'kui-CommandInput', className)}\n />\n </div>\n );\n}\n\ninterface CommandListProps<T> {\n /** Turns an item into a row (a `CommandItem`) or a group (a `CommandGroup`). */\n children: (item: T) => React.ReactNode;\n className?: string;\n}\n\n/** The results, a pane of their own under the search bar. Its height follows the results. */\nfunction CommandList<T>({ children, className }: CommandListProps<T>) {\n const size = React.useContext(CommandSizeContext);\n const items = React.useContext(CommandItemsContext);\n const { query, filter, itemToString } = React.useContext(CommandListContext);\n const seat = React.useContext(CommandSeatContext);\n const shown = React.useMemo(() => narrow(items, query, filter, itemToString), [items, query, filter, itemToString]);\n return (\n <div className={classNames('kui-BaseMenuContent', 'kui-variant-soft', `kui-r-size-${ROW_STEP[size]}`, 'kui-CommandPanel', className)}>\n <CommandPrimitive.List className={classNames('kui-BaseMenuViewport', 'kui-CommandList')}>\n {shown.map((item) => children(item as T))}\n {/* The empty state's seat, inside this pane, so it is the same box as the results. */}\n <div className=\"kui-CommandSeat\" ref={seat ? seat.setSeat : undefined} />\n </CommandPrimitive.List>\n </div>\n );\n}\n\nconst CommandGroupItemsContext = React.createContext<readonly unknown[]>([]);\n\ninterface CommandGroupProps {\n /** The group's own items, after filtering. Render them with `CommandCollection`. */\n items: readonly unknown[];\n children: React.ReactNode;\n className?: string;\n}\n\n/** A labelled run of rows. A group with no matching rows is left out. */\nfunction CommandGroup({ items, children, className }: CommandGroupProps) {\n return (\n <CommandGroupItemsContext.Provider value={items}>\n <CommandPrimitive.Group className={classNames('kui-BaseMenuGroup', 'kui-CommandGroup', className)}>{children}</CommandPrimitive.Group>\n </CommandGroupItemsContext.Provider>\n );\n}\n\ninterface CommandGroupLabelProps {\n children: React.ReactNode;\n className?: string;\n}\n\n/** The group's name, above its rows. */\nfunction CommandGroupLabel({ children, className }: CommandGroupLabelProps) {\n return (\n <div className={classNames('kui-BaseMenuLabel', 'kui-CommandGroupLabel', className)} aria-hidden>\n {children}\n </div>\n );\n}\n\ninterface CommandCollectionProps<T> {\n /** Turns one of the group's items into a row. */\n children: (item: T) => React.ReactNode;\n}\n\n/** The group's rows. */\nfunction CommandCollection<T>({ children }: CommandCollectionProps<T>) {\n const items = React.useContext(CommandGroupItemsContext);\n return <>{items.map((item) => children(item as T))}</>;\n}\n\ninterface CommandItemProps extends Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>, 'value' | 'onSelect'> {\n /** The item this row shows. A string is also the row's identity for the highlight. */\n value?: unknown;\n /** Runs when the row is pressed or Enter is pressed on it. The palette then closes. */\n onSelect?: () => void;\n /** An icon before the label. */\n leading?: React.ReactNode;\n /** Something after the label, such as a shortcut. */\n trailing?: React.ReactNode;\n /** Set when running the row destroys something. */\n tone?: 'destructive';\n /** Renders the child, such as your router's link, as the row. Enter follows the link. */\n asChild?: boolean;\n}\n\n/** One row. Running it, by press or by Enter, runs `onSelect` and closes the palette. */\nfunction CommandItem({ value, onSelect, leading, trailing, tone, asChild, children, className, ...props }: CommandItemProps) {\n const close = React.useContext(CommandCloseContext);\n const id = React.useId();\n const element = React.useRef<HTMLDivElement>(null);\n const clicked = React.useRef(false);\n const itemValue = typeof value === 'string' ? value : id;\n\n const run = () => {\n onSelect?.();\n close?.();\n };\n\n // cmdk runs a row from Enter without a click. A link has to be clicked to navigate, so Enter\n // clicks it, and the click comes back through here as the run.\n const handleSelect = () => {\n if (clicked.current) {\n clicked.current = false;\n run();\n return;\n }\n // Found by attribute, not by ref: an app's link component need not forward a ref.\n const node = element.current ?? document.querySelector(`[data-kui-command-item=\"${CSS.escape(id)}\"]`);\n if (asChild && node instanceof HTMLAnchorElement) {\n node.click();\n return;\n }\n run();\n };\n\n const child = asChild && React.isValidElement<{ children?: React.ReactNode }>(children) ? children : null;\n const inner = (label: React.ReactNode) => (\n <>\n {leading ? (\n <span className=\"kui-CommandItemSlot\" data-slot=\"leading\" aria-hidden>\n {leading}\n </span>\n ) : null}\n <span className=\"kui-CommandItemLabel\">{label}</span>\n {trailing ? (\n <span className=\"kui-CommandItemSlot\" data-slot=\"trailing\">\n {trailing}\n </span>\n ) : null}\n </>\n );\n\n return (\n <CommandPrimitive.Item\n {...props}\n ref={element}\n data-kui-command-item={id}\n value={itemValue}\n asChild={Boolean(child)}\n onSelect={handleSelect}\n onClickCapture={() => {\n clicked.current = true;\n }}\n data-tone={tone}\n className={classNames('kui-reset', 'kui-BaseMenuItem', 'kui-CommandItem', className)}\n >\n {child ? React.cloneElement(child, undefined, inner(child.props.children)) : inner(children)}\n </CommandPrimitive.Item>\n );\n}\n\ninterface CommandEmptyProps {\n children: React.ReactNode;\n className?: string;\n}\n\n/** What the results pane says when nothing matches. It renders inside that pane. */\nfunction CommandEmpty({ children, className }: CommandEmptyProps) {\n const seat = React.useContext(CommandSeatContext);\n if (!seat?.seat) return null;\n return createPortal(<CommandPrimitive.Empty className={classNames('kui-CommandEmpty', className)}>{children}</CommandPrimitive.Empty>, seat.seat);\n}\n\nexport { Command, CommandTrigger, CommandContent, CommandInput, CommandList, CommandGroup, CommandGroupLabel, CommandCollection, CommandItem, CommandEmpty, ROW_STEP as COMMAND_ROW_STEP };\nexport type {\n CommandProps,\n CommandTriggerProps,\n CommandContentProps,\n CommandInputProps,\n CommandListProps,\n CommandGroupProps,\n CommandGroupLabelProps,\n CommandCollectionProps,\n CommandItemProps,\n CommandEmptyProps,\n CommandOpenChangeDetails,\n CommandOpenChangeReason,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "createPortal", "classNames", "CommandPrimitive", "DialogPrimitive", "ROW_STEP", "SIZE_DEF", "CommandSizeContext", "CommandQueryContext", "CommandItemsContext", "CommandCloseContext", "CommandListContext", "CommandSeatContext", "defaultItemToString", "item", "record", "key", "defaultFilter", "query", "itemToString", "isGroup", "narrow", "items", "filter", "out", "kept", "member", "Command", "sizeProp", "open", "defaultOpen", "onOpenChange", "children", "size", "useThemeSize", "internalOpen", "setInternalOpen", "controlled", "isOpen", "change", "next", "reason", "close", "DialogPrimitive", "CommandTrigger", "props", "CommandContent", "label", "onQueryChange", "container", "className", "style", "setQuery", "seat", "setSeat", "report", "useBodyPointerEventsCleanup", "changeQuery", "listValue", "seatValue", "PortalTheme", "classNames", "CommandPrimitive", "CommandInput", "leading", "inputRef", "event", "CommandList", "shown", "CommandGroupItemsContext", "CommandGroup", "CommandGroupLabel", "CommandCollection", "CommandItem", "value", "onSelect", "trailing", "tone", "asChild", "id", "element", "clicked", "itemValue", "run", "handleSelect", "node", "child", "inner", "CommandEmpty", "createPortal"]
7
+ }
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as p}from"./chunk-FATCGZZE.js";import{a as m}from"./chunk-7VJF6EXN.js";import{a as l}from"./chunk-TGRHRMQI.js";import{a as g}from"./chunk-OBSZOD5M.js";import{a as D}from"./chunk-FICBVI4M.js";import{a as s}from"./chunk-HGF4CKRY.js";import{c as n}from"./chunk-5ON3XLRD.js";import{c as a}from"./chunk-OKQAVYW4.js";import{a as k}from"./chunk-VQPANPMI.js";var S={};k(S,{Action:()=>R,Cancel:()=>v,Content:()=>C,Description:()=>y,Root:()=>A,Title:()=>d,Trigger:()=>f});import*as e from"react";import O from"classnames";import{AlertDialog as r}from"radix-ui";var c={...p};var A=t=>e.createElement(r.Root,{...t});A.displayName="AlertDialog.Root";var f=e.forwardRef(({children:t,...o},i)=>e.createElement(r.Trigger,{...o,ref:i,asChild:!0},l(t)));f.displayName="AlertDialog.Trigger";var{align:z,...P}=c,B={align:z},C=e.forwardRef(({align:t,...o},i)=>{let T=n(o,P.size),{className:u}=a({align:t},B),{className:h,forceMount:E,container:N,onCloseAutoFocus:x,...w}=a(T,P);return m(),e.createElement(r.Portal,{container:N,forceMount:E},e.createElement(s,{asChild:!0},e.createElement(r.Overlay,{className:"kui-BaseDialogOverlay kui-AlertDialogOverlay"},e.createElement("div",{className:"kui-BaseDialogScroll kui-AlertDialogScroll"},e.createElement("div",{className:`kui-BaseDialogScrollPadding kui-AlertDialogScrollPadding ${u}`},e.createElement(r.Content,{...w,ref:i,className:O("kui-BaseDialogContent","kui-AlertDialogContent",h),"aria-modal":"true",onCloseAutoFocus:W=>{x?.(W),document.body.style.pointerEvents=""}}))))))});C.displayName="AlertDialog.Content";var d=e.forwardRef((t,o)=>e.createElement(r.Title,{asChild:!0},e.createElement(g,{size:"5",trim:"start",...t,asChild:!1,ref:o})));d.displayName="AlertDialog.Title";var y=e.forwardRef((t,o)=>e.createElement(r.Description,{asChild:!0},e.createElement(D,{as:"p",size:"3",...t,asChild:!1,ref:o})));y.displayName="AlertDialog.Description";var R=e.forwardRef(({children:t,...o},i)=>e.createElement(r.Action,{...o,ref:i,asChild:!0},l(t)));R.displayName="AlertDialog.Action";var v=e.forwardRef(({children:t,...o},i)=>e.createElement(r.Cancel,{...o,ref:i,asChild:!0},l(t)));v.displayName="AlertDialog.Cancel";export{A as a,f as b,C as c,d,y as e,R as f,v as g,S as h};
3
- //# sourceMappingURL=chunk-6WHKGVWY.js.map
2
+ import{a as p}from"./chunk-FATCGZZE.js";import{a as g}from"./chunk-OBSZOD5M.js";import{a as m}from"./chunk-7VJF6EXN.js";import{a as l}from"./chunk-TGRHRMQI.js";import{a as D}from"./chunk-FICBVI4M.js";import{a as s}from"./chunk-HGF4CKRY.js";import{c as n}from"./chunk-5ON3XLRD.js";import{c as a}from"./chunk-OKQAVYW4.js";import{a as k}from"./chunk-VQPANPMI.js";var S={};k(S,{Action:()=>R,Cancel:()=>v,Content:()=>C,Description:()=>y,Root:()=>A,Title:()=>d,Trigger:()=>f});import*as e from"react";import O from"classnames";import{AlertDialog as r}from"radix-ui";var c={...p};var A=t=>e.createElement(r.Root,{...t});A.displayName="AlertDialog.Root";var f=e.forwardRef(({children:t,...o},i)=>e.createElement(r.Trigger,{...o,ref:i,asChild:!0},l(t)));f.displayName="AlertDialog.Trigger";var{align:z,...P}=c,B={align:z},C=e.forwardRef(({align:t,...o},i)=>{let T=n(o,P.size),{className:u}=a({align:t},B),{className:h,forceMount:E,container:N,onCloseAutoFocus:x,...w}=a(T,P);return m(),e.createElement(r.Portal,{container:N,forceMount:E},e.createElement(s,{asChild:!0},e.createElement(r.Overlay,{className:"kui-BaseDialogOverlay kui-AlertDialogOverlay"},e.createElement("div",{className:"kui-BaseDialogScroll kui-AlertDialogScroll"},e.createElement("div",{className:`kui-BaseDialogScrollPadding kui-AlertDialogScrollPadding ${u}`},e.createElement(r.Content,{...w,ref:i,className:O("kui-BaseDialogContent","kui-AlertDialogContent",h),"aria-modal":"true",onCloseAutoFocus:W=>{x?.(W),document.body.style.pointerEvents=""}}))))))});C.displayName="AlertDialog.Content";var d=e.forwardRef((t,o)=>e.createElement(r.Title,{asChild:!0},e.createElement(g,{size:"5",trim:"start",...t,asChild:!1,ref:o})));d.displayName="AlertDialog.Title";var y=e.forwardRef((t,o)=>e.createElement(r.Description,{asChild:!0},e.createElement(D,{as:"p",size:"3",...t,asChild:!1,ref:o})));y.displayName="AlertDialog.Description";var R=e.forwardRef(({children:t,...o},i)=>e.createElement(r.Action,{...o,ref:i,asChild:!0},l(t)));R.displayName="AlertDialog.Action";var v=e.forwardRef(({children:t,...o},i)=>e.createElement(r.Cancel,{...o,ref:i,asChild:!0},l(t)));v.displayName="AlertDialog.Cancel";export{A as a,f as b,C as c,d,y as e,R as f,v as g,S as h};
3
+ //# sourceMappingURL=chunk-NZJRXZYX.js.map
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ //# sourceMappingURL=chunk-SHKPQ3RI.js.map
@@ -0,0 +1,6 @@
1
+ "use client";
2
+ import{a as xe}from"./chunk-YCLPURTD.js";import{a as $}from"./chunk-OAJ5DARR.js";import{c as ue}from"./chunk-5ON3XLRD.js";import{c as q}from"./chunk-HBWBPBSA.js";import{b as le}from"./chunk-XU74PNM2.js";import{b as me,c as Y}from"./chunk-OKQAVYW4.js";import{a as Le}from"./chunk-VQPANPMI.js";var Ve={};Le(Ve,{Group:()=>Me,Root:()=>Fe,Slot:()=>De});import*as e from"react";import*as Re from"react-dom";import Z from"classnames";import{composeEventHandlers as X,composeRefs as ge,useLayoutEffect as He}from"radix-ui/internal";var ye=["1","2","3","4"],Ne=["raised","surface","soft","ghost","outline"],ce={size:{type:"enum",className:"kui-r-size",values:ye,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:Ne,default:"raised"},error:{type:"boolean",default:!1},errorMessage:{type:"string",default:void 0},required:{type:"boolean",default:!1},"aria-describedby":{type:"string",default:void 0},"aria-labelledby":{type:"string",default:void 0},...q,...le},Ge=["raised","surface","soft","outline","ghost"],de={size:{type:"enum",className:"kui-r-size",values:ye,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:Ge,default:"raised"},disabled:{type:"boolean",default:!1},...q,...le},ze=["left","right"],Pe={side:{type:"enum",values:ze},...q,gap:xe.gap,px:$.px,pl:$.pl,pr:$.pr};var Se=e.createContext(null),he="button, a, input, select, textarea, label, [tabindex], [contenteditable]";function Te(u,p){if(!(u instanceof Element)||!p)return!1;let o=u.closest(he);return!!(o&&o!==p&&p.contains(o))}var ve=e.createContext(null),Fe=e.forwardRef((u,p)=>{let o=e.useContext(ve),f=o?{...u,size:o.size,variant:o.variant,radius:o.radius,color:u.color??o.color,disabled:!!(o.disabled||u.disabled)}:u,{className:R,style:b,...g}=ue(f,ce.size),m=e.useRef(null),{children:E,className:I,color:z,radius:_,style:H,...a}=Y(g,ce),d=!!a.errorMessage,L=e.useId(),[V,K]=e.useState([]),O=e.useCallback(r=>(K(s=>s.includes(r)?s:[...s,r]),()=>K(s=>s.filter(T=>T!==r))),[]),S=e.useRef(null),U=e.useCallback(r=>(S.current=r,()=>{S.current===r&&(S.current=null)}),[]),M=!!(a.disabled||a.readOnly),A=e.useMemo(()=>({registerSlot:O,registerScrub:U,inert:M}),[O,U,M]),{"aria-describedby":N,"aria-labelledby":G,"aria-invalid":n}=a,x=!!a.error||n===!0||n==="true",B=e.useMemo(()=>{let r=[];return a.errorMessage&&r.push(L),N&&r.push(N),r.push(...V),r.length>0?r.join(" "):void 0},[a.errorMessage,N,L,V]),J=e.useMemo(()=>({"aria-invalid":x?!0:n,"aria-describedby":B,"aria-labelledby":G}),[x,n,B,G]),{error:y,errorMessage:Q,required:j,"aria-describedby":pe,"aria-labelledby":ee,onKeyDown:W,...D}=a,h=r=>{let s=S.current;!s||M||r.key!=="ArrowUp"&&r.key!=="ArrowDown"||(r.preventDefault(),s(r.key==="ArrowUp"?1:-1,r.shiftKey,r.altKey))},c=e.useCallback(r=>{if(Te(r.target,r.currentTarget))return;let s=r.target,T=m.current;if(!T)return;let C=s.closest(`
3
+ .kui-TextFieldSlot[data-side='right'],
4
+ .kui-TextFieldSlot:not([data-side='right']) ~ .kui-TextFieldSlot:not([data-side='left'])
5
+ `)?T.value.length:0;r.preventDefault(),T.focus();try{T.setSelectionRange(C,C)}catch{}},[]),w=e.createElement("div",{"data-accent-color":z,"data-radius":_,style:d?H:me(H,b),className:Z("kui-TextFieldRoot",I,!d&&R,{"kui-error":x}),onMouseDown:c},e.createElement("input",{...D,required:j||void 0,...J,onKeyDown:X(W,h),ref:ge(m,p),className:"kui-reset kui-TextFieldInput"}),e.createElement(Se.Provider,{value:A},E));return e.createElement("div",{className:Z("kui-TextFieldWrapper",d&&R),style:d?b:void 0,"data-message":d||void 0},w,d?e.createElement("div",{id:L,className:"kui-TextFieldErrorMessage",role:"alert"},a.errorMessage):null)});Fe.displayName="TextField.Root";var Me=e.forwardRef((u,p)=>{let o=ue(u,de.size),{size:f,variant:R,radius:b,color:g,disabled:m}=o,{className:E,children:I,radius:z,color:_,disabled:H,...a}=Y(o,de),d=e.useMemo(()=>({size:f,variant:R,radius:b,color:g,disabled:m}),[f,R,b,g,m]);return e.createElement("div",{role:"group","data-accent-color":g,"data-radius":b,"data-disabled":m||void 0,...a,ref:p,className:Z("kui-TextFieldGroup",E)},e.createElement(ve.Provider,{value:d},I))});Me.displayName="TextField.Group";var De=e.forwardRef((u,p)=>{let{scrub:o,scrubValue:f,scrubStep:R=1,scrubSensitivity:b=1,scrubMin:g,scrubMax:m,scrubShiftMultiplier:E=10,scrubAltMultiplier:I=.1,onScrub:z,..._}=u,{className:H,color:a,side:d,onPointerDown:L,onPointerMove:V,onPointerUp:K,onLostPointerCapture:O,...S}=Y(_,Pe),U=e.useId(),M=S.id??U,A=e.useContext(Se),N=A?.registerSlot,G=A?.registerScrub,n=!!o&&!A?.inert,x=e.useRef(null),[B,J]=e.useState(null);He(()=>{let t=!!x.current?.querySelector(he);J(i=>i===t?i:t)}),e.useEffect(()=>B===!1?N?.(M):void 0,[N,M,B]);let[y,Q]=e.useState(!1),[j,pe]=e.useState({x:0,y:0}),ee=e.useRef(null),W=e.useRef(0),D=e.useRef(0),h=e.useRef(0),c=e.useRef(0),w=e.useRef(null),r=e.useRef(0),s=e.useRef({scrubValue:f,scrubStep:R,scrubSensitivity:b,scrubMin:g,scrubMax:m,scrubShiftMultiplier:E,scrubAltMultiplier:I,onScrub:z});s.current={scrubValue:f,scrubStep:R,scrubSensitivity:b,scrubMin:g,scrubMax:m,scrubShiftMultiplier:E,scrubAltMultiplier:I,onScrub:z};let T=e.useCallback(t=>{if(!n||Te(t.target,x.current))return;t.preventDefault(),D.current=0,h.current=f??0,c.current=t.clientX,W.current=t.clientY,pe({x:t.clientX,y:t.clientY});let i=x.current;i&&(w.current=t.pointerId,r.current=t.clientX,i.setPointerCapture(t.pointerId),Q(!0))},[n,f]),te=e.useCallback((t,i,re,P)=>{let l=s.current,v=window.innerWidth,k=window.innerHeight;c.current+=t,c.current>v?c.current=c.current%v:c.current<0&&(c.current=v+c.current%v);let F=W.current+i;F>k?F=F%k:F<0&&(F=k+F%k),W.current=F;let oe=ee.current;oe&&(oe.style.left=`${c.current}px`,oe.style.top=`${F}px`),D.current+=t;let se=D.current/l.scrubSensitivity;if(Math.abs(se)>=1){let ne=1;re?ne=l.scrubShiftMultiplier:P&&(ne=l.scrubAltMultiplier);let fe=Math.trunc(se),ie=fe*l.scrubStep*ne,ae=ie;if(l.scrubMin!==void 0||l.scrubMax!==void 0){let Ie=h.current+ie,be=Math.max(l.scrubMin??-1/0,Math.min(l.scrubMax??1/0,Ie));ae=be-h.current,h.current=be}else h.current+=ie;ae!==0&&l.onScrub?.(ae,!0),D.current=(se-fe)*l.scrubSensitivity}},[]),C=e.useCallback(()=>{s.current.onScrub?.(0,!1),D.current=0,h.current=0,w.current=null,Q(!1)},[]),we=e.useCallback(t=>{if(!y)return;let i=t.clientX-r.current;r.current=t.clientX,te(i,t.movementY,t.shiftKey,t.altKey)},[y,te]),Ce=e.useCallback(t=>{if(w.current!==t.pointerId)return;let i=x.current;i&&w.current!==null&&i.releasePointerCapture(w.current),C()},[C]),ke=e.useCallback(()=>{y&&C()},[y,C]);e.useEffect(()=>{if(!y)return;let t=document.createElement("style");return t.textContent="* { cursor: none !important; user-select: none !important; }",document.head.appendChild(t),()=>{document.head.removeChild(t)}},[y]),e.useEffect(()=>{if(!(!n||!G))return G((t,i,re)=>{let P=s.current,l=i?P.scrubShiftMultiplier:re?P.scrubAltMultiplier:1,v=P.scrubValue??0,k=Math.max(P.scrubMin??-1/0,Math.min(P.scrubMax??1/0,v+t*P.scrubStep*l));k!==v&&P.onScrub?.(k-v,!1)})},[n,G]);let Ee=y?Re.createPortal(e.createElement("img",{ref:ee,className:"kui-TextFieldSlotScrubCursor",src:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='black' stroke='white' stroke-width='1' d='M0 12 L5 7 L5 10 L19 10 L19 7 L24 12 L19 17 L19 14 L5 14 L5 17 Z'/%3E%3C/svg%3E",alt:"",style:{position:"fixed",left:j.x,top:j.y,transform:"translate(-50%, -50%)",pointerEvents:"none",zIndex:99999,width:24,height:24},"aria-hidden":"true"}),document.body):null;return e.createElement("div",{"data-accent-color":a,"data-side":d,"data-scrub":n||void 0,"data-scrubbing":y||void 0,...S,id:M,ref:ge(x,p),className:Z("kui-TextFieldSlot",H),onPointerDown:n?X(L,T):L,onPointerMove:n?X(V,we):V,onPointerUp:n?X(K,Ce):K,onLostPointerCapture:n?X(O,ke):O},S.children,Ee)});De.displayName="TextField.Slot";export{Fe as a,Me as b,De as c,Ve as d};
6
+ //# sourceMappingURL=chunk-YLGIP3A5.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/text-field.tsx", "../../src/components/text-field.props.tsx"],
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport classNames from 'classnames';\nimport { composeEventHandlers, composeRefs, useLayoutEffect } from 'radix-ui/internal';\n\nimport { textFieldRootPropDefs, textFieldGroupPropDefs, textFieldSlotPropDefs, type TextFieldSlotScrubProps } from './text-field.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { mergeStyles } from '../helpers/merge-styles.js';\nimport { useThemeSizeProps } from '../hooks/theme-size.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { NotInputTextualAttributes } from '../helpers/input-attributes.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype TextFieldRootElement = React.ElementRef<'input'>;\ntype TextFieldRootOwnProps = GetPropDefTypes<typeof textFieldRootPropDefs> & {\n defaultValue?: string | number;\n value?: string | number;\n type?: 'date' | 'datetime-local' | 'email' | 'hidden' | 'month' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'time' | 'url' | 'week';\n};\ntype TextFieldInputProps = ComponentPropsWithout<'input', NotInputTextualAttributes | 'color' | 'defaultValue' | 'size' | 'type' | 'value'>;\ninterface TextFieldRootProps extends TextFieldInputProps, TextFieldRootOwnProps {}\n\n// Each Slot registers its id here, so the input can list slot content in aria-describedby. A scrub\n// slot also registers its arrow-key step, and reads whether the field takes input at all.\ntype ScrubKeyHandler = (direction: 1 | -1, shiftKey: boolean, altKey: boolean) => void;\ntype TextFieldContextValue = {\n registerSlot: (id: string) => () => void;\n registerScrub: (handler: ScrubKeyHandler) => () => void;\n inert: boolean;\n};\nconst TextFieldContext = React.createContext<TextFieldContextValue | null>(null);\n\n// Clicking anything a person could mean to press keeps its own press: the guard is a focusability\n// list, not a tag list. `[tabindex]` catches role-based widgets; `label` already redirects a click.\nconst FOCUSABLE_IN_SLOT = 'button, a, input, select, textarea, label, [tabindex], [contenteditable]';\n\n/** Is the target a control inside `container`? Ancestors outside it, such as a panel or dialog\n * with a tabindex, don't count: matching them turned scrubbing and click-to-focus off. */\nfunction isControlWithin(target: EventTarget | null, container: HTMLElement | null) {\n if (!(target instanceof Element) || !container) return false;\n const hit = target.closest(FOCUSABLE_IN_SLOT);\n return Boolean(hit && hit !== container && container.contains(hit));\n}\n\n// A Group decides the look of its fields: their size, variant and radius come from it. A field\n// can still take its own color, and is disabled when either it or the group is.\ntype TextFieldGroupContextValue = Pick<TextFieldGroupOwnProps, 'size' | 'variant' | 'radius' | 'color' | 'disabled'>;\nconst TextFieldGroupContext = React.createContext<TextFieldGroupContextValue | null>(null);\n\nconst TextFieldRoot = React.forwardRef<TextFieldRootElement, TextFieldRootProps>((fieldProps, forwardedRef) => {\n const group = React.useContext(TextFieldGroupContext);\n const ownProps = group\n ? {\n ...fieldProps,\n size: group.size,\n variant: group.variant,\n radius: group.radius,\n color: fieldProps.color ?? group.color,\n disabled: Boolean(group.disabled || fieldProps.disabled),\n }\n : fieldProps;\n // The caller's className and style are kept apart from the size and variant classes: with an\n // error message they go on the wrapper, which is then the one box the parent lays out.\n const { className: ownClassName, style: ownStyle, ...themedProps } = useThemeSizeProps(ownProps, textFieldRootPropDefs.size);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const { children, className, color, radius, style, ...inputProps } = extractProps(themedProps, textFieldRootPropDefs);\n const wrapped = Boolean(inputProps.errorMessage);\n\n // Generate unique IDs for accessibility\n const errorId = React.useId();\n\n // Slot content qualifies the value, so it describes the input (as in v2), in mount order.\n const [slotIds, setSlotIds] = React.useState<string[]>([]);\n const registerSlot = React.useCallback((id: string) => {\n setSlotIds((prev) => (prev.includes(id) ? prev : [...prev, id]));\n return () => setSlotIds((prev) => prev.filter((slotId) => slotId !== id));\n }, []);\n const scrubKeyRef = React.useRef<ScrubKeyHandler | null>(null);\n const registerScrub = React.useCallback((handler: ScrubKeyHandler) => {\n scrubKeyRef.current = handler;\n return () => {\n if (scrubKeyRef.current === handler) scrubKeyRef.current = null;\n };\n }, []);\n // A disabled or read-only field takes no input, so its slot does not scrub or step either.\n const inert = Boolean(inputProps.disabled || inputProps.readOnly);\n const contextValue = React.useMemo(() => ({ registerSlot, registerScrub, inert }), [registerSlot, registerScrub, inert]);\n\n const { 'aria-describedby': ariaDescribedby, 'aria-labelledby': ariaLabelledby, 'aria-invalid': ariaInvalid } = inputProps;\n\n // Invalid when `error` is set or the caller passes aria-invalid; the CSS keys on aria-invalid only.\n const isInvalid = Boolean(inputProps.error) || ariaInvalid === true || ariaInvalid === 'true';\n\n // Build aria-describedby string. The caller's ids stay; ours are appended.\n const describedBy = React.useMemo(() => {\n const parts = [];\n if (inputProps.errorMessage) parts.push(errorId);\n if (ariaDescribedby) parts.push(ariaDescribedby);\n parts.push(...slotIds);\n return parts.length > 0 ? parts.join(' ') : undefined;\n }, [inputProps.errorMessage, ariaDescribedby, errorId, slotIds]);\n\n // Build aria attributes\n const ariaProps = React.useMemo(\n () => ({\n 'aria-invalid': isInvalid ? true : ariaInvalid,\n 'aria-describedby': describedBy,\n 'aria-labelledby': ariaLabelledby,\n }),\n [isInvalid, ariaInvalid, describedBy, ariaLabelledby],\n );\n\n // Filter out our custom props to avoid DOM warnings\n const { error, errorMessage, required, 'aria-describedby': _ariaDescribedby, 'aria-labelledby': _ariaLabelledby, onKeyDown, ...nativeInputProps } = inputProps;\n\n // With a scrub slot, Up and Down step the value at once, by the slot's step, with the same Shift\n // and Option multipliers as a drag. The caller's handler runs first and can prevent it.\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const step = scrubKeyRef.current;\n if (!step || inert || (event.key !== 'ArrowUp' && event.key !== 'ArrowDown')) return;\n event.preventDefault();\n step(event.key === 'ArrowUp' ? 1 : -1, event.shiftKey, event.altKey);\n };\n\n // Clicking the padding or a passive slot focuses the input. preventDefault stops the browser\n // from moving focus to the root first, so the input is focused once, synchronously.\n const handleMouseDown = React.useCallback((event: React.MouseEvent) => {\n if (isControlWithin(event.target, event.currentTarget as HTMLElement)) return;\n const target = event.target as HTMLElement;\n\n const input = inputRef.current;\n if (!input) return;\n\n // Same selector as in the CSS to find the right slot\n const isRightSlot = target.closest(`\n .kui-TextFieldSlot[data-side='right'],\n .kui-TextFieldSlot:not([data-side='right']) ~ .kui-TextFieldSlot:not([data-side='left'])\n `);\n\n const cursorPosition = isRightSlot ? input.value.length : 0;\n\n event.preventDefault();\n input.focus();\n // Only some input types support this, browsers will throw an error if not supported\n // See: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange#:~:text=Note%20that%20according,not%20support%20selection%22.\n try {\n input.setSelectionRange(cursorPosition, cursorPosition);\n } catch {}\n }, []);\n\n // A pointer-only hit-target redirect to the input; keyboard users reach the input directly.\n const field = (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n data-accent-color={color}\n data-radius={radius}\n style={wrapped ? style : mergeStyles(style, ownStyle)}\n className={classNames('kui-TextFieldRoot', className, !wrapped && ownClassName, {\n // Not used by the library's CSS (invalid styling keys on aria-invalid); kept as a hook for app styles.\n 'kui-error': isInvalid,\n })}\n onMouseDown={handleMouseDown}\n >\n <input\n {...nativeInputProps}\n required={required || undefined}\n {...ariaProps}\n onKeyDown={composeEventHandlers(onKeyDown, handleKeyDown)}\n ref={composeRefs(inputRef, forwardedRef)}\n className=\"kui-reset kui-TextFieldInput\"\n />\n <TextFieldContext.Provider value={contextValue}>{children}</TextFieldContext.Provider>\n </div>\n );\n // The wrapper is always there, so a message coming or going never moves the field in the tree:\n // moving it would remount the input, dropping focus, the caret and an uncontrolled value. With\n // no message it is `display: contents` and the field is the box the parent lays out; with one\n // it holds the field and the message below it, and the caller's className and style size the pair.\n return (\n <div className={classNames('kui-TextFieldWrapper', wrapped && ownClassName)} style={wrapped ? ownStyle : undefined} data-message={wrapped || undefined}>\n {field}\n {wrapped ? (\n <div id={errorId} className=\"kui-TextFieldErrorMessage\" role=\"alert\">\n {inputProps.errorMessage}\n </div>\n ) : null}\n </div>\n );\n});\nTextFieldRoot.displayName = 'TextField.Root';\n\ntype TextFieldGroupOwnProps = GetPropDefTypes<typeof textFieldGroupPropDefs>;\ninterface TextFieldGroupProps extends ComponentPropsWithout<'div', RemovedProps>, TextFieldGroupOwnProps {}\n\n/**\n * Joins two or more fields into one, such as X, Y and Z: one edge, square inner corners and a\n * hairline between the fields. The group draws the edge, so each field keeps only its fill.\n */\nconst TextFieldGroup = React.forwardRef<HTMLDivElement, TextFieldGroupProps>((ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, textFieldGroupPropDefs.size);\n const { size, variant, radius, color, disabled } = props;\n const { className, children, radius: _radius, color: _color, disabled: _disabled, ...domProps } = extractProps(props, textFieldGroupPropDefs);\n const contextValue = React.useMemo(() => ({ size, variant, radius, color, disabled }), [size, variant, radius, color, disabled]);\n return (\n <div\n role=\"group\"\n data-accent-color={color}\n data-radius={radius}\n data-disabled={disabled || undefined}\n {...domProps}\n ref={forwardedRef}\n className={classNames('kui-TextFieldGroup', className)}\n >\n <TextFieldGroupContext.Provider value={contextValue}>{children}</TextFieldGroupContext.Provider>\n </div>\n );\n});\nTextFieldGroup.displayName = 'TextField.Group';\n\ntype TextFieldSlotElement = React.ElementRef<'div'>;\ntype TextFieldSlotOwnProps = GetPropDefTypes<typeof textFieldSlotPropDefs> & TextFieldSlotScrubProps;\ninterface TextFieldSlotProps extends ComponentPropsWithout<'div', RemovedProps>, TextFieldSlotOwnProps {}\n\nconst TextFieldSlot = React.forwardRef<TextFieldSlotElement, TextFieldSlotProps>((props, forwardedRef) => {\n // Extract scrub props first (not part of PropDef system)\n const { scrub: scrubProp, scrubValue, scrubStep = 1, scrubSensitivity = 1, scrubMin, scrubMax, scrubShiftMultiplier = 10, scrubAltMultiplier = 0.1, onScrub, ...restProps } = props;\n\n // Then extract styling props\n const { className, color, side, onPointerDown, onPointerMove, onPointerUp, onLostPointerCapture, ...slotProps } = extractProps(\n restProps,\n textFieldSlotPropDefs,\n );\n\n // A slot of text describes the input (see TextFieldRoot); a caller's own id is kept. A slot\n // holding a control, such as a show-password button, does not: the input would be described\n // by the button's name.\n const generatedId = React.useId();\n const slotId = slotProps.id ?? generatedId;\n const fieldContext = React.useContext(TextFieldContext);\n const registerSlot = fieldContext?.registerSlot;\n const registerScrub = fieldContext?.registerScrub;\n const scrub = Boolean(scrubProp) && !fieldContext?.inert;\n const slotRef = React.useRef<HTMLDivElement>(null);\n // Unknown until the slot has rendered; it registers once it is known to hold only text.\n const [holdsControl, setHoldsControl] = React.useState<boolean | null>(null);\n useLayoutEffect(() => {\n const next = Boolean(slotRef.current?.querySelector(FOCUSABLE_IN_SLOT));\n setHoldsControl((prev) => (prev === next ? prev : next));\n });\n React.useEffect(() => (holdsControl === false ? registerSlot?.(slotId) : undefined), [registerSlot, slotId, holdsControl]);\n\n const [isScrubbing, setIsScrubbing] = React.useState(false);\n // Where the virtual cursor starts. Movement is written straight to the cursor element, so a\n // scrub does not re-render the slot on every mouse move.\n const [cursorStart, setCursorStart] = React.useState({ x: 0, y: 0 });\n const cursorRef = React.useRef<HTMLImageElement>(null);\n // Virtual cursor Y, tracked beside virtualX\n const virtualY = React.useRef(0);\n\n // Track accumulated sub-step movement for precision\n const accumulatedMovement = React.useRef(0);\n // Track current value for clamping (initialized to scrubValue when scrubbing starts)\n const currentValue = React.useRef(0);\n // Track virtual X position for wrap-around (separate from rendered position)\n const virtualX = React.useRef(0);\n // Track pointer ID for capture mode\n const pointerIdRef = React.useRef<number | null>(null);\n // Track last X position for capture mode (movementX calculation)\n const lastXRef = React.useRef(0);\n\n // Store scrub config in refs so document handlers can access latest values\n const scrubConfigRef = React.useRef({\n scrubValue,\n scrubStep,\n scrubSensitivity,\n scrubMin,\n scrubMax,\n scrubShiftMultiplier,\n scrubAltMultiplier,\n onScrub,\n });\n scrubConfigRef.current = {\n scrubValue,\n scrubStep,\n scrubSensitivity,\n scrubMin,\n scrubMax,\n scrubShiftMultiplier,\n scrubAltMultiplier,\n onScrub,\n };\n\n const handlePointerDown = React.useCallback(\n (event: React.PointerEvent) => {\n if (!scrub) return;\n\n // Don't start scrubbing if clicking on a control inside the slot\n if (isControlWithin(event.target, slotRef.current)) return;\n\n event.preventDefault();\n accumulatedMovement.current = 0;\n // Initialize to current value so min/max clamping works correctly\n currentValue.current = scrubValue ?? 0;\n\n // Initialize virtual cursor at actual mouse position\n virtualX.current = event.clientX;\n virtualY.current = event.clientY;\n setCursorStart({ x: event.clientX, y: event.clientY });\n\n const slot = slotRef.current;\n if (!slot) return;\n\n // Pointer capture in every browser. Pointer lock gave endless travel in Chrome, but Chrome\n // shows its \"Press Esc to show your cursor\" banner on every drag, which is noise for a\n // gesture repeated all day. Captured, the drag keeps going past the window, up to the edge\n // of the screen.\n pointerIdRef.current = event.pointerId;\n lastXRef.current = event.clientX;\n slot.setPointerCapture(event.pointerId);\n setIsScrubbing(true);\n },\n [scrub, scrubValue],\n );\n\n // Shared scrub calculation logic\n const processScrubMovement = React.useCallback((movementX: number, movementY: number, shiftKey: boolean, altKey: boolean) => {\n const config = scrubConfigRef.current;\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n\n // Update virtual position with wrap-around at viewport edges\n virtualX.current += movementX;\n if (virtualX.current > viewportWidth) {\n virtualX.current = virtualX.current % viewportWidth;\n } else if (virtualX.current < 0) {\n virtualX.current = viewportWidth + (virtualX.current % viewportWidth);\n }\n\n // Also track Y with wrap-around\n let newY = virtualY.current + movementY;\n if (newY > viewportHeight) {\n newY = newY % viewportHeight;\n } else if (newY < 0) {\n newY = viewportHeight + (newY % viewportHeight);\n }\n virtualY.current = newY;\n\n const cursor = cursorRef.current;\n if (cursor) {\n cursor.style.left = `${virtualX.current}px`;\n cursor.style.top = `${newY}px`;\n }\n\n // Accumulate movement for sensitivity calculation\n accumulatedMovement.current += movementX;\n\n // Calculate how many steps we've moved\n const stepsFromMovement = accumulatedMovement.current / config.scrubSensitivity;\n\n if (Math.abs(stepsFromMovement) >= 1) {\n // Determine modifier multiplier\n let multiplier = 1;\n if (shiftKey) {\n multiplier = config.scrubShiftMultiplier;\n } else if (altKey) {\n multiplier = config.scrubAltMultiplier;\n }\n\n // Calculate delta\n const wholeSteps = Math.trunc(stepsFromMovement);\n const delta = wholeSteps * config.scrubStep * multiplier;\n\n // Apply min/max clamping if bounds are set\n let clampedDelta = delta;\n if (config.scrubMin !== undefined || config.scrubMax !== undefined) {\n const newValue = currentValue.current + delta;\n const clampedValue = Math.max(config.scrubMin ?? -Infinity, Math.min(config.scrubMax ?? Infinity, newValue));\n clampedDelta = clampedValue - currentValue.current;\n currentValue.current = clampedValue;\n } else {\n currentValue.current += delta;\n }\n\n // Fire callback with clamped delta (isChanging = true during drag)\n if (clampedDelta !== 0) {\n config.onScrub?.(clampedDelta, true);\n }\n\n // Keep the fractional remainder for smooth sub-pixel accumulation\n accumulatedMovement.current = (stepsFromMovement - wholeSteps) * config.scrubSensitivity;\n }\n }, []);\n\n // End scrubbing helper\n const endScrubbing = React.useCallback(() => {\n scrubConfigRef.current.onScrub?.(0, false);\n accumulatedMovement.current = 0;\n currentValue.current = 0;\n pointerIdRef.current = null;\n setIsScrubbing(false);\n }, []);\n\n const handlePointerMove = React.useCallback(\n (event: React.PointerEvent) => {\n if (!isScrubbing) return;\n\n const movementX = event.clientX - lastXRef.current;\n lastXRef.current = event.clientX;\n\n processScrubMovement(movementX, event.movementY, event.shiftKey, event.altKey);\n },\n [isScrubbing, processScrubMovement],\n );\n\n const handlePointerUp = React.useCallback(\n (event: React.PointerEvent) => {\n if (pointerIdRef.current !== event.pointerId) return;\n\n const slot = slotRef.current;\n if (slot && pointerIdRef.current !== null) {\n slot.releasePointerCapture(pointerIdRef.current);\n }\n endScrubbing();\n },\n [endScrubbing],\n );\n\n const handleLostPointerCapture = React.useCallback(() => {\n if (isScrubbing) {\n endScrubbing();\n }\n }, [isScrubbing, endScrubbing]);\n\n // Hide native cursor and disable text selection during pointer capture scrubbing\n React.useEffect(() => {\n if (!isScrubbing) return;\n\n // Create a style element to hide cursor globally during scrub\n const style = document.createElement('style');\n style.textContent = '* { cursor: none !important; user-select: none !important; }';\n document.head.appendChild(style);\n\n return () => {\n document.head.removeChild(style);\n };\n }, [isScrubbing]);\n\n // Up and Down on the input step once. The step is a whole change, so it reports isChanging\n // false at once: one undo step per press, as a drag is one per release.\n React.useEffect(() => {\n if (!scrub || !registerScrub) return;\n return registerScrub((direction, shiftKey, altKey) => {\n const config = scrubConfigRef.current;\n const multiplier = shiftKey ? config.scrubShiftMultiplier : altKey ? config.scrubAltMultiplier : 1;\n const start = config.scrubValue ?? 0;\n const next = Math.max(config.scrubMin ?? -Infinity, Math.min(config.scrubMax ?? Infinity, start + direction * config.scrubStep * multiplier));\n if (next !== start) config.onScrub?.(next - start, false);\n });\n }, [scrub, registerScrub]);\n\n // Render virtual cursor via portal to body so it's not clipped\n // Using a data URI of ew-resize cursor for a native look\n const virtualCursor = isScrubbing\n ? ReactDOM.createPortal(\n <img\n ref={cursorRef}\n className=\"kui-TextFieldSlotScrubCursor\"\n src=\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='black' stroke='white' stroke-width='1' d='M0 12 L5 7 L5 10 L19 10 L19 7 L24 12 L19 17 L19 14 L5 14 L5 17 Z'/%3E%3C/svg%3E\"\n alt=\"\"\n style={{\n position: 'fixed',\n left: cursorStart.x,\n top: cursorStart.y,\n transform: 'translate(-50%, -50%)',\n pointerEvents: 'none',\n zIndex: 99999,\n width: 24,\n height: 24,\n }}\n aria-hidden=\"true\"\n />,\n document.body,\n )\n : null;\n\n return (\n <div\n data-accent-color={color}\n data-side={side}\n data-scrub={scrub || undefined}\n data-scrubbing={isScrubbing || undefined}\n {...slotProps}\n id={slotId}\n ref={composeRefs(slotRef, forwardedRef)}\n className={classNames('kui-TextFieldSlot', className)}\n // The caller's handlers run first; the scrub handlers only when `scrub` is set.\n onPointerDown={scrub ? composeEventHandlers(onPointerDown, handlePointerDown) : onPointerDown}\n onPointerMove={scrub ? composeEventHandlers(onPointerMove, handlePointerMove) : onPointerMove}\n onPointerUp={scrub ? composeEventHandlers(onPointerUp, handlePointerUp) : onPointerUp}\n onLostPointerCapture={scrub ? composeEventHandlers(onLostPointerCapture, handleLostPointerCapture) : onLostPointerCapture}\n >\n {slotProps.children}\n {virtualCursor}\n </div>\n );\n});\nTextFieldSlot.displayName = 'TextField.Slot';\n\nexport { TextFieldRoot as Root, TextFieldGroup as Group, TextFieldSlot as Slot };\nexport type { TextFieldRootProps as RootProps, TextFieldGroupProps as GroupProps, TextFieldSlotProps as SlotProps };\n", "import { colorPropDef } from '../props/color.prop.js';\nimport { paddingPropDefs } from '../props/padding.props.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\nimport { flexPropDefs } from './flex.props.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4'] as const;\nconst variants = ['raised', 'surface', 'soft', 'ghost', 'outline'] as const;\n\nconst textFieldRootPropDefs = {\n size: { type: 'enum', className: 'kui-r-size', values: sizes, default: '2', responsive: true },\n variant: { type: 'enum', className: 'kui-variant', values: variants, default: 'raised' },\n // Error and validation props\n error: { type: 'boolean', default: false },\n errorMessage: { type: 'string', default: undefined },\n required: { type: 'boolean', default: false },\n // Accessibility props\n 'aria-describedby': { type: 'string', default: undefined },\n 'aria-labelledby': { type: 'string', default: undefined },\n ...colorPropDef,\n ...radiusPropDef,\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n error: PropDef<boolean>;\n errorMessage: PropDef<string | undefined>;\n required: PropDef<boolean>;\n 'aria-describedby': PropDef<string | undefined>;\n 'aria-labelledby': PropDef<string | undefined>;\n};\n\n// Ghost is the dividers alone: no fill, no edge.\nconst groupVariants = ['raised', 'surface', 'soft', 'outline', 'ghost'] as const;\n\nconst textFieldGroupPropDefs = {\n size: { type: 'enum', className: 'kui-r-size', values: sizes, default: '2', responsive: true },\n variant: { type: 'enum', className: 'kui-variant', values: groupVariants, default: 'raised' },\n disabled: { type: 'boolean', default: false },\n ...colorPropDef,\n ...radiusPropDef,\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof groupVariants)[number]>;\n disabled: PropDef<boolean>;\n};\n\nconst sides = ['left', 'right'] as const;\n\nconst textFieldSlotPropDefs = {\n side: { type: 'enum', values: sides },\n ...colorPropDef,\n gap: flexPropDefs.gap,\n px: paddingPropDefs.px,\n pl: paddingPropDefs.pl,\n pr: paddingPropDefs.pr,\n} satisfies {\n side: PropDef<(typeof sides)[number]>;\n gap: typeof flexPropDefs.gap;\n px: typeof paddingPropDefs.px;\n pl: typeof paddingPropDefs.pl;\n pr: typeof paddingPropDefs.pr;\n};\n\n/** Scrubbing props for TextField.Slot - handled separately from PropDef system */\ninterface TextFieldSlotScrubProps {\n /**\n * Drag the slot to change the value; Up and Down on the input step it once. Ignored while the\n * field is disabled or read-only.\n */\n scrub?: boolean;\n /** Current value (required for min/max clamping to work correctly) */\n scrubValue?: number;\n /** Base value change per movement unit (default: 1) */\n scrubStep?: number;\n /** Pixels of movement per step - higher = less sensitive (default: 1) */\n scrubSensitivity?: number;\n /** Minimum allowed value */\n scrubMin?: number;\n /** Maximum allowed value */\n scrubMax?: number;\n /** Step multiplier when Shift is held (default: 10) */\n scrubShiftMultiplier?: number;\n /** Step multiplier when Alt/Option is held (default: 0.1) */\n scrubAltMultiplier?: number;\n /**\n * Callback fired during scrubbing with the value delta\n * @param delta - The change in value\n * @param isChanging - true while dragging, false when released\n */\n onScrub?: (delta: number, isChanging: boolean) => void;\n}\n\nexport type { TextFieldSlotScrubProps };\n\nexport { textFieldRootPropDefs, textFieldGroupPropDefs, textFieldSlotPropDefs };\n"],
5
+ "mappings": "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",
6
+ "names": ["text_field_exports", "__export", "TextFieldGroup", "TextFieldRoot", "TextFieldSlot", "React", "ReactDOM", "classNames", "composeEventHandlers", "composeRefs", "useLayoutEffect", "sizes", "variants", "textFieldRootPropDefs", "colorPropDef", "radiusPropDef", "groupVariants", "textFieldGroupPropDefs", "sides", "textFieldSlotPropDefs", "flexPropDefs", "paddingPropDefs", "TextFieldContext", "FOCUSABLE_IN_SLOT", "isControlWithin", "target", "container", "hit", "TextFieldGroupContext", "TextFieldRoot", "fieldProps", "forwardedRef", "group", "ownProps", "ownClassName", "ownStyle", "themedProps", "useThemeSizeProps", "textFieldRootPropDefs", "inputRef", "children", "className", "color", "radius", "style", "inputProps", "extractProps", "wrapped", "errorId", "slotIds", "setSlotIds", "registerSlot", "id", "prev", "slotId", "scrubKeyRef", "registerScrub", "handler", "inert", "contextValue", "ariaDescribedby", "ariaLabelledby", "ariaInvalid", "isInvalid", "describedBy", "parts", "ariaProps", "error", "errorMessage", "required", "_ariaDescribedby", "_ariaLabelledby", "onKeyDown", "nativeInputProps", "handleKeyDown", "event", "step", "handleMouseDown", "input", "cursorPosition", "field", "mergeStyles", "classNames", "composeEventHandlers", "composeRefs", "TextFieldGroup", "props", "textFieldGroupPropDefs", "size", "variant", "disabled", "_radius", "_color", "_disabled", "domProps", "TextFieldSlot", "scrubProp", "scrubValue", "scrubStep", "scrubSensitivity", "scrubMin", "scrubMax", "scrubShiftMultiplier", "scrubAltMultiplier", "onScrub", "restProps", "side", "onPointerDown", "onPointerMove", "onPointerUp", "onLostPointerCapture", "slotProps", "textFieldSlotPropDefs", "generatedId", "fieldContext", "scrub", "slotRef", "holdsControl", "setHoldsControl", "useLayoutEffect", "next", "isScrubbing", "setIsScrubbing", "cursorStart", "setCursorStart", "cursorRef", "virtualY", "accumulatedMovement", "currentValue", "virtualX", "pointerIdRef", "lastXRef", "scrubConfigRef", "handlePointerDown", "slot", "processScrubMovement", "movementX", "movementY", "shiftKey", "altKey", "config", "viewportWidth", "viewportHeight", "newY", "cursor", "stepsFromMovement", "multiplier", "wholeSteps", "delta", "clampedDelta", "newValue", "clampedValue", "endScrubbing", "handlePointerMove", "handlePointerUp", "handleLostPointerCapture", "direction", "start", "virtualCursor"]
7
+ }
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a,b,c,d,e,f,g}from"../chunk-6WHKGVWY.js";import"../chunk-FATCGZZE.js";import"../chunk-7VJF6EXN.js";import"../chunk-TGRHRMQI.js";import"../chunk-OBSZOD5M.js";import"../chunk-FICBVI4M.js";import"../chunk-BQC2P3SN.js";import"../chunk-UJ7JERJ5.js";import"../chunk-HGF4CKRY.js";import"../chunk-FVRVBB6O.js";import"../chunk-GHUAUFG7.js";import"../chunk-5ON3XLRD.js";import"../chunk-HBWBPBSA.js";import"../chunk-VWRPVM5K.js";import"../chunk-LPLW7OWA.js";import"../chunk-L54FWKJE.js";import"../chunk-XU74PNM2.js";import"../chunk-OKQAVYW4.js";import"../chunk-CLJ6SEGP.js";import"../chunk-ANQLWGFN.js";import"../chunk-VQPANPMI.js";export{f as Action,g as Cancel,c as Content,e as Description,a as Root,d as Title,b as Trigger};
2
+ import{a,b,c,d,e,f,g}from"../chunk-NZJRXZYX.js";import"../chunk-FATCGZZE.js";import"../chunk-OBSZOD5M.js";import"../chunk-7VJF6EXN.js";import"../chunk-TGRHRMQI.js";import"../chunk-FICBVI4M.js";import"../chunk-BQC2P3SN.js";import"../chunk-UJ7JERJ5.js";import"../chunk-HGF4CKRY.js";import"../chunk-FVRVBB6O.js";import"../chunk-GHUAUFG7.js";import"../chunk-5ON3XLRD.js";import"../chunk-HBWBPBSA.js";import"../chunk-VWRPVM5K.js";import"../chunk-LPLW7OWA.js";import"../chunk-L54FWKJE.js";import"../chunk-XU74PNM2.js";import"../chunk-OKQAVYW4.js";import"../chunk-CLJ6SEGP.js";import"../chunk-ANQLWGFN.js";import"../chunk-VQPANPMI.js";export{f as Action,g as Cancel,c as Content,e as Description,a as Root,d as Title,b as Trigger};
3
3
  //# sourceMappingURL=alert-dialog.js.map
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Command, from v2 (2026-11-03): a command palette, one field over everything the app can do.
3
+ *
4
+ * It is a Dialog: it covers the app, traps focus, locks the page and leaves on Escape. Inside are
5
+ * two panes in a column anchored to the top, the search bar and the results, so a result count
6
+ * never moves the field. The keyboard model is the package's: a row is highlighted from the first
7
+ * frame and after every keystroke, the arrows move it, Enter runs it, and running a row closes the
8
+ * palette. What rows exist and what they do is the app's.
9
+ *
10
+ * Filtering keeps the order of `items`: a palette is used by muscle memory, so typing never
11
+ * reorders it. Pass `filter={null}` to narrow and rank `items` yourself.
12
+ *
13
+ * Differs from v2 in its machine only: v1 builds on cmdk where v2 builds on Base UI's Autocomplete.
14
+ * A row that should be a link takes `asChild` around the app's link, where v2 takes `render`.
15
+ */
16
+ import * as React from 'react';
17
+ import { Command as CommandPrimitive } from 'cmdk';
18
+ import { Dialog as DialogPrimitive } from 'radix-ui';
19
+ type Size = '1' | '2' | '3' | '4';
20
+ /** The rows stand one step above the palette: it is the one object on screen, read from a distance. */
21
+ declare const ROW_STEP: Record<Size, Size>;
22
+ type CommandOpenChangeReason = 'item-press' | 'dismiss';
23
+ type CommandOpenChangeDetails = {
24
+ reason: CommandOpenChangeReason;
25
+ };
26
+ type Filter = (item: unknown, query: string, itemToString: (item: unknown) => string) => boolean;
27
+ interface CommandProps {
28
+ /**
29
+ * The size step of the palette, from `"1"` to `"4"`. The rows are one step larger than the
30
+ * app's controls at the same step, and the search text larger again. The default comes from
31
+ * the theme.
32
+ */
33
+ size?: Size;
34
+ /**
35
+ * Every item the palette can show, before filtering. `CommandList` takes a function that turns
36
+ * an item into a row. An item with its own `items` array is a group. Keep the array stable.
37
+ */
38
+ items: readonly unknown[];
39
+ /** Whether the palette is open, for a controlled palette. Most are, because a key handler opens them. */
40
+ open?: boolean;
41
+ /** Whether the palette is open at the start, for an uncontrolled palette. */
42
+ defaultOpen?: boolean;
43
+ /** Called each time the palette opens or closes. `reason` is `"item-press"` when a row ran. */
44
+ onOpenChange?: (open: boolean, details: CommandOpenChangeDetails) => void;
45
+ /** A `CommandTrigger`, if there is one, and a `CommandContent`. */
46
+ children: React.ReactNode;
47
+ }
48
+ /** A command palette: a field over a list of rows, in a dialog. Running a row closes it. */
49
+ declare function Command({ size: sizeProp, items, open, defaultOpen, onOpenChange, children }: CommandProps): React.JSX.Element;
50
+ interface CommandTriggerProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Trigger> {
51
+ }
52
+ /** Opens the palette. Most palettes open from a key handler instead, and render none. */
53
+ declare function CommandTrigger({ children, ...props }: CommandTriggerProps): React.JSX.Element;
54
+ interface CommandContentProps {
55
+ /** The palette's accessible name, such as "Search the documentation". */
56
+ 'aria-label': string;
57
+ /**
58
+ * How an item matches the query. The default keeps an item whose text contains the query.
59
+ * `null` turns filtering off, for an app that narrows and ranks `items` itself.
60
+ */
61
+ filter?: Filter | null;
62
+ /** What an item says, for the filter. The default reads a string, or an object's label, title or value. */
63
+ itemToString?: (item: unknown) => string;
64
+ /** Called with the query on every keystroke, and with `""` when the palette closes. */
65
+ onQueryChange?: (query: string) => void;
66
+ /** Keep the portal in a container of your own. */
67
+ container?: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>['container'];
68
+ children: React.ReactNode;
69
+ className?: string;
70
+ style?: React.CSSProperties;
71
+ }
72
+ /** The palette: a column of the search bar over the results, anchored to the top of the window. */
73
+ declare function CommandContent({ 'aria-label': label, filter, itemToString, onQueryChange, container, children, className, style }: CommandContentProps): React.JSX.Element;
74
+ interface CommandInputProps extends Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>, 'value' | 'onValueChange' | 'aria-label'> {
75
+ /** The field's accessible name. */
76
+ 'aria-label': string;
77
+ /** An icon before the text, such as a search glyph. */
78
+ leading?: React.ReactNode;
79
+ }
80
+ /** The search bar, a pane of its own. The palette opens with the caret in it. */
81
+ declare function CommandInput({ leading, className, ...props }: CommandInputProps): React.JSX.Element;
82
+ interface CommandListProps<T> {
83
+ /** Turns an item into a row (a `CommandItem`) or a group (a `CommandGroup`). */
84
+ children: (item: T) => React.ReactNode;
85
+ className?: string;
86
+ }
87
+ /** The results, a pane of their own under the search bar. Its height follows the results. */
88
+ declare function CommandList<T>({ children, className }: CommandListProps<T>): React.JSX.Element;
89
+ interface CommandGroupProps {
90
+ /** The group's own items, after filtering. Render them with `CommandCollection`. */
91
+ items: readonly unknown[];
92
+ children: React.ReactNode;
93
+ className?: string;
94
+ }
95
+ /** A labelled run of rows. A group with no matching rows is left out. */
96
+ declare function CommandGroup({ items, children, className }: CommandGroupProps): React.JSX.Element;
97
+ interface CommandGroupLabelProps {
98
+ children: React.ReactNode;
99
+ className?: string;
100
+ }
101
+ /** The group's name, above its rows. */
102
+ declare function CommandGroupLabel({ children, className }: CommandGroupLabelProps): React.JSX.Element;
103
+ interface CommandCollectionProps<T> {
104
+ /** Turns one of the group's items into a row. */
105
+ children: (item: T) => React.ReactNode;
106
+ }
107
+ /** The group's rows. */
108
+ declare function CommandCollection<T>({ children }: CommandCollectionProps<T>): React.JSX.Element;
109
+ interface CommandItemProps extends Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>, 'value' | 'onSelect'> {
110
+ /** The item this row shows. A string is also the row's identity for the highlight. */
111
+ value?: unknown;
112
+ /** Runs when the row is pressed or Enter is pressed on it. The palette then closes. */
113
+ onSelect?: () => void;
114
+ /** An icon before the label. */
115
+ leading?: React.ReactNode;
116
+ /** Something after the label, such as a shortcut. */
117
+ trailing?: React.ReactNode;
118
+ /** Set when running the row destroys something. */
119
+ tone?: 'destructive';
120
+ /** Renders the child, such as your router's link, as the row. Enter follows the link. */
121
+ asChild?: boolean;
122
+ }
123
+ /** One row. Running it, by press or by Enter, runs `onSelect` and closes the palette. */
124
+ declare function CommandItem({ value, onSelect, leading, trailing, tone, asChild, children, className, ...props }: CommandItemProps): React.JSX.Element;
125
+ interface CommandEmptyProps {
126
+ children: React.ReactNode;
127
+ className?: string;
128
+ }
129
+ /** What the results pane says when nothing matches. It renders inside that pane. */
130
+ declare function CommandEmpty({ children, className }: CommandEmptyProps): React.ReactPortal | null;
131
+ export { Command, CommandTrigger, CommandContent, CommandInput, CommandList, CommandGroup, CommandGroupLabel, CommandCollection, CommandItem, CommandEmpty, ROW_STEP as COMMAND_ROW_STEP };
132
+ export type { CommandProps, CommandTriggerProps, CommandContentProps, CommandInputProps, CommandListProps, CommandGroupProps, CommandGroupLabelProps, CommandCollectionProps, CommandItemProps, CommandEmptyProps, CommandOpenChangeDetails, CommandOpenChangeReason, };
133
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/components/command.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ "use client";import{a,b,c,d,e,f,g,h,i,j,k}from"../chunk-GZPB6MRQ.js";import"../chunk-7VJF6EXN.js";import"../chunk-HGF4CKRY.js";import"../chunk-FVRVBB6O.js";import"../chunk-GHUAUFG7.js";import"../chunk-5ON3XLRD.js";import"../chunk-HBWBPBSA.js";import"../chunk-VWRPVM5K.js";import"../chunk-XU74PNM2.js";import"../chunk-CLJ6SEGP.js";import"../chunk-ANQLWGFN.js";import"../chunk-VQPANPMI.js";export{a as COMMAND_ROW_STEP,b as Command,i as CommandCollection,d as CommandContent,k as CommandEmpty,g as CommandGroup,h as CommandGroupLabel,e as CommandInput,j as CommandItem,f as CommandList,c as CommandTrigger};
3
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a,b,c,d,e,f}from"../chunk-W35ZKQMQ.js";import"../chunk-FATCGZZE.js";import"../chunk-7VJF6EXN.js";import"../chunk-TGRHRMQI.js";import"../chunk-OBSZOD5M.js";import"../chunk-FICBVI4M.js";import"../chunk-BQC2P3SN.js";import"../chunk-UJ7JERJ5.js";import"../chunk-HGF4CKRY.js";import"../chunk-FVRVBB6O.js";import"../chunk-GHUAUFG7.js";import"../chunk-5ON3XLRD.js";import"../chunk-HBWBPBSA.js";import"../chunk-4KBKS3ZE.js";import"../chunk-VWRPVM5K.js";import"../chunk-LPLW7OWA.js";import"../chunk-L54FWKJE.js";import"../chunk-XU74PNM2.js";import"../chunk-OKQAVYW4.js";import"../chunk-CLJ6SEGP.js";import"../chunk-ANQLWGFN.js";import"../chunk-VQPANPMI.js";export{f as Close,c as Content,e as Description,a as Root,d as Title,b as Trigger};
2
+ import{a,b,c,d,e,f}from"../chunk-CAM66IXC.js";import"../chunk-FATCGZZE.js";import"../chunk-OBSZOD5M.js";import"../chunk-7VJF6EXN.js";import"../chunk-TGRHRMQI.js";import"../chunk-FICBVI4M.js";import"../chunk-BQC2P3SN.js";import"../chunk-UJ7JERJ5.js";import"../chunk-HGF4CKRY.js";import"../chunk-FVRVBB6O.js";import"../chunk-GHUAUFG7.js";import"../chunk-5ON3XLRD.js";import"../chunk-HBWBPBSA.js";import"../chunk-4KBKS3ZE.js";import"../chunk-VWRPVM5K.js";import"../chunk-LPLW7OWA.js";import"../chunk-L54FWKJE.js";import"../chunk-XU74PNM2.js";import"../chunk-OKQAVYW4.js";import"../chunk-CLJ6SEGP.js";import"../chunk-ANQLWGFN.js";import"../chunk-VQPANPMI.js";export{f as Close,c as Content,e as Description,a as Root,d as Title,b as Trigger};
3
3
  //# sourceMappingURL=dialog.js.map
@@ -45,6 +45,7 @@ export { Theme, ThemeContext, type ThemeContextValue, type ThemeProps, useThemeC
45
45
  export { Toggle, type ToggleProps } from './toggle.js';
46
46
  export { Toolbar, ToolbarGroup, ToolbarButton, ToolbarSeparator, ToolbarTitle, ToolbarOverflow, ToolbarSlot, ToolbarFill, useToolbarOverflow, type ToolbarProps, type ToolbarGroupProps, type ToolbarButtonProps, type ToolbarSeparatorProps, type ToolbarTitleProps, type ToolbarOverflowProps, type ToolbarSlotProps, type ToolbarFillProps, } from './toolbar.js';
47
47
  export { Page, type PageProps } from './page.js';
48
+ export { Command, CommandTrigger, CommandContent, CommandInput, CommandList, CommandGroup, CommandGroupLabel, CommandCollection, CommandItem, CommandEmpty, type CommandProps, type CommandTriggerProps, type CommandContentProps, type CommandInputProps, type CommandListProps, type CommandGroupProps, type CommandGroupLabelProps, type CommandCollectionProps, type CommandItemProps, type CommandEmptyProps, type CommandOpenChangeDetails, type CommandOpenChangeReason, } from './command.js';
48
49
  export { Navigator, NavigatorOutlet, NavigatorBack, NavigatorTitle, NavigatorScreen, NavigatorLink, useNavigator, type NavigatorProps, type NavigatorBackProps, type NavigatorScreenProps, type NavigatorLinkProps, type NavigatorApi, } from './navigator.js';
49
50
  export { Tooltip, TooltipProvider, type TooltipProps, type TooltipProviderProps } from './tooltip.js';
50
51
  export { VirtualMenu, type VirtualMenuProps, type VirtualMenuItemProps, type VirtualMenuRenderItemProps } from './virtual-menu.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import"../chunk-RSG4XWHU.js";import{a as ca}from"../chunk-ZLGOZKB3.js";import{a as ua}from"../chunk-7QBNXNEN.js";import{a as Z}from"../chunk-VBF3XALY.js";import{h as _}from"../chunk-XF6Z5NKE.js";import{e as $}from"../chunk-QBONJMSE.js";import{a as aa}from"../chunk-D42VCLKH.js";import{d as ba}from"../chunk-Y44DYJA5.js";import{g as xa}from"../chunk-K35JUIUT.js";import{h as wa}from"../chunk-NO2JCJWI.js";import"../chunk-INGT6DB6.js";import"../chunk-B447PNRD.js";import{l as va}from"../chunk-J6B7UCZN.js";import{a as X}from"../chunk-COLJWVN7.js";import{a as Y}from"../chunk-VYF6KKYM.js";import{c as V}from"../chunk-5VYQDA5S.js";import{h as W}from"../chunk-TMINGBSQ.js";import{a as Q}from"../chunk-AXODGYRY.js";import{a as R}from"../chunk-LFAUMDU5.js";import{c as S}from"../chunk-26O4RBOJ.js";import{a as T}from"../chunk-OPYTQ34H.js";import{a as U}from"../chunk-L66IUPDW.js";import{a as N}from"../chunk-AKSAKP35.js";import{a as O}from"../chunk-3H33S3UA.js";import{i as ya}from"../chunk-YOTTLPJ3.js";import{e as P}from"../chunk-EERKYRYI.js";import{a as na,b as oa,c as pa,d as qa,e as ra,f as sa,g as ta}from"../chunk-XKYPJTRN.js";import{a as da,c as ea,d as fa,e as ga,f as ha,g as ia,h as ja,i as ka,j as la}from"../chunk-BR6Z2CAE.js";import{a as ma}from"../chunk-65URNXF2.js";import{a as G}from"../chunk-NYIYRILR.js";import{l as I}from"../chunk-BQOFHLDP.js";import{g as H}from"../chunk-TUZ665BA.js";import{n as J}from"../chunk-TRJAVWCK.js";import{g as K}from"../chunk-W35ZKQMQ.js";import{o as L}from"../chunk-KBSH6CBD.js";import"../chunk-2ACVWLFA.js";import{a as M}from"../chunk-Q5SANVIW.js";import{a as u}from"../chunk-XD3C3GVF.js";import{a as y}from"../chunk-X7DGYRAY.js";import{m as C}from"../chunk-LG5DPQ46.js";import{b as z,c as A}from"../chunk-7YXHLU4C.js";import{a as B}from"../chunk-WUCBFB25.js";import{a as x}from"../chunk-JQMWNI62.js";import"../chunk-Y2DBXOLT.js";import{c as D}from"../chunk-3M5ZM67R.js";import"../chunk-2VSRZ4IT.js";import{a as E}from"../chunk-HVMRB3AH.js";import"../chunk-4KIZRO52.js";import{a as F}from"../chunk-JFJV4HL3.js";import{a as v,b as w}from"../chunk-NJ7RQYLX.js";import"../chunk-KDJM4NQQ.js";import{a as n}from"../chunk-B6YGNB3V.js";import{f as o}from"../chunk-OMPLFDS6.js";import{h as r}from"../chunk-6WHKGVWY.js";import"../chunk-FATCGZZE.js";import"../chunk-7VJF6EXN.js";import"../chunk-TGRHRMQI.js";import{a as p}from"../chunk-OBSZOD5M.js";import{a as q}from"../chunk-FICBVI4M.js";import"../chunk-BQC2P3SN.js";import{a as s}from"../chunk-L7PRLW6A.js";import{a as t}from"../chunk-IFHBMTFX.js";import"../chunk-UJ7JERJ5.js";import"../chunk-HGF4CKRY.js";import{a as k,b as l,c as m}from"../chunk-FVRVBB6O.js";import"../chunk-GHUAUFG7.js";import"../chunk-UMQOTGJC.js";import"../chunk-XD676L6S.js";import"../chunk-XUCR7L4G.js";import"../chunk-3QWGSRYC.js";import"../chunk-KGCGT4MJ.js";import"../chunk-QKCNGEX4.js";import"../chunk-WEBNIUEX.js";import"../chunk-SGKLJDA3.js";import{a as d}from"../chunk-BUXK5VGR.js";import{a as c}from"../chunk-KVVRFWGQ.js";import"../chunk-YCLPURTD.js";import"../chunk-CR65RYGM.js";import"../chunk-7N2Q5WOM.js";import"../chunk-OAJ5DARR.js";import{b as a,c as b}from"../chunk-5KMEUZWN.js";import{a as e,b as f,c as g,d as h}from"../chunk-GKDGNPBD.js";import"../chunk-5ON3XLRD.js";import"../chunk-HBWBPBSA.js";import"../chunk-5JYSYTHA.js";import"../chunk-ISCZ57VL.js";import"../chunk-EB4AG3OL.js";import{a as i}from"../chunk-QPRUTOLI.js";import"../chunk-G66WDIIV.js";import"../chunk-4KBKS3ZE.js";import"../chunk-VWRPVM5K.js";import"../chunk-ODHCDJ3Y.js";import{a as j}from"../chunk-DFQIIYLD.js";import"../chunk-KOAWATCI.js";import"../chunk-5KJIPH2N.js";import"../chunk-YOSLXJI5.js";import"../chunk-QEDKL23P.js";import"../chunk-5BXCPANF.js";import"../chunk-LPLW7OWA.js";import"../chunk-L54FWKJE.js";import"../chunk-XU74PNM2.js";import"../chunk-MAA6LEE2.js";import"../chunk-OKQAVYW4.js";import"../chunk-CLJ6SEGP.js";import"../chunk-ANQLWGFN.js";import"../chunk-VQPANPMI.js";export{n as AccessibleIcon,o as Accordion,r as AlertDialog,s as Avatar,t as Blockquote,u as Box,x as Button,y as Card,C as Chatbar,E as Checkbox,D as CheckboxGroup,g as ChevronDownIcon,F as Chip,G as Code,I as Combobox,A as Confirmation,J as ContextMenu,K as Dialog,L as DropdownMenu,c as Flex,M as Grid,p as Heading,N as Image,i as Kbd,O as Link,ya as MessageScroller,P as Navbar,na as Navigator,qa as NavigatorBack,ta as NavigatorLink,oa as NavigatorOutlet,sa as NavigatorScreen,ra as NavigatorTitle,z as Notice,ma as Page,H as Popover,Q as Portal,R as Progress,T as Radio,S as RadioGroup,U as Reset,j as ScrollArea,V as SegmentedControl,W as Select,X as Separator,xa as Sheet,wa as Shell,va as Sidebar,Y as Slider,a as Slot,b as Slottable,d as Spinner,Z as Switch,_ as Table,$ as Tabs,q as Text,aa as TextArea,ba as TextField,m as Theme,k as ThemeContext,f as ThickCheckIcon,h as ThickChevronRightIcon,e as ThickDividerHorizontalIcon,ca as Toggle,la as Toolbar,fa as ToolbarButton,ia as ToolbarFill,ea as ToolbarGroup,ga as ToolbarOverflow,ja as ToolbarSeparator,ha as ToolbarSlot,ka as ToolbarTitle,w as Tooltip,v as TooltipProvider,ua as VirtualMenu,B as VisuallyHidden,pa as useNavigator,l as useThemeContext,da as useToolbarOverflow};
2
+ import"../chunk-SHKPQ3RI.js";import{a as ma}from"../chunk-ZLGOZKB3.js";import{a as Ea}from"../chunk-7QBNXNEN.js";import{a as ga}from"../chunk-VYF6KKYM.js";import{a as ha}from"../chunk-VBF3XALY.js";import{h as ia}from"../chunk-XF6Z5NKE.js";import{e as ja}from"../chunk-QBONJMSE.js";import{a as ka}from"../chunk-D42VCLKH.js";import{d as la}from"../chunk-YLGIP3A5.js";import{h as ea}from"../chunk-TMINGBSQ.js";import{g as Ha}from"../chunk-API4DAPY.js";import{h as Ga}from"../chunk-NO2JCJWI.js";import"../chunk-INGT6DB6.js";import"../chunk-B447PNRD.js";import{l as Fa}from"../chunk-J6B7UCZN.js";import{a as fa}from"../chunk-COLJWVN7.js";import{a as ca}from"../chunk-L66IUPDW.js";import{c as da}from"../chunk-5VYQDA5S.js";import{a as xa,b as ya,c as za,d as Aa,e as Ba,f as Ca,g as Da}from"../chunk-XKYPJTRN.js";import{a as na,c as oa,d as pa,e as qa,f as ra,g as sa,h as ta,i as ua,j as va}from"../chunk-BR6Z2CAE.js";import{a as wa}from"../chunk-65URNXF2.js";import{a as _}from"../chunk-AXODGYRY.js";import{a as $}from"../chunk-LFAUMDU5.js";import{c as aa}from"../chunk-26O4RBOJ.js";import{a as ba}from"../chunk-OPYTQ34H.js";import{a as X}from"../chunk-AKSAKP35.js";import{a as Y}from"../chunk-3H33S3UA.js";import{i as Ia}from"../chunk-YOTTLPJ3.js";import{e as Z}from"../chunk-EERKYRYI.js";import{a as G}from"../chunk-NYIYRILR.js";import{l as I}from"../chunk-BQOFHLDP.js";import{g as H}from"../chunk-TUZ665BA.js";import{b as J,c as K,d as L,e as M,f as N,g as O,h as P,i as Q,j as R,k as S}from"../chunk-GZPB6MRQ.js";import{n as T}from"../chunk-TRJAVWCK.js";import{g as U}from"../chunk-CAM66IXC.js";import{o as V}from"../chunk-KBSH6CBD.js";import"../chunk-2ACVWLFA.js";import{a as W}from"../chunk-Q5SANVIW.js";import{a as u}from"../chunk-XD3C3GVF.js";import{a as y}from"../chunk-X7DGYRAY.js";import{m as C}from"../chunk-LG5DPQ46.js";import{b as z,c as A}from"../chunk-7YXHLU4C.js";import{a as B}from"../chunk-WUCBFB25.js";import{a as x}from"../chunk-JQMWNI62.js";import"../chunk-Y2DBXOLT.js";import{c as D}from"../chunk-3M5ZM67R.js";import"../chunk-2VSRZ4IT.js";import{a as E}from"../chunk-HVMRB3AH.js";import"../chunk-4KIZRO52.js";import{a as F}from"../chunk-JFJV4HL3.js";import{a as v,b as w}from"../chunk-NJ7RQYLX.js";import"../chunk-KDJM4NQQ.js";import{a as n}from"../chunk-B6YGNB3V.js";import{f as o}from"../chunk-OMPLFDS6.js";import{h as r}from"../chunk-NZJRXZYX.js";import"../chunk-FATCGZZE.js";import{a as p}from"../chunk-OBSZOD5M.js";import"../chunk-7VJF6EXN.js";import"../chunk-TGRHRMQI.js";import{a as q}from"../chunk-FICBVI4M.js";import"../chunk-BQC2P3SN.js";import{a as s}from"../chunk-L7PRLW6A.js";import{a as t}from"../chunk-IFHBMTFX.js";import"../chunk-UJ7JERJ5.js";import"../chunk-HGF4CKRY.js";import{a as k,b as l,c as m}from"../chunk-FVRVBB6O.js";import"../chunk-GHUAUFG7.js";import"../chunk-UMQOTGJC.js";import"../chunk-XD676L6S.js";import"../chunk-XUCR7L4G.js";import"../chunk-3QWGSRYC.js";import"../chunk-KGCGT4MJ.js";import"../chunk-QKCNGEX4.js";import"../chunk-WEBNIUEX.js";import"../chunk-SGKLJDA3.js";import{a as d}from"../chunk-BUXK5VGR.js";import{a as c}from"../chunk-KVVRFWGQ.js";import"../chunk-YCLPURTD.js";import"../chunk-CR65RYGM.js";import"../chunk-7N2Q5WOM.js";import"../chunk-OAJ5DARR.js";import{b as a,c as b}from"../chunk-5KMEUZWN.js";import{a as e,b as f,c as g,d as h}from"../chunk-GKDGNPBD.js";import"../chunk-5ON3XLRD.js";import"../chunk-HBWBPBSA.js";import"../chunk-5JYSYTHA.js";import"../chunk-ISCZ57VL.js";import"../chunk-EB4AG3OL.js";import{a as i}from"../chunk-QPRUTOLI.js";import"../chunk-G66WDIIV.js";import"../chunk-4KBKS3ZE.js";import"../chunk-VWRPVM5K.js";import"../chunk-ODHCDJ3Y.js";import{a as j}from"../chunk-DFQIIYLD.js";import"../chunk-KOAWATCI.js";import"../chunk-5KJIPH2N.js";import"../chunk-YOSLXJI5.js";import"../chunk-QEDKL23P.js";import"../chunk-5BXCPANF.js";import"../chunk-LPLW7OWA.js";import"../chunk-L54FWKJE.js";import"../chunk-XU74PNM2.js";import"../chunk-MAA6LEE2.js";import"../chunk-OKQAVYW4.js";import"../chunk-CLJ6SEGP.js";import"../chunk-ANQLWGFN.js";import"../chunk-VQPANPMI.js";export{n as AccessibleIcon,o as Accordion,r as AlertDialog,s as Avatar,t as Blockquote,u as Box,x as Button,y as Card,C as Chatbar,E as Checkbox,D as CheckboxGroup,g as ChevronDownIcon,F as Chip,G as Code,I as Combobox,J as Command,Q as CommandCollection,L as CommandContent,S as CommandEmpty,O as CommandGroup,P as CommandGroupLabel,M as CommandInput,R as CommandItem,N as CommandList,K as CommandTrigger,A as Confirmation,T as ContextMenu,U as Dialog,V as DropdownMenu,c as Flex,W as Grid,p as Heading,X as Image,i as Kbd,Y as Link,Ia as MessageScroller,Z as Navbar,xa as Navigator,Aa as NavigatorBack,Da as NavigatorLink,ya as NavigatorOutlet,Ca as NavigatorScreen,Ba as NavigatorTitle,z as Notice,wa as Page,H as Popover,_ as Portal,$ as Progress,ba as Radio,aa as RadioGroup,ca as Reset,j as ScrollArea,da as SegmentedControl,ea as Select,fa as Separator,Ha as Sheet,Ga as Shell,Fa as Sidebar,ga as Slider,a as Slot,b as Slottable,d as Spinner,ha as Switch,ia as Table,ja as Tabs,q as Text,ka as TextArea,la as TextField,m as Theme,k as ThemeContext,f as ThickCheckIcon,h as ThickChevronRightIcon,e as ThickDividerHorizontalIcon,ma as Toggle,va as Toolbar,pa as ToolbarButton,sa as ToolbarFill,oa as ToolbarGroup,qa as ToolbarOverflow,ta as ToolbarSeparator,ra as ToolbarSlot,ua as ToolbarTitle,w as Tooltip,v as TooltipProvider,Ea as VirtualMenu,B as VisuallyHidden,za as useNavigator,l as useThemeContext,na as useToolbarOverflow};
3
3
  //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use client";import{a,b,c,d,e,f,g}from"../chunk-XKYPJTRN.js";import"../chunk-BR6Z2CAE.js";import"../chunk-65URNXF2.js";import"../chunk-KBSH6CBD.js";import"../chunk-2ACVWLFA.js";import"../chunk-JQMWNI62.js";import"../chunk-Y2DBXOLT.js";import"../chunk-NJ7RQYLX.js";import"../chunk-TGRHRMQI.js";import"../chunk-OBSZOD5M.js";import"../chunk-FICBVI4M.js";import"../chunk-BQC2P3SN.js";import"../chunk-UJ7JERJ5.js";import"../chunk-HGF4CKRY.js";import"../chunk-FVRVBB6O.js";import"../chunk-GHUAUFG7.js";import"../chunk-SGKLJDA3.js";import"../chunk-BUXK5VGR.js";import"../chunk-KVVRFWGQ.js";import"../chunk-YCLPURTD.js";import"../chunk-CR65RYGM.js";import"../chunk-7N2Q5WOM.js";import"../chunk-OAJ5DARR.js";import"../chunk-5KMEUZWN.js";import"../chunk-GKDGNPBD.js";import"../chunk-5ON3XLRD.js";import"../chunk-HBWBPBSA.js";import"../chunk-5JYSYTHA.js";import"../chunk-ISCZ57VL.js";import"../chunk-EB4AG3OL.js";import"../chunk-QPRUTOLI.js";import"../chunk-G66WDIIV.js";import"../chunk-4KBKS3ZE.js";import"../chunk-VWRPVM5K.js";import"../chunk-ODHCDJ3Y.js";import"../chunk-DFQIIYLD.js";import"../chunk-KOAWATCI.js";import"../chunk-5KJIPH2N.js";import"../chunk-YOSLXJI5.js";import"../chunk-QEDKL23P.js";import"../chunk-5BXCPANF.js";import"../chunk-LPLW7OWA.js";import"../chunk-L54FWKJE.js";import"../chunk-XU74PNM2.js";import"../chunk-MAA6LEE2.js";import"../chunk-OKQAVYW4.js";import"../chunk-CLJ6SEGP.js";import"../chunk-ANQLWGFN.js";import"../chunk-VQPANPMI.js";export{a as Navigator,d as NavigatorBack,g as NavigatorLink,b as NavigatorOutlet,f as NavigatorScreen,e as NavigatorTitle,c as useNavigator};
2
+ "use client";import{a,b,c,d,e,f,g}from"../chunk-XKYPJTRN.js";import"../chunk-BR6Z2CAE.js";import"../chunk-65URNXF2.js";import"../chunk-KBSH6CBD.js";import"../chunk-2ACVWLFA.js";import"../chunk-JQMWNI62.js";import"../chunk-Y2DBXOLT.js";import"../chunk-NJ7RQYLX.js";import"../chunk-OBSZOD5M.js";import"../chunk-TGRHRMQI.js";import"../chunk-FICBVI4M.js";import"../chunk-BQC2P3SN.js";import"../chunk-UJ7JERJ5.js";import"../chunk-HGF4CKRY.js";import"../chunk-FVRVBB6O.js";import"../chunk-GHUAUFG7.js";import"../chunk-SGKLJDA3.js";import"../chunk-BUXK5VGR.js";import"../chunk-KVVRFWGQ.js";import"../chunk-YCLPURTD.js";import"../chunk-CR65RYGM.js";import"../chunk-7N2Q5WOM.js";import"../chunk-OAJ5DARR.js";import"../chunk-5KMEUZWN.js";import"../chunk-GKDGNPBD.js";import"../chunk-5ON3XLRD.js";import"../chunk-HBWBPBSA.js";import"../chunk-5JYSYTHA.js";import"../chunk-ISCZ57VL.js";import"../chunk-EB4AG3OL.js";import"../chunk-QPRUTOLI.js";import"../chunk-G66WDIIV.js";import"../chunk-4KBKS3ZE.js";import"../chunk-VWRPVM5K.js";import"../chunk-ODHCDJ3Y.js";import"../chunk-DFQIIYLD.js";import"../chunk-KOAWATCI.js";import"../chunk-5KJIPH2N.js";import"../chunk-YOSLXJI5.js";import"../chunk-QEDKL23P.js";import"../chunk-5BXCPANF.js";import"../chunk-LPLW7OWA.js";import"../chunk-L54FWKJE.js";import"../chunk-XU74PNM2.js";import"../chunk-MAA6LEE2.js";import"../chunk-OKQAVYW4.js";import"../chunk-CLJ6SEGP.js";import"../chunk-ANQLWGFN.js";import"../chunk-VQPANPMI.js";export{a as Navigator,d as NavigatorBack,g as NavigatorLink,b as NavigatorOutlet,f as NavigatorScreen,e as NavigatorTitle,c as useNavigator};
3
3
  //# sourceMappingURL=navigator.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use client";import{a,b,c,d,e,f}from"../chunk-K35JUIUT.js";import"../chunk-FATCGZZE.js";import"../chunk-7VJF6EXN.js";import"../chunk-TGRHRMQI.js";import"../chunk-OBSZOD5M.js";import"../chunk-FICBVI4M.js";import"../chunk-BQC2P3SN.js";import"../chunk-UJ7JERJ5.js";import"../chunk-HGF4CKRY.js";import"../chunk-FVRVBB6O.js";import"../chunk-GHUAUFG7.js";import"../chunk-5ON3XLRD.js";import"../chunk-HBWBPBSA.js";import"../chunk-4KBKS3ZE.js";import"../chunk-VWRPVM5K.js";import"../chunk-LPLW7OWA.js";import"../chunk-L54FWKJE.js";import"../chunk-XU74PNM2.js";import"../chunk-OKQAVYW4.js";import"../chunk-CLJ6SEGP.js";import"../chunk-ANQLWGFN.js";import"../chunk-VQPANPMI.js";export{f as Close,c as Content,e as Description,a as Root,d as Title,b as Trigger};
2
+ "use client";import{a,b,c,d,e,f}from"../chunk-API4DAPY.js";import"../chunk-FATCGZZE.js";import"../chunk-OBSZOD5M.js";import"../chunk-7VJF6EXN.js";import"../chunk-TGRHRMQI.js";import"../chunk-FICBVI4M.js";import"../chunk-BQC2P3SN.js";import"../chunk-UJ7JERJ5.js";import"../chunk-HGF4CKRY.js";import"../chunk-FVRVBB6O.js";import"../chunk-GHUAUFG7.js";import"../chunk-5ON3XLRD.js";import"../chunk-HBWBPBSA.js";import"../chunk-4KBKS3ZE.js";import"../chunk-VWRPVM5K.js";import"../chunk-LPLW7OWA.js";import"../chunk-L54FWKJE.js";import"../chunk-XU74PNM2.js";import"../chunk-OKQAVYW4.js";import"../chunk-CLJ6SEGP.js";import"../chunk-ANQLWGFN.js";import"../chunk-VQPANPMI.js";export{f as Close,c as Content,e as Description,a as Root,d as Title,b as Trigger};
3
3
  //# sourceMappingURL=sheet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-field.d.ts","sourceRoot":"","sources":["../../../src/components/text-field.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAK3I,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,qBAAqB,CAAC,GAAG;IAC3E,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;CAC/I,CAAC;AACF,KAAK,mBAAmB,GAAG,qBAAqB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,GAAG,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAC5I,UAAU,kBAAmB,SAAQ,mBAAmB,EAAE,qBAAqB;CAAG;AAqBlF,QAAA,MAAM,aAAa,6FA2IjB,CAAC;AAGH,KAAK,sBAAsB,GAAG,eAAe,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC7E,UAAU,mBAAoB,SAAQ,qBAAqB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,sBAAsB;CAAG;AAE3G;;;GAGG;AACH,QAAA,MAAM,cAAc,4FAkBlB,CAAC;AAIH,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,qBAAqB,CAAC,GAAG,uBAAuB,CAAC;AACrG,UAAU,kBAAmB,SAAQ,qBAAqB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,qBAAqB;CAAG;AAEzG,QAAA,MAAM,aAAa,2FA2RjB,CAAC;AAGH,OAAO,EAAE,aAAa,IAAI,IAAI,EAAE,cAAc,IAAI,KAAK,EAAE,aAAa,IAAI,IAAI,EAAE,CAAC;AACjF,YAAY,EAAE,kBAAkB,IAAI,SAAS,EAAE,mBAAmB,IAAI,UAAU,EAAE,kBAAkB,IAAI,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"text-field.d.ts","sourceRoot":"","sources":["../../../src/components/text-field.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAK3I,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,qBAAqB,CAAC,GAAG;IAC3E,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;CAC/I,CAAC;AACF,KAAK,mBAAmB,GAAG,qBAAqB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,GAAG,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAC5I,UAAU,kBAAmB,SAAQ,mBAAmB,EAAE,qBAAqB;CAAG;AA6BlF,QAAA,MAAM,aAAa,6FA2IjB,CAAC;AAGH,KAAK,sBAAsB,GAAG,eAAe,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC7E,UAAU,mBAAoB,SAAQ,qBAAqB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,sBAAsB;CAAG;AAE3G;;;GAGG;AACH,QAAA,MAAM,cAAc,4FAkBlB,CAAC;AAIH,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,qBAAqB,CAAC,GAAG,uBAAuB,CAAC;AACrG,UAAU,kBAAmB,SAAQ,qBAAqB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,qBAAqB;CAAG;AAEzG,QAAA,MAAM,aAAa,2FA0RjB,CAAC;AAGH,OAAO,EAAE,aAAa,IAAI,IAAI,EAAE,cAAc,IAAI,KAAK,EAAE,aAAa,IAAI,IAAI,EAAE,CAAC;AACjF,YAAY,EAAE,kBAAkB,IAAI,SAAS,EAAE,mBAAmB,IAAI,UAAU,EAAE,kBAAkB,IAAI,SAAS,EAAE,CAAC"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use client";import{a,b,c}from"../chunk-Y44DYJA5.js";import"../chunk-YCLPURTD.js";import"../chunk-CR65RYGM.js";import"../chunk-OAJ5DARR.js";import"../chunk-5ON3XLRD.js";import"../chunk-HBWBPBSA.js";import"../chunk-XU74PNM2.js";import"../chunk-OKQAVYW4.js";import"../chunk-CLJ6SEGP.js";import"../chunk-VQPANPMI.js";export{b as Group,a as Root,c as Slot};
2
+ "use client";import{a,b,c}from"../chunk-YLGIP3A5.js";import"../chunk-YCLPURTD.js";import"../chunk-CR65RYGM.js";import"../chunk-OAJ5DARR.js";import"../chunk-5ON3XLRD.js";import"../chunk-HBWBPBSA.js";import"../chunk-XU74PNM2.js";import"../chunk-OKQAVYW4.js";import"../chunk-CLJ6SEGP.js";import"../chunk-VQPANPMI.js";export{b as Group,a as Root,c as Slot};
3
3
  //# sourceMappingURL=text-field.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import"../chunk-AYKOOEZR.js";import{a as e,b as f,c as g,d as h}from"../chunk-3LIF53YY.js";import{a as d}from"../chunk-RIHTVZVJ.js";import{a as c}from"../chunk-WTP2KIK3.js";import{a as b}from"../chunk-Y2DBXOLT.js";import{a}from"../chunk-7VJF6EXN.js";import"../chunk-VQPANPMI.js";export{e as APPEARANCE_STORAGE_KEY,f as appearanceScript,g as setAppearance,h as useAppearance,a as useBodyPointerEventsCleanup,c as useLiveAnnouncer,d as useToggleState,b as useTooltipWrapper};
2
+ import"../chunk-AYKOOEZR.js";import{a as d}from"../chunk-RIHTVZVJ.js";import{a as e,b as f,c as g,d as h}from"../chunk-3LIF53YY.js";import{a as c}from"../chunk-WTP2KIK3.js";import{a as b}from"../chunk-Y2DBXOLT.js";import{a}from"../chunk-7VJF6EXN.js";import"../chunk-VQPANPMI.js";export{e as APPEARANCE_STORAGE_KEY,f as appearanceScript,g as setAppearance,h as useAppearance,a as useBodyPointerEventsCleanup,c as useLiveAnnouncer,d as useToggleState,b as useTooltipWrapper};
3
3
  //# sourceMappingURL=index.js.map