wimui 0.54.0 → 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 (35) 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.js +2 -2
  22. package/dist/components/overlay/Drawer/Drawer.cjs +1 -1
  23. package/dist/components/overlay/Drawer/Drawer.js +3 -3
  24. package/dist/i18n/generated/form.cjs +1 -1
  25. package/dist/i18n/generated/form.d.ts +1 -1
  26. package/dist/i18n/generated/form.js +6 -0
  27. package/dist/llms-full.txt +2 -1
  28. package/dist/llms.txt +1 -1
  29. package/dist/locales/en/form.json +2 -0
  30. package/dist/locales/ja/form.json +2 -0
  31. package/dist/locales/pt/form.json +2 -0
  32. package/dist/styles.css +1 -1
  33. package/dist/wimui.umd.css +1 -1
  34. package/dist/wimui.umd.js +5 -5
  35. package/package.json +1 -1
@@ -46,6 +46,8 @@ type ToggleGroupProps = {
46
46
  "aria-label"?: string;
47
47
  /** ID of the element that labels the group */
48
48
  "aria-labelledby"?: string;
49
+ /** ID of the element that describes the group, such as help text */
50
+ "aria-describedby"?: string;
49
51
  };
50
52
  /**
51
53
  * ToggleGroup component allows users to select one or multiple options from a set of buttons.
@@ -9,49 +9,49 @@ import s, { forwardRef as c, useEffect as l, useRef as u, useState as d } from "
9
9
  import f from "classnames";
10
10
  import { jsx as p, jsxs as m } from "react/jsx-runtime";
11
11
  //#region src/components/form/ToggleGroup/ToggleGroup.tsx
12
- var h = c(({ options: c, value: h, defaultValue: g, onChange: _, selectionMode: v = "single", size: y = "md", fullWidth: b = !1, className: x, "aria-label": S, "aria-labelledby": C, disabled: w = !1, label: T, error: E, required: D, layout: O = "vertical", id: k, asChild: A = !1, children: j }, M) => {
13
- let N = s.useId(), P = k || `wim-toggle-group-${N}`, F = `${P}-label`, I = `${P}-error`, L = h !== void 0, [R, z] = d(g ?? (v === "multiple" ? [] : "")), B = L ? h : R, { containerRef: V, sliderStyle: H, isReady: U } = a({
12
+ var h = c(({ options: c, value: h, defaultValue: g, onChange: _, selectionMode: v = "single", size: y = "md", fullWidth: b = !1, className: x, "aria-label": S, "aria-labelledby": C, "aria-describedby": w, disabled: T = !1, label: E, error: D, required: O, layout: k = "vertical", id: A, asChild: j = !1, children: M }, N) => {
13
+ let P = s.useId(), F = A || `wim-toggle-group-${P}`, I = `${F}-label`, L = `${F}-error`, R = h !== void 0, [z, B] = d(g ?? (v === "multiple" ? [] : "")), V = R ? h : z, { containerRef: H, sliderStyle: U, isReady: W } = a({
14
14
  activeSelector: `.${o.active}`,
15
15
  dependence: c.length
16
- }), W = u([]), G = c.findIndex((e) => !e.disabled), [K, q] = d(() => {
16
+ }), G = u([]), K = c.findIndex((e) => !e.disabled), [q, J] = d(() => {
17
17
  if (v === "single") {
18
- let e = L ? h : g;
18
+ let e = R ? h : g;
19
19
  if (typeof e == "string") {
20
20
  let t = c.findIndex((t) => !t.disabled && t.value === e);
21
21
  if (t >= 0) return t;
22
22
  }
23
23
  }
24
- return G >= 0 ? G : 0;
24
+ return K >= 0 ? K : 0;
25
25
  });
26
26
  l(() => {
27
- if (v === "single" && L && typeof h == "string") {
27
+ if (v === "single" && R && typeof h == "string") {
28
28
  let e = c.findIndex((e) => !e.disabled && e.value === h);
29
- e >= 0 && q(e);
29
+ e >= 0 && J(e);
30
30
  }
31
31
  }, [
32
32
  h,
33
33
  v,
34
- L,
34
+ R,
35
35
  c
36
36
  ]);
37
- let J = (e) => {
37
+ let Y = (e) => {
38
38
  let t;
39
39
  if (v === "multiple") {
40
- let n = Array.isArray(B) ? B : [];
40
+ let n = Array.isArray(V) ? V : [];
41
41
  t = n.includes(e) ? n.filter((t) => t !== e) : [...n, e];
42
- } else t = B === e ? "" : e;
43
- L || z(t), _?.(t);
44
- }, Y = (e) => v === "multiple" ? (Array.isArray(B) ? B : []).includes(e) : B === e, X = (e, t) => {
42
+ } else t = V === e ? "" : e;
43
+ R || B(t), _?.(t);
44
+ }, X = (e) => v === "multiple" ? (Array.isArray(V) ? V : []).includes(e) : V === e, Z = (e, t) => {
45
45
  for (let n = 1; n <= c.length; n++) {
46
46
  let r = (e + t * n + c.length) % c.length;
47
47
  if (!c[r].disabled) return r;
48
48
  }
49
49
  return e;
50
- }, Z = (e, t) => {
50
+ }, Q = (e, t) => {
51
51
  let n = null;
52
- if (t.key === "ArrowRight" || t.key === "ArrowDown") t.preventDefault(), n = X(e, 1);
53
- else if (t.key === "ArrowLeft" || t.key === "ArrowUp") t.preventDefault(), n = X(e, -1);
54
- else if (t.key === "Home") t.preventDefault(), n = G >= 0 ? G : null;
52
+ if (t.key === "ArrowRight" || t.key === "ArrowDown") t.preventDefault(), n = Z(e, 1);
53
+ else if (t.key === "ArrowLeft" || t.key === "ArrowUp") t.preventDefault(), n = Z(e, -1);
54
+ else if (t.key === "Home") t.preventDefault(), n = K >= 0 ? K : null;
55
55
  else if (t.key === "End") {
56
56
  t.preventDefault();
57
57
  for (let e = c.length - 1; e >= 0; e--) if (!c[e].disabled) {
@@ -59,52 +59,52 @@ var h = c(({ options: c, value: h, defaultValue: g, onChange: _, selectionMode:
59
59
  break;
60
60
  }
61
61
  }
62
- n !== null && n !== e && (q(n), W.current[n]?.focus(), v === "single" && J(c[n].value));
63
- }, Q = v === "single" ? "radiogroup" : "toolbar", $ = `${P}-item-0`;
62
+ n !== null && n !== e && (J(n), G.current[n]?.focus(), v === "single" && Y(c[n].value));
63
+ }, $ = v === "single" ? "radiogroup" : "toolbar", ee = `${F}-item-0`;
64
64
  return /* @__PURE__ */ p(i, {
65
- label: T,
66
- error: E,
67
- required: D,
68
- layout: O,
69
- labelId: F,
70
- htmlFor: $,
71
- errorId: I,
65
+ label: E,
66
+ error: D,
67
+ required: O,
68
+ layout: k,
69
+ labelId: I,
70
+ htmlFor: ee,
71
+ errorId: L,
72
72
  className: x,
73
- children: /* @__PURE__ */ m(A ? e : "div", {
74
- ref: n(V, M),
75
- id: P,
76
- className: f("wim-toggle-group", o.root, o[y], o[v], b && o.fullWidth, U && o.ready, E && o.danger),
77
- role: Q,
73
+ children: /* @__PURE__ */ m(j ? e : "div", {
74
+ ref: n(H, N),
75
+ id: F,
76
+ className: f("wim-toggle-group", o.root, o[y], o[v], b && o.fullWidth, W && o.ready, D && o.danger),
77
+ role: $,
78
78
  "aria-label": S,
79
- "aria-labelledby": T ? F : C,
79
+ "aria-labelledby": E ? I : C,
80
80
  "aria-orientation": "horizontal",
81
- "aria-invalid": E ? !0 : void 0,
82
- "aria-describedby": E ? I : void 0,
81
+ "aria-invalid": D ? !0 : void 0,
82
+ "aria-describedby": [w, D ? L : void 0].filter(Boolean).join(" ") || void 0,
83
83
  children: [
84
84
  /* @__PURE__ */ p("div", {
85
- className: f(o.slider, o[v], U && o.ready),
86
- style: H,
85
+ className: f(o.slider, o[v], W && o.ready),
86
+ style: U,
87
87
  "aria-hidden": "true"
88
88
  }),
89
89
  c.map((e, t) => {
90
- let n = `${P}-item-${t}`;
90
+ let n = `${F}-item-${t}`;
91
91
  return /* @__PURE__ */ m("button", {
92
92
  id: n,
93
93
  ref: (e) => {
94
- W.current[t] = e;
94
+ G.current[t] = e;
95
95
  },
96
96
  type: "button",
97
- className: f(o.item, o[v], Y(e.value) && o.active, !e.label && e.iconName && o.iconOnly),
97
+ className: f(o.item, o[v], X(e.value) && o.active, !e.label && e.iconName && o.iconOnly),
98
98
  onClick: () => {
99
- q(t), J(e.value);
99
+ J(t), Y(e.value);
100
100
  },
101
- onKeyDown: (e) => Z(t, e),
102
- disabled: w || e.disabled,
101
+ onKeyDown: (e) => Q(t, e),
102
+ disabled: T || e.disabled,
103
103
  role: v === "single" ? "radio" : "button",
104
- "aria-checked": v === "single" ? Y(e.value) : void 0,
105
- "aria-pressed": v === "multiple" ? Y(e.value) : void 0,
104
+ "aria-checked": v === "single" ? X(e.value) : void 0,
105
+ "aria-pressed": v === "multiple" ? X(e.value) : void 0,
106
106
  "aria-label": e.label || e.value,
107
- tabIndex: !e.disabled && t === K ? 0 : -1,
107
+ tabIndex: !e.disabled && t === q ? 0 : -1,
108
108
  children: [e.iconName && /* @__PURE__ */ p(r, {
109
109
  name: e.iconName,
110
110
  size: y,
@@ -112,7 +112,7 @@ var h = c(({ options: c, value: h, defaultValue: g, onChange: _, selectionMode:
112
112
  }), e.label && /* @__PURE__ */ p("span", { children: e.label })]
113
113
  }, e.value);
114
114
  }),
115
- /* @__PURE__ */ p(t, { children: j })
115
+ /* @__PURE__ */ p(t, { children: M })
116
116
  ]
117
117
  })
118
118
  });
@@ -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("../../_internal/OverlayBase.cjs"),r=require("./dialog.module.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("classnames");a=e.__toESM(a,1);let o=require("react/jsx-runtime");var s=(0,i.createContext)(void 0),c=()=>{let e=(0,i.useContext)(s);if(!e)throw Error(`Dialog sub-components must be used within Dialog`);return e},l=({children:e,open:t,onOpenChange:n,defaultOpen:r=!1,role:a=`dialog`,closeOnOverlayClick:c=a!==`alertdialog`})=>{let[l,u]=(0,i.useState)(r),d=t!==void 0,f=d?t:l,p=e=>{d||u(e),n?.(e)},m=`wim-dialog-${(0,i.useId)()}`,h=`${m}-title`,g=`${m}-description`;return(0,o.jsx)(s.Provider,{value:{titleId:h,descriptionId:g,open:f,onOpenChange:p,closeOnOverlayClick:c,role:a},children:e})};l.displayName=`Dialog`;var u=({children:e,className:n,onClick:r,asChild:i=!1,...a})=>{let{onOpenChange:s}=c();return(0,o.jsx)(i?t.Root:`button`,{type:`button`,className:n,onClick:e=>{r?.(e),s(!0)},...a,children:(0,o.jsx)(t.Slottable,{children:e})})};u.displayName=`Dialog.Trigger`;var d=({children:e,className:n,onClick:r,asChild:i=!1,...a})=>{let{onOpenChange:s}=c();return(0,o.jsx)(i?t.Root:`button`,{type:`button`,className:n,onClick:e=>{r?.(e),s(!1)},...a,children:(0,o.jsx)(t.Slottable,{children:e})})};d.displayName=`Dialog.Close`;var f=({children:e,className:i,asChild:s=!1,open:l,onOpenChange:u,role:d,...f})=>{let{open:p,onOpenChange:m,titleId:h,descriptionId:g,closeOnOverlayClick:_,role:v}=c(),y=l===void 0?p:l,b=u===void 0?m:u,x=s?t.Root:`div`;return(0,o.jsx)(n.OverlayBase,{...f,open:y,onOpenChange:b,closeOnOverlayClick:_,overlayClassName:r.default.overlay,role:d??v,"aria-labelledby":h,"aria-describedby":g,children:(0,o.jsx)(x,{className:(0,a.default)(`wim-dialog`,r.default.content,i),children:(0,o.jsx)(t.Slottable,{children:e})})})};f.displayName=`Dialog.Content`;var p=({children:e,className:t,...n})=>(0,o.jsx)(`div`,{className:(0,a.default)(r.default.header,t),"data-testid":`dialog-header`,...n,children:e});p.displayName=`Dialog.Header`;var m=({children:e,className:t,layout:n,...i})=>(0,o.jsx)(`div`,{className:(0,a.default)(r.default.footer,t),"data-layout":n,"data-testid":`dialog-footer`,...i,children:e});m.displayName=`Dialog.Footer`;var h=({children:e,className:t,...n})=>{let{titleId:i}=c();return(0,o.jsx)(`h2`,{id:i,className:(0,a.default)(r.default.title,t),"data-testid":`dialog-title`,...n,children:e})};h.displayName=`Dialog.Title`;var g=({children:e,className:t,...n})=>{let{descriptionId:i}=c();return(0,o.jsx)(`p`,{id:i,className:(0,a.default)(r.default.description,t),"data-testid":`dialog-description`,...n,children:e})};g.displayName=`Dialog.Description`;var _=e=>(0,o.jsx)(l,{...e});_.displayName=`Dialog`,_.Trigger=u,_.Content=f,_.Close=d,_.Header=p,_.Footer=m,_.Title=h,_.Description=g,exports.Dialog=_,exports.default=_,exports.DialogClose=d,exports.DialogContent=f,exports.DialogDescription=g,exports.DialogFooter=m,exports.DialogHeader=p,exports.DialogTitle=h,exports.DialogTrigger=u,exports.useDialog=c;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../_internal/OverlayBase.cjs"),r=require("./dialog.module.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("classnames");a=e.__toESM(a,1);let o=require("react/jsx-runtime");var s=(0,i.createContext)(void 0),c=()=>{let e=(0,i.useContext)(s);if(!e)throw Error(`Dialog sub-components must be used within Dialog`);return e},l=({children:e,open:t,onOpenChange:n,defaultOpen:r=!1,role:a=`dialog`,closeOnOverlayClick:c=a!==`alertdialog`})=>{let[l,u]=(0,i.useState)(r),d=t!==void 0,f=d?t:l,p=e=>{d||u(e),n?.(e)},m=`wim-dialog-${(0,i.useId)()}`,h=`${m}-title`,g=`${m}-description`;return(0,o.jsx)(s.Provider,{value:{titleId:h,descriptionId:g,open:f,onOpenChange:p,closeOnOverlayClick:c,role:a},children:e})};l.displayName=`Dialog`;var u=({children:e,className:n,onClick:r,asChild:i=!1,...a})=>{let{onOpenChange:s}=c();return(0,o.jsx)(i?t.Root:`button`,{type:`button`,className:n,onClick:e=>{r?.(e),s(!0)},...a,children:(0,o.jsx)(t.Slottable,{children:e})})};u.displayName=`Dialog.Trigger`;var d=({children:e,className:n,onClick:r,asChild:i=!1,...a})=>{let{onOpenChange:s}=c();return(0,o.jsx)(i?t.Root:`button`,{type:`button`,className:n,onClick:e=>{r?.(e),s(!1)},...a,children:(0,o.jsx)(t.Slottable,{children:e})})};d.displayName=`Dialog.Close`;var f=({children:e,className:i,asChild:s=!1,open:l,onOpenChange:u,role:d,...f})=>{let{open:p,onOpenChange:m,titleId:h,descriptionId:g,closeOnOverlayClick:_,role:v}=c(),y=l===void 0?p:l,b=u===void 0?m:u,x=s?t.Root:`div`;return(0,o.jsx)(n.OverlayBase,{...f,open:y,onOpenChange:b,closeOnOverlayClick:_,overlayClassName:r.default.overlay,role:d??v,"aria-labelledby":f[`aria-labelledby`]??h,"aria-describedby":[f[`aria-describedby`],g].filter(Boolean).join(` `),children:(0,o.jsx)(x,{className:(0,a.default)(`wim-dialog`,r.default.content,i),children:(0,o.jsx)(t.Slottable,{children:e})})})};f.displayName=`Dialog.Content`;var p=({children:e,className:t,...n})=>(0,o.jsx)(`div`,{className:(0,a.default)(r.default.header,t),"data-testid":`dialog-header`,...n,children:e});p.displayName=`Dialog.Header`;var m=({children:e,className:t,layout:n,...i})=>(0,o.jsx)(`div`,{className:(0,a.default)(r.default.footer,t),"data-layout":n,"data-testid":`dialog-footer`,...i,children:e});m.displayName=`Dialog.Footer`;var h=({children:e,className:t,...n})=>{let{titleId:i}=c();return(0,o.jsx)(`h2`,{id:i,className:(0,a.default)(r.default.title,t),"data-testid":`dialog-title`,...n,children:e})};h.displayName=`Dialog.Title`;var g=({children:e,className:t,...n})=>{let{descriptionId:i}=c();return(0,o.jsx)(`p`,{id:i,className:(0,a.default)(r.default.description,t),"data-testid":`dialog-description`,...n,children:e})};g.displayName=`Dialog.Description`;var _=e=>(0,o.jsx)(l,{...e});_.displayName=`Dialog`,_.Trigger=u,_.Content=f,_.Close=d,_.Header=p,_.Footer=m,_.Title=h,_.Description=g,exports.Dialog=_,exports.default=_,exports.DialogClose=d,exports.DialogContent=f,exports.DialogDescription=g,exports.DialogFooter=m,exports.DialogHeader=p,exports.DialogTitle=h,exports.DialogTrigger=u,exports.useDialog=c;
@@ -62,8 +62,8 @@ var h = ({ children: i, className: a, asChild: o = !1, open: s, onOpenChange: u,
62
62
  closeOnOverlayClick: v,
63
63
  overlayClassName: r.overlay,
64
64
  role: f ?? y,
65
- "aria-labelledby": g,
66
- "aria-describedby": _,
65
+ "aria-labelledby": p["aria-labelledby"] ?? g,
66
+ "aria-describedby": [p["aria-describedby"], _].filter(Boolean).join(" "),
67
67
  children: /* @__PURE__ */ l(S, {
68
68
  className: c("wim-dialog", r.content, a),
69
69
  children: /* @__PURE__ */ l(t, { children: i })
@@ -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("../../_internal/OverlayBase.cjs"),r=require("./drawer.module.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("classnames");a=e.__toESM(a,1);let o=require("react/jsx-runtime");var s=(0,i.createContext)(void 0),c=()=>{let e=(0,i.useContext)(s);if(!e)throw Error(`useDrawer must be used within a Drawer provider`);return e},l=({children:e,open:t,onOpenChange:n,defaultOpen:r=!1,side:a=`right`,slideIn:c=!0,slideOut:l=!0})=>{let[u,d]=(0,i.useState)(r),f=t!==void 0,p=f?t:u,m=e=>{f||d(e),n?.(e)},h=`wim-drawer-${(0,i.useId)()}`,g=`${h}-title`,_=`${h}-description`;return(0,o.jsx)(s.Provider,{value:{titleId:g,descriptionId:_,open:p,onOpenChange:m,side:a,slideIn:c,slideOut:l},children:e})},u=({children:e,className:n,onClick:r,asChild:i,...a})=>{let{onOpenChange:s}=c();return(0,o.jsx)(t.Root,{type:`button`,className:n,onClick:e=>{r?.(e),s(!0)},...a,children:(0,o.jsx)(t.Slottable,{children:e})})},d=({children:e,className:n,onClick:r,asChild:i,...a})=>{let{onOpenChange:s}=c();return(0,o.jsx)(t.Root,{type:`button`,className:n,onClick:e=>{r?.(e),s(!1)},"data-testid":`drawer-close`,...a,children:(0,o.jsx)(t.Slottable,{children:e})})},f=({children:e,className:i,asChild:s=!1,open:l,onOpenChange:u,side:d,slideIn:f,slideOut:p,showOverlay:m=!0,...h})=>{let{open:g,onOpenChange:_,titleId:v,descriptionId:y,side:b,slideIn:x,slideOut:S}=c(),C=l===void 0?g:l,w=u===void 0?_:u,T=d??b,E=f??x,D=p??S,O=s?t.Root:`div`;return(0,o.jsx)(n.OverlayBase,{...h,open:C,onOpenChange:w,overlayClassName:(0,a.default)(r.default.overlay,!m&&r.default.hideOverlay),contentClassName:(0,a.default)(`wim-drawer`,r.default.content,r.default[T],i),transitionProps:{preset:`slide-${T}`,enterPreset:E?void 0:`none`,leavePreset:D?void 0:`none`},role:`dialog`,"aria-labelledby":v,"aria-describedby":y,"data-side":T,children:(0,o.jsx)(O,{"data-testid":`drawer-content`,"data-side":T,children:(0,o.jsx)(`div`,{children:(0,o.jsx)(t.Slottable,{children:e})})})})},p=({children:e,className:t,...n})=>(0,o.jsx)(`div`,{className:(0,a.default)(r.default.header,t),"data-testid":`drawer-header`,...n,children:e}),m=({children:e,className:t,...n})=>(0,o.jsx)(`div`,{className:(0,a.default)(r.default.body,t),"data-testid":`drawer-body`,...n,children:e}),h=({children:e,className:t,...n})=>(0,o.jsx)(`div`,{className:(0,a.default)(r.default.footer,t),"data-testid":`drawer-footer`,...n,children:e}),g=({children:e,className:t,...n})=>{let{titleId:i}=c();return(0,o.jsx)(`h2`,{id:i,className:(0,a.default)(r.default.title,t),"data-testid":`drawer-title`,...n,children:e})},_=({children:e,className:t,...n})=>{let{descriptionId:i}=c();return(0,o.jsx)(`p`,{id:i,className:(0,a.default)(r.default.description,t),"data-testid":`drawer-description`,...n,children:e})},v=e=>(0,o.jsx)(l,{...e});v.displayName=`Drawer`,v.Trigger=u,v.Content=f,v.Header=p,v.Footer=h,v.Title=g,v.Description=_,v.Close=d,exports.Drawer=v,exports.default=v,exports.DrawerBody=m,exports.DrawerClose=d,exports.DrawerContent=f,exports.DrawerDescription=_,exports.DrawerFooter=h,exports.DrawerHeader=p,exports.DrawerTitle=g,exports.DrawerTrigger=u,exports.useDrawer=c;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../_internal/OverlayBase.cjs"),r=require("./drawer.module.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("classnames");a=e.__toESM(a,1);let o=require("react/jsx-runtime");var s=(0,i.createContext)(void 0),c=()=>{let e=(0,i.useContext)(s);if(!e)throw Error(`useDrawer must be used within a Drawer provider`);return e},l=({children:e,open:t,onOpenChange:n,defaultOpen:r=!1,side:a=`right`,slideIn:c=!0,slideOut:l=!0})=>{let[u,d]=(0,i.useState)(r),f=t!==void 0,p=f?t:u,m=e=>{f||d(e),n?.(e)},h=`wim-drawer-${(0,i.useId)()}`,g=`${h}-title`,_=`${h}-description`;return(0,o.jsx)(s.Provider,{value:{titleId:g,descriptionId:_,open:p,onOpenChange:m,side:a,slideIn:c,slideOut:l},children:e})},u=({children:e,className:n,onClick:r,asChild:i,...a})=>{let{onOpenChange:s}=c();return(0,o.jsx)(t.Root,{type:`button`,className:n,onClick:e=>{r?.(e),s(!0)},...a,children:(0,o.jsx)(t.Slottable,{children:e})})},d=({children:e,className:n,onClick:r,asChild:i,...a})=>{let{onOpenChange:s}=c();return(0,o.jsx)(t.Root,{type:`button`,className:n,onClick:e=>{r?.(e),s(!1)},"data-testid":`drawer-close`,...a,children:(0,o.jsx)(t.Slottable,{children:e})})},f=({children:e,className:i,asChild:s=!1,open:l,onOpenChange:u,side:d,slideIn:f,slideOut:p,showOverlay:m=!0,...h})=>{let{open:g,onOpenChange:_,titleId:v,descriptionId:y,side:b,slideIn:x,slideOut:S}=c(),C=l===void 0?g:l,w=u===void 0?_:u,T=d??b,E=f??x,D=p??S,O=s?t.Root:`div`;return(0,o.jsx)(n.OverlayBase,{...h,open:C,onOpenChange:w,overlayClassName:(0,a.default)(r.default.overlay,!m&&r.default.hideOverlay),contentClassName:(0,a.default)(`wim-drawer`,r.default.content,r.default[T],i),transitionProps:{preset:`slide-${T}`,enterPreset:E?void 0:`none`,leavePreset:D?void 0:`none`},role:h.role??`dialog`,"aria-labelledby":h[`aria-labelledby`]??v,"aria-describedby":[h[`aria-describedby`],y].filter(Boolean).join(` `),"data-side":T,children:(0,o.jsx)(O,{"data-testid":`drawer-content`,"data-side":T,children:(0,o.jsx)(`div`,{children:(0,o.jsx)(t.Slottable,{children:e})})})})},p=({children:e,className:t,...n})=>(0,o.jsx)(`div`,{className:(0,a.default)(r.default.header,t),"data-testid":`drawer-header`,...n,children:e}),m=({children:e,className:t,...n})=>(0,o.jsx)(`div`,{className:(0,a.default)(r.default.body,t),"data-testid":`drawer-body`,...n,children:e}),h=({children:e,className:t,...n})=>(0,o.jsx)(`div`,{className:(0,a.default)(r.default.footer,t),"data-testid":`drawer-footer`,...n,children:e}),g=({children:e,className:t,...n})=>{let{titleId:i}=c();return(0,o.jsx)(`h2`,{id:i,className:(0,a.default)(r.default.title,t),"data-testid":`drawer-title`,...n,children:e})},_=({children:e,className:t,...n})=>{let{descriptionId:i}=c();return(0,o.jsx)(`p`,{id:i,className:(0,a.default)(r.default.description,t),"data-testid":`drawer-description`,...n,children:e})},v=e=>(0,o.jsx)(l,{...e});v.displayName=`Drawer`,v.Trigger=u,v.Content=f,v.Header=p,v.Footer=h,v.Title=g,v.Description=_,v.Close=d,exports.Drawer=v,exports.default=v,exports.DrawerBody=m,exports.DrawerClose=d,exports.DrawerContent=f,exports.DrawerDescription=_,exports.DrawerFooter=h,exports.DrawerHeader=p,exports.DrawerTitle=g,exports.DrawerTrigger=u,exports.useDrawer=c;
@@ -62,9 +62,9 @@ var u = i(void 0), d = () => {
62
62
  enterPreset: D ? void 0 : "none",
63
63
  leavePreset: O ? void 0 : "none"
64
64
  },
65
- role: "dialog",
66
- "aria-labelledby": y,
67
- "aria-describedby": b,
65
+ role: g.role ?? "dialog",
66
+ "aria-labelledby": g["aria-labelledby"] ?? y,
67
+ "aria-describedby": [g["aria-describedby"], b].filter(Boolean).join(" "),
68
68
  "data-side": E,
69
69
  children: /* @__PURE__ */ l(k, {
70
70
  "data-testid": "drawer-content",
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- var e={name:`form`,resources:{en:{prompt_input:{send_label:`Send`,attach_label:`Attach file`,aria_label:`Prompt input`},ai_feedback:{positive_label:`Helpful`,negative_label:`Not helpful`,regenerate_label:`Regenerate response`,group_label:`Response feedback`},source_citation:{source_label:`Source {{index}}`},code_block:{copy_label:`Copy code`,copied_label:`Copied!`,expand_label:`Expand`,collapse_label:`Collapse`},button:{clear:`Clear`},dropzone:{description:`Drag and drop files here, or click to select`},fileupload:{button:`Choose file`,no_file:`No file selected`},form:{optional:`Optional`,required:`Required`},phone:{select_country:`Select country`,countries:{US:`United States`,JP:`Japan`,GB:`United Kingdom`,AU:`Australia`,DE:`Germany`,FR:`France`,CN:`China`,KR:`South Korea`,IN:`India`,BR:`Brazil`}},select:{no_options:`No options found`},tag_input:{input_label:`Tags`},smart_search:{input_label:`Search`},markdown:{task_done:`Completed task`,task_todo:`Incomplete task`},transfer:{no_data:`No data`,move_to_source:`Move to available`,move_to_target:`Move to selected`,source:`Available`,status_moved_to_source:`{{count}} item(s) moved to available`,status_moved_to_target:`{{count}} item(s) moved to selected`,target:`Selected`},password_strength:{very_weak:`Very weak`,weak:`Weak`,fair:`Fair`,strong:`Strong`,very_strong:`Very strong`},image_cropper:{no_image:`No image selected`,zoom:`Zoom`,rotate:`Rotate`,apply:`Apply Crop`,confirm_title:`Apply Crop`,confirm_message:`Do you want to save the image with this crop?`,confirm:`Apply`,cancel:`Cancel`},code_diff_viewer:{copy_label:`Copy`,copied_label:`Copied!`,apply:`Apply`,applied:`Applied`,reject:`Reject`,split_view:`Split`,unified_view:`Unified`},terminal:{copy_label:`Copy output`,copied_label:`Copied!`,clear_label:`Clear`},agent_status:{idle:`Idle`,thinking:`Thinking…`,running:`Running…`,waiting:`Waiting…`,done:`Done`,error:`Error`},artifact_overlay:{minimize:`Minimize`,maximize:`Maximize`}},ja:{agent_status:{done:`完了`,error:`エラー`,idle:`待機中`,running:`実行中…`,thinking:`思考中…`,waiting:`待機中…`},ai_feedback:{group_label:`回答へのフィードバック`,negative_label:`役に立たなかった`,positive_label:`役に立った`,regenerate_label:`再生成`},artifact_overlay:{maximize:`最大化`,minimize:`最小化`},button:{clear:`クリア`},code_block:{collapse_label:`折りたたむ`,copied_label:`コピーしました`,copy_label:`コードをコピー`,expand_label:`展開`},code_diff_viewer:{applied:`適用済み`,apply:`適用`,copied_label:`コピーしました!`,copy_label:`コピー`,reject:`却下`,split_view:`分割`,unified_view:`統合`},dropzone:{description:`ここにファイルをドラッグ&ドロップ、またはクリックして選択`},fileupload:{button:`ファイルを選択`,no_file:`選択されていません`},form:{optional:`任意`,required:`必須`},image_cropper:{apply:`クロップを適用`,cancel:`キャンセル`,confirm:`適用`,confirm_message:`この範囲で画像を保存しますか?`,confirm_title:`クロップの適用`,no_image:`画像が選択されていません`,rotate:`回転`,zoom:`ズーム`},password_strength:{fair:`普通`,strong:`強い`,very_strong:`とても強い`,very_weak:`とても弱い`,weak:`弱い`},phone:{select_country:`国を選択`,countries:{US:`アメリカ合衆国`,JP:`日本`,GB:`イギリス`,AU:`オーストラリア`,DE:`ドイツ`,FR:`フランス`,CN:`中国`,KR:`韓国`,IN:`インド`,BR:`ブラジル`}},prompt_input:{aria_label:`プロンプト入力`,attach_label:`ファイルを添付`,send_label:`送信`},select:{no_options:`該当する選択肢がありません`},tag_input:{input_label:`タグ`},smart_search:{input_label:`検索`},markdown:{task_done:`完了したタスク`,task_todo:`未完了のタスク`},source_citation:{source_label:`ソース {{index}}`},terminal:{clear_label:`クリア`,copied_label:`コピーしました!`,copy_label:`出力をコピー`},transfer:{move_to_source:`選択可能に移動`,move_to_target:`選択済みに移動`,no_data:`データがありません`,source:`選択可能`,status_moved_to_source:`{{count}} 件を選択可能リストに移動しました`,status_moved_to_target:`{{count}} 件を選択済みリストに移動しました`,target:`選択済み`}},pt:{agent_status:{done:`Concluído`,error:`Erro`,idle:`Ocioso`,running:`Executando…`,thinking:`Pensando…`,waiting:`Aguardando…`},ai_feedback:{group_label:`Avaliação da resposta`,negative_label:`Não foi útil`,positive_label:`Útil`,regenerate_label:`Regenerar resposta`},artifact_overlay:{maximize:`Maximizar`,minimize:`Minimizar`},button:{clear:`Limpar`},code_block:{collapse_label:`Recolher`,copied_label:`Copiado!`,copy_label:`Copiar código`,expand_label:`Expandir`},code_diff_viewer:{applied:`Aplicado`,apply:`Aplicar`,copied_label:`Copiado!`,copy_label:`Copiar`,reject:`Rejeitar`,split_view:`Dividido`,unified_view:`Unificado`},dropzone:{description:`Arraste e solte os arquivos aqui ou clique para selecionar`},fileupload:{button:`Selecionar arquivo`,no_file:`Nenhum arquivo selecionado`},form:{optional:`Opcional`,required:`Obrigatório`},image_cropper:{apply:`Aplicar recorte`,cancel:`Cancelar`,confirm:`Aplicar`,confirm_message:`Deseja salvar a imagem com este recorte?`,confirm_title:`Aplicar recorte`,no_image:`Nenhuma imagem selecionada`,rotate:`Rodar`,zoom:`Zoom`},password_strength:{fair:`Razoável`,strong:`Forte`,very_strong:`Muito forte`,very_weak:`Muito fraca`,weak:`Fraca`},phone:{select_country:`Selecionar país`,countries:{US:`Estados Unidos`,JP:`Japão`,GB:`Reino Unido`,AU:`Austrália`,DE:`Alemanha`,FR:`França`,CN:`China`,KR:`Coreia do Sul`,IN:`Índia`,BR:`Brasil`}},prompt_input:{aria_label:`Campo de prompt`,attach_label:`Anexar arquivo`,send_label:`Enviar`},select:{no_options:`Nenhuma opção encontrada`},tag_input:{input_label:`Tags`},smart_search:{input_label:`Pesquisar`},markdown:{task_done:`Tarefa concluída`,task_todo:`Tarefa pendente`},source_citation:{source_label:`Fonte {{index}}`},terminal:{clear_label:`Limpar`,copied_label:`Copiado!`,copy_label:`Copiar saída`},transfer:{move_to_source:`Mover para disponível`,move_to_target:`Mover para selecionado`,no_data:`Sem dados`,source:`Disponível`,status_moved_to_source:`{{count}} item(s) movido(s) para lista disponível`,status_moved_to_target:`{{count}} item(s) movido(s) para lista selecionada`,target:`Selecionado`}}}};exports.formNs=e;
2
+ var e={name:`form`,resources:{en:{prompt_input:{send_label:`Send`,attach_label:`Attach file`,aria_label:`Prompt input`},ai_feedback:{positive_label:`Helpful`,negative_label:`Not helpful`,regenerate_label:`Regenerate response`,group_label:`Response feedback`},source_citation:{source_label:`Source {{index}}`},code_block:{copy_label:`Copy code`,copied_label:`Copied!`,expand_label:`Expand`,collapse_label:`Collapse`},button:{clear:`Clear`},dropzone:{description:`Drag and drop files here, or click to select`},fileupload:{button:`Choose file`,no_file:`No file selected`},form:{optional:`Optional`,required:`Required`},phone:{select_country:`Select country`,countries:{US:`United States`,JP:`Japan`,GB:`United Kingdom`,AU:`Australia`,DE:`Germany`,FR:`France`,CN:`China`,KR:`South Korea`,IN:`India`,BR:`Brazil`}},select:{no_options:`No options found`},tag_input:{input_label:`Tags`},smart_search:{input_label:`Search`},markdown:{task_done:`Completed task`,task_todo:`Incomplete task`},transfer:{no_data:`No data`,move_to_source:`Move to available`,move_to_target:`Move to selected`,source:`Available`,status_moved_to_source:`{{count}} item(s) moved to available`,status_moved_to_target:`{{count}} item(s) moved to selected`,target:`Selected`},password_strength:{very_weak:`Very weak`,weak:`Weak`,fair:`Fair`,strong:`Strong`,very_strong:`Very strong`},image_cropper:{no_image:`No image selected`,position_label:`Image position`,position_hint:`Use the arrow keys to move the image. Hold Shift for larger steps. Home centers it.`,zoom:`Zoom`,rotate:`Rotate`,apply:`Apply Crop`,confirm_title:`Apply Crop`,confirm_message:`Do you want to save the image with this crop?`,confirm:`Apply`,cancel:`Cancel`},code_diff_viewer:{copy_label:`Copy`,copied_label:`Copied!`,apply:`Apply`,applied:`Applied`,reject:`Reject`,split_view:`Split`,unified_view:`Unified`},terminal:{copy_label:`Copy output`,copied_label:`Copied!`,clear_label:`Clear`},agent_status:{idle:`Idle`,thinking:`Thinking…`,running:`Running…`,waiting:`Waiting…`,done:`Done`,error:`Error`},artifact_overlay:{minimize:`Minimize`,maximize:`Maximize`}},ja:{agent_status:{done:`完了`,error:`エラー`,idle:`待機中`,running:`実行中…`,thinking:`思考中…`,waiting:`待機中…`},ai_feedback:{group_label:`回答へのフィードバック`,negative_label:`役に立たなかった`,positive_label:`役に立った`,regenerate_label:`再生成`},artifact_overlay:{maximize:`最大化`,minimize:`最小化`},button:{clear:`クリア`},code_block:{collapse_label:`折りたたむ`,copied_label:`コピーしました`,copy_label:`コードをコピー`,expand_label:`展開`},code_diff_viewer:{applied:`適用済み`,apply:`適用`,copied_label:`コピーしました!`,copy_label:`コピー`,reject:`却下`,split_view:`分割`,unified_view:`統合`},dropzone:{description:`ここにファイルをドラッグ&ドロップ、またはクリックして選択`},fileupload:{button:`ファイルを選択`,no_file:`選択されていません`},form:{optional:`任意`,required:`必須`},image_cropper:{apply:`クロップを適用`,cancel:`キャンセル`,confirm:`適用`,confirm_message:`この範囲で画像を保存しますか?`,confirm_title:`クロップの適用`,no_image:`画像が選択されていません`,position_hint:`矢印キーで画像を動かします。Shift を押しながらだと大きく動きます。Home で中央に戻ります。`,position_label:`画像の位置`,rotate:`回転`,zoom:`ズーム`},password_strength:{fair:`普通`,strong:`強い`,very_strong:`とても強い`,very_weak:`とても弱い`,weak:`弱い`},phone:{select_country:`国を選択`,countries:{US:`アメリカ合衆国`,JP:`日本`,GB:`イギリス`,AU:`オーストラリア`,DE:`ドイツ`,FR:`フランス`,CN:`中国`,KR:`韓国`,IN:`インド`,BR:`ブラジル`}},prompt_input:{aria_label:`プロンプト入力`,attach_label:`ファイルを添付`,send_label:`送信`},select:{no_options:`該当する選択肢がありません`},tag_input:{input_label:`タグ`},smart_search:{input_label:`検索`},markdown:{task_done:`完了したタスク`,task_todo:`未完了のタスク`},source_citation:{source_label:`ソース {{index}}`},terminal:{clear_label:`クリア`,copied_label:`コピーしました!`,copy_label:`出力をコピー`},transfer:{move_to_source:`選択可能に移動`,move_to_target:`選択済みに移動`,no_data:`データがありません`,source:`選択可能`,status_moved_to_source:`{{count}} 件を選択可能リストに移動しました`,status_moved_to_target:`{{count}} 件を選択済みリストに移動しました`,target:`選択済み`}},pt:{agent_status:{done:`Concluído`,error:`Erro`,idle:`Ocioso`,running:`Executando…`,thinking:`Pensando…`,waiting:`Aguardando…`},ai_feedback:{group_label:`Avaliação da resposta`,negative_label:`Não foi útil`,positive_label:`Útil`,regenerate_label:`Regenerar resposta`},artifact_overlay:{maximize:`Maximizar`,minimize:`Minimizar`},button:{clear:`Limpar`},code_block:{collapse_label:`Recolher`,copied_label:`Copiado!`,copy_label:`Copiar código`,expand_label:`Expandir`},code_diff_viewer:{applied:`Aplicado`,apply:`Aplicar`,copied_label:`Copiado!`,copy_label:`Copiar`,reject:`Rejeitar`,split_view:`Dividido`,unified_view:`Unificado`},dropzone:{description:`Arraste e solte os arquivos aqui ou clique para selecionar`},fileupload:{button:`Selecionar arquivo`,no_file:`Nenhum arquivo selecionado`},form:{optional:`Opcional`,required:`Obrigatório`},image_cropper:{apply:`Aplicar recorte`,cancel:`Cancelar`,confirm:`Aplicar`,confirm_message:`Deseja salvar a imagem com este recorte?`,confirm_title:`Aplicar recorte`,no_image:`Nenhuma imagem selecionada`,position_hint:`Use as setas para mover a imagem. Segure Shift para passos maiores. Home centraliza a imagem.`,position_label:`Posição da imagem`,rotate:`Rodar`,zoom:`Zoom`},password_strength:{fair:`Razoável`,strong:`Forte`,very_strong:`Muito forte`,very_weak:`Muito fraca`,weak:`Fraca`},phone:{select_country:`Selecionar país`,countries:{US:`Estados Unidos`,JP:`Japão`,GB:`Reino Unido`,AU:`Austrália`,DE:`Alemanha`,FR:`França`,CN:`China`,KR:`Coreia do Sul`,IN:`Índia`,BR:`Brasil`}},prompt_input:{aria_label:`Campo de prompt`,attach_label:`Anexar arquivo`,send_label:`Enviar`},select:{no_options:`Nenhuma opção encontrada`},tag_input:{input_label:`Tags`},smart_search:{input_label:`Pesquisar`},markdown:{task_done:`Tarefa concluída`,task_todo:`Tarefa pendente`},source_citation:{source_label:`Fonte {{index}}`},terminal:{clear_label:`Limpar`,copied_label:`Copiado!`,copy_label:`Copiar saída`},transfer:{move_to_source:`Mover para disponível`,move_to_target:`Mover para selecionado`,no_data:`Sem dados`,source:`Disponível`,status_moved_to_source:`{{count}} item(s) movido(s) para lista disponível`,status_moved_to_target:`{{count}} item(s) movido(s) para lista selecionada`,target:`Selecionado`}}}};exports.formNs=e;
@@ -1,3 +1,3 @@
1
1
  import { WimNamespace } from '../instance';
2
- export type FormKey = "agent_status.done" | "agent_status.error" | "agent_status.idle" | "agent_status.running" | "agent_status.thinking" | "agent_status.waiting" | "ai_feedback.group_label" | "ai_feedback.negative_label" | "ai_feedback.positive_label" | "ai_feedback.regenerate_label" | "artifact_overlay.maximize" | "artifact_overlay.minimize" | "button.clear" | "button.close" | "button.consistency" | "button.dismiss" | "button.label" | "code_block.collapse_label" | "code_block.copied_label" | "code_block.copy_label" | "code_block.expand_label" | "code_block.lines" | "code_diff_viewer.applied" | "code_diff_viewer.apply" | "code_diff_viewer.copied_label" | "code_diff_viewer.copy_label" | "code_diff_viewer.reject" | "code_diff_viewer.split_view" | "code_diff_viewer.unified_view" | "combobox.no_results" | "dropzone.description" | "fileupload.button" | "fileupload.no_file" | "form.optional" | "form.required" | "image_cropper.apply" | "image_cropper.cancel" | "image_cropper.confirm" | "image_cropper.confirm_message" | "image_cropper.confirm_title" | "image_cropper.no_image" | "image_cropper.rotate" | "image_cropper.zoom" | "markdown.task_done" | "markdown.task_todo" | "otp.digit" | "password_strength.fair" | "password_strength.strong" | "password_strength.very_strong" | "password_strength.very_weak" | "password_strength.weak" | "phone.countries.AU" | "phone.countries.BR" | "phone.countries.CN" | "phone.countries.DE" | "phone.countries.FR" | "phone.countries.GB" | "phone.countries.IN" | "phone.countries.JP" | "phone.countries.KR" | "phone.countries.US" | "phone.number" | "phone.select_country" | "prompt_input.aria_label" | "prompt_input.attach_label" | "prompt_input.send_label" | "select.no_options" | "select.option" | "smart_search.input_label" | "source_citation.open_source" | "source_citation.source_label" | "tag_input.input_label" | "terminal.clear_label" | "terminal.copied_label" | "terminal.copy_label" | "transfer.move_to_source" | "transfer.move_to_target" | "transfer.no_data" | "transfer.source" | "transfer.status_moved_to_source" | "transfer.status_moved_to_target" | "transfer.target";
2
+ export type FormKey = "agent_status.done" | "agent_status.error" | "agent_status.idle" | "agent_status.running" | "agent_status.thinking" | "agent_status.waiting" | "ai_feedback.group_label" | "ai_feedback.negative_label" | "ai_feedback.positive_label" | "ai_feedback.regenerate_label" | "artifact_overlay.maximize" | "artifact_overlay.minimize" | "button.clear" | "button.close" | "button.consistency" | "button.dismiss" | "button.label" | "code_block.collapse_label" | "code_block.copied_label" | "code_block.copy_label" | "code_block.expand_label" | "code_block.lines" | "code_diff_viewer.applied" | "code_diff_viewer.apply" | "code_diff_viewer.copied_label" | "code_diff_viewer.copy_label" | "code_diff_viewer.reject" | "code_diff_viewer.split_view" | "code_diff_viewer.unified_view" | "combobox.no_results" | "dropzone.description" | "fileupload.button" | "fileupload.no_file" | "form.optional" | "form.required" | "image_cropper.apply" | "image_cropper.cancel" | "image_cropper.confirm" | "image_cropper.confirm_message" | "image_cropper.confirm_title" | "image_cropper.no_image" | "image_cropper.position_hint" | "image_cropper.position_label" | "image_cropper.rotate" | "image_cropper.zoom" | "markdown.task_done" | "markdown.task_todo" | "otp.digit" | "password_strength.fair" | "password_strength.strong" | "password_strength.very_strong" | "password_strength.very_weak" | "password_strength.weak" | "phone.countries.AU" | "phone.countries.BR" | "phone.countries.CN" | "phone.countries.DE" | "phone.countries.FR" | "phone.countries.GB" | "phone.countries.IN" | "phone.countries.JP" | "phone.countries.KR" | "phone.countries.US" | "phone.number" | "phone.select_country" | "prompt_input.aria_label" | "prompt_input.attach_label" | "prompt_input.send_label" | "select.no_options" | "select.option" | "smart_search.input_label" | "source_citation.open_source" | "source_citation.source_label" | "tag_input.input_label" | "terminal.clear_label" | "terminal.copied_label" | "terminal.copy_label" | "transfer.move_to_source" | "transfer.move_to_target" | "transfer.no_data" | "transfer.source" | "transfer.status_moved_to_source" | "transfer.status_moved_to_target" | "transfer.target";
3
3
  export declare const formNs: WimNamespace<"form", FormKey>;
@@ -72,6 +72,8 @@ var e = {
72
72
  },
73
73
  image_cropper: {
74
74
  no_image: "No image selected",
75
+ position_label: "Image position",
76
+ position_hint: "Use the arrow keys to move the image. Hold Shift for larger steps. Home centers it.",
75
77
  zoom: "Zoom",
76
78
  rotate: "Rotate",
77
79
  apply: "Apply Crop",
@@ -158,6 +160,8 @@ var e = {
158
160
  confirm_message: "この範囲で画像を保存しますか?",
159
161
  confirm_title: "クロップの適用",
160
162
  no_image: "画像が選択されていません",
163
+ position_hint: "矢印キーで画像を動かします。Shift を押しながらだと大きく動きます。Home で中央に戻ります。",
164
+ position_label: "画像の位置",
161
165
  rotate: "回転",
162
166
  zoom: "ズーム"
163
167
  },
@@ -262,6 +266,8 @@ var e = {
262
266
  confirm_message: "Deseja salvar a imagem com este recorte?",
263
267
  confirm_title: "Aplicar recorte",
264
268
  no_image: "Nenhuma imagem selecionada",
269
+ position_hint: "Use as setas para mover a imagem. Segure Shift para passos maiores. Home centraliza a imagem.",
270
+ position_label: "Posição da imagem",
265
271
  rotate: "Rodar",
266
272
  zoom: "Zoom"
267
273
  },
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What this is
6
6
 
7
- **wimui** v0.54.0 — a React 19 component library: 228 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.55.0 — a React 19 component library: 228 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
 
@@ -1818,6 +1818,7 @@ so the unit does not have to be repeated in the label.
1818
1818
  - `children: React.ReactNode` — Optional children used when asChild is true
1819
1819
  - `aria-label: string` — Accessible label when no visible label is provided
1820
1820
  - `aria-labelledby: string` — ID of the element that labels the group
1821
+ - `aria-describedby: string` — ID of the element that describes the group, such as help text
1821
1822
  - **Transfer** — Move items between lists
1822
1823
  - `dataSource: TransferItem[]` = [] — All items shown across the two lists
1823
1824
  - `targetKeys: string[]` — Keys of the items in the target (right) list
package/dist/llms.txt CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What this is
6
6
 
7
- **wimui** v0.54.0 — a React 19 component library: 228 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.55.0 — a React 19 component library: 228 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
 
@@ -87,6 +87,8 @@
87
87
  },
88
88
  "image_cropper": {
89
89
  "no_image": "No image selected",
90
+ "position_label": "Image position",
91
+ "position_hint": "Use the arrow keys to move the image. Hold Shift for larger steps. Home centers it.",
90
92
  "zoom": "Zoom",
91
93
  "rotate": "Rotate",
92
94
  "apply": "Apply Crop",
@@ -61,6 +61,8 @@
61
61
  "confirm_message": "この範囲で画像を保存しますか?",
62
62
  "confirm_title": "クロップの適用",
63
63
  "no_image": "画像が選択されていません",
64
+ "position_hint": "矢印キーで画像を動かします。Shift を押しながらだと大きく動きます。Home で中央に戻ります。",
65
+ "position_label": "画像の位置",
64
66
  "rotate": "回転",
65
67
  "zoom": "ズーム"
66
68
  },
@@ -61,6 +61,8 @@
61
61
  "confirm_message": "Deseja salvar a imagem com este recorte?",
62
62
  "confirm_title": "Aplicar recorte",
63
63
  "no_image": "Nenhuma imagem selecionada",
64
+ "position_hint": "Use as setas para mover a imagem. Segure Shift para passos maiores. Home centraliza a imagem.",
65
+ "position_label": "Posição da imagem",
64
66
  "rotate": "Rodar",
65
67
  "zoom": "Zoom"
66
68
  },