wimui 0.24.2 → 0.24.4

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.
@@ -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("../../../i18n/useWimTranslation.cjs"),r=require("../../layout/VisuallyHidden/VisuallyHidden.cjs"),i=require("../../../icon/more-horizontal.cjs"),a=require("../../media/Icon/Icon.cjs"),o=require("./kanban.module.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("classnames");c=e.__toESM(c,1);let l=require("react/jsx-runtime");var u=(0,s.forwardRef)(({columns:e,onMove:r,onCardMove:i,className:a,forceMobileUI:u=!1,children:f,asChild:p=!1,...h},_)=>{let{t:v}=n.useWimTranslation(`common`),[y,b]=(0,s.useState)(null),[x,S]=(0,s.useState)(null),[C,w]=(0,s.useState)(null),T=r||i,E=(e,t,n)=>{b({itemId:t,columnId:n}),e.dataTransfer.setData(`text/plain`,`${n}:${t}`),e.dataTransfer.effectAllowed=`move`},D=(e,t)=>{e.preventDefault(),S(t)},O=(e,t)=>{e.preventDefault(),S(null);let[n,r]=e.dataTransfer.getData(`text/plain`).split(`:`);T?.(r,n,t),b(null)},k=(e,t,n)=>{T?.(e,t,n),w(null)},A=s.default.useMemo(()=>{if(e)return e;let t=[];return s.default.Children.forEach(f,e=>{if(s.default.isValidElement(e)){let n=e.props;typeof n.id==`string`&&typeof n.title==`string`&&t.push({id:n.id,title:n.title,items:[]})}}),t},[f,e]),j=()=>f||(e?e.map(e=>(0,l.jsx)(g,{id:e.id,title:e.title,cardCount:e.items.length,children:e.items.map(e=>(0,l.jsx)(m,{id:e.id,children:e.content},e.id))},e.id)):null),M=p?t.Root:`div`;return(0,l.jsx)(d.Provider,{value:{draggedItem:y,dragOverColumn:x,setDragOverColumn:S,handleDragStart:E,handleDragOver:D,handleDrop:O,handleMobileMove:k,activeMobileMenu:C,setActiveMobileMenu:w,columns:A},children:(0,l.jsx)(M,{...h,ref:_,className:(0,c.default)(`wim-kanban`,o.default.root,u&&o.default.touch,a),role:`region`,"aria-label":v(`a11y.kanban_board`),tabIndex:0,children:(0,l.jsx)(t.Slottable,{children:j()})})})}),d=s.default.createContext(null),f=()=>{let e=s.default.useContext(d);if(!e)throw Error(`Kanban compound components must be used within Kanban`);return e},p=({id:e,title:t,cardCount:i,children:a,className:s})=>{let{dragOverColumn:u,handleDragOver:d,handleDrop:p,setDragOverColumn:m}=f(),{t:h}=n.useWimTranslation(`common`);return(0,l.jsxs)(`div`,{className:(0,c.default)(o.default.column,{[o.default.dragOver]:u===e},s),onDragOver:t=>d(t,e),onDrop:t=>p(t,e),onDragLeave:()=>m(null),children:[(0,l.jsxs)(`div`,{className:o.default.columnHeader,children:[(0,l.jsx)(`div`,{className:o.default.columnTitle,children:t}),i!==void 0&&(0,l.jsxs)(`div`,{className:o.default.columnCount,children:[(0,l.jsx)(`span`,{"aria-hidden":`true`,children:i}),(0,l.jsx)(r.VisuallyHidden,{children:h(`a11y.kanban_column_count`,{count:i})})]})]}),(0,l.jsx)(`div`,{className:o.default.columnBody,children:a})]})},m=({id:e,children:t,disabled:r,className:u})=>{let{t:d}=n.useWimTranslation(`common`),{draggedItem:p,handleDragStart:m,handleMobileMove:g,activeMobileMenu:_,setActiveMobileMenu:v,columns:y}=f(),b=s.default.useContext(h);return(0,l.jsxs)(`div`,{className:(0,c.default)(o.default.card,{[o.default.dragging]:p?.itemId===e,[o.default.disabled]:r},u),draggable:!r,onDragStart:t=>b&&m(t,e,b),children:[(0,l.jsx)(`div`,{className:o.default.cardContent,children:t}),(0,l.jsxs)(`div`,{className:o.default.cardMove,children:[(0,l.jsx)(`button`,{type:`button`,className:o.default.cardMoveBtn,onClick:()=>v(_===e?null:e),"aria-label":d(`a11y.move_card`),disabled:r,children:(0,l.jsx)(a.Icon,{component:i.default,size:`sm`})}),_===e&&(0,l.jsx)(`div`,{className:o.default.cardMoveMenu,role:`listbox`,"aria-label":d(`a11y.move_to_column`),children:y.filter(e=>e.id!==b).map(t=>(0,l.jsx)(`button`,{type:`button`,className:o.default.cardMoveOption,onClick:()=>b&&g(e,b,t.id),role:`option`,"aria-selected":!1,children:t.title},t.id))})]})]})},h=s.default.createContext(null),g=e=>(0,l.jsx)(h.Provider,{value:e.id,children:(0,l.jsx)(p,{...e})}),_=u;_.Column=g,_.Card=m,u.displayName=`Kanban`,_.displayName=`KanbanBoard`,p.displayName=`KanbanColumn`,m.displayName=`KanbanCard`,g.displayName=`KanbanColumnWrapper`,exports.Kanban=u,exports.KanbanBoard=_,exports.default=_,exports.KanbanCard=m,exports.KanbanColumn=p;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../../i18n/useWimTranslation.cjs"),r=require("../../layout/VisuallyHidden/VisuallyHidden.cjs"),i=require("../../../icon/more-horizontal.cjs"),a=require("../../media/Icon/Icon.cjs"),o=require("./kanban.module.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("classnames");c=e.__toESM(c,1);let l=require("react/jsx-runtime");var u=(0,s.forwardRef)(({columns:e,onMove:r,onCardMove:i,className:a,forceMobileUI:u=!1,children:f,asChild:p=!1,...h},_)=>{let{t:v}=n.useWimTranslation(`common`),[y,b]=(0,s.useState)(null),[x,S]=(0,s.useState)(null),[C,w]=(0,s.useState)(null),T=r||i,E=(e,t,n)=>{b({itemId:t,columnId:n}),e.dataTransfer.setData(`text/plain`,`${n}:${t}`),e.dataTransfer.effectAllowed=`move`},D=(e,t)=>{e.preventDefault(),S(t)},O=(e,t)=>{e.preventDefault(),S(null);let[n,r]=e.dataTransfer.getData(`text/plain`).split(`:`);T?.(r,n,t),b(null)},k=(e,t,n)=>{T?.(e,t,n),w(null)},A=s.default.useMemo(()=>{if(e)return e;let t=[];return s.default.Children.forEach(f,e=>{if(s.default.isValidElement(e)){let n=e.props;typeof n.id==`string`&&typeof n.title==`string`&&t.push({id:n.id,title:n.title,items:[]})}}),t},[f,e]),j=()=>f||(e?e.map(e=>(0,l.jsx)(g,{id:e.id,title:e.title,cardCount:e.items.length,children:e.items.map(e=>(0,l.jsx)(m,{id:e.id,children:e.content},e.id))},e.id)):null),M=p?t.Root:`div`;return(0,l.jsx)(d.Provider,{value:{draggedItem:y,dragOverColumn:x,setDragOverColumn:S,handleDragStart:E,handleDragOver:D,handleDrop:O,handleMobileMove:k,activeMobileMenu:C,setActiveMobileMenu:w,columns:A},children:(0,l.jsx)(M,{...h,ref:_,className:(0,c.default)(`wim-kanban`,o.default.root,u&&o.default.touch,a),role:`region`,"aria-label":v(`a11y.kanban_board`),tabIndex:0,children:(0,l.jsx)(t.Slottable,{children:j()})})})}),d=s.default.createContext(null),f=()=>{let e=s.default.useContext(d);if(!e)throw Error(`Kanban compound components must be used within Kanban`);return e},p=({id:e,title:t,cardCount:i,children:a,className:u})=>{let{dragOverColumn:d,handleDragOver:p,handleDrop:m,setDragOverColumn:h}=f(),{t:g}=n.useWimTranslation(`common`),_=s.default.useId();return(0,l.jsxs)(`div`,{className:(0,c.default)(o.default.column,{[o.default.dragOver]:d===e},u),role:`group`,"aria-labelledby":t?_:void 0,onDragOver:t=>p(t,e),onDrop:t=>m(t,e),onDragLeave:()=>h(null),children:[(0,l.jsxs)(`div`,{className:o.default.columnHeader,children:[(0,l.jsx)(`div`,{id:_,className:o.default.columnTitle,"aria-hidden":`true`,children:t}),i!==void 0&&(0,l.jsxs)(`div`,{className:o.default.columnCount,children:[(0,l.jsx)(`span`,{"aria-hidden":`true`,children:i}),(0,l.jsx)(r.VisuallyHidden,{children:g(`a11y.kanban_column_count`,{count:i})})]})]}),(0,l.jsx)(`div`,{className:o.default.columnBody,children:a})]})},m=({id:e,children:t,disabled:r,className:u})=>{let{t:d}=n.useWimTranslation(`common`),{draggedItem:p,handleDragStart:m,handleMobileMove:g,activeMobileMenu:_,setActiveMobileMenu:v,columns:y}=f(),b=s.default.useContext(h);return(0,l.jsxs)(`div`,{className:(0,c.default)(o.default.card,{[o.default.dragging]:p?.itemId===e,[o.default.disabled]:r},u),draggable:!r,onDragStart:t=>b&&m(t,e,b),children:[(0,l.jsx)(`div`,{className:o.default.cardContent,children:t}),(0,l.jsxs)(`div`,{className:o.default.cardMove,children:[(0,l.jsx)(`button`,{type:`button`,className:o.default.cardMoveBtn,onClick:()=>v(_===e?null:e),"aria-label":d(`a11y.move_card`),disabled:r,children:(0,l.jsx)(a.Icon,{component:i.default,size:`sm`})}),_===e&&(0,l.jsx)(`div`,{className:o.default.cardMoveMenu,role:`listbox`,"aria-label":d(`a11y.move_to_column`),children:y.filter(e=>e.id!==b).map(t=>(0,l.jsx)(`button`,{type:`button`,className:o.default.cardMoveOption,onClick:()=>b&&g(e,b,t.id),role:`option`,"aria-selected":!1,children:t.title},t.id))})]})]})},h=s.default.createContext(null),g=e=>(0,l.jsx)(h.Provider,{value:e.id,children:(0,l.jsx)(p,{...e})}),_=u;_.Column=g,_.Card=m,u.displayName=`Kanban`,_.displayName=`KanbanBoard`,p.displayName=`KanbanColumn`,m.displayName=`KanbanCard`,g.displayName=`KanbanColumnWrapper`,exports.Kanban=u,exports.KanbanBoard=_,exports.default=_,exports.KanbanCard=m,exports.KanbanColumn=p;
@@ -72,24 +72,28 @@ var p = c(({ columns: r, onMove: i, onCardMove: a, className: c, forceMobileUI:
72
72
  let e = s.useContext(m);
73
73
  if (!e) throw Error("Kanban compound components must be used within Kanban");
74
74
  return e;
75
- }, g = ({ id: e, title: t, cardCount: i, children: a, className: s }) => {
76
- let { dragOverColumn: c, handleDragOver: l, handleDrop: p, setDragOverColumn: m } = h(), { t: g } = n("common");
75
+ }, g = ({ id: e, title: t, cardCount: i, children: a, className: c }) => {
76
+ let { dragOverColumn: l, handleDragOver: p, handleDrop: m, setDragOverColumn: g } = h(), { t: _ } = n("common"), v = s.useId();
77
77
  return /* @__PURE__ */ f("div", {
78
- className: u(o.column, { [o.dragOver]: c === e }, s),
79
- onDragOver: (t) => l(t, e),
80
- onDrop: (t) => p(t, e),
81
- onDragLeave: () => m(null),
78
+ className: u(o.column, { [o.dragOver]: l === e }, c),
79
+ role: "group",
80
+ "aria-labelledby": t ? v : void 0,
81
+ onDragOver: (t) => p(t, e),
82
+ onDrop: (t) => m(t, e),
83
+ onDragLeave: () => g(null),
82
84
  children: [/* @__PURE__ */ f("div", {
83
85
  className: o.columnHeader,
84
86
  children: [/* @__PURE__ */ d("div", {
87
+ id: v,
85
88
  className: o.columnTitle,
89
+ "aria-hidden": "true",
86
90
  children: t
87
91
  }), i !== void 0 && /* @__PURE__ */ f("div", {
88
92
  className: o.columnCount,
89
93
  children: [/* @__PURE__ */ d("span", {
90
94
  "aria-hidden": "true",
91
95
  children: i
92
- }), /* @__PURE__ */ d(r, { children: g("a11y.kanban_column_count", { count: i }) })]
96
+ }), /* @__PURE__ */ d(r, { children: _("a11y.kanban_column_count", { count: i }) })]
93
97
  })]
94
98
  }), /* @__PURE__ */ d("div", {
95
99
  className: o.columnBody,
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../overlay/Portal/Portal.cjs"),r=require("../../layout/Transition/Transition.cjs"),i=require("../../overlay/FocusTrap/FocusTrap.cjs"),a=require("../../../icon/search.cjs"),o=require("../../media/Icon/Icon.cjs"),s=require("../../_internal/BaseListItem/BaseListItem.cjs"),c=require("./command-palette.module.cjs");let l=require("react");l=e.__toESM(l,1);let u=require("classnames");u=e.__toESM(u,1);let d=require("react/jsx-runtime");var f=(0,l.createContext)(void 0),p=()=>{let e=(0,l.useContext)(f);if(!e)throw Error(`CommandPalette sub-components must be used within a CommandPalette`);return e},m=({children:e,open:t,onOpenChange:n})=>{let[r,i]=(0,l.useState)(!1),[a,o]=(0,l.useState)(``),[s,c]=(0,l.useState)(0),[u,p]=(0,l.useState)(!1),m=(0,l.useRef)(0),h=t!==void 0,g=h?t:r,_=(0,l.useCallback)(e=>{h||i(e),n?.(e),e||(o(``),c(0))},[h,n]),v=(0,l.useCallback)(()=>{let e=m.current;return m.current+=1,e},[]),y=(0,l.useCallback)(()=>{--m.current},[]);m.current=0,(0,l.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&e.key===`k`&&(e.preventDefault(),p(!0),_(!g)),e.key===`Escape`&&g&&_(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[g,_]);let b=l.default.useMemo(()=>({open:g,onOpenChange:_,search:a,setSearch:o,activeIndex:s,setActiveIndex:c,registerItem:v,unregisterItem:y,isKeyboardNavigating:u,setIsKeyboardNavigating:p}),[g,_,a,s,v,y,u]);return(0,d.jsx)(f.Provider,{value:b,children:e})},h=({children:e,asChild:t,className:n})=>{let{onOpenChange:r,setIsKeyboardNavigating:i}=p(),a=e=>{i(e.detail===0),r(!0)};return t&&l.default.isValidElement(e)?l.default.cloneElement(e,{onClick:t=>{e.props.onClick?.(t),a(t)},className:(0,u.default)(n,e.props.className)}):(0,d.jsx)(`button`,{className:(0,u.default)(c.default.trigger,n),onClick:a,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&i(!0)},children:e})},g=({children:e,className:a,"aria-label":o})=>{let{t:s}=t.useWimTranslation(`components`),{open:f,onOpenChange:m,activeIndex:h,setActiveIndex:g,isKeyboardNavigating:_,setIsKeyboardNavigating:v}=p(),y=(0,l.useRef)(null);return(0,d.jsx)(n.Portal,{children:(0,d.jsx)(r.Transition,{show:f,preset:`fade`,children:(0,d.jsx)(`div`,{role:`presentation`,className:c.default.overlay,onClick:e=>{e.target===e.currentTarget&&m(!1)},children:(0,d.jsx)(r.Transition,{show:f,preset:`scale`,children:(0,d.jsx)(i.FocusTrap,{active:f,children:(0,d.jsx)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-label":o??s(`command_palette.label`),className:(0,u.default)(`wim-command-palette`,c.default.content,a),onClick:e=>e.stopPropagation(),onMouseMove:e=>{if(!y.current){y.current={x:e.clientX,y:e.clientY};return}Math.sqrt((e.clientX-y.current.x)**2+(e.clientY-y.current.y)**2)>10&&v(!1),y.current={x:e.clientX,y:e.clientY}},"data-keyboard-nav":_,onKeyDown:e=>{v(!0);let t=e.currentTarget.querySelectorAll(`.${c.default.item}:not([aria-disabled="true"])`).length;t!==0&&(e.key===`ArrowDown`?(e.preventDefault(),g(e=>(e+1)%t)):e.key===`ArrowUp`?(e.preventDefault(),g(e=>(e-1+t)%t)):e.key===`Home`?(e.preventDefault(),g(0)):e.key===`End`?(e.preventDefault(),g(t-1)):e.key===`Enter`&&(e.preventDefault(),document.getElementById(`wim-command-palette-item-${h}`)?.click()))},children:e})})})})})})},_=({placeholder:e,value:t,onChange:n,rightSection:r})=>{let{search:i,setSearch:s,setActiveIndex:u,activeIndex:f}=p(),m=(0,l.useRef)(null);return(0,l.useEffect)(()=>{m.current?.focus()},[]),(0,d.jsxs)(`div`,{className:c.default.inputWrapper,children:[(0,d.jsx)(o.Icon,{component:a.default,size:`sm`}),(0,d.jsx)(`input`,{ref:m,className:c.default.input,placeholder:e,value:t??i,onChange:e=>{let t=e.target.value;s(t),u(0),n?.(t)},role:`combobox`,"aria-autocomplete":`list`,"aria-expanded":!0,"aria-controls":`wim-command-palette-listbox`,"aria-activedescendant":`wim-command-palette-item-${f}`}),r&&(0,d.jsx)(`div`,{className:c.default.inputRight,children:r})]})},v=({children:e})=>(0,d.jsx)(`div`,{className:c.default.list,role:`listbox`,id:`wim-command-palette-listbox`,children:e}),y=({children:e,heading:t})=>(0,d.jsxs)(`div`,{className:c.default.group,children:[t&&(0,d.jsx)(`div`,{className:c.default.groupHeading,children:t}),e]}),b=({children:e,onSelect:t,icon:n,shortcut:r,disabled:i})=>{let{activeIndex:a,setActiveIndex:o,registerItem:u,onOpenChange:f}=p(),[m]=(0,l.useState)(()=>u()),h=a===m;return(0,l.useEffect)(()=>{h&&!i&&document.getElementById(`wim-command-palette-item-${m}`)?.scrollIntoView({block:`nearest`})},[h,i,m]),(0,d.jsx)(s.BaseListItem,{role:`option`,id:`wim-command-palette-item-${m}`,"aria-selected":h,className:c.default.item,active:h,disabled:i,icon:n,rightSection:r&&(0,d.jsx)(`div`,{className:c.default.shortcut,children:r.map(e=>(0,d.jsx)(`kbd`,{className:c.default.kbd,children:e},e))}),onMouseEnter:()=>!i&&o(m),onClick:()=>{i||(t?.(),f(!1))},children:e})},x=({children:e})=>{let{t:n}=t.useWimTranslation(`components`),r=e??n(`command_palette.no_results`),{open:i,search:a}=p(),[o,s]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{if(i){let e=setTimeout(()=>{let e=document.querySelectorAll(`.${c.default.item}`);s(e.length===0)},0);return()=>clearTimeout(e)}},[i,a]),!i||!o?null:(0,d.jsx)(`div`,{className:c.default.empty,children:r})},S=({children:e})=>(0,d.jsx)(`div`,{className:c.default.footer,children:e});exports.CommandPalette=m,exports.CommandPaletteContent=g,exports.CommandPaletteEmpty=x,exports.CommandPaletteFooter=S,exports.CommandPaletteGroup=y,exports.CommandPaletteInput=_,exports.CommandPaletteItem=b,exports.CommandPaletteList=v,exports.CommandPaletteTrigger=h;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../overlay/Portal/Portal.cjs"),r=require("../../layout/Transition/Transition.cjs"),i=require("../../overlay/FocusTrap/FocusTrap.cjs"),a=require("../../../icon/search.cjs"),o=require("../../media/Icon/Icon.cjs"),s=require("../../_internal/BaseListItem/BaseListItem.cjs"),c=require("./command-palette.module.cjs");let l=require("react");l=e.__toESM(l,1);let u=require("classnames");u=e.__toESM(u,1);let d=require("react/jsx-runtime");var f=(0,l.createContext)(void 0),p=()=>{let e=(0,l.useContext)(f);if(!e)throw Error(`CommandPalette sub-components must be used within a CommandPalette`);return e},m=({children:e,open:t,onOpenChange:n})=>{let[r,i]=(0,l.useState)(!1),[a,o]=(0,l.useState)(``),[s,c]=(0,l.useState)(0),[u,p]=(0,l.useState)(!1),m=(0,l.useRef)(0),h=t!==void 0,g=h?t:r,_=(0,l.useCallback)(e=>{h||i(e),n?.(e),e||(o(``),c(0))},[h,n]),v=(0,l.useCallback)(()=>{let e=m.current;return m.current+=1,e},[]),y=(0,l.useCallback)(()=>{--m.current},[]);m.current=0,(0,l.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&e.key===`k`&&(e.preventDefault(),p(!0),_(!g)),e.key===`Escape`&&g&&_(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[g,_]);let b=l.default.useMemo(()=>({open:g,onOpenChange:_,search:a,setSearch:o,activeIndex:s,setActiveIndex:c,registerItem:v,unregisterItem:y,isKeyboardNavigating:u,setIsKeyboardNavigating:p}),[g,_,a,s,v,y,u]);return(0,d.jsx)(f.Provider,{value:b,children:e})},h=({children:e,asChild:t,className:n})=>{let{onOpenChange:r,setIsKeyboardNavigating:i}=p(),a=e=>{i(e.detail===0),r(!0)};return t&&l.default.isValidElement(e)?l.default.cloneElement(e,{onClick:t=>{e.props.onClick?.(t),a(t)},className:(0,u.default)(n,e.props.className)}):(0,d.jsx)(`button`,{className:(0,u.default)(c.default.trigger,n),onClick:a,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&i(!0)},children:e})},g=({children:e,className:a,"aria-label":o})=>{let{t:s}=t.useWimTranslation(`components`),{open:f,onOpenChange:m,activeIndex:h,setActiveIndex:g,isKeyboardNavigating:_,setIsKeyboardNavigating:v}=p(),y=(0,l.useRef)(null);return(0,d.jsx)(n.Portal,{children:(0,d.jsx)(r.Transition,{show:f,preset:`fade`,children:(0,d.jsx)(`div`,{role:`presentation`,className:c.default.overlay,onClick:e=>{e.target===e.currentTarget&&m(!1)},children:(0,d.jsx)(r.Transition,{show:f,preset:`scale`,children:(0,d.jsx)(i.FocusTrap,{active:f,children:(0,d.jsx)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-label":o??s(`command_palette.label`),className:(0,u.default)(`wim-command-palette`,c.default.content,a),onClick:e=>e.stopPropagation(),onMouseMove:e=>{if(!y.current){y.current={x:e.clientX,y:e.clientY};return}Math.sqrt((e.clientX-y.current.x)**2+(e.clientY-y.current.y)**2)>10&&v(!1),y.current={x:e.clientX,y:e.clientY}},"data-keyboard-nav":_,onKeyDown:e=>{v(!0);let t=e.currentTarget.querySelectorAll(`.${c.default.item}:not([aria-disabled="true"])`).length;t!==0&&(e.key===`ArrowDown`?(e.preventDefault(),g(e=>(e+1)%t)):e.key===`ArrowUp`?(e.preventDefault(),g(e=>(e-1+t)%t)):e.key===`Home`?(e.preventDefault(),g(0)):e.key===`End`?(e.preventDefault(),g(t-1)):e.key===`Enter`&&(e.preventDefault(),document.getElementById(`wim-command-palette-item-${h}`)?.click()))},children:e})})})})})})},_=({placeholder:e,value:t,onChange:n,rightSection:r})=>{let{search:i,setSearch:s,setActiveIndex:u,activeIndex:f}=p(),m=(0,l.useRef)(null);return(0,l.useEffect)(()=>{m.current?.focus()},[]),(0,d.jsxs)(`div`,{className:c.default.inputWrapper,children:[(0,d.jsx)(o.Icon,{component:a.default,size:`sm`}),(0,d.jsx)(`input`,{ref:m,className:c.default.input,placeholder:e,value:t??i,onChange:e=>{let t=e.target.value;s(t),u(0),n?.(t)},role:`combobox`,"aria-autocomplete":`list`,"aria-expanded":!0,"aria-controls":`wim-command-palette-listbox`,"aria-activedescendant":`wim-command-palette-item-${f}`}),r&&(0,d.jsx)(`div`,{className:c.default.inputRight,children:r})]})},v=({children:e})=>(0,d.jsx)(`div`,{className:c.default.list,role:`listbox`,id:`wim-command-palette-listbox`,children:e}),y=({children:e,heading:t})=>{let n=l.default.useId();return(0,d.jsxs)(`div`,{className:c.default.group,role:`group`,"aria-labelledby":t?n:void 0,children:[t&&(0,d.jsx)(`div`,{id:n,className:c.default.groupHeading,"aria-hidden":`true`,children:t}),e]})},b=({children:e,onSelect:t,icon:n,shortcut:r,disabled:i})=>{let{activeIndex:a,setActiveIndex:o,registerItem:u,onOpenChange:f}=p(),[m]=(0,l.useState)(()=>u()),h=a===m;return(0,l.useEffect)(()=>{h&&!i&&document.getElementById(`wim-command-palette-item-${m}`)?.scrollIntoView({block:`nearest`})},[h,i,m]),(0,d.jsx)(s.BaseListItem,{role:`option`,id:`wim-command-palette-item-${m}`,"aria-selected":h,className:c.default.item,active:h,disabled:i,icon:n,rightSection:r&&(0,d.jsx)(`div`,{className:c.default.shortcut,children:r.map(e=>(0,d.jsx)(`kbd`,{className:c.default.kbd,children:e},e))}),onMouseEnter:()=>!i&&o(m),onClick:()=>{i||(t?.(),f(!1))},children:e})},x=({children:e})=>{let{t:n}=t.useWimTranslation(`components`),r=e??n(`command_palette.no_results`),{open:i,search:a}=p(),[o,s]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{if(i){let e=setTimeout(()=>{let e=document.querySelectorAll(`.${c.default.item}`);s(e.length===0)},0);return()=>clearTimeout(e)}},[i,a]),!i||!o?null:(0,d.jsx)(`div`,{className:c.default.empty,children:r})},S=({children:e})=>(0,d.jsx)(`div`,{className:c.default.footer,children:e});exports.CommandPalette=m,exports.CommandPaletteContent=g,exports.CommandPaletteEmpty=x,exports.CommandPaletteFooter=S,exports.CommandPaletteGroup=y,exports.CommandPaletteInput=_,exports.CommandPaletteItem=b,exports.CommandPaletteList=v,exports.CommandPaletteTrigger=h;
@@ -155,13 +155,20 @@ var v = l(void 0), y = () => {
155
155
  role: "listbox",
156
156
  id: "wim-command-palette-listbox",
157
157
  children: e
158
- }), T = ({ children: e, heading: t }) => /* @__PURE__ */ _("div", {
159
- className: s.group,
160
- children: [t && /* @__PURE__ */ g("div", {
161
- className: s.groupHeading,
162
- children: t
163
- }), e]
164
- }), E = ({ children: e, onSelect: t, icon: n, shortcut: r, disabled: i }) => {
158
+ }), T = ({ children: e, heading: t }) => {
159
+ let n = c.useId();
160
+ return /* @__PURE__ */ _("div", {
161
+ className: s.group,
162
+ role: "group",
163
+ "aria-labelledby": t ? n : void 0,
164
+ children: [t && /* @__PURE__ */ g("div", {
165
+ id: n,
166
+ className: s.groupHeading,
167
+ "aria-hidden": "true",
168
+ children: t
169
+ }), e]
170
+ });
171
+ }, E = ({ children: e, onSelect: t, icon: n, shortcut: r, disabled: i }) => {
165
172
  let { activeIndex: a, setActiveIndex: c, registerItem: l, onOpenChange: u } = y(), [d] = m(() => l()), p = a === d;
166
173
  return f(() => {
167
174
  p && !i && document.getElementById(`wim-command-palette-item-${d}`)?.scrollIntoView({ block: "nearest" });
@@ -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("../../../hooks/useMergedRef.cjs"),i=require("../../_internal/BaseListItem/BaseListItem.cjs"),a=require("./context-menu.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"),l=require("@floating-ui/react");var u=o.default.createContext(null),d=({children:e,menu:i,className:d,disabled:f=!1,asChild:p=!1})=>{let[m,h]=(0,o.useState)(!1),[g,_]=(0,o.useState)(null),[v,y]=(0,o.useState)(!1),b=(0,o.useRef)([]),x=(0,o.useRef)(null),S=r.useMergedRef(x),{refs:C,floatingStyles:w,context:T}=(0,l.useFloating)({open:m,onOpenChange:e=>{h(e),e||(_(null),y(!1))},strategy:`fixed`,middleware:[(0,l.flip)(),(0,l.shift)({padding:10})],whileElementsMounted:l.autoUpdate}),{getFloatingProps:E,getItemProps:D}=(0,l.useInteractions)([(0,l.useDismiss)(T),(0,l.useRole)(T,{role:`menu`}),(0,l.useListNavigation)(T,{listRef:b,activeIndex:g,onNavigate:_,loop:!0})]),O=(e,t,n)=>{C.setReference({getBoundingClientRect(){return{width:0,height:0,x:e,y:t,top:t,left:e,right:e,bottom:t}}}),y(n),h(!0),_(0)},k=e=>{if(e.preventDefault(),f)return;let t=e.clientX===0&&e.clientY===0;O(e.clientX,e.clientY,t)},A=e=>{if(!f&&(e.key===`Enter`||e.key===` `)){e.preventDefault();let t=x.current?.getBoundingClientRect();t&&O(t.left+t.width/2,t.top+t.height/2,!0)}},j=()=>{h(!1)};return(0,c.jsxs)(p?t.Root:`div`,{ref:S,className:(0,s.default)(`wim-context-menu`,!p&&a.default.container,f&&a.default.disabled,d),onContextMenu:k,onKeyDown:A,tabIndex:f?-1:0,"data-testid":`context-menu-trigger`,children:[(0,c.jsx)(t.Slottable,{children:e}),(0,c.jsx)(l.FloatingPortal,{children:(0,c.jsx)(n.Transition,{show:m,preset:`fade`,children:(0,c.jsx)(l.FloatingFocusManager,{context:T,modal:!0,initialFocus:v?g??0:-1,children:(0,c.jsx)(`div`,{ref:C.setFloating,className:a.default.menu,style:w,...E({onClick:j,onKeyDown(e){e.key===`Escape`&&j()}}),children:(0,c.jsx)(u.Provider,{value:{activeIndex:g,getItemProps:D},children:(0,c.jsx)(l.FloatingList,{elementsRef:b,children:i})})})})})})]})},f=({children:e,onClick:t,disabled:n=!1,className:r,icon:d,danger:f=!1,asChild:p=!1})=>{let{ref:m,index:h}=(0,l.useListItem)(),g=(0,o.useContext)(u),_=()=>{n||t&&t()},v=g?g.getItemProps({index:h,onClick:()=>_(),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),_())}}):{},y={ref:m,className:(0,s.default)(a.default.item,r),disabled:n,danger:f,icon:d,role:`menuitem`,tabIndex:g?.activeIndex===h?0:-1,...v};return p?(0,c.jsx)(`li`,{role:`none`,children:(0,c.jsx)(i.BaseListItem,{asChild:!0,...y,children:e})}):(0,c.jsx)(i.BaseListItem,{...y,children:e})},p=({className:e})=>(0,c.jsx)(`div`,{className:(0,s.default)(a.default.divider,e),role:`separator`}),m=({children:e,title:t,className:n})=>(0,c.jsxs)(`div`,{role:`group`,className:n,"data-testid":`context-menu-group`,children:[t&&(0,c.jsx)(`div`,{className:a.default.groupTitle,"data-testid":`context-menu-group-title`,children:t}),e]}),h=e=>(0,c.jsx)(d,{...e});h.displayName=`ContextMenu`,h.Item=f,h.Divider=p,h.Group=m,exports.ContextMenu=h,exports.default=h,exports.ContextMenuDivider=p,exports.ContextMenuGroup=m,exports.ContextMenuItem=f;
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("../../../hooks/useMergedRef.cjs"),i=require("../../_internal/BaseListItem/BaseListItem.cjs"),a=require("./context-menu.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"),l=require("@floating-ui/react");var u=o.default.createContext(null),d=({children:e,menu:i,className:d,disabled:f=!1,asChild:p=!1})=>{let[m,h]=(0,o.useState)(!1),[g,_]=(0,o.useState)(null),[v,y]=(0,o.useState)(!1),b=(0,o.useRef)([]),x=(0,o.useRef)(null),S=r.useMergedRef(x),{refs:C,floatingStyles:w,context:T}=(0,l.useFloating)({open:m,onOpenChange:e=>{h(e),e||(_(null),y(!1))},strategy:`fixed`,middleware:[(0,l.flip)(),(0,l.shift)({padding:10})],whileElementsMounted:l.autoUpdate}),{getFloatingProps:E,getItemProps:D}=(0,l.useInteractions)([(0,l.useDismiss)(T),(0,l.useRole)(T,{role:`menu`}),(0,l.useListNavigation)(T,{listRef:b,activeIndex:g,onNavigate:_,loop:!0})]),O=(e,t,n)=>{C.setReference({getBoundingClientRect(){return{width:0,height:0,x:e,y:t,top:t,left:e,right:e,bottom:t}}}),y(n),h(!0),_(0)},k=e=>{if(e.preventDefault(),f)return;let t=e.clientX===0&&e.clientY===0;O(e.clientX,e.clientY,t)},A=e=>{if(!f&&(e.key===`Enter`||e.key===` `)){e.preventDefault();let t=x.current?.getBoundingClientRect();t&&O(t.left+t.width/2,t.top+t.height/2,!0)}},j=()=>{h(!1)};return(0,c.jsxs)(p?t.Root:`div`,{ref:S,className:(0,s.default)(`wim-context-menu`,!p&&a.default.container,f&&a.default.disabled,d),onContextMenu:k,onKeyDown:A,tabIndex:f?-1:0,"data-testid":`context-menu-trigger`,children:[(0,c.jsx)(t.Slottable,{children:e}),(0,c.jsx)(l.FloatingPortal,{children:(0,c.jsx)(n.Transition,{show:m,preset:`fade`,children:(0,c.jsx)(l.FloatingFocusManager,{context:T,modal:!0,initialFocus:v?g??0:-1,children:(0,c.jsx)(`div`,{ref:C.setFloating,className:a.default.menu,style:w,...E({onClick:j,onKeyDown(e){e.key===`Escape`&&j()}}),children:(0,c.jsx)(u.Provider,{value:{activeIndex:g,getItemProps:D},children:(0,c.jsx)(l.FloatingList,{elementsRef:b,children:i})})})})})})]})},f=({children:e,onClick:t,disabled:n=!1,className:r,icon:d,danger:f=!1,asChild:p=!1})=>{let{ref:m,index:h}=(0,l.useListItem)(),g=(0,o.useContext)(u),_=()=>{n||t&&t()},v=g?g.getItemProps({index:h,onClick:()=>_(),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),_())}}):{},y={ref:m,className:(0,s.default)(a.default.item,r),disabled:n,danger:f,icon:d,role:`menuitem`,tabIndex:g?.activeIndex===h?0:-1,...v};return p?(0,c.jsx)(`li`,{role:`none`,children:(0,c.jsx)(i.BaseListItem,{asChild:!0,...y,children:e})}):(0,c.jsx)(i.BaseListItem,{...y,children:e})},p=({className:e})=>(0,c.jsx)(`div`,{className:(0,s.default)(a.default.divider,e),role:`separator`}),m=({children:e,title:t,className:n})=>{let r=o.default.useId();return(0,c.jsxs)(`div`,{role:`group`,"aria-labelledby":t?r:void 0,className:n,"data-testid":`context-menu-group`,children:[t&&(0,c.jsx)(`div`,{id:r,className:a.default.groupTitle,"data-testid":`context-menu-group-title`,"aria-hidden":`true`,children:t}),e]})},h=e=>(0,c.jsx)(d,{...e});h.displayName=`ContextMenu`,h.Item=f,h.Divider=p,h.Group=m,exports.ContextMenu=h,exports.default=h,exports.ContextMenuDivider=p,exports.ContextMenuGroup=m,exports.ContextMenuItem=f;
@@ -124,16 +124,22 @@ var T = o.createContext(null), E = ({ children: i, menu: o, className: s, disabl
124
124
  }, O = ({ className: e }) => /* @__PURE__ */ d("div", {
125
125
  className: u(a.divider, e),
126
126
  role: "separator"
127
- }), k = ({ children: e, title: t, className: n }) => /* @__PURE__ */ f("div", {
128
- role: "group",
129
- className: n,
130
- "data-testid": "context-menu-group",
131
- children: [t && /* @__PURE__ */ d("div", {
132
- className: a.groupTitle,
133
- "data-testid": "context-menu-group-title",
134
- children: t
135
- }), e]
136
- }), A = (e) => /* @__PURE__ */ d(E, { ...e });
127
+ }), k = ({ children: e, title: t, className: n }) => {
128
+ let r = o.useId();
129
+ return /* @__PURE__ */ f("div", {
130
+ role: "group",
131
+ "aria-labelledby": t ? r : void 0,
132
+ className: n,
133
+ "data-testid": "context-menu-group",
134
+ children: [t && /* @__PURE__ */ d("div", {
135
+ id: r,
136
+ className: a.groupTitle,
137
+ "data-testid": "context-menu-group-title",
138
+ "aria-hidden": "true",
139
+ children: t
140
+ }), e]
141
+ });
142
+ }, A = (e) => /* @__PURE__ */ d(E, { ...e });
137
143
  A.displayName = "ContextMenu", A.Item = D, A.Divider = O, A.Group = k;
138
144
  //#endregion
139
145
  export { A as ContextMenu, A as default, O as ContextMenuDivider, k as ContextMenuGroup, D as ContextMenuItem };
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What this is
6
6
 
7
- **wimui** v0.24.2 — a React 19 component library: 218 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
7
+ **wimui** v0.24.4 — a React 19 component library: 218 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
8
8
 
9
9
  ## Install & required setup
10
10
 
package/dist/llms.txt CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What this is
6
6
 
7
- **wimui** v0.24.2 — a React 19 component library: 218 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
7
+ **wimui** v0.24.4 — a React 19 component library: 218 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
8
8
 
9
9
  ## Install & required setup
10
10