@epilot/zenith-react 0.2.0-next.6 → 0.2.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/README.md +1 -1
- package/dist/_virtual/_zenith-runtime-family_accordion.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_alert-dialog.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_avatar.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_button.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_checkbox.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_csp-provider.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_dialog.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_direction-provider.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_menu.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_merge-props.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_popover.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_radio-group.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_radio.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_scroll-area.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_select.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_separator.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_switch.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_tabs.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_toast.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_toggle-group.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_toggle.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_tooltip.js +1 -1
- package/dist/_virtual/_zenith-runtime-family_use-render.js +1 -1
- package/dist/components/accordion/accordion.js +1 -1
- package/dist/components/accordion/accordion.js.map +1 -1
- package/dist/components/alert-dialog/alert-dialog.js +1 -1
- package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
- package/dist/components/appearance-boundary/appearance-boundary.js +1 -1
- package/dist/components/appearance-boundary/appearance-boundary.js.map +1 -1
- package/dist/components/avatar/avatar-group.js +1 -1
- package/dist/components/avatar/avatar-group.js.map +1 -1
- package/dist/components/avatar/avatar.js +1 -1
- package/dist/components/avatar/avatar.js.map +1 -1
- package/dist/components/badge/badge.js +1 -1
- package/dist/components/badge/badge.js.map +1 -1
- package/dist/components/breadcrumb/breadcrumb.js +1 -1
- package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/components/button/button.js +1 -1
- package/dist/components/button/button.js.map +1 -1
- package/dist/components/button-group/button-group.js +1 -1
- package/dist/components/button-group/button-group.js.map +1 -1
- package/dist/components/callout/callout.js +1 -1
- package/dist/components/callout/callout.js.map +1 -1
- package/dist/components/card/card.js +1 -1
- package/dist/components/card/card.js.map +1 -1
- package/dist/components/checkbox/checkbox.js +41 -39
- package/dist/components/checkbox/checkbox.js.map +1 -1
- package/dist/components/code-block/code-block.js +1 -1
- package/dist/components/code-block/code-block.js.map +1 -1
- package/dist/components/code-editor/code-editor.js +1 -1
- package/dist/components/code-editor/code-editor.js.map +1 -1
- package/dist/components/collapsible-sidebar/collapsible-sidebar.js +1 -1
- package/dist/components/collapsible-sidebar/collapsible-sidebar.js.map +1 -1
- package/dist/components/command/command.js +1 -1
- package/dist/components/command/command.js.map +1 -1
- package/dist/components/data-table/data-table-body.js +1 -1
- package/dist/components/data-table/data-table-body.js.map +1 -1
- package/dist/components/data-table/data-table-column-header.js +1 -1
- package/dist/components/data-table/data-table-column-header.js.map +1 -1
- package/dist/components/data-table/data-table-column-order.js +1 -1
- package/dist/components/data-table/data-table-column-order.js.map +1 -1
- package/dist/components/data-table/data-table-column-visibility.js +1 -1
- package/dist/components/data-table/data-table-column-visibility.js.map +1 -1
- package/dist/components/data-table/data-table-content.js +1 -1
- package/dist/components/data-table/data-table-content.js.map +1 -1
- package/dist/components/data-table/data-table-error.js +1 -1
- package/dist/components/data-table/data-table-error.js.map +1 -1
- package/dist/components/data-table/data-table-footer.js +1 -1
- package/dist/components/data-table/data-table-footer.js.map +1 -1
- package/dist/components/data-table/data-table-header-draggable.js +1 -1
- package/dist/components/data-table/data-table-header-draggable.js.map +1 -1
- package/dist/components/data-table/data-table-header.js +1 -1
- package/dist/components/data-table/data-table-header.js.map +1 -1
- package/dist/components/data-table/data-table-loading.js +1 -1
- package/dist/components/data-table/data-table-loading.js.map +1 -1
- package/dist/components/data-table/data-table-resize-handle.js +1 -1
- package/dist/components/data-table/data-table-resize-handle.js.map +1 -1
- package/dist/components/data-table/data-table-row.js +1 -1
- package/dist/components/data-table/data-table-row.js.map +1 -1
- package/dist/components/data-table/data-table-toolbar.js +1 -1
- package/dist/components/data-table/data-table-toolbar.js.map +1 -1
- package/dist/components/data-table/data-table.js +1 -1
- package/dist/components/data-table/data-table.js.map +1 -1
- package/dist/components/date-range-picker/date-range-picker.js +1 -1
- package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
- package/dist/components/date-range-picker/range-calendar.js +1 -1
- package/dist/components/date-range-picker/range-calendar.js.map +1 -1
- package/dist/components/date-time-picker/calendar.js +1 -1
- package/dist/components/date-time-picker/calendar.js.map +1 -1
- package/dist/components/date-time-picker/date-time-picker-input.js +1 -1
- 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 +1 -1
- package/dist/components/date-time-picker/date-time-picker-panel.js.map +1 -1
- package/dist/components/date-time-picker/date-time-picker.js +1 -1
- package/dist/components/date-time-picker/date-time-picker.js.map +1 -1
- package/dist/components/date-time-picker/time-picker.js +1 -1
- package/dist/components/date-time-picker/time-picker.js.map +1 -1
- package/dist/components/density-provider/density-provider.js +1 -1
- package/dist/components/dialog/dialog.js +1 -1
- package/dist/components/dialog/dialog.js.map +1 -1
- package/dist/components/drawer/drawer.js +1 -1
- package/dist/components/drawer/drawer.js.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/components/field/field-combobox.js +1 -1
- package/dist/components/field/field-combobox.js.map +1 -1
- package/dist/components/field/field-select.js +1 -1
- package/dist/components/field/field-select.js.map +1 -1
- package/dist/components/field/field.js +1 -1
- package/dist/components/field/field.js.map +1 -1
- package/dist/components/label/label.js +1 -1
- package/dist/components/label/label.js.map +1 -1
- package/dist/components/list/list.js +1 -1
- package/dist/components/list/list.js.map +1 -1
- package/dist/components/option-card/option-card.js +1 -1
- package/dist/components/option-card/option-card.js.map +1 -1
- package/dist/components/pill/pill.js +1 -1
- package/dist/components/pill/pill.js.map +1 -1
- package/dist/components/popover/popover.js +1 -1
- package/dist/components/popover/popover.js.map +1 -1
- package/dist/components/radio/radio.js +15 -12
- package/dist/components/radio/radio.js.map +1 -1
- package/dist/components/scroll-area/scroll-area.js +1 -1
- package/dist/components/scroll-area/scroll-area.js.map +1 -1
- package/dist/components/scroll-area/scrollbar-styles.js +1 -1
- package/dist/components/scroll-area/scrollbar-styles.js.map +1 -1
- package/dist/components/scroll-overflow/scroll-overflow.js +1 -1
- package/dist/components/scroll-overflow/scroll-overflow.js.map +1 -1
- package/dist/components/segmented-control/segmented-control.js +1 -1
- package/dist/components/segmented-control/segmented-control.js.map +1 -1
- package/dist/components/select/select.js +178 -176
- package/dist/components/select/select.js.map +1 -1
- package/dist/components/separator/separator.js +1 -1
- package/dist/components/separator/separator.js.map +1 -1
- package/dist/components/skeleton/skeleton.js +1 -1
- package/dist/components/skeleton/skeleton.js.map +1 -1
- package/dist/components/slot/compose-as-child.js +1 -1
- package/dist/components/slot/compose-as-child.js.map +1 -1
- package/dist/components/spinner/spinner.js +1 -1
- package/dist/components/spinner/spinner.js.map +1 -1
- package/dist/components/surface/surface.js +1 -1
- package/dist/components/surface/surface.js.map +1 -1
- package/dist/components/switch/switch.js +59 -57
- package/dist/components/switch/switch.js.map +1 -1
- package/dist/components/table/table-pagination.js +1 -1
- package/dist/components/table/table-pagination.js.map +1 -1
- package/dist/components/table/table.js +1 -1
- package/dist/components/table/table.js.map +1 -1
- package/dist/components/tabs/tabs.js +1 -1
- package/dist/components/tabs/tabs.js.map +1 -1
- package/dist/components/text/text.js +1 -1
- package/dist/components/text/text.js.map +1 -1
- package/dist/components/toast/toast.js +1 -1
- package/dist/components/toast/toast.js.map +1 -1
- package/dist/components/toggle/toggle-group.js +1 -1
- package/dist/components/toggle/toggle-group.js.map +1 -1
- package/dist/components/toggle/toggle.js +1 -1
- package/dist/components/toggle/toggle.js.map +1 -1
- package/dist/components/tooltip/tooltip.js +1 -1
- package/dist/components/tooltip/tooltip.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/clear-button.js +1 -1
- package/dist/lib/clear-button.js.map +1 -1
- package/dist/lib/hidden-input-box.js +26 -0
- package/dist/lib/hidden-input-box.js.map +1 -0
- package/dist/packages/tokens/dist/delivery/index.js +1 -1
- package/dist/packages/tokens/dist/delivery/index.js.map +1 -1
- package/dist/packages/tokens/dist/install.js +1 -1
- package/dist/packages/tokens/dist/install.js.map +1 -1
- package/dist/renderer/served.js +1 -1
- package/dist/renderer/served.js.map +1 -1
- package/dist/styles/host-reset.js.map +1 -1
- package/dist/styles/make-styles.js +1 -1
- package/dist/styles/make-styles.js.map +1 -1
- package/dist/styles/text-box.js.map +1 -1
- package/dist/tokens.json +1 -1
- package/package.json +3 -4
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { jsx as t, jsxs as
|
|
1
|
+
import { jsx as t, jsxs as S } from "react/jsx-runtime";
|
|
2
2
|
import * as a from "react";
|
|
3
|
-
import { Switch as
|
|
4
|
-
import { mergeClasses as
|
|
3
|
+
import { Switch as x } from "../../_virtual/_zenith-runtime-family_switch.js";
|
|
4
|
+
import { mergeClasses as C, SLOT_ATTR as c, shorthands as i } from "@epilot/zenith-runtime/v1";
|
|
5
|
+
import { useOptionalFieldContext as T } from "../field/field.js";
|
|
6
|
+
import { HiddenInputBox as R } from "../../lib/hidden-input-box.js";
|
|
5
7
|
import { makeZenithStyles as w } from "../../styles/make-styles.js";
|
|
6
|
-
import { boxModel as
|
|
7
|
-
import { errorA3 as
|
|
8
|
-
const
|
|
8
|
+
import { boxModel as r, nativeControl as E } from "../../styles/host-reset.js";
|
|
9
|
+
import { errorA3 as z, errorSolid as A, errorA8 as m, grayA3 as I, accentSolid as D, grayA8 as b, focusRing as N, errorA11 as V, errorContrast as _, accentA11 as B, grayContrast as H } from "../../tokens/index.js";
|
|
10
|
+
const O = a.forwardRef(
|
|
9
11
|
function(n, e) {
|
|
10
12
|
const o = p();
|
|
11
13
|
return /* @__PURE__ */ t(
|
|
@@ -13,7 +15,7 @@ const V = a.forwardRef(
|
|
|
13
15
|
{
|
|
14
16
|
ref: e,
|
|
15
17
|
"data-slot": "switch-thumb-icon-checked",
|
|
16
|
-
[
|
|
18
|
+
[c]: "switch-thumb-icon-checked",
|
|
17
19
|
role: "presentation",
|
|
18
20
|
className: o.checked,
|
|
19
21
|
viewBox: "0 0 1 6",
|
|
@@ -23,7 +25,7 @@ const V = a.forwardRef(
|
|
|
23
25
|
}
|
|
24
26
|
);
|
|
25
27
|
}
|
|
26
|
-
),
|
|
28
|
+
), F = a.forwardRef(
|
|
27
29
|
function(n, e) {
|
|
28
30
|
const o = p();
|
|
29
31
|
return /* @__PURE__ */ t(
|
|
@@ -31,7 +33,7 @@ const V = a.forwardRef(
|
|
|
31
33
|
{
|
|
32
34
|
ref: e,
|
|
33
35
|
"data-slot": "switch-thumb-icon-unchecked",
|
|
34
|
-
[
|
|
36
|
+
[c]: "switch-thumb-icon-unchecked",
|
|
35
37
|
role: "presentation",
|
|
36
38
|
className: o.unchecked,
|
|
37
39
|
viewBox: "0 0 4 6",
|
|
@@ -51,7 +53,7 @@ const V = a.forwardRef(
|
|
|
51
53
|
}
|
|
52
54
|
);
|
|
53
55
|
}
|
|
54
|
-
),
|
|
56
|
+
), M = a.forwardRef(
|
|
55
57
|
function(n, e) {
|
|
56
58
|
const o = p();
|
|
57
59
|
return /* @__PURE__ */ t(
|
|
@@ -59,7 +61,7 @@ const V = a.forwardRef(
|
|
|
59
61
|
{
|
|
60
62
|
ref: e,
|
|
61
63
|
"data-slot": "switch-thumb-icon-disabled",
|
|
62
|
-
[
|
|
64
|
+
[c]: "switch-thumb-icon-disabled",
|
|
63
65
|
className: o.disabled,
|
|
64
66
|
viewBox: "0 0 4 5",
|
|
65
67
|
fill: "none",
|
|
@@ -79,36 +81,36 @@ const V = a.forwardRef(
|
|
|
79
81
|
display: "none",
|
|
80
82
|
position: "absolute",
|
|
81
83
|
pointerEvents: "none",
|
|
82
|
-
...
|
|
84
|
+
...i.inset(0),
|
|
83
85
|
color: "currentColor",
|
|
84
|
-
...
|
|
86
|
+
...i.margin("auto")
|
|
85
87
|
},
|
|
86
88
|
unchecked: {
|
|
87
89
|
display: "none",
|
|
88
90
|
position: "absolute",
|
|
89
91
|
pointerEvents: "none",
|
|
90
|
-
...
|
|
92
|
+
...i.inset(0),
|
|
91
93
|
color: "currentColor",
|
|
92
|
-
...
|
|
94
|
+
...i.margin("auto")
|
|
93
95
|
},
|
|
94
96
|
disabled: {
|
|
95
97
|
display: "inline-block",
|
|
96
98
|
position: "absolute",
|
|
97
99
|
pointerEvents: "none",
|
|
98
|
-
...
|
|
100
|
+
...i.inset(0),
|
|
99
101
|
color: "currentColor",
|
|
100
|
-
...
|
|
102
|
+
...i.margin("auto")
|
|
101
103
|
}
|
|
102
|
-
}),
|
|
104
|
+
}), Z = w({
|
|
103
105
|
root: {
|
|
104
|
-
...
|
|
106
|
+
...E,
|
|
105
107
|
boxSizing: "border-box",
|
|
106
108
|
display: "inline-flex",
|
|
107
109
|
alignItems: "center",
|
|
108
110
|
flexShrink: 0,
|
|
109
111
|
cursor: "pointer",
|
|
110
112
|
borderRadius: "9999px",
|
|
111
|
-
...
|
|
113
|
+
...i.border("1px", "solid", "transparent"),
|
|
112
114
|
boxShadow: "0 1px 2px 0 #0000000d",
|
|
113
115
|
transitionProperty: "all",
|
|
114
116
|
transitionTimingFunction: "cubic-bezier(0.4, 0, 0.2, 1)",
|
|
@@ -120,7 +122,7 @@ const V = a.forwardRef(
|
|
|
120
122
|
outlineWidth: "2px",
|
|
121
123
|
outlineStyle: "solid",
|
|
122
124
|
outlineOffset: "2px",
|
|
123
|
-
outlineColor:
|
|
125
|
+
outlineColor: N
|
|
124
126
|
},
|
|
125
127
|
":disabled, &[data-disabled]": {
|
|
126
128
|
pointerEvents: "none",
|
|
@@ -129,35 +131,35 @@ const V = a.forwardRef(
|
|
|
129
131
|
},
|
|
130
132
|
default: {
|
|
131
133
|
color: b,
|
|
132
|
-
"&[data-checked]": { backgroundColor:
|
|
133
|
-
"&[data-unchecked]": { backgroundColor:
|
|
134
|
+
"&[data-checked]": { backgroundColor: D },
|
|
135
|
+
"&[data-unchecked]": { backgroundColor: I }
|
|
134
136
|
},
|
|
135
137
|
destructive: {
|
|
136
138
|
color: m,
|
|
137
|
-
"&[data-checked]": { backgroundColor:
|
|
138
|
-
"&[data-unchecked]": { backgroundColor:
|
|
139
|
+
"&[data-checked]": { backgroundColor: A },
|
|
140
|
+
"&[data-unchecked]": { backgroundColor: z }
|
|
139
141
|
},
|
|
140
142
|
sm: {
|
|
141
|
-
...
|
|
143
|
+
...r,
|
|
142
144
|
width: "1.625rem",
|
|
143
145
|
height: "1rem",
|
|
144
146
|
"& svg": { width: "0.25rem", height: "0.375rem" }
|
|
145
147
|
},
|
|
146
148
|
base: {
|
|
147
|
-
...
|
|
149
|
+
...r,
|
|
148
150
|
width: "2.125rem",
|
|
149
151
|
height: "1.25rem",
|
|
150
152
|
"& svg": { width: "0.4375rem", height: "0.5rem" }
|
|
151
153
|
},
|
|
152
154
|
lg: {
|
|
153
|
-
...
|
|
155
|
+
...r,
|
|
154
156
|
width: "2.625rem",
|
|
155
157
|
height: "1.5rem",
|
|
156
158
|
"& svg": { width: "0.5rem", height: "0.625rem" }
|
|
157
159
|
}
|
|
158
|
-
}),
|
|
160
|
+
}), j = w({
|
|
159
161
|
thumb: {
|
|
160
|
-
...
|
|
162
|
+
...r,
|
|
161
163
|
position: "relative",
|
|
162
164
|
display: "block",
|
|
163
165
|
pointerEvents: "none",
|
|
@@ -183,19 +185,19 @@ const V = a.forwardRef(
|
|
|
183
185
|
}
|
|
184
186
|
},
|
|
185
187
|
default: {
|
|
186
|
-
backgroundColor:
|
|
188
|
+
backgroundColor: H,
|
|
187
189
|
color: b,
|
|
188
|
-
"&[data-checked]": { color:
|
|
190
|
+
"&[data-checked]": { color: B },
|
|
189
191
|
"&[data-unchecked]": { color: b }
|
|
190
192
|
},
|
|
191
193
|
destructive: {
|
|
192
|
-
backgroundColor:
|
|
194
|
+
backgroundColor: _,
|
|
193
195
|
color: m,
|
|
194
|
-
"&[data-checked]": { color:
|
|
196
|
+
"&[data-checked]": { color: V },
|
|
195
197
|
"&[data-unchecked]": { color: m }
|
|
196
198
|
},
|
|
197
199
|
sm: {
|
|
198
|
-
...
|
|
200
|
+
...r,
|
|
199
201
|
width: "0.75rem",
|
|
200
202
|
height: "0.75rem",
|
|
201
203
|
"& svg[data-zenith-slot='switch-thumb-icon-disabled']": {
|
|
@@ -203,7 +205,7 @@ const V = a.forwardRef(
|
|
|
203
205
|
}
|
|
204
206
|
},
|
|
205
207
|
base: {
|
|
206
|
-
...
|
|
208
|
+
...r,
|
|
207
209
|
width: "1rem",
|
|
208
210
|
height: "1rem",
|
|
209
211
|
"& svg[data-zenith-slot='switch-thumb-icon-disabled']": {
|
|
@@ -211,62 +213,62 @@ const V = a.forwardRef(
|
|
|
211
213
|
}
|
|
212
214
|
},
|
|
213
215
|
lg: {
|
|
214
|
-
...
|
|
216
|
+
...r,
|
|
215
217
|
width: "1.25rem",
|
|
216
218
|
height: "1.25rem",
|
|
217
219
|
"& svg[data-zenith-slot='switch-thumb-icon-disabled']": {
|
|
218
220
|
width: "0.4375rem"
|
|
219
221
|
}
|
|
220
222
|
}
|
|
221
|
-
}),
|
|
223
|
+
}), L = /* @__PURE__ */ t("button", {}), Q = a.forwardRef(
|
|
222
224
|
function({
|
|
223
225
|
variant: n = "default",
|
|
224
226
|
size: e = "base",
|
|
225
227
|
className: o,
|
|
226
228
|
showThumbIcon: l = !1,
|
|
227
|
-
asChild:
|
|
229
|
+
asChild: P,
|
|
228
230
|
value: g,
|
|
229
|
-
...
|
|
230
|
-
},
|
|
231
|
-
const h =
|
|
232
|
-
|
|
233
|
-
k.Root,
|
|
231
|
+
...s
|
|
232
|
+
}, v) {
|
|
233
|
+
const h = Z(), y = T() !== null, u = j(), f = n === "primary" ? "default" : n, k = /* @__PURE__ */ t(
|
|
234
|
+
x.Root,
|
|
234
235
|
{
|
|
235
|
-
ref:
|
|
236
|
+
ref: v,
|
|
236
237
|
nativeButton: !0,
|
|
237
|
-
render:
|
|
238
|
+
render: L,
|
|
238
239
|
value: g === void 0 ? void 0 : String(g),
|
|
239
240
|
"data-slot": "switch",
|
|
240
|
-
[
|
|
241
|
-
className:
|
|
241
|
+
[c]: "switch",
|
|
242
|
+
className: C(
|
|
242
243
|
h.root,
|
|
243
244
|
h[f],
|
|
244
245
|
h[e],
|
|
245
246
|
o
|
|
246
247
|
),
|
|
247
|
-
...
|
|
248
|
-
children: /* @__PURE__ */
|
|
249
|
-
|
|
248
|
+
...s,
|
|
249
|
+
children: /* @__PURE__ */ S(
|
|
250
|
+
x.Thumb,
|
|
250
251
|
{
|
|
251
252
|
"data-slot": "switch-thumb",
|
|
252
|
-
[
|
|
253
|
-
className:
|
|
253
|
+
[c]: "switch-thumb",
|
|
254
|
+
className: C(
|
|
254
255
|
u.thumb,
|
|
255
256
|
u[f],
|
|
256
257
|
u[e]
|
|
257
258
|
),
|
|
258
259
|
children: [
|
|
259
|
-
l && !
|
|
260
|
-
l && !
|
|
261
|
-
l &&
|
|
260
|
+
l && !s.disabled && /* @__PURE__ */ t(O, {}),
|
|
261
|
+
l && !s.disabled && /* @__PURE__ */ t(F, {}),
|
|
262
|
+
l && s.disabled && /* @__PURE__ */ t(M, {})
|
|
262
263
|
]
|
|
263
264
|
}
|
|
264
265
|
)
|
|
265
266
|
}
|
|
266
267
|
);
|
|
268
|
+
return s.name === void 0 || y ? k : /* @__PURE__ */ t(R, { slot: "switch-box", layout: "inline-flex", children: k });
|
|
267
269
|
}
|
|
268
270
|
);
|
|
269
271
|
export {
|
|
270
|
-
|
|
272
|
+
Q as Switch
|
|
271
273
|
};
|
|
272
274
|
//# sourceMappingURL=switch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch.js","sources":["../../../src/components/switch/switch.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Switch as SwitchPrimitive } from \"@base-ui/react/switch\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1/core\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport { boxModel, nativeControl } from \"../../styles/host-reset\"\nimport * as tokens from \"../../tokens\"\n\nconst ThumbIconChecked = React.forwardRef<SVGSVGElement>(\n function ThumbIconChecked(_props, ref) {\n const styles = useThumbIconStyles()\n\n return (\n <svg\n ref={ref}\n data-slot=\"switch-thumb-icon-checked\"\n {...{ [SLOT_ATTR]: \"switch-thumb-icon-checked\" }}\n role=\"presentation\"\n className={styles.checked}\n viewBox=\"0 0 1 6\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect width=\"1\" height=\"6\" fill=\"currentColor\" />\n </svg>\n )\n }\n)\n\nconst ThumbIconUnchecked = React.forwardRef<SVGSVGElement>(\n function ThumbIconUnchecked(_props, ref) {\n const styles = useThumbIconStyles()\n\n return (\n <svg\n ref={ref}\n data-slot=\"switch-thumb-icon-unchecked\"\n {...{ [SLOT_ATTR]: \"switch-thumb-icon-unchecked\" }}\n role=\"presentation\"\n className={styles.unchecked}\n viewBox=\"0 0 4 6\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect\n x=\"0.5\"\n y=\"0.5\"\n width=\"3\"\n height=\"5\"\n rx=\"1.5\"\n stroke=\"currentColor\"\n />\n </svg>\n )\n }\n)\n\nconst ThumbIconDisabled = React.forwardRef<SVGSVGElement>(\n function ThumbIconDisabled(_props, ref) {\n const styles = useThumbIconStyles()\n\n return (\n <svg\n ref={ref}\n data-slot=\"switch-thumb-icon-disabled\"\n {...{ [SLOT_ATTR]: \"switch-thumb-icon-disabled\" }}\n className={styles.disabled}\n viewBox=\"0 0 4 5\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0 5V1.875H0.666667V1.25C0.666667 0.90625 0.797223 0.611979 1.05833 0.367188C1.31944 0.122396 1.63333 0 2 0C2.36667 0 2.68056 0.122396 2.94167 0.367188C3.20278 0.611979 3.33333 0.90625 3.33333 1.25V1.875H4V5H0ZM1.33333 1.875H2.66667V1.25C2.66667 1.07292 2.60278 0.924479 2.475 0.804687C2.34722 0.684896 2.18889 0.625 2 0.625C1.81111 0.625 1.65278 0.684896 1.525 0.804687C1.39722 0.924479 1.33333 1.07292 1.33333 1.25V1.875Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n }\n)\n\nconst useThumbIconStyles = makeZenithStyles({\n checked: {\n display: \"none\",\n position: \"absolute\",\n pointerEvents: \"none\",\n ...shorthands.inset(0),\n color: \"currentColor\",\n ...shorthands.margin(\"auto\"),\n },\n unchecked: {\n display: \"none\",\n position: \"absolute\",\n pointerEvents: \"none\",\n ...shorthands.inset(0),\n color: \"currentColor\",\n ...shorthands.margin(\"auto\"),\n },\n disabled: {\n display: \"inline-block\",\n position: \"absolute\",\n pointerEvents: \"none\",\n ...shorthands.inset(0),\n color: \"currentColor\",\n ...shorthands.margin(\"auto\"),\n },\n})\n\nconst useRootStyles = makeZenithStyles({\n root: {\n ...nativeControl,\n boxSizing: \"border-box\",\n display: \"inline-flex\",\n alignItems: \"center\",\n flexShrink: 0,\n cursor: \"pointer\",\n borderRadius: \"9999px\",\n ...shorthands.border(\"1px\", \"solid\", \"transparent\"),\n boxShadow: \"0 1px 2px 0 #0000000d\",\n transitionProperty: \"all\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n transitionDuration: \"150ms\",\n \"@media (prefers-reduced-motion: reduce)\": {\n transitionDuration: \"0.01ms\",\n },\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n outlineColor: tokens.focusRing,\n },\n \":disabled, &[data-disabled]\": {\n pointerEvents: \"none\",\n opacity: 0.5,\n },\n },\n default: {\n color: tokens.grayA8,\n \"&[data-checked]\": { backgroundColor: tokens.accentSolid },\n \"&[data-unchecked]\": { backgroundColor: tokens.grayA3 },\n },\n destructive: {\n color: tokens.errorA8,\n \"&[data-checked]\": { backgroundColor: tokens.errorSolid },\n \"&[data-unchecked]\": { backgroundColor: tokens.errorA3 },\n },\n sm: {\n ...boxModel,\n width: \"1.625rem\",\n height: \"1rem\",\n \"& svg\": { width: \"0.25rem\", height: \"0.375rem\" },\n },\n base: {\n ...boxModel,\n width: \"2.125rem\",\n height: \"1.25rem\",\n \"& svg\": { width: \"0.4375rem\", height: \"0.5rem\" },\n },\n lg: {\n ...boxModel,\n width: \"2.625rem\",\n height: \"1.5rem\",\n \"& svg\": { width: \"0.5rem\", height: \"0.625rem\" },\n },\n})\n\nconst useThumbStyles = makeZenithStyles({\n thumb: {\n ...boxModel,\n position: \"relative\",\n display: \"block\",\n pointerEvents: \"none\",\n borderRadius: \"9999px\",\n boxShadow: \"0 1px 2px 0 #0000000d\",\n transitionProperty: \"transform\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n transitionDuration: \"150ms\",\n \"@media (prefers-reduced-motion: reduce)\": {\n transitionDuration: \"0.01ms\",\n },\n \"&[data-checked]\": {\n transform: \"translateX(calc(100% - 1px))\",\n },\n \"&[data-unchecked]\": {\n transform: \"translateX(1px)\",\n },\n \"&[data-checked] [data-zenith-slot='switch-thumb-icon-checked']\": {\n display: \"inline-block\",\n },\n \"&[data-unchecked] [data-zenith-slot='switch-thumb-icon-unchecked']\": {\n display: \"inline-block\",\n },\n },\n default: {\n backgroundColor: tokens.grayContrast,\n color: tokens.grayA8,\n \"&[data-checked]\": { color: tokens.accentA11 },\n \"&[data-unchecked]\": { color: tokens.grayA8 },\n },\n destructive: {\n backgroundColor: tokens.errorContrast,\n color: tokens.errorA8,\n \"&[data-checked]\": { color: tokens.errorA11 },\n \"&[data-unchecked]\": { color: tokens.errorA8 },\n },\n sm: {\n ...boxModel,\n width: \"0.75rem\",\n height: \"0.75rem\",\n \"& svg[data-zenith-slot='switch-thumb-icon-disabled']\": {\n width: \"0.25rem\",\n },\n },\n base: {\n ...boxModel,\n width: \"1rem\",\n height: \"1rem\",\n \"& svg[data-zenith-slot='switch-thumb-icon-disabled']\": {\n width: \"0.375rem\",\n },\n },\n lg: {\n ...boxModel,\n width: \"1.25rem\",\n height: \"1.25rem\",\n \"& svg[data-zenith-slot='switch-thumb-icon-disabled']\": {\n width: \"0.4375rem\",\n },\n },\n})\n\n/**\n * `primary` is a deprecated alias of `default`, carried because v1 has it and real consumers still\n * pass it — entity-sidepanel's SettingsControls does. v1's own comment marks it deprecated and its\n * styles are byte-identical to `default`, so it is mapped rather than duplicated.\n *\n * @remarks `primary` is deprecated; use `default`.\n */\nexport type SwitchVariant = \"default\" | \"destructive\" | \"primary\"\nexport type SwitchSize = \"sm\" | \"base\" | \"lg\"\n\n/**\n * What `onCheckedChange` receives as its second argument: Base UI's change details, declared in\n * Zenith so that none of Base UI's internals reach the published declarations, where TypeScript 4\n * cannot parse them.\n */\ntype SwitchCheckedChangeDetails = {\n /** Why the switch changed. Base UI reports every switch change as `none`. */\n reason: \"none\"\n /** The native event behind the change. */\n event: Event\n /** Keeps the switch in its current state. */\n cancel: () => void\n /** Lets the event propagate where the switch would otherwise stop it. */\n allowPropagation: () => void\n isCanceled: boolean\n isPropagationAllowed: boolean\n /** The element that caused the change, if any. */\n trigger: Element | undefined\n}\n\n/**\n * The switch props Base UI adds to a `<button>`'s, declared in Zenith with Base UI's types. The\n * root renders a native `<button>`, so the DOM attributes, handlers, `ref`, `key`, `className`,\n * `style` and `value` stay the button's, as they were on Radix; `render` and `nativeButton` are\n * fixed by the wrapper.\n */\ntype SwitchRootProps = {\n /**\n * Whether the switch is currently active.\n *\n * To render an uncontrolled switch, use the `defaultChecked` prop instead.\n */\n checked?: boolean | undefined\n /** Whether the component should ignore user interaction. */\n disabled?: boolean | undefined\n /** A ref to access the hidden `<input>` element. */\n inputRef?: React.Ref<HTMLInputElement> | undefined\n /** Identifies the field when a form is submitted. */\n name?: string | undefined\n /**\n * Identifies the form that owns the hidden input.\n * Useful when the switch is rendered outside the form.\n */\n form?: string | undefined\n /** Event handler called when the switch is activated or deactivated. */\n onCheckedChange?:\n | ((checked: boolean, eventDetails: SwitchCheckedChangeDetails) => void)\n | undefined\n /** Whether the user should be unable to activate or deactivate the switch. */\n readOnly?: boolean | undefined\n /** Whether the user must activate the switch before submitting a form. */\n required?: boolean | undefined\n /**\n * The value submitted with the form when the switch is off.\n * By default, unchecked switches do not submit any value, matching native checkbox behavior.\n */\n uncheckedValue?: string | undefined\n}\n\nexport type SwitchProps = Omit<\n React.ComponentPropsWithRef<\"button\">,\n keyof SwitchRootProps\n> &\n SwitchRootProps & {\n /**\n * `default` or `destructive`. `primary` is a **deprecated alias of `default`** with byte-\n * identical styles, kept because v1 had it and consumers still pass it. Choosing it changes\n * nothing; use `default`.\n */\n variant?: SwitchVariant\n /** @default \"base\" */\n size?: SwitchSize\n showThumbIcon?: boolean\n /**\n * @deprecated Has no effect. The thumb is the switch's only child, so on Radix this rendered\n * the thumb as the switch rather than an element of yours. Remove it.\n */\n asChild?: boolean\n }\n\n// Base UI renders a <span> by default and moves the caller's id onto its hidden input. A native\n// button keeps the id, the HTMLButtonElement ref, native disabled and <label for> as Radix had them.\nconst ROOT_ELEMENT = <button />\n\nexport const Switch = React.forwardRef<HTMLButtonElement, SwitchProps>(\n function Switch(\n {\n variant = \"default\",\n size = \"base\",\n className,\n showThumbIcon = false,\n asChild: _asChild,\n value,\n ...props\n },\n ref\n ) {\n const rootStyles = useRootStyles()\n const thumbStyles = useThumbStyles()\n // See SwitchVariant: `primary` is v1's deprecated alias for `default`, same styles.\n const variantKey = variant === \"primary\" ? \"default\" : variant\n\n return (\n <SwitchPrimitive.Root\n ref={ref}\n nativeButton\n render={ROOT_ELEMENT}\n // Radix took the button's value type; Base UI submits a string, so it is converted here\n // the way the button's value attribute stringified it.\n value={value === undefined ? undefined : String(value)}\n data-slot=\"switch\"\n {...{ [SLOT_ATTR]: \"switch\" }}\n className={mergeClasses(\n rootStyles.root,\n rootStyles[variantKey],\n rootStyles[size],\n className\n )}\n // Base UI types the root's handlers for its default <span>; the element is the button\n // above, so the caller's button-typed handlers receive exactly the events they declare.\n {...(props as SwitchPrimitive.Root.Props)}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n {...{ [SLOT_ATTR]: \"switch-thumb\" }}\n className={mergeClasses(\n thumbStyles.thumb,\n thumbStyles[variantKey],\n thumbStyles[size]\n )}\n >\n {showThumbIcon && !props.disabled && <ThumbIconChecked />}\n {showThumbIcon && !props.disabled && <ThumbIconUnchecked />}\n {showThumbIcon && props.disabled && <ThumbIconDisabled />}\n </SwitchPrimitive.Thumb>\n </SwitchPrimitive.Root>\n )\n }\n)\n"],"names":["ThumbIconChecked","React","_props","ref","styles","useThumbIconStyles","jsx","SLOT_ATTR","ThumbIconUnchecked","ThumbIconDisabled","makeZenithStyles","shorthands","useRootStyles","nativeControl","tokens.focusRing","tokens.grayA8","tokens.accentSolid","tokens.grayA3","tokens.errorA8","tokens.errorSolid","tokens.errorA3","boxModel","useThumbStyles","tokens.grayContrast","tokens.accentA11","tokens.errorContrast","tokens.errorA11","ROOT_ELEMENT","Switch","variant","size","className","showThumbIcon","_asChild","value","props","rootStyles","thumbStyles","variantKey","SwitchPrimitive","mergeClasses","jsxs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"switch.js","sources":["../../../src/components/switch/switch.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Switch as SwitchPrimitive } from \"@base-ui/react/switch\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { useOptionalFieldContext } from \"../field/field\"\nimport { HiddenInputBox } from \"../../lib/hidden-input-box\"\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport { boxModel, nativeControl } from \"../../styles/host-reset\"\nimport * as tokens from \"../../tokens\"\n\nconst ThumbIconChecked = React.forwardRef<SVGSVGElement>(\n function ThumbIconChecked(_props, ref) {\n const styles = useThumbIconStyles()\n\n return (\n <svg\n ref={ref}\n data-slot=\"switch-thumb-icon-checked\"\n {...{ [SLOT_ATTR]: \"switch-thumb-icon-checked\" }}\n role=\"presentation\"\n className={styles.checked}\n viewBox=\"0 0 1 6\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect width=\"1\" height=\"6\" fill=\"currentColor\" />\n </svg>\n )\n }\n)\n\nconst ThumbIconUnchecked = React.forwardRef<SVGSVGElement>(\n function ThumbIconUnchecked(_props, ref) {\n const styles = useThumbIconStyles()\n\n return (\n <svg\n ref={ref}\n data-slot=\"switch-thumb-icon-unchecked\"\n {...{ [SLOT_ATTR]: \"switch-thumb-icon-unchecked\" }}\n role=\"presentation\"\n className={styles.unchecked}\n viewBox=\"0 0 4 6\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect\n x=\"0.5\"\n y=\"0.5\"\n width=\"3\"\n height=\"5\"\n rx=\"1.5\"\n stroke=\"currentColor\"\n />\n </svg>\n )\n }\n)\n\nconst ThumbIconDisabled = React.forwardRef<SVGSVGElement>(\n function ThumbIconDisabled(_props, ref) {\n const styles = useThumbIconStyles()\n\n return (\n <svg\n ref={ref}\n data-slot=\"switch-thumb-icon-disabled\"\n {...{ [SLOT_ATTR]: \"switch-thumb-icon-disabled\" }}\n className={styles.disabled}\n viewBox=\"0 0 4 5\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M0 5V1.875H0.666667V1.25C0.666667 0.90625 0.797223 0.611979 1.05833 0.367188C1.31944 0.122396 1.63333 0 2 0C2.36667 0 2.68056 0.122396 2.94167 0.367188C3.20278 0.611979 3.33333 0.90625 3.33333 1.25V1.875H4V5H0ZM1.33333 1.875H2.66667V1.25C2.66667 1.07292 2.60278 0.924479 2.475 0.804687C2.34722 0.684896 2.18889 0.625 2 0.625C1.81111 0.625 1.65278 0.684896 1.525 0.804687C1.39722 0.924479 1.33333 1.07292 1.33333 1.25V1.875Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n }\n)\n\nconst useThumbIconStyles = makeZenithStyles({\n checked: {\n display: \"none\",\n position: \"absolute\",\n pointerEvents: \"none\",\n ...shorthands.inset(0),\n color: \"currentColor\",\n ...shorthands.margin(\"auto\"),\n },\n unchecked: {\n display: \"none\",\n position: \"absolute\",\n pointerEvents: \"none\",\n ...shorthands.inset(0),\n color: \"currentColor\",\n ...shorthands.margin(\"auto\"),\n },\n disabled: {\n display: \"inline-block\",\n position: \"absolute\",\n pointerEvents: \"none\",\n ...shorthands.inset(0),\n color: \"currentColor\",\n ...shorthands.margin(\"auto\"),\n },\n})\n\nconst useRootStyles = makeZenithStyles({\n root: {\n ...nativeControl,\n boxSizing: \"border-box\",\n display: \"inline-flex\",\n alignItems: \"center\",\n flexShrink: 0,\n cursor: \"pointer\",\n borderRadius: \"9999px\",\n ...shorthands.border(\"1px\", \"solid\", \"transparent\"),\n boxShadow: \"0 1px 2px 0 #0000000d\",\n transitionProperty: \"all\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n transitionDuration: \"150ms\",\n \"@media (prefers-reduced-motion: reduce)\": {\n transitionDuration: \"0.01ms\",\n },\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n outlineColor: tokens.focusRing,\n },\n \":disabled, &[data-disabled]\": {\n pointerEvents: \"none\",\n opacity: 0.5,\n },\n },\n default: {\n color: tokens.grayA8,\n \"&[data-checked]\": { backgroundColor: tokens.accentSolid },\n \"&[data-unchecked]\": { backgroundColor: tokens.grayA3 },\n },\n destructive: {\n color: tokens.errorA8,\n \"&[data-checked]\": { backgroundColor: tokens.errorSolid },\n \"&[data-unchecked]\": { backgroundColor: tokens.errorA3 },\n },\n sm: {\n ...boxModel,\n width: \"1.625rem\",\n height: \"1rem\",\n \"& svg\": { width: \"0.25rem\", height: \"0.375rem\" },\n },\n base: {\n ...boxModel,\n width: \"2.125rem\",\n height: \"1.25rem\",\n \"& svg\": { width: \"0.4375rem\", height: \"0.5rem\" },\n },\n lg: {\n ...boxModel,\n width: \"2.625rem\",\n height: \"1.5rem\",\n \"& svg\": { width: \"0.5rem\", height: \"0.625rem\" },\n },\n})\n\nconst useThumbStyles = makeZenithStyles({\n thumb: {\n ...boxModel,\n position: \"relative\",\n display: \"block\",\n pointerEvents: \"none\",\n borderRadius: \"9999px\",\n boxShadow: \"0 1px 2px 0 #0000000d\",\n transitionProperty: \"transform\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n transitionDuration: \"150ms\",\n \"@media (prefers-reduced-motion: reduce)\": {\n transitionDuration: \"0.01ms\",\n },\n \"&[data-checked]\": {\n transform: \"translateX(calc(100% - 1px))\",\n },\n \"&[data-unchecked]\": {\n transform: \"translateX(1px)\",\n },\n \"&[data-checked] [data-zenith-slot='switch-thumb-icon-checked']\": {\n display: \"inline-block\",\n },\n \"&[data-unchecked] [data-zenith-slot='switch-thumb-icon-unchecked']\": {\n display: \"inline-block\",\n },\n },\n default: {\n backgroundColor: tokens.grayContrast,\n color: tokens.grayA8,\n \"&[data-checked]\": { color: tokens.accentA11 },\n \"&[data-unchecked]\": { color: tokens.grayA8 },\n },\n destructive: {\n backgroundColor: tokens.errorContrast,\n color: tokens.errorA8,\n \"&[data-checked]\": { color: tokens.errorA11 },\n \"&[data-unchecked]\": { color: tokens.errorA8 },\n },\n sm: {\n ...boxModel,\n width: \"0.75rem\",\n height: \"0.75rem\",\n \"& svg[data-zenith-slot='switch-thumb-icon-disabled']\": {\n width: \"0.25rem\",\n },\n },\n base: {\n ...boxModel,\n width: \"1rem\",\n height: \"1rem\",\n \"& svg[data-zenith-slot='switch-thumb-icon-disabled']\": {\n width: \"0.375rem\",\n },\n },\n lg: {\n ...boxModel,\n width: \"1.25rem\",\n height: \"1.25rem\",\n \"& svg[data-zenith-slot='switch-thumb-icon-disabled']\": {\n width: \"0.4375rem\",\n },\n },\n})\n\n/**\n * `primary` is a deprecated alias of `default`, carried because v1 has it and real consumers still\n * pass it — entity-sidepanel's SettingsControls does. v1's own comment marks it deprecated and its\n * styles are byte-identical to `default`, so it is mapped rather than duplicated.\n *\n * @remarks `primary` is deprecated; use `default`.\n */\nexport type SwitchVariant = \"default\" | \"destructive\" | \"primary\"\nexport type SwitchSize = \"sm\" | \"base\" | \"lg\"\n\n/**\n * What `onCheckedChange` receives as its second argument: Base UI's change details, declared in\n * Zenith so that none of Base UI's internals reach the published declarations, where TypeScript 4\n * cannot parse them.\n */\ntype SwitchCheckedChangeDetails = {\n /** Why the switch changed. Base UI reports every switch change as `none`. */\n reason: \"none\"\n /** The native event behind the change. */\n event: Event\n /** Keeps the switch in its current state. */\n cancel: () => void\n /** Lets the event propagate where the switch would otherwise stop it. */\n allowPropagation: () => void\n isCanceled: boolean\n isPropagationAllowed: boolean\n /** The element that caused the change, if any. */\n trigger: Element | undefined\n}\n\n/**\n * The switch props Base UI adds to a `<button>`'s, declared in Zenith with Base UI's types. The\n * root renders a native `<button>`, so the DOM attributes, handlers, `ref`, `key`, `className`,\n * `style` and `value` stay the button's, as they were on Radix; `render` and `nativeButton` are\n * fixed by the wrapper.\n */\ntype SwitchRootProps = {\n /**\n * Whether the switch is currently active.\n *\n * To render an uncontrolled switch, use the `defaultChecked` prop instead.\n */\n checked?: boolean | undefined\n /** Whether the component should ignore user interaction. */\n disabled?: boolean | undefined\n /** A ref to access the hidden `<input>` element. */\n inputRef?: React.Ref<HTMLInputElement> | undefined\n /** Identifies the field when a form is submitted. */\n name?: string | undefined\n /**\n * Identifies the form that owns the hidden input.\n * Useful when the switch is rendered outside the form.\n */\n form?: string | undefined\n /** Event handler called when the switch is activated or deactivated. */\n onCheckedChange?:\n | ((checked: boolean, eventDetails: SwitchCheckedChangeDetails) => void)\n | undefined\n /** Whether the user should be unable to activate or deactivate the switch. */\n readOnly?: boolean | undefined\n /** Whether the user must activate the switch before submitting a form. */\n required?: boolean | undefined\n /**\n * The value submitted with the form when the switch is off.\n * By default, unchecked switches do not submit any value, matching native checkbox behavior.\n */\n uncheckedValue?: string | undefined\n}\n\nexport type SwitchProps = Omit<\n React.ComponentPropsWithRef<\"button\">,\n keyof SwitchRootProps\n> &\n SwitchRootProps & {\n /**\n * `default` or `destructive`. `primary` is a **deprecated alias of `default`** with byte-\n * identical styles, kept because v1 had it and consumers still pass it. Choosing it changes\n * nothing; use `default`.\n */\n variant?: SwitchVariant\n /** @default \"base\" */\n size?: SwitchSize\n showThumbIcon?: boolean\n /**\n * @deprecated Has no effect. The thumb is the switch's only child, so on Radix this rendered\n * the thumb as the switch rather than an element of yours. Remove it.\n */\n asChild?: boolean\n }\n\n// Base UI renders a <span> by default and moves the caller's id onto its hidden input. A native\n// button keeps the id, the HTMLButtonElement ref, native disabled and <label for> as Radix had them.\nconst ROOT_ELEMENT = <button />\n\nexport const Switch = React.forwardRef<HTMLButtonElement, SwitchProps>(\n function Switch(\n {\n variant = \"default\",\n size = \"base\",\n className,\n showThumbIcon = false,\n asChild: _asChild,\n value,\n ...props\n },\n ref\n ) {\n const rootStyles = useRootStyles()\n const inField = useOptionalFieldContext() !== null\n const thumbStyles = useThumbStyles()\n // See SwitchVariant: `primary` is v1's deprecated alias for `default`, same styles.\n const variantKey = variant === \"primary\" ? \"default\" : variant\n\n const root = (\n <SwitchPrimitive.Root\n ref={ref}\n nativeButton\n render={ROOT_ELEMENT}\n // Radix took the button's value type; Base UI submits a string, so it is converted here\n // the way the button's value attribute stringified it.\n value={value === undefined ? undefined : String(value)}\n data-slot=\"switch\"\n {...{ [SLOT_ATTR]: \"switch\" }}\n className={mergeClasses(\n rootStyles.root,\n rootStyles[variantKey],\n rootStyles[size],\n className\n )}\n // Base UI types the root's handlers for its default <span>; the element is the button\n // above, so the caller's button-typed handlers receive exactly the events they declare.\n {...(props as SwitchPrimitive.Root.Props)}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n {...{ [SLOT_ATTR]: \"switch-thumb\" }}\n className={mergeClasses(\n thumbStyles.thumb,\n thumbStyles[variantKey],\n thumbStyles[size]\n )}\n >\n {showThumbIcon && !props.disabled && <ThumbIconChecked />}\n {showThumbIcon && !props.disabled && <ThumbIconUnchecked />}\n {showThumbIcon && props.disabled && <ThumbIconDisabled />}\n </SwitchPrimitive.Thumb>\n </SwitchPrimitive.Root>\n )\n\n // A named switch's hidden input sits beside the button; the box keeps it in (#132). A Field is\n // positioned already, so inside one the switch stays the layout item itself.\n return props.name === undefined || inField ? (\n root\n ) : (\n <HiddenInputBox slot=\"switch-box\" layout=\"inline-flex\">\n {root}\n </HiddenInputBox>\n )\n }\n)\n"],"names":["ThumbIconChecked","React","_props","ref","styles","useThumbIconStyles","jsx","SLOT_ATTR","ThumbIconUnchecked","ThumbIconDisabled","makeZenithStyles","shorthands","useRootStyles","nativeControl","tokens.focusRing","tokens.grayA8","tokens.accentSolid","tokens.grayA3","tokens.errorA8","tokens.errorSolid","tokens.errorA3","boxModel","useThumbStyles","tokens.grayContrast","tokens.accentA11","tokens.errorContrast","tokens.errorA11","ROOT_ELEMENT","Switch","variant","size","className","showThumbIcon","_asChild","value","props","rootStyles","inField","useOptionalFieldContext","thumbStyles","variantKey","root","SwitchPrimitive","mergeClasses","jsxs","HiddenInputBox"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as t, jsxs as s } from "react/jsx-runtime";
|
|
2
2
|
import * as Y from "react";
|
|
3
3
|
import { Select as i } from "../../_virtual/_zenith-runtime-family_select.js";
|
|
4
|
-
import { mergeClasses as J, SLOT_ATTR as q, shorthands as a } from "@epilot/zenith-runtime/v1
|
|
4
|
+
import { mergeClasses as J, SLOT_ATTR as q, shorthands as a } from "@epilot/zenith-runtime/v1";
|
|
5
5
|
import { makeZenithStyles as K } from "../../styles/make-styles.js";
|
|
6
6
|
import { boxModel as c, nativeControl as Q } from "../../styles/host-reset.js";
|
|
7
7
|
import { OVERLAY_Z_INDEX as R } from "../../styles/overlay-layer.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-pagination.js","sources":["../../../src/components/table/table-pagination.tsx"],"sourcesContent":["import * as React from \"react\"\nimport type { SVGProps, ComponentProps } from \"react\"\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1/core\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport { boxModel, nativeControl } from \"../../styles/host-reset\"\nimport { OVERLAY_Z_INDEX } from \"../../styles/overlay-layer\"\nimport * as tokens from \"../../tokens\"\nimport { useAppearanceAttributes } from \"../appearance-boundary/appearance-boundary\"\nimport { useDensity } from \"../density-provider/density-provider\"\nimport {\n calculatePagination,\n clampPage,\n getPageNumbers,\n} from \"../../lib/pagination\"\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"../tooltip/tooltip\"\nimport { Button } from \"../button/button\"\n\n// Navigation icons\nconst IconFirstPage = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"M6 6v12\" />\n <path d=\"m15 18-6-6 6-6\" />\n </svg>\n)\n\nconst IconChevronLeft = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"m15 18-6-6 6-6\" />\n </svg>\n)\n\nconst IconChevronRight = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n)\n\nconst IconLastPage = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"m9 18 6-6-6-6\" />\n <path d=\"M18 6v12\" />\n </svg>\n)\n\n// Select icons\nconst ChevronDownIcon = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n)\n\nconst CheckIcon = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n)\n\nconst DEFAULT_PAGE_SIZE_OPTIONS = [10, 25, 50, 100]\n\nconst useStyles = makeZenithStyles({\n root: {\n ...boxModel,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: tokens.spacingGroup1,\n ...shorthands.paddingBlock(tokens.spacingElement3),\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n },\n left: {\n display: \"flex\",\n alignItems: \"center\",\n gap: tokens.spacingElement2,\n },\n navButton: {\n backgroundColor: tokens.grayA3,\n color: tokens.accent11,\n \":hover\": {\n backgroundColor: tokens.grayA4,\n },\n \":disabled\": {\n backgroundColor: tokens.grayA3,\n color: tokens.accentA8,\n pointerEvents: \"none\",\n },\n },\n pageButtonActive: {\n pointerEvents: \"none\",\n },\n pageButtonInactive: {\n backgroundColor: \"transparent\",\n color: tokens.accent11,\n \":hover\": {\n backgroundColor: tokens.grayA3,\n },\n \":active\": {\n backgroundColor: tokens.grayA4,\n },\n },\n ellipsisButton: {\n letterSpacing: tokens.trackingNormal,\n backgroundColor: \"transparent\",\n color: tokens.accent11,\n \":hover\": {\n backgroundColor: tokens.grayA3,\n },\n },\n right: {\n ...boxModel,\n display: \"flex\",\n alignItems: \"center\",\n gap: tokens.spacingGroup1,\n paddingRight: \"0.125rem\",\n },\n range: {\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n color: tokens.grayA11,\n fontVariantNumeric: \"tabular-nums\",\n },\n selectTrigger: {\n ...nativeControl,\n display: \"flex\",\n height: \"2rem\",\n width: \"auto\",\n minWidth: \"4rem\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: tokens.spacingElement1,\n ...shorthands.borderRadius(tokens.radiusLg),\n backgroundColor: tokens.grayA3,\n ...shorthands.paddingInline(\"0.75rem\"),\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n cursor: \"pointer\",\n ...shorthands.borderWidth(0),\n \":hover\": {\n backgroundColor: tokens.grayA4,\n },\n \":focus\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineColor: tokens.accent8,\n outlineOffset: \"2px\",\n },\n \":disabled\": {\n cursor: \"not-allowed\",\n opacity: 0.5,\n },\n },\n selectIcon: {\n display: \"flex\",\n alignItems: \"center\",\n color: tokens.grayA11,\n },\n // The positioner is what stacks against other layers, as Radix's popper wrapper did, keeping\n // that wrapper's `max-content` floor.\n selectPositioner: {\n zIndex: OVERLAY_Z_INDEX,\n minWidth: \"max-content\",\n },\n selectContent: {\n ...boxModel,\n // Radix laid its content out as a column around the viewport.\n display: \"flex\",\n flexDirection: \"column\",\n position: \"relative\",\n zIndex: OVERLAY_Z_INDEX,\n ...shorthands.overflow(\"hidden\"),\n ...shorthands.borderRadius(tokens.radiusLg),\n ...shorthands.border(\"1px\", \"solid\", tokens.grayA6),\n backgroundColor: tokens.body,\n boxShadow:\n \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)\",\n },\n selectViewport: {\n ...boxModel,\n // Radix's viewport: the scroller, its scrollbar hidden.\n position: \"relative\",\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: \"0%\",\n overflowX: \"hidden\",\n overflowY: \"auto\",\n scrollbarWidth: \"none\",\n \"&::-webkit-scrollbar\": {\n display: \"none\",\n },\n ...shorthands.padding(\"0.25rem\"),\n },\n selectLabel: {\n ...boxModel,\n ...shorthands.padding(\"0.375rem\", \"0.5rem\"),\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n fontWeight: tokens.fontWeightSemibold,\n color: tokens.grayA11,\n },\n selectItem: {\n ...boxModel,\n position: \"relative\",\n display: \"flex\",\n cursor: \"pointer\",\n userSelect: \"none\",\n alignItems: \"center\",\n ...shorthands.borderRadius(tokens.radiusMd),\n ...shorthands.padding(\"0.375rem\", \"0.5rem\", \"0.375rem\", \"2rem\"),\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n // Base UI highlights the active item without moving focus to it, as Radix did.\n \"&[data-highlighted]\": {\n backgroundColor: tokens.accentA3,\n },\n \"&[data-selected]\": {\n backgroundColor: tokens.accentA3,\n },\n },\n selectItemIndicator: {\n ...boxModel,\n position: \"absolute\",\n left: \"0.5rem\",\n display: \"flex\",\n width: \"1rem\",\n height: \"1rem\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n})\n\nconst DEFAULT_PAGINATION_LABELS = {\n navigation: \"Pagination\",\n firstPage: \"First page\",\n previousPage: \"Previous page\",\n nextPage: \"Next page\",\n lastPage: \"Last page\",\n goToPage: (page: number) => `Page ${page}`,\n jumpToPage: (page: number) => `Jump to page ${page}`,\n pageSizeSelector: (size: number) => `Rows per page: ${size}`,\n} as const satisfies TablePaginationLabels\n\nexport type TablePaginationLabels = {\n /** Label for the pagination navigation region. */\n navigation?: string\n /** Label for first page button. */\n firstPage?: string\n /** Label for previous page button. */\n previousPage?: string\n /** Label for next page button. */\n nextPage?: string\n /** Label for last page button. */\n lastPage?: string\n /** Label generator for page number buttons. Receives 1-indexed page number. */\n goToPage?: (page: number) => string\n /** Label generator for ellipsis jump buttons. Receives target page number. */\n jumpToPage?: (page: number) => string\n /** Label generator for page size selector. Receives current page size. */\n pageSizeSelector?: (pageSize: number) => string\n /** Label for page size dropdown header. */\n resultsPerPage?: string\n /** Label generator for the range display. Receives start, end, and total. */\n rangeDisplay?: (start: number, end: number, total: number) => string\n}\n\nexport type TablePaginationProps = Omit<ComponentProps<\"div\">, \"onChange\"> & {\n /** Current page number (1-indexed) */\n page: number\n /** Total number of items across all pages */\n totalItems: number\n /** Current page size (items per page) */\n pageSize: number\n /** Callback fired when the page changes */\n onPageChange: (page: number) => void\n /** Callback fired when the page size changes */\n onPageSizeChange: (pageSize: number) => void\n /** Available page size options for the dropdown */\n pageSizeOptions?: number[]\n /** Number of sibling pages to show on each side of current page */\n siblingCount?: number\n /** Whether the pagination controls are disabled */\n disabled?: boolean\n /** Labels for i18n. All labels are optional for backwards compatibility but recommended. */\n labels?: TablePaginationLabels\n}\n\nexport const TablePagination = React.forwardRef<\n HTMLDivElement,\n TablePaginationProps\n>(function TablePagination(\n {\n page,\n totalItems,\n pageSize,\n onPageChange,\n onPageSizeChange,\n pageSizeOptions = DEFAULT_PAGE_SIZE_OPTIONS,\n siblingCount = 2,\n disabled = false,\n labels: labelsProp,\n className,\n ...props\n },\n ref\n) {\n /**\n * Accessible names for the controls. Every button here is icon-only, so\n * without a name it reaches assistive technology as an unlabelled button --\n * which is what `actions.mdx` forbids, and what this component shipped\n * whenever a caller omitted `labels`. The caller's values still win; these\n * only fill the gaps, so a localised app overrides them exactly as before.\n */\n const labels = { ...DEFAULT_PAGINATION_LABELS, ...labelsProp }\n const styles = useStyles()\n // Closes the previously deferred inline Select portal — stamp\n // an explicit override only when one exists in the React tree (Table/DataTable's own explicit\n // density, via DensityContextBoundary), never a fabricated default; an omitted override still\n // inherits live shell density through ordinary DOM/CSS since the portal container is a\n // descendant of <html>. Same pattern as select.tsx's SelectContent.\n const densityOverride = useDensity()\n // SPEC.md §2 rule 3 — the same portal asymmetry, for the appearance pair: re-stamp the\n // nearest explicit AppearanceBoundary's mode+surface, or neither attribute when there is\n // none, leaving live shell inheritance in place.\n const appearance = useAppearanceAttributes()\n const { totalPages, start, end, isFirstPage, isLastPage } =\n calculatePagination({\n page,\n pageSize,\n totalItems,\n })\n\n const safePage = clampPage(page, totalPages)\n const pageItems = getPageNumbers(safePage, totalPages, siblingCount)\n\n const handlePageSizeChange = (value: string) => {\n const newSize = parseInt(value, 10)\n if (!isNaN(newSize)) {\n onPageSizeChange(newSize)\n }\n }\n\n // Don't render if no items\n if (totalItems === 0) {\n return null\n }\n\n return (\n <TooltipProvider>\n <div\n ref={ref}\n data-slot=\"table-pagination\"\n {...{ [SLOT_ATTR]: \"table-pagination\" }}\n data-fs-element=\"TablePagination\"\n role=\"navigation\"\n aria-label={labels?.navigation}\n className={mergeClasses(styles.root, className)}\n {...props}\n >\n {/* LEFT SIDE: Navigation and page buttons */}\n <div className={styles.left}>\n {/* First page button */}\n <Button\n variant=\"secondary\"\n size=\"icon-sm\"\n shape=\"normal\"\n disabled={disabled || isFirstPage}\n onClick={() => onPageChange(1)}\n aria-label={labels?.firstPage}\n className={styles.navButton}\n >\n <IconFirstPage />\n </Button>\n\n {/* Previous page button */}\n <Button\n variant=\"secondary\"\n size=\"icon-sm\"\n shape=\"normal\"\n disabled={disabled || isFirstPage}\n onClick={() => onPageChange(safePage - 1)}\n aria-label={labels?.previousPage}\n className={styles.navButton}\n >\n <IconChevronLeft />\n </Button>\n\n {/* Page number buttons */}\n {pageItems.map((item, index) => {\n const key =\n item.type === \"ellipsis\"\n ? `ellipsis-${index}-${item.targetPage}`\n : `page-${item.page}`\n\n if (item.type === \"ellipsis\") {\n return (\n <Tooltip key={key}>\n <TooltipTrigger asChild>\n <Button\n variant=\"tertiary\"\n size=\"icon-sm\"\n shape=\"normal\"\n disabled={disabled}\n onClick={() => onPageChange(item.targetPage)}\n aria-label={labels?.jumpToPage?.(item.targetPage)}\n className={styles.ellipsisButton}\n >\n ...\n </Button>\n </TooltipTrigger>\n <TooltipContent>\n {labels?.jumpToPage?.(item.targetPage)}\n </TooltipContent>\n </Tooltip>\n )\n }\n\n const isCurrentPage = item.page === safePage\n\n return (\n <Button\n key={key}\n variant={isCurrentPage ? \"secondary\" : \"tertiary\"}\n size=\"icon-sm\"\n shape=\"normal\"\n disabled={disabled}\n onClick={() => onPageChange(item.page)}\n aria-label={labels?.goToPage?.(item.page)}\n aria-current={isCurrentPage ? \"page\" : undefined}\n className={\n isCurrentPage\n ? styles.pageButtonActive\n : styles.pageButtonInactive\n }\n >\n {item.page}\n </Button>\n )\n })}\n\n {/* Next page button */}\n <Button\n variant=\"secondary\"\n size=\"icon-sm\"\n shape=\"normal\"\n disabled={disabled || isLastPage}\n onClick={() => onPageChange(safePage + 1)}\n aria-label={labels?.nextPage}\n className={styles.navButton}\n >\n <IconChevronRight />\n </Button>\n\n {/* Last page button */}\n <Button\n variant=\"secondary\"\n size=\"icon-sm\"\n shape=\"normal\"\n disabled={disabled || isLastPage}\n onClick={() => onPageChange(totalPages)}\n aria-label={labels?.lastPage}\n className={styles.navButton}\n >\n <IconLastPage />\n </Button>\n </div>\n\n {/* RIGHT SIDE: Range display and page size selector */}\n <div className={styles.right}>\n {/* Range display */}\n <span\n data-slot=\"table-pagination-range\"\n className={styles.range}\n aria-live=\"polite\"\n >\n {labels?.rangeDisplay\n ? labels.rangeDisplay(start, end, totalItems)\n : `${start}-${end} / ${totalItems}`}\n </span>\n\n {/* Page size selector */}\n <SelectPrimitive.Root<string>\n value={String(pageSize)}\n onValueChange={(value) => {\n if (value !== null) handlePageSizeChange(value)\n }}\n disabled={disabled}\n >\n <SelectPrimitive.Trigger\n className={styles.selectTrigger}\n aria-label={labels?.pageSizeSelector?.(pageSize)}\n >\n {/* Radix echoed the matching item's text, so a page size that is not among the\n options showed nothing; Base UI would print the raw value. */}\n <SelectPrimitive.Value>\n {(value: string | null) =>\n pageSizeOptions.some((option) => String(option) === value)\n ? value\n : null\n }\n </SelectPrimitive.Value>\n <SelectPrimitive.Icon className={styles.selectIcon}>\n <ChevronDownIcon />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n <SelectPrimitive.Portal>\n <SelectPrimitive.Positioner\n className={styles.selectPositioner}\n // Radix's popper defaults for a select, which this picker used.\n alignItemWithTrigger={false}\n align=\"start\"\n sideOffset={4}\n collisionPadding={10}\n >\n <SelectPrimitive.Popup\n className={styles.selectContent}\n {...(densityOverride !== undefined\n ? { \"data-density\": densityOverride }\n : {})}\n {...appearance}\n >\n <SelectPrimitive.List className={styles.selectViewport}>\n <SelectPrimitive.Group>\n {labels?.resultsPerPage && (\n <SelectPrimitive.GroupLabel\n className={styles.selectLabel}\n >\n {labels.resultsPerPage}\n </SelectPrimitive.GroupLabel>\n )}\n {pageSizeOptions.map((option) => (\n <SelectPrimitive.Item\n key={option}\n value={String(option)}\n className={styles.selectItem}\n >\n <span className={styles.selectItemIndicator}>\n <SelectPrimitive.ItemIndicator>\n <CheckIcon style={{ width: 16, height: 16 }} />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText render={<span />}>\n {option}\n </SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n ))}\n </SelectPrimitive.Group>\n </SelectPrimitive.List>\n </SelectPrimitive.Popup>\n </SelectPrimitive.Positioner>\n </SelectPrimitive.Portal>\n </SelectPrimitive.Root>\n </div>\n </div>\n </TooltipProvider>\n )\n})\n"],"names":["IconFirstPage","props","jsxs","jsx","IconChevronLeft","IconChevronRight","IconLastPage","ChevronDownIcon","CheckIcon","DEFAULT_PAGE_SIZE_OPTIONS","useStyles","makeZenithStyles","boxModel","tokens.spacingGroup1","shorthands","tokens.spacingElement3","tokens.textSm","tokens.leadingSm","tokens.spacingElement2","tokens.grayA3","tokens.accent11","tokens.grayA4","tokens.accentA8","tokens.trackingNormal","tokens.grayA11","nativeControl","tokens.spacingElement1","tokens.radiusLg","tokens.accent8","OVERLAY_Z_INDEX","tokens.grayA6","tokens.body","tokens.textXs","tokens.leadingXs","tokens.fontWeightSemibold","tokens.radiusMd","tokens.accentA3","DEFAULT_PAGINATION_LABELS","page","size","TablePagination","React","totalItems","pageSize","onPageChange","onPageSizeChange","pageSizeOptions","siblingCount","disabled","labelsProp","className","ref","labels","styles","densityOverride","useDensity","appearance","useAppearanceAttributes","totalPages","start","end","isFirstPage","isLastPage","calculatePagination","safePage","clampPage","pageItems","getPageNumbers","handlePageSizeChange","value","newSize","TooltipProvider","SLOT_ATTR","mergeClasses","Button","item","index","key","Tooltip","TooltipTrigger","_a","TooltipContent","_b","isCurrentPage","_c","SelectPrimitive","option"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table-pagination.js","sources":["../../../src/components/table/table-pagination.tsx"],"sourcesContent":["import * as React from \"react\"\nimport type { SVGProps, ComponentProps } from \"react\"\nimport { Select as SelectPrimitive } from \"@base-ui/react/select\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport { boxModel, nativeControl } from \"../../styles/host-reset\"\nimport { OVERLAY_Z_INDEX } from \"../../styles/overlay-layer\"\nimport * as tokens from \"../../tokens\"\nimport { useAppearanceAttributes } from \"../appearance-boundary/appearance-boundary\"\nimport { useDensity } from \"../density-provider/density-provider\"\nimport {\n calculatePagination,\n clampPage,\n getPageNumbers,\n} from \"../../lib/pagination\"\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"../tooltip/tooltip\"\nimport { Button } from \"../button/button\"\n\n// Navigation icons\nconst IconFirstPage = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"M6 6v12\" />\n <path d=\"m15 18-6-6 6-6\" />\n </svg>\n)\n\nconst IconChevronLeft = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"m15 18-6-6 6-6\" />\n </svg>\n)\n\nconst IconChevronRight = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n)\n\nconst IconLastPage = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"m9 18 6-6-6-6\" />\n <path d=\"M18 6v12\" />\n </svg>\n)\n\n// Select icons\nconst ChevronDownIcon = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n)\n\nconst CheckIcon = (props: SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n)\n\nconst DEFAULT_PAGE_SIZE_OPTIONS = [10, 25, 50, 100]\n\nconst useStyles = makeZenithStyles({\n root: {\n ...boxModel,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: tokens.spacingGroup1,\n ...shorthands.paddingBlock(tokens.spacingElement3),\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n },\n left: {\n display: \"flex\",\n alignItems: \"center\",\n gap: tokens.spacingElement2,\n },\n navButton: {\n backgroundColor: tokens.grayA3,\n color: tokens.accent11,\n \":hover\": {\n backgroundColor: tokens.grayA4,\n },\n \":disabled\": {\n backgroundColor: tokens.grayA3,\n color: tokens.accentA8,\n pointerEvents: \"none\",\n },\n },\n pageButtonActive: {\n pointerEvents: \"none\",\n },\n pageButtonInactive: {\n backgroundColor: \"transparent\",\n color: tokens.accent11,\n \":hover\": {\n backgroundColor: tokens.grayA3,\n },\n \":active\": {\n backgroundColor: tokens.grayA4,\n },\n },\n ellipsisButton: {\n letterSpacing: tokens.trackingNormal,\n backgroundColor: \"transparent\",\n color: tokens.accent11,\n \":hover\": {\n backgroundColor: tokens.grayA3,\n },\n },\n right: {\n ...boxModel,\n display: \"flex\",\n alignItems: \"center\",\n gap: tokens.spacingGroup1,\n paddingRight: \"0.125rem\",\n },\n range: {\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n color: tokens.grayA11,\n fontVariantNumeric: \"tabular-nums\",\n },\n selectTrigger: {\n ...nativeControl,\n display: \"flex\",\n height: \"2rem\",\n width: \"auto\",\n minWidth: \"4rem\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: tokens.spacingElement1,\n ...shorthands.borderRadius(tokens.radiusLg),\n backgroundColor: tokens.grayA3,\n ...shorthands.paddingInline(\"0.75rem\"),\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n cursor: \"pointer\",\n ...shorthands.borderWidth(0),\n \":hover\": {\n backgroundColor: tokens.grayA4,\n },\n \":focus\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineColor: tokens.accent8,\n outlineOffset: \"2px\",\n },\n \":disabled\": {\n cursor: \"not-allowed\",\n opacity: 0.5,\n },\n },\n selectIcon: {\n display: \"flex\",\n alignItems: \"center\",\n color: tokens.grayA11,\n },\n // The positioner is what stacks against other layers, as Radix's popper wrapper did, keeping\n // that wrapper's `max-content` floor.\n selectPositioner: {\n zIndex: OVERLAY_Z_INDEX,\n minWidth: \"max-content\",\n },\n selectContent: {\n ...boxModel,\n // Radix laid its content out as a column around the viewport.\n display: \"flex\",\n flexDirection: \"column\",\n position: \"relative\",\n zIndex: OVERLAY_Z_INDEX,\n ...shorthands.overflow(\"hidden\"),\n ...shorthands.borderRadius(tokens.radiusLg),\n ...shorthands.border(\"1px\", \"solid\", tokens.grayA6),\n backgroundColor: tokens.body,\n boxShadow:\n \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)\",\n },\n selectViewport: {\n ...boxModel,\n // Radix's viewport: the scroller, its scrollbar hidden.\n position: \"relative\",\n flexGrow: 1,\n flexShrink: 1,\n flexBasis: \"0%\",\n overflowX: \"hidden\",\n overflowY: \"auto\",\n scrollbarWidth: \"none\",\n \"&::-webkit-scrollbar\": {\n display: \"none\",\n },\n ...shorthands.padding(\"0.25rem\"),\n },\n selectLabel: {\n ...boxModel,\n ...shorthands.padding(\"0.375rem\", \"0.5rem\"),\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n fontWeight: tokens.fontWeightSemibold,\n color: tokens.grayA11,\n },\n selectItem: {\n ...boxModel,\n position: \"relative\",\n display: \"flex\",\n cursor: \"pointer\",\n userSelect: \"none\",\n alignItems: \"center\",\n ...shorthands.borderRadius(tokens.radiusMd),\n ...shorthands.padding(\"0.375rem\", \"0.5rem\", \"0.375rem\", \"2rem\"),\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n // Base UI highlights the active item without moving focus to it, as Radix did.\n \"&[data-highlighted]\": {\n backgroundColor: tokens.accentA3,\n },\n \"&[data-selected]\": {\n backgroundColor: tokens.accentA3,\n },\n },\n selectItemIndicator: {\n ...boxModel,\n position: \"absolute\",\n left: \"0.5rem\",\n display: \"flex\",\n width: \"1rem\",\n height: \"1rem\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n})\n\nconst DEFAULT_PAGINATION_LABELS = {\n navigation: \"Pagination\",\n firstPage: \"First page\",\n previousPage: \"Previous page\",\n nextPage: \"Next page\",\n lastPage: \"Last page\",\n goToPage: (page: number) => `Page ${page}`,\n jumpToPage: (page: number) => `Jump to page ${page}`,\n pageSizeSelector: (size: number) => `Rows per page: ${size}`,\n} as const satisfies TablePaginationLabels\n\nexport type TablePaginationLabels = {\n /** Label for the pagination navigation region. */\n navigation?: string\n /** Label for first page button. */\n firstPage?: string\n /** Label for previous page button. */\n previousPage?: string\n /** Label for next page button. */\n nextPage?: string\n /** Label for last page button. */\n lastPage?: string\n /** Label generator for page number buttons. Receives 1-indexed page number. */\n goToPage?: (page: number) => string\n /** Label generator for ellipsis jump buttons. Receives target page number. */\n jumpToPage?: (page: number) => string\n /** Label generator for page size selector. Receives current page size. */\n pageSizeSelector?: (pageSize: number) => string\n /** Label for page size dropdown header. */\n resultsPerPage?: string\n /** Label generator for the range display. Receives start, end, and total. */\n rangeDisplay?: (start: number, end: number, total: number) => string\n}\n\nexport type TablePaginationProps = Omit<ComponentProps<\"div\">, \"onChange\"> & {\n /** Current page number (1-indexed) */\n page: number\n /** Total number of items across all pages */\n totalItems: number\n /** Current page size (items per page) */\n pageSize: number\n /** Callback fired when the page changes */\n onPageChange: (page: number) => void\n /** Callback fired when the page size changes */\n onPageSizeChange: (pageSize: number) => void\n /** Available page size options for the dropdown */\n pageSizeOptions?: number[]\n /** Number of sibling pages to show on each side of current page */\n siblingCount?: number\n /** Whether the pagination controls are disabled */\n disabled?: boolean\n /** Labels for i18n. All labels are optional for backwards compatibility but recommended. */\n labels?: TablePaginationLabels\n}\n\nexport const TablePagination = React.forwardRef<\n HTMLDivElement,\n TablePaginationProps\n>(function TablePagination(\n {\n page,\n totalItems,\n pageSize,\n onPageChange,\n onPageSizeChange,\n pageSizeOptions = DEFAULT_PAGE_SIZE_OPTIONS,\n siblingCount = 2,\n disabled = false,\n labels: labelsProp,\n className,\n ...props\n },\n ref\n) {\n /**\n * Accessible names for the controls. Every button here is icon-only, so\n * without a name it reaches assistive technology as an unlabelled button --\n * which is what `actions.mdx` forbids, and what this component shipped\n * whenever a caller omitted `labels`. The caller's values still win; these\n * only fill the gaps, so a localised app overrides them exactly as before.\n */\n const labels = { ...DEFAULT_PAGINATION_LABELS, ...labelsProp }\n const styles = useStyles()\n // Closes the previously deferred inline Select portal — stamp\n // an explicit override only when one exists in the React tree (Table/DataTable's own explicit\n // density, via DensityContextBoundary), never a fabricated default; an omitted override still\n // inherits live shell density through ordinary DOM/CSS since the portal container is a\n // descendant of <html>. Same pattern as select.tsx's SelectContent.\n const densityOverride = useDensity()\n // SPEC.md §2 rule 3 — the same portal asymmetry, for the appearance pair: re-stamp the\n // nearest explicit AppearanceBoundary's mode+surface, or neither attribute when there is\n // none, leaving live shell inheritance in place.\n const appearance = useAppearanceAttributes()\n const { totalPages, start, end, isFirstPage, isLastPage } =\n calculatePagination({\n page,\n pageSize,\n totalItems,\n })\n\n const safePage = clampPage(page, totalPages)\n const pageItems = getPageNumbers(safePage, totalPages, siblingCount)\n\n const handlePageSizeChange = (value: string) => {\n const newSize = parseInt(value, 10)\n if (!isNaN(newSize)) {\n onPageSizeChange(newSize)\n }\n }\n\n // Don't render if no items\n if (totalItems === 0) {\n return null\n }\n\n return (\n <TooltipProvider>\n <div\n ref={ref}\n data-slot=\"table-pagination\"\n {...{ [SLOT_ATTR]: \"table-pagination\" }}\n data-fs-element=\"TablePagination\"\n role=\"navigation\"\n aria-label={labels?.navigation}\n className={mergeClasses(styles.root, className)}\n {...props}\n >\n {/* LEFT SIDE: Navigation and page buttons */}\n <div className={styles.left}>\n {/* First page button */}\n <Button\n variant=\"secondary\"\n size=\"icon-sm\"\n shape=\"normal\"\n disabled={disabled || isFirstPage}\n onClick={() => onPageChange(1)}\n aria-label={labels?.firstPage}\n className={styles.navButton}\n >\n <IconFirstPage />\n </Button>\n\n {/* Previous page button */}\n <Button\n variant=\"secondary\"\n size=\"icon-sm\"\n shape=\"normal\"\n disabled={disabled || isFirstPage}\n onClick={() => onPageChange(safePage - 1)}\n aria-label={labels?.previousPage}\n className={styles.navButton}\n >\n <IconChevronLeft />\n </Button>\n\n {/* Page number buttons */}\n {pageItems.map((item, index) => {\n const key =\n item.type === \"ellipsis\"\n ? `ellipsis-${index}-${item.targetPage}`\n : `page-${item.page}`\n\n if (item.type === \"ellipsis\") {\n return (\n <Tooltip key={key}>\n <TooltipTrigger asChild>\n <Button\n variant=\"tertiary\"\n size=\"icon-sm\"\n shape=\"normal\"\n disabled={disabled}\n onClick={() => onPageChange(item.targetPage)}\n aria-label={labels?.jumpToPage?.(item.targetPage)}\n className={styles.ellipsisButton}\n >\n ...\n </Button>\n </TooltipTrigger>\n <TooltipContent>\n {labels?.jumpToPage?.(item.targetPage)}\n </TooltipContent>\n </Tooltip>\n )\n }\n\n const isCurrentPage = item.page === safePage\n\n return (\n <Button\n key={key}\n variant={isCurrentPage ? \"secondary\" : \"tertiary\"}\n size=\"icon-sm\"\n shape=\"normal\"\n disabled={disabled}\n onClick={() => onPageChange(item.page)}\n aria-label={labels?.goToPage?.(item.page)}\n aria-current={isCurrentPage ? \"page\" : undefined}\n className={\n isCurrentPage\n ? styles.pageButtonActive\n : styles.pageButtonInactive\n }\n >\n {item.page}\n </Button>\n )\n })}\n\n {/* Next page button */}\n <Button\n variant=\"secondary\"\n size=\"icon-sm\"\n shape=\"normal\"\n disabled={disabled || isLastPage}\n onClick={() => onPageChange(safePage + 1)}\n aria-label={labels?.nextPage}\n className={styles.navButton}\n >\n <IconChevronRight />\n </Button>\n\n {/* Last page button */}\n <Button\n variant=\"secondary\"\n size=\"icon-sm\"\n shape=\"normal\"\n disabled={disabled || isLastPage}\n onClick={() => onPageChange(totalPages)}\n aria-label={labels?.lastPage}\n className={styles.navButton}\n >\n <IconLastPage />\n </Button>\n </div>\n\n {/* RIGHT SIDE: Range display and page size selector */}\n <div className={styles.right}>\n {/* Range display */}\n <span\n data-slot=\"table-pagination-range\"\n className={styles.range}\n aria-live=\"polite\"\n >\n {labels?.rangeDisplay\n ? labels.rangeDisplay(start, end, totalItems)\n : `${start}-${end} / ${totalItems}`}\n </span>\n\n {/* Page size selector */}\n <SelectPrimitive.Root<string>\n value={String(pageSize)}\n onValueChange={(value) => {\n if (value !== null) handlePageSizeChange(value)\n }}\n disabled={disabled}\n >\n <SelectPrimitive.Trigger\n className={styles.selectTrigger}\n aria-label={labels?.pageSizeSelector?.(pageSize)}\n >\n {/* Radix echoed the matching item's text, so a page size that is not among the\n options showed nothing; Base UI would print the raw value. */}\n <SelectPrimitive.Value>\n {(value: string | null) =>\n pageSizeOptions.some((option) => String(option) === value)\n ? value\n : null\n }\n </SelectPrimitive.Value>\n <SelectPrimitive.Icon className={styles.selectIcon}>\n <ChevronDownIcon />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n <SelectPrimitive.Portal>\n <SelectPrimitive.Positioner\n className={styles.selectPositioner}\n // Radix's popper defaults for a select, which this picker used.\n alignItemWithTrigger={false}\n align=\"start\"\n sideOffset={4}\n collisionPadding={10}\n >\n <SelectPrimitive.Popup\n className={styles.selectContent}\n {...(densityOverride !== undefined\n ? { \"data-density\": densityOverride }\n : {})}\n {...appearance}\n >\n <SelectPrimitive.List className={styles.selectViewport}>\n <SelectPrimitive.Group>\n {labels?.resultsPerPage && (\n <SelectPrimitive.GroupLabel\n className={styles.selectLabel}\n >\n {labels.resultsPerPage}\n </SelectPrimitive.GroupLabel>\n )}\n {pageSizeOptions.map((option) => (\n <SelectPrimitive.Item\n key={option}\n value={String(option)}\n className={styles.selectItem}\n >\n <span className={styles.selectItemIndicator}>\n <SelectPrimitive.ItemIndicator>\n <CheckIcon style={{ width: 16, height: 16 }} />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText render={<span />}>\n {option}\n </SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n ))}\n </SelectPrimitive.Group>\n </SelectPrimitive.List>\n </SelectPrimitive.Popup>\n </SelectPrimitive.Positioner>\n </SelectPrimitive.Portal>\n </SelectPrimitive.Root>\n </div>\n </div>\n </TooltipProvider>\n )\n})\n"],"names":["IconFirstPage","props","jsxs","jsx","IconChevronLeft","IconChevronRight","IconLastPage","ChevronDownIcon","CheckIcon","DEFAULT_PAGE_SIZE_OPTIONS","useStyles","makeZenithStyles","boxModel","tokens.spacingGroup1","shorthands","tokens.spacingElement3","tokens.textSm","tokens.leadingSm","tokens.spacingElement2","tokens.grayA3","tokens.accent11","tokens.grayA4","tokens.accentA8","tokens.trackingNormal","tokens.grayA11","nativeControl","tokens.spacingElement1","tokens.radiusLg","tokens.accent8","OVERLAY_Z_INDEX","tokens.grayA6","tokens.body","tokens.textXs","tokens.leadingXs","tokens.fontWeightSemibold","tokens.radiusMd","tokens.accentA3","DEFAULT_PAGINATION_LABELS","page","size","TablePagination","React","totalItems","pageSize","onPageChange","onPageSizeChange","pageSizeOptions","siblingCount","disabled","labelsProp","className","ref","labels","styles","densityOverride","useDensity","appearance","useAppearanceAttributes","totalPages","start","end","isFirstPage","isLastPage","calculatePagination","safePage","clampPage","pageItems","getPageNumbers","handlePageSizeChange","value","newSize","TooltipProvider","SLOT_ATTR","mergeClasses","Button","item","index","key","Tooltip","TooltipTrigger","_a","TooltipContent","_b","isCurrentPage","_c","SelectPrimitive","option"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as l } from "react/jsx-runtime";
|
|
2
2
|
import * as i from "react";
|
|
3
|
-
import { mergeClasses as d, SLOT_ATTR as c, shorthands as p } from "@epilot/zenith-runtime/v1
|
|
3
|
+
import { mergeClasses as d, SLOT_ATTR as c, shorthands as p } from "@epilot/zenith-runtime/v1";
|
|
4
4
|
import { makeZenithStyles as A } from "../../styles/make-styles.js";
|
|
5
5
|
import { boxModel as f } from "../../styles/host-reset.js";
|
|
6
6
|
import { spacingGroup2 as x, grayA11 as H, leadingSm as R, textSm as C, grayA12 as N, fontWeightNormal as S, tableCellPaddingY as v, spacingElement3 as m, fontWeightMedium as B, tableHeadHeight as W, accentA3 as k, graySoft as L, grayA5 as T } from "../../tokens/index.js";
|