wimui 0.52.9 → 0.53.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/ai/ThoughtProcess/thought-process.module.cjs +1 -1
- package/dist/components/ai/ThoughtProcess/thought-process.module.js +4 -4
- package/dist/components/data-display/Kanban/Kanban.cjs +1 -1
- package/dist/components/data-display/Kanban/Kanban.js +22 -17
- package/dist/components/data-display/Leaderboard/Leaderboard.cjs +1 -1
- package/dist/components/data-display/Leaderboard/Leaderboard.d.ts +5 -1
- package/dist/components/data-display/Leaderboard/Leaderboard.js +7 -7
- package/dist/components/feedback/Result/Result.cjs +1 -1
- package/dist/components/feedback/Result/Result.d.ts +1 -1
- package/dist/components/feedback/Result/Result.js +28 -33
- package/dist/components/navigation/Anchor/Anchor.cjs +1 -1
- package/dist/components/navigation/Anchor/Anchor.js +1 -0
- package/dist/llms-full.txt +11 -10
- package/dist/llms.txt +9 -9
- package/dist/locales/en/components.json +1 -1
- package/dist/locales/ja/components.json +1 -1
- package/dist/locales/pt/components.json +1 -1
- package/dist/styles.css +1 -1
- package/dist/wimui.umd.css +1 -1
- package/dist/wimui.umd.js +5 -5
- package/package.json +4 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
var e=`
|
|
2
|
+
var e=`_root_124ez_3`,t=`_thinking_124ez_22`,n=`_header_124ez_40`,r=`_chevron_124ez_75`,i=`_expanded_124ez_80`,a=`_title_124ez_83`,o=`_bodyWrapper_124ez_88`,s=`_open_124ez_93`,c=`_body_124ez_88`,l=`_item_124ez_118`,u=`_content_124ez_121`,d=`_label_124ez_124`,f=`_text_124ez_133`,p=`_connector_124ez_138`,m=`_spinner_124ez_141`,h=`_pending_124ez_160`,g=`_error_124ez_163`,_=`_streaming_124ez_169`,v={root:e,thinking:t,"thought-pulse":`_thought-pulse_124ez_1`,header:n,chevron:r,expanded:i,title:a,bodyWrapper:o,open:s,body:c,item:l,content:u,label:d,text:f,connector:p,spinner:m,"thought-spin":`_thought-spin_124ez_1`,pending:h,error:g,streaming:_,"cursor-blink":`_cursor-blink_124ez_1`};exports.body=c,exports.bodyWrapper=o,exports.chevron=r,exports.connector=p,exports.content=u,exports.default=v,exports.error=g,exports.expanded=i,exports.header=n,exports.item=l,exports.label=d,exports.open=s,exports.pending=h,exports.root=e,exports.spinner=m,exports.streaming=_,exports.text=f,exports.thinking=t,exports.title=a;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
//#region src/components/ai/ThoughtProcess/thought-process.module.scss
|
|
3
|
-
var e = "
|
|
3
|
+
var e = "_root_124ez_3", t = "_thinking_124ez_22", n = "_header_124ez_40", r = "_chevron_124ez_75", i = "_expanded_124ez_80", a = "_title_124ez_83", o = "_bodyWrapper_124ez_88", s = "_open_124ez_93", c = "_body_124ez_88", l = "_item_124ez_118", u = "_content_124ez_121", d = "_label_124ez_124", f = "_text_124ez_133", p = "_connector_124ez_138", m = "_spinner_124ez_141", h = "_pending_124ez_160", g = "_error_124ez_163", _ = "_streaming_124ez_169", v = {
|
|
4
4
|
root: e,
|
|
5
5
|
thinking: t,
|
|
6
|
-
"thought-pulse": "_thought-
|
|
6
|
+
"thought-pulse": "_thought-pulse_124ez_1",
|
|
7
7
|
header: n,
|
|
8
8
|
chevron: r,
|
|
9
9
|
expanded: i,
|
|
@@ -17,11 +17,11 @@ var e = "_root_xia4z_4", t = "_thinking_xia4z_23", n = "_header_xia4z_41", r = "
|
|
|
17
17
|
text: f,
|
|
18
18
|
connector: p,
|
|
19
19
|
spinner: m,
|
|
20
|
-
"thought-spin": "_thought-
|
|
20
|
+
"thought-spin": "_thought-spin_124ez_1",
|
|
21
21
|
pending: h,
|
|
22
22
|
error: g,
|
|
23
23
|
streaming: _,
|
|
24
|
-
"cursor-blink": "_cursor-
|
|
24
|
+
"cursor-blink": "_cursor-blink_124ez_1"
|
|
25
25
|
};
|
|
26
26
|
//#endregion
|
|
27
27
|
export { c as body, o as bodyWrapper, r as chevron, p as connector, u as content, v as default, g as error, i as expanded, n as header, l as item, d as label, s as open, h as pending, e as root, m as spinner, _ as streaming, f as text, t as thinking, a as title };
|
|
@@ -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("../../../i18n/useWimTranslation.cjs"),r=require("../../../i18n/generated/common.cjs"),i=require("../../layout/VisuallyHidden/VisuallyHidden.cjs"),a=require("../../../icon/more-horizontal.cjs"),o=require("../../media/Icon/Icon.cjs"),s=require("./kanban.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.forwardRef)(({columns:e,onMove:i,onCardMove:a,className:o,forceMobileUI:d=!1,children:p,asChild:m=!1,...g},
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../../i18n/useWimTranslation.cjs"),r=require("../../../i18n/generated/common.cjs"),i=require("../../layout/VisuallyHidden/VisuallyHidden.cjs"),a=require("../../../icon/more-horizontal.cjs"),o=require("../../media/Icon/Icon.cjs"),s=require("./kanban.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.forwardRef)(({columns:e,onMove:i,onCardMove:a,className:o,forceMobileUI:d=!1,children:p,asChild:m=!1,...g},_)=>{let{t:y}=n.useWimTranslation(r.commonNs),[b,x]=(0,c.useState)(null),[S,C]=(0,c.useState)(null),[w,T]=(0,c.useState)(null),E=i||a,D=(e,t,n)=>{x({itemId:t,columnId:n}),e.dataTransfer.setData(`text/plain`,`${n}:${t}`),e.dataTransfer.effectAllowed=`move`},O=(e,t)=>{e.preventDefault(),C(t)},k=(e,t)=>{e.preventDefault(),C(null);let[n,r]=e.dataTransfer.getData(`text/plain`).split(`:`);E?.(r,n,t),x(null)},A=(e,t,n)=>{E?.(e,t,n),T(null)},j=c.default.useMemo(()=>{if(e)return e;let t=[];return c.default.Children.forEach(p,e=>{if(c.default.isValidElement(e)){let n=e.props;typeof n.id==`string`&&typeof n.title==`string`&&t.push({id:n.id,title:n.title,items:[]})}}),t},[p,e]),M=()=>p||(e?e.map(e=>(0,u.jsx)(v,{id:e.id,title:e.title,cardCount:e.items.length,children:e.items.map(e=>(0,u.jsx)(h,{id:e.id,children:e.content},e.id))},e.id)):null),N=m?t.Root:`div`;return(0,u.jsx)(f.Provider,{value:{draggedItem:b,dragOverColumn:S,setDragOverColumn:C,handleDragStart:D,handleDragOver:O,handleDrop:k,handleMobileMove:A,activeMobileMenu:w,setActiveMobileMenu:T,columns:j},children:(0,u.jsx)(N,{...g,ref:_,className:(0,l.default)(`wim-kanban`,s.default.root,d&&s.default.touch,o),role:`region`,"aria-label":y(`a11y.kanban_board`),tabIndex:0,children:(0,u.jsx)(t.Slottable,{children:M()})})})}),f=c.default.createContext(null),p=()=>{let e=c.default.useContext(f);if(!e)throw Error(`Kanban compound components must be used within Kanban`);return e},m=({id:e,title:t,cardCount:a,children:o,className:d})=>{let{dragOverColumn:f,handleDragOver:m,handleDrop:g,setDragOverColumn:v}=p(),{t:y}=n.useWimTranslation(r.commonNs),b=c.default.useId(),x=c.default.Children.toArray(o),S=x.length>0&&x.every(e=>c.default.isValidElement(e)&&e.type===h);return(0,u.jsxs)(`div`,{className:(0,l.default)(s.default.column,{[s.default.dragOver]:f===e},d),role:`group`,"aria-labelledby":t?b:void 0,onDragOver:t=>m(t,e),onDrop:t=>g(t,e),onDragLeave:()=>v(null),children:[(0,u.jsxs)(`div`,{className:s.default.columnHeader,children:[(0,u.jsx)(`div`,{id:b,className:s.default.columnTitle,"aria-hidden":`true`,children:t}),a!==void 0&&(0,u.jsxs)(`div`,{className:s.default.columnCount,children:[(0,u.jsx)(`span`,{"aria-hidden":`true`,children:a}),(0,u.jsx)(i.VisuallyHidden,{children:y(`a11y.kanban_column_count`,{count:a})})]})]}),(0,u.jsx)(`div`,{className:s.default.columnBody,role:S?`list`:void 0,children:(0,u.jsx)(_.Provider,{value:S,children:o})})]})},h=({id:e,children:t,disabled:i,className:d})=>{let{t:f}=n.useWimTranslation(r.commonNs),{draggedItem:m,handleDragStart:h,handleMobileMove:v,activeMobileMenu:y,setActiveMobileMenu:b,columns:x}=p(),S=c.default.useContext(g),C=c.default.useContext(_);return(0,u.jsxs)(`div`,{role:C?`listitem`:void 0,className:(0,l.default)(s.default.card,{[s.default.dragging]:m?.itemId===e,[s.default.disabled]:i},d),draggable:!i,onDragStart:t=>S&&h(t,e,S),children:[(0,u.jsx)(`div`,{className:s.default.cardContent,children:t}),(0,u.jsxs)(`div`,{className:s.default.cardMove,children:[(0,u.jsx)(`button`,{type:`button`,className:s.default.cardMoveBtn,onClick:()=>b(y===e?null:e),"aria-label":f(`a11y.move_card`),disabled:i,children:(0,u.jsx)(o.Icon,{component:a.default,size:`sm`})}),y===e&&(0,u.jsx)(`div`,{className:s.default.cardMoveMenu,role:`listbox`,"aria-label":f(`a11y.move_to_column`),children:x.filter(e=>e.id!==S).map(t=>(0,u.jsx)(`button`,{type:`button`,className:s.default.cardMoveOption,onClick:()=>S&&v(e,S,t.id),role:`option`,"aria-selected":!1,children:t.title},t.id))})]})]})},g=c.default.createContext(null),_=c.default.createContext(!1),v=e=>(0,u.jsx)(g.Provider,{value:e.id,children:(0,u.jsx)(m,{...e})}),y=d;y.Column=v,y.Card=h,d.displayName=`Kanban`,y.displayName=`KanbanBoard`,m.displayName=`KanbanColumn`,h.displayName=`KanbanCard`,v.displayName=`KanbanColumnWrapper`,exports.Kanban=d,exports.KanbanBoard=y,exports.default=y,exports.KanbanCard=h,exports.KanbanColumn=m;
|
|
@@ -11,7 +11,7 @@ import d from "classnames";
|
|
|
11
11
|
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
12
12
|
//#region src/components/data-display/Kanban/Kanban.tsx
|
|
13
13
|
var m = l(({ columns: i, onMove: a, onCardMove: o, className: l, forceMobileUI: p = !1, children: m, asChild: g = !1, ..._ }, y) => {
|
|
14
|
-
let { t:
|
|
14
|
+
let { t: b } = n(r), [S, C] = u(null), [w, T] = u(null), [E, D] = u(null), O = a || o, k = (e, t, n) => {
|
|
15
15
|
C({
|
|
16
16
|
itemId: t,
|
|
17
17
|
columnId: n
|
|
@@ -37,7 +37,7 @@ var m = l(({ columns: i, onMove: a, onCardMove: o, className: l, forceMobileUI:
|
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
}), e;
|
|
40
|
-
}, [m, i]), P = () => m || (i ? i.map((e) => /* @__PURE__ */ f(
|
|
40
|
+
}, [m, i]), P = () => m || (i ? i.map((e) => /* @__PURE__ */ f(x, {
|
|
41
41
|
id: e.id,
|
|
42
42
|
title: e.title,
|
|
43
43
|
cardCount: e.items.length,
|
|
@@ -64,7 +64,7 @@ var m = l(({ columns: i, onMove: a, onCardMove: o, className: l, forceMobileUI:
|
|
|
64
64
|
ref: y,
|
|
65
65
|
className: d("wim-kanban", s.root, p && s.touch, l),
|
|
66
66
|
role: "region",
|
|
67
|
-
"aria-label":
|
|
67
|
+
"aria-label": b("a11y.kanban_board"),
|
|
68
68
|
tabIndex: 0,
|
|
69
69
|
children: /* @__PURE__ */ f(t, { children: P() })
|
|
70
70
|
})
|
|
@@ -74,18 +74,18 @@ var m = l(({ columns: i, onMove: a, onCardMove: o, className: l, forceMobileUI:
|
|
|
74
74
|
if (!e) throw Error("Kanban compound components must be used within Kanban");
|
|
75
75
|
return e;
|
|
76
76
|
}, _ = ({ id: e, title: t, cardCount: a, children: o, className: l }) => {
|
|
77
|
-
let { dragOverColumn: u, handleDragOver: m, handleDrop: h, setDragOverColumn: _ } = g(), { t:
|
|
77
|
+
let { dragOverColumn: u, handleDragOver: m, handleDrop: h, setDragOverColumn: _ } = g(), { t: y } = n(r), x = c.useId(), S = c.Children.toArray(o), C = S.length > 0 && S.every((e) => c.isValidElement(e) && e.type === v);
|
|
78
78
|
return /* @__PURE__ */ p("div", {
|
|
79
79
|
className: d(s.column, { [s.dragOver]: u === e }, l),
|
|
80
80
|
role: "group",
|
|
81
|
-
"aria-labelledby": t ?
|
|
81
|
+
"aria-labelledby": t ? x : void 0,
|
|
82
82
|
onDragOver: (t) => m(t, e),
|
|
83
83
|
onDrop: (t) => h(t, e),
|
|
84
84
|
onDragLeave: () => _(null),
|
|
85
85
|
children: [/* @__PURE__ */ p("div", {
|
|
86
86
|
className: s.columnHeader,
|
|
87
87
|
children: [/* @__PURE__ */ f("div", {
|
|
88
|
-
id:
|
|
88
|
+
id: x,
|
|
89
89
|
className: s.columnTitle,
|
|
90
90
|
"aria-hidden": "true",
|
|
91
91
|
children: t
|
|
@@ -94,22 +94,27 @@ var m = l(({ columns: i, onMove: a, onCardMove: o, className: l, forceMobileUI:
|
|
|
94
94
|
children: [/* @__PURE__ */ f("span", {
|
|
95
95
|
"aria-hidden": "true",
|
|
96
96
|
children: a
|
|
97
|
-
}), /* @__PURE__ */ f(i, { children:
|
|
97
|
+
}), /* @__PURE__ */ f(i, { children: y("a11y.kanban_column_count", { count: a }) })]
|
|
98
98
|
})]
|
|
99
99
|
}), /* @__PURE__ */ f("div", {
|
|
100
100
|
className: s.columnBody,
|
|
101
|
-
|
|
101
|
+
role: C ? "list" : void 0,
|
|
102
|
+
children: /* @__PURE__ */ f(b.Provider, {
|
|
103
|
+
value: C,
|
|
104
|
+
children: o
|
|
105
|
+
})
|
|
102
106
|
})]
|
|
103
107
|
});
|
|
104
108
|
}, v = ({ id: e, children: t, disabled: i, className: l }) => {
|
|
105
|
-
let { t: u } = n(r), { draggedItem: m, handleDragStart: h, handleMobileMove: _, activeMobileMenu: v, setActiveMobileMenu:
|
|
109
|
+
let { t: u } = n(r), { draggedItem: m, handleDragStart: h, handleMobileMove: _, activeMobileMenu: v, setActiveMobileMenu: x, columns: S } = g(), C = c.useContext(y), w = c.useContext(b);
|
|
106
110
|
return /* @__PURE__ */ p("div", {
|
|
111
|
+
role: w ? "listitem" : void 0,
|
|
107
112
|
className: d(s.card, {
|
|
108
113
|
[s.dragging]: m?.itemId === e,
|
|
109
114
|
[s.disabled]: i
|
|
110
115
|
}, l),
|
|
111
116
|
draggable: !i,
|
|
112
|
-
onDragStart: (t) =>
|
|
117
|
+
onDragStart: (t) => C && h(t, e, C),
|
|
113
118
|
children: [/* @__PURE__ */ f("div", {
|
|
114
119
|
className: s.cardContent,
|
|
115
120
|
children: t
|
|
@@ -118,7 +123,7 @@ var m = l(({ columns: i, onMove: a, onCardMove: o, className: l, forceMobileUI:
|
|
|
118
123
|
children: [/* @__PURE__ */ f("button", {
|
|
119
124
|
type: "button",
|
|
120
125
|
className: s.cardMoveBtn,
|
|
121
|
-
onClick: () =>
|
|
126
|
+
onClick: () => x(v === e ? null : e),
|
|
122
127
|
"aria-label": u("a11y.move_card"),
|
|
123
128
|
disabled: i,
|
|
124
129
|
children: /* @__PURE__ */ f(o, {
|
|
@@ -129,10 +134,10 @@ var m = l(({ columns: i, onMove: a, onCardMove: o, className: l, forceMobileUI:
|
|
|
129
134
|
className: s.cardMoveMenu,
|
|
130
135
|
role: "listbox",
|
|
131
136
|
"aria-label": u("a11y.move_to_column"),
|
|
132
|
-
children:
|
|
137
|
+
children: S.filter((e) => e.id !== C).map((t) => /* @__PURE__ */ f("button", {
|
|
133
138
|
type: "button",
|
|
134
139
|
className: s.cardMoveOption,
|
|
135
|
-
onClick: () =>
|
|
140
|
+
onClick: () => C && _(e, C, t.id),
|
|
136
141
|
role: "option",
|
|
137
142
|
"aria-selected": !1,
|
|
138
143
|
children: t.title
|
|
@@ -140,10 +145,10 @@ var m = l(({ columns: i, onMove: a, onCardMove: o, className: l, forceMobileUI:
|
|
|
140
145
|
})]
|
|
141
146
|
})]
|
|
142
147
|
});
|
|
143
|
-
}, y = c.createContext(null), b = (e) => /* @__PURE__ */ f(y.Provider, {
|
|
148
|
+
}, y = c.createContext(null), b = c.createContext(!1), x = (e) => /* @__PURE__ */ f(y.Provider, {
|
|
144
149
|
value: e.id,
|
|
145
150
|
children: /* @__PURE__ */ f(_, { ...e })
|
|
146
|
-
}),
|
|
147
|
-
|
|
151
|
+
}), S = m;
|
|
152
|
+
S.Column = x, S.Card = v, m.displayName = "Kanban", S.displayName = "KanbanBoard", _.displayName = "KanbanColumn", v.displayName = "KanbanCard", x.displayName = "KanbanColumnWrapper";
|
|
148
153
|
//#endregion
|
|
149
|
-
export { m as Kanban,
|
|
154
|
+
export { m as Kanban, S as KanbanBoard, S as default, v as KanbanCard, _ as KanbanColumn };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("./leaderboard.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");var a=n.default.forwardRef(({entries:e,unit:n,size:a=`md`,className:
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("./leaderboard.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");var a=n.default.forwardRef(({entries:e,unit:n,size:a=`md`,showMedals:o=!1,className:s,...c},l)=>(0,i.jsx)(`ol`,{ref:l,className:(0,r.default)(`wim-leaderboard`,t.default.root,t.default[a],s),...c,children:e.map((e,a)=>{let s=a+1;return(0,i.jsxs)(`li`,{"aria-current":e.highlight?!0:void 0,className:(0,r.default)(t.default.item,o&&s<=3&&t.default[`rank${s}`],e.highlight&&t.default.highlight),children:[(0,i.jsx)(`span`,{className:t.default.rank,"aria-hidden":`true`,children:s}),e.avatar&&(0,i.jsx)(`img`,{src:e.avatar,alt:``,className:t.default.avatar,"aria-hidden":`true`}),(0,i.jsx)(`span`,{className:t.default.name,children:e.name}),(0,i.jsxs)(`span`,{className:t.default.score,children:[(0,i.jsx)(`span`,{className:t.default.scoreValue,children:e.score}),n&&(0,i.jsx)(`span`,{className:t.default.unit,children:n})]})]},e.id)})}));a.displayName=`Leaderboard`,exports.Leaderboard=a;
|
|
@@ -14,9 +14,11 @@ export type LeaderboardProps = React.ComponentPropsWithoutRef<"ol"> & {
|
|
|
14
14
|
unit?: string;
|
|
15
15
|
/** Size */
|
|
16
16
|
size?: ComponentSizeBasic;
|
|
17
|
+
/** Whether to paint the rank badges of the top three in gold, silver and bronze (off by default: the number and the order already say the rank) */
|
|
18
|
+
showMedals?: boolean;
|
|
17
19
|
};
|
|
18
20
|
/**
|
|
19
|
-
* Component that displays a scored ranking.
|
|
21
|
+
* Component that displays a scored ranking. Pass `showMedals` to give the top 3 entries medal colors.
|
|
20
22
|
*/
|
|
21
23
|
export declare const Leaderboard: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.OlHTMLAttributes<HTMLOListElement>, HTMLOListElement>, "ref"> & {
|
|
22
24
|
/** List of ranking entries */
|
|
@@ -25,4 +27,6 @@ export declare const Leaderboard: React.ForwardRefExoticComponent<Omit<React.Det
|
|
|
25
27
|
unit?: string;
|
|
26
28
|
/** Size */
|
|
27
29
|
size?: ComponentSizeBasic;
|
|
30
|
+
/** Whether to paint the rank badges of the top three in gold, silver and bronze (off by default: the number and the order already say the rank) */
|
|
31
|
+
showMedals?: boolean;
|
|
28
32
|
} & React.RefAttributes<HTMLOListElement>>;
|
|
@@ -4,20 +4,20 @@ import t from "react";
|
|
|
4
4
|
import n from "classnames";
|
|
5
5
|
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
6
6
|
//#region src/components/data-display/Leaderboard/Leaderboard.tsx
|
|
7
|
-
var a = t.forwardRef(({ entries: t, unit: a, size: o = "md",
|
|
8
|
-
ref:
|
|
9
|
-
className: n("wim-leaderboard", e.root, e[o],
|
|
10
|
-
...
|
|
7
|
+
var a = t.forwardRef(({ entries: t, unit: a, size: o = "md", showMedals: s = !1, className: c, ...l }, u) => /* @__PURE__ */ r("ol", {
|
|
8
|
+
ref: u,
|
|
9
|
+
className: n("wim-leaderboard", e.root, e[o], c),
|
|
10
|
+
...l,
|
|
11
11
|
children: t.map((t, o) => {
|
|
12
|
-
let
|
|
12
|
+
let c = o + 1;
|
|
13
13
|
return /* @__PURE__ */ i("li", {
|
|
14
14
|
"aria-current": t.highlight ? !0 : void 0,
|
|
15
|
-
className: n(e.item, s <= 3 && e[`rank${
|
|
15
|
+
className: n(e.item, s && c <= 3 && e[`rank${c}`], t.highlight && e.highlight),
|
|
16
16
|
children: [
|
|
17
17
|
/* @__PURE__ */ r("span", {
|
|
18
18
|
className: e.rank,
|
|
19
19
|
"aria-hidden": "true",
|
|
20
|
-
children:
|
|
20
|
+
children: c
|
|
21
21
|
}),
|
|
22
22
|
t.avatar && /* @__PURE__ */ r("img", {
|
|
23
23
|
src: t.avatar,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../layout/InteractiveArea/InteractiveArea.cjs"),n=require("../../../icon/alert-circle.cjs"),r=require("../../../icon/check.cjs"),i=require("../../../icon/
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../layout/InteractiveArea/InteractiveArea.cjs"),n=require("../../../icon/alert-circle.cjs"),r=require("../../../icon/check.cjs"),i=require("../../../icon/info-circle.cjs"),a=require("../../media/Icon/Icon.cjs"),o=require("./result.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=({intent:e,status:t,className:o})=>{if(t)return(0,l.jsx)(a.Icon,{component:n.default,color:`text-tertiary`,className:o});switch(e){case`success`:return(0,l.jsx)(a.Icon,{component:r.default,color:`success`,className:o});case`danger`:return(0,l.jsx)(a.Icon,{component:n.default,color:`danger`,className:o});case`warning`:return(0,l.jsx)(a.Icon,{component:n.default,color:`warning`,className:o});case`info`:return(0,l.jsx)(a.Icon,{component:i.default,color:`info`,className:o});default:return null}},d=({intent:e=`default`,status:n,title:r,description:i,extra:a,icon:s,iconSurface:d=!1,className:f,children:p})=>(0,l.jsx)(t.InteractiveArea,{icon:s||(n||e!=="default"?(0,l.jsx)(u,{intent:e,status:n,className:o.default.icon}):void 0),title:r??void 0,description:i??void 0,actions:a,variant:`none`,bgVariant:`transparent`,className:(0,c.default)(`wim-result`,o.default.root,e&&o.default[e],n&&o.default[n],d&&o.default.iconSurface,f),styles:{inner:o.default.inner,icon:o.default.icon,content:o.default.content},children:p});exports.Result=d;
|
|
@@ -4,7 +4,7 @@ export type ResultIntent = Extract<WimIntent, "default" | "success" | "danger" |
|
|
|
4
4
|
export type ResultHttpStatus = "404" | "403" | "500";
|
|
5
5
|
export type ResultProps = {
|
|
6
6
|
/**
|
|
7
|
-
* Semantic intent — determines the icon and color.
|
|
7
|
+
* Semantic intent — determines the icon and color. `default` draws no icon unless `icon` is passed.
|
|
8
8
|
* @default "default"
|
|
9
9
|
*/
|
|
10
10
|
intent?: ResultIntent;
|
|
@@ -2,65 +2,60 @@
|
|
|
2
2
|
import { InteractiveArea as e } from "../../layout/InteractiveArea/InteractiveArea.js";
|
|
3
3
|
import t from "../../../icon/alert-circle.js";
|
|
4
4
|
import n from "../../../icon/check.js";
|
|
5
|
-
import r from "../../../icon/circle.js";
|
|
6
|
-
import i from "
|
|
7
|
-
import
|
|
8
|
-
import o from "./result.module.js";
|
|
5
|
+
import r from "../../../icon/info-circle.js";
|
|
6
|
+
import { Icon as i } from "../../media/Icon/Icon.js";
|
|
7
|
+
import a from "./result.module.js";
|
|
9
8
|
import "react";
|
|
10
|
-
import
|
|
11
|
-
import { jsx as
|
|
9
|
+
import o from "classnames";
|
|
10
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
12
11
|
//#region src/components/feedback/Result/Result.tsx
|
|
13
|
-
var
|
|
14
|
-
if (
|
|
12
|
+
var c = ({ intent: e, status: a, className: o }) => {
|
|
13
|
+
if (a) return /* @__PURE__ */ s(i, {
|
|
15
14
|
component: t,
|
|
16
15
|
color: "text-tertiary",
|
|
17
|
-
className:
|
|
16
|
+
className: o
|
|
18
17
|
});
|
|
19
18
|
switch (e) {
|
|
20
|
-
case "success": return /* @__PURE__ */
|
|
19
|
+
case "success": return /* @__PURE__ */ s(i, {
|
|
21
20
|
component: n,
|
|
22
21
|
color: "success",
|
|
23
|
-
className:
|
|
22
|
+
className: o
|
|
24
23
|
});
|
|
25
|
-
case "danger": return /* @__PURE__ */
|
|
24
|
+
case "danger": return /* @__PURE__ */ s(i, {
|
|
26
25
|
component: t,
|
|
27
26
|
color: "danger",
|
|
28
|
-
className:
|
|
27
|
+
className: o
|
|
29
28
|
});
|
|
30
|
-
case "warning": return /* @__PURE__ */
|
|
29
|
+
case "warning": return /* @__PURE__ */ s(i, {
|
|
31
30
|
component: t,
|
|
32
31
|
color: "warning",
|
|
33
|
-
className:
|
|
32
|
+
className: o
|
|
34
33
|
});
|
|
35
|
-
case "info": return /* @__PURE__ */
|
|
36
|
-
component: i,
|
|
37
|
-
color: "info",
|
|
38
|
-
className: s
|
|
39
|
-
});
|
|
40
|
-
default: return /* @__PURE__ */ c(a, {
|
|
34
|
+
case "info": return /* @__PURE__ */ s(i, {
|
|
41
35
|
component: r,
|
|
42
|
-
color: "
|
|
43
|
-
className:
|
|
36
|
+
color: "info",
|
|
37
|
+
className: o
|
|
44
38
|
});
|
|
39
|
+
default: return null;
|
|
45
40
|
}
|
|
46
|
-
},
|
|
47
|
-
icon: u || /* @__PURE__ */ c
|
|
41
|
+
}, l = ({ intent: t = "default", status: n, title: r, description: i, extra: l, icon: u, iconSurface: d = !1, className: f, children: p }) => /* @__PURE__ */ s(e, {
|
|
42
|
+
icon: u || (n || t !== "default" ? /* @__PURE__ */ s(c, {
|
|
48
43
|
intent: t,
|
|
49
44
|
status: n,
|
|
50
|
-
className:
|
|
51
|
-
}),
|
|
45
|
+
className: a.icon
|
|
46
|
+
}) : void 0),
|
|
52
47
|
title: r ?? void 0,
|
|
53
48
|
description: i ?? void 0,
|
|
54
|
-
actions:
|
|
49
|
+
actions: l,
|
|
55
50
|
variant: "none",
|
|
56
51
|
bgVariant: "transparent",
|
|
57
|
-
className:
|
|
52
|
+
className: o("wim-result", a.root, t && a[t], n && a[n], d && a.iconSurface, f),
|
|
58
53
|
styles: {
|
|
59
|
-
inner:
|
|
60
|
-
icon:
|
|
61
|
-
content:
|
|
54
|
+
inner: a.inner,
|
|
55
|
+
icon: a.icon,
|
|
56
|
+
content: a.content
|
|
62
57
|
},
|
|
63
58
|
children: p
|
|
64
59
|
});
|
|
65
60
|
//#endregion
|
|
66
|
-
export {
|
|
61
|
+
export { l as Result };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("./anchor.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");var a=({items:e=[],bounds:a=5,offset:o=0,direction:s=`vertical`,className:c,style:l})=>{let[u,d]=(0,n.useState)(``),[f,p]=(0,n.useState)({}),m=(0,n.useRef)(null),h=(e,t)=>{e.preventDefault();let n=t.replace(`#`,``),r=document.getElementById(n);r&&(window.scrollTo({top:r.offsetTop-o,behavior:`smooth`}),d(t))};(0,n.useLayoutEffect)(()=>{let t=()=>{let t=(e,n)=>{let r=[];return e.forEach(e=>{r.push({href:e.href,parentHref:n}),e.children&&(r=r.concat(t(e.children,n||e.href)))}),r},n=t(e),r=``,i=window.scrollY||document.documentElement.scrollTop,c=document.documentElement.scrollHeight,l=document.documentElement.clientHeight;if(i>0&&Math.ceil(i+l)>=c&&n.length>0){let e=n[n.length-1];r=s===`horizontal`&&e.parentHref?e.parentHref:e.href}else for(let e of n){let t=e.href.replace(`#`,``),n=document.getElementById(t);if(n){if(n.getBoundingClientRect().top<=o+a)r=s===`horizontal`&&e.parentHref?e.parentHref:e.href;else break}}r&&r!==u&&d(r)};return window.addEventListener(`scroll`,t),t(),()=>window.removeEventListener(`scroll`,t)},[e,o,a,u,s]),(0,n.useLayoutEffect)(()=>{if(!u||!m.current)return;let e=m.current.querySelector(`a[href="${u}"]`);if(e){let n=m.current.getBoundingClientRect();if(s===`vertical`){let t=e.getBoundingClientRect();p({top:t.top-n.top,height:t.height,opacity:1})}else{let r=m.current.querySelector(`.${t.default.list}`);if(r){let t=e.getBoundingClientRect(),i=r.getBoundingClientRect(),a=t.left-i.left+r.scrollLeft,o=a-i.width/2+t.width/2,s=r.scrollWidth-i.width,c=Math.max(0,Math.min(o,s)),l=a-c+(i.left-n.left);p({left:l,width:t.width,opacity:1}),r.scrollTo({left:c,behavior:`smooth`})}else{let t=e.getBoundingClientRect();p({left:t.left-m.current.getBoundingClientRect().left,width:t.width,opacity:1})}}}else p({opacity:0})},[u,s]);let g=e=>(0,i.jsx)(`ul`,{className:(0,r.default)(t.default.list,t.default[s]),children:e.map(e=>(0,i.jsxs)(`li`,{className:(0,r.default)(t.default.item,u===e.href&&t.default.active),children:[(0,i.jsx)(`a`,{href:e.href,className:t.default.link,onClick:t=>h(t,e.href),title:typeof e.title==`string`?e.title:void 0,children:e.title}),e.children&&s===`vertical`&&g(e.children)]},e.key))});return(0,i.jsxs)(`div`,{className:(0,r.default)(`wim-anchor`,t.default.root,t.default[s],c),style:l,ref:m,children:[(0,i.jsx)(`div`,{className:t.default.ink,children:(0,i.jsx)(`span`,{className:t.default.inkBall,style:f})}),g(e)]})};exports.Anchor=a,exports.default=a;
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("./anchor.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");var a=({items:e=[],bounds:a=5,offset:o=0,direction:s=`vertical`,className:c,style:l})=>{let[u,d]=(0,n.useState)(``),[f,p]=(0,n.useState)({}),m=(0,n.useRef)(null),h=(e,t)=>{e.preventDefault();let n=t.replace(`#`,``),r=document.getElementById(n);r&&(window.scrollTo({top:r.offsetTop-o,behavior:`smooth`}),d(t))};(0,n.useLayoutEffect)(()=>{let t=()=>{let t=(e,n)=>{let r=[];return e.forEach(e=>{r.push({href:e.href,parentHref:n}),e.children&&(r=r.concat(t(e.children,n||e.href)))}),r},n=t(e),r=``,i=window.scrollY||document.documentElement.scrollTop,c=document.documentElement.scrollHeight,l=document.documentElement.clientHeight;if(i>0&&Math.ceil(i+l)>=c&&n.length>0){let e=n[n.length-1];r=s===`horizontal`&&e.parentHref?e.parentHref:e.href}else for(let e of n){let t=e.href.replace(`#`,``),n=document.getElementById(t);if(n){if(n.getBoundingClientRect().top<=o+a)r=s===`horizontal`&&e.parentHref?e.parentHref:e.href;else break}}r&&r!==u&&d(r)};return window.addEventListener(`scroll`,t),t(),()=>window.removeEventListener(`scroll`,t)},[e,o,a,u,s]),(0,n.useLayoutEffect)(()=>{if(!u||!m.current)return;let e=m.current.querySelector(`a[href="${u}"]`);if(e){let n=m.current.getBoundingClientRect();if(s===`vertical`){let t=e.getBoundingClientRect();p({top:t.top-n.top,height:t.height,opacity:1})}else{let r=m.current.querySelector(`.${t.default.list}`);if(r){let t=e.getBoundingClientRect(),i=r.getBoundingClientRect(),a=t.left-i.left+r.scrollLeft,o=a-i.width/2+t.width/2,s=r.scrollWidth-i.width,c=Math.max(0,Math.min(o,s)),l=a-c+(i.left-n.left);p({left:l,width:t.width,opacity:1}),r.scrollTo({left:c,behavior:`smooth`})}else{let t=e.getBoundingClientRect();p({left:t.left-m.current.getBoundingClientRect().left,width:t.width,opacity:1})}}}else p({opacity:0})},[u,s]);let g=e=>(0,i.jsx)(`ul`,{className:(0,r.default)(t.default.list,t.default[s]),children:e.map(e=>(0,i.jsxs)(`li`,{className:(0,r.default)(t.default.item,u===e.href&&t.default.active),children:[(0,i.jsx)(`a`,{href:e.href,className:t.default.link,"aria-current":u===e.href?`location`:void 0,onClick:t=>h(t,e.href),title:typeof e.title==`string`?e.title:void 0,children:e.title}),e.children&&s===`vertical`&&g(e.children)]},e.key))});return(0,i.jsxs)(`div`,{className:(0,r.default)(`wim-anchor`,t.default.root,t.default[s],c),style:l,ref:m,children:[(0,i.jsx)(`div`,{className:t.default.ink,children:(0,i.jsx)(`span`,{className:t.default.inkBall,style:f})}),g(e)]})};exports.Anchor=a,exports.default=a;
|
|
@@ -85,6 +85,7 @@ var s = ({ items: s = [], bounds: c = 5, offset: l = 0, direction: u = "vertical
|
|
|
85
85
|
children: [/* @__PURE__ */ a("a", {
|
|
86
86
|
href: t.href,
|
|
87
87
|
className: e.link,
|
|
88
|
+
"aria-current": p === t.href ? "location" : void 0,
|
|
88
89
|
onClick: (e) => v(e, t.href),
|
|
89
90
|
title: typeof t.title == "string" ? t.title : void 0,
|
|
90
91
|
children: t.title
|
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.53.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
|
|
|
@@ -854,7 +854,7 @@ number of pixels. Prefer the token so the gap follows the theme.
|
|
|
854
854
|
@default "2xl"
|
|
855
855
|
- `verticalSpacing: number | string` — Vertical spacing between rows (defaults to `spacing`)
|
|
856
856
|
- `minChildWidth: number | string` — Minimum width of each child; columns wrap automatically to fit
|
|
857
|
-
- **Splitter** — Split and resize panels
|
|
857
|
+
- **Splitter** — Split and resize panels (aka Resizable, Resizable Panels, Split Pane)
|
|
858
858
|
- `orientation: "horizontal" | "vertical"` = "horizontal" — The orientation of the splitter.
|
|
859
859
|
- `children: React.ReactNode` (required) — The components to render within the splitter. Usually a combination of `Splitter.Panel` and `Splitter.Handle`.
|
|
860
860
|
- **Stack** — Vertical/Horizontal alignment
|
|
@@ -1051,7 +1051,7 @@ Use it when the field already does the same thing from the keyboard.
|
|
|
1051
1051
|
so the unit does not have to be repeated in the label.
|
|
1052
1052
|
- `styles: { root?: string; inner?: string; icon?: string; icons?: string; iconItem?: string; iconButton?: string; }` — Custom styles for internal parts
|
|
1053
1053
|
- `asChild: boolean` = false — Whether to render as a child element.
|
|
1054
|
-
- **Combobox** — Select with search
|
|
1054
|
+
- **Combobox** — Select with search (aka Autocomplete, Auto Complete)
|
|
1055
1055
|
- `options: ComboboxOption[]` = [] — List of suggestion options
|
|
1056
1056
|
- `onChange: (option: ComboboxOption) => void` — Callback when an option is selected
|
|
1057
1057
|
- `placeholder: string` — Placeholder for the input
|
|
@@ -1198,7 +1198,7 @@ still do their job for assistive technology.
|
|
|
1198
1198
|
- `htmlFor: string` — ID of the element the label points to
|
|
1199
1199
|
- `errorId: string` — ID of the error message element
|
|
1200
1200
|
- `styles: { root?: string; labelWrapper?: string; label?: string; content?: string; error?: string; }` — Custom styles for internal parts
|
|
1201
|
-
- **FileUpload** — File selection
|
|
1201
|
+
- **FileUpload** — File selection (aka Upload, File Input)
|
|
1202
1202
|
- `label: React.ReactNode` — Field label
|
|
1203
1203
|
- `buttonLabel: React.ReactNode` — Label of the file selection button
|
|
1204
1204
|
- `noFileLabel: React.ReactNode` — Text shown when no file is selected
|
|
@@ -1407,7 +1407,7 @@ so the unit does not have to be repeated in the label.
|
|
|
1407
1407
|
- `allowDecimal: boolean` = false — Whether to allow decimal points (effective only when mode="number")
|
|
1408
1408
|
- `allowNegative: boolean` = false — Whether to allow negative numbers (effective only when mode="number")
|
|
1409
1409
|
- `asChild: boolean` = false — Whether to render as a child element.
|
|
1410
|
-
- **OtpInput** — One-time password fields
|
|
1410
|
+
- **OtpInput** — One-time password fields (aka Pin Input, Input OTP, PIN Code Input)
|
|
1411
1411
|
- `length: number` = 6 — Number of digits
|
|
1412
1412
|
- `value: string` = "" — Current value (controlled)
|
|
1413
1413
|
- `onChange: (value: string) => void` — Callback when the value changes
|
|
@@ -2000,7 +2000,7 @@ type therefore requires one of `label` / `aria-label` / `aria-labelledby`.
|
|
|
2000
2000
|
- `indeterminate: boolean` = false — If true, shows an indeterminate animation instead of a value.
|
|
2001
2001
|
@default false
|
|
2002
2002
|
- **Result** — Task status indicator
|
|
2003
|
-
- `intent: Extract< WimIntent, "default" | "success" | "danger" | "info" | "warning" >` = "default" — Semantic intent — determines the icon and color.
|
|
2003
|
+
- `intent: Extract< WimIntent, "default" | "success" | "danger" | "info" | "warning" >` = "default" — Semantic intent — determines the icon and color. `default` draws no icon unless `icon` is passed.
|
|
2004
2004
|
@default "default"
|
|
2005
2005
|
- `status: "404" | "403" | "500"` — HTTP error status — adds a status-specific CSS class and shows a neutral icon.
|
|
2006
2006
|
Use for error pages (404, 403, 500).
|
|
@@ -2061,7 +2061,7 @@ follows the theme and never needs a hand-mixed colour.
|
|
|
2061
2061
|
- `label: string` — Text label displayed next to the spinner.
|
|
2062
2062
|
- `labelPosition: "right" | "bottom"` = "right" — Position of the label relative to the spinner.
|
|
2063
2063
|
@default "right"
|
|
2064
|
-
- **Toast** — Non-intrusive floating messages that provide feedback on system operations
|
|
2064
|
+
- **Toast** — Non-intrusive floating messages that provide feedback on system operations (aka Message, Sonner)
|
|
2065
2065
|
- `id: string` — Identifier of the toast, passed to onClose. Used by ToastProvider to manage a stack.
|
|
2066
2066
|
- `title: string` — Title of the toast.
|
|
2067
2067
|
- `description: string` — Description text displayed below the title.
|
|
@@ -2208,7 +2208,7 @@ Defaults to a translated "Open menu" / "Close menu" (en / ja / pt), following th
|
|
|
2208
2208
|
- `ariaLabel: string` — Accessibility label for the navigation
|
|
2209
2209
|
- `onChange: (current: number) => void` — Callback function when a step is clicked (if applicable)
|
|
2210
2210
|
- `asChild: boolean` — Whether to use the Radix Slot pattern
|
|
2211
|
-
- **TabBar** — Mobile bottom navigation
|
|
2211
|
+
- **TabBar** — Mobile bottom navigation (aka Bottom Navigation, Bottom Tab Bar)
|
|
2212
2212
|
- `fixed: boolean` = true — Pins the bar to the bottom of the **viewport**. Defaults to `true`.
|
|
2213
2213
|
|
|
2214
2214
|
The pin is `position: fixed`, so the bar leaves whatever container you put
|
|
@@ -2483,10 +2483,11 @@ in; use `"center"` only when the empty state is the only thing in its region.
|
|
|
2483
2483
|
- `onCardMove: (itemId: string, fromColumnId: string, toColumnId: string) => void` — Callback when a card is moved (legacy / alternative name).
|
|
2484
2484
|
- `forceMobileUI: boolean` = false — Whether to force the touch-device UI.
|
|
2485
2485
|
- `asChild: boolean` = false — Whether to render as a child element.
|
|
2486
|
-
- **Leaderboard** — Display a ranked list of entries with scores
|
|
2486
|
+
- **Leaderboard** — Display a ranked list of entries with scores. Medal colors for the top three are opt-in.
|
|
2487
2487
|
- `entries: LeaderboardEntry[]` (required) — List of ranking entries
|
|
2488
2488
|
- `unit: string` — Label for the score unit
|
|
2489
2489
|
- `size: Extract<ComponentSize, "sm" | "md" | "lg">` = "md" — Size
|
|
2490
|
+
- `showMedals: boolean` = false — Whether to paint the rank badges of the top three in gold, silver and bronze (off by default: the number and the order already say the rank)
|
|
2490
2491
|
- **List** — Structurally organized items in bullet points or numbered formats
|
|
2491
2492
|
- `asChild: boolean` = false — Whether to render as a child element.
|
|
2492
2493
|
- `size: Extract<ComponentSize, "sm" | "md" | "lg">` = "md" — Size of the list items
|
|
@@ -2641,7 +2642,7 @@ renders inline, next to whatever follows it.
|
|
|
2641
2642
|
- `asChild: boolean` = false — If true, the component will be rendered as its child.
|
|
2642
2643
|
- `onSortEnd: (oldIndex: number, newIndex: number) => void` — Callback called when reordering is completed.
|
|
2643
2644
|
- `disabled: boolean` = false — Whether the entire list is disabled.
|
|
2644
|
-
- **Stats** — A component to highlight key performance indicators and metrics
|
|
2645
|
+
- **Stats** — A component to highlight key performance indicators and metrics (aka Statistic, Stat)
|
|
2645
2646
|
- `variant: React.ComponentProps<typeof Card>["variant"]` = "outline" — Visual style variant of the card
|
|
2646
2647
|
- `asChild: boolean` = false — If true, the card will be rendered as its child, merging its props onto that child.
|
|
2647
2648
|
- `interactive: boolean` = false — Whether the card is clickable: shows hover and press feedback and a pointer cursor
|
package/dist/llms.txt
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## What this is
|
|
6
6
|
|
|
7
|
-
**wimui** v0.
|
|
7
|
+
**wimui** v0.53.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
|
|
|
@@ -221,7 +221,7 @@ export function BillingOverview() {
|
|
|
221
221
|
- **ScrollArea** — A custom scrollbar component that provides high-performance, cross-browser consistent themes while maintaining a native-like feel.
|
|
222
222
|
- **Sidebar** — A collapsible navigation or informational panel on the side of the screen (aka Source List, Inspector)
|
|
223
223
|
- **SimpleGrid** — Responsive fixed grid
|
|
224
|
-
- **Splitter** — Split and resize panels
|
|
224
|
+
- **Splitter** — Split and resize panels (aka Resizable, Resizable Panels, Split Pane)
|
|
225
225
|
- **Stack** — Vertical/Horizontal alignment
|
|
226
226
|
- **Toolbar** — Action strip for IconButton, ToggleGroup, and related controls with toolbar keyboard navigation. (aka Action Bar)
|
|
227
227
|
- **Transition** — Utilities for managing smooth enter and leave animations with CSS classes
|
|
@@ -237,7 +237,7 @@ export function BillingOverview() {
|
|
|
237
237
|
- **CheckboxGroup** — Shared state checkboxes
|
|
238
238
|
- **ColorInput** — Input with color preview (aka Color Well, Color Field)
|
|
239
239
|
- **ColorPicker** — Color selection picker
|
|
240
|
-
- **Combobox** — Select with search
|
|
240
|
+
- **Combobox** — Select with search (aka Autocomplete, Auto Complete)
|
|
241
241
|
- **CopyButton** — Copy to clipboard
|
|
242
242
|
- **CounterTextarea** — Textarea with character count display
|
|
243
243
|
- **CreditCardInput** — Payment card input with brand detection
|
|
@@ -247,7 +247,7 @@ export function BillingOverview() {
|
|
|
247
247
|
- **FieldError** — Validation messages
|
|
248
248
|
- **Fieldset** — Form grouping
|
|
249
249
|
- **FieldTemplate** — Standardizes label placement, required markings, and error message display for all form-related components.
|
|
250
|
-
- **FileUpload** — File selection
|
|
250
|
+
- **FileUpload** — File selection (aka Upload, File Input)
|
|
251
251
|
- **FloatButton** — Floating action buttons
|
|
252
252
|
- **IconButton** — A square button containing only an icon without a text label.
|
|
253
253
|
- **ImageCropper** — Front-end image cropping and rotation tool.
|
|
@@ -260,7 +260,7 @@ export function BillingOverview() {
|
|
|
260
260
|
- **Mentions** — @ / # suggestions
|
|
261
261
|
- **MultiSelect** — Multiple selection
|
|
262
262
|
- **NumberInput** — Input with step adjustments (aka Spin Button, Numeric Stepper)
|
|
263
|
-
- **OtpInput** — One-time password fields
|
|
263
|
+
- **OtpInput** — One-time password fields (aka Pin Input, Input OTP, PIN Code Input)
|
|
264
264
|
- **PasswordInput** — Password with toggle
|
|
265
265
|
- **PasswordStrength** — Visual meter to indicate password security level. (aka Strength Meter)
|
|
266
266
|
- **PhoneInput** — International phone number input
|
|
@@ -305,7 +305,7 @@ export function BillingOverview() {
|
|
|
305
305
|
- **Skeleton** — Placeholder for content loading states. (aka Shimmer)
|
|
306
306
|
- **Snackbar** — Bottom notifications
|
|
307
307
|
- **Spinner** — A rotating icon indicating background activity or data fetching (aka Activity Indicator)
|
|
308
|
-
- **Toast** — Non-intrusive floating messages that provide feedback on system operations
|
|
308
|
+
- **Toast** — Non-intrusive floating messages that provide feedback on system operations (aka Message, Sonner)
|
|
309
309
|
- **Tour** — Sequential guided walkthroughs to onboard users or highlight features
|
|
310
310
|
|
|
311
311
|
### navigation — `import { … } from "wimui/navigation"`
|
|
@@ -323,7 +323,7 @@ export function BillingOverview() {
|
|
|
323
323
|
- **SpeedDial** — Floating action button that expands sub-actions on hover or click.
|
|
324
324
|
- **Stepper** — Visual sequence steps
|
|
325
325
|
- ⚠️ Not the same as elsewhere: In Apple HIG and macOS, a "Stepper" is the control that increments a number — that is `NumberInput` here. WIM's `Stepper` shows progress through a sequence of steps, which is what Material calls a Stepper.
|
|
326
|
-
- **TabBar** — Mobile bottom navigation
|
|
326
|
+
- **TabBar** — Mobile bottom navigation (aka Bottom Navigation, Bottom Tab Bar)
|
|
327
327
|
- **TabNavigation** — Tab-based navigation
|
|
328
328
|
- **Tabs** — A container to organize related content into switchable view panels
|
|
329
329
|
|
|
@@ -349,7 +349,7 @@ export function BillingOverview() {
|
|
|
349
349
|
- **JsonDiffViewer** — Compares two JSON values as a formatted side-by-side or unified diff, built on top of CodeDiffViewer.
|
|
350
350
|
- **JsonViewer** — Recursive tree viewer and editor for JSON data.
|
|
351
351
|
- **Kanban** — Drag-and-drop board for visualizing workflow stages
|
|
352
|
-
- **Leaderboard** — Display a ranked list of entries with scores
|
|
352
|
+
- **Leaderboard** — Display a ranked list of entries with scores. Medal colors for the top three are opt-in.
|
|
353
353
|
- **List** — Structurally organized items in bullet points or numbered formats
|
|
354
354
|
- **Markdown** — A component for safely rendering text in Markdown format.
|
|
355
355
|
- **Marquee** — Scrolling text animation (aka Ticker)
|
|
@@ -363,7 +363,7 @@ export function BillingOverview() {
|
|
|
363
363
|
- **RelativeTime** — Display a timestamp as a localized relative phrase ("3 minutes ago", "yesterday") that updates automatically as time passes.
|
|
364
364
|
- **ScheduleView** — Displays tasks or events on a chronological timeline or calendar view.
|
|
365
365
|
- **SortableList** — Item rearrangement and reordering
|
|
366
|
-
- **Stats** — A component to highlight key performance indicators and metrics
|
|
366
|
+
- **Stats** — A component to highlight key performance indicators and metrics (aka Statistic, Stat)
|
|
367
367
|
- **SwipeableList** — Container for SwipeAction rows that keeps at most one row open at a time. (aka Swipeable List)
|
|
368
368
|
- **SwipeAction** — Mobile-friendly swipe actions (delete, archive) for list items.
|
|
369
369
|
- **Table** — Rows and columns for displaying structured data efficiently
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
"reaction_desc": "Display emoji reaction buttons with toggleable state and counts",
|
|
118
118
|
"keyboardShortcuts_desc": "Display a structured list of keyboard shortcuts",
|
|
119
119
|
"autosave_desc": "Inline status indicator for automatic save state",
|
|
120
|
-
"leaderboard_desc": "Display a ranked list of entries with scores
|
|
120
|
+
"leaderboard_desc": "Display a ranked list of entries with scores. Medal colors for the top three are opt-in.",
|
|
121
121
|
"gallery_desc": "Displays a responsive image grid with configurable columns, aspect ratios, multi-select, and an optional lightbox.",
|
|
122
122
|
"dashboard_desc": "Arranges widgets in a configurable grid with an edit mode for adding, removing, and resizing them.",
|
|
123
123
|
"field_character_count_desc": "Standardizes the display of character counts and limit indicators across text-based form inputs.",
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
"interactiveArea_desc": "枠線やホバー状態を持つ、一貫したインタラクティブエリアの基盤コンポーネント。",
|
|
136
136
|
"jsonDiffViewer_desc": "2つの JSON 値を整形し、Side-by-Side または Unified 形式の差分として比較します。CodeDiffViewer をベースに構築されています。",
|
|
137
137
|
"keyboardShortcuts_desc": "キーボードショートカットの一覧を構造化して表示する",
|
|
138
|
-
"leaderboard_desc": "
|
|
138
|
+
"leaderboard_desc": "スコア付きのランキングを表示するコンポーネント。上位3件のメダル色は、指定したときだけ付きます。",
|
|
139
139
|
"levels_title": "強度レベルの定義",
|
|
140
140
|
"nodeGraph_desc": "ノード間の複雑なネットワークや関係性を視覚化します。",
|
|
141
141
|
"overlay_base_desc": "Dialog, Drawer, BottomSheet に対して、ポータルによるレンダリング、バックドロップ、フォーカス管理を標準化します。",
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
"interactiveArea_desc": "Componente base para áreas interativas consistentes com bordas e estados.",
|
|
136
136
|
"jsonDiffViewer_desc": "Compara dois valores JSON como um diff formatado lado a lado ou unificado, construído sobre o CodeDiffViewer.",
|
|
137
137
|
"keyboardShortcuts_desc": "Exibir uma lista estruturada de atalhos de teclado",
|
|
138
|
-
"leaderboard_desc": "Exibe uma lista classificada de entradas com pontuações
|
|
138
|
+
"leaderboard_desc": "Exibe uma lista classificada de entradas com pontuações. As cores de medalha para as três primeiras posições são opcionais.",
|
|
139
139
|
"levels_title": "Definições de Nível",
|
|
140
140
|
"nodeGraph_desc": "Visualiza redes complexas e relações entre nós.",
|
|
141
141
|
"overlay_base_desc": "Padroniza a renderização baseada em portal, o plano de fundo e o gerenciamento de foco para Diálogos, Gavetas e BottomSheets.",
|