@moving-walls/design-system 1.0.24 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ui/AdvancedTable/index.d.ts +3 -0
- package/dist/components/ui/AdvancedTable/types.d.ts +51 -0
- package/dist/components/ui/AdvancedTable/useAdvancedTable.d.ts +27 -0
- package/dist/components/ui/Calendar/index.d.ts +3 -0
- package/dist/components/ui/Calendar/types.d.ts +14 -0
- package/dist/components/ui/Calendar/useCalendar.d.ts +26 -0
- package/dist/components/ui/CollapsibleInfoPanel.d.ts +12 -0
- package/dist/components/ui/DateRangePicker.d.ts +6 -1
- package/dist/components/ui/DesktopOnly.d.ts +8 -0
- package/dist/components/ui/DragDrop/DragDropZone.d.ts +14 -0
- package/dist/components/ui/DragDrop/FilePreview.d.ts +7 -0
- package/dist/components/ui/DragDrop/SortableList.d.ts +8 -0
- package/dist/components/ui/DragDrop/index.d.ts +9 -0
- package/dist/components/ui/DragDrop/types.d.ts +12 -0
- package/dist/components/ui/DragDrop/useDragDrop.d.ts +16 -0
- package/dist/components/ui/FocusScope.d.ts +14 -0
- package/dist/components/ui/MobileDataCard.d.ts +18 -0
- package/dist/components/ui/MobileOnly.d.ts +8 -0
- package/dist/components/ui/MobilePagination.d.ts +10 -0
- package/dist/components/ui/MobileToolbar.d.ts +12 -0
- package/dist/components/ui/ResponsiveStack.d.ts +14 -0
- package/dist/components/ui/ScheduleGrid.d.ts +6 -1
- package/dist/components/ui/TimeRangePicker.d.ts +8 -1
- package/dist/components/ui/VisuallyHidden.d.ts +10 -0
- package/dist/components/ui/index.d.ts +22 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/useMediaQuery.d.ts +6 -0
- package/dist/hooks/useResponsiveSheet.d.ts +19 -0
- package/dist/index.esm.js +785 -28
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +794 -26
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +4 -2
package/dist/index.js
CHANGED
|
@@ -289,14 +289,17 @@ var Input = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
289
289
|
label = _a.label,
|
|
290
290
|
error = _a.error,
|
|
291
291
|
helpText = _a.helpText,
|
|
292
|
-
|
|
292
|
+
id = _a.id,
|
|
293
|
+
props = __rest$1(_a, ["className", "label", "error", "helpText", "id"]);
|
|
293
294
|
return require$$1.jsxs("div", {
|
|
294
295
|
className: "space-y-2",
|
|
295
296
|
children: [label && require$$1.jsx("label", {
|
|
297
|
+
htmlFor: id,
|
|
296
298
|
className: "block text-sm font-normal leading-none text-mw-neutral-700 dark:text-mw-neutral-300",
|
|
297
299
|
children: label
|
|
298
300
|
}), require$$1.jsx("input", Object.assign({
|
|
299
301
|
ref: ref,
|
|
302
|
+
id: id,
|
|
300
303
|
className: clsx('block w-full h-10 min-h-10 px-3 py-2 border rounded-md text-sm font-normal', 'focus:outline-none focus:ring-1 focus:ring-mw-primary-500 focus:border-transparent', 'disabled:opacity-50 disabled:cursor-not-allowed', error ? 'border-mw-error-300 text-mw-error-900 placeholder-mw-error-300 focus:ring-mw-error-500' : 'border-mw-neutral-100 dark:border-mw-neutral-600 text-mw-neutral-500 dark:text-white placeholder-mw-neutral-400', 'dark:bg-mw-neutral-800', className)
|
|
301
304
|
}, props)), error && require$$1.jsx("p", {
|
|
302
305
|
className: "text-sm text-mw-error-600 dark:text-mw-error-400",
|
|
@@ -316,7 +319,8 @@ var Textarea = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
316
319
|
helpText = _a.helpText,
|
|
317
320
|
_a$resize = _a.resize,
|
|
318
321
|
resize = _a$resize === void 0 ? 'vertical' : _a$resize,
|
|
319
|
-
|
|
322
|
+
id = _a.id,
|
|
323
|
+
props = __rest$1(_a, ["className", "label", "error", "helpText", "resize", "id"]);
|
|
320
324
|
var resizeClasses = {
|
|
321
325
|
none: 'resize-none',
|
|
322
326
|
vertical: 'resize-y',
|
|
@@ -326,10 +330,12 @@ var Textarea = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
326
330
|
return require$$1.jsxs("div", {
|
|
327
331
|
className: "space-y-2",
|
|
328
332
|
children: [label && require$$1.jsx("label", {
|
|
333
|
+
htmlFor: id,
|
|
329
334
|
className: "block text-sm font-medium text-mw-neutral-700 dark:text-mw-neutral-300",
|
|
330
335
|
children: label
|
|
331
336
|
}), require$$1.jsx("textarea", Object.assign({
|
|
332
337
|
ref: ref,
|
|
338
|
+
id: id,
|
|
333
339
|
className: clsx('block w-full px-3 py-2 border rounded-md shadow-sm min-h-[80px]', 'focus:outline-none focus:ring-2 focus:ring-mw-primary-500 focus:border-transparent', 'disabled:opacity-50 disabled:cursor-not-allowed', error ? 'border-mw-error-300 text-mw-error-900 placeholder-mw-error-300 focus:ring-mw-error-500' : 'border-mw-neutral-300 dark:border-mw-neutral-600 text-mw-neutral-900 dark:text-white placeholder-mw-neutral-400', 'dark:bg-mw-neutral-800', resizeClasses[resize], className)
|
|
334
340
|
}, props)), error && require$$1.jsx("p", {
|
|
335
341
|
className: "text-sm text-mw-error-600 dark:text-mw-error-400",
|
|
@@ -347,7 +353,8 @@ var Checkbox = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
347
353
|
label = _a.label,
|
|
348
354
|
description = _a.description,
|
|
349
355
|
error = _a.error,
|
|
350
|
-
|
|
356
|
+
id = _a.id,
|
|
357
|
+
props = __rest$1(_a, ["className", "label", "description", "error", "id"]);
|
|
351
358
|
return require$$1.jsxs("div", {
|
|
352
359
|
className: "space-y-2",
|
|
353
360
|
children: [require$$1.jsxs("div", {
|
|
@@ -355,10 +362,12 @@ var Checkbox = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
355
362
|
children: [require$$1.jsx("input", Object.assign({
|
|
356
363
|
type: "checkbox",
|
|
357
364
|
ref: ref,
|
|
365
|
+
id: id,
|
|
358
366
|
className: clsx('mt-0.5 h-4 w-4 rounded border-mw-neutral-100 dark:border-mw-neutral-600', 'accent-mw-primary-500 focus:ring-mw-primary-600 focus:ring-offset-2', 'disabled:opacity-50 disabled:cursor-not-allowed', error && 'border-mw-error-300 accent-mw-error-500 focus:ring-mw-error-500', className)
|
|
359
367
|
}, props)), (label || description) && require$$1.jsxs("div", {
|
|
360
368
|
className: "flex-1 min-w-0",
|
|
361
369
|
children: [label && require$$1.jsx("label", {
|
|
370
|
+
htmlFor: id,
|
|
362
371
|
className: "text-sm font-medium text-mw-neutral-500 dark:text-mw-neutral-300",
|
|
363
372
|
children: label
|
|
364
373
|
}), description && require$$1.jsx("p", {
|
|
@@ -378,7 +387,8 @@ var Radio$1 = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
378
387
|
label = _a.label,
|
|
379
388
|
description = _a.description,
|
|
380
389
|
error = _a.error,
|
|
381
|
-
|
|
390
|
+
id = _a.id,
|
|
391
|
+
props = __rest$1(_a, ["className", "label", "description", "error", "id"]);
|
|
382
392
|
return require$$1.jsxs("div", {
|
|
383
393
|
className: "space-y-2",
|
|
384
394
|
children: [require$$1.jsxs("div", {
|
|
@@ -386,10 +396,12 @@ var Radio$1 = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
386
396
|
children: [require$$1.jsx("input", Object.assign({
|
|
387
397
|
type: "radio",
|
|
388
398
|
ref: ref,
|
|
399
|
+
id: id,
|
|
389
400
|
className: clsx('mt-0.5 h-4 w-4 border-mw-neutral-100 dark:border-mw-neutral-600', 'accent-mw-primary-500 focus:ring-mw-primary-600 focus:ring-offset-2', 'disabled:opacity-50 disabled:cursor-not-allowed', error && 'border-mw-error-300 accent-mw-error-500 focus:ring-mw-error-500', className)
|
|
390
401
|
}, props)), (label || description) && require$$1.jsxs("div", {
|
|
391
402
|
className: "flex-1 min-w-0",
|
|
392
403
|
children: [label && require$$1.jsx("label", {
|
|
404
|
+
htmlFor: id,
|
|
393
405
|
className: "text-sm font-medium text-mw-neutral-500 dark:text-mw-neutral-300",
|
|
394
406
|
children: label
|
|
395
407
|
}), description && require$$1.jsx("p", {
|
|
@@ -31454,7 +31466,7 @@ var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
|
|
|
31454
31466
|
var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
|
|
31455
31467
|
var EVENT_OPTIONS = { bubbles: false, cancelable: true };
|
|
31456
31468
|
var FOCUS_SCOPE_NAME = "FocusScope";
|
|
31457
|
-
var FocusScope = React__namespace.forwardRef((props, forwardedRef) => {
|
|
31469
|
+
var FocusScope$1 = React__namespace.forwardRef((props, forwardedRef) => {
|
|
31458
31470
|
const { loop = false, trapped = false, onMountAutoFocus: onMountAutoFocusProp, onUnmountAutoFocus: onUnmountAutoFocusProp } = props, scopeProps = __rest$1(props, ["loop", "trapped", "onMountAutoFocus", "onUnmountAutoFocus"]);
|
|
31459
31471
|
const [container, setContainer] = React__namespace.useState(null);
|
|
31460
31472
|
const onMountAutoFocus = useCallbackRef$1(onMountAutoFocusProp);
|
|
@@ -31574,7 +31586,7 @@ var FocusScope = React__namespace.forwardRef((props, forwardedRef) => {
|
|
|
31574
31586
|
}, [loop, trapped, focusScope.paused]);
|
|
31575
31587
|
return /* @__PURE__ */ require$$1.jsx(Primitive.div, Object.assign(Object.assign({ tabIndex: -1 }, scopeProps), { ref: composedRefs, onKeyDown: handleKeyDown }));
|
|
31576
31588
|
});
|
|
31577
|
-
FocusScope.displayName = FOCUS_SCOPE_NAME;
|
|
31589
|
+
FocusScope$1.displayName = FOCUS_SCOPE_NAME;
|
|
31578
31590
|
function focusFirst(candidates, { select = false } = {}) {
|
|
31579
31591
|
const previouslyFocusedElement = document.activeElement;
|
|
31580
31592
|
for (const candidate of candidates) {
|
|
@@ -33926,10 +33938,10 @@ var VISUALLY_HIDDEN_STYLES = Object.freeze({
|
|
|
33926
33938
|
wordWrap: "normal"
|
|
33927
33939
|
});
|
|
33928
33940
|
var NAME = "VisuallyHidden";
|
|
33929
|
-
var VisuallyHidden = React__namespace.forwardRef((props, forwardedRef) => {
|
|
33941
|
+
var VisuallyHidden$1 = React__namespace.forwardRef((props, forwardedRef) => {
|
|
33930
33942
|
return /* @__PURE__ */ require$$1.jsx(Primitive.span, Object.assign(Object.assign({}, props), { ref: forwardedRef, style: Object.assign(Object.assign({}, VISUALLY_HIDDEN_STYLES), props.style) }));
|
|
33931
33943
|
});
|
|
33932
|
-
VisuallyHidden.displayName = NAME;
|
|
33944
|
+
VisuallyHidden$1.displayName = NAME;
|
|
33933
33945
|
|
|
33934
33946
|
var getDefaultParent = function (originalTarget) {
|
|
33935
33947
|
if (typeof document === 'undefined') {
|
|
@@ -35102,7 +35114,7 @@ var SelectContentImpl = React__namespace.forwardRef((props, forwardedRef) => {
|
|
|
35102
35114
|
position,
|
|
35103
35115
|
isPositioned,
|
|
35104
35116
|
searchRef,
|
|
35105
|
-
children: /* @__PURE__ */ require$$1.jsx(ReactRemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ require$$1.jsx(FocusScope, {
|
|
35117
|
+
children: /* @__PURE__ */ require$$1.jsx(ReactRemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ require$$1.jsx(FocusScope$1, {
|
|
35106
35118
|
asChild: true,
|
|
35107
35119
|
trapped: context.open,
|
|
35108
35120
|
onMountAutoFocus: (event) => {
|
|
@@ -36144,8 +36156,7 @@ var daysOfWeek = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
|
|
36144
36156
|
function DatePicker(_ref) {
|
|
36145
36157
|
var value = _ref.value,
|
|
36146
36158
|
onChange = _ref.onChange,
|
|
36147
|
-
|
|
36148
|
-
placeholder = _ref$placeholder === void 0 ? 'Select date' : _ref$placeholder,
|
|
36159
|
+
placeholder = _ref.placeholder,
|
|
36149
36160
|
_ref$disabled = _ref.disabled,
|
|
36150
36161
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
36151
36162
|
className = _ref.className,
|
|
@@ -36488,8 +36499,8 @@ function CalendarMonth(_ref) {
|
|
|
36488
36499
|
function DateRangePicker(_ref3) {
|
|
36489
36500
|
var value = _ref3.value,
|
|
36490
36501
|
onChange = _ref3.onChange,
|
|
36491
|
-
|
|
36492
|
-
|
|
36502
|
+
placeholder = _ref3.placeholder,
|
|
36503
|
+
labels = _ref3.labels,
|
|
36493
36504
|
_ref3$disabled = _ref3.disabled,
|
|
36494
36505
|
disabled = _ref3$disabled === void 0 ? false : _ref3$disabled;
|
|
36495
36506
|
_ref3.required;
|
|
@@ -36506,6 +36517,7 @@ function DateRangePicker(_ref3) {
|
|
|
36506
36517
|
presets = _ref3$presets === void 0 ? defaultPresets$1 : _ref3$presets,
|
|
36507
36518
|
_ref3$align = _ref3.align,
|
|
36508
36519
|
align = _ref3$align === void 0 ? 'left' : _ref3$align;
|
|
36520
|
+
var _a, _b;
|
|
36509
36521
|
var _useState = React.useState(false),
|
|
36510
36522
|
_useState2 = _slicedToArray(_useState, 2),
|
|
36511
36523
|
isOpen = _useState2[0],
|
|
@@ -36671,7 +36683,7 @@ function DateRangePicker(_ref3) {
|
|
|
36671
36683
|
className: "flex items-center justify-between px-3 py-2 border-t border-mw-neutral-200 dark:border-mw-neutral-700",
|
|
36672
36684
|
children: [require$$1.jsx("div", {
|
|
36673
36685
|
className: "text-[11px] text-mw-neutral-500 dark:text-mw-neutral-400",
|
|
36674
|
-
children: selectingStart ? 'Select start date' : 'Select end date'
|
|
36686
|
+
children: selectingStart ? (_a = labels === null || labels === void 0 ? void 0 : labels.selectStart) !== null && _a !== void 0 ? _a : 'Select start date' : (_b = labels === null || labels === void 0 ? void 0 : labels.selectEnd) !== null && _b !== void 0 ? _b : 'Select end date'
|
|
36675
36687
|
}), require$$1.jsxs("div", {
|
|
36676
36688
|
className: "flex gap-2 items-center",
|
|
36677
36689
|
children: [require$$1.jsx("button", {
|
|
@@ -36832,8 +36844,7 @@ function TimePicker(_ref2) {
|
|
|
36832
36844
|
label = _ref2.label,
|
|
36833
36845
|
error = _ref2.error,
|
|
36834
36846
|
helpText = _ref2.helpText,
|
|
36835
|
-
|
|
36836
|
-
placeholder = _ref2$placeholder === void 0 ? 'Select time' : _ref2$placeholder,
|
|
36847
|
+
placeholder = _ref2.placeholder,
|
|
36837
36848
|
className = _ref2.className,
|
|
36838
36849
|
_ref2$size = _ref2.size,
|
|
36839
36850
|
size = _ref2$size === void 0 ? 'md' : _ref2$size,
|
|
@@ -37199,8 +37210,7 @@ function TimeSelect(_ref) {
|
|
|
37199
37210
|
function TimeRangePicker(_ref2) {
|
|
37200
37211
|
var value = _ref2.value,
|
|
37201
37212
|
onChange = _ref2.onChange,
|
|
37202
|
-
|
|
37203
|
-
placeholder = _ref2$placeholder === void 0 ? 'Select time range' : _ref2$placeholder,
|
|
37213
|
+
placeholder = _ref2.placeholder,
|
|
37204
37214
|
_ref2$disabled = _ref2.disabled,
|
|
37205
37215
|
disabled = _ref2$disabled === void 0 ? false : _ref2$disabled;
|
|
37206
37216
|
_ref2.required;
|
|
@@ -37213,8 +37223,10 @@ function TimeRangePicker(_ref2) {
|
|
|
37213
37223
|
minTime = _ref2.minTime,
|
|
37214
37224
|
maxTime = _ref2.maxTime,
|
|
37215
37225
|
className = _ref2.className,
|
|
37226
|
+
labels = _ref2.labels,
|
|
37216
37227
|
_ref2$presets = _ref2.presets,
|
|
37217
37228
|
presets = _ref2$presets === void 0 ? defaultPresets : _ref2$presets;
|
|
37229
|
+
var _a, _b;
|
|
37218
37230
|
var _useState5 = React.useState(value || {
|
|
37219
37231
|
from: null,
|
|
37220
37232
|
to: null
|
|
@@ -37351,13 +37363,13 @@ function TimeRangePicker(_ref2) {
|
|
|
37351
37363
|
children: [require$$1.jsxs("div", {
|
|
37352
37364
|
children: [require$$1.jsx("label", {
|
|
37353
37365
|
className: "block text-sm font-medium mb-2 text-mw-neutral-900 dark:text-white",
|
|
37354
|
-
children:
|
|
37366
|
+
children: (_a = labels === null || labels === void 0 ? void 0 : labels.fromTime) !== null && _a !== void 0 ? _a : 'From Time'
|
|
37355
37367
|
}), require$$1.jsx(TimeSelect, {
|
|
37356
37368
|
value: selectedRange.from,
|
|
37357
37369
|
onChange: handleFromTimeChange,
|
|
37358
37370
|
options: timeOptions,
|
|
37359
37371
|
format: format,
|
|
37360
|
-
placeholder:
|
|
37372
|
+
placeholder: labels === null || labels === void 0 ? void 0 : labels.selectStart,
|
|
37361
37373
|
disabled: disabled,
|
|
37362
37374
|
minTime: minTime,
|
|
37363
37375
|
maxTime: selectedRange.to ? format === '12' ? convertTo24Hour(selectedRange.to) : selectedRange.to : maxTime
|
|
@@ -37365,13 +37377,13 @@ function TimeRangePicker(_ref2) {
|
|
|
37365
37377
|
}), require$$1.jsxs("div", {
|
|
37366
37378
|
children: [require$$1.jsx("label", {
|
|
37367
37379
|
className: "block text-sm font-medium mb-2 text-mw-neutral-900 dark:text-white",
|
|
37368
|
-
children:
|
|
37380
|
+
children: (_b = labels === null || labels === void 0 ? void 0 : labels.toTime) !== null && _b !== void 0 ? _b : 'To Time'
|
|
37369
37381
|
}), require$$1.jsx(TimeSelect, {
|
|
37370
37382
|
value: selectedRange.to,
|
|
37371
37383
|
onChange: handleToTimeChange,
|
|
37372
37384
|
options: timeOptions,
|
|
37373
37385
|
format: format,
|
|
37374
|
-
placeholder:
|
|
37386
|
+
placeholder: labels === null || labels === void 0 ? void 0 : labels.selectEnd,
|
|
37375
37387
|
disabled: disabled || !selectedRange.from,
|
|
37376
37388
|
minTime: selectedRange.from ? format === '12' ? convertTo24Hour(selectedRange.from) : selectedRange.from : minTime,
|
|
37377
37389
|
maxTime: maxTime
|
|
@@ -38700,8 +38712,7 @@ function MultiSelect(_ref) {
|
|
|
38700
38712
|
_ref$value = _ref.value,
|
|
38701
38713
|
value = _ref$value === void 0 ? [] : _ref$value,
|
|
38702
38714
|
onChange = _ref.onChange,
|
|
38703
|
-
|
|
38704
|
-
placeholder = _ref$placeholder === void 0 ? 'Select...' : _ref$placeholder,
|
|
38715
|
+
placeholder = _ref.placeholder,
|
|
38705
38716
|
label = _ref.label,
|
|
38706
38717
|
_ref$disabled = _ref.disabled,
|
|
38707
38718
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
@@ -39158,7 +39169,8 @@ function ScheduleGrid(_ref) {
|
|
|
39158
39169
|
_ref$presets = _ref.presets,
|
|
39159
39170
|
presets = _ref$presets === void 0 ? DEFAULT_PRESETS : _ref$presets,
|
|
39160
39171
|
_ref$showPresets = _ref.showPresets,
|
|
39161
|
-
showPresets = _ref$showPresets === void 0 ? true : _ref$showPresets
|
|
39172
|
+
showPresets = _ref$showPresets === void 0 ? true : _ref$showPresets,
|
|
39173
|
+
labels = _ref.labels;
|
|
39162
39174
|
var _useState = React.useState('custom'),
|
|
39163
39175
|
_useState2 = _slicedToArray(_useState, 2),
|
|
39164
39176
|
selectedPreset = _useState2[0],
|
|
@@ -39281,6 +39293,7 @@ function ScheduleGrid(_ref) {
|
|
|
39281
39293
|
onChange(newRules);
|
|
39282
39294
|
};
|
|
39283
39295
|
var renderHourGrid = function renderHourGrid(type, selectedHours) {
|
|
39296
|
+
var _a, _b;
|
|
39284
39297
|
var allSelected = selectedHours.size === 24;
|
|
39285
39298
|
var label = type === 'DEFAULT' ? 'Default Hours' : type === 'WEEKDAY' ? 'Weekday Hours (Mon-Fri)' : 'Weekend Hours (Sat-Sun)';
|
|
39286
39299
|
var isExpanded = expandedSection === type.toLowerCase();
|
|
@@ -39315,7 +39328,7 @@ function ScheduleGrid(_ref) {
|
|
|
39315
39328
|
return handleSelectAll(type);
|
|
39316
39329
|
},
|
|
39317
39330
|
className: "text-xs text-mw-primary-500 hover:text-mw-primary-600 font-medium",
|
|
39318
|
-
children: allSelected ? 'Deselect All' : 'Select All 24 Hours'
|
|
39331
|
+
children: allSelected ? (_a = labels === null || labels === void 0 ? void 0 : labels.deselectAll) !== null && _a !== void 0 ? _a : 'Deselect All' : (_b = labels === null || labels === void 0 ? void 0 : labels.selectAll) !== null && _b !== void 0 ? _b : 'Select All 24 Hours'
|
|
39319
39332
|
})
|
|
39320
39333
|
}), require$$1.jsx("div", {
|
|
39321
39334
|
className: "grid grid-cols-6 gap-1.5",
|
|
@@ -42925,6 +42938,221 @@ function AdvancedTable(_ref3) {
|
|
|
42925
42938
|
});
|
|
42926
42939
|
}
|
|
42927
42940
|
|
|
42941
|
+
function getCellValue(row, column) {
|
|
42942
|
+
if (column.accessorFn) return column.accessorFn(row);
|
|
42943
|
+
if (column.accessorKey) return row[column.accessorKey];
|
|
42944
|
+
return undefined;
|
|
42945
|
+
}
|
|
42946
|
+
function useAdvancedTable(_ref) {
|
|
42947
|
+
var data = _ref.data,
|
|
42948
|
+
columns = _ref.columns,
|
|
42949
|
+
_ref$initialState = _ref.initialState,
|
|
42950
|
+
initialState = _ref$initialState === void 0 ? {} : _ref$initialState,
|
|
42951
|
+
_ref$getRowId = _ref.getRowId,
|
|
42952
|
+
getRowId = _ref$getRowId === void 0 ? function (_row, index) {
|
|
42953
|
+
return index;
|
|
42954
|
+
} : _ref$getRowId;
|
|
42955
|
+
var _useState = React.useState(initialState.sorting || []),
|
|
42956
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
42957
|
+
sorting = _useState2[0],
|
|
42958
|
+
setSorting = _useState2[1];
|
|
42959
|
+
var _useState3 = React.useState(initialState.filters || []),
|
|
42960
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
42961
|
+
filters = _useState4[0],
|
|
42962
|
+
setFilters = _useState4[1];
|
|
42963
|
+
var _useState5 = React.useState(initialState.globalFilter || ''),
|
|
42964
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
42965
|
+
globalFilter = _useState6[0],
|
|
42966
|
+
setGlobalFilter = _useState6[1];
|
|
42967
|
+
var _useState7 = React.useState(initialState.columnVisibility || {}),
|
|
42968
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
42969
|
+
columnVisibility = _useState8[0],
|
|
42970
|
+
setColumnVisibility = _useState8[1];
|
|
42971
|
+
var _useState9 = React.useState(initialState.density || 'normal'),
|
|
42972
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
42973
|
+
density = _useState0[0],
|
|
42974
|
+
setDensity = _useState0[1];
|
|
42975
|
+
var _useState1 = React.useState(new Set()),
|
|
42976
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
42977
|
+
selectedRows = _useState10[0],
|
|
42978
|
+
setSelectedRows = _useState10[1];
|
|
42979
|
+
var visibleColumns = React.useMemo(function () {
|
|
42980
|
+
return columns.filter(function (col) {
|
|
42981
|
+
return columnVisibility[col.id] !== false && !col.hidden;
|
|
42982
|
+
});
|
|
42983
|
+
}, [columns, columnVisibility]);
|
|
42984
|
+
var toggleSort = React.useCallback(function (columnId) {
|
|
42985
|
+
setSorting(function (prev) {
|
|
42986
|
+
var existing = prev.find(function (s) {
|
|
42987
|
+
return s.columnId === columnId;
|
|
42988
|
+
});
|
|
42989
|
+
if (!existing) return [{
|
|
42990
|
+
columnId: columnId,
|
|
42991
|
+
direction: 'asc'
|
|
42992
|
+
}];
|
|
42993
|
+
if (existing.direction === 'asc') return [{
|
|
42994
|
+
columnId: columnId,
|
|
42995
|
+
direction: 'desc'
|
|
42996
|
+
}];
|
|
42997
|
+
return [];
|
|
42998
|
+
});
|
|
42999
|
+
}, []);
|
|
43000
|
+
var addFilter = React.useCallback(function (filter) {
|
|
43001
|
+
setFilters(function (prev) {
|
|
43002
|
+
var idx = prev.findIndex(function (f) {
|
|
43003
|
+
return f.columnId === filter.columnId;
|
|
43004
|
+
});
|
|
43005
|
+
if (idx >= 0) {
|
|
43006
|
+
var next = _toConsumableArray(prev);
|
|
43007
|
+
next[idx] = filter;
|
|
43008
|
+
return next;
|
|
43009
|
+
}
|
|
43010
|
+
return [].concat(_toConsumableArray(prev), [filter]);
|
|
43011
|
+
});
|
|
43012
|
+
}, []);
|
|
43013
|
+
var removeFilter = React.useCallback(function (columnId) {
|
|
43014
|
+
setFilters(function (prev) {
|
|
43015
|
+
return prev.filter(function (f) {
|
|
43016
|
+
return f.columnId !== columnId;
|
|
43017
|
+
});
|
|
43018
|
+
});
|
|
43019
|
+
}, []);
|
|
43020
|
+
var clearFilters = React.useCallback(function () {
|
|
43021
|
+
setFilters([]);
|
|
43022
|
+
setGlobalFilter('');
|
|
43023
|
+
}, []);
|
|
43024
|
+
var toggleColumnVisibility = React.useCallback(function (columnId) {
|
|
43025
|
+
setColumnVisibility(function (prev) {
|
|
43026
|
+
return Object.assign(Object.assign({}, prev), _defineProperty({}, columnId, prev[columnId] === false ? true : false));
|
|
43027
|
+
});
|
|
43028
|
+
}, []);
|
|
43029
|
+
var toggleRowSelection = React.useCallback(function (rowId) {
|
|
43030
|
+
setSelectedRows(function (prev) {
|
|
43031
|
+
var next = new Set(prev);
|
|
43032
|
+
if (next.has(rowId)) next["delete"](rowId);else next.add(rowId);
|
|
43033
|
+
return next;
|
|
43034
|
+
});
|
|
43035
|
+
}, []);
|
|
43036
|
+
var selectAllRows = React.useCallback(function () {
|
|
43037
|
+
setSelectedRows(new Set(data.map(function (row, i) {
|
|
43038
|
+
return getRowId(row, i);
|
|
43039
|
+
})));
|
|
43040
|
+
}, [data, getRowId]);
|
|
43041
|
+
var clearSelection = React.useCallback(function () {
|
|
43042
|
+
setSelectedRows(new Set());
|
|
43043
|
+
}, []);
|
|
43044
|
+
var processedData = React.useMemo(function () {
|
|
43045
|
+
var result = _toConsumableArray(data);
|
|
43046
|
+
// Apply global filter
|
|
43047
|
+
if (globalFilter) {
|
|
43048
|
+
var searchLower = globalFilter.toLowerCase();
|
|
43049
|
+
result = result.filter(function (row) {
|
|
43050
|
+
return columns.some(function (col) {
|
|
43051
|
+
if (!col.searchable && col.searchable !== undefined) return false;
|
|
43052
|
+
var value = getCellValue(row, col);
|
|
43053
|
+
return value != null && String(value).toLowerCase().includes(searchLower);
|
|
43054
|
+
});
|
|
43055
|
+
});
|
|
43056
|
+
}
|
|
43057
|
+
// Apply column filters
|
|
43058
|
+
var _iterator = _createForOfIteratorHelper(filters),
|
|
43059
|
+
_step;
|
|
43060
|
+
try {
|
|
43061
|
+
var _loop = function _loop() {
|
|
43062
|
+
var filter = _step.value;
|
|
43063
|
+
var column = columns.find(function (c) {
|
|
43064
|
+
return c.id === filter.columnId;
|
|
43065
|
+
});
|
|
43066
|
+
if (!column) return 1; // continue
|
|
43067
|
+
result = result.filter(function (row) {
|
|
43068
|
+
var value = getCellValue(row, column);
|
|
43069
|
+
if (value == null) return false;
|
|
43070
|
+
var strValue = String(value).toLowerCase();
|
|
43071
|
+
var filterValue = String(filter.value).toLowerCase();
|
|
43072
|
+
switch (filter.operator || 'contains') {
|
|
43073
|
+
case 'equals':
|
|
43074
|
+
return strValue === filterValue;
|
|
43075
|
+
case 'contains':
|
|
43076
|
+
return strValue.includes(filterValue);
|
|
43077
|
+
case 'startsWith':
|
|
43078
|
+
return strValue.startsWith(filterValue);
|
|
43079
|
+
case 'endsWith':
|
|
43080
|
+
return strValue.endsWith(filterValue);
|
|
43081
|
+
default:
|
|
43082
|
+
return strValue.includes(filterValue);
|
|
43083
|
+
}
|
|
43084
|
+
});
|
|
43085
|
+
};
|
|
43086
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
43087
|
+
if (_loop()) continue;
|
|
43088
|
+
}
|
|
43089
|
+
// Apply sorting
|
|
43090
|
+
} catch (err) {
|
|
43091
|
+
_iterator.e(err);
|
|
43092
|
+
} finally {
|
|
43093
|
+
_iterator.f();
|
|
43094
|
+
}
|
|
43095
|
+
if (sorting.length > 0) {
|
|
43096
|
+
var sort = sorting[0];
|
|
43097
|
+
var column = columns.find(function (c) {
|
|
43098
|
+
return c.id === sort.columnId;
|
|
43099
|
+
});
|
|
43100
|
+
if (column) {
|
|
43101
|
+
result.sort(function (a, b) {
|
|
43102
|
+
var aVal = getCellValue(a, column);
|
|
43103
|
+
var bVal = getCellValue(b, column);
|
|
43104
|
+
if (aVal == null && bVal == null) return 0;
|
|
43105
|
+
if (aVal == null) return 1;
|
|
43106
|
+
if (bVal == null) return -1;
|
|
43107
|
+
var cmp = String(aVal).localeCompare(String(bVal), undefined, {
|
|
43108
|
+
numeric: true
|
|
43109
|
+
});
|
|
43110
|
+
return sort.direction === 'desc' ? -cmp : cmp;
|
|
43111
|
+
});
|
|
43112
|
+
}
|
|
43113
|
+
}
|
|
43114
|
+
return result;
|
|
43115
|
+
}, [data, columns, sorting, filters, globalFilter]);
|
|
43116
|
+
var state = {
|
|
43117
|
+
sorting: sorting,
|
|
43118
|
+
filters: filters,
|
|
43119
|
+
globalFilter: globalFilter,
|
|
43120
|
+
columnVisibility: columnVisibility,
|
|
43121
|
+
columnOrder: columns.map(function (c) {
|
|
43122
|
+
return c.id;
|
|
43123
|
+
}),
|
|
43124
|
+
columnSizing: {},
|
|
43125
|
+
density: density,
|
|
43126
|
+
frozenColumns: {
|
|
43127
|
+
left: [],
|
|
43128
|
+
right: []
|
|
43129
|
+
}
|
|
43130
|
+
};
|
|
43131
|
+
return {
|
|
43132
|
+
// Data
|
|
43133
|
+
processedData: processedData,
|
|
43134
|
+
visibleColumns: visibleColumns,
|
|
43135
|
+
// State
|
|
43136
|
+
state: state,
|
|
43137
|
+
sorting: sorting,
|
|
43138
|
+
filters: filters,
|
|
43139
|
+
globalFilter: globalFilter,
|
|
43140
|
+
density: density,
|
|
43141
|
+
selectedRows: selectedRows,
|
|
43142
|
+
// Actions
|
|
43143
|
+
toggleSort: toggleSort,
|
|
43144
|
+
addFilter: addFilter,
|
|
43145
|
+
removeFilter: removeFilter,
|
|
43146
|
+
clearFilters: clearFilters,
|
|
43147
|
+
setGlobalFilter: setGlobalFilter,
|
|
43148
|
+
setDensity: setDensity,
|
|
43149
|
+
toggleColumnVisibility: toggleColumnVisibility,
|
|
43150
|
+
toggleRowSelection: toggleRowSelection,
|
|
43151
|
+
selectAllRows: selectAllRows,
|
|
43152
|
+
clearSelection: clearSelection
|
|
43153
|
+
};
|
|
43154
|
+
}
|
|
43155
|
+
|
|
42928
43156
|
var emptyStateIcons = {
|
|
42929
43157
|
noData: require$$1.jsx(Database, {
|
|
42930
43158
|
className: "w-12 h-12 text-mw-neutral-400"
|
|
@@ -47119,6 +47347,121 @@ function DayView(_ref4) {
|
|
|
47119
47347
|
});
|
|
47120
47348
|
}
|
|
47121
47349
|
|
|
47350
|
+
function useCalendar(_ref) {
|
|
47351
|
+
var value = _ref.value,
|
|
47352
|
+
_ref$events = _ref.events,
|
|
47353
|
+
events = _ref$events === void 0 ? [] : _ref$events,
|
|
47354
|
+
_ref$view = _ref.view,
|
|
47355
|
+
view = _ref$view === void 0 ? 'month' : _ref$view,
|
|
47356
|
+
onViewChange = _ref.onViewChange,
|
|
47357
|
+
onChange = _ref.onChange,
|
|
47358
|
+
_ref$hourFormat = _ref.hourFormat,
|
|
47359
|
+
hourFormat = _ref$hourFormat === void 0 ? 24 : _ref$hourFormat;
|
|
47360
|
+
var _useState = React.useState(value || new Date()),
|
|
47361
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
47362
|
+
currentDate = _useState2[0],
|
|
47363
|
+
setCurrentDate = _useState2[1];
|
|
47364
|
+
var _useState3 = React.useState(view),
|
|
47365
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
47366
|
+
currentView = _useState4[0],
|
|
47367
|
+
setCurrentView = _useState4[1];
|
|
47368
|
+
var today = new Date();
|
|
47369
|
+
var _useMemo = React.useMemo(function () {
|
|
47370
|
+
return {
|
|
47371
|
+
year: currentDate.getFullYear(),
|
|
47372
|
+
month: currentDate.getMonth()
|
|
47373
|
+
};
|
|
47374
|
+
}, [currentDate]),
|
|
47375
|
+
year = _useMemo.year,
|
|
47376
|
+
month = _useMemo.month;
|
|
47377
|
+
var handleViewChange = React.useCallback(function (newView) {
|
|
47378
|
+
setCurrentView(newView);
|
|
47379
|
+
onViewChange === null || onViewChange === void 0 ? void 0 : onViewChange(newView);
|
|
47380
|
+
}, [onViewChange]);
|
|
47381
|
+
var handleDateSelect = React.useCallback(function (date) {
|
|
47382
|
+
setCurrentDate(date);
|
|
47383
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(date);
|
|
47384
|
+
}, [onChange]);
|
|
47385
|
+
var navigateMonth = React.useCallback(function (delta) {
|
|
47386
|
+
setCurrentDate(function (prev) {
|
|
47387
|
+
return new Date(prev.getFullYear(), prev.getMonth() + delta, 1);
|
|
47388
|
+
});
|
|
47389
|
+
}, []);
|
|
47390
|
+
var navigateWeek = React.useCallback(function (delta) {
|
|
47391
|
+
setCurrentDate(function (prev) {
|
|
47392
|
+
var d = new Date(prev);
|
|
47393
|
+
d.setDate(d.getDate() + delta * 7);
|
|
47394
|
+
return d;
|
|
47395
|
+
});
|
|
47396
|
+
}, []);
|
|
47397
|
+
var navigateDay = React.useCallback(function (delta) {
|
|
47398
|
+
setCurrentDate(function (prev) {
|
|
47399
|
+
var d = new Date(prev);
|
|
47400
|
+
d.setDate(d.getDate() + delta);
|
|
47401
|
+
return d;
|
|
47402
|
+
});
|
|
47403
|
+
}, []);
|
|
47404
|
+
var goToToday = React.useCallback(function () {
|
|
47405
|
+
setCurrentDate(new Date());
|
|
47406
|
+
}, []);
|
|
47407
|
+
var getEventsForDate = React.useCallback(function (date) {
|
|
47408
|
+
return events.filter(function (event) {
|
|
47409
|
+
return event.date.toDateString() === date.toDateString();
|
|
47410
|
+
});
|
|
47411
|
+
}, [events]);
|
|
47412
|
+
var getEventsForTimeSlot = React.useCallback(function (date, timeSlot) {
|
|
47413
|
+
var dateEvents = getEventsForDate(date);
|
|
47414
|
+
return dateEvents.filter(function (event) {
|
|
47415
|
+
if (event.allDay) return false;
|
|
47416
|
+
if (!event.startTime) return false;
|
|
47417
|
+
var eventStart = event.startTime;
|
|
47418
|
+
return eventStart === timeSlot;
|
|
47419
|
+
});
|
|
47420
|
+
}, [getEventsForDate]);
|
|
47421
|
+
var formatTime = React.useCallback(function (time) {
|
|
47422
|
+
if (hourFormat === 12) {
|
|
47423
|
+
var _time$split$map = time.split(':').map(Number),
|
|
47424
|
+
_time$split$map2 = _slicedToArray(_time$split$map, 2),
|
|
47425
|
+
hours = _time$split$map2[0],
|
|
47426
|
+
minutes = _time$split$map2[1];
|
|
47427
|
+
var ampm = hours >= 12 ? 'PM' : 'AM';
|
|
47428
|
+
var displayHours = hours % 12 || 12;
|
|
47429
|
+
return "".concat(displayHours, ":").concat(minutes.toString().padStart(2, '0'), " ").concat(ampm);
|
|
47430
|
+
}
|
|
47431
|
+
return time;
|
|
47432
|
+
}, [hourFormat]);
|
|
47433
|
+
var getWeekDates = React.useCallback(function (date) {
|
|
47434
|
+
var startOfWeek = new Date(date);
|
|
47435
|
+
var day = startOfWeek.getDay();
|
|
47436
|
+
var diff = startOfWeek.getDate() - day + (day === 0 ? -6 : 1);
|
|
47437
|
+
startOfWeek.setDate(diff);
|
|
47438
|
+
var weekDates = [];
|
|
47439
|
+
for (var i = 0; i < 7; i++) {
|
|
47440
|
+
var weekDate = new Date(startOfWeek);
|
|
47441
|
+
weekDate.setDate(startOfWeek.getDate() + i);
|
|
47442
|
+
weekDates.push(weekDate);
|
|
47443
|
+
}
|
|
47444
|
+
return weekDates;
|
|
47445
|
+
}, []);
|
|
47446
|
+
return {
|
|
47447
|
+
currentDate: currentDate,
|
|
47448
|
+
currentView: currentView,
|
|
47449
|
+
today: today,
|
|
47450
|
+
year: year,
|
|
47451
|
+
month: month,
|
|
47452
|
+
handleViewChange: handleViewChange,
|
|
47453
|
+
handleDateSelect: handleDateSelect,
|
|
47454
|
+
navigateMonth: navigateMonth,
|
|
47455
|
+
navigateWeek: navigateWeek,
|
|
47456
|
+
navigateDay: navigateDay,
|
|
47457
|
+
goToToday: goToToday,
|
|
47458
|
+
getEventsForDate: getEventsForDate,
|
|
47459
|
+
getEventsForTimeSlot: getEventsForTimeSlot,
|
|
47460
|
+
formatTime: formatTime,
|
|
47461
|
+
getWeekDates: getWeekDates
|
|
47462
|
+
};
|
|
47463
|
+
}
|
|
47464
|
+
|
|
47122
47465
|
function cn$8() {
|
|
47123
47466
|
for (var _len = arguments.length, classes = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
47124
47467
|
classes[_key] = arguments[_key];
|
|
@@ -49762,6 +50105,420 @@ function AgGridTableInner(props) {
|
|
|
49762
50105
|
}
|
|
49763
50106
|
var AgGridTable = AgGridTableInner;
|
|
49764
50107
|
|
|
50108
|
+
/**
|
|
50109
|
+
* A mobile-optimized card for displaying a single data row.
|
|
50110
|
+
* Replaces AG Grid table rows on mobile viewports.
|
|
50111
|
+
* Minimum 44px touch target when clickable.
|
|
50112
|
+
*/
|
|
50113
|
+
var MobileDataCard = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
50114
|
+
var title = _a.title,
|
|
50115
|
+
subtitle = _a.subtitle,
|
|
50116
|
+
statusBadge = _a.statusBadge,
|
|
50117
|
+
fields = _a.fields,
|
|
50118
|
+
actions = _a.actions,
|
|
50119
|
+
onClick = _a.onClick,
|
|
50120
|
+
className = _a.className,
|
|
50121
|
+
props = __rest$1(_a, ["title", "subtitle", "statusBadge", "fields", "actions", "onClick", "className"]);
|
|
50122
|
+
return require$$1.jsxs("div", Object.assign({
|
|
50123
|
+
ref: ref,
|
|
50124
|
+
role: onClick ? 'button' : undefined,
|
|
50125
|
+
tabIndex: onClick ? 0 : undefined,
|
|
50126
|
+
onClick: onClick,
|
|
50127
|
+
onKeyDown: onClick ? function (e) {
|
|
50128
|
+
if (e.key === 'Enter') onClick();
|
|
50129
|
+
} : undefined,
|
|
50130
|
+
className: clsx('rounded-lg border border-mw-neutral-200 bg-white p-4', 'dark:border-mw-neutral-700 dark:bg-mw-neutral-800', onClick && 'cursor-pointer hover:border-mw-primary-300 dark:hover:border-mw-primary-600 min-h-[44px]', className)
|
|
50131
|
+
}, props, {
|
|
50132
|
+
children: [require$$1.jsxs("div", {
|
|
50133
|
+
className: "flex items-start justify-between gap-2",
|
|
50134
|
+
children: [require$$1.jsxs("div", {
|
|
50135
|
+
className: "flex-1 min-w-0",
|
|
50136
|
+
children: [require$$1.jsx("p", {
|
|
50137
|
+
className: "text-sm font-medium text-mw-neutral-900 dark:text-mw-neutral-100 truncate",
|
|
50138
|
+
children: title
|
|
50139
|
+
}), subtitle && require$$1.jsx("p", {
|
|
50140
|
+
className: "text-xs text-mw-neutral-500 dark:text-mw-neutral-400 mt-0.5",
|
|
50141
|
+
children: subtitle
|
|
50142
|
+
})]
|
|
50143
|
+
}), require$$1.jsxs("div", {
|
|
50144
|
+
className: "flex items-center gap-2 flex-shrink-0",
|
|
50145
|
+
children: [statusBadge, actions]
|
|
50146
|
+
})]
|
|
50147
|
+
}), fields.length > 0 && require$$1.jsx("div", {
|
|
50148
|
+
className: "grid grid-cols-2 gap-x-4 gap-y-2 mt-3",
|
|
50149
|
+
children: fields.map(function (_ref) {
|
|
50150
|
+
var label = _ref.label,
|
|
50151
|
+
value = _ref.value;
|
|
50152
|
+
return require$$1.jsxs("div", {
|
|
50153
|
+
children: [require$$1.jsx("p", {
|
|
50154
|
+
className: "text-xs text-mw-neutral-500 dark:text-mw-neutral-400",
|
|
50155
|
+
children: label
|
|
50156
|
+
}), require$$1.jsx("p", {
|
|
50157
|
+
className: "text-sm text-mw-neutral-900 dark:text-mw-neutral-100",
|
|
50158
|
+
children: value
|
|
50159
|
+
})]
|
|
50160
|
+
}, label);
|
|
50161
|
+
})
|
|
50162
|
+
})]
|
|
50163
|
+
}));
|
|
50164
|
+
}));
|
|
50165
|
+
MobileDataCard.displayName = 'MobileDataCard';
|
|
50166
|
+
|
|
50167
|
+
/**
|
|
50168
|
+
* Prev/Next pagination for mobile card lists.
|
|
50169
|
+
* Shows "Page X of Y" with disabled states at boundaries.
|
|
50170
|
+
*/
|
|
50171
|
+
var MobilePagination = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
50172
|
+
var page = _a.page,
|
|
50173
|
+
totalPages = _a.totalPages,
|
|
50174
|
+
onPageChange = _a.onPageChange,
|
|
50175
|
+
className = _a.className,
|
|
50176
|
+
props = __rest$1(_a, ["page", "totalPages", "onPageChange", "className"]);
|
|
50177
|
+
return require$$1.jsxs("div", Object.assign({
|
|
50178
|
+
ref: ref,
|
|
50179
|
+
className: clsx('flex items-center justify-between px-2 py-3', className)
|
|
50180
|
+
}, props, {
|
|
50181
|
+
children: [require$$1.jsx("button", {
|
|
50182
|
+
type: "button",
|
|
50183
|
+
"aria-label": "Previous page",
|
|
50184
|
+
disabled: page <= 1,
|
|
50185
|
+
onClick: function onClick() {
|
|
50186
|
+
return onPageChange(page - 1);
|
|
50187
|
+
},
|
|
50188
|
+
className: clsx('px-3 py-2 text-sm font-medium rounded-md min-h-[44px] min-w-[44px]', 'border border-mw-neutral-200 dark:border-mw-neutral-700', 'text-mw-neutral-700 dark:text-mw-neutral-300', 'enabled:hover:bg-mw-neutral-50 enabled:dark:hover:bg-mw-neutral-800', 'disabled:opacity-50 disabled:cursor-not-allowed'),
|
|
50189
|
+
children: "\u2190"
|
|
50190
|
+
}), require$$1.jsxs("span", {
|
|
50191
|
+
className: "text-sm text-mw-neutral-600 dark:text-mw-neutral-400",
|
|
50192
|
+
children: [page, " / ", totalPages]
|
|
50193
|
+
}), require$$1.jsx("button", {
|
|
50194
|
+
type: "button",
|
|
50195
|
+
"aria-label": "Next page",
|
|
50196
|
+
disabled: page >= totalPages,
|
|
50197
|
+
onClick: function onClick() {
|
|
50198
|
+
return onPageChange(page + 1);
|
|
50199
|
+
},
|
|
50200
|
+
className: clsx('px-3 py-2 text-sm font-medium rounded-md min-h-[44px] min-w-[44px]', 'border border-mw-neutral-200 dark:border-mw-neutral-700', 'text-mw-neutral-700 dark:text-mw-neutral-300', 'enabled:hover:bg-mw-neutral-50 enabled:dark:hover:bg-mw-neutral-800', 'disabled:opacity-50 disabled:cursor-not-allowed'),
|
|
50201
|
+
children: "\u2192"
|
|
50202
|
+
})]
|
|
50203
|
+
}));
|
|
50204
|
+
});
|
|
50205
|
+
MobilePagination.displayName = 'MobilePagination';
|
|
50206
|
+
|
|
50207
|
+
/**
|
|
50208
|
+
* A mobile-optimized toolbar with search input and optional filter button.
|
|
50209
|
+
* Filter button shows an active count badge when filters are applied.
|
|
50210
|
+
*/
|
|
50211
|
+
var MobileToolbar = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
50212
|
+
var searchValue = _a.searchValue,
|
|
50213
|
+
onSearchChange = _a.onSearchChange,
|
|
50214
|
+
_a$searchPlaceholder = _a.searchPlaceholder,
|
|
50215
|
+
searchPlaceholder = _a$searchPlaceholder === void 0 ? 'Search...' : _a$searchPlaceholder,
|
|
50216
|
+
onFilterClick = _a.onFilterClick,
|
|
50217
|
+
activeFilterCount = _a.activeFilterCount,
|
|
50218
|
+
className = _a.className,
|
|
50219
|
+
props = __rest$1(_a, ["searchValue", "onSearchChange", "searchPlaceholder", "onFilterClick", "activeFilterCount", "className"]);
|
|
50220
|
+
return require$$1.jsxs("div", Object.assign({
|
|
50221
|
+
ref: ref,
|
|
50222
|
+
className: clsx('flex items-center gap-2', className)
|
|
50223
|
+
}, props, {
|
|
50224
|
+
children: [require$$1.jsxs("div", {
|
|
50225
|
+
className: "relative flex-1",
|
|
50226
|
+
children: [require$$1.jsxs("svg", {
|
|
50227
|
+
className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-mw-neutral-400",
|
|
50228
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
50229
|
+
viewBox: "0 0 24 24",
|
|
50230
|
+
fill: "none",
|
|
50231
|
+
stroke: "currentColor",
|
|
50232
|
+
strokeWidth: "2",
|
|
50233
|
+
strokeLinecap: "round",
|
|
50234
|
+
strokeLinejoin: "round",
|
|
50235
|
+
"aria-hidden": "true",
|
|
50236
|
+
children: [require$$1.jsx("circle", {
|
|
50237
|
+
cx: "11",
|
|
50238
|
+
cy: "11",
|
|
50239
|
+
r: "8"
|
|
50240
|
+
}), require$$1.jsx("path", {
|
|
50241
|
+
d: "m21 21-4.3-4.3"
|
|
50242
|
+
})]
|
|
50243
|
+
}), require$$1.jsx("input", {
|
|
50244
|
+
type: "search",
|
|
50245
|
+
role: "searchbox",
|
|
50246
|
+
value: searchValue,
|
|
50247
|
+
onChange: function onChange(e) {
|
|
50248
|
+
return onSearchChange(e.target.value);
|
|
50249
|
+
},
|
|
50250
|
+
placeholder: searchPlaceholder,
|
|
50251
|
+
className: clsx('w-full h-11 pl-10 pr-4 text-sm rounded-lg', 'border border-mw-neutral-200 bg-white', 'dark:border-mw-neutral-700 dark:bg-mw-neutral-800', 'text-mw-neutral-900 dark:text-mw-neutral-100', 'placeholder:text-mw-neutral-400 dark:placeholder:text-mw-neutral-500', 'focus:outline-none focus:ring-2 focus:ring-mw-primary-500 focus:border-mw-primary-500')
|
|
50252
|
+
})]
|
|
50253
|
+
}), onFilterClick && require$$1.jsxs("button", {
|
|
50254
|
+
type: "button",
|
|
50255
|
+
"aria-label": "Filters",
|
|
50256
|
+
onClick: onFilterClick,
|
|
50257
|
+
className: clsx('relative flex items-center justify-center h-11 w-11 rounded-lg', 'border border-mw-neutral-200 bg-white', 'dark:border-mw-neutral-700 dark:bg-mw-neutral-800', 'text-mw-neutral-700 dark:text-mw-neutral-300', 'hover:bg-mw-neutral-50 dark:hover:bg-mw-neutral-700'),
|
|
50258
|
+
children: [require$$1.jsxs("svg", {
|
|
50259
|
+
className: "h-5 w-5",
|
|
50260
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
50261
|
+
viewBox: "0 0 24 24",
|
|
50262
|
+
fill: "none",
|
|
50263
|
+
stroke: "currentColor",
|
|
50264
|
+
strokeWidth: "2",
|
|
50265
|
+
strokeLinecap: "round",
|
|
50266
|
+
strokeLinejoin: "round",
|
|
50267
|
+
"aria-hidden": "true",
|
|
50268
|
+
children: [require$$1.jsx("line", {
|
|
50269
|
+
x1: "4",
|
|
50270
|
+
x2: "4",
|
|
50271
|
+
y1: "21",
|
|
50272
|
+
y2: "14"
|
|
50273
|
+
}), require$$1.jsx("line", {
|
|
50274
|
+
x1: "4",
|
|
50275
|
+
x2: "4",
|
|
50276
|
+
y1: "10",
|
|
50277
|
+
y2: "3"
|
|
50278
|
+
}), require$$1.jsx("line", {
|
|
50279
|
+
x1: "12",
|
|
50280
|
+
x2: "12",
|
|
50281
|
+
y1: "21",
|
|
50282
|
+
y2: "12"
|
|
50283
|
+
}), require$$1.jsx("line", {
|
|
50284
|
+
x1: "12",
|
|
50285
|
+
x2: "12",
|
|
50286
|
+
y1: "8",
|
|
50287
|
+
y2: "3"
|
|
50288
|
+
}), require$$1.jsx("line", {
|
|
50289
|
+
x1: "20",
|
|
50290
|
+
x2: "20",
|
|
50291
|
+
y1: "21",
|
|
50292
|
+
y2: "16"
|
|
50293
|
+
}), require$$1.jsx("line", {
|
|
50294
|
+
x1: "20",
|
|
50295
|
+
x2: "20",
|
|
50296
|
+
y1: "12",
|
|
50297
|
+
y2: "3"
|
|
50298
|
+
}), require$$1.jsx("line", {
|
|
50299
|
+
x1: "2",
|
|
50300
|
+
x2: "6",
|
|
50301
|
+
y1: "14",
|
|
50302
|
+
y2: "14"
|
|
50303
|
+
}), require$$1.jsx("line", {
|
|
50304
|
+
x1: "10",
|
|
50305
|
+
x2: "14",
|
|
50306
|
+
y1: "8",
|
|
50307
|
+
y2: "8"
|
|
50308
|
+
}), require$$1.jsx("line", {
|
|
50309
|
+
x1: "18",
|
|
50310
|
+
x2: "22",
|
|
50311
|
+
y1: "16",
|
|
50312
|
+
y2: "16"
|
|
50313
|
+
})]
|
|
50314
|
+
}), activeFilterCount != null && activeFilterCount > 0 && require$$1.jsx("span", {
|
|
50315
|
+
className: "absolute -top-1 -right-1 flex h-5 w-5 items-center justify-center rounded-full bg-mw-primary-500 text-[10px] font-bold text-white",
|
|
50316
|
+
children: activeFilterCount
|
|
50317
|
+
})]
|
|
50318
|
+
})]
|
|
50319
|
+
}));
|
|
50320
|
+
});
|
|
50321
|
+
MobileToolbar.displayName = 'MobileToolbar';
|
|
50322
|
+
|
|
50323
|
+
/**
|
|
50324
|
+
* Renders children only on mobile (hidden on md+ screens).
|
|
50325
|
+
* Uses CSS-based visibility — both layouts are in the DOM.
|
|
50326
|
+
*/
|
|
50327
|
+
var MobileOnly = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
50328
|
+
var children = _a.children,
|
|
50329
|
+
className = _a.className,
|
|
50330
|
+
props = __rest$1(_a, ["children", "className"]);
|
|
50331
|
+
return require$$1.jsx("div", Object.assign({
|
|
50332
|
+
ref: ref,
|
|
50333
|
+
className: clsx('md:hidden', className)
|
|
50334
|
+
}, props, {
|
|
50335
|
+
children: children
|
|
50336
|
+
}));
|
|
50337
|
+
});
|
|
50338
|
+
MobileOnly.displayName = 'MobileOnly';
|
|
50339
|
+
|
|
50340
|
+
/**
|
|
50341
|
+
* Renders children only on desktop (hidden below md breakpoint).
|
|
50342
|
+
* Uses CSS-based visibility — both layouts are in the DOM.
|
|
50343
|
+
*/
|
|
50344
|
+
var DesktopOnly = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
50345
|
+
var children = _a.children,
|
|
50346
|
+
className = _a.className,
|
|
50347
|
+
props = __rest$1(_a, ["children", "className"]);
|
|
50348
|
+
return require$$1.jsx("div", Object.assign({
|
|
50349
|
+
ref: ref,
|
|
50350
|
+
className: clsx('hidden md:block', className)
|
|
50351
|
+
}, props, {
|
|
50352
|
+
children: children
|
|
50353
|
+
}));
|
|
50354
|
+
});
|
|
50355
|
+
DesktopOnly.displayName = 'DesktopOnly';
|
|
50356
|
+
|
|
50357
|
+
var breakpointRowClass = {
|
|
50358
|
+
sm: 'sm:flex-row',
|
|
50359
|
+
md: 'md:flex-row',
|
|
50360
|
+
lg: 'lg:flex-row',
|
|
50361
|
+
xl: 'xl:flex-row'
|
|
50362
|
+
};
|
|
50363
|
+
/**
|
|
50364
|
+
* Stacks children vertically on mobile, horizontally on desktop.
|
|
50365
|
+
* Replaces the common `flex flex-col md:flex-row` pattern.
|
|
50366
|
+
*/
|
|
50367
|
+
var ResponsiveStack = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
50368
|
+
var _a$breakpoint = _a.breakpoint,
|
|
50369
|
+
breakpoint = _a$breakpoint === void 0 ? 'md' : _a$breakpoint,
|
|
50370
|
+
gap = _a.gap,
|
|
50371
|
+
_a$reverse = _a.reverse,
|
|
50372
|
+
reverse = _a$reverse === void 0 ? false : _a$reverse,
|
|
50373
|
+
children = _a.children,
|
|
50374
|
+
className = _a.className,
|
|
50375
|
+
props = __rest$1(_a, ["breakpoint", "gap", "reverse", "children", "className"]);
|
|
50376
|
+
return require$$1.jsx("div", Object.assign({
|
|
50377
|
+
ref: ref,
|
|
50378
|
+
className: clsx('flex', reverse ? 'flex-col-reverse' : 'flex-col', breakpointRowClass[breakpoint], gap != null && "gap-".concat(gap), className)
|
|
50379
|
+
}, props, {
|
|
50380
|
+
children: children
|
|
50381
|
+
}));
|
|
50382
|
+
});
|
|
50383
|
+
ResponsiveStack.displayName = 'ResponsiveStack';
|
|
50384
|
+
|
|
50385
|
+
/**
|
|
50386
|
+
* A collapsible panel for secondary information on mobile.
|
|
50387
|
+
* Wraps the design system Accordion for converting sidebar panels
|
|
50388
|
+
* (tips, insights, help text) into expandable sections.
|
|
50389
|
+
*/
|
|
50390
|
+
var CollapsibleInfoPanel = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
50391
|
+
var title = _a.title,
|
|
50392
|
+
icon = _a.icon,
|
|
50393
|
+
_a$defaultOpen = _a.defaultOpen,
|
|
50394
|
+
defaultOpen = _a$defaultOpen === void 0 ? false : _a$defaultOpen,
|
|
50395
|
+
children = _a.children,
|
|
50396
|
+
className = _a.className,
|
|
50397
|
+
props = __rest$1(_a, ["title", "icon", "defaultOpen", "children", "className"]);
|
|
50398
|
+
return require$$1.jsx("div", Object.assign({
|
|
50399
|
+
ref: ref,
|
|
50400
|
+
className: clsx(className)
|
|
50401
|
+
}, props, {
|
|
50402
|
+
children: require$$1.jsx(Accordion, {
|
|
50403
|
+
type: "single",
|
|
50404
|
+
defaultValue: defaultOpen ? 'panel' : undefined,
|
|
50405
|
+
children: require$$1.jsxs(AccordionItem, {
|
|
50406
|
+
value: "panel",
|
|
50407
|
+
children: [require$$1.jsxs(AccordionTrigger, {
|
|
50408
|
+
className: clsx('flex items-center gap-2 text-sm font-medium', 'text-mw-neutral-900 dark:text-mw-neutral-100'),
|
|
50409
|
+
children: [icon && require$$1.jsx("span", {
|
|
50410
|
+
className: "flex-shrink-0",
|
|
50411
|
+
children: icon
|
|
50412
|
+
}), title]
|
|
50413
|
+
}), require$$1.jsx(AccordionContent, {
|
|
50414
|
+
children: require$$1.jsx("div", {
|
|
50415
|
+
className: "pt-2",
|
|
50416
|
+
children: children
|
|
50417
|
+
})
|
|
50418
|
+
})]
|
|
50419
|
+
})
|
|
50420
|
+
})
|
|
50421
|
+
}));
|
|
50422
|
+
});
|
|
50423
|
+
CollapsibleInfoPanel.displayName = 'CollapsibleInfoPanel';
|
|
50424
|
+
|
|
50425
|
+
/**
|
|
50426
|
+
* Renders content that is visually hidden but accessible to screen readers.
|
|
50427
|
+
* Use this instead of ad-hoc `sr-only` classes for consistent accessibility.
|
|
50428
|
+
*/
|
|
50429
|
+
var VisuallyHidden = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
50430
|
+
var _a$as = _a.as,
|
|
50431
|
+
Component = _a$as === void 0 ? 'span' : _a$as,
|
|
50432
|
+
children = _a.children,
|
|
50433
|
+
style = _a.style,
|
|
50434
|
+
props = __rest$1(_a, ["as", "children", "style"]);
|
|
50435
|
+
return require$$1.jsx(Component, Object.assign({
|
|
50436
|
+
ref: ref,
|
|
50437
|
+
style: Object.assign({
|
|
50438
|
+
position: 'absolute',
|
|
50439
|
+
width: '1px',
|
|
50440
|
+
height: '1px',
|
|
50441
|
+
padding: 0,
|
|
50442
|
+
margin: '-1px',
|
|
50443
|
+
overflow: 'hidden',
|
|
50444
|
+
clip: 'rect(0, 0, 0, 0)',
|
|
50445
|
+
whiteSpace: 'nowrap',
|
|
50446
|
+
borderWidth: 0
|
|
50447
|
+
}, style)
|
|
50448
|
+
}, props, {
|
|
50449
|
+
children: children
|
|
50450
|
+
}));
|
|
50451
|
+
});
|
|
50452
|
+
VisuallyHidden.displayName = 'VisuallyHidden';
|
|
50453
|
+
|
|
50454
|
+
var FOCUSABLE_SELECTOR = 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]):not([disabled])';
|
|
50455
|
+
/**
|
|
50456
|
+
* Traps keyboard focus within its children.
|
|
50457
|
+
* Use in modals, dialogs, and sheets to prevent focus from escaping.
|
|
50458
|
+
*/
|
|
50459
|
+
var FocusScope = /*#__PURE__*/React.forwardRef(function (_a, _ref) {
|
|
50460
|
+
var _a$trapped = _a.trapped,
|
|
50461
|
+
trapped = _a$trapped === void 0 ? false : _a$trapped,
|
|
50462
|
+
_a$autoFocus = _a.autoFocus,
|
|
50463
|
+
autoFocus = _a$autoFocus === void 0 ? false : _a$autoFocus,
|
|
50464
|
+
onEscape = _a.onEscape,
|
|
50465
|
+
children = _a.children,
|
|
50466
|
+
className = _a.className,
|
|
50467
|
+
props = __rest$1(_a, ["trapped", "autoFocus", "onEscape", "children", "className"]);
|
|
50468
|
+
var containerRef = React.useRef(null);
|
|
50469
|
+
var getFocusableElements = React.useCallback(function () {
|
|
50470
|
+
if (!containerRef.current) return [];
|
|
50471
|
+
return Array.from(containerRef.current.querySelectorAll(FOCUSABLE_SELECTOR));
|
|
50472
|
+
}, []);
|
|
50473
|
+
React.useEffect(function () {
|
|
50474
|
+
if (!autoFocus || !containerRef.current) return;
|
|
50475
|
+
var focusable = getFocusableElements();
|
|
50476
|
+
if (focusable.length > 0) {
|
|
50477
|
+
focusable[0].focus();
|
|
50478
|
+
}
|
|
50479
|
+
}, [autoFocus, getFocusableElements]);
|
|
50480
|
+
React.useEffect(function () {
|
|
50481
|
+
if (!trapped || !containerRef.current) return;
|
|
50482
|
+
var handleKeyDown = function handleKeyDown(e) {
|
|
50483
|
+
if (e.key === 'Escape' && onEscape) {
|
|
50484
|
+
onEscape();
|
|
50485
|
+
return;
|
|
50486
|
+
}
|
|
50487
|
+
if (e.key !== 'Tab') return;
|
|
50488
|
+
var focusable = getFocusableElements();
|
|
50489
|
+
if (focusable.length === 0) return;
|
|
50490
|
+
var first = focusable[0];
|
|
50491
|
+
var last = focusable[focusable.length - 1];
|
|
50492
|
+
if (e.shiftKey) {
|
|
50493
|
+
if (document.activeElement === first) {
|
|
50494
|
+
e.preventDefault();
|
|
50495
|
+
last.focus();
|
|
50496
|
+
}
|
|
50497
|
+
} else {
|
|
50498
|
+
if (document.activeElement === last) {
|
|
50499
|
+
e.preventDefault();
|
|
50500
|
+
first.focus();
|
|
50501
|
+
}
|
|
50502
|
+
}
|
|
50503
|
+
};
|
|
50504
|
+
var container = containerRef.current;
|
|
50505
|
+
container.addEventListener('keydown', handleKeyDown);
|
|
50506
|
+
return function () {
|
|
50507
|
+
return container.removeEventListener('keydown', handleKeyDown);
|
|
50508
|
+
};
|
|
50509
|
+
}, [trapped, onEscape, getFocusableElements]);
|
|
50510
|
+
return require$$1.jsx("div", Object.assign({
|
|
50511
|
+
ref: function ref(node) {
|
|
50512
|
+
containerRef.current = node;
|
|
50513
|
+
if (typeof _ref === 'function') _ref(node);else if (_ref) _ref.current = node;
|
|
50514
|
+
},
|
|
50515
|
+
className: clsx(className)
|
|
50516
|
+
}, props, {
|
|
50517
|
+
children: children
|
|
50518
|
+
}));
|
|
50519
|
+
});
|
|
50520
|
+
FocusScope.displayName = 'FocusScope';
|
|
50521
|
+
|
|
49765
50522
|
function PageHeader(_a) {
|
|
49766
50523
|
var title = _a.title,
|
|
49767
50524
|
description = _a.description,
|
|
@@ -57645,6 +58402,7 @@ exports.CodeSnippet = CodeSnippet;
|
|
|
57645
58402
|
exports.Collapsible = Collapsible;
|
|
57646
58403
|
exports.CollapsibleCode = CollapsibleCode;
|
|
57647
58404
|
exports.CollapsibleContent = CollapsibleContent;
|
|
58405
|
+
exports.CollapsibleInfoPanel = CollapsibleInfoPanel;
|
|
57648
58406
|
exports.CollapsibleTrigger = CollapsibleTrigger;
|
|
57649
58407
|
exports.ColumnCustomizationDrawer = ColumnCustomizationDrawer;
|
|
57650
58408
|
exports.Command = Command;
|
|
@@ -57658,6 +58416,7 @@ exports.DataGrid = DataGrid;
|
|
|
57658
58416
|
exports.DatePicker = DatePicker;
|
|
57659
58417
|
exports.DateRangePicker = DateRangePicker;
|
|
57660
58418
|
exports.DescriptionList = DescriptionList;
|
|
58419
|
+
exports.DesktopOnly = DesktopOnly;
|
|
57661
58420
|
exports.Dialog = Dialog;
|
|
57662
58421
|
exports.DialogContent = DialogContent;
|
|
57663
58422
|
exports.DialogDescription = DialogDescription;
|
|
@@ -57686,6 +58445,7 @@ exports.FileUpload = FileUpload;
|
|
|
57686
58445
|
exports.Filter = Filter;
|
|
57687
58446
|
exports.FlexContainer = FlexContainer;
|
|
57688
58447
|
exports.FloatingElement = FloatingElement;
|
|
58448
|
+
exports.FocusScope = FocusScope;
|
|
57689
58449
|
exports.Footer = Footer;
|
|
57690
58450
|
exports.Form = Form;
|
|
57691
58451
|
exports.FormActions = FormActions;
|
|
@@ -57727,6 +58487,10 @@ exports.MenuRadioItem = MenuRadioItem;
|
|
|
57727
58487
|
exports.MenuSeparator = MenuSeparator;
|
|
57728
58488
|
exports.MetricCard = MetricCard;
|
|
57729
58489
|
exports.MinusIcon = MinusIcon;
|
|
58490
|
+
exports.MobileDataCard = MobileDataCard;
|
|
58491
|
+
exports.MobileOnly = MobileOnly;
|
|
58492
|
+
exports.MobilePagination = MobilePagination;
|
|
58493
|
+
exports.MobileToolbar = MobileToolbar;
|
|
57730
58494
|
exports.Modal = Modal;
|
|
57731
58495
|
exports.ModalBody = ModalBody;
|
|
57732
58496
|
exports.ModalFooter = ModalFooter;
|
|
@@ -57759,6 +58523,7 @@ exports.RadioGroup = RadioGroup;
|
|
|
57759
58523
|
exports.RadioGroupItem = RadioGroupItem;
|
|
57760
58524
|
exports.Rating = Rating;
|
|
57761
58525
|
exports.ResponsiveContainer = ResponsiveContainer;
|
|
58526
|
+
exports.ResponsiveStack = ResponsiveStack;
|
|
57762
58527
|
exports.RichTextEditor = RichTextEditor;
|
|
57763
58528
|
exports.ScheduleGrid = ScheduleGrid;
|
|
57764
58529
|
exports.ScrollArea = ScrollArea;
|
|
@@ -57835,6 +58600,7 @@ exports.ToggleGroupItem = ToggleGroupItem;
|
|
|
57835
58600
|
exports.Tooltip = Tooltip;
|
|
57836
58601
|
exports.TreeView = TreeView;
|
|
57837
58602
|
exports.VideoThumbnail = VideoThumbnail;
|
|
58603
|
+
exports.VisuallyHidden = VisuallyHidden;
|
|
57838
58604
|
exports.borderRadius = borderRadius;
|
|
57839
58605
|
exports.borderWidth = borderWidth;
|
|
57840
58606
|
exports.breakpoints = breakpoints;
|
|
@@ -57854,6 +58620,8 @@ exports.shadows = shadows;
|
|
|
57854
58620
|
exports.spacing = spacing;
|
|
57855
58621
|
exports.tokens = tokens;
|
|
57856
58622
|
exports.typography = typography;
|
|
58623
|
+
exports.useAdvancedTable = useAdvancedTable;
|
|
58624
|
+
exports.useCalendar = useCalendar;
|
|
57857
58625
|
exports.useDragDrop = useDragDrop;
|
|
57858
58626
|
exports.useFormContext = useFormContext;
|
|
57859
58627
|
exports.useIconSearch = useIconSearch;
|