wimui 0.51.1 → 0.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/_internal/FeedbackCloseButton.cjs +1 -1
- package/dist/components/_internal/FeedbackCloseButton.js +14 -13
- package/dist/components/_internal/FieldLabelContent.cjs +1 -1
- package/dist/components/_internal/FieldLabelContent.js +18 -17
- package/dist/components/ai/AIResponseFeedback/AIResponseFeedback.cjs +1 -1
- package/dist/components/ai/AIResponseFeedback/AIResponseFeedback.js +46 -45
- package/dist/components/ai/AgentStatus/AgentStatus.cjs +1 -1
- package/dist/components/ai/AgentStatus/AgentStatus.js +24 -23
- package/dist/components/ai/ArtifactsOverlay/ArtifactsOverlay.cjs +1 -1
- package/dist/components/ai/ArtifactsOverlay/ArtifactsOverlay.js +47 -45
- package/dist/components/ai/ChatUI/ChatUI.cjs +1 -1
- package/dist/components/ai/ChatUI/ChatUI.js +82 -81
- package/dist/components/ai/CodeBlock/CodeBlock.cjs +3 -3
- package/dist/components/ai/CodeBlock/CodeBlock.js +53 -52
- package/dist/components/ai/CodeDiffViewer/CodeDiffViewer.cjs +2 -2
- package/dist/components/ai/CodeDiffViewer/CodeDiffViewer.js +105 -104
- package/dist/components/ai/MarkdownRenderer/MarkdownRenderer.cjs +1 -1
- package/dist/components/ai/MarkdownRenderer/MarkdownRenderer.js +60 -59
- package/dist/components/ai/ModelSelector/ModelSelector.cjs +1 -1
- package/dist/components/ai/ModelSelector/ModelSelector.js +122 -120
- package/dist/components/ai/ModelSelector/model-selector.module.cjs +1 -1
- package/dist/components/ai/ModelSelector/model-selector.module.js +1 -1
- package/dist/components/ai/PromptInput/PromptInput.cjs +1 -1
- package/dist/components/ai/PromptInput/PromptInput.js +76 -75
- package/dist/components/ai/SourceCitation/SourceCitation.cjs +1 -1
- package/dist/components/ai/SourceCitation/SourceCitation.js +39 -38
- package/dist/components/ai/Terminal/Terminal.cjs +2 -2
- package/dist/components/ai/Terminal/Terminal.js +65 -64
- package/dist/components/ai/ThreadList/ThreadList.cjs +1 -1
- package/dist/components/ai/ThreadList/ThreadList.js +64 -62
- package/dist/components/data-display/Accordion/accordion.module.cjs +1 -1
- package/dist/components/data-display/Accordion/accordion.module.js +1 -1
- package/dist/components/data-display/Barcode/Barcode.cjs +1 -1
- package/dist/components/data-display/Barcode/Barcode.js +76 -75
- package/dist/components/data-display/Calendar/Calendar.cjs +1 -1
- package/dist/components/data-display/Calendar/Calendar.js +75 -74
- package/dist/components/data-display/CalendarHeatmap/CalendarHeatmap.cjs +1 -1
- package/dist/components/data-display/CalendarHeatmap/CalendarHeatmap.js +54 -52
- package/dist/components/data-display/Carousel/Carousel.cjs +1 -1
- package/dist/components/data-display/Carousel/Carousel.js +24 -23
- package/dist/components/data-display/Chip/Chip.cjs +1 -1
- package/dist/components/data-display/Chip/Chip.js +36 -35
- package/dist/components/data-display/Comment/Comment.cjs +1 -1
- package/dist/components/data-display/Comment/Comment.js +58 -57
- package/dist/components/data-display/Countdown/Countdown.cjs +1 -1
- package/dist/components/data-display/Countdown/Countdown.js +56 -55
- package/dist/components/data-display/DataGrid/DataGrid.cjs +1 -1
- package/dist/components/data-display/DataGrid/DataGrid.js +128 -127
- package/dist/components/data-display/JsonViewer/JsonViewer.cjs +1 -1
- package/dist/components/data-display/JsonViewer/JsonViewer.js +153 -152
- package/dist/components/data-display/Kanban/Kanban.cjs +1 -1
- package/dist/components/data-display/Kanban/Kanban.js +95 -94
- package/dist/components/data-display/NodeGraph/NodeGraph.cjs +1 -1
- package/dist/components/data-display/NodeGraph/NodeGraph.js +67 -66
- package/dist/components/data-display/PivotTable/PivotTable.cjs +1 -1
- package/dist/components/data-display/PivotTable/PivotTable.js +153 -152
- package/dist/components/data-display/Presence/Presence.cjs +1 -1
- package/dist/components/data-display/Presence/Presence.js +28 -27
- package/dist/components/data-display/PullToRefresh/PullToRefresh.cjs +1 -1
- package/dist/components/data-display/PullToRefresh/PullToRefresh.js +73 -72
- package/dist/components/data-display/Reaction/Reaction.cjs +1 -1
- package/dist/components/data-display/Reaction/Reaction.js +31 -30
- package/dist/components/data-display/ScheduleView/ScheduleView.cjs +1 -1
- package/dist/components/data-display/ScheduleView/ScheduleView.js +52 -50
- package/dist/components/data-display/SortableList/SortableList.cjs +1 -1
- package/dist/components/data-display/SortableList/SortableList.js +44 -43
- package/dist/components/data-display/Tag/Tag.cjs +1 -1
- package/dist/components/data-display/Tag/Tag.js +29 -28
- package/dist/components/data-display/TreeDiagram/TreeDiagram.cjs +1 -1
- package/dist/components/data-display/TreeDiagram/TreeDiagram.js +85 -84
- package/dist/components/data-display/TreeView/TreeView.cjs +1 -1
- package/dist/components/data-display/TreeView/TreeView.js +123 -122
- package/dist/components/feedback/Autosave/Autosave.cjs +1 -1
- package/dist/components/feedback/Autosave/Autosave.js +32 -31
- package/dist/components/feedback/ErrorBoundary/ErrorBoundary.cjs +1 -1
- package/dist/components/feedback/ErrorBoundary/ErrorBoundary.js +35 -34
- package/dist/components/feedback/ScrollProgress/ScrollProgress.cjs +1 -1
- package/dist/components/feedback/ScrollProgress/ScrollProgress.js +21 -20
- package/dist/components/feedback/Tour/Tour.cjs +1 -1
- package/dist/components/feedback/Tour/Tour.js +127 -101
- package/dist/components/form/Button/Button.cjs +1 -1
- package/dist/components/form/Button/Button.js +55 -54
- package/dist/components/form/ColorInput/ColorInput.cjs +1 -1
- package/dist/components/form/ColorInput/ColorInput.js +30 -29
- package/dist/components/form/ColorPicker/color-picker.module.cjs +1 -1
- package/dist/components/form/ColorPicker/color-picker.module.js +1 -1
- package/dist/components/form/CopyButton/CopyButton.cjs +1 -1
- package/dist/components/form/CopyButton/CopyButton.js +27 -26
- package/dist/components/form/DatePicker/DatePicker.cjs +1 -1
- package/dist/components/form/DatePicker/DatePicker.js +47 -46
- package/dist/components/form/DateRangePicker/DateRangePicker.cjs +1 -1
- package/dist/components/form/DateRangePicker/DateRangePicker.js +36 -35
- package/dist/components/form/Dropzone/Dropzone.cjs +1 -1
- package/dist/components/form/Dropzone/Dropzone.js +56 -55
- package/dist/components/form/FileUpload/FileUpload.cjs +1 -1
- package/dist/components/form/FileUpload/FileUpload.js +47 -46
- package/dist/components/form/FloatButton/FloatButton.cjs +1 -1
- package/dist/components/form/FloatButton/FloatButton.d.ts +4 -1
- package/dist/components/form/FloatButton/FloatButton.js +6 -6
- package/dist/components/form/ImageCropper/ImageCropper.cjs +1 -1
- package/dist/components/form/ImageCropper/ImageCropper.js +101 -99
- package/dist/components/form/InlineEdit/InlineEdit.cjs +1 -1
- package/dist/components/form/InlineEdit/InlineEdit.js +66 -65
- package/dist/components/form/Input/Input.cjs +1 -1
- package/dist/components/form/Input/Input.js +45 -44
- package/dist/components/form/InputBase/InputBase.cjs +1 -1
- package/dist/components/form/InputBase/InputBase.js +51 -50
- package/dist/components/form/InputBase/input-base.module.cjs +1 -1
- package/dist/components/form/InputBase/input-base.module.js +1 -1
- package/dist/components/form/MultiSelect/multiselect.module.cjs +1 -1
- package/dist/components/form/MultiSelect/multiselect.module.js +1 -1
- package/dist/components/form/OtpInput/otp-input.module.cjs +1 -1
- package/dist/components/form/OtpInput/otp-input.module.js +1 -1
- package/dist/components/form/PasswordStrength/PasswordStrength.cjs +1 -1
- package/dist/components/form/PasswordStrength/PasswordStrength.js +27 -26
- package/dist/components/form/PhoneInput/PhoneInput.cjs +1 -1
- package/dist/components/form/PhoneInput/PhoneInput.js +10 -10
- package/dist/components/form/QueryBuilder/QueryBuilder.cjs +1 -1
- package/dist/components/form/QueryBuilder/QueryBuilder.js +90 -89
- package/dist/components/form/RangeSlider/RangeSlider.cjs +1 -1
- package/dist/components/form/RangeSlider/RangeSlider.js +121 -119
- package/dist/components/form/RangeSlider/range-slider.module.cjs +1 -1
- package/dist/components/form/RangeSlider/range-slider.module.js +1 -1
- package/dist/components/form/RichTextEditor/RichTextEditor.cjs +1 -1
- package/dist/components/form/RichTextEditor/RichTextEditor.js +223 -222
- package/dist/components/form/SegmentedControl/SegmentedControl.cjs +1 -1
- package/dist/components/form/SegmentedControl/SegmentedControl.js +7 -7
- package/dist/components/form/Select/Select.cjs +1 -1
- package/dist/components/form/Select/Select.js +112 -111
- package/dist/components/form/SignaturePad/SignaturePad.cjs +1 -1
- package/dist/components/form/SignaturePad/SignaturePad.js +86 -79
- package/dist/components/form/SmartSearchInput/SmartSearchInput.cjs +1 -1
- package/dist/components/form/SmartSearchInput/SmartSearchInput.js +63 -62
- package/dist/components/form/TagInput/TagInput.cjs +1 -1
- package/dist/components/form/TagInput/TagInput.js +68 -67
- package/dist/components/form/ThemeToggle/ThemeToggle.cjs +1 -1
- package/dist/components/form/ThemeToggle/ThemeToggle.js +69 -67
- package/dist/components/form/ThemeToggle/theme-toggle.module.cjs +1 -1
- package/dist/components/form/ThemeToggle/theme-toggle.module.js +1 -1
- package/dist/components/form/ToggleGroup/ToggleGroup.cjs +1 -1
- package/dist/components/form/ToggleGroup/ToggleGroup.js +6 -6
- package/dist/components/form/Transfer/Transfer.cjs +1 -1
- package/dist/components/form/Transfer/Transfer.d.ts +1 -1
- package/dist/components/form/Transfer/Transfer.js +155 -154
- package/dist/components/form/Transfer/transfer.module.cjs +1 -1
- package/dist/components/form/Transfer/transfer.module.js +6 -6
- package/dist/components/form/TreeSelect/TreeSelect.cjs +1 -1
- package/dist/components/form/TreeSelect/TreeSelect.js +6 -6
- package/dist/components/layout/Dashboard/Dashboard.cjs +1 -1
- package/dist/components/layout/Dashboard/Dashboard.js +90 -89
- package/dist/components/layout/Navbar/Navbar.cjs +1 -1
- package/dist/components/layout/Navbar/Navbar.d.ts +1 -1
- package/dist/components/layout/Navbar/Navbar.js +1 -1
- package/dist/components/layout/Sidebar/Sidebar.d.ts +1 -1
- package/dist/components/layout/Splitter/Splitter.cjs +1 -1
- package/dist/components/layout/Splitter/Splitter.js +40 -39
- package/dist/components/layout/Toolbar/Toolbar.cjs +1 -1
- package/dist/components/layout/Toolbar/Toolbar.js +66 -39
- package/dist/components/media/Audio/Audio.cjs +1 -1
- package/dist/components/media/Audio/Audio.js +91 -90
- package/dist/components/media/Audio/components/AudioCustomControls.cjs +1 -1
- package/dist/components/media/Audio/components/AudioCustomControls.js +116 -114
- package/dist/components/media/Gallery/Gallery.cjs +1 -1
- package/dist/components/media/Gallery/Gallery.js +132 -131
- package/dist/components/media/ImageCompare/ImageCompare.cjs +1 -1
- package/dist/components/media/ImageCompare/ImageCompare.js +75 -73
- package/dist/components/media/Lightbox/Lightbox.cjs +1 -1
- package/dist/components/media/Lightbox/Lightbox.js +128 -127
- package/dist/components/media/Video/Video.cjs +1 -1
- package/dist/components/media/Video/Video.js +73 -71
- package/dist/components/media/Video/components/VideoAdvancedMenu.cjs +1 -1
- package/dist/components/media/Video/components/VideoAdvancedMenu.js +140 -138
- package/dist/components/media/Video/components/VideoControls.cjs +1 -1
- package/dist/components/media/Video/components/VideoControls.js +103 -102
- package/dist/components/navigation/BackTop/BackTop.cjs +1 -1
- package/dist/components/navigation/BackTop/BackTop.js +37 -36
- package/dist/components/navigation/Breadcrumb/Breadcrumb.cjs +1 -1
- package/dist/components/navigation/Breadcrumb/Breadcrumb.js +41 -40
- package/dist/components/navigation/CommandPalette/CommandPalette.cjs +1 -1
- package/dist/components/navigation/CommandPalette/CommandPalette.js +100 -99
- package/dist/components/navigation/HamburgerMenu/HamburgerMenu.cjs +1 -1
- package/dist/components/navigation/HamburgerMenu/HamburgerMenu.d.ts +6 -0
- package/dist/components/navigation/HamburgerMenu/HamburgerMenu.js +32 -22
- package/dist/components/navigation/Pagination/Pagination.cjs +1 -1
- package/dist/components/navigation/Pagination/Pagination.js +39 -38
- package/dist/components/navigation/SpeedDial/SpeedDial.cjs +1 -1
- package/dist/components/navigation/SpeedDial/SpeedDial.js +44 -43
- package/dist/components/navigation/Tabs/tabs.module.cjs +1 -1
- package/dist/components/navigation/Tabs/tabs.module.js +1 -1
- package/dist/components/overlay/ContextMenu/ContextMenu.cjs +1 -1
- package/dist/components/overlay/ContextMenu/ContextMenu.js +4 -4
- package/dist/components/overlay/Popover/Popover.cjs +1 -1
- package/dist/components/overlay/Popover/Popover.js +63 -62
- package/dist/components/typography/Spoiler/Spoiler.cjs +1 -1
- package/dist/components/typography/Spoiler/Spoiler.js +38 -37
- package/dist/i18n/generated/common.cjs +2 -0
- package/dist/i18n/generated/common.d.ts +3 -0
- package/dist/i18n/generated/common.js +570 -0
- package/dist/i18n/generated/components.cjs +2 -0
- package/dist/i18n/generated/components.d.ts +3 -0
- package/dist/i18n/generated/components.js +399 -0
- package/dist/i18n/generated/data-display.cjs +2 -0
- package/dist/i18n/generated/data-display.d.ts +3 -0
- package/dist/i18n/generated/data-display.js +12 -0
- package/dist/i18n/generated/form.cjs +2 -0
- package/dist/i18n/generated/form.d.ts +3 -0
- package/dist/i18n/generated/form.js +321 -0
- package/dist/i18n/generated/keys.d.ts +5 -1
- package/dist/i18n/generated/locales.cjs +2 -0
- package/dist/i18n/generated/locales.d.ts +1 -0
- package/dist/i18n/generated/locales.js +9 -0
- package/dist/i18n/instance.cjs +1 -1
- package/dist/i18n/instance.d.ts +18 -3
- package/dist/i18n/instance.js +24 -26
- package/dist/i18n/useWimTranslation.cjs +1 -1
- package/dist/i18n/useWimTranslation.d.ts +7 -8
- package/dist/i18n/useWimTranslation.js +6 -5
- package/dist/llms-full.txt +10 -6
- package/dist/llms.txt +1 -1
- package/dist/locales/en/common.json +53 -4
- package/dist/locales/en/components.json +3 -1
- package/dist/locales/ja/common.json +53 -4
- package/dist/locales/ja/components.json +3 -1
- package/dist/locales/pt/common.json +53 -4
- package/dist/locales/pt/components.json +3 -1
- package/dist/styles.css +2 -2
- package/dist/wimui.umd.css +1 -1
- package/dist/wimui.umd.js +5 -5
- package/package.json +10 -10
- package/dist/i18n/generated/resources.cjs +0 -2
- package/dist/i18n/generated/resources.d.ts +0 -4
- package/dist/i18n/generated/resources.js +0 -1103
|
@@ -1,33 +1,34 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Root as e, Slottable as t } from "../../../node_modules/@radix-ui/react-slot/dist/index.js";
|
|
3
3
|
import { useWimTranslation as n } from "../../../i18n/useWimTranslation.js";
|
|
4
|
-
import {
|
|
5
|
-
import i from "
|
|
6
|
-
import
|
|
7
|
-
import o from "
|
|
8
|
-
import s
|
|
9
|
-
import u from "
|
|
10
|
-
import
|
|
4
|
+
import { commonNs as r } from "../../../i18n/generated/common.js";
|
|
5
|
+
import { VisuallyHidden as i } from "../../layout/VisuallyHidden/VisuallyHidden.js";
|
|
6
|
+
import a from "../../../icon/more-horizontal.js";
|
|
7
|
+
import { Icon as o } from "../../media/Icon/Icon.js";
|
|
8
|
+
import s from "./kanban.module.js";
|
|
9
|
+
import c, { forwardRef as l, useState as u } from "react";
|
|
10
|
+
import d from "classnames";
|
|
11
|
+
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
11
12
|
//#region src/components/data-display/Kanban/Kanban.tsx
|
|
12
|
-
var
|
|
13
|
-
let { t:
|
|
14
|
-
|
|
13
|
+
var m = l(({ columns: i, onMove: a, onCardMove: o, className: l, forceMobileUI: p = !1, children: m, asChild: g = !1, ..._ }, y) => {
|
|
14
|
+
let { t: x } = n(r), [S, C] = u(null), [w, T] = u(null), [E, D] = u(null), O = a || o, k = (e, t, n) => {
|
|
15
|
+
C({
|
|
15
16
|
itemId: t,
|
|
16
17
|
columnId: n
|
|
17
18
|
}), e.dataTransfer.setData("text/plain", `${n}:${t}`), e.dataTransfer.effectAllowed = "move";
|
|
18
|
-
}, k = (e, t) => {
|
|
19
|
-
e.preventDefault(), w(t);
|
|
20
19
|
}, A = (e, t) => {
|
|
21
|
-
e.preventDefault(),
|
|
20
|
+
e.preventDefault(), T(t);
|
|
21
|
+
}, j = (e, t) => {
|
|
22
|
+
e.preventDefault(), T(null);
|
|
22
23
|
let [n, r] = e.dataTransfer.getData("text/plain").split(":");
|
|
23
|
-
|
|
24
|
-
},
|
|
25
|
-
|
|
26
|
-
},
|
|
27
|
-
if (
|
|
24
|
+
O?.(r, n, t), C(null);
|
|
25
|
+
}, M = (e, t, n) => {
|
|
26
|
+
O?.(e, t, n), D(null);
|
|
27
|
+
}, N = c.useMemo(() => {
|
|
28
|
+
if (i) return i;
|
|
28
29
|
let e = [];
|
|
29
|
-
return
|
|
30
|
-
if (
|
|
30
|
+
return c.Children.forEach(m, (t) => {
|
|
31
|
+
if (c.isValidElement(t)) {
|
|
31
32
|
let n = t.props;
|
|
32
33
|
typeof n.id == "string" && typeof n.title == "string" && e.push({
|
|
33
34
|
id: n.id,
|
|
@@ -36,102 +37,102 @@ var p = c(({ columns: r, onMove: i, onCardMove: a, className: c, forceMobileUI:
|
|
|
36
37
|
});
|
|
37
38
|
}
|
|
38
39
|
}), e;
|
|
39
|
-
}, [
|
|
40
|
+
}, [m, i]), P = () => m || (i ? i.map((e) => /* @__PURE__ */ f(b, {
|
|
40
41
|
id: e.id,
|
|
41
42
|
title: e.title,
|
|
42
43
|
cardCount: e.items.length,
|
|
43
|
-
children: e.items.map((e) => /* @__PURE__ */
|
|
44
|
+
children: e.items.map((e) => /* @__PURE__ */ f(v, {
|
|
44
45
|
id: e.id,
|
|
45
46
|
children: e.content
|
|
46
47
|
}, e.id))
|
|
47
|
-
}, e.id)) : null),
|
|
48
|
-
return /* @__PURE__ */
|
|
48
|
+
}, e.id)) : null), F = g ? e : "div";
|
|
49
|
+
return /* @__PURE__ */ f(h.Provider, {
|
|
49
50
|
value: {
|
|
50
|
-
draggedItem:
|
|
51
|
-
dragOverColumn:
|
|
52
|
-
setDragOverColumn:
|
|
53
|
-
handleDragStart:
|
|
54
|
-
handleDragOver:
|
|
55
|
-
handleDrop:
|
|
56
|
-
handleMobileMove:
|
|
57
|
-
activeMobileMenu:
|
|
58
|
-
setActiveMobileMenu:
|
|
59
|
-
columns:
|
|
51
|
+
draggedItem: S,
|
|
52
|
+
dragOverColumn: w,
|
|
53
|
+
setDragOverColumn: T,
|
|
54
|
+
handleDragStart: k,
|
|
55
|
+
handleDragOver: A,
|
|
56
|
+
handleDrop: j,
|
|
57
|
+
handleMobileMove: M,
|
|
58
|
+
activeMobileMenu: E,
|
|
59
|
+
setActiveMobileMenu: D,
|
|
60
|
+
columns: N
|
|
60
61
|
},
|
|
61
|
-
children: /* @__PURE__ */
|
|
62
|
-
...
|
|
63
|
-
ref:
|
|
64
|
-
className:
|
|
62
|
+
children: /* @__PURE__ */ f(F, {
|
|
63
|
+
..._,
|
|
64
|
+
ref: y,
|
|
65
|
+
className: d("wim-kanban", s.root, p && s.touch, l),
|
|
65
66
|
role: "region",
|
|
66
|
-
"aria-label":
|
|
67
|
+
"aria-label": x("a11y.kanban_board"),
|
|
67
68
|
tabIndex: 0,
|
|
68
|
-
children: /* @__PURE__ */
|
|
69
|
+
children: /* @__PURE__ */ f(t, { children: P() })
|
|
69
70
|
})
|
|
70
71
|
});
|
|
71
|
-
}),
|
|
72
|
-
let e =
|
|
72
|
+
}), h = c.createContext(null), g = () => {
|
|
73
|
+
let e = c.useContext(h);
|
|
73
74
|
if (!e) throw Error("Kanban compound components must be used within Kanban");
|
|
74
75
|
return e;
|
|
75
|
-
},
|
|
76
|
-
let { dragOverColumn:
|
|
77
|
-
return /* @__PURE__ */
|
|
78
|
-
className:
|
|
76
|
+
}, _ = ({ id: e, title: t, cardCount: a, children: o, className: l }) => {
|
|
77
|
+
let { dragOverColumn: u, handleDragOver: m, handleDrop: h, setDragOverColumn: _ } = g(), { t: v } = n(r), y = c.useId();
|
|
78
|
+
return /* @__PURE__ */ p("div", {
|
|
79
|
+
className: d(s.column, { [s.dragOver]: u === e }, l),
|
|
79
80
|
role: "group",
|
|
80
|
-
"aria-labelledby": t ?
|
|
81
|
-
onDragOver: (t) =>
|
|
82
|
-
onDrop: (t) =>
|
|
83
|
-
onDragLeave: () =>
|
|
84
|
-
children: [/* @__PURE__ */
|
|
85
|
-
className:
|
|
86
|
-
children: [/* @__PURE__ */
|
|
87
|
-
id:
|
|
88
|
-
className:
|
|
81
|
+
"aria-labelledby": t ? y : void 0,
|
|
82
|
+
onDragOver: (t) => m(t, e),
|
|
83
|
+
onDrop: (t) => h(t, e),
|
|
84
|
+
onDragLeave: () => _(null),
|
|
85
|
+
children: [/* @__PURE__ */ p("div", {
|
|
86
|
+
className: s.columnHeader,
|
|
87
|
+
children: [/* @__PURE__ */ f("div", {
|
|
88
|
+
id: y,
|
|
89
|
+
className: s.columnTitle,
|
|
89
90
|
"aria-hidden": "true",
|
|
90
91
|
children: t
|
|
91
|
-
}),
|
|
92
|
-
className:
|
|
93
|
-
children: [/* @__PURE__ */
|
|
92
|
+
}), a !== void 0 && /* @__PURE__ */ p("div", {
|
|
93
|
+
className: s.columnCount,
|
|
94
|
+
children: [/* @__PURE__ */ f("span", {
|
|
94
95
|
"aria-hidden": "true",
|
|
95
|
-
children:
|
|
96
|
-
}), /* @__PURE__ */
|
|
96
|
+
children: a
|
|
97
|
+
}), /* @__PURE__ */ f(i, { children: v("a11y.kanban_column_count", { count: a }) })]
|
|
97
98
|
})]
|
|
98
|
-
}), /* @__PURE__ */
|
|
99
|
-
className:
|
|
100
|
-
children:
|
|
99
|
+
}), /* @__PURE__ */ f("div", {
|
|
100
|
+
className: s.columnBody,
|
|
101
|
+
children: o
|
|
101
102
|
})]
|
|
102
103
|
});
|
|
103
|
-
},
|
|
104
|
-
let { t:
|
|
105
|
-
return /* @__PURE__ */
|
|
106
|
-
className:
|
|
107
|
-
[
|
|
108
|
-
[
|
|
109
|
-
},
|
|
110
|
-
draggable: !
|
|
111
|
-
onDragStart: (t) =>
|
|
112
|
-
children: [/* @__PURE__ */
|
|
113
|
-
className:
|
|
104
|
+
}, v = ({ id: e, children: t, disabled: i, className: l }) => {
|
|
105
|
+
let { t: u } = n(r), { draggedItem: m, handleDragStart: h, handleMobileMove: _, activeMobileMenu: v, setActiveMobileMenu: b, columns: x } = g(), S = c.useContext(y);
|
|
106
|
+
return /* @__PURE__ */ p("div", {
|
|
107
|
+
className: d(s.card, {
|
|
108
|
+
[s.dragging]: m?.itemId === e,
|
|
109
|
+
[s.disabled]: i
|
|
110
|
+
}, l),
|
|
111
|
+
draggable: !i,
|
|
112
|
+
onDragStart: (t) => S && h(t, e, S),
|
|
113
|
+
children: [/* @__PURE__ */ f("div", {
|
|
114
|
+
className: s.cardContent,
|
|
114
115
|
children: t
|
|
115
|
-
}), /* @__PURE__ */
|
|
116
|
-
className:
|
|
117
|
-
children: [/* @__PURE__ */
|
|
116
|
+
}), /* @__PURE__ */ p("div", {
|
|
117
|
+
className: s.cardMove,
|
|
118
|
+
children: [/* @__PURE__ */ f("button", {
|
|
118
119
|
type: "button",
|
|
119
|
-
className:
|
|
120
|
-
onClick: () =>
|
|
121
|
-
"aria-label":
|
|
122
|
-
disabled:
|
|
123
|
-
children: /* @__PURE__ */
|
|
124
|
-
component:
|
|
120
|
+
className: s.cardMoveBtn,
|
|
121
|
+
onClick: () => b(v === e ? null : e),
|
|
122
|
+
"aria-label": u("a11y.move_card"),
|
|
123
|
+
disabled: i,
|
|
124
|
+
children: /* @__PURE__ */ f(o, {
|
|
125
|
+
component: a,
|
|
125
126
|
size: "sm"
|
|
126
127
|
})
|
|
127
|
-
}),
|
|
128
|
-
className:
|
|
128
|
+
}), v === e && /* @__PURE__ */ f("div", {
|
|
129
|
+
className: s.cardMoveMenu,
|
|
129
130
|
role: "listbox",
|
|
130
|
-
"aria-label":
|
|
131
|
-
children:
|
|
131
|
+
"aria-label": u("a11y.move_to_column"),
|
|
132
|
+
children: x.filter((e) => e.id !== S).map((t) => /* @__PURE__ */ f("button", {
|
|
132
133
|
type: "button",
|
|
133
|
-
className:
|
|
134
|
-
onClick: () =>
|
|
134
|
+
className: s.cardMoveOption,
|
|
135
|
+
onClick: () => S && _(e, S, t.id),
|
|
135
136
|
role: "option",
|
|
136
137
|
"aria-selected": !1,
|
|
137
138
|
children: t.title
|
|
@@ -139,10 +140,10 @@ var p = c(({ columns: r, onMove: i, onCardMove: a, className: c, forceMobileUI:
|
|
|
139
140
|
})]
|
|
140
141
|
})]
|
|
141
142
|
});
|
|
142
|
-
},
|
|
143
|
+
}, y = c.createContext(null), b = (e) => /* @__PURE__ */ f(y.Provider, {
|
|
143
144
|
value: e.id,
|
|
144
|
-
children: /* @__PURE__ */
|
|
145
|
-
}),
|
|
146
|
-
|
|
145
|
+
children: /* @__PURE__ */ f(_, { ...e })
|
|
146
|
+
}), x = m;
|
|
147
|
+
x.Column = b, x.Card = v, m.displayName = "Kanban", x.displayName = "KanbanBoard", _.displayName = "KanbanColumn", v.displayName = "KanbanCard", b.displayName = "KanbanColumnWrapper";
|
|
147
148
|
//#endregion
|
|
148
|
-
export {
|
|
149
|
+
export { m as Kanban, x as KanbanBoard, x 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("../../../i18n/useWimTranslation.cjs"),n=require("../../../icon/plus.cjs"),
|
|
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)(()=>{if(z){if(!B){V(!0);return}X()}},[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,22 +1,23 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useWimTranslation as e } from "../../../i18n/useWimTranslation.js";
|
|
3
|
-
import t from "../../../
|
|
4
|
-
import n from "../../../icon/
|
|
5
|
-
import
|
|
3
|
+
import { commonNs as t } from "../../../i18n/generated/common.js";
|
|
4
|
+
import n from "../../../icon/plus.js";
|
|
5
|
+
import r from "../../../icon/trash.js";
|
|
6
|
+
import { Icon as i } from "../../media/Icon/Icon.js";
|
|
6
7
|
/* empty css */
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import { jsx as
|
|
11
|
-
import { Background as
|
|
8
|
+
import a from "./node-graph.module.js";
|
|
9
|
+
import o, { useCallback as s, useEffect as c, useMemo as l, useRef as u, useState as d } from "react";
|
|
10
|
+
import f from "classnames";
|
|
11
|
+
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
12
|
+
import { Background as h, BackgroundVariant as ee, Controls as te, MiniMap as ne, ReactFlow as re } from "@xyflow/react";
|
|
12
13
|
//#region src/components/data-display/NodeGraph/NodeGraph.tsx
|
|
13
|
-
var
|
|
14
|
-
function
|
|
14
|
+
var g = ["Backspace", "Delete"], _ = 180, v = 80;
|
|
15
|
+
function ie(e) {
|
|
15
16
|
let t = 1, n = new Set(e.map((e) => e.id));
|
|
16
17
|
for (; n.has(`node-${t}`);) t += 1;
|
|
17
18
|
return `node-${t}`;
|
|
18
19
|
}
|
|
19
|
-
function
|
|
20
|
+
function y(e) {
|
|
20
21
|
if (e.length === 0) return {
|
|
21
22
|
x: v,
|
|
22
23
|
y: v
|
|
@@ -27,26 +28,26 @@ function b(e) {
|
|
|
27
28
|
y: n
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
|
-
var
|
|
31
|
-
let { t:
|
|
32
|
-
|
|
31
|
+
var b = o.forwardRef(({ nodes: o, edges: _, onNodesChange: v, onEdgesChange: b, onConnect: x, nodeTypes: S, edgeTypes: C, nodesDraggable: w = !0, nodesConnectable: ae = !0, deleteKeyCode: T, showMiniMap: oe = !1, showControls: E = !0, backgroundVariant: D = ee.Dots, fitView: O = !0, fitViewOptions: k, defaultEdgeOptions: A, className: j, "aria-label": M, ...N }, P) => {
|
|
32
|
+
let { t: F } = e(t), I = M ?? F("nodeGraph.label"), L = F("nodeGraph.add_node"), R = F("nodeGraph.node_name"), z = F("nodeGraph.new_node"), B = F("a11y.delete"), V = T === void 0 ? [...g] : T, H = V != null, [U, W] = d(!1), [G, K] = d(""), q = u(null), J = l(() => o.filter((e) => e.selected), [o]), Y = l(() => _.filter((e) => e.selected), [_]), X = J.length > 0 || Y.length > 0, Z = G.trim(), se = V == null ? void 0 : Array.isArray(V) ? V.join(" ") : V;
|
|
33
|
+
c(() => {
|
|
33
34
|
U && q.current?.focus();
|
|
34
35
|
}, [U]);
|
|
35
|
-
let Q =
|
|
36
|
+
let Q = s(() => {
|
|
36
37
|
H && Z && (v([{
|
|
37
38
|
type: "add",
|
|
38
39
|
item: {
|
|
39
|
-
id:
|
|
40
|
-
position:
|
|
40
|
+
id: ie(o),
|
|
41
|
+
position: y(o),
|
|
41
42
|
data: { label: Z }
|
|
42
43
|
}
|
|
43
44
|
}]), W(!1), K(""));
|
|
44
45
|
}, [
|
|
45
46
|
H,
|
|
46
47
|
Z,
|
|
47
|
-
|
|
48
|
+
o,
|
|
48
49
|
v
|
|
49
|
-
]),
|
|
50
|
+
]), ce = s(() => {
|
|
50
51
|
if (H) {
|
|
51
52
|
if (!U) {
|
|
52
53
|
W(!0);
|
|
@@ -58,13 +59,13 @@ var x = a.forwardRef(({ nodes: a, edges: _, onNodesChange: v, onEdgesChange: x,
|
|
|
58
59
|
H,
|
|
59
60
|
U,
|
|
60
61
|
Q
|
|
61
|
-
]),
|
|
62
|
+
]), le = s((e) => {
|
|
62
63
|
e.stopPropagation(), e.key === "Enter" && (e.preventDefault(), Q()), e.key === "Escape" && (e.preventDefault(), W(!1), K(""));
|
|
63
|
-
}, [Q]),
|
|
64
|
+
}, [Q]), ue = s(() => {
|
|
64
65
|
if (!H || !X) return;
|
|
65
66
|
let e = new Set(J.map((e) => e.id)), t = new Set(Y.map((e) => e.id));
|
|
66
67
|
for (let n of _) (e.has(n.source) || e.has(n.target)) && t.add(n.id);
|
|
67
|
-
t.size > 0 &&
|
|
68
|
+
t.size > 0 && b([...t].map((e) => ({
|
|
68
69
|
type: "remove",
|
|
69
70
|
id: e
|
|
70
71
|
}))), e.size > 0 && v([...e].map((e) => ({
|
|
@@ -77,78 +78,78 @@ var x = a.forwardRef(({ nodes: a, edges: _, onNodesChange: v, onEdgesChange: x,
|
|
|
77
78
|
J,
|
|
78
79
|
Y,
|
|
79
80
|
_,
|
|
80
|
-
|
|
81
|
+
b,
|
|
81
82
|
v
|
|
82
|
-
]), $ =
|
|
83
|
+
]), $ = s((e) => {
|
|
83
84
|
e.stopPropagation();
|
|
84
85
|
}, []);
|
|
85
|
-
return /* @__PURE__ */
|
|
86
|
-
ref:
|
|
87
|
-
className:
|
|
86
|
+
return /* @__PURE__ */ m("div", {
|
|
87
|
+
ref: P,
|
|
88
|
+
className: f("wim-node-graph", a.root, j),
|
|
88
89
|
role: "region",
|
|
89
|
-
"aria-label":
|
|
90
|
-
...
|
|
91
|
-
children: [/* @__PURE__ */
|
|
92
|
-
nodes:
|
|
90
|
+
"aria-label": I,
|
|
91
|
+
...N,
|
|
92
|
+
children: [/* @__PURE__ */ m(re, {
|
|
93
|
+
nodes: o,
|
|
93
94
|
edges: _,
|
|
94
95
|
onNodesChange: v,
|
|
95
|
-
onEdgesChange:
|
|
96
|
-
onConnect:
|
|
97
|
-
nodeTypes:
|
|
98
|
-
edgeTypes:
|
|
99
|
-
nodesDraggable:
|
|
100
|
-
nodesConnectable:
|
|
96
|
+
onEdgesChange: b,
|
|
97
|
+
onConnect: x,
|
|
98
|
+
nodeTypes: S,
|
|
99
|
+
edgeTypes: C,
|
|
100
|
+
nodesDraggable: w,
|
|
101
|
+
nodesConnectable: ae,
|
|
101
102
|
deleteKeyCode: V,
|
|
102
|
-
fitView:
|
|
103
|
-
fitViewOptions:
|
|
104
|
-
defaultEdgeOptions:
|
|
105
|
-
className:
|
|
103
|
+
fitView: O,
|
|
104
|
+
fitViewOptions: k,
|
|
105
|
+
defaultEdgeOptions: A,
|
|
106
|
+
className: a.flow,
|
|
106
107
|
children: [
|
|
107
|
-
/* @__PURE__ */
|
|
108
|
-
variant:
|
|
109
|
-
className:
|
|
108
|
+
/* @__PURE__ */ p(h, {
|
|
109
|
+
variant: D,
|
|
110
|
+
className: a.background
|
|
110
111
|
}),
|
|
111
|
-
|
|
112
|
-
|
|
112
|
+
E && /* @__PURE__ */ p(te, { className: a.controls }),
|
|
113
|
+
oe && /* @__PURE__ */ p(ne, { className: a.miniMap })
|
|
113
114
|
]
|
|
114
|
-
}), H && /* @__PURE__ */
|
|
115
|
-
className:
|
|
116
|
-
children: [U && /* @__PURE__ */
|
|
115
|
+
}), H && /* @__PURE__ */ m("div", {
|
|
116
|
+
className: a.tools,
|
|
117
|
+
children: [U && /* @__PURE__ */ p("input", {
|
|
117
118
|
ref: q,
|
|
118
|
-
className:
|
|
119
|
+
className: f("nodrag", "nopan", a.name),
|
|
119
120
|
value: G,
|
|
120
121
|
onChange: (e) => K(e.target.value),
|
|
121
|
-
onKeyDown:
|
|
122
|
+
onKeyDown: le,
|
|
122
123
|
onPointerDown: $,
|
|
123
124
|
onMouseDown: $,
|
|
124
125
|
"aria-label": R,
|
|
125
126
|
placeholder: z
|
|
126
|
-
}), /* @__PURE__ */
|
|
127
|
-
className:
|
|
128
|
-
children: [/* @__PURE__ */
|
|
127
|
+
}), /* @__PURE__ */ m("div", {
|
|
128
|
+
className: a.toolRow,
|
|
129
|
+
children: [/* @__PURE__ */ m("button", {
|
|
129
130
|
type: "button",
|
|
130
|
-
className:
|
|
131
|
+
className: f("nodrag", "nopan", a.tool),
|
|
131
132
|
disabled: U && !Z,
|
|
132
|
-
onClick:
|
|
133
|
+
onClick: ce,
|
|
133
134
|
onPointerDown: $,
|
|
134
135
|
onMouseDown: $,
|
|
135
136
|
"aria-label": L,
|
|
136
137
|
"aria-expanded": U,
|
|
137
|
-
children: [/* @__PURE__ */
|
|
138
|
-
component:
|
|
138
|
+
children: [/* @__PURE__ */ p(i, {
|
|
139
|
+
component: n,
|
|
139
140
|
size: "sm"
|
|
140
141
|
}), L]
|
|
141
|
-
}), /* @__PURE__ */
|
|
142
|
+
}), /* @__PURE__ */ m("button", {
|
|
142
143
|
type: "button",
|
|
143
|
-
className:
|
|
144
|
+
className: f("nodrag", "nopan", a.tool),
|
|
144
145
|
disabled: !X,
|
|
145
|
-
onClick:
|
|
146
|
+
onClick: ue,
|
|
146
147
|
onPointerDown: $,
|
|
147
148
|
onMouseDown: $,
|
|
148
149
|
"aria-label": B,
|
|
149
|
-
"aria-keyshortcuts":
|
|
150
|
-
children: [/* @__PURE__ */
|
|
151
|
-
component:
|
|
150
|
+
"aria-keyshortcuts": se,
|
|
151
|
+
children: [/* @__PURE__ */ p(i, {
|
|
152
|
+
component: r,
|
|
152
153
|
size: "sm"
|
|
153
154
|
}), B]
|
|
154
155
|
})]
|
|
@@ -156,6 +157,6 @@ var x = a.forwardRef(({ nodes: a, edges: _, onNodesChange: v, onEdgesChange: x,
|
|
|
156
157
|
})]
|
|
157
158
|
});
|
|
158
159
|
});
|
|
159
|
-
|
|
160
|
+
b.displayName = "NodeGraph";
|
|
160
161
|
//#endregion
|
|
161
|
-
export {
|
|
162
|
+
export { b as NodeGraph };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("
|
|
2
|
+
const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../hooks/useMergedRef.cjs"),r=require("../../layout/VisuallyHidden/VisuallyHidden.cjs"),i=require("../../../i18n/generated/components.cjs"),a=require("../../../icon/chevron-right.cjs"),o=require("../../media/Icon/Icon.cjs"),s=require("../Table/Table.cjs"),c=require("./layoutPivot.cjs"),l=require("./pivot-table.module.cjs");let u=require("react");u=e.__toESM(u,1);let d=require("classnames");d=e.__toESM(d,1);let f=require("react/jsx-runtime");var p=40,ee=8,te=30,m=`corner`,h=(e,t=[])=>{for(let n of e)n.children?.length&&(t.push(n.key),h(n.children,t));return t},ne=(e,t,n,r)=>{let[i,a]=(0,u.useState)(()=>n??h(e)),o=t??i,s=(0,u.useMemo)(()=>new Set(o),[o]);return[s,(0,u.useCallback)(e=>{let n=s.has(e)?o.filter(t=>t!==e):[...o,e];t===void 0&&a(n),r?.(n)},[o,s,t,r])]},g=u.default.forwardRef(({rows:e,columns:g,getValue:_,rowAxisLabel:v,caption:y,expandedRowValues:re,defaultExpandedRowValues:ie,onExpandedRowChange:ae,expandedColumnValues:oe,defaultExpandedColumnValues:se,onExpandedColumnChange:ce,maxHeight:le,stickyHeader:b=!1,stickyRowHeaders:ue=!1,virtualized:x=!1,columnSubtotals:S=!1,totalRow:C=!1,totalColumn:w=!1,labels:de,className:fe,...T},pe)=>{let{t:me}=t.useWimTranslation(i.componentsNs),E=u.default.useId(),D=de?.total??me(`pivottable.total`),[O,he]=ne(e,re,ie,ae),[k,ge]=ne(g,oe,se,ce),A=(0,u.useMemo)(()=>c.layoutPivotColumns(g,{subtotals:S,total:w,isExpanded:e=>k.has(e)}),[g,S,w,k]),j=(0,u.useMemo)(()=>c.layoutPivotRows(e,e=>O.has(e)),[e,O]),M=(0,u.useMemo)(()=>h(e).length>0,[e]),N=(0,u.useMemo)(()=>h(g).length>0,[g]),P=v!=null&&v!==!1,F=`${E}corner`,_e=e=>`${E}c${e}`,I=e=>`${E}r${e}`,L=`${E}total`,R=(0,u.useMemo)(()=>A.columns.map(e=>e.headerIds.map(e=>`${E}c${e}`).join(` `)),[A,E]),z=u.default.useRef(null),B=u.default.useRef(null),[V,ve]=u.default.useState(!1),[ye,be]=u.default.useState(!0);u.default.useLayoutEffect(()=>{let e=z.current,t=B.current;if(!e||!t||typeof ResizeObserver>`u`)return;let n=()=>{ve(e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight);let n=t.rows[0]?.cells[0];be(!n||n.offsetWidth<=e.clientWidth/2)};n();let r=new ResizeObserver(n);return r.observe(e),r.observe(t),()=>r.disconnect()},[]);let xe=n.useMergedRef(pe,B),H=ue&&ye,U=u.default.useRef([]),[Se,Ce]=(0,u.useState)([]),W=A.depth;u.default.useLayoutEffect(()=>{if(!b)return;let e=U.current.slice(0,W),t=()=>{let t=0,n=e.map(e=>{let n=t;return t+=e?.getBoundingClientRect().height??0,n});Ce(e=>e.length===n.length&&e.every((e,t)=>e===n[t])?e:n)};if(t(),typeof ResizeObserver>`u`)return;let n=new ResizeObserver(t);return e.forEach(e=>e&&n.observe(e)),()=>n.disconnect()},[b,W]);let G=u.default.useRef(null),[K,we]=(0,u.useState)(0),[q,Te]=(0,u.useState)(null),[J,Ee]=(0,u.useState)(null),[De,Oe]=(0,u.useState)({}),ke=u.default.useRef(0),Y=(0,u.useCallback)(()=>{let e=z.current,t=G.current,n=B.current;if(!e||!t||!n)return;let r=t.querySelector(`tr[data-row-index]`)?.getBoundingClientRect().height??0;r>0&&we(e=>Math.abs(e-r)<.01?e:r);let i={scrollTop:e.scrollTop,height:e.clientHeight,bodyOffset:t.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop};Te(e=>e&&e.scrollTop===i.scrollTop&&e.height===i.height&&e.bodyOffset===i.bodyOffset?e:i);let a=Array.from(n.querySelectorAll(`thead [data-column-key]`)).map(e=>[e.dataset.columnKey,e.getBoundingClientRect().width]),o=ke.current!==e.clientWidth;ke.current=e.clientWidth,Oe(e=>{let t=o?{}:{...e};for(let[e,n]of a)(n||0)>(t[e]??0)+.01&&(t[e]=n);let n=Object.keys(t);return n.length===Object.keys(e).length&&n.every(n=>t[n]===e[n])?e:t})},[]),X=j.length,Ae=A.columns.length,Z=(0,u.useMemo)(()=>A.columns.map(e=>`${e.kind}:${e.key??``}`),[A]),je=Z.join(`|`);u.default.useLayoutEffect(()=>{if(!x||(Y(),typeof ResizeObserver>`u`))return;let e=new ResizeObserver(Y);return z.current&&e.observe(z.current),()=>e.disconnect()},[x,Y,X,je]);let Me=(0,u.useMemo)(()=>new Map(j.map((e,t)=>[e.key,t])),[j]),Ne=(0,u.useMemo)(()=>x?q?c.pivotRowWindow({rowCount:X,rowHeight:K||p,scrollTop:q.scrollTop,viewportHeight:q.height,bodyOffset:q.bodyOffset,overscan:ee,keep:J===null?null:Me.get(J)??null}):c.pivotRowWindow({rowCount:X,rowHeight:p,scrollTop:0,viewportHeight:Math.min(X,te)*p,bodyOffset:0,overscan:0}):null,[x,q,X,K,J,Me]),Pe=(0,u.useMemo)(()=>new Map(A.columns.map((e,t)=>[e.headerIds[e.headerIds.length-1],Z[t]])),[A,Z]),Q=e=>x&&e!==void 0?{"data-column-key":e,style:De[e]?{minWidth:De[e]}:void 0}:null,$=(e,t=!1)=>b?{top:Math.floor(Se[e]??0),zIndex:10+W-e+ +!!t}:void 0,Fe=`${E}caption`,Ie=y?{"aria-labelledby":Fe}:T[`aria-label`]?{"aria-label":T[`aria-label`]}:T[`aria-labelledby`]?{"aria-labelledby":T[`aria-labelledby`]}:null,Le=(e,t)=>{let n=x?I(t):[...e.ancestors.map(I),I(t)].join(` `),i=[...P?[F]:[],...x?[]:e.ancestors.map(I)].join(` `);return(0,f.jsxs)(s.Table.Row,{className:(0,d.default)(e.hasChildren&&l.default.groupRow),"data-row-index":x?t:void 0,"data-row-key":x?e.key:void 0,"aria-rowindex":x?W+t+1:void 0,children:[(0,f.jsxs)(`th`,{id:I(t),scope:`row`,headers:i||void 0,className:(0,d.default)(l.default.rowHeader,H&&l.default.stickyLeft),style:{"--wim-pivot-table-depth":e.depth},children:[x&&e.ancestors.length>0&&(0,f.jsx)(r.VisuallyHidden,{children:e.ancestors.map(e=>(0,f.jsxs)(u.default.Fragment,{children:[j[e].node.label,`, `]},e))}),e.hasChildren?(0,f.jsxs)(`button`,{type:`button`,className:l.default.toggle,"aria-expanded":e.expanded,onClick:()=>he(e.key),children:[(0,f.jsx)(`span`,{className:(0,d.default)(l.default.chevron,e.expanded&&l.default.open),"aria-hidden":`true`,children:(0,f.jsx)(o.Icon,{component:a.default,size:`sm`})}),e.node.label]}):(0,f.jsx)(`span`,{className:(0,d.default)(M&&l.default.leafLabel),children:e.node.label})]}),A.columns.map((t,r)=>(0,f.jsx)(s.Table.Cell,{headers:`${n} ${R[r]}`,className:(0,d.default)(l.default.value,t.kind!==`leaf`&&l.default.aggregate,t.startsGroup&&!(H&&r===0)&&l.default.groupStart),children:_(e.key,t.key)},r))]},e.key)};return(0,f.jsx)(`div`,{ref:z,className:l.default.scroller,style:le===void 0?void 0:{maxHeight:le},tabIndex:V?0:void 0,onScroll:x?Y:void 0,...V&&Ie?{role:`region`,...Ie}:null,children:(0,f.jsxs)(`table`,{ref:xe,className:(0,d.default)(`wim-pivot-table`,l.default.root,fe),"aria-rowcount":x?W+X+ +!!C:void 0,...T,children:[y&&(0,f.jsx)(`caption`,{id:Fe,className:l.default.caption,children:y}),(0,f.jsx)(`colgroup`,{}),A.groupSpans.map((e,t)=>(0,f.jsx)(`colgroup`,{span:e},t)),(0,f.jsx)(s.Table.Header,{children:A.headerRows.map((e,t)=>(0,f.jsxs)(`tr`,{"aria-rowindex":x?t+1:void 0,ref:e=>{U.current[t]=e},children:[t===0&&(P?(0,f.jsx)(`th`,{id:F,scope:`col`,rowSpan:A.depth,className:(0,d.default)(l.default.columnHeader,l.default.corner,l.default.bottom,b&&l.default.stickyTop,H&&l.default.stickyLeft),...Q(m),style:{...$(0,!0),...Q(m)?.style},children:(0,f.jsx)(`span`,{className:(0,d.default)(N&&l.default.columnLeafLabel),children:v})}):(0,f.jsx)(`td`,{rowSpan:A.depth,className:(0,d.default)(l.default.columnHeader,l.default.bottom,b&&l.default.stickyTop,H&&l.default.stickyLeft),...Q(m),style:{...$(0,!0),...Q(m)?.style}})),e.map((e,n)=>(0,f.jsx)(`th`,{id:_e(e.id),scope:e.kind===`group`&&e.topLevel?`colgroup`:`col`,colSpan:e.colSpan>1?e.colSpan:void 0,rowSpan:e.rowSpan>1?e.rowSpan:void 0,className:(0,d.default)(l.default.columnHeader,e.kind===`group`&&e.expanded&&l.default.group,e.reachesBottom&&l.default.bottom,e.startsGroup&&!(H&&n===0)&&l.default.groupStart,b&&l.default.stickyTop),...e.reachesBottom?Q(Pe.get(e.id)):null,style:{...$(t),...e.reachesBottom?Q(Pe.get(e.id))?.style:null},children:e.kind===`group`?(0,f.jsxs)(`button`,{type:`button`,className:(0,d.default)(l.default.toggle,l.default.columnToggle),"aria-expanded":e.expanded,onClick:()=>ge(e.key),children:[(0,f.jsx)(`span`,{className:(0,d.default)(l.default.chevron,e.expanded&&l.default.open),"aria-hidden":`true`,children:(0,f.jsx)(o.Icon,{component:a.default,size:`sm`})}),e.node?.label]}):(0,f.jsx)(`span`,{className:(0,d.default)(N&&l.default.columnLeafLabel),children:e.kind===`leaf`?e.node?.label:D})},`${e.kind}:${e.key??``}`))]},t))}),(0,f.jsx)(s.Table.Body,{ref:G,onFocus:x?e=>{let t=e.target.closest(`tr`)?.dataset.rowKey;t!==void 0&&Ee(t)}:void 0,onBlur:x?e=>{e.currentTarget.contains(e.relatedTarget)||Ee(null)}:void 0,children:(Ne??[{kind:`rows`,from:0,to:X}]).map((e,t)=>e.kind===`gap`?(0,f.jsx)(`tr`,{"aria-hidden":`true`,className:l.default.gap,children:(0,f.jsx)(`td`,{colSpan:Ae+1,style:{height:e.count*(K||p)}})},`gap-${t}`):j.slice(e.from,e.to).map((t,n)=>Le(t,e.from+n)))}),C&&(0,f.jsx)(s.Table.Footer,{children:(0,f.jsxs)(s.Table.Row,{className:l.default.totalRow,"aria-rowindex":x?W+X+1:void 0,children:[(0,f.jsx)(`th`,{id:L,scope:`row`,headers:P?F:void 0,className:(0,d.default)(l.default.rowHeader,H&&l.default.stickyLeft),children:(0,f.jsx)(`span`,{className:(0,d.default)(M&&l.default.leafLabel),children:D})}),A.columns.map((e,t)=>(0,f.jsx)(s.Table.Cell,{headers:`${L} ${R[t]}`,className:(0,d.default)(l.default.value,e.startsGroup&&!(H&&t===0)&&l.default.groupStart),children:_(null,e.key)},t))]})})]})})});g.displayName=`PivotTable`,exports.PivotTable=g;
|