wimui 0.62.2 → 0.63.1
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/OverlayBase.cjs +1 -1
- package/dist/components/_internal/OverlayBase.js +31 -30
- package/dist/components/_internal/composeEventHandlers.cjs +2 -0
- package/dist/components/_internal/composeEventHandlers.d.ts +25 -0
- package/dist/components/_internal/composeEventHandlers.js +8 -0
- 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/ai/ChatUI/ChatUI.cjs +1 -1
- package/dist/components/ai/ChatUI/ChatUI.js +83 -82
- package/dist/components/data-display/Accordion/Accordion.cjs +1 -1
- package/dist/components/data-display/Accordion/Accordion.js +79 -78
- package/dist/components/data-display/PullToRefresh/PullToRefresh.cjs +1 -1
- package/dist/components/data-display/PullToRefresh/PullToRefresh.js +73 -72
- package/dist/components/data-display/SortableList/SortableList.cjs +1 -1
- package/dist/components/data-display/SortableList/SortableList.js +54 -53
- package/dist/components/data-display/SwipeAction/SwipeAction.cjs +1 -1
- package/dist/components/data-display/SwipeAction/SwipeAction.js +77 -76
- 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/Cascader/Cascader.cjs +1 -1
- package/dist/components/form/Cascader/Cascader.js +99 -98
- package/dist/components/form/DatePicker/DatePicker.cjs +1 -1
- package/dist/components/form/DatePicker/DatePicker.js +53 -52
- package/dist/components/form/RangeSlider/RangeSlider.cjs +1 -1
- package/dist/components/form/RangeSlider/RangeSlider.js +109 -108
- package/dist/components/form/Rating/Rating.cjs +1 -1
- package/dist/components/form/Rating/Rating.js +75 -74
- package/dist/components/form/Slider/Slider.cjs +1 -1
- package/dist/components/form/Slider/Slider.js +58 -57
- package/dist/components/form/SmartSearchInput/SmartSearchInput.cjs +1 -1
- package/dist/components/form/SmartSearchInput/SmartSearchInput.js +65 -64
- package/dist/components/form/Textarea/Textarea.cjs +1 -1
- package/dist/components/form/Textarea/Textarea.js +4 -4
- package/dist/components/form/TimePicker/TimePicker.cjs +1 -1
- package/dist/components/form/TimePicker/TimePicker.js +31 -30
- package/dist/components/layout/Dashboard/Dashboard.cjs +1 -1
- package/dist/components/layout/Dashboard/Dashboard.js +3 -2
- package/dist/components/layout/InteractiveArea/InteractiveArea.cjs +1 -1
- package/dist/components/layout/InteractiveArea/InteractiveArea.js +1 -1
- package/dist/components/layout/Navbar/Navbar.cjs +1 -1
- package/dist/components/layout/Navbar/Navbar.js +68 -66
- package/dist/components/layout/Splitter/Splitter.cjs +1 -1
- package/dist/components/layout/Splitter/Splitter.js +47 -46
- package/dist/components/layout/Transition/Transition.cjs +1 -1
- package/dist/components/layout/Transition/Transition.js +25 -24
- package/dist/components/media/Audio/Audio.cjs +1 -1
- package/dist/components/media/Audio/Audio.js +39 -38
- package/dist/components/media/Image/Image.cjs +2 -2
- package/dist/components/media/Image/Image.js +96 -95
- package/dist/components/media/ImageCompare/ImageCompare.cjs +1 -1
- package/dist/components/media/ImageCompare/ImageCompare.js +75 -73
- package/dist/components/media/Video/Video.cjs +1 -1
- package/dist/components/media/Video/Video.js +114 -113
- 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/navigation/SpeedDial/SpeedDial.cjs +1 -1
- package/dist/components/navigation/SpeedDial/SpeedDial.js +47 -46
- package/dist/components/navigation/Tabs/Tabs.cjs +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +87 -86
- package/dist/components/overlay/Dropdown/Dropdown.cjs +1 -1
- package/dist/components/overlay/Dropdown/Dropdown.js +42 -36
- package/dist/components/overlay/Popover/Popover.cjs +1 -1
- package/dist/components/overlay/Popover/Popover.js +1 -1
- 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
|
@@ -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;
|
|
@@ -15,6 +15,8 @@ var x = o.createContext({
|
|
|
15
15
|
close: () => {},
|
|
16
16
|
menuId: "",
|
|
17
17
|
triggerId: "",
|
|
18
|
+
setTriggerIdOverride: () => {},
|
|
19
|
+
setMenuIdOverride: () => {},
|
|
18
20
|
focusedIndex: -1,
|
|
19
21
|
setFocusedIndex: () => {},
|
|
20
22
|
registerItem: () => 0,
|
|
@@ -43,10 +45,10 @@ var x = o.createContext({
|
|
|
43
45
|
let R = () => {
|
|
44
46
|
let e = M.current;
|
|
45
47
|
return M.current += 1, e;
|
|
46
|
-
}, z = u(), B = `wim-dropdown-menu-${z}`,
|
|
48
|
+
}, z = u(), [B, V] = f(void 0), [H, U] = f(void 0), W = H ?? `wim-dropdown-menu-${z}`, G = B ?? `wim-dropdown-trigger-${z}`, K = () => {
|
|
47
49
|
let e = !D;
|
|
48
50
|
O(e), A(e ? 0 : -1);
|
|
49
|
-
},
|
|
51
|
+
}, q = c(() => {
|
|
50
52
|
let e = F.floating.current, t = !!e && e.contains(document.activeElement);
|
|
51
53
|
O(!1), A(-1), t && F.reference.current?.focus?.({ preventScroll: !0 });
|
|
52
54
|
}, [
|
|
@@ -57,9 +59,9 @@ var x = o.createContext({
|
|
|
57
59
|
l(() => {
|
|
58
60
|
let e = (e) => {
|
|
59
61
|
let t = e.target, n = F.floating.current?.contains(t) ?? !1;
|
|
60
|
-
j.current && !j.current.contains(t) && !n &&
|
|
62
|
+
j.current && !j.current.contains(t) && !n && q();
|
|
61
63
|
}, t = (e) => {
|
|
62
|
-
e.key === "Escape" &&
|
|
64
|
+
e.key === "Escape" && q();
|
|
63
65
|
};
|
|
64
66
|
return D && (document.addEventListener("mousedown", e), document.addEventListener("keydown", t)), () => {
|
|
65
67
|
document.removeEventListener("mousedown", e), document.removeEventListener("keydown", t);
|
|
@@ -67,9 +69,9 @@ var x = o.createContext({
|
|
|
67
69
|
}, [
|
|
68
70
|
D,
|
|
69
71
|
F.floating,
|
|
70
|
-
|
|
72
|
+
q
|
|
71
73
|
]);
|
|
72
|
-
let
|
|
74
|
+
let J = (e) => {
|
|
73
75
|
if (!D) return;
|
|
74
76
|
let t = Array.from((F.floating.current ?? j.current)?.querySelectorAll("[role=\"menuitem\"]:not([aria-disabled=\"true\"])") || []);
|
|
75
77
|
switch (e.key) {
|
|
@@ -85,7 +87,7 @@ var x = o.createContext({
|
|
|
85
87
|
case "End":
|
|
86
88
|
e.preventDefault(), A(t.length - 1);
|
|
87
89
|
break;
|
|
88
|
-
case "Tab":
|
|
90
|
+
case "Tab": q();
|
|
89
91
|
}
|
|
90
92
|
};
|
|
91
93
|
l(() => {
|
|
@@ -95,14 +97,16 @@ var x = o.createContext({
|
|
|
95
97
|
D,
|
|
96
98
|
F.floating
|
|
97
99
|
]);
|
|
98
|
-
let
|
|
100
|
+
let Y = o ? e : "div";
|
|
99
101
|
return /* @__PURE__ */ m(x.Provider, {
|
|
100
102
|
value: {
|
|
101
103
|
isOpen: D,
|
|
102
|
-
toggle:
|
|
103
|
-
close:
|
|
104
|
-
menuId:
|
|
105
|
-
triggerId:
|
|
104
|
+
toggle: K,
|
|
105
|
+
close: q,
|
|
106
|
+
menuId: W,
|
|
107
|
+
triggerId: G,
|
|
108
|
+
setTriggerIdOverride: V,
|
|
109
|
+
setMenuIdOverride: U,
|
|
106
110
|
focusedIndex: k,
|
|
107
111
|
setFocusedIndex: A,
|
|
108
112
|
registerItem: R,
|
|
@@ -113,56 +117,58 @@ var x = o.createContext({
|
|
|
113
117
|
floatingRef: F.floating,
|
|
114
118
|
setAlign: P
|
|
115
119
|
},
|
|
116
|
-
children: /* @__PURE__ */ m(
|
|
120
|
+
children: /* @__PURE__ */ m(Y, {
|
|
117
121
|
...C,
|
|
118
122
|
role: "none",
|
|
119
123
|
className: p("wim-dropdown", a.root, r),
|
|
120
124
|
ref: L,
|
|
121
|
-
onKeyDown:
|
|
125
|
+
onKeyDown: J,
|
|
122
126
|
children: /* @__PURE__ */ m(t, { children: n })
|
|
123
127
|
})
|
|
124
128
|
});
|
|
125
129
|
});
|
|
126
130
|
S.displayName = "Dropdown";
|
|
127
|
-
var C = s(({ children: n, className: r, asChild: s = !1,
|
|
128
|
-
let { toggle:
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
131
|
+
var C = s(({ children: n, className: r, asChild: s = !1, id: c, ...u }, d) => {
|
|
132
|
+
let { toggle: f, isOpen: h, menuId: g, triggerId: _, setTriggerIdOverride: v, setReference: y } = o.useContext(x);
|
|
133
|
+
l(() => (v(c), () => v(void 0)), [c, v]);
|
|
134
|
+
let b = s ? e : "div", S = i(y, d);
|
|
135
|
+
return /* @__PURE__ */ m(b, {
|
|
136
|
+
...u,
|
|
137
|
+
ref: S,
|
|
138
|
+
id: c ?? _,
|
|
133
139
|
className: p(a.trigger, r),
|
|
134
|
-
onClick:
|
|
140
|
+
onClick: f,
|
|
135
141
|
"aria-haspopup": "menu",
|
|
136
|
-
"aria-expanded":
|
|
137
|
-
"aria-controls":
|
|
142
|
+
"aria-expanded": h,
|
|
143
|
+
"aria-controls": h ? g : void 0,
|
|
138
144
|
role: "button",
|
|
139
145
|
tabIndex: 0,
|
|
140
146
|
onKeyDown: (e) => {
|
|
141
|
-
(e.key === "Enter" || e.key === " " || e.key === "ArrowDown" && !
|
|
147
|
+
(e.key === "Enter" || e.key === " " || e.key === "ArrowDown" && !h) && (e.preventDefault(), f());
|
|
142
148
|
},
|
|
143
149
|
children: /* @__PURE__ */ m(t, { children: n })
|
|
144
150
|
});
|
|
145
151
|
});
|
|
146
152
|
C.displayName = "Dropdown.Trigger";
|
|
147
|
-
var w = s(({ children: e, className: t, align: r = "left", show: s, style: c,
|
|
148
|
-
let { isOpen:
|
|
149
|
-
l(() => {
|
|
150
|
-
|
|
151
|
-
}, [r,
|
|
152
|
-
let
|
|
153
|
+
var w = s(({ children: e, className: t, align: r = "left", show: s, style: c, id: u, "aria-labelledby": d, ...f }, g) => {
|
|
154
|
+
let { isOpen: _, menuId: v, triggerId: y, setMenuIdOverride: b, setFloating: S, floatingStyles: C, setAlign: w } = o.useContext(x);
|
|
155
|
+
l(() => (b(u), () => b(void 0)), [u, b]), l(() => {
|
|
156
|
+
w(r);
|
|
157
|
+
}, [r, w]);
|
|
158
|
+
let T = i(S, g);
|
|
153
159
|
return /* @__PURE__ */ m(h, { children: /* @__PURE__ */ m(n, {
|
|
154
|
-
...
|
|
155
|
-
ref:
|
|
156
|
-
show: s === void 0 ?
|
|
160
|
+
...f,
|
|
161
|
+
ref: T,
|
|
162
|
+
show: s === void 0 ? _ : s,
|
|
157
163
|
preset: "fade",
|
|
158
|
-
id:
|
|
164
|
+
id: u ?? v,
|
|
159
165
|
style: {
|
|
160
|
-
...
|
|
166
|
+
...C,
|
|
161
167
|
...c
|
|
162
168
|
},
|
|
163
169
|
className: p(a.menu, t),
|
|
164
170
|
role: "menu",
|
|
165
|
-
"aria-labelledby":
|
|
171
|
+
"aria-labelledby": d ?? y,
|
|
166
172
|
children: e
|
|
167
173
|
}) });
|
|
168
174
|
});
|
|
@@ -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("../../layout/Transition/Transition.cjs"),i=require("../../../icon/close.cjs"),a=require("../../media/Icon/Icon.cjs"),o=require("./popover.module.cjs"),s=require("../../_internal/useFloatingElement.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("@floating-ui/react");var f=c.default.createContext(null),p=({children:e,className:t,defaultOpen:n=!1,open:r,onOpenChange:i,placement:a=`bottom-start`,variant:d=`default`})=>{let{isOpen:p,setOpen:m,refs:h,floatingStyles:g,context:_,getReferenceProps:v,getFloatingProps:y}=s.useFloatingElement({placement:a,open:r,defaultOpen:n,onOpenChange:i,trigger:`click`}),b=()=>m(!1),x=c.default.useId(),[S,C]=c.default.useState(`wim-popover-trigger-${x}`);return(0,u.jsx)(f.Provider,{value:{open:p,onOpenChange:m,refs:h,floatingStyles:g,context:_,getReferenceProps:v,getFloatingProps:y,close:b,variant:d,triggerId:S,setTriggerId:C},children:(0,u.jsx)(`div`,{className:(0,l.default)(`wim-popover`,o.default.root,t),children:e})})},m=c.default.forwardRef(({children:e,className:t,asChild:n,...r},i)=>{let a=c.default.useContext(f);if(a==null)throw Error(`Popover components must be wrapped in <Popover />`);let s=e.ref,p=(0,d.useMergeRefs)([a.refs.setReference,i,s??null]),m=n&&c.default.isValidElement(e)?e.props.id:void 0,h=r.id??m??a.triggerId,{setTriggerId:g}=a;if(c.default.useLayoutEffect(()=>{g(h)},[h,g]),n&&c.default.isValidElement(e)){let n=e.props,i=a.getReferenceProps({ref:p,...r,...n,id:h,className:(0,l.default)(t,n.className)});return c.default.cloneElement(e,{...i,"data-state":a.open?`open`:`closed`})}return(0,u.jsx)(`button`,{ref:p,type:`button`,className:(0,l.default)(o.default.trigger,t),"data-state":a.open?`open`:`closed`,...a.getReferenceProps({...r,id:h}),children:e})});m.displayName=`PopoverTrigger`;var h=c.default.forwardRef(({children:e,className:t,align:n,side:i,style:a,modal:s=!1,...p},m)=>{let h=c.default.useContext(f);if(h==null)throw Error(`Popover components must be wrapped in <Popover />`);let{open:g,refs:_,floatingStyles:v,getFloatingProps:y,context:b,triggerId:x}=h,S=p[`aria-label`]!=null||p[`aria-labelledby`]!=null?p[`aria-labelledby`]:x,C=(0,d.useMergeRefs)([_.setFloating,m]);return(0,u.jsx)(d.FloatingPortal,{children:(0,u.jsx)(r.Transition,{show:g,preset:`fade`,children:(0,u.jsx)(d.FloatingFocusManager,{context:b,modal:s,children:(0,u.jsx)(`div`,{ref:C,style:{...v,...a},className:(0,l.default)(o.default.content,o.default[h.variant],t),role:`dialog`,...y(p),"aria-labelledby":S,children:e})})})})});h.displayName=`PopoverContent`;var g=({children:e,className:r,asChild:s,ariaLabel:d,...p})=>{let{t:m}=t.useWimTranslation(n.commonNs),h=d??m(`a11y.close`),g=c.default.useContext(f);if(!g)return null;let{close:_}=g,v=e=>{_(),p.onClick?.(e)};return s&&c.default.isValidElement(e)?c.default.cloneElement(e,{onClick:t=>{e.props.onClick?.(t),v(t)},className:(0,l.default)(r,e.props.className)}):(0,u.jsx)(`button`,{type:`button`,className:(0,l.default)(o.default.close,r),
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../i18n/generated/common.cjs"),r=require("../../layout/Transition/Transition.cjs"),i=require("../../../icon/close.cjs"),a=require("../../media/Icon/Icon.cjs"),o=require("./popover.module.cjs"),s=require("../../_internal/useFloatingElement.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("@floating-ui/react");var f=c.default.createContext(null),p=({children:e,className:t,defaultOpen:n=!1,open:r,onOpenChange:i,placement:a=`bottom-start`,variant:d=`default`})=>{let{isOpen:p,setOpen:m,refs:h,floatingStyles:g,context:_,getReferenceProps:v,getFloatingProps:y}=s.useFloatingElement({placement:a,open:r,defaultOpen:n,onOpenChange:i,trigger:`click`}),b=()=>m(!1),x=c.default.useId(),[S,C]=c.default.useState(`wim-popover-trigger-${x}`);return(0,u.jsx)(f.Provider,{value:{open:p,onOpenChange:m,refs:h,floatingStyles:g,context:_,getReferenceProps:v,getFloatingProps:y,close:b,variant:d,triggerId:S,setTriggerId:C},children:(0,u.jsx)(`div`,{className:(0,l.default)(`wim-popover`,o.default.root,t),children:e})})},m=c.default.forwardRef(({children:e,className:t,asChild:n,...r},i)=>{let a=c.default.useContext(f);if(a==null)throw Error(`Popover components must be wrapped in <Popover />`);let s=e.ref,p=(0,d.useMergeRefs)([a.refs.setReference,i,s??null]),m=n&&c.default.isValidElement(e)?e.props.id:void 0,h=r.id??m??a.triggerId,{setTriggerId:g}=a;if(c.default.useLayoutEffect(()=>{g(h)},[h,g]),n&&c.default.isValidElement(e)){let n=e.props,i=a.getReferenceProps({ref:p,...r,...n,id:h,className:(0,l.default)(t,n.className)});return c.default.cloneElement(e,{...i,"data-state":a.open?`open`:`closed`})}return(0,u.jsx)(`button`,{ref:p,type:`button`,className:(0,l.default)(o.default.trigger,t),"data-state":a.open?`open`:`closed`,...a.getReferenceProps({...r,id:h}),children:e})});m.displayName=`PopoverTrigger`;var h=c.default.forwardRef(({children:e,className:t,align:n,side:i,style:a,modal:s=!1,...p},m)=>{let h=c.default.useContext(f);if(h==null)throw Error(`Popover components must be wrapped in <Popover />`);let{open:g,refs:_,floatingStyles:v,getFloatingProps:y,context:b,triggerId:x}=h,S=p[`aria-label`]!=null||p[`aria-labelledby`]!=null?p[`aria-labelledby`]:x,C=(0,d.useMergeRefs)([_.setFloating,m]);return(0,u.jsx)(d.FloatingPortal,{children:(0,u.jsx)(r.Transition,{show:g,preset:`fade`,children:(0,u.jsx)(d.FloatingFocusManager,{context:b,modal:s,children:(0,u.jsx)(`div`,{ref:C,style:{...v,...a},className:(0,l.default)(o.default.content,o.default[h.variant],t),role:`dialog`,...y(p),"aria-labelledby":S,children:e})})})})});h.displayName=`PopoverContent`;var g=({children:e,className:r,asChild:s,ariaLabel:d,...p})=>{let{t:m}=t.useWimTranslation(n.commonNs),h=d??m(`a11y.close`),g=c.default.useContext(f);if(!g)return null;let{close:_}=g,v=e=>{_(),p.onClick?.(e)};return s&&c.default.isValidElement(e)?c.default.cloneElement(e,{onClick:t=>{e.props.onClick?.(t),v(t)},className:(0,l.default)(r,e.props.className)}):(0,u.jsx)(`button`,{type:`button`,className:(0,l.default)(o.default.close,r),"aria-label":h,...p,onClick:v,children:e||(0,u.jsx)(a.Icon,{component:i.default,size:`sm`})})};exports.Popover=p,exports.PopoverClose=g,exports.PopoverContent=h,exports.PopoverTrigger=m;
|
|
@@ -114,9 +114,9 @@ var _ = ({ children: n, className: o, asChild: u, ariaLabel: d, ...f }) => {
|
|
|
114
114
|
}) : /* @__PURE__ */ l("button", {
|
|
115
115
|
type: "button",
|
|
116
116
|
className: c(a.close, o),
|
|
117
|
-
onClick: v,
|
|
118
117
|
"aria-label": h,
|
|
119
118
|
...f,
|
|
119
|
+
onClick: v,
|
|
120
120
|
children: n || /* @__PURE__ */ l(i, {
|
|
121
121
|
component: r,
|
|
122
122
|
size: "sm"
|
package/dist/llms-full.txt
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## What this is
|
|
6
6
|
|
|
7
|
-
**wimui** v0.
|
|
7
|
+
**wimui** v0.63.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).
|
|
8
8
|
|
|
9
9
|
## Install & required setup
|
|
10
10
|
|
|
@@ -938,7 +938,7 @@ Useful for using the button styles with Link components (e.g. from React Router
|
|
|
938
938
|
- `size: Extract<ComponentSize, "sm" | "md" | "lg">` = "md" — Size of the button
|
|
939
939
|
- `variant: "solid" | "outline" | "ghost"` = "outline" — Visual style variant of the button
|
|
940
940
|
- `intent: ButtonIntent` = "default" — Design intent of the button (visual / semantic state). Unrelated to the ARIA role attribute.
|
|
941
|
-
- `icon: React.ComponentProps<typeof Icon>["name"] | React.ReactNode` — Icon name or custom icon element
|
|
941
|
+
- `icon: React.ComponentProps<typeof Icon>["name"] | React.ReactNode` — Icon name or custom icon element. An icon-only button (no children) needs `aria-label` or `aria-labelledby`: the icon name is not used as the accessible name.
|
|
942
942
|
- `iconPosition: "left" | "right"` = "left" — Position of the icon relative to the label
|
|
943
943
|
- `loading: boolean` = false — Whether to show a loading indicator and disable interaction
|
|
944
944
|
- `justify: "start" | "center" | "end" | "between"` = "center" — Horizontal alignment of the button content
|
|
@@ -1263,7 +1263,7 @@ text to take a name from, and the icon name is not used as one.
|
|
|
1263
1263
|
- `size: Extract<ComponentSize, "sm" | "md" | "lg">` = "md" — Size of the button
|
|
1264
1264
|
- `variant: "solid" | "outline" | "ghost"` = "outline" — Visual style variant of the button
|
|
1265
1265
|
- `intent: ButtonIntent` = "default" — Design intent of the button (visual / semantic state). Unrelated to the ARIA role attribute.
|
|
1266
|
-
- `icon: React.ComponentProps<typeof Icon>["name"] | React.ReactNode` — Icon name or custom icon element
|
|
1266
|
+
- `icon: React.ComponentProps<typeof Icon>["name"] | React.ReactNode` — Icon name or custom icon element. An icon-only button (no children) needs `aria-label` or `aria-labelledby`: the icon name is not used as the accessible name.
|
|
1267
1267
|
- `loading: boolean` = false — Whether to show a loading indicator and disable interaction
|
|
1268
1268
|
- `justify: "start" | "center" | "end" | "between"` = "center" — Horizontal alignment of the button content
|
|
1269
1269
|
- `animateWidth: boolean` = false — Whether to animate the width change when label changes
|
package/dist/llms.txt
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## What this is
|
|
6
6
|
|
|
7
|
-
**wimui** v0.
|
|
7
|
+
**wimui** v0.63.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).
|
|
8
8
|
|
|
9
9
|
## Install & required setup
|
|
10
10
|
|