wimui 0.53.1 → 0.55.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 (36) hide show
  1. package/dist/components/data-display/Kanban/Kanban.cjs +1 -1
  2. package/dist/components/data-display/Kanban/Kanban.js +1 -1
  3. package/dist/components/form/CheckboxGroup/CheckboxGroup.cjs +1 -1
  4. package/dist/components/form/CheckboxGroup/CheckboxGroup.js +2 -2
  5. package/dist/components/form/CounterTextarea/CounterTextarea.cjs +1 -1
  6. package/dist/components/form/CounterTextarea/CounterTextarea.js +2 -2
  7. package/dist/components/form/ImageCropper/ImageCropper.cjs +1 -1
  8. package/dist/components/form/ImageCropper/ImageCropper.js +119 -93
  9. package/dist/components/form/ImageCropper/image-cropper.module.cjs +1 -1
  10. package/dist/components/form/ImageCropper/image-cropper.module.js +1 -1
  11. package/dist/components/form/RadioGroup/RadioGroup.cjs +1 -1
  12. package/dist/components/form/RadioGroup/RadioGroup.js +2 -2
  13. package/dist/components/form/SwitchGroup/SwitchGroup.cjs +1 -1
  14. package/dist/components/form/SwitchGroup/SwitchGroup.js +2 -2
  15. package/dist/components/form/TagInput/TagInput.cjs +1 -1
  16. package/dist/components/form/TagInput/TagInput.js +37 -36
  17. package/dist/components/form/ToggleGroup/ToggleGroup.cjs +1 -1
  18. package/dist/components/form/ToggleGroup/ToggleGroup.d.ts +2 -0
  19. package/dist/components/form/ToggleGroup/ToggleGroup.js +46 -46
  20. package/dist/components/overlay/Dialog/Dialog.cjs +1 -1
  21. package/dist/components/overlay/Dialog/Dialog.d.ts +14 -3
  22. package/dist/components/overlay/Dialog/Dialog.js +20 -19
  23. package/dist/components/overlay/Drawer/Drawer.cjs +1 -1
  24. package/dist/components/overlay/Drawer/Drawer.js +3 -3
  25. package/dist/i18n/generated/form.cjs +1 -1
  26. package/dist/i18n/generated/form.d.ts +1 -1
  27. package/dist/i18n/generated/form.js +6 -0
  28. package/dist/llms-full.txt +9 -3
  29. package/dist/llms.txt +1 -1
  30. package/dist/locales/en/form.json +2 -0
  31. package/dist/locales/ja/form.json +2 -0
  32. package/dist/locales/pt/form.json +2 -0
  33. package/dist/styles.css +1 -1
  34. package/dist/wimui.umd.css +1 -1
  35. package/dist/wimui.umd.js +5 -5
  36. 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("../../../i18n/useWimTranslation.cjs"),r=require("../../../i18n/generated/common.cjs"),i=require("../../layout/VisuallyHidden/VisuallyHidden.cjs"),a=require("../../../icon/more-horizontal.cjs"),o=require("../../media/Icon/Icon.cjs"),s=require("./kanban.module.cjs");let c=require("react");c=e.__toESM(c,1);let l=require("classnames");l=e.__toESM(l,1);let u=require("react/jsx-runtime");var d=(0,c.forwardRef)(({columns:e,onMove:i,onCardMove:a,className:o,forceMobileUI:d=!1,children:p,asChild:m=!1,...g},_)=>{let{t:y}=n.useWimTranslation(r.commonNs),[b,x]=(0,c.useState)(null),[S,C]=(0,c.useState)(null),[w,T]=(0,c.useState)(null),E=i||a,D=(e,t,n)=>{x({itemId:t,columnId:n}),e.dataTransfer.setData(`text/plain`,`${n}:${t}`),e.dataTransfer.effectAllowed=`move`},O=(e,t)=>{e.preventDefault(),C(t)},k=(e,t)=>{e.preventDefault(),C(null);let[n,r]=e.dataTransfer.getData(`text/plain`).split(`:`);E?.(r,n,t),x(null)},A=(e,t,n)=>{E?.(e,t,n),T(null)},j=c.default.useMemo(()=>{if(e)return e;let t=[];return c.default.Children.forEach(p,e=>{if(c.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},[p,e]),M=()=>p||(e?e.map(e=>(0,u.jsx)(v,{id:e.id,title:e.title,cardCount:e.items.length,children:e.items.map(e=>(0,u.jsx)(h,{id:e.id,children:e.content},e.id))},e.id)):null),N=m?t.Root:`div`;return(0,u.jsx)(f.Provider,{value:{draggedItem:b,dragOverColumn:S,setDragOverColumn:C,handleDragStart:D,handleDragOver:O,handleDrop:k,handleMobileMove:A,activeMobileMenu:w,setActiveMobileMenu:T,columns:j},children:(0,u.jsx)(N,{...g,ref:_,className:(0,l.default)(`wim-kanban`,s.default.root,d&&s.default.touch,o),role:`region`,"aria-label":y(`a11y.kanban_board`),tabIndex:0,children:(0,u.jsx)(t.Slottable,{children:M()})})})}),f=c.default.createContext(null),p=()=>{let e=c.default.useContext(f);if(!e)throw Error(`Kanban compound components must be used within Kanban`);return e},m=({id:e,title:t,cardCount:a,children:o,className:d})=>{let{dragOverColumn:f,handleDragOver:m,handleDrop:g,setDragOverColumn:v}=p(),{t:y}=n.useWimTranslation(r.commonNs),b=c.default.useId(),x=c.default.Children.toArray(o),S=x.length>0&&x.every(e=>c.default.isValidElement(e)&&e.type===h);return(0,u.jsxs)(`div`,{className:(0,l.default)(s.default.column,{[s.default.dragOver]:f===e},d),role:`group`,"aria-labelledby":t?b:void 0,onDragOver:t=>m(t,e),onDrop:t=>g(t,e),onDragLeave:()=>v(null),children:[(0,u.jsxs)(`div`,{className:s.default.columnHeader,children:[(0,u.jsx)(`div`,{id:b,className:s.default.columnTitle,"aria-hidden":`true`,children:t}),a!==void 0&&(0,u.jsxs)(`div`,{className:s.default.columnCount,children:[(0,u.jsx)(`span`,{"aria-hidden":`true`,children:a}),(0,u.jsx)(i.VisuallyHidden,{children:y(`a11y.kanban_column_count`,{count:a})})]})]}),(0,u.jsx)(`div`,{className:s.default.columnBody,role:S?`list`:void 0,children:(0,u.jsx)(_.Provider,{value:S,children:o})})]})},h=({id:e,children:t,disabled:i,className:d})=>{let{t:f}=n.useWimTranslation(r.commonNs),{draggedItem:m,handleDragStart:h,handleMobileMove:v,activeMobileMenu:y,setActiveMobileMenu:b,columns:x}=p(),S=c.default.useContext(g),C=c.default.useContext(_);return(0,u.jsxs)(`div`,{role:C?`listitem`:void 0,className:(0,l.default)(s.default.card,{[s.default.dragging]:m?.itemId===e,[s.default.disabled]:i},d),draggable:!i,onDragStart:t=>S&&h(t,e,S),children:[(0,u.jsx)(`div`,{className:s.default.cardContent,children:t}),(0,u.jsxs)(`div`,{className:s.default.cardMove,children:[(0,u.jsx)(`button`,{type:`button`,className:s.default.cardMoveBtn,onClick:()=>b(y===e?null:e),"aria-label":f(`a11y.move_card`),disabled:i,children:(0,u.jsx)(o.Icon,{component:a.default,size:`sm`})}),y===e&&(0,u.jsx)(`div`,{className:s.default.cardMoveMenu,role:`listbox`,"aria-label":f(`a11y.move_to_column`),children:x.filter(e=>e.id!==S).map(t=>(0,u.jsx)(`button`,{type:`button`,className:s.default.cardMoveOption,onClick:()=>S&&v(e,S,t.id),role:`option`,"aria-selected":!1,children:t.title},t.id))})]})]})},g=c.default.createContext(null),_=c.default.createContext(!1),v=e=>(0,u.jsx)(g.Provider,{value:e.id,children:(0,u.jsx)(m,{...e})}),y=d;y.Column=v,y.Card=h,d.displayName=`Kanban`,y.displayName=`KanbanBoard`,m.displayName=`KanbanColumn`,h.displayName=`KanbanCard`,v.displayName=`KanbanColumnWrapper`,exports.Kanban=d,exports.KanbanBoard=y,exports.default=y,exports.KanbanCard=h,exports.KanbanColumn=m;
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("../../../i18n/generated/common.cjs"),i=require("../../layout/VisuallyHidden/VisuallyHidden.cjs"),a=require("../../../icon/more-horizontal.cjs"),o=require("../../media/Icon/Icon.cjs"),s=require("./kanban.module.cjs");let c=require("react");c=e.__toESM(c,1);let l=require("classnames");l=e.__toESM(l,1);let u=require("react/jsx-runtime");var d=(0,c.forwardRef)(({columns:e,onMove:i,onCardMove:a,className:o,forceMobileUI:d=!1,children:p,asChild:m=!1,...g},_)=>{let{t:y}=n.useWimTranslation(r.commonNs),[b,x]=(0,c.useState)(null),[S,C]=(0,c.useState)(null),[w,T]=(0,c.useState)(null),E=i||a,D=(e,t,n)=>{x({itemId:t,columnId:n}),e.dataTransfer.setData(`text/plain`,`${n}:${t}`),e.dataTransfer.effectAllowed=`move`},O=(e,t)=>{e.preventDefault(),C(t)},k=(e,t)=>{e.preventDefault(),C(null);let[n,r]=e.dataTransfer.getData(`text/plain`).split(`:`);E?.(r,n,t),x(null)},A=(e,t,n)=>{E?.(e,t,n),T(null)},j=c.default.useMemo(()=>{if(e)return e;let t=[];return c.default.Children.forEach(p,e=>{if(c.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},[p,e]),M=()=>p||(e?e.map(e=>(0,u.jsx)(v,{id:e.id,title:e.title,cardCount:e.items.length,children:e.items.map(e=>(0,u.jsx)(h,{id:e.id,children:e.content},e.id))},e.id)):null),N=m?t.Root:`div`;return(0,u.jsx)(f.Provider,{value:{draggedItem:b,dragOverColumn:S,setDragOverColumn:C,handleDragStart:D,handleDragOver:O,handleDrop:k,handleMobileMove:A,activeMobileMenu:w,setActiveMobileMenu:T,columns:j},children:(0,u.jsx)(N,{...g,ref:_,className:(0,l.default)(`wim-kanban`,s.default.root,d&&s.default.touch,o),role:`region`,"aria-label":g[`aria-labelledby`]?void 0:g[`aria-label`]??y(`a11y.kanban_board`),tabIndex:0,children:(0,u.jsx)(t.Slottable,{children:M()})})})}),f=c.default.createContext(null),p=()=>{let e=c.default.useContext(f);if(!e)throw Error(`Kanban compound components must be used within Kanban`);return e},m=({id:e,title:t,cardCount:a,children:o,className:d})=>{let{dragOverColumn:f,handleDragOver:m,handleDrop:g,setDragOverColumn:v}=p(),{t:y}=n.useWimTranslation(r.commonNs),b=c.default.useId(),x=c.default.Children.toArray(o),S=x.length>0&&x.every(e=>c.default.isValidElement(e)&&e.type===h);return(0,u.jsxs)(`div`,{className:(0,l.default)(s.default.column,{[s.default.dragOver]:f===e},d),role:`group`,"aria-labelledby":t?b:void 0,onDragOver:t=>m(t,e),onDrop:t=>g(t,e),onDragLeave:()=>v(null),children:[(0,u.jsxs)(`div`,{className:s.default.columnHeader,children:[(0,u.jsx)(`div`,{id:b,className:s.default.columnTitle,"aria-hidden":`true`,children:t}),a!==void 0&&(0,u.jsxs)(`div`,{className:s.default.columnCount,children:[(0,u.jsx)(`span`,{"aria-hidden":`true`,children:a}),(0,u.jsx)(i.VisuallyHidden,{children:y(`a11y.kanban_column_count`,{count:a})})]})]}),(0,u.jsx)(`div`,{className:s.default.columnBody,role:S?`list`:void 0,children:(0,u.jsx)(_.Provider,{value:S,children:o})})]})},h=({id:e,children:t,disabled:i,className:d})=>{let{t:f}=n.useWimTranslation(r.commonNs),{draggedItem:m,handleDragStart:h,handleMobileMove:v,activeMobileMenu:y,setActiveMobileMenu:b,columns:x}=p(),S=c.default.useContext(g),C=c.default.useContext(_);return(0,u.jsxs)(`div`,{role:C?`listitem`:void 0,className:(0,l.default)(s.default.card,{[s.default.dragging]:m?.itemId===e,[s.default.disabled]:i},d),draggable:!i,onDragStart:t=>S&&h(t,e,S),children:[(0,u.jsx)(`div`,{className:s.default.cardContent,children:t}),(0,u.jsxs)(`div`,{className:s.default.cardMove,children:[(0,u.jsx)(`button`,{type:`button`,className:s.default.cardMoveBtn,onClick:()=>b(y===e?null:e),"aria-label":f(`a11y.move_card`),disabled:i,children:(0,u.jsx)(o.Icon,{component:a.default,size:`sm`})}),y===e&&(0,u.jsx)(`div`,{className:s.default.cardMoveMenu,role:`listbox`,"aria-label":f(`a11y.move_to_column`),children:x.filter(e=>e.id!==S).map(t=>(0,u.jsx)(`button`,{type:`button`,className:s.default.cardMoveOption,onClick:()=>S&&v(e,S,t.id),role:`option`,"aria-selected":!1,children:t.title},t.id))})]})]})},g=c.default.createContext(null),_=c.default.createContext(!1),v=e=>(0,u.jsx)(g.Provider,{value:e.id,children:(0,u.jsx)(m,{...e})}),y=d;y.Column=v,y.Card=h,d.displayName=`Kanban`,y.displayName=`KanbanBoard`,m.displayName=`KanbanColumn`,h.displayName=`KanbanCard`,v.displayName=`KanbanColumnWrapper`,exports.Kanban=d,exports.KanbanBoard=y,exports.default=y,exports.KanbanCard=h,exports.KanbanColumn=m;
@@ -64,7 +64,7 @@ var m = l(({ columns: i, onMove: a, onCardMove: o, className: l, forceMobileUI:
64
64
  ref: y,
65
65
  className: d("wim-kanban", s.root, p && s.touch, l),
66
66
  role: "region",
67
- "aria-label": b("a11y.kanban_board"),
67
+ "aria-label": _["aria-labelledby"] ? void 0 : _["aria-label"] ?? b("a11y.kanban_board"),
68
68
  tabIndex: 0,
69
69
  children: /* @__PURE__ */ f(t, { children: P() })
70
70
  })
@@ -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("../FieldTemplate/FieldTemplate.cjs"),r=require("../Checkbox/Checkbox.cjs"),i=require("./checkbox-group.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.forwardRef)(({options:e,value:c,defaultValue:l=[],onChange:u,direction:d=`vertical`,name:f,className:p,label:m,error:h,required:g,disabled:_,asChild:v=!1,children:y,...b},x)=>{let S=c!==void 0,[C,w]=(0,a.useState)(l),T=`wim-checkbox-group-${(0,a.useId)()}`,E=`${T}-label`,D=h?`${T}-error`:void 0,O=S?c:C,k=(e,t)=>{let n;n=t?[...O,e]:O.filter(t=>t!==e),S||w(n),u&&u(n)};return(0,s.jsx)(n.FieldTemplate,{label:m,error:h,required:g,labelId:E,errorId:D,className:p,children:(0,s.jsxs)(v?t.Root:`div`,{...b,ref:x,className:(0,o.default)(`wim-checkbox-group`,i.default.root,d===`horizontal`&&i.default.horizontal),role:`group`,"aria-labelledby":m?E:void 0,"aria-describedby":D,children:[(0,s.jsx)(t.Slottable,{children:e.map(e=>(0,s.jsx)(r.Checkbox,{value:e.value,checked:O.includes(e.value),disabled:_||e.disabled,error:!!h,name:f,onChange:t=>k(e.value,t.target.checked),children:e.label},e.value))}),y]})})});c.displayName=`CheckboxGroup`,exports.CheckboxGroup=c,exports.default=c;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../FieldTemplate/FieldTemplate.cjs"),r=require("../Checkbox/Checkbox.cjs"),i=require("./checkbox-group.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.forwardRef)(({options:e,value:c,defaultValue:l=[],onChange:u,direction:d=`vertical`,name:f,className:p,label:m,error:h,required:g,disabled:_,asChild:v=!1,children:y,...b},x)=>{let S=c!==void 0,[C,w]=(0,a.useState)(l),T=`wim-checkbox-group-${(0,a.useId)()}`,E=`${T}-label`,D=h?`${T}-error`:void 0,O=S?c:C,k=(e,t)=>{let n;n=t?[...O,e]:O.filter(t=>t!==e),S||w(n),u&&u(n)};return(0,s.jsx)(n.FieldTemplate,{label:m,error:h,required:g,labelId:E,errorId:D,className:p,children:(0,s.jsxs)(v?t.Root:`div`,{...b,ref:x,className:(0,o.default)(`wim-checkbox-group`,i.default.root,d===`horizontal`&&i.default.horizontal),role:`group`,"aria-labelledby":m?E:b[`aria-labelledby`],"aria-describedby":[b[`aria-describedby`],D].filter(Boolean).join(` `)||void 0,children:[(0,s.jsx)(t.Slottable,{children:e.map(e=>(0,s.jsx)(r.Checkbox,{value:e.value,checked:O.includes(e.value),disabled:_||e.disabled,error:!!h,name:f,onChange:t=>k(e.value,t.target.checked),children:e.label},e.value))}),y]})})});c.displayName=`CheckboxGroup`,exports.CheckboxGroup=c,exports.default=c;
@@ -24,8 +24,8 @@ var d = a(({ options: a, value: d, defaultValue: f = [], onChange: p, direction:
24
24
  ref: w,
25
25
  className: c("wim-checkbox-group", i.root, m === "horizontal" && i.horizontal),
26
26
  role: "group",
27
- "aria-labelledby": _ ? k : void 0,
28
- "aria-describedby": A,
27
+ "aria-labelledby": _ ? k : C["aria-labelledby"],
28
+ "aria-describedby": [C["aria-describedby"], A].filter(Boolean).join(" ") || void 0,
29
29
  children: [/* @__PURE__ */ l(t, { children: a.map((e) => /* @__PURE__ */ l(r, {
30
30
  value: e.value,
31
31
  checked: j.includes(e.value),
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../FieldTemplate/FieldTemplate.cjs"),n=require("../Textarea/Textarea.cjs"),r=require("../../_internal/FieldCharacterCount/FieldCharacterCount.cjs"),i=require("./counter-textarea.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(({showCount:e=!0,counterPosition:c=`bottom`,maxLength:l,onChange:u,value:d,defaultValue:f,className:p,fullWidth:m=!1,children:h,...g},_)=>{let[v,y]=(0,a.useState)(f??``),b=String(d===void 0?v:d).length,x=(0,a.useCallback)(e=>{d===void 0&&y(e.target.value),u?.(e)},[d,u]),S=a.default.useId(),C=g.id||`wim-counter-textarea-${S}`,w=g.label?`${C}-label`:void 0,T=g.error?`${C}-error`:void 0;return(0,s.jsx)(t.FieldTemplate,{label:g.label,error:g.error,required:g.required,layout:g.layout,labelId:w,htmlFor:C,errorId:T,className:(0,o.default)(`wim-counter-textarea`,p),children:(0,s.jsxs)(`div`,{className:(0,o.default)(i.default.container,c===`overlay`&&i.default[`container--overlay`],m&&i.default.fullWidth),children:[(0,s.jsx)(n.Textarea,{...g,ref:_,id:C,value:d,defaultValue:f,onChange:x,maxLength:l,fullWidth:m,label:void 0,error:void 0,className:i.default.textarea,"aria-labelledby":w,"aria-describedby":T,children:h}),e&&(0,s.jsx)(r.FieldCharacterCount,{count:b,maxLength:l,className:i.default.counter})]})})});c.displayName=`CounterTextarea`,exports.CounterTextarea=c;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../FieldTemplate/FieldTemplate.cjs"),n=require("../Textarea/Textarea.cjs"),r=require("../../_internal/FieldCharacterCount/FieldCharacterCount.cjs"),i=require("./counter-textarea.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(({showCount:e=!0,counterPosition:c=`bottom`,maxLength:l,onChange:u,value:d,defaultValue:f,className:p,fullWidth:m=!1,children:h,...g},_)=>{let[v,y]=(0,a.useState)(f??``),b=String(d===void 0?v:d).length,x=(0,a.useCallback)(e=>{d===void 0&&y(e.target.value),u?.(e)},[d,u]),S=a.default.useId(),C=g.id||`wim-counter-textarea-${S}`,w=g.label?`${C}-label`:void 0,T=g.error?`${C}-error`:void 0;return(0,s.jsx)(t.FieldTemplate,{label:g.label,error:g.error,required:g.required,layout:g.layout,labelId:w,htmlFor:C,errorId:T,className:(0,o.default)(`wim-counter-textarea`,p),children:(0,s.jsxs)(`div`,{className:(0,o.default)(i.default.container,c===`overlay`&&i.default[`container--overlay`],m&&i.default.fullWidth),children:[(0,s.jsx)(n.Textarea,{...g,ref:_,id:C,value:d,defaultValue:f,onChange:x,maxLength:l,fullWidth:m,label:void 0,error:void 0,className:i.default.textarea,"aria-labelledby":w??g[`aria-labelledby`],"aria-describedby":[g[`aria-describedby`],T].filter(Boolean).join(` `)||void 0,children:h}),e&&(0,s.jsx)(r.FieldCharacterCount,{count:b,maxLength:l,className:i.default.counter})]})})});c.displayName=`CounterTextarea`,exports.CounterTextarea=c;
@@ -34,8 +34,8 @@ var u = i.forwardRef(({ showCount: u = !0, counterPosition: d = "bottom", maxLen
34
34
  label: void 0,
35
35
  error: void 0,
36
36
  className: r.textarea,
37
- "aria-labelledby": D,
38
- "aria-describedby": O,
37
+ "aria-labelledby": D ?? y["aria-labelledby"],
38
+ "aria-describedby": [y["aria-describedby"], O].filter(Boolean).join(" ") || void 0,
39
39
  children: v
40
40
  }), u && /* @__PURE__ */ c(n, {
41
41
  count: C,
@@ -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("../Button/Button.cjs"),i=require("../../../i18n/generated/form.cjs"),a=require("../Slider/Slider.cjs"),o=require("../IconButton/IconButton.cjs"),s=require("../../overlay/Dialog/Dialog.cjs"),c=require("./image-cropper.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=l.default.forwardRef(({src:e,aspectRatio:f=1,circular:p=!1,onCrop:m,showRotation:h=!0,showZoom:g=!0,showApplyButton:_=!0,applyLabel:v,onApply:y,className:b,...x},S)=>{let{t:C}=t.useWimTranslation([i.formNs,n.commonNs]),[w,T]=(0,l.useState)(1),[E,D]=(0,l.useState)(0),[O,k]=(0,l.useState)({x:0,y:0}),[A,j]=(0,l.useState)(!1),[M,N]=(0,l.useState)({x:0,y:0}),[P,F]=(0,l.useState)(!1),I=(0,l.useRef)(null),L=(0,l.useRef)(null);(0,l.useEffect)(()=>{k({x:0,y:0}),T(1),D(0)},[e]);let R=e=>{j(!0),N({x:e.clientX-O.x,y:e.clientY-O.y})},z=(0,l.useCallback)(e=>{A&&k({x:e.clientX-M.x,y:e.clientY-M.y})},[A,M]),B=(0,l.useCallback)(()=>{j(!1)},[]);(0,l.useEffect)(()=>(A?(window.addEventListener(`mousemove`,z),window.addEventListener(`mouseup`,B)):(window.removeEventListener(`mousemove`,z),window.removeEventListener(`mouseup`,B)),()=>{window.removeEventListener(`mousemove`,z),window.removeEventListener(`mouseup`,B)}),[A,z,B]);let V=()=>{D(e=>(e+90)%360)},H=()=>{F(!0)},U=()=>{let t=e||``;m?.(t),y?.(t),F(!1)};return e?(0,d.jsxs)(`div`,{ref:S,className:(0,u.default)(`wim-image-cropper`,c.default.root,b),...x,children:[(0,d.jsxs)(`div`,{ref:L,className:c.default.viewer,onMouseDown:R,role:`presentation`,children:[(0,d.jsx)(`div`,{className:c.default.imageContainer,children:(0,d.jsx)(`img`,{ref:I,src:e,alt:C(`a11y.crop_target`),className:c.default.image,style:{transform:`translate(${O.x}px, ${O.y}px) rotate(${E}deg) scale(${w})`},draggable:!1})}),(0,d.jsx)(`div`,{className:c.default.overlay,children:(0,d.jsx)(`div`,{className:(0,u.default)(c.default.cropArea,{[c.default.circular]:p}),style:{aspectRatio:f}})})]}),(0,d.jsxs)(`div`,{className:c.default.controls,children:[g&&(0,d.jsx)(`div`,{className:c.default.zoomControl,children:(0,d.jsx)(a.Slider,{min:1,max:3,step:.1,value:w,onChange:e=>T(e),label:C(`image_cropper.zoom`),styles:{root:c.default.zoomSlider}})}),h&&(0,d.jsx)(`div`,{className:c.default.rotationControl,children:(0,d.jsx)(o.IconButton,{iconName:`RefreshIcon`,onClick:V,"aria-label":C(`image_cropper.rotate`),variant:`outline`,size:`sm`})}),_&&(0,d.jsx)(`div`,{className:c.default.applyControl,children:(0,d.jsx)(r.Button,{onClick:H,size:`sm`,variant:`solid`,children:v||C(`image_cropper.apply`)})})]}),(0,d.jsx)(s.Dialog,{open:P,onOpenChange:F,children:(0,d.jsxs)(s.DialogContent,{children:[(0,d.jsx)(s.DialogHeader,{children:(0,d.jsx)(s.DialogTitle,{children:C(`image_cropper.confirm_title`)})}),(0,d.jsx)(s.DialogDescription,{children:C(`image_cropper.confirm_message`)}),(0,d.jsxs)(s.DialogFooter,{children:[(0,d.jsx)(s.DialogClose,{asChild:!0,children:(0,d.jsx)(r.Button,{variant:`ghost`,children:C(`image_cropper.cancel`)})}),(0,d.jsx)(r.Button,{onClick:U,variant:`solid`,children:C(`image_cropper.confirm`)})]})]})})]}):(0,d.jsx)(`div`,{ref:S,className:(0,u.default)(`wim-image-cropper`,c.default.root,c.default.empty,b),...x,children:(0,d.jsx)(`div`,{className:c.default.emptyContent,children:C(`image_cropper.no_image`)})})});f.displayName=`ImageCropper`,exports.ImageCropper=f;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../i18n/generated/common.cjs"),r=require("../../layout/VisuallyHidden/VisuallyHidden.cjs"),i=require("../Button/Button.cjs"),a=require("../../../i18n/generated/form.cjs"),o=require("../Slider/Slider.cjs"),s=require("../IconButton/IconButton.cjs"),c=require("../../overlay/Dialog/Dialog.cjs"),l=require("./image-cropper.module.cjs");let u=require("react");u=e.__toESM(u,1);let d=require("classnames");d=e.__toESM(d,1);let f=require("react/jsx-runtime");var p=10,m=50,h=u.default.forwardRef(({src:e,aspectRatio:h=1,circular:g=!1,onCrop:_,showRotation:v=!0,showZoom:y=!0,showApplyButton:b=!0,applyLabel:x,onApply:S,className:C,...w},T)=>{let{t:E}=t.useWimTranslation([a.formNs,n.commonNs]),[D,O]=(0,u.useState)(1),[k,A]=(0,u.useState)(0),[j,M]=(0,u.useState)({x:0,y:0}),[N,P]=(0,u.useState)(!1),[F,I]=(0,u.useState)({x:0,y:0}),[L,R]=(0,u.useState)(!1),z=(0,u.useRef)(null),B=(0,u.useRef)(null),V=(0,u.useId)();(0,u.useEffect)(()=>{M({x:0,y:0}),O(1),A(0)},[e]);let H=e=>{P(!0),I({x:e.clientX-j.x,y:e.clientY-j.y})},U=(0,u.useCallback)(e=>{N&&M({x:e.clientX-F.x,y:e.clientY-F.y})},[N,F]),W=(0,u.useCallback)(()=>{P(!1)},[]);(0,u.useEffect)(()=>(N?(window.addEventListener(`mousemove`,U),window.addEventListener(`mouseup`,W)):(window.removeEventListener(`mousemove`,U),window.removeEventListener(`mouseup`,W)),()=>{window.removeEventListener(`mousemove`,U),window.removeEventListener(`mouseup`,W)}),[N,U,W]);let G=e=>{let t=e.shiftKey?m:p,n={ArrowLeft:[-t,0],ArrowRight:[t,0],ArrowUp:[0,-t],ArrowDown:[0,t]}[e.key];n?(e.preventDefault(),M(e=>({x:e.x+n[0],y:e.y+n[1]}))):e.key===`Home`&&(e.preventDefault(),M({x:0,y:0}))},K=()=>{A(e=>(e+90)%360)},q=()=>{R(!0)},J=()=>{let t=e||``;_?.(t),S?.(t),R(!1)};return e?(0,f.jsxs)(`div`,{ref:T,className:(0,d.default)(`wim-image-cropper`,l.default.root,C),...w,children:[(0,f.jsxs)(`div`,{ref:B,className:l.default.viewer,onMouseDown:H,onKeyDown:G,role:`application`,tabIndex:0,"aria-label":E(`image_cropper.position_label`),"aria-describedby":V,children:[(0,f.jsx)(r.VisuallyHidden,{id:V,children:E(`image_cropper.position_hint`)}),(0,f.jsx)(`div`,{className:l.default.imageContainer,children:(0,f.jsx)(`img`,{ref:z,src:e,alt:E(`a11y.crop_target`),className:l.default.image,style:{transform:`translate(${j.x}px, ${j.y}px) rotate(${k}deg) scale(${D})`},draggable:!1})}),(0,f.jsx)(`div`,{className:l.default.overlay,children:(0,f.jsx)(`div`,{className:(0,d.default)(l.default.cropArea,{[l.default.circular]:g}),style:{aspectRatio:h}})})]}),(0,f.jsxs)(`div`,{className:l.default.controls,children:[y&&(0,f.jsx)(`div`,{className:l.default.zoomControl,children:(0,f.jsx)(o.Slider,{min:1,max:3,step:.1,value:D,onChange:e=>O(e),label:E(`image_cropper.zoom`),styles:{root:l.default.zoomSlider}})}),v&&(0,f.jsx)(`div`,{className:l.default.rotationControl,children:(0,f.jsx)(s.IconButton,{iconName:`RefreshIcon`,onClick:K,"aria-label":E(`image_cropper.rotate`),variant:`outline`,size:`sm`})}),b&&(0,f.jsx)(`div`,{className:l.default.applyControl,children:(0,f.jsx)(i.Button,{onClick:q,size:`sm`,variant:`solid`,children:x||E(`image_cropper.apply`)})})]}),(0,f.jsx)(c.Dialog,{open:L,onOpenChange:R,children:(0,f.jsxs)(c.DialogContent,{children:[(0,f.jsx)(c.DialogHeader,{children:(0,f.jsx)(c.DialogTitle,{children:E(`image_cropper.confirm_title`)})}),(0,f.jsx)(c.DialogDescription,{children:E(`image_cropper.confirm_message`)}),(0,f.jsxs)(c.DialogFooter,{children:[(0,f.jsx)(c.DialogClose,{asChild:!0,children:(0,f.jsx)(i.Button,{variant:`ghost`,children:E(`image_cropper.cancel`)})}),(0,f.jsx)(i.Button,{onClick:J,variant:`solid`,children:E(`image_cropper.confirm`)})]})]})})]}):(0,f.jsx)(`div`,{ref:T,className:(0,d.default)(`wim-image-cropper`,l.default.root,l.default.empty,C),...w,children:(0,f.jsx)(`div`,{className:l.default.emptyContent,children:E(`image_cropper.no_image`)})})});h.displayName=`ImageCropper`,exports.ImageCropper=h;
@@ -1,152 +1,178 @@
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 { Button as n } from "../Button/Button.js";
5
- import { formNs as r } from "../../../i18n/generated/form.js";
6
- import { Slider as i } from "../Slider/Slider.js";
7
- import { IconButton as a } from "../IconButton/IconButton.js";
8
- import { Dialog as o, DialogClose as s, DialogContent as c, DialogDescription as l, DialogFooter as u, DialogHeader as d, DialogTitle as f } from "../../overlay/Dialog/Dialog.js";
4
+ import { VisuallyHidden as n } from "../../layout/VisuallyHidden/VisuallyHidden.js";
5
+ import { Button as r } from "../Button/Button.js";
6
+ import { formNs as i } from "../../../i18n/generated/form.js";
7
+ import { Slider as a } from "../Slider/Slider.js";
8
+ import { IconButton as o } from "../IconButton/IconButton.js";
9
+ import { Dialog as s, DialogClose as c, DialogContent as l, DialogDescription as u, DialogFooter as d, DialogHeader as f, DialogTitle as ee } from "../../overlay/Dialog/Dialog.js";
9
10
  import p from "./image-cropper.module.js";
10
- import m, { useCallback as h, useEffect as g, useRef as _, useState as v } from "react";
11
- import y from "classnames";
12
- import { jsx as b, jsxs as x } from "react/jsx-runtime";
11
+ import m, { useCallback as h, useEffect as g, useId as _, useRef as v, useState as y } from "react";
12
+ import b from "classnames";
13
+ import { jsx as x, jsxs as S } from "react/jsx-runtime";
13
14
  //#region src/components/form/ImageCropper/ImageCropper.tsx
14
- var S = m.forwardRef(({ src: m, aspectRatio: S = 1, circular: C = !1, onCrop: w, showRotation: T = !0, showZoom: E = !0, showApplyButton: D = !0, applyLabel: O, onApply: k, className: A, ...j }, M) => {
15
- let { t: N } = e([r, t]), [P, F] = v(1), [I, L] = v(0), [R, z] = v({
15
+ var C = 10, w = 50, T = m.forwardRef(({ src: m, aspectRatio: T = 1, circular: E = !1, onCrop: D, showRotation: O = !0, showZoom: te = !0, showApplyButton: k = !0, applyLabel: A, onApply: j, className: M, ...N }, P) => {
16
+ let { t: F } = e([i, t]), [I, L] = y(1), [R, z] = y(0), [B, V] = y({
16
17
  x: 0,
17
18
  y: 0
18
- }), [B, V] = v(!1), [H, U] = v({
19
+ }), [H, U] = y(!1), [W, G] = y({
19
20
  x: 0,
20
21
  y: 0
21
- }), [W, G] = v(!1), K = _(null), q = _(null);
22
+ }), [K, q] = y(!1), J = v(null), Y = v(null), X = _();
22
23
  g(() => {
23
- z({
24
+ V({
24
25
  x: 0,
25
26
  y: 0
26
- }), F(1), L(0);
27
+ }), L(1), z(0);
27
28
  }, [m]);
28
- let J = (e) => {
29
- V(!0), U({
30
- x: e.clientX - R.x,
31
- y: e.clientY - R.y
29
+ let Z = (e) => {
30
+ U(!0), G({
31
+ x: e.clientX - B.x,
32
+ y: e.clientY - B.y
32
33
  });
33
- }, Y = h((e) => {
34
- B && z({
35
- x: e.clientX - H.x,
36
- y: e.clientY - H.y
34
+ }, Q = h((e) => {
35
+ H && V({
36
+ x: e.clientX - W.x,
37
+ y: e.clientY - W.y
37
38
  });
38
- }, [B, H]), X = h(() => {
39
- V(!1);
39
+ }, [H, W]), $ = h(() => {
40
+ U(!1);
40
41
  }, []);
41
- g(() => (B ? (window.addEventListener("mousemove", Y), window.addEventListener("mouseup", X)) : (window.removeEventListener("mousemove", Y), window.removeEventListener("mouseup", X)), () => {
42
- window.removeEventListener("mousemove", Y), window.removeEventListener("mouseup", X);
42
+ g(() => (H ? (window.addEventListener("mousemove", Q), window.addEventListener("mouseup", $)) : (window.removeEventListener("mousemove", Q), window.removeEventListener("mouseup", $)), () => {
43
+ window.removeEventListener("mousemove", Q), window.removeEventListener("mouseup", $);
43
44
  }), [
44
- B,
45
- Y,
46
- X
45
+ H,
46
+ Q,
47
+ $
47
48
  ]);
48
- let Z = () => {
49
- L((e) => (e + 90) % 360);
50
- }, Q = () => {
51
- G(!0);
52
- }, $ = () => {
49
+ let ne = (e) => {
50
+ let t = e.shiftKey ? w : C, n = {
51
+ ArrowLeft: [-t, 0],
52
+ ArrowRight: [t, 0],
53
+ ArrowUp: [0, -t],
54
+ ArrowDown: [0, t]
55
+ }[e.key];
56
+ n ? (e.preventDefault(), V((e) => ({
57
+ x: e.x + n[0],
58
+ y: e.y + n[1]
59
+ }))) : e.key === "Home" && (e.preventDefault(), V({
60
+ x: 0,
61
+ y: 0
62
+ }));
63
+ }, re = () => {
64
+ z((e) => (e + 90) % 360);
65
+ }, ie = () => {
66
+ q(!0);
67
+ }, ae = () => {
53
68
  let e = m || "";
54
- w?.(e), k?.(e), G(!1);
69
+ D?.(e), j?.(e), q(!1);
55
70
  };
56
- return m ? /* @__PURE__ */ x("div", {
57
- ref: M,
58
- className: y("wim-image-cropper", p.root, A),
59
- ...j,
71
+ return m ? /* @__PURE__ */ S("div", {
72
+ ref: P,
73
+ className: b("wim-image-cropper", p.root, M),
74
+ ...N,
60
75
  children: [
61
- /* @__PURE__ */ x("div", {
62
- ref: q,
76
+ /* @__PURE__ */ S("div", {
77
+ ref: Y,
63
78
  className: p.viewer,
64
- onMouseDown: J,
65
- role: "presentation",
66
- children: [/* @__PURE__ */ b("div", {
67
- className: p.imageContainer,
68
- children: /* @__PURE__ */ b("img", {
69
- ref: K,
70
- src: m,
71
- alt: N("a11y.crop_target"),
72
- className: p.image,
73
- style: { transform: `translate(${R.x}px, ${R.y}px) rotate(${I}deg) scale(${P})` },
74
- draggable: !1
75
- })
76
- }), /* @__PURE__ */ b("div", {
77
- className: p.overlay,
78
- children: /* @__PURE__ */ b("div", {
79
- className: y(p.cropArea, { [p.circular]: C }),
80
- style: { aspectRatio: S }
79
+ onMouseDown: Z,
80
+ onKeyDown: ne,
81
+ role: "application",
82
+ tabIndex: 0,
83
+ "aria-label": F("image_cropper.position_label"),
84
+ "aria-describedby": X,
85
+ children: [
86
+ /* @__PURE__ */ x(n, {
87
+ id: X,
88
+ children: F("image_cropper.position_hint")
89
+ }),
90
+ /* @__PURE__ */ x("div", {
91
+ className: p.imageContainer,
92
+ children: /* @__PURE__ */ x("img", {
93
+ ref: J,
94
+ src: m,
95
+ alt: F("a11y.crop_target"),
96
+ className: p.image,
97
+ style: { transform: `translate(${B.x}px, ${B.y}px) rotate(${R}deg) scale(${I})` },
98
+ draggable: !1
99
+ })
100
+ }),
101
+ /* @__PURE__ */ x("div", {
102
+ className: p.overlay,
103
+ children: /* @__PURE__ */ x("div", {
104
+ className: b(p.cropArea, { [p.circular]: E }),
105
+ style: { aspectRatio: T }
106
+ })
81
107
  })
82
- })]
108
+ ]
83
109
  }),
84
- /* @__PURE__ */ x("div", {
110
+ /* @__PURE__ */ S("div", {
85
111
  className: p.controls,
86
112
  children: [
87
- E && /* @__PURE__ */ b("div", {
113
+ te && /* @__PURE__ */ x("div", {
88
114
  className: p.zoomControl,
89
- children: /* @__PURE__ */ b(i, {
115
+ children: /* @__PURE__ */ x(a, {
90
116
  min: 1,
91
117
  max: 3,
92
118
  step: .1,
93
- value: P,
94
- onChange: (e) => F(e),
95
- label: N("image_cropper.zoom"),
119
+ value: I,
120
+ onChange: (e) => L(e),
121
+ label: F("image_cropper.zoom"),
96
122
  styles: { root: p.zoomSlider }
97
123
  })
98
124
  }),
99
- T && /* @__PURE__ */ b("div", {
125
+ O && /* @__PURE__ */ x("div", {
100
126
  className: p.rotationControl,
101
- children: /* @__PURE__ */ b(a, {
127
+ children: /* @__PURE__ */ x(o, {
102
128
  iconName: "RefreshIcon",
103
- onClick: Z,
104
- "aria-label": N("image_cropper.rotate"),
129
+ onClick: re,
130
+ "aria-label": F("image_cropper.rotate"),
105
131
  variant: "outline",
106
132
  size: "sm"
107
133
  })
108
134
  }),
109
- D && /* @__PURE__ */ b("div", {
135
+ k && /* @__PURE__ */ x("div", {
110
136
  className: p.applyControl,
111
- children: /* @__PURE__ */ b(n, {
112
- onClick: Q,
137
+ children: /* @__PURE__ */ x(r, {
138
+ onClick: ie,
113
139
  size: "sm",
114
140
  variant: "solid",
115
- children: O || N("image_cropper.apply")
141
+ children: A || F("image_cropper.apply")
116
142
  })
117
143
  })
118
144
  ]
119
145
  }),
120
- /* @__PURE__ */ b(o, {
121
- open: W,
122
- onOpenChange: G,
123
- children: /* @__PURE__ */ x(c, { children: [
124
- /* @__PURE__ */ b(d, { children: /* @__PURE__ */ b(f, { children: N("image_cropper.confirm_title") }) }),
125
- /* @__PURE__ */ b(l, { children: N("image_cropper.confirm_message") }),
126
- /* @__PURE__ */ x(u, { children: [/* @__PURE__ */ b(s, {
146
+ /* @__PURE__ */ x(s, {
147
+ open: K,
148
+ onOpenChange: q,
149
+ children: /* @__PURE__ */ S(l, { children: [
150
+ /* @__PURE__ */ x(f, { children: /* @__PURE__ */ x(ee, { children: F("image_cropper.confirm_title") }) }),
151
+ /* @__PURE__ */ x(u, { children: F("image_cropper.confirm_message") }),
152
+ /* @__PURE__ */ S(d, { children: [/* @__PURE__ */ x(c, {
127
153
  asChild: !0,
128
- children: /* @__PURE__ */ b(n, {
154
+ children: /* @__PURE__ */ x(r, {
129
155
  variant: "ghost",
130
- children: N("image_cropper.cancel")
156
+ children: F("image_cropper.cancel")
131
157
  })
132
- }), /* @__PURE__ */ b(n, {
133
- onClick: $,
158
+ }), /* @__PURE__ */ x(r, {
159
+ onClick: ae,
134
160
  variant: "solid",
135
- children: N("image_cropper.confirm")
161
+ children: F("image_cropper.confirm")
136
162
  })] })
137
163
  ] })
138
164
  })
139
165
  ]
140
- }) : /* @__PURE__ */ b("div", {
141
- ref: M,
142
- className: y("wim-image-cropper", p.root, p.empty, A),
143
- ...j,
144
- children: /* @__PURE__ */ b("div", {
166
+ }) : /* @__PURE__ */ x("div", {
167
+ ref: P,
168
+ className: b("wim-image-cropper", p.root, p.empty, M),
169
+ ...N,
170
+ children: /* @__PURE__ */ x("div", {
145
171
  className: p.emptyContent,
146
- children: N("image_cropper.no_image")
172
+ children: F("image_cropper.no_image")
147
173
  })
148
174
  });
149
175
  });
150
- S.displayName = "ImageCropper";
176
+ T.displayName = "ImageCropper";
151
177
  //#endregion
152
- export { S as ImageCropper };
178
+ export { T as ImageCropper };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- var e=`_root_13usn_3`,t=`_viewer_13usn_13`,n=`_imageContainer_13usn_24`,r=`_image_13usn_24`,i=`_overlay_13usn_36`,a=`_cropArea_13usn_45`,o=`_circular_13usn_51`,s=`_controls_13usn_54`,c=`_zoomControl_13usn_62`,l=`_zoomSlider_13usn_65`,u=`_rotationControl_13usn_68`,d=`_applyControl_13usn_71`,f=`_empty_13usn_75`,p=`_emptyContent_13usn_84`,m={root:e,viewer:t,imageContainer:n,image:r,overlay:i,cropArea:a,circular:o,controls:s,zoomControl:c,zoomSlider:l,rotationControl:u,applyControl:d,empty:f,emptyContent:p};exports.applyControl=d,exports.circular=o,exports.controls=s,exports.cropArea=a,exports.default=m,exports.empty=f,exports.emptyContent=p,exports.image=r,exports.imageContainer=n,exports.overlay=i,exports.root=e,exports.rotationControl=u,exports.viewer=t,exports.zoomControl=c,exports.zoomSlider=l;
2
+ var e=`_root_jol5m_3`,t=`_viewer_jol5m_13`,n=`_imageContainer_jol5m_31`,r=`_image_jol5m_31`,i=`_overlay_jol5m_43`,a=`_cropArea_jol5m_52`,o=`_circular_jol5m_58`,s=`_controls_jol5m_61`,c=`_zoomControl_jol5m_69`,l=`_zoomSlider_jol5m_72`,u=`_rotationControl_jol5m_75`,d=`_applyControl_jol5m_78`,f=`_empty_jol5m_82`,p=`_emptyContent_jol5m_91`,m={root:e,viewer:t,imageContainer:n,image:r,overlay:i,cropArea:a,circular:o,controls:s,zoomControl:c,zoomSlider:l,rotationControl:u,applyControl:d,empty:f,emptyContent:p};exports.applyControl=d,exports.circular=o,exports.controls=s,exports.cropArea=a,exports.default=m,exports.empty=f,exports.emptyContent=p,exports.image=r,exports.imageContainer=n,exports.overlay=i,exports.root=e,exports.rotationControl=u,exports.viewer=t,exports.zoomControl=c,exports.zoomSlider=l;
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  //#region src/components/form/ImageCropper/image-cropper.module.scss
3
- var e = "_root_13usn_3", t = "_viewer_13usn_13", n = "_imageContainer_13usn_24", r = "_image_13usn_24", i = "_overlay_13usn_36", a = "_cropArea_13usn_45", o = "_circular_13usn_51", s = "_controls_13usn_54", c = "_zoomControl_13usn_62", l = "_zoomSlider_13usn_65", u = "_rotationControl_13usn_68", d = "_applyControl_13usn_71", f = "_empty_13usn_75", p = "_emptyContent_13usn_84", m = {
3
+ var e = "_root_jol5m_3", t = "_viewer_jol5m_13", n = "_imageContainer_jol5m_31", r = "_image_jol5m_31", i = "_overlay_jol5m_43", a = "_cropArea_jol5m_52", o = "_circular_jol5m_58", s = "_controls_jol5m_61", c = "_zoomControl_jol5m_69", l = "_zoomSlider_jol5m_72", u = "_rotationControl_jol5m_75", d = "_applyControl_jol5m_78", f = "_empty_jol5m_82", p = "_emptyContent_jol5m_91", m = {
4
4
  root: e,
5
5
  viewer: t,
6
6
  imageContainer: n,
@@ -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("../FieldTemplate/FieldTemplate.cjs"),r=require("../Radio/Radio.cjs"),i=require("./radio-group.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.forwardRef)(({options:e,value:c,defaultValue:l,onChange:u,direction:d=`vertical`,name:f,className:p,label:m,error:h,required:g,disabled:_,asChild:v=!1,children:y,...b},x)=>{let S=c!==void 0,[C,w]=(0,a.useState)(l),T=`wim-radio-group-${(0,a.useId)()}`,E=`${T}-label`,D=h?`${T}-error`:void 0,O=S?c:C,k=e=>{S||w(e),u&&u(e)};return(0,s.jsx)(n.FieldTemplate,{label:m,error:h,required:g,labelId:E,errorId:D,className:p,children:(0,s.jsxs)(v?t.Root:`div`,{...b,ref:x,className:(0,o.default)(`wim-radio-group`,i.default.root,d===`horizontal`&&i.default.horizontal),role:`radiogroup`,"aria-labelledby":m?E:void 0,"aria-describedby":D,"aria-required":g,"aria-invalid":!!h,children:[(0,s.jsx)(t.Slottable,{children:e.map(e=>(0,s.jsx)(r.Radio,{value:e.value,checked:O===e.value,disabled:_||e.disabled,error:!!h,name:f,onChange:()=>k(e.value),children:e.label},e.value))}),y]})})});c.displayName=`RadioGroup`,exports.RadioGroup=c,exports.default=c;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../FieldTemplate/FieldTemplate.cjs"),r=require("../Radio/Radio.cjs"),i=require("./radio-group.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.forwardRef)(({options:e,value:c,defaultValue:l,onChange:u,direction:d=`vertical`,name:f,className:p,label:m,error:h,required:g,disabled:_,asChild:v=!1,children:y,...b},x)=>{let S=c!==void 0,[C,w]=(0,a.useState)(l),T=`wim-radio-group-${(0,a.useId)()}`,E=`${T}-label`,D=h?`${T}-error`:void 0,O=S?c:C,k=e=>{S||w(e),u&&u(e)};return(0,s.jsx)(n.FieldTemplate,{label:m,error:h,required:g,labelId:E,errorId:D,className:p,children:(0,s.jsxs)(v?t.Root:`div`,{...b,ref:x,className:(0,o.default)(`wim-radio-group`,i.default.root,d===`horizontal`&&i.default.horizontal),role:`radiogroup`,"aria-labelledby":m?E:b[`aria-labelledby`],"aria-describedby":[b[`aria-describedby`],D].filter(Boolean).join(` `)||void 0,"aria-required":g,"aria-invalid":!!h,children:[(0,s.jsx)(t.Slottable,{children:e.map(e=>(0,s.jsx)(r.Radio,{value:e.value,checked:O===e.value,disabled:_||e.disabled,error:!!h,name:f,onChange:()=>k(e.value),children:e.label},e.value))}),y]})})});c.displayName=`RadioGroup`,exports.RadioGroup=c,exports.default=c;
@@ -23,8 +23,8 @@ var d = a(({ options: a, value: d, defaultValue: f, onChange: p, direction: m =
23
23
  ref: w,
24
24
  className: c("wim-radio-group", i.root, m === "horizontal" && i.horizontal),
25
25
  role: "radiogroup",
26
- "aria-labelledby": _ ? k : void 0,
27
- "aria-describedby": A,
26
+ "aria-labelledby": _ ? k : C["aria-labelledby"],
27
+ "aria-describedby": [C["aria-describedby"], A].filter(Boolean).join(" ") || void 0,
28
28
  "aria-required": y,
29
29
  "aria-invalid": !!v,
30
30
  children: [/* @__PURE__ */ l(t, { children: a.map((e) => /* @__PURE__ */ l(r, {
@@ -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("../FieldTemplate/FieldTemplate.cjs"),r=require("../Switch/Switch.cjs"),i=require("./switch-group.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.forwardRef)(({options:e,value:c,defaultValue:l=[],onChange:u,direction:d=`vertical`,name:f,className:p,label:m,error:h,required:g,disabled:_,asChild:v=!1,children:y,...b},x)=>{let S=c!==void 0,[C,w]=(0,a.useState)(l),T=`wim-switch-group-${(0,a.useId)()}`,E=`${T}-label`,D=h?`${T}-error`:void 0,O=S?c:C,k=(e,t)=>{let n;n=t?[...O||[],e]:(O||[]).filter(t=>t!==e),S||w(n),u&&u(n)};return(0,s.jsx)(n.FieldTemplate,{label:m,error:h,required:g,labelId:E,errorId:D,className:p,children:(0,s.jsxs)(v?t.Root:`div`,{...b,ref:x,className:(0,o.default)(`wim-switch-group`,i.default.root,d===`horizontal`&&i.default.horizontal),role:`group`,"aria-labelledby":m?E:void 0,"aria-describedby":D,children:[(0,s.jsx)(t.Slottable,{children:e.map(e=>(0,s.jsx)(r.Switch,{value:e.value,checked:(O||[]).includes(e.value),disabled:_||e.disabled,error:!!h,name:f,onChange:t=>k(e.value,t.target.checked),children:e.label},e.value))}),y]})})});c.displayName=`SwitchGroup`,exports.SwitchGroup=c,exports.default=c;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../FieldTemplate/FieldTemplate.cjs"),r=require("../Switch/Switch.cjs"),i=require("./switch-group.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.forwardRef)(({options:e,value:c,defaultValue:l=[],onChange:u,direction:d=`vertical`,name:f,className:p,label:m,error:h,required:g,disabled:_,asChild:v=!1,children:y,...b},x)=>{let S=c!==void 0,[C,w]=(0,a.useState)(l),T=`wim-switch-group-${(0,a.useId)()}`,E=`${T}-label`,D=h?`${T}-error`:void 0,O=S?c:C,k=(e,t)=>{let n;n=t?[...O||[],e]:(O||[]).filter(t=>t!==e),S||w(n),u&&u(n)};return(0,s.jsx)(n.FieldTemplate,{label:m,error:h,required:g,labelId:E,errorId:D,className:p,children:(0,s.jsxs)(v?t.Root:`div`,{...b,ref:x,className:(0,o.default)(`wim-switch-group`,i.default.root,d===`horizontal`&&i.default.horizontal),role:`group`,"aria-labelledby":m?E:b[`aria-labelledby`],"aria-describedby":[b[`aria-describedby`],D].filter(Boolean).join(` `)||void 0,children:[(0,s.jsx)(t.Slottable,{children:e.map(e=>(0,s.jsx)(r.Switch,{value:e.value,checked:(O||[]).includes(e.value),disabled:_||e.disabled,error:!!h,name:f,onChange:t=>k(e.value,t.target.checked),children:e.label},e.value))}),y]})})});c.displayName=`SwitchGroup`,exports.SwitchGroup=c,exports.default=c;
@@ -24,8 +24,8 @@ var d = a(({ options: a, value: d, defaultValue: f = [], onChange: p, direction:
24
24
  ref: w,
25
25
  className: c("wim-switch-group", i.root, m === "horizontal" && i.horizontal),
26
26
  role: "group",
27
- "aria-labelledby": _ ? k : void 0,
28
- "aria-describedby": A,
27
+ "aria-labelledby": _ ? k : C["aria-labelledby"],
28
+ "aria-describedby": [C["aria-describedby"], A].filter(Boolean).join(" ") || void 0,
29
29
  children: [/* @__PURE__ */ l(t, { children: a.map((e) => /* @__PURE__ */ l(r, {
30
30
  value: e.value,
31
31
  checked: (j || []).includes(e.value),
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../InputBase/InputBase.cjs"),r=require("../../../i18n/generated/form.cjs"),i=require("../FieldTemplate/FieldTemplate.cjs"),a=require("../../data-display/Tag/Tag.cjs"),o=require("./tag-input.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=s.default.forwardRef(({value:e,defaultValue:u=[],onChange:d,placeholder:f,disabled:p=!1,intent:m=`default`,variant:h=`outline`,fullWidth:g=!1,width:_,label:v,error:y,required:b,layout:x,allowDelete:S=!0,maxTags:C,className:w,...T},E)=>{let[D,O]=(0,s.useState)(u),[k,A]=(0,s.useState)(``),j=(0,s.useRef)(null),M=e!==void 0,N=M?e:D,P=f,F=e=>{A(e.target.value)},I=e=>{let t=e.trim();if(!t)return;if(N.includes(t)){A(``);return}if(C&&N.length>=C)return;let n=[...N,t];M||O(n),d?.(n),A(``)},L=e=>{if(p||!S)return;let t=N.filter(t=>t!==e);M||O(t),d?.(t)},R=e=>{e.key===`Enter`||e.key===`,`?(e.preventDefault(),I(k)):e.key===`Backspace`&&k===``&&N.length>0&&L(N[N.length-1])},z=()=>{j.current?.focus()},{t:B}=t.useWimTranslation(r.formNs),V=(0,s.useId)(),H=T.id||`wim-tag-input-${V}`,U=y?`${H}-error`:void 0,W=v?`${H}-label`:void 0,G=y?`danger`:m;return(0,l.jsx)(i.FieldTemplate,{ref:E,label:v,error:y,required:b,layout:x,labelId:W,htmlFor:H,errorId:U,className:(0,c.default)(`wim-tag-input`,w),children:(0,l.jsx)(n.InputBase,{intent:G,variant:h,fullWidth:g,width:_,disabled:p,className:o.default.inputBase,styles:{inner:o.default.inputBaseInner},children:(0,l.jsx)(`div`,{className:(0,c.default)(o.default.container,{[o.default.disabled]:p}),onClick:z,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&z()},role:`presentation`,children:(0,l.jsxs)(`div`,{className:o.default.tagList,children:[N.map(e=>(0,l.jsx)(a.Tag,{variant:`solid`,intent:`neutral`,size:`sm`,disabled:p,onDelete:S&&!p?()=>L(e):void 0,className:o.default.tag,children:e},e)),(0,l.jsx)(`input`,{id:H,ref:j,type:`text`,value:k,onChange:F,onKeyDown:R,disabled:p,placeholder:N.length===0?P:``,className:o.default.input,"aria-invalid":G===`danger`,"aria-describedby":U,"aria-labelledby":v?W:void 0,"aria-label":v?void 0:B(`tag_input.input_label`),"aria-required":b})]})})})})});u.displayName=`TagInput`,exports.TagInput=u;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../InputBase/InputBase.cjs"),r=require("../../../i18n/generated/form.cjs"),i=require("../FieldTemplate/FieldTemplate.cjs"),a=require("../../data-display/Tag/Tag.cjs"),o=require("./tag-input.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=s.default.forwardRef(({value:e,defaultValue:u=[],onChange:d,placeholder:f,disabled:p=!1,intent:m=`default`,variant:h=`outline`,fullWidth:g=!1,width:_,label:v,error:y,required:b,layout:x,allowDelete:S=!0,maxTags:C,className:w,id:T,"aria-label":E,"aria-labelledby":D,"aria-describedby":O,...k},A)=>{let[j,M]=(0,s.useState)(u),[N,P]=(0,s.useState)(``),F=(0,s.useRef)(null),I=e!==void 0,L=I?e:j,R=f,z=e=>{P(e.target.value)},B=e=>{let t=e.trim();if(!t)return;if(L.includes(t)){P(``);return}if(C&&L.length>=C)return;let n=[...L,t];I||M(n),d?.(n),P(``)},V=e=>{if(p||!S)return;let t=L.filter(t=>t!==e);I||M(t),d?.(t)},H=e=>{e.key===`Enter`||e.key===`,`?(e.preventDefault(),B(N)):e.key===`Backspace`&&N===``&&L.length>0&&V(L[L.length-1])},U=()=>{F.current?.focus()},{t:W}=t.useWimTranslation(r.formNs),G=(0,s.useId)(),K=T||`wim-tag-input-${G}`,q=y?`${K}-error`:void 0,J=v?`${K}-label`:void 0,Y=y?`danger`:m;return(0,l.jsx)(i.FieldTemplate,{...k,ref:A,label:v,error:y,required:b,layout:x,labelId:J,htmlFor:K,errorId:q,className:(0,c.default)(`wim-tag-input`,w),children:(0,l.jsx)(n.InputBase,{intent:Y,variant:h,fullWidth:g,width:_,disabled:p,className:o.default.inputBase,styles:{inner:o.default.inputBaseInner},children:(0,l.jsx)(`div`,{className:(0,c.default)(o.default.container,{[o.default.disabled]:p}),onClick:U,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&U()},role:`presentation`,children:(0,l.jsxs)(`div`,{className:o.default.tagList,children:[L.map(e=>(0,l.jsx)(a.Tag,{variant:`solid`,intent:`neutral`,size:`sm`,disabled:p,onDelete:S&&!p?()=>V(e):void 0,className:o.default.tag,children:e},e)),(0,l.jsx)(`input`,{id:K,ref:F,type:`text`,value:N,onChange:z,onKeyDown:H,disabled:p,placeholder:L.length===0?R:``,className:o.default.input,"aria-invalid":Y===`danger`,"aria-describedby":[O,q].filter(Boolean).join(` `)||void 0,"aria-labelledby":v?J:D,"aria-label":v||D?void 0:E??W(`tag_input.input_label`),"aria-required":b})]})})})})});u.displayName=`TagInput`,exports.TagInput=u;
@@ -9,40 +9,41 @@ import o, { useId as s, useRef as c, useState as l } from "react";
9
9
  import u from "classnames";
10
10
  import { jsx as d, jsxs as f } from "react/jsx-runtime";
11
11
  //#region src/components/form/TagInput/TagInput.tsx
12
- var p = o.forwardRef(({ value: o, defaultValue: p = [], onChange: m, placeholder: h, disabled: g = !1, intent: _ = "default", variant: v = "outline", fullWidth: y = !1, width: b, label: x, error: S, required: C, layout: w, allowDelete: T = !0, maxTags: E, className: D, ...O }, k) => {
13
- let [A, j] = l(p), [M, N] = l(""), P = c(null), F = o !== void 0, I = F ? o : A, L = h, R = (e) => {
14
- N(e.target.value);
15
- }, z = (e) => {
12
+ var p = o.forwardRef(({ value: o, defaultValue: p = [], onChange: m, placeholder: h, disabled: g = !1, intent: _ = "default", variant: v = "outline", fullWidth: y = !1, width: b, label: x, error: S, required: C, layout: w, allowDelete: T = !0, maxTags: E, className: D, id: O, "aria-label": k, "aria-labelledby": A, "aria-describedby": j, ...M }, N) => {
13
+ let [P, F] = l(p), [I, L] = l(""), R = c(null), z = o !== void 0, B = z ? o : P, V = h, H = (e) => {
14
+ L(e.target.value);
15
+ }, U = (e) => {
16
16
  let t = e.trim();
17
17
  if (!t) return;
18
- if (I.includes(t)) {
19
- N("");
18
+ if (B.includes(t)) {
19
+ L("");
20
20
  return;
21
21
  }
22
- if (E && I.length >= E) return;
23
- let n = [...I, t];
24
- F || j(n), m?.(n), N("");
25
- }, B = (e) => {
22
+ if (E && B.length >= E) return;
23
+ let n = [...B, t];
24
+ z || F(n), m?.(n), L("");
25
+ }, W = (e) => {
26
26
  if (g || !T) return;
27
- let t = I.filter((t) => t !== e);
28
- F || j(t), m?.(t);
29
- }, V = (e) => {
30
- e.key === "Enter" || e.key === "," ? (e.preventDefault(), z(M)) : e.key === "Backspace" && M === "" && I.length > 0 && B(I[I.length - 1]);
31
- }, H = () => {
32
- P.current?.focus();
33
- }, { t: U } = e(n), W = s(), G = O.id || `wim-tag-input-${W}`, K = S ? `${G}-error` : void 0, q = x ? `${G}-label` : void 0, J = S ? "danger" : _;
27
+ let t = B.filter((t) => t !== e);
28
+ z || F(t), m?.(t);
29
+ }, G = (e) => {
30
+ e.key === "Enter" || e.key === "," ? (e.preventDefault(), U(I)) : e.key === "Backspace" && I === "" && B.length > 0 && W(B[B.length - 1]);
31
+ }, K = () => {
32
+ R.current?.focus();
33
+ }, { t: q } = e(n), J = s(), Y = O || `wim-tag-input-${J}`, X = S ? `${Y}-error` : void 0, Z = x ? `${Y}-label` : void 0, Q = S ? "danger" : _;
34
34
  return /* @__PURE__ */ d(r, {
35
- ref: k,
35
+ ...M,
36
+ ref: N,
36
37
  label: x,
37
38
  error: S,
38
39
  required: C,
39
40
  layout: w,
40
- labelId: q,
41
- htmlFor: G,
42
- errorId: K,
41
+ labelId: Z,
42
+ htmlFor: Y,
43
+ errorId: X,
43
44
  className: u("wim-tag-input", D),
44
45
  children: /* @__PURE__ */ d(t, {
45
- intent: J,
46
+ intent: Q,
46
47
  variant: v,
47
48
  fullWidth: y,
48
49
  width: b,
@@ -51,35 +52,35 @@ var p = o.forwardRef(({ value: o, defaultValue: p = [], onChange: m, placeholder
51
52
  styles: { inner: a.inputBaseInner },
52
53
  children: /* @__PURE__ */ d("div", {
53
54
  className: u(a.container, { [a.disabled]: g }),
54
- onClick: H,
55
+ onClick: K,
55
56
  onKeyDown: (e) => {
56
- (e.key === "Enter" || e.key === " ") && H();
57
+ (e.key === "Enter" || e.key === " ") && K();
57
58
  },
58
59
  role: "presentation",
59
60
  children: /* @__PURE__ */ f("div", {
60
61
  className: a.tagList,
61
- children: [I.map((e) => /* @__PURE__ */ d(i, {
62
+ children: [B.map((e) => /* @__PURE__ */ d(i, {
62
63
  variant: "solid",
63
64
  intent: "neutral",
64
65
  size: "sm",
65
66
  disabled: g,
66
- onDelete: T && !g ? () => B(e) : void 0,
67
+ onDelete: T && !g ? () => W(e) : void 0,
67
68
  className: a.tag,
68
69
  children: e
69
70
  }, e)), /* @__PURE__ */ d("input", {
70
- id: G,
71
- ref: P,
71
+ id: Y,
72
+ ref: R,
72
73
  type: "text",
73
- value: M,
74
- onChange: R,
75
- onKeyDown: V,
74
+ value: I,
75
+ onChange: H,
76
+ onKeyDown: G,
76
77
  disabled: g,
77
- placeholder: I.length === 0 ? L : "",
78
+ placeholder: B.length === 0 ? V : "",
78
79
  className: a.input,
79
- "aria-invalid": J === "danger",
80
- "aria-describedby": K,
81
- "aria-labelledby": x ? q : void 0,
82
- "aria-label": x ? void 0 : U("tag_input.input_label"),
80
+ "aria-invalid": Q === "danger",
81
+ "aria-describedby": [j, X].filter(Boolean).join(" ") || void 0,
82
+ "aria-labelledby": x ? Z : A,
83
+ "aria-label": x || A ? void 0 : k ?? q("tag_input.input_label"),
83
84
  "aria-required": C
84
85
  })]
85
86
  })
@@ -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("../../media/Icon/Icon.cjs"),i=require("../FieldTemplate/FieldTemplate.cjs"),a=require("../../_internal/useIndicator.cjs"),o=require("./toggle-group.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)(({options:e,value:u,defaultValue:d,onChange:f,selectionMode:p=`single`,size:m=`md`,fullWidth:h=!1,className:g,"aria-label":_,"aria-labelledby":v,disabled:y=!1,label:b,error:x,required:S,layout:C=`vertical`,id:w,asChild:T=!1,children:E},D)=>{let O=s.default.useId(),k=w||`wim-toggle-group-${O}`,A=`${k}-label`,j=`${k}-error`,M=u!==void 0,[N,P]=(0,s.useState)(d??(p===`multiple`?[]:``)),F=M?u:N,{containerRef:I,sliderStyle:L,isReady:R}=a.useIndicator({activeSelector:`.${o.default.active}`,dependence:e.length}),z=(0,s.useRef)([]),B=e.findIndex(e=>!e.disabled),[V,H]=(0,s.useState)(()=>{if(p===`single`){let t=M?u:d;if(typeof t==`string`){let n=e.findIndex(e=>!e.disabled&&e.value===t);if(n>=0)return n}}return B>=0?B:0});(0,s.useEffect)(()=>{if(p===`single`&&M&&typeof u==`string`){let t=e.findIndex(e=>!e.disabled&&e.value===u);t>=0&&H(t)}},[u,p,M,e]);let U=e=>{let t;if(p===`multiple`){let n=Array.isArray(F)?F:[];t=n.includes(e)?n.filter(t=>t!==e):[...n,e]}else t=F===e?``:e;M||P(t),f?.(t)},W=e=>p===`multiple`?(Array.isArray(F)?F:[]).includes(e):F===e,G=(t,n)=>{for(let r=1;r<=e.length;r++){let i=(t+n*r+e.length)%e.length;if(!e[i].disabled)return i}return t},K=(t,n)=>{let r=null;if(n.key===`ArrowRight`||n.key===`ArrowDown`)n.preventDefault(),r=G(t,1);else if(n.key===`ArrowLeft`||n.key===`ArrowUp`)n.preventDefault(),r=G(t,-1);else if(n.key===`Home`)n.preventDefault(),r=B>=0?B:null;else if(n.key===`End`){n.preventDefault();for(let t=e.length-1;t>=0;t--)if(!e[t].disabled){r=t;break}}r!==null&&r!==t&&(H(r),z.current[r]?.focus(),p===`single`&&U(e[r].value))},q=p===`single`?`radiogroup`:`toolbar`,J=`${k}-item-0`;return(0,l.jsx)(i.FieldTemplate,{label:b,error:x,required:S,layout:C,labelId:A,htmlFor:J,errorId:j,className:g,children:(0,l.jsxs)(T?t.Root:`div`,{ref:n.useMergedRef(I,D),id:k,className:(0,c.default)(`wim-toggle-group`,o.default.root,o.default[m],o.default[p],h&&o.default.fullWidth,R&&o.default.ready,x&&o.default.danger),role:q,"aria-label":_,"aria-labelledby":b?A:v,"aria-orientation":`horizontal`,"aria-invalid":x?!0:void 0,"aria-describedby":x?j:void 0,children:[(0,l.jsx)(`div`,{className:(0,c.default)(o.default.slider,o.default[p],R&&o.default.ready),style:L,"aria-hidden":`true`}),e.map((e,t)=>{let n=`${k}-item-${t}`;return(0,l.jsxs)(`button`,{id:n,ref:e=>{z.current[t]=e},type:`button`,className:(0,c.default)(o.default.item,o.default[p],W(e.value)&&o.default.active,!e.label&&e.iconName&&o.default.iconOnly),onClick:()=>{H(t),U(e.value)},onKeyDown:e=>K(t,e),disabled:y||e.disabled,role:p===`single`?`radio`:`button`,"aria-checked":p===`single`?W(e.value):void 0,"aria-pressed":p===`multiple`?W(e.value):void 0,"aria-label":e.label||e.value,tabIndex:!e.disabled&&t===V?0:-1,children:[e.iconName&&(0,l.jsx)(r.Icon,{name:e.iconName,size:m,className:o.default.icon}),e.label&&(0,l.jsx)(`span`,{children:e.label})]},e.value)}),(0,l.jsx)(t.Slottable,{children:E})]})})});u.displayName=`ToggleGroup`,exports.ToggleGroup=u;
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("../../media/Icon/Icon.cjs"),i=require("../FieldTemplate/FieldTemplate.cjs"),a=require("../../_internal/useIndicator.cjs"),o=require("./toggle-group.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)(({options:e,value:u,defaultValue:d,onChange:f,selectionMode:p=`single`,size:m=`md`,fullWidth:h=!1,className:g,"aria-label":_,"aria-labelledby":v,"aria-describedby":y,disabled:b=!1,label:x,error:S,required:C,layout:w=`vertical`,id:T,asChild:E=!1,children:D},O)=>{let k=s.default.useId(),A=T||`wim-toggle-group-${k}`,j=`${A}-label`,M=`${A}-error`,N=u!==void 0,[P,F]=(0,s.useState)(d??(p===`multiple`?[]:``)),I=N?u:P,{containerRef:L,sliderStyle:R,isReady:z}=a.useIndicator({activeSelector:`.${o.default.active}`,dependence:e.length}),B=(0,s.useRef)([]),V=e.findIndex(e=>!e.disabled),[H,U]=(0,s.useState)(()=>{if(p===`single`){let t=N?u:d;if(typeof t==`string`){let n=e.findIndex(e=>!e.disabled&&e.value===t);if(n>=0)return n}}return V>=0?V:0});(0,s.useEffect)(()=>{if(p===`single`&&N&&typeof u==`string`){let t=e.findIndex(e=>!e.disabled&&e.value===u);t>=0&&U(t)}},[u,p,N,e]);let W=e=>{let t;if(p===`multiple`){let n=Array.isArray(I)?I:[];t=n.includes(e)?n.filter(t=>t!==e):[...n,e]}else t=I===e?``:e;N||F(t),f?.(t)},G=e=>p===`multiple`?(Array.isArray(I)?I:[]).includes(e):I===e,K=(t,n)=>{for(let r=1;r<=e.length;r++){let i=(t+n*r+e.length)%e.length;if(!e[i].disabled)return i}return t},q=(t,n)=>{let r=null;if(n.key===`ArrowRight`||n.key===`ArrowDown`)n.preventDefault(),r=K(t,1);else if(n.key===`ArrowLeft`||n.key===`ArrowUp`)n.preventDefault(),r=K(t,-1);else if(n.key===`Home`)n.preventDefault(),r=V>=0?V:null;else if(n.key===`End`){n.preventDefault();for(let t=e.length-1;t>=0;t--)if(!e[t].disabled){r=t;break}}r!==null&&r!==t&&(U(r),B.current[r]?.focus(),p===`single`&&W(e[r].value))},J=p===`single`?`radiogroup`:`toolbar`,Y=`${A}-item-0`;return(0,l.jsx)(i.FieldTemplate,{label:x,error:S,required:C,layout:w,labelId:j,htmlFor:Y,errorId:M,className:g,children:(0,l.jsxs)(E?t.Root:`div`,{ref:n.useMergedRef(L,O),id:A,className:(0,c.default)(`wim-toggle-group`,o.default.root,o.default[m],o.default[p],h&&o.default.fullWidth,z&&o.default.ready,S&&o.default.danger),role:J,"aria-label":_,"aria-labelledby":x?j:v,"aria-orientation":`horizontal`,"aria-invalid":S?!0:void 0,"aria-describedby":[y,S?M:void 0].filter(Boolean).join(` `)||void 0,children:[(0,l.jsx)(`div`,{className:(0,c.default)(o.default.slider,o.default[p],z&&o.default.ready),style:R,"aria-hidden":`true`}),e.map((e,t)=>{let n=`${A}-item-${t}`;return(0,l.jsxs)(`button`,{id:n,ref:e=>{B.current[t]=e},type:`button`,className:(0,c.default)(o.default.item,o.default[p],G(e.value)&&o.default.active,!e.label&&e.iconName&&o.default.iconOnly),onClick:()=>{U(t),W(e.value)},onKeyDown:e=>q(t,e),disabled:b||e.disabled,role:p===`single`?`radio`:`button`,"aria-checked":p===`single`?G(e.value):void 0,"aria-pressed":p===`multiple`?G(e.value):void 0,"aria-label":e.label||e.value,tabIndex:!e.disabled&&t===H?0:-1,children:[e.iconName&&(0,l.jsx)(r.Icon,{name:e.iconName,size:m,className:o.default.icon}),e.label&&(0,l.jsx)(`span`,{children:e.label})]},e.value)}),(0,l.jsx)(t.Slottable,{children:D})]})})});u.displayName=`ToggleGroup`,exports.ToggleGroup=u;