wimui 0.62.1 → 0.63.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.
- package/dist/components/_internal/observeMove.cjs +2 -0
- package/dist/components/_internal/observeMove.d.ts +16 -0
- package/dist/components/_internal/observeMove.js +44 -0
- package/dist/components/feedback/Tour/Tour.cjs +1 -1
- package/dist/components/feedback/Tour/Tour.js +91 -88
- package/dist/components/form/Button/Button.cjs +1 -1
- package/dist/components/form/Button/Button.d.ts +2 -2
- package/dist/components/form/Button/Button.js +14 -12
- package/dist/components/form/Textarea/Textarea.cjs +1 -1
- package/dist/components/form/Textarea/Textarea.js +4 -4
- package/dist/components/layout/Dashboard/Dashboard.cjs +1 -1
- package/dist/components/layout/Dashboard/Dashboard.js +3 -2
- package/dist/components/layout/Navbar/Navbar.cjs +1 -1
- package/dist/components/layout/Navbar/Navbar.js +1 -0
- package/dist/components/media/Gallery/Gallery.cjs +1 -1
- package/dist/components/media/Gallery/Gallery.js +49 -49
- package/dist/components/media/ImageCompare/ImageCompare.cjs +1 -1
- package/dist/components/media/ImageCompare/ImageCompare.js +5 -4
- package/dist/components/navigation/Affix/Affix.cjs +1 -1
- package/dist/components/navigation/Affix/Affix.js +39 -36
- package/dist/components/navigation/Menubar/Menubar.cjs +1 -1
- package/dist/components/navigation/Menubar/Menubar.js +67 -61
- package/dist/components/overlay/Dropdown/Dropdown.cjs +1 -1
- package/dist/components/overlay/Dropdown/Dropdown.js +42 -36
- package/dist/llms-full.txt +3 -3
- package/dist/llms.txt +1 -1
- package/dist/wimui.umd.js +5 -5
- package/package.json +1 -1
|
@@ -15,63 +15,63 @@ var v = c(null), y = () => {
|
|
|
15
15
|
if (!e) throw Error("Gallery subcomponents must be used within Gallery");
|
|
16
16
|
return e;
|
|
17
17
|
}, b = s.forwardRef(({ items: a, columns: s = 3, gap: c = "md", aspect: u = "square", selectable: y = !1, selected: b, defaultSelected: S = [], onSelectionChange: C, onItemClick: w, renderActions: T, className: E, style: D, ...O }, k) => {
|
|
18
|
-
let { t: A } = e(t), j = b !== void 0, [M, N] = m(() => new Set(S)),
|
|
19
|
-
|
|
18
|
+
let { t: A } = e(t), j = b !== void 0, [M, N] = m(() => new Set(S)), P = Math.max(1, Math.floor(s) || 1), [F, I] = m(0), L = p(null), R = p(null), [z, B] = m(P), V = l((e) => {
|
|
19
|
+
R.current = e, typeof k == "function" ? k(e) : k && (k.current = e);
|
|
20
20
|
}, [k]);
|
|
21
21
|
d(() => {
|
|
22
|
-
let e =
|
|
22
|
+
let e = R.current;
|
|
23
23
|
if (!e) return;
|
|
24
24
|
let t = new ResizeObserver((e) => {
|
|
25
25
|
let t = e[0].contentRect.width;
|
|
26
|
-
|
|
26
|
+
B(t < 480 ? 1 : t < 576 ? 2 : P);
|
|
27
27
|
});
|
|
28
28
|
return t.observe(e), () => t.disconnect();
|
|
29
|
-
}, [
|
|
30
|
-
let
|
|
29
|
+
}, [P]);
|
|
30
|
+
let H = f(() => j ? new Set(b) : M, [
|
|
31
31
|
j,
|
|
32
32
|
b,
|
|
33
33
|
M
|
|
34
|
-
]),
|
|
34
|
+
]), U = l((e) => {
|
|
35
35
|
j || N(e), C?.(Array.from(e));
|
|
36
|
-
}, [j, C]),
|
|
37
|
-
let r = new Set(
|
|
38
|
-
if (n &&
|
|
39
|
-
let n = Math.min(
|
|
36
|
+
}, [j, C]), W = l((e, t, n) => {
|
|
37
|
+
let r = new Set(H);
|
|
38
|
+
if (n && L.current !== null) {
|
|
39
|
+
let n = Math.min(L.current, t), i = Math.max(L.current, t), o = !H.has(e);
|
|
40
40
|
for (let e = n; e <= i; e++) o ? r.add(a[e].id) : r.delete(a[e].id);
|
|
41
|
-
} else r.has(e) ? r.delete(e) : r.add(e),
|
|
42
|
-
|
|
41
|
+
} else r.has(e) ? r.delete(e) : r.add(e), L.current = t;
|
|
42
|
+
U(r);
|
|
43
43
|
}, [
|
|
44
|
-
|
|
44
|
+
H,
|
|
45
45
|
a,
|
|
46
|
-
|
|
47
|
-
]),
|
|
48
|
-
|
|
49
|
-
}, [a,
|
|
50
|
-
|
|
51
|
-
}, [
|
|
46
|
+
U
|
|
47
|
+
]), G = l(() => {
|
|
48
|
+
U(new Set(a.map((e) => e.id)));
|
|
49
|
+
}, [a, U]), K = l(() => {
|
|
50
|
+
U(/* @__PURE__ */ new Set());
|
|
51
|
+
}, [U]), q = f(() => {
|
|
52
52
|
let e = [];
|
|
53
|
-
for (let t = 0; t < a.length; t +=
|
|
54
|
-
rowItems: a.slice(t, t +
|
|
53
|
+
for (let t = 0; t < a.length; t += z) e.push({
|
|
54
|
+
rowItems: a.slice(t, t + z),
|
|
55
55
|
startIndex: t
|
|
56
56
|
});
|
|
57
57
|
return e;
|
|
58
|
-
}, [a,
|
|
59
|
-
"--gallery-columns":
|
|
58
|
+
}, [a, z]), J = Array.from(H), Y = J.length > 0, X = {
|
|
59
|
+
"--gallery-columns": z,
|
|
60
60
|
...D
|
|
61
|
-
},
|
|
62
|
-
let t =
|
|
61
|
+
}, Z = (e) => {
|
|
62
|
+
let t = z, n = a.length, r = F;
|
|
63
63
|
switch (e.key) {
|
|
64
64
|
case "ArrowRight":
|
|
65
|
-
e.preventDefault(), r = Math.min(
|
|
65
|
+
e.preventDefault(), r = Math.min(F + 1, n - 1);
|
|
66
66
|
break;
|
|
67
67
|
case "ArrowLeft":
|
|
68
|
-
e.preventDefault(), r = Math.max(
|
|
68
|
+
e.preventDefault(), r = Math.max(F - 1, 0);
|
|
69
69
|
break;
|
|
70
70
|
case "ArrowDown":
|
|
71
|
-
e.preventDefault(), r = Math.min(
|
|
71
|
+
e.preventDefault(), r = Math.min(F + t, n - 1);
|
|
72
72
|
break;
|
|
73
73
|
case "ArrowUp":
|
|
74
|
-
e.preventDefault(), r = Math.max(
|
|
74
|
+
e.preventDefault(), r = Math.max(F - t, 0);
|
|
75
75
|
break;
|
|
76
76
|
case "Home":
|
|
77
77
|
e.preventDefault(), r = 0;
|
|
@@ -80,50 +80,50 @@ var v = c(null), y = () => {
|
|
|
80
80
|
e.preventDefault(), r = n - 1;
|
|
81
81
|
break;
|
|
82
82
|
case "Escape":
|
|
83
|
-
y && (e.preventDefault(),
|
|
83
|
+
y && (e.preventDefault(), K());
|
|
84
84
|
break;
|
|
85
85
|
case "a":
|
|
86
86
|
case "A":
|
|
87
|
-
y && (e.ctrlKey || e.metaKey) && (e.preventDefault(),
|
|
87
|
+
y && (e.ctrlKey || e.metaKey) && (e.preventDefault(), G());
|
|
88
88
|
break;
|
|
89
89
|
default: return;
|
|
90
90
|
}
|
|
91
|
-
r !==
|
|
91
|
+
r !== F && (I(r), e.currentTarget.querySelectorAll("[data-gallery-item]")[r]?.focus());
|
|
92
92
|
};
|
|
93
93
|
return /* @__PURE__ */ g(v.Provider, {
|
|
94
94
|
value: {
|
|
95
95
|
selectable: y,
|
|
96
|
-
selectedIds:
|
|
97
|
-
lastClickedIndex:
|
|
96
|
+
selectedIds: H,
|
|
97
|
+
lastClickedIndex: L,
|
|
98
98
|
items: a,
|
|
99
|
-
toggleSelect:
|
|
100
|
-
focusedIndex:
|
|
101
|
-
setFocusedIndex:
|
|
102
|
-
selectAll:
|
|
103
|
-
clearSelection:
|
|
99
|
+
toggleSelect: W,
|
|
100
|
+
focusedIndex: F,
|
|
101
|
+
setFocusedIndex: I,
|
|
102
|
+
selectAll: G,
|
|
103
|
+
clearSelection: K,
|
|
104
104
|
onItemClick: w
|
|
105
105
|
},
|
|
106
106
|
children: /* @__PURE__ */ _("div", {
|
|
107
|
-
ref:
|
|
107
|
+
ref: V,
|
|
108
108
|
className: h("wim-gallery", o.root, E),
|
|
109
109
|
...O,
|
|
110
|
-
children: [y &&
|
|
110
|
+
children: [y && Y && /* @__PURE__ */ _("div", {
|
|
111
111
|
className: o.toolbar,
|
|
112
112
|
role: "toolbar",
|
|
113
113
|
"aria-label": A("gallery.toolbar_label"),
|
|
114
114
|
children: [/* @__PURE__ */ g("span", {
|
|
115
115
|
className: o.toolbarCount,
|
|
116
|
-
children: A("gallery.selected_count", { count:
|
|
116
|
+
children: A("gallery.selected_count", { count: J.length })
|
|
117
117
|
}), /* @__PURE__ */ _("div", {
|
|
118
118
|
className: o.toolbarActions,
|
|
119
119
|
children: [T?.({
|
|
120
|
-
selectedIds:
|
|
121
|
-
clearSelection:
|
|
120
|
+
selectedIds: J,
|
|
121
|
+
clearSelection: K
|
|
122
122
|
}), /* @__PURE__ */ g(i, {
|
|
123
123
|
size: "sm",
|
|
124
124
|
variant: "ghost",
|
|
125
125
|
className: o.toolbarClear,
|
|
126
|
-
onClick:
|
|
126
|
+
onClick: K,
|
|
127
127
|
"aria-label": A("gallery.clear_selection"),
|
|
128
128
|
icon: /* @__PURE__ */ g(r, {
|
|
129
129
|
component: n,
|
|
@@ -133,13 +133,13 @@ var v = c(null), y = () => {
|
|
|
133
133
|
})]
|
|
134
134
|
}), /* @__PURE__ */ g("div", {
|
|
135
135
|
className: h(o.grid, o[`gap-${c}`], o[`aspect-${u}`]),
|
|
136
|
-
style:
|
|
136
|
+
style: X,
|
|
137
137
|
role: "grid",
|
|
138
138
|
"aria-multiselectable": y || void 0,
|
|
139
139
|
"aria-label": A("gallery.grid_label"),
|
|
140
|
-
onKeyDown:
|
|
140
|
+
onKeyDown: Z,
|
|
141
141
|
tabIndex: 0,
|
|
142
|
-
children:
|
|
142
|
+
children: q.map(({ rowItems: e, startIndex: t }, n) => /* @__PURE__ */ g("div", {
|
|
143
143
|
role: "row",
|
|
144
144
|
style: { display: "contents" },
|
|
145
145
|
children: e.map((e, n) => /* @__PURE__ */ g(x, {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../i18n/generated/common.cjs"),r=require("../../../icon/chevron-left.cjs"),i=require("../../../icon/chevron-right.cjs"),a=require("../Icon/Icon.cjs"),o=require("./image-compare.module.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("classnames");c=e.__toESM(c,1);let l=require("react/jsx-runtime");var u=e=>Math.max(0,Math.min(100,e)),d=s.default.forwardRef(({before:e,after:d,beforeAlt:f=``,afterAlt:p=``,beforeLabel:m,afterLabel:h,defaultPosition:g=50,position:_,onPositionChange:v,orientation:y=`horizontal`,width:b,height:x,radius:S=`md`,labels:C,className:w,"aria-label":T,"aria-labelledby":E,"aria-describedby":D,...O},k)=>{let{t:A}=t.useWimTranslation(n.commonNs),{handleAriaLabel:j=A(`imageCompare.handle`)}=C??{},M=_!==void 0,[N,P]=(0,s.useState)(u(g)),F=u(M?_:N),I=y===`vertical`,L=(0,s.useRef)(null),R=(0,s.useRef)(!1),z=(0,s.useCallback)(e=>{L.current=e,typeof k==`function`?k(e):k&&(k.current=e)},[k]),B=(0,s.useCallback)(e=>{let t=u(e);M||P(t),v?.(t)},[M,v]),V=(0,s.useCallback)((e,t)=>{let n=L.current?.getBoundingClientRect();if(!n)return;let r=I?(t-n.top)/n.height*100:(e-n.left)/n.width*100;B(r)},[I,B]),H=e=>{R.current=!0,e.currentTarget.setPointerCapture(e.pointerId),V(e.clientX,e.clientY)},U=e=>{R.current&&V(e.clientX,e.clientY)},W=e=>{R.current=!1,e.currentTarget.releasePointerCapture?.(e.pointerId)},G=e=>{let t=e.shiftKey?10:2,n=I?`ArrowUp`:`ArrowLeft`,r=I?`ArrowDown`:`ArrowRight`;e.key===n?(e.preventDefault(),B(F-t)):e.key===r?(e.preventDefault(),B(F+t)):e.key===`Home`?(e.preventDefault(),B(0)):e.key===`End`&&(e.preventDefault(),B(100))},K=I?{clipPath:`inset(0 0 ${100-F}% 0)`}:{clipPath:`inset(0 ${100-F}% 0 0)`},q=I?{top:`${F}%`}:{left:`${F}%`};return(0,l.jsxs)(`div`,{ref:z,className:(0,c.default)(`wim-image-compare`,o.default.root,I&&o.default.vertical,o.default[`radius-${S}`],w),
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../i18n/generated/common.cjs"),r=require("../../../icon/chevron-left.cjs"),i=require("../../../icon/chevron-right.cjs"),a=require("../Icon/Icon.cjs"),o=require("./image-compare.module.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("classnames");c=e.__toESM(c,1);let l=require("react/jsx-runtime");var u=e=>Math.max(0,Math.min(100,e)),d=s.default.forwardRef(({before:e,after:d,beforeAlt:f=``,afterAlt:p=``,beforeLabel:m,afterLabel:h,defaultPosition:g=50,position:_,onPositionChange:v,orientation:y=`horizontal`,width:b,height:x,radius:S=`md`,labels:C,className:w,"aria-label":T,"aria-labelledby":E,"aria-describedby":D,...O},k)=>{let{t:A}=t.useWimTranslation(n.commonNs),{handleAriaLabel:j=A(`imageCompare.handle`)}=C??{},M=_!==void 0,[N,P]=(0,s.useState)(u(g)),F=u(M?_:N),I=y===`vertical`,L=(0,s.useRef)(null),R=(0,s.useRef)(!1),z=(0,s.useCallback)(e=>{L.current=e,typeof k==`function`?k(e):k&&(k.current=e)},[k]),B=(0,s.useCallback)(e=>{let t=u(e);M||P(t),v?.(t)},[M,v]),V=(0,s.useCallback)((e,t)=>{let n=L.current?.getBoundingClientRect();if(!n)return;let r=I?(t-n.top)/n.height*100:(e-n.left)/n.width*100;B(r)},[I,B]),H=e=>{R.current=!0,e.currentTarget.setPointerCapture(e.pointerId),V(e.clientX,e.clientY)},U=e=>{R.current&&V(e.clientX,e.clientY)},W=e=>{R.current=!1,e.currentTarget.releasePointerCapture?.(e.pointerId)},G=e=>{let t=e.shiftKey?10:2,n=I?`ArrowUp`:`ArrowLeft`,r=I?`ArrowDown`:`ArrowRight`;e.key===n?(e.preventDefault(),B(F-t)):e.key===r?(e.preventDefault(),B(F+t)):e.key===`Home`?(e.preventDefault(),B(0)):e.key===`End`&&(e.preventDefault(),B(100))},K=I?{clipPath:`inset(0 0 ${100-F}% 0)`}:{clipPath:`inset(0 ${100-F}% 0 0)`},q=I?{top:`${F}%`}:{left:`${F}%`};return(0,l.jsxs)(`div`,{ref:z,className:(0,c.default)(`wim-image-compare`,o.default.root,I&&o.default.vertical,o.default[`radius-${S}`],w),onPointerDown:H,onPointerMove:U,onPointerUp:W,...O,style:{width:b,height:x,...O.style},children:[(0,l.jsx)(`img`,{className:o.default.image,src:d,alt:p,draggable:!1}),h&&(0,l.jsx)(`span`,{className:(0,c.default)(o.default.label,o.default.afterLabel),children:h}),(0,l.jsxs)(`div`,{className:o.default.beforeLayer,style:K,children:[(0,l.jsx)(`img`,{className:o.default.image,src:e,alt:f,draggable:!1}),m&&(0,l.jsx)(`span`,{className:(0,c.default)(o.default.label,o.default.beforeLabel),children:m})]}),(0,l.jsxs)(`div`,{className:o.default.divider,style:q,children:[(0,l.jsx)(`span`,{className:o.default.line,"aria-hidden":`true`}),(0,l.jsxs)(`button`,{type:`button`,className:o.default.handle,role:`slider`,"aria-label":E?void 0:T??j,"aria-labelledby":E,"aria-describedby":D,"aria-orientation":y,"aria-valuenow":Math.round(F),"aria-valuemin":0,"aria-valuemax":100,onKeyDown:G,onPointerDown:H,children:[(0,l.jsx)(a.Icon,{component:r.default,size:`sm`,className:o.default.arrow}),(0,l.jsx)(a.Icon,{component:i.default,size:`sm`,className:o.default.arrow})]})]})]})});d.displayName=`ImageCompare`,exports.ImageCompare=d;
|
|
@@ -33,14 +33,15 @@ var p = (e) => Math.max(0, Math.min(100, e)), m = o.forwardRef(({ before: o, aft
|
|
|
33
33
|
return /* @__PURE__ */ f("div", {
|
|
34
34
|
ref: H,
|
|
35
35
|
className: u("wim-image-compare", a.root, z && a.vertical, a[`radius-${T}`], D),
|
|
36
|
-
style: {
|
|
37
|
-
width: C,
|
|
38
|
-
height: w
|
|
39
|
-
},
|
|
40
36
|
onPointerDown: G,
|
|
41
37
|
onPointerMove: K,
|
|
42
38
|
onPointerUp: q,
|
|
43
39
|
...j,
|
|
40
|
+
style: {
|
|
41
|
+
width: C,
|
|
42
|
+
height: w,
|
|
43
|
+
...j.style
|
|
44
|
+
},
|
|
44
45
|
children: [
|
|
45
46
|
/* @__PURE__ */ d("img", {
|
|
46
47
|
className: a.image,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../_internal/mergeRefs.cjs"),n=require("./affix.module.cjs");let
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../_internal/mergeRefs.cjs"),n=require("../../_internal/observeMove.cjs"),r=require("./affix.module.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("classnames");a=e.__toESM(a,1);let o=require("react/jsx-runtime");var s=i.default.forwardRef(function({offsetTop:e,offsetBottom:s,onChange:c,target:l=()=>window,children:u,className:d,style:f},p){let[m,h]=(0,i.useState)({isAffixed:!1}),g=(0,i.useRef)(null),_=(0,i.useRef)(null),v=(0,i.useRef)(null),y=(0,i.useRef)(!1),b=(0,i.useCallback)(()=>{if(!g.current)return;let t=l();if(!t)return;let n=g.current.getBoundingClientRect(),r=t===window||t instanceof Window?{top:0,bottom:window.innerHeight}:t.getBoundingClientRect(),i=!1,a,o;e!==void 0&&n.top<r.top+e?(i=!0,a={position:`fixed`,top:r.top+e,width:n.width,height:n.height,zIndex:1e3},o={width:n.width,height:n.height}):s!==void 0&&n.bottom>r.bottom-s&&(i=!0,a={position:`fixed`,bottom:window.innerHeight-r.bottom+s,width:n.width,height:n.height,zIndex:1e3},o={width:n.width,height:n.height}),i!==y.current&&(y.current=i,c?.(i)),h(e=>e.isAffixed===i&&JSON.stringify(e.affixStyle)===JSON.stringify(a)&&JSON.stringify(e.placeholderStyle)===JSON.stringify(o)?e:{isAffixed:i,affixStyle:a,placeholderStyle:o})},[e,s,l,c]);return(0,i.useEffect)(()=>{let e=l();if(!e)return;let t=()=>{v.current&&window.cancelAnimationFrame(v.current),v.current=window.requestAnimationFrame(b)};e.addEventListener(`scroll`,t),window.addEventListener(`resize`,t);let r=g.current?n.observeMove(g.current,t):void 0;return b(),()=>{e.removeEventListener(`scroll`,t),window.removeEventListener(`resize`,t),r?.(),v.current&&window.cancelAnimationFrame(v.current)}},[l,b]),(0,o.jsx)(`div`,{ref:t.mergeRefs(g,p),style:{...m.placeholderStyle,...f},className:(0,a.default)(d),children:(0,o.jsx)(`div`,{ref:_,className:(0,a.default)(`wim-affix`,r.default.root,m.isAffixed&&r.default.affixed),style:m.affixStyle,children:u})})});s.displayName=`Affix`,exports.Affix=s,exports.default=s;
|
|
@@ -1,72 +1,75 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { mergeRefs as e } from "../../_internal/mergeRefs.js";
|
|
3
|
-
import t from "
|
|
4
|
-
import n
|
|
5
|
-
import s from "
|
|
6
|
-
import
|
|
3
|
+
import { observeMove as t } from "../../_internal/observeMove.js";
|
|
4
|
+
import n from "./affix.module.js";
|
|
5
|
+
import r, { useCallback as i, useEffect as a, useRef as o, useState as s } from "react";
|
|
6
|
+
import c from "classnames";
|
|
7
|
+
import { jsx as l } from "react/jsx-runtime";
|
|
7
8
|
//#region src/components/navigation/Affix/Affix.tsx
|
|
8
|
-
var
|
|
9
|
-
let [
|
|
10
|
-
if (!
|
|
11
|
-
let e =
|
|
9
|
+
var u = r.forwardRef(function({ offsetTop: r, offsetBottom: u, onChange: d, target: f = () => window, children: p, className: m, style: h }, g) {
|
|
10
|
+
let [_, v] = s({ isAffixed: !1 }), y = o(null), b = o(null), x = o(null), S = o(!1), C = i(() => {
|
|
11
|
+
if (!y.current) return;
|
|
12
|
+
let e = f();
|
|
12
13
|
if (!e) return;
|
|
13
|
-
let t =
|
|
14
|
+
let t = y.current.getBoundingClientRect(), n = e === window || e instanceof Window ? {
|
|
14
15
|
top: 0,
|
|
15
16
|
bottom: window.innerHeight
|
|
16
17
|
} : e.getBoundingClientRect(), i = !1, a, o;
|
|
17
|
-
|
|
18
|
+
r !== void 0 && t.top < n.top + r ? (i = !0, a = {
|
|
18
19
|
position: "fixed",
|
|
19
|
-
top:
|
|
20
|
+
top: n.top + r,
|
|
20
21
|
width: t.width,
|
|
21
22
|
height: t.height,
|
|
22
23
|
zIndex: 1e3
|
|
23
24
|
}, o = {
|
|
24
25
|
width: t.width,
|
|
25
26
|
height: t.height
|
|
26
|
-
}) :
|
|
27
|
+
}) : u !== void 0 && t.bottom > n.bottom - u && (i = !0, a = {
|
|
27
28
|
position: "fixed",
|
|
28
|
-
bottom: window.innerHeight -
|
|
29
|
+
bottom: window.innerHeight - n.bottom + u,
|
|
29
30
|
width: t.width,
|
|
30
31
|
height: t.height,
|
|
31
32
|
zIndex: 1e3
|
|
32
33
|
}, o = {
|
|
33
34
|
width: t.width,
|
|
34
35
|
height: t.height
|
|
35
|
-
}), i !==
|
|
36
|
+
}), i !== S.current && (S.current = i, d?.(i)), v((e) => e.isAffixed === i && JSON.stringify(e.affixStyle) === JSON.stringify(a) && JSON.stringify(e.placeholderStyle) === JSON.stringify(o) ? e : {
|
|
36
37
|
isAffixed: i,
|
|
37
38
|
affixStyle: a,
|
|
38
39
|
placeholderStyle: o
|
|
39
40
|
});
|
|
40
41
|
}, [
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
r,
|
|
43
|
+
u,
|
|
44
|
+
f,
|
|
45
|
+
d
|
|
45
46
|
]);
|
|
46
|
-
return
|
|
47
|
-
let e =
|
|
47
|
+
return a(() => {
|
|
48
|
+
let e = f();
|
|
48
49
|
if (!e) return;
|
|
49
|
-
let
|
|
50
|
-
|
|
50
|
+
let n = () => {
|
|
51
|
+
x.current && window.cancelAnimationFrame(x.current), x.current = window.requestAnimationFrame(C);
|
|
51
52
|
};
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
e.addEventListener("scroll", n), window.addEventListener("resize", n);
|
|
54
|
+
let r = y.current ? t(y.current, n) : void 0;
|
|
55
|
+
return C(), () => {
|
|
56
|
+
e.removeEventListener("scroll", n), window.removeEventListener("resize", n), r?.(), x.current && window.cancelAnimationFrame(x.current);
|
|
54
57
|
};
|
|
55
|
-
}, [
|
|
56
|
-
ref: e(
|
|
58
|
+
}, [f, C]), /* @__PURE__ */ l("div", {
|
|
59
|
+
ref: e(y, g),
|
|
57
60
|
style: {
|
|
58
|
-
...
|
|
59
|
-
...
|
|
61
|
+
..._.placeholderStyle,
|
|
62
|
+
...h
|
|
60
63
|
},
|
|
61
|
-
className:
|
|
62
|
-
children: /* @__PURE__ */
|
|
63
|
-
ref:
|
|
64
|
-
className:
|
|
65
|
-
style:
|
|
66
|
-
children:
|
|
64
|
+
className: c(m),
|
|
65
|
+
children: /* @__PURE__ */ l("div", {
|
|
66
|
+
ref: b,
|
|
67
|
+
className: c("wim-affix", n.root, _.isAffixed && n.affixed),
|
|
68
|
+
style: _.affixStyle,
|
|
69
|
+
children: p
|
|
67
70
|
})
|
|
68
71
|
});
|
|
69
72
|
});
|
|
70
|
-
|
|
73
|
+
u.displayName = "Affix";
|
|
71
74
|
//#endregion
|
|
72
|
-
export {
|
|
75
|
+
export { u as Affix, u as default };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../layout/Transition/Transition.cjs"),r=require("../../_internal/BaseListItem/BaseListItem.cjs"),i=require("../../_internal/useInlineFloating.cjs"),a=require("./menubar.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=(0,o.createContext)(null),u=(0,o.createContext)(null),d=()=>{let e=(0,o.useContext)(l);if(!e)throw Error(`Menubar compound parts must be used within <Menubar>`);return e},f=()=>{let e=(0,o.useContext)(u);if(!e)throw Error(`Menubar.Trigger/Content/Item must be used within <Menubar.Menu>`);return e},p=o.default.forwardRef(({asChild:e=!1,className:n,children:r,onKeyDown:i,...u},d)=>{let[f,p]=(0,o.useState)(null),m=(0,o.useRef)(new Map),h=(0,o.useRef)(null),g=(0,o.useCallback)(e=>{h.current=e,typeof d==`function`?d(e):d&&(d.current=e)},[d]),_=(0,o.useCallback)((e,t)=>{t?m.current.set(e,t):m.current.delete(e)},[]),v=(0,o.useCallback)(()=>Array.from(m.current.keys()),[]),y=(0,o.useCallback)(e=>{m.current.get(e)?.focus()},[]);(0,o.useEffect)(()=>{if(!f)return;let e=e=>{h.current&&!h.current.contains(e.target)&&p(null)},t=e=>{e.key===`Escape`&&(p(null),f&&y(f))};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[f,y]);let b=e=>{if(i?.(e),e.defaultPrevented)return;let t=v();if(t.length===0)return;let n=f??t.find(e=>m.current.get(e)===document.activeElement)??null;if(!n)return;let r=t.indexOf(n);if(!(r<0)){if(e.key===`ArrowRight`){e.preventDefault();let n=t[(r+1)%t.length];f&&p(n),y(n)}else if(e.key===`ArrowLeft`){e.preventDefault();let n=t[(r-1+t.length)%t.length];f&&p(n),y(n)}else if(e.key===`Home`){e.preventDefault();let n=t[0];f&&p(n),y(n)}else if(e.key===`End`){e.preventDefault();let n=t[t.length-1];f&&p(n),y(n)}}},x=(0,o.useMemo)(()=>({openMenuId:f,setOpenMenuId:p,registerTrigger:_,getTriggerIds:v,focusTrigger:y}),[f,_,v,y]),S=e?t.Root:`div`;return(0,c.jsx)(l.Provider,{value:x,children:(0,c.jsx)(S,{ref:g,role:`menubar`,className:(0,s.default)(`wim-menubar`,a.default.root,n),onKeyDown:b,...u,children:(0,c.jsx)(t.Slottable,{children:r})})})});p.displayName=`Menubar`;var m=o.default.forwardRef(({value:e,disabled:t=!1,className:n,children:r,...i},l)=>{let{openMenuId:f,setOpenMenuId:p,focusTrigger:m}=d(),h=(0,o.useId)(),g
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../layout/Transition/Transition.cjs"),r=require("../../_internal/BaseListItem/BaseListItem.cjs"),i=require("../../_internal/useInlineFloating.cjs"),a=require("./menubar.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=(0,o.createContext)(null),u=(0,o.createContext)(null),d=()=>{let e=(0,o.useContext)(l);if(!e)throw Error(`Menubar compound parts must be used within <Menubar>`);return e},f=()=>{let e=(0,o.useContext)(u);if(!e)throw Error(`Menubar.Trigger/Content/Item must be used within <Menubar.Menu>`);return e},p=o.default.forwardRef(({asChild:e=!1,className:n,children:r,onKeyDown:i,...u},d)=>{let[f,p]=(0,o.useState)(null),m=(0,o.useRef)(new Map),h=(0,o.useRef)(null),g=(0,o.useCallback)(e=>{h.current=e,typeof d==`function`?d(e):d&&(d.current=e)},[d]),_=(0,o.useCallback)((e,t)=>{t?m.current.set(e,t):m.current.delete(e)},[]),v=(0,o.useCallback)(()=>Array.from(m.current.keys()),[]),y=(0,o.useCallback)(e=>{m.current.get(e)?.focus()},[]);(0,o.useEffect)(()=>{if(!f)return;let e=e=>{h.current&&!h.current.contains(e.target)&&p(null)},t=e=>{e.key===`Escape`&&(p(null),f&&y(f))};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[f,y]);let b=e=>{if(i?.(e),e.defaultPrevented)return;let t=v();if(t.length===0)return;let n=f??t.find(e=>m.current.get(e)===document.activeElement)??null;if(!n)return;let r=t.indexOf(n);if(!(r<0)){if(e.key===`ArrowRight`){e.preventDefault();let n=t[(r+1)%t.length];f&&p(n),y(n)}else if(e.key===`ArrowLeft`){e.preventDefault();let n=t[(r-1+t.length)%t.length];f&&p(n),y(n)}else if(e.key===`Home`){e.preventDefault();let n=t[0];f&&p(n),y(n)}else if(e.key===`End`){e.preventDefault();let n=t[t.length-1];f&&p(n),y(n)}}},x=(0,o.useMemo)(()=>({openMenuId:f,setOpenMenuId:p,registerTrigger:_,getTriggerIds:v,focusTrigger:y}),[f,_,v,y]),S=e?t.Root:`div`;return(0,c.jsx)(l.Provider,{value:x,children:(0,c.jsx)(S,{ref:g,role:`menubar`,className:(0,s.default)(`wim-menubar`,a.default.root,n),onKeyDown:b,...u,children:(0,c.jsx)(t.Slottable,{children:r})})})});p.displayName=`Menubar`;var m=o.default.forwardRef(({value:e,disabled:t=!1,className:n,children:r,...i},l)=>{let{openMenuId:f,setOpenMenuId:p,focusTrigger:m}=d(),h=(0,o.useId)(),[g,_]=(0,o.useState)(void 0),[v,y]=(0,o.useState)(void 0),b=g??`wim-menubar-trigger-${e}-${h}`,x=v??`wim-menubar-content-${e}-${h}`,S=f===e,C=()=>{t||p(e)},w=()=>{m(e),p(null)},T=()=>{t||p(S?null:e)},E=(0,o.useMemo)(()=>({menuId:e,triggerId:b,contentId:x,setTriggerIdOverride:_,setContentIdOverride:y,isOpen:S,open:C,close:w,toggle:T}),[e,b,x,S,t]);return(0,c.jsx)(u.Provider,{value:E,children:(0,c.jsx)(`div`,{ref:l,role:`none`,"data-disabled":t||void 0,className:(0,s.default)(a.default.menu,n),...i,children:r})})});m.displayName=`Menubar.Menu`;var h=o.default.forwardRef(({asChild:e=!1,className:n,children:r,onKeyDown:i,onMouseEnter:l,id:u,...p},m)=>{let{openMenuId:h,registerTrigger:g}=d(),{triggerId:_,contentId:v,isOpen:y,open:b,toggle:x,menuId:S,setTriggerIdOverride:C}=f();(0,o.useEffect)(()=>(C(u),()=>C(void 0)),[u,C]);let w=!!p.disabled,T=(0,o.useCallback)(e=>{g(S,e),typeof m==`function`?m(e):m&&(m.current=e)},[g,S,m]),E=e=>{i?.(e),!(e.defaultPrevented||w)&&(e.key===`ArrowDown`||e.key===`Enter`||e.key===` `)&&(e.preventDefault(),b())},D=e=>{l?.(e),h&&!w&&b()};return(0,c.jsx)(e?t.Root:`button`,{...p,ref:T,type:e?void 0:`button`,id:u??_,role:`menuitem`,"aria-haspopup":`menu`,"aria-expanded":y,"aria-controls":y?v:void 0,disabled:w,className:(0,s.default)(a.default.trigger,y&&a.default.triggerOpen,n),onClick:x,onKeyDown:E,onMouseEnter:D,children:(0,c.jsx)(t.Slottable,{children:r})})});h.displayName=`Menubar.Trigger`;var g=o.default.forwardRef(({align:e=`start`,className:t,children:r,id:l,"aria-labelledby":u,...d},p)=>{let{contentId:m,triggerId:h,isOpen:g,close:_,setContentIdOverride:v}=f();(0,o.useEffect)(()=>(v(l),()=>v(void 0)),[l,v]);let[y,b]=(0,o.useState)(-1),[x,S]=(0,o.useState)(g),C=(0,o.useRef)(null);g!==x&&(S(g),b(g?0:-1));let{setReference:w,setFloating:T,floatingProps:E}=i.useInlineFloating({open:g}),D=(0,o.useCallback)(e=>{C.current=e,T(e),w(e?.parentElement??null),typeof p==`function`?p(e):p&&(p.current=e)},[p,T,w]);(0,o.useEffect)(()=>{!g||y<0||Array.from(C.current?.querySelectorAll(`[role="menuitem"]:not([aria-disabled="true"])`)??[])[y]?.focus()},[y,g]);let O=e=>{let t=Array.from(C.current?.querySelectorAll(`[role="menuitem"]:not([aria-disabled="true"])`)??[]);if(t.length!==0)switch(e.key){case`ArrowDown`:e.preventDefault(),b(e=>e<t.length-1?e+1:0);break;case`ArrowUp`:e.preventDefault(),b(e=>e>0?e-1:t.length-1);break;case`Home`:e.preventDefault(),b(0);break;case`End`:e.preventDefault(),b(t.length-1);break;case`Tab`:_()}};return(0,c.jsx)(n.Transition,{...d,ref:D,show:g,preset:`fade`,id:l??m,role:`menu`,"aria-labelledby":u??h,className:(0,s.default)(a.default.content,e===`end`?a.default.alignEnd:a.default.alignStart,t),onKeyDown:O,"data-side":E[`data-side`],style:{...d.style,...E.style},children:r})});g.displayName=`Menubar.Content`;var _=o.default.forwardRef(({children:e,onSelect:t,onClick:n,disabled:i=!1,className:o,...l},u)=>{let{close:d}=f(),p=e=>{i||(e.stopPropagation(),t?.(),n?.(e),d())};return(0,c.jsx)(r.BaseListItem,{...l,ref:u,className:(0,s.default)(a.default.item,o),disabled:i,role:`menuitem`,tabIndex:-1,onClick:p,onKeyDown:e=>{!i&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),p(e))},children:e})});_.displayName=`Menubar.Item`;var v=o.default.forwardRef(({className:e,...t},n)=>(0,c.jsx)(`div`,{ref:n,role:`separator`,className:(0,s.default)(a.default.separator,e),...t}));v.displayName=`Menubar.Separator`;var y=p;y.Menu=m,y.Trigger=h,y.Content=g,y.Item=_,y.Separator=v,exports.Menubar=y,exports.default=y;
|
|
@@ -87,29 +87,31 @@ var _ = s(null), v = s(null), y = () => {
|
|
|
87
87
|
});
|
|
88
88
|
x.displayName = "Menubar";
|
|
89
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}`,
|
|
90
|
+
let { openMenuId: s, setOpenMenuId: c, focusTrigger: l } = y(), u = d(), [p, _] = m(void 0), [b, x] = m(void 0), S = p ?? `wim-menubar-trigger-${e}-${u}`, C = b ?? `wim-menubar-content-${e}-${u}`, w = s === e, T = () => {
|
|
91
91
|
t || c(e);
|
|
92
|
-
},
|
|
92
|
+
}, E = () => {
|
|
93
93
|
l(e), c(null);
|
|
94
|
-
},
|
|
95
|
-
t || c(
|
|
96
|
-
},
|
|
94
|
+
}, D = () => {
|
|
95
|
+
t || c(w ? null : e);
|
|
96
|
+
}, O = f(() => ({
|
|
97
97
|
menuId: e,
|
|
98
|
-
triggerId:
|
|
99
|
-
contentId:
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
98
|
+
triggerId: S,
|
|
99
|
+
contentId: C,
|
|
100
|
+
setTriggerIdOverride: _,
|
|
101
|
+
setContentIdOverride: x,
|
|
102
|
+
isOpen: w,
|
|
103
|
+
open: T,
|
|
104
|
+
close: E,
|
|
105
|
+
toggle: D
|
|
104
106
|
}), [
|
|
105
107
|
e,
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
108
|
+
S,
|
|
109
|
+
C,
|
|
110
|
+
w,
|
|
109
111
|
t
|
|
110
112
|
]);
|
|
111
113
|
return /* @__PURE__ */ g(v.Provider, {
|
|
112
|
-
value:
|
|
114
|
+
value: O,
|
|
113
115
|
children: /* @__PURE__ */ g("div", {
|
|
114
116
|
ref: o,
|
|
115
117
|
role: "none",
|
|
@@ -121,81 +123,85 @@ var S = o.forwardRef(({ value: e, disabled: t = !1, className: n, children: r, .
|
|
|
121
123
|
});
|
|
122
124
|
});
|
|
123
125
|
S.displayName = "Menubar.Menu";
|
|
124
|
-
var C = o.forwardRef(({ asChild: n = !1, className: r, children: i, onKeyDown: o, onMouseEnter: s,
|
|
125
|
-
let { openMenuId:
|
|
126
|
-
|
|
126
|
+
var C = o.forwardRef(({ asChild: n = !1, className: r, children: i, onKeyDown: o, onMouseEnter: s, id: l, ...d }, f) => {
|
|
127
|
+
let { openMenuId: p, registerTrigger: m } = y(), { triggerId: _, contentId: v, isOpen: x, open: S, toggle: C, menuId: w, setTriggerIdOverride: T } = b();
|
|
128
|
+
u(() => (T(l), () => T(void 0)), [l, T]);
|
|
129
|
+
let E = !!d.disabled, D = c((e) => {
|
|
130
|
+
m(w, e), typeof f == "function" ? f(e) : f && (f.current = e);
|
|
127
131
|
}, [
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
]),
|
|
132
|
-
o?.(e), !(e.defaultPrevented ||
|
|
133
|
-
},
|
|
134
|
-
s?.(e),
|
|
132
|
+
m,
|
|
133
|
+
w,
|
|
134
|
+
f
|
|
135
|
+
]), O = (e) => {
|
|
136
|
+
o?.(e), !(e.defaultPrevented || E) && (e.key === "ArrowDown" || e.key === "Enter" || e.key === " ") && (e.preventDefault(), S());
|
|
137
|
+
}, k = (e) => {
|
|
138
|
+
s?.(e), p && !E && S();
|
|
135
139
|
};
|
|
136
140
|
return /* @__PURE__ */ g(n ? e : "button", {
|
|
137
|
-
...
|
|
138
|
-
ref:
|
|
141
|
+
...d,
|
|
142
|
+
ref: D,
|
|
139
143
|
type: n ? void 0 : "button",
|
|
140
|
-
id:
|
|
144
|
+
id: l ?? _,
|
|
141
145
|
role: "menuitem",
|
|
142
146
|
"aria-haspopup": "menu",
|
|
143
|
-
"aria-expanded":
|
|
144
|
-
"aria-controls":
|
|
145
|
-
disabled:
|
|
146
|
-
className: h(a.trigger,
|
|
147
|
-
onClick:
|
|
148
|
-
onKeyDown:
|
|
149
|
-
onMouseEnter:
|
|
147
|
+
"aria-expanded": x,
|
|
148
|
+
"aria-controls": x ? v : void 0,
|
|
149
|
+
disabled: E,
|
|
150
|
+
className: h(a.trigger, x && a.triggerOpen, r),
|
|
151
|
+
onClick: C,
|
|
152
|
+
onKeyDown: O,
|
|
153
|
+
onMouseEnter: k,
|
|
150
154
|
children: /* @__PURE__ */ g(t, { children: i })
|
|
151
155
|
});
|
|
152
156
|
});
|
|
153
157
|
C.displayName = "Menubar.Trigger";
|
|
154
|
-
var w = o.forwardRef(({ align: e = "start", className: t, children: r,
|
|
155
|
-
let { contentId:
|
|
156
|
-
|
|
157
|
-
let
|
|
158
|
-
|
|
158
|
+
var w = o.forwardRef(({ align: e = "start", className: t, children: r, id: o, "aria-labelledby": s, ...l }, d) => {
|
|
159
|
+
let { contentId: f, triggerId: _, isOpen: v, close: y, setContentIdOverride: x } = b();
|
|
160
|
+
u(() => (x(o), () => x(void 0)), [o, x]);
|
|
161
|
+
let [S, C] = m(-1), [w, T] = m(v), E = p(null);
|
|
162
|
+
v !== w && (T(v), C(v ? 0 : -1));
|
|
163
|
+
let { setReference: D, setFloating: O, floatingProps: k } = i({ open: v }), A = c((e) => {
|
|
164
|
+
E.current = e, O(e), D(e?.parentElement ?? null), typeof d == "function" ? d(e) : d && (d.current = e);
|
|
159
165
|
}, [
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
166
|
+
d,
|
|
167
|
+
O,
|
|
168
|
+
D
|
|
163
169
|
]);
|
|
164
170
|
u(() => {
|
|
165
|
-
!
|
|
166
|
-
}, [
|
|
167
|
-
let
|
|
168
|
-
let t = Array.from(
|
|
171
|
+
!v || S < 0 || Array.from(E.current?.querySelectorAll("[role=\"menuitem\"]:not([aria-disabled=\"true\"])") ?? [])[S]?.focus();
|
|
172
|
+
}, [S, v]);
|
|
173
|
+
let j = (e) => {
|
|
174
|
+
let t = Array.from(E.current?.querySelectorAll("[role=\"menuitem\"]:not([aria-disabled=\"true\"])") ?? []);
|
|
169
175
|
if (t.length !== 0) switch (e.key) {
|
|
170
176
|
case "ArrowDown":
|
|
171
|
-
e.preventDefault(),
|
|
177
|
+
e.preventDefault(), C((e) => e < t.length - 1 ? e + 1 : 0);
|
|
172
178
|
break;
|
|
173
179
|
case "ArrowUp":
|
|
174
|
-
e.preventDefault(),
|
|
180
|
+
e.preventDefault(), C((e) => e > 0 ? e - 1 : t.length - 1);
|
|
175
181
|
break;
|
|
176
182
|
case "Home":
|
|
177
|
-
e.preventDefault(),
|
|
183
|
+
e.preventDefault(), C(0);
|
|
178
184
|
break;
|
|
179
185
|
case "End":
|
|
180
|
-
e.preventDefault(),
|
|
186
|
+
e.preventDefault(), C(t.length - 1);
|
|
181
187
|
break;
|
|
182
|
-
case "Tab":
|
|
188
|
+
case "Tab": y();
|
|
183
189
|
}
|
|
184
190
|
};
|
|
185
191
|
return /* @__PURE__ */ g(n, {
|
|
186
|
-
...
|
|
187
|
-
ref:
|
|
188
|
-
show:
|
|
192
|
+
...l,
|
|
193
|
+
ref: A,
|
|
194
|
+
show: v,
|
|
189
195
|
preset: "fade",
|
|
190
|
-
id:
|
|
196
|
+
id: o ?? f,
|
|
191
197
|
role: "menu",
|
|
192
|
-
"aria-labelledby":
|
|
198
|
+
"aria-labelledby": s ?? _,
|
|
193
199
|
className: h(a.content, e === "end" ? a.alignEnd : a.alignStart, t),
|
|
194
|
-
onKeyDown:
|
|
195
|
-
"data-side":
|
|
200
|
+
onKeyDown: j,
|
|
201
|
+
"data-side": k["data-side"],
|
|
196
202
|
style: {
|
|
197
|
-
...
|
|
198
|
-
...
|
|
203
|
+
...l.style,
|
|
204
|
+
...k.style
|
|
199
205
|
},
|
|
200
206
|
children: r
|
|
201
207
|
});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../layout/Transition/Transition.cjs"),r=require("../../_internal/BaseListItem/BaseListItem.cjs"),i=require("../../_internal/mergeRefs.cjs"),a=require("./dropdown.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"),l=require("@floating-ui/react");var u=o.default.createContext({isOpen:!1,toggle:()=>{},close:()=>{},menuId:``,triggerId:``,focusedIndex:-1,setFocusedIndex:()=>{},registerItem:()=>0,containerRef:{current:null},setReference:()=>{},setFloating:()=>{},floatingStyles:{},floatingRef:{current:null},setAlign:()=>{}}),d=(0,o.forwardRef)(({children:e,className:n,asChild:r=!1,defaultOpen:d=!1,open:f,onOpenChange:p,...m},h)=>{let[g,_]=(0,o.useState)(d),v=f??g,y=(0,o.useCallback)(e=>{f===void 0&&_(e),p?.(e)},[f,p]),[b,x]=(0,o.useState)(-1),S=(0,o.useRef)(null),C=(0,o.useRef)(0),[w,T]=(0,o.useState)(`left`),{refs:E,floatingStyles:D}=(0,l.useFloating)({open:v,placement:w===`right`?`bottom-end`:`bottom-start`,whileElementsMounted:l.autoUpdate,middleware:[(0,l.offset)(4),(0,l.flip)(),(0,l.shift)({padding:8})]}),O=i.mergeRefs(S,h);(0,o.useEffect)(()=>{C.current=0});let k=()=>{let e=C.current;return C.current+=1,e},A=(0,o.useId)(),j
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../layout/Transition/Transition.cjs"),r=require("../../_internal/BaseListItem/BaseListItem.cjs"),i=require("../../_internal/mergeRefs.cjs"),a=require("./dropdown.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"),l=require("@floating-ui/react");var u=o.default.createContext({isOpen:!1,toggle:()=>{},close:()=>{},menuId:``,triggerId:``,setTriggerIdOverride:()=>{},setMenuIdOverride:()=>{},focusedIndex:-1,setFocusedIndex:()=>{},registerItem:()=>0,containerRef:{current:null},setReference:()=>{},setFloating:()=>{},floatingStyles:{},floatingRef:{current:null},setAlign:()=>{}}),d=(0,o.forwardRef)(({children:e,className:n,asChild:r=!1,defaultOpen:d=!1,open:f,onOpenChange:p,...m},h)=>{let[g,_]=(0,o.useState)(d),v=f??g,y=(0,o.useCallback)(e=>{f===void 0&&_(e),p?.(e)},[f,p]),[b,x]=(0,o.useState)(-1),S=(0,o.useRef)(null),C=(0,o.useRef)(0),[w,T]=(0,o.useState)(`left`),{refs:E,floatingStyles:D}=(0,l.useFloating)({open:v,placement:w===`right`?`bottom-end`:`bottom-start`,whileElementsMounted:l.autoUpdate,middleware:[(0,l.offset)(4),(0,l.flip)(),(0,l.shift)({padding:8})]}),O=i.mergeRefs(S,h);(0,o.useEffect)(()=>{C.current=0});let k=()=>{let e=C.current;return C.current+=1,e},A=(0,o.useId)(),[j,M]=(0,o.useState)(void 0),[N,P]=(0,o.useState)(void 0),F=N??`wim-dropdown-menu-${A}`,I=j??`wim-dropdown-trigger-${A}`,L=()=>{let e=!v;y(e),x(e?0:-1)},R=(0,o.useCallback)(()=>{let e=E.floating.current,t=!!e&&e.contains(document.activeElement);y(!1),x(-1),t&&E.reference.current?.focus?.({preventScroll:!0})},[y,E.floating,E.reference]);(0,o.useEffect)(()=>{let e=e=>{let t=e.target,n=E.floating.current?.contains(t)??!1;S.current&&!S.current.contains(t)&&!n&&R()},t=e=>{e.key===`Escape`&&R()};return v&&(document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t)),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[v,E.floating,R]);let z=e=>{if(!v)return;let t=Array.from((E.floating.current??S.current)?.querySelectorAll(`[role="menuitem"]:not([aria-disabled="true"])`)||[]);switch(e.key){case`ArrowDown`:e.preventDefault(),x(e=>e<t.length-1?e+1:0);break;case`ArrowUp`:e.preventDefault(),x(e=>e>0?e-1:t.length-1);break;case`Home`:e.preventDefault(),x(0);break;case`End`:e.preventDefault(),x(t.length-1);break;case`Tab`:R()}};(0,o.useEffect)(()=>{v&&b>=0&&Array.from((E.floating.current??S.current)?.querySelectorAll(`[role="menuitem"]:not([aria-disabled="true"])`)||[])[b]?.focus({preventScroll:!0})},[b,v,E.floating]);let B=r?t.Root:`div`;return(0,c.jsx)(u.Provider,{value:{isOpen:v,toggle:L,close:R,menuId:F,triggerId:I,setTriggerIdOverride:M,setMenuIdOverride:P,focusedIndex:b,setFocusedIndex:x,registerItem:k,containerRef:S,setReference:E.setReference,setFloating:E.setFloating,floatingStyles:D,floatingRef:E.floating,setAlign:T},children:(0,c.jsx)(B,{...m,role:`none`,className:(0,s.default)(`wim-dropdown`,a.default.root,n),ref:O,onKeyDown:z,children:(0,c.jsx)(t.Slottable,{children:e})})})});d.displayName=`Dropdown`;var f=(0,o.forwardRef)(({children:e,className:n,asChild:r=!1,id:l,...d},f)=>{let{toggle:p,isOpen:m,menuId:h,triggerId:g,setTriggerIdOverride:_,setReference:v}=o.default.useContext(u);(0,o.useEffect)(()=>(_(l),()=>_(void 0)),[l,_]);let y=r?t.Root:`div`,b=i.mergeRefs(v,f);return(0,c.jsx)(y,{...d,ref:b,id:l??g,className:(0,s.default)(a.default.trigger,n),onClick:p,"aria-haspopup":`menu`,"aria-expanded":m,"aria-controls":m?h:void 0,role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `||e.key===`ArrowDown`&&!m)&&(e.preventDefault(),p())},children:(0,c.jsx)(t.Slottable,{children:e})})});f.displayName=`Dropdown.Trigger`;var p=(0,o.forwardRef)(({children:e,className:t,align:r=`left`,show:d,style:f,id:p,"aria-labelledby":m,...h},g)=>{let{isOpen:_,menuId:v,triggerId:y,setMenuIdOverride:b,setFloating:x,floatingStyles:S,setAlign:C}=o.default.useContext(u);(0,o.useEffect)(()=>(b(p),()=>b(void 0)),[p,b]),(0,o.useEffect)(()=>{C(r)},[r,C]);let w=i.mergeRefs(x,g);return(0,c.jsx)(l.FloatingPortal,{children:(0,c.jsx)(n.Transition,{...h,ref:w,show:d===void 0?_:d,preset:`fade`,id:p??v,style:{...S,...f},className:(0,s.default)(a.default.menu,t),role:`menu`,"aria-labelledby":m??y,children:e})})});p.displayName=`Dropdown.Menu`;var m=(0,o.forwardRef)(({children:e,onClick:t,disabled:n=!1,className:i,...l},d)=>{let{close:f,focusedIndex:p,setFocusedIndex:m,registerItem:h}=o.default.useContext(u),[g]=(0,o.useState)(()=>h()),_=p===g,v=e=>{n||(e.stopPropagation(),t&&t(),f())};return(0,c.jsx)(r.BaseListItem,{...l,ref:d,className:(0,s.default)(a.default.item,i),onClick:v,onFocus:()=>m(g),disabled:n,role:`menuitem`,tabIndex:_?0:-1,onKeyDown:e=>{!n&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),v(e))},children:e})});m.displayName=`Dropdown.Item`;var h=(0,o.forwardRef)((e,t)=>(0,c.jsx)(d,{...e,ref:t}));h.displayName=`Dropdown`,h.Trigger=f,h.Menu=p,h.Item=m,exports.Dropdown=h,exports.default=h,exports.DropdownItem=m,exports.DropdownMenu=p,exports.DropdownTrigger=f;
|