wimui 0.62.2 → 0.63.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/components/_internal/OverlayBase.cjs +1 -1
  2. package/dist/components/_internal/OverlayBase.js +31 -30
  3. package/dist/components/_internal/composeEventHandlers.cjs +2 -0
  4. package/dist/components/_internal/composeEventHandlers.d.ts +25 -0
  5. package/dist/components/_internal/composeEventHandlers.js +8 -0
  6. package/dist/components/_internal/observeMove.cjs +2 -0
  7. package/dist/components/_internal/observeMove.d.ts +16 -0
  8. package/dist/components/_internal/observeMove.js +44 -0
  9. package/dist/components/ai/ChatUI/ChatUI.cjs +1 -1
  10. package/dist/components/ai/ChatUI/ChatUI.js +83 -82
  11. package/dist/components/data-display/Accordion/Accordion.cjs +1 -1
  12. package/dist/components/data-display/Accordion/Accordion.js +79 -78
  13. package/dist/components/data-display/PullToRefresh/PullToRefresh.cjs +1 -1
  14. package/dist/components/data-display/PullToRefresh/PullToRefresh.js +73 -72
  15. package/dist/components/data-display/SortableList/SortableList.cjs +1 -1
  16. package/dist/components/data-display/SortableList/SortableList.js +54 -53
  17. package/dist/components/data-display/SwipeAction/SwipeAction.cjs +1 -1
  18. package/dist/components/data-display/SwipeAction/SwipeAction.js +77 -76
  19. package/dist/components/feedback/Tour/Tour.cjs +1 -1
  20. package/dist/components/feedback/Tour/Tour.js +91 -88
  21. package/dist/components/form/Button/Button.cjs +1 -1
  22. package/dist/components/form/Button/Button.d.ts +2 -2
  23. package/dist/components/form/Button/Button.js +14 -12
  24. package/dist/components/form/Cascader/Cascader.cjs +1 -1
  25. package/dist/components/form/Cascader/Cascader.js +99 -98
  26. package/dist/components/form/DatePicker/DatePicker.cjs +1 -1
  27. package/dist/components/form/DatePicker/DatePicker.js +53 -52
  28. package/dist/components/form/RangeSlider/RangeSlider.cjs +1 -1
  29. package/dist/components/form/RangeSlider/RangeSlider.js +109 -108
  30. package/dist/components/form/Rating/Rating.cjs +1 -1
  31. package/dist/components/form/Rating/Rating.js +75 -74
  32. package/dist/components/form/Slider/Slider.cjs +1 -1
  33. package/dist/components/form/Slider/Slider.js +58 -57
  34. package/dist/components/form/SmartSearchInput/SmartSearchInput.cjs +1 -1
  35. package/dist/components/form/SmartSearchInput/SmartSearchInput.js +65 -64
  36. package/dist/components/form/Textarea/Textarea.cjs +1 -1
  37. package/dist/components/form/Textarea/Textarea.js +4 -4
  38. package/dist/components/form/TimePicker/TimePicker.cjs +1 -1
  39. package/dist/components/form/TimePicker/TimePicker.js +31 -30
  40. package/dist/components/layout/Dashboard/Dashboard.cjs +1 -1
  41. package/dist/components/layout/Dashboard/Dashboard.js +3 -2
  42. package/dist/components/layout/InteractiveArea/InteractiveArea.cjs +1 -1
  43. package/dist/components/layout/InteractiveArea/InteractiveArea.js +1 -1
  44. package/dist/components/layout/Navbar/Navbar.cjs +1 -1
  45. package/dist/components/layout/Navbar/Navbar.js +68 -66
  46. package/dist/components/layout/Splitter/Splitter.cjs +1 -1
  47. package/dist/components/layout/Splitter/Splitter.js +47 -46
  48. package/dist/components/layout/Transition/Transition.cjs +1 -1
  49. package/dist/components/layout/Transition/Transition.js +25 -24
  50. package/dist/components/media/Audio/Audio.cjs +1 -1
  51. package/dist/components/media/Audio/Audio.js +39 -38
  52. package/dist/components/media/Image/Image.cjs +2 -2
  53. package/dist/components/media/Image/Image.js +96 -95
  54. package/dist/components/media/ImageCompare/ImageCompare.cjs +1 -1
  55. package/dist/components/media/ImageCompare/ImageCompare.js +75 -73
  56. package/dist/components/media/Video/Video.cjs +1 -1
  57. package/dist/components/media/Video/Video.js +114 -113
  58. package/dist/components/navigation/Affix/Affix.cjs +1 -1
  59. package/dist/components/navigation/Affix/Affix.js +39 -36
  60. package/dist/components/navigation/Menubar/Menubar.cjs +1 -1
  61. package/dist/components/navigation/Menubar/Menubar.js +67 -61
  62. package/dist/components/navigation/SpeedDial/SpeedDial.cjs +1 -1
  63. package/dist/components/navigation/SpeedDial/SpeedDial.js +47 -46
  64. package/dist/components/navigation/Tabs/Tabs.cjs +1 -1
  65. package/dist/components/navigation/Tabs/Tabs.js +87 -86
  66. package/dist/components/overlay/Dropdown/Dropdown.cjs +1 -1
  67. package/dist/components/overlay/Dropdown/Dropdown.js +42 -36
  68. package/dist/components/overlay/Popover/Popover.cjs +1 -1
  69. package/dist/components/overlay/Popover/Popover.js +1 -1
  70. package/dist/llms-full.txt +3 -3
  71. package/dist/llms.txt +1 -1
  72. package/dist/wimui.umd.js +5 -5
  73. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../layout/Transition/Transition.cjs"),r=require("../../_internal/BaseListItem/BaseListItem.cjs"),i=require("../../_internal/useInlineFloating.cjs"),a=require("./menubar.module.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("classnames");s=e.__toESM(s,1);let c=require("react/jsx-runtime");var l=(0,o.createContext)(null),u=(0,o.createContext)(null),d=()=>{let e=(0,o.useContext)(l);if(!e)throw Error(`Menubar compound parts must be used within <Menubar>`);return e},f=()=>{let e=(0,o.useContext)(u);if(!e)throw Error(`Menubar.Trigger/Content/Item must be used within <Menubar.Menu>`);return e},p=o.default.forwardRef(({asChild:e=!1,className:n,children:r,onKeyDown:i,...u},d)=>{let[f,p]=(0,o.useState)(null),m=(0,o.useRef)(new Map),h=(0,o.useRef)(null),g=(0,o.useCallback)(e=>{h.current=e,typeof d==`function`?d(e):d&&(d.current=e)},[d]),_=(0,o.useCallback)((e,t)=>{t?m.current.set(e,t):m.current.delete(e)},[]),v=(0,o.useCallback)(()=>Array.from(m.current.keys()),[]),y=(0,o.useCallback)(e=>{m.current.get(e)?.focus()},[]);(0,o.useEffect)(()=>{if(!f)return;let e=e=>{h.current&&!h.current.contains(e.target)&&p(null)},t=e=>{e.key===`Escape`&&(p(null),f&&y(f))};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[f,y]);let b=e=>{if(i?.(e),e.defaultPrevented)return;let t=v();if(t.length===0)return;let n=f??t.find(e=>m.current.get(e)===document.activeElement)??null;if(!n)return;let r=t.indexOf(n);if(!(r<0)){if(e.key===`ArrowRight`){e.preventDefault();let n=t[(r+1)%t.length];f&&p(n),y(n)}else if(e.key===`ArrowLeft`){e.preventDefault();let n=t[(r-1+t.length)%t.length];f&&p(n),y(n)}else if(e.key===`Home`){e.preventDefault();let n=t[0];f&&p(n),y(n)}else if(e.key===`End`){e.preventDefault();let n=t[t.length-1];f&&p(n),y(n)}}},x=(0,o.useMemo)(()=>({openMenuId:f,setOpenMenuId:p,registerTrigger:_,getTriggerIds:v,focusTrigger:y}),[f,_,v,y]),S=e?t.Root:`div`;return(0,c.jsx)(l.Provider,{value:x,children:(0,c.jsx)(S,{ref:g,role:`menubar`,className:(0,s.default)(`wim-menubar`,a.default.root,n),onKeyDown:b,...u,children:(0,c.jsx)(t.Slottable,{children:r})})})});p.displayName=`Menubar`;var m=o.default.forwardRef(({value:e,disabled:t=!1,className:n,children:r,...i},l)=>{let{openMenuId:f,setOpenMenuId:p,focusTrigger:m}=d(),h=(0,o.useId)(),g=`wim-menubar-trigger-${e}-${h}`,_=`wim-menubar-content-${e}-${h}`,v=f===e,y=()=>{t||p(e)},b=()=>{m(e),p(null)},x=()=>{t||p(v?null:e)},S=(0,o.useMemo)(()=>({menuId:e,triggerId:g,contentId:_,isOpen:v,open:y,close:b,toggle:x}),[e,g,_,v,t]);return(0,c.jsx)(u.Provider,{value:S,children:(0,c.jsx)(`div`,{ref:l,role:`none`,"data-disabled":t||void 0,className:(0,s.default)(a.default.menu,n),...i,children:r})})});m.displayName=`Menubar.Menu`;var h=o.default.forwardRef(({asChild:e=!1,className:n,children:r,onKeyDown:i,onMouseEnter:l,...u},p)=>{let{openMenuId:m,registerTrigger:h}=d(),{triggerId:g,contentId:_,isOpen:v,open:y,toggle:b,menuId:x}=f(),S=!!u.disabled,C=(0,o.useCallback)(e=>{h(x,e),typeof p==`function`?p(e):p&&(p.current=e)},[h,x,p]),w=e=>{i?.(e),!(e.defaultPrevented||S)&&(e.key===`ArrowDown`||e.key===`Enter`||e.key===` `)&&(e.preventDefault(),y())},T=e=>{l?.(e),m&&!S&&y()};return(0,c.jsx)(e?t.Root:`button`,{...u,ref:C,type:e?void 0:`button`,id:g,role:`menuitem`,"aria-haspopup":`menu`,"aria-expanded":v,"aria-controls":v?_:void 0,disabled:S,className:(0,s.default)(a.default.trigger,v&&a.default.triggerOpen,n),onClick:b,onKeyDown:w,onMouseEnter:T,children:(0,c.jsx)(t.Slottable,{children:r})})});h.displayName=`Menubar.Trigger`;var g=o.default.forwardRef(({align:e=`start`,className:t,children:r,...l},u)=>{let{contentId:d,triggerId:p,isOpen:m,close:h}=f(),[g,_]=(0,o.useState)(-1),[v,y]=(0,o.useState)(m),b=(0,o.useRef)(null);m!==v&&(y(m),_(m?0:-1));let{setReference:x,setFloating:S,floatingProps:C}=i.useInlineFloating({open:m}),w=(0,o.useCallback)(e=>{b.current=e,S(e),x(e?.parentElement??null),typeof u==`function`?u(e):u&&(u.current=e)},[u,S,x]);(0,o.useEffect)(()=>{!m||g<0||Array.from(b.current?.querySelectorAll(`[role="menuitem"]:not([aria-disabled="true"])`)??[])[g]?.focus()},[g,m]);let T=e=>{let t=Array.from(b.current?.querySelectorAll(`[role="menuitem"]:not([aria-disabled="true"])`)??[]);if(t.length!==0)switch(e.key){case`ArrowDown`:e.preventDefault(),_(e=>e<t.length-1?e+1:0);break;case`ArrowUp`:e.preventDefault(),_(e=>e>0?e-1:t.length-1);break;case`Home`:e.preventDefault(),_(0);break;case`End`:e.preventDefault(),_(t.length-1);break;case`Tab`:h()}};return(0,c.jsx)(n.Transition,{...l,ref:w,show:m,preset:`fade`,id:d,role:`menu`,"aria-labelledby":p,className:(0,s.default)(a.default.content,e===`end`?a.default.alignEnd:a.default.alignStart,t),onKeyDown:T,"data-side":C[`data-side`],style:{...l.style,...C.style},children:r})});g.displayName=`Menubar.Content`;var _=o.default.forwardRef(({children:e,onSelect:t,onClick:n,disabled:i=!1,className:o,...l},u)=>{let{close:d}=f(),p=e=>{i||(e.stopPropagation(),t?.(),n?.(e),d())};return(0,c.jsx)(r.BaseListItem,{...l,ref:u,className:(0,s.default)(a.default.item,o),disabled:i,role:`menuitem`,tabIndex:-1,onClick:p,onKeyDown:e=>{!i&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),p(e))},children:e})});_.displayName=`Menubar.Item`;var v=o.default.forwardRef(({className:e,...t},n)=>(0,c.jsx)(`div`,{ref:n,role:`separator`,className:(0,s.default)(a.default.separator,e),...t}));v.displayName=`Menubar.Separator`;var y=p;y.Menu=m,y.Trigger=h,y.Content=g,y.Item=_,y.Separator=v,exports.Menubar=y,exports.default=y;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../layout/Transition/Transition.cjs"),r=require("../../_internal/BaseListItem/BaseListItem.cjs"),i=require("../../_internal/useInlineFloating.cjs"),a=require("./menubar.module.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("classnames");s=e.__toESM(s,1);let c=require("react/jsx-runtime");var l=(0,o.createContext)(null),u=(0,o.createContext)(null),d=()=>{let e=(0,o.useContext)(l);if(!e)throw Error(`Menubar compound parts must be used within <Menubar>`);return e},f=()=>{let e=(0,o.useContext)(u);if(!e)throw Error(`Menubar.Trigger/Content/Item must be used within <Menubar.Menu>`);return e},p=o.default.forwardRef(({asChild:e=!1,className:n,children:r,onKeyDown:i,...u},d)=>{let[f,p]=(0,o.useState)(null),m=(0,o.useRef)(new Map),h=(0,o.useRef)(null),g=(0,o.useCallback)(e=>{h.current=e,typeof d==`function`?d(e):d&&(d.current=e)},[d]),_=(0,o.useCallback)((e,t)=>{t?m.current.set(e,t):m.current.delete(e)},[]),v=(0,o.useCallback)(()=>Array.from(m.current.keys()),[]),y=(0,o.useCallback)(e=>{m.current.get(e)?.focus()},[]);(0,o.useEffect)(()=>{if(!f)return;let e=e=>{h.current&&!h.current.contains(e.target)&&p(null)},t=e=>{e.key===`Escape`&&(p(null),f&&y(f))};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[f,y]);let b=e=>{if(i?.(e),e.defaultPrevented)return;let t=v();if(t.length===0)return;let n=f??t.find(e=>m.current.get(e)===document.activeElement)??null;if(!n)return;let r=t.indexOf(n);if(!(r<0)){if(e.key===`ArrowRight`){e.preventDefault();let n=t[(r+1)%t.length];f&&p(n),y(n)}else if(e.key===`ArrowLeft`){e.preventDefault();let n=t[(r-1+t.length)%t.length];f&&p(n),y(n)}else if(e.key===`Home`){e.preventDefault();let n=t[0];f&&p(n),y(n)}else if(e.key===`End`){e.preventDefault();let n=t[t.length-1];f&&p(n),y(n)}}},x=(0,o.useMemo)(()=>({openMenuId:f,setOpenMenuId:p,registerTrigger:_,getTriggerIds:v,focusTrigger:y}),[f,_,v,y]),S=e?t.Root:`div`;return(0,c.jsx)(l.Provider,{value:x,children:(0,c.jsx)(S,{ref:g,role:`menubar`,className:(0,s.default)(`wim-menubar`,a.default.root,n),onKeyDown:b,...u,children:(0,c.jsx)(t.Slottable,{children:r})})})});p.displayName=`Menubar`;var m=o.default.forwardRef(({value:e,disabled:t=!1,className:n,children:r,...i},l)=>{let{openMenuId:f,setOpenMenuId:p,focusTrigger:m}=d(),h=(0,o.useId)(),[g,_]=(0,o.useState)(void 0),[v,y]=(0,o.useState)(void 0),b=g??`wim-menubar-trigger-${e}-${h}`,x=v??`wim-menubar-content-${e}-${h}`,S=f===e,C=()=>{t||p(e)},w=()=>{m(e),p(null)},T=()=>{t||p(S?null:e)},E=(0,o.useMemo)(()=>({menuId:e,triggerId:b,contentId:x,setTriggerIdOverride:_,setContentIdOverride:y,isOpen:S,open:C,close:w,toggle:T}),[e,b,x,S,t]);return(0,c.jsx)(u.Provider,{value:E,children:(0,c.jsx)(`div`,{ref:l,role:`none`,"data-disabled":t||void 0,className:(0,s.default)(a.default.menu,n),...i,children:r})})});m.displayName=`Menubar.Menu`;var h=o.default.forwardRef(({asChild:e=!1,className:n,children:r,onKeyDown:i,onMouseEnter:l,id:u,...p},m)=>{let{openMenuId:h,registerTrigger:g}=d(),{triggerId:_,contentId:v,isOpen:y,open:b,toggle:x,menuId:S,setTriggerIdOverride:C}=f();(0,o.useEffect)(()=>(C(u),()=>C(void 0)),[u,C]);let w=!!p.disabled,T=(0,o.useCallback)(e=>{g(S,e),typeof m==`function`?m(e):m&&(m.current=e)},[g,S,m]),E=e=>{i?.(e),!(e.defaultPrevented||w)&&(e.key===`ArrowDown`||e.key===`Enter`||e.key===` `)&&(e.preventDefault(),b())},D=e=>{l?.(e),h&&!w&&b()};return(0,c.jsx)(e?t.Root:`button`,{...p,ref:T,type:e?void 0:`button`,id:u??_,role:`menuitem`,"aria-haspopup":`menu`,"aria-expanded":y,"aria-controls":y?v:void 0,disabled:w,className:(0,s.default)(a.default.trigger,y&&a.default.triggerOpen,n),onClick:x,onKeyDown:E,onMouseEnter:D,children:(0,c.jsx)(t.Slottable,{children:r})})});h.displayName=`Menubar.Trigger`;var g=o.default.forwardRef(({align:e=`start`,className:t,children:r,id:l,"aria-labelledby":u,...d},p)=>{let{contentId:m,triggerId:h,isOpen:g,close:_,setContentIdOverride:v}=f();(0,o.useEffect)(()=>(v(l),()=>v(void 0)),[l,v]);let[y,b]=(0,o.useState)(-1),[x,S]=(0,o.useState)(g),C=(0,o.useRef)(null);g!==x&&(S(g),b(g?0:-1));let{setReference:w,setFloating:T,floatingProps:E}=i.useInlineFloating({open:g}),D=(0,o.useCallback)(e=>{C.current=e,T(e),w(e?.parentElement??null),typeof p==`function`?p(e):p&&(p.current=e)},[p,T,w]);(0,o.useEffect)(()=>{!g||y<0||Array.from(C.current?.querySelectorAll(`[role="menuitem"]:not([aria-disabled="true"])`)??[])[y]?.focus()},[y,g]);let O=e=>{let t=Array.from(C.current?.querySelectorAll(`[role="menuitem"]:not([aria-disabled="true"])`)??[]);if(t.length!==0)switch(e.key){case`ArrowDown`:e.preventDefault(),b(e=>e<t.length-1?e+1:0);break;case`ArrowUp`:e.preventDefault(),b(e=>e>0?e-1:t.length-1);break;case`Home`:e.preventDefault(),b(0);break;case`End`:e.preventDefault(),b(t.length-1);break;case`Tab`:_()}};return(0,c.jsx)(n.Transition,{...d,ref:D,show:g,preset:`fade`,id:l??m,role:`menu`,"aria-labelledby":u??h,className:(0,s.default)(a.default.content,e===`end`?a.default.alignEnd:a.default.alignStart,t),onKeyDown:O,"data-side":E[`data-side`],style:{...d.style,...E.style},children:r})});g.displayName=`Menubar.Content`;var _=o.default.forwardRef(({children:e,onSelect:t,onClick:n,disabled:i=!1,className:o,...l},u)=>{let{close:d}=f(),p=e=>{i||(e.stopPropagation(),t?.(),n?.(e),d())};return(0,c.jsx)(r.BaseListItem,{...l,ref:u,className:(0,s.default)(a.default.item,o),disabled:i,role:`menuitem`,tabIndex:-1,onClick:p,onKeyDown:e=>{!i&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),p(e))},children:e})});_.displayName=`Menubar.Item`;var v=o.default.forwardRef(({className:e,...t},n)=>(0,c.jsx)(`div`,{ref:n,role:`separator`,className:(0,s.default)(a.default.separator,e),...t}));v.displayName=`Menubar.Separator`;var y=p;y.Menu=m,y.Trigger=h,y.Content=g,y.Item=_,y.Separator=v,exports.Menubar=y,exports.default=y;
