@ds-mo/ui 0.2.4 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +29 -0
  2. package/dist/components/Accordion/Accordion.d.ts.map +1 -0
  3. package/dist/components/Accordion/index.d.ts +3 -0
  4. package/dist/components/Accordion/index.d.ts.map +1 -0
  5. package/dist/components/Badge/Badge.d.ts +18 -0
  6. package/dist/components/Badge/Badge.d.ts.map +1 -0
  7. package/dist/components/Badge/index.d.ts +3 -0
  8. package/dist/components/Badge/index.d.ts.map +1 -0
  9. package/dist/components/Banner/Banner.d.ts +16 -0
  10. package/dist/components/Banner/Banner.d.ts.map +1 -0
  11. package/dist/components/Banner/index.d.ts +3 -0
  12. package/dist/components/Banner/index.d.ts.map +1 -0
  13. package/dist/components/Breadcrumb/Breadcrumb.d.ts +15 -0
  14. package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
  15. package/dist/components/Breadcrumb/index.d.ts +3 -0
  16. package/dist/components/Breadcrumb/index.d.ts.map +1 -0
  17. package/dist/components/Button/Button.d.ts +85 -0
  18. package/dist/components/Button/Button.d.ts.map +1 -0
  19. package/dist/components/Button/index.d.ts +3 -0
  20. package/dist/components/Button/index.d.ts.map +1 -0
  21. package/dist/components/ButtonGroup/ButtonGroup.d.ts +26 -0
  22. package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -0
  23. package/dist/components/ButtonGroup/index.d.ts +3 -0
  24. package/dist/components/ButtonGroup/index.d.ts.map +1 -0
  25. package/dist/components/Card/Card.d.ts +20 -0
  26. package/dist/components/Card/Card.d.ts.map +1 -0
  27. package/dist/components/Card/index.d.ts +3 -0
  28. package/dist/components/Card/index.d.ts.map +1 -0
  29. package/dist/components/Checkbox/Checkbox.d.ts +18 -0
  30. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  31. package/dist/components/Checkbox/index.d.ts +3 -0
  32. package/dist/components/Checkbox/index.d.ts.map +1 -0
  33. package/dist/components/Divider/Divider.d.ts +9 -0
  34. package/dist/components/Divider/Divider.d.ts.map +1 -0
  35. package/dist/components/Divider/index.d.ts +3 -0
  36. package/dist/components/Divider/index.d.ts.map +1 -0
  37. package/dist/components/EmptyState/EmptyState.d.ts +9 -0
  38. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -0
  39. package/dist/components/EmptyState/index.d.ts +3 -0
  40. package/dist/components/EmptyState/index.d.ts.map +1 -0
  41. package/dist/components/ErrorBoundary/ErrorBoundary.d.ts +18 -0
  42. package/dist/components/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
  43. package/dist/components/ErrorBoundary/index.d.ts +3 -0
  44. package/dist/components/ErrorBoundary/index.d.ts.map +1 -0
  45. package/dist/components/Fade/Fade.d.ts +11 -0
  46. package/dist/components/Fade/Fade.d.ts.map +1 -0
  47. package/dist/components/Fade/index.d.ts +3 -0
  48. package/dist/components/Fade/index.d.ts.map +1 -0
  49. package/dist/components/Field/Field.d.ts +9 -0
  50. package/dist/components/Field/Field.d.ts.map +1 -0
  51. package/dist/components/Field/index.d.ts +3 -0
  52. package/dist/components/Field/index.d.ts.map +1 -0
  53. package/dist/components/Header/Header.d.ts +12 -0
  54. package/dist/components/Header/Header.d.ts.map +1 -0
  55. package/dist/components/Header/index.d.ts +3 -0
  56. package/dist/components/Header/index.d.ts.map +1 -0
  57. package/dist/components/Input/Input.d.ts +27 -0
  58. package/dist/components/Input/Input.d.ts.map +1 -0
  59. package/dist/components/Input/index.d.ts +3 -0
  60. package/dist/components/Input/index.d.ts.map +1 -0
  61. package/dist/components/LabelWrap/LabelWrap.d.ts +27 -0
  62. package/dist/components/LabelWrap/LabelWrap.d.ts.map +1 -0
  63. package/dist/components/LabelWrap/index.d.ts +2 -0
  64. package/dist/components/LabelWrap/index.d.ts.map +1 -0
  65. package/dist/components/Loader/Loader.d.ts +33 -0
  66. package/dist/components/Loader/Loader.d.ts.map +1 -0
  67. package/dist/components/Loader/index.d.ts +3 -0
  68. package/dist/components/Loader/index.d.ts.map +1 -0
  69. package/dist/components/Menu/DestructiveMenuItem.d.ts +12 -0
  70. package/dist/components/Menu/DestructiveMenuItem.d.ts.map +1 -0
  71. package/dist/components/Menu/Menu.d.ts +55 -0
  72. package/dist/components/Menu/Menu.d.ts.map +1 -0
  73. package/dist/components/Menu/MenuItem.d.ts +33 -0
  74. package/dist/components/Menu/MenuItem.d.ts.map +1 -0
  75. package/dist/components/Menu/index.d.ts +7 -0
  76. package/dist/components/Menu/index.d.ts.map +1 -0
  77. package/dist/components/Modal/Modal.d.ts +15 -0
  78. package/dist/components/Modal/Modal.d.ts.map +1 -0
  79. package/dist/components/Modal/index.d.ts +3 -0
  80. package/dist/components/Modal/index.d.ts.map +1 -0
  81. package/dist/components/Pagination/Pagination.d.ts +16 -0
  82. package/dist/components/Pagination/Pagination.d.ts.map +1 -0
  83. package/dist/components/Pagination/index.d.ts +3 -0
  84. package/dist/components/Pagination/index.d.ts.map +1 -0
  85. package/dist/components/Radio/Radio.d.ts +35 -0
  86. package/dist/components/Radio/Radio.d.ts.map +1 -0
  87. package/dist/components/Radio/index.d.ts +3 -0
  88. package/dist/components/Radio/index.d.ts.map +1 -0
  89. package/dist/components/Scrollbar/Scrollbar.d.ts +13 -0
  90. package/dist/components/Scrollbar/Scrollbar.d.ts.map +1 -0
  91. package/dist/components/Scrollbar/index.d.ts +3 -0
  92. package/dist/components/Scrollbar/index.d.ts.map +1 -0
  93. package/dist/components/Select/Select.d.ts +22 -0
  94. package/dist/components/Select/Select.d.ts.map +1 -0
  95. package/dist/components/Select/index.d.ts +3 -0
  96. package/dist/components/Select/index.d.ts.map +1 -0
  97. package/dist/components/Sidebar/Sidebar.d.ts +15 -0
  98. package/dist/components/Sidebar/Sidebar.d.ts.map +1 -0
  99. package/dist/components/Sidebar/SidebarItem.d.ts +14 -0
  100. package/dist/components/Sidebar/SidebarItem.d.ts.map +1 -0
  101. package/dist/components/Sidebar/SidebarSection.d.ts +10 -0
  102. package/dist/components/Sidebar/SidebarSection.d.ts.map +1 -0
  103. package/dist/components/Sidebar/index.d.ts +7 -0
  104. package/dist/components/Sidebar/index.d.ts.map +1 -0
  105. package/dist/components/Skeleton/Skeleton.d.ts +17 -0
  106. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -0
  107. package/dist/components/Skeleton/index.d.ts +3 -0
  108. package/dist/components/Skeleton/index.d.ts.map +1 -0
  109. package/dist/components/Slider/Slider.d.ts +16 -0
  110. package/dist/components/Slider/Slider.d.ts.map +1 -0
  111. package/dist/components/Slider/index.d.ts +3 -0
  112. package/dist/components/Slider/index.d.ts.map +1 -0
  113. package/dist/components/Surface/Surface.d.ts +59 -0
  114. package/dist/components/Surface/Surface.d.ts.map +1 -0
  115. package/dist/components/Surface/index.d.ts +3 -0
  116. package/dist/components/Surface/index.d.ts.map +1 -0
  117. package/dist/components/Tab/Tab.d.ts +21 -0
  118. package/dist/components/Tab/Tab.d.ts.map +1 -0
  119. package/dist/components/Tab/index.d.ts +3 -0
  120. package/dist/components/Tab/index.d.ts.map +1 -0
  121. package/dist/components/TabGroup/TabGroup.d.ts +26 -0
  122. package/dist/components/TabGroup/TabGroup.d.ts.map +1 -0
  123. package/dist/components/TabGroup/index.d.ts +3 -0
  124. package/dist/components/TabGroup/index.d.ts.map +1 -0
  125. package/dist/components/Table/Table.d.ts +46 -0
  126. package/dist/components/Table/Table.d.ts.map +1 -0
  127. package/dist/components/Table/index.d.ts +3 -0
  128. package/dist/components/Table/index.d.ts.map +1 -0
  129. package/dist/components/Tag/Tag.d.ts +38 -0
  130. package/dist/components/Tag/Tag.d.ts.map +1 -0
  131. package/dist/components/Tag/index.d.ts +3 -0
  132. package/dist/components/Tag/index.d.ts.map +1 -0
  133. package/dist/components/Text/Text.d.ts +41 -0
  134. package/dist/components/Text/Text.d.ts.map +1 -0
  135. package/dist/components/Text/index.d.ts +3 -0
  136. package/dist/components/Text/index.d.ts.map +1 -0
  137. package/dist/components/Toast/Toast.d.ts +33 -0
  138. package/dist/components/Toast/Toast.d.ts.map +1 -0
  139. package/dist/components/Toast/index.d.ts +3 -0
  140. package/dist/components/Toast/index.d.ts.map +1 -0
  141. package/dist/components/Toggle/Toggle.d.ts +17 -0
  142. package/dist/components/Toggle/Toggle.d.ts.map +1 -0
  143. package/dist/components/Toggle/index.d.ts +3 -0
  144. package/dist/components/Toggle/index.d.ts.map +1 -0
  145. package/dist/components/ToggleButton/ToggleButton.d.ts +35 -0
  146. package/dist/components/ToggleButton/ToggleButton.d.ts.map +1 -0
  147. package/dist/components/ToggleButton/index.d.ts +3 -0
  148. package/dist/components/ToggleButton/index.d.ts.map +1 -0
  149. package/dist/components/ToggleButtonGroup/ToggleButtonGroup.d.ts +24 -0
  150. package/dist/components/ToggleButtonGroup/ToggleButtonGroup.d.ts.map +1 -0
  151. package/dist/components/ToggleButtonGroup/index.d.ts +3 -0
  152. package/dist/components/ToggleButtonGroup/index.d.ts.map +1 -0
  153. package/dist/components/Tooltip/Tooltip.d.ts +17 -0
  154. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
  155. package/dist/components/Tooltip/index.d.ts +3 -0
  156. package/dist/components/Tooltip/index.d.ts.map +1 -0
  157. package/dist/index.css +1 -1
  158. package/dist/index.d.ts +82 -969
  159. package/dist/index.d.ts.map +1 -0
  160. package/dist/index.js +1641 -1165
  161. package/dist/index.js.map +1 -1
  162. package/dist/r/badge.json +1 -1
  163. package/dist/r/banner.json +2 -2
  164. package/dist/r/loader.json +2 -2
  165. package/dist/r/menu.json +4 -4
  166. package/dist/r/select.json +1 -1
  167. package/dist/r/tab-group.json +1 -1
  168. package/dist/r/tab.json +1 -1
  169. package/dist/r/toggle.json +1 -1
  170. package/dist/types/icons.d.ts +14 -0
  171. package/dist/types/icons.d.ts.map +1 -0
  172. package/dist/types/index.d.ts +2 -0
  173. package/dist/types/index.d.ts.map +1 -0
  174. package/dist/utils/cn.d.ts +5 -0
  175. package/dist/utils/cn.d.ts.map +1 -0
  176. package/dist/utils/css-tokens.d.ts +11 -0
  177. package/dist/utils/css-tokens.d.ts.map +1 -0
  178. package/package.json +17 -12
  179. package/src/components/Accordion/Accordion.tsx +10 -1
  180. package/src/components/Badge/Badge.stories.tsx +32 -0
  181. package/src/components/Badge/Badge.tsx +19 -2
  182. package/src/components/Banner/Banner.module.css +38 -0
  183. package/src/components/Banner/Banner.tsx +34 -4
  184. package/src/components/Button/Button.stories.tsx +1 -1
  185. package/src/components/Button/Button.tsx +42 -11
  186. package/src/components/Checkbox/Checkbox.tsx +6 -3
  187. package/src/components/Field/Field.tsx +20 -7
  188. package/src/components/Input/Input.module.css +21 -0
  189. package/src/components/Input/Input.tsx +62 -21
  190. package/src/components/Loader/Loader.module.css +17 -0
  191. package/src/components/Loader/Loader.stories.tsx +9 -0
  192. package/src/components/Loader/Loader.tsx +42 -20
  193. package/src/components/Menu/DestructiveMenuItem.tsx +59 -6
  194. package/src/components/Menu/Menu.tsx +160 -11
  195. package/src/components/Menu/MenuItem.module.css +2 -0
  196. package/src/components/Menu/MenuItem.tsx +48 -5
  197. package/src/components/Modal/Modal.tsx +81 -4
  198. package/src/components/Radio/Radio.tsx +117 -29
  199. package/src/components/Scrollbar/Scrollbar.module.css +5 -0
  200. package/src/components/Scrollbar/Scrollbar.tsx +18 -4
  201. package/src/components/Select/Select.tsx +139 -9
  202. package/src/components/Sidebar/Sidebar.module.css +7 -0
  203. package/src/components/Sidebar/Sidebar.tsx +102 -4
  204. package/src/components/Slider/Slider.module.css +5 -1
  205. package/src/components/Slider/Slider.stories.tsx +25 -0
  206. package/src/components/Slider/Slider.tsx +4 -4
  207. package/src/components/Tab/Tab.tsx +32 -2
  208. package/src/components/TabGroup/TabGroup.stories.tsx +46 -15
  209. package/src/components/TabGroup/TabGroup.tsx +77 -10
  210. package/src/components/Table/Table.module.css +10 -0
  211. package/src/components/Table/Table.tsx +58 -29
  212. package/src/components/Tag/Tag.tsx +5 -2
  213. package/src/components/Toast/Toast.tsx +44 -8
  214. package/src/components/Toggle/Toggle.tsx +23 -22
  215. package/src/components/Tooltip/Tooltip.tsx +42 -6
