wimui 0.5.3 → 0.6.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 (48) hide show
  1. package/dist/components/_internal/status-content.module.cjs +1 -1
  2. package/dist/components/_internal/status-content.module.js +1 -1
  3. package/dist/components/ai/ChatUI/ChatUI.cjs +1 -1
  4. package/dist/components/ai/ChatUI/ChatUI.js +80 -79
  5. package/dist/components/data-display/Calendar/Calendar.cjs +1 -1
  6. package/dist/components/data-display/Calendar/Calendar.js +88 -87
  7. package/dist/components/data-display/DataGrid/DataGrid.cjs +1 -1
  8. package/dist/components/data-display/DataGrid/DataGrid.d.ts +11 -4
  9. package/dist/components/data-display/DataGrid/DataGrid.js +52 -60
  10. package/dist/components/data-display/DataGrid/datagrid.module.cjs +1 -1
  11. package/dist/components/data-display/DataGrid/datagrid.module.js +15 -13
  12. package/dist/components/data-display/Kanban/Kanban.cjs +1 -1
  13. package/dist/components/data-display/Kanban/Kanban.js +87 -86
  14. package/dist/components/data-display/Table/Table.cjs +1 -1
  15. package/dist/components/data-display/Table/Table.d.ts +3 -2
  16. package/dist/components/data-display/Table/Table.js +1 -1
  17. package/dist/components/data-display/Table/table.module.cjs +1 -1
  18. package/dist/components/data-display/Table/table.module.js +28 -27
  19. package/dist/components/data-display/Tag/Tag.cjs +1 -1
  20. package/dist/components/data-display/Tag/Tag.js +34 -30
  21. package/dist/components/form/Button/button.module.cjs +1 -1
  22. package/dist/components/form/Button/button.module.js +2 -2
  23. package/dist/components/form/ImageCropper/ImageCropper.cjs +1 -1
  24. package/dist/components/form/ImageCropper/ImageCropper.js +1 -1
  25. package/dist/components/form/InlineEdit/InlineEdit.cjs +1 -1
  26. package/dist/components/form/InlineEdit/InlineEdit.js +31 -28
  27. package/dist/components/layout/Container/container.module.cjs +1 -1
  28. package/dist/components/layout/Container/container.module.js +1 -1
  29. package/dist/components/layout/Toolbar/toolbar.module.cjs +1 -1
  30. package/dist/components/layout/Toolbar/toolbar.module.js +4 -4
  31. package/dist/components/media/Audio/Audio.cjs +1 -1
  32. package/dist/components/media/Audio/Audio.js +66 -65
  33. package/dist/components/overlay/Dropdown/Dropdown.cjs +1 -1
  34. package/dist/components/overlay/Dropdown/Dropdown.js +106 -73
  35. package/dist/components/overlay/Dropdown/dropdown.module.cjs +1 -1
  36. package/dist/components/overlay/Dropdown/dropdown.module.js +3 -5
  37. package/dist/i18n/generated/keys.d.ts +1 -1
  38. package/dist/i18n/generated/resources.cjs +1 -1
  39. package/dist/i18n/generated/resources.js +44 -2
  40. package/dist/llms-full.txt +12 -4
  41. package/dist/llms.txt +3 -1
  42. package/dist/locales/en/common.json +12 -0
  43. package/dist/locales/ja/common.json +13 -1
  44. package/dist/locales/pt/common.json +13 -1
  45. package/dist/styles.css +1 -1
  46. package/dist/wimui.umd.css +1 -1
  47. package/dist/wimui.umd.js +2 -2
  48. package/package.json +16 -2
@@ -1,32 +1,33 @@
1
1
  "use client";
2
2
  //#region src/components/data-display/Table/table.module.scss
