wimui 0.58.1 → 0.60.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 (62) hide show
  1. package/dist/components/ai/PromptInput/PromptInput.cjs +1 -1
  2. package/dist/components/ai/PromptInput/PromptInput.js +30 -30
  3. package/dist/components/ai/SourceCitation/SourceCitation.cjs +1 -1
  4. package/dist/components/ai/SourceCitation/SourceCitation.d.ts +5 -1
  5. package/dist/components/ai/SourceCitation/SourceCitation.js +10 -8
  6. package/dist/components/ai/Terminal/Terminal.cjs +2 -2
  7. package/dist/components/ai/Terminal/Terminal.js +16 -14
  8. package/dist/components/data-display/DataGrid/DataGrid.cjs +1 -1
  9. package/dist/components/data-display/DataGrid/DataGrid.d.ts +5 -1
  10. package/dist/components/data-display/DataGrid/DataGrid.js +54 -53
  11. package/dist/components/data-display/FAQSection/FAQSection.cjs +1 -1
  12. package/dist/components/data-display/FAQSection/FAQSection.d.ts +5 -1
  13. package/dist/components/data-display/FAQSection/FAQSection.js +5 -3
  14. package/dist/components/data-display/TreeView/TreeView.cjs +1 -1
  15. package/dist/components/data-display/TreeView/TreeView.d.ts +5 -1
  16. package/dist/components/data-display/TreeView/TreeView.js +87 -87
  17. package/dist/components/data-display/VirtualList/VirtualList.cjs +1 -1
  18. package/dist/components/data-display/VirtualList/VirtualList.d.ts +2 -0
  19. package/dist/components/data-display/VirtualList/VirtualList.js +15 -14
  20. package/dist/components/feedback/Notification/Notification.cjs +1 -1
  21. package/dist/components/feedback/Notification/Notification.d.ts +5 -1
  22. package/dist/components/feedback/Notification/Notification.js +10 -8
  23. package/dist/components/feedback/Toast/Toast.cjs +1 -1
  24. package/dist/components/feedback/Toast/Toast.d.ts +5 -1
  25. package/dist/components/feedback/Toast/Toast.js +11 -9
  26. package/dist/components/form/CopyButton/CopyButton.cjs +1 -1
  27. package/dist/components/form/CopyButton/CopyButton.d.ts +5 -1
  28. package/dist/components/form/CopyButton/CopyButton.js +17 -15
  29. package/dist/components/form/Dropzone/Dropzone.cjs +1 -1
  30. package/dist/components/form/Dropzone/Dropzone.d.ts +7 -1
  31. package/dist/components/form/Dropzone/Dropzone.js +29 -28
  32. package/dist/components/form/FileUpload/FileUpload.cjs +1 -1
  33. package/dist/components/form/FileUpload/FileUpload.d.ts +7 -1
  34. package/dist/components/form/FileUpload/FileUpload.js +22 -17
  35. package/dist/components/form/ImageCropper/ImageCropper.cjs +1 -1
  36. package/dist/components/form/ImageCropper/ImageCropper.js +102 -100
  37. package/dist/components/form/QueryBuilder/QueryBuilder.cjs +1 -1
  38. package/dist/components/form/QueryBuilder/QueryBuilder.d.ts +7 -1
  39. package/dist/components/form/QueryBuilder/QueryBuilder.js +104 -102
  40. package/dist/components/form/SignaturePad/SignaturePad.cjs +1 -1
  41. package/dist/components/form/SignaturePad/SignaturePad.d.ts +5 -1
  42. package/dist/components/form/SignaturePad/SignaturePad.js +47 -47
  43. package/dist/components/form/ThemeToggle/ThemeToggle.cjs +1 -1
  44. package/dist/components/form/ThemeToggle/ThemeToggle.js +59 -54
  45. package/dist/components/media/ImageCompare/ImageCompare.cjs +1 -1
  46. package/dist/components/media/ImageCompare/ImageCompare.js +33 -31
  47. package/dist/components/navigation/BackTop/BackTop.cjs +1 -1
  48. package/dist/components/navigation/BackTop/BackTop.d.ts +4 -0
  49. package/dist/components/navigation/BackTop/BackTop.js +18 -16
  50. package/dist/components/navigation/CommandPalette/CommandPalette.cjs +1 -1
  51. package/dist/components/navigation/CommandPalette/CommandPalette.d.ts +5 -1
  52. package/dist/components/navigation/CommandPalette/CommandPalette.js +11 -6
  53. package/dist/components/navigation/Pagination/Pagination.cjs +1 -1
  54. package/dist/components/navigation/Pagination/Pagination.d.ts +5 -1
  55. package/dist/components/navigation/Pagination/Pagination.js +65 -63
  56. package/dist/components/overlay/Menu/Menu.cjs +1 -1
  57. package/dist/components/overlay/Menu/Menu.d.ts +4 -0
  58. package/dist/components/overlay/Menu/Menu.js +23 -21
  59. package/dist/llms-full.txt +33 -1
  60. package/dist/llms.txt +1 -1
  61. package/dist/wimui.umd.js +4 -4
  62. package/package.json +1 -1
@@ -8,77 +8,82 @@ import o from "../../../icon/sun.js";
8
8
  import { Icon as s } from "../../media/Icon/Icon.js";
9
9
  import { setWimTheme as c } from "../../../theme.js";
10
10
  import l from "./theme-toggle.module.js";
11
- import u, { useCallback as d, useEffect as f, useState as p } from "react";
12
- import m from "classnames";
13
- import { jsx as h, jsxs as g } from "react/jsx-runtime";
11
+ import u, { useCallback as d, useEffect as f, useId as p, useState as m } from "react";
12
+ import h from "classnames";
13
+ import { jsx as g, jsxs as _ } from "react/jsx-runtime";
14
14
  //#region src/components/form/ThemeToggle/ThemeToggle.tsx
