@skdx/react 0.30.0 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/dist/accordion/Accordion.cjs +1 -1
  2. package/dist/accordion/Accordion.js +1 -1
  3. package/dist/autocomplete/Autocomplete.cjs +1 -1
  4. package/dist/autocomplete/Autocomplete.js +1 -1
  5. package/dist/avatar/Avatar.cjs +1 -1
  6. package/dist/avatar/Avatar.d.cts +1 -1
  7. package/dist/avatar/Avatar.d.ts +1 -1
  8. package/dist/avatar/Avatar.js +1 -1
  9. package/dist/backdrop/Backdrop.cjs +2 -0
  10. package/dist/backdrop/Backdrop.d.cts +9 -0
  11. package/dist/backdrop/Backdrop.d.ts +9 -0
  12. package/dist/backdrop/Backdrop.js +2 -0
  13. package/dist/backdrop/index.d.cts +2 -0
  14. package/dist/backdrop/index.d.ts +2 -0
  15. package/dist/backdrop/types.d.cts +3 -0
  16. package/dist/backdrop/types.d.ts +3 -0
  17. package/dist/button/Button.cjs +1 -1
  18. package/dist/button/Button.js +1 -1
  19. package/dist/checkbox-card/CheckboxCard.cjs +1 -1
  20. package/dist/checkbox-card/CheckboxCard.js +1 -1
  21. package/dist/checkbox-group/CheckboxGroup.cjs +1 -1
  22. package/dist/checkbox-group/CheckboxGroup.js +1 -1
  23. package/dist/checkbox-group/CheckboxGroupAnatomy.d.cts +10 -1
  24. package/dist/checkbox-group/CheckboxGroupAnatomy.d.ts +10 -1
  25. package/dist/checkbox-group/CheckboxGroupItem.d.cts +2 -1
  26. package/dist/checkbox-group/CheckboxGroupItem.d.ts +2 -1
  27. package/dist/checkbox-group/CheckboxGroupSelectAll.d.cts +3 -2
  28. package/dist/checkbox-group/CheckboxGroupSelectAll.d.ts +3 -2
  29. package/dist/chip/Chip.cjs +2 -0
  30. package/dist/chip/Chip.d.cts +9 -0
  31. package/dist/chip/Chip.d.ts +9 -0
  32. package/dist/chip/Chip.js +2 -0
  33. package/dist/chip/index.d.cts +2 -0
  34. package/dist/chip/index.d.ts +2 -0
  35. package/dist/chip/types.d.cts +3 -0
  36. package/dist/chip/types.d.ts +3 -0
  37. package/dist/color-picker/ColorPicker.cjs +1 -1
  38. package/dist/color-picker/ColorPicker.js +1 -1
  39. package/dist/combobox/Combobox.cjs +1 -1
  40. package/dist/combobox/Combobox.js +1 -1
  41. package/dist/date-picker/DatePicker.cjs +1 -1
  42. package/dist/date-picker/DatePicker.js +1 -1
  43. package/dist/date-picker/DatePickerTimeField.d.cts +1 -1
  44. package/dist/date-picker/DatePickerTimeField.d.ts +1 -1
  45. package/dist/date-range-picker/DateRangePicker.cjs +2 -0
  46. package/dist/date-range-picker/DateRangePicker.d.cts +9 -0
  47. package/dist/date-range-picker/DateRangePicker.d.ts +9 -0
  48. package/dist/date-range-picker/DateRangePicker.js +2 -0
  49. package/dist/date-range-picker/index.d.cts +2 -0
  50. package/dist/date-range-picker/index.d.ts +2 -0
  51. package/dist/date-range-picker/types.d.cts +3 -0
  52. package/dist/date-range-picker/types.d.ts +3 -0
  53. package/dist/date-time-picker/DateTimePicker.cjs +2 -0
  54. package/dist/date-time-picker/DateTimePicker.d.cts +9 -0
  55. package/dist/date-time-picker/DateTimePicker.d.ts +9 -0
  56. package/dist/date-time-picker/DateTimePicker.js +2 -0
  57. package/dist/date-time-picker/index.d.cts +2 -0
  58. package/dist/date-time-picker/index.d.ts +2 -0
  59. package/dist/date-time-picker/types.d.cts +3 -0
  60. package/dist/date-time-picker/types.d.ts +3 -0
  61. package/dist/dialog/Dialog.cjs +1 -1
  62. package/dist/dialog/Dialog.js +1 -1
  63. package/dist/dialog/Dialogs.d.cts +24 -0
  64. package/dist/dialog/Dialogs.d.ts +24 -0
  65. package/dist/dialog/index.d.cts +2 -1
  66. package/dist/dialog/index.d.ts +2 -1
  67. package/dist/dialog/types.d.cts +6 -0
  68. package/dist/dialog/types.d.ts +6 -0
  69. package/dist/fab/Fab.cjs +2 -0
  70. package/dist/fab/Fab.d.cts +9 -0
  71. package/dist/fab/Fab.d.ts +9 -0
  72. package/dist/fab/Fab.js +2 -0
  73. package/dist/fab/index.d.cts +2 -0
  74. package/dist/fab/index.d.ts +2 -0
  75. package/dist/fab/types.d.cts +3 -0
  76. package/dist/fab/types.d.ts +3 -0
  77. package/dist/field/Field.cjs +1 -1
  78. package/dist/field/Field.js +1 -1
  79. package/dist/floating-panel/FloatingPanel.cjs +1 -1
  80. package/dist/floating-panel/FloatingPanel.js +1 -1
  81. package/dist/floating-panel/types.d.cts +4 -0
  82. package/dist/floating-panel/types.d.ts +4 -0
  83. package/dist/gauge/Gauge.cjs +2 -0
  84. package/dist/gauge/Gauge.d.cts +9 -0
  85. package/dist/gauge/Gauge.d.ts +9 -0
  86. package/dist/gauge/Gauge.js +2 -0
  87. package/dist/gauge/index.d.cts +2 -0
  88. package/dist/gauge/index.d.ts +2 -0
  89. package/dist/gauge/types.d.cts +3 -0
  90. package/dist/gauge/types.d.ts +3 -0
  91. package/dist/grid/Grid.cjs +2 -0
  92. package/dist/grid/Grid.d.cts +9 -0
  93. package/dist/grid/Grid.d.ts +9 -0
  94. package/dist/grid/Grid.js +2 -0
  95. package/dist/grid/index.d.cts +2 -0
  96. package/dist/grid/index.d.ts +2 -0
  97. package/dist/grid/types.d.cts +3 -0
  98. package/dist/grid/types.d.ts +3 -0
  99. package/dist/index.cjs +1 -1
  100. package/dist/index.d.cts +15 -1
  101. package/dist/index.d.ts +15 -1
  102. package/dist/index.js +1 -1
  103. package/dist/link/Link.cjs +1 -1
  104. package/dist/link/Link.js +1 -1
  105. package/dist/listbox/Listbox.cjs +1 -1
  106. package/dist/listbox/Listbox.js +1 -1
  107. package/dist/paper/Paper.cjs +2 -0
  108. package/dist/paper/Paper.d.cts +9 -0
  109. package/dist/paper/Paper.d.ts +9 -0
  110. package/dist/paper/Paper.js +2 -0
  111. package/dist/paper/index.d.cts +2 -0
  112. package/dist/paper/index.d.ts +2 -0
  113. package/dist/paper/types.d.cts +3 -0
  114. package/dist/paper/types.d.ts +3 -0
  115. package/dist/password-input/types.d.cts +6 -2
  116. package/dist/password-input/types.d.ts +6 -2
  117. package/dist/primitives/table.cjs +1 -1
  118. package/dist/primitives/table.js +1 -1
  119. package/dist/scroll-area/ScrollArea.cjs +1 -1
  120. package/dist/scroll-area/ScrollArea.js +1 -1
  121. package/dist/speed-dial/SpeedDial.cjs +1 -1
  122. package/dist/speed-dial/SpeedDial.d.cts +1 -1
  123. package/dist/speed-dial/SpeedDial.d.ts +1 -1
  124. package/dist/speed-dial/SpeedDial.js +1 -1
  125. package/dist/speed-dial/SpeedDialAnatomy.d.cts +2 -1
  126. package/dist/speed-dial/SpeedDialAnatomy.d.ts +2 -1
  127. package/dist/speed-dial/types.d.cts +5 -0
  128. package/dist/speed-dial/types.d.ts +5 -0
  129. package/dist/stack/Stack.cjs +2 -0
  130. package/dist/stack/Stack.d.cts +9 -0
  131. package/dist/stack/Stack.d.ts +9 -0
  132. package/dist/stack/Stack.js +2 -0
  133. package/dist/stack/index.d.cts +2 -0
  134. package/dist/stack/index.d.ts +2 -0
  135. package/dist/stack/types.d.cts +3 -0
  136. package/dist/stack/types.d.ts +3 -0
  137. package/dist/table/Table.cjs +1 -1
  138. package/dist/table/Table.d.cts +2 -2
  139. package/dist/table/Table.d.ts +2 -2
  140. package/dist/table/Table.js +1 -1
  141. package/dist/table/TableAnatomy.d.cts +2 -1
  142. package/dist/table/TableAnatomy.d.ts +2 -1
  143. package/dist/table/TableColumnHeaderFilterInput.d.cts +18 -0
  144. package/dist/table/TableColumnHeaderFilterInput.d.ts +18 -0
  145. package/dist/table/TableHeaderCell.d.cts +1 -1
  146. package/dist/table/TableHeaderCell.d.ts +1 -1
  147. package/dist/table/index.d.cts +1 -1
  148. package/dist/table/index.d.ts +1 -1
  149. package/dist/table/primitives.d.cts +2 -1
  150. package/dist/table/primitives.d.ts +2 -1
  151. package/dist/table/types.d.cts +52 -0
  152. package/dist/table/types.d.ts +52 -0
  153. package/dist/table/useTableFilter.d.cts +3 -0
  154. package/dist/table/useTableFilter.d.ts +3 -0
  155. package/dist/time/Time.cjs +1 -1
  156. package/dist/time/Time.d.cts +1 -1
  157. package/dist/time/Time.d.ts +1 -1
  158. package/dist/time/Time.js +1 -1
  159. package/dist/timeline/Timeline.cjs +1 -1
  160. package/dist/timeline/Timeline.d.cts +1 -1
  161. package/dist/timeline/Timeline.d.ts +1 -1
  162. package/dist/timeline/Timeline.js +1 -1
  163. package/dist/tooltip/Tooltip.cjs +2 -0
  164. package/dist/tooltip/Tooltip.d.cts +16 -0
  165. package/dist/tooltip/Tooltip.d.ts +16 -0
  166. package/dist/tooltip/Tooltip.js +2 -0
  167. package/dist/tooltip/index.d.cts +2 -0
  168. package/dist/tooltip/index.d.ts +2 -0
  169. package/dist/tooltip/types.d.cts +3 -0
  170. package/dist/tooltip/types.d.ts +3 -0
  171. package/dist/utils/csv.cjs +3 -0
  172. package/dist/utils/csv.d.cts +43 -0
  173. package/dist/utils/csv.d.ts +43 -0
  174. package/dist/utils/csv.js +3 -0
  175. package/dist/utils/dialogs.cjs +2 -0
  176. package/dist/utils/dialogs.d.cts +96 -0
  177. package/dist/utils/dialogs.d.ts +96 -0
  178. package/dist/utils/dialogs.js +2 -0
  179. package/dist/utils/dismissal.cjs +1 -1
  180. package/dist/utils/dismissal.d.cts +7 -0
  181. package/dist/utils/dismissal.d.ts +7 -0
  182. package/dist/utils/dismissal.js +1 -1
  183. package/dist/utils/field-core.cjs +1 -1
  184. package/dist/utils/field-core.d.cts +2 -0
  185. package/dist/utils/field-core.d.ts +2 -0
  186. package/dist/utils/field-core.js +1 -1
  187. package/dist/utils/media-query.cjs +2 -0
  188. package/dist/utils/media-query.d.cts +7 -0
  189. package/dist/utils/media-query.d.ts +7 -0
  190. package/dist/utils/media-query.js +2 -0
  191. package/dist/utils/useDismiss.cjs +1 -1
  192. package/dist/utils/useDismiss.js +1 -1
  193. package/dist/utils/useMediaQuery.cjs +2 -0
  194. package/dist/utils/useMediaQuery.d.cts +10 -0
  195. package/dist/utils/useMediaQuery.d.ts +10 -0
  196. package/dist/utils/useMediaQuery.js +2 -0
  197. package/package.json +102 -2
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";var ke=Object.create;var M=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var ve=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Ke=(e,r)=>{for(var t in r)M(e,t,{get:r[t],enumerable:!0})},Y=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Ce(r))!Me.call(e,n)&&n!==t&&M(e,n,{get:()=>r[n],enumerable:!(o=Pe(r,n))||o.enumerable});return e};var Te=(e,r,t)=>(t=e!=null?ke(ve(e)):{},Y(r||!e||!e.__esModule?M(t,"default",{value:e,enumerable:!0}):t,e)),Ae=e=>Y(M({},"__esModule",{value:!0}),e);var Ue={};Ke(Ue,{Listbox:()=>ge,ListboxGroup:()=>T,ListboxItem:()=>A,ListboxItemIndicator:()=>O,ListboxItemProvider:()=>re,ListboxLabel:()=>H,ListboxProvider:()=>he,OPTION_SELECTOR:()=>w,useListboxContext:()=>S,useListboxItemContext:()=>q});module.exports=Ae(Ue);var s=Te(require("react"),1),be=require("../utils/appearance.cjs"),pe=require("../utils/createContext.cjs"),xe=require("../utils/direction.cjs"),Le=require("../utils/part.cjs"),N=require("../utils/primitive.cjs"),ye=require("../utils/useControllableState.cjs"),G=require("../utils/useRovingFocus.cjs"),p=require("../utils/useSelection.cjs"),z=require("../utils/useTypeahead.cjs");var me=require("../utils/Glyph.cjs");var K=require("../utils/menuGroup.cjs"),$=require("../utils/part.cjs"),j=require("../utils/primitive.cjs"),U=require("react/jsx-runtime"),T=({ref:e,...r})=>{let{labelId:t,context:o}=(0,K.useMenuGroupLabel)();return(0,U.jsx)(K.MenuGroupProvider,{...o,children:(0,U.jsx)(j.Primitive.div,{role:"group","aria-labelledby":r["aria-label"]===void 0?t:void 0,...r,...(0,$.skdxPart)("listbox","group",r.className),ref:e})})};T.displayName="ListboxGroup";var ee=require("../utils/createContext.cjs"),te=require("../utils/part.cjs"),y=require("../utils/primitive.cjs"),oe=require("../utils/useRovingFocus.cjs");var _=require("react/jsx-runtime"),[re,q]=(0,ee.createSafeContext)("ListboxItem"),A=({value:e,disabled:r=!1,textValue:t,posInSet:o,setSize:n,ref:l,...u})=>{let a=S("ListboxItem"),c=r||a.disabled,f=a.isSelected(e),h=m=>{c||a.selectItem(e,m)};return(0,_.jsx)(re,{value:e,selected:f,disabled:c,children:(0,_.jsx)(y.Primitive.div,{role:"option","aria-selected":f,"aria-disabled":c||void 0,"data-value":e,"data-text-value":t,"data-state":f?"checked":"unchecked","data-disabled":c?"":void 0,"aria-posinset":o,"aria-setsize":n,tabIndex:(0,oe.rovingTabIndex)(a.activeValue!==null,a.activeValue===e,c),...u,...(0,te.skdxPart)("listbox","item",u.className),ref:l,onClick:(0,y.composeEventHandlers)(u.onClick,()=>h("pointer")),onFocus:(0,y.composeEventHandlers)(u.onFocus,()=>{c||a.setActiveValue(e)}),onPointerEnter:(0,y.composeEventHandlers)(u.onPointerEnter,m=>{a.focusOnHover&&!c&&m.currentTarget.focus()}),onKeyDown:(0,y.composeEventHandlers)(u.onKeyDown,m=>{m.key!==" "&&m.key!=="Enter"||m.key===" "&&m.shiftKey&&a.multiple||(m.preventDefault(),h("keyboard"))})})})};A.displayName="ListboxItem";var ne=require("../utils/part.cjs"),ae=require("../utils/primitive.cjs");var ie=require("react/jsx-runtime"),O=({forceMount:e,ref:r,...t})=>{let o=q("ListboxItemIndicator");return e||o.selected?(0,ie.jsx)(ae.Primitive.span,{"aria-hidden":!0,...t,...(0,ne.skdxPart)("listbox","item-indicator",t.className),ref:r}):null};O.displayName="ListboxItemIndicator";var se=require("../utils/menuGroup.cjs"),le=require("../utils/part.cjs"),ce=require("../utils/primitive.cjs"),ue=require("react/jsx-runtime"),H=({ref:e,...r})=>{let t=(0,se.useMenuLabelId)();return(0,ue.jsx)(ce.Primitive.div,{id:t,...r,...(0,le.skdxPart)("listbox","label",r.className),ref:e})};H.displayName="ListboxLabel";var b=require("react/jsx-runtime"),Oe=e=>"options"in e,de=({options:e,renderOption:r})=>{let t=S("Listbox"),o=n=>(0,b.jsxs)(A,{value:n.value,disabled:n.disabled,textValue:n.label,children:[(0,b.jsx)(O,{children:(0,b.jsx)(me.Glyph,{name:"check"})}),r?r(n,{selected:t.isSelected(n.value)}):n.label??n.value]},n.value);return(0,b.jsx)(b.Fragment,{children:e.map(n=>Oe(n)?(0,b.jsxs)(T,{children:[(0,b.jsx)(H,{children:n.label}),n.options.map(o)]},n.label):o(n))})};var D=require("react/jsx-runtime");function He(e,r){return e.length===r.length&&e.every((t,o)=>t===r[o])}var w='[role="option"]:not([data-disabled])',fe=10,[he,S]=(0,pe.createSafeContext)("Listbox");function V(e){return Array.from(e.querySelectorAll(w))}function De(e){return e.getAttribute("data-text-value")??e.textContent??""}function k(e){return e.getAttribute("data-value")??""}function we(e,r){if(e.key!=="PageUp"&&e.key!=="PageDown"||!r)return!1;let t=V(r),o=t.indexOf(e.target);if(o===-1)return!1;e.preventDefault();let n=e.key==="PageDown"?fe:-fe;return t[Math.min(t.length-1,Math.max(0,o+n))]?.focus(),!0}function X(e,r,t,o){let n=e.slice(r,t+1).map(k);o.setSelection([...o.selectedValues,...n.filter(l=>!o.selectedValues.includes(l))],"keyboard")}function Ne(e,r,t,o,n){let l=n.orientation==="horizontal"?"ArrowRight":"ArrowDown",u=n.orientation==="horizontal"?"ArrowLeft":"ArrowUp",a=(0,xe.directionalKey)(e.key,o);if(a!==l&&a!==u||!e.shiftKey)return!1;e.preventDefault();let c=r[t+(a===l?1:-1)];return c&&(c.focus(),n.selectItemAndAnchor(k(c),"keyboard")),!0}function Ge(e,r,t,o){if(e.key!==" "||!e.shiftKey)return!1;e.preventDefault();let n=r.findIndex(a=>k(a)===o.readAnchor()),l=Math.min(n===-1?t:n,t),u=Math.max(n===-1?t:n,t);return X(r,l,u,o),!0}function ze(e,r,t,o){return!e.ctrlKey||!e.shiftKey||e.key!=="Home"&&e.key!=="End"?!1:(e.preventDefault(),e.key==="Home"?X(r,0,t,o):X(r,t,r.length-1,o),!0)}function Fe(e,r,t){if(!t.allowSelectAll||!(e.ctrlKey||e.metaKey)||e.key.toLowerCase()!=="a")return!1;e.preventDefault();let o=r.map(k);return o.every(l=>t.selectedValues.includes(l))?t.multiple&&t.disallowEmptySelection||t.setSelection(t.selectedValues.filter(l=>!o.includes(l)),"keyboard"):t.setSelection([...t.selectedValues,...o.filter(l=>!t.selectedValues.includes(l))],"keyboard"),!0}function We(e,r,t){if(!t.multiple||!r)return!1;let o=V(r),n=o.indexOf(e.target);return n===-1?!1:Ne(e,o,n,r,t)||Ge(e,o,n,t)||ze(e,o,n,t)||Fe(e,o,t)}function Je({value:e,defaultValue:r,onValueChange:t,multiple:o}){let n=s.useRef("programmatic"),l=s.useRef([]),u=s.useMemo(()=>e===void 0?void 0:(0,p.toSelectionValues)(e,{multiple:o,label:"Listbox value"}),[e,o]),[a=[],c]=(0,ye.useControllableState)({prop:u,defaultProp:(0,p.toSelectionValues)(r,{multiple:o,label:"Listbox defaultValue"}),onChange:d=>t?.({value:d,previousValue:l.current,reason:n.current,selectedValue:(0,p.selectedValueOf)(d)})}),f=s.useRef(a);s.useInsertionEffect(()=>{f.current=a});let h=s.useCallback(d=>a.includes(d),[a]),m=s.useCallback((d,x)=>{He(d,f.current)||(n.current=x,l.current=f.current,c(d))},[c]),g=s.useCallback((d,x)=>m((0,p.nextSelection)(f.current,d,o),x),[o,m]);return{selectedValues:a,isSelected:h,selectItem:g,setSelection:(d,x)=>m((0,p.toSelectionValues)(d,{multiple:o,label:"Listbox value"}),x)}}var ge=({value:e,defaultValue:r,onValueChange:t,multiple:o=!1,disabled:n=!1,allowSelectAll:l=!0,orientation:u="vertical",focusOnHover:a=!1,disallowEmptySelection:c=!1,options:f,renderOption:h,children:m,ref:g,density:Z,shape:d,size:x,...P})=>{let Ee=m??(0,D.jsx)(de,{options:f??[],renderOption:h}),L=s.useRef(null),[C,F]=s.useState(null),{selectedValues:E,isSelected:W,selectItem:B,setSelection:Re}=Je({value:e,defaultValue:r,onValueChange:t,multiple:o}),J=s.useRef(null),Ie=(0,G.useRovingFocus)({orientation:u,loop:!1,itemSelector:w,typeahead:!1}),Se=(0,z.useTypeahead)(s.useCallback(()=>{let i=L.current;return i?V(i).map(De):[]},[]));(0,G.useRovingTabStop)(L,w,"data-value",C,F),s.useLayoutEffect(()=>{if(C!==null)return;let i=L.current;if(!i)return;let I=V(i).find(v=>W(k(v)))?.getAttribute("data-value");I&&F(I)},[C,W]);let Q=s.useCallback((i,R)=>{o&&c&&E.length===1&&E[0]===i||(J.current=i,B(i,R))},[B,o,c,E]),Ve={multiple:o,orientation:u,allowSelectAll:l,disallowEmptySelection:c,selectedValues:E,selectItemAndAnchor:Q,setSelection:Re,readAnchor:()=>(E.length===0&&(J.current=null),J.current)};return(0,D.jsx)(he,{multiple:o,selectedValues:E,isSelected:W,selectItem:Q,disabled:n,activeValue:C,setActiveValue:F,focusOnHover:a,children:(0,D.jsx)(N.Primitive.div,{role:"listbox","aria-multiselectable":o?!0:void 0,"aria-disabled":n||void 0,"aria-orientation":u,"data-multiple":o?"":void 0,"data-disabled":n?"":void 0,"data-orientation":u,...P,...(0,be.appearanceAttrs)({density:Z,shape:d,size:x},P),...(0,Le.skdxPart)("listbox","root",P.className),ref:i=>{L.current=i,typeof g=="function"?g(i):g&&(g.current=i)},onKeyDown:(0,N.useComposedEventHandlers)(P.onKeyDown,i=>{if(We(i,L.current,Ve)||we(i,L.current)||(Ie(i),i.defaultPrevented||!(0,z.isTypeaheadKey)(i)))return;let R=L.current;if(!R)return;let I=V(R),v=Se(i.key,I.indexOf(i.target));v!==-1&&(i.preventDefault(),I[v].focus())}),children:Ee})})};ge.displayName="Listbox";0&&(module.exports={Listbox,ListboxGroup,ListboxItem,ListboxItemIndicator,ListboxItemProvider,ListboxLabel,ListboxProvider,OPTION_SELECTOR,useListboxContext,useListboxItemContext});
2
+ "use strict";var ke=Object.create;var M=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var ve=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Ke=(e,r)=>{for(var t in r)M(e,t,{get:r[t],enumerable:!0})},Y=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of Ce(r))!Me.call(e,n)&&n!==t&&M(e,n,{get:()=>r[n],enumerable:!(o=Pe(r,n))||o.enumerable});return e};var Te=(e,r,t)=>(t=e!=null?ke(ve(e)):{},Y(r||!e||!e.__esModule?M(t,"default",{value:e,enumerable:!0}):t,e)),Ae=e=>Y(M({},"__esModule",{value:!0}),e);var Ue={};Ke(Ue,{Listbox:()=>ge,ListboxGroup:()=>T,ListboxItem:()=>A,ListboxItemIndicator:()=>O,ListboxItemProvider:()=>re,ListboxLabel:()=>H,ListboxProvider:()=>he,OPTION_SELECTOR:()=>w,useListboxContext:()=>S,useListboxItemContext:()=>q});module.exports=Ae(Ue);var s=Te(require("react"),1),be=require("../utils/appearance.cjs"),pe=require("../utils/createContext.cjs"),xe=require("../utils/direction.cjs"),Le=require("../utils/part.cjs"),N=require("../utils/primitive.cjs"),ye=require("../utils/useControllableState.cjs"),G=require("../utils/useRovingFocus.cjs"),p=require("../utils/useSelection.cjs"),z=require("../utils/useTypeahead.cjs");var me=require("../utils/Glyph.cjs");var K=require("../utils/menuGroup.cjs"),$=require("../utils/part.cjs"),j=require("../utils/primitive.cjs"),U=require("react/jsx-runtime"),T=({ref:e,...r})=>{let{labelId:t,context:o}=(0,K.useMenuGroupLabel)();return(0,U.jsx)(K.MenuGroupProvider,{...o,children:(0,U.jsx)(j.Primitive.div,{role:"group","aria-labelledby":r["aria-label"]===void 0?t:void 0,...r,...(0,$.skdxPart)("listbox","group",r.className),ref:e})})};T.displayName="ListboxGroup";var ee=require("../utils/createContext.cjs"),te=require("../utils/part.cjs"),y=require("../utils/primitive.cjs"),oe=require("../utils/useRovingFocus.cjs");var _=require("react/jsx-runtime"),[re,q]=(0,ee.createSafeContext)("ListboxItem"),A=({value:e,disabled:r=!1,textValue:t,posInSet:o,setSize:n,ref:l,...u})=>{let a=S("ListboxItem"),c=r||a.disabled,f=a.isSelected(e),h=m=>{c||a.selectItem(e,m)};return(0,_.jsx)(re,{value:e,selected:f,disabled:c,children:(0,_.jsx)(y.Primitive.div,{role:"option","aria-selected":f,"aria-disabled":c||void 0,"data-value":e,"data-text-value":t,"data-state":f?"checked":"unchecked","data-disabled":c?"":void 0,"aria-posinset":o,"aria-setsize":n,tabIndex:(0,oe.rovingTabIndex)(a.activeValue!==null,a.activeValue===e,c),...u,...(0,te.skdxPart)("listbox","item",u.className),ref:l,onClick:(0,y.composeEventHandlers)(u.onClick,()=>h("pointer")),onFocus:(0,y.composeEventHandlers)(u.onFocus,()=>{c||a.setActiveValue(e)}),onPointerEnter:(0,y.composeEventHandlers)(u.onPointerEnter,m=>{a.focusOnHover&&!c&&m.currentTarget.focus()}),onKeyDown:(0,y.composeEventHandlers)(u.onKeyDown,m=>{m.key!==" "&&m.key!=="Enter"||m.key===" "&&m.shiftKey&&a.multiple||(m.preventDefault(),h("keyboard"))})})})};A.displayName="ListboxItem";var ne=require("../utils/part.cjs"),ae=require("../utils/primitive.cjs");var ie=require("react/jsx-runtime"),O=({forceMount:e,ref:r,...t})=>{let o=q("ListboxItemIndicator");return e||o.selected?(0,ie.jsx)(ae.Primitive.span,{"aria-hidden":!0,...t,...(0,ne.skdxPart)("listbox","item-indicator",t.className),ref:r}):null};O.displayName="ListboxItemIndicator";var se=require("../utils/menuGroup.cjs"),le=require("../utils/part.cjs"),ce=require("../utils/primitive.cjs"),ue=require("react/jsx-runtime"),H=({ref:e,...r})=>{let t=(0,se.useMenuLabelId)();return(0,ue.jsx)(ce.Primitive.div,{id:t,...r,...(0,le.skdxPart)("listbox","label",r.className),ref:e})};H.displayName="ListboxLabel";var b=require("react/jsx-runtime"),Oe=e=>"options"in e,de=({options:e,renderOption:r})=>{let t=S("Listbox"),o=n=>(0,b.jsxs)(A,{value:n.value,disabled:n.disabled,textValue:n.label,children:[r?r(n,{selected:t.isSelected(n.value)}):n.label??n.value,(0,b.jsx)(O,{children:(0,b.jsx)(me.Glyph,{name:"check"})})]},n.value);return(0,b.jsx)(b.Fragment,{children:e.map(n=>Oe(n)?(0,b.jsxs)(T,{children:[(0,b.jsx)(H,{children:n.label}),n.options.map(o)]},n.label):o(n))})};var D=require("react/jsx-runtime");function He(e,r){return e.length===r.length&&e.every((t,o)=>t===r[o])}var w='[role="option"]:not([data-disabled])',fe=10,[he,S]=(0,pe.createSafeContext)("Listbox");function V(e){return Array.from(e.querySelectorAll(w))}function De(e){return e.getAttribute("data-text-value")??e.textContent??""}function k(e){return e.getAttribute("data-value")??""}function we(e,r){if(e.key!=="PageUp"&&e.key!=="PageDown"||!r)return!1;let t=V(r),o=t.indexOf(e.target);if(o===-1)return!1;e.preventDefault();let n=e.key==="PageDown"?fe:-fe;return t[Math.min(t.length-1,Math.max(0,o+n))]?.focus(),!0}function X(e,r,t,o){let n=e.slice(r,t+1).map(k);o.setSelection([...o.selectedValues,...n.filter(l=>!o.selectedValues.includes(l))],"keyboard")}function Ne(e,r,t,o,n){let l=n.orientation==="horizontal"?"ArrowRight":"ArrowDown",u=n.orientation==="horizontal"?"ArrowLeft":"ArrowUp",a=(0,xe.directionalKey)(e.key,o);if(a!==l&&a!==u||!e.shiftKey)return!1;e.preventDefault();let c=r[t+(a===l?1:-1)];return c&&(c.focus(),n.selectItemAndAnchor(k(c),"keyboard")),!0}function Ge(e,r,t,o){if(e.key!==" "||!e.shiftKey)return!1;e.preventDefault();let n=r.findIndex(a=>k(a)===o.readAnchor()),l=Math.min(n===-1?t:n,t),u=Math.max(n===-1?t:n,t);return X(r,l,u,o),!0}function ze(e,r,t,o){return!e.ctrlKey||!e.shiftKey||e.key!=="Home"&&e.key!=="End"?!1:(e.preventDefault(),e.key==="Home"?X(r,0,t,o):X(r,t,r.length-1,o),!0)}function Fe(e,r,t){if(!t.allowSelectAll||!(e.ctrlKey||e.metaKey)||e.key.toLowerCase()!=="a")return!1;e.preventDefault();let o=r.map(k);return o.every(l=>t.selectedValues.includes(l))?t.multiple&&t.disallowEmptySelection||t.setSelection(t.selectedValues.filter(l=>!o.includes(l)),"keyboard"):t.setSelection([...t.selectedValues,...o.filter(l=>!t.selectedValues.includes(l))],"keyboard"),!0}function We(e,r,t){if(!t.multiple||!r)return!1;let o=V(r),n=o.indexOf(e.target);return n===-1?!1:Ne(e,o,n,r,t)||Ge(e,o,n,t)||ze(e,o,n,t)||Fe(e,o,t)}function Je({value:e,defaultValue:r,onValueChange:t,multiple:o}){let n=s.useRef("programmatic"),l=s.useRef([]),u=s.useMemo(()=>e===void 0?void 0:(0,p.toSelectionValues)(e,{multiple:o,label:"Listbox value"}),[e,o]),[a=[],c]=(0,ye.useControllableState)({prop:u,defaultProp:(0,p.toSelectionValues)(r,{multiple:o,label:"Listbox defaultValue"}),onChange:d=>t?.({value:d,previousValue:l.current,reason:n.current,selectedValue:(0,p.selectedValueOf)(d)})}),f=s.useRef(a);s.useInsertionEffect(()=>{f.current=a});let h=s.useCallback(d=>a.includes(d),[a]),m=s.useCallback((d,x)=>{He(d,f.current)||(n.current=x,l.current=f.current,c(d))},[c]),g=s.useCallback((d,x)=>m((0,p.nextSelection)(f.current,d,o),x),[o,m]);return{selectedValues:a,isSelected:h,selectItem:g,setSelection:(d,x)=>m((0,p.toSelectionValues)(d,{multiple:o,label:"Listbox value"}),x)}}var ge=({value:e,defaultValue:r,onValueChange:t,multiple:o=!1,disabled:n=!1,allowSelectAll:l=!0,orientation:u="vertical",focusOnHover:a=!1,disallowEmptySelection:c=!1,options:f,renderOption:h,children:m,ref:g,density:Z,shape:d,size:x,...P})=>{let Ee=m??(0,D.jsx)(de,{options:f??[],renderOption:h}),L=s.useRef(null),[C,F]=s.useState(null),{selectedValues:E,isSelected:W,selectItem:B,setSelection:Re}=Je({value:e,defaultValue:r,onValueChange:t,multiple:o}),J=s.useRef(null),Ie=(0,G.useRovingFocus)({orientation:u,loop:!1,itemSelector:w,typeahead:!1}),Se=(0,z.useTypeahead)(s.useCallback(()=>{let i=L.current;return i?V(i).map(De):[]},[]));(0,G.useRovingTabStop)(L,w,"data-value",C,F),s.useLayoutEffect(()=>{if(C!==null)return;let i=L.current;if(!i)return;let I=V(i).find(v=>W(k(v)))?.getAttribute("data-value");I&&F(I)},[C,W]);let Q=s.useCallback((i,R)=>{o&&c&&E.length===1&&E[0]===i||(J.current=i,B(i,R))},[B,o,c,E]),Ve={multiple:o,orientation:u,allowSelectAll:l,disallowEmptySelection:c,selectedValues:E,selectItemAndAnchor:Q,setSelection:Re,readAnchor:()=>(E.length===0&&(J.current=null),J.current)};return(0,D.jsx)(he,{multiple:o,selectedValues:E,isSelected:W,selectItem:Q,disabled:n,activeValue:C,setActiveValue:F,focusOnHover:a,children:(0,D.jsx)(N.Primitive.div,{role:"listbox","aria-multiselectable":o?!0:void 0,"aria-disabled":n||void 0,"aria-orientation":u,"data-multiple":o?"":void 0,"data-disabled":n?"":void 0,"data-orientation":u,...P,...(0,be.appearanceAttrs)({density:Z,shape:d,size:x},P),...(0,Le.skdxPart)("listbox","root",P.className),ref:i=>{L.current=i,typeof g=="function"?g(i):g&&(g.current=i)},onKeyDown:(0,N.useComposedEventHandlers)(P.onKeyDown,i=>{if(We(i,L.current,Ve)||we(i,L.current)||(Ie(i),i.defaultPrevented||!(0,z.isTypeaheadKey)(i)))return;let R=L.current;if(!R)return;let I=V(R),v=Se(i.key,I.indexOf(i.target));v!==-1&&(i.preventDefault(),I[v].focus())}),children:Ee})})};ge.displayName="Listbox";0&&(module.exports={Listbox,ListboxGroup,ListboxItem,ListboxItemIndicator,ListboxItemProvider,ListboxLabel,ListboxProvider,OPTION_SELECTOR,useListboxContext,useListboxItemContext});
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import*as s from"react";import{appearanceAttrs as he}from"../utils/appearance.js";import{createSafeContext as ge}from"../utils/createContext.js";import{directionalKey as Ee}from"../utils/direction.js";import{skdxPart as Re}from"../utils/part.js";import{Primitive as Ie,useComposedEventHandlers as Se}from"../utils/primitive.js";import{useControllableState as Ve}from"../utils/useControllableState.js";import{useRovingFocus as ke,useRovingTabStop as Pe}from"../utils/useRovingFocus.js";import{nextSelection as Ce,selectedValueOf as ve,toSelectionValues as D}from"../utils/useSelection.js";import{isTypeaheadKey as Me,useTypeahead as Ke}from"../utils/useTypeahead.js";import{Glyph as xe}from"../utils/Glyph.js";import{MenuGroupProvider as ee,useMenuGroupLabel as te}from"../utils/menuGroup.js";import{skdxPart as oe}from"../utils/part.js";import{Primitive as re}from"../utils/primitive.js";import{jsx as J}from"react/jsx-runtime";var T=({ref:e,...n})=>{let{labelId:o,context:t}=te();return J(ee,{...t,children:J(re.div,{role:"group","aria-labelledby":n["aria-label"]===void 0?o:void 0,...n,...oe("listbox","group",n.className),ref:e})})};T.displayName="ListboxGroup";import{createSafeContext as ne}from"../utils/createContext.js";import{skdxPart as ae}from"../utils/part.js";import{composeEventHandlers as k,Primitive as ie}from"../utils/primitive.js";import{rovingTabIndex as se}from"../utils/useRovingFocus.js";import{jsx as U}from"react/jsx-runtime";var[le,_]=ne("ListboxItem"),A=({value:e,disabled:n=!1,textValue:o,posInSet:t,setSize:r,ref:l,...u})=>{let a=P("ListboxItem"),c=n||a.disabled,f=a.isSelected(e),x=m=>{c||a.selectItem(e,m)};return U(le,{value:e,selected:f,disabled:c,children:U(ie.div,{role:"option","aria-selected":f,"aria-disabled":c||void 0,"data-value":e,"data-text-value":o,"data-state":f?"checked":"unchecked","data-disabled":c?"":void 0,"aria-posinset":t,"aria-setsize":r,tabIndex:se(a.activeValue!==null,a.activeValue===e,c),...u,...ae("listbox","item",u.className),ref:l,onClick:k(u.onClick,()=>x("pointer")),onFocus:k(u.onFocus,()=>{c||a.setActiveValue(e)}),onPointerEnter:k(u.onPointerEnter,m=>{a.focusOnHover&&!c&&m.currentTarget.focus()}),onKeyDown:k(u.onKeyDown,m=>{m.key!==" "&&m.key!=="Enter"||m.key===" "&&m.shiftKey&&a.multiple||(m.preventDefault(),x("keyboard"))})})})};A.displayName="ListboxItem";import{skdxPart as ce}from"../utils/part.js";import{Primitive as ue}from"../utils/primitive.js";import{jsx as me}from"react/jsx-runtime";var O=({forceMount:e,ref:n,...o})=>{let t=_("ListboxItemIndicator");return e||t.selected?me(ue.span,{"aria-hidden":!0,...o,...ce("listbox","item-indicator",o.className),ref:n}):null};O.displayName="ListboxItemIndicator";import{useMenuLabelId as de}from"../utils/menuGroup.js";import{skdxPart as fe}from"../utils/part.js";import{Primitive as be}from"../utils/primitive.js";import{jsx as pe}from"react/jsx-runtime";var H=({ref:e,...n})=>{let o=de();return pe(be.div,{id:o,...n,...fe("listbox","label",n.className),ref:e})};H.displayName="ListboxLabel";import{Fragment as ye,jsx as C,jsxs as q}from"react/jsx-runtime";var Le=e=>"options"in e,X=({options:e,renderOption:n})=>{let o=P("Listbox"),t=r=>q(A,{value:r.value,disabled:r.disabled,textValue:r.label,children:[C(O,{children:C(xe,{name:"check"})}),n?n(r,{selected:o.isSelected(r.value)}):r.label??r.value]},r.value);return C(ye,{children:e.map(r=>Le(r)?q(T,{children:[C(H,{children:r.label}),r.options.map(t)]},r.label):t(r))})};import{jsx as w}from"react/jsx-runtime";function Te(e,n){return e.length===n.length&&e.every((o,t)=>o===n[t])}var N='[role="option"]:not([data-disabled])',Z=10,[Ae,P]=ge("Listbox");function E(e){return Array.from(e.querySelectorAll(N))}function Oe(e){return e.getAttribute("data-text-value")??e.textContent??""}function R(e){return e.getAttribute("data-value")??""}function He(e,n){if(e.key!=="PageUp"&&e.key!=="PageDown"||!n)return!1;let o=E(n),t=o.indexOf(e.target);if(t===-1)return!1;e.preventDefault();let r=e.key==="PageDown"?Z:-Z;return o[Math.min(o.length-1,Math.max(0,t+r))]?.focus(),!0}function G(e,n,o,t){let r=e.slice(n,o+1).map(R);t.setSelection([...t.selectedValues,...r.filter(l=>!t.selectedValues.includes(l))],"keyboard")}function De(e,n,o,t,r){let l=r.orientation==="horizontal"?"ArrowRight":"ArrowDown",u=r.orientation==="horizontal"?"ArrowLeft":"ArrowUp",a=Ee(e.key,t);if(a!==l&&a!==u||!e.shiftKey)return!1;e.preventDefault();let c=n[o+(a===l?1:-1)];return c&&(c.focus(),r.selectItemAndAnchor(R(c),"keyboard")),!0}function we(e,n,o,t){if(e.key!==" "||!e.shiftKey)return!1;e.preventDefault();let r=n.findIndex(a=>R(a)===t.readAnchor()),l=Math.min(r===-1?o:r,o),u=Math.max(r===-1?o:r,o);return G(n,l,u,t),!0}function Ne(e,n,o,t){return!e.ctrlKey||!e.shiftKey||e.key!=="Home"&&e.key!=="End"?!1:(e.preventDefault(),e.key==="Home"?G(n,0,o,t):G(n,o,n.length-1,t),!0)}function Ge(e,n,o){if(!o.allowSelectAll||!(e.ctrlKey||e.metaKey)||e.key.toLowerCase()!=="a")return!1;e.preventDefault();let t=n.map(R);return t.every(l=>o.selectedValues.includes(l))?o.multiple&&o.disallowEmptySelection||o.setSelection(o.selectedValues.filter(l=>!t.includes(l)),"keyboard"):o.setSelection([...o.selectedValues,...t.filter(l=>!o.selectedValues.includes(l))],"keyboard"),!0}function ze(e,n,o){if(!o.multiple||!n)return!1;let t=E(n),r=t.indexOf(e.target);return r===-1?!1:De(e,t,r,n,o)||we(e,t,r,o)||Ne(e,t,r,o)||Ge(e,t,o)}function Fe({value:e,defaultValue:n,onValueChange:o,multiple:t}){let r=s.useRef("programmatic"),l=s.useRef([]),u=s.useMemo(()=>e===void 0?void 0:D(e,{multiple:t,label:"Listbox value"}),[e,t]),[a=[],c]=Ve({prop:u,defaultProp:D(n,{multiple:t,label:"Listbox defaultValue"}),onChange:d=>o?.({value:d,previousValue:l.current,reason:r.current,selectedValue:ve(d)})}),f=s.useRef(a);s.useInsertionEffect(()=>{f.current=a});let x=s.useCallback(d=>a.includes(d),[a]),m=s.useCallback((d,b)=>{Te(d,f.current)||(r.current=b,l.current=f.current,c(d))},[c]),L=s.useCallback((d,b)=>m(Ce(f.current,d,t),b),[t,m]);return{selectedValues:a,isSelected:x,selectItem:L,setSelection:(d,b)=>m(D(d,{multiple:t,label:"Listbox value"}),b)}}var We=({value:e,defaultValue:n,onValueChange:o,multiple:t=!1,disabled:r=!1,allowSelectAll:l=!0,orientation:u="vertical",focusOnHover:a=!1,disallowEmptySelection:c=!1,options:f,renderOption:x,children:m,ref:L,density:z,shape:d,size:b,...I})=>{let B=m??w(X,{options:f??[],renderOption:x}),p=s.useRef(null),[S,v]=s.useState(null),{selectedValues:y,isSelected:M,selectItem:F,setSelection:Q}=Fe({value:e,defaultValue:n,onValueChange:o,multiple:t}),K=s.useRef(null),Y=ke({orientation:u,loop:!1,itemSelector:N,typeahead:!1}),$=Ke(s.useCallback(()=>{let i=p.current;return i?E(i).map(Oe):[]},[]));Pe(p,N,"data-value",S,v),s.useLayoutEffect(()=>{if(S!==null)return;let i=p.current;if(!i)return;let g=E(i).find(V=>M(R(V)))?.getAttribute("data-value");g&&v(g)},[S,M]);let W=s.useCallback((i,h)=>{t&&c&&y.length===1&&y[0]===i||(K.current=i,F(i,h))},[F,t,c,y]),j={multiple:t,orientation:u,allowSelectAll:l,disallowEmptySelection:c,selectedValues:y,selectItemAndAnchor:W,setSelection:Q,readAnchor:()=>(y.length===0&&(K.current=null),K.current)};return w(Ae,{multiple:t,selectedValues:y,isSelected:M,selectItem:W,disabled:r,activeValue:S,setActiveValue:v,focusOnHover:a,children:w(Ie.div,{role:"listbox","aria-multiselectable":t?!0:void 0,"aria-disabled":r||void 0,"aria-orientation":u,"data-multiple":t?"":void 0,"data-disabled":r?"":void 0,"data-orientation":u,...I,...he({density:z,shape:d,size:b},I),...Re("listbox","root",I.className),ref:i=>{p.current=i,typeof L=="function"?L(i):L&&(L.current=i)},onKeyDown:Se(I.onKeyDown,i=>{if(ze(i,p.current,j)||He(i,p.current)||(Y(i),i.defaultPrevented||!Me(i)))return;let h=p.current;if(!h)return;let g=E(h),V=$(i.key,g.indexOf(i.target));V!==-1&&(i.preventDefault(),g[V].focus())}),children:B})})};We.displayName="Listbox";export{We as Listbox,T as ListboxGroup,A as ListboxItem,O as ListboxItemIndicator,le as ListboxItemProvider,H as ListboxLabel,Ae as ListboxProvider,N as OPTION_SELECTOR,P as useListboxContext,_ as useListboxItemContext};
2
+ import*as s from"react";import{appearanceAttrs as he}from"../utils/appearance.js";import{createSafeContext as ge}from"../utils/createContext.js";import{directionalKey as Ee}from"../utils/direction.js";import{skdxPart as Re}from"../utils/part.js";import{Primitive as Ie,useComposedEventHandlers as Se}from"../utils/primitive.js";import{useControllableState as Ve}from"../utils/useControllableState.js";import{useRovingFocus as ke,useRovingTabStop as Pe}from"../utils/useRovingFocus.js";import{nextSelection as Ce,selectedValueOf as ve,toSelectionValues as D}from"../utils/useSelection.js";import{isTypeaheadKey as Me,useTypeahead as Ke}from"../utils/useTypeahead.js";import{Glyph as xe}from"../utils/Glyph.js";import{MenuGroupProvider as ee,useMenuGroupLabel as te}from"../utils/menuGroup.js";import{skdxPart as oe}from"../utils/part.js";import{Primitive as re}from"../utils/primitive.js";import{jsx as J}from"react/jsx-runtime";var T=({ref:e,...n})=>{let{labelId:o,context:t}=te();return J(ee,{...t,children:J(re.div,{role:"group","aria-labelledby":n["aria-label"]===void 0?o:void 0,...n,...oe("listbox","group",n.className),ref:e})})};T.displayName="ListboxGroup";import{createSafeContext as ne}from"../utils/createContext.js";import{skdxPart as ae}from"../utils/part.js";import{composeEventHandlers as k,Primitive as ie}from"../utils/primitive.js";import{rovingTabIndex as se}from"../utils/useRovingFocus.js";import{jsx as U}from"react/jsx-runtime";var[le,_]=ne("ListboxItem"),A=({value:e,disabled:n=!1,textValue:o,posInSet:t,setSize:r,ref:l,...u})=>{let a=P("ListboxItem"),c=n||a.disabled,f=a.isSelected(e),x=m=>{c||a.selectItem(e,m)};return U(le,{value:e,selected:f,disabled:c,children:U(ie.div,{role:"option","aria-selected":f,"aria-disabled":c||void 0,"data-value":e,"data-text-value":o,"data-state":f?"checked":"unchecked","data-disabled":c?"":void 0,"aria-posinset":t,"aria-setsize":r,tabIndex:se(a.activeValue!==null,a.activeValue===e,c),...u,...ae("listbox","item",u.className),ref:l,onClick:k(u.onClick,()=>x("pointer")),onFocus:k(u.onFocus,()=>{c||a.setActiveValue(e)}),onPointerEnter:k(u.onPointerEnter,m=>{a.focusOnHover&&!c&&m.currentTarget.focus()}),onKeyDown:k(u.onKeyDown,m=>{m.key!==" "&&m.key!=="Enter"||m.key===" "&&m.shiftKey&&a.multiple||(m.preventDefault(),x("keyboard"))})})})};A.displayName="ListboxItem";import{skdxPart as ce}from"../utils/part.js";import{Primitive as ue}from"../utils/primitive.js";import{jsx as me}from"react/jsx-runtime";var O=({forceMount:e,ref:n,...o})=>{let t=_("ListboxItemIndicator");return e||t.selected?me(ue.span,{"aria-hidden":!0,...o,...ce("listbox","item-indicator",o.className),ref:n}):null};O.displayName="ListboxItemIndicator";import{useMenuLabelId as de}from"../utils/menuGroup.js";import{skdxPart as fe}from"../utils/part.js";import{Primitive as be}from"../utils/primitive.js";import{jsx as pe}from"react/jsx-runtime";var H=({ref:e,...n})=>{let o=de();return pe(be.div,{id:o,...n,...fe("listbox","label",n.className),ref:e})};H.displayName="ListboxLabel";import{Fragment as ye,jsx as C,jsxs as q}from"react/jsx-runtime";var Le=e=>"options"in e,X=({options:e,renderOption:n})=>{let o=P("Listbox"),t=r=>q(A,{value:r.value,disabled:r.disabled,textValue:r.label,children:[n?n(r,{selected:o.isSelected(r.value)}):r.label??r.value,C(O,{children:C(xe,{name:"check"})})]},r.value);return C(ye,{children:e.map(r=>Le(r)?q(T,{children:[C(H,{children:r.label}),r.options.map(t)]},r.label):t(r))})};import{jsx as w}from"react/jsx-runtime";function Te(e,n){return e.length===n.length&&e.every((o,t)=>o===n[t])}var N='[role="option"]:not([data-disabled])',Z=10,[Ae,P]=ge("Listbox");function E(e){return Array.from(e.querySelectorAll(N))}function Oe(e){return e.getAttribute("data-text-value")??e.textContent??""}function R(e){return e.getAttribute("data-value")??""}function He(e,n){if(e.key!=="PageUp"&&e.key!=="PageDown"||!n)return!1;let o=E(n),t=o.indexOf(e.target);if(t===-1)return!1;e.preventDefault();let r=e.key==="PageDown"?Z:-Z;return o[Math.min(o.length-1,Math.max(0,t+r))]?.focus(),!0}function G(e,n,o,t){let r=e.slice(n,o+1).map(R);t.setSelection([...t.selectedValues,...r.filter(l=>!t.selectedValues.includes(l))],"keyboard")}function De(e,n,o,t,r){let l=r.orientation==="horizontal"?"ArrowRight":"ArrowDown",u=r.orientation==="horizontal"?"ArrowLeft":"ArrowUp",a=Ee(e.key,t);if(a!==l&&a!==u||!e.shiftKey)return!1;e.preventDefault();let c=n[o+(a===l?1:-1)];return c&&(c.focus(),r.selectItemAndAnchor(R(c),"keyboard")),!0}function we(e,n,o,t){if(e.key!==" "||!e.shiftKey)return!1;e.preventDefault();let r=n.findIndex(a=>R(a)===t.readAnchor()),l=Math.min(r===-1?o:r,o),u=Math.max(r===-1?o:r,o);return G(n,l,u,t),!0}function Ne(e,n,o,t){return!e.ctrlKey||!e.shiftKey||e.key!=="Home"&&e.key!=="End"?!1:(e.preventDefault(),e.key==="Home"?G(n,0,o,t):G(n,o,n.length-1,t),!0)}function Ge(e,n,o){if(!o.allowSelectAll||!(e.ctrlKey||e.metaKey)||e.key.toLowerCase()!=="a")return!1;e.preventDefault();let t=n.map(R);return t.every(l=>o.selectedValues.includes(l))?o.multiple&&o.disallowEmptySelection||o.setSelection(o.selectedValues.filter(l=>!t.includes(l)),"keyboard"):o.setSelection([...o.selectedValues,...t.filter(l=>!o.selectedValues.includes(l))],"keyboard"),!0}function ze(e,n,o){if(!o.multiple||!n)return!1;let t=E(n),r=t.indexOf(e.target);return r===-1?!1:De(e,t,r,n,o)||we(e,t,r,o)||Ne(e,t,r,o)||Ge(e,t,o)}function Fe({value:e,defaultValue:n,onValueChange:o,multiple:t}){let r=s.useRef("programmatic"),l=s.useRef([]),u=s.useMemo(()=>e===void 0?void 0:D(e,{multiple:t,label:"Listbox value"}),[e,t]),[a=[],c]=Ve({prop:u,defaultProp:D(n,{multiple:t,label:"Listbox defaultValue"}),onChange:d=>o?.({value:d,previousValue:l.current,reason:r.current,selectedValue:ve(d)})}),f=s.useRef(a);s.useInsertionEffect(()=>{f.current=a});let x=s.useCallback(d=>a.includes(d),[a]),m=s.useCallback((d,b)=>{Te(d,f.current)||(r.current=b,l.current=f.current,c(d))},[c]),L=s.useCallback((d,b)=>m(Ce(f.current,d,t),b),[t,m]);return{selectedValues:a,isSelected:x,selectItem:L,setSelection:(d,b)=>m(D(d,{multiple:t,label:"Listbox value"}),b)}}var We=({value:e,defaultValue:n,onValueChange:o,multiple:t=!1,disabled:r=!1,allowSelectAll:l=!0,orientation:u="vertical",focusOnHover:a=!1,disallowEmptySelection:c=!1,options:f,renderOption:x,children:m,ref:L,density:z,shape:d,size:b,...I})=>{let B=m??w(X,{options:f??[],renderOption:x}),p=s.useRef(null),[S,v]=s.useState(null),{selectedValues:y,isSelected:M,selectItem:F,setSelection:Q}=Fe({value:e,defaultValue:n,onValueChange:o,multiple:t}),K=s.useRef(null),Y=ke({orientation:u,loop:!1,itemSelector:N,typeahead:!1}),$=Ke(s.useCallback(()=>{let i=p.current;return i?E(i).map(Oe):[]},[]));Pe(p,N,"data-value",S,v),s.useLayoutEffect(()=>{if(S!==null)return;let i=p.current;if(!i)return;let g=E(i).find(V=>M(R(V)))?.getAttribute("data-value");g&&v(g)},[S,M]);let W=s.useCallback((i,h)=>{t&&c&&y.length===1&&y[0]===i||(K.current=i,F(i,h))},[F,t,c,y]),j={multiple:t,orientation:u,allowSelectAll:l,disallowEmptySelection:c,selectedValues:y,selectItemAndAnchor:W,setSelection:Q,readAnchor:()=>(y.length===0&&(K.current=null),K.current)};return w(Ae,{multiple:t,selectedValues:y,isSelected:M,selectItem:W,disabled:r,activeValue:S,setActiveValue:v,focusOnHover:a,children:w(Ie.div,{role:"listbox","aria-multiselectable":t?!0:void 0,"aria-disabled":r||void 0,"aria-orientation":u,"data-multiple":t?"":void 0,"data-disabled":r?"":void 0,"data-orientation":u,...I,...he({density:z,shape:d,size:b},I),...Re("listbox","root",I.className),ref:i=>{p.current=i,typeof L=="function"?L(i):L&&(L.current=i)},onKeyDown:Se(I.onKeyDown,i=>{if(ze(i,p.current,j)||He(i,p.current)||(Y(i),i.defaultPrevented||!Me(i)))return;let h=p.current;if(!h)return;let g=E(h),V=$(i.key,g.indexOf(i.target));V!==-1&&(i.preventDefault(),g[V].focus())}),children:B})})};We.displayName="Listbox";export{We as Listbox,T as ListboxGroup,A as ListboxItem,O as ListboxItemIndicator,le as ListboxItemProvider,H as ListboxLabel,Ae as ListboxProvider,N as OPTION_SELECTOR,P as useListboxContext,_ as useListboxItemContext};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ "use strict";var t=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var n=(r,p)=>{for(var o in p)t(r,o,{get:p[o],enumerable:!0})},d=(r,p,o,m)=>{if(p&&typeof p=="object"||typeof p=="function")for(let e of s(p))!i.call(r,e)&&e!==o&&t(r,e,{get:()=>p[e],enumerable:!(m=y(p,e))||m.enumerable});return r};var l=r=>d(t({},"__esModule",{value:!0}),r);var x={};n(x,{Paper:()=>a});module.exports=l(x);var P=require("../card/Card.cjs"),f=require("react/jsx-runtime");function a(r){return(0,f.jsx)(P.Card,{...r})}a.displayName="Paper";0&&(module.exports={Paper});
@@ -0,0 +1,9 @@
1
+ import type { JSX } from 'react';
2
+ import type { PaperProps } from './types.cjs';
3
+ /**
4
+ * Paper alias of {@link Card}: the same component under the name MUI users look for, with nothing changed. Every Card prop applies; reach for Card itself for full control.
5
+ */
6
+ export declare function Paper(props: PaperProps): JSX.Element;
7
+ export declare namespace Paper {
8
+ var displayName: string;
9
+ }
@@ -0,0 +1,9 @@
1
+ import type { JSX } from 'react';
2
+ import type { PaperProps } from './types.js';
3
+ /**
4
+ * Paper alias of {@link Card}: the same component under the name MUI users look for, with nothing changed. Every Card prop applies; reach for Card itself for full control.
5
+ */
6
+ export declare function Paper(props: PaperProps): JSX.Element;
7
+ export declare namespace Paper {
8
+ var displayName: string;
9
+ }
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{Card as e}from"../card/Card.js";import{jsx as o}from"react/jsx-runtime";function r(p){return o(e,{...p})}r.displayName="Paper";export{r as Paper};
@@ -0,0 +1,2 @@
1
+ export { Paper } from './Paper.cjs';
2
+ export type { PaperProps } from './types.cjs';
@@ -0,0 +1,2 @@
1
+ export { Paper } from './Paper.js';
2
+ export type { PaperProps } from './types.js';
@@ -0,0 +1,3 @@
1
+ import type { CardProps } from '../card/types.cjs';
2
+ /** Props for {@link Paper}: every Card prop. */
3
+ export type PaperProps = CardProps;
@@ -0,0 +1,3 @@
1
+ import type { CardProps } from '../card/types.js';
2
+ /** Props for {@link Paper}: every Card prop. */
3
+ export type PaperProps = CardProps;
@@ -18,8 +18,12 @@ export interface PasswordInputContextValue {
18
18
  revealLabel: string;
19
19
  setVisible: (visible: boolean) => void;
20
20
  }