3
- var e = "_container_n6iuv_4", t = "_sticky_n6iuv_10", n = "_cardContainer_n6iuv_13", r = "_root_n6iuv_18", i = "_fullWidth_n6iuv_34", a = "_striped_n6iuv_37", o = "_bordered_n6iuv_41", s = "_hoverable_n6iuv_48", c = "_stickyLeft_n6iuv_52", l = "_stickyRight_n6iuv_52", u = "_stickyHeader_n6iuv_55", d = "_mobileCard_n6iuv_72", f = "_header_n6iuv_109", p = "_body_n6iuv_113", m = "_row_n6iuv_116", h = "_selected_n6iuv_121", g = "_head_n6iuv_109", _ = "_sortable_n6iuv_132", v = "_selection_n6iuv_139", y = "_cell_n6iuv_159", b = "_headContent_n6iuv_183", x = "_sortIcon_n6iuv_191", S = "_asc_n6iuv_196", C = "_desc_n6iuv_200", w = "_noScrollbar_n6iuv_203", T = "_subtleScrollbar_n6iuv_211", E = {
3
+ var e = "_container_1c5bz_4", t = "_mobileCard_1c5bz_13", n = "_mobileCardMd_1c5bz_13", r = "_sticky_1c5bz_16", i = "_cardContainer_1c5bz_19", a = "_root_1c5bz_24", o = "_fullWidth_1c5bz_40", s = "_striped_1c5bz_43", c = "_bordered_1c5bz_47", l = "_hoverable_1c5bz_54", u = "_stickyLeft_1c5bz_58", d = "_stickyRight_1c5bz_58", f = "_stickyHeader_1c5bz_61", p = "_selection_1c5bz_150", m = "_header_1c5bz_11", h = "_body_1c5bz_11", g = "_row_1c5bz_255", _ = "_selected_1c5bz_260", v = "_head_1c5bz_11", y = "_sortable_1c5bz_271", b = "_cell_1c5bz_298", x = "_headContent_1c5bz_328", S = "_sortIcon_1c5bz_336", C = "_asc_1c5bz_341", w = "_desc_1c5bz_345", T = "_noScrollbar_1c5bz_348", E = "_subtleScrollbar_1c5bz_356", D = {
4
4
  container: e,
5
- sticky: t,
6
- cardContainer: n,
7
- root: r,
8
- fullWidth: i,
9
- striped: a,
10
- bordered: o,
11
- hoverable: s,
12
- stickyLeft: c,
13
- stickyRight: l,
14
- stickyHeader: u,
15
- mobileCard: d,
16
- header: f,
17
- body: p,
18
- row: m,
19
- selected: h,
20
- head: g,
21
- sortable: _,
22
- selection: v,
23
- cell: y,
24
- headContent: b,
25
- sortIcon: x,
26
- asc: S,
27
- desc: C,
28
- noScrollbar: w,
29
- subtleScrollbar: T
5
+ mobileCard: t,
6
+ mobileCardMd: n,
7
+ sticky: r,
8
+ cardContainer: i,
9
+ root: a,
10
+ fullWidth: o,
11
+ striped: s,
12
+ bordered: c,
13
+ hoverable: l,
14
+ stickyLeft: u,
15
+ stickyRight: d,
16
+ stickyHeader: f,
17
+ selection: p,
18
+ header: m,
19
+ body: h,
20
+ row: g,
21
+ selected: _,
22
+ head: v,
23
+ sortable: y,
24
+ cell: b,
25
+ headContent: x,
26
+ sortIcon: S,
27
+ asc: C,
28
+ desc: w,
29
+ noScrollbar: T,
30
+ subtleScrollbar: E
30
31
  };
31
32
  //#endregion
32
- export { S as asc, p as body, o as bordered, n as cardContainer, y as cell, e as container, E as default, C as desc, i as fullWidth, g as head, b as headContent, f as header, s as hoverable, d as mobileCard, w as noScrollbar, r as root, m as row, h as selected, v as selection, x as sortIcon, _ as sortable, t as sticky, u as stickyHeader, c as stickyLeft, l as stickyRight, a as striped, T as subtleScrollbar };
33
+ export { C as asc, h as body, c as bordered, i as cardContainer, b as cell, e as container, D as default, w as desc, o as fullWidth, v as head, x as headContent, m as header, l as hoverable, t as mobileCard, n as mobileCardMd, T as noScrollbar, a as root, g as row, _ as selected, p as selection, S as sortIcon, y as sortable, r as sticky, f as stickyHeader, u as stickyLeft, d as stickyRight, s as striped, E as subtleScrollbar };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../icon/close.cjs"),n=require("../../media/Icon/Icon.cjs"),r=require("../../_internal/IndicatorBase.cjs"),i=require("./tag.module.cjs");let a=require("react");a=e.__toESM(a,1);let o=require("classnames");o=e.__toESM(o,1);let s=require("react/jsx-runtime");var c=a.default.forwardRef(({children:e,content:a,icon:c,onDelete:l,disabled:u,interactive:d=!1,...f},p)=>(0,s.jsxs)(r.IndicatorBase,{ref:p,styles:i.default,icon:c,content:a,className:(0,o.default)(`wim-tag`,f.className,{[i.default.disabled]:u}),interactive:d,...f,children:[e,l&&(0,s.jsx)(`button`,{type:`button`,className:i.default.closeButton,onClick:e=>{e.stopPropagation(),l(e)},"aria-label":`Close`,children:(0,s.jsx)(n.Icon,{component:t.default,size:`sm`})})]}));c.displayName=`Tag`,exports.Tag=c;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../icon/close.cjs"),r=require("../../media/Icon/Icon.cjs"),i=require("../../_internal/IndicatorBase.cjs"),a=require("./tag.module.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("classnames");s=e.__toESM(s,1);let c=require("react/jsx-runtime");var l=o.default.forwardRef(({children:e,content:o,icon:l,onDelete:u,disabled:d,interactive:f=!1,...p},m)=>{let{t:h}=t.useWimTranslation(`common`);return(0,c.jsxs)(i.IndicatorBase,{ref:m,styles:a.default,icon:l,content:o,className:(0,s.default)(`wim-tag`,p.className,{[a.default.disabled]:d}),interactive:f,...p,children:[e,u&&(0,c.jsx)(`button`,{type:`button`,className:a.default.closeButton,onClick:e=>{e.stopPropagation(),u(e)},"aria-label":h(`a11y.close`),children:(0,c.jsx)(r.Icon,{component:n.default,size:`sm`})})]})});l.displayName=`Tag`,exports.Tag=l;
@@ -1,33 +1,37 @@
1
1
  "use client";
2
- import e from "../../../icon/close.js";
3
- import { Icon as t } from "../../media/Icon/Icon.js";
4
- import { IndicatorBase as n } from "../../_internal/IndicatorBase.js";
5
- import r from "./tag.module.js";
6
- import i from "react";
7
- import a from "classnames";
8
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
2
+ import { useWimTranslation as e } from "../../../i18n/useWimTranslation.js";
3
+ import t from "../../../icon/close.js";
4
+ import { Icon as n } from "../../media/Icon/Icon.js";
5
+ import { IndicatorBase as r } from "../../_internal/IndicatorBase.js";
6
+ import i from "./tag.module.js";
7
+ import a from "react";
8
+ import o from "classnames";
9
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
9
10
  //#region src/components/data-display/Tag/Tag.tsx
10
- var c = i.forwardRef(({ children: i, content: c, icon: l, onDelete: u, disabled: d, interactive: f = !1, ...p }, m) => /* @__PURE__ */ s(n, {
11
- ref: m,
12
- styles: r,
13
- icon: l,
14
- content: c,
15
- className: a("wim-tag", p.className, { [r.disabled]: d }),
16
- interactive: f,
17
- ...p,
18
- children: [i, u && /* @__PURE__ */ o("button", {
19
- type: "button",
20
- className: r.closeButton,
21
- onClick: (e) => {
22
- e.stopPropagation(), u(e);
23
- },
24
- "aria-label": "Close",
25
- children: /* @__PURE__ */ o(t, {
26
- component: e,
27
- size: "sm"
28
- })
29
- })]
30
- }));
31
- c.displayName = "Tag";
11
+ var l = a.forwardRef(({ children: a, content: l, icon: u, onDelete: d, disabled: f, interactive: p = !1, ...m }, h) => {
12
+ let { t: g } = e("common");
13
+ return /* @__PURE__ */ c(r, {
14
+ ref: h,
15
+ styles: i,
16
+ icon: u,
17
+ content: l,
18
+ className: o("wim-tag", m.className, { [i.disabled]: f }),
19
+ interactive: p,
20
+ ...m,
21
+ children: [a, d && /* @__PURE__ */ s("button", {
22
+ type: "button",
23
+ className: i.closeButton,
24
+ onClick: (e) => {
25
+ e.stopPropagation(), d(e);
26
+ },
27
+ "aria-label": g("a11y.close"),
28
+ children: /* @__PURE__ */ s(n, {
29
+ component: t,
30
+ size: "sm"
31
+ })
32
+ })]
33
+ });
34
+ });
35
+ l.displayName = "Tag";
32
36
  //#endregion
33
- export { c as Tag };
37
+ export { l as Tag };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- var e=`_root_1lz2p_2`,t=`_fullWidth_1lz2p_29`,n=`_inner_1lz2p_37`,r=`_loader_1lz2p_40`,i=`_label_1lz2p_47`,a=`_lg_1lz2p_57`,o=`_md_1lz2p_66`,s=`_sm_1lz2p_75`,c=`_solid_1lz2p_85`,l=`_danger_1lz2p_95`,u=`_success_1lz2p_100`,d=`_outline_1lz2p_124`,f=`_ghost_1lz2p_157`,p=`_iconOnly_1lz2p_190`,m=`_content_1lz2p_200`,h=`_loading_1lz2p_210`,g=`_animatedWidth_1lz2p_219`,_={root:e,fullWidth:t,inner:n,loader:r,label:i,lg:a,md:o,sm:s,solid:c,default:`_default_1lz2p_90`,danger:l,success:u,outline:d,ghost:f,iconOnly:p,content:m,loading:h,animatedWidth:g};exports.animatedWidth=g,exports.content=m,exports.danger=l,exports.default=_,exports.fullWidth=t,exports.ghost=f,exports.iconOnly=p,exports.inner=n,exports.label=i,exports.lg=a,exports.loader=r,exports.loading=h,exports.md=o,exports.outline=d,exports.root=e,exports.sm=s,exports.solid=c,exports.success=u;
2
+ var e=`_root_1v3gk_3`,t=`_fullWidth_1v3gk_30`,n=`_inner_1v3gk_38`,r=`_loader_1v3gk_41`,i=`_label_1v3gk_48`,a=`_lg_1v3gk_58`,o=`_md_1v3gk_67`,s=`_sm_1v3gk_76`,c=`_solid_1v3gk_86`,l=`_danger_1v3gk_96`,u=`_success_1v3gk_101`,d=`_outline_1v3gk_125`,f=`_ghost_1v3gk_162`,p=`_iconOnly_1v3gk_198`,m=`_content_1v3gk_208`,h=`_loading_1v3gk_218`,g=`_animatedWidth_1v3gk_227`,_={root:e,fullWidth:t,inner:n,loader:r,label:i,lg:a,md:o,sm:s,solid:c,default:`_default_1v3gk_91`,danger:l,success:u,outline:d,ghost:f,iconOnly:p,content:m,loading:h,animatedWidth:g};exports.animatedWidth=g,exports.content=m,exports.danger=l,exports.default=_,exports.fullWidth=t,exports.ghost=f,exports.iconOnly=p,exports.inner=n,exports.label=i,exports.lg=a,exports.loader=r,exports.loading=h,exports.md=o,exports.outline=d,exports.root=e,exports.sm=s,exports.solid=c,exports.success=u;
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  //#region src/components/form/Button/button.module.scss
3
- var e = "_root_1lz2p_2", t = "_fullWidth_1lz2p_29", n = "_inner_1lz2p_37", r = "_loader_1lz2p_40", i = "_label_1lz2p_47", a = "_lg_1lz2p_57", o = "_md_1lz2p_66", s = "_sm_1lz2p_75", c = "_solid_1lz2p_85", l = "_danger_1lz2p_95", u = "_success_1lz2p_100", d = "_outline_1lz2p_124", f = "_ghost_1lz2p_157", p = "_iconOnly_1lz2p_190", m = "_content_1lz2p_200", h = "_loading_1lz2p_210", g = "_animatedWidth_1lz2p_219", _ = {
3
+ var e = "_root_1v3gk_3", t = "_fullWidth_1v3gk_30", n = "_inner_1v3gk_38", r = "_loader_1v3gk_41", i = "_label_1v3gk_48", a = "_lg_1v3gk_58", o = "_md_1v3gk_67", s = "_sm_1v3gk_76", c = "_solid_1v3gk_86", l = "_danger_1v3gk_96", u = "_success_1v3gk_101", d = "_outline_1v3gk_125", f = "_ghost_1v3gk_162", p = "_iconOnly_1v3gk_198", m = "_content_1v3gk_208", h = "_loading_1v3gk_218", g = "_animatedWidth_1v3gk_227", _ = {
4
4
  root: e,
5
5
  fullWidth: t,
6
6
  inner: n,
@@ -10,7 +10,7 @@ var e = "_root_1lz2p_2", t = "_fullWidth_1lz2p_29", n = "_inner_1lz2p_37", r = "
10
10
  md: o,
11
11
  sm: s,
12
12
  solid: c,
13
- default: "_default_1lz2p_90",
13
+ default: "_default_1v3gk_91",
14
14
  danger: l,
15
15
  success: u,
16
16
  outline: d,
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../Button/Button.cjs"),r=require("../../overlay/Dialog/Dialog.cjs"),i=require("../Slider/Slider.cjs"),a=require("../IconButton/IconButton.cjs"),o=require("./image-cropper.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(({src:e,aspectRatio:u=1,circular:d=!1,onCrop:f,showRotation:p=!0,showZoom:m=!0,showApplyButton:h=!0,applyLabel:g,onApply:_,className:v,...y},b)=>{let{t:x}=t.useWimTranslation(`form`),[S,C]=(0,s.useState)(1),[w,T]=(0,s.useState)(0),[E,D]=(0,s.useState)({x:0,y:0}),[O,k]=(0,s.useState)(!1),[A,j]=(0,s.useState)({x:0,y:0}),[M,N]=(0,s.useState)(!1),P=(0,s.useRef)(null),F=(0,s.useRef)(null);(0,s.useEffect)(()=>{D({x:0,y:0}),C(1),T(0)},[e]);let I=e=>{k(!0),j({x:e.clientX-E.x,y:e.clientY-E.y})},L=(0,s.useCallback)(e=>{O&&D({x:e.clientX-A.x,y:e.clientY-A.y})},[O,A]),R=(0,s.useCallback)(()=>{k(!1)},[]);(0,s.useEffect)(()=>(O?(window.addEventListener(`mousemove`,L),window.addEventListener(`mouseup`,R)):(window.removeEventListener(`mousemove`,L),window.removeEventListener(`mouseup`,R)),()=>{window.removeEventListener(`mousemove`,L),window.removeEventListener(`mouseup`,R)}),[O,L,R]);let z=()=>{T(e=>(e+90)%360)},B=()=>{N(!0)},V=()=>{let t=e||``;f?.(t),_?.(t),N(!1)};return e?(0,l.jsxs)(`div`,{ref:b,className:(0,c.default)(`wim-image-cropper`,o.default.root,v),...y,children:[(0,l.jsxs)(`div`,{ref:F,className:o.default.viewer,onMouseDown:I,role:`presentation`,children:[(0,l.jsx)(`div`,{className:o.default.imageContainer,children:(0,l.jsx)(`img`,{ref:P,src:e,alt:`Crop target`,className:o.default.image,style:{transform:`translate(${E.x}px, ${E.y}px) rotate(${w}deg) scale(${S})`},draggable:!1})}),(0,l.jsx)(`div`,{className:o.default.overlay,children:(0,l.jsx)(`div`,{className:(0,c.default)(o.default.cropArea,{[o.default.circular]:d}),style:{aspectRatio:u}})})]}),(0,l.jsxs)(`div`,{className:o.default.controls,children:[m&&(0,l.jsx)(`div`,{className:o.default.zoomControl,children:(0,l.jsx)(i.Slider,{min:1,max:3,step:.1,value:S,onChange:e=>C(e),label:x(`image_cropper.zoom`),styles:{root:o.default.zoomSlider}})}),p&&(0,l.jsx)(`div`,{className:o.default.rotationControl,children:(0,l.jsx)(a.IconButton,{iconName:`RefreshIcon`,onClick:z,"aria-label":x(`image_cropper.rotate`),variant:`outline`,size:`sm`})}),h&&(0,l.jsx)(`div`,{className:o.default.applyControl,children:(0,l.jsx)(n.Button,{onClick:B,size:`sm`,variant:`solid`,children:g||x(`image_cropper.apply`)})})]}),(0,l.jsx)(r.Dialog,{open:M,onOpenChange:N,children:(0,l.jsxs)(r.DialogContent,{children:[(0,l.jsx)(r.DialogHeader,{children:(0,l.jsx)(r.DialogTitle,{children:x(`image_cropper.confirm_title`)})}),(0,l.jsx)(r.DialogDescription,{children:x(`image_cropper.confirm_message`)}),(0,l.jsxs)(r.DialogFooter,{children:[(0,l.jsx)(r.DialogClose,{asChild:!0,children:(0,l.jsx)(n.Button,{variant:`ghost`,children:x(`image_cropper.cancel`)})}),(0,l.jsx)(n.Button,{onClick:V,variant:`solid`,children:x(`image_cropper.confirm`)})]})]})})]}):(0,l.jsx)(`div`,{ref:b,className:(0,c.default)(`wim-image-cropper`,o.default.root,o.default.empty,v),...y,children:(0,l.jsx)(`div`,{className:o.default.emptyContent,children:x(`image_cropper.no_image`)})})});u.displayName=`ImageCropper`,exports.ImageCropper=u;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../Button/Button.cjs"),r=require("../../overlay/Dialog/Dialog.cjs"),i=require("../Slider/Slider.cjs"),a=require("../IconButton/IconButton.cjs"),o=require("./image-cropper.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(({src:e,aspectRatio:u=1,circular:d=!1,onCrop:f,showRotation:p=!0,showZoom:m=!0,showApplyButton:h=!0,applyLabel:g,onApply:_,className:v,...y},b)=>{let{t:x}=t.useWimTranslation(`form`),[S,C]=(0,s.useState)(1),[w,T]=(0,s.useState)(0),[E,D]=(0,s.useState)({x:0,y:0}),[O,k]=(0,s.useState)(!1),[A,j]=(0,s.useState)({x:0,y:0}),[M,N]=(0,s.useState)(!1),P=(0,s.useRef)(null),F=(0,s.useRef)(null);(0,s.useEffect)(()=>{D({x:0,y:0}),C(1),T(0)},[e]);let I=e=>{k(!0),j({x:e.clientX-E.x,y:e.clientY-E.y})},L=(0,s.useCallback)(e=>{O&&D({x:e.clientX-A.x,y:e.clientY-A.y})},[O,A]),R=(0,s.useCallback)(()=>{k(!1)},[]);(0,s.useEffect)(()=>(O?(window.addEventListener(`mousemove`,L),window.addEventListener(`mouseup`,R)):(window.removeEventListener(`mousemove`,L),window.removeEventListener(`mouseup`,R)),()=>{window.removeEventListener(`mousemove`,L),window.removeEventListener(`mouseup`,R)}),[O,L,R]);let z=()=>{T(e=>(e+90)%360)},B=()=>{N(!0)},V=()=>{let t=e||``;f?.(t),_?.(t),N(!1)};return e?(0,l.jsxs)(`div`,{ref:b,className:(0,c.default)(`wim-image-cropper`,o.default.root,v),...y,children:[(0,l.jsxs)(`div`,{ref:F,className:o.default.viewer,onMouseDown:I,role:`presentation`,children:[(0,l.jsx)(`div`,{className:o.default.imageContainer,children:(0,l.jsx)(`img`,{ref:P,src:e,alt:x(`a11y.crop_target`),className:o.default.image,style:{transform:`translate(${E.x}px, ${E.y}px) rotate(${w}deg) scale(${S})`},draggable:!1})}),(0,l.jsx)(`div`,{className:o.default.overlay,children:(0,l.jsx)(`div`,{className:(0,c.default)(o.default.cropArea,{[o.default.circular]:d}),style:{aspectRatio:u}})})]}),(0,l.jsxs)(`div`,{className:o.default.controls,children:[m&&(0,l.jsx)(`div`,{className:o.default.zoomControl,children:(0,l.jsx)(i.Slider,{min:1,max:3,step:.1,value:S,onChange:e=>C(e),label:x(`image_cropper.zoom`),styles:{root:o.default.zoomSlider}})}),p&&(0,l.jsx)(`div`,{className:o.default.rotationControl,children:(0,l.jsx)(a.IconButton,{iconName:`RefreshIcon`,onClick:z,"aria-label":x(`image_cropper.rotate`),variant:`outline`,size:`sm`})}),h&&(0,l.jsx)(`div`,{className:o.default.applyControl,children:(0,l.jsx)(n.Button,{onClick:B,size:`sm`,variant:`solid`,children:g||x(`image_cropper.apply`)})})]}),(0,l.jsx)(r.Dialog,{open:M,onOpenChange:N,children:(0,l.jsxs)(r.DialogContent,{children:[(0,l.jsx)(r.DialogHeader,{children:(0,l.jsx)(r.DialogTitle,{children:x(`image_cropper.confirm_title`)})}),(0,l.jsx)(r.DialogDescription,{children:x(`image_cropper.confirm_message`)}),(0,l.jsxs)(r.DialogFooter,{children:[(0,l.jsx)(r.DialogClose,{asChild:!0,children:(0,l.jsx)(n.Button,{variant:`ghost`,children:x(`image_cropper.cancel`)})}),(0,l.jsx)(n.Button,{onClick:V,variant:`solid`,children:x(`image_cropper.confirm`)})]})]})})]}):(0,l.jsx)(`div`,{ref:b,className:(0,c.default)(`wim-image-cropper`,o.default.root,o.default.empty,v),...y,children:(0,l.jsx)(`div`,{className:o.default.emptyContent,children:x(`image_cropper.no_image`)})})});u.displayName=`ImageCropper`,exports.ImageCropper=u;
@@ -66,7 +66,7 @@ var b = f.forwardRef(({ src: f, aspectRatio: b = 1, circular: x = !1, onCrop: S,
66
66
  children: /* @__PURE__ */ v("img", {
67
67
  ref: W,
68
68
  src: f,
69
- alt: "Crop target",
69
+ alt: j("a11y.crop_target"),
70
70
  className: d.image,
71
71
  style: { transform: `translate(${I.x}px, ${I.y}px) rotate(${P}deg) scale(${M})` },
72
72
  draggable: !1
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../FieldTemplate/FieldTemplate.cjs"),r=require("../Input/Input.cjs"),i=require("../IconButton/IconButton.cjs"),a=require("./inline-edit.module.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("classnames");s=e.__toESM(s,1);let c=require("react/jsx-runtime");var l=o.default.forwardRef(({value:e,defaultValue:l,onChange:u,onSave:d,onCancel:f,onEdit:p,placeholder:m,disabled:h=!1,fullWidth:g=!1,label:_,className:v,...y},b)=>{let{t:x}=t.useWimTranslation(`common`),[S,C]=(0,o.useState)(!1),[w,T]=(0,o.useState)(l??``),[E,D]=(0,o.useState)(l??``),O=(0,o.useRef)(null),k=e!==void 0,A=k?e:E,j=()=>{h||(k||D(w),C(!0),p?.())},M=()=>{h||(k||T(A),C(!1),d?.(A))},N=()=>{h||(k||D(w),C(!1),f?.())},P=e=>{let t=e.target.value;k||D(t),u?.(t)},F=e=>{e.key===`Enter`?(e.preventDefault(),M()):e.key===`Escape`&&(e.preventDefault(),N())};return(0,o.useEffect)(()=>{S&&O.current&&O.current.focus()},[S]),(0,c.jsx)(n.FieldTemplate,{label:_,className:v,children:(0,c.jsx)(`div`,{ref:b,className:(0,s.default)(`wim-inline-edit`,a.default.root,g&&a.default.fullWidth,h&&a.default.disabled),...y,children:S?(0,c.jsxs)(`div`,{className:a.default.editWrapper,children:[(0,c.jsx)(r.Input,{ref:O,value:A,onChange:P,onKeyDown:F,disabled:h,placeholder:m,fullWidth:g,className:a.default.input}),(0,c.jsxs)(`div`,{className:a.default.editActions,children:[(0,c.jsx)(i.IconButton,{iconName:`CheckIcon`,intent:`success`,variant:`outline`,"aria-label":x(`action.save`),onClick:M,disabled:h}),(0,c.jsx)(i.IconButton,{iconName:`CloseIcon`,intent:`default`,variant:`outline`,"aria-label":x(`action.cancel`),onClick:N,disabled:h})]})]}):(0,c.jsxs)(`div`,{className:a.default.preview,onClick:j,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),j())},tabIndex:h?-1:0,role:`button`,"aria-disabled":h,children:[(0,c.jsx)(`span`,{className:(0,s.default)(a.default.text,!A&&a.default.placeholder),children:A||m||`\xA0`}),(0,c.jsx)(`span`,{className:a.default.editIconWrapper,children:(0,c.jsx)(i.IconButton,{iconName:`EditIcon`,variant:`ghost`,tabIndex:-1,"aria-label":x(`action.edit`),"aria-hidden":`true`,asChild:!0,children:(0,c.jsx)(`span`,{})})})]})})})});l.displayName=`InlineEdit`,exports.InlineEdit=l;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../FieldTemplate/FieldTemplate.cjs"),r=require("../Input/Input.cjs"),i=require("../IconButton/IconButton.cjs"),a=require("./inline-edit.module.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("classnames");s=e.__toESM(s,1);let c=require("react/jsx-runtime");var l=o.default.forwardRef(({value:e,defaultValue:l,onChange:u,onSave:d,onCancel:f,onEdit:p,placeholder:m,disabled:h=!1,fullWidth:g=!1,label:_,className:v,"aria-label":y,...b},x)=>{let{t:S}=t.useWimTranslation(`common`),[C,w]=(0,o.useState)(!1),[T,E]=(0,o.useState)(l??``),[D,O]=(0,o.useState)(l??``),k=(0,o.useRef)(null),A=e!==void 0,j=A?e:D,M=()=>{h||(A||O(T),w(!0),p?.())},N=()=>{h||(A||E(j),w(!1),d?.(j))},P=()=>{h||(A||O(T),w(!1),f?.())},F=e=>{let t=e.target.value;A||O(t),u?.(t)},I=e=>{e.key===`Enter`?(e.preventDefault(),N()):e.key===`Escape`&&(e.preventDefault(),P())};return(0,o.useEffect)(()=>{C&&k.current&&k.current.focus()},[C]),(0,c.jsx)(n.FieldTemplate,{label:_,className:v,children:(0,c.jsx)(`div`,{ref:x,className:(0,s.default)(`wim-inline-edit`,a.default.root,g&&a.default.fullWidth,h&&a.default.disabled),...b,children:C?(0,c.jsxs)(`div`,{className:a.default.editWrapper,children:[(0,c.jsx)(r.Input,{ref:k,value:j,onChange:F,onKeyDown:I,disabled:h,placeholder:m,"aria-label":y,fullWidth:g,className:a.default.input}),(0,c.jsxs)(`div`,{className:a.default.editActions,children:[(0,c.jsx)(i.IconButton,{iconName:`CheckIcon`,intent:`success`,variant:`outline`,"aria-label":S(`action.save`),onClick:N,disabled:h}),(0,c.jsx)(i.IconButton,{iconName:`CloseIcon`,intent:`default`,variant:`outline`,"aria-label":S(`action.cancel`),onClick:P,disabled:h})]})]}):(0,c.jsxs)(`div`,{className:a.default.preview,onClick:M,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),M())},tabIndex:h?-1:0,role:`button`,"aria-label":y,"aria-disabled":h,children:[(0,c.jsx)(`span`,{className:(0,s.default)(a.default.text,!j&&a.default.placeholder),children:j||m||`\xA0`}),(0,c.jsx)(`span`,{className:a.default.editIconWrapper,children:(0,c.jsx)(i.IconButton,{iconName:`EditIcon`,variant:`ghost`,size:`sm`,tabIndex:-1,"aria-label":S(`action.edit`),"aria-hidden":`true`,asChild:!0,children:(0,c.jsx)(`span`,{})})})]})})})});l.displayName=`InlineEdit`,exports.InlineEdit=l;
@@ -8,37 +8,38 @@ import a, { useEffect as o, useRef as s, useState as c } from "react";
8
8
  import l from "classnames";
9
9
  import { jsx as u, jsxs as d } from "react/jsx-runtime";
10
10
  //#region src/components/form/InlineEdit/InlineEdit.tsx
11
- var f = a.forwardRef(({ value: a, defaultValue: f, onChange: p, onSave: m, onCancel: h, onEdit: g, placeholder: _, disabled: v = !1, fullWidth: y = !1, label: b, className: x, ...S }, C) => {
12
- let { t: w } = e("common"), [T, E] = c(!1), [D, O] = c(f ?? ""), [k, A] = c(f ?? ""), j = s(null), M = a !== void 0, N = M ? a : k, P = () => {
13
- v || (M || A(D), E(!0), g?.());
14
- }, F = () => {
15
- v || (M || O(N), E(!1), m?.(N));
11
+ var f = a.forwardRef(({ value: a, defaultValue: f, onChange: p, onSave: m, onCancel: h, onEdit: g, placeholder: _, disabled: v = !1, fullWidth: y = !1, label: b, className: x, "aria-label": S, ...C }, w) => {
12
+ let { t: T } = e("common"), [E, D] = c(!1), [O, k] = c(f ?? ""), [A, j] = c(f ?? ""), M = s(null), N = a !== void 0, P = N ? a : A, F = () => {
13
+ v || (N || j(O), D(!0), g?.());
16
14
  }, I = () => {
17
- v || (M || A(D), E(!1), h?.());
18
- }, L = (e) => {
19
- let t = e.target.value;
20
- M || A(t), p?.(t);
15
+ v || (N || k(P), D(!1), m?.(P));
16
+ }, L = () => {
17
+ v || (N || j(O), D(!1), h?.());
21
18
  }, R = (e) => {
22
- e.key === "Enter" ? (e.preventDefault(), F()) : e.key === "Escape" && (e.preventDefault(), I());
19
+ let t = e.target.value;
20
+ N || j(t), p?.(t);
21
+ }, z = (e) => {
22
+ e.key === "Enter" ? (e.preventDefault(), I()) : e.key === "Escape" && (e.preventDefault(), L());
23
23
  };
24
24
  return o(() => {
25
- T && j.current && j.current.focus();
26
- }, [T]), /* @__PURE__ */ u(t, {
25
+ E && M.current && M.current.focus();
26
+ }, [E]), /* @__PURE__ */ u(t, {
27
27
  label: b,
28
28
  className: x,
29
29
  children: /* @__PURE__ */ u("div", {
30
- ref: C,
30
+ ref: w,
31
31
  className: l("wim-inline-edit", i.root, y && i.fullWidth, v && i.disabled),
32
- ...S,
33
- children: T ? /* @__PURE__ */ d("div", {
32
+ ...C,
33
+ children: E ? /* @__PURE__ */ d("div", {
34
34
  className: i.editWrapper,
35
35
  children: [/* @__PURE__ */ u(n, {
36
- ref: j,
37
- value: N,
38
- onChange: L,
39
- onKeyDown: R,
36
+ ref: M,
37
+ value: P,
38
+ onChange: R,
39
+ onKeyDown: z,
40
40
  disabled: v,
41
41
  placeholder: _,
42
+ "aria-label": S,
42
43
  fullWidth: y,
43
44
  className: i.input
44
45
  }), /* @__PURE__ */ d("div", {
@@ -47,37 +48,39 @@ var f = a.forwardRef(({ value: a, defaultValue: f, onChange: p, onSave: m, onCan
47
48
  iconName: "CheckIcon",
48
49
  intent: "success",
49
50
  variant: "outline",
50
- "aria-label": w("action.save"),
51
- onClick: F,
51
+ "aria-label": T("action.save"),
52
+ onClick: I,
52
53
  disabled: v
53
54
  }), /* @__PURE__ */ u(r, {
54
55
  iconName: "CloseIcon",
55
56
  intent: "default",
56
57
  variant: "outline",
57
- "aria-label": w("action.cancel"),
58
- onClick: I,
58
+ "aria-label": T("action.cancel"),
59
+ onClick: L,
59
60
  disabled: v
60
61
  })]
61
62
  })]
62
63
  }) : /* @__PURE__ */ d("div", {
63
64
  className: i.preview,
64
- onClick: P,
65
+ onClick: F,
65
66
  onKeyDown: (e) => {
66
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), P());
67
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), F());
67
68
  },
68
69
  tabIndex: v ? -1 : 0,
69
70
  role: "button",
71
+ "aria-label": S,
70
72
  "aria-disabled": v,
71
73
  children: [/* @__PURE__ */ u("span", {
72
- className: l(i.text, !N && i.placeholder),
73
- children: N || _ || "\xA0"
74
+ className: l(i.text, !P && i.placeholder),
75
+ children: P || _ || "\xA0"
74
76
  }), /* @__PURE__ */ u("span", {
75
77
  className: i.editIconWrapper,
76
78
  children: /* @__PURE__ */ u(r, {
77
79
  iconName: "EditIcon",
78
80
  variant: "ghost",
81
+ size: "sm",
79
82
  tabIndex: -1,
80
- "aria-label": w("action.edit"),
83
+ "aria-label": T("action.edit"),
81
84
  "aria-hidden": "true",
82
85
  asChild: !0,
83
86
  children: /* @__PURE__ */ u("span", {})
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- var e=`_root_10xgo_2`,t={root:e};exports.default=t,exports.root=e;
2
+ var e=`_root_87v5j_3`,t={root:e};exports.default=t,exports.root=e;
@@ -1,5 +1,5 @@
1
1
  "use client";
2
2
  //#region src/components/layout/Container/container.module.scss
3
- var e = "_root_10xgo_2", t = { root: e };
3
+ var e = "_root_87v5j_3", t = { root: e };
4
4
  //#endregion
5
5
  export { t as default, e as root };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- var e=`_root_1xd2s_4`,t=`_horizontal_1xd2s_13`,n=`_vertical_1xd2s_16`,r=`_group_1xd2s_32`,i=`_separator_1xd2s_41`,a={root:e,horizontal:t,vertical:n,"size-sm":`_size-sm_1xd2s_20`,"size-md":`_size-md_1xd2s_24`,"size-lg":`_size-lg_1xd2s_28`,group:r,separator:i};exports.default=a,exports.group=r,exports.horizontal=t,exports.root=e,exports.separator=i,exports.vertical=n;
2
+ var e=`_root_mh5q6_4`,t=`_horizontal_mh5q6_13`,n=`_vertical_mh5q6_16`,r=`_group_mh5q6_32`,i=`_separator_mh5q6_42`,a={root:e,horizontal:t,vertical:n,"size-sm":`_size-sm_mh5q6_20`,"size-md":`_size-md_mh5q6_24`,"size-lg":`_size-lg_mh5q6_28`,group:r,separator:i};exports.default=a,exports.group=r,exports.horizontal=t,exports.root=e,exports.separator=i,exports.vertical=n;
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  //#region src/components/layout/Toolbar/toolbar.module.scss
3
- var e = "_root_1xd2s_4", t = "_horizontal_1xd2s_13", n = "_vertical_1xd2s_16", r = "_group_1xd2s_32", i = "_separator_1xd2s_41", a = {
3
+ var e = "_root_mh5q6_4", t = "_horizontal_mh5q6_13", n = "_vertical_mh5q6_16", r = "_group_mh5q6_32", i = "_separator_mh5q6_42", a = {
4
4
  root: e,
5
5
  horizontal: t,
6
6
  vertical: n,
7
- "size-sm": "_size-sm_1xd2s_20",
8
- "size-md": "_size-md_1xd2s_24",
9
- "size-lg": "_size-lg_1xd2s_28",
7
+ "size-sm": "_size-sm_mh5q6_20",
8
+ "size-md": "_size-md_mh5q6_24",
9
+ "size-lg": "_size-lg_mh5q6_28",
10
10
  group: r,
11
11
  separator: i
12
12
  };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../hooks/useMediaLoader.cjs"),n=require("./hooks/useAudioPlayer.cjs"),r=require("./hooks/useAudioMetadata.cjs"),i=require("./components/AudioCustomControls.cjs"),a=require("./audio.module.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("classnames");s=e.__toESM(s,1);let c=require("react/jsx-runtime");var l=({src:e,autoPlay:l=!1,loop:u=!1,muted:d=!1,controls:ee=!0,radius:f=`none`,shadow:p=!1,border:m=!1,preload:te,caption:h,className:g,style:_,customControls:v=!1,visualizer:y=!1,showMetadata:b=!1,fadeIn:x=!1,fadeOut:ne=!1,crossfade:S=!1,playbackRate:C=!1,hotkeys:w=!1,presets:T=!1,sleepTimer:E=!1,loading:D=`lazy`,demoDelay:O,labels:k={},tracks:A,...j})=>{let{unknownTitle:M=`Unknown Title`,unknownArtist:N=`Unknown Artist`}=k,P=(0,o.useMemo)(()=>e?(Array.isArray(e)?e:[e]).map(e=>typeof e==`string`?{src:e}:e):[],[e]),{containerRef:F,isLoaded:I,isIntersecting:L,notifyLoaded:R,shouldShowSkeleton:z}=t.useMediaLoader({loading:D,demoDelay:O,src:P[0]?.src}),B=n.useAudioPlayer({playlist:P,loop:u,muted:d,fadeIn:x,fadeOut:ne,crossfade:S,visualizer:y,hotkeys:w,autoPlay:l}),{isPlaying:V,currentTrack:H,currentTrackIndex:U,activeAudioRef:W,nextAudioRef:G,canvasRef:K,handleTimeUpdate:q,handleEnded:J,setDuration:Y,playActivePlayer:X}=B,{metaTitle:Z,metaArtist:Q,metaCover:$}=r.useAudioMetadata({currentTrack:H,showMetadata:b});(0,o.useEffect)(()=>{!H||!W.current||(W.current.src=H.src,(l||V)&&X())},[U,H]);let re=f===`none`?null:a.default[`radius${f.charAt(0).toUpperCase()+f.slice(1)}`];return(0,c.jsxs)(`figure`,{className:(0,s.default)(`wim-audio`,a.default.root,g),style:_,"data-testid":`audio-root`,children:[(0,c.jsxs)(`div`,{ref:F,className:(0,s.default)(a.default.inner,re,v&&p&&a.default.shadow,v&&m&&a.default.border,v&&a.default.custom,y&&v&&a.default.hasVisualizer,x&&a.default.fadeIn,x&&I&&a.default.isLoaded,z&&a.default.loading),"data-testid":`audio-inner`,children:[y&&v&&(0,c.jsx)(`canvas`,{ref:K,className:a.default.visualizerCanvas,"data-testid":`audio-canvas`}),v&&b&&(Z||Q||$)&&(0,c.jsxs)(`div`,{className:a.default.metadata,style:{position:`relative`,zIndex:2},"data-testid":`audio-metadata`,children:[$&&(0,c.jsx)(`img`,{src:$,alt:`Cover`,className:a.default.cover,"data-testid":`audio-cover`}),(0,c.jsxs)(`div`,{className:a.default.info,children:[(0,c.jsx)(`div`,{className:a.default.title,"data-testid":`audio-title`,children:Z||M}),(0,c.jsx)(`div`,{className:a.default.artist,"data-testid":`audio-artist`,children:Q||N})]})]}),(0,c.jsxs)(`div`,{style:{display:v?`none`:`block`,width:`100%`},children:[L&&(0,c.jsx)(`audio`,{ref:W,src:H?.src,className:a.default.audio,"data-testid":`audio-active`,loop:B.repeatMode===1&&P.length===1,muted:B.isMuted,controls:!v&&ee,preload:te,crossOrigin:`anonymous`,onTimeUpdate:q,onEnded:J,...j,onLoadedMetadata:e=>{Y(e.currentTarget.duration),R(),j.onLoadedMetadata?.(e)},onLoadedData:e=>{R(),j.onLoadedData?.(e)},onCanPlay:e=>{R(),j.onCanPlay?.(e)},children:A?.map((e,t)=>(0,c.jsx)(`track`,{...e},t))}),(0,c.jsx)(`audio`,{ref:G,muted:B.isMuted,preload:`auto`,crossOrigin:`anonymous`,"data-testid":`audio-next`})]}),v&&(0,c.jsx)(i.AudioCustomControls,{styles:a.default,isPlaying:V,currentTime:B.currentTime,duration:B.duration,volume:B.volume,isMuted:B.isMuted,repeatMode:B.repeatMode,shuffleMode:B.shuffleMode,currentPlaybackRate:B.currentPlaybackRate,isBassBoost:B.isBassBoost,remainingSleepTime:B.remainingSleepTime,playbackRate:C,presets:T,sleepTimer:E,setRepeatMode:B.setRepeatMode,setShuffleMode:B.setShuffleMode,setCurrentPlaybackRate:B.setCurrentPlaybackRate,setIsBassBoost:B.setIsBassBoost,setIsMuted:B.setIsMuted,togglePlay:B.togglePlay,handleSeek:B.handleSeek,handleVolumeChange:B.handleVolumeChange,playNext:B.playNext,toggleSleepTimer:B.toggleSleepTimer,formatTime:B.formatTime,labels:k})]}),h&&(0,c.jsx)(`figcaption`,{className:a.default.caption,children:h})]})};exports.Audio=l;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../hooks/useMediaLoader.cjs"),r=require("./hooks/useAudioPlayer.cjs"),i=require("./hooks/useAudioMetadata.cjs"),a=require("./components/AudioCustomControls.cjs"),o=require("./audio.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=({src:e,autoPlay:u=!1,loop:d=!1,muted:f=!1,controls:p=!0,radius:m=`none`,shadow:ee=!1,border:te=!1,preload:h,caption:g,className:_,style:v,customControls:y=!1,visualizer:b=!1,showMetadata:x=!1,fadeIn:S=!1,fadeOut:ne=!1,crossfade:C=!1,playbackRate:w=!1,hotkeys:T=!1,presets:E=!1,sleepTimer:D=!1,loading:O=`lazy`,demoDelay:k,labels:A={},tracks:j,...M})=>{let{t:N}=t.useWimTranslation(`common`),{unknownTitle:P=`Unknown Title`,unknownArtist:F=`Unknown Artist`}=A,I=(0,s.useMemo)(()=>e?(Array.isArray(e)?e:[e]).map(e=>typeof e==`string`?{src:e}:e):[],[e]),{containerRef:L,isLoaded:re,isIntersecting:R,notifyLoaded:z,shouldShowSkeleton:B}=n.useMediaLoader({loading:O,demoDelay:k,src:I[0]?.src}),V=r.useAudioPlayer({playlist:I,loop:d,muted:f,fadeIn:S,fadeOut:ne,crossfade:C,visualizer:b,hotkeys:T,autoPlay:u}),{isPlaying:H,currentTrack:U,currentTrackIndex:W,activeAudioRef:G,nextAudioRef:K,canvasRef:q,handleTimeUpdate:J,handleEnded:Y,setDuration:X,playActivePlayer:ie}=V,{metaTitle:Z,metaArtist:Q,metaCover:$}=i.useAudioMetadata({currentTrack:U,showMetadata:x});(0,s.useEffect)(()=>{!U||!G.current||(G.current.src=U.src,(u||H)&&ie())},[W,U]);let ae=m===`none`?null:o.default[`radius${m.charAt(0).toUpperCase()+m.slice(1)}`];return(0,l.jsxs)(`figure`,{className:(0,c.default)(`wim-audio`,o.default.root,_),style:v,"data-testid":`audio-root`,children:[(0,l.jsxs)(`div`,{ref:L,className:(0,c.default)(o.default.inner,ae,y&&ee&&o.default.shadow,y&&te&&o.default.border,y&&o.default.custom,b&&y&&o.default.hasVisualizer,S&&o.default.fadeIn,S&&re&&o.default.isLoaded,B&&o.default.loading),"data-testid":`audio-inner`,children:[b&&y&&(0,l.jsx)(`canvas`,{ref:q,className:o.default.visualizerCanvas,"data-testid":`audio-canvas`}),y&&x&&(Z||Q||$)&&(0,l.jsxs)(`div`,{className:o.default.metadata,style:{position:`relative`,zIndex:2},"data-testid":`audio-metadata`,children:[$&&(0,l.jsx)(`img`,{src:$,alt:N(`a11y.cover_art`),className:o.default.cover,"data-testid":`audio-cover`}),(0,l.jsxs)(`div`,{className:o.default.info,children:[(0,l.jsx)(`div`,{className:o.default.title,"data-testid":`audio-title`,children:Z||P}),(0,l.jsx)(`div`,{className:o.default.artist,"data-testid":`audio-artist`,children:Q||F})]})]}),(0,l.jsxs)(`div`,{style:{display:y?`none`:`block`,width:`100%`},children:[R&&(0,l.jsx)(`audio`,{ref:G,src:U?.src,className:o.default.audio,"data-testid":`audio-active`,loop:V.repeatMode===1&&I.length===1,muted:V.isMuted,controls:!y&&p,preload:h,crossOrigin:`anonymous`,onTimeUpdate:J,onEnded:Y,...M,onLoadedMetadata:e=>{X(e.currentTarget.duration),z(),M.onLoadedMetadata?.(e)},onLoadedData:e=>{z(),M.onLoadedData?.(e)},onCanPlay:e=>{z(),M.onCanPlay?.(e)},children:j?.map((e,t)=>(0,l.jsx)(`track`,{...e},t))}),(0,l.jsx)(`audio`,{ref:K,muted:V.isMuted,preload:`auto`,crossOrigin:`anonymous`,"data-testid":`audio-next`})]}),y&&(0,l.jsx)(a.AudioCustomControls,{styles:o.default,isPlaying:H,currentTime:V.currentTime,duration:V.duration,volume:V.volume,isMuted:V.isMuted,repeatMode:V.repeatMode,shuffleMode:V.shuffleMode,currentPlaybackRate:V.currentPlaybackRate,isBassBoost:V.isBassBoost,remainingSleepTime:V.remainingSleepTime,playbackRate:w,presets:E,sleepTimer:D,setRepeatMode:V.setRepeatMode,setShuffleMode:V.setShuffleMode,setCurrentPlaybackRate:V.setCurrentPlaybackRate,setIsBassBoost:V.setIsBassBoost,setIsMuted:V.setIsMuted,togglePlay:V.togglePlay,handleSeek:V.handleSeek,handleVolumeChange:V.handleVolumeChange,playNext:V.playNext,toggleSleepTimer:V.toggleSleepTimer,formatTime:V.formatTime,labels:A})]}),g&&(0,l.jsx)(`figcaption`,{className:o.default.caption,children:g})]})};exports.Audio=u;
@@ -1,6 +1,7 @@
1
1
  "use client";
2
- import { useMediaLoader as e } from "../../../hooks/useMediaLoader.js";
3
- import { useAudioPlayer as t } from "./hooks/useAudioPlayer.js";
2
+ import { useWimTranslation as e } from "../../../i18n/useWimTranslation.js";
3
+ import { useMediaLoader as t } from "../../../hooks/useMediaLoader.js";
4
+ import { useAudioPlayer as ee } from "./hooks/useAudioPlayer.js";
4
5
  import { useAudioMetadata as n } from "./hooks/useAudioMetadata.js";
5
6
  import { AudioCustomControls as r } from "./components/AudioCustomControls.js";
6
7
  import i from "./audio.module.js";
@@ -8,40 +9,40 @@ import { useEffect as a, useMemo as o } from "react";
8
9
  import s from "classnames";
9
10
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
10
11
  //#region src/components/media/Audio/Audio.tsx
11
- var u = ({ src: u, autoPlay: d = !1, loop: f = !1, muted: p = !1, controls: ee = !0, radius: m = "none", shadow: h = !1, border: te = !1, preload: g, caption: _, className: v, style: y, customControls: b = !1, visualizer: x = !1, showMetadata: S = !1, fadeIn: C = !1, fadeOut: ne = !1, crossfade: w = !1, playbackRate: T = !1, hotkeys: E = !1, presets: D = !1, sleepTimer: O = !1, loading: k = "lazy", demoDelay: A, labels: j = {}, tracks: M, ...N }) => {
12
- let { unknownTitle: P = "Unknown Title", unknownArtist: F = "Unknown Artist" } = j, I = o(() => u ? (Array.isArray(u) ? u : [u]).map((e) => typeof e == "string" ? { src: e } : e) : [], [u]), { containerRef: L, isLoaded: R, isIntersecting: re, notifyLoaded: z, shouldShowSkeleton: B } = e({
13
- loading: k,
14
- demoDelay: A,
15
- src: I[0]?.src
16
- }), V = t({
17
- playlist: I,
18
- loop: f,
19
- muted: p,
12
+ var u = ({ src: u, autoPlay: d = !1, loop: te = !1, muted: ne = !1, controls: f = !0, radius: p = "none", shadow: m = !1, border: h = !1, preload: g, caption: _, className: v, style: y, customControls: b = !1, visualizer: x = !1, showMetadata: S = !1, fadeIn: C = !1, fadeOut: w = !1, crossfade: T = !1, playbackRate: E = !1, hotkeys: D = !1, presets: O = !1, sleepTimer: k = !1, loading: A = "lazy", demoDelay: j, labels: M = {}, tracks: N, ...P }) => {
13
+ let { t: F } = e("common"), { unknownTitle: I = "Unknown Title", unknownArtist: L = "Unknown Artist" } = M, R = o(() => u ? (Array.isArray(u) ? u : [u]).map((e) => typeof e == "string" ? { src: e } : e) : [], [u]), { containerRef: re, isLoaded: z, isIntersecting: B, notifyLoaded: V, shouldShowSkeleton: H } = t({
14
+ loading: A,
15
+ demoDelay: j,
16
+ src: R[0]?.src
17
+ }), U = ee({
18
+ playlist: R,
19
+ loop: te,
20
+ muted: ne,
20
21
  fadeIn: C,
21
- fadeOut: ne,
22
- crossfade: w,
22
+ fadeOut: w,
23
+ crossfade: T,
23
24
  visualizer: x,
24
- hotkeys: E,
25
+ hotkeys: D,
25
26
  autoPlay: d
26
- }), { isPlaying: H, currentTrack: U, currentTrackIndex: W, activeAudioRef: G, nextAudioRef: K, canvasRef: q, handleTimeUpdate: J, handleEnded: Y, setDuration: X, playActivePlayer: ie } = V, { metaTitle: Z, metaArtist: Q, metaCover: $ } = n({
27
- currentTrack: U,
27
+ }), { isPlaying: W, currentTrack: G, currentTrackIndex: K, activeAudioRef: q, nextAudioRef: J, canvasRef: Y, handleTimeUpdate: X, handleEnded: ie, setDuration: ae, playActivePlayer: oe } = U, { metaTitle: Z, metaArtist: Q, metaCover: $ } = n({
28
+ currentTrack: G,
28
29
  showMetadata: S
29
30
  });
30
31
  a(() => {
31
- !U || !G.current || (G.current.src = U.src, (d || H) && ie());
32
- }, [W, U]);
33
- let ae = m === "none" ? null : i[`radius${m.charAt(0).toUpperCase() + m.slice(1)}`];
32
+ !G || !q.current || (q.current.src = G.src, (d || W) && oe());
33
+ }, [K, G]);
34
+ let se = p === "none" ? null : i[`radius${p.charAt(0).toUpperCase() + p.slice(1)}`];
34
35
  return /* @__PURE__ */ l("figure", {
35
36
  className: s("wim-audio", i.root, v),
36
37
  style: y,
37
38
  "data-testid": "audio-root",
38
39
  children: [/* @__PURE__ */ l("div", {
39
- ref: L,
40
- className: s(i.inner, ae, b && h && i.shadow, b && te && i.border, b && i.custom, x && b && i.hasVisualizer, C && i.fadeIn, C && R && i.isLoaded, B && i.loading),
40
+ ref: re,
41
+ className: s(i.inner, se, b && m && i.shadow, b && h && i.border, b && i.custom, x && b && i.hasVisualizer, C && i.fadeIn, C && z && i.isLoaded, H && i.loading),
41
42
  "data-testid": "audio-inner",
42
43
  children: [
43
44
  x && b && /* @__PURE__ */ c("canvas", {
44
- ref: q,
45
+ ref: Y,
45
46
  className: i.visualizerCanvas,
46
47
  "data-testid": "audio-canvas"
47
48
  }),
@@ -54,7 +55,7 @@ var u = ({ src: u, autoPlay: d = !1, loop: f = !1, muted: p = !1, controls: ee =
54
55
  "data-testid": "audio-metadata",
55
56
  children: [$ && /* @__PURE__ */ c("img", {
56
57
  src: $,
57
- alt: "Cover",
58
+ alt: F("a11y.cover_art"),
58
59
  className: i.cover,
59
60
  "data-testid": "audio-cover"
60
61
  }), /* @__PURE__ */ l("div", {
@@ -62,11 +63,11 @@ var u = ({ src: u, autoPlay: d = !1, loop: f = !1, muted: p = !1, controls: ee =
62
63
  children: [/* @__PURE__ */ c("div", {
63
64
  className: i.title,
64
65
  "data-testid": "audio-title",
65
- children: Z || P
66
+ children: Z || I
66
67
  }), /* @__PURE__ */ c("div", {
67
68
  className: i.artist,
68
69
  "data-testid": "audio-artist",
69
- children: Q || F
70
+ children: Q || L
70
71
  })]
71
72
  })]
72
73
  }),
@@ -75,32 +76,32 @@ var u = ({ src: u, autoPlay: d = !1, loop: f = !1, muted: p = !1, controls: ee =
75
76
  display: b ? "none" : "block",
76
77
  width: "100%"
77
78
  },
78
- children: [re && /* @__PURE__ */ c("audio", {
79
- ref: G,
80
- src: U?.src,
79
+ children: [B && /* @__PURE__ */ c("audio", {
80
+ ref: q,
81
+ src: G?.src,
81
82
  className: i.audio,
82
83
  "data-testid": "audio-active",
83
- loop: V.repeatMode === 1 && I.length === 1,
84
- muted: V.isMuted,
85
- controls: !b && ee,
84
+ loop: U.repeatMode === 1 && R.length === 1,
85
+ muted: U.isMuted,
86
+ controls: !b && f,
86
87
  preload: g,
87
88
  crossOrigin: "anonymous",
88
- onTimeUpdate: J,
89
- onEnded: Y,
90
- ...N,
89
+ onTimeUpdate: X,
90
+ onEnded: ie,
91
+ ...P,
91
92
  onLoadedMetadata: (e) => {
92
- X(e.currentTarget.duration), z(), N.onLoadedMetadata?.(e);
93
+ ae(e.currentTarget.duration), V(), P.onLoadedMetadata?.(e);
93
94
  },
94
95
  onLoadedData: (e) => {
95
- z(), N.onLoadedData?.(e);
96
+ V(), P.onLoadedData?.(e);
96
97
  },
97
98
  onCanPlay: (e) => {
98
- z(), N.onCanPlay?.(e);
99
+ V(), P.onCanPlay?.(e);
99
100
  },
100
- children: M?.map((e, t) => /* @__PURE__ */ c("track", { ...e }, t))
101
+ children: N?.map((e, t) => /* @__PURE__ */ c("track", { ...e }, t))
101
102
  }), /* @__PURE__ */ c("audio", {
102
- ref: K,
103
- muted: V.isMuted,
103
+ ref: J,
104
+ muted: U.isMuted,
104
105
  preload: "auto",
105
106
  crossOrigin: "anonymous",
106
107
  "data-testid": "audio-next"
@@ -108,31 +109,31 @@ var u = ({ src: u, autoPlay: d = !1, loop: f = !1, muted: p = !1, controls: ee =
108
109
  }),
109
110
  b && /* @__PURE__ */ c(r, {
110
111
  styles: i,
111
- isPlaying: H,
112
- currentTime: V.currentTime,
113
- duration: V.duration,
114
- volume: V.volume,
115
- isMuted: V.isMuted,
116
- repeatMode: V.repeatMode,
117
- shuffleMode: V.shuffleMode,
118
- currentPlaybackRate: V.currentPlaybackRate,
119
- isBassBoost: V.isBassBoost,
120
- remainingSleepTime: V.remainingSleepTime,
121
- playbackRate: T,
122
- presets: D,
123
- sleepTimer: O,
124
- setRepeatMode: V.setRepeatMode,
125
- setShuffleMode: V.setShuffleMode,
126
- setCurrentPlaybackRate: V.setCurrentPlaybackRate,
127
- setIsBassBoost: V.setIsBassBoost,
128
- setIsMuted: V.setIsMuted,
129
- togglePlay: V.togglePlay,
130
- handleSeek: V.handleSeek,
131
- handleVolumeChange: V.handleVolumeChange,
132
- playNext: V.playNext,
133
- toggleSleepTimer: V.toggleSleepTimer,
134
- formatTime: V.formatTime,
135
- labels: j
112
+ isPlaying: W,
113
+ currentTime: U.currentTime,
114
+ duration: U.duration,
115
+ volume: U.volume,
116
+ isMuted: U.isMuted,
117
+ repeatMode: U.repeatMode,
118
+ shuffleMode: U.shuffleMode,
119
+ currentPlaybackRate: U.currentPlaybackRate,
120
+ isBassBoost: U.isBassBoost,
121
+ remainingSleepTime: U.remainingSleepTime,
122
+ playbackRate: E,
123
+ presets: O,
124
+ sleepTimer: k,
125
+ setRepeatMode: U.setRepeatMode,
126
+ setShuffleMode: U.setShuffleMode,
127
+ setCurrentPlaybackRate: U.setCurrentPlaybackRate,
128
+ setIsBassBoost: U.setIsBassBoost,
129
+ setIsMuted: U.setIsMuted,
130
+ togglePlay: U.togglePlay,
131
+ handleSeek: U.handleSeek,
132
+ handleVolumeChange: U.handleVolumeChange,
133
+ playNext: U.playNext,
134
+ toggleSleepTimer: U.toggleSleepTimer,
135
+ formatTime: U.formatTime,
136
+ labels: M
136
137
  })
137
138
  ]
138
139
  }), _ && /* @__PURE__ */ c("figcaption", {