@grandbazar/ui-baza 1.2.21 → 1.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/README.md +1 -0
- package/dist/index.cjs +380 -83
- package/dist/index.d.ts +60 -4
- package/dist/index.js +380 -84
- package/dist/style.css +150 -11
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -59,7 +59,7 @@ const green = "_green_p5h5n_43";
|
|
|
59
59
|
const neutral$3 = "_neutral_p5h5n_48";
|
|
60
60
|
const lg$7 = "_lg_p5h5n_53";
|
|
61
61
|
const md$a = "_md_p5h5n_60";
|
|
62
|
-
const styles$
|
|
62
|
+
const styles$x = {
|
|
63
63
|
badge: badge,
|
|
64
64
|
primary: primary$4,
|
|
65
65
|
secondary: secondary$5,
|
|
@@ -75,13 +75,13 @@ const styles$w = {
|
|
|
75
75
|
};
|
|
76
76
|
|
|
77
77
|
function Badge({ children, className, size = "lg", color = "accent", mode = "primary", ...props }) {
|
|
78
|
-
return /* @__PURE__ */ jsx("div", { className: classNames(styles$
|
|
78
|
+
return /* @__PURE__ */ jsx("div", { className: classNames(styles$x.badge, styles$x[size], styles$x[color], styles$x[mode], className), ...props, children });
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
const badgeTabsItem = "_badgeTabsItem_10lit_2";
|
|
82
82
|
const primary$3 = "_primary_10lit_18";
|
|
83
83
|
const secondary$4 = "_secondary_10lit_36";
|
|
84
|
-
const styles$
|
|
84
|
+
const styles$w = {
|
|
85
85
|
badgeTabsItem: badgeTabsItem,
|
|
86
86
|
primary: primary$3,
|
|
87
87
|
secondary: secondary$4
|
|
@@ -94,7 +94,7 @@ function BadgeTabsItem({ className, children, isActive, mode = "primary", ...pro
|
|
|
94
94
|
type: "button",
|
|
95
95
|
role: "tab",
|
|
96
96
|
"aria-selected": Boolean(isActive),
|
|
97
|
-
className: classNames(styles$
|
|
97
|
+
className: classNames(styles$w.badgeTabsItem, styles$w[mode], className),
|
|
98
98
|
...props,
|
|
99
99
|
children
|
|
100
100
|
}
|
|
@@ -102,12 +102,12 @@ function BadgeTabsItem({ className, children, isActive, mode = "primary", ...pro
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
const badgeTabsRoot = "_badgeTabsRoot_1qkat_2";
|
|
105
|
-
const styles$
|
|
105
|
+
const styles$v = {
|
|
106
106
|
badgeTabsRoot: badgeTabsRoot
|
|
107
107
|
};
|
|
108
108
|
|
|
109
109
|
function BadgeTabsRoot({ className, children, ...props }) {
|
|
110
|
-
return /* @__PURE__ */ jsx("div", { role: "tablist", className: classNames(styles$
|
|
110
|
+
return /* @__PURE__ */ jsx("div", { role: "tablist", className: classNames(styles$v.badgeTabsRoot, className), ...props, children });
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
function BadgeTabs(props) {
|
|
@@ -1064,7 +1064,7 @@ function IconXMarkCircle(props) {
|
|
|
1064
1064
|
const breadcrumbs = "_breadcrumbs_1bfmb_2";
|
|
1065
1065
|
const breadcrumbsItem = "_breadcrumbsItem_1bfmb_8";
|
|
1066
1066
|
const defaultSeparator = "_defaultSeparator_1bfmb_14";
|
|
1067
|
-
const styles$
|
|
1067
|
+
const styles$u = {
|
|
1068
1068
|
breadcrumbs: breadcrumbs,
|
|
1069
1069
|
breadcrumbsItem: breadcrumbsItem,
|
|
1070
1070
|
defaultSeparator: defaultSeparator
|
|
@@ -1113,7 +1113,7 @@ function Slot({
|
|
|
1113
1113
|
}
|
|
1114
1114
|
|
|
1115
1115
|
const breadcrumbItem = "_breadcrumbItem_cua4v_2";
|
|
1116
|
-
const styles$
|
|
1116
|
+
const styles$t = {
|
|
1117
1117
|
breadcrumbItem: breadcrumbItem
|
|
1118
1118
|
};
|
|
1119
1119
|
|
|
@@ -1124,7 +1124,7 @@ function BreadcrumbItem({ children, className, isActive, asChild, ...props }) {
|
|
|
1124
1124
|
{
|
|
1125
1125
|
"data-active": isActive,
|
|
1126
1126
|
"data-disabled": props.disabled,
|
|
1127
|
-
className: classNames(styles$
|
|
1127
|
+
className: classNames(styles$t.breadcrumbItem, className),
|
|
1128
1128
|
...isActive && { "aria-current": "page" },
|
|
1129
1129
|
...!asChild && { type: "button" },
|
|
1130
1130
|
...props,
|
|
@@ -1136,13 +1136,13 @@ function BreadcrumbItem({ children, className, isActive, asChild, ...props }) {
|
|
|
1136
1136
|
function Breadcrumbs({
|
|
1137
1137
|
className,
|
|
1138
1138
|
children,
|
|
1139
|
-
separator = /* @__PURE__ */ jsx(IconChevron, { className: styles$
|
|
1139
|
+
separator = /* @__PURE__ */ jsx(IconChevron, { className: styles$u.defaultSeparator })
|
|
1140
1140
|
}) {
|
|
1141
1141
|
const childrenArray = Array.isArray(children) ? children : [children];
|
|
1142
1142
|
const lastIndex = childrenArray.length - 1;
|
|
1143
|
-
return /* @__PURE__ */ jsx("nav", { "aria-label": "breadcrumb", className, children: /* @__PURE__ */ jsx("ol", { className: styles$
|
|
1144
|
-
/* @__PURE__ */ jsx("li", { className: styles$
|
|
1145
|
-
index < lastIndex && /* @__PURE__ */ jsx("li", { className: styles$
|
|
1143
|
+
return /* @__PURE__ */ jsx("nav", { "aria-label": "breadcrumb", className, children: /* @__PURE__ */ jsx("ol", { className: styles$u.breadcrumbs, children: childrenArray.map((item, index) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1144
|
+
/* @__PURE__ */ jsx("li", { className: styles$u.breadcrumbsItem, children: item }),
|
|
1145
|
+
index < lastIndex && /* @__PURE__ */ jsx("li", { className: styles$u.breadcrumbsItem, "aria-hidden": "true", children: separator })
|
|
1146
1146
|
] }, index)) }) });
|
|
1147
1147
|
}
|
|
1148
1148
|
Breadcrumbs.Item = BreadcrumbItem;
|
|
@@ -1157,7 +1157,7 @@ const neutral$2 = "_neutral_1waqk_78";
|
|
|
1157
1157
|
const lg$6 = "_lg_1waqk_145";
|
|
1158
1158
|
const md$9 = "_md_1waqk_153";
|
|
1159
1159
|
const sm$4 = "_sm_1waqk_161";
|
|
1160
|
-
const styles$
|
|
1160
|
+
const styles$s = {
|
|
1161
1161
|
button: button,
|
|
1162
1162
|
accent: accent$2,
|
|
1163
1163
|
primary: primary$2,
|
|
@@ -1175,7 +1175,7 @@ const accent$1 = "_accent_o8iku_10";
|
|
|
1175
1175
|
const neutral$1 = "_neutral_o8iku_22";
|
|
1176
1176
|
const lg$5 = "_lg_o8iku_41";
|
|
1177
1177
|
const md$8 = "_md_o8iku_46";
|
|
1178
|
-
const styles$
|
|
1178
|
+
const styles$r = {
|
|
1179
1179
|
buttonFunction: buttonFunction,
|
|
1180
1180
|
accent: accent$1,
|
|
1181
1181
|
neutral: neutral$1,
|
|
@@ -1195,7 +1195,7 @@ function ButtonFunction({
|
|
|
1195
1195
|
return /* @__PURE__ */ jsx(
|
|
1196
1196
|
Component,
|
|
1197
1197
|
{
|
|
1198
|
-
className: classNames(styles$
|
|
1198
|
+
className: classNames(styles$r.buttonFunction, styles$r[color], styles$r[size], className),
|
|
1199
1199
|
...props.disabled && { "data-disabled": true },
|
|
1200
1200
|
...!asChild && { type: "button" },
|
|
1201
1201
|
...props,
|
|
@@ -1217,7 +1217,7 @@ function Button({
|
|
|
1217
1217
|
return /* @__PURE__ */ jsx(
|
|
1218
1218
|
Component,
|
|
1219
1219
|
{
|
|
1220
|
-
className: classNames(styles$
|
|
1220
|
+
className: classNames(styles$s.button, styles$s[color], styles$s[size], styles$s[mode], className),
|
|
1221
1221
|
...!asChild && { type: "button" },
|
|
1222
1222
|
...props,
|
|
1223
1223
|
children
|
|
@@ -1229,7 +1229,7 @@ Button.Function = ButtonFunction;
|
|
|
1229
1229
|
const checkboxWrapper = "_checkboxWrapper_k1shg_2";
|
|
1230
1230
|
const icon$2 = "_icon_k1shg_23";
|
|
1231
1231
|
const checkbox = "_checkbox_k1shg_2";
|
|
1232
|
-
const styles$
|
|
1232
|
+
const styles$q = {
|
|
1233
1233
|
checkboxWrapper: checkboxWrapper,
|
|
1234
1234
|
icon: icon$2,
|
|
1235
1235
|
checkbox: checkbox
|
|
@@ -1242,11 +1242,11 @@ function Checkbox({ className, label, indeterminate, ...props }) {
|
|
|
1242
1242
|
{
|
|
1243
1243
|
"data-disabled": `${Boolean(props.disabled)}`,
|
|
1244
1244
|
"data-state": dataState,
|
|
1245
|
-
className: classNames(styles$
|
|
1245
|
+
className: classNames(styles$q.checkboxWrapper, className),
|
|
1246
1246
|
children: [
|
|
1247
|
-
dataState === "checked" && /* @__PURE__ */ jsx(IconCheck, { "data-disabled": `${Boolean(props.disabled)}`, className: styles$
|
|
1248
|
-
dataState === "indeterminate" && /* @__PURE__ */ jsx(IconMinus, { "data-disabled": `${Boolean(props.disabled)}`, className: styles$
|
|
1249
|
-
/* @__PURE__ */ jsx("input", { "data-state": dataState, type: "checkbox", className: styles$
|
|
1247
|
+
dataState === "checked" && /* @__PURE__ */ jsx(IconCheck, { "data-disabled": `${Boolean(props.disabled)}`, className: styles$q.icon }),
|
|
1248
|
+
dataState === "indeterminate" && /* @__PURE__ */ jsx(IconMinus, { "data-disabled": `${Boolean(props.disabled)}`, className: styles$q.icon }),
|
|
1249
|
+
/* @__PURE__ */ jsx("input", { "data-state": dataState, type: "checkbox", className: styles$q.checkbox, ...props }),
|
|
1250
1250
|
label
|
|
1251
1251
|
]
|
|
1252
1252
|
}
|
|
@@ -1254,7 +1254,7 @@ function Checkbox({ className, label, indeterminate, ...props }) {
|
|
|
1254
1254
|
}
|
|
1255
1255
|
|
|
1256
1256
|
const chip = "_chip_dj4kw_2";
|
|
1257
|
-
const styles$
|
|
1257
|
+
const styles$p = {
|
|
1258
1258
|
chip: chip
|
|
1259
1259
|
};
|
|
1260
1260
|
|
|
@@ -1262,7 +1262,7 @@ function Chip({ isSelected, children, className, disabled, ...props }) {
|
|
|
1262
1262
|
return /* @__PURE__ */ jsx(
|
|
1263
1263
|
"div",
|
|
1264
1264
|
{
|
|
1265
|
-
className: classNames(styles$
|
|
1265
|
+
className: classNames(styles$p.chip, className),
|
|
1266
1266
|
"data-selected": isSelected,
|
|
1267
1267
|
"data-disabled": disabled,
|
|
1268
1268
|
"aria-disabled": disabled,
|
|
@@ -1280,7 +1280,7 @@ const accent = "_accent_ww0fb_37";
|
|
|
1280
1280
|
const neutral = "_neutral_ww0fb_42";
|
|
1281
1281
|
const secondary$2 = "_secondary_ww0fb_47";
|
|
1282
1282
|
const white = "_white_ww0fb_52";
|
|
1283
|
-
const styles$
|
|
1283
|
+
const styles$o = {
|
|
1284
1284
|
root: root$1,
|
|
1285
1285
|
lg: lg$4,
|
|
1286
1286
|
md: md$7,
|
|
@@ -1292,7 +1292,7 @@ const styles$n = {
|
|
|
1292
1292
|
};
|
|
1293
1293
|
|
|
1294
1294
|
function Counter({ className, size = "lg", color = "red", ...props }) {
|
|
1295
|
-
return /* @__PURE__ */ jsx("div", { className: classNames(styles$
|
|
1295
|
+
return /* @__PURE__ */ jsx("div", { className: classNames(styles$o.root, styles$o[size], styles$o[color], className), ...props });
|
|
1296
1296
|
}
|
|
1297
1297
|
|
|
1298
1298
|
const LOCALE_FIRST_DAY_OF_WEEK = {
|
|
@@ -1302,7 +1302,7 @@ const LOCALE_FIRST_DAY_OF_WEEK = {
|
|
|
1302
1302
|
|
|
1303
1303
|
const datePickerCellWrapper = "_datePickerCellWrapper_np1gx_2";
|
|
1304
1304
|
const datePickerCell = "_datePickerCell_np1gx_2";
|
|
1305
|
-
const styles$
|
|
1305
|
+
const styles$n = {
|
|
1306
1306
|
datePickerCellWrapper: datePickerCellWrapper,
|
|
1307
1307
|
datePickerCell: datePickerCell,
|
|
1308
1308
|
"radius-none": "_radius-none_np1gx_83",
|
|
@@ -1312,10 +1312,10 @@ const styles$m = {
|
|
|
1312
1312
|
};
|
|
1313
1313
|
|
|
1314
1314
|
function DatePickerCell({ children, className, state, isCurrent, radius = "both", ...props }) {
|
|
1315
|
-
return /* @__PURE__ */ jsx("div", { className: classNames(styles$
|
|
1315
|
+
return /* @__PURE__ */ jsx("div", { className: classNames(styles$n.datePickerCellWrapper, styles$n[`radius-${radius}`]), "data-state": state, children: /* @__PURE__ */ jsx(
|
|
1316
1316
|
"button",
|
|
1317
1317
|
{
|
|
1318
|
-
className: classNames(styles$
|
|
1318
|
+
className: classNames(styles$n.datePickerCell, styles$n[`radius-${radius}`], className),
|
|
1319
1319
|
type: "button",
|
|
1320
1320
|
role: "gridcell",
|
|
1321
1321
|
"aria-selected": state === "selected",
|
|
@@ -1385,7 +1385,7 @@ function normalizeDateRange(firstDate, secondDate) {
|
|
|
1385
1385
|
const datePickerField = "_datePickerField_1qk8s_2";
|
|
1386
1386
|
const datePickerFieldCalendar = "_datePickerFieldCalendar_1qk8s_8";
|
|
1387
1387
|
const datePickerFieldWeek = "_datePickerFieldWeek_1qk8s_14";
|
|
1388
|
-
const styles$
|
|
1388
|
+
const styles$m = {
|
|
1389
1389
|
datePickerField: datePickerField,
|
|
1390
1390
|
datePickerFieldCalendar: datePickerFieldCalendar,
|
|
1391
1391
|
datePickerFieldWeek: datePickerFieldWeek
|
|
@@ -1400,9 +1400,9 @@ function DatePickerField({
|
|
|
1400
1400
|
firstDayOfWeek = LOCALE_FIRST_DAY_OF_WEEK.ru
|
|
1401
1401
|
}) {
|
|
1402
1402
|
const weeks = useMemo(() => getCalendarGrid(month, year, firstDayOfWeek), [month, year, firstDayOfWeek]);
|
|
1403
|
-
return /* @__PURE__ */ jsxs("div", { className: classNames(styles$
|
|
1403
|
+
return /* @__PURE__ */ jsxs("div", { className: classNames(styles$m.datePickerField, className), role: "grid", children: [
|
|
1404
1404
|
renderWeekdays?.(),
|
|
1405
|
-
/* @__PURE__ */ jsx("div", { className: styles$
|
|
1405
|
+
/* @__PURE__ */ jsx("div", { className: styles$m.datePickerFieldCalendar, role: "rowgroup", children: weeks.map((week, weekIndex) => /* @__PURE__ */ jsx("div", { className: styles$m.datePickerFieldWeek, role: "row", "aria-rowindex": weekIndex + 1, children: week.map((day, dayIndex) => /* @__PURE__ */ jsx(Slot, { role: "gridcell", "aria-colindex": dayIndex + 1, children: children(day) }, `${day.year}-${day.month}-${day.date}`)) }, weekIndex)) })
|
|
1406
1406
|
] });
|
|
1407
1407
|
}
|
|
1408
1408
|
|
|
@@ -1443,13 +1443,13 @@ const I18N_MONTH_LABELS = {
|
|
|
1443
1443
|
|
|
1444
1444
|
const datePickerWeekdays = "_datePickerWeekdays_p8tsm_2";
|
|
1445
1445
|
const datePickerWeekday = "_datePickerWeekday_p8tsm_2";
|
|
1446
|
-
const styles$
|
|
1446
|
+
const styles$l = {
|
|
1447
1447
|
datePickerWeekdays: datePickerWeekdays,
|
|
1448
1448
|
datePickerWeekday: datePickerWeekday
|
|
1449
1449
|
};
|
|
1450
1450
|
|
|
1451
1451
|
function DatePickerWeekDays({ className, locale = "ru" }) {
|
|
1452
|
-
return /* @__PURE__ */ jsx("div", { className: classNames(styles$
|
|
1452
|
+
return /* @__PURE__ */ jsx("div", { className: classNames(styles$l.datePickerWeekdays, className), role: "row", children: I18N_WEEKDAY_LABELS[locale].map((label) => /* @__PURE__ */ jsx("div", { className: styles$l.datePickerWeekday, role: "columnheader", children: label }, label)) });
|
|
1453
1453
|
}
|
|
1454
1454
|
|
|
1455
1455
|
function DatePicker() {
|
|
@@ -1685,21 +1685,21 @@ const DROPDOWN_PORTAL_SIDE_CONFIG = {
|
|
|
1685
1685
|
};
|
|
1686
1686
|
|
|
1687
1687
|
const dropdownContent = "_dropdownContent_12tkb_2";
|
|
1688
|
-
const styles$
|
|
1688
|
+
const styles$k = {
|
|
1689
1689
|
dropdownContent: dropdownContent
|
|
1690
1690
|
};
|
|
1691
1691
|
|
|
1692
1692
|
function DropdownContent({ className, children, ...props }) {
|
|
1693
|
-
return /* @__PURE__ */ jsx("div", { className: classNames(styles$
|
|
1693
|
+
return /* @__PURE__ */ jsx("div", { className: classNames(styles$k.dropdownContent, className), ...props, children });
|
|
1694
1694
|
}
|
|
1695
1695
|
|
|
1696
1696
|
const dropdownItem = "_dropdownItem_msc4i_2";
|
|
1697
|
-
const styles$
|
|
1697
|
+
const styles$j = {
|
|
1698
1698
|
dropdownItem: dropdownItem
|
|
1699
1699
|
};
|
|
1700
1700
|
|
|
1701
1701
|
function DropdownItem({ className, children, disabled, ...props }) {
|
|
1702
|
-
return /* @__PURE__ */ jsx("div", { className: classNames(styles$
|
|
1702
|
+
return /* @__PURE__ */ jsx("div", { className: classNames(styles$j.dropdownItem, className), role: "menuitem", "data-disabled": disabled, ...props, children });
|
|
1703
1703
|
}
|
|
1704
1704
|
|
|
1705
1705
|
const CLICK_OUTSIDE_IGNORE_DATA_NAME = "data-clickoutside-ignore";
|
|
@@ -2127,7 +2127,7 @@ function useTriggerHandlersByEventTrigger() {
|
|
|
2127
2127
|
}
|
|
2128
2128
|
|
|
2129
2129
|
const dropdownPortal = "_dropdownPortal_p3tdk_2";
|
|
2130
|
-
const styles$
|
|
2130
|
+
const styles$i = {
|
|
2131
2131
|
dropdownPortal: dropdownPortal
|
|
2132
2132
|
};
|
|
2133
2133
|
|
|
@@ -2167,7 +2167,7 @@ function DropdownPortal({
|
|
|
2167
2167
|
...style
|
|
2168
2168
|
},
|
|
2169
2169
|
ref: portalRef,
|
|
2170
|
-
className: classNames(styles$
|
|
2170
|
+
className: classNames(styles$i.dropdownPortal, className),
|
|
2171
2171
|
...handlersByTrigger[triggerEvent],
|
|
2172
2172
|
...isNested && { [CLICK_OUTSIDE_IGNORE_DATA_NAME]: "true" },
|
|
2173
2173
|
children
|
|
@@ -2220,7 +2220,7 @@ const BOUNDARY_PAGES = 2;
|
|
|
2220
2220
|
const paginationItem = "_paginationItem_1ll6p_2";
|
|
2221
2221
|
const md$6 = "_md_1ll6p_46";
|
|
2222
2222
|
const sm$3 = "_sm_1ll6p_60";
|
|
2223
|
-
const styles$
|
|
2223
|
+
const styles$h = {
|
|
2224
2224
|
paginationItem: paginationItem,
|
|
2225
2225
|
md: md$6,
|
|
2226
2226
|
sm: sm$3
|
|
@@ -2232,7 +2232,7 @@ function PaginationItem({ className, children, size = "md", isCurrent, ...props
|
|
|
2232
2232
|
{
|
|
2233
2233
|
type: "button",
|
|
2234
2234
|
...isCurrent && { "aria-current": "page" },
|
|
2235
|
-
className: classNames(styles$
|
|
2235
|
+
className: classNames(styles$h.paginationItem, styles$h[size], className),
|
|
2236
2236
|
...props,
|
|
2237
2237
|
children
|
|
2238
2238
|
}
|
|
@@ -2269,7 +2269,7 @@ function getVisiblePages(totalPages, maxVisiblePagesWithEllipsis, currentPage) {
|
|
|
2269
2269
|
const paginationRoot = "_paginationRoot_c5fwx_2";
|
|
2270
2270
|
const paginationList = "_paginationList_c5fwx_7";
|
|
2271
2271
|
const arrowLeft = "_arrowLeft_c5fwx_13";
|
|
2272
|
-
const styles$
|
|
2272
|
+
const styles$g = {
|
|
2273
2273
|
paginationRoot: paginationRoot,
|
|
2274
2274
|
paginationList: paginationList,
|
|
2275
2275
|
arrowLeft: arrowLeft
|
|
@@ -2296,9 +2296,9 @@ function PaginationRoot({
|
|
|
2296
2296
|
{
|
|
2297
2297
|
"aria-label": "pagination navigation",
|
|
2298
2298
|
role: "navigation",
|
|
2299
|
-
className: classNames(styles$
|
|
2299
|
+
className: classNames(styles$g.paginationRoot, className),
|
|
2300
2300
|
...props,
|
|
2301
|
-
children: /* @__PURE__ */ jsxs("ul", { className: styles$
|
|
2301
|
+
children: /* @__PURE__ */ jsxs("ul", { className: styles$g.paginationList, children: [
|
|
2302
2302
|
showArrows && /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(
|
|
2303
2303
|
PaginationItem$1,
|
|
2304
2304
|
{
|
|
@@ -2306,7 +2306,7 @@ function PaginationRoot({
|
|
|
2306
2306
|
onClick: () => onPageChange(currentPage - 1),
|
|
2307
2307
|
disabled: isFirstPage,
|
|
2308
2308
|
size,
|
|
2309
|
-
children: /* @__PURE__ */ jsx(IconChevron$1, { className: styles$
|
|
2309
|
+
children: /* @__PURE__ */ jsx(IconChevron$1, { className: styles$g.arrowLeft })
|
|
2310
2310
|
}
|
|
2311
2311
|
) }),
|
|
2312
2312
|
visiblePages.map((page, index) => /* @__PURE__ */ jsx("li", { children: page === ELLIPSIS_SYMBOL ? /* @__PURE__ */ jsx(PaginationItem$1, { "aria-label": "More pages", disabled: true, size, children: /* @__PURE__ */ jsx(Ellipsis, {}) }) : /* @__PURE__ */ jsx(
|
|
@@ -2342,15 +2342,15 @@ Pagination.Item = PaginationItem;
|
|
|
2342
2342
|
const root = "_root_33gbh_2";
|
|
2343
2343
|
const segment = "_segment_33gbh_10";
|
|
2344
2344
|
const flexGrow = "_flexGrow_33gbh_19";
|
|
2345
|
-
const fill = "_fill_33gbh_23";
|
|
2345
|
+
const fill$1 = "_fill_33gbh_23";
|
|
2346
2346
|
const trail = "_trail_33gbh_28";
|
|
2347
2347
|
const sm$2 = "_sm_33gbh_32";
|
|
2348
2348
|
const md$5 = "_md_33gbh_36";
|
|
2349
|
-
const styles$
|
|
2349
|
+
const styles$f = {
|
|
2350
2350
|
root: root,
|
|
2351
2351
|
segment: segment,
|
|
2352
2352
|
flexGrow: flexGrow,
|
|
2353
|
-
fill: fill,
|
|
2353
|
+
fill: fill$1,
|
|
2354
2354
|
trail: trail,
|
|
2355
2355
|
sm: sm$2,
|
|
2356
2356
|
md: md$5
|
|
@@ -2367,7 +2367,7 @@ function ProgressBarLinear({
|
|
|
2367
2367
|
return /* @__PURE__ */ jsxs(
|
|
2368
2368
|
"div",
|
|
2369
2369
|
{
|
|
2370
|
-
className: classNames(styles$
|
|
2370
|
+
className: classNames(styles$f.root, styles$f[size], className),
|
|
2371
2371
|
role: "progressbar",
|
|
2372
2372
|
"aria-valuenow": clampedPercent,
|
|
2373
2373
|
"aria-valuemin": 0,
|
|
@@ -2379,14 +2379,14 @@ function ProgressBarLinear({
|
|
|
2379
2379
|
(Boolean(clampedPercent) || showFillOnZero) && /* @__PURE__ */ jsx(
|
|
2380
2380
|
"div",
|
|
2381
2381
|
{
|
|
2382
|
-
className: classNames(styles$
|
|
2382
|
+
className: classNames(styles$f.segment, styles$f.fill),
|
|
2383
2383
|
style: {
|
|
2384
2384
|
"--clamped-percent": `${clampedPercent}%`
|
|
2385
2385
|
},
|
|
2386
2386
|
"aria-hidden": "true"
|
|
2387
2387
|
}
|
|
2388
2388
|
),
|
|
2389
|
-
clampedPercent < 100 && /* @__PURE__ */ jsx("div", { className: classNames(styles$
|
|
2389
|
+
clampedPercent < 100 && /* @__PURE__ */ jsx("div", { className: classNames(styles$f.segment, styles$f.flexGrow, styles$f.trail), "aria-hidden": "true" })
|
|
2390
2390
|
]
|
|
2391
2391
|
}
|
|
2392
2392
|
);
|
|
@@ -2406,7 +2406,7 @@ function ProgressBarSteps({
|
|
|
2406
2406
|
return /* @__PURE__ */ jsx(
|
|
2407
2407
|
"div",
|
|
2408
2408
|
{
|
|
2409
|
-
className: classNames(styles$
|
|
2409
|
+
className: classNames(styles$f.segment, styles$f.flexGrow, isFilled ? styles$f.fill : styles$f.trail),
|
|
2410
2410
|
"aria-hidden": "true"
|
|
2411
2411
|
},
|
|
2412
2412
|
index
|
|
@@ -2415,7 +2415,7 @@ function ProgressBarSteps({
|
|
|
2415
2415
|
return /* @__PURE__ */ jsx(
|
|
2416
2416
|
"div",
|
|
2417
2417
|
{
|
|
2418
|
-
className: classNames(styles$
|
|
2418
|
+
className: classNames(styles$f.root, styles$f[size], className),
|
|
2419
2419
|
role: "progressbar",
|
|
2420
2420
|
"aria-valuenow": clampedCurrent,
|
|
2421
2421
|
"aria-valuemin": 0,
|
|
@@ -2435,14 +2435,14 @@ ProgressBar.Steps = ProgressBarSteps;
|
|
|
2435
2435
|
|
|
2436
2436
|
const radioWrapper = "_radioWrapper_13xie_2";
|
|
2437
2437
|
const radio = "_radio_13xie_2";
|
|
2438
|
-
const styles$
|
|
2438
|
+
const styles$e = {
|
|
2439
2439
|
radioWrapper: radioWrapper,
|
|
2440
2440
|
radio: radio
|
|
2441
2441
|
};
|
|
2442
2442
|
|
|
2443
2443
|
function RadioButton({ className, label, ...props }) {
|
|
2444
|
-
return /* @__PURE__ */ jsxs("label", { "data-disabled": `${Boolean(props.disabled)}`, className: classNames(styles$
|
|
2445
|
-
/* @__PURE__ */ jsx("input", { type: "radio", className: styles$
|
|
2444
|
+
return /* @__PURE__ */ jsxs("label", { "data-disabled": `${Boolean(props.disabled)}`, className: classNames(styles$e.radioWrapper, className), children: [
|
|
2445
|
+
/* @__PURE__ */ jsx("input", { type: "radio", className: styles$e.radio, ...props }),
|
|
2446
2446
|
label
|
|
2447
2447
|
] });
|
|
2448
2448
|
}
|
|
@@ -2453,7 +2453,7 @@ const textFieldAreaWrapper = "_textFieldAreaWrapper_pia91_2";
|
|
|
2453
2453
|
const textFieldAreaLabel = "_textFieldAreaLabel_pia91_14";
|
|
2454
2454
|
const textFieldAreaLabelSuffix = "_textFieldAreaLabelSuffix_pia91_24";
|
|
2455
2455
|
const textFieldArea = "_textFieldArea_pia91_2";
|
|
2456
|
-
const styles$
|
|
2456
|
+
const styles$d = {
|
|
2457
2457
|
textFieldAreaWrapper: textFieldAreaWrapper,
|
|
2458
2458
|
textFieldAreaLabel: textFieldAreaLabel,
|
|
2459
2459
|
textFieldAreaLabelSuffix: textFieldAreaLabelSuffix,
|
|
@@ -2474,14 +2474,14 @@ function TextFieldArea({
|
|
|
2474
2474
|
"data-invalid": isInvalid,
|
|
2475
2475
|
"aria-invalid": isInvalid,
|
|
2476
2476
|
"data-element": "field",
|
|
2477
|
-
className: classNames(styles$
|
|
2477
|
+
className: classNames(styles$d.textFieldArea, className),
|
|
2478
2478
|
placeholder,
|
|
2479
2479
|
...props
|
|
2480
2480
|
}
|
|
2481
2481
|
);
|
|
2482
|
-
return floatingLabel ? /* @__PURE__ */ jsxs("div", { className: styles$
|
|
2483
|
-
/* @__PURE__ */ jsx("label", { htmlFor: props.id, className: styles$
|
|
2484
|
-
floatingLabelSuffix && /* @__PURE__ */ jsx("span", { className: styles$
|
|
2482
|
+
return floatingLabel ? /* @__PURE__ */ jsxs("div", { className: styles$d.textFieldAreaWrapper, children: [
|
|
2483
|
+
/* @__PURE__ */ jsx("label", { htmlFor: props.id, className: styles$d.textFieldAreaLabel, "data-element": "label", children: floatingLabel }),
|
|
2484
|
+
floatingLabelSuffix && /* @__PURE__ */ jsx("span", { className: styles$d.textFieldAreaLabelSuffix, "data-element": "label-suffix", children: floatingLabelSuffix }),
|
|
2485
2485
|
textFieldArea
|
|
2486
2486
|
] }) : textFieldArea;
|
|
2487
2487
|
}
|
|
@@ -2489,7 +2489,7 @@ function TextFieldArea({
|
|
|
2489
2489
|
const textFieldInputWrapper = "_textFieldInputWrapper_1m8sa_2";
|
|
2490
2490
|
const textFieldInputLabel = "_textFieldInputLabel_1m8sa_9";
|
|
2491
2491
|
const textFieldInput = "_textFieldInput_1m8sa_2";
|
|
2492
|
-
const styles$
|
|
2492
|
+
const styles$c = {
|
|
2493
2493
|
textFieldInputWrapper: textFieldInputWrapper,
|
|
2494
2494
|
textFieldInputLabel: textFieldInputLabel,
|
|
2495
2495
|
textFieldInput: textFieldInput
|
|
@@ -2508,37 +2508,37 @@ function TextFieldInput({
|
|
|
2508
2508
|
"data-invalid": isInvalid,
|
|
2509
2509
|
"aria-invalid": isInvalid,
|
|
2510
2510
|
"data-element": "field",
|
|
2511
|
-
className: classNames(styles$
|
|
2511
|
+
className: classNames(styles$c.textFieldInput, className),
|
|
2512
2512
|
placeholder,
|
|
2513
2513
|
...props
|
|
2514
2514
|
}
|
|
2515
2515
|
);
|
|
2516
|
-
return floatingLabel ? /* @__PURE__ */ jsxs("div", { className: styles$
|
|
2517
|
-
/* @__PURE__ */ jsx("label", { htmlFor: props.id, className: styles$
|
|
2516
|
+
return floatingLabel ? /* @__PURE__ */ jsxs("div", { className: styles$c.textFieldInputWrapper, children: [
|
|
2517
|
+
/* @__PURE__ */ jsx("label", { htmlFor: props.id, className: styles$c.textFieldInputLabel, "data-element": "label", children: floatingLabel }),
|
|
2518
2518
|
textFieldInput
|
|
2519
2519
|
] }) : textFieldInput;
|
|
2520
2520
|
}
|
|
2521
2521
|
|
|
2522
|
-
const textFieldLabel = "
|
|
2523
|
-
const styles$
|
|
2522
|
+
const textFieldLabel = "_textFieldLabel_1xy6x_2";
|
|
2523
|
+
const styles$b = {
|
|
2524
2524
|
textFieldLabel: textFieldLabel
|
|
2525
2525
|
};
|
|
2526
2526
|
|
|
2527
2527
|
function TextFieldLabel({ className, children, isRequired, ...props }) {
|
|
2528
|
-
return /* @__PURE__ */ jsx("label", { className: classNames(styles$
|
|
2528
|
+
return /* @__PURE__ */ jsx("label", { className: classNames(styles$b.textFieldLabel, className), "data-required": isRequired, ...props, children });
|
|
2529
2529
|
}
|
|
2530
2530
|
|
|
2531
2531
|
const textFieldRoot = "_textFieldRoot_cs7mv_2";
|
|
2532
2532
|
const lg$3 = "_lg_cs7mv_38";
|
|
2533
2533
|
const md$4 = "_md_cs7mv_70";
|
|
2534
|
-
const styles$
|
|
2534
|
+
const styles$a = {
|
|
2535
2535
|
textFieldRoot: textFieldRoot,
|
|
2536
2536
|
lg: lg$3,
|
|
2537
2537
|
md: md$4
|
|
2538
2538
|
};
|
|
2539
2539
|
|
|
2540
2540
|
function TextFieldRoot({ className, size = "lg", ...props }) {
|
|
2541
|
-
return /* @__PURE__ */ jsx("div", { className: classNames(styles$
|
|
2541
|
+
return /* @__PURE__ */ jsx("div", { className: classNames(styles$a.textFieldRoot, styles$a[size], className), ...props });
|
|
2542
2542
|
}
|
|
2543
2543
|
|
|
2544
2544
|
function TextField() {
|
|
@@ -2553,7 +2553,7 @@ const custom = "_custom_gh87y_15";
|
|
|
2553
2553
|
const icon$1 = "_icon_gh87y_25";
|
|
2554
2554
|
const inputCustomWrapper = "_inputCustomWrapper_gh87y_34";
|
|
2555
2555
|
const customButton = "_customButton_gh87y_49";
|
|
2556
|
-
const styles$
|
|
2556
|
+
const styles$9 = {
|
|
2557
2557
|
search: search,
|
|
2558
2558
|
"default": "_default_gh87y_10",
|
|
2559
2559
|
custom: custom,
|
|
@@ -2579,7 +2579,7 @@ function Search(props) {
|
|
|
2579
2579
|
value && /* @__PURE__ */ jsx(
|
|
2580
2580
|
IconXMark.Small,
|
|
2581
2581
|
{
|
|
2582
|
-
className: styles$
|
|
2582
|
+
className: styles$9.icon,
|
|
2583
2583
|
"aria-label": "clear search",
|
|
2584
2584
|
role: "button",
|
|
2585
2585
|
onClick: () => {
|
|
@@ -2593,13 +2593,13 @@ function Search(props) {
|
|
|
2593
2593
|
}
|
|
2594
2594
|
)
|
|
2595
2595
|
] });
|
|
2596
|
-
return /* @__PURE__ */ jsxs(TextField.Root, { size: "md", className: classNames(styles$
|
|
2596
|
+
return /* @__PURE__ */ jsxs(TextField.Root, { size: "md", className: classNames(styles$9.search, styles$9[mode], className), children: [
|
|
2597
2597
|
mode === "default" && /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
2598
|
-
/* @__PURE__ */ jsx(IconSearch, { className: styles$
|
|
2598
|
+
/* @__PURE__ */ jsx(IconSearch, { className: styles$9.icon, "data-element": "icon" }),
|
|
2599
2599
|
inputField
|
|
2600
2600
|
] }),
|
|
2601
2601
|
mode === "custom" && /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
2602
|
-
/* @__PURE__ */ jsx("div", { className: styles$
|
|
2602
|
+
/* @__PURE__ */ jsx("div", { className: styles$9.inputCustomWrapper, children: inputField }),
|
|
2603
2603
|
/* @__PURE__ */ jsx(
|
|
2604
2604
|
"button",
|
|
2605
2605
|
{
|
|
@@ -2607,11 +2607,11 @@ function Search(props) {
|
|
|
2607
2607
|
type: "button",
|
|
2608
2608
|
onClick: props.onSearch,
|
|
2609
2609
|
"data-element": "custom-button",
|
|
2610
|
-
className: styles$
|
|
2610
|
+
className: styles$9.customButton,
|
|
2611
2611
|
style: {
|
|
2612
2612
|
"--custom-button-width": `${props.buttonWidth ?? DEFAULT_CUSTOM_SEARCH_BUTTON_WIDTH}px`
|
|
2613
2613
|
},
|
|
2614
|
-
children: /* @__PURE__ */ jsx(IconSearch, { className: classNames(styles$
|
|
2614
|
+
children: /* @__PURE__ */ jsx(IconSearch, { className: classNames(styles$9.icon), "data-element": "icon" })
|
|
2615
2615
|
}
|
|
2616
2616
|
)
|
|
2617
2617
|
] })
|
|
@@ -2637,7 +2637,7 @@ function useSegmentControlContext() {
|
|
|
2637
2637
|
const segmentControlItem = "_segmentControlItem_178px_2";
|
|
2638
2638
|
const lg$2 = "_lg_178px_23";
|
|
2639
2639
|
const md$3 = "_md_178px_28";
|
|
2640
|
-
const styles$
|
|
2640
|
+
const styles$8 = {
|
|
2641
2641
|
segmentControlItem: segmentControlItem,
|
|
2642
2642
|
lg: lg$2,
|
|
2643
2643
|
md: md$3
|
|
@@ -2653,7 +2653,7 @@ function SegmentControlItem({ className, children, value, ...props }) {
|
|
|
2653
2653
|
"aria-checked": value === activeValue,
|
|
2654
2654
|
"data-state": value === activeValue ? "on" : "off",
|
|
2655
2655
|
"data-value": value,
|
|
2656
|
-
className: classNames(styles$
|
|
2656
|
+
className: classNames(styles$8.segmentControlItem, styles$8[size], className),
|
|
2657
2657
|
...props,
|
|
2658
2658
|
children
|
|
2659
2659
|
}
|
|
@@ -2690,7 +2690,7 @@ const showAfterDelay = "_showAfterDelay_pulca_1";
|
|
|
2690
2690
|
const lg$1 = "_lg_pulca_19";
|
|
2691
2691
|
const md$2 = "_md_pulca_23";
|
|
2692
2692
|
const indicator$1 = "_indicator_pulca_28";
|
|
2693
|
-
const styles$
|
|
2693
|
+
const styles$7 = {
|
|
2694
2694
|
segmentControlRoot: segmentControlRoot,
|
|
2695
2695
|
showAfterDelay: showAfterDelay,
|
|
2696
2696
|
lg: lg$1,
|
|
@@ -2705,11 +2705,11 @@ function SegmentControlRoot({ className, children, value, size = "md", ...props
|
|
|
2705
2705
|
{
|
|
2706
2706
|
ref: rootRef,
|
|
2707
2707
|
role: "radiogroup",
|
|
2708
|
-
className: classNames(styles$
|
|
2708
|
+
className: classNames(styles$7.segmentControlRoot, styles$7[size], className),
|
|
2709
2709
|
...props,
|
|
2710
2710
|
children: [
|
|
2711
2711
|
children,
|
|
2712
|
-
/* @__PURE__ */ jsx("div", { className: classNames(styles$
|
|
2712
|
+
/* @__PURE__ */ jsx("div", { className: classNames(styles$7.indicator, styles$7[size]), style: indicatorStyle })
|
|
2713
2713
|
]
|
|
2714
2714
|
}
|
|
2715
2715
|
) });
|
|
@@ -2720,6 +2720,302 @@ function SegmentControl(props) {
|
|
|
2720
2720
|
}
|
|
2721
2721
|
SegmentControl.Item = SegmentControlItem;
|
|
2722
2722
|
|
|
2723
|
+
const SLIDER_DEFAULT_MIN = 0;
|
|
2724
|
+
const SLIDER_DEFAULT_MAX = 100;
|
|
2725
|
+
const SLIDER_DEFAULT_STEP = 1;
|
|
2726
|
+
const SLIDER_PAGE_STEP_MULTIPLIER = 10;
|
|
2727
|
+
const SLIDER_STEP_MULTIPLIER_BY_KEY = {
|
|
2728
|
+
ArrowRight: 1,
|
|
2729
|
+
ArrowUp: 1,
|
|
2730
|
+
ArrowLeft: -1,
|
|
2731
|
+
ArrowDown: -1,
|
|
2732
|
+
PageUp: SLIDER_PAGE_STEP_MULTIPLIER,
|
|
2733
|
+
PageDown: -SLIDER_PAGE_STEP_MULTIPLIER
|
|
2734
|
+
};
|
|
2735
|
+
|
|
2736
|
+
function getNearestHandleIndex(target, values) {
|
|
2737
|
+
let nearestIndex = 0;
|
|
2738
|
+
let nearestDistance = Number.POSITIVE_INFINITY;
|
|
2739
|
+
values.forEach((value, index) => {
|
|
2740
|
+
const distance = Math.abs(value - target);
|
|
2741
|
+
const isCloser = distance < nearestDistance;
|
|
2742
|
+
const isTieResolvedByDirection = distance === nearestDistance && target > value;
|
|
2743
|
+
if (isCloser || isTieResolvedByDirection) {
|
|
2744
|
+
nearestDistance = distance;
|
|
2745
|
+
nearestIndex = index;
|
|
2746
|
+
}
|
|
2747
|
+
});
|
|
2748
|
+
return nearestIndex;
|
|
2749
|
+
}
|
|
2750
|
+
|
|
2751
|
+
function getPercent(value, bounds) {
|
|
2752
|
+
const { min, max } = bounds;
|
|
2753
|
+
if (max <= min) {
|
|
2754
|
+
return 0;
|
|
2755
|
+
}
|
|
2756
|
+
return Math.min(Math.max((value - min) / (max - min) * 100, 0), 100);
|
|
2757
|
+
}
|
|
2758
|
+
|
|
2759
|
+
function getFractionLength(value) {
|
|
2760
|
+
return String(value).split(".")[1]?.length ?? 0;
|
|
2761
|
+
}
|
|
2762
|
+
function snapToStep(value, bounds) {
|
|
2763
|
+
const { min, max, step } = bounds;
|
|
2764
|
+
const clamped = Math.min(Math.max(value, min), max);
|
|
2765
|
+
if (step <= 0) {
|
|
2766
|
+
return clamped;
|
|
2767
|
+
}
|
|
2768
|
+
const snapped = min + Math.round((clamped - min) / step) * step;
|
|
2769
|
+
const precision = Math.max(getFractionLength(step), getFractionLength(min));
|
|
2770
|
+
return Number(Math.min(Math.max(snapped, min), max).toFixed(precision));
|
|
2771
|
+
}
|
|
2772
|
+
|
|
2773
|
+
function getValueFromPointer(params) {
|
|
2774
|
+
const { clientX, trackStart, trackWidth, min, max, step } = params;
|
|
2775
|
+
if (trackWidth <= 0) {
|
|
2776
|
+
return min;
|
|
2777
|
+
}
|
|
2778
|
+
const ratio = (clientX - trackStart) / trackWidth;
|
|
2779
|
+
return snapToStep(min + ratio * (max - min), { min, max, step });
|
|
2780
|
+
}
|
|
2781
|
+
|
|
2782
|
+
function normalizeMark(mark) {
|
|
2783
|
+
if (typeof mark === "number") {
|
|
2784
|
+
return { value: mark, label: mark };
|
|
2785
|
+
}
|
|
2786
|
+
return { value: mark.value, label: mark.label };
|
|
2787
|
+
}
|
|
2788
|
+
|
|
2789
|
+
function updateHandleValue(params) {
|
|
2790
|
+
const { values, index, next, min, max, step } = params;
|
|
2791
|
+
const lowerBound = values[index - 1] ?? min;
|
|
2792
|
+
const upperBound = values[index + 1] ?? max;
|
|
2793
|
+
const snapped = snapToStep(next, { min, max, step });
|
|
2794
|
+
const nextValues = [...values];
|
|
2795
|
+
nextValues[index] = Math.min(Math.max(snapped, lowerBound), upperBound);
|
|
2796
|
+
return nextValues;
|
|
2797
|
+
}
|
|
2798
|
+
|
|
2799
|
+
const slider = "_slider_vuele_2";
|
|
2800
|
+
const fill = "_fill_vuele_20";
|
|
2801
|
+
const rail = "_rail_vuele_26";
|
|
2802
|
+
const handle = "_handle_vuele_34";
|
|
2803
|
+
const mark = "_mark_vuele_39";
|
|
2804
|
+
const markDot = "_markDot_vuele_43";
|
|
2805
|
+
const track = "_track_vuele_56";
|
|
2806
|
+
const marks = "_marks_vuele_106";
|
|
2807
|
+
const styles$6 = {
|
|
2808
|
+
slider: slider,
|
|
2809
|
+
fill: fill,
|
|
2810
|
+
rail: rail,
|
|
2811
|
+
handle: handle,
|
|
2812
|
+
mark: mark,
|
|
2813
|
+
markDot: markDot,
|
|
2814
|
+
track: track,
|
|
2815
|
+
marks: marks
|
|
2816
|
+
};
|
|
2817
|
+
|
|
2818
|
+
function SliderMarks({ marks, min, max, activeFrom, activeTo }) {
|
|
2819
|
+
return /* @__PURE__ */ jsx("div", { className: styles$6.marks, children: marks.map(({ value, label }) => {
|
|
2820
|
+
const isActive = value >= activeFrom && value <= activeTo;
|
|
2821
|
+
return /* @__PURE__ */ jsxs(
|
|
2822
|
+
"div",
|
|
2823
|
+
{
|
|
2824
|
+
"data-state": isActive ? "active" : "default",
|
|
2825
|
+
className: styles$6.mark,
|
|
2826
|
+
style: { insetInlineStart: `${getPercent(value, { min, max })}%` },
|
|
2827
|
+
children: [
|
|
2828
|
+
/* @__PURE__ */ jsx("span", { className: styles$6.markDot }),
|
|
2829
|
+
label
|
|
2830
|
+
]
|
|
2831
|
+
},
|
|
2832
|
+
value
|
|
2833
|
+
);
|
|
2834
|
+
}) });
|
|
2835
|
+
}
|
|
2836
|
+
|
|
2837
|
+
function SliderBase({
|
|
2838
|
+
values,
|
|
2839
|
+
onValuesChange,
|
|
2840
|
+
min = SLIDER_DEFAULT_MIN,
|
|
2841
|
+
max = SLIDER_DEFAULT_MAX,
|
|
2842
|
+
step = SLIDER_DEFAULT_STEP,
|
|
2843
|
+
marks,
|
|
2844
|
+
disabled,
|
|
2845
|
+
className,
|
|
2846
|
+
"aria-label": ariaLabel,
|
|
2847
|
+
"aria-labelledby": ariaLabelledBy,
|
|
2848
|
+
"aria-describedby": ariaDescribedBy,
|
|
2849
|
+
...props
|
|
2850
|
+
}) {
|
|
2851
|
+
const railRef = useRef(null);
|
|
2852
|
+
const handleRefs = useRef([]);
|
|
2853
|
+
const dragRef = useRef(null);
|
|
2854
|
+
const normalizedMarks = useMemo(() => marks?.map(normalizeMark) ?? [], [marks]);
|
|
2855
|
+
const fillFrom = values.length > 1 ? values[0] ?? min : min;
|
|
2856
|
+
const fillTo = values.at(-1) ?? min;
|
|
2857
|
+
const toPercent = (value) => getPercent(value, { min, max });
|
|
2858
|
+
const resolveKeyValue = (key, current) => {
|
|
2859
|
+
const multiplier = SLIDER_STEP_MULTIPLIER_BY_KEY[key];
|
|
2860
|
+
if (multiplier !== void 0) {
|
|
2861
|
+
return current + step * multiplier;
|
|
2862
|
+
}
|
|
2863
|
+
if (key === "Home") {
|
|
2864
|
+
return min;
|
|
2865
|
+
}
|
|
2866
|
+
return key === "End" ? max : null;
|
|
2867
|
+
};
|
|
2868
|
+
const resolveValueText = (value) => {
|
|
2869
|
+
const { label } = normalizedMarks.find((mark) => mark.value === value) ?? {};
|
|
2870
|
+
const text = typeof label === "string" || typeof label === "number" ? String(label) : void 0;
|
|
2871
|
+
return text === String(value) ? void 0 : text;
|
|
2872
|
+
};
|
|
2873
|
+
const commit = (index, next) => {
|
|
2874
|
+
const nextValues = updateHandleValue({ values, index, next, min, max, step });
|
|
2875
|
+
if (nextValues[index] === values[index]) {
|
|
2876
|
+
return;
|
|
2877
|
+
}
|
|
2878
|
+
onValuesChange(nextValues);
|
|
2879
|
+
};
|
|
2880
|
+
const readPointerValue = (clientX) => {
|
|
2881
|
+
if (!railRef.current) {
|
|
2882
|
+
return null;
|
|
2883
|
+
}
|
|
2884
|
+
const rect = railRef.current.getBoundingClientRect();
|
|
2885
|
+
return getValueFromPointer({ clientX, trackStart: rect.left, trackWidth: rect.width, min, max, step });
|
|
2886
|
+
};
|
|
2887
|
+
const handleKeyDown = (event, index) => {
|
|
2888
|
+
const current = values[index];
|
|
2889
|
+
if (disabled || current === void 0) {
|
|
2890
|
+
return;
|
|
2891
|
+
}
|
|
2892
|
+
const next = resolveKeyValue(event.key, current);
|
|
2893
|
+
if (next === null) {
|
|
2894
|
+
return;
|
|
2895
|
+
}
|
|
2896
|
+
event.preventDefault();
|
|
2897
|
+
commit(index, next);
|
|
2898
|
+
};
|
|
2899
|
+
const handlePointerDown = (event) => {
|
|
2900
|
+
if (disabled || event.button !== 0 || !event.isPrimary) {
|
|
2901
|
+
return;
|
|
2902
|
+
}
|
|
2903
|
+
const grabbedIndex = handleRefs.current.findIndex((handle) => handle === event.target);
|
|
2904
|
+
if (grabbedIndex >= 0) {
|
|
2905
|
+
const isAmbiguousGrab = values.filter((value) => value === values[grabbedIndex]).length > 1;
|
|
2906
|
+
dragRef.current = { pointerId: event.pointerId, index: isAmbiguousGrab ? null : grabbedIndex };
|
|
2907
|
+
event.currentTarget.setPointerCapture(event.pointerId);
|
|
2908
|
+
return;
|
|
2909
|
+
}
|
|
2910
|
+
const pointerValue = readPointerValue(event.clientX);
|
|
2911
|
+
if (pointerValue === null) {
|
|
2912
|
+
return;
|
|
2913
|
+
}
|
|
2914
|
+
const nearestIndex = getNearestHandleIndex(pointerValue, values);
|
|
2915
|
+
dragRef.current = { pointerId: event.pointerId, index: nearestIndex };
|
|
2916
|
+
event.currentTarget.setPointerCapture(event.pointerId);
|
|
2917
|
+
handleRefs.current[nearestIndex]?.focus();
|
|
2918
|
+
commit(nearestIndex, pointerValue);
|
|
2919
|
+
};
|
|
2920
|
+
const handlePointerMove = (event) => {
|
|
2921
|
+
const drag = dragRef.current;
|
|
2922
|
+
if (!drag || drag.pointerId !== event.pointerId || disabled) {
|
|
2923
|
+
return;
|
|
2924
|
+
}
|
|
2925
|
+
const pointerValue = readPointerValue(event.clientX);
|
|
2926
|
+
if (pointerValue === null) {
|
|
2927
|
+
return;
|
|
2928
|
+
}
|
|
2929
|
+
const index = drag.index ?? getNearestHandleIndex(pointerValue, values);
|
|
2930
|
+
dragRef.current = { pointerId: drag.pointerId, index };
|
|
2931
|
+
handleRefs.current[index]?.focus();
|
|
2932
|
+
commit(index, pointerValue);
|
|
2933
|
+
};
|
|
2934
|
+
const stopDragging = (event) => {
|
|
2935
|
+
if (dragRef.current?.pointerId !== event.pointerId) {
|
|
2936
|
+
return;
|
|
2937
|
+
}
|
|
2938
|
+
dragRef.current = null;
|
|
2939
|
+
if (event.currentTarget.hasPointerCapture(event.pointerId)) {
|
|
2940
|
+
event.currentTarget.releasePointerCapture(event.pointerId);
|
|
2941
|
+
}
|
|
2942
|
+
};
|
|
2943
|
+
const handleLostPointerCapture = (event) => {
|
|
2944
|
+
if (dragRef.current?.pointerId === event.pointerId) {
|
|
2945
|
+
dragRef.current = null;
|
|
2946
|
+
}
|
|
2947
|
+
};
|
|
2948
|
+
return /* @__PURE__ */ jsx(
|
|
2949
|
+
"div",
|
|
2950
|
+
{
|
|
2951
|
+
className: classNames(styles$6.slider, className),
|
|
2952
|
+
"data-disabled": disabled,
|
|
2953
|
+
"data-marks": Boolean(marks?.length),
|
|
2954
|
+
...props,
|
|
2955
|
+
children: /* @__PURE__ */ jsxs(
|
|
2956
|
+
"div",
|
|
2957
|
+
{
|
|
2958
|
+
ref: railRef,
|
|
2959
|
+
className: styles$6.rail,
|
|
2960
|
+
onPointerDown: handlePointerDown,
|
|
2961
|
+
onPointerMove: handlePointerMove,
|
|
2962
|
+
onPointerUp: stopDragging,
|
|
2963
|
+
onPointerCancel: stopDragging,
|
|
2964
|
+
onLostPointerCapture: handleLostPointerCapture,
|
|
2965
|
+
children: [
|
|
2966
|
+
/* @__PURE__ */ jsx("div", { className: styles$6.track }),
|
|
2967
|
+
/* @__PURE__ */ jsx(
|
|
2968
|
+
"div",
|
|
2969
|
+
{
|
|
2970
|
+
className: styles$6.fill,
|
|
2971
|
+
style: { insetInlineStart: `${toPercent(fillFrom)}%`, insetInlineEnd: `${100 - toPercent(fillTo)}%` }
|
|
2972
|
+
}
|
|
2973
|
+
),
|
|
2974
|
+
normalizedMarks.length ? /* @__PURE__ */ jsx(SliderMarks, { marks: normalizedMarks, min, max, activeFrom: fillFrom, activeTo: fillTo }) : null,
|
|
2975
|
+
values.map((value, index) => /* @__PURE__ */ jsx(
|
|
2976
|
+
"div",
|
|
2977
|
+
{
|
|
2978
|
+
ref: (element) => {
|
|
2979
|
+
handleRefs.current[index] = element;
|
|
2980
|
+
},
|
|
2981
|
+
role: "slider",
|
|
2982
|
+
tabIndex: disabled ? -1 : 0,
|
|
2983
|
+
"aria-valuemin": min,
|
|
2984
|
+
"aria-valuemax": max,
|
|
2985
|
+
"aria-valuenow": value,
|
|
2986
|
+
"aria-valuetext": resolveValueText(value),
|
|
2987
|
+
"aria-label": ariaLabel,
|
|
2988
|
+
"aria-labelledby": ariaLabelledBy,
|
|
2989
|
+
"aria-describedby": ariaDescribedBy,
|
|
2990
|
+
"aria-disabled": disabled,
|
|
2991
|
+
"aria-orientation": "horizontal",
|
|
2992
|
+
className: styles$6.handle,
|
|
2993
|
+
style: { insetInlineStart: `${toPercent(value)}%` },
|
|
2994
|
+
onKeyDown: (event) => handleKeyDown(event, index)
|
|
2995
|
+
},
|
|
2996
|
+
index
|
|
2997
|
+
))
|
|
2998
|
+
]
|
|
2999
|
+
}
|
|
3000
|
+
)
|
|
3001
|
+
}
|
|
3002
|
+
);
|
|
3003
|
+
}
|
|
3004
|
+
|
|
3005
|
+
function SliderRange({ value, onChange, ...props }) {
|
|
3006
|
+
const handleValuesChange = (nextValues) => {
|
|
3007
|
+
const [from = value[0], to = value[1]] = nextValues;
|
|
3008
|
+
onChange([from, to]);
|
|
3009
|
+
};
|
|
3010
|
+
return /* @__PURE__ */ jsx(SliderBase, { values: value, onValuesChange: handleValuesChange, ...props });
|
|
3011
|
+
}
|
|
3012
|
+
|
|
3013
|
+
function Slider({ value, onChange, ...props }) {
|
|
3014
|
+
const handleValuesChange = ([next = value]) => onChange(next);
|
|
3015
|
+
return /* @__PURE__ */ jsx(SliderBase, { values: [value], onValuesChange: handleValuesChange, ...props });
|
|
3016
|
+
}
|
|
3017
|
+
Slider.Range = SliderRange;
|
|
3018
|
+
|
|
2723
3019
|
const stepper = "_stepper_103n3_2";
|
|
2724
3020
|
const sm$1 = "_sm_103n3_10";
|
|
2725
3021
|
const md$1 = "_md_103n3_17";
|
|
@@ -3046,4 +3342,4 @@ function Tooltip(props) {
|
|
|
3046
3342
|
}
|
|
3047
3343
|
Tooltip.Content = TooltipContent;
|
|
3048
3344
|
|
|
3049
|
-
export { Badge, BadgeTabs, Breadcrumbs, Button, Checkbox, Chip, Counter, DatePicker, DropdownMenu, I18N_MONTH_LABELS, I18N_WEEKDAY_LABELS, IconArrow, IconArrowCircle, IconArrowCircleUp, IconArrowDiagonal, IconArrowUTurn, IconBell, IconBox, IconCalendar, IconCharacteristic, IconCheck, IconCheckCircle, IconChevron, IconChevronDouble, IconClock, IconCollapse, IconCopy, IconDots, IconDownload, IconEye, IconFace, IconFile, IconFilters, IconGear, IconHanger, IconHome, IconInfo, IconLogOut, IconLogo, IconMail, IconMinus, IconOneCircle, IconPerson, IconPhone, IconPlus, IconPrize, IconProject, IconQRCode, IconRequest, IconResizeCorner, IconScan, IconSearch, IconShopping, IconSort, IconStar, IconSticker, IconStop, IconStore, IconSwitch, IconTrash, IconXMark, IconXMarkCircle, LOCALE_FIRST_DAY_OF_WEEK, Pagination, ProgressBar, RadioButton, Search, SegmentControl, Stepper, Switch, Tabs, Tag, TextField, Tooltip, useDatePickerControls, useDatePickerMultiSelect, useDatePickerSelect };
|
|
3345
|
+
export { Badge, BadgeTabs, Breadcrumbs, Button, Checkbox, Chip, Counter, DatePicker, DropdownMenu, I18N_MONTH_LABELS, I18N_WEEKDAY_LABELS, IconArrow, IconArrowCircle, IconArrowCircleUp, IconArrowDiagonal, IconArrowUTurn, IconBell, IconBox, IconCalendar, IconCharacteristic, IconCheck, IconCheckCircle, IconChevron, IconChevronDouble, IconClock, IconCollapse, IconCopy, IconDots, IconDownload, IconEye, IconFace, IconFile, IconFilters, IconGear, IconHanger, IconHome, IconInfo, IconLogOut, IconLogo, IconMail, IconMinus, IconOneCircle, IconPerson, IconPhone, IconPlus, IconPrize, IconProject, IconQRCode, IconRequest, IconResizeCorner, IconScan, IconSearch, IconShopping, IconSort, IconStar, IconSticker, IconStop, IconStore, IconSwitch, IconTrash, IconXMark, IconXMarkCircle, LOCALE_FIRST_DAY_OF_WEEK, Pagination, ProgressBar, RadioButton, Search, SegmentControl, Slider, Stepper, Switch, Tabs, Tag, TextField, Tooltip, useDatePickerControls, useDatePickerMultiSelect, useDatePickerSelect };
|