wimui 0.64.3 → 0.64.5
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/ai/code-diff-viewer.js +1 -2
- package/dist/ai/interactive-graph.js +1 -2
- package/dist/ai/markdown-renderer.js +1 -2
- package/dist/ai/streaming-text.js +1 -2
- package/dist/components/_internal/observeMove.cjs +1 -1
- package/dist/components/_internal/observeMove.js +9 -10
- package/dist/components/ai/SourceCitation/SourceCitation.cjs +1 -1
- package/dist/components/ai/SourceCitation/SourceCitation.js +1 -1
- package/dist/components/charts/SankeyChart/SankeyChart.cjs +1 -1
- package/dist/components/charts/SankeyChart/SankeyChart.js +1 -5
- package/dist/components/data-display/Accordion/Accordion.cjs +1 -1
- package/dist/components/data-display/Accordion/Accordion.js +1 -5
- package/dist/components/data-display/Carousel/Carousel.cjs +1 -1
- package/dist/components/data-display/Carousel/Carousel.js +2 -14
- package/dist/components/data-display/DataGrid/DataGrid.cjs +1 -1
- package/dist/components/data-display/DataGrid/DataGrid.js +180 -171
- package/dist/components/data-display/NodeGraph/NodeGraph.cjs +1 -1
- package/dist/components/data-display/NodeGraph/NodeGraph.js +1 -7
- package/dist/components/data-display/ScheduleView/ScheduleView.cjs +1 -1
- package/dist/components/data-display/ScheduleView/ScheduleView.js +3 -1
- package/dist/components/data-display/SwipeAction/SwipeAction.cjs +1 -1
- package/dist/components/data-display/SwipeAction/SwipeAction.js +9 -10
- package/dist/components/data-display/TreeDiagram/TreeDiagram.cjs +1 -1
- package/dist/components/data-display/TreeDiagram/TreeDiagram.js +94 -73
- package/dist/components/feedback/Tour/Tour.cjs +1 -1
- package/dist/components/feedback/Tour/Tour.js +2 -6
- package/dist/components/form/Button/Button.cjs +1 -1
- package/dist/components/form/Button/Button.js +58 -55
- package/dist/components/form/Combobox/Combobox.cjs +1 -1
- package/dist/components/form/Combobox/Combobox.js +2 -5
- package/dist/components/form/Dropzone/Dropzone.cjs +1 -1
- package/dist/components/form/Dropzone/Dropzone.js +83 -68
- package/dist/components/form/FileUpload/FileUpload.cjs +1 -1
- package/dist/components/form/FileUpload/FileUpload.js +64 -47
- package/dist/components/form/FloatButton/FloatButton.cjs +1 -1
- package/dist/components/form/FloatButton/FloatButton.js +7 -6
- package/dist/components/form/InlineEdit/InlineEdit.cjs +1 -1
- package/dist/components/form/InlineEdit/InlineEdit.js +76 -73
- package/dist/components/form/RichTextEditor/RichTextEditor.cjs +1 -1
- package/dist/components/form/RichTextEditor/RichTextEditor.js +117 -129
- package/dist/components/form/SegmentedControl/SegmentedControl.cjs +1 -1
- package/dist/components/form/SegmentedControl/SegmentedControl.js +1 -1
- package/dist/components/form/ToggleGroup/ToggleGroup.cjs +1 -1
- package/dist/components/form/ToggleGroup/ToggleGroup.js +1 -1
- package/dist/components/form/TreeSelect/TreeSelect.cjs +1 -1
- package/dist/components/form/TreeSelect/TreeSelect.js +1 -7
- package/dist/components/layout/InteractiveArea/InteractiveArea.cjs +1 -1
- package/dist/components/layout/InteractiveArea/InteractiveArea.js +1 -5
- package/dist/components/media/Audio/hooks/useAudioPlayer.cjs +1 -1
- package/dist/components/media/Audio/hooks/useAudioPlayer.js +1 -9
- package/dist/components/media/Lightbox/Lightbox.cjs +1 -1
- package/dist/components/media/Lightbox/Lightbox.js +5 -9
- package/dist/components/navigation/CommandPalette/CommandPalette.cjs +1 -1
- package/dist/components/navigation/CommandPalette/CommandPalette.js +1 -8
- package/dist/components/navigation/TabNavigation/TabNavigation.cjs +1 -1
- package/dist/components/navigation/TabNavigation/TabNavigation.js +1 -5
- package/dist/data-display/json-diff-viewer.js +1 -2
- package/dist/data-display/markdown.js +1 -2
- package/dist/data-display/node-graph.js +1 -2
- package/dist/data-display/qr-code.js +1 -2
- package/dist/data-display/schedule-view.js +1 -2
- package/dist/form/rich-text-editor.js +1 -2
- package/dist/i18n/generated/common.cjs +1 -1
- package/dist/i18n/generated/common.d.ts +1 -1
- package/dist/i18n/generated/common.js +15 -6
- package/dist/i18n/generated/form.cjs +1 -1
- package/dist/i18n/generated/form.d.ts +1 -1
- package/dist/i18n/generated/form.js +6 -3
- package/dist/llms-full.txt +1 -1
- package/dist/llms.txt +1 -1
- package/dist/locales/en/common.json +5 -1
- package/dist/locales/en/form.json +2 -1
- package/dist/locales/ja/common.json +5 -1
- package/dist/locales/ja/form.json +2 -1
- package/dist/locales/pt/common.json +5 -1
- package/dist/locales/pt/form.json +2 -1
- package/dist/node_modules/@radix-ui/react-slot/dist/index.cjs +1 -1
- package/dist/node_modules/@radix-ui/react-slot/dist/index.js +18 -17
- package/dist/rhf/zod.js +1 -2
- package/dist/wimui.umd.js +5 -5
- package/package.json +44 -44
|
@@ -1,197 +1,206 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useWimTranslation as e } from "../../../i18n/useWimTranslation.js";
|
|
3
3
|
import { commonNs as t } from "../../../i18n/generated/common.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import c from "./
|
|
11
|
-
import
|
|
12
|
-
import d from "
|
|
13
|
-
import
|
|
4
|
+
import { VisuallyHidden as n } from "../../layout/VisuallyHidden/VisuallyHidden.js";
|
|
5
|
+
import { Checkbox as r } from "../../form/Checkbox/Checkbox.js";
|
|
6
|
+
import { Pagination as i } from "../../navigation/Pagination/Pagination.js";
|
|
7
|
+
import { Table as a } from "../Table/Table.js";
|
|
8
|
+
import { useFixedColumns as o } from "./useFixedColumns.js";
|
|
9
|
+
import { useDataGridKeyboard as s } from "./useDataGridKeyboard.js";
|
|
10
|
+
import { useInfiniteScroll as c } from "./useInfiniteScroll.js";
|
|
11
|
+
import l from "./datagrid.module.js";
|
|
12
|
+
import { useCallback as u, useMemo as d, useState as f } from "react";
|
|
13
|
+
import p from "classnames";
|
|
14
|
+
import { jsx as m, jsxs as h } from "react/jsx-runtime";
|
|
14
15
|
//#region src/components/data-display/DataGrid/DataGrid.tsx
|
|
15
|
-
function
|
|
16
|
-
let { t:
|
|
16
|
+
function g({ columns: g, data: _, rowKey: v = "id", loading: y = !1, striped: b = !1, bordered: x = !1, hoverable: S = !0, stickyHeader: C = !0, height: w, maxHeight: T, emptyMessage: E, mobileCard: D = !1, selection: O, selectedRowKeys: k, onSelectionChange: A, sortConfig: j, onSortChange: M, pagination: N, infiniteScroll: P, className: F, ariaLabel: I, "aria-label": L, "aria-labelledby": R }) {
|
|
17
|
+
let { t: z } = e(t), B = y !== !1 && y !== void 0, V = y === !0 || y === "blocking", H = d(() => O ? O === !0 ? {
|
|
17
18
|
type: "checkbox",
|
|
18
|
-
selectedRowKeys:
|
|
19
|
+
selectedRowKeys: k ?? [],
|
|
19
20
|
onChange: (e, t) => {
|
|
20
|
-
|
|
21
|
+
A?.(e, t);
|
|
21
22
|
}
|
|
22
|
-
} :
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
]), { fixedLeftOffsets:
|
|
27
|
-
let n =
|
|
23
|
+
} : O : null, [
|
|
24
|
+
O,
|
|
25
|
+
k,
|
|
26
|
+
A
|
|
27
|
+
]), { fixedLeftOffsets: U, fixedRightOffsets: W } = o(g, !!H), G = (e, t = !1) => {
|
|
28
|
+
let n = U[e];
|
|
28
29
|
if (n) return {
|
|
29
30
|
stickyLeft: !0,
|
|
30
31
|
leftOffset: n.offset,
|
|
31
32
|
stickyZIndex: t ? 1e3 + n.zIndex : n.zIndex,
|
|
32
|
-
className:
|
|
33
|
+
className: p(l.cellFixed, n.isLast && l.cellFixedLeftLast)
|
|
33
34
|
};
|
|
34
|
-
let r =
|
|
35
|
+
let r = W[e];
|
|
35
36
|
return r ? {
|
|
36
37
|
stickyRight: !0,
|
|
37
38
|
rightOffset: r.offset,
|
|
38
39
|
stickyZIndex: t ? 1e3 + r.zIndex : r.zIndex,
|
|
39
|
-
className:
|
|
40
|
+
className: p(l.cellFixed, r.isFirst && l.cellFixedRightFirst)
|
|
40
41
|
} : {};
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
]),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
]),
|
|
51
|
-
if (!
|
|
52
|
-
let t = e.target.checked, n = t ?
|
|
53
|
-
|
|
54
|
-
},
|
|
55
|
-
if (!
|
|
56
|
-
let n = t.target.checked, r =
|
|
57
|
-
|
|
58
|
-
}, { focusedCell:
|
|
59
|
-
return /* @__PURE__ */
|
|
60
|
-
className:
|
|
61
|
-
"aria-busy":
|
|
62
|
-
children: [
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
},
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
"data-col": -1,
|
|
95
|
-
"aria-label": L("a11y.select_all_rows"),
|
|
96
|
-
tabIndex: Y.row === -1 && Y.col === -1 ? 0 : -1,
|
|
97
|
-
children: (B.type ?? "checkbox") === "checkbox" && /* @__PURE__ */ f(n, {
|
|
98
|
-
checked: G,
|
|
99
|
-
indeterminate: K,
|
|
100
|
-
onChange: q,
|
|
101
|
-
"aria-label": L("a11y.select_all_rows")
|
|
102
|
-
})
|
|
103
|
-
}), m.map((e, t) => {
|
|
104
|
-
let n = U(e.key, !0);
|
|
105
|
-
return /* @__PURE__ */ f(i.Head, {
|
|
42
|
+
}, K = u((e) => typeof v == "function" ? v(e) : e[v], [v]), q = d(() => !H || _.length === 0 ? !1 : _.every((e) => H.selectedRowKeys.includes(K(e))), [
|
|
43
|
+
_,
|
|
44
|
+
H,
|
|
45
|
+
K
|
|
46
|
+
]), J = d(() => H ? !q && _.some((e) => H.selectedRowKeys.includes(K(e))) : !1, [
|
|
47
|
+
_,
|
|
48
|
+
H,
|
|
49
|
+
q,
|
|
50
|
+
K
|
|
51
|
+
]), Y = (e) => {
|
|
52
|
+
if (!H) return;
|
|
53
|
+
let t = e.target.checked, n = t ? _.map(K) : [], r = t ? _ : [];
|
|
54
|
+
H.onChange(n, r);
|
|
55
|
+
}, X = (e, t) => {
|
|
56
|
+
if (!H) return;
|
|
57
|
+
let n = t.target.checked, r = K(e), i = n ? [...H.selectedRowKeys, r] : H.selectedRowKeys.filter((e) => e !== r), a = _.filter((e) => i.includes(K(e)));
|
|
58
|
+
H.onChange(i, a);
|
|
59
|
+
}, { focusedCell: Z, handleKeyDown: Q, containerRef: $ } = s(g, _, !!H), { loaderRef: ee } = c(P), te = g.length + +!!H, [ne, re] = f("");
|
|
60
|
+
return /* @__PURE__ */ h("div", {
|
|
61
|
+
className: p("wim-data-grid", l.root, V && l.loading, D === "md" ? l.mobileCardMd : D && l.mobileCard, F),
|
|
62
|
+
"aria-busy": B || void 0,
|
|
63
|
+
children: [
|
|
64
|
+
/* @__PURE__ */ m(n, {
|
|
65
|
+
role: "status",
|
|
66
|
+
"aria-atomic": "true",
|
|
67
|
+
children: ne
|
|
68
|
+
}),
|
|
69
|
+
/* @__PURE__ */ h("div", {
|
|
70
|
+
className: l.container,
|
|
71
|
+
style: {
|
|
72
|
+
height: w,
|
|
73
|
+
maxHeight: T
|
|
74
|
+
},
|
|
75
|
+
inert: V || void 0,
|
|
76
|
+
children: [
|
|
77
|
+
/* @__PURE__ */ h(a, {
|
|
78
|
+
ref: $,
|
|
79
|
+
onKeyDown: Q,
|
|
80
|
+
tabIndex: 0,
|
|
81
|
+
role: "grid",
|
|
82
|
+
"aria-label": R ? void 0 : L ?? I ?? z("a11y.data_grid"),
|
|
83
|
+
"aria-labelledby": R,
|
|
84
|
+
"aria-rowcount": _.length + 1,
|
|
85
|
+
"aria-colcount": te,
|
|
86
|
+
striped: b,
|
|
87
|
+
bordered: x,
|
|
88
|
+
hoverable: S,
|
|
89
|
+
stickyHeader: C,
|
|
90
|
+
mobileCard: D,
|
|
91
|
+
fullWidth: !0,
|
|
92
|
+
className: p("wim-table", l.table),
|
|
93
|
+
containerClassName: l.tableContainer,
|
|
94
|
+
children: [/* @__PURE__ */ m(a.Header, { children: /* @__PURE__ */ h(a.Row, { children: [H && /* @__PURE__ */ m(a.Head, {
|
|
106
95
|
role: "columnheader",
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
sortable: !!(e.sortable && A),
|
|
112
|
-
sortDirection: k?.key === e.key ? k.direction : "none",
|
|
113
|
-
onSort: () => {
|
|
114
|
-
if (!e.sortable || !A) return;
|
|
115
|
-
let t = k?.key === e.key ? k.direction === "asc" ? "desc" : k.direction === "desc" ? "none" : "asc" : "asc";
|
|
116
|
-
A(e.key, t);
|
|
117
|
-
},
|
|
118
|
-
...n,
|
|
119
|
-
tabIndex: Y.row === -1 && Y.col === (B ? t + 1 : t) ? 0 : -1,
|
|
96
|
+
selection: !0,
|
|
97
|
+
stickyLeft: !0,
|
|
98
|
+
leftOffset: 0,
|
|
99
|
+
stickyZIndex: 1150,
|
|
120
100
|
"data-row": -1,
|
|
121
|
-
"data-col":
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
101
|
+
"data-col": -1,
|
|
102
|
+
"aria-label": z("a11y.select_all_rows"),
|
|
103
|
+
tabIndex: Z.row === -1 && Z.col === -1 ? 0 : -1,
|
|
104
|
+
children: (H.type ?? "checkbox") === "checkbox" && /* @__PURE__ */ m(r, {
|
|
105
|
+
checked: q,
|
|
106
|
+
indeterminate: J,
|
|
107
|
+
onChange: Y,
|
|
108
|
+
"aria-label": z("a11y.select_all_rows")
|
|
109
|
+
})
|
|
110
|
+
}), g.map((e, t) => {
|
|
111
|
+
let n = G(e.key, !0);
|
|
112
|
+
return /* @__PURE__ */ m(a.Head, {
|
|
113
|
+
role: "columnheader",
|
|
114
|
+
style: {
|
|
115
|
+
width: e.width,
|
|
116
|
+
minWidth: e.width
|
|
117
|
+
},
|
|
118
|
+
sortable: !!(e.sortable && M),
|
|
119
|
+
sortDirection: j?.key === e.key ? j.direction : "none",
|
|
120
|
+
onSort: () => {
|
|
121
|
+
if (!e.sortable || !M) return;
|
|
122
|
+
let t = j?.key === e.key ? j.direction === "asc" ? "desc" : j.direction === "desc" ? "none" : "asc" : "asc", n = typeof e.title == "string" ? e.title : e.key;
|
|
123
|
+
re(z(t === "asc" ? "dataGrid.sorted_ascending" : t === "desc" ? "dataGrid.sorted_descending" : "dataGrid.sort_cleared", { column: n })), M(e.key, t);
|
|
124
|
+
},
|
|
125
|
+
...n,
|
|
126
|
+
tabIndex: Z.row === -1 && Z.col === (H ? t + 1 : t) ? 0 : -1,
|
|
127
|
+
"data-row": -1,
|
|
128
|
+
"data-col": H ? t + 1 : t,
|
|
129
|
+
children: e.title
|
|
130
|
+
}, e.key);
|
|
131
|
+
})] }) }), /* @__PURE__ */ m(a.Body, { children: _.map((e, t) => {
|
|
132
|
+
let n = K(e), i = H?.selectedRowKeys.includes(n);
|
|
133
|
+
return /* @__PURE__ */ h(a.Row, {
|
|
134
|
+
selected: i,
|
|
135
|
+
children: [H && /* @__PURE__ */ m(a.Cell, {
|
|
145
136
|
role: "gridcell",
|
|
146
|
-
|
|
147
|
-
|
|
137
|
+
selection: !0,
|
|
138
|
+
stickyLeft: !0,
|
|
139
|
+
leftOffset: 0,
|
|
140
|
+
stickyZIndex: 150,
|
|
148
141
|
"data-row": t,
|
|
149
|
-
"data-col":
|
|
150
|
-
tabIndex:
|
|
151
|
-
children:
|
|
152
|
-
|
|
153
|
-
|
|
142
|
+
"data-col": -1,
|
|
143
|
+
tabIndex: Z.row === t && Z.col === -1 ? 0 : -1,
|
|
144
|
+
children: /* @__PURE__ */ m(r, {
|
|
145
|
+
checked: i,
|
|
146
|
+
onChange: (t) => X(e, t),
|
|
147
|
+
"aria-label": z("a11y.select_row_numbered", { row: t + 1 })
|
|
154
148
|
})
|
|
155
|
-
}, n
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
149
|
+
}), g.map((n, r) => {
|
|
150
|
+
let i = G(n.key, !1), o = e[n.dataIndex ?? n.key];
|
|
151
|
+
return /* @__PURE__ */ m(a.Cell, {
|
|
152
|
+
role: "gridcell",
|
|
153
|
+
label: typeof n.title == "string" ? n.title : void 0,
|
|
154
|
+
...i,
|
|
155
|
+
"data-row": t,
|
|
156
|
+
"data-col": H ? r + 1 : r,
|
|
157
|
+
tabIndex: Z.row === t && Z.col === (H ? r + 1 : r) ? 0 : -1,
|
|
158
|
+
children: n.maxWidth == null ? n.render ? n.render(o, e, t) : o : /* @__PURE__ */ m("div", {
|
|
159
|
+
style: { maxWidth: n.maxWidth },
|
|
160
|
+
children: n.render ? n.render(o, e, t) : o
|
|
161
|
+
})
|
|
162
|
+
}, n.key);
|
|
163
|
+
})]
|
|
164
|
+
}, n);
|
|
165
|
+
}) })]
|
|
166
|
+
}),
|
|
167
|
+
_.length === 0 && E && /* @__PURE__ */ m("div", {
|
|
168
|
+
role: "status",
|
|
169
|
+
className: l.empty,
|
|
170
|
+
children: E
|
|
171
|
+
}),
|
|
172
|
+
P?.hasMore && /* @__PURE__ */ m("div", {
|
|
173
|
+
ref: ee,
|
|
174
|
+
className: l.loader,
|
|
175
|
+
children: P.hasMore && z("dataGrid.loading_more")
|
|
176
|
+
})
|
|
177
|
+
]
|
|
178
|
+
}),
|
|
179
|
+
N && /* @__PURE__ */ h("div", {
|
|
180
|
+
className: l.footer,
|
|
181
|
+
inert: V || void 0,
|
|
182
|
+
children: [/* @__PURE__ */ h("div", {
|
|
183
|
+
className: l.info,
|
|
184
|
+
children: [z("dataGrid.displaying", {
|
|
185
|
+
shown: _.length,
|
|
186
|
+
total: N.total
|
|
187
|
+
}), H?.selectedRowKeys && H.selectedRowKeys.length > 0 && /* @__PURE__ */ m("span", {
|
|
188
|
+
className: l.selectionInfo,
|
|
189
|
+
children: z("dataGrid.rows_selected", { selected: H.selectedRowKeys.length })
|
|
190
|
+
})]
|
|
191
|
+
}), /* @__PURE__ */ m("div", {
|
|
192
|
+
className: l.pagination,
|
|
193
|
+
children: /* @__PURE__ */ m(i, {
|
|
194
|
+
className: l.paginationContent,
|
|
195
|
+
current: N.current,
|
|
196
|
+
total: N.total,
|
|
197
|
+
pageSize: N.pageSize,
|
|
198
|
+
onChange: N.onChange
|
|
199
|
+
})
|
|
182
200
|
})]
|
|
183
|
-
})
|
|
184
|
-
|
|
185
|
-
children: /* @__PURE__ */ f(r, {
|
|
186
|
-
className: c.paginationContent,
|
|
187
|
-
current: j.current,
|
|
188
|
-
total: j.total,
|
|
189
|
-
pageSize: j.pageSize,
|
|
190
|
-
onChange: j.onChange
|
|
191
|
-
})
|
|
192
|
-
})]
|
|
193
|
-
})]
|
|
201
|
+
})
|
|
202
|
+
]
|
|
194
203
|
});
|
|
195
204
|
}
|
|
196
205
|
//#endregion
|
|
197
|
-
export {
|
|
206
|
+
export { g as DataGrid };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../i18n/generated/common.cjs"),r=require("../../../icon/plus.cjs"),ee=require("../../../icon/trash.cjs"),i=require("../../media/Icon/Icon.cjs");;/* empty css */const a=require("./node-graph.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("@xyflow/react");var u=[`Backspace`,`Delete`],d=180,f=80;function p(e){let t=1,n=new Set(e.map(e=>e.id));for(;n.has(`node-${t}`);)t+=1;return`node-${t}`}function m(e){if(e.length===0)return{x:f,y:f};let t=Math.max(...e.map(e=>e.position.x)),n=e[e.length-1]?.position.y??f;return{x:t+d,y:n}}var h=o.default.forwardRef(({nodes:e,edges:d,onNodesChange:f,onEdgesChange:h,onConnect:g,nodeTypes:_,edgeTypes:v,nodesDraggable:y=!0,nodesConnectable:b=!0,deleteKeyCode:x,showMiniMap:S=!1,showControls:C=!0,backgroundVariant:w=l.BackgroundVariant.Dots,fitView:T=!0,fitViewOptions:E,defaultEdgeOptions:D,className:O,"aria-label":k,...A},j)=>{let{t:M}=t.useWimTranslation(n.commonNs),N=k??M(`nodeGraph.label`),P=M(`nodeGraph.add_node`),F=M(`nodeGraph.node_name`),I=M(`nodeGraph.new_node`),L=M(`a11y.delete`),R=x===void 0?[...u]:x,z=R!=null,[B,V]=(0,o.useState)(!1),[H,U]=(0,o.useState)(``),W=(0,o.useRef)(null),G=(0,o.useMemo)(()=>e.filter(e=>e.selected),[e]),K=(0,o.useMemo)(()=>d.filter(e=>e.selected),[d]),q=G.length>0||K.length>0,J=H.trim(),Y=R==null?void 0:Array.isArray(R)?R.join(` `):R;(0,o.useEffect)(()=>{B&&W.current?.focus()},[B]);let X=(0,o.useCallback)(()=>{z&&J&&(f([{type:`add`,item:{id:p(e),position:m(e),data:{label:J}}}]),V(!1),U(``))},[z,J,e,f]),Z=(0,o.useCallback)(()=>{
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../i18n/generated/common.cjs"),r=require("../../../icon/plus.cjs"),ee=require("../../../icon/trash.cjs"),i=require("../../media/Icon/Icon.cjs");;/* empty css */const a=require("./node-graph.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("@xyflow/react");var u=[`Backspace`,`Delete`],d=180,f=80;function p(e){let t=1,n=new Set(e.map(e=>e.id));for(;n.has(`node-${t}`);)t+=1;return`node-${t}`}function m(e){if(e.length===0)return{x:f,y:f};let t=Math.max(...e.map(e=>e.position.x)),n=e[e.length-1]?.position.y??f;return{x:t+d,y:n}}var h=o.default.forwardRef(({nodes:e,edges:d,onNodesChange:f,onEdgesChange:h,onConnect:g,nodeTypes:_,edgeTypes:v,nodesDraggable:y=!0,nodesConnectable:b=!0,deleteKeyCode:x,showMiniMap:S=!1,showControls:C=!0,backgroundVariant:w=l.BackgroundVariant.Dots,fitView:T=!0,fitViewOptions:E,defaultEdgeOptions:D,className:O,"aria-label":k,...A},j)=>{let{t:M}=t.useWimTranslation(n.commonNs),N=k??M(`nodeGraph.label`),P=M(`nodeGraph.add_node`),F=M(`nodeGraph.node_name`),I=M(`nodeGraph.new_node`),L=M(`a11y.delete`),R=x===void 0?[...u]:x,z=R!=null,[B,V]=(0,o.useState)(!1),[H,U]=(0,o.useState)(``),W=(0,o.useRef)(null),G=(0,o.useMemo)(()=>e.filter(e=>e.selected),[e]),K=(0,o.useMemo)(()=>d.filter(e=>e.selected),[d]),q=G.length>0||K.length>0,J=H.trim(),Y=R==null?void 0:Array.isArray(R)?R.join(` `):R;(0,o.useEffect)(()=>{B&&W.current?.focus()},[B]);let X=(0,o.useCallback)(()=>{z&&J&&(f([{type:`add`,item:{id:p(e),position:m(e),data:{label:J}}}]),V(!1),U(``))},[z,J,e,f]),Z=(0,o.useCallback)(()=>{z&&(B?X():V(!0))},[z,B,X]),Q=(0,o.useCallback)(e=>{e.stopPropagation(),e.key===`Enter`&&(e.preventDefault(),X()),e.key===`Escape`&&(e.preventDefault(),V(!1),U(``))},[X]),te=(0,o.useCallback)(()=>{if(!z||!q)return;let e=new Set(G.map(e=>e.id)),t=new Set(K.map(e=>e.id));for(let n of d)(e.has(n.source)||e.has(n.target))&&t.add(n.id);t.size>0&&h([...t].map(e=>({type:`remove`,id:e}))),e.size>0&&f([...e].map(e=>({type:`remove`,id:e})))},[z,q,G,K,d,h,f]),$=(0,o.useCallback)(e=>{e.stopPropagation()},[]);return(0,c.jsxs)(`div`,{ref:j,className:(0,s.default)(`wim-node-graph`,a.default.root,O),role:`region`,"aria-label":N,...A,children:[(0,c.jsxs)(l.ReactFlow,{nodes:e,edges:d,onNodesChange:f,onEdgesChange:h,onConnect:g,nodeTypes:_,edgeTypes:v,nodesDraggable:y,nodesConnectable:b,deleteKeyCode:R,fitView:T,fitViewOptions:E,defaultEdgeOptions:D,className:a.default.flow,children:[(0,c.jsx)(l.Background,{variant:w,className:a.default.background}),C&&(0,c.jsx)(l.Controls,{className:a.default.controls}),S&&(0,c.jsx)(l.MiniMap,{className:a.default.miniMap})]}),z&&(0,c.jsxs)(`div`,{className:a.default.tools,children:[B&&(0,c.jsx)(`input`,{ref:W,className:(0,s.default)(`nodrag`,`nopan`,a.default.name),value:H,onChange:e=>U(e.target.value),onKeyDown:Q,onPointerDown:$,onMouseDown:$,"aria-label":F,placeholder:I}),(0,c.jsxs)(`div`,{className:a.default.toolRow,children:[(0,c.jsxs)(`button`,{type:`button`,className:(0,s.default)(`nodrag`,`nopan`,a.default.tool),disabled:B&&!J,onClick:Z,onPointerDown:$,onMouseDown:$,"aria-label":P,"aria-expanded":B,children:[(0,c.jsx)(i.Icon,{component:r.default,size:`sm`}),P]}),(0,c.jsxs)(`button`,{type:`button`,className:(0,s.default)(`nodrag`,`nopan`,a.default.tool),disabled:!q,onClick:te,onPointerDown:$,onMouseDown:$,"aria-label":L,"aria-keyshortcuts":Y,children:[(0,c.jsx)(i.Icon,{component:ee.default,size:`sm`}),L]})]})]})]})});h.displayName=`NodeGraph`,exports.NodeGraph=h;
|
|
@@ -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("../../../hooks/useMergedRef.cjs"),i=require("../../../node_modules/@fullcalendar/core/locales/ja.cjs"),a=require("../../../node_modules/@fullcalendar/core/locales/pt.cjs"),o=require("../../../node_modules/@fullcalendar/core/locales/pt-br.cjs"),s=require("./schedule-view.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"),d=require("@fullcalendar/react");d=e.__toESM(d,1);let f=require("@fullcalendar/timegrid");f=e.__toESM(f,1);let p=require("@fullcalendar/daygrid");p=e.__toESM(p,1);let m=require("@fullcalendar/interaction");m=e.__toESM(m,1);var h=[i.default,a.default,o.default],g=[f.default,p.default,m.default],_={left:`prev,next today`,center:`title`,right:`dayGridMonth,timeGridWeek,timeGridDay`},v=c.default.forwardRef(({events:e=[],initialView:i=`timeGridWeek`,editable:a=!0,selectable:o=!0,onEventClick:f,onEventDrop:p,onEventChange:m,onDateSelect:v,unselectAuto:y=!0,slotMinTime:b=`08:00:00`,slotMaxTime:x=`20:00:00`,slotDuration:S=`00:30:00`,locale:C=`en`,className:w,"aria-label":T,...E},D)=>{let{t:O}=t.useWimTranslation(n.commonNs),k=T??O(`scheduleView.label`),A=(0,c.useRef)(null),j=(0,c.useRef)(null),M=r.useMergedRef(D,j);return(0,c.useEffect)(()=>{let e=j.current;if(!e)return;let t=()=>{e.querySelectorAll(`.fc-icon[role="img"]:not([aria-hidden])`).forEach(e=>e.setAttribute(`aria-hidden`,`true`)),e.querySelectorAll(`a.fc-more-link:not([role])`).forEach(e=>e.setAttribute(`role`,`button`)),e.querySelectorAll(`.fc-scroller`).forEach(e=>{let t=e;t.scrollHeight>t.clientHeight+1||t.scrollWidth>t.clientWidth+1?t.setAttribute(`tabindex`,`0`):t.getAttribute(`tabindex`)===`0`&&t.removeAttribute(`tabindex`)})};t();let n=new MutationObserver(t);n.observe(e,{childList:!0,subtree:!0});let r=typeof ResizeObserver>`u`?null:new ResizeObserver(t);return r?.observe(e),()=>{n.disconnect(),r?.disconnect()}},[]),(0,u.jsx)(`div`,{ref:M,className:(0,l.default)(`wim-schedule-view`,s.default.root,w),role:`region`,"aria-label":k,...E,children:(0,u.jsx)(d.default,{ref:A,plugins:g,initialView:i,headerToolbar:_,events:e,editable:a,selectable:o,selectMirror:!0,unselectAuto:y,dayMaxEvents:!0,weekends:!0,slotMinTime:b,slotMaxTime:x,slotDuration:S,locale:C,locales:h,eventColor:`var(--wim-color-primary)`,eventTextColor:`var(--wim-color-text-on-primary)`,eventClick:f,eventDrop:p,eventChange:m,select:v,height:`auto`})})});v.displayName=`ScheduleView`,exports.ScheduleView=v;
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../i18n/generated/common.cjs"),r=require("../../../hooks/useMergedRef.cjs"),i=require("../../../node_modules/@fullcalendar/core/locales/ja.cjs"),a=require("../../../node_modules/@fullcalendar/core/locales/pt.cjs"),o=require("../../../node_modules/@fullcalendar/core/locales/pt-br.cjs"),s=require("./schedule-view.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"),d=require("@fullcalendar/react");d=e.__toESM(d,1);let f=require("@fullcalendar/timegrid");f=e.__toESM(f,1);let p=require("@fullcalendar/daygrid");p=e.__toESM(p,1);let m=require("@fullcalendar/interaction");m=e.__toESM(m,1);var h=[i.default,a.default,o.default],g=[f.default,p.default,m.default],_={left:`prev,next today`,center:`title`,right:`dayGridMonth,timeGridWeek,timeGridDay`},v=c.default.forwardRef(({events:e=[],initialView:i=`timeGridWeek`,editable:a=!0,selectable:o=!0,onEventClick:f,onEventDrop:p,onEventChange:m,onDateSelect:v,unselectAuto:y=!0,slotMinTime:b=`08:00:00`,slotMaxTime:x=`20:00:00`,slotDuration:S=`00:30:00`,locale:C=`en`,className:w,"aria-label":T,...E},D)=>{let{t:O}=t.useWimTranslation(n.commonNs),k=T??O(`scheduleView.label`),A=(0,c.useRef)(null),j=(0,c.useRef)(null),M=r.useMergedRef(D,j);return(0,c.useEffect)(()=>{let e=j.current;if(!e)return;let t=()=>{e.querySelectorAll(`.fc-icon[role="img"]:not([aria-hidden])`).forEach(e=>e.setAttribute(`aria-hidden`,`true`)),e.querySelectorAll(`td.fc-daygrid-day[aria-labelledby]`).forEach(e=>{e.querySelector(`.fc-daygrid-event`)&&e.removeAttribute(`aria-labelledby`)}),e.querySelectorAll(`a.fc-more-link:not([role])`).forEach(e=>e.setAttribute(`role`,`button`)),e.querySelectorAll(`.fc-scroller`).forEach(e=>{let t=e;t.scrollHeight>t.clientHeight+1||t.scrollWidth>t.clientWidth+1?t.setAttribute(`tabindex`,`0`):t.getAttribute(`tabindex`)===`0`&&t.removeAttribute(`tabindex`)})};t();let n=new MutationObserver(t);n.observe(e,{childList:!0,subtree:!0});let r=typeof ResizeObserver>`u`?null:new ResizeObserver(t);return r?.observe(e),()=>{n.disconnect(),r?.disconnect()}},[]),(0,u.jsx)(`div`,{ref:M,className:(0,l.default)(`wim-schedule-view`,s.default.root,w),role:`region`,"aria-label":k,...E,children:(0,u.jsx)(d.default,{ref:A,plugins:g,initialView:i,headerToolbar:_,events:e,editable:a,selectable:o,selectMirror:!0,unselectAuto:y,dayMaxEvents:!0,weekends:!0,slotMinTime:b,slotMaxTime:x,slotDuration:S,locale:C,locales:h,eventColor:`var(--wim-color-primary)`,eventTextColor:`var(--wim-color-text-on-primary)`,eventClick:f,eventDrop:p,eventChange:m,select:v,height:`auto`})})});v.displayName=`ScheduleView`,exports.ScheduleView=v;
|
|
@@ -32,7 +32,9 @@ var g = [
|
|
|
32
32
|
let e = M.current;
|
|
33
33
|
if (!e) return;
|
|
34
34
|
let t = () => {
|
|
35
|
-
e.querySelectorAll(".fc-icon[role=\"img\"]:not([aria-hidden])").forEach((e) => e.setAttribute("aria-hidden", "true")), e.querySelectorAll("
|
|
35
|
+
e.querySelectorAll(".fc-icon[role=\"img\"]:not([aria-hidden])").forEach((e) => e.setAttribute("aria-hidden", "true")), e.querySelectorAll("td.fc-daygrid-day[aria-labelledby]").forEach((e) => {
|
|
36
|
+
e.querySelector(".fc-daygrid-event") && e.removeAttribute("aria-labelledby");
|
|
37
|
+
}), e.querySelectorAll("a.fc-more-link:not([role])").forEach((e) => e.setAttribute("role", "button")), e.querySelectorAll(".fc-scroller").forEach((e) => {
|
|
36
38
|
let t = e;
|
|
37
39
|
t.scrollHeight > t.clientHeight + 1 || t.scrollWidth > t.clientWidth + 1 ? t.setAttribute("tabindex", "0") : t.getAttribute("tabindex") === "0" && t.removeAttribute("tabindex");
|
|
38
40
|
});
|
|
@@ -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("../../_internal/composeEventHandlers.cjs"),r=require("../../media/Icon/Icon.cjs"),i=require("./swipe-action.module.cjs"),a=require("./SwipeableList.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("classnames");s=e.__toESM(s,1);let c=require("react/jsx-runtime");var l=o.default.forwardRef(({as:e=`div`,leftActions:l=[],rightActions:u=[],children:d,asChild:f=!1,id:p,closeOnAction:m=!0,fullSwipe:h,className:g,..._},v)=>{let y=(0,o.useId)(),b=p||y,x=a.useSwipeableList(),[S,C]=(0,o.useState)(0),[w,T]=(0,o.useState)(!1),E=(0,o.useRef)(0),D=(0,o.useRef)(0),O=(0,o.useRef)(null);(0,o.useImperativeHandle)(v,()=>({close:()=>{C(0),x?.reportClose(b)}}));let k=(0,o.useRef)(!1);(0,o.useEffect)(()=>{if(w)
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../node_modules/@radix-ui/react-slot/dist/index.cjs"),n=require("../../_internal/composeEventHandlers.cjs"),r=require("../../media/Icon/Icon.cjs"),i=require("./swipe-action.module.cjs"),a=require("./SwipeableList.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("classnames");s=e.__toESM(s,1);let c=require("react/jsx-runtime");var l=o.default.forwardRef(({as:e=`div`,leftActions:l=[],rightActions:u=[],children:d,asChild:f=!1,id:p,closeOnAction:m=!0,fullSwipe:h,className:g,..._},v)=>{let y=(0,o.useId)(),b=p||y,x=a.useSwipeableList(),[S,C]=(0,o.useState)(0),[w,T]=(0,o.useState)(!1),E=(0,o.useRef)(0),D=(0,o.useRef)(0),O=(0,o.useRef)(null);(0,o.useImperativeHandle)(v,()=>({close:()=>{C(0),x?.reportClose(b)}}));let k=(0,o.useRef)(!1);(0,o.useEffect)(()=>{if(w)k.current=!0;else{if(k.current){let e=setTimeout(()=>{k.current=!1},100);return()=>clearTimeout(e)}x?.openedId&&x.openedId!==b&&C(0)}},[x?.openedId,b,w]);let A=l.length*80,j=u.length*80,M=A>0&&(h===`left`||h===`both`),N=j>0&&(h===`right`||h===`both`),P=O.current?.offsetWidth??0,F=e=>Math.max(e+40,P/2),I=w&&M&&S>=F(A)?`left`:w&&N&&-S>=F(j)?`right`:null,L=e=>{E.current=`touches`in e?e.touches[0].clientX:e.clientX,D.current=S,T(!0)},R=e=>{if(!w)return;let t=(`touches`in e?e.touches[0].clientX:e.clientX)-E.current,n=D.current+t;Math.abs(t)>5&&x?.openedId!==b&&x?.reportOpen(b),n>A&&!M&&(n=A+(n-A)*.3),n<-j&&!N&&(n=-j+(n+j)*.3),C(n)},z=(e=!0)=>{if(w){if(T(!1),I){let t=I===`left`?l[0]:u[u.length-1];if(e){G(t),m||(C(I===`left`?A:-j),x?.reportOpen(b));return}}S>A/2?(C(A),x?.reportOpen(b)):S<-j/2?(C(-j),x?.reportOpen(b)):(C(0),x?.reportClose(b))}},B=f?t.Root:`div`,V=(0,o.useRef)(null),H=A>0||j>0,U=e=>{let t=e===`left`?A:-j;S!==t&&C(t),x?.reportOpen(b)},W=e=>{let t=e.relatedTarget;t&&O.current?.contains(t)||S!==0&&!w&&(C(0),x?.reportClose(b))},G=(e,t)=>{e.onClick(),m&&(C(0),x?.reportClose(b),t&&document.activeElement===t&&V.current?.focus())},K=(e,t,n)=>{let a=e===`left`?M:N,o=e===`left`?Math.max(0,S):Math.max(0,-S),l=e===`left`?0:t.length-1;return(0,c.jsx)(`div`,{className:(0,s.default)(i.default.actions,i.default[e],a&&o>n&&i.default.stretched,I===e&&i.default.armed),style:{width:a?Math.max(n,o):n,"--_action-w":`80px`},children:t.map((t,n)=>(0,c.jsxs)(`button`,{className:(0,s.default)(i.default.action,t.intent&&i.default[t.intent],a&&n===l&&i.default.outer),style:{backgroundColor:t.color},onFocus:()=>U(e),onClick:e=>G(t,e.currentTarget),type:`button`,children:[(0,c.jsx)(r.Icon,{name:t.icon,size:`md`}),(0,c.jsx)(`span`,{className:i.default.label,children:t.label})]},n))})};return(0,c.jsxs)(e,{ref:O,className:(0,s.default)(`wim-swipe-action`,i.default.container,g),..._,onMouseLeave:n.composeEventHandlers(_.onMouseLeave,()=>z(!1)),onBlur:n.composeEventHandlers(_.onBlur,W),children:[(0,c.jsx)(B,{ref:V,className:i.default.content,tabIndex:H?-1:void 0,style:{transform:`translateX(${S}px)`,transition:w?`none`:`transform 0.4s cubic-bezier(0.16, 1, 0.3, 1)`},onTouchStart:L,onTouchMove:R,onTouchEnd:()=>z(),onMouseDown:L,onMouseMove:R,onMouseUp:()=>z(),children:d}),A>0&&K(`left`,l,A),j>0&&K(`right`,u,j)]})});l.displayName=`SwipeAction`,exports.SwipeAction=l;
|
|
@@ -15,17 +15,16 @@ var m = a.forwardRef(({ as: a = "div", leftActions: m = [], rightActions: h = []
|
|
|
15
15
|
} }));
|
|
16
16
|
let P = l(!1);
|
|
17
17
|
o(() => {
|
|
18
|
-
if (k)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
18
|
+
if (k) P.current = !0;
|
|
19
|
+
else {
|
|
20
|
+
if (P.current) {
|
|
21
|
+
let e = setTimeout(() => {
|
|
22
|
+
P.current = !1;
|
|
23
|
+
}, 100);
|
|
24
|
+
return () => clearTimeout(e);
|
|
25
|
+
}
|
|
26
|
+
E?.openedId && E.openedId !== T && O(0);
|
|
27
27
|
}
|
|
28
|
-
E?.openedId && E.openedId !== T && O(0);
|
|
29
28
|
}, [
|
|
30
29
|
E?.openedId,
|
|
31
30
|
T,
|
|
@@ -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/minus.cjs"),i=require("../../media/Icon/Icon.cjs"),a=require("./layoutTree.cjs"),o=require("./tree-diagram.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=200,d=64,f=24,p=48,m=(e,t=[])=>{for(let n of e)n.children?.length&&(t.push(n.value),m(n.children,t));return t},h=(e,t=new Map)=>{for(let n of e)t.set(n.value,n),n.children&&h(n.children,t);return t},g=e=>typeof e.label==`string`?e.label:e.value,_=s.default.forwardRef(({nodes:e,orientation:_=`vertical`,expandedValues:v,defaultExpandedValues:y,onExpandedChange:b,selectedValue:x,onSelect:S,renderNode:C,nodeWidth:w=u,nodeHeight:T=d,labels:E,className:D,"aria-label":O,...k},A)=>{let{t:j}=t.useWimTranslation(n.componentsNs),M=s.default.useId(),N=E?.expand??(e=>j(`treediagram.expand`,{label:e})),P=E?.collapse??(e=>j(`treediagram.collapse`,{label:e})),[F,I]=(0,s.useState)(()=>y??m(e)),L=v??F,R=(0,s.useMemo)(()=>new Set(L),[L]),z=(0,s.useCallback)(e=>{v===void 0&&I(e),b?.(e)},[v,b]),B=(0,s.useCallback)(e=>z(R.has(e)?L.filter(t=>t!==e):[...L,e]),[L,R,z]),V=(0,s.useMemo)(()=>h(e),[e]),H=(0,s.useMemo)(()=>a.layoutTree(e,{nodeWidth:w,nodeHeight:T,siblingGap:f,levelGap:p,orientation:_,isExpanded:e=>R.has(e)}),[e,w,T,_,R]),U=(0,s.useMemo)(()=>new Map(H.nodes.map(e=>[e.value,e])),[H]),[W,G]=(0,s.useState)(null),K=W!==null&&U.has(W)?W:null,q=K??x??H.nodes[0]?.value??null,J=(0,s.useRef)(new Map),Y=(0,s.useRef)(!1);(0,s.useEffect)(()=>{if(W===null||U.has(W))return;let e=W,t=e=>{for(let[t,n]of V)if(n.children?.some(t=>t.value===e))return t;return null};for(;e&&!U.has(e);)e=t(e);G(e??null),Y.current=!0},[W,U,V]),(0,s.useEffect)(()=>{if(!Y.current||K===null)return;Y.current=!1;let e=J.current.get(K);e?.focus(),e?.scrollIntoView?.({block:`nearest`,inline:`nearest`})},[K]);let X=e=>{e!==void 0&&(Y.current=!0,G(e))},Z=(e,t,n)=>{let r=H.nodes,i=R.has(t.value);switch(e.key){case`ArrowDown`:X(r[n+1]?.value);break;case`ArrowUp`:X(r[n-1]?.value);break;case`Home`:X(r[0]?.value);break;case`End`:X(r[r.length-1]?.value);break;case`ArrowRight`:t.hasChildren&&!i?B(t.value):t.hasChildren&&X(r[n+1]?.value);break;case`ArrowLeft`:t.hasChildren&&i?B(t.value):t.parent!==null&&X(t.parent);break;case`Enter`:case` `:if(!S)return;S(t.value);break;default:return}e.preventDefault()},Q=_===`vertical`,$=(e,t)=>{if(Q){let n=e.x+w/2,r=e.y+T,i=t.x+w/2;return`M${n} ${r}V${r+p/2}H${i}V${t.y}`}let n=e.x+w,r=e.y+T/2,i=t.y+T/2;return`M${n} ${r}H${n+p/2}V${i}H${t.x}`};return(0,l.jsx)(`div`,{ref:A,role:`tree`,"aria-label":O??j(`treediagram.aria`),"aria-orientation":_,className:(0,c.default)(`wim-tree-diagram`,o.default.root,Q?o.default.vertical:o.default.horizontal,D),...k,children:(0,l.jsxs)(`div`,{className:o.default.canvas,style:{width:H.width,height:H.height},children:[(0,l.jsx)(`svg`,{className:o.default.edges,width:H.width,height:H.height,"aria-hidden":`true`,focusable:`false`,children:H.edges.map(e=>(0,l.jsx)(`path`,{d:$(U.get(e.from),U.get(e.to))},`${e.from}>${e.to}`))}),H.nodes.map((e,t)=>{let n=V.get(e.value),a=R.has(e.value),s=x===e.value,u={depth:e.depth,expanded:a,selected:s,hiddenCount:e.hiddenCount},d=g(n);return(0,l.jsxs)(`div`,{ref:t=>{t?J.current.set(e.value,t):J.current.delete(e.value)},role:`treeitem`,"aria-level":e.depth+1,"aria-setsize":e.setSize,"aria-posinset":e.posInSet,"aria-expanded":e.hasChildren?a:void 0,"aria-selected":S?s:void 0,tabIndex:e.value===q?0:-1,"data-value":e.value,"aria-labelledby":C
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../i18n/generated/components.cjs"),r=require("../../../icon/minus.cjs"),i=require("../../media/Icon/Icon.cjs"),a=require("./layoutTree.cjs"),o=require("./tree-diagram.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=200,d=64,f=24,p=48,m=(e,t=[])=>{for(let n of e)n.children?.length&&(t.push(n.value),m(n.children,t));return t},h=(e,t=new Map)=>{for(let n of e)t.set(n.value,n),n.children&&h(n.children,t);return t},g=e=>typeof e.label==`string`?e.label:e.value,_=s.default.forwardRef(({nodes:e,orientation:_=`vertical`,expandedValues:v,defaultExpandedValues:y,onExpandedChange:b,selectedValue:x,onSelect:S,renderNode:C,nodeWidth:w=u,nodeHeight:T=d,labels:E,className:D,"aria-label":O,...k},A)=>{let{t:j}=t.useWimTranslation(n.componentsNs),M=s.default.useId(),N=E?.expand??(e=>j(`treediagram.expand`,{label:e})),P=E?.collapse??(e=>j(`treediagram.collapse`,{label:e})),[F,I]=(0,s.useState)(()=>y??m(e)),L=v??F,R=(0,s.useMemo)(()=>new Set(L),[L]),z=(0,s.useCallback)(e=>{v===void 0&&I(e),b?.(e)},[v,b]),B=(0,s.useCallback)(e=>z(R.has(e)?L.filter(t=>t!==e):[...L,e]),[L,R,z]),V=(0,s.useMemo)(()=>h(e),[e]),H=(0,s.useMemo)(()=>a.layoutTree(e,{nodeWidth:w,nodeHeight:T,siblingGap:f,levelGap:p,orientation:_,isExpanded:e=>R.has(e)}),[e,w,T,_,R]),U=(0,s.useMemo)(()=>new Map(H.nodes.map(e=>[e.value,e])),[H]),[W,G]=(0,s.useState)(null),K=W!==null&&U.has(W)?W:null,q=K??x??H.nodes[0]?.value??null,J=(0,s.useRef)(new Map),Y=(0,s.useRef)(!1);(0,s.useEffect)(()=>{if(W===null||U.has(W))return;let e=W,t=e=>{for(let[t,n]of V)if(n.children?.some(t=>t.value===e))return t;return null};for(;e&&!U.has(e);)e=t(e);G(e??null),Y.current=!0},[W,U,V]),(0,s.useEffect)(()=>{if(!Y.current||K===null)return;Y.current=!1;let e=J.current.get(K);e?.focus(),e?.scrollIntoView?.({block:`nearest`,inline:`nearest`})},[K]);let X=e=>{e!==void 0&&(Y.current=!0,G(e))},Z=(e,t,n)=>{let r=H.nodes,i=R.has(t.value);switch(e.key){case`ArrowDown`:X(r[n+1]?.value);break;case`ArrowUp`:X(r[n-1]?.value);break;case`Home`:X(r[0]?.value);break;case`End`:X(r[r.length-1]?.value);break;case`ArrowRight`:t.hasChildren&&!i?B(t.value):t.hasChildren&&X(r[n+1]?.value);break;case`ArrowLeft`:t.hasChildren&&i?B(t.value):t.parent!==null&&X(t.parent);break;case`Enter`:case` `:if(!S)return;S(t.value);break;default:return}e.preventDefault()},Q=_===`vertical`,$=(e,t)=>{if(Q){let n=e.x+w/2,r=e.y+T,i=t.x+w/2;return`M${n} ${r}V${r+p/2}H${i}V${t.y}`}let n=e.x+w,r=e.y+T/2,i=t.y+T/2;return`M${n} ${r}H${n+p/2}V${i}H${t.x}`};return(0,l.jsx)(`div`,{ref:A,role:`tree`,"aria-label":O??j(`treediagram.aria`),"aria-orientation":_,className:(0,c.default)(`wim-tree-diagram`,o.default.root,Q?o.default.vertical:o.default.horizontal,D),...k,children:(0,l.jsxs)(`div`,{className:o.default.canvas,style:{width:H.width,height:H.height},children:[(0,l.jsx)(`svg`,{className:o.default.edges,width:H.width,height:H.height,"aria-hidden":`true`,focusable:`false`,children:H.edges.map(e=>(0,l.jsx)(`path`,{d:$(U.get(e.from),U.get(e.to))},`${e.from}>${e.to}`))}),H.nodes.map((e,t)=>{let n=V.get(e.value),a=R.has(e.value),s=x===e.value,u={depth:e.depth,expanded:a,selected:s,hiddenCount:e.hiddenCount},d=g(n);return(0,l.jsxs)(`div`,{ref:t=>{t?J.current.set(e.value,t):J.current.delete(e.value)},role:`treeitem`,"aria-level":e.depth+1,"aria-setsize":e.setSize,"aria-posinset":e.posInSet,"aria-expanded":e.hasChildren?a:void 0,"aria-selected":S?s:void 0,tabIndex:e.value===q?0:-1,"data-value":e.value,"aria-labelledby":[!C&&n.avatar&&`${M}-${t}-a`,`${M}-${t}`,!C&&n.description&&`${M}-${t}-d`,e.hasChildren&&!a&&`${M}-${t}-c`].filter(Boolean).join(` `),className:(0,c.default)(o.default.node,s&&o.default.selected,S&&o.default.selectable),style:{left:e.x,top:e.y,width:w,height:T},title:d,onKeyDown:n=>Z(n,e,t),onFocus:()=>G(e.value),onClick:S?()=>S(e.value):void 0,children:[C?(0,l.jsx)(`span`,{id:`${M}-${t}`,className:o.default.custom,children:C(n,u)}):(0,l.jsxs)(`span`,{className:o.default.content,children:[n.avatar&&(0,l.jsx)(`span`,{id:`${M}-${t}-a`,className:o.default.avatar,children:n.avatar}),n.avatar&&` `,(0,l.jsxs)(`span`,{className:o.default.text,children:[(0,l.jsx)(`span`,{id:`${M}-${t}`,className:o.default.label,children:n.label}),n.description&&` `,n.description&&(0,l.jsx)(`span`,{id:`${M}-${t}-d`,className:o.default.description,children:n.description})]})]}),e.hasChildren&&` `,e.hasChildren&&(0,l.jsx)(`button`,{type:`button`,tabIndex:-1,className:o.default.toggle,"aria-label":a?P(d):`${N(d)} +${e.hiddenCount}`,onClick:t=>{t.stopPropagation(),B(e.value)},children:a?(0,l.jsx)(i.Icon,{component:r.default,size:`xs`}):(0,l.jsxs)(`span`,{id:`${M}-${t}-c`,children:[`+`,e.hiddenCount]})})]},e.value)})]})})});_.displayName=`TreeDiagram`,exports.TreeDiagram=_;
|