15
- var _ = {
15
+ var v = {
16
16
  light: o,
17
17
  dark: a,
18
18
  system: i
19
- }, v = "wim-theme", y = (e) => e === "light" || e === "dark" || e === "system", b = u.forwardRef(({ value: i, defaultValue: a = "system", onChange: o, modes: u = ["light", "dark"], variant: b = "icon", size: x = "md", storageKey: S = v, applyToDocument: C = !0, labels: w, className: T, asChild: E = !1, children: D, ...O }, k) => {
20
- let { t: A } = n(r), { light: j = A("common.light"), dark: M = A("common.dark"), system: N = A("theme.system"), toggle: P = A("theme.toggle") } = w ?? {}, F = {
21
- light: j,
22
- dark: M,
23
- system: N
24
- }, I = i !== void 0, [L, R] = p(() => {
25
- if (typeof window < "u" && S) {
26
- let e = window.localStorage.getItem(S);
27
- if (y(e) && u.includes(e)) return e;
19
+ }, y = "wim-theme", b = (e) => e === "light" || e === "dark" || e === "system", x = u.forwardRef(({ value: i, defaultValue: a = "system", onChange: o, modes: u = ["light", "dark"], variant: x = "icon", size: S = "md", storageKey: C = y, applyToDocument: w = !0, labels: T, className: E, asChild: D = !1, children: O, "aria-label": k, "aria-labelledby": A, "aria-describedby": j, ...M }, N) => {
20
+ let { t: P } = n(r), { light: F = P("common.light"), dark: I = P("common.dark"), system: L = P("theme.system"), toggle: R = P("theme.toggle") } = T ?? {}, z = {
21
+ light: F,
22
+ dark: I,
23
+ system: L
24
+ }, B = i !== void 0, [V, H] = m(() => {
25
+ if (typeof window < "u" && C) {
26
+ let e = window.localStorage.getItem(C);
27
+ if (b(e) && u.includes(e)) return e;
28
28
  }
29
29
  return u.includes(a) ? a : u[0];
30
- }), z = I ? i : L;
30
+ }), U = B ? i : V;
31
31
  f(() => {
32
- C && c(z);
33
- }, [z, C]);
34
- let B = d((e) => {
35
- I || R(e), typeof window < "u" && S && window.localStorage.setItem(S, e), o?.(e);
32
+ w && c(U);
33
+ }, [U, w]);
34
+ let W = d((e) => {
35
+ B || H(e), typeof window < "u" && C && window.localStorage.setItem(C, e), o?.(e);
36
36
  }, [
37
- I,
38
- S,
37
+ B,
38
+ C,
39
39
  o
40
- ]), V = () => {
41
- let e = u[(u.indexOf(z) + 1) % u.length];
42
- B(e);
43
- }, H = E ? e : "div";
44
- return b === "segmented" ? /* @__PURE__ */ g(H, {
45
- ref: k,
40
+ ]), G = () => {
41
+ let e = u[(u.indexOf(U) + 1) % u.length];
42
+ W(e);
43
+ }, K = p(), q = D ? e : "div", J = `wim-theme-toggle-${K}`;
44
+ return x === "segmented" ? /* @__PURE__ */ _(q, {
45
+ ref: N,
46
46
  role: "group",
47
- "aria-label": P,
48
- className: m("wim-theme-toggle", l.segmented, l[x], T),
49
- ...O,
47
+ "aria-label": A ? void 0 : k ?? R,
48
+ "aria-labelledby": A,
49
+ "aria-describedby": j,
50
+ className: h("wim-theme-toggle", l.segmented, l[S], E),
51
+ ...M,
50
52
  children: [u.map((e) => {
51
- let t = e === z;
52
- return /* @__PURE__ */ h("button", {
53
+ let t = e === U;
54
+ return /* @__PURE__ */ g("button", {
53
55
  type: "button",
54
- className: m(l.segment, t && l.active),
56
+ className: h(l.segment, t && l.active),
55
57
  "aria-pressed": t,
56
- "aria-label": F[e],
57
- title: F[e],
58
- onClick: () => B(e),
59
- children: /* @__PURE__ */ h(s, {
60
- component: _[e],
61
- size: x
58
+ "aria-label": z[e],
59
+ title: z[e],
60
+ onClick: () => W(e),
61
+ children: /* @__PURE__ */ g(s, {
62
+ component: v[e],
63
+ size: S
62
64
  })
63
65
  }, e);
64
- }), /* @__PURE__ */ h(t, { children: D })]
65
- }) : /* @__PURE__ */ g(H, {
66
- ref: k,
67
- className: m("wim-theme-toggle", l.root, T),
68
- ...O,
69
- children: [/* @__PURE__ */ h("button", {
66
+ }), /* @__PURE__ */ g(t, { children: O })]
67
+ }) : /* @__PURE__ */ _(q, {
68
+ ref: N,
69
+ className: h("wim-theme-toggle", l.root, E),
70
+ ...M,
71
+ children: [/* @__PURE__ */ g("button", {
70
72
  type: "button",
71
- className: m(l.iconButton, l[x]),
72
- "aria-label": `${P} (${F[z]})`,
73
- title: F[z],
74
- onClick: V,
75
- children: /* @__PURE__ */ h(s, {
76
- component: _[z],
77
- size: x
73
+ className: h(l.iconButton, l[S]),
74
+ id: J,
75
+ "aria-label": A ? z[U] : `${k ?? R} (${z[U]})`,
76
+ "aria-labelledby": A ? `${A} ${J}` : void 0,
77
+ "aria-describedby": j,
78
+ title: z[U],
79
+ onClick: G,
80
+ children: /* @__PURE__ */ g(s, {
81
+ component: v[U],
82
+ size: S
78
83
  })
79
- }), /* @__PURE__ */ h(t, { children: D })]
84
+ }), /* @__PURE__ */ g(t, { children: O })]
80
85
  });
81
86
  });
82
- b.displayName = "ThemeToggle";
87
+ x.displayName = "ThemeToggle";
83
88
  //#endregion
84
- export { b as ThemeToggle };
89
+ export { x as ThemeToggle };
@@ -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("../../../icon/chevron-left.cjs"),i=require("../../../icon/chevron-right.cjs"),a=require("../Icon/Icon.cjs"),o=require("./image-compare.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=e=>Math.max(0,Math.min(100,e)),d=s.default.forwardRef(({before:e,after:d,beforeAlt:f=``,afterAlt:p=``,beforeLabel:m,afterLabel:h,defaultPosition:g=50,position:_,onPositionChange:v,orientation:y=`horizontal`,width:b,height:x,radius:S=`md`,labels:C,className:w,...T},E)=>{let{t:D}=t.useWimTranslation(n.commonNs),{handleAriaLabel:O=D(`imageCompare.handle`)}=C??{},k=_!==void 0,[A,j]=(0,s.useState)(u(g)),M=u(k?_:A),N=y===`vertical`,P=(0,s.useRef)(null),F=(0,s.useRef)(!1),I=(0,s.useCallback)(e=>{P.current=e,typeof E==`function`?E(e):E&&(E.current=e)},[E]),L=(0,s.useCallback)(e=>{let t=u(e);k||j(t),v?.(t)},[k,v]),R=(0,s.useCallback)((e,t)=>{let n=P.current?.getBoundingClientRect();if(!n)return;let r=N?(t-n.top)/n.height*100:(e-n.left)/n.width*100;L(r)},[N,L]),z=e=>{F.current=!0,e.currentTarget.setPointerCapture(e.pointerId),R(e.clientX,e.clientY)},B=e=>{F.current&&R(e.clientX,e.clientY)},V=e=>{F.current=!1,e.currentTarget.releasePointerCapture?.(e.pointerId)},H=e=>{let t=e.shiftKey?10:2,n=N?`ArrowUp`:`ArrowLeft`,r=N?`ArrowDown`:`ArrowRight`;e.key===n?(e.preventDefault(),L(M-t)):e.key===r?(e.preventDefault(),L(M+t)):e.key===`Home`?(e.preventDefault(),L(0)):e.key===`End`&&(e.preventDefault(),L(100))},U=N?{clipPath:`inset(0 0 ${100-M}% 0)`}:{clipPath:`inset(0 ${100-M}% 0 0)`},W=N?{top:`${M}%`}:{left:`${M}%`};return(0,l.jsxs)(`div`,{ref:I,className:(0,c.default)(`wim-image-compare`,o.default.root,N&&o.default.vertical,o.default[`radius-${S}`],w),style:{width:b,height:x},onPointerDown:z,onPointerMove:B,onPointerUp:V,...T,children:[(0,l.jsx)(`img`,{className:o.default.image,src:d,alt:p,draggable:!1}),h&&(0,l.jsx)(`span`,{className:(0,c.default)(o.default.label,o.default.afterLabel),children:h}),(0,l.jsxs)(`div`,{className:o.default.beforeLayer,style:U,children:[(0,l.jsx)(`img`,{className:o.default.image,src:e,alt:f,draggable:!1}),m&&(0,l.jsx)(`span`,{className:(0,c.default)(o.default.label,o.default.beforeLabel),children:m})]}),(0,l.jsxs)(`div`,{className:o.default.divider,style:W,children:[(0,l.jsx)(`span`,{className:o.default.line,"aria-hidden":`true`}),(0,l.jsxs)(`button`,{type:`button`,className:o.default.handle,role:`slider`,"aria-label":O,"aria-orientation":y,"aria-valuenow":Math.round(M),"aria-valuemin":0,"aria-valuemax":100,onKeyDown:H,onPointerDown:z,children:[(0,l.jsx)(a.Icon,{component:r.default,size:`sm`,className:o.default.arrow}),(0,l.jsx)(a.Icon,{component:i.default,size:`sm`,className:o.default.arrow})]})]})]})});d.displayName=`ImageCompare`,exports.ImageCompare=d;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../i18n/generated/common.cjs"),r=require("../../../icon/chevron-left.cjs"),i=require("../../../icon/chevron-right.cjs"),a=require("../Icon/Icon.cjs"),o=require("./image-compare.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=e=>Math.max(0,Math.min(100,e)),d=s.default.forwardRef(({before:e,after:d,beforeAlt:f=``,afterAlt:p=``,beforeLabel:m,afterLabel:h,defaultPosition:g=50,position:_,onPositionChange:v,orientation:y=`horizontal`,width:b,height:x,radius:S=`md`,labels:C,className:w,"aria-label":T,"aria-labelledby":E,"aria-describedby":D,...O},k)=>{let{t:A}=t.useWimTranslation(n.commonNs),{handleAriaLabel:j=A(`imageCompare.handle`)}=C??{},M=_!==void 0,[N,P]=(0,s.useState)(u(g)),F=u(M?_:N),I=y===`vertical`,L=(0,s.useRef)(null),R=(0,s.useRef)(!1),z=(0,s.useCallback)(e=>{L.current=e,typeof k==`function`?k(e):k&&(k.current=e)},[k]),B=(0,s.useCallback)(e=>{let t=u(e);M||P(t),v?.(t)},[M,v]),V=(0,s.useCallback)((e,t)=>{let n=L.current?.getBoundingClientRect();if(!n)return;let r=I?(t-n.top)/n.height*100:(e-n.left)/n.width*100;B(r)},[I,B]),H=e=>{R.current=!0,e.currentTarget.setPointerCapture(e.pointerId),V(e.clientX,e.clientY)},U=e=>{R.current&&V(e.clientX,e.clientY)},W=e=>{R.current=!1,e.currentTarget.releasePointerCapture?.(e.pointerId)},G=e=>{let t=e.shiftKey?10:2,n=I?`ArrowUp`:`ArrowLeft`,r=I?`ArrowDown`:`ArrowRight`;e.key===n?(e.preventDefault(),B(F-t)):e.key===r?(e.preventDefault(),B(F+t)):e.key===`Home`?(e.preventDefault(),B(0)):e.key===`End`&&(e.preventDefault(),B(100))},K=I?{clipPath:`inset(0 0 ${100-F}% 0)`}:{clipPath:`inset(0 ${100-F}% 0 0)`},q=I?{top:`${F}%`}:{left:`${F}%`};return(0,l.jsxs)(`div`,{ref:z,className:(0,c.default)(`wim-image-compare`,o.default.root,I&&o.default.vertical,o.default[`radius-${S}`],w),style:{width:b,height:x},onPointerDown:H,onPointerMove:U,onPointerUp:W,...O,children:[(0,l.jsx)(`img`,{className:o.default.image,src:d,alt:p,draggable:!1}),h&&(0,l.jsx)(`span`,{className:(0,c.default)(o.default.label,o.default.afterLabel),children:h}),(0,l.jsxs)(`div`,{className:o.default.beforeLayer,style:K,children:[(0,l.jsx)(`img`,{className:o.default.image,src:e,alt:f,draggable:!1}),m&&(0,l.jsx)(`span`,{className:(0,c.default)(o.default.label,o.default.beforeLabel),children:m})]}),(0,l.jsxs)(`div`,{className:o.default.divider,style:q,children:[(0,l.jsx)(`span`,{className:o.default.line,"aria-hidden":`true`}),(0,l.jsxs)(`button`,{type:`button`,className:o.default.handle,role:`slider`,"aria-label":E?void 0:T??j,"aria-labelledby":E,"aria-describedby":D,"aria-orientation":y,"aria-valuenow":Math.round(F),"aria-valuemin":0,"aria-valuemax":100,onKeyDown:G,onPointerDown:H,children:[(0,l.jsx)(a.Icon,{component:r.default,size:`sm`,className:o.default.arrow}),(0,l.jsx)(a.Icon,{component:i.default,size:`sm`,className:o.default.arrow})]})]})]})});d.displayName=`ImageCompare`,exports.ImageCompare=d;
@@ -9,38 +9,38 @@ import o, { useCallback 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/media/ImageCompare/ImageCompare.tsx
12
- var p = (e) => Math.max(0, Math.min(100, e)), m = o.forwardRef(({ before: o, after: m, beforeAlt: h = "", afterAlt: g = "", beforeLabel: _, afterLabel: v, defaultPosition: y = 50, position: b, onPositionChange: x, orientation: S = "horizontal", width: C, height: w, radius: T = "md", labels: E, className: D, ...O }, k) => {
13
- let { t: A } = e(t), { handleAriaLabel: j = A("imageCompare.handle") } = E ?? {}, M = b !== void 0, [N, P] = l(p(y)), F = p(M ? b : N), I = S === "vertical", L = c(null), R = c(!1), z = s((e) => {
14
- L.current = e, typeof k == "function" ? k(e) : k && (k.current = e);
15
- }, [k]), B = s((e) => {
12
+ var p = (e) => Math.max(0, Math.min(100, e)), m = o.forwardRef(({ before: o, after: m, beforeAlt: h = "", afterAlt: g = "", beforeLabel: _, afterLabel: v, defaultPosition: y = 50, position: b, onPositionChange: x, orientation: S = "horizontal", width: C, height: w, radius: T = "md", labels: E, className: D, "aria-label": O, "aria-labelledby": k, "aria-describedby": A, ...j }, M) => {
13
+ let { t: N } = e(t), { handleAriaLabel: P = N("imageCompare.handle") } = E ?? {}, F = b !== void 0, [I, L] = l(p(y)), R = p(F ? b : I), z = S === "vertical", B = c(null), V = c(!1), H = s((e) => {
14
+ B.current = e, typeof M == "function" ? M(e) : M && (M.current = e);
15
+ }, [M]), U = s((e) => {
16
16
  let t = p(e);
17
- M || P(t), x?.(t);
18
- }, [M, x]), V = s((e, t) => {
19
- let n = L.current?.getBoundingClientRect();
17
+ F || L(t), x?.(t);
18
+ }, [F, x]), W = s((e, t) => {
19
+ let n = B.current?.getBoundingClientRect();
20
20
  if (!n) return;
21
- let r = I ? (t - n.top) / n.height * 100 : (e - n.left) / n.width * 100;
22
- B(r);
23
- }, [I, B]), H = (e) => {
24
- R.current = !0, e.currentTarget.setPointerCapture(e.pointerId), V(e.clientX, e.clientY);
25
- }, U = (e) => {
26
- R.current && V(e.clientX, e.clientY);
27
- }, W = (e) => {
28
- R.current = !1, e.currentTarget.releasePointerCapture?.(e.pointerId);
29
- }, G = (e) => {
30
- let t = e.shiftKey ? 10 : 2, n = I ? "ArrowUp" : "ArrowLeft", r = I ? "ArrowDown" : "ArrowRight";
31
- e.key === n ? (e.preventDefault(), B(F - t)) : e.key === r ? (e.preventDefault(), B(F + t)) : e.key === "Home" ? (e.preventDefault(), B(0)) : e.key === "End" && (e.preventDefault(), B(100));
32
- }, K = I ? { clipPath: `inset(0 0 ${100 - F}% 0)` } : { clipPath: `inset(0 ${100 - F}% 0 0)` }, q = I ? { top: `${F}%` } : { left: `${F}%` };
21
+ let r = z ? (t - n.top) / n.height * 100 : (e - n.left) / n.width * 100;
22
+ U(r);
23
+ }, [z, U]), G = (e) => {
24
+ V.current = !0, e.currentTarget.setPointerCapture(e.pointerId), W(e.clientX, e.clientY);
25
+ }, K = (e) => {
26
+ V.current && W(e.clientX, e.clientY);
27
+ }, q = (e) => {
28
+ V.current = !1, e.currentTarget.releasePointerCapture?.(e.pointerId);
29
+ }, J = (e) => {
30
+ let t = e.shiftKey ? 10 : 2, n = z ? "ArrowUp" : "ArrowLeft", r = z ? "ArrowDown" : "ArrowRight";
31
+ e.key === n ? (e.preventDefault(), U(R - t)) : e.key === r ? (e.preventDefault(), U(R + t)) : e.key === "Home" ? (e.preventDefault(), U(0)) : e.key === "End" && (e.preventDefault(), U(100));
32
+ }, Y = z ? { clipPath: `inset(0 0 ${100 - R}% 0)` } : { clipPath: `inset(0 ${100 - R}% 0 0)` }, X = z ? { top: `${R}%` } : { left: `${R}%` };
33
33
  return /* @__PURE__ */ f("div", {
34
- ref: z,
35
- className: u("wim-image-compare", a.root, I && a.vertical, a[`radius-${T}`], D),
34
+ ref: H,
35
+ className: u("wim-image-compare", a.root, z && a.vertical, a[`radius-${T}`], D),
36
36
  style: {
37
37
  width: C,
38
38
  height: w
39
39
  },
40
- onPointerDown: H,
41
- onPointerMove: U,
42
- onPointerUp: W,
43
- ...O,
40
+ onPointerDown: G,
41
+ onPointerMove: K,
42
+ onPointerUp: q,
43
+ ...j,
44
44
  children: [
45
45
  /* @__PURE__ */ d("img", {
46
46
  className: a.image,
@@ -54,7 +54,7 @@ var p = (e) => Math.max(0, Math.min(100, e)), m = o.forwardRef(({ before: o, aft
54
54
  }),
55
55
  /* @__PURE__ */ f("div", {
56
56
  className: a.beforeLayer,
57
- style: K,
57
+ style: Y,
58
58
  children: [/* @__PURE__ */ d("img", {
59
59
  className: a.image,
60
60
  src: o,
@@ -67,7 +67,7 @@ var p = (e) => Math.max(0, Math.min(100, e)), m = o.forwardRef(({ before: o, aft
67
67
  }),
68
68
  /* @__PURE__ */ f("div", {
69
69
  className: a.divider,
70
- style: q,
70
+ style: X,
71
71
  children: [/* @__PURE__ */ d("span", {
72
72
  className: a.line,
73
73
  "aria-hidden": "true"
@@ -75,13 +75,15 @@ var p = (e) => Math.max(0, Math.min(100, e)), m = o.forwardRef(({ before: o, aft
75
75
  type: "button",
76
76
  className: a.handle,
77
77
  role: "slider",
78
- "aria-label": j,
78
+ "aria-label": k ? void 0 : O ?? P,
79
+ "aria-labelledby": k,
80
+ "aria-describedby": A,
79
81
  "aria-orientation": S,
80
- "aria-valuenow": Math.round(F),
82
+ "aria-valuenow": Math.round(R),
81
83
  "aria-valuemin": 0,
82
84
  "aria-valuemax": 100,
83
- onKeyDown: G,
84
- onPointerDown: H,
85
+ onKeyDown: J,
86
+ onPointerDown: G,
85
87
  children: [/* @__PURE__ */ d(i, {
86
88
  component: n,
87
89
  size: "sm",
@@ -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("../../../icon/chevron-up.cjs"),a=require("../../media/Icon/Icon.cjs"),o=require("./backtop.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(({target:e=()=>window,visibilityHeight:u=400,onClick:d,children:f,className:p,style:m,"aria-label":h,asChild:g=!1},_)=>{let{t:v}=n.useWimTranslation(r.commonNs),[y,b]=(0,s.useState)(!1),x=(0,s.useCallback)(e=>e===window||e instanceof Window?window.pageYOffset||document.documentElement.scrollTop:e instanceof Document?document.documentElement.scrollTop:e.scrollTop,[]),S=(0,s.useCallback)(()=>{let t=e();if(!t)return;let n=x(t);b(n>u)},[e,u,x]);(0,s.useEffect)(()=>{let t=e();if(t)return requestAnimationFrame(S),t.addEventListener(`scroll`,S),()=>{t.removeEventListener(`scroll`,S)}},[e,S]);let C=t=>{let n=e();n&&(n===window||n instanceof Window?window.scrollTo({top:0,behavior:`smooth`}):n instanceof Document?document.documentElement.scrollTo({top:0,behavior:`smooth`}):n.scrollTo({top:0,behavior:`smooth`}),d?.(t))},w=(0,l.jsx)(`div`,{className:o.default.content,children:(0,l.jsx)(a.Icon,{component:i.default,className:o.default.icon})});return(0,l.jsx)(g?t.Root:`div`,{ref:_,className:(0,c.default)(`wim-back-top`,o.default.root,!y&&o.default.hidden,p),style:m,onClick:C,role:`button`,tabIndex:0,"aria-label":h??v(`a11y.back_to_top`),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&e.currentTarget.click()},children:(0,l.jsx)(t.Slottable,{children:f||w})})});u.displayName=`BackTop`,exports.BackTop=u,exports.default=u;
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("../../../icon/chevron-up.cjs"),a=require("../../media/Icon/Icon.cjs"),o=require("./backtop.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(({target:e=()=>window,visibilityHeight:u=400,onClick:d,children:f,className:p,style:m,"aria-label":h,"aria-labelledby":g,"aria-describedby":_,asChild:v=!1},y)=>{let{t:b}=n.useWimTranslation(r.commonNs),[x,S]=(0,s.useState)(!1),C=(0,s.useCallback)(e=>e===window||e instanceof Window?window.pageYOffset||document.documentElement.scrollTop:e instanceof Document?document.documentElement.scrollTop:e.scrollTop,[]),w=(0,s.useCallback)(()=>{let t=e();if(!t)return;let n=C(t);S(n>u)},[e,u,C]);(0,s.useEffect)(()=>{let t=e();if(t)return requestAnimationFrame(w),t.addEventListener(`scroll`,w),()=>{t.removeEventListener(`scroll`,w)}},[e,w]);let T=t=>{let n=e();n&&(n===window||n instanceof Window?window.scrollTo({top:0,behavior:`smooth`}):n instanceof Document?document.documentElement.scrollTo({top:0,behavior:`smooth`}):n.scrollTo({top:0,behavior:`smooth`}),d?.(t))},E=(0,l.jsx)(`div`,{className:o.default.content,children:(0,l.jsx)(a.Icon,{component:i.default,className:o.default.icon})});return(0,l.jsx)(v?t.Root:`div`,{ref:y,className:(0,c.default)(`wim-back-top`,o.default.root,!x&&o.default.hidden,p),style:m,onClick:T,role:`button`,tabIndex:0,"aria-label":g?void 0:h??b(`a11y.back_to_top`),"aria-labelledby":g,"aria-describedby":_,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&e.currentTarget.click()},children:(0,l.jsx)(t.Slottable,{children:f||E})})});u.displayName=`BackTop`,exports.BackTop=u,exports.default=u;
@@ -14,6 +14,10 @@ export interface BackTopProps {
14
14
  style?: React.CSSProperties;
15
15
  /** Accessible label for the button */
16
16
  "aria-label"?: string;
17
+ /** ID of the element that labels the button. Takes precedence over `aria-label`. */
18
+ "aria-labelledby"?: string;
19
+ /** ID of the element that describes the button. */
20
+ "aria-describedby"?: string;
17
21
  /** Whether to render as a child element. */
18
22
  asChild?: boolean;
19
23
  }
@@ -9,24 +9,24 @@ import s, { useCallback as c, useEffect as l, useState as u } from "react";
9
9
  import d from "classnames";
10
10
  import { jsx as f } from "react/jsx-runtime";
11
11
  //#region src/components/navigation/BackTop/BackTop.tsx
12
- var p = s.forwardRef(({ target: s = () => window, visibilityHeight: p = 400, onClick: m, children: h, className: g, style: _, "aria-label": v, asChild: y = !1 }, b) => {
13
- let { t: x } = n(r), [S, C] = u(!1), w = c((e) => e === window || e instanceof Window ? window.pageYOffset || document.documentElement.scrollTop : e instanceof Document ? document.documentElement.scrollTop : e.scrollTop, []), T = c(() => {
12
+ var p = s.forwardRef(({ target: s = () => window, visibilityHeight: p = 400, onClick: m, children: h, className: g, style: _, "aria-label": v, "aria-labelledby": y, "aria-describedby": b, asChild: x = !1 }, S) => {
13
+ let { t: C } = n(r), [w, T] = u(!1), E = c((e) => e === window || e instanceof Window ? window.pageYOffset || document.documentElement.scrollTop : e instanceof Document ? document.documentElement.scrollTop : e.scrollTop, []), D = c(() => {
14
14
  let e = s();
15
15
  if (!e) return;
16
- let t = w(e);
17
- C(t > p);
16
+ let t = E(e);
17
+ T(t > p);
18
18
  }, [
19
19
  s,
20
20
  p,
21
- w
21
+ E
22
22
  ]);
23
23
  l(() => {
24
24
  let e = s();
25
- if (e) return requestAnimationFrame(T), e.addEventListener("scroll", T), () => {
26
- e.removeEventListener("scroll", T);
25
+ if (e) return requestAnimationFrame(D), e.addEventListener("scroll", D), () => {
26
+ e.removeEventListener("scroll", D);
27
27
  };
28
- }, [s, T]);
29
- let E = (e) => {
28
+ }, [s, D]);
29
+ let O = (e) => {
30
30
  let t = s();
31
31
  t && (t === window || t instanceof Window ? window.scrollTo({
32
32
  top: 0,
@@ -38,25 +38,27 @@ var p = s.forwardRef(({ target: s = () => window, visibilityHeight: p = 400, onC
38
38
  top: 0,
39
39
  behavior: "smooth"
40
40
  }), m?.(e));
41
- }, D = /* @__PURE__ */ f("div", {
41
+ }, k = /* @__PURE__ */ f("div", {
42
42
  className: o.content,
43
43
  children: /* @__PURE__ */ f(a, {
44
44
  component: i,
45
45
  className: o.icon
46
46
  })
47
47
  });
48
- return /* @__PURE__ */ f(y ? e : "div", {
49
- ref: b,
50
- className: d("wim-back-top", o.root, !S && o.hidden, g),
48
+ return /* @__PURE__ */ f(x ? e : "div", {
49
+ ref: S,
50
+ className: d("wim-back-top", o.root, !w && o.hidden, g),
51
51
  style: _,
52
- onClick: E,
52
+ onClick: O,
53
53
  role: "button",
54
54
  tabIndex: 0,
55
- "aria-label": v ?? x("a11y.back_to_top"),
55
+ "aria-label": y ? void 0 : v ?? C("a11y.back_to_top"),
56
+ "aria-labelledby": y,
57
+ "aria-describedby": b,
56
58
  onKeyDown: (e) => {
57
59
  (e.key === "Enter" || e.key === " ") && e.currentTarget.click();
58
60
  },
59
- children: /* @__PURE__ */ f(t, { children: h || D })
61
+ children: /* @__PURE__ */ f(t, { children: h || k })
60
62
  });
61
63
  });
62
64
  p.displayName = "BackTop";
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../overlay/Portal/Portal.cjs"),r=require("../../layout/Transition/Transition.cjs"),i=require("../../overlay/FocusTrap/FocusTrap.cjs"),a=require("../../../i18n/generated/components.cjs"),o=require("../../../icon/search.cjs"),s=require("../../media/Icon/Icon.cjs"),c=require("../../_internal/BaseListItem/BaseListItem.cjs"),l=require("./command-palette.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=(0,u.createContext)(void 0),m=()=>{let e=(0,u.useContext)(p);if(!e)throw Error(`CommandPalette sub-components must be used within a CommandPalette`);return e},h=({children:e,open:t,onOpenChange:n})=>{let[r,i]=(0,u.useState)(!1),[a,o]=(0,u.useState)(``),[s,c]=(0,u.useState)(0),[l,d]=(0,u.useState)(!1),m=(0,u.useRef)(0),h=t!==void 0,g=h?t:r,_=(0,u.useCallback)(e=>{h||i(e),n?.(e),e||(o(``),c(0))},[h,n]),v=(0,u.useCallback)(()=>{let e=m.current;return m.current+=1,e},[]),y=(0,u.useCallback)(()=>{--m.current},[]);m.current=0,(0,u.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&e.key===`k`&&(e.preventDefault(),d(!0),_(!g)),e.key===`Escape`&&g&&_(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[g,_]);let b=u.default.useMemo(()=>({open:g,onOpenChange:_,search:a,setSearch:o,activeIndex:s,setActiveIndex:c,registerItem:v,unregisterItem:y,isKeyboardNavigating:l,setIsKeyboardNavigating:d}),[g,_,a,s,v,y,l]);return(0,f.jsx)(p.Provider,{value:b,children:e})},g=({children:e,asChild:t,className:n})=>{let{onOpenChange:r,setIsKeyboardNavigating:i}=m(),a=e=>{i(e.detail===0),r(!0)};return t&&u.default.isValidElement(e)?u.default.cloneElement(e,{onClick:t=>{e.props.onClick?.(t),a(t)},className:(0,d.default)(n,e.props.className)}):(0,f.jsx)(`button`,{className:(0,d.default)(l.default.trigger,n),onClick:a,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&i(!0)},children:e})},_=({children:e,className:o,"aria-label":s})=>{let{t:c}=t.useWimTranslation(a.componentsNs),{open:p,onOpenChange:h,activeIndex:g,setActiveIndex:_,isKeyboardNavigating:v,setIsKeyboardNavigating:y}=m(),b=(0,u.useRef)(null);return(0,f.jsx)(n.Portal,{children:(0,f.jsx)(r.Transition,{show:p,preset:`fade`,children:(0,f.jsx)(`div`,{role:`presentation`,className:l.default.overlay,onClick:e=>{e.target===e.currentTarget&&h(!1)},children:(0,f.jsx)(r.Transition,{show:p,preset:`scale`,children:(0,f.jsx)(i.FocusTrap,{active:p,children:(0,f.jsx)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-label":s??c(`command_palette.label`),className:(0,d.default)(`wim-command-palette`,l.default.content,o),onClick:e=>e.stopPropagation(),onMouseMove:e=>{if(!b.current){b.current={x:e.clientX,y:e.clientY};return}Math.sqrt((e.clientX-b.current.x)**2+(e.clientY-b.current.y)**2)>10&&y(!1),b.current={x:e.clientX,y:e.clientY}},"data-keyboard-nav":v,onKeyDown:e=>{y(!0);let t=e.currentTarget.querySelectorAll(`.${l.default.item}:not([aria-disabled="true"])`).length;t!==0&&(e.key===`ArrowDown`?(e.preventDefault(),_(e=>(e+1)%t)):e.key===`ArrowUp`?(e.preventDefault(),_(e=>(e-1+t)%t)):e.key===`Home`?(e.preventDefault(),_(0)):e.key===`End`?(e.preventDefault(),_(t-1)):e.key===`Enter`&&(e.preventDefault(),document.getElementById(`wim-command-palette-item-${g}`)?.click()))},children:e})})})})})})},v=({placeholder:e,value:t,onChange:n,rightSection:r})=>{let{search:i,setSearch:a,setActiveIndex:c,activeIndex:d}=m(),p=(0,u.useRef)(null);return(0,u.useEffect)(()=>{p.current?.focus()},[]),(0,f.jsxs)(`div`,{className:l.default.inputWrapper,children:[(0,f.jsx)(s.Icon,{component:o.default,size:`sm`}),(0,f.jsx)(`input`,{ref:p,className:l.default.input,placeholder:e,value:t??i,onChange:e=>{let t=e.target.value;a(t),c(0),n?.(t)},role:`combobox`,"aria-autocomplete":`list`,"aria-expanded":!0,"aria-controls":`wim-command-palette-listbox`,"aria-activedescendant":`wim-command-palette-item-${d}`}),r&&(0,f.jsx)(`div`,{className:l.default.inputRight,children:r})]})},y=({children:e})=>(0,f.jsx)(`div`,{className:l.default.list,role:`listbox`,id:`wim-command-palette-listbox`,children:e}),b=({children:e,heading:t})=>{let n=u.default.useId();return(0,f.jsxs)(`div`,{className:l.default.group,role:`group`,"aria-labelledby":t?n:void 0,children:[t&&(0,f.jsx)(`div`,{id:n,className:l.default.groupHeading,"aria-hidden":`true`,children:t}),e]})},x=({children:e,onSelect:t,icon:n,shortcut:r,disabled:i})=>{let{activeIndex:a,setActiveIndex:o,registerItem:s,onOpenChange:d}=m(),[p]=(0,u.useState)(()=>s()),h=a===p;return(0,u.useEffect)(()=>{h&&!i&&document.getElementById(`wim-command-palette-item-${p}`)?.scrollIntoView({block:`nearest`})},[h,i,p]),(0,f.jsx)(c.BaseListItem,{role:`option`,id:`wim-command-palette-item-${p}`,"aria-selected":h,className:l.default.item,active:h,disabled:i,icon:n,rightSection:r&&(0,f.jsx)(`div`,{className:l.default.shortcut,children:r.map(e=>(0,f.jsx)(`kbd`,{className:l.default.kbd,children:e},e))}),onMouseEnter:()=>!i&&o(p),onClick:()=>{i||(t?.(),d(!1))},children:e})},S=({children:e})=>{let{t:n}=t.useWimTranslation(a.componentsNs),r=e??n(`command_palette.no_results`),{open:i,search:o}=m(),[s,c]=(0,u.useState)(!1);return(0,u.useEffect)(()=>{if(i){let e=setTimeout(()=>{let e=document.querySelectorAll(`.${l.default.item}`);c(e.length===0)},0);return()=>clearTimeout(e)}},[i,o]),!i||!s?null:(0,f.jsx)(`div`,{className:l.default.empty,children:r})},C=({children:e})=>(0,f.jsx)(`div`,{className:l.default.footer,children:e});exports.CommandPalette=h,exports.CommandPaletteContent=_,exports.CommandPaletteEmpty=S,exports.CommandPaletteFooter=C,exports.CommandPaletteGroup=b,exports.CommandPaletteInput=v,exports.CommandPaletteItem=x,exports.CommandPaletteList=y,exports.CommandPaletteTrigger=g;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../overlay/Portal/Portal.cjs"),r=require("../../layout/Transition/Transition.cjs"),i=require("../../overlay/FocusTrap/FocusTrap.cjs"),a=require("../../../i18n/generated/components.cjs"),o=require("../../../icon/search.cjs"),s=require("../../media/Icon/Icon.cjs"),c=require("../../_internal/BaseListItem/BaseListItem.cjs"),l=require("./command-palette.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=(0,u.createContext)(void 0),m=()=>{let e=(0,u.useContext)(p);if(!e)throw Error(`CommandPalette sub-components must be used within a CommandPalette`);return e},h=({children:e,open:t,onOpenChange:n})=>{let[r,i]=(0,u.useState)(!1),[a,o]=(0,u.useState)(``),[s,c]=(0,u.useState)(0),[l,d]=(0,u.useState)(!1),m=(0,u.useRef)(0),h=t!==void 0,g=h?t:r,_=(0,u.useCallback)(e=>{h||i(e),n?.(e),e||(o(``),c(0))},[h,n]),v=(0,u.useCallback)(()=>{let e=m.current;return m.current+=1,e},[]),y=(0,u.useCallback)(()=>{--m.current},[]);m.current=0,(0,u.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&e.key===`k`&&(e.preventDefault(),d(!0),_(!g)),e.key===`Escape`&&g&&_(!1)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[g,_]);let b=u.default.useMemo(()=>({open:g,onOpenChange:_,search:a,setSearch:o,activeIndex:s,setActiveIndex:c,registerItem:v,unregisterItem:y,isKeyboardNavigating:l,setIsKeyboardNavigating:d}),[g,_,a,s,v,y,l]);return(0,f.jsx)(p.Provider,{value:b,children:e})},g=({children:e,asChild:t,className:n})=>{let{onOpenChange:r,setIsKeyboardNavigating:i}=m(),a=e=>{i(e.detail===0),r(!0)};return t&&u.default.isValidElement(e)?u.default.cloneElement(e,{onClick:t=>{e.props.onClick?.(t),a(t)},className:(0,d.default)(n,e.props.className)}):(0,f.jsx)(`button`,{className:(0,d.default)(l.default.trigger,n),onClick:a,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&i(!0)},children:e})},_=({children:e,className:o,"aria-label":s})=>{let{t:c}=t.useWimTranslation(a.componentsNs),{open:p,onOpenChange:h,activeIndex:g,setActiveIndex:_,isKeyboardNavigating:v,setIsKeyboardNavigating:y}=m(),b=(0,u.useRef)(null);return(0,f.jsx)(n.Portal,{children:(0,f.jsx)(r.Transition,{show:p,preset:`fade`,children:(0,f.jsx)(`div`,{role:`presentation`,className:l.default.overlay,onClick:e=>{e.target===e.currentTarget&&h(!1)},children:(0,f.jsx)(r.Transition,{show:p,preset:`scale`,children:(0,f.jsx)(i.FocusTrap,{active:p,children:(0,f.jsx)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-label":s??c(`command_palette.label`),className:(0,d.default)(`wim-command-palette`,l.default.content,o),onClick:e=>e.stopPropagation(),onMouseMove:e=>{if(!b.current){b.current={x:e.clientX,y:e.clientY};return}Math.sqrt((e.clientX-b.current.x)**2+(e.clientY-b.current.y)**2)>10&&y(!1),b.current={x:e.clientX,y:e.clientY}},"data-keyboard-nav":v,onKeyDown:e=>{y(!0);let t=e.currentTarget.querySelectorAll(`.${l.default.item}:not([aria-disabled="true"])`).length;t!==0&&(e.key===`ArrowDown`?(e.preventDefault(),_(e=>(e+1)%t)):e.key===`ArrowUp`?(e.preventDefault(),_(e=>(e-1+t)%t)):e.key===`Home`?(e.preventDefault(),_(0)):e.key===`End`?(e.preventDefault(),_(t-1)):e.key===`Enter`&&(e.preventDefault(),document.getElementById(`wim-command-palette-item-${g}`)?.click()))},children:e})})})})})})},v=({placeholder:e,value:t,onChange:n,rightSection:r})=>{let{search:i,setSearch:a,setActiveIndex:c,activeIndex:d}=m(),p=(0,u.useRef)(null);return(0,u.useEffect)(()=>{p.current?.focus()},[]),(0,f.jsxs)(`div`,{className:l.default.inputWrapper,children:[(0,f.jsx)(s.Icon,{component:o.default,size:`sm`}),(0,f.jsx)(`input`,{ref:p,className:l.default.input,placeholder:e,value:t??i,onChange:e=>{let t=e.target.value;a(t),c(0),n?.(t)},role:`combobox`,"aria-autocomplete":`list`,"aria-expanded":!0,"aria-controls":`wim-command-palette-listbox`,"aria-activedescendant":`wim-command-palette-item-${d}`}),r&&(0,f.jsx)(`div`,{className:l.default.inputRight,children:r})]})},y=({children:e,"aria-label":n,"aria-labelledby":r})=>{let{t:i}=t.useWimTranslation(a.componentsNs);return(0,f.jsx)(`div`,{className:l.default.list,role:`listbox`,id:`wim-command-palette-listbox`,"aria-label":r?void 0:n??i(`command_palette.label`),"aria-labelledby":r,children:e})},b=({children:e,heading:t})=>{let n=u.default.useId();return(0,f.jsxs)(`div`,{className:l.default.group,role:`group`,"aria-labelledby":t?n:void 0,children:[t&&(0,f.jsx)(`div`,{id:n,className:l.default.groupHeading,"aria-hidden":`true`,children:t}),e]})},x=({children:e,onSelect:t,icon:n,shortcut:r,disabled:i})=>{let{activeIndex:a,setActiveIndex:o,registerItem:s,onOpenChange:d}=m(),[p]=(0,u.useState)(()=>s()),h=a===p;return(0,u.useEffect)(()=>{h&&!i&&document.getElementById(`wim-command-palette-item-${p}`)?.scrollIntoView({block:`nearest`})},[h,i,p]),(0,f.jsx)(c.BaseListItem,{role:`option`,id:`wim-command-palette-item-${p}`,"aria-selected":h,className:l.default.item,active:h,disabled:i,icon:n,rightSection:r&&(0,f.jsx)(`div`,{className:l.default.shortcut,children:r.map(e=>(0,f.jsx)(`kbd`,{className:l.default.kbd,children:e},e))}),onMouseEnter:()=>!i&&o(p),onClick:()=>{i||(t?.(),d(!1))},children:e})},S=({children:e})=>{let{t:n}=t.useWimTranslation(a.componentsNs),r=e??n(`command_palette.no_results`),{open:i,search:o}=m(),[s,c]=(0,u.useState)(!1);return(0,u.useEffect)(()=>{if(i){let e=setTimeout(()=>{let e=document.querySelectorAll(`.${l.default.item}`);c(e.length===0)},0);return()=>clearTimeout(e)}},[i,o]),!i||!s?null:(0,f.jsx)(`div`,{className:l.default.empty,children:r})},C=({children:e})=>(0,f.jsx)(`div`,{className:l.default.footer,children:e});exports.CommandPalette=h,exports.CommandPaletteContent=_,exports.CommandPaletteEmpty=S,exports.CommandPaletteFooter=C,exports.CommandPaletteGroup=b,exports.CommandPaletteInput=v,exports.CommandPaletteItem=x,exports.CommandPaletteList=y,exports.CommandPaletteTrigger=g;
@@ -38,8 +38,12 @@ export interface CommandPaletteInputProps {
38
38
  rightSection?: ReactNode;
39
39
  }
40
40
  export declare const CommandPaletteInput: ({ placeholder, value, onChange, rightSection, }: CommandPaletteInputProps) => React.JSX.Element;
41
- export declare const CommandPaletteList: ({ children }: {
41
+ export declare const CommandPaletteList: ({ children, "aria-label": ariaLabelAttr, "aria-labelledby": ariaLabelledBy, }: {
42
42
  children: ReactNode;
43
+ /** Accessible name for the list of results. Defaults to the built-in command palette label. */
44
+ "aria-label"?: string;
45
+ /** ID of the element that labels the list of results. Takes precedence over `aria-label`. */
46
+ "aria-labelledby"?: string;
43
47
  }) => React.JSX.Element;
44
48
  export declare const CommandPaletteGroup: ({ children, heading, }: {
45
49
  children: ReactNode;
@@ -151,12 +151,17 @@ var y = u(void 0), b = () => {
151
151
  })
152
152
  ]
153
153
  });
154
- }, T = ({ children: e }) => /* @__PURE__ */ _("div", {
155
- className: c.list,
156
- role: "listbox",
157
- id: "wim-command-palette-listbox",
158
- children: e
159
- }), E = ({ children: e, heading: t }) => {
154
+ }, T = ({ children: t, "aria-label": n, "aria-labelledby": r }) => {
155
+ let { t: a } = e(i);
156
+ return /* @__PURE__ */ _("div", {
157
+ className: c.list,
158
+ role: "listbox",
159
+ id: "wim-command-palette-listbox",
160
+ "aria-label": r ? void 0 : n ?? a("command_palette.label"),
161
+ "aria-labelledby": r,
162
+ children: t
163
+ });
164
+ }, E = ({ children: e, heading: t }) => {
160
165
  let n = l.useId();
161
166
  return /* @__PURE__ */ v("div", {
162
167
  className: c.group,
@@ -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("../../../icon/chevron-left.cjs"),a=require("../../../icon/chevron-right.cjs"),o=require("../../media/Icon/Icon.cjs"),s=require("../../form/Button/Button.cjs"),c=require("../../form/Input/Input.cjs"),l=require("../../form/Select/Select.cjs"),u=require("./pagination.module.cjs");let d=require("react");d=e.__toESM(d,1);let f=require("classnames");f=e.__toESM(f,1);let p=require("react/jsx-runtime");var m=d.default.forwardRef(({asChild:e=!1,className:n,children:r,page:i,isActive:a,...o},s)=>(0,p.jsx)(e?t.Root:`button`,{ref:s,type:e?void 0:`button`,className:(0,f.default)(u.default.button,n),"aria-current":a?`page`:void 0,...o,children:e?(0,p.jsx)(t.Slottable,{children:r}):r}));m.displayName=`PaginationPage`;var h=`...`,g=({total:e,pageSize:g=10,current:_=1,onChange:v,onPageSizeChange:y,siblingCount:b=1,className:x,asChild:S=!1,children:C,renderPage:w,hideOnSinglePage:T=!1,simple:E=!1,showSizeChanger:ee=!1,pageSizeOptions:D=[10,20,50,100],showTotal:O,showQuickJumper:k=!1,labels:A={}})=>{let{t:j}=n.useWimTranslation(r.commonNs),{prevPage:M=j(`a11y.go_to_prev_page`),nextPage:N=j(`a11y.go_to_next_page`),pageAriaLabel:P=e=>j(`a11y.go_to_page`,{page:String(e)}),itemsPerPage:F=j(`pagination.items_per_page`),goTo:I=j(`pagination.go_to`),go:L=j(`pagination.go`),pageSizeAriaLabel:R=j(`a11y.items_per_page`),jumpToPageAriaLabel:z=j(`a11y.jump_to_page`),navAriaLabel:B=j(`a11y.pagination_nav`)}=A,[V,H]=(0,d.useState)(g),[U,W]=(0,d.useState)(``),G=V,K=Math.ceil(e/G),q=(0,d.useMemo)(()=>{if(b+5>=K)return Array.from({length:K},(e,t)=>t+1);let e=Math.max(_-b,1),t=Math.min(_+b,K),n=e>2,r=t<K-2,i=K;if(!n&&r){let e=3+2*b;return[...Array.from({length:e},(e,t)=>t+1),h,K]}if(n&&!r){let e=3+2*b;return[1,h,...Array.from({length:e},(t,n)=>K-e+n+1)]}return n&&r?[1,h,...Array.from({length:t-e+1},(t,n)=>e+n),h,i]:[]},[K,b,_]);if(T&&K<=1)return null;let J=e=>{e<1||e>K||e===_||v?.(e,G)},Y=e=>{H(e),y?.(e),v?.(1,e)},X=()=>{let e=parseInt(U);!isNaN(e)&&e>=1&&e<=K&&(J(e),W(``))},Z=e=>{e.key===`Enter`&&X()},Q=(_-1)*G+1,te=Math.min(_*G,e),$=S?t.Root:`nav`,ne=e=>{let t={page:e,isActive:e===_,onClick:()=>J(e),"aria-label":P(e)};return w?w(e,t):(0,p.jsx)(m,{...t,children:e})};return E?(0,p.jsxs)($,{className:(0,f.default)(`wim-pagination`,u.default.root,u.default.simple,x),"aria-label":B,children:[(0,p.jsx)(t.Slottable,{children:C}),(0,p.jsxs)(`ul`,{className:u.default.root,children:[(0,p.jsx)(`li`,{className:(0,f.default)(u.default.item,_===1&&u.default.disabled),children:(0,p.jsx)(`button`,{className:u.default.button,onClick:()=>J(_-1),disabled:_===1,"aria-label":M,children:(0,p.jsx)(o.Icon,{component:i.default,size:`sm`})})}),(0,p.jsx)(`li`,{className:(0,f.default)(u.default.item,u.default.simplePager),children:(0,p.jsxs)(`span`,{children:[_,` / `,K]})}),(0,p.jsx)(`li`,{className:(0,f.default)(u.default.item,_===K&&u.default.disabled),children:(0,p.jsx)(`button`,{className:u.default.button,onClick:()=>J(_+1),disabled:_===K,"aria-label":N,children:(0,p.jsx)(o.Icon,{component:a.default,size:`sm`})})})]})]}):(0,p.jsx)(`div`,{className:(0,f.default)(`wim-pagination`,u.default.container,x),children:(0,p.jsxs)(`div`,{className:u.default.wrapper,children:[O&&(0,p.jsx)(`div`,{className:u.default.total,children:O(e,[Q,te])}),(0,p.jsxs)($,{className:u.default.root,"aria-label":B,children:[(0,p.jsx)(t.Slottable,{children:C}),(0,p.jsxs)(`ul`,{className:u.default.root,children:[(0,p.jsx)(`li`,{className:(0,f.default)(u.default.item,_===1&&u.default.disabled),children:(0,p.jsx)(`button`,{className:u.default.button,onClick:()=>J(_-1),disabled:_===1,"aria-label":M,children:(0,p.jsx)(o.Icon,{component:i.default,size:`sm`})})}),(0,p.jsx)(`li`,{className:(0,f.default)(u.default.item,u.default.mobileIndicator),children:(0,p.jsxs)(`span`,{children:[_,` / `,K]})}),q.map((e,t)=>e===h?(0,p.jsx)(`li`,{className:(0,f.default)(u.default.item,u.default.ellipsis),"aria-hidden":`true`,children:h},`ellipsis-${t}`):(0,p.jsx)(`li`,{className:(0,f.default)(u.default.item,u.default.number,e===_&&u.default.active),children:ne(e)},e)),(0,p.jsx)(`li`,{className:(0,f.default)(u.default.item,_===K&&u.default.disabled),children:(0,p.jsx)(`button`,{className:u.default.button,onClick:()=>J(_+1),disabled:_===K,"aria-label":N,children:(0,p.jsx)(o.Icon,{component:a.default,size:`sm`})})})]})]}),ee&&(0,p.jsx)(`div`,{className:u.default.sizeChanger,children:(0,p.jsx)(l.Select,{value:String(G),onChange:e=>Y(Number(e)),options:D.map(e=>({label:`${e} ${F}`,value:String(e)})),width:`auto`,"aria-label":R})}),k&&(0,p.jsxs)(`div`,{className:u.default.quickJumper,children:[(0,p.jsx)(`span`,{children:I}),(0,p.jsx)(c.Input,{type:`number`,min:1,max:K,value:U,onChange:e=>W(e.target.value),onKeyDown:Z,width:`60px`,"aria-label":z}),(0,p.jsx)(s.Button,{size:`sm`,variant:`outline`,onClick:X,disabled:!U,children:L})]})]})})};exports.Pagination=g,exports.default=g,exports.PaginationPage=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("../../../icon/chevron-left.cjs"),a=require("../../../icon/chevron-right.cjs"),o=require("../../media/Icon/Icon.cjs"),s=require("../../form/Button/Button.cjs"),c=require("../../form/Input/Input.cjs"),l=require("../../form/Select/Select.cjs"),u=require("./pagination.module.cjs");let d=require("react");d=e.__toESM(d,1);let f=require("classnames");f=e.__toESM(f,1);let p=require("react/jsx-runtime");var m=d.default.forwardRef(({asChild:e=!1,className:n,children:r,page:i,isActive:a,...o},s)=>(0,p.jsx)(e?t.Root:`button`,{ref:s,type:e?void 0:`button`,className:(0,f.default)(u.default.button,n),"aria-current":a?`page`:void 0,...o,children:e?(0,p.jsx)(t.Slottable,{children:r}):r}));m.displayName=`PaginationPage`;var h=`...`,g=({total:e,pageSize:g=10,current:_=1,onChange:v,onPageSizeChange:y,siblingCount:b=1,className:x,asChild:S=!1,children:C,renderPage:w,hideOnSinglePage:T=!1,simple:E=!1,showSizeChanger:D=!1,pageSizeOptions:ee=[10,20,50,100],showTotal:O,showQuickJumper:k=!1,labels:A={},"aria-label":j,"aria-labelledby":M})=>{let{t:N}=n.useWimTranslation(r.commonNs),{prevPage:P=N(`a11y.go_to_prev_page`),nextPage:F=N(`a11y.go_to_next_page`),pageAriaLabel:I=e=>N(`a11y.go_to_page`,{page:String(e)}),itemsPerPage:L=N(`pagination.items_per_page`),goTo:R=N(`pagination.go_to`),go:z=N(`pagination.go`),pageSizeAriaLabel:B=N(`a11y.items_per_page`),jumpToPageAriaLabel:V=N(`a11y.jump_to_page`),navAriaLabel:H=N(`a11y.pagination_nav`)}=A,[U,W]=(0,d.useState)(g),[G,K]=(0,d.useState)(``),q=U,J=Math.ceil(e/q),Y=(0,d.useMemo)(()=>{if(b+5>=J)return Array.from({length:J},(e,t)=>t+1);let e=Math.max(_-b,1),t=Math.min(_+b,J),n=e>2,r=t<J-2,i=J;if(!n&&r){let e=3+2*b;return[...Array.from({length:e},(e,t)=>t+1),h,J]}if(n&&!r){let e=3+2*b;return[1,h,...Array.from({length:e},(t,n)=>J-e+n+1)]}return n&&r?[1,h,...Array.from({length:t-e+1},(t,n)=>e+n),h,i]:[]},[J,b,_]);if(T&&J<=1)return null;let X=e=>{e<1||e>J||e===_||v?.(e,q)},Z=e=>{W(e),y?.(e),v?.(1,e)},Q=()=>{let e=parseInt(G);!isNaN(e)&&e>=1&&e<=J&&(X(e),K(``))},te=e=>{e.key===`Enter`&&Q()},ne=(_-1)*q+1,re=Math.min(_*q,e),$=S?t.Root:`nav`,ie=e=>{let t={page:e,isActive:e===_,onClick:()=>X(e),"aria-label":I(e)};return w?w(e,t):(0,p.jsx)(m,{...t,children:e})};return E?(0,p.jsxs)($,{className:(0,f.default)(`wim-pagination`,u.default.root,u.default.simple,x),"aria-label":M?void 0:j??H,"aria-labelledby":M,children:[(0,p.jsx)(t.Slottable,{children:C}),(0,p.jsxs)(`ul`,{className:u.default.root,children:[(0,p.jsx)(`li`,{className:(0,f.default)(u.default.item,_===1&&u.default.disabled),children:(0,p.jsx)(`button`,{className:u.default.button,onClick:()=>X(_-1),disabled:_===1,"aria-label":P,children:(0,p.jsx)(o.Icon,{component:i.default,size:`sm`})})}),(0,p.jsx)(`li`,{className:(0,f.default)(u.default.item,u.default.simplePager),children:(0,p.jsxs)(`span`,{children:[_,` / `,J]})}),(0,p.jsx)(`li`,{className:(0,f.default)(u.default.item,_===J&&u.default.disabled),children:(0,p.jsx)(`button`,{className:u.default.button,onClick:()=>X(_+1),disabled:_===J,"aria-label":F,children:(0,p.jsx)(o.Icon,{component:a.default,size:`sm`})})})]})]}):(0,p.jsx)(`div`,{className:(0,f.default)(`wim-pagination`,u.default.container,x),children:(0,p.jsxs)(`div`,{className:u.default.wrapper,children:[O&&(0,p.jsx)(`div`,{className:u.default.total,children:O(e,[ne,re])}),(0,p.jsxs)($,{className:u.default.root,"aria-label":M?void 0:j??H,"aria-labelledby":M,children:[(0,p.jsx)(t.Slottable,{children:C}),(0,p.jsxs)(`ul`,{className:u.default.root,children:[(0,p.jsx)(`li`,{className:(0,f.default)(u.default.item,_===1&&u.default.disabled),children:(0,p.jsx)(`button`,{className:u.default.button,onClick:()=>X(_-1),disabled:_===1,"aria-label":P,children:(0,p.jsx)(o.Icon,{component:i.default,size:`sm`})})}),(0,p.jsx)(`li`,{className:(0,f.default)(u.default.item,u.default.mobileIndicator),children:(0,p.jsxs)(`span`,{children:[_,` / `,J]})}),Y.map((e,t)=>e===h?(0,p.jsx)(`li`,{className:(0,f.default)(u.default.item,u.default.ellipsis),"aria-hidden":`true`,children:h},`ellipsis-${t}`):(0,p.jsx)(`li`,{className:(0,f.default)(u.default.item,u.default.number,e===_&&u.default.active),children:ie(e)},e)),(0,p.jsx)(`li`,{className:(0,f.default)(u.default.item,_===J&&u.default.disabled),children:(0,p.jsx)(`button`,{className:u.default.button,onClick:()=>X(_+1),disabled:_===J,"aria-label":F,children:(0,p.jsx)(o.Icon,{component:a.default,size:`sm`})})})]})]}),D&&(0,p.jsx)(`div`,{className:u.default.sizeChanger,children:(0,p.jsx)(l.Select,{value:String(q),onChange:e=>Z(Number(e)),options:ee.map(e=>({label:`${e} ${L}`,value:String(e)})),width:`auto`,"aria-label":B})}),k&&(0,p.jsxs)(`div`,{className:u.default.quickJumper,children:[(0,p.jsx)(`span`,{children:R}),(0,p.jsx)(c.Input,{type:`number`,min:1,max:J,value:G,onChange:e=>K(e.target.value),onKeyDown:te,width:`60px`,"aria-label":V}),(0,p.jsx)(s.Button,{size:`sm`,variant:`outline`,onClick:Q,disabled:!G,children:z})]})]})})};exports.Pagination=g,exports.default=g,exports.PaginationPage=m;
@@ -77,6 +77,10 @@ export interface PaginationProps {
77
77
  navAriaLabel?: string;
78
78
  totalLabel?: string;
79
79
  };
80
+ /** Accessible name for the navigation landmark. Takes precedence over `labels.navAriaLabel`. */
81
+ "aria-label"?: string;
82
+ /** ID of the element that labels the navigation landmark. Takes precedence over `aria-label`. */
83
+ "aria-labelledby"?: string;
80
84
  }
81
- export declare const Pagination: ({ total, pageSize, current, onChange, onPageSizeChange, siblingCount, className, asChild, children, renderPage, hideOnSinglePage, simple, showSizeChanger, pageSizeOptions, showTotal, showQuickJumper, labels, }: PaginationProps) => React.JSX.Element | null;
85
+ export declare const Pagination: ({ total, pageSize, current, onChange, onPageSizeChange, siblingCount, className, asChild, children, renderPage, hideOnSinglePage, simple, showSizeChanger, pageSizeOptions, showTotal, showQuickJumper, labels, "aria-label": ariaLabelAttr, "aria-labelledby": ariaLabelledBy, }: PaginationProps) => React.JSX.Element | null;
82
86
  export default Pagination;