@epilot/volt-ui-experimental-griffel 0.2.3 → 0.3.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/ADOPTING.md +416 -0
- package/README.md +32 -31
- package/dist/_virtual/jsx-dev-runtime.js +5 -0
- package/dist/_virtual/jsx-dev-runtime.js.map +1 -0
- package/dist/_virtual/react-jsx-dev-runtime.development.js +5 -0
- package/dist/_virtual/react-jsx-dev-runtime.development.js.map +1 -0
- package/dist/_virtual/react-jsx-dev-runtime.production.js +5 -0
- package/dist/_virtual/react-jsx-dev-runtime.production.js.map +1 -0
- package/dist/components/accordion/accordion.js +126 -66
- package/dist/components/accordion/accordion.js.map +1 -1
- package/dist/components/alert-dialog/alert-dialog.js +239 -137
- package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
- package/dist/components/avatar/avatar-group.js +102 -47
- package/dist/components/avatar/avatar-group.js.map +1 -1
- package/dist/components/avatar/avatar.js +97 -73
- package/dist/components/avatar/avatar.js.map +1 -1
- package/dist/components/badge/badge.js +53 -37
- package/dist/components/badge/badge.js.map +1 -1
- package/dist/components/breadcrumb/breadcrumb.js +97 -49
- package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/components/button/button.js +88 -77
- package/dist/components/button/button.js.map +1 -1
- package/dist/components/button-group/button-group.js +55 -31
- package/dist/components/button-group/button-group.js.map +1 -1
- package/dist/components/callout/callout.js +288 -164
- package/dist/components/callout/callout.js.map +1 -1
- package/dist/components/card/card.js +137 -81
- package/dist/components/card/card.js.map +1 -1
- package/dist/components/checkbox/checkbox.js +100 -49
- package/dist/components/checkbox/checkbox.js.map +1 -1
- package/dist/components/collapsible-sidebar/collapsible-sidebar.js +155 -107
- package/dist/components/collapsible-sidebar/collapsible-sidebar.js.map +1 -1
- package/dist/components/command/command.js +297 -158
- package/dist/components/command/command.js.map +1 -1
- package/dist/components/data-table/data-table-body.js +114 -54
- package/dist/components/data-table/data-table-body.js.map +1 -1
- package/dist/components/data-table/data-table-column-header.js +117 -45
- package/dist/components/data-table/data-table-column-header.js.map +1 -1
- package/dist/components/data-table/data-table-column-visibility.js +98 -39
- package/dist/components/data-table/data-table-column-visibility.js.map +1 -1
- package/dist/components/data-table/data-table-content.js +90 -58
- package/dist/components/data-table/data-table-content.js.map +1 -1
- package/dist/components/data-table/data-table-error.js +83 -39
- package/dist/components/data-table/data-table-error.js.map +1 -1
- package/dist/components/data-table/data-table-header.js +88 -54
- package/dist/components/data-table/data-table-header.js.map +1 -1
- package/dist/components/data-table/data-table-loading.js +27 -15
- package/dist/components/data-table/data-table-loading.js.map +1 -1
- package/dist/components/data-table/data-table-pagination.js +27 -19
- package/dist/components/data-table/data-table-pagination.js.map +1 -1
- package/dist/components/data-table/data-table-row.js +87 -64
- package/dist/components/data-table/data-table-row.js.map +1 -1
- package/dist/components/data-table/data-table-toolbar.js +24 -16
- package/dist/components/data-table/data-table-toolbar.js.map +1 -1
- package/dist/components/data-table/data-table.js +182 -145
- package/dist/components/data-table/data-table.js.map +1 -1
- package/dist/components/date-range-picker/date-range-picker.js +342 -214
- package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
- package/dist/components/date-range-picker/range-calendar.js +132 -92
- package/dist/components/date-range-picker/range-calendar.js.map +1 -1
- package/dist/components/date-time-picker/calendar.js +501 -317
- package/dist/components/date-time-picker/calendar.js.map +1 -1
- package/dist/components/date-time-picker/date-time-picker-context.js +64 -60
- package/dist/components/date-time-picker/date-time-picker-context.js.map +1 -1
- package/dist/components/date-time-picker/date-time-picker-input.js +249 -149
- package/dist/components/date-time-picker/date-time-picker-input.js.map +1 -1
- package/dist/components/date-time-picker/date-time-picker-panel.js +273 -165
- package/dist/components/date-time-picker/date-time-picker-panel.js.map +1 -1
- package/dist/components/date-time-picker/date-time-picker-popover.js +22 -14
- package/dist/components/date-time-picker/date-time-picker-popover.js.map +1 -1
- package/dist/components/date-time-picker/date-time-picker.js +134 -90
- package/dist/components/date-time-picker/date-time-picker.js.map +1 -1
- package/dist/components/date-time-picker/time-picker.js +198 -132
- package/dist/components/date-time-picker/time-picker.js.map +1 -1
- package/dist/components/density-provider/density-provider.js +48 -0
- package/dist/components/density-provider/density-provider.js.map +1 -0
- package/dist/components/dialog/dialog.js +280 -150
- package/dist/components/dialog/dialog.js.map +1 -1
- package/dist/components/drawer/drawer.js +273 -163
- package/dist/components/drawer/drawer.js.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.js +378 -195
- package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/components/field/field-combobox.js +447 -240
- package/dist/components/field/field-combobox.js.map +1 -1
- package/dist/components/field/field-select.js +23 -19
- package/dist/components/field/field-select.js.map +1 -1
- package/dist/components/field/field.js +318 -209
- package/dist/components/field/field.js.map +1 -1
- package/dist/components/label/label.js +27 -19
- package/dist/components/label/label.js.map +1 -1
- package/dist/components/list/list.js +623 -369
- package/dist/components/list/list.js.map +1 -1
- package/dist/components/option-card/option-card.js +323 -159
- package/dist/components/option-card/option-card.js.map +1 -1
- package/dist/components/pill/pill.js +82 -64
- package/dist/components/pill/pill.js.map +1 -1
- package/dist/components/popover/popover.js +101 -56
- package/dist/components/popover/popover.js.map +1 -1
- package/dist/components/radio/radio.js +94 -51
- package/dist/components/radio/radio.js.map +1 -1
- package/dist/components/scroll-overflow/scroll-overflow.js +350 -198
- package/dist/components/scroll-overflow/scroll-overflow.js.map +1 -1
- package/dist/components/segmented-control/segmented-control.js +141 -97
- package/dist/components/segmented-control/segmented-control.js.map +1 -1
- package/dist/components/select/select.js +452 -227
- package/dist/components/select/select.js.map +1 -1
- package/dist/components/separator/separator.js +24 -16
- package/dist/components/separator/separator.js.map +1 -1
- package/dist/components/skeleton/skeleton.js +83 -43
- package/dist/components/skeleton/skeleton.js.map +1 -1
- package/dist/components/spinner/spinner.js +44 -20
- package/dist/components/spinner/spinner.js.map +1 -1
- package/dist/components/switch/switch.js +163 -86
- package/dist/components/switch/switch.js.map +1 -1
- package/dist/components/table/table-pagination.js +465 -205
- package/dist/components/table/table-pagination.js.map +1 -1
- package/dist/components/table/table.js +212 -144
- package/dist/components/table/table.js.map +1 -1
- package/dist/components/tabs/tabs.js +94 -58
- package/dist/components/tabs/tabs.js.map +1 -1
- package/dist/components/text/text.js +40 -32
- package/dist/components/text/text.js.map +1 -1
- package/dist/components/toast/toast.js +187 -111
- package/dist/components/toast/toast.js.map +1 -1
- package/dist/components/toggle/toggle-group.js +40 -24
- package/dist/components/toggle/toggle-group.js.map +1 -1
- package/dist/components/toggle/toggle.js +48 -40
- package/dist/components/toggle/toggle.js.map +1 -1
- package/dist/components/tooltip/tooltip.js +101 -55
- package/dist/components/tooltip/tooltip.js.map +1 -1
- package/dist/index.d.ts +600 -427
- package/dist/index.js +215 -212
- package/dist/index.js.map +1 -1
- package/dist/lib/clear-button.js +27 -15
- package/dist/lib/clear-button.js.map +1 -1
- package/dist/lib/icons.js +18 -6
- package/dist/lib/icons.js.map +1 -1
- package/dist/packages/volt-runtime/dist/sheet.js +27 -10
- package/dist/packages/volt-runtime/dist/sheet.js.map +1 -1
- package/dist/packages/volt-runtime/dist/styles/recipe.js +76 -0
- package/dist/packages/volt-runtime/dist/styles/recipe.js.map +1 -0
- package/dist/styles/document-context.js +12 -0
- package/dist/styles/document-context.js.map +1 -0
- package/dist/styles/make-styles.js +18 -10
- package/dist/styles/make-styles.js.map +1 -1
- package/dist/tokens/core.generated.js +1238 -1166
- package/dist/tokens/core.generated.js.map +1 -1
- package/dist/tokens/index.d.ts +442 -415
- package/dist/tokens/index.js +1105 -1078
- package/dist/tokens/index.js.map +1 -1
- package/dist/tokens/install.js +9 -5
- package/dist/tokens/install.js.map +1 -1
- package/dist/tokens/use-palette-tokens.js +20 -0
- package/dist/tokens/use-palette-tokens.js.map +1 -0
- package/dist/tokens.json +83 -2
- package/dist/vendor/react/cjs/react-jsx-dev-runtime.development.js +236 -0
- package/dist/vendor/react/cjs/react-jsx-dev-runtime.development.js.map +1 -0
- package/dist/vendor/react/cjs/react-jsx-dev-runtime.production.js +21 -0
- package/dist/vendor/react/cjs/react-jsx-dev-runtime.production.js.map +1 -0
- package/dist/vendor/react/jsx-dev-runtime.js +9 -0
- package/dist/vendor/react/jsx-dev-runtime.js.map +1 -0
- package/package.json +13 -5
- package/scripts/migration-diagnostics-core.mjs +859 -0
- package/scripts/migration-diagnostics.mjs +353 -0
- package/scripts/migration-sweep.mjs +179 -0
- package/AGENTS.md +0 -153
- package/AUTHORING.md +0 -292
- package/dist/packages/volt-runtime/dist/styles/make-styles.js +0 -22
- package/dist/packages/volt-runtime/dist/styles/make-styles.js.map +0 -1
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import * as
|
|
3
|
-
import { flexRender as
|
|
4
|
-
import { shorthands as
|
|
1
|
+
import { j as u } from "../../vendor/react/jsx-dev-runtime.js";
|
|
2
|
+
import * as L from "react";
|
|
3
|
+
import { flexRender as W } from "../../vendor/@tanstack/react-table/build/lib/index.js";
|
|
4
|
+
import { shorthands as w } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/index.js";
|
|
5
5
|
import { SLOT_ATTR as f } from "../../packages/volt-runtime/dist/renderer/contract.js";
|
|
6
6
|
import { mergeClasses as h } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
|
|
7
|
-
import { makeVoltStyles as
|
|
8
|
-
import { grayA6 as
|
|
9
|
-
import { TableRow as
|
|
10
|
-
import { getPinnedColumnOffset as
|
|
11
|
-
import { useDataTable as
|
|
12
|
-
import { useDataTableContent as
|
|
13
|
-
function
|
|
14
|
-
const
|
|
15
|
-
return (
|
|
7
|
+
import { makeVoltStyles as V } from "../../styles/make-styles.js";
|
|
8
|
+
import { grayA6 as j, accentA3 as g } from "../../tokens/index.js";
|
|
9
|
+
import { TableRow as A, TableCell as x } from "../table/table.js";
|
|
10
|
+
import { getPinnedColumnOffset as B, isLastLeftPinnedColumn as P, isFirstRightPinnedColumn as $ } from "./data-table-pinning-utils.js";
|
|
11
|
+
import { useDataTable as z } from "./hooks/use-data-table.js";
|
|
12
|
+
import { useDataTableContent as U } from "./hooks/use-data-table-content.js";
|
|
13
|
+
function F(t, a) {
|
|
14
|
+
const i = t.column.columnDef.meta;
|
|
15
|
+
return (i == null ? void 0 : i.cellOverflow) ?? a;
|
|
16
16
|
}
|
|
17
|
-
function
|
|
17
|
+
function K(t) {
|
|
18
18
|
const a = t.column.columnDef.meta;
|
|
19
19
|
return a == null ? void 0 : a.align;
|
|
20
20
|
}
|
|
21
|
-
const
|
|
21
|
+
const v = [
|
|
22
22
|
"button",
|
|
23
23
|
"a",
|
|
24
24
|
"input",
|
|
@@ -38,7 +38,7 @@ const C = [
|
|
|
38
38
|
'[role="tab"]',
|
|
39
39
|
"[data-radix-collection-item]",
|
|
40
40
|
`[${f}="checkbox"]`
|
|
41
|
-
],
|
|
41
|
+
], _ = V({
|
|
42
42
|
rowClickable: {
|
|
43
43
|
cursor: "pointer",
|
|
44
44
|
":hover": {
|
|
@@ -49,20 +49,20 @@ const C = [
|
|
|
49
49
|
backgroundColor: g
|
|
50
50
|
},
|
|
51
51
|
rowBorder: {
|
|
52
|
-
boxShadow: `inset 0 -1px 0 0 ${
|
|
52
|
+
boxShadow: `inset 0 -1px 0 0 ${j}`,
|
|
53
53
|
"&:last-child": {
|
|
54
54
|
boxShadow: "none"
|
|
55
55
|
}
|
|
56
56
|
},
|
|
57
57
|
cellTruncate: {
|
|
58
58
|
maxWidth: 0,
|
|
59
|
-
...
|
|
59
|
+
...w.overflow("hidden"),
|
|
60
60
|
textOverflow: "ellipsis",
|
|
61
61
|
whiteSpace: "nowrap"
|
|
62
62
|
},
|
|
63
63
|
cellWrap: {
|
|
64
64
|
maxWidth: 0,
|
|
65
|
-
...
|
|
65
|
+
...w.overflow("hidden"),
|
|
66
66
|
overflowWrap: "break-word",
|
|
67
67
|
wordBreak: "break-word"
|
|
68
68
|
},
|
|
@@ -73,35 +73,35 @@ const C = [
|
|
|
73
73
|
boxShadow: "-2px 0 5px -2px rgba(0,0,0,0.1)"
|
|
74
74
|
}
|
|
75
75
|
});
|
|
76
|
-
function
|
|
77
|
-
const
|
|
76
|
+
function Q({ row: t, style: a, className: i }, C) {
|
|
77
|
+
const l = _(), {
|
|
78
78
|
table: c,
|
|
79
|
-
onRowClick:
|
|
80
|
-
clickableRowClassName:
|
|
79
|
+
onRowClick: n,
|
|
80
|
+
clickableRowClassName: k,
|
|
81
81
|
selectedRowClassName: R,
|
|
82
|
-
cellOverflow:
|
|
83
|
-
showRowBorders:
|
|
84
|
-
disableColumnResizing:
|
|
85
|
-
} =
|
|
86
|
-
if (!
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
(o) =>
|
|
90
|
-
) ||
|
|
91
|
-
},
|
|
92
|
-
if (
|
|
93
|
-
const
|
|
94
|
-
if (
|
|
95
|
-
(o) =>
|
|
82
|
+
cellOverflow: D = "truncate",
|
|
83
|
+
showRowBorders: T,
|
|
84
|
+
disableColumnResizing: S
|
|
85
|
+
} = z(), d = U(), p = (d == null ? void 0 : d.spacerWidth) ?? 0, N = !S, s = !!n, E = (e) => {
|
|
86
|
+
if (!n) return;
|
|
87
|
+
const r = e.target;
|
|
88
|
+
v.some(
|
|
89
|
+
(o) => r.closest(o)
|
|
90
|
+
) || n(t, e);
|
|
91
|
+
}, y = (e) => {
|
|
92
|
+
if (n && (e.key === "Enter" || e.key === " ")) {
|
|
93
|
+
const r = e.target;
|
|
94
|
+
if (v.some(
|
|
95
|
+
(o) => r.closest(o)
|
|
96
96
|
))
|
|
97
97
|
return;
|
|
98
|
-
e.preventDefault(),
|
|
98
|
+
e.preventDefault(), n(t, e);
|
|
99
99
|
}
|
|
100
100
|
};
|
|
101
|
-
return /* @__PURE__ */
|
|
102
|
-
|
|
101
|
+
return /* @__PURE__ */ u.jsxDEV(
|
|
102
|
+
A,
|
|
103
103
|
{
|
|
104
|
-
ref:
|
|
104
|
+
ref: C,
|
|
105
105
|
"data-slot": "data-table-row",
|
|
106
106
|
[f]: "data-table-row",
|
|
107
107
|
"data-fs-element": "DataTable-Row",
|
|
@@ -109,18 +109,18 @@ function G({ row: t, style: a, className: n }, k) {
|
|
|
109
109
|
"data-clickable": s ? "true" : void 0,
|
|
110
110
|
style: a,
|
|
111
111
|
className: h(
|
|
112
|
-
|
|
113
|
-
s && (
|
|
114
|
-
t.getIsSelected() && (R ??
|
|
115
|
-
|
|
112
|
+
T !== !1 && l.rowBorder,
|
|
113
|
+
s && (k ?? l.rowClickable),
|
|
114
|
+
t.getIsSelected() && (R ?? l.rowSelected),
|
|
115
|
+
i
|
|
116
116
|
),
|
|
117
|
-
onClick: s ?
|
|
117
|
+
onClick: s ? E : void 0,
|
|
118
118
|
tabIndex: s ? 0 : void 0,
|
|
119
|
-
onKeyDown: s ?
|
|
119
|
+
onKeyDown: s ? y : void 0,
|
|
120
120
|
children: [
|
|
121
121
|
t.getVisibleCells().map((e) => {
|
|
122
|
-
const
|
|
123
|
-
return /* @__PURE__ */
|
|
122
|
+
const r = F(e, D), m = K(e), o = e.column.getIsPinned(), b = o ? B(e.column, c) : void 0, I = P(e.column, c), O = $(e.column, c);
|
|
123
|
+
return /* @__PURE__ */ u.jsxDEV(
|
|
124
124
|
x,
|
|
125
125
|
{
|
|
126
126
|
"data-slot": "data-table-cell",
|
|
@@ -129,35 +129,58 @@ function G({ row: t, style: a, className: n }, k) {
|
|
|
129
129
|
"data-pinned": o || void 0,
|
|
130
130
|
align: m,
|
|
131
131
|
style: {
|
|
132
|
-
width:
|
|
133
|
-
left: o === "left" ? `${
|
|
134
|
-
right: o === "right" ? `${
|
|
132
|
+
width: N || o ? e.column.getSize() : void 0,
|
|
133
|
+
left: o === "left" ? `${b}px` : void 0,
|
|
134
|
+
right: o === "right" ? `${b}px` : void 0
|
|
135
135
|
},
|
|
136
136
|
className: h(
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
137
|
+
r === "truncate" && l.cellTruncate,
|
|
138
|
+
r === "wrap" && l.cellWrap,
|
|
139
|
+
I && l.shadowLeft,
|
|
140
|
+
O && l.shadowRight
|
|
141
141
|
),
|
|
142
|
-
children:
|
|
142
|
+
children: W(e.column.columnDef.cell, e.getContext())
|
|
143
143
|
},
|
|
144
|
-
e.id
|
|
144
|
+
e.id,
|
|
145
|
+
!1,
|
|
146
|
+
{
|
|
147
|
+
fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/data-table/data-table-row.tsx",
|
|
148
|
+
lineNumber: 203,
|
|
149
|
+
columnNumber: 11
|
|
150
|
+
},
|
|
151
|
+
this
|
|
145
152
|
);
|
|
146
153
|
}),
|
|
147
|
-
|
|
154
|
+
p > 0 && /* @__PURE__ */ u.jsxDEV(
|
|
148
155
|
x,
|
|
149
156
|
{
|
|
150
157
|
"data-spacer": !0,
|
|
151
158
|
"aria-hidden": "true",
|
|
152
|
-
style: { width:
|
|
153
|
-
}
|
|
159
|
+
style: { width: p, padding: 0 }
|
|
160
|
+
},
|
|
161
|
+
void 0,
|
|
162
|
+
!1,
|
|
163
|
+
{
|
|
164
|
+
fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/data-table/data-table-row.tsx",
|
|
165
|
+
lineNumber: 231,
|
|
166
|
+
columnNumber: 9
|
|
167
|
+
},
|
|
168
|
+
this
|
|
154
169
|
)
|
|
155
170
|
]
|
|
156
|
-
}
|
|
171
|
+
},
|
|
172
|
+
void 0,
|
|
173
|
+
!0,
|
|
174
|
+
{
|
|
175
|
+
fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/data-table/data-table-row.tsx",
|
|
176
|
+
lineNumber: 174,
|
|
177
|
+
columnNumber: 5
|
|
178
|
+
},
|
|
179
|
+
this
|
|
157
180
|
);
|
|
158
181
|
}
|
|
159
|
-
const
|
|
182
|
+
const ae = L.forwardRef(Q);
|
|
160
183
|
export {
|
|
161
|
-
|
|
184
|
+
ae as DataTableRow
|
|
162
185
|
};
|
|
163
186
|
//# sourceMappingURL=data-table-row.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table-row.js","sources":["../../../src/components/data-table/data-table-row.tsx"],"sourcesContent":["import * as React from \"react\"\nimport type { CSSProperties, MouseEvent, KeyboardEvent } from \"react\"\nimport type { Row, Cell } from \"@tanstack/react-table\"\nimport { flexRender } from \"@tanstack/react-table\"\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\nimport { TableRow, TableCell } from \"../table/table\"\nimport { useDataTable, useDataTableContent } from \"./hooks\"\nimport type { DataTableCellOverflow } from \"./data-table-context\"\nimport {\n getPinnedColumnOffset,\n isLastLeftPinnedColumn,\n isFirstRightPinnedColumn,\n} from \"./data-table-pinning-utils\"\n\ntype CellAlign = \"left\" | \"center\" | \"right\"\n\n/**\n * Gets the cell overflow mode, checking column meta first, then falling back to table default.\n */\nfunction getCellOverflow<TData>(\n cell: Cell<TData, unknown>,\n tableDefault: DataTableCellOverflow\n): DataTableCellOverflow {\n const columnMeta = cell.column.columnDef.meta as\n | { cellOverflow?: DataTableCellOverflow }\n | undefined\n return columnMeta?.cellOverflow ?? tableDefault\n}\n\n/**\n * Gets the cell alignment from column meta.\n */\nfunction getCellAlign<TData>(\n cell: Cell<TData, unknown>\n): CellAlign | undefined {\n const columnMeta = cell.column.columnDef.meta as\n | { align?: CellAlign }\n | undefined\n return columnMeta?.align\n}\n\n// Interactive element selectors that should NOT trigger row click\nconst INTERACTIVE_SELECTORS = [\n \"button\",\n \"a\",\n \"input\",\n \"select\",\n \"textarea\",\n '[role=\"button\"]',\n '[role=\"checkbox\"]',\n '[role=\"link\"]',\n '[role=\"menuitem\"]',\n '[role=\"menuitemcheckbox\"]',\n '[role=\"menuitemradio\"]',\n '[role=\"option\"]',\n '[role=\"radio\"]',\n '[role=\"slider\"]',\n '[role=\"spinbutton\"]',\n '[role=\"switch\"]',\n '[role=\"tab\"]',\n \"[data-radix-collection-item]\",\n `[${SLOT_ATTR}=\"checkbox\"]`,\n]\n\nconst useStyles = makeVoltStyles({\n rowClickable: {\n cursor: \"pointer\",\n \":hover\": {\n backgroundColor: tokens.accentA3,\n },\n },\n rowSelected: {\n backgroundColor: tokens.accentA3,\n },\n rowBorder: {\n boxShadow: `inset 0 -1px 0 0 ${tokens.grayA6}`,\n \"&:last-child\": {\n boxShadow: \"none\",\n },\n },\n cellTruncate: {\n maxWidth: 0,\n ...shorthands.overflow(\"hidden\"),\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n },\n cellWrap: {\n maxWidth: 0,\n ...shorthands.overflow(\"hidden\"),\n overflowWrap: \"break-word\",\n wordBreak: \"break-word\",\n },\n shadowLeft: {\n boxShadow: \"2px 0 5px -2px rgba(0,0,0,0.1)\",\n },\n shadowRight: {\n boxShadow: \"-2px 0 5px -2px rgba(0,0,0,0.1)\",\n },\n})\n\nexport type DataTableRowProps<TData> = {\n /** The row instance from TanStack Table */\n row: Row<TData>\n /** Optional style (used for virtualized row heights) */\n style?: CSSProperties\n /** Additional class name */\n className?: string\n}\n\n/**\n * Renders a single table row with its cells.\n * Supports clickable rows when onRowClick is provided via DataTable context.\n */\nfunction DataTableRowInner<TData>(\n { row, style, className }: DataTableRowProps<TData>,\n ref: React.ForwardedRef<HTMLTableRowElement>\n) {\n const styles = useStyles()\n const {\n table,\n onRowClick,\n clickableRowClassName,\n selectedRowClassName,\n cellOverflow: tableCellOverflow = \"truncate\",\n showRowBorders,\n disableColumnResizing,\n } = useDataTable<TData>()\n const contentContext = useDataTableContent()\n const spacerWidth = contentContext?.spacerWidth ?? 0\n\n const enableColumnResizing = !disableColumnResizing\n const isClickable = Boolean(onRowClick)\n\n const handleClick = (event: MouseEvent<HTMLTableRowElement>) => {\n if (!onRowClick) return\n\n // Check if click originated from an interactive element\n const target = event.target as HTMLElement\n const isInteractiveElement = INTERACTIVE_SELECTORS.some((selector) =>\n target.closest(selector)\n )\n\n if (isInteractiveElement) {\n return // Don't trigger row click for interactive elements\n }\n\n onRowClick(row, event)\n }\n\n const handleKeyDown = (event: KeyboardEvent<HTMLTableRowElement>) => {\n if (!onRowClick) return\n\n if (event.key === \"Enter\" || event.key === \" \") {\n // Check if key event originated from an interactive element\n const target = event.target as HTMLElement\n const isInteractiveElement = INTERACTIVE_SELECTORS.some((selector) =>\n target.closest(selector)\n )\n\n if (isInteractiveElement) {\n return // Let the interactive element handle the event\n }\n\n event.preventDefault()\n onRowClick(row, event as unknown as MouseEvent<HTMLTableRowElement>)\n }\n }\n\n return (\n <TableRow\n ref={ref}\n data-slot=\"data-table-row\"\n {...{ [SLOT_ATTR]: \"data-table-row\" }}\n data-fs-element=\"DataTable-Row\"\n data-state={row.getIsSelected() ? \"selected\" : undefined}\n data-clickable={isClickable ? \"true\" : undefined}\n style={style}\n className={mergeClasses(\n showRowBorders !== false && styles.rowBorder,\n isClickable && (clickableRowClassName ?? styles.rowClickable),\n row.getIsSelected() && (selectedRowClassName ?? styles.rowSelected),\n className\n )}\n onClick={isClickable ? handleClick : undefined}\n tabIndex={isClickable ? 0 : undefined}\n onKeyDown={isClickable ? handleKeyDown : undefined}\n >\n {row.getVisibleCells().map((cell) => {\n const overflow = getCellOverflow(cell, tableCellOverflow)\n const align = getCellAlign(cell)\n const isPinned = cell.column.getIsPinned()\n const pinnedOffset = isPinned\n ? getPinnedColumnOffset(cell.column, table)\n : undefined\n const isLastLeft = isLastLeftPinnedColumn(cell.column, table)\n const isFirstRight = isFirstRightPinnedColumn(cell.column, table)\n\n return (\n <TableCell\n key={cell.id}\n data-slot=\"data-table-cell\"\n {...{ [SLOT_ATTR]: \"data-table-cell\" }}\n data-fs-element=\"DataTable-Cell\"\n data-pinned={isPinned || undefined}\n align={align}\n style={{\n width:\n enableColumnResizing || isPinned\n ? cell.column.getSize()\n : undefined,\n left: isPinned === \"left\" ? `${pinnedOffset}px` : undefined,\n right: isPinned === \"right\" ? `${pinnedOffset}px` : undefined,\n }}\n className={mergeClasses(\n overflow === \"truncate\" && styles.cellTruncate,\n overflow === \"wrap\" && styles.cellWrap,\n isLastLeft && styles.shadowLeft,\n isFirstRight && styles.shadowRight\n )}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n )\n })}\n {/* Spacer cell - matches header spacer column */}\n {spacerWidth > 0 && (\n <TableCell\n data-spacer\n aria-hidden=\"true\"\n style={{ width: spacerWidth, padding: 0 }}\n />\n )}\n </TableRow>\n )\n}\n\nexport const DataTableRow = React.forwardRef(DataTableRowInner) as <TData>(\n props: DataTableRowProps<TData> & {\n ref?: React.Ref<HTMLTableRowElement>\n }\n) => React.ReactElement | null\n"],"names":["getCellOverflow","cell","tableDefault","columnMeta","getCellAlign","INTERACTIVE_SELECTORS","SLOT_ATTR","useStyles","makeVoltStyles","tokens.accentA3","tokens.grayA6","shorthands","DataTableRowInner","row","style","className","ref","styles","table","onRowClick","clickableRowClassName","selectedRowClassName","tableCellOverflow","showRowBorders","disableColumnResizing","useDataTable","contentContext","useDataTableContent","spacerWidth","enableColumnResizing","isClickable","handleClick","event","target","selector","handleKeyDown","jsxs","TableRow","mergeClasses","overflow","align","isPinned","pinnedOffset","getPinnedColumnOffset","isLastLeft","isLastLeftPinnedColumn","isFirstRight","isFirstRightPinnedColumn","jsx","TableCell","DataTableRow","React"],"mappings":";;;;;;;;;;;;AAuBA,SAASA,EACPC,GACAC,GACuB;AACvB,QAAMC,IAAaF,EAAK,OAAO,UAAU;AAGzC,UAAOE,KAAA,gBAAAA,EAAY,iBAAgBD;AACrC;AAKA,SAASE,EACPH,GACuB;AACvB,QAAME,IAAaF,EAAK,OAAO,UAAU;AAGzC,SAAOE,KAAA,gBAAAA,EAAY;AACrB;AAGA,MAAME,IAAwB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,IAAIC,CAAS;AACf,GAEMC,IAAYC,EAAe;AAAA,EAC/B,cAAc;AAAA,IACZ,QAAQ;AAAA,IACR,UAAU;AAAA,MACR,iBAAiBC;AAAAA,IAAO;AAAA,EAC1B;AAAA,EAEF,aAAa;AAAA,IACX,iBAAiBA;AAAAA,EAAO;AAAA,EAE1B,WAAW;AAAA,IACT,WAAW,oBAAoBC,CAAa;AAAA,IAC5C,gBAAgB;AAAA,MACd,WAAW;AAAA,IAAA;AAAA,EACb;AAAA,EAEF,cAAc;AAAA,IACZ,UAAU;AAAA,IACV,GAAGC,EAAW,SAAS,QAAQ;AAAA,IAC/B,cAAc;AAAA,IACd,YAAY;AAAA,EAAA;AAAA,EAEd,UAAU;AAAA,IACR,UAAU;AAAA,IACV,GAAGA,EAAW,SAAS,QAAQ;AAAA,IAC/B,cAAc;AAAA,IACd,WAAW;AAAA,EAAA;AAAA,EAEb,YAAY;AAAA,IACV,WAAW;AAAA,EAAA;AAAA,EAEb,aAAa;AAAA,IACX,WAAW;AAAA,EAAA;AAEf,CAAC;AAeD,SAASC,EACP,EAAE,KAAAC,GAAK,OAAAC,GAAO,WAAAC,EAAA,GACdC,GACA;AACA,QAAMC,IAASV,EAAA,GACT;AAAA,IACJ,OAAAW;AAAA,IACA,YAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAcC,IAAoB;AAAA,IAClC,gBAAAC;AAAA,IACA,uBAAAC;AAAA,EAAA,IACEC,EAAA,GACEC,IAAiBC,EAAA,GACjBC,KAAcF,KAAA,gBAAAA,EAAgB,gBAAe,GAE7CG,IAAuB,CAACL,GACxBM,IAAc,EAAQX,GAEtBY,IAAc,CAACC,MAA2C;AAC9D,QAAI,CAACb,EAAY;AAGjB,UAAMc,IAASD,EAAM;AAKrB,IAJ6B3B,EAAsB;AAAA,MAAK,CAAC6B,MACvDD,EAAO,QAAQC,CAAQ;AAAA,IAAA,KAOzBf,EAAWN,GAAKmB,CAAK;AAAA,EACvB,GAEMG,IAAgB,CAACH,MAA8C;AACnE,QAAKb,MAEDa,EAAM,QAAQ,WAAWA,EAAM,QAAQ,MAAK;AAE9C,YAAMC,IAASD,EAAM;AAKrB,UAJ6B3B,EAAsB;AAAA,QAAK,CAAC6B,MACvDD,EAAO,QAAQC,CAAQ;AAAA,MAAA;AAIvB;AAGF,MAAAF,EAAM,eAAA,GACNb,EAAWN,GAAKmB,CAAmD;AAAA,IACrE;AAAA,EACF;AAEA,SACE,gBAAAI;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAArB;AAAA,MACA,aAAU;AAAA,MACJ,CAACV,CAAS,GAAG;AAAA,MACnB,mBAAgB;AAAA,MAChB,cAAYO,EAAI,cAAA,IAAkB,aAAa;AAAA,MAC/C,kBAAgBiB,IAAc,SAAS;AAAA,MACvC,OAAAhB;AAAA,MACA,WAAWwB;AAAAA,QACTf,MAAmB,MAASN,EAAO;AAAA,QACnCa,MAAgBV,KAAyBH,EAAO;AAAA,QAChDJ,EAAI,cAAA,MAAoBQ,KAAwBJ,EAAO;AAAA,QACvDF;AAAA,MAAA;AAAA,MAEF,SAASe,IAAcC,IAAc;AAAA,MACrC,UAAUD,IAAc,IAAI;AAAA,MAC5B,WAAWA,IAAcK,IAAgB;AAAA,MAExC,UAAA;AAAA,QAAAtB,EAAI,gBAAA,EAAkB,IAAI,CAACZ,MAAS;AACnC,gBAAMsC,IAAWvC,EAAgBC,GAAMqB,CAAiB,GAClDkB,IAAQpC,EAAaH,CAAI,GACzBwC,IAAWxC,EAAK,OAAO,YAAA,GACvByC,IAAeD,IACjBE,EAAsB1C,EAAK,QAAQiB,CAAK,IACxC,QACE0B,IAAaC,EAAuB5C,EAAK,QAAQiB,CAAK,GACtD4B,IAAeC,EAAyB9C,EAAK,QAAQiB,CAAK;AAEhE,iBACE,gBAAA8B;AAAA,YAACC;AAAA,YAAA;AAAA,cAEC,aAAU;AAAA,cACJ,CAAC3C,CAAS,GAAG;AAAA,cACnB,mBAAgB;AAAA,cAChB,eAAamC,KAAY;AAAA,cACzB,OAAAD;AAAA,cACA,OAAO;AAAA,gBACL,OACEX,KAAwBY,IACpBxC,EAAK,OAAO,YACZ;AAAA,gBACN,MAAMwC,MAAa,SAAS,GAAGC,CAAY,OAAO;AAAA,gBAClD,OAAOD,MAAa,UAAU,GAAGC,CAAY,OAAO;AAAA,cAAA;AAAA,cAEtD,WAAWJ;AAAAA,gBACTC,MAAa,cAActB,EAAO;AAAA,gBAClCsB,MAAa,UAAUtB,EAAO;AAAA,gBAC9B2B,KAAc3B,EAAO;AAAA,gBACrB6B,KAAgB7B,EAAO;AAAA,cAAA;AAAA,cAGxB,YAAWhB,EAAK,OAAO,UAAU,MAAMA,EAAK,YAAY;AAAA,YAAA;AAAA,YArBpDA,EAAK;AAAA,UAAA;AAAA,QAwBhB,CAAC;AAAA,QAEA2B,IAAc,KACb,gBAAAoB;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,eAAW;AAAA,YACX,eAAY;AAAA,YACZ,OAAO,EAAE,OAAOrB,GAAa,SAAS,EAAA;AAAA,UAAE;AAAA,QAAA;AAAA,MAC1C;AAAA,IAAA;AAAA,EAAA;AAIR;AAEO,MAAMsB,KAAeC,EAAM,WAAWvC,CAAiB;"}
|
|
1
|
+
{"version":3,"file":"data-table-row.js","sources":["../../../src/components/data-table/data-table-row.tsx"],"sourcesContent":["import * as React from \"react\"\nimport type { CSSProperties, MouseEvent, KeyboardEvent } from \"react\"\nimport type { Row, Cell } from \"@tanstack/react-table\"\nimport { flexRender } from \"@tanstack/react-table\"\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\nimport { TableRow, TableCell } from \"../table/table\"\nimport { useDataTable, useDataTableContent } from \"./hooks\"\nimport type { DataTableCellOverflow } from \"./data-table-context\"\nimport {\n getPinnedColumnOffset,\n isLastLeftPinnedColumn,\n isFirstRightPinnedColumn,\n} from \"./data-table-pinning-utils\"\n\ntype CellAlign = \"left\" | \"center\" | \"right\"\n\n/**\n * Gets the cell overflow mode, checking column meta first, then falling back to table default.\n */\nfunction getCellOverflow<TData>(\n cell: Cell<TData, unknown>,\n tableDefault: DataTableCellOverflow\n): DataTableCellOverflow {\n const columnMeta = cell.column.columnDef.meta as\n | { cellOverflow?: DataTableCellOverflow }\n | undefined\n return columnMeta?.cellOverflow ?? tableDefault\n}\n\n/**\n * Gets the cell alignment from column meta.\n */\nfunction getCellAlign<TData>(\n cell: Cell<TData, unknown>\n): CellAlign | undefined {\n const columnMeta = cell.column.columnDef.meta as\n | { align?: CellAlign }\n | undefined\n return columnMeta?.align\n}\n\n// Interactive element selectors that should NOT trigger row click\nconst INTERACTIVE_SELECTORS = [\n \"button\",\n \"a\",\n \"input\",\n \"select\",\n \"textarea\",\n '[role=\"button\"]',\n '[role=\"checkbox\"]',\n '[role=\"link\"]',\n '[role=\"menuitem\"]',\n '[role=\"menuitemcheckbox\"]',\n '[role=\"menuitemradio\"]',\n '[role=\"option\"]',\n '[role=\"radio\"]',\n '[role=\"slider\"]',\n '[role=\"spinbutton\"]',\n '[role=\"switch\"]',\n '[role=\"tab\"]',\n \"[data-radix-collection-item]\",\n `[${SLOT_ATTR}=\"checkbox\"]`,\n]\n\nconst useStyles = makeVoltStyles({\n rowClickable: {\n cursor: \"pointer\",\n \":hover\": {\n backgroundColor: tokens.accentA3,\n },\n },\n rowSelected: {\n backgroundColor: tokens.accentA3,\n },\n rowBorder: {\n boxShadow: `inset 0 -1px 0 0 ${tokens.grayA6}`,\n \"&:last-child\": {\n boxShadow: \"none\",\n },\n },\n cellTruncate: {\n maxWidth: 0,\n ...shorthands.overflow(\"hidden\"),\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n },\n cellWrap: {\n maxWidth: 0,\n ...shorthands.overflow(\"hidden\"),\n overflowWrap: \"break-word\",\n wordBreak: \"break-word\",\n },\n shadowLeft: {\n boxShadow: \"2px 0 5px -2px rgba(0,0,0,0.1)\",\n },\n shadowRight: {\n boxShadow: \"-2px 0 5px -2px rgba(0,0,0,0.1)\",\n },\n})\n\nexport type DataTableRowProps<TData> = {\n /** The row instance from TanStack Table */\n row: Row<TData>\n /** Optional style (used for virtualized row heights) */\n style?: CSSProperties\n /** Additional class name */\n className?: string\n}\n\n/**\n * Renders a single table row with its cells.\n * Supports clickable rows when onRowClick is provided via DataTable context.\n */\nfunction DataTableRowInner<TData>(\n { row, style, className }: DataTableRowProps<TData>,\n ref: React.ForwardedRef<HTMLTableRowElement>\n) {\n const styles = useStyles()\n const {\n table,\n onRowClick,\n clickableRowClassName,\n selectedRowClassName,\n cellOverflow: tableCellOverflow = \"truncate\",\n showRowBorders,\n disableColumnResizing,\n } = useDataTable<TData>()\n const contentContext = useDataTableContent()\n const spacerWidth = contentContext?.spacerWidth ?? 0\n\n const enableColumnResizing = !disableColumnResizing\n const isClickable = Boolean(onRowClick)\n\n const handleClick = (event: MouseEvent<HTMLTableRowElement>) => {\n if (!onRowClick) return\n\n // Check if click originated from an interactive element\n const target = event.target as HTMLElement\n const isInteractiveElement = INTERACTIVE_SELECTORS.some((selector) =>\n target.closest(selector)\n )\n\n if (isInteractiveElement) {\n return // Don't trigger row click for interactive elements\n }\n\n onRowClick(row, event)\n }\n\n const handleKeyDown = (event: KeyboardEvent<HTMLTableRowElement>) => {\n if (!onRowClick) return\n\n if (event.key === \"Enter\" || event.key === \" \") {\n // Check if key event originated from an interactive element\n const target = event.target as HTMLElement\n const isInteractiveElement = INTERACTIVE_SELECTORS.some((selector) =>\n target.closest(selector)\n )\n\n if (isInteractiveElement) {\n return // Let the interactive element handle the event\n }\n\n event.preventDefault()\n onRowClick(row, event as unknown as MouseEvent<HTMLTableRowElement>)\n }\n }\n\n return (\n <TableRow\n ref={ref}\n data-slot=\"data-table-row\"\n {...{ [SLOT_ATTR]: \"data-table-row\" }}\n data-fs-element=\"DataTable-Row\"\n data-state={row.getIsSelected() ? \"selected\" : undefined}\n data-clickable={isClickable ? \"true\" : undefined}\n style={style}\n className={mergeClasses(\n showRowBorders !== false && styles.rowBorder,\n isClickable && (clickableRowClassName ?? styles.rowClickable),\n row.getIsSelected() && (selectedRowClassName ?? styles.rowSelected),\n className\n )}\n onClick={isClickable ? handleClick : undefined}\n tabIndex={isClickable ? 0 : undefined}\n onKeyDown={isClickable ? handleKeyDown : undefined}\n >\n {row.getVisibleCells().map((cell) => {\n const overflow = getCellOverflow(cell, tableCellOverflow)\n const align = getCellAlign(cell)\n const isPinned = cell.column.getIsPinned()\n const pinnedOffset = isPinned\n ? getPinnedColumnOffset(cell.column, table)\n : undefined\n const isLastLeft = isLastLeftPinnedColumn(cell.column, table)\n const isFirstRight = isFirstRightPinnedColumn(cell.column, table)\n\n return (\n <TableCell\n key={cell.id}\n data-slot=\"data-table-cell\"\n {...{ [SLOT_ATTR]: \"data-table-cell\" }}\n data-fs-element=\"DataTable-Cell\"\n data-pinned={isPinned || undefined}\n align={align}\n style={{\n width:\n enableColumnResizing || isPinned\n ? cell.column.getSize()\n : undefined,\n left: isPinned === \"left\" ? `${pinnedOffset}px` : undefined,\n right: isPinned === \"right\" ? `${pinnedOffset}px` : undefined,\n }}\n className={mergeClasses(\n overflow === \"truncate\" && styles.cellTruncate,\n overflow === \"wrap\" && styles.cellWrap,\n isLastLeft && styles.shadowLeft,\n isFirstRight && styles.shadowRight\n )}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n )\n })}\n {/* Spacer cell - matches header spacer column */}\n {spacerWidth > 0 && (\n <TableCell\n data-spacer\n aria-hidden=\"true\"\n style={{ width: spacerWidth, padding: 0 }}\n />\n )}\n </TableRow>\n )\n}\n\nexport const DataTableRow = React.forwardRef(DataTableRowInner) as <TData>(\n props: DataTableRowProps<TData> & {\n ref?: React.Ref<HTMLTableRowElement>\n }\n) => React.ReactElement | null\n"],"names":["getCellOverflow","cell","tableDefault","columnMeta","getCellAlign","INTERACTIVE_SELECTORS","SLOT_ATTR","useStyles","makeVoltStyles","tokens.accentA3","tokens.grayA6","shorthands","DataTableRowInner","row","style","className","ref","styles","table","onRowClick","clickableRowClassName","selectedRowClassName","tableCellOverflow","showRowBorders","disableColumnResizing","useDataTable","contentContext","useDataTableContent","spacerWidth","enableColumnResizing","isClickable","handleClick","event","target","selector","handleKeyDown","jsxDEV","TableRow","mergeClasses","overflow","align","isPinned","pinnedOffset","getPinnedColumnOffset","isLastLeft","isLastLeftPinnedColumn","isFirstRight","isFirstRightPinnedColumn","TableCell","DataTableRow","React"],"mappings":"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"}
|
|
@@ -1,35 +1,43 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import * as
|
|
1
|
+
import { j as i } from "../../vendor/react/jsx-dev-runtime.js";
|
|
2
|
+
import * as m from "react";
|
|
3
3
|
import { shorthands as a } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/index.js";
|
|
4
|
-
import { SLOT_ATTR as
|
|
4
|
+
import { SLOT_ATTR as n } from "../../packages/volt-runtime/dist/renderer/contract.js";
|
|
5
5
|
import { mergeClasses as p } from "../../packages/volt-runtime/dist/vendor/@griffel/core/src/mergeClasses.js";
|
|
6
6
|
import { makeVoltStyles as f } from "../../styles/make-styles.js";
|
|
7
|
-
import { spacingGroup1 as
|
|
8
|
-
const
|
|
7
|
+
import { spacingGroup1 as e, spacingElement1 as b } from "../../tokens/index.js";
|
|
8
|
+
const c = f({
|
|
9
9
|
root: {
|
|
10
10
|
display: "flex",
|
|
11
11
|
alignItems: "center",
|
|
12
12
|
justifyContent: "space-between",
|
|
13
|
-
gap:
|
|
14
|
-
...a.paddingInline(
|
|
15
|
-
...a.paddingBlock(
|
|
13
|
+
gap: e,
|
|
14
|
+
...a.paddingInline(b),
|
|
15
|
+
...a.paddingBlock(e)
|
|
16
16
|
}
|
|
17
|
-
}),
|
|
18
|
-
const l =
|
|
19
|
-
return /* @__PURE__ */
|
|
17
|
+
}), j = m.forwardRef(function({ className: t, children: o, ...r }, s) {
|
|
18
|
+
const l = c();
|
|
19
|
+
return /* @__PURE__ */ i.jsxDEV(
|
|
20
20
|
"div",
|
|
21
21
|
{
|
|
22
22
|
ref: s,
|
|
23
23
|
"data-slot": "data-table-toolbar",
|
|
24
|
-
[
|
|
24
|
+
[n]: "data-table-toolbar",
|
|
25
25
|
"data-fs-element": "DataTable-Toolbar",
|
|
26
|
-
className: p(l.root,
|
|
26
|
+
className: p(l.root, t),
|
|
27
27
|
...r,
|
|
28
|
-
children:
|
|
29
|
-
}
|
|
28
|
+
children: o
|
|
29
|
+
},
|
|
30
|
+
void 0,
|
|
31
|
+
!1,
|
|
32
|
+
{
|
|
33
|
+
fileName: "/Users/wilianmolinari/repos/volt-ui-rollout/release/packages/experimental-griffel/src/components/data-table/data-table-toolbar.tsx",
|
|
34
|
+
lineNumber: 32,
|
|
35
|
+
columnNumber: 5
|
|
36
|
+
},
|
|
37
|
+
this
|
|
30
38
|
);
|
|
31
39
|
});
|
|
32
40
|
export {
|
|
33
|
-
|
|
41
|
+
j as DataTableToolbar
|
|
34
42
|
};
|
|
35
43
|
//# sourceMappingURL=data-table-toolbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table-toolbar.js","sources":["../../../src/components/data-table/data-table-toolbar.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\n\nconst useStyles = makeVoltStyles({\n root: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: tokens.spacingGroup1,\n ...shorthands.paddingInline(tokens.spacingElement1),\n ...shorthands.paddingBlock(tokens.spacingGroup1),\n },\n})\n\nexport type DataTableToolbarProps = React.ComponentProps<\"div\">\n\n/**\n * A toolbar wrapper for DataTable that contains filters, search, and actions.\n * Place above the table for consistent layout.\n */\nexport const DataTableToolbar = React.forwardRef<\n HTMLDivElement,\n DataTableToolbarProps\n>(function DataTableToolbar({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"data-table-toolbar\"\n {...{ [SLOT_ATTR]: \"data-table-toolbar\" }}\n data-fs-element=\"DataTable-Toolbar\"\n className={mergeClasses(styles.root, className)}\n {...props}\n >\n {children}\n </div>\n )\n})\n"],"names":["useStyles","makeVoltStyles","tokens.spacingGroup1","shorthands","tokens.spacingElement1","DataTableToolbar","React","className","children","props","ref","styles","
|
|
1
|
+
{"version":3,"file":"data-table-toolbar.js","sources":["../../../src/components/data-table/data-table-toolbar.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { mergeClasses, shorthands } from \"@epilot/volt-ui-runtime\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeVoltStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\n\nconst useStyles = makeVoltStyles({\n root: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: tokens.spacingGroup1,\n ...shorthands.paddingInline(tokens.spacingElement1),\n ...shorthands.paddingBlock(tokens.spacingGroup1),\n },\n})\n\nexport type DataTableToolbarProps = React.ComponentProps<\"div\">\n\n/**\n * A toolbar wrapper for DataTable that contains filters, search, and actions.\n * Place above the table for consistent layout.\n */\nexport const DataTableToolbar = React.forwardRef<\n HTMLDivElement,\n DataTableToolbarProps\n>(function DataTableToolbar({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"data-table-toolbar\"\n {...{ [SLOT_ATTR]: \"data-table-toolbar\" }}\n data-fs-element=\"DataTable-Toolbar\"\n className={mergeClasses(styles.root, className)}\n {...props}\n >\n {children}\n </div>\n )\n})\n"],"names":["useStyles","makeVoltStyles","tokens.spacingGroup1","shorthands","tokens.spacingElement1","DataTableToolbar","React","className","children","props","ref","styles","jsxDEV","SLOT_ATTR","mergeClasses"],"mappings":";;;;;;;AAOA,MAAMA,IAAYC,EAAe;AAAA,EAC/B,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,KAAKC;AAAAA,IACL,GAAGC,EAAW,cAAcC,CAAsB;AAAA,IAClD,GAAGD,EAAW,aAAaD,CAAoB;AAAA,EAAA;AAEnD,CAAC,GAQYG,IAAmBC,EAAM,WAGpC,SAA0B,EAAE,WAAAC,GAAW,UAAAC,GAAU,GAAGC,EAAA,GAASC,GAAK;AAClE,QAAMC,IAASX,EAAA;AAEf,SACEY,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,aAAU;AAAA,MACJ,CAACG,CAAS,GAAG;AAAA,MACnB,mBAAgB;AAAA,MAChB,WAAWC,EAAaH,EAAO,MAAMJ,CAAS;AAAA,MAC7C,GAAGE;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,IARH;AAAA,IAAA;AAAA,IAAA;AAAA,MAAA,UAAA;AAAA,MAAA,YAAA;AAAA,MAAA,cAAA;AAAA,IAAA;AAAA,IAAA;AAAA,EAAA;AAWJ,CAAC;"}
|