@@ -87,29 +87,31 @@ var _ = s(null), v = s(null), y = () => {
87
87
  });
88
88
  x.displayName = "Menubar";
89
89
  var S = o.forwardRef(({ value: e, disabled: t = !1, className: n, children: r, ...i }, o) => {
90
- let { openMenuId: s, setOpenMenuId: c, focusTrigger: l } = y(), u = d(), p = `wim-menubar-trigger-${e}-${u}`, m = `wim-menubar-content-${e}-${u}`, _ = s === e, b = () => {
90
+ let { openMenuId: s, setOpenMenuId: c, focusTrigger: l } = y(), u = d(), [p, _] = m(void 0), [b, x] = m(void 0), S = p ?? `wim-menubar-trigger-${e}-${u}`, C = b ?? `wim-menubar-content-${e}-${u}`, w = s === e, T = () => {
91
91
  t || c(e);
92
- }, x = () => {
92
+ }, E = () => {
93
93
  l(e), c(null);
94
- }, S = () => {
95
- t || c(_ ? null : e);
96
- }, C = f(() => ({
94
+ }, D = () => {
95
+ t || c(w ? null : e);
96
+ }, O = f(() => ({
97
97
  menuId: e,
98
- triggerId: p,
99
- contentId: m,
100
- isOpen: _,
101
- open: b,
102
- close: x,
103
- toggle: S
98
+ triggerId: S,
99
+ contentId: C,
100
+ setTriggerIdOverride: _,
101
+ setContentIdOverride: x,
102
+ isOpen: w,
103
+ open: T,
104
+ close: E,
105
+ toggle: D
104
106
  }), [
105
107
  e,
106
- p,
107
- m,
108
- _,
108
+ S,
109
+ C,
110
+ w,
109
111
  t
110
112
  ]);
111
113
  return /* @__PURE__ */ g(v.Provider, {
112
- value: C,
114
+ value: O,
113
115
  children: /* @__PURE__ */ g("div", {
114
116
  ref: o,
115
117
  role: "none",
@@ -121,81 +123,85 @@ var S = o.forwardRef(({ value: e, disabled: t = !1, className: n, children: r, .
121
123
  });
122
124
  });
123
125
  S.displayName = "Menubar.Menu";
124
- var C = o.forwardRef(({ asChild: n = !1, className: r, children: i, onKeyDown: o, onMouseEnter: s, ...l }, u) => {
125
- let { openMenuId: d, registerTrigger: f } = y(), { triggerId: p, contentId: m, isOpen: _, open: v, toggle: x, menuId: S } = b(), C = !!l.disabled, w = c((e) => {
126
- f(S, e), typeof u == "function" ? u(e) : u && (u.current = e);
126
+ var C = o.forwardRef(({ asChild: n = !1, className: r, children: i, onKeyDown: o, onMouseEnter: s, id: l, ...d }, f) => {
127
+ let { openMenuId: p, registerTrigger: m } = y(), { triggerId: _, contentId: v, isOpen: x, open: S, toggle: C, menuId: w, setTriggerIdOverride: T } = b();
128
+ u(() => (T(l), () => T(void 0)), [l, T]);
129
+ let E = !!d.disabled, D = c((e) => {
130
+ m(w, e), typeof f == "function" ? f(e) : f && (f.current = e);
127
131
  }, [
128
- f,
129
- S,
130
- u
131
- ]), T = (e) => {
132
- o?.(e), !(e.defaultPrevented || C) && (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") && (e.preventDefault(), v());
133
- }, E = (e) => {
134
- s?.(e), d && !C && v();
132
+ m,
133
+ w,
134
+ f
135
+ ]), O = (e) => {
136
+ o?.(e), !(e.defaultPrevented || E) && (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") && (e.preventDefault(), S());
137
+ }, k = (e) => {
138
+ s?.(e), p && !E && S();
135
139
  };
136
140
  return /* @__PURE__ */ g(n ? e : "button", {
137
- ...l,
138
- ref: w,
141
+ ...d,
142
+ ref: D,
139
143
  type: n ? void 0 : "button",
140
- id: p,
144
+ id: l ?? _,
141
145
  role: "menuitem",
142
146
  "aria-haspopup": "menu",
143
- "aria-expanded": _,
144
- "aria-controls": _ ? m : void 0,
145
- disabled: C,
146
- className: h(a.trigger, _ && a.triggerOpen, r),
147
- onClick: x,
148
- onKeyDown: T,
149
- onMouseEnter: E,
147
+ "aria-expanded": x,
148
+ "aria-controls": x ? v : void 0,
149
+ disabled: E,
150
+ className: h(a.trigger, x && a.triggerOpen, r),
151
+ onClick: C,
152
+ onKeyDown: O,
153
+ onMouseEnter: k,
150
154
  children: /* @__PURE__ */ g(t, { children: i })
151
155
  });
152
156
  });
153
157
  C.displayName = "Menubar.Trigger";
154
- var w = o.forwardRef(({ align: e = "start", className: t, children: r, ...o }, s) => {
155
- let { contentId: l, triggerId: d, isOpen: f, close: _ } = b(), [v, y] = m(-1), [x, S] = m(f), C = p(null);
156
- f !== x && (S(f), y(f ? 0 : -1));
157
- let { setReference: w, setFloating: T, floatingProps: E } = i({ open: f }), D = c((e) => {
158
- C.current = e, T(e), w(e?.parentElement ?? null), typeof s == "function" ? s(e) : s && (s.current = e);
158
+ var w = o.forwardRef(({ align: e = "start", className: t, children: r, id: o, "aria-labelledby": s, ...l }, d) => {
159
+ let { contentId: f, triggerId: _, isOpen: v, close: y, setContentIdOverride: x } = b();
160
+ u(() => (x(o), () => x(void 0)), [o, x]);
161
+ let [S, C] = m(-1), [w, T] = m(v), E = p(null);
162
+ v !== w && (T(v), C(v ? 0 : -1));
163
+ let { setReference: D, setFloating: O, floatingProps: k } = i({ open: v }), A = c((e) => {
164
+ E.current = e, O(e), D(e?.parentElement ?? null), typeof d == "function" ? d(e) : d && (d.current = e);
159
165
  }, [
160
- s,
161
- T,
162
- w
166
+ d,
167
+ O,
168
+ D
163
169
  ]);
164
170
  u(() => {
165
- !f || v < 0 || Array.from(C.current?.querySelectorAll("[role=\"menuitem\"]:not([aria-disabled=\"true\"])") ?? [])[v]?.focus();
166
- }, [v, f]);
167
- let O = (e) => {
168
- let t = Array.from(C.current?.querySelectorAll("[role=\"menuitem\"]:not([aria-disabled=\"true\"])") ?? []);
171
+ !v || S < 0 || Array.from(E.current?.querySelectorAll("[role=\"menuitem\"]:not([aria-disabled=\"true\"])") ?? [])[S]?.focus();
172
+ }, [S, v]);
173
+ let j = (e) => {
174
+ let t = Array.from(E.current?.querySelectorAll("[role=\"menuitem\"]:not([aria-disabled=\"true\"])") ?? []);
169
175
  if (t.length !== 0) switch (e.key) {
170
176
  case "ArrowDown":
171
- e.preventDefault(), y((e) => e < t.length - 1 ? e + 1 : 0);
177
+ e.preventDefault(), C((e) => e < t.length - 1 ? e + 1 : 0);
172
178
  break;
173
179
  case "ArrowUp":
174
- e.preventDefault(), y((e) => e > 0 ? e - 1 : t.length - 1);
180
+ e.preventDefault(), C((e) => e > 0 ? e - 1 : t.length - 1);
175
181
  break;
176
182
  case "Home":
177
- e.preventDefault(), y(0);
183
+ e.preventDefault(), C(0);
178
184
  break;
179
185
  case "End":
180
- e.preventDefault(), y(t.length - 1);
186
+ e.preventDefault(), C(t.length - 1);
181
187
  break;
182
- case "Tab": _();
188
+ case "Tab": y();
183
189
  }
184
190
  };
185
191
  return /* @__PURE__ */ g(n, {
186
- ...o,
187
- ref: D,
188
- show: f,
192
+ ...l,
193
+ ref: A,
194
+ show: v,
189
195
  preset: "fade",
190
- id: l,
196
+ id: o ?? f,
191
197
  role: "menu",
192
- "aria-labelledby": d,
198
+ "aria-labelledby": s ?? _,
193
199
  className: h(a.content, e === "end" ? a.alignEnd : a.alignStart, t),
194
- onKeyDown: O,
195
- "data-side": E["data-side"],
200
+ onKeyDown: j,
201
+ "data-side": k["data-side"],
196
202
  style: {
197
- ...o.style,
198
- ...E.style
203
+ ...l.style,
204
+ ...k.style
199
205
  },
200
206
  children: r
201
207
  });
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../i18n/generated/common.cjs"),r=require("../../form/FloatButton/FloatButton.cjs"),i=require("./speed-dial.module.cjs");let a=require("react");a=e.__toESM(a,1);let o=require("classnames");o=e.__toESM(o,1);let s=require("react/jsx-runtime");var c=a.default.forwardRef(({actions:e,icon:c=`PlusIcon`,activeIcon:l=`CloseIcon`,direction:u=`up`,trigger:d=`hover`,open:f,onOpenChange:p,className:m,"aria-label":h,...g},_)=>{let{t:v}=t.useWimTranslation(n.commonNs),[y,b]=(0,a.useState)(!1),x=f??y,S=(0,a.useRef)(null),C=(0,a.useRef)(!1),w=e=>{b(e),p?.(e)},T=()=>{d===`hover`&&w(!0)},E=()=>{d===`hover`&&w(!1)},D=()=>{d===`click`&&w(!x)},O=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),C.current=!x,w(!x))},k=e=>{e.key===`Escape`&&x&&(e.preventDefault(),C.current=!1,w(!1),e.currentTarget.querySelector(`[aria-haspopup]`)?.focus())},A=e=>{C.current&&(e.currentTarget.contains(e.relatedTarget)||(C.current=!1,w(!1)))},j=()=>{(d===`click`||C.current)&&(C.current=!1,S.current?.contains(document.activeElement)&&S.current.parentElement?.querySelector(`[aria-haspopup]`)?.focus(),w(!1))};return(0,a.useEffect)(()=>{x&&C.current&&S.current?.querySelector(`button`)?.focus()},[x]),(0,s.jsxs)(`div`,{ref:_,className:(0,o.default)(`wim-speed-dial`,i.default.root,i.default[u],x&&i.default.open,m),onMouseEnter:T,onMouseLeave:E,onKeyDown:k,onBlur:A,...g,children:[(0,s.jsx)(`div`,{ref:S,className:i.default.actions,inert:!x,children:e.map((e,t)=>(0,s.jsx)(`div`,{className:i.default.actionWrapper,style:{transitionDelay:x?`${t*50}ms`:`0ms`},children:(0,s.jsx)(r.FloatButton,{iconName:e.icon,label:e.label,size:`sm`,intent:e.intent,className:e.className,onClick:()=>{e.onClick?.(),j()},position:`inline`})},t))}),(0,s.jsx)(r.FloatButton,{iconName:x?l:c,onClick:D,className:i.default.trigger,position:`inline`,"aria-expanded":x,"aria-haspopup":`true`,"aria-label":h??v(x?`a11y.close_menu`:`a11y.open_menu`),onKeyDown:O})]})});c.displayName=`SpeedDial`,exports.SpeedDial=c;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../i18n/generated/common.cjs"),r=require("../../_internal/composeEventHandlers.cjs"),i=require("../../form/FloatButton/FloatButton.cjs"),a=require("./speed-dial.module.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("classnames");s=e.__toESM(s,1);let c=require("react/jsx-runtime");var l=o.default.forwardRef(({actions:e,icon:l=`PlusIcon`,activeIcon:u=`CloseIcon`,direction:d=`up`,trigger:f=`hover`,open:p,onOpenChange:m,className:h,"aria-label":g,..._},v)=>{let{t:y}=t.useWimTranslation(n.commonNs),[b,x]=(0,o.useState)(!1),S=p??b,C=(0,o.useRef)(null),w=(0,o.useRef)(!1),T=e=>{x(e),m?.(e)},E=()=>{f===`hover`&&T(!0)},D=()=>{f===`hover`&&T(!1)},O=()=>{f===`click`&&T(!S)},k=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),w.current=!S,T(!S))},A=e=>{e.key===`Escape`&&S&&(e.preventDefault(),w.current=!1,T(!1),e.currentTarget.querySelector(`[aria-haspopup]`)?.focus())},j=e=>{w.current&&(e.currentTarget.contains(e.relatedTarget)||(w.current=!1,T(!1)))},M=()=>{(f===`click`||w.current)&&(w.current=!1,C.current?.contains(document.activeElement)&&C.current.parentElement?.querySelector(`[aria-haspopup]`)?.focus(),T(!1))};return(0,o.useEffect)(()=>{S&&w.current&&C.current?.querySelector(`button`)?.focus()},[S]),(0,c.jsxs)(`div`,{ref:v,className:(0,s.default)(`wim-speed-dial`,a.default.root,a.default[d],S&&a.default.open,h),..._,onMouseEnter:r.composeEventHandlers(_.onMouseEnter,E),onMouseLeave:r.composeEventHandlers(_.onMouseLeave,D),onKeyDown:r.composeEventHandlers(_.onKeyDown,A),onBlur:r.composeEventHandlers(_.onBlur,j),children:[(0,c.jsx)(`div`,{ref:C,className:a.default.actions,inert:!S,children:e.map((e,t)=>(0,c.jsx)(`div`,{className:a.default.actionWrapper,style:{transitionDelay:S?`${t*50}ms`:`0ms`},children:(0,c.jsx)(i.FloatButton,{iconName:e.icon,label:e.label,size:`sm`,intent:e.intent,className:e.className,onClick:()=>{e.onClick?.(),M()},position:`inline`})},t))}),(0,c.jsx)(i.FloatButton,{iconName:S?u:l,onClick:O,className:a.default.trigger,position:`inline`,"aria-expanded":S,"aria-haspopup":`true`,"aria-label":g??y(S?`a11y.close_menu`:`a11y.open_menu`),onKeyDown:k})]})});l.displayName=`SpeedDial`,exports.SpeedDial=l;
@@ -1,71 +1,72 @@
1
1
  "use client";
2
2
  import { useWimTranslation as e } from "../../../i18n/useWimTranslation.js";
3
3
  import { commonNs as t } from "../../../i18n/generated/common.js";
4
- import { FloatButton as n } from "../../form/FloatButton/FloatButton.js";
5
- import r from "./speed-dial.module.js";
6
- import i, { useEffect as a, useRef as o, useState as s } from "react";
7
- import c from "classnames";
8
- import { jsx as l, jsxs as u } from "react/jsx-runtime";
4
+ import { composeEventHandlers as n } from "../../_internal/composeEventHandlers.js";
5
+ import { FloatButton as r } from "../../form/FloatButton/FloatButton.js";
6
+ import i from "./speed-dial.module.js";
7
+ import a, { useEffect as o, useRef as s, useState as c } from "react";
8
+ import l from "classnames";
9
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
9
10
  //#region src/components/navigation/SpeedDial/SpeedDial.tsx
10
- var d = i.forwardRef(({ actions: i, icon: d = "PlusIcon", activeIcon: f = "CloseIcon", direction: p = "up", trigger: m = "hover", open: h, onOpenChange: g, className: _, "aria-label": v, ...y }, b) => {
11
- let { t: x } = e(t), [S, C] = s(!1), w = h ?? S, T = o(null), E = o(!1), D = (e) => {
12
- C(e), g?.(e);
13
- }, O = () => {
14
- m === "hover" && D(!0);
11
+ var f = a.forwardRef(({ actions: a, icon: f = "PlusIcon", activeIcon: p = "CloseIcon", direction: m = "up", trigger: h = "hover", open: g, onOpenChange: _, className: v, "aria-label": y, ...b }, x) => {
12
+ let { t: S } = e(t), [C, w] = c(!1), T = g ?? C, E = s(null), D = s(!1), O = (e) => {
13
+ w(e), _?.(e);
15
14
  }, k = () => {
16
- m === "hover" && D(!1);
15
+ h === "hover" && O(!0);
17
16
  }, A = () => {
18
- m === "click" && D(!w);
19
- }, j = (e) => {
20
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), E.current = !w, D(!w));
17
+ h === "hover" && O(!1);
18
+ }, j = () => {
19
+ h === "click" && O(!T);
21
20
  }, M = (e) => {
22
- e.key === "Escape" && w && (e.preventDefault(), E.current = !1, D(!1), e.currentTarget.querySelector("[aria-haspopup]")?.focus());
21
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), D.current = !T, O(!T));
23
22
  }, N = (e) => {
24
- E.current && (e.currentTarget.contains(e.relatedTarget) || (E.current = !1, D(!1)));
25
- }, P = () => {
26
- (m === "click" || E.current) && (E.current = !1, T.current?.contains(document.activeElement) && T.current.parentElement?.querySelector("[aria-haspopup]")?.focus(), D(!1));
23
+ e.key === "Escape" && T && (e.preventDefault(), D.current = !1, O(!1), e.currentTarget.querySelector("[aria-haspopup]")?.focus());
24
+ }, P = (e) => {
25
+ D.current && (e.currentTarget.contains(e.relatedTarget) || (D.current = !1, O(!1)));
26
+ }, F = () => {
27
+ (h === "click" || D.current) && (D.current = !1, E.current?.contains(document.activeElement) && E.current.parentElement?.querySelector("[aria-haspopup]")?.focus(), O(!1));
27
28
  };
28
- return a(() => {
29
- w && E.current && T.current?.querySelector("button")?.focus();
30
- }, [w]), /* @__PURE__ */ u("div", {
31
- ref: b,
32
- className: c("wim-speed-dial", r.root, r[p], w && r.open, _),
33
- onMouseEnter: O,
34
- onMouseLeave: k,
35
- onKeyDown: M,
36
- onBlur: N,
37
- ...y,
38
- children: [/* @__PURE__ */ l("div", {
39
- ref: T,
40
- className: r.actions,
41
- inert: !w,
42
- children: i.map((e, t) => /* @__PURE__ */ l("div", {
43
- className: r.actionWrapper,
44
- style: { transitionDelay: w ? `${t * 50}ms` : "0ms" },
45
- children: /* @__PURE__ */ l(n, {
29
+ return o(() => {
30
+ T && D.current && E.current?.querySelector("button")?.focus();
31
+ }, [T]), /* @__PURE__ */ d("div", {
32
+ ref: x,
33
+ className: l("wim-speed-dial", i.root, i[m], T && i.open, v),
34
+ ...b,
35
+ onMouseEnter: n(b.onMouseEnter, k),
36
+ onMouseLeave: n(b.onMouseLeave, A),
37
+ onKeyDown: n(b.onKeyDown, N),
38
+ onBlur: n(b.onBlur, P),
39
+ children: [/* @__PURE__ */ u("div", {
40
+ ref: E,
41
+ className: i.actions,
42
+ inert: !T,
43
+ children: a.map((e, t) => /* @__PURE__ */ u("div", {
44
+ className: i.actionWrapper,
45
+ style: { transitionDelay: T ? `${t * 50}ms` : "0ms" },
46
+ children: /* @__PURE__ */ u(r, {
46
47
  iconName: e.icon,
47
48
  label: e.label,
48
49
  size: "sm",
49
50
  intent: e.intent,
50
51
  className: e.className,
51
52
  onClick: () => {
52
- e.onClick?.(), P();
53
+ e.onClick?.(), F();
53
54
  },
54
55
  position: "inline"
55
56
  })
56
57
  }, t))
57
- }), /* @__PURE__ */ l(n, {
58
- iconName: w ? f : d,
59
- onClick: A,
60
- className: r.trigger,
58
+ }), /* @__PURE__ */ u(r, {
59
+ iconName: T ? p : f,
60
+ onClick: j,
61
+ className: i.trigger,
61
62
  position: "inline",
62
- "aria-expanded": w,
63
+ "aria-expanded": T,
63
64
  "aria-haspopup": "true",
64
- "aria-label": v ?? x(w ? "a11y.close_menu" : "a11y.open_menu"),
65
- onKeyDown: j
65
+ "aria-label": y ?? S(T ? "a11y.close_menu" : "a11y.open_menu"),
66
+ onKeyDown: M
66
67
  })]
67
68
  });
68
69
  });
69
- d.displayName = "SpeedDial";
70
+ f.displayName = "SpeedDial";
70
71
  //#endregion
71
- export { d as SpeedDial };
72
+ export { f as SpeedDial };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../../hooks/useMergedRef.cjs"),r=require("../../_internal/useIndicator.cjs"),i=require("./tabs.module.cjs");let a=require("react");a=e.__toESM(a,1);let o=require("classnames");o=e.__toESM(o,1);let s=require("react/jsx-runtime");var c=(0,a.createContext)(null),l=()=>{let e=(0,a.useContext)(c);if(!e)throw Error(`Tabs components must be used within a Tabs`);return e},u=a.default.forwardRef(({asChild:e=!1,defaultValue:n,value:r,onChange:l,orientation:u=`horizontal`,className:d,children:f,...p},m)=>{let[h,g]=(0,a.useState)(n),[_,v]=(0,a.useState)([]),[y,b]=(0,a.useState)([]),x=(0,a.useId)(),S=r!==void 0,C=S?r:h,w=(0,a.useCallback)(e=>{S||g(e),l?.(e)},[S,l]),T=(0,a.useCallback)(e=>{v(t=>t.includes(e)?t:[...t,e])},[]),E=(0,a.useCallback)(e=>{v(t=>t.filter(t=>t!==e))},[]),D=(0,a.useCallback)(e=>{b(t=>t.includes(e)?t:[...t,e])},[]),O=(0,a.useCallback)(e=>{b(t=>t.filter(t=>t!==e))},[]),k=e?t.Root:`div`;return(0,s.jsx)(c.Provider,{value:{value:C,onValueChange:w,orientation:u,id:x,items:_,registerItem:T,unregisterItem:E,panels:y,registerPanel:D,unregisterPanel:O},children:(0,s.jsx)(`div`,{className:i.default.container,children:(0,s.jsx)(k,{ref:m,className:(0,o.default)(`wim-tabs`,i.default.root,i.default[u],d),...p,children:(0,s.jsx)(t.Slottable,{children:f})})})})}),d=a.default.forwardRef(({asChild:e=!1,className:c,children:u,...d},f)=>{let{orientation:p,value:m,items:h,onValueChange:g}=l(),[_,v]=a.default.useState(!1),[y,b]=a.default.useState(0),[x,S]=a.default.useState(0),{containerRef:C,sliderStyle:w,isReady:T}=r.useIndicator({activeSelector:`.${i.default.trigger}.${i.default.active}`,orientation:p,dependence:m}),E=n.useMergedRef(C,f),D=e=>{p!==`vertical`&&(v(!0),b(e.pageX-(C.current?.offsetLeft||0)),S(C.current?.scrollLeft||0))},O=()=>{v(!1)};return(0,s.jsxs)(e?t.Root:`div`,{ref:E,role:`tablist`,"aria-orientation":p,tabIndex:0,className:(0,o.default)(i.default.list,_&&i.default.dragging,T&&i.default.ready,c),onMouseDown:D,onMouseUp:O,onMouseLeave:O,onMouseMove:e=>{if(!_||p===`vertical`)return;e.preventDefault();let t=(e.pageX-(C.current?.offsetLeft||0)-y)*1.5;C.current&&(C.current.scrollLeft=x-t)},onKeyDown:e=>{let t=m?h.indexOf(m):-1,n=-1;if(p===`horizontal`?(e.key===`ArrowRight`&&(n=(t+1)%h.length),e.key===`ArrowLeft`&&(n=(t-1+h.length)%h.length)):(e.key===`ArrowDown`&&(n=(t+1)%h.length),e.key===`ArrowUp`&&(n=(t-1+h.length)%h.length)),e.key===`Home`&&(n=0),e.key===`End`&&(n=h.length-1),n!==-1){e.preventDefault();let t=h[n];t&&(g(t),(C.current?.querySelector(`[data-value="${t}"]`))?.focus())}},...d,children:[(0,s.jsx)(`div`,{className:i.default.slider,style:w,"aria-hidden":`true`}),(0,s.jsx)(t.Slottable,{children:u})]})}),f=a.default.forwardRef(({asChild:e=!1,value:n,disabled:r=!1,className:c,children:u,...d},f)=>{let{value:p,onValueChange:m,id:h,registerItem:g,unregisterItem:_,panels:v}=l(),y=p===n;return a.default.useEffect(()=>(g(n),()=>_(n)),[n,g,_]),(0,s.jsx)(e?t.Root:`button`,{ref:f,type:e?void 0:`button`,role:`tab`,"aria-selected":y,"aria-controls":v.includes(n)?`wim-tabs-${h}-panel-${n}`:void 0,id:`wim-tabs-${h}-tab-${n}`,"data-value":n,disabled:r,tabIndex:y?0:-1,className:(0,o.default)(i.default.trigger,y&&i.default.active,c),onClick:()=>m(n),...d,children:(0,s.jsx)(t.Slottable,{children:u})})}),p=a.default.forwardRef(({asChild:e=!1,value:n,className:r,children:c,...u},d)=>{let{value:f,id:p,registerPanel:m,unregisterPanel:h}=l(),g=f===n;return a.default.useEffect(()=>(m(n),()=>h(n)),[n,m,h]),g?(0,s.jsx)(e?t.Root:`div`,{ref:d,role:`tabpanel`,id:`wim-tabs-${p}-panel-${n}`,"aria-labelledby":`wim-tabs-${p}-tab-${n}`,tabIndex:0,className:(0,o.default)(i.default.content,r),...u,children:(0,s.jsx)(t.Slottable,{children:c})}):null});u.displayName=`Tabs`,d.displayName=`Tabs.List`,f.displayName=`Tabs.Trigger`,p.displayName=`Tabs.Content`;var m=u;m.List=d,m.Trigger=f,m.Content=p,exports.Tabs=m,exports.default=m,exports.TabsContent=p,exports.TabsList=d,exports.TabsTrigger=f;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../../hooks/useMergedRef.cjs"),r=require("../../_internal/composeEventHandlers.cjs"),i=require("../../_internal/useIndicator.cjs"),a=require("./tabs.module.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("classnames");s=e.__toESM(s,1);let c=require("react/jsx-runtime");var l=(0,o.createContext)(null),u=()=>{let e=(0,o.useContext)(l);if(!e)throw Error(`Tabs components must be used within a Tabs`);return e},d=o.default.forwardRef(({asChild:e=!1,defaultValue:n,value:r,onChange:i,orientation:u=`horizontal`,className:d,children:f,...p},m)=>{let[h,g]=(0,o.useState)(n),[_,v]=(0,o.useState)([]),[y,b]=(0,o.useState)([]),x=(0,o.useId)(),S=r!==void 0,C=S?r:h,w=(0,o.useCallback)(e=>{S||g(e),i?.(e)},[S,i]),T=(0,o.useCallback)(e=>{v(t=>t.includes(e)?t:[...t,e])},[]),E=(0,o.useCallback)(e=>{v(t=>t.filter(t=>t!==e))},[]),D=(0,o.useCallback)(e=>{b(t=>t.includes(e)?t:[...t,e])},[]),O=(0,o.useCallback)(e=>{b(t=>t.filter(t=>t!==e))},[]),k=e?t.Root:`div`;return(0,c.jsx)(l.Provider,{value:{value:C,onValueChange:w,orientation:u,id:x,items:_,registerItem:T,unregisterItem:E,panels:y,registerPanel:D,unregisterPanel:O},children:(0,c.jsx)(`div`,{className:a.default.container,children:(0,c.jsx)(k,{ref:m,className:(0,s.default)(`wim-tabs`,a.default.root,a.default[u],d),...p,children:(0,c.jsx)(t.Slottable,{children:f})})})})}),f=o.default.forwardRef(({asChild:e=!1,className:l,children:d,...f},p)=>{let{orientation:m,value:h,items:g,onValueChange:_}=u(),[v,y]=o.default.useState(!1),[b,x]=o.default.useState(0),[S,C]=o.default.useState(0),{containerRef:w,sliderStyle:T,isReady:E}=i.useIndicator({activeSelector:`.${a.default.trigger}.${a.default.active}`,orientation:m,dependence:h}),D=n.useMergedRef(w,p),O=e=>{m!==`vertical`&&(y(!0),x(e.pageX-(w.current?.offsetLeft||0)),C(w.current?.scrollLeft||0))},k=()=>{y(!1)},A=e=>{if(!v||m===`vertical`)return;e.preventDefault();let t=(e.pageX-(w.current?.offsetLeft||0)-b)*1.5;w.current&&(w.current.scrollLeft=S-t)},j=e=>{let t=h?g.indexOf(h):-1,n=-1;if(m===`horizontal`?(e.key===`ArrowRight`&&(n=(t+1)%g.length),e.key===`ArrowLeft`&&(n=(t-1+g.length)%g.length)):(e.key===`ArrowDown`&&(n=(t+1)%g.length),e.key===`ArrowUp`&&(n=(t-1+g.length)%g.length)),e.key===`Home`&&(n=0),e.key===`End`&&(n=g.length-1),n!==-1){e.preventDefault();let t=g[n];t&&(_(t),(w.current?.querySelector(`[data-value="${t}"]`))?.focus())}};return(0,c.jsxs)(e?t.Root:`div`,{ref:D,role:`tablist`,"aria-orientation":m,tabIndex:0,className:(0,s.default)(a.default.list,v&&a.default.dragging,E&&a.default.ready,l),...f,onMouseDown:e=>r.composeEventHandlers(f.onMouseDown,O)(e),onMouseUp:r.composeEventHandlers(f.onMouseUp,k),onMouseLeave:r.composeEventHandlers(f.onMouseLeave,k),onMouseMove:e=>r.composeEventHandlers(f.onMouseMove,A)(e),onKeyDown:e=>r.composeEventHandlers(f.onKeyDown,j)(e),children:[(0,c.jsx)(`div`,{className:a.default.slider,style:T,"aria-hidden":`true`}),(0,c.jsx)(t.Slottable,{children:d})]})}),p=o.default.forwardRef(({asChild:e=!1,value:n,disabled:i=!1,className:l,children:d,...f},p)=>{let{value:m,onValueChange:h,id:g,registerItem:_,unregisterItem:v,panels:y}=u(),b=m===n;return o.default.useEffect(()=>(_(n),()=>v(n)),[n,_,v]),(0,c.jsx)(e?t.Root:`button`,{ref:p,type:e?void 0:`button`,role:`tab`,"aria-selected":b,"aria-controls":y.includes(n)?`wim-tabs-${g}-panel-${n}`:void 0,id:`wim-tabs-${g}-tab-${n}`,"data-value":n,disabled:i,tabIndex:b?0:-1,className:(0,s.default)(a.default.trigger,b&&a.default.active,l),...f,onClick:r.composeEventHandlers(f.onClick,()=>h(n)),children:(0,c.jsx)(t.Slottable,{children:d})})}),m=o.default.forwardRef(({asChild:e=!1,value:n,className:r,children:i,...l},d)=>{let{value:f,id:p,registerPanel:m,unregisterPanel:h}=u(),g=f===n;return o.default.useEffect(()=>(m(n),()=>h(n)),[n,m,h]),g?(0,c.jsx)(e?t.Root:`div`,{ref:d,role:`tabpanel`,id:`wim-tabs-${p}-panel-${n}`,"aria-labelledby":`wim-tabs-${p}-tab-${n}`,tabIndex:0,className:(0,s.default)(a.default.content,r),...l,children:(0,c.jsx)(t.Slottable,{children:i})}):null});d.displayName=`Tabs`,f.displayName=`Tabs.List`,p.displayName=`Tabs.Trigger`,m.displayName=`Tabs.Content`;var h=d;h.List=f,h.Trigger=p,h.Content=m,exports.Tabs=h,exports.default=h,exports.TabsContent=m,exports.TabsList=f,exports.TabsTrigger=p;
@@ -1,33 +1,34 @@
1
1
  "use client";
2
2
  import { Root as e, Slottable as t } from "../../../node_modules/@radix-ui/react-slot/dist/index.js";
3
3
  import { useMergedRef as n } from "../../../hooks/useMergedRef.js";
4
- import { useIndicator as r } from "../../_internal/useIndicator.js";
5
- import i from "./tabs.module.js";
6
- import a, { createContext as o, useCallback as s, useContext as c, useId as l, useState as u } from "react";
7
- import d from "classnames";
8
- import { jsx as f, jsxs as p } from "react/jsx-runtime";
4
+ import { composeEventHandlers as r } from "../../_internal/composeEventHandlers.js";
5
+ import { useIndicator as i } from "../../_internal/useIndicator.js";
6
+ import a from "./tabs.module.js";
7
+ import o, { createContext as s, useCallback as c, useContext as l, useId as u, useState as d } from "react";
8
+ import f from "classnames";
9
+ import { jsx as p, jsxs as m } from "react/jsx-runtime";
9
10
  //#region src/components/navigation/Tabs/Tabs.tsx
10
- var m = o(null), h = () => {
11
- let e = c(m);
11
+ var h = s(null), g = () => {
12
+ let e = l(h);
12
13
  if (!e) throw Error("Tabs components must be used within a Tabs");
13
14
  return e;
14
- }, g = a.forwardRef(({ asChild: n = !1, defaultValue: r, value: a, onChange: o, orientation: c = "horizontal", className: p, children: h, ...g }, _) => {
15
- let [v, y] = u(r), [b, x] = u([]), [S, C] = u([]), w = l(), T = a !== void 0, E = T ? a : v, D = s((e) => {
15
+ }, _ = o.forwardRef(({ asChild: n = !1, defaultValue: r, value: i, onChange: o, orientation: s = "horizontal", className: l, children: m, ...g }, _) => {
16
+ let [v, y] = d(r), [b, x] = d([]), [S, C] = d([]), w = u(), T = i !== void 0, E = T ? i : v, D = c((e) => {
16
17
  T || y(e), o?.(e);
17
- }, [T, o]), O = s((e) => {
18
+ }, [T, o]), O = c((e) => {
18
19
  x((t) => t.includes(e) ? t : [...t, e]);
19
- }, []), k = s((e) => {
20
+ }, []), k = c((e) => {
20
21
  x((t) => t.filter((t) => t !== e));
21
- }, []), A = s((e) => {
22
+ }, []), A = c((e) => {
22
23
  C((t) => t.includes(e) ? t : [...t, e]);
23
- }, []), j = s((e) => {
24
+ }, []), j = c((e) => {
24
25
  C((t) => t.filter((t) => t !== e));
25
26
  }, []), M = n ? e : "div";
26
- return /* @__PURE__ */ f(m.Provider, {
27
+ return /* @__PURE__ */ p(h.Provider, {
27
28
  value: {
28
29
  value: E,
29
30
  onValueChange: D,
30
- orientation: c,
31
+ orientation: s,
31
32
  id: w,
32
33
  items: b,
33
34
  registerItem: O,
@@ -36,96 +37,96 @@ var m = o(null), h = () => {
36
37
  registerPanel: A,
37
38
  unregisterPanel: j
38
39
  },
39
- children: /* @__PURE__ */ f("div", {
40
- className: i.container,
41
- children: /* @__PURE__ */ f(M, {
40
+ children: /* @__PURE__ */ p("div", {
41
+ className: a.container,
42
+ children: /* @__PURE__ */ p(M, {
42
43
  ref: _,
43
- className: d("wim-tabs", i.root, i[c], p),
44
+ className: f("wim-tabs", a.root, a[s], l),
44
45
  ...g,
45
- children: /* @__PURE__ */ f(t, { children: h })
46
+ children: /* @__PURE__ */ p(t, { children: m })
46
47
  })
47
48
  })
48
49
  });
49
- }), _ = a.forwardRef(({ asChild: o = !1, className: s, children: c, ...l }, u) => {
50
- let { orientation: m, value: g, items: _, onValueChange: v } = h(), [y, b] = a.useState(!1), [x, S] = a.useState(0), [C, w] = a.useState(0), { containerRef: T, sliderStyle: E, isReady: D } = r({
51
- activeSelector: `.${i.trigger}.${i.active}`,
52
- orientation: m,
53
- dependence: g
54
- }), O = n(T, u), k = (e) => {
55
- m !== "vertical" && (b(!0), S(e.pageX - (T.current?.offsetLeft || 0)), w(T.current?.scrollLeft || 0));
56
- }, A = () => {
57
- b(!1);
50
+ }), v = o.forwardRef(({ asChild: s = !1, className: c, children: l, ...u }, d) => {
51
+ let { orientation: h, value: _, items: v, onValueChange: y } = g(), [b, x] = o.useState(!1), [S, C] = o.useState(0), [w, T] = o.useState(0), { containerRef: E, sliderStyle: D, isReady: O } = i({
52
+ activeSelector: `.${a.trigger}.${a.active}`,
53
+ orientation: h,
54
+ dependence: _
55
+ }), k = n(E, d), A = (e) => {
56
+ h !== "vertical" && (x(!0), C(e.pageX - (E.current?.offsetLeft || 0)), T(E.current?.scrollLeft || 0));
57
+ }, j = () => {
58
+ x(!1);
59
+ }, M = (e) => {
60
+ if (!b || h === "vertical") return;
61
+ e.preventDefault();
62
+ let t = (e.pageX - (E.current?.offsetLeft || 0) - S) * 1.5;
63
+ E.current && (E.current.scrollLeft = w - t);
64
+ }, N = (e) => {
65
+ let t = _ ? v.indexOf(_) : -1, n = -1;
66
+ if (h === "horizontal" ? (e.key === "ArrowRight" && (n = (t + 1) % v.length), e.key === "ArrowLeft" && (n = (t - 1 + v.length) % v.length)) : (e.key === "ArrowDown" && (n = (t + 1) % v.length), e.key === "ArrowUp" && (n = (t - 1 + v.length) % v.length)), e.key === "Home" && (n = 0), e.key === "End" && (n = v.length - 1), n !== -1) {
67
+ e.preventDefault();
68
+ let t = v[n];
69
+ t && (y(t), (E.current?.querySelector(`[data-value="${t}"]`))?.focus());
70
+ }
58
71
  };
59
- return /* @__PURE__ */ p(o ? e : "div", {
60
- ref: O,
72
+ return /* @__PURE__ */ m(s ? e : "div", {
73
+ ref: k,
61
74
  role: "tablist",
62
- "aria-orientation": m,
75
+ "aria-orientation": h,
63
76
  tabIndex: 0,
64
- className: d(i.list, y && i.dragging, D && i.ready, s),
65
- onMouseDown: k,
66
- onMouseUp: A,
67
- onMouseLeave: A,
68
- onMouseMove: (e) => {
69
- if (!y || m === "vertical") return;
70
- e.preventDefault();
71
- let t = (e.pageX - (T.current?.offsetLeft || 0) - x) * 1.5;
72
- T.current && (T.current.scrollLeft = C - t);
73
- },
74
- onKeyDown: (e) => {
75
- let t = g ? _.indexOf(g) : -1, n = -1;
76
- if (m === "horizontal" ? (e.key === "ArrowRight" && (n = (t + 1) % _.length), e.key === "ArrowLeft" && (n = (t - 1 + _.length) % _.length)) : (e.key === "ArrowDown" && (n = (t + 1) % _.length), e.key === "ArrowUp" && (n = (t - 1 + _.length) % _.length)), e.key === "Home" && (n = 0), e.key === "End" && (n = _.length - 1), n !== -1) {
77
- e.preventDefault();
78
- let t = _[n];
79
- t && (v(t), (T.current?.querySelector(`[data-value="${t}"]`))?.focus());
80
- }
81
- },
82
- ...l,
83
- children: [/* @__PURE__ */ f("div", {
84
- className: i.slider,
85
- style: E,
77
+ className: f(a.list, b && a.dragging, O && a.ready, c),
78
+ ...u,
79
+ onMouseDown: (e) => r(u.onMouseDown, A)(e),
80
+ onMouseUp: r(u.onMouseUp, j),
81
+ onMouseLeave: r(u.onMouseLeave, j),
82
+ onMouseMove: (e) => r(u.onMouseMove, M)(e),
83
+ onKeyDown: (e) => r(u.onKeyDown, N)(e),
84
+ children: [/* @__PURE__ */ p("div", {
85
+ className: a.slider,
86
+ style: D,
86
87
  "aria-hidden": "true"
87
- }), /* @__PURE__ */ f(t, { children: c })]
88
+ }), /* @__PURE__ */ p(t, { children: l })]
88
89
  });
89
- }), v = a.forwardRef(({ asChild: n = !1, value: r, disabled: o = !1, className: s, children: c, ...l }, u) => {
90
- let { value: p, onValueChange: m, id: g, registerItem: _, unregisterItem: v, panels: y } = h(), b = p === r;
91
- return a.useEffect(() => (_(r), () => v(r)), [
92
- r,
93
- _,
94
- v
95
- ]), /* @__PURE__ */ f(n ? e : "button", {
96
- ref: u,
90
+ }), y = o.forwardRef(({ asChild: n = !1, value: i, disabled: s = !1, className: c, children: l, ...u }, d) => {
91
+ let { value: m, onValueChange: h, id: _, registerItem: v, unregisterItem: y, panels: b } = g(), x = m === i;
92
+ return o.useEffect(() => (v(i), () => y(i)), [
93
+ i,
94
+ v,
95
+ y
96
+ ]), /* @__PURE__ */ p(n ? e : "button", {
97
+ ref: d,
97
98
  type: n ? void 0 : "button",
98
99
  role: "tab",
99
- "aria-selected": b,
100
- "aria-controls": y.includes(r) ? `wim-tabs-${g}-panel-${r}` : void 0,
101
- id: `wim-tabs-${g}-tab-${r}`,
102
- "data-value": r,
103
- disabled: o,
104
- tabIndex: b ? 0 : -1,
105
- className: d(i.trigger, b && i.active, s),
106
- onClick: () => m(r),
107
- ...l,
108
- children: /* @__PURE__ */ f(t, { children: c })
100
+ "aria-selected": x,
101
+ "aria-controls": b.includes(i) ? `wim-tabs-${_}-panel-${i}` : void 0,
102
+ id: `wim-tabs-${_}-tab-${i}`,
103
+ "data-value": i,
104
+ disabled: s,
105
+ tabIndex: x ? 0 : -1,
106
+ className: f(a.trigger, x && a.active, c),
107
+ ...u,
108
+ onClick: r(u.onClick, () => h(i)),
109
+ children: /* @__PURE__ */ p(t, { children: l })
109
110
  });
110
- }), y = a.forwardRef(({ asChild: n = !1, value: r, className: o, children: s, ...c }, l) => {
111
- let { value: u, id: p, registerPanel: m, unregisterPanel: g } = h(), _ = u === r;
112
- return a.useEffect(() => (m(r), () => g(r)), [
111
+ }), b = o.forwardRef(({ asChild: n = !1, value: r, className: i, children: s, ...c }, l) => {
112
+ let { value: u, id: d, registerPanel: m, unregisterPanel: h } = g(), _ = u === r;
113
+ return o.useEffect(() => (m(r), () => h(r)), [
113
114
  r,
114
115
  m,
115
- g
116
- ]), _ ? /* @__PURE__ */ f(n ? e : "div", {
116
+ h
117
+ ]), _ ? /* @__PURE__ */ p(n ? e : "div", {
117
118
  ref: l,
118
119
  role: "tabpanel",
119
- id: `wim-tabs-${p}-panel-${r}`,
120
- "aria-labelledby": `wim-tabs-${p}-tab-${r}`,
120
+ id: `wim-tabs-${d}-panel-${r}`,
121
+ "aria-labelledby": `wim-tabs-${d}-tab-${r}`,
121
122
  tabIndex: 0,
122
- className: d(i.content, o),
123
+ className: f(a.content, i),
123
124
  ...c,
124
- children: /* @__PURE__ */ f(t, { children: s })
125
+ children: /* @__PURE__ */ p(t, { children: s })
125
126
  }) : null;
126
127
  });
127
- g.displayName = "Tabs", _.displayName = "Tabs.List", v.displayName = "Tabs.Trigger", y.displayName = "Tabs.Content";
128
- var b = g;
129
- b.List = _, b.Trigger = v, b.Content = y;
128
+ _.displayName = "Tabs", v.displayName = "Tabs.List", y.displayName = "Tabs.Trigger", b.displayName = "Tabs.Content";
129
+ var x = _;
130
+ x.List = v, x.Trigger = y, x.Content = b;
130
131
  //#endregion
131
- export { b as Tabs, b as default, y as TabsContent, _ as TabsList, v as TabsTrigger };
132
+ export { x as Tabs, x as default, b as TabsContent, v as TabsList, y as TabsTrigger };