@mt-gloss/ui 0.0.9 → 0.0.10
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/catalog.d.ts +7 -0
- package/catalog.js +614 -0
- package/index.d.ts +274 -2
- package/index.js +2217 -18330
- package/internals.d.ts +64 -0
- package/internals.js +279 -0
- package/lib/base/BaseAccordion/BaseAccordion.d.ts +51 -0
- package/lib/base/BaseAlert/BaseAlert.d.ts +28 -0
- package/lib/base/BaseAsyncButton/BaseAsyncButton.d.ts +22 -0
- package/lib/base/BaseAvatar/BaseAvatar.d.ts +28 -0
- package/lib/base/BaseBadge/BaseBadge.d.ts +31 -0
- package/lib/base/BaseBox/BaseBox.d.ts +35 -0
- package/lib/base/BaseBreadcrumbs/BaseBreadcrumbs.d.ts +26 -0
- package/lib/base/BaseButton/BaseButton.d.ts +38 -0
- package/lib/base/BaseCard/BaseCard.d.ts +109 -0
- package/lib/base/BaseCheckbox/BaseCheckbox.d.ts +23 -0
- package/lib/base/BaseChip/BaseChip.d.ts +38 -0
- package/lib/base/BaseColorPicker/BaseColorPicker.d.ts +77 -0
- package/lib/base/BaseDatePicker/BaseDatePicker.d.ts +76 -0
- package/lib/base/BaseDateRangePicker/BaseDateRangePicker.d.ts +47 -0
- package/lib/base/BaseDialog/BaseDialog.d.ts +54 -0
- package/lib/base/BaseDivider/BaseDivider.d.ts +24 -0
- package/lib/base/BaseFileUpload/BaseFileUpload.d.ts +57 -0
- package/lib/base/BaseIcon/BaseIcon.d.ts +23 -0
- package/lib/base/BaseInput/BaseInput.d.ts +34 -0
- package/lib/base/BaseLabel/BaseLabel.d.ts +21 -0
- package/lib/base/BaseLink/BaseLink.d.ts +29 -0
- package/lib/base/BaseMaskedInput/BaseMaskedInput.d.ts +31 -0
- package/lib/base/BaseMenu/BaseMenu.d.ts +70 -0
- package/lib/base/BaseNumberInput/BaseNumberInput.d.ts +31 -0
- package/lib/base/BaseOverlay/BaseOverlay.d.ts +39 -0
- package/lib/base/BaseOverlay/useOverlayDismiss.d.ts +15 -0
- package/lib/base/BaseOverlay/useOverlayPositioning.d.ts +13 -0
- package/lib/base/BasePopover/BasePopover.d.ts +40 -0
- package/lib/base/BaseProgressBar/BaseProgressBar.d.ts +27 -0
- package/lib/base/BaseRadio/BaseRadio.d.ts +20 -0
- package/lib/base/BaseRangeSlider/BaseRangeSlider.d.ts +31 -0
- package/lib/base/BaseRating/BaseRating.d.ts +25 -0
- package/lib/base/BaseSegmentedControl/BaseSegmentedControl.d.ts +26 -0
- package/lib/base/BaseSelect/BaseSelect.d.ts +83 -0
- package/lib/base/BaseSlider/BaseSlider.d.ts +29 -0
- package/lib/base/BaseStack/BaseStack.d.ts +26 -0
- package/lib/base/BaseTable/BaseTable.d.ts +97 -0
- package/lib/base/BaseText/BaseText.d.ts +19 -0
- package/lib/base/BaseTextarea/BaseTextarea.d.ts +37 -0
- package/lib/base/BaseTimePicker/BaseTimePicker.d.ts +55 -0
- package/lib/base/BaseTitle/BaseTitle.d.ts +22 -0
- package/lib/base/BaseToast/BaseToast.d.ts +35 -0
- package/lib/base/BaseToggle/BaseToggle.d.ts +22 -0
- package/lib/base/BaseTooltip/BaseTooltip.d.ts +27 -0
- package/lib/base/BaseTypography/BaseTypography.d.ts +30 -0
- package/lib/base/BaseValue/BaseValue.d.ts +20 -0
- package/lib/base/index.d.ts +65 -0
- package/lib/base/types.d.ts +9 -0
- package/lib/base/utils.d.ts +18 -0
- package/lib/composites/controls/ThresholdRamp/ThresholdRamp.d.ts +24 -0
- package/lib/composites/controls/ThresholdRamp/index.d.ts +2 -0
- package/lib/composites/controls/index.d.ts +1 -0
- package/lib/composites/dashboard/QuickConfigPanel/QuickConfigPanel.d.ts +14 -0
- package/lib/composites/dashboard/QuickConfigPanel/index.d.ts +2 -0
- package/lib/composites/dashboard/QuickConfigPanel/types.d.ts +38 -0
- package/lib/composites/data/DataTable.d.ts +61 -0
- package/lib/composites/data/PinToMetric/PinToMetric.d.ts +11 -0
- package/lib/composites/data/PinToMetric/index.d.ts +2 -0
- package/lib/composites/data/PinToMetric/types.d.ts +17 -0
- package/lib/composites/data/index.d.ts +4 -0
- package/lib/composites/index.d.ts +5 -0
- package/lib/composites/inputs/Autocomplete.d.ts +36 -0
- package/lib/composites/inputs/EntityPicker.d.ts +36 -0
- package/lib/composites/inputs/FilterChip.d.ts +29 -0
- package/lib/composites/inputs/MultiSelect.d.ts +38 -0
- package/lib/composites/inputs/index.d.ts +8 -0
- package/lib/composites/navigation/Stepper.d.ts +40 -0
- package/lib/composites/navigation/index.d.ts +2 -0
- package/lib/composites/overlay/Dropdown/Dropdown.d.ts +22 -0
- package/lib/composites/overlay/Dropdown/index.d.ts +2 -0
- package/lib/composites/overlay/FormDialog.d.ts +38 -0
- package/lib/composites/overlay/InlineNudge/InlineNudge.d.ts +26 -0
- package/lib/composites/overlay/InlineNudge/index.d.ts +12 -0
- package/lib/composites/overlay/MergePrompt/MergePrompt.d.ts +16 -0
- package/lib/composites/overlay/MergePrompt/index.d.ts +2 -0
- package/lib/composites/overlay/MergePrompt/types.d.ts +15 -0
- package/lib/composites/overlay/SplitButton/SplitButton.d.ts +27 -0
- package/lib/composites/overlay/SplitButton/index.d.ts +2 -0
- package/lib/composites/overlay/index.d.ts +6 -0
- package/lib/compositions/feedback/DestructiveModal.d.ts +1 -1
- package/lib/compositions/filters/OrderFilterBar.d.ts +35 -0
- package/lib/compositions/filters/index.d.ts +2 -0
- package/lib/compositions/forms/AddressGroup.d.ts +13 -1
- package/lib/compositions/forms/ContactForm.d.ts +31 -0
- package/lib/compositions/forms/CreditCardForm.d.ts +3 -1
- package/lib/compositions/forms/LoginForm.d.ts +3 -1
- package/lib/compositions/forms/PaymentForm.d.ts +50 -0
- package/lib/compositions/forms/RegistrationForm.d.ts +39 -0
- package/lib/compositions/forms/index.d.ts +3 -0
- package/lib/compositions/index.d.ts +3 -0
- package/lib/compositions/navigation/ImportWizard.d.ts +28 -0
- package/lib/compositions/navigation/index.d.ts +2 -0
- package/lib/compositions/panels/EntitySearchPanel.d.ts +41 -0
- package/lib/compositions/panels/ProfileCard.d.ts +34 -0
- package/lib/compositions/panels/index.d.ts +4 -0
- package/lib/containers/ContainerCard/ContainerCard.d.ts +13 -0
- package/lib/containers/ContainerDialog/ContainerDialog.d.ts +27 -0
- package/lib/containers/ContainerForm/ContainerForm.d.ts +45 -0
- package/lib/containers/ContainerFormField/ContainerFormField.d.ts +31 -0
- package/lib/containers/ContainerFormSection/ContainerFormSection.d.ts +13 -0
- package/lib/containers/ContainerPanel/ContainerPanel.d.ts +14 -0
- package/lib/containers/ContainerTable/ContainerTable.d.ts +12 -0
- package/lib/containers/ContainerToolbar/ContainerToolbar.d.ts +11 -0
- package/lib/containers/UIContext.d.ts +26 -0
- package/lib/containers/index.d.ts +18 -0
- package/lib/dictionary/border.d.ts +11 -0
- package/lib/dictionary/breakpoint.d.ts +12 -0
- package/lib/dictionary/color.d.ts +67 -0
- package/lib/dictionary/elevation.d.ts +16 -0
- package/lib/dictionary/index.d.ts +14 -0
- package/lib/dictionary/motion.d.ts +13 -0
- package/lib/dictionary/opacity.d.ts +11 -0
- package/lib/dictionary/radius.d.ts +14 -0
- package/lib/dictionary/spacing.d.ts +18 -0
- package/lib/dictionary/typography.d.ts +25 -0
- package/lib/dictionary/z-index.d.ts +13 -0
- package/lib/facade/composites.d.ts +56 -0
- package/lib/facade/compositions.d.ts +27 -0
- package/lib/facade/containers.d.ts +8 -0
- package/lib/facade/data-display.d.ts +41 -0
- package/lib/facade/display.d.ts +50 -0
- package/lib/facade/feedback.d.ts +6 -0
- package/lib/facade/index.d.ts +17 -0
- package/lib/facade/inputs.d.ts +43 -0
- package/lib/facade/layout.d.ts +8 -0
- package/lib/facade/overlay.d.ts +26 -0
- package/lib/facade/typography.d.ts +12 -0
- package/lib/facade/wrappers.d.ts +26 -0
- package/lib/presets/PresetAccordion/PresetAccordion.d.ts +21 -0
- package/lib/presets/PresetAlert/PresetAlert.d.ts +17 -0
- package/lib/presets/PresetAsyncButton/PresetAsyncButton.d.ts +22 -0
- package/lib/presets/PresetAsyncLoader/PresetAsyncLoader.d.ts +6 -0
- package/lib/presets/PresetAvatar/PresetAvatar.d.ts +18 -0
- package/lib/presets/PresetBadge/PresetBadge.d.ts +15 -0
- package/lib/presets/PresetBreadcrumbs/PresetBreadcrumbs.d.ts +15 -0
- package/lib/presets/PresetButton/PresetButton.d.ts +27 -0
- package/lib/presets/PresetButtonGroup/PresetButtonGroup.d.ts +6 -0
- package/lib/presets/PresetCard/PresetCard.d.ts +45 -0
- package/lib/presets/PresetCheckbox/PresetCheckbox.d.ts +23 -0
- package/lib/presets/PresetCheckboxGroup/PresetCheckboxGroup.d.ts +6 -0
- package/lib/presets/PresetChip/PresetChip.d.ts +22 -0
- package/lib/presets/PresetColorPicker/PresetColorPicker.d.ts +22 -0
- package/lib/presets/PresetDatePicker/PresetDatePicker.d.ts +29 -0
- package/lib/presets/PresetDateRangePicker/PresetDateRangePicker.d.ts +37 -0
- package/lib/presets/PresetDialog/PresetDialog.d.ts +46 -0
- package/lib/presets/PresetDivider/PresetDivider.d.ts +13 -0
- package/lib/presets/PresetDropdown/PresetDropdown.d.ts +6 -0
- package/lib/presets/PresetFileUpload/PresetFileUpload.d.ts +35 -0
- package/lib/presets/PresetForm/PresetForm.d.ts +6 -0
- package/lib/presets/PresetFormField/PresetFormField.d.ts +6 -0
- package/lib/presets/PresetInput/PresetInput.d.ts +24 -0
- package/lib/presets/PresetInputGroup/PresetInputGroup.d.ts +6 -0
- package/lib/presets/PresetLabel/PresetLabel.d.ts +18 -0
- package/lib/presets/PresetLink/PresetLink.d.ts +21 -0
- package/lib/presets/PresetMaskedInput/PresetMaskedInput.d.ts +41 -0
- package/lib/presets/PresetMenu/PresetMenu.d.ts +33 -0
- package/lib/presets/PresetNumberInput/PresetNumberInput.d.ts +26 -0
- package/lib/presets/PresetPopover/PresetPopover.d.ts +17 -0
- package/lib/presets/PresetProgressBar/PresetProgressBar.d.ts +19 -0
- package/lib/presets/PresetRadio/PresetRadio.d.ts +21 -0
- package/lib/presets/PresetRadioGroup/PresetRadioGroup.d.ts +6 -0
- package/lib/presets/PresetRangeSlider/PresetRangeSlider.d.ts +30 -0
- package/lib/presets/PresetRating/PresetRating.d.ts +19 -0
- package/lib/presets/PresetSegmentedControl/PresetSegmentedControl.d.ts +28 -0
- package/lib/presets/PresetSelect/PresetSelect.d.ts +63 -0
- package/lib/presets/PresetSlider/PresetSlider.d.ts +29 -0
- package/lib/presets/PresetSplitButton/PresetSplitButton.d.ts +6 -0
- package/lib/presets/PresetSwatchRow/PresetSwatchRow.d.ts +28 -0
- package/lib/presets/PresetSwatchRow/index.d.ts +2 -0
- package/lib/presets/PresetText/PresetText.d.ts +17 -0
- package/lib/presets/PresetTextarea/PresetTextarea.d.ts +25 -0
- package/lib/presets/PresetTimePicker/PresetTimePicker.d.ts +27 -0
- package/lib/presets/PresetTitle/PresetTitle.d.ts +19 -0
- package/lib/presets/PresetToast/PresetToast.d.ts +19 -0
- package/lib/presets/PresetToggle/PresetToggle.d.ts +21 -0
- package/lib/presets/PresetTooltip/PresetTooltip.d.ts +20 -0
- package/lib/presets/PresetTransition/PresetTransition.d.ts +6 -0
- package/lib/presets/PresetValue/PresetValue.d.ts +15 -0
- package/lib/presets/createPreset.d.ts +64 -0
- package/lib/presets/index.d.ts +86 -0
- package/lib/presets/types.d.ts +13 -0
- package/lib/primitives/Accordion.d.ts +12 -102
- package/lib/primitives/AsyncLoader.d.ts +4 -39
- package/lib/primitives/Badge.d.ts +5 -40
- package/lib/primitives/Button.d.ts +4 -71
- package/lib/primitives/ButtonGroup.d.ts +4 -70
- package/lib/primitives/Card.d.ts +20 -138
- package/lib/primitives/Checkbox.d.ts +4 -68
- package/lib/primitives/CheckboxGroup.d.ts +4 -160
- package/lib/primitives/Chip.d.ts +5 -66
- package/lib/primitives/ColorPicker.d.ts +4 -80
- package/lib/primitives/DatePicker.d.ts +4 -100
- package/lib/primitives/DateRangePicker.d.ts +4 -107
- package/lib/primitives/Dropdown.d.ts +4 -63
- package/lib/primitives/FileUpload.d.ts +4 -107
- package/lib/primitives/Form.d.ts +4 -117
- package/lib/primitives/FormField.d.ts +4 -67
- package/lib/primitives/Input.d.ts +4 -87
- package/lib/primitives/InputGroup.d.ts +4 -57
- package/lib/primitives/Link.d.ts +4 -67
- package/lib/primitives/MaskedInput.d.ts +4 -93
- package/lib/primitives/Menu.d.ts +12 -131
- package/lib/primitives/NumberInput.d.ts +4 -79
- package/lib/primitives/Radio.d.ts +4 -58
- package/lib/primitives/RadioGroup.d.ts +4 -161
- package/lib/primitives/RangeSlider.d.ts +4 -103
- package/lib/primitives/Rating.d.ts +4 -113
- package/lib/primitives/SegmentedControl.d.ts +4 -94
- package/lib/primitives/Select.d.ts +5 -203
- package/lib/primitives/Slider.d.ts +4 -109
- package/lib/primitives/SplitButton.d.ts +4 -82
- package/lib/primitives/Textarea.d.ts +4 -57
- package/lib/primitives/TimePicker.d.ts +4 -91
- package/lib/primitives/Toggle.d.ts +4 -66
- package/lib/primitives/Tooltip.d.ts +6 -86
- package/lib/primitives/Transition.d.ts +4 -105
- package/lib/primitives/dashboard/MetricCard/CardBack.d.ts +17 -2
- package/lib/primitives/dashboard/MetricCard/CardShell.d.ts +1 -1
- package/lib/primitives/dashboard/MetricCard/EdgeHoverHandle.d.ts +20 -0
- package/lib/primitives/dashboard/MetricCard/GhostPreview.d.ts +24 -0
- package/lib/primitives/dashboard/MetricCard/GutterActions.d.ts +12 -2
- package/lib/primitives/dashboard/MetricCard/MetricCard.d.ts +0 -28
- package/lib/primitives/dashboard/MetricCard/StatusModeCard.d.ts +5 -0
- package/lib/primitives/dashboard/MetricCard/StatusSlotChipMenu.d.ts +28 -0
- package/lib/primitives/dashboard/MetricCard/flipAndStage/FlipAndStageProvider.d.ts +29 -0
- package/lib/primitives/dashboard/MetricCard/flipAndStage/index.d.ts +15 -0
- package/lib/primitives/dashboard/MetricCard/flipAndStage/types.d.ts +83 -0
- package/lib/primitives/dashboard/MetricCard/flipAndStage/useFlipAndStage.d.ts +10 -0
- package/lib/primitives/dashboard/MetricCard/index.d.ts +10 -0
- package/lib/primitives/dashboard/MetricCard/types.d.ts +48 -4
- package/lib/primitives/dashboard/MetricCard/useEdgeHoverResize.d.ts +52 -0
- package/lib/primitives/dashboard/MetricCard/useSlotCapacity.d.ts +12 -0
- package/lib/primitives/dashboard/MetricCardGrid/MetricCardGrid.d.ts +21 -19
- package/lib/primitives/dashboard/MetricCardGrid/types.d.ts +8 -1
- package/lib/primitives/dashboard/MetricGroupContainer/MetricGroupContainer.d.ts +5 -0
- package/lib/primitives/dashboard/MetricGroupContainer/__tests__/fixtures.d.ts +13 -0
- package/lib/primitives/dashboard/MetricGroupContainer/index.d.ts +2 -0
- package/lib/primitives/dashboard/MetricGroupContainer/types.d.ts +34 -0
- package/lib/primitives/dashboard/PageChip/PageChip.d.ts +27 -0
- package/lib/primitives/dashboard/PageChip/PageDropdown.d.ts +29 -0
- package/lib/primitives/dashboard/PageChip/index.d.ts +3 -0
- package/lib/primitives/dashboard/PageChip/types.d.ts +36 -0
- package/lib/primitives/dashboard/TimeFrame/SimpleSelector.d.ts +9 -0
- package/lib/primitives/dashboard/TimeFrame/index.d.ts +2 -0
- package/lib/primitives/dashboard/TimeFrame/types.d.ts +8 -0
- package/lib/primitives/dashboard/UnifiedContextMenu/types.d.ts +2 -0
- package/lib/primitives/dashboard/index.d.ts +2 -0
- package/lib/wrappers/Actionable/Actionable.d.ts +17 -0
- package/lib/wrappers/AsyncLoader/AsyncLoader.d.ts +13 -0
- package/lib/wrappers/ButtonGroup/ButtonGroup.d.ts +23 -0
- package/lib/wrappers/CheckboxGroup/CheckboxGroup.d.ts +52 -0
- package/lib/wrappers/Dismissible/Dismissible.d.ts +24 -0
- package/lib/wrappers/Expandable/Expandable.d.ts +23 -0
- package/lib/wrappers/InputGroup/InputGroup.d.ts +20 -0
- package/lib/wrappers/RadioGroup/RadioGroup.d.ts +52 -0
- package/lib/wrappers/Selectable/Selectable.d.ts +19 -0
- package/lib/wrappers/Sortable/Sortable.d.ts +27 -0
- package/lib/wrappers/SortableZones/SortableZones.d.ts +32 -0
- package/lib/wrappers/SortableZones/index.d.ts +4 -0
- package/lib/wrappers/SortableZones/useSortableZones.d.ts +66 -0
- package/lib/wrappers/Transition/Transition.d.ts +49 -0
- package/lib/wrappers/index.d.ts +25 -0
- package/lib/wrappers/utils.d.ts +10 -0
- package/package.json +36 -2
- package/index.css +0 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface ActionableProps {
|
|
3
|
+
/** Called when the child is activated (click or Enter/Space key) */
|
|
4
|
+
onAction?: (e: React.SyntheticEvent) => void;
|
|
5
|
+
/** Disable the actionable behavior */
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
/** ARIA role for the wrapped element (default: 'button') */
|
|
8
|
+
role?: string;
|
|
9
|
+
children: React.ReactElement;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Functional Wrapper: grants action behavior (click + keyboard) to any child element.
|
|
13
|
+
* Adds onClick, onKeyDown (Enter/Space), tabIndex, and role='button'.
|
|
14
|
+
*
|
|
15
|
+
* Usage: <Actionable onAction={handleClick}><Card>...</Card></Actionable>
|
|
16
|
+
*/
|
|
17
|
+
export declare const Actionable: React.ForwardRefExoticComponent<ActionableProps & React.RefAttributes<HTMLElement>>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface AsyncLoaderProps {
|
|
3
|
+
color?: 'blue' | 'green';
|
|
4
|
+
isLoading?: boolean;
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* AsyncLoader -- Wrapper tier. SVG perimeter-tracing animation wrapper.
|
|
9
|
+
* Strips className/style from consumer API.
|
|
10
|
+
*/
|
|
11
|
+
export declare const AsyncLoader: React.ForwardRefExoticComponent<AsyncLoaderProps & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
export { AsyncLoader as PresetAsyncLoader };
|
|
13
|
+
export type { AsyncLoaderProps as PresetAsyncLoaderProps };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface ButtonGroupProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
orientation?: 'horizontal' | 'vertical';
|
|
5
|
+
attached?: boolean;
|
|
6
|
+
size?: 'sm' | 'md' | 'lg';
|
|
7
|
+
variant?: string;
|
|
8
|
+
fullWidth?: boolean;
|
|
9
|
+
gap?: 'none' | 'sm' | 'md' | 'lg';
|
|
10
|
+
}
|
|
11
|
+
export interface ButtonGroupContextValue {
|
|
12
|
+
size?: 'sm' | 'md' | 'lg';
|
|
13
|
+
variant?: string;
|
|
14
|
+
isInGroup: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare const ButtonGroupContext: React.Context<ButtonGroupContextValue>;
|
|
17
|
+
/**
|
|
18
|
+
* ButtonGroup -- Wrapper tier. Groups related buttons with context propagation.
|
|
19
|
+
* Locked-down API (no className/style).
|
|
20
|
+
*/
|
|
21
|
+
export declare const ButtonGroup: React.ForwardRefExoticComponent<ButtonGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
22
|
+
export { ButtonGroup as PresetButtonGroup };
|
|
23
|
+
export type { ButtonGroupProps as PresetButtonGroupProps };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface CheckboxGroupOption<T = string> {
|
|
3
|
+
value: T;
|
|
4
|
+
label: React.ReactNode;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
helperText?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface CheckboxGroupProps<T = string> {
|
|
9
|
+
value?: T[];
|
|
10
|
+
defaultValue?: T[];
|
|
11
|
+
onChange?: (value: T[]) => void;
|
|
12
|
+
options?: CheckboxGroupOption<T>[];
|
|
13
|
+
children?: React.ReactNode;
|
|
14
|
+
orientation?: 'horizontal' | 'vertical';
|
|
15
|
+
size?: 'sm' | 'md' | 'lg';
|
|
16
|
+
label?: string;
|
|
17
|
+
helperText?: string;
|
|
18
|
+
status?: 'default' | 'success' | 'error';
|
|
19
|
+
required?: boolean;
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
name?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface CheckboxGroupContextValue<T = string> {
|
|
24
|
+
values: T[];
|
|
25
|
+
toggle: (value: T) => void;
|
|
26
|
+
isSelected: (value: T) => boolean;
|
|
27
|
+
groupProps: {
|
|
28
|
+
size?: 'sm' | 'md' | 'lg';
|
|
29
|
+
status?: 'default' | 'success' | 'error';
|
|
30
|
+
disabled?: boolean;
|
|
31
|
+
name?: string;
|
|
32
|
+
};
|
|
33
|
+
isInGroup: boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare function useCheckboxGroupContext<T = string>(): CheckboxGroupContextValue<T> | null;
|
|
36
|
+
/**
|
|
37
|
+
* CheckboxGroup -- Wrapper tier. Manages multiple checkbox selections.
|
|
38
|
+
* Locked-down API (no className/style).
|
|
39
|
+
*/
|
|
40
|
+
export declare function CheckboxGroup<T = string>({ value, defaultValue, onChange, options, children, orientation, size, label, helperText, status, required, disabled, name, }: CheckboxGroupProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
export declare namespace CheckboxGroup {
|
|
42
|
+
var displayName: string;
|
|
43
|
+
}
|
|
44
|
+
export interface GroupCheckboxProps {
|
|
45
|
+
value: string;
|
|
46
|
+
label?: React.ReactNode;
|
|
47
|
+
disabled?: boolean;
|
|
48
|
+
helperText?: string;
|
|
49
|
+
}
|
|
50
|
+
export declare const GroupCheckbox: React.ForwardRefExoticComponent<GroupCheckboxProps & React.RefAttributes<HTMLInputElement>>;
|
|
51
|
+
export { CheckboxGroup as PresetCheckboxGroup };
|
|
52
|
+
export type { CheckboxGroupProps as PresetCheckboxGroupProps };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface DismissibleProps {
|
|
3
|
+
/** Called when the element should be dismissed */
|
|
4
|
+
onDismiss?: () => void;
|
|
5
|
+
/** Dismiss on Escape key press (default: true) */
|
|
6
|
+
dismissOnEscape?: boolean;
|
|
7
|
+
/** Dismiss on click outside the element (default: true) */
|
|
8
|
+
dismissOnClickOutside?: boolean;
|
|
9
|
+
/** Show a close button (renders an X button as first child, not via cloneElement) */
|
|
10
|
+
showCloseButton?: boolean;
|
|
11
|
+
/** Disable dismiss behavior */
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
children: React.ReactElement;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Functional Wrapper: grants dismiss behavior to any child element.
|
|
17
|
+
* Adds Escape key listener, click-outside detection, and optional close button.
|
|
18
|
+
*
|
|
19
|
+
* Usage: <Dismissible onDismiss={handleClose}><Panel>...</Panel></Dismissible>
|
|
20
|
+
*
|
|
21
|
+
* Note: Uses native DOM event listeners (not Floating UI) since Dismissible
|
|
22
|
+
* doesn't need floating/positioning. For positioned overlays, use BaseOverlay instead.
|
|
23
|
+
*/
|
|
24
|
+
export declare const Dismissible: React.ForwardRefExoticComponent<DismissibleProps & React.RefAttributes<HTMLElement>>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface ExpandableProps {
|
|
3
|
+
/** Whether the content is expanded */
|
|
4
|
+
expanded: boolean;
|
|
5
|
+
/** Optional trigger element rendered before the expandable content */
|
|
6
|
+
trigger?: React.ReactNode;
|
|
7
|
+
/** Called when the trigger is clicked (for controlled expand/collapse) */
|
|
8
|
+
onToggle?: () => void;
|
|
9
|
+
/** Animation duration in seconds (default: 0.2) */
|
|
10
|
+
duration?: number;
|
|
11
|
+
children: React.ReactNode;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Functional Wrapper: animated expand/collapse toggle.
|
|
15
|
+
* Uses Framer Motion AnimatePresence for smooth height animation.
|
|
16
|
+
* Falls back to basic show/hide if framer-motion is not installed.
|
|
17
|
+
*
|
|
18
|
+
* Usage:
|
|
19
|
+
* <Expandable expanded={isOpen} trigger={<Button onClick={toggle}>Toggle</Button>}>
|
|
20
|
+
* <div>Collapsible content here</div>
|
|
21
|
+
* </Expandable>
|
|
22
|
+
*/
|
|
23
|
+
export declare const Expandable: React.ForwardRefExoticComponent<ExpandableProps & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface InputGroupProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
attached?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface InputAddonProps {
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
position?: 'left' | 'right';
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* InputGroup -- Wrapper tier. Groups inputs with addons.
|
|
12
|
+
* Locked-down API (no className/style).
|
|
13
|
+
*/
|
|
14
|
+
export declare const InputGroup: React.ForwardRefExoticComponent<InputGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
15
|
+
/**
|
|
16
|
+
* InputAddon -- Wrapper tier. Prepend/append content to inputs.
|
|
17
|
+
*/
|
|
18
|
+
export declare const InputAddon: React.ForwardRefExoticComponent<InputAddonProps & React.RefAttributes<HTMLSpanElement>>;
|
|
19
|
+
export { InputGroup as PresetInputGroup, InputAddon as PresetInputAddon };
|
|
20
|
+
export type { InputGroupProps as PresetInputGroupProps, InputAddonProps as PresetInputAddonProps };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface RadioGroupOption<T = string> {
|
|
3
|
+
value: T;
|
|
4
|
+
label: React.ReactNode;
|
|
5
|
+
description?: React.ReactNode;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface RadioGroupProps<T = string> {
|
|
9
|
+
value?: T;
|
|
10
|
+
defaultValue?: T;
|
|
11
|
+
onChange?: (value: T) => void;
|
|
12
|
+
options?: RadioGroupOption<T>[];
|
|
13
|
+
children?: React.ReactNode;
|
|
14
|
+
orientation?: 'horizontal' | 'vertical';
|
|
15
|
+
size?: 'sm' | 'md' | 'lg';
|
|
16
|
+
label?: string;
|
|
17
|
+
helperText?: string;
|
|
18
|
+
status?: 'default' | 'success' | 'error';
|
|
19
|
+
required?: boolean;
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
name: string;
|
|
22
|
+
}
|
|
23
|
+
export interface RadioGroupContextValue<T = string> {
|
|
24
|
+
value: T | undefined;
|
|
25
|
+
select: (value: T) => void;
|
|
26
|
+
isSelected: (value: T) => boolean;
|
|
27
|
+
groupProps: {
|
|
28
|
+
size?: 'sm' | 'md' | 'lg';
|
|
29
|
+
status?: 'default' | 'success' | 'error';
|
|
30
|
+
disabled?: boolean;
|
|
31
|
+
name: string;
|
|
32
|
+
};
|
|
33
|
+
isInGroup: boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare function useRadioGroupContext<T = string>(): RadioGroupContextValue<T> | null;
|
|
36
|
+
/**
|
|
37
|
+
* RadioGroup -- Wrapper tier. Manages single-choice selections.
|
|
38
|
+
* Locked-down API (no className/style).
|
|
39
|
+
*/
|
|
40
|
+
export declare function RadioGroup<T = string>({ value, defaultValue, onChange, options, children, orientation, size, label, helperText, status, required, disabled, name, }: RadioGroupProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
export declare namespace RadioGroup {
|
|
42
|
+
var displayName: string;
|
|
43
|
+
}
|
|
44
|
+
export interface GroupRadioProps {
|
|
45
|
+
value: string;
|
|
46
|
+
label?: React.ReactNode;
|
|
47
|
+
description?: React.ReactNode;
|
|
48
|
+
disabled?: boolean;
|
|
49
|
+
}
|
|
50
|
+
export declare const GroupRadio: React.ForwardRefExoticComponent<GroupRadioProps & React.RefAttributes<HTMLInputElement>>;
|
|
51
|
+
export { RadioGroup as PresetRadioGroup };
|
|
52
|
+
export type { RadioGroupProps as PresetRadioGroupProps };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface SelectableProps {
|
|
3
|
+
/** Whether the child is currently selected */
|
|
4
|
+
selected?: boolean;
|
|
5
|
+
/** Called when selection state should change */
|
|
6
|
+
onSelect?: (selected: boolean, e: React.SyntheticEvent) => void;
|
|
7
|
+
/** Disable selection */
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
/** Show a checkbox indicator alongside the child */
|
|
10
|
+
showCheckbox?: boolean;
|
|
11
|
+
children: React.ReactElement;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Functional Wrapper: grants selection behavior to any child element.
|
|
15
|
+
* Adds click toggle, aria-selected, and optional checkbox indicator.
|
|
16
|
+
*
|
|
17
|
+
* Usage: <Selectable selected={isSelected} onSelect={handleSelect}><Card>...</Card></Selectable>
|
|
18
|
+
*/
|
|
19
|
+
export declare const Selectable: React.ForwardRefExoticComponent<SelectableProps & React.RefAttributes<HTMLElement>>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface SortableProps {
|
|
3
|
+
/** Unique ID for this sortable item (must match SortableContext items) */
|
|
4
|
+
id: string | number;
|
|
5
|
+
/** Disable drag behavior */
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
children: React.ReactElement;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Functional Wrapper: grants drag-to-reorder behavior to any child element.
|
|
11
|
+
* Requires @dnd-kit/sortable as optional peer dep. Falls back to passthrough if not installed.
|
|
12
|
+
*
|
|
13
|
+
* IMPORTANT: Consumer must wrap the list in DndContext + SortableContext from @dnd-kit/core.
|
|
14
|
+
* This wrapper only handles individual item sortable behavior.
|
|
15
|
+
*
|
|
16
|
+
* Usage:
|
|
17
|
+
* <DndContext onDragEnd={handleDragEnd}>
|
|
18
|
+
* <SortableContext items={ids}>
|
|
19
|
+
* {items.map(item => (
|
|
20
|
+
* <Sortable id={item.id} key={item.id}>
|
|
21
|
+
* <Card>{item.name}</Card>
|
|
22
|
+
* </Sortable>
|
|
23
|
+
* ))}
|
|
24
|
+
* </SortableContext>
|
|
25
|
+
* </DndContext>
|
|
26
|
+
*/
|
|
27
|
+
export declare const Sortable: React.ForwardRefExoticComponent<SortableProps & React.RefAttributes<HTMLElement>>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ZoneConfig } from './useSortableZones';
|
|
3
|
+
export interface SortableZonesProps<T extends {
|
|
4
|
+
id: string;
|
|
5
|
+
}> {
|
|
6
|
+
zones: ZoneConfig<T>[];
|
|
7
|
+
onZoneChange?: (zones: ZoneConfig<T>[]) => void;
|
|
8
|
+
/** Render the zone container. Receives zone key and the zone's current items. */
|
|
9
|
+
renderZone: (zoneKey: string, items: T[]) => React.ReactNode;
|
|
10
|
+
/** Render a single item inside a zone. */
|
|
11
|
+
renderItem: (item: T) => React.ReactNode;
|
|
12
|
+
/** Render the drag overlay (floating item while dragging). Falls back to renderItem if omitted. */
|
|
13
|
+
renderDragOverlay?: (item: T) => React.ReactNode;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* SortableZones — multi-zone drag/drop wrapper on top of @dnd-kit/core.
|
|
17
|
+
*
|
|
18
|
+
* Supports within-zone reorder and cross-zone drag with optional maxItems cap per zone.
|
|
19
|
+
* Uses useSortableZones hook for state management.
|
|
20
|
+
* Falls back to passive rendering if @dnd-kit/core is not installed.
|
|
21
|
+
*
|
|
22
|
+
* Generic over T extends { id: string }. No reptime-specific types. D-04, D-06, D-11 compliant.
|
|
23
|
+
*/
|
|
24
|
+
export declare function SortableZones<T extends {
|
|
25
|
+
id: string;
|
|
26
|
+
}>(props: SortableZonesProps<T>): React.ReactElement;
|
|
27
|
+
export declare namespace SortableZones {
|
|
28
|
+
var displayName: string;
|
|
29
|
+
}
|
|
30
|
+
export type { ZoneConfig, UseSortableZonesConfig, SortableZonesState } from './useSortableZones';
|
|
31
|
+
export { useSortableZones } from './useSortableZones';
|
|
32
|
+
export type { ZoneKey } from './useSortableZones';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { SortableZones } from './SortableZones';
|
|
2
|
+
export type { SortableZonesProps } from './SortableZones';
|
|
3
|
+
export { useSortableZones } from './useSortableZones';
|
|
4
|
+
export type { ZoneConfig, ZoneKey, UseSortableZonesConfig, SortableZonesState } from './useSortableZones';
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export type ZoneKey = string;
|
|
2
|
+
export interface ZoneConfig<T extends {
|
|
3
|
+
id: string;
|
|
4
|
+
}> {
|
|
5
|
+
zoneKey: ZoneKey;
|
|
6
|
+
items: T[];
|
|
7
|
+
maxItems?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface SortableZonesState<T extends {
|
|
10
|
+
id: string;
|
|
11
|
+
}> {
|
|
12
|
+
zones: ZoneConfig<T>[];
|
|
13
|
+
activeZone: ZoneKey | null;
|
|
14
|
+
activeItem: T | null;
|
|
15
|
+
getZoneProps: (zoneKey: ZoneKey) => {
|
|
16
|
+
id: string;
|
|
17
|
+
'data-zone-key': string;
|
|
18
|
+
};
|
|
19
|
+
getItemProps: (item: T) => {
|
|
20
|
+
id: string;
|
|
21
|
+
'data-item-id': string;
|
|
22
|
+
'data-zone-key': ZoneKey;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export interface UseSortableZonesConfig<T extends {
|
|
26
|
+
id: string;
|
|
27
|
+
}> {
|
|
28
|
+
zones: ZoneConfig<T>[];
|
|
29
|
+
onZoneChange?: (zones: ZoneConfig<T>[]) => void;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* useSortableZones — zone-aware multi-container drag/drop state hook.
|
|
33
|
+
*
|
|
34
|
+
* Pure React hook (useState, useCallback). Does NOT import DndContext —
|
|
35
|
+
* SortableZones.tsx connects the event handlers to DndContext callbacks.
|
|
36
|
+
*
|
|
37
|
+
* Uncontrolled by default: zones state is initialised from config.zones and
|
|
38
|
+
* managed internally. Call onZoneChange to sync back to parent.
|
|
39
|
+
*
|
|
40
|
+
* Generic over T extends { id: string }. No reptime-specific types. D-06, D-04, D-11 compliant.
|
|
41
|
+
*/
|
|
42
|
+
export declare function useSortableZones<T extends {
|
|
43
|
+
id: string;
|
|
44
|
+
}>(config: UseSortableZonesConfig<T>): SortableZonesState<T> & {
|
|
45
|
+
handleDragStart: (event: {
|
|
46
|
+
active: {
|
|
47
|
+
id: string;
|
|
48
|
+
};
|
|
49
|
+
}) => void;
|
|
50
|
+
handleDragOver: (event: {
|
|
51
|
+
active: {
|
|
52
|
+
id: string;
|
|
53
|
+
};
|
|
54
|
+
over: {
|
|
55
|
+
id: string;
|
|
56
|
+
} | null;
|
|
57
|
+
}) => void;
|
|
58
|
+
handleDragEnd: (event: {
|
|
59
|
+
active: {
|
|
60
|
+
id: string;
|
|
61
|
+
};
|
|
62
|
+
over: {
|
|
63
|
+
id: string;
|
|
64
|
+
} | null;
|
|
65
|
+
}) => void;
|
|
66
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { AnimationPresetName } from '../../utils/animations';
|
|
3
|
+
interface AnimatedElementProps {
|
|
4
|
+
className?: string;
|
|
5
|
+
style?: React.CSSProperties;
|
|
6
|
+
'data-state'?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface TransitionProps {
|
|
9
|
+
show: boolean;
|
|
10
|
+
animation?: AnimationPresetName | {
|
|
11
|
+
enter: {
|
|
12
|
+
from: React.CSSProperties;
|
|
13
|
+
to: React.CSSProperties;
|
|
14
|
+
};
|
|
15
|
+
exit: {
|
|
16
|
+
from: React.CSSProperties;
|
|
17
|
+
to: React.CSSProperties;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
duration?: number;
|
|
21
|
+
easing?: string;
|
|
22
|
+
delay?: number;
|
|
23
|
+
unmountOnExit?: boolean;
|
|
24
|
+
onEnter?: () => void;
|
|
25
|
+
onEntered?: () => void;
|
|
26
|
+
onExit?: () => void;
|
|
27
|
+
onExited?: () => void;
|
|
28
|
+
children: React.ReactElement<AnimatedElementProps>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Transition -- Wrapper tier. Self-contained enter/exit animation.
|
|
32
|
+
* Strips className/style from consumer API.
|
|
33
|
+
*/
|
|
34
|
+
export declare function Transition({ show, animation, duration: customDuration, easing: customEasing, delay, unmountOnExit, onEnter, onEntered, onExit, onExited, children, ...rest }: TransitionProps): React.ReactElement<AnimatedElementProps, string | React.JSXElementConstructor<any>> | null;
|
|
35
|
+
export declare namespace Transition {
|
|
36
|
+
var displayName: string;
|
|
37
|
+
}
|
|
38
|
+
export interface TransitionGroupProps {
|
|
39
|
+
children: React.ReactNode;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* TransitionGroup -- Wrapper tier. Container for animated lists.
|
|
43
|
+
*/
|
|
44
|
+
export declare function TransitionGroup({ children }: TransitionGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
export declare namespace TransitionGroup {
|
|
46
|
+
var displayName: string;
|
|
47
|
+
}
|
|
48
|
+
export { Transition as PresetTransition, TransitionGroup as PresetTransitionGroup };
|
|
49
|
+
export type { TransitionProps as PresetTransitionProps, TransitionGroupProps as PresetTransitionGroupProps };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export { mergeRefs, mergeHandlers } from './utils';
|
|
2
|
+
export { Actionable } from './Actionable/Actionable';
|
|
3
|
+
export type { ActionableProps } from './Actionable/Actionable';
|
|
4
|
+
export { Selectable } from './Selectable/Selectable';
|
|
5
|
+
export type { SelectableProps } from './Selectable/Selectable';
|
|
6
|
+
export { Dismissible } from './Dismissible/Dismissible';
|
|
7
|
+
export type { DismissibleProps } from './Dismissible/Dismissible';
|
|
8
|
+
export { Sortable } from './Sortable/Sortable';
|
|
9
|
+
export type { SortableProps } from './Sortable/Sortable';
|
|
10
|
+
export { Expandable } from './Expandable/Expandable';
|
|
11
|
+
export type { ExpandableProps } from './Expandable/Expandable';
|
|
12
|
+
export { ButtonGroup, ButtonGroupContext } from './ButtonGroup/ButtonGroup';
|
|
13
|
+
export type { ButtonGroupProps, ButtonGroupContextValue } from './ButtonGroup/ButtonGroup';
|
|
14
|
+
export { InputGroup, InputAddon } from './InputGroup/InputGroup';
|
|
15
|
+
export type { InputGroupProps, InputAddonProps } from './InputGroup/InputGroup';
|
|
16
|
+
export { CheckboxGroup, useCheckboxGroupContext, GroupCheckbox } from './CheckboxGroup/CheckboxGroup';
|
|
17
|
+
export type { CheckboxGroupProps, CheckboxGroupOption, CheckboxGroupContextValue, GroupCheckboxProps } from './CheckboxGroup/CheckboxGroup';
|
|
18
|
+
export { RadioGroup, useRadioGroupContext, GroupRadio } from './RadioGroup/RadioGroup';
|
|
19
|
+
export type { RadioGroupProps, RadioGroupOption, RadioGroupContextValue, GroupRadioProps } from './RadioGroup/RadioGroup';
|
|
20
|
+
export { AsyncLoader } from './AsyncLoader/AsyncLoader';
|
|
21
|
+
export type { AsyncLoaderProps } from './AsyncLoader/AsyncLoader';
|
|
22
|
+
export { Transition, TransitionGroup } from './Transition/Transition';
|
|
23
|
+
export type { TransitionProps, TransitionGroupProps } from './Transition/Transition';
|
|
24
|
+
export { SortableZones, useSortableZones } from './SortableZones';
|
|
25
|
+
export type { SortableZonesProps, ZoneConfig, ZoneKey, UseSortableZonesConfig, SortableZonesState } from './SortableZones';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Merge multiple React refs into one. Supports callback refs and RefObjects.
|
|
4
|
+
*/
|
|
5
|
+
export declare function mergeRefs<T>(...refs: (React.Ref<T> | undefined | null)[]): React.RefCallback<T>;
|
|
6
|
+
/**
|
|
7
|
+
* Chain two event handlers. Calls child handler first, then wrapper handler.
|
|
8
|
+
* If child handler calls e.preventDefault(), wrapper handler still runs.
|
|
9
|
+
*/
|
|
10
|
+
export declare function mergeHandlers<E extends React.SyntheticEvent>(childHandler?: ((e: E) => void) | null, wrapperHandler?: ((e: E) => void) | null): ((e: E) => void) | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mt-gloss/ui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "restricted"
|
|
@@ -20,12 +20,34 @@
|
|
|
20
20
|
},
|
|
21
21
|
"default": "./index.js"
|
|
22
22
|
},
|
|
23
|
+
"./internals": {
|
|
24
|
+
"import": {
|
|
25
|
+
"types": "./internals.d.ts",
|
|
26
|
+
"default": "./internals.js"
|
|
27
|
+
},
|
|
28
|
+
"default": "./internals.js"
|
|
29
|
+
},
|
|
30
|
+
"./catalog": {
|
|
31
|
+
"import": {
|
|
32
|
+
"types": "./catalog.d.ts",
|
|
33
|
+
"default": "./catalog.js"
|
|
34
|
+
},
|
|
35
|
+
"require": {
|
|
36
|
+
"types": "./catalog.d.ts",
|
|
37
|
+
"default": "./catalog.js"
|
|
38
|
+
},
|
|
39
|
+
"default": "./catalog.js"
|
|
40
|
+
},
|
|
23
41
|
"./styles.css": "./index.css"
|
|
24
42
|
},
|
|
25
43
|
"files": [
|
|
26
44
|
"index.js",
|
|
27
45
|
"index.d.ts",
|
|
28
46
|
"index.css",
|
|
47
|
+
"internals.js",
|
|
48
|
+
"internals.d.ts",
|
|
49
|
+
"catalog.js",
|
|
50
|
+
"catalog.d.ts",
|
|
29
51
|
"lib/**/*.d.ts",
|
|
30
52
|
"README.md"
|
|
31
53
|
],
|
|
@@ -41,7 +63,10 @@
|
|
|
41
63
|
"@emotion/react": "^11.0.0",
|
|
42
64
|
"@emotion/styled": "^11.0.0",
|
|
43
65
|
"date-fns": "^3.0.0 || ^4.0.0",
|
|
44
|
-
"@mt-gloss/utils": ">=0.0.1"
|
|
66
|
+
"@mt-gloss/utils": ">=0.0.1",
|
|
67
|
+
"@floating-ui/react": ">=0.27.0",
|
|
68
|
+
"framer-motion": ">=12.0.0",
|
|
69
|
+
"zod": "^4.0.0"
|
|
45
70
|
},
|
|
46
71
|
"peerDependenciesMeta": {
|
|
47
72
|
"@mui/material": {
|
|
@@ -76,6 +101,15 @@
|
|
|
76
101
|
},
|
|
77
102
|
"@mui/x-date-pickers-pro": {
|
|
78
103
|
"optional": true
|
|
104
|
+
},
|
|
105
|
+
"@floating-ui/react": {
|
|
106
|
+
"optional": true
|
|
107
|
+
},
|
|
108
|
+
"framer-motion": {
|
|
109
|
+
"optional": true
|
|
110
|
+
},
|
|
111
|
+
"zod": {
|
|
112
|
+
"optional": true
|
|
79
113
|
}
|
|
80
114
|
},
|
|
81
115
|
"optionalDependencies": {
|
package/index.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@keyframes gloss-skeleton-breathe{0%,to{opacity:1}50%{opacity:.5}}.gloss-skeleton-shimmer{animation:gloss-skeleton-breathe 2s ease-in-out infinite}.gloss-skeleton-block{background-color:#e5e7eb;border-radius:6px}.gloss-skeleton-header{background-color:#d1d5db}@keyframes gloss-quadrant-progress{0%{transform:translate(-100%)}to{transform:translate(250%)}}.gloss-quadrant-progress-bar{position:absolute;top:0;left:0;right:0;height:2px;overflow:hidden;border-radius:2px 2px 0 0;background:transparent;z-index:10}.gloss-quadrant-progress-bar__fill{height:100%;width:40%;background:#4f46e5;animation:gloss-quadrant-progress 1.5s ease-in-out infinite;transform-origin:left center}@keyframes gloss-content-reveal{0%{opacity:0}to{opacity:1}}.gloss-content-reveal{animation:gloss-content-reveal .15s ease forwards}.gloss-metric-data-stale{filter:blur(4px);transition:filter .3s ease-out;will-change:filter}.gloss-metric-data-fresh{filter:blur(0px);transition:filter .2s ease-in}.MuiDataGrid-root .gloss-tabular-nums{font-family:Plus Jakarta Sans,sans-serif;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;font-optical-sizing:auto;font-weight:500;font-style:normal;text-rendering:optimizeLegibility}.MuiDataGrid-root .MuiDataGrid-cell{font-family:Plus Jakarta Sans,sans-serif;font-optical-sizing:auto;text-rendering:optimizeLegibility;padding:unset;padding:0 16px;background-color:unset;box-sizing:border-box}.MuiDataGrid-root .MuiDataGrid-cell .gloss-currency{color:#9ca3af;font-weight:400;font-size:.85em;margin-right:1px;vertical-align:baseline}.MuiDataGrid-root .MuiDataGrid-cell .gloss-cents{color:#9ca3af;font-weight:400;font-size:.85em;vertical-align:baseline}.MuiDataGrid-root .MuiDataGrid-cell .gloss-date-value{color:#6b7280;font-weight:400;font-size:.8125rem}.MuiDataGrid-root .MuiDataGrid-cell .gloss-date-year{opacity:.6}.MuiDataGrid-root .MuiDataGrid-cell a{color:#374151;position:relative;text-decoration:none}.MuiDataGrid-root .MuiDataGrid-cell.gloss-drillable a,.MuiDataGrid-root .MuiDataGrid-cell.gloss-primary-column a{text-decoration:none}.MuiDataGrid-root .MuiDataGrid-row:hover .MuiDataGrid-cell.gloss-drillable a,.MuiDataGrid-root .MuiDataGrid-row:hover .MuiDataGrid-cell.gloss-primary-column a{text-decoration:underline;text-decoration-style:dashed;text-decoration-color:#9ca3af;text-underline-offset:3px;cursor:pointer}.MuiDataGrid-root .MuiDataGrid-cell.gloss-primary-column{color:#374151;font-weight:500}.MuiDataGrid-root .gloss-order-id{text-transform:uppercase;color:#6b7280;font-size:.8125rem;font-weight:500;letter-spacing:-.01em}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes barIn{0%{opacity:0}to{opacity:1}}.gloss-chart-control-bar{position:relative;padding:15px 15px 8px}.gloss-chart-control-bar__track{position:absolute;background:#0000000f;border-radius:10px;z-index:1}.gloss-chart-control-bar__shapes{position:absolute;inset:0;z-index:2;pointer-events:none}.gloss-chart-control-bar__interactive{position:relative;z-index:3}.gloss-chart-control-bar__row-2-overlay{position:absolute;left:0;right:0;top:100%;z-index:4}.gloss-chart-control-bar__row-1{display:flex;align-items:center;min-height:0;width:100%;animation:barIn .5s cubic-bezier(.16,1,.3,1) both}.gloss-chart-control-bar__datepicker{margin-left:auto}.gloss-unified-context-menu__item--disabled{opacity:.5;cursor:not-allowed}.gloss-unified-context-menu__subtitle{font-size:11px;color:#9ca3af;line-height:1.2}.gloss-unified-context-menu__external-icon{color:#9ca3af;font-size:14px;margin-left:auto;opacity:.6}.hybrid-date-picker{position:relative;display:inline-block}.hybrid-date-picker__compare-badge{position:absolute;top:-4px;right:-4px;font-size:14px!important;color:#2563eb;background-color:#fff;border-radius:50%;padding:1px;box-shadow:0 1px 3px #00000026;transition:opacity .2s,transform .2s;opacity:1;transform:scale(1);pointer-events:none}.hybrid-date-picker__active-banner{background:linear-gradient(to right,#16a34a14,#10b98114);border-bottom:1px solid rgba(22,163,74,.15);padding:10px 12px}.hybrid-date-picker__active-banner-label{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600;color:#22c55e;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.hybrid-date-picker__active-banner-content{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background-color:#fff;border-radius:8px;border:1px solid rgba(22,163,74,.2);cursor:pointer;transition:background-color .2s,border-color .2s}.hybrid-date-picker__active-banner-content:hover{background-color:#16a34a0a}.hybrid-date-picker__active-banner-content--selected{border-color:#16a34a66;box-shadow:0 0 0 1px #16a34a1a}.hybrid-date-picker__quick-bar{display:flex;align-items:center;gap:8px;padding:10px 12px;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.hybrid-date-picker__content{overflow:hidden}.hybrid-date-picker__markets-list{padding:8px}.hybrid-date-picker__markets-list-add{margin-top:8px;padding-top:8px;border-top:1px solid #f3f4f6}.hybrid-date-picker__events-section-header{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;padding:8px 0 4px}.hybrid-date-picker__events-section-header:not(:first-child){margin-top:12px;border-top:1px solid #e5e7eb;padding-top:12px}.hybrid-date-picker__footer{background-color:#f9fafb;border-top:1px solid #e5e7eb}.hybrid-date-picker__footer-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px}.hybrid-date-picker__footer-drawer-trigger{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;transition:background-color .2s}.hybrid-date-picker__footer-drawer-trigger:hover{background-color:#f3f4f6}.hybrid-date-picker__footer-drawer-trigger-icon{transition:transform .2s}.hybrid-date-picker__footer-drawer-trigger-icon--expanded{transform:rotate(180deg)}.hybrid-date-picker__footer-drawer-content{padding:8px 12px;display:flex;gap:8px;border-top:1px solid #e5e7eb}.hybrid-date-picker__footer-drawer-range-label{display:inline-flex;align-items:center;cursor:pointer;padding:2px 4px;border-radius:4px;transition:background-color .2s;white-space:nowrap}.hybrid-date-picker__footer-drawer-range-label:hover{background-color:#0000000f}.range-card{display:flex;position:relative;flex:1;min-width:0;padding:8px;border-radius:6px;border:1px solid #e5e7eb;background-color:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s}.range-card:hover{border-color:#d1d5db}.range-card--active{border-color:#4f46e5;box-shadow:0 0 0 1px #4f46e5}.range-card--active.range-card--green{border-color:#22c55e;box-shadow:0 0 0 1px #22c55e}.range-card--active.range-card--amber{border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b}.range-card__color-bar{width:4px;border-radius:2px;margin-right:8px;flex-shrink:0}.range-card--blue .range-card__color-bar{background-color:#4f46e5}.range-card--green .range-card__color-bar{background-color:#22c55e}.range-card--amber .range-card__color-bar{background-color:#f59e0b}.range-card__content{flex:1;min-width:0}.range-card__header{display:flex;align-items:center;gap:6px;margin-bottom:2px}.range-card__label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase}.range-card__indicator{width:8px;height:8px;border-radius:50%;border:2px solid #d1d5db}.range-card__indicator--active{background-color:#4f46e5;border-color:#4f46e5}.range-card--green .range-card__indicator--active{background-color:#22c55e;border-color:#22c55e}.range-card--amber .range-card__indicator--active{background-color:#f59e0b;border-color:#f59e0b}.range-card__preset{font-size:13px;font-weight:500;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.range-card__dates{font-size:11px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.range-card__remove{position:absolute;top:2px;right:2px;padding:2px;opacity:0;transition:opacity .2s}.range-card:hover .range-card__remove{opacity:1}.range-card--empty{border-style:dashed}.range-card--empty .range-card__color-bar{border-style:dashed;border-width:0 0 0 4px;background:transparent;width:0;margin-right:12px}.range-card--empty.range-card--blue .range-card__color-bar{border-color:#4f46e5}.range-card--empty.range-card--green .range-card__color-bar{border-color:#22c55e}.range-card--empty.range-card--amber .range-card__color-bar{border-color:#f59e0b}.range-card-add{display:flex;align-items:center;justify-content:center;min-width:40px;border-radius:6px;border:1px dashed #d1d5db;background-color:transparent;cursor:pointer;transition:border-color .2s,background-color .2s}.range-card-add:hover{border-color:#4f46e5;background-color:#4f46e50a}.mini-calendar{--cell-size: 40px;--font-size: 12px;--header-font-size: 14px;--padding: 12px;--dot-size: 4px;--dot-offset: 10px;padding:var(--padding);font-family:Inter,sans-serif;font-variant-numeric:tabular-nums}.mini-calendar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--padding)}.mini-calendar__header .MuiTypography-root{font-size:var(--header-font-size)}.mini-calendar__grid{display:grid;grid-template-columns:repeat(7,var(--cell-size));gap:2px 0;justify-content:center}.mini-calendar__day-header{height:calc(var(--cell-size) * .6);display:flex;align-items:center;justify-content:center;font-size:calc(var(--font-size) - 1px);font-weight:500;color:#6b7280}.mini-calendar__day{position:relative;width:var(--cell-size);height:var(--cell-size);border-radius:0;display:flex;align-items:center;justify-content:center;font-size:var(--font-size);cursor:pointer;transition:background-color .2s,color .2s;color:#374151;background:transparent}.mini-calendar__day:hover:not(.mini-calendar__day--start):not(.mini-calendar__day--end):not(.mini-calendar__day--single):not(.mini-calendar__day--in-range):not(.mini-calendar__day--empty):not(.mini-calendar__day--disabled){background-color:#f3f4f6;border-radius:50%}.mini-calendar__day--empty{cursor:default}.mini-calendar__day--single{background-color:#4f46e5;color:#fff;font-weight:500;border-radius:50%}.mini-calendar__day--single:hover{background-color:#4338ca}.mini-calendar__day--start{background-color:#4f46e5;color:#fff;font-weight:500;border-radius:50% 0 0 50%}.mini-calendar__day--start:hover{background-color:#4338ca}.mini-calendar__day--end{background-color:#4f46e5;color:#fff;font-weight:500;border-radius:0 50% 50% 0}.mini-calendar__day--end:hover{background-color:#4338ca}.mini-calendar__day--in-range{background-color:#4f46e5;color:#fff;border-radius:0}.mini-calendar__day--disabled{color:#d1d5db;cursor:not-allowed;background:transparent}.mini-calendar__day--disabled:hover{background:transparent}.mini-calendar__day--disabled-in-range{background-color:#d1d5db;color:#9ca3af;border-radius:0;cursor:default}.mini-calendar__day--disabled-in-range:hover{background-color:#d1d5db}.mini-calendar__day--disabled-end{background-color:#d1d5db;color:#9ca3af;border-radius:0 50% 50% 0;cursor:default}.mini-calendar__day--disabled-end:hover{background-color:#d1d5db}.mini-calendar__day--today:not(.mini-calendar__day--start):not(.mini-calendar__day--end):not(.mini-calendar__day--single):not(.mini-calendar__day--in-range){font-weight:700}.mini-calendar__day--market:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%);margin-top:var(--dot-offset);width:var(--dot-size);height:var(--dot-size);background-color:#4f46e5;border-radius:50%}.mini-calendar__day--market.mini-calendar__day--in-range:after,.mini-calendar__day--market.mini-calendar__day--start:after,.mini-calendar__day--market.mini-calendar__day--end:after,.mini-calendar__day--market.mini-calendar__day--single:after{background-color:#fff}.mini-calendar__day--disabled.mini-calendar__day--market:after{background-color:#d1d5db}.mini-calendar__day--market.mini-calendar__day--disabled-in-range:after,.mini-calendar__day--market.mini-calendar__day--disabled-end:after{background-color:#fff}.mini-calendar__day--secondary.mini-calendar__day--single{background-color:#22c55e}.mini-calendar__day--secondary.mini-calendar__day--single:hover{background-color:#1a9a49}.mini-calendar__day--secondary.mini-calendar__day--start{background-color:#22c55e}.mini-calendar__day--secondary.mini-calendar__day--start:hover{background-color:#1a9a49}.mini-calendar__day--secondary.mini-calendar__day--end{background-color:#22c55e}.mini-calendar__day--secondary.mini-calendar__day--end:hover{background-color:#1a9a49}.mini-calendar__day--secondary.mini-calendar__day--in-range{background-color:#22c55e}.mini-calendar__day--tertiary.mini-calendar__day--single{background-color:#f59e0b}.mini-calendar__day--tertiary.mini-calendar__day--single:hover{background-color:#c57f08}.mini-calendar__day--tertiary.mini-calendar__day--start{background-color:#f59e0b}.mini-calendar__day--tertiary.mini-calendar__day--start:hover{background-color:#c57f08}.mini-calendar__day--tertiary.mini-calendar__day--end{background-color:#f59e0b}.mini-calendar__day--tertiary.mini-calendar__day--end:hover{background-color:#c57f08}.mini-calendar__day--tertiary.mini-calendar__day--in-range{background-color:#f59e0b}.mini-calendar__legend{display:flex;align-items:center;justify-content:space-between;margin-top:var(--padding);padding-top:calc(var(--padding) * .8);border-top:1px solid #f3f4f6}.mini-calendar__legend-item{display:flex;align-items:center;gap:6px}.mini-calendar__legend-dot{width:calc(var(--dot-size) + 2px);height:calc(var(--dot-size) + 2px);border-radius:50%}.mini-calendar__legend-dot--market{background-color:#4f46e5}.market-edit-modal__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f3f4f6}.market-edit-modal__content{padding:16px}.market-edit-modal__field{margin-bottom:12px}.market-edit-modal__field:last-child{margin-bottom:0}.market-edit-modal__label{display:block;font-size:12px;font-weight:500;color:#6b7280;margin-bottom:4px}.market-edit-modal__input{width:100%;padding:8px 10px;border:1px solid #e5e7eb;border-radius:6px;font-size:13px;transition:border-color .2s,box-shadow .2s}.market-edit-modal__input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e526}.market-edit-modal__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.market-edit-modal__footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:#f9fafb;border-top:1px solid #f3f4f6}.timeframe-toggle .MuiToggleButton-root.Mui-selected{background-color:#4f46e5;color:#fff}.gloss-grid{width:100%;position:relative}.gloss-grid__container{display:grid;overflow:visible;position:relative;width:100%}.gloss-grid__slot{min-width:0;min-height:0}.gloss-grid__slot--dragging{opacity:.4}.gloss-grid__empty-slot{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;border:2px dashed transparent;border-radius:12px;background:#00000004;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.gloss-grid__empty-slot:hover{border-color:#4f46e5;background:#4f46e50a}.gloss-grid__drag-overlay{box-shadow:0 8px 24px #00000026;cursor:grabbing;z-index:100;border-radius:12px}.gloss-grid__pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 0;margin-top:4px}.gloss-grid__pagination-dots{display:flex;align-items:center;gap:6px}.gloss-grid__pagination-dot{width:8px;height:8px;border-radius:50%;background:#e5e7eb;border:none;padding:0;cursor:pointer;transition:width .2s ease,background-color .2s ease}.gloss-grid__pagination-dot--active{width:20px;border-radius:4px;background:#4f46e5}.gloss-grid__pagination-chevron{background:none;border:none;font-size:18px;color:#6b7280;cursor:pointer;padding:4px 8px;border-radius:4px}.gloss-grid__pagination-chevron:hover:not(:disabled){background:#f3f4f6;color:#111827}.gloss-grid__pagination-chevron--disabled{opacity:.3;cursor:default}@keyframes spinner{to{transform:rotate(360deg)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes dash-rotate{0%{stroke-dashoffset:400}to{stroke-dashoffset:0}}.gloss-tabbed-data-view .MuiTabs-indicator{display:none}.gloss-tabbed-data-view .MuiTab-root{display:flex;align-items:center;position:relative;background-color:transparent;border:1px solid transparent;border-bottom:none;border-radius:0;margin-bottom:0;margin-left:0;margin-right:4px;padding:8px 16px 8px 12px;box-shadow:none;text-transform:none;font-weight:500;font-size:.8rem;opacity:1;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.gloss-tabbed-data-view .MuiTab-root .MuiSvgIcon-root{margin-right:6px;font-size:14px;color:#9ca3af}.gloss-tabbed-data-view .MuiTab-root .tab-line-1{display:flex;align-items:center}.gloss-tabbed-data-view .MuiTab-root .tab-line-1 span{font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:500;line-height:1.2;text-transform:capitalize;color:#6b7280;text-align:left;transition:color .15s ease}.gloss-tabbed-data-view .MuiTab-root .MuiTab-icon{position:relative;right:auto;top:auto;margin-left:12px}.gloss-tabbed-data-view .MuiTab-root .MuiTab-icon .MuiIconButton-root{color:#9ca3af;padding:2px}.gloss-tabbed-data-view .MuiTab-root .MuiTab-icon .MuiIconButton-root:hover{color:#111827;background-color:#0000000a}.gloss-tabbed-data-view .MuiTab-root .MuiTab-icon .MuiIconButton-root .MuiSvgIcon-root{font-size:14px}.gloss-tabbed-data-view .MuiTab-root:has(.MuiTab-icon){padding-right:0}.gloss-tabbed-data-view .MuiTab-root:hover{background-color:#f9fafb;border-radius:6px 6px 0 0}.gloss-tabbed-data-view .MuiTab-root:hover .tab-line-1 span{color:#374151}.gloss-tabbed-data-view .MuiTab-root:hover .MuiSvgIcon-root{color:#6b7280}.gloss-tabbed-data-view .MuiTab-root.Mui-selected{background-color:#fff;border:1px solid rgba(0,0,0,.06);border-bottom:1px solid #ffffff;box-shadow:0 -1px 3px #0000000d;border-radius:8px 8px 0 0;margin-bottom:-1px;z-index:10;padding:8px 8px 8px 16px}.gloss-tabbed-data-view .MuiTab-root.Mui-selected .MuiSvgIcon-root{color:#111827}.gloss-tabbed-data-view .MuiTab-root.Mui-selected .tab-line-1 span{font-weight:600;color:#374151}.gloss-tabbed-data-view .MuiTab-root.Mui-selected .MuiTab-icon .MuiIconButton-root{color:#6b7280}.gloss-tabbed-data-view .MuiTab-root.Mui-selected .MuiTab-icon .MuiIconButton-root:hover{color:#111827}.gloss-tabbed-data-view .MuiTab-root.Mui-selected:hover{background-color:#fff}.gloss-tabbed-data-view .MuiTabs-root .Mui-selected svg{fill:#111827;color:#111827}.gloss-tabbed-data-view .MuiTab-iconWrapper{margin-left:8px;margin-right:-4px}
|