wimui 0.23.4 → 0.23.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../typography/Text/Text.cjs"),r=require("../../navigation/Link/Link.cjs"),i=require("../../typography/Title/Title.cjs"),a=require("../../typography/Blockquote/Blockquote.cjs"),o=require("../CodeBlock/CodeBlock.cjs"),s=require("./markdown-renderer.module.cjs");let c=require("react");c=e.__toESM(c,1);let l=require("classnames");l=e.__toESM(l,1);let u=require("react/jsx-runtime"),d=require("react-markdown");d=e.__toESM(d,1);let f=require("remark-gfm");f=e.__toESM(f,1);var p=({content:e,className:c})=>{let{t:p}=t.useWimTranslation(`form`);return(0,u.jsx)(`div`,{className:(0,l.default)(`wim-markdown-renderer`,s.default.root,c),children:(0,u.jsx)(d.default,{remarkPlugins:[f.default],components:{h1:({children:e})=>(0,u.jsx)(i.Title,{tag:`h1`,size:`2xl`,className:s.default.heading,children:e}),h2:({children:e})=>(0,u.jsx)(i.Title,{tag:`h2`,size:`xl`,className:s.default.heading,children:e}),h3:({children:e})=>(0,u.jsx)(i.Title,{tag:`h3`,size:`lg`,className:s.default.heading,children:e}),h4:({children:e})=>(0,u.jsx)(i.Title,{tag:`h4`,size:`md`,className:s.default.heading,children:e}),p:({children:e})=>(0,u.jsx)(n.Text,{className:s.default.paragraph,children:e}),a:({href:e,children:t})=>(0,u.jsx)(r.Link,{href:e,children:t}),blockquote:({children:e})=>(0,u.jsx)(a.Blockquote,{children:e}),ul:({children:e})=>(0,u.jsx)(`ul`,{className:s.default.list,children:e}),ol:({children:e})=>(0,u.jsx)(`ol`,{className:s.default.list,children:e}),li:({children:e})=>(0,u.jsx)(`li`,{className:s.default.listItem,children:e}),code({className:e,children:t,...n}){let r=/language-(\w+)/.exec(e||``);return r?(0,u.jsx)(o.CodeBlock,{code:String(t).replace(/\n$/,``),language:r[1],className:s.default.codeBlock}):(0,u.jsx)(`code`,{className:s.default.inlineCode,...n,children:t})},table:({children:e})=>(0,u.jsx)(`div`,{className:s.default.tableWrapper,children:(0,u.jsx)(`table`,{className:s.default.table,children:e})}),th:({children:e})=>(0,u.jsx)(`th`,{className:s.default.th,children:e}),td:({children:e})=>(0,u.jsx)(`td`,{className:s.default.td,children:e}),input:({type:e,checked:t,disabled:n})=>e===`checkbox`?(0,u.jsx)(`input`,{type:`checkbox`,checked:t,disabled:n,readOnly:!0,"aria-label":p(t?`markdown.task_done`:`markdown.task_todo`)}):null},children:e})})};p.displayName=`MarkdownRenderer`,exports.MarkdownRenderer=p;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../typography/Text/Text.cjs"),r=require("../../navigation/Link/Link.cjs"),i=require("../../typography/Title/Title.cjs"),a=require("../../typography/Blockquote/Blockquote.cjs"),o=require("../CodeBlock/CodeBlock.cjs"),s=require("./markdown-renderer.module.cjs");let c=require("react");c=e.__toESM(c,1);let l=require("classnames");l=e.__toESM(l,1);let u=require("react/jsx-runtime"),d=require("react-markdown");d=e.__toESM(d,1);let f=require("remark-gfm");f=e.__toESM(f,1);var p=[`xs`,`sm`,`md`,`lg`,`xl`,`2xl`,`3xl`,`4xl`];function m(e,t){let n=p.indexOf(t);return p[Math.max(0,n-(e-1))]}var h=({content:e,baseLevel:c=`2xl`,className:p})=>{let{t:h}=t.useWimTranslation(`form`);return(0,u.jsx)(`div`,{className:(0,l.default)(`wim-markdown-renderer`,s.default.root,p),children:(0,u.jsx)(d.default,{remarkPlugins:[f.default],components:{h1:({children:e})=>(0,u.jsx)(i.Title,{tag:`h1`,size:m(1,c),className:s.default.heading,children:e}),h2:({children:e})=>(0,u.jsx)(i.Title,{tag:`h2`,size:m(2,c),className:s.default.heading,children:e}),h3:({children:e})=>(0,u.jsx)(i.Title,{tag:`h3`,size:m(3,c),className:s.default.heading,children:e}),h4:({children:e})=>(0,u.jsx)(i.Title,{tag:`h4`,size:m(4,c),className:s.default.heading,children:e}),p:({children:e})=>(0,u.jsx)(n.Text,{className:s.default.paragraph,children:e}),a:({href:e,children:t})=>(0,u.jsx)(r.Link,{href:e,children:t}),blockquote:({children:e})=>(0,u.jsx)(a.Blockquote,{children:e}),ul:({children:e})=>(0,u.jsx)(`ul`,{className:s.default.list,children:e}),ol:({children:e})=>(0,u.jsx)(`ol`,{className:s.default.list,children:e}),li:({children:e})=>(0,u.jsx)(`li`,{className:s.default.listItem,children:e}),code({className:e,children:t,...n}){let r=/language-(\w+)/.exec(e||``);return r?(0,u.jsx)(o.CodeBlock,{code:String(t).replace(/\n$/,``),language:r[1],className:s.default.codeBlock}):(0,u.jsx)(`code`,{className:s.default.inlineCode,...n,children:t})},table:({children:e})=>(0,u.jsx)(`div`,{className:s.default.tableWrapper,children:(0,u.jsx)(`table`,{className:s.default.table,children:e})}),th:({children:e})=>(0,u.jsx)(`th`,{className:s.default.th,children:e}),td:({children:e})=>(0,u.jsx)(`td`,{className:s.default.td,children:e}),input:({type:e,checked:t,disabled:n})=>e===`checkbox`?(0,u.jsx)(`input`,{type:`checkbox`,checked:t,disabled:n,readOnly:!0,"aria-label":h(t?`markdown.task_done`:`markdown.task_todo`)}):null},children:e})})};h.displayName=`MarkdownRenderer`,exports.MarkdownRenderer=h;
@@ -1,7 +1,17 @@
1
1
  import { default as React } from 'react';
