wimui 0.62.0 → 0.62.2
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/feedback/ScrollProgress/ScrollProgress.cjs +1 -1
- package/dist/components/feedback/ScrollProgress/ScrollProgress.js +8 -2
- package/dist/components/media/Gallery/Gallery.cjs +1 -1
- package/dist/components/media/Gallery/Gallery.js +49 -49
- package/dist/llms-full.txt +1 -1
- package/dist/llms.txt +1 -1
- package/dist/wimui.umd.js +2 -2
- package/package.json +3 -3
|
@@ -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("./scrollprogress.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=({intent:e=`primary`,target:s,className:c,"aria-label":l,...u})=>{let{t:d}=t.useWimTranslation(n.commonNs),[f,p]=(0,i.useState)(0);return(0,i.useEffect)(()=>{let e=()=>{let e=0;if(s&&s.current){let t=s.current,n=t.scrollHeight-t.clientHeight;n>0&&(e=t.scrollTop/n*100)}else{let t=document.documentElement.scrollHeight-window.innerHeight;t>0&&(e=window.scrollY/t*100)}p(e)},t=s&&s.current?s.current:window;
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../i18n/generated/common.cjs"),r=require("./scrollprogress.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=({intent:e=`primary`,target:s,className:c,"aria-label":l,...u})=>{let{t:d}=t.useWimTranslation(n.commonNs),[f,p]=(0,i.useState)(0);return(0,i.useEffect)(()=>{let e=()=>{let e=0;if(s&&s.current){let t=s.current,n=t.scrollHeight-t.clientHeight;n>0&&(e=t.scrollTop/n*100)}else{let t=document.documentElement.scrollHeight-window.innerHeight;t>0&&(e=window.scrollY/t*100)}p(e)},t=s&&s.current?s.current:window;t.addEventListener(`scroll`,e),e(),window.addEventListener(`resize`,e);let n=s&&s.current?s.current:document.body,r=typeof ResizeObserver<`u`?new ResizeObserver(e):null,i=()=>{r?.disconnect(),r?.observe(n);for(let e of Array.from(n.children))r?.observe(e);e()},a=typeof MutationObserver<`u`?new MutationObserver(i):null;return a?.observe(n,{childList:!0}),i(),()=>{t.removeEventListener(`scroll`,e),window.removeEventListener(`resize`,e),r?.disconnect(),a?.disconnect()}},[s]),(0,o.jsx)(`div`,{className:(0,a.default)(`wim-scroll-progress`,r.default.root,r.default[e],c),role:`progressbar`,"aria-valuenow":Math.round(f),"aria-valuemin":0,"aria-valuemax":100,"aria-label":l??d(`a11y.scroll_progress`),...u,children:(0,o.jsx)(`div`,{className:r.default.bar,style:{width:`${f}%`}})})};exports.ScrollProgress=s;
|
|
@@ -20,8 +20,14 @@ var s = ({ intent: s = "primary", target: c, className: l, "aria-label": u, ...d
|
|
|
20
20
|
}
|
|
21
21
|
m(e);
|
|
22
22
|
}, t = c && c.current ? c.current : window;
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
t.addEventListener("scroll", e), e(), window.addEventListener("resize", e);
|
|
24
|
+
let n = c && c.current ? c.current : document.body, r = typeof ResizeObserver < "u" ? new ResizeObserver(e) : null, i = () => {
|
|
25
|
+
r?.disconnect(), r?.observe(n);
|
|
26
|
+
for (let e of Array.from(n.children)) r?.observe(e);
|
|
27
|
+
e();
|
|
28
|
+
}, a = typeof MutationObserver < "u" ? new MutationObserver(i) : null;
|
|
29
|
+
return a?.observe(n, { childList: !0 }), i(), () => {
|
|
30
|
+
t.removeEventListener("scroll", e), window.removeEventListener("resize", e), r?.disconnect(), a?.disconnect();
|
|
25
31
|
};
|
|
26
32
|
}, [c]), /* @__PURE__ */ o("div", {
|
|
27
33
|
className: a("wim-scroll-progress", n.root, n[s], l),
|
|
@@ -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/components.cjs"),r=require("../../../icon/close.cjs"),i=require("../Icon/Icon.cjs"),a=require("../../form/Button/Button.cjs"),o=require("../../form/Checkbox/Checkbox.cjs"),s=require("./gallery.module.cjs");let c=require("react");c=e.__toESM(c,1);let l=require("classnames");l=e.__toESM(l,1);let u=require("react/jsx-runtime");var d=(0,c.createContext)(null),f=()=>{let e=(0,c.useContext)(d);if(!e)throw Error(`Gallery subcomponents must be used within Gallery`);return e},p=c.default.forwardRef(({items:e,columns:o=3,gap:f=`md`,aspect:p=`square`,selectable:h=!1,selected:g,defaultSelected:_=[],onSelectionChange:v,onItemClick:y,renderActions:b,className:x,style:S,...C},w)=>{let{t:T}=t.useWimTranslation(n.componentsNs),E=g!==void 0,[D,O]=(0,c.useState)(()=>new Set(_)),
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../i18n/generated/components.cjs"),r=require("../../../icon/close.cjs"),i=require("../Icon/Icon.cjs"),a=require("../../form/Button/Button.cjs"),o=require("../../form/Checkbox/Checkbox.cjs"),s=require("./gallery.module.cjs");let c=require("react");c=e.__toESM(c,1);let l=require("classnames");l=e.__toESM(l,1);let u=require("react/jsx-runtime");var d=(0,c.createContext)(null),f=()=>{let e=(0,c.useContext)(d);if(!e)throw Error(`Gallery subcomponents must be used within Gallery`);return e},p=c.default.forwardRef(({items:e,columns:o=3,gap:f=`md`,aspect:p=`square`,selectable:h=!1,selected:g,defaultSelected:_=[],onSelectionChange:v,onItemClick:y,renderActions:b,className:x,style:S,...C},w)=>{let{t:T}=t.useWimTranslation(n.componentsNs),E=g!==void 0,[D,O]=(0,c.useState)(()=>new Set(_)),k=Math.max(1,Math.floor(o)||1),[A,j]=(0,c.useState)(0),M=(0,c.useRef)(null),N=(0,c.useRef)(null),[P,F]=(0,c.useState)(k),I=(0,c.useCallback)(e=>{N.current=e,typeof w==`function`?w(e):w&&(w.current=e)},[w]);(0,c.useEffect)(()=>{let e=N.current;if(!e)return;let t=new ResizeObserver(e=>{let t=e[0].contentRect.width;F(t<480?1:t<576?2:k)});return t.observe(e),()=>t.disconnect()},[k]);let L=(0,c.useMemo)(()=>E?new Set(g):D,[E,g,D]),R=(0,c.useCallback)(e=>{E||O(e),v?.(Array.from(e))},[E,v]),z=(0,c.useCallback)((t,n,r)=>{let i=new Set(L);if(r&&M.current!==null){let r=Math.min(M.current,n),a=Math.max(M.current,n),o=!L.has(t);for(let t=r;t<=a;t++)o?i.add(e[t].id):i.delete(e[t].id)}else i.has(t)?i.delete(t):i.add(t),M.current=n;R(i)},[L,e,R]),B=(0,c.useCallback)(()=>{R(new Set(e.map(e=>e.id)))},[e,R]),V=(0,c.useCallback)(()=>{R(new Set)},[R]),H=(0,c.useMemo)(()=>{let t=[];for(let n=0;n<e.length;n+=P)t.push({rowItems:e.slice(n,n+P),startIndex:n});return t},[e,P]),U=Array.from(L),W=U.length>0,G={"--gallery-columns":P,...S},K=t=>{let n=P,r=e.length,i=A;switch(t.key){case`ArrowRight`:t.preventDefault(),i=Math.min(A+1,r-1);break;case`ArrowLeft`:t.preventDefault(),i=Math.max(A-1,0);break;case`ArrowDown`:t.preventDefault(),i=Math.min(A+n,r-1);break;case`ArrowUp`:t.preventDefault(),i=Math.max(A-n,0);break;case`Home`:t.preventDefault(),i=0;break;case`End`:t.preventDefault(),i=r-1;break;case`Escape`:h&&(t.preventDefault(),V());break;case`a`:case`A`:h&&(t.ctrlKey||t.metaKey)&&(t.preventDefault(),B());break;default:return}i!==A&&(j(i),t.currentTarget.querySelectorAll(`[data-gallery-item]`)[i]?.focus())};return(0,u.jsx)(d.Provider,{value:{selectable:h,selectedIds:L,lastClickedIndex:M,items:e,toggleSelect:z,focusedIndex:A,setFocusedIndex:j,selectAll:B,clearSelection:V,onItemClick:y},children:(0,u.jsxs)(`div`,{ref:I,className:(0,l.default)(`wim-gallery`,s.default.root,x),...C,children:[h&&W&&(0,u.jsxs)(`div`,{className:s.default.toolbar,role:`toolbar`,"aria-label":T(`gallery.toolbar_label`),children:[(0,u.jsx)(`span`,{className:s.default.toolbarCount,children:T(`gallery.selected_count`,{count:U.length})}),(0,u.jsxs)(`div`,{className:s.default.toolbarActions,children:[b?.({selectedIds:U,clearSelection:V}),(0,u.jsx)(a.Button,{size:`sm`,variant:`ghost`,className:s.default.toolbarClear,onClick:V,"aria-label":T(`gallery.clear_selection`),icon:(0,u.jsx)(i.Icon,{component:r.default,size:`sm`})})]})]}),(0,u.jsx)(`div`,{className:(0,l.default)(s.default.grid,s.default[`gap-${f}`],s.default[`aspect-${p}`]),style:G,role:`grid`,"aria-multiselectable":h||void 0,"aria-label":T(`gallery.grid_label`),onKeyDown:K,tabIndex:0,children:H.map(({rowItems:e,startIndex:t},n)=>(0,u.jsx)(`div`,{role:`row`,style:{display:`contents`},children:e.map((e,n)=>(0,u.jsx)(m,{item:e,index:t+n},e.id))},n))})]})})});p.displayName=`Gallery`;var m=({item:e,index:r})=>{let{selectable:i,selectedIds:a,toggleSelect:c,focusedIndex:d,setFocusedIndex:p,onItemClick:m}=f(),{t:h}=t.useWimTranslation(n.componentsNs),g=a.has(e.id),_=d===r,v=()=>{m?.(e,r),p(r)},y=t=>{t.stopPropagation(),c(e.id,r,t.shiftKey)},b=t=>{(t.key===` `||t.key===`Enter`)&&(t.preventDefault(),i&&t.key===` `?c(e.id,r,t.shiftKey):m?.(e,r))};return(0,u.jsxs)(`div`,{className:(0,l.default)(s.default.item,{[s.default.selected]:g}),role:`gridcell`,"aria-selected":i?g:void 0,tabIndex:_?0:-1,onClick:v,onKeyDown:b,onFocus:()=>p(r),"data-gallery-item":!0,children:[(0,u.jsxs)(`div`,{className:s.default.imageWrapper,children:[(0,u.jsx)(`img`,{src:e.src,alt:e.alt??e.title??``,className:s.default.image,draggable:!1}),i&&(0,u.jsx)(`div`,{className:s.default.checkboxOverlay,children:(0,u.jsx)(o.Checkbox,{checked:g,onChange:()=>{},onClick:y,"aria-label":h(g?`gallery.deselect_item`:`gallery.select_item`,{title:e.title??e.alt??String(r+1)}),tabIndex:-1,className:s.default.checkbox})}),g&&(0,u.jsx)(`div`,{className:s.default.selectedRing,"aria-hidden":!0})]}),(e.title||e.caption)&&(0,u.jsxs)(`div`,{className:s.default.caption,children:[e.title&&(0,u.jsx)(`span`,{className:s.default.captionTitle,children:e.title}),e.caption&&(0,u.jsx)(`span`,{className:s.default.captionText,children:e.caption})]})]})};exports.Gallery=p;
|
|
@@ -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, {
|
package/dist/llms-full.txt
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## What this is
|
|
6
6
|
|
|
7
|
-
**wimui** v0.62.
|
|
7
|
+
**wimui** v0.62.2 — 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
|
|
package/dist/llms.txt
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## What this is
|
|
6
6
|
|
|
7
|
-
**wimui** v0.62.
|
|
7
|
+
**wimui** v0.62.2 — 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
|
|