@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.
Files changed (271) hide show
  1. package/catalog.d.ts +7 -0
  2. package/catalog.js +614 -0
  3. package/index.d.ts +274 -2
  4. package/index.js +2217 -18330
  5. package/internals.d.ts +64 -0
  6. package/internals.js +279 -0
  7. package/lib/base/BaseAccordion/BaseAccordion.d.ts +51 -0
  8. package/lib/base/BaseAlert/BaseAlert.d.ts +28 -0
  9. package/lib/base/BaseAsyncButton/BaseAsyncButton.d.ts +22 -0
  10. package/lib/base/BaseAvatar/BaseAvatar.d.ts +28 -0
  11. package/lib/base/BaseBadge/BaseBadge.d.ts +31 -0
  12. package/lib/base/BaseBox/BaseBox.d.ts +35 -0
  13. package/lib/base/BaseBreadcrumbs/BaseBreadcrumbs.d.ts +26 -0
  14. package/lib/base/BaseButton/BaseButton.d.ts +38 -0
  15. package/lib/base/BaseCard/BaseCard.d.ts +109 -0
  16. package/lib/base/BaseCheckbox/BaseCheckbox.d.ts +23 -0
  17. package/lib/base/BaseChip/BaseChip.d.ts +38 -0
  18. package/lib/base/BaseColorPicker/BaseColorPicker.d.ts +77 -0
  19. package/lib/base/BaseDatePicker/BaseDatePicker.d.ts +76 -0
  20. package/lib/base/BaseDateRangePicker/BaseDateRangePicker.d.ts +47 -0
  21. package/lib/base/BaseDialog/BaseDialog.d.ts +54 -0
  22. package/lib/base/BaseDivider/BaseDivider.d.ts +24 -0
  23. package/lib/base/BaseFileUpload/BaseFileUpload.d.ts +57 -0
  24. package/lib/base/BaseIcon/BaseIcon.d.ts +23 -0
  25. package/lib/base/BaseInput/BaseInput.d.ts +34 -0
  26. package/lib/base/BaseLabel/BaseLabel.d.ts +21 -0
  27. package/lib/base/BaseLink/BaseLink.d.ts +29 -0
  28. package/lib/base/BaseMaskedInput/BaseMaskedInput.d.ts +31 -0
  29. package/lib/base/BaseMenu/BaseMenu.d.ts +70 -0
  30. package/lib/base/BaseNumberInput/BaseNumberInput.d.ts +31 -0
  31. package/lib/base/BaseOverlay/BaseOverlay.d.ts +39 -0
  32. package/lib/base/BaseOverlay/useOverlayDismiss.d.ts +15 -0
  33. package/lib/base/BaseOverlay/useOverlayPositioning.d.ts +13 -0
  34. package/lib/base/BasePopover/BasePopover.d.ts +40 -0
  35. package/lib/base/BaseProgressBar/BaseProgressBar.d.ts +27 -0
  36. package/lib/base/BaseRadio/BaseRadio.d.ts +20 -0
  37. package/lib/base/BaseRangeSlider/BaseRangeSlider.d.ts +31 -0
  38. package/lib/base/BaseRating/BaseRating.d.ts +25 -0
  39. package/lib/base/BaseSegmentedControl/BaseSegmentedControl.d.ts +26 -0
  40. package/lib/base/BaseSelect/BaseSelect.d.ts +83 -0
  41. package/lib/base/BaseSlider/BaseSlider.d.ts +29 -0
  42. package/lib/base/BaseStack/BaseStack.d.ts +26 -0
  43. package/lib/base/BaseTable/BaseTable.d.ts +97 -0
  44. package/lib/base/BaseText/BaseText.d.ts +19 -0
  45. package/lib/base/BaseTextarea/BaseTextarea.d.ts +37 -0
  46. package/lib/base/BaseTimePicker/BaseTimePicker.d.ts +55 -0
  47. package/lib/base/BaseTitle/BaseTitle.d.ts +22 -0
  48. package/lib/base/BaseToast/BaseToast.d.ts +35 -0
  49. package/lib/base/BaseToggle/BaseToggle.d.ts +22 -0
  50. package/lib/base/BaseTooltip/BaseTooltip.d.ts +27 -0
  51. package/lib/base/BaseTypography/BaseTypography.d.ts +30 -0
  52. package/lib/base/BaseValue/BaseValue.d.ts +20 -0
  53. package/lib/base/index.d.ts +65 -0
  54. package/lib/base/types.d.ts +9 -0
  55. package/lib/base/utils.d.ts +18 -0
  56. package/lib/composites/controls/ThresholdRamp/ThresholdRamp.d.ts +24 -0
  57. package/lib/composites/controls/ThresholdRamp/index.d.ts +2 -0
  58. package/lib/composites/controls/index.d.ts +1 -0
  59. package/lib/composites/dashboard/QuickConfigPanel/QuickConfigPanel.d.ts +14 -0
  60. package/lib/composites/dashboard/QuickConfigPanel/index.d.ts +2 -0
  61. package/lib/composites/dashboard/QuickConfigPanel/types.d.ts +38 -0
  62. package/lib/composites/data/DataTable.d.ts +61 -0
  63. package/lib/composites/data/PinToMetric/PinToMetric.d.ts +11 -0
  64. package/lib/composites/data/PinToMetric/index.d.ts +2 -0
  65. package/lib/composites/data/PinToMetric/types.d.ts +17 -0
  66. package/lib/composites/data/index.d.ts +4 -0
  67. package/lib/composites/index.d.ts +5 -0
  68. package/lib/composites/inputs/Autocomplete.d.ts +36 -0
  69. package/lib/composites/inputs/EntityPicker.d.ts +36 -0
  70. package/lib/composites/inputs/FilterChip.d.ts +29 -0
  71. package/lib/composites/inputs/MultiSelect.d.ts +38 -0
  72. package/lib/composites/inputs/index.d.ts +8 -0
  73. package/lib/composites/navigation/Stepper.d.ts +40 -0
  74. package/lib/composites/navigation/index.d.ts +2 -0
  75. package/lib/composites/overlay/Dropdown/Dropdown.d.ts +22 -0
  76. package/lib/composites/overlay/Dropdown/index.d.ts +2 -0
  77. package/lib/composites/overlay/FormDialog.d.ts +38 -0
  78. package/lib/composites/overlay/InlineNudge/InlineNudge.d.ts +26 -0
  79. package/lib/composites/overlay/InlineNudge/index.d.ts +12 -0
  80. package/lib/composites/overlay/MergePrompt/MergePrompt.d.ts +16 -0
  81. package/lib/composites/overlay/MergePrompt/index.d.ts +2 -0
  82. package/lib/composites/overlay/MergePrompt/types.d.ts +15 -0
  83. package/lib/composites/overlay/SplitButton/SplitButton.d.ts +27 -0
  84. package/lib/composites/overlay/SplitButton/index.d.ts +2 -0
  85. package/lib/composites/overlay/index.d.ts +6 -0
  86. package/lib/compositions/feedback/DestructiveModal.d.ts +1 -1
  87. package/lib/compositions/filters/OrderFilterBar.d.ts +35 -0
  88. package/lib/compositions/filters/index.d.ts +2 -0
  89. package/lib/compositions/forms/AddressGroup.d.ts +13 -1
  90. package/lib/compositions/forms/ContactForm.d.ts +31 -0
  91. package/lib/compositions/forms/CreditCardForm.d.ts +3 -1
  92. package/lib/compositions/forms/LoginForm.d.ts +3 -1
  93. package/lib/compositions/forms/PaymentForm.d.ts +50 -0
  94. package/lib/compositions/forms/RegistrationForm.d.ts +39 -0
  95. package/lib/compositions/forms/index.d.ts +3 -0
  96. package/lib/compositions/index.d.ts +3 -0
  97. package/lib/compositions/navigation/ImportWizard.d.ts +28 -0
  98. package/lib/compositions/navigation/index.d.ts +2 -0
  99. package/lib/compositions/panels/EntitySearchPanel.d.ts +41 -0
  100. package/lib/compositions/panels/ProfileCard.d.ts +34 -0
  101. package/lib/compositions/panels/index.d.ts +4 -0
  102. package/lib/containers/ContainerCard/ContainerCard.d.ts +13 -0
  103. package/lib/containers/ContainerDialog/ContainerDialog.d.ts +27 -0
  104. package/lib/containers/ContainerForm/ContainerForm.d.ts +45 -0
  105. package/lib/containers/ContainerFormField/ContainerFormField.d.ts +31 -0
  106. package/lib/containers/ContainerFormSection/ContainerFormSection.d.ts +13 -0
  107. package/lib/containers/ContainerPanel/ContainerPanel.d.ts +14 -0
  108. package/lib/containers/ContainerTable/ContainerTable.d.ts +12 -0
  109. package/lib/containers/ContainerToolbar/ContainerToolbar.d.ts +11 -0
  110. package/lib/containers/UIContext.d.ts +26 -0
  111. package/lib/containers/index.d.ts +18 -0
  112. package/lib/dictionary/border.d.ts +11 -0
  113. package/lib/dictionary/breakpoint.d.ts +12 -0
  114. package/lib/dictionary/color.d.ts +67 -0
  115. package/lib/dictionary/elevation.d.ts +16 -0
  116. package/lib/dictionary/index.d.ts +14 -0
  117. package/lib/dictionary/motion.d.ts +13 -0
  118. package/lib/dictionary/opacity.d.ts +11 -0
  119. package/lib/dictionary/radius.d.ts +14 -0
  120. package/lib/dictionary/spacing.d.ts +18 -0
  121. package/lib/dictionary/typography.d.ts +25 -0
  122. package/lib/dictionary/z-index.d.ts +13 -0
  123. package/lib/facade/composites.d.ts +56 -0
  124. package/lib/facade/compositions.d.ts +27 -0
  125. package/lib/facade/containers.d.ts +8 -0
  126. package/lib/facade/data-display.d.ts +41 -0
  127. package/lib/facade/display.d.ts +50 -0
  128. package/lib/facade/feedback.d.ts +6 -0
  129. package/lib/facade/index.d.ts +17 -0
  130. package/lib/facade/inputs.d.ts +43 -0
  131. package/lib/facade/layout.d.ts +8 -0
  132. package/lib/facade/overlay.d.ts +26 -0
  133. package/lib/facade/typography.d.ts +12 -0
  134. package/lib/facade/wrappers.d.ts +26 -0
  135. package/lib/presets/PresetAccordion/PresetAccordion.d.ts +21 -0
  136. package/lib/presets/PresetAlert/PresetAlert.d.ts +17 -0
  137. package/lib/presets/PresetAsyncButton/PresetAsyncButton.d.ts +22 -0
  138. package/lib/presets/PresetAsyncLoader/PresetAsyncLoader.d.ts +6 -0
  139. package/lib/presets/PresetAvatar/PresetAvatar.d.ts +18 -0
  140. package/lib/presets/PresetBadge/PresetBadge.d.ts +15 -0
  141. package/lib/presets/PresetBreadcrumbs/PresetBreadcrumbs.d.ts +15 -0
  142. package/lib/presets/PresetButton/PresetButton.d.ts +27 -0
  143. package/lib/presets/PresetButtonGroup/PresetButtonGroup.d.ts +6 -0
  144. package/lib/presets/PresetCard/PresetCard.d.ts +45 -0
  145. package/lib/presets/PresetCheckbox/PresetCheckbox.d.ts +23 -0
  146. package/lib/presets/PresetCheckboxGroup/PresetCheckboxGroup.d.ts +6 -0
  147. package/lib/presets/PresetChip/PresetChip.d.ts +22 -0
  148. package/lib/presets/PresetColorPicker/PresetColorPicker.d.ts +22 -0
  149. package/lib/presets/PresetDatePicker/PresetDatePicker.d.ts +29 -0
  150. package/lib/presets/PresetDateRangePicker/PresetDateRangePicker.d.ts +37 -0
  151. package/lib/presets/PresetDialog/PresetDialog.d.ts +46 -0
  152. package/lib/presets/PresetDivider/PresetDivider.d.ts +13 -0
  153. package/lib/presets/PresetDropdown/PresetDropdown.d.ts +6 -0
  154. package/lib/presets/PresetFileUpload/PresetFileUpload.d.ts +35 -0
  155. package/lib/presets/PresetForm/PresetForm.d.ts +6 -0
  156. package/lib/presets/PresetFormField/PresetFormField.d.ts +6 -0
  157. package/lib/presets/PresetInput/PresetInput.d.ts +24 -0
  158. package/lib/presets/PresetInputGroup/PresetInputGroup.d.ts +6 -0
  159. package/lib/presets/PresetLabel/PresetLabel.d.ts +18 -0
  160. package/lib/presets/PresetLink/PresetLink.d.ts +21 -0
  161. package/lib/presets/PresetMaskedInput/PresetMaskedInput.d.ts +41 -0
  162. package/lib/presets/PresetMenu/PresetMenu.d.ts +33 -0
  163. package/lib/presets/PresetNumberInput/PresetNumberInput.d.ts +26 -0
  164. package/lib/presets/PresetPopover/PresetPopover.d.ts +17 -0
  165. package/lib/presets/PresetProgressBar/PresetProgressBar.d.ts +19 -0
  166. package/lib/presets/PresetRadio/PresetRadio.d.ts +21 -0
  167. package/lib/presets/PresetRadioGroup/PresetRadioGroup.d.ts +6 -0
  168. package/lib/presets/PresetRangeSlider/PresetRangeSlider.d.ts +30 -0
  169. package/lib/presets/PresetRating/PresetRating.d.ts +19 -0
  170. package/lib/presets/PresetSegmentedControl/PresetSegmentedControl.d.ts +28 -0
  171. package/lib/presets/PresetSelect/PresetSelect.d.ts +63 -0
  172. package/lib/presets/PresetSlider/PresetSlider.d.ts +29 -0
  173. package/lib/presets/PresetSplitButton/PresetSplitButton.d.ts +6 -0
  174. package/lib/presets/PresetSwatchRow/PresetSwatchRow.d.ts +28 -0
  175. package/lib/presets/PresetSwatchRow/index.d.ts +2 -0
  176. package/lib/presets/PresetText/PresetText.d.ts +17 -0
  177. package/lib/presets/PresetTextarea/PresetTextarea.d.ts +25 -0
  178. package/lib/presets/PresetTimePicker/PresetTimePicker.d.ts +27 -0
  179. package/lib/presets/PresetTitle/PresetTitle.d.ts +19 -0
  180. package/lib/presets/PresetToast/PresetToast.d.ts +19 -0
  181. package/lib/presets/PresetToggle/PresetToggle.d.ts +21 -0
  182. package/lib/presets/PresetTooltip/PresetTooltip.d.ts +20 -0
  183. package/lib/presets/PresetTransition/PresetTransition.d.ts +6 -0
  184. package/lib/presets/PresetValue/PresetValue.d.ts +15 -0
  185. package/lib/presets/createPreset.d.ts +64 -0
  186. package/lib/presets/index.d.ts +86 -0
  187. package/lib/presets/types.d.ts +13 -0
  188. package/lib/primitives/Accordion.d.ts +12 -102
  189. package/lib/primitives/AsyncLoader.d.ts +4 -39
  190. package/lib/primitives/Badge.d.ts +5 -40
  191. package/lib/primitives/Button.d.ts +4 -71
  192. package/lib/primitives/ButtonGroup.d.ts +4 -70
  193. package/lib/primitives/Card.d.ts +20 -138
  194. package/lib/primitives/Checkbox.d.ts +4 -68
  195. package/lib/primitives/CheckboxGroup.d.ts +4 -160
  196. package/lib/primitives/Chip.d.ts +5 -66
  197. package/lib/primitives/ColorPicker.d.ts +4 -80
  198. package/lib/primitives/DatePicker.d.ts +4 -100
  199. package/lib/primitives/DateRangePicker.d.ts +4 -107
  200. package/lib/primitives/Dropdown.d.ts +4 -63
  201. package/lib/primitives/FileUpload.d.ts +4 -107
  202. package/lib/primitives/Form.d.ts +4 -117
  203. package/lib/primitives/FormField.d.ts +4 -67
  204. package/lib/primitives/Input.d.ts +4 -87
  205. package/lib/primitives/InputGroup.d.ts +4 -57
  206. package/lib/primitives/Link.d.ts +4 -67
  207. package/lib/primitives/MaskedInput.d.ts +4 -93
  208. package/lib/primitives/Menu.d.ts +12 -131
  209. package/lib/primitives/NumberInput.d.ts +4 -79
  210. package/lib/primitives/Radio.d.ts +4 -58
  211. package/lib/primitives/RadioGroup.d.ts +4 -161
  212. package/lib/primitives/RangeSlider.d.ts +4 -103
  213. package/lib/primitives/Rating.d.ts +4 -113
  214. package/lib/primitives/SegmentedControl.d.ts +4 -94
  215. package/lib/primitives/Select.d.ts +5 -203
  216. package/lib/primitives/Slider.d.ts +4 -109
  217. package/lib/primitives/SplitButton.d.ts +4 -82
  218. package/lib/primitives/Textarea.d.ts +4 -57
  219. package/lib/primitives/TimePicker.d.ts +4 -91
  220. package/lib/primitives/Toggle.d.ts +4 -66
  221. package/lib/primitives/Tooltip.d.ts +6 -86
  222. package/lib/primitives/Transition.d.ts +4 -105
  223. package/lib/primitives/dashboard/MetricCard/CardBack.d.ts +17 -2
  224. package/lib/primitives/dashboard/MetricCard/CardShell.d.ts +1 -1
  225. package/lib/primitives/dashboard/MetricCard/EdgeHoverHandle.d.ts +20 -0
  226. package/lib/primitives/dashboard/MetricCard/GhostPreview.d.ts +24 -0
  227. package/lib/primitives/dashboard/MetricCard/GutterActions.d.ts +12 -2
  228. package/lib/primitives/dashboard/MetricCard/MetricCard.d.ts +0 -28
  229. package/lib/primitives/dashboard/MetricCard/StatusModeCard.d.ts +5 -0
  230. package/lib/primitives/dashboard/MetricCard/StatusSlotChipMenu.d.ts +28 -0
  231. package/lib/primitives/dashboard/MetricCard/flipAndStage/FlipAndStageProvider.d.ts +29 -0
  232. package/lib/primitives/dashboard/MetricCard/flipAndStage/index.d.ts +15 -0
  233. package/lib/primitives/dashboard/MetricCard/flipAndStage/types.d.ts +83 -0
  234. package/lib/primitives/dashboard/MetricCard/flipAndStage/useFlipAndStage.d.ts +10 -0
  235. package/lib/primitives/dashboard/MetricCard/index.d.ts +10 -0
  236. package/lib/primitives/dashboard/MetricCard/types.d.ts +48 -4
  237. package/lib/primitives/dashboard/MetricCard/useEdgeHoverResize.d.ts +52 -0
  238. package/lib/primitives/dashboard/MetricCard/useSlotCapacity.d.ts +12 -0
  239. package/lib/primitives/dashboard/MetricCardGrid/MetricCardGrid.d.ts +21 -19
  240. package/lib/primitives/dashboard/MetricCardGrid/types.d.ts +8 -1
  241. package/lib/primitives/dashboard/MetricGroupContainer/MetricGroupContainer.d.ts +5 -0
  242. package/lib/primitives/dashboard/MetricGroupContainer/__tests__/fixtures.d.ts +13 -0
  243. package/lib/primitives/dashboard/MetricGroupContainer/index.d.ts +2 -0
  244. package/lib/primitives/dashboard/MetricGroupContainer/types.d.ts +34 -0
  245. package/lib/primitives/dashboard/PageChip/PageChip.d.ts +27 -0
  246. package/lib/primitives/dashboard/PageChip/PageDropdown.d.ts +29 -0
  247. package/lib/primitives/dashboard/PageChip/index.d.ts +3 -0
  248. package/lib/primitives/dashboard/PageChip/types.d.ts +36 -0
  249. package/lib/primitives/dashboard/TimeFrame/SimpleSelector.d.ts +9 -0
  250. package/lib/primitives/dashboard/TimeFrame/index.d.ts +2 -0
  251. package/lib/primitives/dashboard/TimeFrame/types.d.ts +8 -0
  252. package/lib/primitives/dashboard/UnifiedContextMenu/types.d.ts +2 -0
  253. package/lib/primitives/dashboard/index.d.ts +2 -0
  254. package/lib/wrappers/Actionable/Actionable.d.ts +17 -0
  255. package/lib/wrappers/AsyncLoader/AsyncLoader.d.ts +13 -0
  256. package/lib/wrappers/ButtonGroup/ButtonGroup.d.ts +23 -0
  257. package/lib/wrappers/CheckboxGroup/CheckboxGroup.d.ts +52 -0
  258. package/lib/wrappers/Dismissible/Dismissible.d.ts +24 -0
  259. package/lib/wrappers/Expandable/Expandable.d.ts +23 -0
  260. package/lib/wrappers/InputGroup/InputGroup.d.ts +20 -0
  261. package/lib/wrappers/RadioGroup/RadioGroup.d.ts +52 -0
  262. package/lib/wrappers/Selectable/Selectable.d.ts +19 -0
  263. package/lib/wrappers/Sortable/Sortable.d.ts +27 -0
  264. package/lib/wrappers/SortableZones/SortableZones.d.ts +32 -0
  265. package/lib/wrappers/SortableZones/index.d.ts +4 -0
  266. package/lib/wrappers/SortableZones/useSortableZones.d.ts +66 -0
  267. package/lib/wrappers/Transition/Transition.d.ts +49 -0
  268. package/lib/wrappers/index.d.ts +25 -0
  269. package/lib/wrappers/utils.d.ts +10 -0
  270. package/package.json +37 -3
  271. 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
- * AccordionTrigger - clickable header that toggles the accordion
84
- *
85
- * DOM Structure: `<button class="gloss-accordion-trigger">`
86
- */
87
- export declare const AccordionTrigger: React.ForwardRefExoticComponent<AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>;
88
- export interface AccordionContentProps extends React.HTMLAttributes<HTMLDivElement> {
89
- /**
90
- * Content to display when expanded
91
- */
92
- children: React.ReactNode;
93
- /**
94
- * Additional CSS class names
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
- * AsyncLoader component - perimeter-tracing SVG animation wrapper
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 declare const AsyncLoader: React.ForwardRefExoticComponent<AsyncLoaderProps & React.RefAttributes<HTMLDivElement>>;
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
- * Badge component - small status indicator for labeling and categorization
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 declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLSpanElement>>;
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
- * Button component with tactile feedback and multiple variants
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 declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
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
- * Context for sharing ButtonGroup props with child buttons
2
+ * @deprecated Import directly from '@mt-gloss/ui' instead.
3
+ * This file will be removed in Phase 23.
43
4
  */
44
- export interface ButtonGroupContextValue {
45
- size?: 'sm' | 'md' | 'lg';
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';