2
+ /** Title sizes, smallest first. Markdown h1 starts at `baseLevel`; h2–h4 step down. */
3
+ declare const TITLE_SIZE_STEPS: readonly ["xs", "sm", "md", "lg", "xl", "2xl", "3xl", "4xl"];
4
+ export type MarkdownHeadingSize = (typeof TITLE_SIZE_STEPS)[number];
2
5
  export interface MarkdownRendererProps {
3
6
  /** The markdown string to render */
4
7
  content: string;
8
+ /**
9
+ * Visual size of markdown `h1`. `h2`–`h4` step one Title size down from this,
10
+ * clamped at `xs`. Does not change the HTML heading tag — that stays as
11
+ * written in the markdown. Default `"2xl"` keeps the historical mapping
12
+ * (`h1` 2xl / `h2` xl / `h3` lg / `h4` md).
13
+ */
14
+ baseLevel?: (typeof TITLE_SIZE_STEPS)[number];
5
15
  /** Additional CSS class for the root element */
6
16
  className?: string;
7
17
  /** Whether to render titles with anchor links (default: false) */
@@ -12,3 +22,4 @@ export interface MarkdownRendererProps {
12
22
  * It uses react-markdown under the hood and applies WIM's typography system.
13
23
  */
14
24
  export declare const MarkdownRenderer: React.FC<MarkdownRendererProps>;
25
+ export {};
@@ -12,34 +12,48 @@ import { jsx as c } from "react/jsx-runtime";
12
12
  import l from "react-markdown";
13
13
  import u from "remark-gfm";
14
14
  //#region src/components/ai/MarkdownRenderer/MarkdownRenderer.tsx
15
- var d = ({ content: d, className: f }) => {
16
- let { t: p } = e("form");
15
+ var d = [
16
+ "xs",
17
+ "sm",
18
+ "md",
19
+ "lg",
20
+ "xl",
21
+ "2xl",
22
+ "3xl",
23
+ "4xl"
24
+ ];
25
+ function f(e, t) {
26
+ let n = d.indexOf(t);
27
+ return d[Math.max(0, n - (e - 1))];
28
+ }
29
+ var p = ({ content: d, baseLevel: p = "2xl", className: m }) => {
30
+ let { t: h } = e("form");
17
31
  return /* @__PURE__ */ c("div", {
18
- className: s("wim-markdown-renderer", o.root, f),
32
+ className: s("wim-markdown-renderer", o.root, m),
19
33
  children: /* @__PURE__ */ c(l, {
20
34
  remarkPlugins: [u],
21
35
  components: {
22
36
  h1: ({ children: e }) => /* @__PURE__ */ c(r, {
23
37
  tag: "h1",
24
- size: "2xl",
38
+ size: f(1, p),
25
39
  className: o.heading,
26
40
  children: e
27
41
  }),
28
42
  h2: ({ children: e }) => /* @__PURE__ */ c(r, {
29
43
  tag: "h2",
30
- size: "xl",
44
+ size: f(2, p),
31
45
  className: o.heading,
32
46
  children: e
33
47
  }),
34
48
  h3: ({ children: e }) => /* @__PURE__ */ c(r, {
35
49
  tag: "h3",
36
- size: "lg",
50
+ size: f(3, p),
37
51
  className: o.heading,
38
52
  children: e
39
53
  }),
40
54
  h4: ({ children: e }) => /* @__PURE__ */ c(r, {
41
55
  tag: "h4",
42
- size: "md",
56
+ size: f(4, p),
43
57
  className: o.heading,
44
58
  children: e
45
59
  }),
@@ -96,13 +110,13 @@ var d = ({ content: d, className: f }) => {
96
110
  checked: t,
97
111
  disabled: n,
98
112
  readOnly: !0,
99
- "aria-label": p(t ? "markdown.task_done" : "markdown.task_todo")
113
+ "aria-label": h(t ? "markdown.task_done" : "markdown.task_todo")
100
114
  }) : null
101
115
  },
102
116
  children: d
103
117
  })
104
118
  });
105
119
  };
106
- d.displayName = "MarkdownRenderer";
120
+ p.displayName = "MarkdownRenderer";
107
121
  //#endregion
108
- export { d as MarkdownRenderer };
122
+ export { p as MarkdownRenderer };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- var e=`_root_2re21_3`,t=`_viewport_2re21_12`,n=`_track_2re21_16`,r=`_transition_2re21_20`,i=`_item_2re21_23`,a=`_hasAspectRatio_2re21_28`,o=`_control_2re21_42`,s=`_prev_2re21_66`,c=`_next_2re21_69`,l=`_indicators_2re21_73`,u=`_indicator_2re21_73`,d=`_active_2re21_96`,f={root:e,viewport:t,track:n,transition:r,item:i,hasAspectRatio:a,control:o,prev:s,next:c,indicators:l,indicator:u,active:d};exports.active=d,exports.control=o,exports.default=f,exports.hasAspectRatio=a,exports.indicator=u,exports.indicators=l,exports.item=i,exports.next=c,exports.prev=s,exports.root=e,exports.track=n,exports.transition=r,exports.viewport=t;
2
+ var e=`_root_kpbzt_3`,t=`_viewport_kpbzt_12`,n=`_track_kpbzt_16`,r=`_transition_kpbzt_20`,i=`_item_kpbzt_23`,a=`_hasAspectRatio_kpbzt_28`,o=`_control_kpbzt_42`,s=`_prev_kpbzt_72`,c=`_next_kpbzt_75`,l=`_indicators_kpbzt_79`,u=`_indicator_kpbzt_79`,d=`_active_kpbzt_104`,f={root:e,viewport:t,track:n,transition:r,item:i,hasAspectRatio:a,control:o,prev:s,next:c,indicators:l,indicator:u,active:d};exports.active=d,exports.control=o,exports.default=f,exports.hasAspectRatio=a,exports.indicator=u,exports.indicators=l,exports.item=i,exports.next=c,exports.prev=s,exports.root=e,exports.track=n,exports.transition=r,exports.viewport=t;
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  //#region src/components/data-display/Carousel/carousel.module.scss
3
- var e = "_root_2re21_3", t = "_viewport_2re21_12", n = "_track_2re21_16", r = "_transition_2re21_20", i = "_item_2re21_23", a = "_hasAspectRatio_2re21_28", o = "_control_2re21_42", s = "_prev_2re21_66", c = "_next_2re21_69", l = "_indicators_2re21_73", u = "_indicator_2re21_73", d = "_active_2re21_96", f = {
3
+ var e = "_root_kpbzt_3", t = "_viewport_kpbzt_12", n = "_track_kpbzt_16", r = "_transition_kpbzt_20", i = "_item_kpbzt_23", a = "_hasAspectRatio_kpbzt_28", o = "_control_kpbzt_42", s = "_prev_kpbzt_72", c = "_next_kpbzt_75", l = "_indicators_kpbzt_79", u = "_indicator_kpbzt_79", d = "_active_kpbzt_104", f = {
4
4
  root: e,
5
5
  viewport: t,
6
6
  track: n,
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- var e=`_root_2krha_2`,t=`_fixed_2krha_13`,n=`_sticky_2krha_19`,r=`_bordered_2krha_24`,i=`_glass_2krha_27`,a=`_container_2krha_42`,o=`_fluid_2krha_52`,s=`_section_2krha_56`,c=`_start_2krha_61`,l=`_center_2krha_64`,u=`_end_2krha_67`,d={root:e,fixed:t,sticky:n,bordered:r,glass:i,"bg-surface":`_bg-surface_2krha_32`,"bg-surface-variant":`_bg-surface-variant_2krha_35`,"bg-transparent":`_bg-transparent_2krha_38`,container:a,fluid:o,section:s,start:c,center:l,end:u};exports.bordered=r,exports.center=l,exports.container=a,exports.default=d,exports.end=u,exports.fixed=t,exports.fluid=o,exports.glass=i,exports.root=e,exports.section=s,exports.start=c,exports.sticky=n;
2
+ var e=`_root_1yx20_2`,t=`_fixed_1yx20_14`,n=`_sticky_1yx20_20`,r=`_bordered_1yx20_25`,i=`_glass_1yx20_28`,a=`_container_1yx20_43`,o=`_fluid_1yx20_56`,s=`_section_1yx20_60`,c=`_start_1yx20_65`,l=`_center_1yx20_68`,u=`_end_1yx20_71`,d={root:e,fixed:t,sticky:n,bordered:r,glass:i,"bg-surface":`_bg-surface_1yx20_33`,"bg-surface-variant":`_bg-surface-variant_1yx20_36`,"bg-transparent":`_bg-transparent_1yx20_39`,container:a,fluid:o,section:s,start:c,center:l,end:u};exports.bordered=r,exports.center=l,exports.container=a,exports.default=d,exports.end=u,exports.fixed=t,exports.fluid=o,exports.glass=i,exports.root=e,exports.section=s,exports.start=c,exports.sticky=n;
@@ -1,14 +1,14 @@
1
1
  "use client";
2
2
  //#region src/components/layout/Header/header.module.scss
3
- var e = "_root_2krha_2", t = "_fixed_2krha_13", n = "_sticky_2krha_19", r = "_bordered_2krha_24", i = "_glass_2krha_27", a = "_container_2krha_42", o = "_fluid_2krha_52", s = "_section_2krha_56", c = "_start_2krha_61", l = "_center_2krha_64", u = "_end_2krha_67", d = {
3
+ var e = "_root_1yx20_2", t = "_fixed_1yx20_14", n = "_sticky_1yx20_20", r = "_bordered_1yx20_25", i = "_glass_1yx20_28", a = "_container_1yx20_43", o = "_fluid_1yx20_56", s = "_section_1yx20_60", c = "_start_1yx20_65", l = "_center_1yx20_68", u = "_end_1yx20_71", d = {
4
4
  root: e,
5
5
  fixed: t,
6
6
  sticky: n,
7
7
  bordered: r,
8
8
  glass: i,
9
- "bg-surface": "_bg-surface_2krha_32",
10
- "bg-surface-variant": "_bg-surface-variant_2krha_35",
11
- "bg-transparent": "_bg-transparent_2krha_38",
9
+ "bg-surface": "_bg-surface_1yx20_33",
10
+ "bg-surface-variant": "_bg-surface-variant_1yx20_36",
11
+ "bg-transparent": "_bg-transparent_1yx20_39",
12
12
  container: a,
13
13
  fluid: o,
14
14
  section: s,
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- var e=`_root_ey1aj_3`,t=`_inner_ey1aj_12`,n=`_radiusSm_ey1aj_22`,r=`_radiusMd_ey1aj_26`,i=`_radiusLg_ey1aj_30`,a=`_radiusFull_ey1aj_34`,o=`_shadow_ey1aj_38`,s=`_loading_ey1aj_42`,c=`_border_ey1aj_45`,l=`_fadeIn_ey1aj_48`,u=`_audio_ey1aj_48`,d=`_customControls_ey1aj_49`,f=`_metadata_ey1aj_50`,p=`_isLoaded_ey1aj_54`,m=`_caption_ey1aj_88`,h=`_custom_ey1aj_49`,g=`_visualizerCanvas_ey1aj_113`,_=`_cover_ey1aj_137`,v=`_info_ey1aj_144`,y=`_title_ey1aj_150`,b=`_artist_ey1aj_156`,x=`_badge_ey1aj_161`,S=`_controlsRow_ey1aj_184`,C=`_controlsGroup_ey1aj_191`,w=`_btn_ey1aj_195`,T=`_active_ey1aj_216`,E=`_btnText_ey1aj_220`,D=`_btnPlay_ey1aj_227`,O=`_time_ey1aj_241`,k=`_progressContainer_ey1aj_253`,A=`_progress_ey1aj_253`,j=`_progressFill_ey1aj_277`,M=`_volumeContainer_ey1aj_299`,N=`_volume_ey1aj_299`,P={root:e,inner:t,radiusSm:n,radiusMd:r,radiusLg:i,radiusFull:a,shadow:o,loading:s,border:c,fadeIn:l,audio:u,customControls:d,metadata:f,isLoaded:p,"skeleton-loading":`_skeleton-loading_ey1aj_1`,caption:m,custom:h,visualizerCanvas:g,cover:_,info:v,title:y,artist:b,badge:x,controlsRow:S,controlsGroup:C,btn:w,active:T,btnText:E,btnPlay:D,time:O,progressContainer:k,progress:A,progressFill:j,volumeContainer:M,volume:N};exports.active=T,exports.artist=b,exports.audio=u,exports.badge=x,exports.border=c,exports.btn=w,exports.btnPlay=D,exports.btnText=E,exports.caption=m,exports.controlsGroup=C,exports.controlsRow=S,exports.cover=_,exports.custom=h,exports.customControls=d,exports.default=P,exports.fadeIn=l,exports.info=v,exports.inner=t,exports.isLoaded=p,exports.loading=s,exports.metadata=f,exports.progress=A,exports.progressContainer=k,exports.progressFill=j,exports.radiusFull=a,exports.radiusLg=i,exports.radiusMd=r,exports.radiusSm=n,exports.root=e,exports.shadow=o,exports.time=O,exports.title=y,exports.visualizerCanvas=g,exports.volume=N,exports.volumeContainer=M;
2
+ var e=`_root_1x6tc_3`,t=`_inner_1x6tc_13`,n=`_radiusSm_1x6tc_23`,r=`_radiusMd_1x6tc_27`,i=`_radiusLg_1x6tc_31`,a=`_radiusFull_1x6tc_35`,o=`_shadow_1x6tc_39`,s=`_loading_1x6tc_43`,c=`_border_1x6tc_46`,l=`_fadeIn_1x6tc_49`,u=`_audio_1x6tc_49`,d=`_customControls_1x6tc_50`,f=`_metadata_1x6tc_51`,p=`_isLoaded_1x6tc_55`,m=`_caption_1x6tc_89`,h=`_custom_1x6tc_50`,g=`_visualizerCanvas_1x6tc_118`,_=`_cover_1x6tc_142`,v=`_info_1x6tc_149`,y=`_title_1x6tc_155`,b=`_artist_1x6tc_161`,x=`_badge_1x6tc_166`,S=`_controlsRow_1x6tc_189`,C=`_controlsGroup_1x6tc_196`,w=`_btn_1x6tc_200`,T=`_active_1x6tc_221`,E=`_btnText_1x6tc_225`,D=`_btnPlay_1x6tc_232`,O=`_time_1x6tc_246`,k=`_progressContainer_1x6tc_258`,A=`_progress_1x6tc_258`,j=`_progressFill_1x6tc_282`,M=`_volumeContainer_1x6tc_304`,N=`_volume_1x6tc_304`,P={root:e,inner:t,radiusSm:n,radiusMd:r,radiusLg:i,radiusFull:a,shadow:o,loading:s,border:c,fadeIn:l,audio:u,customControls:d,metadata:f,isLoaded:p,"skeleton-loading":`_skeleton-loading_1x6tc_1`,caption:m,custom:h,visualizerCanvas:g,cover:_,info:v,title:y,artist:b,badge:x,controlsRow:S,controlsGroup:C,btn:w,active:T,btnText:E,btnPlay:D,time:O,progressContainer:k,progress:A,progressFill:j,volumeContainer:M,volume:N};exports.active=T,exports.artist=b,exports.audio=u,exports.badge=x,exports.border=c,exports.btn=w,exports.btnPlay=D,exports.btnText=E,exports.caption=m,exports.controlsGroup=C,exports.controlsRow=S,exports.cover=_,exports.custom=h,exports.customControls=d,exports.default=P,exports.fadeIn=l,exports.info=v,exports.inner=t,exports.isLoaded=p,exports.loading=s,exports.metadata=f,exports.progress=A,exports.progressContainer=k,exports.progressFill=j,exports.radiusFull=a,exports.radiusLg=i,exports.radiusMd=r,exports.radiusSm=n,exports.root=e,exports.shadow=o,exports.time=O,exports.title=y,exports.visualizerCanvas=g,exports.volume=N,exports.volumeContainer=M;
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  //#region src/components/media/Audio/audio.module.scss
3
- var e = "_root_ey1aj_3", t = "_inner_ey1aj_12", n = "_radiusSm_ey1aj_22", r = "_radiusMd_ey1aj_26", i = "_radiusLg_ey1aj_30", a = "_radiusFull_ey1aj_34", o = "_shadow_ey1aj_38", s = "_loading_ey1aj_42", c = "_border_ey1aj_45", l = "_fadeIn_ey1aj_48", u = "_audio_ey1aj_48", d = "_customControls_ey1aj_49", f = "_metadata_ey1aj_50", p = "_isLoaded_ey1aj_54", m = "_caption_ey1aj_88", h = "_custom_ey1aj_49", g = "_visualizerCanvas_ey1aj_113", _ = "_cover_ey1aj_137", v = "_info_ey1aj_144", y = "_title_ey1aj_150", b = "_artist_ey1aj_156", x = "_badge_ey1aj_161", S = "_controlsRow_ey1aj_184", C = "_controlsGroup_ey1aj_191", w = "_btn_ey1aj_195", T = "_active_ey1aj_216", E = "_btnText_ey1aj_220", D = "_btnPlay_ey1aj_227", O = "_time_ey1aj_241", k = "_progressContainer_ey1aj_253", A = "_progress_ey1aj_253", j = "_progressFill_ey1aj_277", M = "_volumeContainer_ey1aj_299", N = "_volume_ey1aj_299", P = {
3
+ var e = "_root_1x6tc_3", t = "_inner_1x6tc_13", n = "_radiusSm_1x6tc_23", r = "_radiusMd_1x6tc_27", i = "_radiusLg_1x6tc_31", a = "_radiusFull_1x6tc_35", o = "_shadow_1x6tc_39", s = "_loading_1x6tc_43", c = "_border_1x6tc_46", l = "_fadeIn_1x6tc_49", u = "_audio_1x6tc_49", d = "_customControls_1x6tc_50", f = "_metadata_1x6tc_51", p = "_isLoaded_1x6tc_55", m = "_caption_1x6tc_89", h = "_custom_1x6tc_50", g = "_visualizerCanvas_1x6tc_118", _ = "_cover_1x6tc_142", v = "_info_1x6tc_149", y = "_title_1x6tc_155", b = "_artist_1x6tc_161", x = "_badge_1x6tc_166", S = "_controlsRow_1x6tc_189", C = "_controlsGroup_1x6tc_196", w = "_btn_1x6tc_200", T = "_active_1x6tc_221", E = "_btnText_1x6tc_225", D = "_btnPlay_1x6tc_232", O = "_time_1x6tc_246", k = "_progressContainer_1x6tc_258", A = "_progress_1x6tc_258", j = "_progressFill_1x6tc_282", M = "_volumeContainer_1x6tc_304", N = "_volume_1x6tc_304", P = {
4
4
  root: e,
5
5
  inner: t,
6
6
  radiusSm: n,
@@ -15,7 +15,7 @@ var e = "_root_ey1aj_3", t = "_inner_ey1aj_12", n = "_radiusSm_ey1aj_22", r = "_
15
15
  customControls: d,
16
16
  metadata: f,
17
17
  isLoaded: p,
18
- "skeleton-loading": "_skeleton-loading_ey1aj_1",
18
+ "skeleton-loading": "_skeleton-loading_1x6tc_1",
19
19
  caption: m,
20
20
  custom: h,
21
21
  visualizerCanvas: g,
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../icon/close.cjs"),r=require("../Icon/Icon.cjs"),i=require("../../form/Button/Button.cjs"),a=require("../../form/Checkbox/Checkbox.cjs"),o=require("./gallery.module.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("classnames");c=e.__toESM(c,1);let l=require("react/jsx-runtime");var u=(0,s.createContext)(null),d=()=>{let e=(0,s.useContext)(u);if(!e)throw Error(`Gallery subcomponents must be used within Gallery`);return e},f=s.default.forwardRef(({items:e,columns:a=3,gap:d=`md`,aspect:f=`square`,selectable:m=!1,selected:h,defaultSelected:g=[],onSelectionChange:_,onItemClick:v,renderActions:y,className:b,style:x,...S},C)=>{let{t:w}=t.useWimTranslation(`components`),T=h!==void 0,[E,D]=(0,s.useState)(()=>new Set(g)),[O,k]=(0,s.useState)(0),A=(0,s.useRef)(null),j=(0,s.useRef)(null),[M,N]=(0,s.useState)(a),P=(0,s.useCallback)(e=>{j.current=e,typeof C==`function`?C(e):C&&(C.current=e)},[C]);(0,s.useEffect)(()=>{let e=j.current;if(!e)return;let t=new ResizeObserver(e=>{let t=e[0].contentRect.width;N(t<480?1:t<576?2:a)});return t.observe(e),()=>t.disconnect()},[a]);let F=(0,s.useMemo)(()=>T?new Set(h):E,[T,h,E]),I=(0,s.useCallback)(e=>{T||D(e),_?.(Array.from(e))},[T,_]),L=(0,s.useCallback)((t,n,r)=>{let i=new Set(F);if(r&&A.current!==null){let r=Math.min(A.current,n),a=Math.max(A.current,n),o=!F.has(t);for(let t=r;t<=a;t++)o?i.add(e[t].id):i.delete(e[t].id)}else i.has(t)?i.delete(t):i.add(t),A.current=n;I(i)},[F,e,I]),R=(0,s.useCallback)(()=>{I(new Set(e.map(e=>e.id)))},[e,I]),z=(0,s.useCallback)(()=>{I(new Set)},[I]),B=(0,s.useMemo)(()=>{let t=[];for(let n=0;n<e.length;n+=M)t.push({rowItems:e.slice(n,n+M),startIndex:n});return t},[e,M]),V=Array.from(F),H=V.length>0,U={"--gallery-columns":M,...x},W=t=>{let n=M,r=e.length,i=O;switch(t.key){case`ArrowRight`:t.preventDefault(),i=Math.min(O+1,r-1);break;case`ArrowLeft`:t.preventDefault(),i=Math.max(O-1,0);break;case`ArrowDown`:t.preventDefault(),i=Math.min(O+n,r-1);break;case`ArrowUp`:t.preventDefault(),i=Math.max(O-n,0);break;case`Home`:t.preventDefault(),i=0;break;case`End`:t.preventDefault(),i=r-1;break;case`Escape`:m&&(t.preventDefault(),z());break;case`a`:case`A`:m&&(t.ctrlKey||t.metaKey)&&(t.preventDefault(),R());break;default:return}i!==O&&(k(i),t.currentTarget.querySelectorAll(`[data-gallery-item]`)[i]?.focus())};return(0,l.jsx)(u.Provider,{value:{selectable:m,selectedIds:F,lastClickedIndex:A,items:e,toggleSelect:L,focusedIndex:O,setFocusedIndex:k,selectAll:R,clearSelection:z,onItemClick:v},children:(0,l.jsxs)(`div`,{ref:P,className:(0,c.default)(`wim-gallery`,o.default.root,b),...S,children:[m&&H&&(0,l.jsxs)(`div`,{className:o.default.toolbar,role:`toolbar`,"aria-label":w(`gallery.toolbar_label`),children:[(0,l.jsx)(`span`,{className:o.default.toolbarCount,children:w(`gallery.selected_count`,{count:V.length})}),(0,l.jsxs)(`div`,{className:o.default.toolbarActions,children:[y?.({selectedIds:V,clearSelection:z}),(0,l.jsx)(i.Button,{size:`sm`,variant:`ghost`,className:o.default.toolbarClear,onClick:z,"aria-label":w(`gallery.clear_selection`),icon:(0,l.jsx)(r.Icon,{component:n.default,size:`sm`})})]})]}),(0,l.jsx)(`div`,{className:(0,c.default)(o.default.grid,o.default[`gap-${d}`],o.default[`aspect-${f}`]),style:U,role:`grid`,"aria-multiselectable":m||void 0,"aria-label":w(`gallery.grid_label`),onKeyDown:W,tabIndex:0,children:B.map(({rowItems:e,startIndex:t},n)=>(0,l.jsx)(`div`,{role:`row`,style:{display:`contents`},children:e.map((e,n)=>(0,l.jsx)(p,{item:e,index:t+n},e.id))},n))})]})})});f.displayName=`Gallery`;var p=({item:e,index:n})=>{let{selectable:r,selectedIds:i,toggleSelect:s,focusedIndex:u,setFocusedIndex:f,onItemClick:p}=d(),{t:m}=t.useWimTranslation(`components`),h=i.has(e.id),g=u===n,_=t=>{r?s(e.id,n,t.shiftKey):p?.(e,n),f(n)},v=t=>{t.stopPropagation(),s(e.id,n,t.shiftKey)},y=t=>{(t.key===` `||t.key===`Enter`)&&(t.preventDefault(),r?s(e.id,n,!1):p?.(e,n))};return(0,l.jsxs)(`div`,{className:(0,c.default)(o.default.item,{[o.default.selected]:h,[o.default.selectable]:r}),role:`gridcell`,"aria-selected":r?h:void 0,tabIndex:g?0:-1,onClick:_,onKeyDown:y,onFocus:()=>f(n),"data-gallery-item":!0,children:[(0,l.jsxs)(`div`,{className:o.default.imageWrapper,children:[(0,l.jsx)(`img`,{src:e.src,alt:e.alt??e.title??``,className:o.default.image,draggable:!1}),r&&(0,l.jsx)(`div`,{className:o.default.checkboxOverlay,children:(0,l.jsx)(a.Checkbox,{checked:h,onChange:()=>{},onClick:v,"aria-label":m(h?`gallery.deselect_item`:`gallery.select_item`,{title:e.title??e.alt??String(n+1)}),tabIndex:-1,className:o.default.checkbox})}),h&&(0,l.jsx)(`div`,{className:o.default.selectedRing,"aria-hidden":!0})]}),(e.title||e.caption)&&(0,l.jsxs)(`div`,{className:o.default.caption,children:[e.title&&(0,l.jsx)(`span`,{className:o.default.captionTitle,children:e.title}),e.caption&&(0,l.jsx)(`span`,{className:o.default.captionText,children:e.caption})]})]})};exports.Gallery=f;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../icon/close.cjs"),r=require("../Icon/Icon.cjs"),i=require("../../form/Button/Button.cjs"),a=require("../../form/Checkbox/Checkbox.cjs"),o=require("./gallery.module.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("classnames");c=e.__toESM(c,1);let l=require("react/jsx-runtime");var u=(0,s.createContext)(null),d=()=>{let e=(0,s.useContext)(u);if(!e)throw Error(`Gallery subcomponents must be used within Gallery`);return e},f=s.default.forwardRef(({items:e,columns:a=3,gap:d=`md`,aspect:f=`square`,selectable:m=!1,selected:h,defaultSelected:g=[],onSelectionChange:_,onItemClick:v,renderActions:y,className:b,style:x,...S},C)=>{let{t:w}=t.useWimTranslation(`components`),T=h!==void 0,[E,D]=(0,s.useState)(()=>new Set(g)),[O,k]=(0,s.useState)(0),A=(0,s.useRef)(null),j=(0,s.useRef)(null),[M,N]=(0,s.useState)(a),P=(0,s.useCallback)(e=>{j.current=e,typeof C==`function`?C(e):C&&(C.current=e)},[C]);(0,s.useEffect)(()=>{let e=j.current;if(!e)return;let t=new ResizeObserver(e=>{let t=e[0].contentRect.width;N(t<480?1:t<576?2:a)});return t.observe(e),()=>t.disconnect()},[a]);let F=(0,s.useMemo)(()=>T?new Set(h):E,[T,h,E]),I=(0,s.useCallback)(e=>{T||D(e),_?.(Array.from(e))},[T,_]),L=(0,s.useCallback)((t,n,r)=>{let i=new Set(F);if(r&&A.current!==null){let r=Math.min(A.current,n),a=Math.max(A.current,n),o=!F.has(t);for(let t=r;t<=a;t++)o?i.add(e[t].id):i.delete(e[t].id)}else i.has(t)?i.delete(t):i.add(t),A.current=n;I(i)},[F,e,I]),R=(0,s.useCallback)(()=>{I(new Set(e.map(e=>e.id)))},[e,I]),z=(0,s.useCallback)(()=>{I(new Set)},[I]),B=(0,s.useMemo)(()=>{let t=[];for(let n=0;n<e.length;n+=M)t.push({rowItems:e.slice(n,n+M),startIndex:n});return t},[e,M]),V=Array.from(F),H=V.length>0,U={"--gallery-columns":M,...x},W=t=>{let n=M,r=e.length,i=O;switch(t.key){case`ArrowRight`:t.preventDefault(),i=Math.min(O+1,r-1);break;case`ArrowLeft`:t.preventDefault(),i=Math.max(O-1,0);break;case`ArrowDown`:t.preventDefault(),i=Math.min(O+n,r-1);break;case`ArrowUp`:t.preventDefault(),i=Math.max(O-n,0);break;case`Home`:t.preventDefault(),i=0;break;case`End`:t.preventDefault(),i=r-1;break;case`Escape`:m&&(t.preventDefault(),z());break;case`a`:case`A`:m&&(t.ctrlKey||t.metaKey)&&(t.preventDefault(),R());break;default:return}i!==O&&(k(i),t.currentTarget.querySelectorAll(`[data-gallery-item]`)[i]?.focus())};return(0,l.jsx)(u.Provider,{value:{selectable:m,selectedIds:F,lastClickedIndex:A,items:e,toggleSelect:L,focusedIndex:O,setFocusedIndex:k,selectAll:R,clearSelection:z,onItemClick:v},children:(0,l.jsxs)(`div`,{ref:P,className:(0,c.default)(`wim-gallery`,o.default.root,b),...S,children:[m&&H&&(0,l.jsxs)(`div`,{className:o.default.toolbar,role:`toolbar`,"aria-label":w(`gallery.toolbar_label`),children:[(0,l.jsx)(`span`,{className:o.default.toolbarCount,children:w(`gallery.selected_count`,{count:V.length})}),(0,l.jsxs)(`div`,{className:o.default.toolbarActions,children:[y?.({selectedIds:V,clearSelection:z}),(0,l.jsx)(i.Button,{size:`sm`,variant:`ghost`,className:o.default.toolbarClear,onClick:z,"aria-label":w(`gallery.clear_selection`),icon:(0,l.jsx)(r.Icon,{component:n.default,size:`sm`})})]})]}),(0,l.jsx)(`div`,{className:(0,c.default)(o.default.grid,o.default[`gap-${d}`],o.default[`aspect-${f}`]),style:U,role:`grid`,"aria-multiselectable":m||void 0,"aria-label":w(`gallery.grid_label`),onKeyDown:W,tabIndex:0,children:B.map(({rowItems:e,startIndex:t},n)=>(0,l.jsx)(`div`,{role:`row`,style:{display:`contents`},children:e.map((e,n)=>(0,l.jsx)(p,{item:e,index:t+n},e.id))},n))})]})})});f.displayName=`Gallery`;var p=({item:e,index:n})=>{let{selectable:r,selectedIds:i,toggleSelect:s,focusedIndex:u,setFocusedIndex:f,onItemClick:p}=d(),{t:m}=t.useWimTranslation(`components`),h=i.has(e.id),g=u===n,_=()=>{p?.(e,n),f(n)},v=t=>{t.stopPropagation(),s(e.id,n,t.shiftKey)},y=t=>{(t.key===` `||t.key===`Enter`)&&(t.preventDefault(),r&&t.key===` `?s(e.id,n,t.shiftKey):p?.(e,n))};return(0,l.jsxs)(`div`,{className:(0,c.default)(o.default.item,{[o.default.selected]:h}),role:`gridcell`,"aria-selected":r?h:void 0,tabIndex:g?0:-1,onClick:_,onKeyDown:y,onFocus:()=>f(n),"data-gallery-item":!0,children:[(0,l.jsxs)(`div`,{className:o.default.imageWrapper,children:[(0,l.jsx)(`img`,{src:e.src,alt:e.alt??e.title??``,className:o.default.image,draggable:!1}),r&&(0,l.jsx)(`div`,{className:o.default.checkboxOverlay,children:(0,l.jsx)(a.Checkbox,{checked:h,onChange:()=>{},onClick:v,"aria-label":m(h?`gallery.deselect_item`:`gallery.select_item`,{title:e.title??e.alt??String(n+1)}),tabIndex:-1,className:o.default.checkbox})}),h&&(0,l.jsx)(`div`,{className:o.default.selectedRing,"aria-hidden":!0})]}),(e.title||e.caption)&&(0,l.jsxs)(`div`,{className:o.default.caption,children:[e.title&&(0,l.jsx)(`span`,{className:o.default.captionTitle,children:e.title}),e.caption&&(0,l.jsx)(`span`,{className:o.default.captionText,children:e.caption})]})]})};exports.Gallery=f;
@@ -15,7 +15,7 @@ export interface GalleryProps extends Omit<React.ComponentPropsWithoutRef<"div">
15
15
  gap?: "xs" | "sm" | "md" | "lg" | "xl";
16
16
  /** Aspect ratio for each image. Default: "square". */
17
17
  aspect?: "square" | "landscape" | "portrait" | "auto";
18
- /** Enable multi-select with checkboxes. */
18
+ /** Enable multi-select with checkboxes. The photo click is `onItemClick`, not select. */
19
19
  selectable?: boolean;
20
20
  /** Controlled selected IDs. */
21
21
  selected?: string[];
@@ -23,7 +23,7 @@ export interface GalleryProps extends Omit<React.ComponentPropsWithoutRef<"div">
23
23
  defaultSelected?: string[];
24
24
  /** Called when selection changes. */
25
25
  onSelectionChange?: (ids: string[]) => void;
26
- /** Called when an item is clicked (outside checkbox). */
26
+ /** Called when the item (not the checkbox) is clicked. Fires even when `selectable`. */
27
27
  onItemClick?: (item: GalleryItem, index: number) => void;
28
28
  /** Render bulk-action toolbar when items are selected. */
29
29
  renderActions?: (params: {
@@ -152,18 +152,15 @@ var _ = s(null), v = () => {
152
152
  });
153
153
  y.displayName = "Gallery";
154
154
  var b = ({ item: t, index: n }) => {
155
- let { selectable: r, selectedIds: o, toggleSelect: s, focusedIndex: c, setFocusedIndex: l, onItemClick: u } = v(), { t: d } = e("components"), f = o.has(t.id), p = c === n, _ = (e) => {
156
- r ? s(t.id, n, e.shiftKey) : u?.(t, n), l(n);
155
+ let { selectable: r, selectedIds: o, toggleSelect: s, focusedIndex: c, setFocusedIndex: l, onItemClick: u } = v(), { t: d } = e("components"), f = o.has(t.id), p = c === n, _ = () => {
156
+ u?.(t, n), l(n);
157
157
  }, y = (e) => {
158
158
  e.stopPropagation(), s(t.id, n, e.shiftKey);
159
159
  }, b = (e) => {
160
- (e.key === " " || e.key === "Enter") && (e.preventDefault(), r ? s(t.id, n, !1) : u?.(t, n));
160
+ (e.key === " " || e.key === "Enter") && (e.preventDefault(), r && e.key === " " ? s(t.id, n, e.shiftKey) : u?.(t, n));
161
161
  };
162
162
  return /* @__PURE__ */ g("div", {
163
- className: m(a.item, {
164
- [a.selected]: f,
165
- [a.selectable]: r
166
- }),
163
+ className: m(a.item, { [a.selected]: f }),
167
164
  role: "gridcell",
168
165
  "aria-selected": r ? f : void 0,
169
166
  tabIndex: p ? 0 : -1,
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- var e=`_root_1s77i_3`,t=`_toolbar_1s77i_16`,n=`_toolbarCount_1s77i_39`,r=`_toolbarActions_1s77i_45`,i=`_toolbarClear_1s77i_51`,a=`_grid_1s77i_55`,o=`_item_1s77i_90`,s=`_selected_1s77i_101`,c=`_imageWrapper_1s77i_101`,l=`_image_1s77i_101`,u=`_checkboxOverlay_1s77i_142`,d=`_selectable_1s77i_152`,f=`_checkbox_1s77i_142`,p=`_selectedRing_1s77i_165`,m=`_caption_1s77i_173`,h=`_captionTitle_1s77i_180`,g=`_captionText_1s77i_189`,_={root:e,toolbar:t,"toolbar-in":`_toolbar-in_1s77i_1`,toolbarCount:n,toolbarActions:r,toolbarClear:i,grid:a,"gap-xs":`_gap-xs_1s77i_70`,"gap-sm":`_gap-sm_1s77i_74`,"gap-md":`_gap-md_1s77i_78`,"gap-lg":`_gap-lg_1s77i_82`,"gap-xl":`_gap-xl_1s77i_86`,item:o,selected:s,imageWrapper:c,"aspect-square":`_aspect-square_1s77i_112`,"aspect-landscape":`_aspect-landscape_1s77i_116`,"aspect-portrait":`_aspect-portrait_1s77i_120`,"aspect-auto":`_aspect-auto_1s77i_124`,image:l,checkboxOverlay:u,selectable:d,checkbox:f,selectedRing:p,caption:m,captionTitle:h,captionText:g};exports.caption=m,exports.captionText=g,exports.captionTitle=h,exports.checkbox=f,exports.checkboxOverlay=u,exports.default=_,exports.grid=a,exports.image=l,exports.imageWrapper=c,exports.item=o,exports.root=e,exports.selectable=d,exports.selected=s,exports.selectedRing=p,exports.toolbar=t,exports.toolbarActions=r,exports.toolbarClear=i,exports.toolbarCount=n;
2
+ var e=`_root_161ke_3`,t=`_toolbar_161ke_16`,n=`_toolbarCount_161ke_39`,r=`_toolbarActions_161ke_45`,i=`_toolbarClear_161ke_51`,a=`_grid_161ke_55`,o=`_item_161ke_90`,s=`_selected_161ke_101`,c=`_imageWrapper_161ke_101`,l=`_image_161ke_101`,u=`_checkboxOverlay_161ke_142`,d=`_checkbox_161ke_142`,f=`_selectedRing_161ke_164`,p=`_caption_161ke_172`,m=`_captionTitle_161ke_179`,h=`_captionText_161ke_188`,g={root:e,toolbar:t,"toolbar-in":`_toolbar-in_161ke_1`,toolbarCount:n,toolbarActions:r,toolbarClear:i,grid:a,"gap-xs":`_gap-xs_161ke_70`,"gap-sm":`_gap-sm_161ke_74`,"gap-md":`_gap-md_161ke_78`,"gap-lg":`_gap-lg_161ke_82`,"gap-xl":`_gap-xl_161ke_86`,item:o,selected:s,imageWrapper:c,"aspect-square":`_aspect-square_161ke_112`,"aspect-landscape":`_aspect-landscape_161ke_116`,"aspect-portrait":`_aspect-portrait_161ke_120`,"aspect-auto":`_aspect-auto_161ke_124`,image:l,checkboxOverlay:u,checkbox:d,selectedRing:f,caption:p,captionTitle:m,captionText:h};exports.caption=p,exports.captionText=h,exports.captionTitle=m,exports.checkbox=d,exports.checkboxOverlay=u,exports.default=g,exports.grid=a,exports.image=l,exports.imageWrapper=c,exports.item=o,exports.root=e,exports.selected=s,exports.selectedRing=f,exports.toolbar=t,exports.toolbarActions=r,exports.toolbarClear=i,exports.toolbarCount=n;
@@ -1,33 +1,32 @@
1
1
  "use client";
2
2
  //#region src/components/media/Gallery/gallery.module.scss
3
- var e = "_root_1s77i_3", t = "_toolbar_1s77i_16", n = "_toolbarCount_1s77i_39", r = "_toolbarActions_1s77i_45", i = "_toolbarClear_1s77i_51", a = "_grid_1s77i_55", o = "_item_1s77i_90", s = "_selected_1s77i_101", c = "_imageWrapper_1s77i_101", l = "_image_1s77i_101", u = "_checkboxOverlay_1s77i_142", d = "_selectable_1s77i_152", f = "_checkbox_1s77i_142", p = "_selectedRing_1s77i_165", m = "_caption_1s77i_173", h = "_captionTitle_1s77i_180", g = "_captionText_1s77i_189", _ = {
3
+ var e = "_root_161ke_3", t = "_toolbar_161ke_16", n = "_toolbarCount_161ke_39", r = "_toolbarActions_161ke_45", i = "_toolbarClear_161ke_51", a = "_grid_161ke_55", o = "_item_161ke_90", s = "_selected_161ke_101", c = "_imageWrapper_161ke_101", l = "_image_161ke_101", u = "_checkboxOverlay_161ke_142", d = "_checkbox_161ke_142", f = "_selectedRing_161ke_164", p = "_caption_161ke_172", m = "_captionTitle_161ke_179", h = "_captionText_161ke_188", g = {
4
4
  root: e,
5
5
  toolbar: t,
6
- "toolbar-in": "_toolbar-in_1s77i_1",
6
+ "toolbar-in": "_toolbar-in_161ke_1",
7
7
  toolbarCount: n,
8
8
  toolbarActions: r,
9
9
  toolbarClear: i,
10
10
  grid: a,
11
- "gap-xs": "_gap-xs_1s77i_70",
12
- "gap-sm": "_gap-sm_1s77i_74",
13
- "gap-md": "_gap-md_1s77i_78",
14
- "gap-lg": "_gap-lg_1s77i_82",
15
- "gap-xl": "_gap-xl_1s77i_86",
11
+ "gap-xs": "_gap-xs_161ke_70",
12
+ "gap-sm": "_gap-sm_161ke_74",
13
+ "gap-md": "_gap-md_161ke_78",
14
+ "gap-lg": "_gap-lg_161ke_82",
15
+ "gap-xl": "_gap-xl_161ke_86",
16
16
  item: o,
17
17
  selected: s,
18
18
  imageWrapper: c,
19
- "aspect-square": "_aspect-square_1s77i_112",
20
- "aspect-landscape": "_aspect-landscape_1s77i_116",
21
- "aspect-portrait": "_aspect-portrait_1s77i_120",
22
- "aspect-auto": "_aspect-auto_1s77i_124",
19
+ "aspect-square": "_aspect-square_161ke_112",
20
+ "aspect-landscape": "_aspect-landscape_161ke_116",
21
+ "aspect-portrait": "_aspect-portrait_161ke_120",
22
+ "aspect-auto": "_aspect-auto_161ke_124",
23
23
  image: l,
24
24
  checkboxOverlay: u,
25
- selectable: d,
26
- checkbox: f,
27
- selectedRing: p,
28
- caption: m,
29
- captionTitle: h,
30
- captionText: g
25
+ checkbox: d,
26
+ selectedRing: f,
27
+ caption: p,
28
+ captionTitle: m,
29
+ captionText: h
31
30
  };
32
31
  //#endregion
33
- export { m as caption, g as captionText, h as captionTitle, f as checkbox, u as checkboxOverlay, _ as default, a as grid, l as image, c as imageWrapper, o as item, e as root, d as selectable, s as selected, p as selectedRing, t as toolbar, r as toolbarActions, i as toolbarClear, n as toolbarCount };
32
+ export { p as caption, h as captionText, m as captionTitle, d as checkbox, u as checkboxOverlay, g as default, a as grid, l as image, c as imageWrapper, o as item, e as root, s as selected, f as selectedRing, t as toolbar, r as toolbarActions, i as toolbarClear, n as toolbarCount };
@@ -56,9 +56,22 @@ export declare const LightboxContent: {
56
56
  displayName: string;
57
57
  };
58
58
  export interface LightboxGalleryProps {
59
+ /** Thumbnails for the strip (`Lightbox.Trigger`). Not a `Gallery` grid. */
59
60
  children: React.ReactNode;
61
+ /** Items registered on the Lightbox for the overlay. */
60
62
  items: LightboxItem[];
61
63
  }
64
+ /**
65
+ * Thumbnail strip that registers `items` on the Lightbox context.
66
+ *
67
+ * Composition Contract:
68
+ * - Registers `items` for `Lightbox.Content`; does not render the overlay
69
+ * - Children are a centered wrapping flex row (column below `sm`)
70
+ * - Intended children: `Lightbox.Trigger` (and similar thumbnails)
71
+ * - Do not wrap `Gallery` here — the grid becomes one centered flex item and
72
+ * stacks on small widths. Register items with `null` children and render
73
+ * `Gallery` as a sibling
74
+ */
62
75
  export declare const LightboxGallery: {
63
76
  ({ items, children }: LightboxGalleryProps): React.JSX.Element;
64
77
  displayName: string;
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What this is
6
6
 
7
- **wimui** v0.23.4 — a React 19 component library: 218 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
7
+ **wimui** v0.23.6 — a React 19 component library: 218 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
8
8
 
9
9
  ## Install & required setup
10
10
 
@@ -2737,11 +2737,11 @@ Ignored when `truncate` is set (one line wins; they cannot both apply).
2737
2737
  - `columns: number` = 3 — Number of grid columns. Default: 3.
2738
2738
  - `gap: "xs" | "sm" | "md" | "lg" | "xl"` = "md" — Gap between items. Default: "md".
2739
2739
  - `aspect: "square" | "landscape" | "portrait" | "auto"` = "square" — Aspect ratio for each image. Default: "square".
2740
- - `selectable: boolean` = false — Enable multi-select with checkboxes.
2740
+ - `selectable: boolean` = false — Enable multi-select with checkboxes. The photo click is `onItemClick`, not select.
2741
2741
  - `selected: string[]` — Controlled selected IDs.
2742
2742
  - `defaultSelected: string[]` = [] — Uncontrolled initial selected IDs.
2743
2743
  - `onSelectionChange: (ids: string[]) => void` — Called when selection changes.
2744
- - `onItemClick: (item: GalleryItem, index: number) => void` — Called when an item is clicked (outside checkbox).
2744
+ - `onItemClick: (item: GalleryItem, index: number) => void` — Called when the item (not the checkbox) is clicked. Fires even when `selectable`.
2745
2745
  - `renderActions: (params: { selectedIds: string[]; clearSelection: () => void; }) => React.ReactNode` — Render bulk-action toolbar when items are selected.
2746
2746
  - **Icon** — Visual symbols
2747
2747
  - `name: keyof typeof ALL_ICONS` — Icon name. Requires `import "wimui/icons"` once at the app entry to register icons.
@@ -3053,6 +3053,10 @@ When set, an expand/collapse toggle is shown.
3053
3053
  - `showControls: boolean` — Whether to show controls
3054
3054
  - **MarkdownRenderer** — MarkdownRenderer converts a markdown string into WIM UI components. It uses react-markdown under the hood and applies WIM's typography system.
3055
3055
  - `content: string` (required) — The markdown string to render
3056
+ - `baseLevel: (typeof TITLE_SIZE_STEPS)[number]` = "2xl" — Visual size of markdown `h1`. `h2`–`h4` step one Title size down from this,
3057
+ clamped at `xs`. Does not change the HTML heading tag — that stays as
3058
+ written in the markdown. Default `"2xl"` keeps the historical mapping
3059
+ (`h1` 2xl / `h2` xl / `h3` lg / `h4` md).
3056
3060
  - `className: string` — Additional CSS class for the root element
3057
3061
  - `withAnchors: boolean` — Whether to render titles with anchor links (default: false)
3058
3062
  - **ModelSelector** — ModelSelector is a dropdown for switching between AI models, surfacing the metadata that matters when choosing one — context window size and per-token pricing.
package/dist/llms.txt CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What this is
6
6
 
7
- **wimui** v0.23.4 — a React 19 component library: 218 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
7
+ **wimui** v0.23.6 — a React 19 component library: 218 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
8
8
 
9
9
  ## Install & required setup
10
10