@mt-gloss/ui 0.0.8 → 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 +37 -3
- package/index.css +0 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export type PresetTooltipVariant = 'default' | 'rich';
|
|
3
|
+
export type PresetTooltipSize = 'sm' | 'md';
|
|
4
|
+
export interface PresetTooltipProps {
|
|
5
|
+
variant?: PresetTooltipVariant;
|
|
6
|
+
size?: PresetTooltipSize;
|
|
7
|
+
content: React.ReactNode;
|
|
8
|
+
placement?: 'top' | 'bottom' | 'left' | 'right';
|
|
9
|
+
delay?: number;
|
|
10
|
+
trigger?: 'hover' | 'focus' | 'click';
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Tooltip with semantic variant/size API. Wraps BaseTooltip.
|
|
16
|
+
*/
|
|
17
|
+
export declare function PresetTooltip(props: PresetTooltipProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare namespace PresetTooltip {
|
|
19
|
+
var displayName: string;
|
|
20
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated Moved to wrappers/ tier (Phase 25.1).
|
|
3
|
+
* Use `import * as UI from '@mt-gloss/ui/catalog'` -> `<UI.Transition>` instead.
|
|
4
|
+
*/
|
|
5
|
+
export { Transition as PresetTransition, TransitionGroup as PresetTransitionGroup } from '../../wrappers/Transition/Transition';
|
|
6
|
+
export type { TransitionProps as PresetTransitionProps, TransitionGroupProps as PresetTransitionGroupProps } from '../../wrappers/Transition/Transition';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { PolymorphicProps } from '../../base/types';
|
|
3
|
+
export declare const VALUE_VARIANTS: readonly ["default", "highlight", "muted"];
|
|
4
|
+
export type PresetValueVariant = (typeof VALUE_VARIANTS)[number];
|
|
5
|
+
export interface PresetValueProps {
|
|
6
|
+
variant?: PresetValueVariant;
|
|
7
|
+
children?: React.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Value display with semantic variant API. Wraps BaseValue.
|
|
11
|
+
*/
|
|
12
|
+
export declare const PresetValue: {
|
|
13
|
+
<C extends React.ElementType = "span">(props: PolymorphicProps<C, PresetValueProps>): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
displayName: string;
|
|
15
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { PolymorphicProps } from '../base/types';
|
|
3
|
+
import { SharedSize } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* Configuration for creating a Preset Primitive via the factory.
|
|
6
|
+
*
|
|
7
|
+
* @typeParam V - Union of variant names (e.g., 'primary' | 'secondary')
|
|
8
|
+
* @typeParam D - Definition type of the wrapped Base Primitive
|
|
9
|
+
* @typeParam ExtraProps - Additional component-specific props (e.g., leftIcon, isLoading)
|
|
10
|
+
*/
|
|
11
|
+
export interface PresetConfig<V extends string, D extends object, ExtraProps extends Record<string, unknown> = Record<string, never>> {
|
|
12
|
+
/** Display name for React DevTools */
|
|
13
|
+
displayName: string;
|
|
14
|
+
/** The Base Primitive component to wrap */
|
|
15
|
+
baseComponent: React.ComponentType<{
|
|
16
|
+
definition?: D;
|
|
17
|
+
className?: string;
|
|
18
|
+
style?: React.CSSProperties;
|
|
19
|
+
children?: React.ReactNode;
|
|
20
|
+
[key: string]: unknown;
|
|
21
|
+
}>;
|
|
22
|
+
/** Variant name -> partial Definition mapping */
|
|
23
|
+
variants: Record<V, Partial<D>>;
|
|
24
|
+
/** Size name -> partial Definition mapping */
|
|
25
|
+
sizes: Record<SharedSize, Partial<D>>;
|
|
26
|
+
/** Default variant when consumer omits variant prop */
|
|
27
|
+
defaultVariant: V;
|
|
28
|
+
/** Default size when consumer omits size prop */
|
|
29
|
+
defaultSize: SharedSize;
|
|
30
|
+
/** Always-applied definition values (merged under variant + size) */
|
|
31
|
+
baseDefinition?: Partial<D>;
|
|
32
|
+
/** BEM class prefix for the Preset (e.g., 'gloss-preset-button') */
|
|
33
|
+
classPrefix: string;
|
|
34
|
+
/** Extra props to extract before spreading rest onto Base. Keys listed here are consumed by renderChildren/classBuilder. */
|
|
35
|
+
extraPropKeys?: (keyof ExtraProps)[];
|
|
36
|
+
/** Custom class builder: given variant, size, and extra props, return additional BEM modifier classes */
|
|
37
|
+
classBuilder?: (variant: V, size: SharedSize, extra: Partial<ExtraProps>) => string[];
|
|
38
|
+
/** Custom children renderer: wrap children with icons, spinners, etc. */
|
|
39
|
+
renderChildren?: (children: React.ReactNode, extra: Partial<ExtraProps>) => React.ReactNode;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Props exposed by a Preset created via createPreset.
|
|
43
|
+
* Omits className, style, definition -- consumers use semantic variant/size props only.
|
|
44
|
+
*/
|
|
45
|
+
export type PresetProps<V extends string, ExtraProps extends Record<string, unknown> = Record<string, never>> = {
|
|
46
|
+
variant?: V;
|
|
47
|
+
size?: SharedSize;
|
|
48
|
+
children?: React.ReactNode;
|
|
49
|
+
} & ExtraProps;
|
|
50
|
+
/**
|
|
51
|
+
* @internal
|
|
52
|
+
* Factory to create a Preset Primitive that wraps a Base Primitive.
|
|
53
|
+
*
|
|
54
|
+
* Eliminates boilerplate: variant lookup, size lookup, definition merge,
|
|
55
|
+
* className construction, dangerous prop filtering.
|
|
56
|
+
*
|
|
57
|
+
* For simple Presets, use this directly. For Presets with complex internal
|
|
58
|
+
* logic (e.g., Select with dropdown state), write the Preset manually
|
|
59
|
+
* and import Base + types directly.
|
|
60
|
+
*/
|
|
61
|
+
export declare function createPreset<V extends string, D extends object, ExtraProps extends Record<string, unknown> = Record<string, never>>(config: PresetConfig<V, D, ExtraProps>): {
|
|
62
|
+
<C extends React.ElementType>(props: PolymorphicProps<C, PresetProps<V, ExtraProps>>): import("react/jsx-runtime").JSX.Element;
|
|
63
|
+
displayName: string;
|
|
64
|
+
};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
export type { SharedSize, DangerousProps, SafeHTMLProps } from './types';
|
|
2
|
+
export { createPreset } from './createPreset';
|
|
3
|
+
export type { PresetConfig, PresetProps } from './createPreset';
|
|
4
|
+
export { PresetButton as Button } from './PresetButton/PresetButton';
|
|
5
|
+
export type { PresetButtonProps as ButtonProps, PresetButtonVariant as ButtonVariant } from './PresetButton/PresetButton';
|
|
6
|
+
export { PresetInput as Input } from './PresetInput/PresetInput';
|
|
7
|
+
export type { PresetInputProps as InputProps } from './PresetInput/PresetInput';
|
|
8
|
+
export { PresetTextarea as Textarea } from './PresetTextarea/PresetTextarea';
|
|
9
|
+
export type { PresetTextareaProps as TextareaProps } from './PresetTextarea/PresetTextarea';
|
|
10
|
+
export { PresetCheckbox as Checkbox } from './PresetCheckbox/PresetCheckbox';
|
|
11
|
+
export type { PresetCheckboxProps as CheckboxProps } from './PresetCheckbox/PresetCheckbox';
|
|
12
|
+
export { PresetRadio as Radio } from './PresetRadio/PresetRadio';
|
|
13
|
+
export type { PresetRadioProps as RadioProps } from './PresetRadio/PresetRadio';
|
|
14
|
+
export { PresetToggle as Toggle } from './PresetToggle/PresetToggle';
|
|
15
|
+
export type { PresetToggleProps as ToggleProps } from './PresetToggle/PresetToggle';
|
|
16
|
+
export { PresetBadge as Badge } from './PresetBadge/PresetBadge';
|
|
17
|
+
export type { PresetBadgeProps as BadgeProps, PresetBadgeVariant as BadgeVariant } from './PresetBadge/PresetBadge';
|
|
18
|
+
export { PresetChip as Chip } from './PresetChip/PresetChip';
|
|
19
|
+
export type { PresetChipProps as ChipProps, PresetChipVariant as ChipVariant, PresetChipColor as ChipColor } from './PresetChip/PresetChip';
|
|
20
|
+
export { PresetLink as Link } from './PresetLink/PresetLink';
|
|
21
|
+
export type { PresetLinkProps as LinkProps, PresetLinkVariant as LinkVariant } from './PresetLink/PresetLink';
|
|
22
|
+
/** @deprecated Moved to wrappers/ tier (Phase 25.1). Import from '@mt-gloss/ui/catalog' -> UI.ButtonGroup */
|
|
23
|
+
export { ButtonGroup, ButtonGroup as PresetButtonGroup, ButtonGroupContext } from '../wrappers/ButtonGroup/ButtonGroup';
|
|
24
|
+
export type { ButtonGroupProps, ButtonGroupProps as PresetButtonGroupProps, ButtonGroupContextValue } from '../wrappers/ButtonGroup/ButtonGroup';
|
|
25
|
+
/** @deprecated Moved to wrappers/ tier (Phase 25.1). Import from '@mt-gloss/ui/catalog' -> UI.CheckboxGroup */
|
|
26
|
+
export { CheckboxGroup, CheckboxGroup as PresetCheckboxGroup, useCheckboxGroupContext, GroupCheckbox } from '../wrappers/CheckboxGroup/CheckboxGroup';
|
|
27
|
+
export type { CheckboxGroupProps, CheckboxGroupProps as PresetCheckboxGroupProps, CheckboxGroupOption, CheckboxGroupContextValue, GroupCheckboxProps } from '../wrappers/CheckboxGroup/CheckboxGroup';
|
|
28
|
+
/** @deprecated Moved to wrappers/ tier (Phase 25.1). Import from '@mt-gloss/ui/catalog' -> UI.RadioGroup */
|
|
29
|
+
export { RadioGroup, RadioGroup as PresetRadioGroup, useRadioGroupContext, GroupRadio } from '../wrappers/RadioGroup/RadioGroup';
|
|
30
|
+
export type { RadioGroupProps, RadioGroupProps as PresetRadioGroupProps, RadioGroupOption, RadioGroupContextValue, GroupRadioProps } from '../wrappers/RadioGroup/RadioGroup';
|
|
31
|
+
/** @deprecated Moved to wrappers/ tier (Phase 25.1). Import from '@mt-gloss/ui/catalog' -> UI.InputGroup */
|
|
32
|
+
export { InputGroup, InputGroup as PresetInputGroup, InputAddon, InputAddon as PresetInputAddon } from '../wrappers/InputGroup/InputGroup';
|
|
33
|
+
export type { InputGroupProps, InputGroupProps as PresetInputGroupProps, InputAddonProps, InputAddonProps as PresetInputAddonProps } from '../wrappers/InputGroup/InputGroup';
|
|
34
|
+
/** @deprecated Moved to composites/overlay/ tier (Phase 25.1). Import from '@mt-gloss/ui/catalog' -> UI.SplitButton */
|
|
35
|
+
export { SplitButton, SplitButton as PresetSplitButton } from '../composites/overlay/SplitButton/SplitButton';
|
|
36
|
+
export type { SplitButtonProps, SplitButtonProps as PresetSplitButtonProps, SplitButtonMenuItem } from '../composites/overlay/SplitButton/SplitButton';
|
|
37
|
+
export { PresetSelect as Select } from './PresetSelect/PresetSelect';
|
|
38
|
+
export type { PresetSelectProps as SelectProps, PresetSelectVariant as SelectVariant } from './PresetSelect/PresetSelect';
|
|
39
|
+
export type { SelectOption, SelectOptionGroup, SelectTriggerRenderProps, SelectOptionRenderProps } from './PresetSelect/PresetSelect';
|
|
40
|
+
export { PresetSlider as Slider } from './PresetSlider/PresetSlider';
|
|
41
|
+
export type { PresetSliderProps as SliderProps, SliderMark } from './PresetSlider/PresetSlider';
|
|
42
|
+
export { PresetCard as Card, PresetCardHeader as CardHeader, PresetCardBody as CardBody, PresetCardFooter as CardFooter, PresetCardMedia as CardMedia, PresetCardTitle as CardTitle, PresetCardSubtitle as CardSubtitle, PresetCardActions as CardActions } from './PresetCard/PresetCard';
|
|
43
|
+
export type { PresetCardProps as CardProps, PresetCardVariant as CardVariant, PresetCardHeaderProps as CardHeaderProps, PresetCardBodyProps as CardBodyProps, PresetCardFooterProps as CardFooterProps, PresetCardMediaProps as CardMediaProps, PresetCardTitleProps as CardTitleProps, PresetCardSubtitleProps as CardSubtitleProps, PresetCardActionsProps as CardActionsProps } from './PresetCard/PresetCard';
|
|
44
|
+
export { PresetAccordion as Accordion, PresetAccordionItem as AccordionItem, PresetAccordionTrigger as AccordionTrigger, PresetAccordionContent as AccordionContent } from './PresetAccordion/PresetAccordion';
|
|
45
|
+
export type { PresetAccordionProps as AccordionProps, PresetAccordionItemProps as AccordionItemProps, PresetAccordionTriggerProps as AccordionTriggerProps, PresetAccordionContentProps as AccordionContentProps } from './PresetAccordion/PresetAccordion';
|
|
46
|
+
export { PresetMenu as Menu, PresetMenuGroup as MenuGroup, PresetMenuItem as MenuItem, PresetMenuDivider as MenuDivider } from './PresetMenu/PresetMenu';
|
|
47
|
+
export type { PresetMenuProps as MenuProps, PresetMenuGroupProps as MenuGroupProps, PresetMenuItemProps as MenuItemProps, PresetMenuSize } from './PresetMenu/PresetMenu';
|
|
48
|
+
export { PresetTooltip as Tooltip } from './PresetTooltip/PresetTooltip';
|
|
49
|
+
export type { PresetTooltipProps as TooltipProps, PresetTooltipVariant as TooltipVariant, PresetTooltipSize as TooltipSize } from './PresetTooltip/PresetTooltip';
|
|
50
|
+
export { PresetRating as Rating } from './PresetRating/PresetRating';
|
|
51
|
+
export type { PresetRatingProps as RatingProps } from './PresetRating/PresetRating';
|
|
52
|
+
export { PresetSegmentedControl as SegmentedControl } from './PresetSegmentedControl/PresetSegmentedControl';
|
|
53
|
+
export type { PresetSegmentedControlProps as SegmentedControlProps, PresetSegmentedControlVariant as SegmentedControlVariant, SegmentedControlOption } from './PresetSegmentedControl/PresetSegmentedControl';
|
|
54
|
+
/** @deprecated Moved to containers/ tier. Import from '@mt-gloss/ui/catalog' -> UI.Form */
|
|
55
|
+
export { ContainerForm as PresetForm, ContainerForm as Form, useFormContext } from '../containers/ContainerForm/ContainerForm';
|
|
56
|
+
export type { ContainerFormProps as PresetFormProps, ContainerFormProps as FormProps, FormContextValue, FormErrors, FormTouched } from '../containers/ContainerForm/ContainerForm';
|
|
57
|
+
/** @deprecated Moved to containers/ tier. Import from '@mt-gloss/ui/catalog' -> UI.FormField */
|
|
58
|
+
export { ContainerFormField as PresetFormField, ContainerFormField as FormField } from '../containers/ContainerFormField/ContainerFormField';
|
|
59
|
+
export type { ContainerFormFieldProps as PresetFormFieldProps, ContainerFormFieldProps as FormFieldProps } from '../containers/ContainerFormField/ContainerFormField';
|
|
60
|
+
/** @deprecated Moved to composites/overlay/ tier. Import from '@mt-gloss/ui/catalog' -> UI.Dropdown */
|
|
61
|
+
export { Dropdown as PresetDropdown, Dropdown } from '../composites/overlay/Dropdown/Dropdown';
|
|
62
|
+
export type { DropdownProps as PresetDropdownProps, DropdownProps, DropdownItem } from '../composites/overlay/Dropdown/Dropdown';
|
|
63
|
+
/** @deprecated Moved to wrappers/ tier. Import from '@mt-gloss/ui/catalog' -> UI.AsyncLoader */
|
|
64
|
+
export { AsyncLoader as PresetAsyncLoader, AsyncLoader } from '../wrappers/AsyncLoader/AsyncLoader';
|
|
65
|
+
export type { AsyncLoaderProps as PresetAsyncLoaderProps, AsyncLoaderProps } from '../wrappers/AsyncLoader/AsyncLoader';
|
|
66
|
+
/** @deprecated Moved to wrappers/ tier. Import from '@mt-gloss/ui/catalog' -> UI.Transition */
|
|
67
|
+
export { Transition as PresetTransition, Transition, TransitionGroup as PresetTransitionGroup, TransitionGroup } from '../wrappers/Transition/Transition';
|
|
68
|
+
export type { TransitionProps as PresetTransitionProps, TransitionProps, TransitionGroupProps as PresetTransitionGroupProps, TransitionGroupProps } from '../wrappers/Transition/Transition';
|
|
69
|
+
export { PresetDatePicker as DatePicker } from './PresetDatePicker/PresetDatePicker';
|
|
70
|
+
export type { PresetDatePickerProps as DatePickerProps, PresetDatePickerVariant as DatePickerVariant } from './PresetDatePicker/PresetDatePicker';
|
|
71
|
+
export { PresetTimePicker as TimePicker } from './PresetTimePicker/PresetTimePicker';
|
|
72
|
+
export type { PresetTimePickerProps as TimePickerProps, PresetTimePickerVariant as TimePickerVariant } from './PresetTimePicker/PresetTimePicker';
|
|
73
|
+
export { PresetDateRangePicker as DateRangePicker } from './PresetDateRangePicker/PresetDateRangePicker';
|
|
74
|
+
export type { PresetDateRangePickerProps as DateRangePickerProps, PresetDateRangePickerVariant as DateRangePickerVariant, DateRange, DateRangePreset } from './PresetDateRangePicker/PresetDateRangePicker';
|
|
75
|
+
export { PresetNumberInput as NumberInput } from './PresetNumberInput/PresetNumberInput';
|
|
76
|
+
export type { PresetNumberInputProps as NumberInputProps, PresetNumberInputVariant as NumberInputVariant } from './PresetNumberInput/PresetNumberInput';
|
|
77
|
+
export { PresetMaskedInput as MaskedInput, MaskPresets } from './PresetMaskedInput/PresetMaskedInput';
|
|
78
|
+
export type { PresetMaskedInputProps as MaskedInputProps, MaskConfig, MaskPresetName } from './PresetMaskedInput/PresetMaskedInput';
|
|
79
|
+
export { PresetFileUpload as FileUpload } from './PresetFileUpload/PresetFileUpload';
|
|
80
|
+
export type { PresetFileUploadProps as FileUploadProps, FileUploadFile } from './PresetFileUpload/PresetFileUpload';
|
|
81
|
+
export { PresetColorPicker as ColorPicker } from './PresetColorPicker/PresetColorPicker';
|
|
82
|
+
export type { PresetColorPickerProps as ColorPickerProps, ColorFormat } from './PresetColorPicker/PresetColorPicker';
|
|
83
|
+
export { PresetRangeSlider as RangeSlider } from './PresetRangeSlider/PresetRangeSlider';
|
|
84
|
+
export type { PresetRangeSliderProps as RangeSliderProps } from './PresetRangeSlider/PresetRangeSlider';
|
|
85
|
+
export { PresetSwatchRow } from './PresetSwatchRow/PresetSwatchRow';
|
|
86
|
+
export type { PresetSwatchRowProps, SwatchOption } from './PresetSwatchRow/PresetSwatchRow';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
/** Shared size scale across all Preset Primitives */
|
|
3
|
+
export type SharedSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
4
|
+
/**
|
|
5
|
+
* Props that are NEVER exposed on Preset consumer API.
|
|
6
|
+
* These are structural escape hatches that only Base Primitives accept.
|
|
7
|
+
*/
|
|
8
|
+
export type DangerousProps = 'className' | 'style' | 'definition';
|
|
9
|
+
/**
|
|
10
|
+
* Strip dangerous props from any HTML element attribute set.
|
|
11
|
+
* Used by Presets to lock down their consumer API.
|
|
12
|
+
*/
|
|
13
|
+
export type SafeHTMLProps<E extends HTMLElement> = Omit<React.HTMLAttributes<E>, DangerousProps>;
|
|
@@ -1,103 +1,13 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
export type AccordionShowCount = 'always' | 'collapsed-only' | 'never';
|
|
3
|
-
export interface AccordionProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
4
|
-
/**
|
|
5
|
-
* Content of the accordion (AccordionItem components)
|
|
6
|
-
*/
|
|
7
|
-
children: React.ReactNode;
|
|
8
|
-
/**
|
|
9
|
-
* Additional CSS class names
|
|
10
|
-
*/
|
|
11
|
-
className?: string;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Accordion - container for collapsible sections
|
|
15
|
-
*
|
|
16
|
-
* DOM Structure: `<div class="gloss-accordion">`
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```tsx
|
|
20
|
-
* <Accordion>
|
|
21
|
-
* <AccordionItem defaultOpen>
|
|
22
|
-
* <AccordionTrigger>Section 1</AccordionTrigger>
|
|
23
|
-
* <AccordionContent>Content here</AccordionContent>
|
|
24
|
-
* </AccordionItem>
|
|
25
|
-
* </Accordion>
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
|
-
export declare const Accordion: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>;
|
|
29
|
-
export interface AccordionItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
30
|
-
/**
|
|
31
|
-
* Whether the item is expanded by default (uncontrolled)
|
|
32
|
-
*/
|
|
33
|
-
defaultOpen?: boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Controlled open state
|
|
36
|
-
*/
|
|
37
|
-
open?: boolean;
|
|
38
|
-
/**
|
|
39
|
-
* Callback when open state changes
|
|
40
|
-
*/
|
|
41
|
-
onOpenChange?: (open: boolean) => void;
|
|
42
|
-
/**
|
|
43
|
-
* When to show the item count badge
|
|
44
|
-
* - 'always': Always show count
|
|
45
|
-
* - 'collapsed-only': Show count only when collapsed (default)
|
|
46
|
-
* - 'never': Never show count
|
|
47
|
-
*/
|
|
48
|
-
showCount?: AccordionShowCount;
|
|
49
|
-
/**
|
|
50
|
-
* Whether the item is disabled
|
|
51
|
-
*/
|
|
52
|
-
disabled?: boolean;
|
|
53
|
-
/**
|
|
54
|
-
* Content of the item (AccordionTrigger and AccordionContent)
|
|
55
|
-
*/
|
|
56
|
-
children: React.ReactNode;
|
|
57
|
-
/**
|
|
58
|
-
* Additional CSS class names
|
|
59
|
-
*/
|
|
60
|
-
className?: string;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* AccordionItem - individual collapsible section
|
|
64
|
-
*
|
|
65
|
-
* DOM Structure: `<div class="gloss-accordion-item">`
|
|
66
|
-
*/
|
|
67
|
-
export declare const AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
|
|
68
|
-
export interface AccordionTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
69
|
-
/**
|
|
70
|
-
* Icon to display on the left side
|
|
71
|
-
*/
|
|
72
|
-
icon?: React.ReactNode;
|
|
73
|
-
/**
|
|
74
|
-
* Content of the trigger (label text)
|
|
75
|
-
*/
|
|
76
|
-
children: React.ReactNode;
|
|
77
|
-
/**
|
|
78
|
-
* Additional CSS class names
|
|
79
|
-
*/
|
|
80
|
-
className?: string;
|
|
81
|
-
}
|
|
82
1
|
/**
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
export
|
|
88
|
-
export
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
*/
|
|
96
|
-
className?: string;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* AccordionContent - collapsible content area
|
|
100
|
-
*
|
|
101
|
-
* DOM Structure: `<div class="gloss-accordion-content">`
|
|
102
|
-
*/
|
|
103
|
-
export declare const AccordionContent: React.ForwardRefExoticComponent<AccordionContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
2
|
+
* @deprecated Import directly from '@mt-gloss/ui' instead.
|
|
3
|
+
* This file will be removed in Phase 23.
|
|
4
|
+
*/
|
|
5
|
+
export { PresetAccordion as Accordion } from '../presets/PresetAccordion/PresetAccordion';
|
|
6
|
+
export { PresetAccordionItem as AccordionItem } from '../presets/PresetAccordion/PresetAccordion';
|
|
7
|
+
export { PresetAccordionTrigger as AccordionTrigger } from '../presets/PresetAccordion/PresetAccordion';
|
|
8
|
+
export { PresetAccordionContent as AccordionContent } from '../presets/PresetAccordion/PresetAccordion';
|
|
9
|
+
export type { PresetAccordionProps as AccordionProps } from '../presets/PresetAccordion/PresetAccordion';
|
|
10
|
+
export type { PresetAccordionItemProps as AccordionItemProps } from '../presets/PresetAccordion/PresetAccordion';
|
|
11
|
+
export type { PresetAccordionTriggerProps as AccordionTriggerProps } from '../presets/PresetAccordion/PresetAccordion';
|
|
12
|
+
export type { PresetAccordionContentProps as AccordionContentProps } from '../presets/PresetAccordion/PresetAccordion';
|
|
13
|
+
export type AccordionShowCount = 'always' | 'collapsed-only' | 'never';
|
|
@@ -1,41 +1,6 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
export interface AsyncLoaderProps {
|
|
3
|
-
/**
|
|
4
|
-
* Color variant for the loading animation
|
|
5
|
-
* @default 'blue'
|
|
6
|
-
*/
|
|
7
|
-
color?: 'blue' | 'green';
|
|
8
|
-
/**
|
|
9
|
-
* Whether the loading animation is active
|
|
10
|
-
*/
|
|
11
|
-
isLoading?: boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Content to wrap (typically an Input component)
|
|
14
|
-
*/
|
|
15
|
-
children?: React.ReactNode;
|
|
16
|
-
/**
|
|
17
|
-
* Additional CSS class names
|
|
18
|
-
*/
|
|
19
|
-
className?: string;
|
|
20
|
-
}
|
|
21
1
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* DOM Structure:
|
|
25
|
-
* - `.gloss-async` wrapper (with `--loading` and `--{color}` modifiers)
|
|
26
|
-
* - `.gloss-async__container` containing two SVG elements
|
|
27
|
-
* - `.gloss-async__rect` (static background rect)
|
|
28
|
-
* - `.gloss-async__chaser` (animated chasing rect)
|
|
29
|
-
*
|
|
30
|
-
* @example
|
|
31
|
-
* ```tsx
|
|
32
|
-
* <AsyncLoader isLoading color="blue">
|
|
33
|
-
* <Input value="checking..." />
|
|
34
|
-
* </AsyncLoader>
|
|
35
|
-
*
|
|
36
|
-
* <AsyncLoader isLoading color="green">
|
|
37
|
-
* <Input status="success" value="verified" />
|
|
38
|
-
* </AsyncLoader>
|
|
39
|
-
* ```
|
|
2
|
+
* @deprecated Import directly from '@mt-gloss/ui' instead.
|
|
3
|
+
* This file will be removed in Phase 23.
|
|
40
4
|
*/
|
|
41
|
-
export
|
|
5
|
+
export { AsyncLoader } from '../wrappers/AsyncLoader/AsyncLoader';
|
|
6
|
+
export type { AsyncLoaderProps } from '../wrappers/AsyncLoader/AsyncLoader';
|
|
@@ -1,42 +1,7 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
export type BadgeVariant = 'default' | 'primary' | 'success' | 'warning' | 'error' | 'info';
|
|
3
|
-
export type BadgeSize = 'sm' | 'md' | 'lg';
|
|
4
|
-
export interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
5
|
-
/**
|
|
6
|
-
* Color variant of the badge
|
|
7
|
-
*/
|
|
8
|
-
variant?: BadgeVariant;
|
|
9
|
-
/**
|
|
10
|
-
* Size of the badge
|
|
11
|
-
*/
|
|
12
|
-
size?: BadgeSize;
|
|
13
|
-
/**
|
|
14
|
-
* Whether to display as a small dot (ignores children)
|
|
15
|
-
*/
|
|
16
|
-
dot?: boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Whether the badge should have a subtle/soft appearance
|
|
19
|
-
*/
|
|
20
|
-
soft?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
* Content of the badge
|
|
23
|
-
*/
|
|
24
|
-
children?: React.ReactNode;
|
|
25
|
-
/**
|
|
26
|
-
* Additional CSS class names
|
|
27
|
-
*/
|
|
28
|
-
className?: string;
|
|
29
|
-
}
|
|
30
1
|
/**
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* DOM Structure: `<span class="gloss-badge">`
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* ```tsx
|
|
37
|
-
* <Badge variant="success">Active</Badge>
|
|
38
|
-
* <Badge variant="error" dot />
|
|
39
|
-
* <Badge variant="primary" size="lg">New</Badge>
|
|
40
|
-
* ```
|
|
2
|
+
* @deprecated Import directly from '@mt-gloss/ui' instead.
|
|
3
|
+
* This file will be removed in Phase 23.
|
|
41
4
|
*/
|
|
42
|
-
export
|
|
5
|
+
export { PresetBadge as Badge } from '../presets/PresetBadge/PresetBadge';
|
|
6
|
+
export type { PresetBadgeProps as BadgeProps, PresetBadgeVariant as BadgeVariant } from '../presets/PresetBadge/PresetBadge';
|
|
7
|
+
export type BadgeSize = 'sm' | 'md' | 'lg';
|
|
@@ -1,73 +1,6 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
import { IconSlotProps } from '../types/icon';
|
|
3
|
-
import { TooltipPlacement } from './Tooltip';
|
|
4
|
-
export type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'outline' | 'danger' | 'danger-outline';
|
|
5
|
-
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, IconSlotProps {
|
|
6
|
-
/**
|
|
7
|
-
* Visual style variant
|
|
8
|
-
* @default 'primary'
|
|
9
|
-
*/
|
|
10
|
-
variant?: ButtonVariant;
|
|
11
|
-
/**
|
|
12
|
-
* Button size
|
|
13
|
-
* @default 'md'
|
|
14
|
-
*/
|
|
15
|
-
size?: 'sm' | 'md' | 'lg';
|
|
16
|
-
/**
|
|
17
|
-
* Loading state - shows spinner and disables interaction
|
|
18
|
-
*/
|
|
19
|
-
isLoading?: boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Disabled state
|
|
22
|
-
*/
|
|
23
|
-
disabled?: boolean;
|
|
24
|
-
/**
|
|
25
|
-
* Error state - shows error icon and makes button clickable to fix errors
|
|
26
|
-
* If string, displays as tooltip. If true, shows icon without tooltip.
|
|
27
|
-
*/
|
|
28
|
-
error?: string | boolean;
|
|
29
|
-
/**
|
|
30
|
-
* Renders button as icon-only (square aspect ratio)
|
|
31
|
-
* Requires leftIcon or rightIcon, and aria-label for accessibility
|
|
32
|
-
*/
|
|
33
|
-
iconOnly?: boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Makes button full width of container
|
|
36
|
-
*/
|
|
37
|
-
fullWidth?: boolean;
|
|
38
|
-
/**
|
|
39
|
-
* Tooltip content - wraps button with Tooltip component
|
|
40
|
-
*/
|
|
41
|
-
tooltip?: React.ReactNode;
|
|
42
|
-
/**
|
|
43
|
-
* Tooltip placement
|
|
44
|
-
* @default 'top'
|
|
45
|
-
*/
|
|
46
|
-
tooltipPlacement?: TooltipPlacement;
|
|
47
|
-
/**
|
|
48
|
-
* Delay before showing tooltip (ms)
|
|
49
|
-
* @default 200
|
|
50
|
-
*/
|
|
51
|
-
tooltipDelay?: number;
|
|
52
|
-
/**
|
|
53
|
-
* Content of the button
|
|
54
|
-
*/
|
|
55
|
-
children?: React.ReactNode;
|
|
56
|
-
/**
|
|
57
|
-
* Additional CSS class names
|
|
58
|
-
*/
|
|
59
|
-
className?: string;
|
|
60
|
-
}
|
|
61
1
|
/**
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* DOM Structure: `<button class="gloss-btn gloss-btn--{variant}">`
|
|
65
|
-
*
|
|
66
|
-
* @example
|
|
67
|
-
* ```tsx
|
|
68
|
-
* <Button variant="primary">Save</Button>
|
|
69
|
-
* <Button variant="secondary" disabled>Cancel</Button>
|
|
70
|
-
* <Button variant="ghost" isLoading>Loading...</Button>
|
|
71
|
-
* ```
|
|
2
|
+
* @deprecated Import directly from '@mt-gloss/ui' instead.
|
|
3
|
+
* This file will be removed in Phase 23.
|
|
72
4
|
*/
|
|
73
|
-
export
|
|
5
|
+
export { PresetButton as Button } from '../presets/PresetButton/PresetButton';
|
|
6
|
+
export type { PresetButtonProps as ButtonProps, PresetButtonVariant as ButtonVariant } from '../presets/PresetButton/PresetButton';
|
|
@@ -1,72 +1,6 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
import { ButtonVariant } from './Button';
|
|
3
|
-
export interface ButtonGroupProps {
|
|
4
|
-
/**
|
|
5
|
-
* Button elements to group
|
|
6
|
-
*/
|
|
7
|
-
children: React.ReactNode;
|
|
8
|
-
/**
|
|
9
|
-
* Orientation of the group
|
|
10
|
-
* @default 'horizontal'
|
|
11
|
-
*/
|
|
12
|
-
orientation?: 'horizontal' | 'vertical';
|
|
13
|
-
/**
|
|
14
|
-
* Visual style for connected buttons (removes gaps, merges borders)
|
|
15
|
-
* @default false
|
|
16
|
-
*/
|
|
17
|
-
attached?: boolean;
|
|
18
|
-
/**
|
|
19
|
-
* Size applied to all child buttons via context
|
|
20
|
-
*/
|
|
21
|
-
size?: 'sm' | 'md' | 'lg';
|
|
22
|
-
/**
|
|
23
|
-
* Variant applied to all child buttons via context
|
|
24
|
-
*/
|
|
25
|
-
variant?: ButtonVariant;
|
|
26
|
-
/**
|
|
27
|
-
* Full width distribution - buttons share available space equally
|
|
28
|
-
* @default false
|
|
29
|
-
*/
|
|
30
|
-
fullWidth?: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Gap between buttons when not attached
|
|
33
|
-
* @default 'md'
|
|
34
|
-
*/
|
|
35
|
-
gap?: 'none' | 'sm' | 'md' | 'lg';
|
|
36
|
-
/**
|
|
37
|
-
* Additional CSS class names
|
|
38
|
-
*/
|
|
39
|
-
className?: string;
|
|
40
|
-
}
|
|
41
1
|
/**
|
|
42
|
-
*
|
|
2
|
+
* @deprecated Import directly from '@mt-gloss/ui' instead.
|
|
3
|
+
* This file will be removed in Phase 23.
|
|
43
4
|
*/
|
|
44
|
-
export
|
|
45
|
-
|
|
46
|
-
variant?: ButtonVariant;
|
|
47
|
-
isInGroup: boolean;
|
|
48
|
-
}
|
|
49
|
-
export declare const ButtonGroupContext: React.Context<ButtonGroupContextValue>;
|
|
50
|
-
/**
|
|
51
|
-
* ButtonGroup component for grouping related buttons
|
|
52
|
-
*
|
|
53
|
-
* DOM Structure: `<div class="gloss-btn-group">`
|
|
54
|
-
*
|
|
55
|
-
* @example
|
|
56
|
-
* ```tsx
|
|
57
|
-
* // Attached button group
|
|
58
|
-
* <ButtonGroup attached>
|
|
59
|
-
* <Button>Left</Button>
|
|
60
|
-
* <Button>Center</Button>
|
|
61
|
-
* <Button>Right</Button>
|
|
62
|
-
* </ButtonGroup>
|
|
63
|
-
*
|
|
64
|
-
* // Vertical button group
|
|
65
|
-
* <ButtonGroup orientation="vertical" variant="secondary">
|
|
66
|
-
* <Button>Option 1</Button>
|
|
67
|
-
* <Button>Option 2</Button>
|
|
68
|
-
* <Button>Option 3</Button>
|
|
69
|
-
* </ButtonGroup>
|
|
70
|
-
* ```
|
|
71
|
-
*/
|
|
72
|
-
export declare const ButtonGroup: React.ForwardRefExoticComponent<ButtonGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
5
|
+
export { ButtonGroup, ButtonGroupContext } from '../wrappers/ButtonGroup/ButtonGroup';
|
|
6
|
+
export type { ButtonGroupProps, ButtonGroupContextValue } from '../wrappers/ButtonGroup/ButtonGroup';
|