package/dist/index.d.ts CHANGED
@@ -1,969 +1,82 @@
1
- import { Component } from 'react';
2
- import { default as default_2 } from 'react';
3
- import { ForwardRefExoticComponent } from 'react';
4
- import { JSX } from 'react/jsx-runtime';
5
- import { ReactNode } from 'react';
6
- import { RefAttributes } from 'react';
7
- import { SVGAttributes } from 'react';
8
-
9
- export declare const Accordion: default_2.ForwardRefExoticComponent<AccordionProps & default_2.RefAttributes<HTMLDivElement>>;
10
-
11
- export declare const AccordionItem: default_2.ForwardRefExoticComponent<AccordionItemProps & default_2.RefAttributes<HTMLDivElement>>;
12
-
13
- export declare interface AccordionItemData {
14
- id: string;
15
- label: string;
16
- content: default_2.ReactNode;
17
- inactive?: boolean;
18
- }
19
-
20
- export declare interface AccordionItemProps {
21
- label: string;
22
- children: default_2.ReactNode;
23
- isExpanded?: boolean;
24
- onToggle?: () => void;
25
- inactive?: boolean;
26
- className?: string;
27
- }
28
-
29
- export declare interface AccordionProps {
30
- /** Items to render. */
31
- items: AccordionItemData[];
32
- /** Allow multiple items open at once. When false, behaves as an accordion. */
33
- multiple?: boolean;
34
- /** Controlled: which item IDs are expanded. */
35
- expandedIds?: string[];
36
- /** Called when expansion state changes. */
37
- onExpandedChange?: (ids: string[]) => void;
38
- className?: string;
39
- }
40
-
41
- export declare const Badge: default_2.FC<BadgeProps>;
42
-
43
- export declare interface BadgeProps {
44
- count: number;
45
- isSelected?: boolean;
46
- className?: string;
47
- }
48
-
49
- export declare const Banner: default_2.FC<BannerProps>;
50
-
51
- export declare type BannerContrast = 'faint' | 'medium' | 'bold' | 'strong';
52
-
53
- export declare type BannerIntent = 'brand' | 'positive' | 'negative' | 'warning' | 'caution' | 'ai' | 'neutral' | 'walkthrough' | 'guide';
54
-
55
- export declare interface BannerProps {
56
- intent: BannerIntent;
57
- contrast: BannerContrast;
58
- message: string;
59
- header?: boolean;
60
- className?: string;
61
- floating?: boolean;
62
- onDismiss?: () => void;
63
- }
64
-
65
- export declare const Breadcrumb: default_2.ForwardRefExoticComponent<BreadcrumbProps & default_2.RefAttributes<HTMLElement>>;
66
-
67
- export declare interface BreadcrumbItem {
68
- label: string;
69
- href?: string;
70
- onClick?: () => void;
71
- }
72
-
73
- export declare interface BreadcrumbProps {
74
- /** Ordered list of breadcrumb items. Last item is treated as current page. */
75
- items: BreadcrumbItem[];
76
- /** Custom separator. Defaults to '/'. */
77
- separator?: default_2.ReactNode;
78
- className?: string;
79
- }
80
-
81
- export declare const Button: default_2.ForwardRefExoticComponent<ButtonProps & default_2.RefAttributes<HTMLElement>>;
82
-
83
- export declare type ButtonBackground = 'faint' | 'medium' | 'bold' | 'strong' | 'always-dark';
84
-
85
- export declare type ButtonContrast = 'strong' | 'bold' | 'medium' | 'faint';
86
-
87
- export declare type ButtonElevation = 'none' | 'flat' | 'elevated' | 'floating';
88
-
89
- /**
90
- * Renders Button children flush side-by-side with a 1px divider between them.
91
- * Outer corners keep the button's own border-radius; inner corners are flattened.
92
- *
93
- * Individual button chrome (shadow/border) is suppressed — the group container
94
- * carries the elevation so it wraps the whole control as one visual unit.
95
- *
96
- * Divider behaviour by variant:
97
- * secondary / primary+none — full-height color-border-tertiary line
98
- * primary (with intent) — color-border-tertiary-on-{contrast}-background
99
- * ghost (secondary+none) — short centred line (icon/text height)
100
- *
101
- * Rounded groups: outer edges keep pill padding; inner edges revert to base padding.
102
- * Mix of intents is only valid when variant="secondary"; primary groups must be
103
- * homogeneous (same intent + contrast on all items).
104
- */
105
- export declare const ButtonGroup: {
106
- ({ children, className }: ButtonGroupProps): JSX.Element;
107
- displayName: string;
108
- };
109
-
110
- export declare interface ButtonGroupProps {
111
- children: default_2.ReactNode;
112
- className?: string;
113
- }
114
-
115
- export declare type ButtonIntent = 'none' | 'neutral' | 'brand' | 'ai' | 'negative' | 'warning' | 'caution' | 'positive';
116
-
117
- export declare interface ButtonProps {
118
- /** Polymorphic element type. Defaults to 'button'. */
119
- as?: default_2.ElementType;
120
- /** Visual variant. Defaults to 'primary'. */
121
- variant?: ButtonVariant;
122
- /** Label text. */
123
- label?: string;
124
- /** Leading icon component from @ds-mo/icons. */
125
- icon?: IconComponent;
126
- /** Semantic intent. Defaults to 'brand'. */
127
- intent?: ButtonIntent;
128
- /** Size. Defaults to 'md'. */
129
- size?: ButtonSize;
130
- /** Pill shape with extra padding. */
131
- rounded?: boolean;
132
- /** Fill container width. Label truncates if space is tight. */
133
- fullWidth?: boolean;
134
- /** Fixed width. Omit for content width. */
135
- width?: default_2.CSSProperties['width'];
136
- /** Contrast level (primary variant only). Defaults to 'bold'. */
137
- contrast?: ButtonContrast;
138
- /**
139
- * Parent surface context. Adjusts hover tokens and secondary fg colors
140
- * for buttons placed on colored backgrounds.
141
- * faint — default, no adjustment
142
- * medium — use on-medium-background interaction tokens
143
- * bold — use on-bold-background interaction + inverted fg
144
- * strong — use on-strong-background interaction + inverted fg
145
- * always-dark — dark surface (no theme flip), on-bold-background tokens
146
- */
147
- background?: ButtonBackground;
148
- /** Show trailing ChevronDown dropdown indicator. */
149
- dropdown?: boolean;
150
- /** Badge count. */
151
- badgeCount?: number;
152
- /**
153
- * Chrome level for secondary; shadow level for primary.
154
- * none — ghost (transparent, no border, no shadow)
155
- * flat — border only, transparent bg [default for secondary]
156
- * elevated — bg-primary + shadow [default for primary]
157
- * floating — bg-primary + FAB-strength shadow
158
- */
159
- elevation?: ButtonElevation;
160
- /** Show loading spinner in place of icon. Prevents interaction. */
161
- loading?: boolean;
162
- onClick?: (e: default_2.MouseEvent<HTMLElement>) => void;
163
- onMouseEnter?: default_2.MouseEventHandler<HTMLElement>;
164
- onMouseLeave?: default_2.MouseEventHandler<HTMLElement>;
165
- className?: string;
166
- inactive?: boolean;
167
- type?: 'button' | 'submit' | 'reset';
168
- id?: string;
169
- 'aria-label'?: string;
170
- href?: string;
171
- target?: string;
172
- rel?: string;
173
- }
174
-
175
- export declare type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';
176
-
177
- export declare type ButtonVariant = 'primary' | 'secondary';
178
-
179
- export declare const Card: default_2.ForwardRefExoticComponent<CardProps & default_2.RefAttributes<HTMLDivElement>>;
180
-
181
- export declare type CardElevation = 'flat' | 'elevated' | 'floating';
182
-
183
- export declare interface CardProps {
184
- children: default_2.ReactNode;
185
- /** Optional header content — rendered with a bottom divider. */
186
- header?: default_2.ReactNode;
187
- /** Optional footer content — rendered with a top divider. */
188
- footer?: default_2.ReactNode;
189
- /** Elevation level. Defaults to 'elevated'. */
190
- elevation?: CardElevation;
191
- /** Corner radius. Defaults to 'lg'. */
192
- radius?: CardRadius;
193
- /** Additional CSS classes. */
194
- className?: string;
195
- /** Inline styles. */
196
- style?: default_2.CSSProperties;
197
- }
198
-
199
- export declare type CardRadius = 'sm' | 'md' | 'lg' | 'xl';
200
-
201
- export declare type CellType = 'string' | 'numbers' | 'tag' | 'checkbox' | 'button' | 'spacer' | 'image' | 'icon' | 'empty';
202
-
203
- export declare const Checkbox: default_2.ForwardRefExoticComponent<CheckboxProps & default_2.RefAttributes<HTMLDivElement>>;
204
-
205
- export declare interface CheckboxProps {
206
- label: string;
207
- checked?: boolean;
208
- indeterminate?: boolean;
209
- onChange?: (checked: boolean) => void;
210
- inactive?: boolean;
211
- className?: string;
212
- /** Icon for checked state. */
213
- checkedIcon?: IconComponent;
214
- /** Icon for unchecked state. */
215
- uncheckedIcon?: IconComponent;
216
- /** Icon for indeterminate state. */
217
- indeterminateIcon?: IconComponent;
218
- }
219
-
220
- export declare const DestructiveMenuItem: default_2.ForwardRefExoticComponent<DestructiveMenuItemProps & default_2.RefAttributes<HTMLButtonElement>>;
221
-
222
- export declare interface DestructiveMenuItemProps {
223
- label: string;
224
- onClick: () => void;
225
- holdDuration?: number;
226
- subtext?: string;
227
- }
228
-
229
- export declare const Divider: default_2.ForwardRefExoticComponent<DividerProps & default_2.RefAttributes<HTMLHRElement>>;
230
-
231
- export declare type DividerOrientation = 'horizontal' | 'vertical';
232
-
233
- export declare interface DividerProps {
234
- /** Direction of the divider line. */
235
- orientation?: DividerOrientation;
236
- className?: string;
237
- }
238
-
239
- export declare const EmptyState: default_2.ForwardRefExoticComponent<EmptyStateProps & default_2.RefAttributes<HTMLDivElement>>;
240
-
241
- export declare interface EmptyStateProps {
242
- type?: EmptyStateType;
243
- message?: string;
244
- className?: string;
245
- }
246
-
247
- export declare type EmptyStateType = 'no-content' | 'no-results' | 'no-results-filter' | 'no-access';
248
-
249
- export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {
250
- constructor(props: ErrorBoundaryProps);
251
- static getDerivedStateFromError(error: Error): ErrorBoundaryState;
252
- componentDidCatch(error: Error, errorInfo: default_2.ErrorInfo): void;
253
- handleReset: () => void;
254
- render(): string | number | bigint | boolean | Iterable<default_2.ReactNode> | Promise<string | number | bigint | boolean | default_2.ReactPortal | default_2.ReactElement<unknown, string | default_2.JSXElementConstructor<any>> | Iterable<default_2.ReactNode> | null | undefined> | JSX.Element | null | undefined;
255
- }
256
-
257
- export declare interface ErrorBoundaryProps {
258
- children: ReactNode;
259
- fallback?: ReactNode;
260
- }
261
-
262
- declare interface ErrorBoundaryState {
263
- hasError: boolean;
264
- error: Error | null;
265
- }
266
-
267
- export declare const Fade: default_2.ForwardRefExoticComponent<FadeProps & default_2.RefAttributes<HTMLDivElement>>;
268
-
269
- export declare interface FadeProps {
270
- side: FadeSide;
271
- height: string;
272
- background?: string;
273
- className?: string;
274
- style?: default_2.CSSProperties;
275
- }
276
-
277
- export declare type FadeSide = 'top' | 'bottom' | 'left' | 'right';
278
-
279
- export declare const Field: default_2.ForwardRefExoticComponent<FieldProps & default_2.RefAttributes<HTMLDivElement>>;
280
-
281
- export declare interface FieldProps {
282
- label: string;
283
- children: default_2.ReactNode;
284
- id?: string;
285
- className?: string;
286
- }
287
-
288
- export declare type FilterState = Record<string, FilterValue>;
289
-
290
- export declare type FilterValue = string | number | Array<string | number> | undefined;
291
-
292
- export declare const Header: default_2.ForwardRefExoticComponent<HeaderProps & default_2.RefAttributes<HTMLElement>>;
293
-
294
- export declare type HeaderBackground = 'primary' | 'secondary' | 'transparent' | 'translucent';
295
-
296
- export declare interface HeaderProps {
297
- title?: string;
298
- left?: default_2.ReactNode;
299
- center?: default_2.ReactNode;
300
- right?: default_2.ReactNode;
301
- background?: HeaderBackground;
302
- className?: string;
303
- }
304
-
305
- /**
306
- * An icon component type (compatible with @ds-mo/icons IconComponent).
307
- */
308
- export declare type IconComponent = ForwardRefExoticComponent<IconProps & RefAttributes<SVGSVGElement>>;
309
-
310
- /**
311
- * Props accepted by icon components (compatible with @ds-mo/icons).
312
- */
313
- export declare interface IconProps extends SVGAttributes<SVGSVGElement> {
314
- size?: number | string;
315
- color?: string;
316
- className?: string;
317
- }
318
-
319
- export declare const Input: default_2.ForwardRefExoticComponent<InputProps & default_2.RefAttributes<HTMLDivElement>>;
320
-
321
- export declare interface InputProps {
322
- value: string;
323
- onChange: (e: default_2.ChangeEvent<HTMLInputElement>) => void;
324
- id?: string;
325
- placeholder?: string;
326
- autoFocus?: boolean;
327
- className?: string;
328
- type?: InputType;
329
- inactive?: boolean;
330
- onKeyDown?: default_2.KeyboardEventHandler<HTMLInputElement>;
331
- /** Content rendered inside the field on the right. */
332
- suffix?: default_2.ReactNode;
333
- /** Icon for clear button (search type). */
334
- clearIcon?: IconComponent;
335
- 'aria-label'?: string;
336
- }
337
-
338
- declare type InputType = 'text' | 'email' | 'tel' | 'url' | 'search' | 'password';
339
-
340
- export declare type LineTruncation = 1 | 2 | 3 | 4 | 5 | 'none';
341
-
342
- /**
343
- * Placeholder spinner component. Will be replaced with a full Loader
344
- * component once motion/brand specs are finalised.
345
- *
346
- * Designed at 16×16 viewBox so it matches the icon grid:
347
- * - r=5 → 10px circle in a 16px box (3px optical padding each side)
348
- * - strokeWidth=1 at native size → scales to 1.25px at 20px, 1.5px at 24px
349
- */
350
- export declare const Loader: {
351
- ({ size, className }: LoaderProps): JSX.Element;
352
- displayName: string;
353
- };
354
-
355
- export declare interface LoaderProps {
356
- /**
357
- * Render size in px. Designed at 16px (r=6, strokeWidth=1).
358
- * Stroke weight scales proportionally with size — same behaviour as icons.
359
- * Defaults to 20.
360
- */
361
- size?: number;
362
- className?: string;
363
- }
364
-
365
- export declare const Menu: default_2.FC<MenuProps>;
366
-
367
- export declare type MenuAlign = 'start' | 'center' | 'end';
368
-
369
- export declare const MenuItem: default_2.ForwardRefExoticComponent<MenuItemProps & default_2.RefAttributes<HTMLButtonElement>>;
370
-
371
- export declare interface MenuItemData {
372
- label: string;
373
- onClick: () => void;
374
- isSelected?: boolean;
375
- isDestructive?: boolean;
376
- isInactive?: boolean;
377
- intent?: 'negative';
378
- keepOpenOnClick?: boolean;
379
- holdDuration?: number;
380
- icon?: IconComponent;
381
- subtext?: string;
382
- showToggle?: boolean;
383
- toggleValue?: boolean;
384
- selectionStyle?: MenuItemSelectionStyle;
385
- }
386
-
387
- export declare interface MenuItemProps {
388
- label: string;
389
- onClick: () => void;
390
- isSelected?: boolean;
391
- isInactive?: boolean;
392
- icon?: IconComponent;
393
- labelColor?: 'primary' | 'secondary' | 'tertiary';
394
- subtext?: string;
395
- showToggle?: boolean;
396
- toggleValue?: boolean;
397
- intent?: 'negative';
398
- selectionStyle?: MenuItemSelectionStyle;
399
- showTrailingChevron?: boolean;
400
- checkIcon?: IconComponent;
401
- chevronIcon?: IconComponent;
402
- }
403
-
404
- export declare type MenuItemSelectionStyle = 'highlight' | 'radio' | 'noOverlay';
405
-
406
- export declare interface MenuProps {
407
- isOpen: boolean;
408
- onClose: () => void;
409
- anchorRef: default_2.RefObject<HTMLElement | null>;
410
- items?: MenuItemData[];
411
- sections?: MenuSection[];
412
- side?: MenuSide;
413
- align?: MenuAlign;
414
- sideOffset?: number;
415
- alignOffset?: number;
416
- sideOffsetToken?: string;
417
- alignOffsetToken?: string;
418
- width?: string;
419
- minWidth?: string;
420
- maxWidth?: string;
421
- matchAnchorWidth?: boolean;
422
- matchAnchorWidthOffset?: number;
423
- usePortal?: boolean;
424
- }
425
-
426
- export declare interface MenuSection {
427
- header?: string;
428
- items: MenuItemData[];
429
- }
430
-
431
- export declare type MenuSide = 'top' | 'right' | 'bottom' | 'left';
432
-
433
- export declare const Modal: default_2.FC<ModalProps>;
434
-
435
- export declare interface ModalProps {
436
- isOpen: boolean;
437
- onClose: () => void;
438
- title: string;
439
- subtitle?: default_2.ReactNode;
440
- children: default_2.ReactNode;
441
- footer?: default_2.ReactNode;
442
- width?: ModalWidth | string;
443
- bodyClassName?: string;
444
- }
445
-
446
- export declare type ModalWidth = 'sm' | 'md' | 'lg';
447
-
448
- export declare const Pagination: default_2.ForwardRefExoticComponent<PaginationProps & default_2.RefAttributes<HTMLElement>>;
449
-
450
- export declare interface PaginationProps {
451
- /** Current page (1-based). */
452
- page: number;
453
- /** Total number of pages. */
454
- totalPages: number;
455
- /** Called when page changes. */
456
- onPageChange: (page: number) => void;
457
- /** Max page buttons visible (excluding prev/next). */
458
- siblingCount?: number;
459
- /** Disables all interaction. */
460
- inactive?: boolean;
461
- className?: string;
462
- }
463
-
464
- export declare interface PaginationState {
465
- pageIndex: number;
466
- pageSize: number;
467
- }
468
-
469
- export declare const RadioGroup: default_2.ForwardRefExoticComponent<RadioGroupProps & default_2.RefAttributes<HTMLDivElement>>;
470
-
471
- export declare interface RadioGroupProps {
472
- /** Currently selected value. */
473
- value: string;
474
- /** Called when selection changes. */
475
- onChange: (value: string) => void;
476
- /** Radio options to render. */
477
- options: RadioOption[];
478
- /** Group label for accessibility. */
479
- 'aria-label'?: string;
480
- /** Layout direction. */
481
- direction?: 'vertical' | 'horizontal';
482
- /** Disables the entire group. */
483
- inactive?: boolean;
484
- className?: string;
485
- }
486
-
487
- export declare const RadioItem: default_2.ForwardRefExoticComponent<RadioItemProps & default_2.RefAttributes<HTMLDivElement>>;
488
-
489
- export declare interface RadioItemProps {
490
- label: string;
491
- checked?: boolean;
492
- onChange?: () => void;
493
- inactive?: boolean;
494
- className?: string;
495
- }
496
-
497
- export declare interface RadioOption {
498
- label: string;
499
- value: string;
500
- inactive?: boolean;
501
- }
502
-
503
- export declare const Scrollbar: default_2.FC<ScrollbarProps>;
504
-
505
- export declare interface ScrollbarProps {
506
- children: default_2.ReactNode;
507
- className?: string;
508
- variant?: ScrollbarVariant;
509
- showTrackOnHover?: boolean;
510
- onScroll?: (e: default_2.UIEvent<HTMLDivElement>) => void;
511
- fadeOverlay?: default_2.ReactNode;
512
- contentRef?: default_2.RefObject<HTMLDivElement>;
513
- }
514
-
515
- export declare type ScrollbarVariant = 'default' | 'thick';
516
-
517
- export declare const Select: default_2.ForwardRefExoticComponent<SelectProps & default_2.RefAttributes<HTMLDivElement>>;
518
-
519
- export declare interface SelectOption {
520
- label: string;
521
- value: string | number;
522
- }
523
-
524
- export declare interface SelectProps {
525
- value: string | number;
526
- onChange: (value: string | number) => void;
527
- options: SelectOption[];
528
- placeholder?: string;
529
- className?: string;
530
- inactive?: boolean;
531
- id?: string;
532
- chevronIcon?: IconComponent;
533
- }
534
-
535
- export declare const Sidebar: default_2.ForwardRefExoticComponent<SidebarProps & default_2.RefAttributes<HTMLElement>>;
536
-
537
- export declare const SidebarItem: default_2.ForwardRefExoticComponent<SidebarItemProps & default_2.RefAttributes<HTMLButtonElement>>;
538
-
539
- export declare interface SidebarItemProps {
540
- label: string;
541
- icon?: IconComponent;
542
- isSelected?: boolean;
543
- isDisabled?: boolean;
544
- onClick?: () => void;
545
- badge?: default_2.ReactNode;
546
- children?: default_2.ReactNode;
547
- className?: string;
548
- }
549
-
550
- export declare interface SidebarProps {
551
- children: default_2.ReactNode;
552
- isCollapsed?: boolean;
553
- onToggle?: () => void;
554
- width?: SidebarWidth;
555
- onWidthChange?: (width: SidebarWidth) => void;
556
- resizable?: boolean;
557
- footer?: default_2.ReactNode;
558
- className?: string;
559
- isMobile?: boolean;
560
- }
561
-
562
- export declare const SidebarSection: default_2.ForwardRefExoticComponent<SidebarSectionProps & default_2.RefAttributes<HTMLDivElement>>;
563
-
564
- export declare interface SidebarSectionProps {
565
- label?: string;
566
- children: default_2.ReactNode;
567
- collapsible?: boolean;
568
- defaultCollapsed?: boolean;
569
- className?: string;
570
- }
571
-
572
- export declare type SidebarWidth = 'mini' | 'default' | number;
573
-
574
- export declare const Skeleton: default_2.ForwardRefExoticComponent<SkeletonProps & default_2.RefAttributes<HTMLDivElement>>;
575
-
576
- export declare interface SkeletonProps {
577
- /** Shape of the skeleton. */
578
- variant?: SkeletonVariant;
579
- /** Width (CSS value). */
580
- width?: string | number;
581
- /** Height (CSS value). */
582
- height?: string | number;
583
- /** Number of text lines to render. Only applies to 'text' variant. */
584
- lines?: number;
585
- /** Whether to animate the shimmer. */
586
- animate?: boolean;
587
- className?: string;
588
- }
589
-
590
- export declare type SkeletonVariant = 'text' | 'circular' | 'rectangular';
591
-
592
- export declare const Slider: default_2.ForwardRefExoticComponent<SliderProps & default_2.RefAttributes<HTMLDivElement>>;
593
-
594
- export declare interface SliderProps {
595
- value: number;
596
- onChange: (value: number) => void;
597
- min?: number;
598
- max?: number;
599
- step?: number;
600
- label: string;
601
- id?: string;
602
- inactive?: boolean;
603
- className?: string;
604
- }
605
-
606
- export declare type SortDirection = 'asc' | 'desc';
607
-
608
- export declare interface SortState {
609
- columnId: string;
610
- direction: SortDirection;
611
- }
612
-
613
- export declare const Surface: default_2.ForwardRefExoticComponent<SurfaceProps & default_2.RefAttributes<HTMLElement>>;
614
-
615
- /** Background type for non-intent surfaces. */
616
- export declare type SurfaceBackground = 'primary' | 'secondary' | 'transparent' | 'translucent';
617
-
618
- /** Props shared by both surface modes. */
619
- declare interface SurfaceBaseProps extends default_2.HTMLAttributes<HTMLElement> {
620
- children?: default_2.ReactNode;
621
- /** Elevation for depth/shadow effects. Defaults to 'none'. */
622
- elevation?: SurfaceElevation;
623
- /** Edge divider border(s). Only applies when elevation is 'none'. */
624
- edge?: SurfaceEdge | SurfaceEdge[];
625
- /** Corner radius — preset or CSS variable. */
626
- radius?: SurfaceRadius;
627
- /** Enable hover/pressed interaction overlay. */
628
- interactive?: boolean;
629
- /** Apply selected background state. */
630
- selected?: boolean;
631
- /** Dim and disable pointer events. */
632
- inactive?: boolean;
633
- /** HTML element to render. Defaults to 'div'. */
634
- as?: SurfaceElement;
635
- /** Button type — only used when as='button'. */
636
- type?: 'button' | 'submit' | 'reset';
637
- }
638
-
639
- /** Contrast level for semantic intents. */
640
- export declare type SurfaceContrast = 'faint' | 'medium' | 'bold' | 'strong';
641
-
642
- /** Non-intent surface — uses a basic background color. */
643
- declare interface SurfaceDefaultProps extends SurfaceBaseProps {
644
- /** Background color. Defaults to 'transparent'. */
645
- background?: SurfaceBackground;
646
- intent?: never;
647
- contrast?: never;
648
- }
649
-
650
- /** Edge divider border direction. */
651
- export declare type SurfaceEdge = 'top' | 'right' | 'bottom' | 'left';
652
-
653
- /** HTML elements Surface can render as. */
654
- export declare type SurfaceElement = 'div' | 'section' | 'aside' | 'article' | 'header' | 'footer' | 'main' | 'nav' | 'span' | 'button' | 'td' | 'th';
655
-
656
- /** Elevation for depth/shadow effects. Progressive: none → flat → elevated → floating. */
657
- export declare type SurfaceElevation = 'none' | 'depressed' | 'depressed-md' | 'flat' | 'elevated' | 'floating' | 'overlayTop' | 'overlayRight' | 'overlayBottom' | 'overlayLeft';
658
-
659
- /**
660
- * Semantic intent for colored surfaces.
661
- * Each intent has four contrast levels (faint, medium, bold, strong).
662
- */
663
- export declare type SurfaceIntent = 'brand' | 'positive' | 'negative' | 'warning' | 'caution' | 'ai' | 'neutral' | 'walkthrough' | 'guide';
664
-
665
- /** Intent surface — uses a semantic color with contrast level. */
666
- declare interface SurfaceIntentProps extends SurfaceBaseProps {
667
- /** Semantic intent color. */
668
- intent: SurfaceIntent;
669
- /** Contrast level for the intent background. Defaults to 'faint'. */
670
- contrast?: SurfaceContrast;
671
- background?: never;
672
- }
673
-
674
- export declare type SurfaceProps = SurfaceDefaultProps | SurfaceIntentProps;
675
-
676
- /** Corner radius — preset, CSS variable, or custom string (e.g. '12px 12px 0 0'). */
677
- export declare type SurfaceRadius = SurfaceRadiusPreset | (string & {});
678
-
679
- /** Corner radius presets. */
680
- export declare type SurfaceRadiusPreset = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';
681
-
682
- export declare const Tab: default_2.ForwardRefExoticComponent<TabProps & default_2.RefAttributes<HTMLButtonElement>>;
683
-
684
- export declare type TabBackground = 'faint' | 'medium' | 'bold' | 'strong' | 'always-dark';
685
-
686
- export declare const TabGroup: default_2.ForwardRefExoticComponent<TabGroupProps & default_2.RefAttributes<HTMLDivElement>>;
687
-
688
- export declare interface TabGroupProps {
689
- /** Tab definitions. */
690
- tabs: TabGroupTab[];
691
- /** Index of the active tab. */
692
- activeIndex?: number;
693
- /** Called when a tab is clicked. */
694
- onTabChange?: (index: number) => void;
695
- className?: string;
696
- }
697
-
698
- export declare interface TabGroupTab {
699
- label: string;
700
- id?: string;
701
- }
702
-
703
- export declare function Table<T>({ columns, data, sortState, onSort, className, onRowClick, selectedRows, loading, pagination, onPaginationChange, emptyMessage, }: TableProps<T>): JSX.Element;
704
-
705
- export declare namespace Table {
706
- var displayName: string;
707
- }
708
-
709
- export declare interface TableColumn<T = unknown> {
710
- id: string;
711
- header: string | default_2.ReactNode;
712
- accessorKey?: string;
713
- accessor?: (row: T) => unknown;
714
- sortable?: boolean;
715
- align?: 'left' | 'right' | 'center';
716
- width?: string | number;
717
- minWidth?: string | number;
718
- maxWidth?: string | number;
719
- renderCell?: (row: T, rowIndex: number) => default_2.ReactNode;
720
- cellType?: CellType;
721
- hide?: boolean;
722
- pinned?: 'left' | 'right';
723
- }
724
-
725
- export declare interface TableProps<T = unknown> {
726
- columns: TableColumn<T>[];
727
- data: T[];
728
- sortState?: SortState;
729
- onSort?: (columnId: string) => void;
730
- className?: string;
731
- onRowClick?: (row: T, rowIndex: number) => void;
732
- selectedRows?: Set<number>;
733
- loading?: boolean;
734
- pagination?: PaginationState;
735
- onPaginationChange?: (pageIndex: number, pageSize: number) => void;
736
- emptyMessage?: string;
737
- }
738
-
739
- export declare interface TabProps {
740
- id?: string;
741
- label: string;
742
- isSelected?: boolean;
743
- /** Parent surface context. Adjusts hover tokens and fg for tabs on colored backgrounds. */
744
- background?: TabBackground;
745
- onClick?: () => void;
746
- className?: string;
747
- }
748
-
749
- export declare const Tag: default_2.ForwardRefExoticComponent<TagProps & default_2.RefAttributes<HTMLDivElement>>;
750
-
751
- export declare type TagBackground = 'faint' | 'medium' | 'bold' | 'strong' | 'always-dark';
752
-
753
- export declare type TagContrast = 'strong' | 'bold' | 'medium' | 'faint';
754
-
755
- export declare type TagElevation = 'none' | 'flat' | 'elevated';
756
-
757
- export declare type TagIntent = 'neutral' | 'brand' | 'ai' | 'negative' | 'warning' | 'caution' | 'positive';
758
-
759
- export declare interface TagProps {
760
- label: string;
761
- intent?: TagIntent;
762
- contrast?: TagContrast;
763
- /**
764
- * Visual chrome level.
765
- * none — filled with intent bg, no border, no shadow [default]
766
- * flat — transparent bg + intent-coloured border ring
767
- * elevated — filled with intent bg + elevated shadow
768
- */
769
- elevation?: TagElevation;
770
- size?: TagSize;
771
- rounded?: boolean;
772
- /** Leading icon component. */
773
- icon?: IconComponent;
774
- removable?: boolean;
775
- onRemove?: () => void;
776
- /** Override the default Cross remove icon. */
777
- removeIcon?: IconComponent;
778
- maxWidth?: string | number;
779
- inactive?: boolean;
780
- /** Parent surface context. Adjusts hover tokens for tags on colored backgrounds. */
781
- background?: TagBackground;
782
- /** Makes the tag clickable. Pair with pressed/onPressedChange for filter-chip behaviour. */
783
- onClick?: () => void;
784
- pressed?: boolean;
785
- onPressedChange?: (pressed: boolean) => void;
786
- className?: string;
787
- }
788
-
789
- export declare type TagSize = 'md' | 'sm' | 'xs';
790
-
791
- declare const Text_2: default_2.ForwardRefExoticComponent<TextProps & default_2.RefAttributes<HTMLElement>>;
792
- export { Text_2 as Text }
793
-
794
- export declare type TextAlign = 'left' | 'center' | 'right';
795
-
796
- /** Text color — semantic token or CSS variable escape hatch. */
797
- export declare type TextColor = TextColorToken | `var(--${string})`;
798
-
799
- /**
800
- * Semantic color tokens for text.
801
- * Maps to TokoMo --color-foreground-* CSS custom properties.
802
- */
803
- export declare type TextColorToken = 'primary' | 'secondary' | 'tertiary' | 'brand' | 'negative' | 'positive' | 'warning' | 'caution' | 'ai' | 'on-strong' | 'on-bold' | 'inherit';
804
-
805
- export declare type TextDecoration = 'none' | 'underline' | 'dotted-underline';
806
-
807
- export declare type TextElement = 'p' | 'span' | 'div' | 'label' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
808
-
809
- export declare interface TextProps {
810
- /** Typography variant. Maps to a TokoMo typography class. Defaults to 'text-body-medium'. */
811
- variant?: TextVariant;
812
- children: default_2.ReactNode;
813
- color?: TextColor;
814
- decoration?: TextDecoration;
815
- italic?: boolean;
816
- align?: TextAlign;
817
- /** Max lines before ellipsis. Ignored when wrap is 'nowrap'. Defaults to 'none'. */
818
- lineTruncation?: LineTruncation;
819
- /** 'nowrap' = single line, truncates with ellipsis when constrained. */
820
- wrap?: TextWrap;
821
- as?: TextElement;
822
- id?: string;
823
- htmlFor?: string;
824
- className?: string;
825
- style?: default_2.CSSProperties;
826
- }
827
-
828
- /** @deprecated Use `TextVariant` instead. */
829
- export declare type TextStyle = TextVariant;
830
-
831
- /**
832
- * Text variant options.
833
- * Each variant maps to a TokoMo typography class with predefined font-size, line-height,
834
- * font-weight, and letter-spacing.
835
- */
836
- export declare type TextVariant = 'text-display-medium' | 'text-display-small' | 'text-title-large' | 'text-title-medium' | 'text-title-small' | 'text-body-large' | 'text-body-large-emphasis' | 'text-body-medium' | 'text-body-medium-emphasis' | 'text-body-small' | 'text-body-small-emphasis' | 'text-caption' | 'text-caption-emphasis';
837
-
838
- export declare type TextWrap = 'wrap' | 'nowrap' | 'balance' | 'pretty';
839
-
840
- export declare const toast: {
841
- show(options: ToastOptions): string;
842
- info(message: string, options?: Omit<ToastOptions, "message">): string;
843
- success(message: string, options?: Omit<ToastOptions, "message">): string;
844
- error(message: string, options?: Omit<ToastOptions, "message">): string;
845
- warning(message: string, options?: Omit<ToastOptions, "message">): string;
846
- dismiss(id: string): void;
847
- dismissAll(): void;
848
- };
849
-
850
- export declare const ToastContainer: default_2.ForwardRefExoticComponent<ToastContainerProps & default_2.RefAttributes<HTMLDivElement>>;
851
-
852
- export declare interface ToastContainerProps {
853
- /** Where to render toasts on screen. */
854
- position?: ToastPosition;
855
- }
856
-
857
- export declare interface ToastData {
858
- id: string;
859
- message: string;
860
- intent?: ToastIntent;
861
- duration?: number;
862
- onDismiss?: () => void;
863
- }
864
-
865
- export declare type ToastIntent = 'neutral' | 'brand' | 'positive' | 'negative' | 'warning' | 'caution';
866
-
867
- export declare interface ToastOptions {
868
- message: string;
869
- intent?: ToastIntent;
870
- /** Auto-dismiss duration in ms. 0 = no auto-dismiss. Default 4000. */
871
- duration?: number;
872
- onDismiss?: () => void;
873
- }
874
-
875
- export declare type ToastPosition = 'top-center' | 'top-right' | 'bottom-center' | 'bottom-right';
876
-
877
- export declare const Toggle: default_2.ForwardRefExoticComponent<ToggleProps & default_2.RefAttributes<HTMLButtonElement>>;
878
-
879
- export declare const ToggleButton: default_2.ForwardRefExoticComponent<ToggleButtonProps & default_2.RefAttributes<HTMLButtonElement>>;
880
-
881
- export declare type ToggleButtonBackground = 'faint' | 'medium' | 'bold' | 'strong' | 'always-dark';
882
-
883
- export declare type ToggleButtonElevation = 'none' | 'flat' | 'elevated' | 'floating';
884
-
885
- /**
886
- * Renders ToggleButton children flush side-by-side with a 1px divider between them.
887
- * Outer corners keep the button's own border-radius; inner corners are flattened.
888
- *
889
- * Individual button chrome (shadow/border) is suppressed — the group container
890
- * carries the elevation so it wraps the whole control as one visual unit.
891
- *
892
- * Divider behaviour by elevation:
893
- * elevated / flat / floating — full-height color-border-tertiary line
894
- * none (ghost) — short centred line (icon/text height)
895
- *
896
- * Rounded groups: outer edges keep pill padding; inner edges revert to base padding.
897
- * Pressed state and onPressedChange are managed by the consumer on each ToggleButton.
898
- */
899
- export declare const ToggleButtonGroup: {
900
- ({ children, className }: ToggleButtonGroupProps): JSX.Element;
901
- displayName: string;
902
- };
903
-
904
- export declare interface ToggleButtonGroupProps {
905
- children: default_2.ReactNode;
906
- className?: string;
907
- }
908
-
909
- export declare interface ToggleButtonProps {
910
- /**
911
- * Chrome level.
912
- * none — ghost (transparent, no border, no shadow)
913
- * flat — border only, transparent bg
914
- * elevated — bg-primary + shadow [default]
915
- * floating — bg-primary + FAB-strength shadow
916
- */
917
- elevation?: ToggleButtonElevation;
918
- /** Label text. */
919
- label?: string;
920
- /** Leading icon component. */
921
- icon?: IconComponent;
922
- /** Size: md (32px), sm (24px), xs (16px). Defaults to 'md'. */
923
- size?: ToggleButtonSize;
924
- /** Pill shape. */
925
- rounded?: boolean;
926
- /** Parent surface context. Adjusts hover tokens for toggle buttons on colored backgrounds. */
927
- background?: ToggleButtonBackground;
928
- /** Controlled pressed state. */
929
- pressed: boolean;
930
- /** Called when pressed state changes. */
931
- onPressedChange: (pressed: boolean) => void;
932
- inactive?: boolean;
933
- className?: string;
934
- id?: string;
935
- 'aria-label'?: string;
936
- }
937
-
938
- export declare type ToggleButtonSize = 'md' | 'sm' | 'xs';
939
-
940
- export declare interface ToggleProps {
941
- checked?: boolean;
942
- onChange?: (checked: boolean) => void;
943
- inactive?: boolean;
944
- className?: string;
945
- 'aria-label'?: string;
946
- }
947
-
948
- export declare const Tooltip: default_2.FC<TooltipProps>;
949
-
950
- export declare type TooltipAlign = 'start' | 'center' | 'end';
951
-
952
- export declare interface TooltipProps {
953
- label: string;
954
- children: default_2.ReactElement;
955
- delay?: number;
956
- side?: TooltipSide;
957
- align?: TooltipAlign;
958
- sideOffset?: number;
959
- alignOffset?: number;
960
- shortcutKey?: string;
961
- shortcutKeyPosition?: 'start' | 'end';
962
- usePortal?: boolean;
963
- }
964
-
965
- export declare type TooltipSide = 'top' | 'right' | 'bottom' | 'left';
966
-
967
- export declare function useToasts(): ToastData[];
968
-
969
- export { }
1
+ export { Text } from './components/Text';
2
+ export type { TextProps, TextVariant, TextStyle, TextColor, TextColorToken, TextDecoration, TextAlign, LineTruncation, TextWrap, TextElement, } from './components/Text';
3
+ export { Surface } from './components/Surface';
4
+ export type { SurfaceProps, SurfaceIntent, SurfaceBackground, SurfaceContrast, SurfaceElevation, SurfaceEdge, SurfaceRadius, SurfaceRadiusPreset, SurfaceElement, } from './components/Surface';
5
+ export { Card } from './components/Card';
6
+ export type { CardProps, CardElevation, CardRadius } from './components/Card';
7
+ export { Button } from './components/Button';
8
+ export type { ButtonProps, ButtonVariant, ButtonElevation, ButtonIntent, ButtonSize, ButtonContrast, ButtonBackground } from './components/Button';
9
+ export { ToggleButton } from './components/ToggleButton';
10
+ export type { ToggleButtonProps, ToggleButtonElevation, ToggleButtonSize, ToggleButtonBackground } from './components/ToggleButton';
11
+ export { ButtonGroup } from './components/ButtonGroup';
12
+ export type { ButtonGroupProps } from './components/ButtonGroup';
13
+ export { ToggleButtonGroup } from './components/ToggleButtonGroup';
14
+ export type { ToggleButtonGroupProps } from './components/ToggleButtonGroup';
15
+ export { Tag } from './components/Tag';
16
+ export type { TagProps, TagIntent, TagContrast, TagElevation, TagSize, TagBackground } from './components/Tag';
17
+ export { Badge } from './components/Badge';
18
+ export type { BadgeProps } from './components/Badge';
19
+ export { Loader } from './components/Loader';
20
+ export type { LoaderProps } from './components/Loader';
21
+ export { Toggle } from './components/Toggle';
22
+ export type { ToggleProps } from './components/Toggle';
23
+ export { Checkbox } from './components/Checkbox';
24
+ export type { CheckboxProps } from './components/Checkbox';
25
+ export { Input } from './components/Input';
26
+ export type { InputProps } from './components/Input';
27
+ export { Slider } from './components/Slider';
28
+ export type { SliderProps } from './components/Slider';
29
+ export { Field } from './components/Field';
30
+ export type { FieldProps } from './components/Field';
31
+ export { Modal } from './components/Modal';
32
+ export type { ModalProps, ModalWidth } from './components/Modal';
33
+ export { Menu } from './components/Menu';
34
+ export type { MenuProps, MenuSection, MenuItemData, MenuSide, MenuAlign } from './components/Menu';
35
+ export { MenuItem } from './components/Menu';
36
+ export type { MenuItemProps, MenuItemSelectionStyle } from './components/Menu';
37
+ export { DestructiveMenuItem } from './components/Menu';
38
+ export type { DestructiveMenuItemProps } from './components/Menu';
39
+ export { Tooltip } from './components/Tooltip';
40
+ export type { TooltipProps, TooltipSide, TooltipAlign } from './components/Tooltip';
41
+ export { Select } from './components/Select';
42
+ export type { SelectProps, SelectOption } from './components/Select';
43
+ export { Banner } from './components/Banner';
44
+ export type { BannerProps, BannerIntent, BannerContrast } from './components/Banner';
45
+ export { Table } from './components/Table';
46
+ export type { TableProps, TableColumn, SortState, SortDirection, CellType, FilterValue, FilterState, PaginationState, } from './components/Table';
47
+ export { Tab } from './components/Tab';
48
+ export type { TabProps, TabBackground } from './components/Tab';
49
+ export { EmptyState } from './components/EmptyState';
50
+ export type { EmptyStateProps, EmptyStateType } from './components/EmptyState';
51
+ export { Fade } from './components/Fade';
52
+ export type { FadeProps, FadeSide } from './components/Fade';
53
+ export { Scrollbar } from './components/Scrollbar';
54
+ export type { ScrollbarProps, ScrollbarVariant } from './components/Scrollbar';
55
+ export { ErrorBoundary } from './components/ErrorBoundary';
56
+ export type { ErrorBoundaryProps } from './components/ErrorBoundary';
57
+ export { Sidebar } from './components/Sidebar';
58
+ export type { SidebarProps, SidebarWidth } from './components/Sidebar';
59
+ export { SidebarSection } from './components/Sidebar';
60
+ export type { SidebarSectionProps } from './components/Sidebar';
61
+ export { SidebarItem } from './components/Sidebar';
62
+ export type { SidebarItemProps } from './components/Sidebar';
63
+ export { Header } from './components/Header';
64
+ export type { HeaderProps, HeaderBackground } from './components/Header';
65
+ export { RadioGroup, RadioItem } from './components/Radio';
66
+ export type { RadioGroupProps, RadioItemProps, RadioOption } from './components/Radio';
67
+ export { TabGroup } from './components/TabGroup';
68
+ export type { TabGroupProps, TabGroupTab } from './components/TabGroup';
69
+ export { Accordion, AccordionItem } from './components/Accordion';
70
+ export type { AccordionProps, AccordionItemProps, AccordionItemData } from './components/Accordion';
71
+ export { Breadcrumb } from './components/Breadcrumb';
72
+ export type { BreadcrumbProps, BreadcrumbItem } from './components/Breadcrumb';
73
+ export { Pagination } from './components/Pagination';
74
+ export type { PaginationProps } from './components/Pagination';
75
+ export { Divider } from './components/Divider';
76
+ export type { DividerProps, DividerOrientation } from './components/Divider';
77
+ export { Skeleton } from './components/Skeleton';
78
+ export type { SkeletonProps, SkeletonVariant } from './components/Skeleton';
79
+ export { ToastContainer, toast, useToasts } from './components/Toast';
80
+ export type { ToastContainerProps, ToastData, ToastOptions, ToastIntent, ToastPosition } from './components/Toast';
81
+ export type { IconProps, IconComponent } from './types';
82
+ //# sourceMappingURL=index.d.ts.map