wimui 0.60.1 → 0.61.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.
@@ -2,137 +2,138 @@
2
2
  import { Root as e, Slottable as t } from "../../../node_modules/@radix-ui/react-slot/dist/index.js";
3
3
  import { Transition as n } from "../../layout/Transition/Transition.js";
4
4
  import { BaseListItem as r } from "../../_internal/BaseListItem/BaseListItem.js";
5
- import i from "./menubar.module.js";
6
- import a, { createContext as o, useCallback as s, useContext as c, useEffect as l, useId as u, useMemo as d, useRef as f, useState as p } from "react";
7
- import m from "classnames";
8
- import { jsx as h } from "react/jsx-runtime";
5
+ import { useInlineFloating as i } from "../../_internal/useInlineFloating.js";
6
+ import a from "./menubar.module.js";
7
+ import o, { createContext as s, useCallback as c, useContext as l, useEffect as u, useId as d, useMemo as f, useRef as p, useState as m } from "react";
8
+ import h from "classnames";
9
+ import { jsx as g } from "react/jsx-runtime";
9
10
  //#region src/components/navigation/Menubar/Menubar.tsx
10
- var g = o(null), _ = o(null), v = () => {
11
- let e = c(g);
11
+ var _ = s(null), v = s(null), y = () => {
12
+ let e = l(_);
12
13
  if (!e) throw Error("Menubar compound parts must be used within <Menubar>");
13
14
  return e;
14
- }, y = () => {
15
- let e = c(_);
15
+ }, b = () => {
16
+ let e = l(v);
16
17
  if (!e) throw Error("Menubar.Trigger/Content/Item must be used within <Menubar.Menu>");
17
18
  return e;
18
- }, b = a.forwardRef(({ asChild: n = !1, className: r, children: a, onKeyDown: o, ...c }, u) => {
19
- let [_, v] = p(null), y = f(/* @__PURE__ */ new Map()), b = f(null), x = s((e) => {
20
- b.current = e, typeof u == "function" ? u(e) : u && (u.current = e);
21
- }, [u]), S = s((e, t) => {
19
+ }, x = o.forwardRef(({ asChild: n = !1, className: r, children: i, onKeyDown: o, ...s }, l) => {
20
+ let [d, v] = m(null), y = p(/* @__PURE__ */ new Map()), b = p(null), x = c((e) => {
21
+ b.current = e, typeof l == "function" ? l(e) : l && (l.current = e);
22
+ }, [l]), S = c((e, t) => {
22
23
  t ? y.current.set(e, t) : y.current.delete(e);
23
- }, []), C = s(() => Array.from(y.current.keys()), []), w = s((e) => {
24
+ }, []), C = c(() => Array.from(y.current.keys()), []), w = c((e) => {
24
25
  y.current.get(e)?.focus();
25
26
  }, []);
26
- l(() => {
27
- if (!_) return;
27
+ u(() => {
28
+ if (!d) return;
28
29
  let e = (e) => {
29
30
  b.current && !b.current.contains(e.target) && v(null);
30
31
  }, t = (e) => {
31
- e.key === "Escape" && (v(null), _ && w(_));
32
+ e.key === "Escape" && (v(null), d && w(d));
32
33
  };
33
34
  return document.addEventListener("mousedown", e), document.addEventListener("keydown", t), () => {
34
35
  document.removeEventListener("mousedown", e), document.removeEventListener("keydown", t);
35
36
  };
36
- }, [_, w]);
37
+ }, [d, w]);
37
38
  let T = (e) => {
38
39
  if (o?.(e), e.defaultPrevented) return;
39
40
  let t = C();
40
41
  if (t.length === 0) return;
41
- let n = _ ?? t.find((e) => y.current.get(e) === document.activeElement) ?? null;
42
+ let n = d ?? t.find((e) => y.current.get(e) === document.activeElement) ?? null;
42
43
  if (!n) return;
43
44
  let r = t.indexOf(n);
44
45
  if (!(r < 0)) {
45
46
  if (e.key === "ArrowRight") {
46
47
  e.preventDefault();
47
48
  let n = t[(r + 1) % t.length];
48
- _ && v(n), w(n);
49
+ d && v(n), w(n);
49
50
  } else if (e.key === "ArrowLeft") {
50
51
  e.preventDefault();
51
52
  let n = t[(r - 1 + t.length) % t.length];
52
- _ && v(n), w(n);
53
+ d && v(n), w(n);
53
54
  } else if (e.key === "Home") {
54
55
  e.preventDefault();
55
56
  let n = t[0];
56
- _ && v(n), w(n);
57
+ d && v(n), w(n);
57
58
  } else if (e.key === "End") {
58
59
  e.preventDefault();
59
60
  let n = t[t.length - 1];
60
- _ && v(n), w(n);
61
+ d && v(n), w(n);
61
62
  }
62
63
  }
63
- }, E = d(() => ({
64
- openMenuId: _,
64
+ }, E = f(() => ({
65
+ openMenuId: d,
65
66
  setOpenMenuId: v,
66
67
  registerTrigger: S,
67
68
  getTriggerIds: C,
68
69
  focusTrigger: w
69
70
  }), [
70
- _,
71
+ d,
71
72
  S,
72
73
  C,
73
74
  w
74
75
  ]), D = n ? e : "div";
75
- return /* @__PURE__ */ h(g.Provider, {
76
+ return /* @__PURE__ */ g(_.Provider, {
76
77
  value: E,
77
- children: /* @__PURE__ */ h(D, {
78
+ children: /* @__PURE__ */ g(D, {
78
79
  ref: x,
79
80
  role: "menubar",
80
- className: m("wim-menubar", i.root, r),
81
+ className: h("wim-menubar", a.root, r),
81
82
  onKeyDown: T,
82
- ...c,
83
- children: /* @__PURE__ */ h(t, { children: a })
83
+ ...s,
84
+ children: /* @__PURE__ */ g(t, { children: i })
84
85
  })
85
86
  });
86
87
  });
87
- b.displayName = "Menubar";
88
- var x = a.forwardRef(({ value: e, disabled: t = !1, className: n, children: r, ...a }, o) => {
89
- let { openMenuId: s, setOpenMenuId: c, focusTrigger: l } = v(), f = u(), p = `wim-menubar-trigger-${e}-${f}`, g = `wim-menubar-content-${e}-${f}`, y = s === e, b = () => {
88
+ x.displayName = "Menubar";
89
+ var S = o.forwardRef(({ value: e, disabled: t = !1, className: n, children: r, ...i }, o) => {
90
+ let { openMenuId: s, setOpenMenuId: c, focusTrigger: l } = y(), u = d(), p = `wim-menubar-trigger-${e}-${u}`, m = `wim-menubar-content-${e}-${u}`, _ = s === e, b = () => {
90
91
  t || c(e);
91
92
  }, x = () => {
92
93
  l(e), c(null);
93
94
  }, S = () => {
94
- t || c(y ? null : e);
95
- }, C = d(() => ({
95
+ t || c(_ ? null : e);
96
+ }, C = f(() => ({
96
97
  menuId: e,
97
98
  triggerId: p,
98
- contentId: g,
99
- isOpen: y,
99
+ contentId: m,
100
+ isOpen: _,
100
101
  open: b,
101
102
  close: x,
102
103
  toggle: S
103
104
  }), [
104
105
  e,
105
106
  p,
106
- g,
107
- y,
107
+ m,
108
+ _,
108
109
  t
109
110
  ]);
110
- return /* @__PURE__ */ h(_.Provider, {
111
+ return /* @__PURE__ */ g(v.Provider, {
111
112
  value: C,
112
- children: /* @__PURE__ */ h("div", {
113
+ children: /* @__PURE__ */ g("div", {
113
114
  ref: o,
114
115
  role: "none",
115
116
  "data-disabled": t || void 0,
116
- className: m(i.menu, n),
117
- ...a,
117
+ className: h(a.menu, n),
118
+ ...i,
118
119
  children: r
119
120
  })
120
121
  });
121
122
  });
122
- x.displayName = "Menubar.Menu";
123
- var S = a.forwardRef(({ asChild: n = !1, className: r, children: a, onKeyDown: o, onMouseEnter: c, ...l }, u) => {
124
- let { openMenuId: d, registerTrigger: f } = v(), { triggerId: p, contentId: g, isOpen: _, open: b, toggle: x, menuId: S } = y(), C = !!l.disabled, w = s((e) => {
123
+ S.displayName = "Menubar.Menu";
124
+ var C = o.forwardRef(({ asChild: n = !1, className: r, children: i, onKeyDown: o, onMouseEnter: s, ...l }, u) => {
125
+ let { openMenuId: d, registerTrigger: f } = y(), { triggerId: p, contentId: m, isOpen: _, open: v, toggle: x, menuId: S } = b(), C = !!l.disabled, w = c((e) => {
125
126
  f(S, e), typeof u == "function" ? u(e) : u && (u.current = e);
126
127
  }, [
127
128
  f,
128
129
  S,
129
130
  u
130
131
  ]), T = (e) => {
131
- o?.(e), !(e.defaultPrevented || C) && (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") && (e.preventDefault(), b());
132
+ o?.(e), !(e.defaultPrevented || C) && (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") && (e.preventDefault(), v());
132
133
  }, E = (e) => {
133
- c?.(e), d && !C && b();
134
+ s?.(e), d && !C && v();
134
135
  };
135
- return /* @__PURE__ */ h(n ? e : "button", {
136
+ return /* @__PURE__ */ g(n ? e : "button", {
136
137
  ...l,
137
138
  ref: w,
138
139
  type: n ? void 0 : "button",
@@ -140,84 +141,93 @@ var S = a.forwardRef(({ asChild: n = !1, className: r, children: a, onKeyDown: o
140
141
  role: "menuitem",
141
142
  "aria-haspopup": "menu",
142
143
  "aria-expanded": _,
143
- "aria-controls": _ ? g : void 0,
144
+ "aria-controls": _ ? m : void 0,
144
145
  disabled: C,
145
- className: m(i.trigger, _ && i.triggerOpen, r),
146
+ className: h(a.trigger, _ && a.triggerOpen, r),
146
147
  onClick: x,
147
148
  onKeyDown: T,
148
149
  onMouseEnter: E,
149
- children: /* @__PURE__ */ h(t, { children: a })
150
+ children: /* @__PURE__ */ g(t, { children: i })
150
151
  });
151
152
  });
152
- S.displayName = "Menubar.Trigger";
153
- var C = a.forwardRef(({ align: e = "start", className: t, children: r, ...a }, o) => {
154
- let { contentId: c, triggerId: u, isOpen: d, close: g } = y(), [_, v] = p(-1), [b, x] = p(d), S = f(null);
155
- d !== b && (x(d), v(d ? 0 : -1));
156
- let C = s((e) => {
157
- S.current = e, typeof o == "function" ? o(e) : o && (o.current = e);
158
- }, [o]);
159
- l(() => {
160
- !d || _ < 0 || Array.from(S.current?.querySelectorAll("[role=\"menuitem\"]:not([aria-disabled=\"true\"])") ?? [])[_]?.focus();
161
- }, [_, d]);
162
- let w = (e) => {
163
- let t = Array.from(S.current?.querySelectorAll("[role=\"menuitem\"]:not([aria-disabled=\"true\"])") ?? []);
153
+ C.displayName = "Menubar.Trigger";
154
+ var w = o.forwardRef(({ align: e = "start", className: t, children: r, ...o }, s) => {
155
+ let { contentId: l, triggerId: d, isOpen: f, close: _ } = b(), [v, y] = m(-1), [x, S] = m(f), C = p(null);
156
+ f !== x && (S(f), y(f ? 0 : -1));
157
+ let { setReference: w, setFloating: T, floatingProps: E } = i({ open: f }), D = c((e) => {
158
+ C.current = e, T(e), w(e?.parentElement ?? null), typeof s == "function" ? s(e) : s && (s.current = e);
159
+ }, [
160
+ s,
161
+ T,
162
+ w
163
+ ]);
164
+ u(() => {
165
+ !f || v < 0 || Array.from(C.current?.querySelectorAll("[role=\"menuitem\"]:not([aria-disabled=\"true\"])") ?? [])[v]?.focus();
166
+ }, [v, f]);
167
+ let O = (e) => {
168
+ let t = Array.from(C.current?.querySelectorAll("[role=\"menuitem\"]:not([aria-disabled=\"true\"])") ?? []);
164
169
  if (t.length !== 0) switch (e.key) {
165
170
  case "ArrowDown":
166
- e.preventDefault(), v((e) => e < t.length - 1 ? e + 1 : 0);
171
+ e.preventDefault(), y((e) => e < t.length - 1 ? e + 1 : 0);
167
172
  break;
168
173
  case "ArrowUp":
169
- e.preventDefault(), v((e) => e > 0 ? e - 1 : t.length - 1);
174
+ e.preventDefault(), y((e) => e > 0 ? e - 1 : t.length - 1);
170
175
  break;
171
176
  case "Home":
172
- e.preventDefault(), v(0);
177
+ e.preventDefault(), y(0);
173
178
  break;
174
179
  case "End":
175
- e.preventDefault(), v(t.length - 1);
180
+ e.preventDefault(), y(t.length - 1);
176
181
  break;
177
- case "Tab": g();
182
+ case "Tab": _();
178
183
  }
179
184
  };
180
- return /* @__PURE__ */ h(n, {
181
- ...a,
182
- ref: C,
183
- show: d,
185
+ return /* @__PURE__ */ g(n, {
186
+ ...o,
187
+ ref: D,
188
+ show: f,
184
189
  preset: "fade",
185
- id: c,
190
+ id: l,
186
191
  role: "menu",
187
- "aria-labelledby": u,
188
- className: m(i.content, e === "end" ? i.alignEnd : i.alignStart, t),
189
- onKeyDown: w,
192
+ "aria-labelledby": d,
193
+ className: h(a.content, e === "end" ? a.alignEnd : a.alignStart, t),
194
+ onKeyDown: O,
195
+ "data-side": E["data-side"],
196
+ style: {
197
+ ...o.style,
198
+ ...E.style
199
+ },
190
200
  children: r
191
201
  });
192
202
  });
193
- C.displayName = "Menubar.Content";
194
- var w = a.forwardRef(({ children: e, onSelect: t, onClick: n, disabled: a = !1, className: o, ...s }, c) => {
195
- let { close: l } = y(), u = (e) => {
196
- a || (e.stopPropagation(), t?.(), n?.(e), l());
203
+ w.displayName = "Menubar.Content";
204
+ var T = o.forwardRef(({ children: e, onSelect: t, onClick: n, disabled: i = !1, className: o, ...s }, c) => {
205
+ let { close: l } = b(), u = (e) => {
206
+ i || (e.stopPropagation(), t?.(), n?.(e), l());
197
207
  };
198
- return /* @__PURE__ */ h(r, {
208
+ return /* @__PURE__ */ g(r, {
199
209
  ...s,
200
210
  ref: c,
201
- className: m(i.item, o),
202
- disabled: a,
211
+ className: h(a.item, o),
212
+ disabled: i,
203
213
  role: "menuitem",
204
214
  tabIndex: -1,
205
215
  onClick: u,
206
216
  onKeyDown: (e) => {
207
- !a && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), u(e));
217
+ !i && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), u(e));
208
218
  },
209
219
  children: e
210
220
  });
211
221
  });
212
- w.displayName = "Menubar.Item";
213
- var T = a.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ h("div", {
222
+ T.displayName = "Menubar.Item";
223
+ var E = o.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ g("div", {
214
224
  ref: n,
215
225
  role: "separator",
216
- className: m(i.separator, e),
226
+ className: h(a.separator, e),
217
227
  ...t
218
228
  }));
219
- T.displayName = "Menubar.Separator";
220
- var E = b;
221
- E.Menu = x, E.Trigger = S, E.Content = C, E.Item = w, E.Separator = T;
229
+ E.displayName = "Menubar.Separator";
230
+ var D = x;
231
+ D.Menu = S, D.Trigger = C, D.Content = w, D.Item = T, D.Separator = E;
222
232
  //#endregion
223
- export { E as Menubar, E as default };
233
+ export { D as Menubar, D as default };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- var e=`_root_1mvs5_23`,t=`_menu_1mvs5_34`,n=`_trigger_1mvs5_38`,r=`_triggerOpen_1mvs5_84`,i=`_content_1mvs5_87`,a=`_alignStart_1mvs5_101`,o=`_alignEnd_1mvs5_104`,s=`_item_1mvs5_107`,c=`_separator_1mvs5_110`,l={root:e,menu:t,trigger:n,triggerOpen:r,content:i,alignStart:a,alignEnd:o,item:s,separator:c};exports.alignEnd=o,exports.alignStart=a,exports.content=i,exports.default=l,exports.item=s,exports.menu=t,exports.root=e,exports.separator=c,exports.trigger=n,exports.triggerOpen=r;
2
+ var e=`_root_13tde_23`,t=`_menu_13tde_34`,n=`_trigger_13tde_38`,r=`_triggerOpen_13tde_84`,i=`_content_13tde_87`,a=`_alignStart_13tde_108`,o=`_alignEnd_13tde_111`,s=`_item_13tde_114`,c=`_separator_13tde_117`,l={root:e,menu:t,trigger:n,triggerOpen:r,content:i,alignStart:a,alignEnd:o,item:s,separator:c};exports.alignEnd=o,exports.alignStart=a,exports.content=i,exports.default=l,exports.item=s,exports.menu=t,exports.root=e,exports.separator=c,exports.trigger=n,exports.triggerOpen=r;
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  //#region src/components/navigation/Menubar/menubar.module.scss
3
- var e = "_root_1mvs5_23", t = "_menu_1mvs5_34", n = "_trigger_1mvs5_38", r = "_triggerOpen_1mvs5_84", i = "_content_1mvs5_87", a = "_alignStart_1mvs5_101", o = "_alignEnd_1mvs5_104", s = "_item_1mvs5_107", c = "_separator_1mvs5_110", l = {
3
+ var e = "_root_13tde_23", t = "_menu_13tde_34", n = "_trigger_13tde_38", r = "_triggerOpen_13tde_84", i = "_content_13tde_87", a = "_alignStart_13tde_108", o = "_alignEnd_13tde_111", s = "_item_13tde_114", c = "_separator_13tde_117", l = {
4
4
  root: e,
5
5
  menu: t,
6
6
  trigger: n,
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../_internal/OverlayBase.cjs"),n=require("./bottom-sheet.module.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("classnames");i=e.__toESM(i,1);let a=require("react/jsx-runtime");var o=(0,r.createContext)(void 0),s=()=>{let e=(0,r.useContext)(o);if(!e)throw Error(`useBottomSheet must be used within a BottomSheet provider`);return e},c=({children:e,open:t,defaultOpen:n=!1,onOpenChange:i})=>{let[s,c]=(0,r.useState)(n),l=t!==void 0,u=l?t:s,d=(0,r.useCallback)(e=>{l||c(e),i?.(e)},[l,i]),f=(0,r.useId)(),p=`wim-bottom-sheet-${f}-title`,m=`wim-bottom-sheet-${f}-description`;return(0,a.jsx)(o.Provider,{value:{titleId:p,descriptionId:m,open:u,onOpenChange:d},children:e})},l=({children:e,asChild:t,className:n})=>{let{onOpenChange:o}=s(),c=()=>{o(!0)};return t&&r.default.isValidElement(e)?r.default.cloneElement(e,{onClick:t=>{e.props.onClick?.(t),c()},className:(0,i.default)(n,e.props.className)}):(0,a.jsx)(`button`,{className:n,onClick:c,children:e})},u=({children:e,className:t,asChild:n})=>{let{onOpenChange:o}=s(),c=()=>{o(!1)};return n&&r.default.isValidElement(e)?r.default.cloneElement(e,{onClick:t=>{e.props.onClick?.(t),c()},className:(0,i.default)(t,e.props.className)}):(0,a.jsx)(`button`,{type:`button`,className:t,onClick:c,children:e})},d=({children:e,className:r})=>{let{open:o,onOpenChange:c,titleId:l,descriptionId:u}=s();return(0,a.jsxs)(t.OverlayBase,{open:o,onOpenChange:c,overlayClassName:n.default.overlay,contentClassName:(0,i.default)(`wim-bottom-sheet`,n.default.content,r),transitionProps:{preset:`slide-bottom`},"aria-labelledby":l,"aria-describedby":u,children:[(0,a.jsx)(`div`,{className:n.default.handle}),e]})},f=({children:e,className:t})=>(0,a.jsx)(`div`,{className:(0,i.default)(n.default.header,t),"data-testid":`bottom-sheet-header`,children:e}),p=({children:e,className:t})=>(0,a.jsx)(`div`,{className:(0,i.default)(n.default.footer,t),"data-testid":`bottom-sheet-footer`,children:e}),m=({children:e,className:t})=>{let{titleId:r}=s();return(0,a.jsx)(`h2`,{id:r,className:(0,i.default)(n.default.title,t),"data-testid":`bottom-sheet-title`,children:e})},h=({children:e,className:t})=>{let{descriptionId:r}=s();return(0,a.jsx)(`p`,{id:r,className:(0,i.default)(n.default.description,t),"data-testid":`bottom-sheet-description`,children:e})},g=({children:e,className:t})=>(0,a.jsx)(`div`,{className:(0,i.default)(n.default.body,t),"data-testid":`bottom-sheet-body`,children:e}),_=e=>(0,a.jsx)(c,{...e});_.displayName=`BottomSheet`,_.Trigger=l,_.Content=d,_.Header=f,_.Footer=p,_.Title=m,_.Description=h,_.Body=g,_.Close=u,exports.BottomSheet=_,exports.default=_,exports.BottomSheetBody=g,exports.BottomSheetClose=u,exports.BottomSheetContent=d,exports.BottomSheetDescription=h,exports.BottomSheetFooter=p,exports.BottomSheetHeader=f,exports.BottomSheetTitle=m,exports.BottomSheetTrigger=l;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../_internal/OverlayBase.cjs"),n=require("./bottom-sheet.module.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("classnames");i=e.__toESM(i,1);let a=require("react/jsx-runtime");var o=(0,r.createContext)(void 0),s=()=>{let e=(0,r.useContext)(o);if(!e)throw Error(`useBottomSheet must be used within a BottomSheet provider`);return e},c=({children:e,open:t,defaultOpen:n=!1,onOpenChange:i})=>{let[s,c]=(0,r.useState)(n),l=t!==void 0,u=l?t:s,d=(0,r.useCallback)(e=>{l||c(e),i?.(e)},[l,i]),f=(0,r.useId)(),p=`wim-bottom-sheet-${f}-title`,m=`wim-bottom-sheet-${f}-description`;return(0,a.jsx)(o.Provider,{value:{titleId:p,descriptionId:m,open:u,onOpenChange:d},children:e})},l=({children:e,asChild:t,className:n})=>{let{onOpenChange:o}=s(),c=()=>{o(!0)};return t&&r.default.isValidElement(e)?r.default.cloneElement(e,{onClick:t=>{e.props.onClick?.(t),c()},className:(0,i.default)(n,e.props.className)}):(0,a.jsx)(`button`,{className:n,onClick:c,children:e})},u=({children:e,className:t,asChild:n})=>{let{onOpenChange:o}=s(),c=()=>{o(!1)};return n&&r.default.isValidElement(e)?r.default.cloneElement(e,{onClick:t=>{e.props.onClick?.(t),c()},className:(0,i.default)(t,e.props.className)}):(0,a.jsx)(`button`,{type:`button`,className:t,onClick:c,children:e})},d=({children:e,className:r,"aria-label":o,"aria-labelledby":c,"aria-describedby":l})=>{let{open:u,onOpenChange:d,titleId:f,descriptionId:p}=s();return(0,a.jsxs)(t.OverlayBase,{open:u,onOpenChange:d,overlayClassName:n.default.overlay,contentClassName:(0,i.default)(`wim-bottom-sheet`,n.default.content,r),transitionProps:{preset:`slide-bottom`},"aria-label":o,"aria-labelledby":c??f,"aria-describedby":[l,p].filter(Boolean).join(` `)||void 0,children:[(0,a.jsx)(`div`,{className:n.default.handle}),e]})},f=({children:e,className:t})=>(0,a.jsx)(`div`,{className:(0,i.default)(n.default.header,t),"data-testid":`bottom-sheet-header`,children:e}),p=({children:e,className:t})=>(0,a.jsx)(`div`,{className:(0,i.default)(n.default.footer,t),"data-testid":`bottom-sheet-footer`,children:e}),m=({children:e,className:t})=>{let{titleId:r}=s();return(0,a.jsx)(`h2`,{id:r,className:(0,i.default)(n.default.title,t),"data-testid":`bottom-sheet-title`,children:e})},h=({children:e,className:t})=>{let{descriptionId:r}=s();return(0,a.jsx)(`p`,{id:r,className:(0,i.default)(n.default.description,t),"data-testid":`bottom-sheet-description`,children:e})},g=({children:e,className:t})=>(0,a.jsx)(`div`,{className:(0,i.default)(n.default.body,t),"data-testid":`bottom-sheet-body`,children:e}),_=e=>(0,a.jsx)(c,{...e});_.displayName=`BottomSheet`,_.Trigger=l,_.Content=d,_.Header=f,_.Footer=p,_.Title=m,_.Description=h,_.Body=g,_.Close=u,exports.BottomSheet=_,exports.default=_,exports.BottomSheetBody=g,exports.BottomSheetClose=u,exports.BottomSheetContent=d,exports.BottomSheetDescription=h,exports.BottomSheetFooter=p,exports.BottomSheetHeader=f,exports.BottomSheetTitle=m,exports.BottomSheetTrigger=l;
@@ -33,8 +33,14 @@ export declare const BottomSheetClose: ({ children, className, asChild, }: Botto
33
33
  export interface BottomSheetContentProps {
34
34
  children: React.ReactNode;
35
35
  className?: string;
36
+ /** Accessible name for the sheet when it has no `BottomSheetTitle`. */
37
+ "aria-label"?: string;
38
+ /** ID of the element that labels the sheet. Takes precedence over the built-in title reference. */
39
+ "aria-labelledby"?: string;
40
+ /** ID of the element that describes the sheet. Announced together with `BottomSheetDescription`. */
41
+ "aria-describedby"?: string;
36
42
  }
37
- export declare const BottomSheetContent: ({ children, className, }: BottomSheetContentProps) => React.JSX.Element;
43
+ export declare const BottomSheetContent: ({ children, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, }: BottomSheetContentProps) => React.JSX.Element;
38
44
  export declare const BottomSheetHeader: ({ children, className, }: {
39
45
  children: React.ReactNode;
40
46
  className?: string;
@@ -51,16 +51,17 @@ var d = r(void 0), f = () => {
51
51
  onClick: a,
52
52
  children: e
53
53
  });
54
- }, g = ({ children: n, className: r }) => {
55
- let { open: i, onOpenChange: a, titleId: o, descriptionId: s } = f();
54
+ }, g = ({ children: n, className: r, "aria-label": i, "aria-labelledby": a, "aria-describedby": o }) => {
55
+ let { open: s, onOpenChange: d, titleId: p, descriptionId: m } = f();
56
56
  return /* @__PURE__ */ u(e, {
57
- open: i,
58
- onOpenChange: a,
57
+ open: s,
58
+ onOpenChange: d,
59
59
  overlayClassName: t.overlay,
60
60
  contentClassName: c("wim-bottom-sheet", t.content, r),
61
61
  transitionProps: { preset: "slide-bottom" },
62
- "aria-labelledby": o,
63
- "aria-describedby": s,
62
+ "aria-label": i,
63
+ "aria-labelledby": a ?? p,
64
+ "aria-describedby": [o, m].filter(Boolean).join(" ") || void 0,
64
65
  children: [/* @__PURE__ */ l("div", { className: t.handle }), n]
65
66
  });
66
67
  }, _ = ({ children: e, className: n }) => /* @__PURE__ */ l("div", {
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("./hover-card.module.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("classnames");r=e.__toESM(r,1);let i=require("react/jsx-runtime"),a=require("@floating-ui/react");var o=n.default.createContext({isOpen:!1,refs:null,getReferenceProps:()=>({}),getFloatingProps:()=>({})}),s=({children:e,className:s,openDelay:c=700,closeDelay:l=300,open:u,onOpenChange:d})=>{let[f,p]=(0,n.useState)(!1),m=u!==void 0,h=m?u:f,{refs:g,context:_}=(0,a.useFloating)({open:h,onOpenChange:e=>{m||p(e),d?.(e)}}),v=(0,a.useHover)(_,{delay:{open:c,close:l},handleClose:(0,a.safePolygon)({requireIntent:!1})}),y=(0,a.useFocus)(_),{getReferenceProps:b,getFloatingProps:x}=(0,a.useInteractions)([v,y]);return(0,i.jsx)(o.Provider,{value:{isOpen:h,refs:g,getReferenceProps:b,getFloatingProps:x},children:(0,i.jsx)(`div`,{className:(0,r.default)(`wim-hover-card`,t.default.root,s),children:e})})},c=({children:e,className:s,asChild:c})=>{let{refs:l,getReferenceProps:u}=n.default.useContext(o),d=e?.ref,f=(0,a.useMergeRefs)([l?.setReference??null,d??null]);if(c&&n.default.isValidElement(e)){let t=e.props,i=u({ref:f,...t,className:(0,r.default)(s,t.className)});return n.default.cloneElement(e,i)}return(0,i.jsx)(`div`,{ref:f,className:(0,r.default)(t.default.trigger,s),tabIndex:0,...u(),children:e})},l=({children:e,className:a,align:s=`center`,side:c=`bottom`,sideOffset:l=8,...u})=>{let{isOpen:d,refs:f,getFloatingProps:p}=n.default.useContext(o);if(!d)return null;let m=t.default[c],h=s===`left`?t.default.alignLeft:s===`right`?t.default.alignRight:``;return(0,i.jsx)(`div`,{ref:f?.setFloating,className:(0,r.default)(t.default.content,m,h,a),"data-side":c,"data-align":s,...p(u),children:e})},u=e=>(0,i.jsx)(s,{...e});u.displayName=`HoverCard`,u.Trigger=c,u.Content=l,exports.HoverCard=u,exports.default=u,exports.HoverCardContent=l,exports.HoverCardTrigger=c;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../hooks/useMergedRef.cjs"),n=require("../../_internal/useInlineFloating.cjs"),r=require("./hover-card.module.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("classnames");a=e.__toESM(a,1);let o=require("react/jsx-runtime"),s=require("@floating-ui/react");var c=i.default.createContext({isOpen:!1,refs:null,getReferenceProps:()=>({}),getFloatingProps:()=>({})}),l=({children:e,className:t,openDelay:n=700,closeDelay:l=300,open:u,onOpenChange:d})=>{let[f,p]=(0,i.useState)(!1),m=u!==void 0,h=m?u:f,{refs:g,context:_}=(0,s.useFloating)({open:h,onOpenChange:e=>{m||p(e),d?.(e)}}),v=(0,s.useHover)(_,{delay:{open:n,close:l},handleClose:(0,s.safePolygon)({requireIntent:!1})}),y=(0,s.useFocus)(_),{getReferenceProps:b,getFloatingProps:x}=(0,s.useInteractions)([v,y]);return(0,o.jsx)(c.Provider,{value:{isOpen:h,refs:g,getReferenceProps:b,getFloatingProps:x},children:(0,o.jsx)(`div`,{className:(0,a.default)(`wim-hover-card`,r.default.root,t),children:e})})},u=({children:e,className:t,asChild:n})=>{let{refs:l,getReferenceProps:u}=i.default.useContext(c),d=e?.ref,f=(0,s.useMergeRefs)([l?.setReference??null,d??null]);if(n&&i.default.isValidElement(e)){let n=e.props,r=u({ref:f,...n,className:(0,a.default)(t,n.className)});return i.default.cloneElement(e,r)}return(0,o.jsx)(`div`,{ref:f,className:(0,a.default)(r.default.trigger,t),tabIndex:0,...u(),children:e})},d=({children:e,className:s,align:l=`center`,side:u=`bottom`,sideOffset:d=8,...f})=>{let{isOpen:p,refs:m,getFloatingProps:h}=i.default.useContext(c),{setReference:g,setFloating:_,floatingProps:v}=n.useInlineFloating({open:p}),y=t.useMergedRef(m?.setFloating,g,_);if(!p)return null;let b=r.default[u],x=l===`left`?r.default.alignLeft:l===`right`?r.default.alignRight:``;return(0,o.jsx)(`div`,{ref:y,className:(0,a.default)(r.default.content,b,x,s),"data-side":u,"data-align":l,...h(f),style:{...f.style,...v.style},children:e})},f=e=>(0,o.jsx)(l,{...e});f.displayName=`HoverCard`,f.Trigger=u,f.Content=d,exports.HoverCard=f,exports.default=f,exports.HoverCardContent=d,exports.HoverCardTrigger=u;
@@ -1,70 +1,76 @@
1
1
  "use client";
2
- import e from "./hover-card.module.js";
3
- import t, { useState as n } from "react";
4
- import r from "classnames";
5
- import { jsx as i } from "react/jsx-runtime";
6
- import { safePolygon as a, useFloating as o, useFocus as s, useHover as c, useInteractions as l, useMergeRefs as u } from "@floating-ui/react";
2
+ import { useMergedRef as e } from "../../../hooks/useMergedRef.js";
3
+ import { useInlineFloating as t } from "../../_internal/useInlineFloating.js";
4
+ import n from "./hover-card.module.js";
5
+ import r, { useState as i } from "react";
6
+ import a from "classnames";
7
+ import { jsx as o } from "react/jsx-runtime";
8
+ import { safePolygon as s, useFloating as c, useFocus as l, useHover as u, useInteractions as d, useMergeRefs as f } from "@floating-ui/react";
7
9
  //#region src/components/overlay/HoverCard/HoverCard.tsx
8
- var d = t.createContext({
10
+ var p = r.createContext({
9
11
  isOpen: !1,
10
12
  refs: null,
11
13
  getReferenceProps: () => ({}),
12
14
  getFloatingProps: () => ({})
13
- }), f = ({ children: t, className: u, openDelay: f = 700, closeDelay: p = 300, open: m, onOpenChange: h }) => {
14
- let [g, _] = n(!1), v = m !== void 0, y = v ? m : g, { refs: b, context: x } = o({
15
+ }), m = ({ children: e, className: t, openDelay: r = 700, closeDelay: f = 300, open: m, onOpenChange: h }) => {
16
+ let [g, _] = i(!1), v = m !== void 0, y = v ? m : g, { refs: b, context: x } = c({
15
17
  open: y,
16
18
  onOpenChange: (e) => {
17
19
  v || _(e), h?.(e);
18
20
  }
19
- }), S = c(x, {
21
+ }), S = u(x, {
20
22
  delay: {
21
- open: f,
22
- close: p
23
+ open: r,
24
+ close: f
23
25
  },
24
- handleClose: a({ requireIntent: !1 })
25
- }), C = s(x), { getReferenceProps: w, getFloatingProps: T } = l([S, C]);
26
- return /* @__PURE__ */ i(d.Provider, {
26
+ handleClose: s({ requireIntent: !1 })
27
+ }), C = l(x), { getReferenceProps: w, getFloatingProps: T } = d([S, C]);
28
+ return /* @__PURE__ */ o(p.Provider, {
27
29
  value: {
28
30
  isOpen: y,
29
31
  refs: b,
30
32
  getReferenceProps: w,
31
33
  getFloatingProps: T
32
34
  },
33
- children: /* @__PURE__ */ i("div", {
34
- className: r("wim-hover-card", e.root, u),
35
- children: t
35
+ children: /* @__PURE__ */ o("div", {
36
+ className: a("wim-hover-card", n.root, t),
37
+ children: e
36
38
  })
37
39
  });
38
- }, p = ({ children: n, className: a, asChild: o }) => {
39
- let { refs: s, getReferenceProps: c } = t.useContext(d), l = n?.ref, f = u([s?.setReference ?? null, l ?? null]);
40
- if (o && t.isValidElement(n)) {
41
- let e = n.props, i = c({
42
- ref: f,
43
- ...e,
44
- className: r(a, e.className)
40
+ }, h = ({ children: e, className: t, asChild: i }) => {
41
+ let { refs: s, getReferenceProps: c } = r.useContext(p), l = e?.ref, u = f([s?.setReference ?? null, l ?? null]);
42
+ if (i && r.isValidElement(e)) {
43
+ let n = e.props, i = c({
44
+ ref: u,
45
+ ...n,
46
+ className: a(t, n.className)
45
47
  });
46
- return t.cloneElement(n, i);
48
+ return r.cloneElement(e, i);
47
49
  }
48
- return /* @__PURE__ */ i("div", {
49
- ref: f,
50
- className: r(e.trigger, a),
50
+ return /* @__PURE__ */ o("div", {
51
+ ref: u,
52
+ className: a(n.trigger, t),
51
53
  tabIndex: 0,
52
54
  ...c(),
53
- children: n
55
+ children: e
54
56
  });
55
- }, m = ({ children: n, className: a, align: o = "center", side: s = "bottom", sideOffset: c = 8, ...l }) => {
56
- let { isOpen: u, refs: f, getFloatingProps: p } = t.useContext(d);
57
- if (!u) return null;
58
- let m = e[s], h = o === "left" ? e.alignLeft : o === "right" ? e.alignRight : "";
59
- return /* @__PURE__ */ i("div", {
60
- ref: f?.setFloating,
61
- className: r(e.content, m, h, a),
62
- "data-side": s,
63
- "data-align": o,
64
- ...p(l),
65
- children: n
57
+ }, g = ({ children: i, className: s, align: c = "center", side: l = "bottom", sideOffset: u = 8, ...d }) => {
58
+ let { isOpen: f, refs: m, getFloatingProps: h } = r.useContext(p), { setReference: g, setFloating: _, floatingProps: v } = t({ open: f }), y = e(m?.setFloating, g, _);
59
+ if (!f) return null;
60
+ let b = n[l], x = c === "left" ? n.alignLeft : c === "right" ? n.alignRight : "";
61
+ return /* @__PURE__ */ o("div", {
62
+ ref: y,
63
+ className: a(n.content, b, x, s),
64
+ "data-side": l,
65
+ "data-align": c,
66
+ ...h(d),
67
+ style: {
68
+ ...d.style,
69
+ ...v.style
70
+ },
71
+ children: i
66
72
  });
67
- }, h = (e) => /* @__PURE__ */ i(f, { ...e });
68
- h.displayName = "HoverCard", h.Trigger = p, h.Content = m;
73
+ }, _ = (e) => /* @__PURE__ */ o(m, { ...e });
74
+ _.displayName = "HoverCard", _.Trigger = h, _.Content = g;
69
75
  //#endregion
70
- export { h as HoverCard, h as default, m as HoverCardContent, p as HoverCardTrigger };
76
+ export { _ as HoverCard, _ as default, g as HoverCardContent, h as HoverCardTrigger };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- var e=`_root_1q2cw_23`,t=`_trigger_1q2cw_27`,n=`_content_1q2cw_50`,r=`_fadeIn_1q2cw_1`,i=`_top_1q2cw_67`,a=`_bottom_1q2cw_73`,o=`_left_1q2cw_79`,s=`_right_1q2cw_85`,c=`_alignLeft_1q2cw_91`,l=`_alignRight_1q2cw_101`,u={root:e,trigger:t,content:n,fadeIn:r,top:i,bottom:a,left:o,right:s,alignLeft:c,alignRight:l};exports.alignLeft=c,exports.alignRight=l,exports.bottom=a,exports.content=n,exports.default=u,exports.fadeIn=r,exports.left=o,exports.right=s,exports.root=e,exports.top=i,exports.trigger=t;
2
+ var e=`_root_qv2ae_23`,t=`_trigger_qv2ae_27`,n=`_content_qv2ae_50`,r=`_fadeIn_qv2ae_1`,i=`_top_qv2ae_70`,a=`_bottom_qv2ae_76`,o=`_left_qv2ae_82`,s=`_right_qv2ae_88`,c=`_alignLeft_qv2ae_94`,l=`_alignRight_qv2ae_104`,u={root:e,trigger:t,content:n,fadeIn:r,top:i,bottom:a,left:o,right:s,alignLeft:c,alignRight:l};exports.alignLeft=c,exports.alignRight=l,exports.bottom=a,exports.content=n,exports.default=u,exports.fadeIn=r,exports.left=o,exports.right=s,exports.root=e,exports.top=i,exports.trigger=t;
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  //#region src/components/overlay/HoverCard/hover-card.module.scss
3
- var e = "_root_1q2cw_23", t = "_trigger_1q2cw_27", n = "_content_1q2cw_50", r = "_fadeIn_1q2cw_1", i = "_top_1q2cw_67", a = "_bottom_1q2cw_73", o = "_left_1q2cw_79", s = "_right_1q2cw_85", c = "_alignLeft_1q2cw_91", l = "_alignRight_1q2cw_101", u = {
3
+ var e = "_root_qv2ae_23", t = "_trigger_qv2ae_27", n = "_content_qv2ae_50", r = "_fadeIn_qv2ae_1", i = "_top_qv2ae_70", a = "_bottom_qv2ae_76", o = "_left_qv2ae_82", s = "_right_qv2ae_88", c = "_alignLeft_qv2ae_94", l = "_alignRight_qv2ae_104", u = {
4
4
  root: e,
5
5
  trigger: t,
6
6
  content: n,
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What this is
6
6
 
7
- **wimui** v0.60.1 — a React 19 component library: 228 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
7
+ **wimui** v0.61.0 — a React 19 component library: 228 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
8
8
 
9
9
  ## Install & required setup
10
10
 
@@ -2143,6 +2143,8 @@ follows the theme and never needs a hand-mixed colour.
2143
2143
  - `direction: "vertical" | "horizontal"` = "vertical" — Orientation of the anchor links
2144
2144
  - `className: string` — Additional class names
2145
2145
  - `style: React.CSSProperties` — Style attribute
2146
+ - `aria-label: string` — Accessible name. When set, the anchor is exposed as a navigation landmark with this name.
2147
+ - `aria-labelledby: string` — ID of the element that labels the anchor. Takes precedence over `aria-label`.
2146
2148
  - **BackTop** — Back to top button (aka Back to Top)
2147
2149
  - `target: () => HTMLElement | Window | Document | null` = () => window — Target container that will be scrolled
2148
2150
  - `visibilityHeight: number` = 400 — Scroll height after which the button becomes visible
package/dist/llms.txt CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What this is
6
6
 
7
- **wimui** v0.60.1 — a React 19 component library: 228 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
7
+ **wimui** v0.61.0 — a React 19 component library: 228 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
8
8
 
9
9
  ## Install & required setup
10
10