21
- /** Props for the {@link PasswordInput} root, extending {@link TextFieldProps} minus `trailing`. */
22
- export interface PasswordInputProps extends Omit<TextFieldProps, 'trailing' | 'type'> {
21
+ /**
22
+ * Props for the {@link PasswordInput} root, extending {@link TextFieldProps} minus `trailing`.
23
+ * Also drops `asChild`: the root always composes a Field plus an optional Clear button and
24
+ * Toggle, so it never has the single child `asChild` needs to clone onto.
25
+ */
26
+ export interface PasswordInputProps extends Omit<TextFieldProps, 'trailing' | 'type' | 'asChild'> {
23
27
  /**
24
28
  * Visual weight rung the skin gives the field, mirrored to `data-variant`.
25
29
  * @default undefined — the skin's own default weight.
@@ -18,8 +18,12 @@ export interface PasswordInputContextValue {
18
18
  revealLabel: string;
19
19
  setVisible: (visible: boolean) => void;
20
20
  }
21
- /** Props for the {@link PasswordInput} root, extending {@link TextFieldProps} minus `trailing`. */
22
- export interface PasswordInputProps extends Omit<TextFieldProps, 'trailing' | 'type'> {
21
+ /**
22
+ * Props for the {@link PasswordInput} root, extending {@link TextFieldProps} minus `trailing`.
23
+ * Also drops `asChild`: the root always composes a Field plus an optional Clear button and
24
+ * Toggle, so it never has the single child `asChild` needs to clone onto.
25
+ */
26
+ export interface PasswordInputProps extends Omit<TextFieldProps, 'trailing' | 'type' | 'asChild'> {
23
27
  /**
24
28
  * Visual weight rung the skin gives the field, mirrored to `data-variant`.
25
29
  * @default undefined — the skin's own default weight.
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";var b=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var E=(o,e)=>{for(var a in e)b(o,a,{get:e[a],enumerable:!0})},H=(o,e,a,T)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of w(e))!y.call(o,l)&&l!==a&&b(o,l,{get:()=>e[l],enumerable:!(T=u(e,l))||T.enumerable});return o};var h=o=>H(b({},"__esModule",{value:!0}),o);var k={};E(k,{TableBody:()=>x.TableBody,TableCaption:()=>n.TableCaption,TableCell:()=>f.TableCell,TableColumnHeaderSortTrigger:()=>P.TableColumnHeaderSortTrigger,TableColumnResizeTrigger:()=>R.TableColumnResizeTrigger,TableEmpty:()=>i.TableEmpty,TableExpandTrigger:()=>C.TableExpandTrigger,TableExpandedRow:()=>S.TableExpandedRow,TableFooter:()=>m.TableFooter,TableHeader:()=>p.TableHeader,TableHeaderCell:()=>d.TableHeaderCell,TableRoot:()=>r.TableRoot,TableRow:()=>s.TableRow,TableRowSelectCheckbox:()=>g.TableRowSelectCheckbox,TableSelectAllCheckbox:()=>t.TableSelectAllCheckbox,TableSortIndicator:()=>c.TableSortIndicator,defaultGetSortLabel:()=>r.defaultGetSortLabel,defaultSelectAllLabel:()=>t.defaultSelectAllLabel,useTableContext:()=>r.useTableContext});module.exports=h(k);var r=require("../table/Table.cjs"),p=require("../table/Table.cjs"),x=require("../table/Table.cjs"),m=require("../table/Table.cjs"),s=require("../table/Table.cjs"),d=require("../table/Table.cjs"),f=require("../table/Table.cjs"),n=require("../table/Table.cjs"),C=require("../table/Table.cjs"),S=require("../table/Table.cjs"),i=require("../table/Table.cjs"),P=require("../table/Table.cjs"),c=require("../table/Table.cjs"),t=require("../table/Table.cjs"),g=require("../table/Table.cjs"),R=require("../table/Table.cjs");0&&(module.exports={TableBody,TableCaption,TableCell,TableColumnHeaderSortTrigger,TableColumnResizeTrigger,TableEmpty,TableExpandTrigger,TableExpandedRow,TableFooter,TableHeader,TableHeaderCell,TableRoot,TableRow,TableRowSelectCheckbox,TableSelectAllCheckbox,TableSortIndicator,defaultGetSortLabel,defaultSelectAllLabel,useTableContext});
2
+ "use strict";var b=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var E=(o,e)=>{for(var a in e)b(o,a,{get:e[a],enumerable:!0})},h=(o,e,a,p)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of w(e))!y.call(o,l)&&l!==a&&b(o,l,{get:()=>e[l],enumerable:!(p=H(e,l))||p.enumerable});return o};var F=o=>h(b({},"__esModule",{value:!0}),o);var k={};E(k,{TableBody:()=>x.TableBody,TableCaption:()=>f.TableCaption,TableCell:()=>n.TableCell,TableColumnHeaderFilterInput:()=>c.TableColumnHeaderFilterInput,TableColumnHeaderSortTrigger:()=>P.TableColumnHeaderSortTrigger,TableColumnResizeTrigger:()=>R.TableColumnResizeTrigger,TableEmpty:()=>S.TableEmpty,TableExpandTrigger:()=>i.TableExpandTrigger,TableExpandedRow:()=>C.TableExpandedRow,TableFooter:()=>m.TableFooter,TableHeader:()=>T.TableHeader,TableHeaderCell:()=>s.TableHeaderCell,TableRoot:()=>r.TableRoot,TableRow:()=>d.TableRow,TableRowSelectCheckbox:()=>g.TableRowSelectCheckbox,TableSelectAllCheckbox:()=>t.TableSelectAllCheckbox,TableSortIndicator:()=>u.TableSortIndicator,defaultGetSortLabel:()=>r.defaultGetSortLabel,defaultSelectAllLabel:()=>t.defaultSelectAllLabel,useTableContext:()=>r.useTableContext});module.exports=F(k);var r=require("../table/Table.cjs"),T=require("../table/Table.cjs"),x=require("../table/Table.cjs"),m=require("../table/Table.cjs"),d=require("../table/Table.cjs"),s=require("../table/Table.cjs"),n=require("../table/Table.cjs"),f=require("../table/Table.cjs"),i=require("../table/Table.cjs"),C=require("../table/Table.cjs"),S=require("../table/Table.cjs"),P=require("../table/Table.cjs"),c=require("../table/Table.cjs"),u=require("../table/Table.cjs"),t=require("../table/Table.cjs"),g=require("../table/Table.cjs"),R=require("../table/Table.cjs");0&&(module.exports={TableBody,TableCaption,TableCell,TableColumnHeaderFilterInput,TableColumnHeaderSortTrigger,TableColumnResizeTrigger,TableEmpty,TableExpandTrigger,TableExpandedRow,TableFooter,TableHeader,TableHeaderCell,TableRoot,TableRow,TableRowSelectCheckbox,TableSelectAllCheckbox,TableSortIndicator,defaultGetSortLabel,defaultSelectAllLabel,useTableContext});
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import{TableRoot as r,useTableContext as l,defaultGetSortLabel as a}from"../table/Table.js";import{TableHeader as b}from"../table/Table.js";import{TableBody as p}from"../table/Table.js";import{TableFooter as m}from"../table/Table.js";import{TableRow as d}from"../table/Table.js";import{TableHeaderCell as n}from"../table/Table.js";import{TableCell as S}from"../table/Table.js";import{TableCaption as P}from"../table/Table.js";import{TableExpandTrigger as g}from"../table/Table.js";import{TableExpandedRow as u}from"../table/Table.js";import{TableEmpty as y}from"../table/Table.js";import{TableColumnHeaderSortTrigger as H}from"../table/Table.js";import{TableSortIndicator as k}from"../table/Table.js";import{TableSelectAllCheckbox as z,defaultSelectAllLabel as B}from"../table/Table.js";import{TableRowSelectCheckbox as I}from"../table/Table.js";import{TableColumnResizeTrigger as D}from"../table/Table.js";export{p as TableBody,P as TableCaption,S as TableCell,H as TableColumnHeaderSortTrigger,D as TableColumnResizeTrigger,y as TableEmpty,g as TableExpandTrigger,u as TableExpandedRow,m as TableFooter,b as TableHeader,n as TableHeaderCell,r as TableRoot,d as TableRow,I as TableRowSelectCheckbox,z as TableSelectAllCheckbox,k as TableSortIndicator,a as defaultGetSortLabel,B as defaultSelectAllLabel,l as useTableContext};
2
+ import{TableRoot as r,useTableContext as l,defaultGetSortLabel as a}from"../table/Table.js";import{TableHeader as b}from"../table/Table.js";import{TableBody as T}from"../table/Table.js";import{TableFooter as m}from"../table/Table.js";import{TableRow as s}from"../table/Table.js";import{TableHeaderCell as f}from"../table/Table.js";import{TableCell as C}from"../table/Table.js";import{TableCaption as P}from"../table/Table.js";import{TableExpandTrigger as u}from"../table/Table.js";import{TableExpandedRow as R}from"../table/Table.js";import{TableEmpty as w}from"../table/Table.js";import{TableColumnHeaderSortTrigger as E}from"../table/Table.js";import{TableColumnHeaderFilterInput as F}from"../table/Table.js";import{TableSortIndicator as A}from"../table/Table.js";import{TableSelectAllCheckbox as z,defaultSelectAllLabel as B}from"../table/Table.js";import{TableRowSelectCheckbox as D}from"../table/Table.js";import{TableColumnResizeTrigger as M}from"../table/Table.js";export{T as TableBody,P as TableCaption,C as TableCell,F as TableColumnHeaderFilterInput,E as TableColumnHeaderSortTrigger,M as TableColumnResizeTrigger,w as TableEmpty,u as TableExpandTrigger,R as TableExpandedRow,m as TableFooter,b as TableHeader,f as TableHeaderCell,r as TableRoot,s as TableRow,D as TableRowSelectCheckbox,z as TableSelectAllCheckbox,A as TableSortIndicator,a as defaultGetSortLabel,B as defaultSelectAllLabel,l as useTableContext};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";var Ae=Object.create;var N=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var ye=Object.getOwnPropertyNames;var we=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty;var Ee=(e,l)=>{for(var r in l)N(e,r,{get:l[r],enumerable:!0})},j=(e,l,r,n)=>{if(l&&typeof l=="object"||typeof l=="function")for(let t of ye(l))!xe.call(e,t)&&t!==r&&N(e,t,{get:()=>l[t],enumerable:!(n=Pe(l,t))||n.enumerable});return e};var W=(e,l,r)=>(r=e!=null?Ae(we(e)):{},j(l||!e||!e.__esModule?N(r,"default",{value:e,enumerable:!0}):r,e)),ge=e=>j(N({},"__esModule",{value:!0}),e);var Ce={};Ee(Ce,{ScrollArea:()=>K,ScrollAreaCorner:()=>X,ScrollAreaProvider:()=>be,ScrollAreaRoot:()=>G,ScrollAreaScrollbar:()=>O,ScrollAreaThumb:()=>M,ScrollAreaViewport:()=>U,ScrollbarOrientationContext:()=>I,useScrollAreaContext:()=>g});module.exports=ge(Ce);var v=W(require("react"),1),de=require("../utils/appearance.cjs"),ue=require("../utils/createContext.cjs"),pe=require("../utils/part.cjs"),k=require("../utils/primitive.cjs"),Se=require("../utils/useCallbackRef.cjs");var ee=require("../utils/part.cjs"),re=require("../utils/primitive.cjs");var te=require("react/jsx-runtime"),X=({forceMount:e,ref:l,...r})=>{let n=g("ScrollAreaCorner");return!e&&(!n.scrollbarXEnabled||!n.scrollbarYEnabled)?null:(0,te.jsx)(re.Primitive.div,{"data-skdx-scroll-area-corner":"","aria-hidden":"true",...r,...(0,ee.skdxPart)("scroll-area","corner",r.className),ref:l})};X.displayName="ScrollAreaCorner";var Y=W(require("react"),1),oe=require("../utils/composeRefs.cjs"),le=require("../utils/part.cjs"),V=require("../utils/primitive.cjs");var _=require("react/jsx-runtime"),I=Y.createContext("vertical"),O=({orientation:e="vertical",forceMount:l,ref:r,...n})=>{let t=g("ScrollAreaScrollbar"),{viewportRef:a}=t,s=Y.useRef(null),x=(0,oe.useComposedRefs)(r,s),p=e==="vertical"?t.scrollbarYEnabled:t.scrollbarXEnabled,R=!0;p?t.type==="hover"?R=t.hovering:t.type==="scroll"&&(R=t.hovering||t.scrolling):R=!1;let E=d=>{if(d.target!==d.currentTarget)return;let f=a.current,T=s.current;if(!f||!T)return;let m=T.querySelector("[data-skdx-scroll-area-thumb]")?.getBoundingClientRect();m&&(e==="vertical"?d.clientY<m.top?f.scrollTop-=f.clientHeight:d.clientY>m.bottom&&(f.scrollTop+=f.clientHeight):d.clientX<m.left?f.scrollLeft-=f.clientWidth:d.clientX>m.right&&(f.scrollLeft+=f.clientWidth))},h=(0,V.useComposedEventHandlers)(n.onPointerDown,E);return!l&&t.type!=="always"&&!p?null:(0,_.jsx)(I.Provider,{value:e,children:(0,_.jsx)(V.Primitive.div,{"data-skdx-scroll-area-scrollbar":"","aria-hidden":"true","data-orientation":e,"data-state":R?"visible":"hidden",...n,...(0,le.skdxPart)("scroll-area","scrollbar",n.className),ref:x,onPointerDown:h})})};O.displayName="ScrollAreaScrollbar";var y=W(require("react"),1),ae=require("../utils/composeRefs.cjs"),ne=require("../utils/direction.cjs"),ce=require("../utils/part.cjs"),L=require("../utils/primitive.cjs");var ie=require("react/jsx-runtime"),Te=.1,M=({style:e,ref:l,...r})=>{let{contentRef:n,viewportRef:t}=g("ScrollAreaThumb"),a=y.useContext(I),s=y.useRef(null),x=(0,ae.useComposedRefs)(l,s),[p,R]=y.useState({sizeRatio:0,offsetRatio:0}),E=y.useRef(null),h=y.useCallback(()=>{let o=t.current;if(!o)return;let[c,S,i]=a==="vertical"?[o.clientHeight,o.scrollHeight,o.scrollTop]:[o.clientWidth,o.scrollWidth,o.scrollLeft],C=S>0?c/S:1,P=Math.min(Math.max(C,Te),1),b=S-c,u=b>0?Math.abs(i)/b:0;R({sizeRatio:P,offsetRatio:u})},[t,a]);y.useLayoutEffect(()=>{h();let o=t.current;if(!o)return;o.addEventListener("scroll",h,{passive:!0});let c;return typeof ResizeObserver<"u"&&(c=new ResizeObserver(h),c.observe(o),n.current&&c.observe(n.current)),()=>{o.removeEventListener("scroll",h,{passive:!0}),c?.disconnect()}},[h,n,t]);let d=o=>{let c=t.current;c&&(o.target.setPointerCapture?.(o.pointerId),E.current={startPointer:a==="vertical"?o.clientY:o.clientX,startScroll:a==="vertical"?c.scrollTop:c.scrollLeft})},f=o=>{let c=t.current,S=s.current?.parentElement,i=E.current;if(!c||!S||!i)return;let C=a==="vertical"?S.clientHeight:S.clientWidth,P=a==="vertical"?c.clientHeight:c.clientWidth,u=(a==="vertical"?c.scrollHeight:c.scrollWidth)-P;if(u<=0)return;let D=C*p.sizeRatio,F=Math.max(C-D,1),ve=((a==="vertical"?o.clientY:o.clientX)-i.startPointer)/F*u,Q=a==="horizontal"&&(0,ne.resolveDirection)(c)==="rtl",Re=Q?-u:0,he=Q?0:u,Z=Math.min(Math.max(i.startScroll+ve,Re),he);a==="vertical"?c.scrollTop=Z:c.scrollLeft=Z},T=o=>{o.target.hasPointerCapture?.(o.pointerId)&&o.target.releasePointerCapture(o.pointerId),E.current=null},A=`${p.sizeRatio*100}%`,m=`${p.offsetRatio*(100-p.sizeRatio*100)}%`;return(0,ie.jsx)(L.Primitive.div,{"data-skdx-scroll-area-thumb":"","aria-hidden":"true","data-orientation":a,...r,...(0,ce.skdxPart)("scroll-area","thumb",r.className),ref:x,onPointerDown:(0,L.useComposedEventHandlers)(r.onPointerDown,d),onPointerMove:(0,L.useComposedEventHandlers)(r.onPointerMove,f),onPointerUp:(0,L.useComposedEventHandlers)(r.onPointerUp,T),style:{position:"absolute",touchAction:"none",...a==="vertical"?{top:m,height:A,left:0,right:0}:{insetInlineStart:m,width:A,top:0,bottom:0},...e}})};M.displayName="ScrollAreaThumb";var H=W(require("react"),1),$=require("../utils/composeRefs.cjs"),fe=require("../utils/part.cjs"),B=require("../utils/primitive.cjs");var J=require("react/jsx-runtime"),q=1;function se(e,l,r){let n=l-r;if(n<=q)return"none";let t=Math.abs(e),a=t>q,s=t<n-q;return a&&s?"both":a?"start":"end"}var U=({children:e,style:l,contentProps:r,role:n,ref:t,...a})=>{let{viewportRef:s,contentRef:x,setScrollbarXEnabled:p,setScrollbarYEnabled:R,setScrolling:E,scrollHideDelay:h,reportScrollPosition:d}=g("ScrollAreaViewport"),f=(0,$.useComposedRefs)(t,s),T=(0,$.useComposedRefs)(r?.ref,x),A=H.useCallback(()=>{let i=s.current;i&&(p(i.scrollWidth>i.clientWidth),R(i.scrollHeight>i.clientHeight),d({x:i.scrollLeft,y:i.scrollTop},{x:se(i.scrollLeft,i.scrollWidth,i.clientWidth),y:se(i.scrollTop,i.scrollHeight,i.clientHeight)}))},[s,p,R,d]),m=H.useRef(0),o=()=>{A(),E(!0),window.clearTimeout(m.current),m.current=window.setTimeout(()=>E(!1),h)};H.useLayoutEffect(()=>{A();let i=s.current,C=x.current;if(!i||typeof ResizeObserver>"u")return;let P=new ResizeObserver(A);P.observe(i),C&&P.observe(C);let b=requestAnimationFrame(A);return()=>{P.disconnect(),cancelAnimationFrame(b)}},[A,s,x]),H.useEffect(()=>()=>window.clearTimeout(m.current),[]);let c=a["aria-label"]!=null||a["aria-labelledby"]!=null,S=n??(c?"region":void 0);return(0,J.jsx)(B.Primitive.div,{"data-skdx-scroll-area-viewport":"",tabIndex:0,...a,role:S,...(0,fe.skdxPart)("scroll-area","viewport",a.className),ref:f,style:{overflow:"auto",...l},onScroll:(0,B.useComposedEventHandlers)(a.onScroll,o),children:(0,J.jsx)("div",{"data-skdx-scroll-area-content":"",...r,ref:T,style:{minWidth:"100%",display:"table",...r?.style},children:e})})};U.displayName="ScrollAreaViewport";var w=require("react/jsx-runtime"),me=({scrollbars:e,"aria-label":l,"aria-labelledby":r,children:n})=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(U,{"aria-label":l,"aria-labelledby":r,children:n}),(e==="vertical"||e==="both")&&(0,w.jsx)(O,{orientation:"vertical",children:(0,w.jsx)(M,{})}),(e==="horizontal"||e==="both")&&(0,w.jsx)(O,{orientation:"horizontal",children:(0,w.jsx)(M,{})}),e==="both"&&(0,w.jsx)(X,{})]});var z=require("react/jsx-runtime"),[be,g]=(0,ue.createSafeContext)("ScrollArea"),G=({type:e="hover",scrollHideDelay:l=600,onScrollPositionChange:r,style:n,ref:t,size:a,...s})=>{let x=v.useRef(null),p=v.useRef(null),[R,E]=v.useState(!1),[h,d]=v.useState(!1),[f,T]=v.useState(!1),[A,m]=v.useState(!1),[o,c]=v.useState({x:"none",y:"none"}),S=(0,Se.useCallbackRef)(r),i=v.useCallback((P,b)=>{c(u=>u.x===b.x&&u.y===b.y?u:b),S(P)},[S]),C=v.useCallback(P=>{let b=x.current;if(!b)return;let{top:u,left:D,behavior:F="auto"}=P;b.scrollTo({behavior:F,...u!==void 0&&{top:u},...D!==void 0&&{left:D}})},[]);return(0,z.jsx)(be,{type:e,viewportRef:x,contentRef:p,scrollbarXEnabled:R,scrollbarYEnabled:h,setScrollbarXEnabled:E,setScrollbarYEnabled:d,hovering:f,scrolling:A,setScrolling:m,scrollHideDelay:l,reportScrollPosition:i,scrollTo:C,children:(0,z.jsx)(k.Primitive.div,{"data-skdx-scroll-area":"","data-overflow-x":o.x,"data-overflow-y":o.y,...s,...(0,de.appearanceAttrs)({size:a},s),...(0,pe.skdxPart)("scroll-area","root",s.className),ref:t,style:{position:"relative",...n},onPointerEnter:(0,k.composeEventHandlers)(s.onPointerEnter,()=>T(!0)),onPointerLeave:(0,k.composeEventHandlers)(s.onPointerLeave,()=>T(!1))})})};G.displayName="ScrollAreaRoot";var K=({scrollbars:e="both","aria-label":l,"aria-labelledby":r,children:n,ref:t,...a})=>(0,z.jsx)(G,{...a,ref:t,children:(0,z.jsx)(me,{scrollbars:e,"aria-label":l,"aria-labelledby":r,children:n})});K.displayName="ScrollArea";0&&(module.exports={ScrollArea,ScrollAreaCorner,ScrollAreaProvider,ScrollAreaRoot,ScrollAreaScrollbar,ScrollAreaThumb,ScrollAreaViewport,ScrollbarOrientationContext,useScrollAreaContext});
2
+ "use strict";var Ae=Object.create;var N=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var we=Object.getOwnPropertyNames;var ye=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty;var Ee=(e,l)=>{for(var r in l)N(e,r,{get:l[r],enumerable:!0})},j=(e,l,r,n)=>{if(l&&typeof l=="object"||typeof l=="function")for(let t of we(l))!xe.call(e,t)&&t!==r&&N(e,t,{get:()=>l[t],enumerable:!(n=Pe(l,t))||n.enumerable});return e};var W=(e,l,r)=>(r=e!=null?Ae(ye(e)):{},j(l||!e||!e.__esModule?N(r,"default",{value:e,enumerable:!0}):r,e)),ge=e=>j(N({},"__esModule",{value:!0}),e);var Te={};Ee(Te,{ScrollArea:()=>K,ScrollAreaCorner:()=>V,ScrollAreaProvider:()=>be,ScrollAreaRoot:()=>G,ScrollAreaScrollbar:()=>O,ScrollAreaThumb:()=>M,ScrollAreaViewport:()=>U,ScrollbarOrientationContext:()=>I,useScrollAreaContext:()=>g});module.exports=ge(Te);var d=W(require("react"),1),de=require("../utils/appearance.cjs"),ue=require("../utils/createContext.cjs"),pe=require("../utils/part.cjs"),k=require("../utils/primitive.cjs"),Se=require("../utils/useCallbackRef.cjs");var ee=require("../utils/part.cjs"),re=require("../utils/primitive.cjs");var te=require("react/jsx-runtime"),V=({forceMount:e,ref:l,...r})=>{let n=g("ScrollAreaCorner");return!e&&(!n.scrollbarXEnabled||!n.scrollbarYEnabled)?null:(0,te.jsx)(re.Primitive.div,{"data-skdx-scroll-area-corner":"","aria-hidden":"true",...r,...(0,ee.skdxPart)("scroll-area","corner",r.className),ref:l})};V.displayName="ScrollAreaCorner";var X=W(require("react"),1),oe=require("../utils/composeRefs.cjs"),le=require("../utils/part.cjs"),Y=require("../utils/primitive.cjs");var _=require("react/jsx-runtime"),I=X.createContext("vertical"),O=({orientation:e="vertical",forceMount:l,ref:r,...n})=>{let t=g("ScrollAreaScrollbar"),{viewportRef:a}=t,s=X.useRef(null),x=(0,oe.useComposedRefs)(r,s),S=e==="vertical"?t.scrollbarYEnabled:t.scrollbarXEnabled,R=!0;S?t.type==="hover"?R=t.hovering:t.type==="scroll"&&(R=t.hovering||t.scrolling):R=!1;let E=u=>{if(u.target!==u.currentTarget)return;let f=a.current,C=s.current;if(!f||!C)return;let m=C.querySelector("[data-skdx-scroll-area-thumb]")?.getBoundingClientRect();m&&(e==="vertical"?u.clientY<m.top?f.scrollTop-=f.clientHeight:u.clientY>m.bottom&&(f.scrollTop+=f.clientHeight):u.clientX<m.left?f.scrollLeft-=f.clientWidth:u.clientX>m.right&&(f.scrollLeft+=f.clientWidth))},h=(0,Y.useComposedEventHandlers)(n.onPointerDown,E);return!l&&t.type!=="always"&&!S?null:(0,_.jsx)(I.Provider,{value:e,children:(0,_.jsx)(Y.Primitive.div,{"data-skdx-scroll-area-scrollbar":"","aria-hidden":"true","data-orientation":e,"data-state":R?"visible":"hidden",...n,...(0,le.skdxPart)("scroll-area","scrollbar",n.className),ref:x,onPointerDown:h})})};O.displayName="ScrollAreaScrollbar";var w=W(require("react"),1),ae=require("../utils/composeRefs.cjs"),ne=require("../utils/direction.cjs"),ce=require("../utils/part.cjs"),L=require("../utils/primitive.cjs");var ie=require("react/jsx-runtime"),Ce=.1,M=({style:e,ref:l,...r})=>{let{contentRef:n,viewportRef:t}=g("ScrollAreaThumb"),a=w.useContext(I),s=w.useRef(null),x=(0,ae.useComposedRefs)(l,s),[S,R]=w.useState({sizeRatio:0,offsetRatio:0}),E=w.useRef(null),h=w.useCallback(()=>{let o=t.current;if(!o)return;let[c,b,i]=a==="vertical"?[o.clientHeight,o.scrollHeight,o.scrollTop]:[o.clientWidth,o.scrollWidth,o.scrollLeft],T=b>0?c/b:1,P=Math.min(Math.max(T,Ce),1),v=b-c,p=v>0?Math.abs(i)/v:0;R({sizeRatio:P,offsetRatio:p})},[t,a]);w.useLayoutEffect(()=>{h();let o=t.current;if(!o)return;o.addEventListener("scroll",h,{passive:!0});let c;return typeof ResizeObserver<"u"&&(c=new ResizeObserver(h),c.observe(o),n.current&&c.observe(n.current)),()=>{o.removeEventListener("scroll",h,{passive:!0}),c?.disconnect()}},[h,n,t]);let u=o=>{let c=t.current;c&&(o.target.setPointerCapture?.(o.pointerId),E.current={startPointer:a==="vertical"?o.clientY:o.clientX,startScroll:a==="vertical"?c.scrollTop:c.scrollLeft})},f=o=>{let c=t.current,b=s.current?.parentElement,i=E.current;if(!c||!b||!i)return;let T=a==="vertical"?b.clientHeight:b.clientWidth,P=a==="vertical"?c.clientHeight:c.clientWidth,p=(a==="vertical"?c.scrollHeight:c.scrollWidth)-P;if(p<=0)return;let D=T*S.sizeRatio,F=Math.max(T-D,1),ve=((a==="vertical"?o.clientY:o.clientX)-i.startPointer)/F*p,Q=a==="horizontal"&&(0,ne.resolveDirection)(c)==="rtl",Re=Q?-p:0,he=Q?0:p,Z=Math.min(Math.max(i.startScroll+ve,Re),he);a==="vertical"?c.scrollTop=Z:c.scrollLeft=Z},C=o=>{o.target.hasPointerCapture?.(o.pointerId)&&o.target.releasePointerCapture(o.pointerId),E.current=null},A=`${S.sizeRatio*100}%`,m=`${S.offsetRatio*(100-S.sizeRatio*100)}%`;return(0,ie.jsx)(L.Primitive.div,{"data-skdx-scroll-area-thumb":"","aria-hidden":"true","data-orientation":a,...r,...(0,ce.skdxPart)("scroll-area","thumb",r.className),ref:x,onPointerDown:(0,L.useComposedEventHandlers)(r.onPointerDown,u),onPointerMove:(0,L.useComposedEventHandlers)(r.onPointerMove,f),onPointerUp:(0,L.useComposedEventHandlers)(r.onPointerUp,C),style:{position:"absolute",touchAction:"none",...a==="vertical"?{top:m,height:A,left:0,right:0}:{insetInlineStart:m,width:A,top:0,bottom:0},...e}})};M.displayName="ScrollAreaThumb";var H=W(require("react"),1),$=require("../utils/composeRefs.cjs"),fe=require("../utils/part.cjs"),B=require("../utils/primitive.cjs");var J=require("react/jsx-runtime"),q=1;function se(e,l,r){let n=l-r;if(n<=q)return"none";let t=Math.abs(e),a=t>q,s=t<n-q;return a&&s?"both":a?"start":"end"}var U=({children:e,style:l,contentProps:r,role:n,ref:t,...a})=>{let{viewportRef:s,contentRef:x,setScrollbarXEnabled:S,setScrollbarYEnabled:R,setScrolling:E,scrollHideDelay:h,reportScrollPosition:u}=g("ScrollAreaViewport"),f=(0,$.useComposedRefs)(t,s),C=(0,$.useComposedRefs)(r?.ref,x),A=H.useCallback(()=>{let i=s.current;i&&(S(i.scrollWidth>i.clientWidth),R(i.scrollHeight>i.clientHeight),u({x:i.scrollLeft,y:i.scrollTop},{x:se(i.scrollLeft,i.scrollWidth,i.clientWidth),y:se(i.scrollTop,i.scrollHeight,i.clientHeight)}))},[s,S,R,u]),m=H.useRef(0),o=()=>{A(),E(!0),window.clearTimeout(m.current),m.current=window.setTimeout(()=>E(!1),h)};H.useLayoutEffect(()=>{A();let i=s.current,T=x.current;if(!i||typeof ResizeObserver>"u")return;let P=new ResizeObserver(A);P.observe(i),T&&P.observe(T);let v=requestAnimationFrame(A);return()=>{P.disconnect(),cancelAnimationFrame(v)}},[A,s,x]),H.useEffect(()=>()=>window.clearTimeout(m.current),[]);let c=a["aria-label"]!=null||a["aria-labelledby"]!=null,b=n??(c?"region":void 0);return(0,J.jsx)(B.Primitive.div,{"data-skdx-scroll-area-viewport":"",tabIndex:0,...a,role:b,...(0,fe.skdxPart)("scroll-area","viewport",a.className),ref:f,style:{overflow:"auto",...l},onScroll:(0,B.useComposedEventHandlers)(a.onScroll,o),children:(0,J.jsx)("div",{"data-skdx-scroll-area-content":"",...r,ref:C,style:{minWidth:"100%",display:"table",...r?.style},children:e})})};U.displayName="ScrollAreaViewport";var y=require("react/jsx-runtime"),me=({scrollbars:e,"aria-label":l,"aria-labelledby":r,children:n})=>(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(U,{"aria-label":l,"aria-labelledby":r,children:n}),(e==="vertical"||e==="both")&&(0,y.jsx)(O,{orientation:"vertical",children:(0,y.jsx)(M,{})}),(e==="horizontal"||e==="both")&&(0,y.jsx)(O,{orientation:"horizontal",children:(0,y.jsx)(M,{})}),e==="both"&&(0,y.jsx)(V,{})]});var z=require("react/jsx-runtime"),[be,g]=(0,ue.createSafeContext)("ScrollArea"),G=({type:e="hover",scrollHideDelay:l=600,onScrollPositionChange:r,style:n,ref:t,size:a,...s})=>{let x=d.useRef(null),S=d.useRef(null),[R,E]=d.useState(!1),[h,u]=d.useState(!1),[f,C]=d.useState(!1),[A,m]=d.useState(!1),[o,c]=d.useState({x:"none",y:"none"}),b=(0,Se.useCallbackRef)(r),i=d.useCallback((P,v)=>{c(p=>p.x===v.x&&p.y===v.y?p:v),b(P)},[b]),T=d.useCallback(P=>{let v=x.current;if(!v)return;let{top:p,left:D,behavior:F="auto"}=P;v.scrollTo({behavior:F,...p!==void 0&&{top:p},...D!==void 0&&{left:D}})},[]);return(0,z.jsx)(be,{type:e,viewportRef:x,contentRef:S,scrollbarXEnabled:R,scrollbarYEnabled:h,setScrollbarXEnabled:E,setScrollbarYEnabled:u,hovering:f,scrolling:A,setScrolling:m,scrollHideDelay:l,reportScrollPosition:i,scrollTo:T,children:(0,z.jsx)(k.Primitive.div,{"data-skdx-scroll-area":"","data-overflow-x":o.x,"data-overflow-y":o.y,...s,...(0,de.appearanceAttrs)({size:a},s),asChild:d.isValidElement(s.children)?s.asChild:!1,...(0,pe.skdxPart)("scroll-area","root",s.className),ref:t,style:{position:"relative",...n},onPointerEnter:(0,k.composeEventHandlers)(s.onPointerEnter,()=>C(!0)),onPointerLeave:(0,k.composeEventHandlers)(s.onPointerLeave,()=>C(!1))})})};G.displayName="ScrollAreaRoot";var K=({scrollbars:e="both","aria-label":l,"aria-labelledby":r,children:n,ref:t,...a})=>(0,z.jsx)(G,{...a,ref:t,children:(0,z.jsx)(me,{scrollbars:e,"aria-label":l,"aria-labelledby":r,children:n})});K.displayName="ScrollArea";0&&(module.exports={ScrollArea,ScrollAreaCorner,ScrollAreaProvider,ScrollAreaRoot,ScrollAreaScrollbar,ScrollAreaThumb,ScrollAreaViewport,ScrollbarOrientationContext,useScrollAreaContext});
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import*as v from"react";import{appearanceAttrs as Re}from"../utils/appearance.js";import{createSafeContext as he}from"../utils/createContext.js";import{skdxPart as Ae}from"../utils/part.js";import{composeEventHandlers as J,Primitive as Pe}from"../utils/primitive.js";import{useCallbackRef as ye}from"../utils/useCallbackRef.js";import{skdxPart as ee}from"../utils/part.js";import{Primitive as re}from"../utils/primitive.js";import{jsx as te}from"react/jsx-runtime";var N=({forceMount:a,ref:s,...n})=>{let c=T("ScrollAreaCorner");return!a&&(!c.scrollbarXEnabled||!c.scrollbarYEnabled)?null:te(re.div,{"data-skdx-scroll-area-corner":"","aria-hidden":"true",...n,...ee("scroll-area","corner",n.className),ref:s})};N.displayName="ScrollAreaCorner";import*as O from"react";import{useComposedRefs as oe}from"../utils/composeRefs.js";import{skdxPart as le}from"../utils/part.js";import{Primitive as ae,useComposedEventHandlers as ne}from"../utils/primitive.js";import{jsx as U}from"react/jsx-runtime";var W=O.createContext("vertical"),M=({orientation:a="vertical",forceMount:s,ref:n,...c})=>{let t=T("ScrollAreaScrollbar"),{viewportRef:r}=t,i=O.useRef(null),w=oe(n,i),p=a==="vertical"?t.scrollbarYEnabled:t.scrollbarXEnabled,R=!0;p?t.type==="hover"?R=t.hovering:t.type==="scroll"&&(R=t.hovering||t.scrolling):R=!1;let x=d=>{if(d.target!==d.currentTarget)return;let f=r.current,E=i.current;if(!f||!E)return;let m=E.querySelector("[data-skdx-scroll-area-thumb]")?.getBoundingClientRect();m&&(a==="vertical"?d.clientY<m.top?f.scrollTop-=f.clientHeight:d.clientY>m.bottom&&(f.scrollTop+=f.clientHeight):d.clientX<m.left?f.scrollLeft-=f.clientWidth:d.clientX>m.right&&(f.scrollLeft+=f.clientWidth))},h=ne(c.onPointerDown,x);return!s&&t.type!=="always"&&!p?null:U(W.Provider,{value:a,children:U(ae.div,{"data-skdx-scroll-area-scrollbar":"","aria-hidden":"true","data-orientation":a,"data-state":R?"visible":"hidden",...c,...le("scroll-area","scrollbar",c.className),ref:w,onPointerDown:h})})};M.displayName="ScrollAreaScrollbar";import*as y from"react";import{useComposedRefs as ce}from"../utils/composeRefs.js";import{resolveDirection as ie}from"../utils/direction.js";import{skdxPart as se}from"../utils/part.js";import{Primitive as fe,useComposedEventHandlers as X}from"../utils/primitive.js";import{jsx as de}from"react/jsx-runtime";var me=.1,k=({style:a,ref:s,...n})=>{let{contentRef:c,viewportRef:t}=T("ScrollAreaThumb"),r=y.useContext(W),i=y.useRef(null),w=ce(s,i),[p,R]=y.useState({sizeRatio:0,offsetRatio:0}),x=y.useRef(null),h=y.useCallback(()=>{let e=t.current;if(!e)return;let[o,S,l]=r==="vertical"?[e.clientHeight,e.scrollHeight,e.scrollTop]:[e.clientWidth,e.scrollWidth,e.scrollLeft],g=S>0?o/S:1,P=Math.min(Math.max(g,me),1),b=S-o,u=b>0?Math.abs(l)/b:0;R({sizeRatio:P,offsetRatio:u})},[t,r]);y.useLayoutEffect(()=>{h();let e=t.current;if(!e)return;e.addEventListener("scroll",h,{passive:!0});let o;return typeof ResizeObserver<"u"&&(o=new ResizeObserver(h),o.observe(e),c.current&&o.observe(c.current)),()=>{e.removeEventListener("scroll",h,{passive:!0}),o?.disconnect()}},[h,c,t]);let d=e=>{let o=t.current;o&&(e.target.setPointerCapture?.(e.pointerId),x.current={startPointer:r==="vertical"?e.clientY:e.clientX,startScroll:r==="vertical"?o.scrollTop:o.scrollLeft})},f=e=>{let o=t.current,S=i.current?.parentElement,l=x.current;if(!o||!S||!l)return;let g=r==="vertical"?S.clientHeight:S.clientWidth,P=r==="vertical"?o.clientHeight:o.clientWidth,u=(r==="vertical"?o.scrollHeight:o.scrollWidth)-P;if(u<=0)return;let L=g*p.sizeRatio,D=Math.max(g-L,1),Q=((r==="vertical"?e.clientY:e.clientX)-l.startPointer)/D*u,I=r==="horizontal"&&ie(o)==="rtl",Z=I?-u:0,j=I?0:u,B=Math.min(Math.max(l.startScroll+Q,Z),j);r==="vertical"?o.scrollTop=B:o.scrollLeft=B},E=e=>{e.target.hasPointerCapture?.(e.pointerId)&&e.target.releasePointerCapture(e.pointerId),x.current=null},A=`${p.sizeRatio*100}%`,m=`${p.offsetRatio*(100-p.sizeRatio*100)}%`;return de(fe.div,{"data-skdx-scroll-area-thumb":"","aria-hidden":"true","data-orientation":r,...n,...se("scroll-area","thumb",n.className),ref:w,onPointerDown:X(n.onPointerDown,d),onPointerMove:X(n.onPointerMove,f),onPointerUp:X(n.onPointerUp,E),style:{position:"absolute",touchAction:"none",...r==="vertical"?{top:m,height:A,left:0,right:0}:{insetInlineStart:m,width:A,top:0,bottom:0},...a}})};k.displayName="ScrollAreaThumb";import*as C from"react";import{useComposedRefs as F}from"../utils/composeRefs.js";import{skdxPart as ue}from"../utils/part.js";import{Primitive as pe,useComposedEventHandlers as Se}from"../utils/primitive.js";import{jsx as q}from"react/jsx-runtime";var Y=1;function _(a,s,n){let c=s-n;if(c<=Y)return"none";let t=Math.abs(a),r=t>Y,i=t<c-Y;return r&&i?"both":r?"start":"end"}var V=({children:a,style:s,contentProps:n,role:c,ref:t,...r})=>{let{viewportRef:i,contentRef:w,setScrollbarXEnabled:p,setScrollbarYEnabled:R,setScrolling:x,scrollHideDelay:h,reportScrollPosition:d}=T("ScrollAreaViewport"),f=F(t,i),E=F(n?.ref,w),A=C.useCallback(()=>{let l=i.current;l&&(p(l.scrollWidth>l.clientWidth),R(l.scrollHeight>l.clientHeight),d({x:l.scrollLeft,y:l.scrollTop},{x:_(l.scrollLeft,l.scrollWidth,l.clientWidth),y:_(l.scrollTop,l.scrollHeight,l.clientHeight)}))},[i,p,R,d]),m=C.useRef(0),e=()=>{A(),x(!0),window.clearTimeout(m.current),m.current=window.setTimeout(()=>x(!1),h)};C.useLayoutEffect(()=>{A();let l=i.current,g=w.current;if(!l||typeof ResizeObserver>"u")return;let P=new ResizeObserver(A);P.observe(l),g&&P.observe(g);let b=requestAnimationFrame(A);return()=>{P.disconnect(),cancelAnimationFrame(b)}},[A,i,w]),C.useEffect(()=>()=>window.clearTimeout(m.current),[]);let o=r["aria-label"]!=null||r["aria-labelledby"]!=null,S=c??(o?"region":void 0);return q(pe.div,{"data-skdx-scroll-area-viewport":"",tabIndex:0,...r,role:S,...ue("scroll-area","viewport",r.className),ref:f,style:{overflow:"auto",...s},onScroll:Se(r.onScroll,e),children:q("div",{"data-skdx-scroll-area-content":"",...n,ref:E,style:{minWidth:"100%",display:"table",...n?.style},children:a})})};V.displayName="ScrollAreaViewport";import{Fragment as be,jsx as H,jsxs as ve}from"react/jsx-runtime";var $=({scrollbars:a,"aria-label":s,"aria-labelledby":n,children:c})=>ve(be,{children:[H(V,{"aria-label":s,"aria-labelledby":n,children:c}),(a==="vertical"||a==="both")&&H(M,{orientation:"vertical",children:H(k,{})}),(a==="horizontal"||a==="both")&&H(M,{orientation:"horizontal",children:H(k,{})}),a==="both"&&H(N,{})]});import{jsx as z}from"react/jsx-runtime";var[we,T]=he("ScrollArea"),G=({type:a="hover",scrollHideDelay:s=600,onScrollPositionChange:n,style:c,ref:t,size:r,...i})=>{let w=v.useRef(null),p=v.useRef(null),[R,x]=v.useState(!1),[h,d]=v.useState(!1),[f,E]=v.useState(!1),[A,m]=v.useState(!1),[e,o]=v.useState({x:"none",y:"none"}),S=ye(n),l=v.useCallback((P,b)=>{o(u=>u.x===b.x&&u.y===b.y?u:b),S(P)},[S]),g=v.useCallback(P=>{let b=w.current;if(!b)return;let{top:u,left:L,behavior:D="auto"}=P;b.scrollTo({behavior:D,...u!==void 0&&{top:u},...L!==void 0&&{left:L}})},[]);return z(we,{type:a,viewportRef:w,contentRef:p,scrollbarXEnabled:R,scrollbarYEnabled:h,setScrollbarXEnabled:x,setScrollbarYEnabled:d,hovering:f,scrolling:A,setScrolling:m,scrollHideDelay:s,reportScrollPosition:l,scrollTo:g,children:z(Pe.div,{"data-skdx-scroll-area":"","data-overflow-x":e.x,"data-overflow-y":e.y,...i,...Re({size:r},i),...Ae("scroll-area","root",i.className),ref:t,style:{position:"relative",...c},onPointerEnter:J(i.onPointerEnter,()=>E(!0)),onPointerLeave:J(i.onPointerLeave,()=>E(!1))})})};G.displayName="ScrollAreaRoot";var K=({scrollbars:a="both","aria-label":s,"aria-labelledby":n,children:c,ref:t,...r})=>z(G,{...r,ref:t,children:z($,{scrollbars:a,"aria-label":s,"aria-labelledby":n,children:c})});K.displayName="ScrollArea";export{K as ScrollArea,N as ScrollAreaCorner,we as ScrollAreaProvider,G as ScrollAreaRoot,M as ScrollAreaScrollbar,k as ScrollAreaThumb,V as ScrollAreaViewport,W as ScrollbarOrientationContext,T as useScrollAreaContext};
2
+ import*as d from"react";import{appearanceAttrs as Re}from"../utils/appearance.js";import{createSafeContext as he}from"../utils/createContext.js";import{skdxPart as Ae}from"../utils/part.js";import{composeEventHandlers as J,Primitive as Pe}from"../utils/primitive.js";import{useCallbackRef as we}from"../utils/useCallbackRef.js";import{skdxPart as ee}from"../utils/part.js";import{Primitive as re}from"../utils/primitive.js";import{jsx as te}from"react/jsx-runtime";var N=({forceMount:a,ref:s,...n})=>{let c=C("ScrollAreaCorner");return!a&&(!c.scrollbarXEnabled||!c.scrollbarYEnabled)?null:te(re.div,{"data-skdx-scroll-area-corner":"","aria-hidden":"true",...n,...ee("scroll-area","corner",n.className),ref:s})};N.displayName="ScrollAreaCorner";import*as O from"react";import{useComposedRefs as oe}from"../utils/composeRefs.js";import{skdxPart as le}from"../utils/part.js";import{Primitive as ae,useComposedEventHandlers as ne}from"../utils/primitive.js";import{jsx as U}from"react/jsx-runtime";var W=O.createContext("vertical"),M=({orientation:a="vertical",forceMount:s,ref:n,...c})=>{let t=C("ScrollAreaScrollbar"),{viewportRef:r}=t,i=O.useRef(null),y=oe(n,i),S=a==="vertical"?t.scrollbarYEnabled:t.scrollbarXEnabled,R=!0;S?t.type==="hover"?R=t.hovering:t.type==="scroll"&&(R=t.hovering||t.scrolling):R=!1;let x=u=>{if(u.target!==u.currentTarget)return;let f=r.current,E=i.current;if(!f||!E)return;let m=E.querySelector("[data-skdx-scroll-area-thumb]")?.getBoundingClientRect();m&&(a==="vertical"?u.clientY<m.top?f.scrollTop-=f.clientHeight:u.clientY>m.bottom&&(f.scrollTop+=f.clientHeight):u.clientX<m.left?f.scrollLeft-=f.clientWidth:u.clientX>m.right&&(f.scrollLeft+=f.clientWidth))},h=ne(c.onPointerDown,x);return!s&&t.type!=="always"&&!S?null:U(W.Provider,{value:a,children:U(ae.div,{"data-skdx-scroll-area-scrollbar":"","aria-hidden":"true","data-orientation":a,"data-state":R?"visible":"hidden",...c,...le("scroll-area","scrollbar",c.className),ref:y,onPointerDown:h})})};M.displayName="ScrollAreaScrollbar";import*as w from"react";import{useComposedRefs as ce}from"../utils/composeRefs.js";import{resolveDirection as ie}from"../utils/direction.js";import{skdxPart as se}from"../utils/part.js";import{Primitive as fe,useComposedEventHandlers as V}from"../utils/primitive.js";import{jsx as de}from"react/jsx-runtime";var me=.1,k=({style:a,ref:s,...n})=>{let{contentRef:c,viewportRef:t}=C("ScrollAreaThumb"),r=w.useContext(W),i=w.useRef(null),y=ce(s,i),[S,R]=w.useState({sizeRatio:0,offsetRatio:0}),x=w.useRef(null),h=w.useCallback(()=>{let e=t.current;if(!e)return;let[o,b,l]=r==="vertical"?[e.clientHeight,e.scrollHeight,e.scrollTop]:[e.clientWidth,e.scrollWidth,e.scrollLeft],g=b>0?o/b:1,P=Math.min(Math.max(g,me),1),v=b-o,p=v>0?Math.abs(l)/v:0;R({sizeRatio:P,offsetRatio:p})},[t,r]);w.useLayoutEffect(()=>{h();let e=t.current;if(!e)return;e.addEventListener("scroll",h,{passive:!0});let o;return typeof ResizeObserver<"u"&&(o=new ResizeObserver(h),o.observe(e),c.current&&o.observe(c.current)),()=>{e.removeEventListener("scroll",h,{passive:!0}),o?.disconnect()}},[h,c,t]);let u=e=>{let o=t.current;o&&(e.target.setPointerCapture?.(e.pointerId),x.current={startPointer:r==="vertical"?e.clientY:e.clientX,startScroll:r==="vertical"?o.scrollTop:o.scrollLeft})},f=e=>{let o=t.current,b=i.current?.parentElement,l=x.current;if(!o||!b||!l)return;let g=r==="vertical"?b.clientHeight:b.clientWidth,P=r==="vertical"?o.clientHeight:o.clientWidth,p=(r==="vertical"?o.scrollHeight:o.scrollWidth)-P;if(p<=0)return;let L=g*S.sizeRatio,D=Math.max(g-L,1),Q=((r==="vertical"?e.clientY:e.clientX)-l.startPointer)/D*p,I=r==="horizontal"&&ie(o)==="rtl",Z=I?-p:0,j=I?0:p,B=Math.min(Math.max(l.startScroll+Q,Z),j);r==="vertical"?o.scrollTop=B:o.scrollLeft=B},E=e=>{e.target.hasPointerCapture?.(e.pointerId)&&e.target.releasePointerCapture(e.pointerId),x.current=null},A=`${S.sizeRatio*100}%`,m=`${S.offsetRatio*(100-S.sizeRatio*100)}%`;return de(fe.div,{"data-skdx-scroll-area-thumb":"","aria-hidden":"true","data-orientation":r,...n,...se("scroll-area","thumb",n.className),ref:y,onPointerDown:V(n.onPointerDown,u),onPointerMove:V(n.onPointerMove,f),onPointerUp:V(n.onPointerUp,E),style:{position:"absolute",touchAction:"none",...r==="vertical"?{top:m,height:A,left:0,right:0}:{insetInlineStart:m,width:A,top:0,bottom:0},...a}})};k.displayName="ScrollAreaThumb";import*as T from"react";import{useComposedRefs as F}from"../utils/composeRefs.js";import{skdxPart as ue}from"../utils/part.js";import{Primitive as pe,useComposedEventHandlers as Se}from"../utils/primitive.js";import{jsx as q}from"react/jsx-runtime";var X=1;function _(a,s,n){let c=s-n;if(c<=X)return"none";let t=Math.abs(a),r=t>X,i=t<c-X;return r&&i?"both":r?"start":"end"}var Y=({children:a,style:s,contentProps:n,role:c,ref:t,...r})=>{let{viewportRef:i,contentRef:y,setScrollbarXEnabled:S,setScrollbarYEnabled:R,setScrolling:x,scrollHideDelay:h,reportScrollPosition:u}=C("ScrollAreaViewport"),f=F(t,i),E=F(n?.ref,y),A=T.useCallback(()=>{let l=i.current;l&&(S(l.scrollWidth>l.clientWidth),R(l.scrollHeight>l.clientHeight),u({x:l.scrollLeft,y:l.scrollTop},{x:_(l.scrollLeft,l.scrollWidth,l.clientWidth),y:_(l.scrollTop,l.scrollHeight,l.clientHeight)}))},[i,S,R,u]),m=T.useRef(0),e=()=>{A(),x(!0),window.clearTimeout(m.current),m.current=window.setTimeout(()=>x(!1),h)};T.useLayoutEffect(()=>{A();let l=i.current,g=y.current;if(!l||typeof ResizeObserver>"u")return;let P=new ResizeObserver(A);P.observe(l),g&&P.observe(g);let v=requestAnimationFrame(A);return()=>{P.disconnect(),cancelAnimationFrame(v)}},[A,i,y]),T.useEffect(()=>()=>window.clearTimeout(m.current),[]);let o=r["aria-label"]!=null||r["aria-labelledby"]!=null,b=c??(o?"region":void 0);return q(pe.div,{"data-skdx-scroll-area-viewport":"",tabIndex:0,...r,role:b,...ue("scroll-area","viewport",r.className),ref:f,style:{overflow:"auto",...s},onScroll:Se(r.onScroll,e),children:q("div",{"data-skdx-scroll-area-content":"",...n,ref:E,style:{minWidth:"100%",display:"table",...n?.style},children:a})})};Y.displayName="ScrollAreaViewport";import{Fragment as be,jsx as H,jsxs as ve}from"react/jsx-runtime";var $=({scrollbars:a,"aria-label":s,"aria-labelledby":n,children:c})=>ve(be,{children:[H(Y,{"aria-label":s,"aria-labelledby":n,children:c}),(a==="vertical"||a==="both")&&H(M,{orientation:"vertical",children:H(k,{})}),(a==="horizontal"||a==="both")&&H(M,{orientation:"horizontal",children:H(k,{})}),a==="both"&&H(N,{})]});import{jsx as z}from"react/jsx-runtime";var[ye,C]=he("ScrollArea"),G=({type:a="hover",scrollHideDelay:s=600,onScrollPositionChange:n,style:c,ref:t,size:r,...i})=>{let y=d.useRef(null),S=d.useRef(null),[R,x]=d.useState(!1),[h,u]=d.useState(!1),[f,E]=d.useState(!1),[A,m]=d.useState(!1),[e,o]=d.useState({x:"none",y:"none"}),b=we(n),l=d.useCallback((P,v)=>{o(p=>p.x===v.x&&p.y===v.y?p:v),b(P)},[b]),g=d.useCallback(P=>{let v=y.current;if(!v)return;let{top:p,left:L,behavior:D="auto"}=P;v.scrollTo({behavior:D,...p!==void 0&&{top:p},...L!==void 0&&{left:L}})},[]);return z(ye,{type:a,viewportRef:y,contentRef:S,scrollbarXEnabled:R,scrollbarYEnabled:h,setScrollbarXEnabled:x,setScrollbarYEnabled:u,hovering:f,scrolling:A,setScrolling:m,scrollHideDelay:s,reportScrollPosition:l,scrollTo:g,children:z(Pe.div,{"data-skdx-scroll-area":"","data-overflow-x":e.x,"data-overflow-y":e.y,...i,...Re({size:r},i),asChild:d.isValidElement(i.children)?i.asChild:!1,...Ae("scroll-area","root",i.className),ref:t,style:{position:"relative",...c},onPointerEnter:J(i.onPointerEnter,()=>E(!0)),onPointerLeave:J(i.onPointerLeave,()=>E(!1))})})};G.displayName="ScrollAreaRoot";var K=({scrollbars:a="both","aria-label":s,"aria-labelledby":n,children:c,ref:t,...r})=>z(G,{...r,ref:t,children:z($,{scrollbars:a,"aria-label":s,"aria-labelledby":n,children:c})});K.displayName="ScrollArea";export{K as ScrollArea,N as ScrollAreaCorner,ye as ScrollAreaProvider,G as ScrollAreaRoot,M as ScrollAreaScrollbar,k as ScrollAreaThumb,Y as ScrollAreaViewport,W as ScrollbarOrientationContext,C as useScrollAreaContext};
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- "use strict";var Oe=Object.create;var E=Object.defineProperty;var xe=Object.getOwnPropertyDescriptor;var we=Object.getOwnPropertyNames;var be=Object.getPrototypeOf,Le=Object.prototype.hasOwnProperty;var Ae=(t,r)=>{for(var e in r)E(t,e,{get:r[e],enumerable:!0})},q=(t,r,e,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of we(r))!Le.call(t,i)&&i!==e&&E(t,i,{get:()=>r[i],enumerable:!(o=xe(r,i))||o.enumerable});return t};var T=(t,r,e)=>(e=t!=null?Oe(be(t)):{},q(r||!t||!t.__esModule?E(e,"default",{value:t,enumerable:!0}):e,t)),Ne=t=>q(E({},"__esModule",{value:!0}),t);var _e={};Ae(_e,{ANY_ITEM_SELECTOR:()=>_,DIRECTION_SIDE:()=>z,ITEM_SELECTOR:()=>O,SpeedDial:()=>V,SpeedDialContent:()=>w,SpeedDialItem:()=>b,SpeedDialItemLabel:()=>A,SpeedDialItemProvider:()=>ne,SpeedDialOverlay:()=>N,SpeedDialPortal:()=>k,SpeedDialProvider:()=>Ie,SpeedDialRoot:()=>F,SpeedDialTrigger:()=>H,useSpeedDialContext:()=>u,useSpeedDialItemContext:()=>J});module.exports=Ne(_e);var d=T(require("react"),1),Pe=require("../utils/createContext.cjs"),ge=require("../utils/popper.cjs"),ye=require("../utils/recipeAxis.cjs"),Ce=require("../utils/useControllableState.cjs"),ve=require("../utils/useOpenChangeComplete.cjs");var x=T(require("react"),1),Y=require("../utils/composeRefs.cjs"),U=require("../utils/dismissal.cjs"),B=require("../utils/part.cjs"),W=require("../utils/popper.cjs"),h=require("../utils/primitive.cjs"),G=require("../utils/useDismiss.cjs"),Q=require("../utils/useRovingFocus.cjs");var Z=require("react/jsx-runtime");function ke(t){x.useLayoutEffect(()=>{t.current?.querySelectorAll(_)?.forEach((e,o)=>{e.style.setProperty("--skdx-speed-dial-index",String(o)),e.style.setProperty("--skdx-speed-dial-offset",String(o+1))})})}var He={up:"vertical",down:"vertical",left:"horizontal",right:"horizontal"},w=({forceMount:t,loop:r=!0,onEscapeKeyDown:e,onPointerDownOutside:o,onFocusOutside:i,onInteractOutside:l,align:p="center",sideOffset:c=8,ref:D,...s})=>{let n=u("SpeedDialContent"),P=(0,Y.useComposedRefs)(D,n.contentRef),m=He[n.direction],R=(0,Q.useRovingFocus)({orientation:m,loop:r,itemSelector:O,typeahead:!0});ke(n.contentRef);let g=()=>{n.onOpenChange(!1),n.triggerRef.current?.focus()};return(0,G.useDismiss)({enabled:n.open,onEscapeKeyDown:a=>{e?.(a),a.defaultPrevented||g()},onInteractOutside:l,onPointerDownOutside:a=>{o?.(a),a.defaultPrevented||n.onOpenChange(!1)},onFocusOutside:a=>{i?.(a),a.defaultPrevented||n.onOpenChange(!1)}},[n.contentRef,n.triggerRef]),x.useEffect(()=>{if(!n.open||n.openReason.current==="hover")return;let a=requestAnimationFrame(()=>{let f=n.contentRef.current;if(!f||f.contains(document.activeElement))return;let C=f.querySelector(O);(0,U.focusOnOpen)(()=>(C??f).focus({preventScroll:!0}))});return()=>cancelAnimationFrame(a)},[n.open,n.contentRef,n.openReason]),t||n.open?(0,Z.jsx)(W.PopperContent,{component:"speed-dial",role:"menu","aria-orientation":m,"aria-labelledby":n.triggerId,id:n.contentId,"data-state":n.open?"open":"closed","data-direction":n.direction,tabIndex:-1,side:z[n.direction],align:p,sideOffset:c,...s,...(0,B.skdxPart)("speed-dial","content",s.className),ref:P,onKeyDown:(0,h.composeEventHandlers)(s.onKeyDown,a=>{R(a),a.key==="Tab"&&(a.preventDefault(),g())}),onPointerEnter:(0,h.composeEventHandlers)(s.onPointerEnter,a=>{n.openOnHover&&a.pointerType!=="touch"&&n.onPointerEnter()}),onPointerLeave:(0,h.composeEventHandlers)(s.onPointerLeave,a=>{n.openOnHover&&a.pointerType!=="touch"&&n.onPointerLeave()})}):null};w.displayName="SpeedDialContent";var $=T(require("react"),1),j=require("../utils/appearance.cjs"),ee=require("../utils/createContext.cjs"),te=require("../utils/part.cjs"),oe=require("../utils/primitive.cjs"),re=require("../utils/useMenuItem.cjs");var K=require("react/jsx-runtime"),[ne,J]=(0,ee.createSafeContext)("SpeedDialItem"),b=({disabled:t,onSelect:r,ref:e,size:o,...i})=>{let l=u("SpeedDialItem"),[p,c]=$.useState(void 0),D=(0,re.useMenuItem)({disabled:t,onSelect:r,onSelected:()=>{l.onOpenChange(!1),l.triggerRef.current?.focus()},contentRef:l.contentRef,props:i});return(0,K.jsx)(ne,{labelId:p,setLabelId:c,children:(0,K.jsx)(oe.Primitive.div,{role:"menuitem","aria-labelledby":p,...i,...D,...(0,j.appearanceAttrs)({size:o},i),...(0,te.skdxPart)("speed-dial","item",i.className),ref:e})})};b.displayName="SpeedDialItem";var L=T(require("react"),1),ie=require("../utils/part.cjs"),ae=require("../utils/primitive.cjs");var pe=require("react/jsx-runtime"),A=({ref:t,...r})=>{let e=J("SpeedDialItemLabel"),o=L.useId(),i=r.id??o,{setLabelId:l}=e;return L.useLayoutEffect(()=>(l(i),()=>l(void 0)),[i,l]),(0,pe.jsx)(ae.Primitive.span,{...r,id:i,...(0,ie.skdxPart)("speed-dial","item-label",r.className),ref:t})};A.displayName="SpeedDialItemLabel";var le=require("../utils/part.cjs"),de=require("../utils/primitive.cjs");var se=require("react/jsx-runtime"),N=({ref:t,...r})=>{let e=u("SpeedDialOverlay");return(0,se.jsx)(de.Primitive.div,{"data-state":e.open?"open":"closed",...r,...(0,le.skdxPart)("speed-dial","overlay",r.className),ref:t})};N.displayName="SpeedDialOverlay";var ce=require("../utils/portal.cjs");var me=require("react/jsx-runtime"),k=({forceMount:t,children:r,...e})=>{let o=u("SpeedDialPortal");return t||o.open?(0,me.jsx)(ce.Portal,{...e,children:r}):null};k.displayName="SpeedDialPortal";var fe=require("../utils/appearance.cjs"),ue=require("../utils/composeRefs.cjs"),Se=require("../utils/part.cjs"),De=require("../utils/popper.cjs"),y=require("../utils/primitive.cjs");var X=require("react/jsx-runtime"),Me={up:["ArrowUp","ArrowDown"],down:["ArrowUp","ArrowDown"],left:["ArrowLeft","ArrowRight"],right:["ArrowLeft","ArrowRight"]},H=({ref:t,size:r,...e})=>{let o=u("SpeedDialTrigger"),i=(0,ue.useComposedRefs)(t,o.triggerRef),l=o.disabled||e.disabled;return(0,X.jsx)(De.PopperAnchor,{asChild:!0,children:(0,X.jsx)(y.Primitive.button,{type:"button",id:o.triggerId,"aria-haspopup":"menu","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":o.open?"open":"closed","data-direction":o.direction,...e,disabled:l,"data-disabled":l?"":void 0,...(0,fe.appearanceAttrs)({size:r},e),...(0,Se.skdxPart)("speed-dial","trigger",e.className),ref:i,onClick:(0,y.composeEventHandlers)(e.onClick,()=>{o.onOpenChange(!o.open,"pointer")}),onKeyDown:(0,y.composeEventHandlers)(e.onKeyDown,p=>{Me[o.direction].includes(p.key)&&(p.preventDefault(),o.onOpenChange(!0,"keyboard"))}),onPointerEnter:(0,y.composeEventHandlers)(e.onPointerEnter,p=>{!o.openOnHover||p.pointerType==="touch"||o.onHoverOpen()}),onPointerLeave:(0,y.composeEventHandlers)(e.onPointerLeave,p=>{!o.openOnHover||p.pointerType==="touch"||o.onPointerLeave()})})})};H.displayName="SpeedDialTrigger";var S=require("react/jsx-runtime"),Re=({size:t,trigger:r,actions:e=[],onSelect:o,overlay:i,passThrough:l})=>(0,S.jsxs)(S.Fragment,{children:[r?(0,S.jsx)(H,{asChild:!0,size:t,...l?.id?{"aria-controls":l.id}:{},children:r}):null,(0,S.jsxs)(k,{children:[i?(0,S.jsx)(N,{}):null,(0,S.jsx)(w,{...l,"data-size":void 0,children:e.map((p,c)=>(0,S.jsxs)(b,{size:t,disabled:p.disabled,onSelect:()=>{p.onSelect?.(),o?.(p,c)},children:[p.icon,(0,S.jsx)(A,{children:p.label})]},c))})]})]});var I=require("react/jsx-runtime"),_='[role="menuitem"]',O='[role="menuitem"]:not([data-disabled])',z={up:"top",down:"bottom",left:"left",right:"right"},[Ie,u]=(0,Pe.createSafeContext)("SpeedDial");function F({children:t,open:r,defaultOpen:e=!1,onOpenChange:o,onOpenChangeComplete:i,direction:l="up",openOnHover:p=!1,hoverCloseDelay:c=300,hoverOpenDelay:D=0,disabled:s=!1}){let n=d.useRef(null),P=d.useRef(null),m=d.useRef(0),R=d.useRef(0),g=d.useRef("programmatic"),[a=!1,f]=(0,Ce.useControllableState)({prop:r,defaultProp:e,onChange:o});(0,ve.useOpenChangeComplete)(a,P,i),d.useEffect(()=>()=>{window.clearTimeout(m.current),window.clearTimeout(R.current)},[]);let C=d.useCallback((v,M="programmatic")=>{window.clearTimeout(m.current),window.clearTimeout(R.current),!(v&&s)&&(g.current=M,f(v))},[s,f]);d.useEffect(()=>{if(!s||!a)return;let v=P.current?.ownerDocument.activeElement??null,M=!!v&&P.current?.contains(v)===!0;f(!1),M&&n.current?.focus()},[s,a,f]);let Ee=d.useCallback(()=>{window.clearTimeout(m.current)},[]),Te=d.useCallback(()=>{if(window.clearTimeout(m.current),window.clearTimeout(R.current),D<=0){C(!0,"hover");return}R.current=window.setTimeout(()=>C(!0,"hover"),D)},[C,D]),he=d.useCallback(()=>{window.clearTimeout(m.current),window.clearTimeout(R.current),m.current=window.setTimeout(()=>f(!1),c)},[c,f]);return(0,I.jsx)(ge.PopperRoot,{children:(0,I.jsx)(Ie,{triggerRef:n,contentRef:P,contentId:d.useId(),triggerId:d.useId(),open:a,direction:l,disabled:s,openOnHover:p,openReason:g,onOpenChange:C,onPointerEnter:Ee,onHoverOpen:Te,onPointerLeave:he,children:t})})}F.displayName="SpeedDialRoot";function V({trigger:t,actions:r,onSelect:e,overlay:o=!1,open:i,defaultOpen:l,onOpenChange:p,onOpenChangeComplete:c,direction:D,openOnHover:s,hoverCloseDelay:n,hoverOpenDelay:P,disabled:m,size:R,...g}){return(0,I.jsx)(F,{open:i,defaultOpen:l,onOpenChange:p,onOpenChangeComplete:c,direction:D,openOnHover:s,hoverCloseDelay:n,hoverOpenDelay:P,disabled:m,children:(0,I.jsx)(Re,{size:(0,ye.recipeAxis)(R,g,"data-size"),trigger:t,actions:r,onSelect:e,overlay:o,passThrough:g})})}V.displayName="SpeedDial";0&&(module.exports={ANY_ITEM_SELECTOR,DIRECTION_SIDE,ITEM_SELECTOR,SpeedDial,SpeedDialContent,SpeedDialItem,SpeedDialItemLabel,SpeedDialItemProvider,SpeedDialOverlay,SpeedDialPortal,SpeedDialProvider,SpeedDialRoot,SpeedDialTrigger,useSpeedDialContext,useSpeedDialItemContext});
2
+ "use strict";var Oe=Object.create;var h=Object.defineProperty;var xe=Object.getOwnPropertyDescriptor;var be=Object.getOwnPropertyNames;var we=Object.getPrototypeOf,Le=Object.prototype.hasOwnProperty;var Ae=(t,r)=>{for(var e in r)h(t,e,{get:r[e],enumerable:!0})},q=(t,r,e,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of be(r))!Le.call(t,a)&&a!==e&&h(t,a,{get:()=>r[a],enumerable:!(o=xe(r,a))||o.enumerable});return t};var E=(t,r,e)=>(e=t!=null?Oe(we(t)):{},q(r||!t||!t.__esModule?h(e,"default",{value:t,enumerable:!0}):e,t)),Ne=t=>q(h({},"__esModule",{value:!0}),t);var _e={};Ae(_e,{ANY_ITEM_SELECTOR:()=>_,DIRECTION_SIDE:()=>z,ITEM_SELECTOR:()=>O,SpeedDial:()=>V,SpeedDialContent:()=>b,SpeedDialItem:()=>w,SpeedDialItemLabel:()=>A,SpeedDialItemProvider:()=>ne,SpeedDialOverlay:()=>N,SpeedDialPortal:()=>k,SpeedDialProvider:()=>Ie,SpeedDialRoot:()=>F,SpeedDialTrigger:()=>H,useSpeedDialContext:()=>S,useSpeedDialItemContext:()=>J});module.exports=Ne(_e);var d=E(require("react"),1),ge=require("../utils/createContext.cjs"),Pe=require("../utils/popper.cjs"),ye=require("../utils/recipeAxis.cjs"),Ce=require("../utils/useControllableState.cjs"),ve=require("../utils/useOpenChangeComplete.cjs");var x=E(require("react"),1),Y=require("../utils/composeRefs.cjs"),U=require("../utils/dismissal.cjs"),B=require("../utils/part.cjs"),W=require("../utils/popper.cjs"),T=require("../utils/primitive.cjs"),G=require("../utils/useDismiss.cjs"),Q=require("../utils/useRovingFocus.cjs");var Z=require("react/jsx-runtime");function ke(t){x.useLayoutEffect(()=>{t.current?.querySelectorAll(_)?.forEach((e,o)=>{e.style.setProperty("--skdx-speed-dial-index",String(o)),e.style.setProperty("--skdx-speed-dial-offset",String(o+1))})})}var He={up:"vertical",down:"vertical",left:"horizontal",right:"horizontal"},b=({forceMount:t,loop:r=!0,onEscapeKeyDown:e,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:l,align:p="center",sideOffset:s=8,ref:m,...c})=>{let n=S("SpeedDialContent"),g=(0,Y.useComposedRefs)(m,n.contentRef),f=He[n.direction],R=(0,Q.useRovingFocus)({orientation:f,loop:r,itemSelector:O,typeahead:!0});ke(n.contentRef);let P=()=>{n.onOpenChange(!1),n.triggerRef.current?.focus()};return(0,G.useDismiss)({enabled:n.open,onEscapeKeyDown:i=>{e?.(i),i.defaultPrevented||P()},onInteractOutside:l,onPointerDownOutside:i=>{o?.(i),i.defaultPrevented||n.onOpenChange(!1)},onFocusOutside:i=>{a?.(i),i.defaultPrevented||n.onOpenChange(!1)}},[n.contentRef,n.triggerRef]),x.useEffect(()=>{if(!n.open||n.openReason.current==="hover")return;let i=requestAnimationFrame(()=>{let u=n.contentRef.current;if(!u||u.contains(document.activeElement))return;let C=u.querySelector(O);(0,U.focusOnOpen)(()=>(C??u).focus({preventScroll:!0}))});return()=>cancelAnimationFrame(i)},[n.open,n.contentRef,n.openReason]),t||n.open?(0,Z.jsx)(W.PopperContent,{component:"speed-dial",role:"menu","aria-orientation":f,"aria-labelledby":n.triggerId,id:n.contentId,hidden:!n.open,"data-state":n.open?"open":"closed","data-direction":n.direction,tabIndex:-1,side:z[n.direction],align:p,sideOffset:s,...c,...(0,B.skdxPart)("speed-dial","content",c.className),ref:g,onKeyDown:(0,T.composeEventHandlers)(c.onKeyDown,i=>{R(i),i.key==="Tab"&&(i.preventDefault(),P())}),onPointerEnter:(0,T.composeEventHandlers)(c.onPointerEnter,i=>{n.openOnHover&&i.pointerType!=="touch"&&n.onPointerEnter()}),onPointerLeave:(0,T.composeEventHandlers)(c.onPointerLeave,i=>{n.openOnHover&&i.pointerType!=="touch"&&n.onPointerLeave()})}):null};b.displayName="SpeedDialContent";var $=E(require("react"),1),j=require("../utils/appearance.cjs"),ee=require("../utils/createContext.cjs"),te=require("../utils/part.cjs"),oe=require("../utils/primitive.cjs"),re=require("../utils/useMenuItem.cjs");var K=require("react/jsx-runtime"),[ne,J]=(0,ee.createSafeContext)("SpeedDialItem"),w=({disabled:t,onSelect:r,ref:e,size:o,...a})=>{let l=S("SpeedDialItem"),[p,s]=$.useState(void 0),m=(0,re.useMenuItem)({disabled:t,onSelect:r,onSelected:()=>{l.onOpenChange(!1),l.triggerRef.current?.focus()},contentRef:l.contentRef,props:a});return(0,K.jsx)(ne,{labelId:p,setLabelId:s,children:(0,K.jsx)(oe.Primitive.div,{role:"menuitem","aria-labelledby":p,...a,...m,...(0,j.appearanceAttrs)({size:o},a),...(0,te.skdxPart)("speed-dial","item",a.className),ref:e})})};w.displayName="SpeedDialItem";var L=E(require("react"),1),ie=require("../utils/part.cjs"),ae=require("../utils/primitive.cjs");var pe=require("react/jsx-runtime"),A=({ref:t,...r})=>{let e=J("SpeedDialItemLabel"),o=L.useId(),a=r.id??o,{setLabelId:l}=e;return L.useLayoutEffect(()=>(l(a),()=>l(void 0)),[a,l]),(0,pe.jsx)(ae.Primitive.span,{...r,id:a,...(0,ie.skdxPart)("speed-dial","item-label",r.className),ref:t})};A.displayName="SpeedDialItemLabel";var le=require("../utils/part.cjs"),de=require("../utils/primitive.cjs");var se=require("react/jsx-runtime"),N=({ref:t,...r})=>{let e=S("SpeedDialOverlay");return(0,se.jsx)(de.Primitive.div,{"data-state":e.open?"open":"closed",...r,...(0,le.skdxPart)("speed-dial","overlay",r.className),ref:t})};N.displayName="SpeedDialOverlay";var ce=require("../utils/portal.cjs");var me=require("react/jsx-runtime"),k=({forceMount:t,children:r,...e})=>{let o=S("SpeedDialPortal");return t||o.open?(0,me.jsx)(ce.Portal,{...e,children:r}):null};k.displayName="SpeedDialPortal";var fe=require("../utils/appearance.cjs"),ue=require("../utils/composeRefs.cjs"),Se=require("../utils/part.cjs"),De=require("../utils/popper.cjs"),y=require("../utils/primitive.cjs");var X=require("react/jsx-runtime"),Me={up:["ArrowUp","ArrowDown"],down:["ArrowUp","ArrowDown"],left:["ArrowLeft","ArrowRight"],right:["ArrowLeft","ArrowRight"]},H=({ref:t,size:r,...e})=>{let o=S("SpeedDialTrigger"),a=(0,ue.useComposedRefs)(t,o.triggerRef),l=o.disabled||e.disabled;return(0,X.jsx)(De.PopperAnchor,{asChild:!0,children:(0,X.jsx)(y.Primitive.button,{type:"button",id:o.triggerId,"aria-haspopup":"menu","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":o.open?"open":"closed","data-direction":o.direction,...e,disabled:l,"data-disabled":l?"":void 0,...(0,fe.appearanceAttrs)({size:r},e),...(0,Se.skdxPart)("speed-dial","trigger",e.className),ref:a,onClick:(0,y.composeEventHandlers)(e.onClick,()=>{o.onOpenChange(!o.open,"pointer")}),onKeyDown:(0,y.composeEventHandlers)(e.onKeyDown,p=>{Me[o.direction].includes(p.key)&&(p.preventDefault(),o.onOpenChange(!0,"keyboard"))}),onPointerEnter:(0,y.composeEventHandlers)(e.onPointerEnter,p=>{!o.openOnHover||p.pointerType==="touch"||o.onHoverOpen()}),onPointerLeave:(0,y.composeEventHandlers)(e.onPointerLeave,p=>{!o.openOnHover||p.pointerType==="touch"||o.onPointerLeave()})})})};H.displayName="SpeedDialTrigger";var D=require("react/jsx-runtime"),Re=({size:t,trigger:r,triggerLabel:e,actions:o=[],onSelect:a,overlay:l,passThrough:p})=>(0,D.jsxs)(D.Fragment,{children:[r?(0,D.jsx)(H,{asChild:!0,size:t,"aria-label":e,...p?.id?{"aria-controls":p.id}:{},children:r}):null,(0,D.jsxs)(k,{children:[l?(0,D.jsx)(N,{}):null,(0,D.jsx)(b,{...p,"data-size":void 0,children:o.map((s,m)=>(0,D.jsxs)(w,{size:t,disabled:s.disabled,onSelect:()=>{s.onSelect?.(),a?.(s,m)},children:[s.icon,(0,D.jsx)(A,{children:s.label})]},m))})]})]});var I=require("react/jsx-runtime"),_='[role="menuitem"]',O='[role="menuitem"]:not([data-disabled])',z={up:"top",down:"bottom",left:"left",right:"right"},[Ie,S]=(0,ge.createSafeContext)("SpeedDial");function F({children:t,open:r,defaultOpen:e=!1,onOpenChange:o,onOpenChangeComplete:a,direction:l="up",openOnHover:p=!1,hoverCloseDelay:s=300,hoverOpenDelay:m=0,disabled:c=!1}){let n=d.useRef(null),g=d.useRef(null),f=d.useRef(0),R=d.useRef(0),P=d.useRef("programmatic"),[i=!1,u]=(0,Ce.useControllableState)({prop:r,defaultProp:e,onChange:o});(0,ve.useOpenChangeComplete)(i,g,a),d.useEffect(()=>()=>{window.clearTimeout(f.current),window.clearTimeout(R.current)},[]);let C=d.useCallback((v,M="programmatic")=>{window.clearTimeout(f.current),window.clearTimeout(R.current),!(v&&c)&&(P.current=M,u(v))},[c,u]);d.useEffect(()=>{if(!c||!i)return;let v=g.current?.ownerDocument.activeElement??null,M=!!v&&g.current?.contains(v)===!0;u(!1),M&&n.current?.focus()},[c,i,u]);let he=d.useCallback(()=>{window.clearTimeout(f.current)},[]),Ee=d.useCallback(()=>{if(window.clearTimeout(f.current),window.clearTimeout(R.current),m<=0){C(!0,"hover");return}R.current=window.setTimeout(()=>C(!0,"hover"),m)},[C,m]),Te=d.useCallback(()=>{window.clearTimeout(f.current),window.clearTimeout(R.current),f.current=window.setTimeout(()=>u(!1),s)},[s,u]);return(0,I.jsx)(Pe.PopperRoot,{children:(0,I.jsx)(Ie,{triggerRef:n,contentRef:g,contentId:d.useId(),triggerId:d.useId(),open:i,direction:l,disabled:c,openOnHover:p,openReason:P,onOpenChange:C,onPointerEnter:he,onHoverOpen:Ee,onPointerLeave:Te,children:t})})}F.displayName="SpeedDialRoot";function V({trigger:t,triggerLabel:r,actions:e,onSelect:o,overlay:a=!1,open:l,defaultOpen:p,onOpenChange:s,onOpenChangeComplete:m,direction:c,openOnHover:n,hoverCloseDelay:g,hoverOpenDelay:f,disabled:R,size:P,...i}){return(0,I.jsx)(F,{open:l,defaultOpen:p,onOpenChange:s,onOpenChangeComplete:m,direction:c,openOnHover:n,hoverCloseDelay:g,hoverOpenDelay:f,disabled:R,children:(0,I.jsx)(Re,{size:(0,ye.recipeAxis)(P,i,"data-size"),trigger:t,triggerLabel:r,actions:e,onSelect:o,overlay:a,passThrough:i})})}V.displayName="SpeedDial";0&&(module.exports={ANY_ITEM_SELECTOR,DIRECTION_SIDE,ITEM_SELECTOR,SpeedDial,SpeedDialContent,SpeedDialItem,SpeedDialItemLabel,SpeedDialItemProvider,SpeedDialOverlay,SpeedDialPortal,SpeedDialProvider,SpeedDialRoot,SpeedDialTrigger,useSpeedDialContext,useSpeedDialItemContext});
@@ -54,7 +54,7 @@ export declare namespace SpeedDialRoot {
54
54
  * />
55
55
  * ```
56
56
  */
57
- export declare function SpeedDial({ trigger, actions, onSelect, overlay, open, defaultOpen, onOpenChange, onOpenChangeComplete, direction, openOnHover, hoverCloseDelay, hoverOpenDelay, disabled, size, ...rest }: SpeedDialProps): React.JSX.Element;
57
+ export declare function SpeedDial({ trigger, triggerLabel, actions, onSelect, overlay, open, defaultOpen, onOpenChange, onOpenChangeComplete, direction, openOnHover, hoverCloseDelay, hoverOpenDelay, disabled, size, ...rest }: SpeedDialProps): React.JSX.Element;
58
58
  export declare namespace SpeedDial {
59
59
  var displayName: string;
60
60
  }
@@ -54,7 +54,7 @@ export declare namespace SpeedDialRoot {
54
54
  * />
55
55
  * ```
56
56
  */
57
- export declare function SpeedDial({ trigger, actions, onSelect, overlay, open, defaultOpen, onOpenChange, onOpenChangeComplete, direction, openOnHover, hoverCloseDelay, hoverOpenDelay, disabled, size, ...rest }: SpeedDialProps): React.JSX.Element;
57
+ export declare function SpeedDial({ trigger, triggerLabel, actions, onSelect, overlay, open, defaultOpen, onOpenChange, onOpenChangeComplete, direction, openOnHover, hoverCloseDelay, hoverOpenDelay, disabled, size, ...rest }: SpeedDialProps): React.JSX.Element;
58
58
  export declare namespace SpeedDial {
59
59
  var displayName: string;
60
60
  }
@@ -1,2 +1,2 @@
1
1
  'use client';
2
- import*as d from"react";import{createSafeContext as Ee}from"../utils/createContext.js";import{PopperRoot as Te}from"../utils/popper.js";import{recipeAxis as he}from"../utils/recipeAxis.js";import{useControllableState as Oe}from"../utils/useControllableState.js";import{useOpenChangeComplete as xe}from"../utils/useOpenChangeComplete.js";import*as C from"react";import{useComposedRefs as W}from"../utils/composeRefs.js";import{focusOnOpen as G}from"../utils/dismissal.js";import{skdxPart as Q}from"../utils/part.js";import{PopperContent as Z}from"../utils/popper.js";import{composeEventHandlers as O}from"../utils/primitive.js";import{useDismiss as $}from"../utils/useDismiss.js";import{useRovingFocus as j}from"../utils/useRovingFocus.js";import{jsx as oe}from"react/jsx-runtime";function ee(a){C.useLayoutEffect(()=>{a.current?.querySelectorAll(M)?.forEach((o,e)=>{o.style.setProperty("--skdx-speed-dial-index",String(e)),o.style.setProperty("--skdx-speed-dial-offset",String(e+1))})})}var te={up:"vertical",down:"vertical",left:"horizontal",right:"horizontal"},w=({forceMount:a,loop:n=!0,onEscapeKeyDown:o,onPointerDownOutside:e,onFocusOutside:l,onInteractOutside:p,align:i="center",sideOffset:c=8,ref:S,...s})=>{let t=u("SpeedDialContent"),R=W(S,t.contentRef),m=te[t.direction],D=j({orientation:m,loop:n,itemSelector:x,typeahead:!0});ee(t.contentRef);let P=()=>{t.onOpenChange(!1),t.triggerRef.current?.focus()};return $({enabled:t.open,onEscapeKeyDown:r=>{o?.(r),r.defaultPrevented||P()},onInteractOutside:p,onPointerDownOutside:r=>{e?.(r),r.defaultPrevented||t.onOpenChange(!1)},onFocusOutside:r=>{l?.(r),r.defaultPrevented||t.onOpenChange(!1)}},[t.contentRef,t.triggerRef]),C.useEffect(()=>{if(!t.open||t.openReason.current==="hover")return;let r=requestAnimationFrame(()=>{let f=t.contentRef.current;if(!f||f.contains(document.activeElement))return;let g=f.querySelector(x);G(()=>(g??f).focus({preventScroll:!0}))});return()=>cancelAnimationFrame(r)},[t.open,t.contentRef,t.openReason]),a||t.open?oe(Z,{component:"speed-dial",role:"menu","aria-orientation":m,"aria-labelledby":t.triggerId,id:t.contentId,"data-state":t.open?"open":"closed","data-direction":t.direction,tabIndex:-1,side:_[t.direction],align:i,sideOffset:c,...s,...Q("speed-dial","content",s.className),ref:R,onKeyDown:O(s.onKeyDown,r=>{D(r),r.key==="Tab"&&(r.preventDefault(),P())}),onPointerEnter:O(s.onPointerEnter,r=>{t.openOnHover&&r.pointerType!=="touch"&&t.onPointerEnter()}),onPointerLeave:O(s.onPointerLeave,r=>{t.openOnHover&&r.pointerType!=="touch"&&t.onPointerLeave()})}):null};w.displayName="SpeedDialContent";import*as K from"react";import{appearanceAttrs as re}from"../utils/appearance.js";import{createSafeContext as ne}from"../utils/createContext.js";import{skdxPart as ie}from"../utils/part.js";import{Primitive as ae}from"../utils/primitive.js";import{useMenuItem as pe}from"../utils/useMenuItem.js";import{jsx as z}from"react/jsx-runtime";var[le,J]=ne("SpeedDialItem"),b=({disabled:a,onSelect:n,ref:o,size:e,...l})=>{let p=u("SpeedDialItem"),[i,c]=K.useState(void 0),S=pe({disabled:a,onSelect:n,onSelected:()=>{p.onOpenChange(!1),p.triggerRef.current?.focus()},contentRef:p.contentRef,props:l});return z(le,{labelId:i,setLabelId:c,children:z(ae.div,{role:"menuitem","aria-labelledby":i,...l,...S,...re({size:e},l),...ie("speed-dial","item",l.className),ref:o})})};b.displayName="SpeedDialItem";import*as v from"react";import{skdxPart as de}from"../utils/part.js";import{Primitive as se}from"../utils/primitive.js";import{jsx as ce}from"react/jsx-runtime";var L=({ref:a,...n})=>{let o=J("SpeedDialItemLabel"),e=v.useId(),l=n.id??e,{setLabelId:p}=o;return v.useLayoutEffect(()=>(p(l),()=>p(void 0)),[l,p]),ce(se.span,{...n,id:l,...de("speed-dial","item-label",n.className),ref:a})};L.displayName="SpeedDialItemLabel";import{skdxPart as me}from"../utils/part.js";import{Primitive as fe}from"../utils/primitive.js";import{jsx as ue}from"react/jsx-runtime";var A=({ref:a,...n})=>{let o=u("SpeedDialOverlay");return ue(fe.div,{"data-state":o.open?"open":"closed",...n,...me("speed-dial","overlay",n.className),ref:a})};A.displayName="SpeedDialOverlay";import{Portal as Se}from"../utils/portal.js";import{jsx as De}from"react/jsx-runtime";var N=({forceMount:a,children:n,...o})=>{let e=u("SpeedDialPortal");return a||e.open?De(Se,{...o,children:n}):null};N.displayName="SpeedDialPortal";import{appearanceAttrs as Re}from"../utils/appearance.js";import{useComposedRefs as Pe}from"../utils/composeRefs.js";import{skdxPart as ge}from"../utils/part.js";import{PopperAnchor as ye}from"../utils/popper.js";import{composeEventHandlers as I,Primitive as Ce}from"../utils/primitive.js";import{jsx as X}from"react/jsx-runtime";var ve={up:["ArrowUp","ArrowDown"],down:["ArrowUp","ArrowDown"],left:["ArrowLeft","ArrowRight"],right:["ArrowLeft","ArrowRight"]},k=({ref:a,size:n,...o})=>{let e=u("SpeedDialTrigger"),l=Pe(a,e.triggerRef),p=e.disabled||o.disabled;return X(ye,{asChild:!0,children:X(Ce.button,{type:"button",id:e.triggerId,"aria-haspopup":"menu","aria-expanded":e.open,"aria-controls":e.contentId,"data-state":e.open?"open":"closed","data-direction":e.direction,...o,disabled:p,"data-disabled":p?"":void 0,...Re({size:n},o),...ge("speed-dial","trigger",o.className),ref:l,onClick:I(o.onClick,()=>{e.onOpenChange(!e.open,"pointer")}),onKeyDown:I(o.onKeyDown,i=>{ve[e.direction].includes(i.key)&&(i.preventDefault(),e.onOpenChange(!0,"keyboard"))}),onPointerEnter:I(o.onPointerEnter,i=>{!e.openOnHover||i.pointerType==="touch"||e.onHoverOpen()}),onPointerLeave:I(o.onPointerLeave,i=>{!e.openOnHover||i.pointerType==="touch"||e.onPointerLeave()})})})};k.displayName="SpeedDialTrigger";import{Fragment as Ie,jsx as E,jsxs as H}from"react/jsx-runtime";var F=({size:a,trigger:n,actions:o=[],onSelect:e,overlay:l,passThrough:p})=>H(Ie,{children:[n?E(k,{asChild:!0,size:a,...p?.id?{"aria-controls":p.id}:{},children:n}):null,H(N,{children:[l?E(A,{}):null,E(w,{...p,"data-size":void 0,children:o.map((i,c)=>H(b,{size:a,disabled:i.disabled,onSelect:()=>{i.onSelect?.(),e?.(i,c)},children:[i.icon,E(L,{children:i.label})]},c))})]})]});import{jsx as T}from"react/jsx-runtime";var M='[role="menuitem"]',x='[role="menuitem"]:not([data-disabled])',_={up:"top",down:"bottom",left:"left",right:"right"},[we,u]=Ee("SpeedDial");function V({children:a,open:n,defaultOpen:o=!1,onOpenChange:e,onOpenChangeComplete:l,direction:p="up",openOnHover:i=!1,hoverCloseDelay:c=300,hoverOpenDelay:S=0,disabled:s=!1}){let t=d.useRef(null),R=d.useRef(null),m=d.useRef(0),D=d.useRef(0),P=d.useRef("programmatic"),[r=!1,f]=Oe({prop:n,defaultProp:o,onChange:e});xe(r,R,l),d.useEffect(()=>()=>{window.clearTimeout(m.current),window.clearTimeout(D.current)},[]);let g=d.useCallback((y,h="programmatic")=>{window.clearTimeout(m.current),window.clearTimeout(D.current),!(y&&s)&&(P.current=h,f(y))},[s,f]);d.useEffect(()=>{if(!s||!r)return;let y=R.current?.ownerDocument.activeElement??null,h=!!y&&R.current?.contains(y)===!0;f(!1),h&&t.current?.focus()},[s,r,f]);let Y=d.useCallback(()=>{window.clearTimeout(m.current)},[]),U=d.useCallback(()=>{if(window.clearTimeout(m.current),window.clearTimeout(D.current),S<=0){g(!0,"hover");return}D.current=window.setTimeout(()=>g(!0,"hover"),S)},[g,S]),B=d.useCallback(()=>{window.clearTimeout(m.current),window.clearTimeout(D.current),m.current=window.setTimeout(()=>f(!1),c)},[c,f]);return T(Te,{children:T(we,{triggerRef:t,contentRef:R,contentId:d.useId(),triggerId:d.useId(),open:r,direction:p,disabled:s,openOnHover:i,openReason:P,onOpenChange:g,onPointerEnter:Y,onHoverOpen:U,onPointerLeave:B,children:a})})}V.displayName="SpeedDialRoot";function q({trigger:a,actions:n,onSelect:o,overlay:e=!1,open:l,defaultOpen:p,onOpenChange:i,onOpenChangeComplete:c,direction:S,openOnHover:s,hoverCloseDelay:t,hoverOpenDelay:R,disabled:m,size:D,...P}){return T(V,{open:l,defaultOpen:p,onOpenChange:i,onOpenChangeComplete:c,direction:S,openOnHover:s,hoverCloseDelay:t,hoverOpenDelay:R,disabled:m,children:T(F,{size:he(D,P,"data-size"),trigger:a,actions:n,onSelect:o,overlay:e,passThrough:P})})}q.displayName="SpeedDial";export{M as ANY_ITEM_SELECTOR,_ as DIRECTION_SIDE,x as ITEM_SELECTOR,q as SpeedDial,w as SpeedDialContent,b as SpeedDialItem,L as SpeedDialItemLabel,le as SpeedDialItemProvider,A as SpeedDialOverlay,N as SpeedDialPortal,we as SpeedDialProvider,V as SpeedDialRoot,k as SpeedDialTrigger,u as useSpeedDialContext,J as useSpeedDialItemContext};
2
+ import*as d from"react";import{createSafeContext as he}from"../utils/createContext.js";import{PopperRoot as Ee}from"../utils/popper.js";import{recipeAxis as Te}from"../utils/recipeAxis.js";import{useControllableState as Oe}from"../utils/useControllableState.js";import{useOpenChangeComplete as xe}from"../utils/useOpenChangeComplete.js";import*as C from"react";import{useComposedRefs as W}from"../utils/composeRefs.js";import{focusOnOpen as G}from"../utils/dismissal.js";import{skdxPart as Q}from"../utils/part.js";import{PopperContent as Z}from"../utils/popper.js";import{composeEventHandlers as O}from"../utils/primitive.js";import{useDismiss as $}from"../utils/useDismiss.js";import{useRovingFocus as j}from"../utils/useRovingFocus.js";import{jsx as oe}from"react/jsx-runtime";function ee(i){C.useLayoutEffect(()=>{i.current?.querySelectorAll(M)?.forEach((o,e)=>{o.style.setProperty("--skdx-speed-dial-index",String(e)),o.style.setProperty("--skdx-speed-dial-offset",String(e+1))})})}var te={up:"vertical",down:"vertical",left:"horizontal",right:"horizontal"},b=({forceMount:i,loop:n=!0,onEscapeKeyDown:o,onPointerDownOutside:e,onFocusOutside:p,onInteractOutside:l,align:a="center",sideOffset:s=8,ref:m,...c})=>{let t=S("SpeedDialContent"),R=W(m,t.contentRef),f=te[t.direction],D=j({orientation:f,loop:n,itemSelector:x,typeahead:!0});ee(t.contentRef);let g=()=>{t.onOpenChange(!1),t.triggerRef.current?.focus()};return $({enabled:t.open,onEscapeKeyDown:r=>{o?.(r),r.defaultPrevented||g()},onInteractOutside:l,onPointerDownOutside:r=>{e?.(r),r.defaultPrevented||t.onOpenChange(!1)},onFocusOutside:r=>{p?.(r),r.defaultPrevented||t.onOpenChange(!1)}},[t.contentRef,t.triggerRef]),C.useEffect(()=>{if(!t.open||t.openReason.current==="hover")return;let r=requestAnimationFrame(()=>{let u=t.contentRef.current;if(!u||u.contains(document.activeElement))return;let P=u.querySelector(x);G(()=>(P??u).focus({preventScroll:!0}))});return()=>cancelAnimationFrame(r)},[t.open,t.contentRef,t.openReason]),i||t.open?oe(Z,{component:"speed-dial",role:"menu","aria-orientation":f,"aria-labelledby":t.triggerId,id:t.contentId,hidden:!t.open,"data-state":t.open?"open":"closed","data-direction":t.direction,tabIndex:-1,side:_[t.direction],align:a,sideOffset:s,...c,...Q("speed-dial","content",c.className),ref:R,onKeyDown:O(c.onKeyDown,r=>{D(r),r.key==="Tab"&&(r.preventDefault(),g())}),onPointerEnter:O(c.onPointerEnter,r=>{t.openOnHover&&r.pointerType!=="touch"&&t.onPointerEnter()}),onPointerLeave:O(c.onPointerLeave,r=>{t.openOnHover&&r.pointerType!=="touch"&&t.onPointerLeave()})}):null};b.displayName="SpeedDialContent";import*as K from"react";import{appearanceAttrs as re}from"../utils/appearance.js";import{createSafeContext as ne}from"../utils/createContext.js";import{skdxPart as ie}from"../utils/part.js";import{Primitive as ae}from"../utils/primitive.js";import{useMenuItem as pe}from"../utils/useMenuItem.js";import{jsx as z}from"react/jsx-runtime";var[le,J]=ne("SpeedDialItem"),w=({disabled:i,onSelect:n,ref:o,size:e,...p})=>{let l=S("SpeedDialItem"),[a,s]=K.useState(void 0),m=pe({disabled:i,onSelect:n,onSelected:()=>{l.onOpenChange(!1),l.triggerRef.current?.focus()},contentRef:l.contentRef,props:p});return z(le,{labelId:a,setLabelId:s,children:z(ae.div,{role:"menuitem","aria-labelledby":a,...p,...m,...re({size:e},p),...ie("speed-dial","item",p.className),ref:o})})};w.displayName="SpeedDialItem";import*as v from"react";import{skdxPart as de}from"../utils/part.js";import{Primitive as se}from"../utils/primitive.js";import{jsx as ce}from"react/jsx-runtime";var L=({ref:i,...n})=>{let o=J("SpeedDialItemLabel"),e=v.useId(),p=n.id??e,{setLabelId:l}=o;return v.useLayoutEffect(()=>(l(p),()=>l(void 0)),[p,l]),ce(se.span,{...n,id:p,...de("speed-dial","item-label",n.className),ref:i})};L.displayName="SpeedDialItemLabel";import{skdxPart as me}from"../utils/part.js";import{Primitive as fe}from"../utils/primitive.js";import{jsx as ue}from"react/jsx-runtime";var A=({ref:i,...n})=>{let o=S("SpeedDialOverlay");return ue(fe.div,{"data-state":o.open?"open":"closed",...n,...me("speed-dial","overlay",n.className),ref:i})};A.displayName="SpeedDialOverlay";import{Portal as Se}from"../utils/portal.js";import{jsx as De}from"react/jsx-runtime";var N=({forceMount:i,children:n,...o})=>{let e=S("SpeedDialPortal");return i||e.open?De(Se,{...o,children:n}):null};N.displayName="SpeedDialPortal";import{appearanceAttrs as Re}from"../utils/appearance.js";import{useComposedRefs as ge}from"../utils/composeRefs.js";import{skdxPart as Pe}from"../utils/part.js";import{PopperAnchor as ye}from"../utils/popper.js";import{composeEventHandlers as I,Primitive as Ce}from"../utils/primitive.js";import{jsx as X}from"react/jsx-runtime";var ve={up:["ArrowUp","ArrowDown"],down:["ArrowUp","ArrowDown"],left:["ArrowLeft","ArrowRight"],right:["ArrowLeft","ArrowRight"]},k=({ref:i,size:n,...o})=>{let e=S("SpeedDialTrigger"),p=ge(i,e.triggerRef),l=e.disabled||o.disabled;return X(ye,{asChild:!0,children:X(Ce.button,{type:"button",id:e.triggerId,"aria-haspopup":"menu","aria-expanded":e.open,"aria-controls":e.contentId,"data-state":e.open?"open":"closed","data-direction":e.direction,...o,disabled:l,"data-disabled":l?"":void 0,...Re({size:n},o),...Pe("speed-dial","trigger",o.className),ref:p,onClick:I(o.onClick,()=>{e.onOpenChange(!e.open,"pointer")}),onKeyDown:I(o.onKeyDown,a=>{ve[e.direction].includes(a.key)&&(a.preventDefault(),e.onOpenChange(!0,"keyboard"))}),onPointerEnter:I(o.onPointerEnter,a=>{!e.openOnHover||a.pointerType==="touch"||e.onHoverOpen()}),onPointerLeave:I(o.onPointerLeave,a=>{!e.openOnHover||a.pointerType==="touch"||e.onPointerLeave()})})})};k.displayName="SpeedDialTrigger";import{Fragment as Ie,jsx as h,jsxs as H}from"react/jsx-runtime";var F=({size:i,trigger:n,triggerLabel:o,actions:e=[],onSelect:p,overlay:l,passThrough:a})=>H(Ie,{children:[n?h(k,{asChild:!0,size:i,"aria-label":o,...a?.id?{"aria-controls":a.id}:{},children:n}):null,H(N,{children:[l?h(A,{}):null,h(b,{...a,"data-size":void 0,children:e.map((s,m)=>H(w,{size:i,disabled:s.disabled,onSelect:()=>{s.onSelect?.(),p?.(s,m)},children:[s.icon,h(L,{children:s.label})]},m))})]})]});import{jsx as E}from"react/jsx-runtime";var M='[role="menuitem"]',x='[role="menuitem"]:not([data-disabled])',_={up:"top",down:"bottom",left:"left",right:"right"},[be,S]=he("SpeedDial");function V({children:i,open:n,defaultOpen:o=!1,onOpenChange:e,onOpenChangeComplete:p,direction:l="up",openOnHover:a=!1,hoverCloseDelay:s=300,hoverOpenDelay:m=0,disabled:c=!1}){let t=d.useRef(null),R=d.useRef(null),f=d.useRef(0),D=d.useRef(0),g=d.useRef("programmatic"),[r=!1,u]=Oe({prop:n,defaultProp:o,onChange:e});xe(r,R,p),d.useEffect(()=>()=>{window.clearTimeout(f.current),window.clearTimeout(D.current)},[]);let P=d.useCallback((y,T="programmatic")=>{window.clearTimeout(f.current),window.clearTimeout(D.current),!(y&&c)&&(g.current=T,u(y))},[c,u]);d.useEffect(()=>{if(!c||!r)return;let y=R.current?.ownerDocument.activeElement??null,T=!!y&&R.current?.contains(y)===!0;u(!1),T&&t.current?.focus()},[c,r,u]);let Y=d.useCallback(()=>{window.clearTimeout(f.current)},[]),U=d.useCallback(()=>{if(window.clearTimeout(f.current),window.clearTimeout(D.current),m<=0){P(!0,"hover");return}D.current=window.setTimeout(()=>P(!0,"hover"),m)},[P,m]),B=d.useCallback(()=>{window.clearTimeout(f.current),window.clearTimeout(D.current),f.current=window.setTimeout(()=>u(!1),s)},[s,u]);return E(Ee,{children:E(be,{triggerRef:t,contentRef:R,contentId:d.useId(),triggerId:d.useId(),open:r,direction:l,disabled:c,openOnHover:a,openReason:g,onOpenChange:P,onPointerEnter:Y,onHoverOpen:U,onPointerLeave:B,children:i})})}V.displayName="SpeedDialRoot";function q({trigger:i,triggerLabel:n,actions:o,onSelect:e,overlay:p=!1,open:l,defaultOpen:a,onOpenChange:s,onOpenChangeComplete:m,direction:c,openOnHover:t,hoverCloseDelay:R,hoverOpenDelay:f,disabled:D,size:g,...r}){return E(V,{open:l,defaultOpen:a,onOpenChange:s,onOpenChangeComplete:m,direction:c,openOnHover:t,hoverCloseDelay:R,hoverOpenDelay:f,disabled:D,children:E(F,{size:Te(g,r,"data-size"),trigger:i,triggerLabel:n,actions:o,onSelect:e,overlay:p,passThrough:r})})}q.displayName="SpeedDial";export{M as ANY_ITEM_SELECTOR,_ as DIRECTION_SIDE,x as ITEM_SELECTOR,q as SpeedDial,b as SpeedDialContent,w as SpeedDialItem,L as SpeedDialItemLabel,le as SpeedDialItemProvider,A as SpeedDialOverlay,N as SpeedDialPortal,be as SpeedDialProvider,V as SpeedDialRoot,k as SpeedDialTrigger,S as useSpeedDialContext,J as useSpeedDialItemContext};
@@ -2,9 +2,10 @@ import type * as React from 'react';
2
2
  import type { PassThroughProps } from '../utils/passThrough.cjs';
3
3
  import type { SpeedDialAction, SpeedDialTriggerProps } from './types.cjs';
4
4
  /** @internal Renders the trigger, portal, optional scrim, and fan of `SpeedDialItem`s for a {@link SpeedDial}. */
5
- export declare const SpeedDialAnatomy: ({ size, trigger, actions, onSelect, overlay, passThrough, }: {
5
+ export declare const SpeedDialAnatomy: ({ size, trigger, triggerLabel, actions, onSelect, overlay, passThrough, }: {
6
6
  size?: SpeedDialTriggerProps["size"] | undefined;
7
7
  trigger?: React.ReactElement | undefined;
8
+ triggerLabel?: string | undefined;
8
9
  actions?: ReadonlyArray<SpeedDialAction> | undefined;
9
10
  onSelect?: ((action: SpeedDialAction, index: number) => void) | undefined;
10
11
  overlay: boolean;
@@ -2,9 +2,10 @@ import type * as React from 'react';
2
2
  import type { PassThroughProps } from '../utils/passThrough.js';
3
3
  import type { SpeedDialAction, SpeedDialTriggerProps } from './types.js';
4
4
  /** @internal Renders the trigger, portal, optional scrim, and fan of `SpeedDialItem`s for a {@link SpeedDial}. */
5
- export declare const SpeedDialAnatomy: ({ size, trigger, actions, onSelect, overlay, passThrough, }: {
5
+ export declare const SpeedDialAnatomy: ({ size, trigger, triggerLabel, actions, onSelect, overlay, passThrough, }: {
6
6
  size?: SpeedDialTriggerProps["size"] | undefined;
7
7
  trigger?: React.ReactElement | undefined;
8
+ triggerLabel?: string | undefined;
8
9
  actions?: ReadonlyArray<SpeedDialAction> | undefined;
9
10
  onSelect?: ((action: SpeedDialAction, index: number) => void) | undefined;
10
11
  overlay: boolean;
@@ -61,6 +61,11 @@ export interface SpeedDialProps extends PassThroughProps {
61
61
  * @default undefined — no trigger.
62
62
  */
63
63
  trigger?: React.ReactElement | undefined;
64
+ /**
65
+ * Accessible name applied to the derived trigger; a `trigger` element's own `aria-label` still wins.
66
+ * @default undefined — the trigger is named only by its content.
67
+ */
68
+ triggerLabel?: string | undefined;
64
69
  /**
65
70
  * Fan entries; one item per entry with label built from `label`.
66
71
  * @default undefined — empty fan.
@@ -61,6 +61,11 @@ export interface SpeedDialProps extends PassThroughProps {
61
61
  * @default undefined — no trigger.
62
62
  */
63
63
  trigger?: React.ReactElement | undefined;
64
+ /**
65
+ * Accessible name applied to the derived trigger; a `trigger` element's own `aria-label` still wins.
66
+ * @default undefined — the trigger is named only by its content.
67
+ */
68
+ triggerLabel?: string | undefined;
64
69
  /**
65
70
  * Fan entries; one item per entry with label built from `label`.
66
71
  * @default undefined — empty fan.
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ "use strict";var e=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var s=(o,t)=>{for(var r in t)e(o,r,{get:t[r],enumerable:!0})},i=(o,t,r,m)=>{if(t&&typeof t=="object"||typeof t=="function")for(let p of y(t))!k.call(o,p)&&p!==r&&e(o,p,{get:()=>t[p],enumerable:!(m=f(t,p))||m.enumerable});return o};var l=o=>i(e({},"__esModule",{value:!0}),o);var x={};s(x,{Stack:()=>a});module.exports=l(x);var S=require("../box/Box.cjs"),c=require("react/jsx-runtime");function a({display:o="flex",...t}){return(0,c.jsx)(S.Box,{display:o,...t})}a.displayName="Stack";0&&(module.exports={Stack});
@@ -0,0 +1,9 @@
1
+ import type { JSX } from 'react';
2
+ import type { StackProps } from './types.cjs';
3
+ /**
4
+ * Stack alias of {@link Box}: the same component with `display='flex'` as defaults. Every Box prop applies; reach for Box itself for full control.
5
+ */
6
+ export declare function Stack({ display, ...rest }: StackProps): JSX.Element;
7
+ export declare namespace Stack {
8
+ var displayName: string;
9
+ }
@@ -0,0 +1,9 @@
1
+ import type { JSX } from 'react';
2
+ import type { StackProps } from './types.js';
3
+ /**
4
+ * Stack alias of {@link Box}: the same component with `display='flex'` as defaults. Every Box prop applies; reach for Box itself for full control.
5
+ */
6
+ export declare function Stack({ display, ...rest }: StackProps): JSX.Element;
7
+ export declare namespace Stack {
8
+ var displayName: string;
9
+ }
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{Box as r}from"../box/Box.js";import{jsx as e}from"react/jsx-runtime";function t({display:o="flex",...p}){return e(r,{display:o,...p})}t.displayName="Stack";export{t as Stack};
@@ -0,0 +1,2 @@
1
+ export { Stack } from './Stack.cjs';
2
+ export type { StackProps } from './types.cjs';
@@ -0,0 +1,2 @@
1
+ export { Stack } from './Stack.js';
2
+ export type { StackProps } from './types.js';
@@ -0,0 +1,3 @@
1
+ import type { BoxProps } from '../box/types.cjs';
2
+ /** Props for {@link Stack}: every Box prop, with `display` defaulting to `'flex'`. */
3
+ export type StackProps = BoxProps;
@@ -0,0 +1,3 @@
1
+ import type { BoxProps } from '../box/types.js';
2
+ /** Props for {@link Stack}: every Box prop, with `display` defaulting to `'flex'`. */
3
+ export type StackProps = BoxProps;