@pibit.ai/cure-design-system 0.3.16 → 0.3.18
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/assets/icons/group-by.svg.js +4 -0
- package/dist/assets/icons/reorder-dots-new.svg.js +4 -0
- package/dist/assets/icons/reorder-dots.svg.js +4 -0
- package/dist/assets/icons/resize-1.svg.js +4 -0
- package/dist/assets/icons/resize-2.svg.js +4 -0
- package/dist/assets/icons/resize-4.svg.js +4 -0
- package/dist/assets/icons/resize-5.svg.js +4 -0
- package/dist/assets/icons/show-summary.svg.js +4 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +124 -62
- package/dist/node_modules/framer-motion/dist/es/components/Reorder/Group.js +46 -0
- package/dist/node_modules/framer-motion/dist/es/components/Reorder/Item.js +34 -0
- package/dist/node_modules/framer-motion/dist/es/components/Reorder/utils/auto-scroll.js +65 -0
- package/dist/node_modules/framer-motion/dist/es/components/Reorder/utils/check-reorder.js +17 -0
- package/dist/node_modules/framer-motion/dist/es/context/ReorderContext.js +5 -0
- package/dist/node_modules/framer-motion/dist/es/gestures/drag/use-drag-controls.js +70 -0
- package/dist/node_modules/framer-motion/dist/es/value/use-combine-values.js +15 -0
- package/dist/node_modules/framer-motion/dist/es/value/use-computed.js +10 -0
- package/dist/node_modules/framer-motion/dist/es/value/use-motion-value.js +15 -0
- package/dist/node_modules/framer-motion/dist/es/value/use-transform.js +23 -0
- package/dist/node_modules/motion-dom/dist/es/projection/node/create-projection-node.js +1 -1
- package/dist/node_modules/motion-dom/dist/es/utils/transform.js +8 -0
- package/dist/node_modules/motion-dom/dist/es/value/index.js +21 -18
- package/dist/node_modules/motion-utils/dist/es/array.js +15 -6
- package/dist/patterns/table/TablePagination.d.ts +23 -0
- package/dist/patterns/table/TablePagination.d.ts.map +1 -0
- package/dist/patterns/table/TablePagination.js +60 -0
- package/dist/patterns/table/TableWrapper.d.ts +2 -81
- package/dist/patterns/table/TableWrapper.d.ts.map +1 -1
- package/dist/patterns/table/TableWrapper.js +726 -157
- package/dist/patterns/table/index.d.ts +13 -2
- package/dist/patterns/table/index.d.ts.map +1 -1
- package/dist/patterns/table/pagination-base.d.ts +78 -0
- package/dist/patterns/table/pagination-base.d.ts.map +1 -0
- package/dist/patterns/table/pagination-base.js +127 -0
- package/dist/patterns/table/pagination-card.d.ts +9 -0
- package/dist/patterns/table/pagination-card.d.ts.map +1 -0
- package/dist/patterns/table/pagination-card.js +65 -0
- package/dist/patterns/table/row-height-icons.d.ts +9 -0
- package/dist/patterns/table/row-height-icons.d.ts.map +1 -0
- package/dist/patterns/table/row-height-icons.js +13 -0
- package/dist/patterns/table/storyHelpers/mockToolbarSlots.d.ts +7 -0
- package/dist/patterns/table/storyHelpers/mockToolbarSlots.d.ts.map +1 -0
- package/dist/patterns/table/storyHelpers/useMockTableState.d.ts +31 -0
- package/dist/patterns/table/storyHelpers/useMockTableState.d.ts.map +1 -0
- package/dist/patterns/table/storyHelpers/useMockTableToolbar.d.ts +3 -0
- package/dist/patterns/table/storyHelpers/useMockTableToolbar.d.ts.map +1 -0
- package/dist/patterns/table/table.d.ts +10 -13
- package/dist/patterns/table/table.d.ts.map +1 -1
- package/dist/patterns/table/table.js +235 -312
- package/dist/patterns/table/toolbar/AlignDropdown.d.ts +11 -0
- package/dist/patterns/table/toolbar/AlignDropdown.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/AlignDropdown.js +77 -0
- package/dist/patterns/table/toolbar/BasicSortPanel.d.ts +6 -0
- package/dist/patterns/table/toolbar/BasicSortPanel.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/BulkActionBar.d.ts +12 -0
- package/dist/patterns/table/toolbar/BulkActionBar.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/BulkActionBar.js +62 -0
- package/dist/patterns/table/toolbar/ColumnHeaderMenu.d.ts +41 -0
- package/dist/patterns/table/toolbar/ColumnHeaderMenu.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/ColumnHeaderMenu.js +171 -0
- package/dist/patterns/table/toolbar/GroupByDropdown.d.ts +11 -0
- package/dist/patterns/table/toolbar/GroupByDropdown.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/GroupByDropdown.js +80 -0
- package/dist/patterns/table/toolbar/HideFieldsDropdown.d.ts +13 -0
- package/dist/patterns/table/toolbar/HideFieldsDropdown.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/HideFieldsDropdown.js +180 -0
- package/dist/patterns/table/toolbar/LegacySortFilterTools.d.ts +9 -0
- package/dist/patterns/table/toolbar/LegacySortFilterTools.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/RowActionsMenu.d.ts +19 -0
- package/dist/patterns/table/toolbar/RowActionsMenu.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/RowActionsMenu.js +84 -0
- package/dist/patterns/table/toolbar/RowHeightDropdown.d.ts +9 -0
- package/dist/patterns/table/toolbar/RowHeightDropdown.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/RowHeightDropdown.js +60 -0
- package/dist/patterns/table/toolbar/ShowSummaryDropdown.d.ts +8 -0
- package/dist/patterns/table/toolbar/ShowSummaryDropdown.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/ShowSummaryDropdown.js +22 -0
- package/dist/patterns/table/toolbar/SummaryFooter.d.ts +16 -0
- package/dist/patterns/table/toolbar/SummaryFooter.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/SummaryFooter.js +83 -0
- package/dist/patterns/table/toolbar/TableToolbar.d.ts +55 -0
- package/dist/patterns/table/toolbar/TableToolbar.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/TableToolbar.js +234 -0
- package/dist/patterns/table/toolbar/ToolbarRadio.d.ts +18 -0
- package/dist/patterns/table/toolbar/ToolbarRadio.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/ToolbarRadio.js +63 -0
- package/dist/patterns/table/toolbar/index.d.ts +24 -0
- package/dist/patterns/table/toolbar/index.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/legacyToolbarTypes.d.ts +69 -0
- package/dist/patterns/table/toolbar/legacyToolbarTypes.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/tableToolbarHelpers.d.ts +35 -0
- package/dist/patterns/table/toolbar/tableToolbarHelpers.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/tableToolbarHelpers.js +259 -0
- package/dist/patterns/table/toolbar/tableToolbarHelpers.test.d.ts +2 -0
- package/dist/patterns/table/toolbar/tableToolbarHelpers.test.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/toolbarExtensions.d.ts +12 -0
- package/dist/patterns/table/toolbar/toolbarExtensions.d.ts.map +1 -0
- package/dist/patterns/table/toolbar/toolbarExtensions.js +18 -0
- package/dist/patterns/table/toolbar-icons.d.ts +8 -0
- package/dist/patterns/table/toolbar-icons.d.ts.map +1 -0
- package/dist/patterns/table/toolbar-icons.js +13 -0
- package/dist/patterns/table/types.d.ts +141 -0
- package/dist/patterns/table/types.d.ts.map +1 -0
- package/dist/patterns/table/useGridKeyboardNavigation.d.ts +38 -0
- package/dist/patterns/table/useGridKeyboardNavigation.d.ts.map +1 -0
- package/dist/patterns/table/useGridKeyboardNavigation.js +65 -0
- package/dist/primitives/checkbox/checkbox.d.ts +2 -2
- package/dist/primitives/checkbox/checkbox.d.ts.map +1 -1
- package/dist/primitives/dropdown/dropdown.d.ts +32 -0
- package/dist/primitives/dropdown/dropdown.d.ts.map +1 -0
- package/dist/primitives/dropdown/dropdown.js +118 -0
- package/dist/primitives/dropdown/index.d.ts +2 -0
- package/dist/primitives/dropdown/index.d.ts.map +1 -0
- package/dist/primitives/select/ExpandableSearchInput.d.ts +5 -1
- package/dist/primitives/select/ExpandableSearchInput.d.ts.map +1 -1
- package/dist/primitives/select/ExpandableSearchInput.js +80 -77
- package/dist/primitives/shimmer/index.d.ts +2 -0
- package/dist/primitives/shimmer/index.d.ts.map +1 -0
- package/dist/primitives/shimmer/shimmer.d.ts +24 -0
- package/dist/primitives/shimmer/shimmer.d.ts.map +1 -0
- package/dist/primitives/shimmer/shimmer.js +37 -0
- package/dist/primitives/tooltip/ellipsis-content.d.ts +12 -0
- package/dist/primitives/tooltip/ellipsis-content.d.ts.map +1 -0
- package/dist/primitives/tooltip/ellipsis-content.js +113 -0
- package/dist/primitives/tooltip/index.d.ts +1 -0
- package/dist/primitives/tooltip/index.d.ts.map +1 -1
- package/dist/styles/components.css +1 -1
- package/dist/styles/theme.css +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { jsxs as d, jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import { useState as g, useEffect as j, useMemo as x } from "react";
|
|
3
|
+
import { EyeOff as q, Eye as K } from "@untitledui/icons";
|
|
4
|
+
import _ from "../../../primitives/select/SearchInput.js";
|
|
5
|
+
import { cx as I } from "../../../utils/cn.js";
|
|
6
|
+
import { TOOLBAR_ICONS as $ } from "../toolbar-icons.js";
|
|
7
|
+
import { resolveColumnLabel as F } from "./tableToolbarHelpers.js";
|
|
8
|
+
import { Dropdown as H } from "../../../primitives/dropdown/dropdown.js";
|
|
9
|
+
import { Button as z } from "../../../primitives/button/button.js";
|
|
10
|
+
import { useDragControls as G } from "../../../node_modules/framer-motion/dist/es/gestures/drag/use-drag-controls.js";
|
|
11
|
+
import { Toggle as M } from "../../../primitives/toggle/toggle.js";
|
|
12
|
+
import { ReorderGroup as J } from "../../../node_modules/framer-motion/dist/es/components/Reorder/Group.js";
|
|
13
|
+
import { ReorderItem as Q } from "../../../node_modules/framer-motion/dist/es/components/Reorder/Item.js";
|
|
14
|
+
const U = ({ columnKey: a, label: o, isHidden: p, isDisabled: i, onToggle: u }) => {
|
|
15
|
+
const l = G();
|
|
16
|
+
return /* @__PURE__ */ d(
|
|
17
|
+
Q,
|
|
18
|
+
{
|
|
19
|
+
value: a,
|
|
20
|
+
as: "div",
|
|
21
|
+
dragListener: !1,
|
|
22
|
+
dragControls: l,
|
|
23
|
+
className: "flex items-center gap-2 rounded-md bg-primary px-2 py-1.5 hover:bg-primary_hover",
|
|
24
|
+
style: { position: "relative" },
|
|
25
|
+
whileDrag: {
|
|
26
|
+
opacity: 0.85,
|
|
27
|
+
scale: 1.02,
|
|
28
|
+
boxShadow: "0 8px 24px rgba(0, 0, 0, 0.12)",
|
|
29
|
+
zIndex: 50
|
|
30
|
+
},
|
|
31
|
+
transition: { type: "spring", stiffness: 300, damping: 25 },
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ s(
|
|
34
|
+
M,
|
|
35
|
+
{
|
|
36
|
+
"aria-label": `Toggle visibility of ${o}`,
|
|
37
|
+
isSelected: !p,
|
|
38
|
+
isDisabled: i,
|
|
39
|
+
onChange: u,
|
|
40
|
+
size: "sm",
|
|
41
|
+
slim: !0
|
|
42
|
+
}
|
|
43
|
+
),
|
|
44
|
+
/* @__PURE__ */ s(
|
|
45
|
+
"span",
|
|
46
|
+
{
|
|
47
|
+
className: I("flex-1 truncate text-xs", p ? "text-tertiary" : "text-secondary"),
|
|
48
|
+
title: o,
|
|
49
|
+
children: o
|
|
50
|
+
}
|
|
51
|
+
),
|
|
52
|
+
/* @__PURE__ */ s(
|
|
53
|
+
"div",
|
|
54
|
+
{
|
|
55
|
+
onPointerDown: (v) => l.start(v),
|
|
56
|
+
className: "shrink-0 cursor-grab text-fg-quaternary hover:text-fg-secondary touch-none select-none",
|
|
57
|
+
"aria-label": `Drag ${o}`,
|
|
58
|
+
title: "Drag to reorder",
|
|
59
|
+
children: /* @__PURE__ */ s("img", { src: $.reorderDots, alt: "", className: "h-4 w-4 pointer-events-none" })
|
|
60
|
+
}
|
|
61
|
+
)
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
);
|
|
65
|
+
}, ie = ({
|
|
66
|
+
schema: a,
|
|
67
|
+
hiddenColumns: o,
|
|
68
|
+
setHiddenColumns: p,
|
|
69
|
+
columnOrder: i,
|
|
70
|
+
setColumnOrder: u,
|
|
71
|
+
labelMeta: l,
|
|
72
|
+
isDisabled: v
|
|
73
|
+
}) => {
|
|
74
|
+
const [y, D] = g(!1), [b, R] = g(""), [f, w] = g(() => new Set(o)), [N, m] = g(() => [...i]);
|
|
75
|
+
j(() => {
|
|
76
|
+
y && (w(new Set(o)), m([...i]), R(""));
|
|
77
|
+
}, [y, o, i]);
|
|
78
|
+
const c = x(() => {
|
|
79
|
+
const e = /* @__PURE__ */ new Map();
|
|
80
|
+
for (const r of a) e.set(r.value, F(r, l));
|
|
81
|
+
return e;
|
|
82
|
+
}, [a, l]), n = x(() => {
|
|
83
|
+
const e = /* @__PURE__ */ new Set(), r = [];
|
|
84
|
+
for (const t of N)
|
|
85
|
+
c.has(t) && !e.has(t) && (e.add(t), r.push(t));
|
|
86
|
+
for (const t of a)
|
|
87
|
+
e.has(t.value) || (e.add(t.value), r.push(t.value));
|
|
88
|
+
return r;
|
|
89
|
+
}, [N, a, c]), h = x(() => {
|
|
90
|
+
const e = b.trim().toLowerCase();
|
|
91
|
+
return e ? n.filter((r) => (c.get(r) ?? r).toLowerCase().includes(e)) : n;
|
|
92
|
+
}, [n, b, c]), T = (e) => {
|
|
93
|
+
if (e.length === n.length) {
|
|
94
|
+
m(e);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const r = new Set(h), t = [...e], C = n.map((L) => r.has(L) ? t.shift() : L);
|
|
98
|
+
m(C);
|
|
99
|
+
}, A = x(
|
|
100
|
+
() => n.filter((e) => !f.has(e)).length,
|
|
101
|
+
[n, f]
|
|
102
|
+
), P = (e) => {
|
|
103
|
+
w((r) => {
|
|
104
|
+
const t = new Set(r);
|
|
105
|
+
if (t.has(e))
|
|
106
|
+
t.delete(e);
|
|
107
|
+
else {
|
|
108
|
+
if (n.filter((C) => !r.has(C)).length <= 1)
|
|
109
|
+
return r;
|
|
110
|
+
t.add(e);
|
|
111
|
+
}
|
|
112
|
+
return t;
|
|
113
|
+
});
|
|
114
|
+
}, B = () => {
|
|
115
|
+
w(/* @__PURE__ */ new Set()), m(a.map((e) => e.value));
|
|
116
|
+
}, E = () => {
|
|
117
|
+
p(new Set(f)), u([...N]), D(!1);
|
|
118
|
+
}, O = o.size, S = O > 0;
|
|
119
|
+
return /* @__PURE__ */ d(H.Root, { isOpen: y, onOpenChange: D, children: [
|
|
120
|
+
/* @__PURE__ */ d(
|
|
121
|
+
z,
|
|
122
|
+
{
|
|
123
|
+
size: "xs",
|
|
124
|
+
color: "secondary",
|
|
125
|
+
isDisabled: v,
|
|
126
|
+
iconLeading: S ? /* @__PURE__ */ s(q, { size: 12 }) : /* @__PURE__ */ s(K, { size: 12 }),
|
|
127
|
+
className: I(
|
|
128
|
+
S && "ring-1 ring-brand-600 bg-brand-primary text-brand-600 hover:bg-brand-primary hover:text-brand-600"
|
|
129
|
+
),
|
|
130
|
+
children: [
|
|
131
|
+
"Hide Fields",
|
|
132
|
+
S && /* @__PURE__ */ s("span", { className: "text-xs font-semibold text-brand-600 ml-1", children: O })
|
|
133
|
+
]
|
|
134
|
+
}
|
|
135
|
+
),
|
|
136
|
+
/* @__PURE__ */ s(H.Popover, { className: "max-h-[60vh]", children: /* @__PURE__ */ d("div", { className: "flex flex-col gap-2 p-[6px]", children: [
|
|
137
|
+
/* @__PURE__ */ s(
|
|
138
|
+
_,
|
|
139
|
+
{
|
|
140
|
+
size: "sm",
|
|
141
|
+
placeholder: "Search fields",
|
|
142
|
+
value: b,
|
|
143
|
+
onChange: (e) => R(e),
|
|
144
|
+
className: "w-full ring-0 outline-hidden bg-secondary rounded-lg"
|
|
145
|
+
}
|
|
146
|
+
),
|
|
147
|
+
/* @__PURE__ */ s("div", { className: "max-h-[40vh] overflow-y-auto scrollbar-hide pr-0.5", children: h.length === 0 ? /* @__PURE__ */ s("p", { className: "px-2 py-3 text-xs text-tertiary", children: "No fields match." }) : /* @__PURE__ */ s(
|
|
148
|
+
J,
|
|
149
|
+
{
|
|
150
|
+
as: "div",
|
|
151
|
+
axis: "y",
|
|
152
|
+
values: h,
|
|
153
|
+
onReorder: T,
|
|
154
|
+
className: "flex flex-col gap-0.5",
|
|
155
|
+
children: h.map((e) => {
|
|
156
|
+
const r = f.has(e);
|
|
157
|
+
return /* @__PURE__ */ s(
|
|
158
|
+
U,
|
|
159
|
+
{
|
|
160
|
+
columnKey: e,
|
|
161
|
+
label: c.get(e) ?? e,
|
|
162
|
+
isHidden: r,
|
|
163
|
+
isDisabled: !r && A === 1,
|
|
164
|
+
onToggle: () => P(e)
|
|
165
|
+
},
|
|
166
|
+
e
|
|
167
|
+
);
|
|
168
|
+
})
|
|
169
|
+
}
|
|
170
|
+
) }),
|
|
171
|
+
/* @__PURE__ */ d("div", { className: "flex gap-2 pt-1 px-2 pb-2", children: [
|
|
172
|
+
/* @__PURE__ */ s(z, { color: "secondary", size: "xs", onClick: B, className: "flex-1", children: "Reset" }),
|
|
173
|
+
/* @__PURE__ */ s(z, { color: "primary", size: "xs", onClick: E, className: "flex-1", children: "Apply" })
|
|
174
|
+
] })
|
|
175
|
+
] }) })
|
|
176
|
+
] });
|
|
177
|
+
};
|
|
178
|
+
export {
|
|
179
|
+
ie as HideFieldsDropdown
|
|
180
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { LegacyFilterToolConfig, LegacySortToolConfig } from './legacyToolbarTypes';
|
|
3
|
+
export declare const LegacySortTool: FC<{
|
|
4
|
+
config: LegacySortToolConfig;
|
|
5
|
+
}>;
|
|
6
|
+
export declare const LegacyFilterTool: FC<{
|
|
7
|
+
config: LegacyFilterToolConfig;
|
|
8
|
+
}>;
|
|
9
|
+
//# sourceMappingURL=LegacySortFilterTools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LegacySortFilterTools.d.ts","sourceRoot":"","sources":["../../../../src/patterns/table/toolbar/LegacySortFilterTools.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAOhC,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAGzF,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC;IAAE,MAAM,EAAE,oBAAoB,CAAA;CAAE,CAmD/D,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC;IAAE,MAAM,EAAE,sBAAsB,CAAA;CAAE,CAuCnE,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface RowActionsConfig<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
2
|
+
onAddRowAbove?: (sourceRowIndex: number, item: T) => void;
|
|
3
|
+
onAddRowBelow?: (sourceRowIndex: number, item: T) => void;
|
|
4
|
+
onDuplicateRow?: (sourceRowIndex: number, item: T) => void;
|
|
5
|
+
onCopyRowValues?: (sourceRowIndex: number, item: T) => void;
|
|
6
|
+
onPasteRowValues?: (sourceRowIndex: number, item: T) => void;
|
|
7
|
+
onDeleteRow?: (sourceRowIndex: number, item: T) => void;
|
|
8
|
+
canPasteRowValues?: boolean;
|
|
9
|
+
}
|
|
10
|
+
interface RowActionsMenuProps<T extends Record<string, unknown>> {
|
|
11
|
+
config: RowActionsConfig<T>;
|
|
12
|
+
sourceRowIndex: number;
|
|
13
|
+
item: T;
|
|
14
|
+
triggerClassName?: string;
|
|
15
|
+
onOpenChange?: (open: boolean) => void;
|
|
16
|
+
}
|
|
17
|
+
export declare function RowActionsMenu<T extends Record<string, unknown>>({ config, sourceRowIndex, item, triggerClassName, onOpenChange, }: RowActionsMenuProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=RowActionsMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RowActionsMenu.d.ts","sourceRoot":"","sources":["../../../../src/patterns/table/toolbar/RowActionsMenu.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3F,aAAa,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC1D,aAAa,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC1D,cAAc,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC3D,eAAe,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5D,gBAAgB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7D,WAAW,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IACxD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAqCD,UAAU,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC;IACR,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAChE,MAAM,EACN,cAAc,EACd,IAAI,EACJ,gBAAgB,EAChB,YAAY,GACb,EAAE,mBAAmB,CAAC,CAAC,CAAC,2CAgExB"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { jsxs as c, jsx as e, Fragment as v } from "react/jsx-runtime";
|
|
2
|
+
import { useState as A } from "react";
|
|
3
|
+
import { ArrowUp as h, ArrowDown as C, Copy06 as f, Copy01 as D, Clipboard as N, Trash01 as k } from "@untitledui/icons";
|
|
4
|
+
import { Button as P } from "react-aria-components";
|
|
5
|
+
import { cx as u } from "../../../utils/cn.js";
|
|
6
|
+
import { TOOLBAR_ICONS as V } from "../toolbar-icons.js";
|
|
7
|
+
import { Dropdown as b } from "../../../primitives/dropdown/dropdown.js";
|
|
8
|
+
const a = ({ icon: o, label: n, danger: i, disabled: s, onClick: l }) => /* @__PURE__ */ c(
|
|
9
|
+
"button",
|
|
10
|
+
{
|
|
11
|
+
type: "button",
|
|
12
|
+
disabled: s,
|
|
13
|
+
onClick: l,
|
|
14
|
+
className: u(
|
|
15
|
+
"flex w-full items-center gap-2 rounded-md px-2 py-2 text-left text-xs font-medium transition-colors outline-none",
|
|
16
|
+
s ? "cursor-not-allowed text-disabled" : i ? "cursor-pointer text-error-primary hover:bg-error-primary" : "cursor-pointer text-secondary hover:bg-primary_hover"
|
|
17
|
+
),
|
|
18
|
+
children: [
|
|
19
|
+
/* @__PURE__ */ e(
|
|
20
|
+
o,
|
|
21
|
+
{
|
|
22
|
+
size: 16,
|
|
23
|
+
className: u(
|
|
24
|
+
"shrink-0",
|
|
25
|
+
s ? "text-fg-disabled" : i ? "text-error-primary" : "text-fg-quaternary"
|
|
26
|
+
)
|
|
27
|
+
}
|
|
28
|
+
),
|
|
29
|
+
/* @__PURE__ */ e("span", { className: "flex-1 truncate", children: n })
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
), y = () => /* @__PURE__ */ e("div", { className: "my-1 h-px w-full bg-secondary" });
|
|
33
|
+
function G({
|
|
34
|
+
config: o,
|
|
35
|
+
sourceRowIndex: n,
|
|
36
|
+
item: i,
|
|
37
|
+
triggerClassName: s,
|
|
38
|
+
onOpenChange: l
|
|
39
|
+
}) {
|
|
40
|
+
const [p, x] = A(!1), d = (t) => {
|
|
41
|
+
x(t), l == null || l(t);
|
|
42
|
+
}, r = (t) => () => {
|
|
43
|
+
t == null || t(n, i), d(!1);
|
|
44
|
+
}, w = o.onAddRowAbove || o.onAddRowBelow, m = o.onDuplicateRow || o.onCopyRowValues || o.onPasteRowValues, R = o.canPasteRowValues ?? !0;
|
|
45
|
+
return /* @__PURE__ */ c(b.Root, { isOpen: p, onOpenChange: d, children: [
|
|
46
|
+
/* @__PURE__ */ e(
|
|
47
|
+
P,
|
|
48
|
+
{
|
|
49
|
+
"aria-label": `Open row actions for row ${n + 1}`,
|
|
50
|
+
className: u(
|
|
51
|
+
"flex items-center justify-center outline-none cursor-pointer",
|
|
52
|
+
"text-fg-quaternary hover:bg-secondary_subtle hover:text-fg-quaternary_hover",
|
|
53
|
+
"data-[pressed]:bg-secondary_subtle data-[focus-visible]:ring-2 data-[focus-visible]:ring-focus-ring",
|
|
54
|
+
p && "opacity-100",
|
|
55
|
+
s
|
|
56
|
+
),
|
|
57
|
+
children: /* @__PURE__ */ e("img", { src: V.reorderDotsNew, alt: "", className: "h-4 w-4" })
|
|
58
|
+
}
|
|
59
|
+
),
|
|
60
|
+
/* @__PURE__ */ e(b.Popover, { className: "w-56", children: /* @__PURE__ */ c("div", { className: "flex flex-col px-1.5 py-1", children: [
|
|
61
|
+
o.onAddRowAbove && /* @__PURE__ */ e(a, { icon: h, label: "Add row above", onClick: r(o.onAddRowAbove) }),
|
|
62
|
+
o.onAddRowBelow && /* @__PURE__ */ e(a, { icon: C, label: "Add row below", onClick: r(o.onAddRowBelow) }),
|
|
63
|
+
w && m && /* @__PURE__ */ e(y, {}),
|
|
64
|
+
o.onDuplicateRow && /* @__PURE__ */ e(a, { icon: f, label: "Duplicate row", onClick: r(o.onDuplicateRow) }),
|
|
65
|
+
o.onCopyRowValues && /* @__PURE__ */ e(a, { icon: D, label: "Copy row values", onClick: r(o.onCopyRowValues) }),
|
|
66
|
+
o.onPasteRowValues && /* @__PURE__ */ e(
|
|
67
|
+
a,
|
|
68
|
+
{
|
|
69
|
+
icon: N,
|
|
70
|
+
label: "Paste row values",
|
|
71
|
+
disabled: !R,
|
|
72
|
+
onClick: r(o.onPasteRowValues)
|
|
73
|
+
}
|
|
74
|
+
),
|
|
75
|
+
o.onDeleteRow && /* @__PURE__ */ c(v, { children: [
|
|
76
|
+
(w || m) && /* @__PURE__ */ e(y, {}),
|
|
77
|
+
/* @__PURE__ */ e(a, { icon: k, label: "Delete row", danger: !0, onClick: r(o.onDeleteRow) })
|
|
78
|
+
] })
|
|
79
|
+
] }) })
|
|
80
|
+
] });
|
|
81
|
+
}
|
|
82
|
+
export {
|
|
83
|
+
G as RowActionsMenu
|
|
84
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
export type RowHeightOption = "small" | "medium" | "large" | "xl";
|
|
3
|
+
export interface RowHeightDropdownProps {
|
|
4
|
+
value: RowHeightOption;
|
|
5
|
+
onChange: (value: RowHeightOption) => void;
|
|
6
|
+
isDisabled?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const RowHeightDropdown: FC<RowHeightDropdownProps>;
|
|
9
|
+
//# sourceMappingURL=RowHeightDropdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RowHeightDropdown.d.ts","sourceRoot":"","sources":["../../../../src/patterns/table/toolbar/RowHeightDropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAOhC,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC;AAelE,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CA8CxD,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { jsxs as a, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { Check as d } from "@untitledui/icons";
|
|
3
|
+
import { cx as s } from "../../../utils/cn.js";
|
|
4
|
+
import { ROW_HEIGHT_ICONS as l } from "../row-height-icons.js";
|
|
5
|
+
import { Dropdown as o } from "../../../primitives/dropdown/dropdown.js";
|
|
6
|
+
import { Button as x } from "../../../primitives/button/button.js";
|
|
7
|
+
const h = [
|
|
8
|
+
{ id: "small", label: "Small", iconSrc: l.small },
|
|
9
|
+
{ id: "medium", label: "Medium", iconSrc: l.medium },
|
|
10
|
+
{ id: "large", label: "Large", iconSrc: l.large },
|
|
11
|
+
{ id: "xl", label: "XL", iconSrc: l.xl }
|
|
12
|
+
], S = ({ value: c, onChange: n, isDisabled: m }) => {
|
|
13
|
+
const t = c !== "small";
|
|
14
|
+
return /* @__PURE__ */ a(o.Root, { children: [
|
|
15
|
+
/* @__PURE__ */ e(
|
|
16
|
+
x,
|
|
17
|
+
{
|
|
18
|
+
size: "xs",
|
|
19
|
+
color: "secondary",
|
|
20
|
+
isDisabled: m,
|
|
21
|
+
iconLeading: /* @__PURE__ */ e("img", { src: l.small, alt: "", className: "h-3 w-3" }),
|
|
22
|
+
className: s(
|
|
23
|
+
t && "ring-1 ring-brand-600 bg-brand-primary text-brand-600 hover:bg-brand-primary hover:text-brand-600"
|
|
24
|
+
),
|
|
25
|
+
children: "Row Height"
|
|
26
|
+
}
|
|
27
|
+
),
|
|
28
|
+
/* @__PURE__ */ e(o.Popover, { className: "w-44", children: /* @__PURE__ */ e("div", { className: "flex flex-col gap-1 py-1 px-2", children: /* @__PURE__ */ e("ul", { className: "flex flex-col", children: h.map((r) => {
|
|
29
|
+
const i = c === r.id;
|
|
30
|
+
return /* @__PURE__ */ a(
|
|
31
|
+
"li",
|
|
32
|
+
{
|
|
33
|
+
className: s([
|
|
34
|
+
"flex items-center gap-2 rounded-md px-2 py-2",
|
|
35
|
+
i && "bg-utility-brand-25",
|
|
36
|
+
!i && "text-secondary hover:bg-primary_hover"
|
|
37
|
+
]),
|
|
38
|
+
children: [
|
|
39
|
+
/* @__PURE__ */ a(
|
|
40
|
+
"div",
|
|
41
|
+
{
|
|
42
|
+
onClick: () => n(r.id),
|
|
43
|
+
className: "flex w-full items-center gap-2 text-xs font-medium text-left transition-colors",
|
|
44
|
+
children: [
|
|
45
|
+
/* @__PURE__ */ e("img", { src: r.iconSrc, alt: "", className: "h-4 w-4 shrink-0" }),
|
|
46
|
+
/* @__PURE__ */ e("span", { className: "flex-1", children: r.label })
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
),
|
|
50
|
+
i && /* @__PURE__ */ e(d, { size: 16, className: "shrink-0 text-brand-600" })
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
r.id
|
|
54
|
+
);
|
|
55
|
+
}) }) }) })
|
|
56
|
+
] });
|
|
57
|
+
};
|
|
58
|
+
export {
|
|
59
|
+
S as RowHeightDropdown
|
|
60
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
export interface ShowSummaryDropdownProps {
|
|
3
|
+
value: boolean;
|
|
4
|
+
onChange: (next: boolean) => void;
|
|
5
|
+
isDisabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const ShowSummaryDropdown: FC<ShowSummaryDropdownProps>;
|
|
8
|
+
//# sourceMappingURL=ShowSummaryDropdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShowSummaryDropdown.d.ts","sourceRoot":"","sources":["../../../../src/patterns/table/toolbar/ShowSummaryDropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAKhC,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,wBAAwB,CAe5D,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { cx as i } from "../../../utils/cn.js";
|
|
3
|
+
import { TOOLBAR_ICONS as n } from "../toolbar-icons.js";
|
|
4
|
+
import { Button as s } from "../../../primitives/button/button.js";
|
|
5
|
+
const p = ({ value: r, onChange: m, isDisabled: a }) => /* @__PURE__ */ o(
|
|
6
|
+
s,
|
|
7
|
+
{
|
|
8
|
+
size: "xs",
|
|
9
|
+
color: "secondary",
|
|
10
|
+
isDisabled: a,
|
|
11
|
+
iconLeading: /* @__PURE__ */ o("img", { src: n.showSummary, alt: "", className: "h-3 w-3" }),
|
|
12
|
+
onClick: () => m(!r),
|
|
13
|
+
"aria-pressed": r,
|
|
14
|
+
className: i(
|
|
15
|
+
r && "ring-1 ring-brand-600 bg-brand-primary text-brand-600 hover:bg-brand-primary hover:text-brand-600"
|
|
16
|
+
),
|
|
17
|
+
children: "Show Summary"
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
export {
|
|
21
|
+
p as ShowSummaryDropdown
|
|
22
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Dispatch, FC, SetStateAction } from 'react';
|
|
2
|
+
import { TableColumnSchema } from '../types';
|
|
3
|
+
import { AggregationType, CellAlignment } from './tableToolbarHelpers';
|
|
4
|
+
export interface SummaryFooterRowProps {
|
|
5
|
+
schema: TableColumnSchema[];
|
|
6
|
+
summaryByColumn: Record<string, string>;
|
|
7
|
+
summaryAggregations: ReadonlyMap<string, AggregationType>;
|
|
8
|
+
setSummaryAggregations: Dispatch<SetStateAction<Map<string, AggregationType>>>;
|
|
9
|
+
columnAlignments: ReadonlyMap<string, CellAlignment>;
|
|
10
|
+
fieldDataTypeMap?: Readonly<Record<string, string>>;
|
|
11
|
+
hasActionsColumn: boolean;
|
|
12
|
+
hasSelectionColumn?: boolean;
|
|
13
|
+
showBorders: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare const SummaryFooterRow: FC<SummaryFooterRowProps>;
|
|
16
|
+
//# sourceMappingURL=SummaryFooter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SummaryFooter.d.ts","sourceRoot":"","sources":["../../../../src/patterns/table/toolbar/SummaryFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAM1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,aAAa,EAInB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,mBAAmB,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC1D,sBAAsB,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/E,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACrD,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACtB;AAsDD,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAkEtD,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { jsxs as u, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronDown as C } from "@untitledui/icons";
|
|
3
|
+
import { Button as A } from "react-aria-components";
|
|
4
|
+
import { Table as m } from "../table.js";
|
|
5
|
+
import { cx as f } from "../../../utils/cn.js";
|
|
6
|
+
import { getEffectiveAlignment as L, getAggregationsForType as j, resolveAggregationValueType as S, AGGREGATION_CELL_LABELS as R } from "./tableToolbarHelpers.js";
|
|
7
|
+
import { Dropdown as d } from "../../../primitives/dropdown/dropdown.js";
|
|
8
|
+
const T = (n) => n === "right" ? "justify-end" : n === "center" ? "justify-center" : "justify-start", _ = ({
|
|
9
|
+
column: n,
|
|
10
|
+
aggregation: l,
|
|
11
|
+
displayValue: a,
|
|
12
|
+
align: g,
|
|
13
|
+
fieldDataTypeMap: p,
|
|
14
|
+
onChange: b
|
|
15
|
+
}) => {
|
|
16
|
+
const i = j(S(n, p)), s = R[l];
|
|
17
|
+
return /* @__PURE__ */ u(d.Root, { children: [
|
|
18
|
+
/* @__PURE__ */ u(
|
|
19
|
+
A,
|
|
20
|
+
{
|
|
21
|
+
className: f(
|
|
22
|
+
"group flex w-full items-center gap-2 rounded px-2 py-1 text-xs outline-hidden",
|
|
23
|
+
"text-tertiary hover:bg-primary_hover cursor-pointer",
|
|
24
|
+
T(g)
|
|
25
|
+
),
|
|
26
|
+
"aria-label": `${s}${a ? `: ${a}` : ""}`,
|
|
27
|
+
children: [
|
|
28
|
+
/* @__PURE__ */ u("span", { className: "flex items-center gap-1.5 min-w-0", children: [
|
|
29
|
+
/* @__PURE__ */ e("span", { className: "font-normal text-tertiary", children: s }),
|
|
30
|
+
a && /* @__PURE__ */ e("span", { className: "font-semibold text-secondary truncate", children: a })
|
|
31
|
+
] }),
|
|
32
|
+
/* @__PURE__ */ e(C, { size: 12, className: "ml-auto shrink-0 text-fg-quaternary" })
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
),
|
|
36
|
+
/* @__PURE__ */ e(d.Popover, { className: "w-44", children: /* @__PURE__ */ e(d.Menu, { selectionMode: "none", onAction: (t) => b(t), children: i.map((t) => /* @__PURE__ */ e(d.Item, { id: t.id, label: t.label, isSelected: l === t.id }, t.id)) }) })
|
|
37
|
+
] });
|
|
38
|
+
}, k = ({
|
|
39
|
+
schema: n,
|
|
40
|
+
summaryByColumn: l,
|
|
41
|
+
summaryAggregations: a,
|
|
42
|
+
setSummaryAggregations: g,
|
|
43
|
+
columnAlignments: p,
|
|
44
|
+
hasActionsColumn: b,
|
|
45
|
+
hasSelectionColumn: i = !1,
|
|
46
|
+
showBorders: s,
|
|
47
|
+
fieldDataTypeMap: t
|
|
48
|
+
}) => {
|
|
49
|
+
const v = (r, c) => {
|
|
50
|
+
g((h) => {
|
|
51
|
+
const o = new Map(h);
|
|
52
|
+
return c === "count" ? o.delete(r) : o.set(r, c), o;
|
|
53
|
+
});
|
|
54
|
+
}, y = i ? "selection" : n.length > 0 ? "first-schema" : "none", x = () => /* @__PURE__ */ e("span", { className: "text-xs font-medium text-tertiary px-2 py-1", children: "Summary" });
|
|
55
|
+
return /* @__PURE__ */ u(m.Row, { className: "bg-secondary_subtle hover:bg-secondary_subtle", highlightSelectedRow: !1, children: [
|
|
56
|
+
i && /* @__PURE__ */ e(m.Cell, { className: f("relative w-10", s && "border-r border-secondary last:border-r-0"), children: y === "selection" && x() }),
|
|
57
|
+
n.map((r, c) => {
|
|
58
|
+
const h = a.get(r.value) ?? "count", o = L(r, p), N = y === "first-schema" && c === 0;
|
|
59
|
+
return /* @__PURE__ */ e(
|
|
60
|
+
m.Cell,
|
|
61
|
+
{
|
|
62
|
+
className: f("relative", s && "border-r border-secondary last:border-r-0"),
|
|
63
|
+
children: N ? x() : /* @__PURE__ */ e("div", { className: "absolute inset-0 flex items-center px-3", children: /* @__PURE__ */ e(
|
|
64
|
+
_,
|
|
65
|
+
{
|
|
66
|
+
column: r,
|
|
67
|
+
aggregation: h,
|
|
68
|
+
displayValue: l[r.value] ?? "",
|
|
69
|
+
align: o,
|
|
70
|
+
fieldDataTypeMap: t,
|
|
71
|
+
onChange: (w) => v(r.value, w)
|
|
72
|
+
}
|
|
73
|
+
) })
|
|
74
|
+
},
|
|
75
|
+
r.value
|
|
76
|
+
);
|
|
77
|
+
}),
|
|
78
|
+
b && /* @__PURE__ */ e(m.Cell, { className: f("relative w-14", s && "border-r border-secondary last:border-r-0") })
|
|
79
|
+
] });
|
|
80
|
+
};
|
|
81
|
+
export {
|
|
82
|
+
k as SummaryFooterRow
|
|
83
|
+
};
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
import { AlignDropdownProps } from './AlignDropdown';
|
|
3
|
+
import { GroupByDropdownProps } from './GroupByDropdown';
|
|
4
|
+
import { HideFieldsDropdownProps } from './HideFieldsDropdown';
|
|
5
|
+
import { RowHeightDropdownProps } from './RowHeightDropdown';
|
|
6
|
+
import { ShowSummaryDropdownProps } from './ShowSummaryDropdown';
|
|
7
|
+
import { LegacyFilterToolConfig, LegacySortToolConfig } from './legacyToolbarTypes';
|
|
8
|
+
export type SortToolConfig = LegacySortToolConfig;
|
|
9
|
+
export type FilterToolConfig = LegacyFilterToolConfig;
|
|
10
|
+
export interface SearchToolConfig {
|
|
11
|
+
value: string;
|
|
12
|
+
onChange: (value: string) => void;
|
|
13
|
+
}
|
|
14
|
+
export type RowHeightToolConfig = RowHeightDropdownProps;
|
|
15
|
+
export type HideFieldsToolConfig = HideFieldsDropdownProps;
|
|
16
|
+
export type AlignToolConfig = AlignDropdownProps;
|
|
17
|
+
export type GroupByToolConfig = GroupByDropdownProps;
|
|
18
|
+
export type SummaryToolConfig = ShowSummaryDropdownProps;
|
|
19
|
+
export interface TableToolbarProps {
|
|
20
|
+
className?: string;
|
|
21
|
+
fallbackTitle?: string;
|
|
22
|
+
showUndoRedo?: boolean;
|
|
23
|
+
sort?: SortToolConfig;
|
|
24
|
+
filter?: FilterToolConfig;
|
|
25
|
+
search?: SearchToolConfig;
|
|
26
|
+
rowHeight?: RowHeightToolConfig;
|
|
27
|
+
hideFields?: HideFieldsToolConfig;
|
|
28
|
+
align?: AlignToolConfig;
|
|
29
|
+
groupBy?: GroupByToolConfig;
|
|
30
|
+
summary?: SummaryToolConfig;
|
|
31
|
+
trailing?: ReactNode;
|
|
32
|
+
searchCollapsible?: boolean;
|
|
33
|
+
disableExtendedTools?: boolean;
|
|
34
|
+
/** Consumer-rendered sort UI (e.g. platform-ui `SortComponent`). Required for sort popover content. */
|
|
35
|
+
sortContent?: ReactNode;
|
|
36
|
+
/** Consumer-rendered filter UI (e.g. platform-ui `SchemaFilter`). Required for filter popover content. */
|
|
37
|
+
filterContent?: ReactNode;
|
|
38
|
+
}
|
|
39
|
+
export declare const TableToolbar: FC<TableToolbarProps>;
|
|
40
|
+
/** Sort, filter, and search only — extended tools must be passed explicitly when enabled. */
|
|
41
|
+
export declare function pickCoreToolbarProps(toolbar: {
|
|
42
|
+
sort?: SortToolConfig;
|
|
43
|
+
filter?: FilterToolConfig;
|
|
44
|
+
search?: SearchToolConfig;
|
|
45
|
+
rowHeight?: RowHeightToolConfig;
|
|
46
|
+
hideFields?: HideFieldsToolConfig;
|
|
47
|
+
align?: AlignToolConfig;
|
|
48
|
+
groupBy?: GroupByToolConfig;
|
|
49
|
+
summary?: SummaryToolConfig;
|
|
50
|
+
}): {
|
|
51
|
+
sort?: SortToolConfig;
|
|
52
|
+
filter?: FilterToolConfig;
|
|
53
|
+
search?: SearchToolConfig;
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=TableToolbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableToolbar.d.ts","sourceRoot":"","sources":["../../../../src/patterns/table/toolbar/TableToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQ3C,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAsB,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAqB,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAuB,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAE3F,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEzF,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAClD,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AACzD,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAC;AACjD,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AACrD,MAAM,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,uGAAuG;IACvG,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,0GAA0G;IAC1G,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AA+DD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAsG9C,CAAC;AAsHF,6FAA6F;AAC7F,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,GAAG;IACF,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B,CAMA"}
|