@dynamic-mockups/design-system 0.1.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 (117) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +396 -0
  3. package/dist/.storybook/ColorTokenSelect.d.ts +14 -0
  4. package/dist/.storybook/colorTokenOptions.d.ts +28 -0
  5. package/dist/.storybook/iconOptions.d.ts +54 -0
  6. package/dist/design-system.css +1 -0
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.js +87 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/index.mjs +11635 -0
  11. package/dist/index.mjs.map +1 -0
  12. package/dist/src/components/atoms/Accordion/Accordion.d.ts +52 -0
  13. package/dist/src/components/atoms/Accordion/Accordion.stories.d.ts +109 -0
  14. package/dist/src/components/atoms/Accordion/index.d.ts +2 -0
  15. package/dist/src/components/atoms/AlertDialog/AlertDialog.d.ts +66 -0
  16. package/dist/src/components/atoms/AlertDialog/AlertDialog.stories.d.ts +144 -0
  17. package/dist/src/components/atoms/AlertDialog/index.d.ts +2 -0
  18. package/dist/src/components/atoms/Avatar/Avatar.d.ts +54 -0
  19. package/dist/src/components/atoms/Avatar/Avatar.stories.d.ts +119 -0
  20. package/dist/src/components/atoms/Avatar/index.d.ts +2 -0
  21. package/dist/src/components/atoms/Badge/Badge.d.ts +58 -0
  22. package/dist/src/components/atoms/Badge/Badge.stories.d.ts +706 -0
  23. package/dist/src/components/atoms/Badge/index.d.ts +2 -0
  24. package/dist/src/components/atoms/Button/Button.d.ts +63 -0
  25. package/dist/src/components/atoms/Button/Button.stories.d.ts +763 -0
  26. package/dist/src/components/atoms/Button/index.d.ts +2 -0
  27. package/dist/src/components/atoms/Card/Card.d.ts +44 -0
  28. package/dist/src/components/atoms/Card/Card.stories.d.ts +103 -0
  29. package/dist/src/components/atoms/Card/index.d.ts +2 -0
  30. package/dist/src/components/atoms/Checkbox/Checkbox.d.ts +52 -0
  31. package/dist/src/components/atoms/Checkbox/Checkbox.stories.d.ts +168 -0
  32. package/dist/src/components/atoms/Checkbox/index.d.ts +2 -0
  33. package/dist/src/components/atoms/Dialog/Dialog.d.ts +53 -0
  34. package/dist/src/components/atoms/Dialog/Dialog.stories.d.ts +122 -0
  35. package/dist/src/components/atoms/Dialog/index.d.ts +2 -0
  36. package/dist/src/components/atoms/DropdownMenu/DropdownMenu.d.ts +61 -0
  37. package/dist/src/components/atoms/DropdownMenu/DropdownMenu.stories.d.ts +109 -0
  38. package/dist/src/components/atoms/DropdownMenu/index.d.ts +2 -0
  39. package/dist/src/components/atoms/HoverCard/HoverCard.d.ts +38 -0
  40. package/dist/src/components/atoms/HoverCard/HoverCard.stories.d.ts +86 -0
  41. package/dist/src/components/atoms/HoverCard/index.d.ts +2 -0
  42. package/dist/src/components/atoms/Label/Label.d.ts +19 -0
  43. package/dist/src/components/atoms/Label/Label.stories.d.ts +100 -0
  44. package/dist/src/components/atoms/Label/index.d.ts +2 -0
  45. package/dist/src/components/atoms/Popover/Popover.d.ts +44 -0
  46. package/dist/src/components/atoms/Popover/Popover.stories.d.ts +94 -0
  47. package/dist/src/components/atoms/Popover/index.d.ts +2 -0
  48. package/dist/src/components/atoms/Progress/Progress.d.ts +45 -0
  49. package/dist/src/components/atoms/Progress/Progress.stories.d.ts +108 -0
  50. package/dist/src/components/atoms/Progress/index.d.ts +2 -0
  51. package/dist/src/components/atoms/ProgressBar/ProgressBar.d.ts +66 -0
  52. package/dist/src/components/atoms/ProgressBar/ProgressBar.stories.d.ts +439 -0
  53. package/dist/src/components/atoms/ProgressBar/index.d.ts +2 -0
  54. package/dist/src/components/atoms/RadioGroup/RadioGroup.d.ts +46 -0
  55. package/dist/src/components/atoms/RadioGroup/RadioGroup.stories.d.ts +104 -0
  56. package/dist/src/components/atoms/RadioGroup/index.d.ts +2 -0
  57. package/dist/src/components/atoms/ScrollArea/ScrollArea.d.ts +36 -0
  58. package/dist/src/components/atoms/ScrollArea/ScrollArea.stories.d.ts +85 -0
  59. package/dist/src/components/atoms/ScrollArea/index.d.ts +2 -0
  60. package/dist/src/components/atoms/Select/Select.d.ts +55 -0
  61. package/dist/src/components/atoms/Select/Select.stories.d.ts +101 -0
  62. package/dist/src/components/atoms/Select/index.d.ts +2 -0
  63. package/dist/src/components/atoms/Separator/Separator.d.ts +17 -0
  64. package/dist/src/components/atoms/Separator/Separator.stories.d.ts +79 -0
  65. package/dist/src/components/atoms/Separator/index.d.ts +2 -0
  66. package/dist/src/components/atoms/Slider/Slider.d.ts +55 -0
  67. package/dist/src/components/atoms/Slider/Slider.stories.d.ts +115 -0
  68. package/dist/src/components/atoms/Slider/index.d.ts +2 -0
  69. package/dist/src/components/atoms/Stepper/Stepper.d.ts +100 -0
  70. package/dist/src/components/atoms/Stepper/Stepper.stories.d.ts +496 -0
  71. package/dist/src/components/atoms/Stepper/index.d.ts +2 -0
  72. package/dist/src/components/atoms/Switch/Switch.d.ts +49 -0
  73. package/dist/src/components/atoms/Switch/Switch.stories.d.ts +165 -0
  74. package/dist/src/components/atoms/Switch/index.d.ts +2 -0
  75. package/dist/src/components/atoms/Tabs/Tabs.d.ts +35 -0
  76. package/dist/src/components/atoms/Tabs/Tabs.stories.d.ts +83 -0
  77. package/dist/src/components/atoms/Tabs/index.d.ts +2 -0
  78. package/dist/src/components/atoms/Toast/Toast.d.ts +59 -0
  79. package/dist/src/components/atoms/Toast/Toast.stories.d.ts +118 -0
  80. package/dist/src/components/atoms/Toast/index.d.ts +2 -0
  81. package/dist/src/components/atoms/Toggle/Toggle.d.ts +20 -0
  82. package/dist/src/components/atoms/Toggle/Toggle.stories.d.ts +118 -0
  83. package/dist/src/components/atoms/Toggle/index.d.ts +2 -0
  84. package/dist/src/components/atoms/Tooltip/Tooltip.d.ts +32 -0
  85. package/dist/src/components/atoms/Tooltip/Tooltip.stories.d.ts +87 -0
  86. package/dist/src/components/atoms/Tooltip/index.d.ts +2 -0
  87. package/dist/src/components/atoms/index.d.ts +29 -0
  88. package/dist/src/components/index.d.ts +9 -0
  89. package/dist/src/components/molecules/CheckboxChip/CheckboxChip.d.ts +65 -0
  90. package/dist/src/components/molecules/CheckboxChip/CheckboxChip.stories.d.ts +90 -0
  91. package/dist/src/components/molecules/CheckboxChip/CheckboxChipGroup.d.ts +63 -0
  92. package/dist/src/components/molecules/RadioSelector/RadioSelector.d.ts +72 -0
  93. package/dist/src/components/molecules/RadioSelector/RadioSelector.stories.d.ts +118 -0
  94. package/dist/src/components/molecules/index.d.ts +10 -0
  95. package/dist/src/components/organisms/CTABox/CTABox.d.ts +69 -0
  96. package/dist/src/components/organisms/CTABox/CTABox.stories.d.ts +117 -0
  97. package/dist/src/components/organisms/OnboardingInfoBox/OnboardingInfoBox.d.ts +65 -0
  98. package/dist/src/components/organisms/OnboardingInfoBox/OnboardingInfoBox.stories.d.ts +93 -0
  99. package/dist/src/components/organisms/index.d.ts +8 -0
  100. package/dist/src/components/pages/index.d.ts +5 -0
  101. package/dist/src/components/templates/OnboardingTemplate/OnboardingTemplate.d.ts +185 -0
  102. package/dist/src/components/templates/OnboardingTemplate/OnboardingTemplate.stories.d.ts +26 -0
  103. package/dist/src/components/templates/index.d.ts +6 -0
  104. package/dist/src/index.d.ts +21 -0
  105. package/dist/src/tests/storybook/ColorTokenSelect.test.d.ts +4 -0
  106. package/dist/src/theme/ThemeProvider.d.ts +36 -0
  107. package/dist/src/theme/index.d.ts +2 -0
  108. package/dist/src/theme/theme.d.ts +18 -0
  109. package/dist/src/tokens/colorTokens.d.ts +58 -0
  110. package/dist/src/tokens/colorTokens.test.d.ts +4 -0
  111. package/dist/src/tokens/colors.d.ts +168 -0
  112. package/dist/src/tokens/index.d.ts +270 -0
  113. package/dist/src/tokens/radii.d.ts +17 -0
  114. package/dist/src/tokens/shadows.d.ts +16 -0
  115. package/dist/src/tokens/spacing.d.ts +38 -0
  116. package/dist/src/tokens/typography.d.ts +57 -0
  117. package/package.json +104 -0
@@ -0,0 +1,66 @@
1
+ /**
2
+ * ProgressBar Component
3
+ * A flexible progress bar component that extends Radix UI with custom variants and colors
4
+ */
5
+ import React from "react";
6
+ import type { ProgressProps as RadixProgressProps } from "@radix-ui/themes";
7
+ import { type ColorToken } from "../../../tokens";
8
+ import "./ProgressBar.scss";
9
+ export type { ColorToken } from "../../../tokens";
10
+ export type ProgressBarVariant = "classic" | "surface" | "soft";
11
+ export type ProgressBarSize = "1" | "2" | "3";
12
+ export type ProgressBarColor = "primary" | "secondary" | "accent" | "success" | "error" | "warning" | "info" | "neutral" | "gray" | "gold" | "bronze" | "brown" | "yellow" | "amber" | "orange" | "tomato" | "red" | "ruby" | "crimson" | "pink" | "plum" | "purple" | "violet" | "iris" | "indigo" | "blue" | "cyan" | "teal" | "jade" | "green" | "grass" | "lime" | "mint" | "sky";
13
+ export interface ProgressBarProps extends Omit<RadixProgressProps, "color" | "variant" | "size" | "duration" | "m" | "mx" | "my" | "mt" | "mr" | "mb" | "ml"> {
14
+ /**
15
+ * Progress bar variant style
16
+ * @default 'surface'
17
+ */
18
+ variant?: ProgressBarVariant;
19
+ /**
20
+ * Progress bar size
21
+ * @default '2'
22
+ */
23
+ size?: ProgressBarSize;
24
+ /**
25
+ * Progress bar color - supports custom brand colors and Radix UI colors
26
+ * @default 'primary'
27
+ */
28
+ color?: ProgressBarColor;
29
+ /**
30
+ * Enable high contrast mode
31
+ * @default false
32
+ */
33
+ highContrast?: boolean;
34
+ /**
35
+ * Current progress value (0-100)
36
+ * @default 0
37
+ */
38
+ value?: number;
39
+ /**
40
+ * Maximum value
41
+ * @default 100
42
+ */
43
+ max?: number;
44
+ /**
45
+ * Animation duration (e.g., "300ms", "1s")
46
+ */
47
+ duration?: `${number}ms` | `${number}s`;
48
+ /**
49
+ * Border radius preset
50
+ */
51
+ radius?: "none" | "small" | "medium" | "large" | "full";
52
+ /**
53
+ * Whether the progress is indeterminate (loading state)
54
+ * @default false
55
+ */
56
+ indeterminate?: boolean;
57
+ /**
58
+ * Color token for the progress bar track/background
59
+ */
60
+ backgroundColorToken?: ColorToken;
61
+ /**
62
+ * Color token for the progress bar fill/indicator
63
+ */
64
+ fillColorToken?: ColorToken;
65
+ }
66
+ export declare const ProgressBar: React.ForwardRefExoticComponent<ProgressBarProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,439 @@
1
+ import React from "react";
2
+ import type { StoryObj } from "@storybook/react-vite";
3
+ import type { ColorToken } from "./ProgressBar";
4
+ declare const meta: {
5
+ title: string;
6
+ component: React.ForwardRefExoticComponent<import("./ProgressBar").ProgressBarProps & React.RefAttributes<HTMLDivElement>>;
7
+ parameters: {
8
+ layout: string;
9
+ };
10
+ tags: string[];
11
+ argTypes: {
12
+ variant: {
13
+ control: "select";
14
+ options: string[];
15
+ description: string;
16
+ table: {
17
+ category: string;
18
+ };
19
+ };
20
+ color: {
21
+ control: "select";
22
+ options: string[];
23
+ description: string;
24
+ table: {
25
+ category: string;
26
+ };
27
+ };
28
+ size: {
29
+ control: "select";
30
+ options: string[];
31
+ description: string;
32
+ table: {
33
+ category: string;
34
+ };
35
+ };
36
+ value: {
37
+ control: {
38
+ type: "range";
39
+ min: number;
40
+ max: number;
41
+ step: number;
42
+ };
43
+ description: string;
44
+ table: {
45
+ category: string;
46
+ };
47
+ };
48
+ highContrast: {
49
+ control: "boolean";
50
+ description: string;
51
+ table: {
52
+ category: string;
53
+ };
54
+ };
55
+ indeterminate: {
56
+ control: "boolean";
57
+ description: string;
58
+ table: {
59
+ category: string;
60
+ };
61
+ };
62
+ radius: {
63
+ control: "select";
64
+ options: string[];
65
+ description: string;
66
+ table: {
67
+ category: string;
68
+ };
69
+ };
70
+ max: {
71
+ control: "number";
72
+ description: string;
73
+ table: {
74
+ category: string;
75
+ };
76
+ };
77
+ duration: {
78
+ control: "text";
79
+ description: string;
80
+ table: {
81
+ category: string;
82
+ };
83
+ };
84
+ backgroundColorToken: {
85
+ control: "select";
86
+ options: ColorToken[];
87
+ description: string;
88
+ table: {
89
+ category: string;
90
+ };
91
+ };
92
+ fillColorToken: {
93
+ control: "select";
94
+ options: ColorToken[];
95
+ description: string;
96
+ table: {
97
+ category: string;
98
+ };
99
+ };
100
+ m: {
101
+ table: {
102
+ disable: boolean;
103
+ };
104
+ };
105
+ mx: {
106
+ table: {
107
+ disable: boolean;
108
+ };
109
+ };
110
+ my: {
111
+ table: {
112
+ disable: boolean;
113
+ };
114
+ };
115
+ mt: {
116
+ table: {
117
+ disable: boolean;
118
+ };
119
+ };
120
+ mr: {
121
+ table: {
122
+ disable: boolean;
123
+ };
124
+ };
125
+ mb: {
126
+ table: {
127
+ disable: boolean;
128
+ };
129
+ };
130
+ ml: {
131
+ table: {
132
+ disable: boolean;
133
+ };
134
+ };
135
+ };
136
+ decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
137
+ variant?: import("./ProgressBar").ProgressBarVariant | undefined;
138
+ size?: import("./ProgressBar").ProgressBarSize | undefined;
139
+ color?: import("./ProgressBar").ProgressBarColor | undefined;
140
+ highContrast?: boolean | undefined;
141
+ value?: number | undefined;
142
+ max?: number | undefined;
143
+ duration?: `${number}ms` | `${number}s` | undefined;
144
+ radius?: "none" | "small" | "medium" | "large" | "full" | undefined;
145
+ indeterminate?: boolean | undefined;
146
+ backgroundColorToken?: ColorToken | undefined;
147
+ fillColorToken?: ColorToken | undefined;
148
+ dir?: string | undefined | undefined;
149
+ slot?: string | undefined | undefined;
150
+ style?: React.CSSProperties | undefined;
151
+ title?: string | undefined | undefined;
152
+ key?: React.Key | null | undefined;
153
+ suppressContentEditableWarning?: boolean | undefined | undefined;
154
+ suppressHydrationWarning?: boolean | undefined | undefined;
155
+ accessKey?: string | undefined | undefined;
156
+ autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
157
+ autoFocus?: boolean | undefined | undefined;
158
+ className?: string | undefined | undefined;
159
+ contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
160
+ contextMenu?: string | undefined | undefined;
161
+ draggable?: (boolean | "true" | "false") | undefined;
162
+ enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
163
+ hidden?: boolean | undefined | undefined;
164
+ id?: string | undefined | undefined;
165
+ lang?: string | undefined | undefined;
166
+ nonce?: string | undefined | undefined;
167
+ spellCheck?: (boolean | "true" | "false") | undefined;
168
+ tabIndex?: number | undefined | undefined;
169
+ translate?: "yes" | "no" | undefined | undefined;
170
+ radioGroup?: string | undefined | undefined;
171
+ role?: React.AriaRole | undefined;
172
+ about?: string | undefined | undefined;
173
+ content?: string | undefined | undefined;
174
+ datatype?: string | undefined | undefined;
175
+ inlist?: any;
176
+ prefix?: string | undefined | undefined;
177
+ property?: string | undefined | undefined;
178
+ rel?: string | undefined | undefined;
179
+ resource?: string | undefined | undefined;
180
+ rev?: string | undefined | undefined;
181
+ typeof?: string | undefined | undefined;
182
+ vocab?: string | undefined | undefined;
183
+ autoCorrect?: string | undefined | undefined;
184
+ autoSave?: string | undefined | undefined;
185
+ itemProp?: string | undefined | undefined;
186
+ itemScope?: boolean | undefined | undefined;
187
+ itemType?: string | undefined | undefined;
188
+ itemID?: string | undefined | undefined;
189
+ itemRef?: string | undefined | undefined;
190
+ results?: number | undefined | undefined;
191
+ security?: string | undefined | undefined;
192
+ unselectable?: "on" | "off" | undefined | undefined;
193
+ inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
194
+ is?: string | undefined | undefined;
195
+ exportparts?: string | undefined | undefined;
196
+ part?: string | undefined | undefined;
197
+ "aria-activedescendant"?: string | undefined | undefined;
198
+ "aria-atomic"?: (boolean | "true" | "false") | undefined;
199
+ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
200
+ "aria-braillelabel"?: string | undefined | undefined;
201
+ "aria-brailleroledescription"?: string | undefined | undefined;
202
+ "aria-busy"?: (boolean | "true" | "false") | undefined;
203
+ "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
204
+ "aria-colcount"?: number | undefined | undefined;
205
+ "aria-colindex"?: number | undefined | undefined;
206
+ "aria-colindextext"?: string | undefined | undefined;
207
+ "aria-colspan"?: number | undefined | undefined;
208
+ "aria-controls"?: string | undefined | undefined;
209
+ "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
210
+ "aria-describedby"?: string | undefined | undefined;
211
+ "aria-description"?: string | undefined | undefined;
212
+ "aria-details"?: string | undefined | undefined;
213
+ "aria-disabled"?: (boolean | "true" | "false") | undefined;
214
+ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
215
+ "aria-errormessage"?: string | undefined | undefined;
216
+ "aria-expanded"?: (boolean | "true" | "false") | undefined;
217
+ "aria-flowto"?: string | undefined | undefined;
218
+ "aria-grabbed"?: (boolean | "true" | "false") | undefined;
219
+ "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
220
+ "aria-hidden"?: (boolean | "true" | "false") | undefined;
221
+ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
222
+ "aria-keyshortcuts"?: string | undefined | undefined;
223
+ "aria-label"?: string | undefined | undefined;
224
+ "aria-labelledby"?: string | undefined | undefined;
225
+ "aria-level"?: number | undefined | undefined;
226
+ "aria-live"?: "off" | "assertive" | "polite" | undefined | undefined;
227
+ "aria-modal"?: (boolean | "true" | "false") | undefined;
228
+ "aria-multiline"?: (boolean | "true" | "false") | undefined;
229
+ "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
230
+ "aria-orientation"?: "horizontal" | "vertical" | undefined | undefined;
231
+ "aria-owns"?: string | undefined | undefined;
232
+ "aria-placeholder"?: string | undefined | undefined;
233
+ "aria-posinset"?: number | undefined | undefined;
234
+ "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
235
+ "aria-readonly"?: (boolean | "true" | "false") | undefined;
236
+ "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
237
+ "aria-required"?: (boolean | "true" | "false") | undefined;
238
+ "aria-roledescription"?: string | undefined | undefined;
239
+ "aria-rowcount"?: number | undefined | undefined;
240
+ "aria-rowindex"?: number | undefined | undefined;
241
+ "aria-rowindextext"?: string | undefined | undefined;
242
+ "aria-rowspan"?: number | undefined | undefined;
243
+ "aria-selected"?: (boolean | "true" | "false") | undefined;
244
+ "aria-setsize"?: number | undefined | undefined;
245
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
246
+ "aria-valuemax"?: number | undefined | undefined;
247
+ "aria-valuemin"?: number | undefined | undefined;
248
+ "aria-valuenow"?: number | undefined | undefined;
249
+ "aria-valuetext"?: string | undefined | undefined;
250
+ dangerouslySetInnerHTML?: {
251
+ __html: string | TrustedHTML;
252
+ } | undefined | undefined;
253
+ onCopy?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
254
+ onCopyCapture?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
255
+ onCut?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
256
+ onCutCapture?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
257
+ onPaste?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
258
+ onPasteCapture?: React.ClipboardEventHandler<HTMLDivElement> | undefined;
259
+ onCompositionEnd?: React.CompositionEventHandler<HTMLDivElement> | undefined;
260
+ onCompositionEndCapture?: React.CompositionEventHandler<HTMLDivElement> | undefined;
261
+ onCompositionStart?: React.CompositionEventHandler<HTMLDivElement> | undefined;
262
+ onCompositionStartCapture?: React.CompositionEventHandler<HTMLDivElement> | undefined;
263
+ onCompositionUpdate?: React.CompositionEventHandler<HTMLDivElement> | undefined;
264
+ onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLDivElement> | undefined;
265
+ onFocus?: React.FocusEventHandler<HTMLDivElement> | undefined;
266
+ onFocusCapture?: React.FocusEventHandler<HTMLDivElement> | undefined;
267
+ onBlur?: React.FocusEventHandler<HTMLDivElement> | undefined;
268
+ onBlurCapture?: React.FocusEventHandler<HTMLDivElement> | undefined;
269
+ onChange?: React.FormEventHandler<HTMLDivElement> | undefined;
270
+ onChangeCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
271
+ onBeforeInput?: React.InputEventHandler<HTMLDivElement> | undefined;
272
+ onBeforeInputCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
273
+ onInput?: React.FormEventHandler<HTMLDivElement> | undefined;
274
+ onInputCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
275
+ onReset?: React.FormEventHandler<HTMLDivElement> | undefined;
276
+ onResetCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
277
+ onSubmit?: React.FormEventHandler<HTMLDivElement> | undefined;
278
+ onSubmitCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
279
+ onInvalid?: React.FormEventHandler<HTMLDivElement> | undefined;
280
+ onInvalidCapture?: React.FormEventHandler<HTMLDivElement> | undefined;
281
+ onLoad?: React.ReactEventHandler<HTMLDivElement> | undefined;
282
+ onLoadCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
283
+ onError?: React.ReactEventHandler<HTMLDivElement> | undefined;
284
+ onErrorCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
285
+ onKeyDown?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
286
+ onKeyDownCapture?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
287
+ onKeyPress?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
288
+ onKeyPressCapture?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
289
+ onKeyUp?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
290
+ onKeyUpCapture?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
291
+ onAbort?: React.ReactEventHandler<HTMLDivElement> | undefined;
292
+ onAbortCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
293
+ onCanPlay?: React.ReactEventHandler<HTMLDivElement> | undefined;
294
+ onCanPlayCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
295
+ onCanPlayThrough?: React.ReactEventHandler<HTMLDivElement> | undefined;
296
+ onCanPlayThroughCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
297
+ onDurationChange?: React.ReactEventHandler<HTMLDivElement> | undefined;
298
+ onDurationChangeCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
299
+ onEmptied?: React.ReactEventHandler<HTMLDivElement> | undefined;
300
+ onEmptiedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
301
+ onEncrypted?: React.ReactEventHandler<HTMLDivElement> | undefined;
302
+ onEncryptedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
303
+ onEnded?: React.ReactEventHandler<HTMLDivElement> | undefined;
304
+ onEndedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
305
+ onLoadedData?: React.ReactEventHandler<HTMLDivElement> | undefined;
306
+ onLoadedDataCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
307
+ onLoadedMetadata?: React.ReactEventHandler<HTMLDivElement> | undefined;
308
+ onLoadedMetadataCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
309
+ onLoadStart?: React.ReactEventHandler<HTMLDivElement> | undefined;
310
+ onLoadStartCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
311
+ onPause?: React.ReactEventHandler<HTMLDivElement> | undefined;
312
+ onPauseCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
313
+ onPlay?: React.ReactEventHandler<HTMLDivElement> | undefined;
314
+ onPlayCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
315
+ onPlaying?: React.ReactEventHandler<HTMLDivElement> | undefined;
316
+ onPlayingCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
317
+ onProgress?: React.ReactEventHandler<HTMLDivElement> | undefined;
318
+ onProgressCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
319
+ onRateChange?: React.ReactEventHandler<HTMLDivElement> | undefined;
320
+ onRateChangeCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
321
+ onSeeked?: React.ReactEventHandler<HTMLDivElement> | undefined;
322
+ onSeekedCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
323
+ onSeeking?: React.ReactEventHandler<HTMLDivElement> | undefined;
324
+ onSeekingCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
325
+ onStalled?: React.ReactEventHandler<HTMLDivElement> | undefined;
326
+ onStalledCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
327
+ onSuspend?: React.ReactEventHandler<HTMLDivElement> | undefined;
328
+ onSuspendCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
329
+ onTimeUpdate?: React.ReactEventHandler<HTMLDivElement> | undefined;
330
+ onTimeUpdateCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
331
+ onVolumeChange?: React.ReactEventHandler<HTMLDivElement> | undefined;
332
+ onVolumeChangeCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
333
+ onWaiting?: React.ReactEventHandler<HTMLDivElement> | undefined;
334
+ onWaitingCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
335
+ onAuxClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
336
+ onAuxClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
337
+ onClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
338
+ onClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
339
+ onContextMenu?: React.MouseEventHandler<HTMLDivElement> | undefined;
340
+ onContextMenuCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
341
+ onDoubleClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
342
+ onDoubleClickCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
343
+ onDrag?: React.DragEventHandler<HTMLDivElement> | undefined;
344
+ onDragCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
345
+ onDragEnd?: React.DragEventHandler<HTMLDivElement> | undefined;
346
+ onDragEndCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
347
+ onDragEnter?: React.DragEventHandler<HTMLDivElement> | undefined;
348
+ onDragEnterCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
349
+ onDragExit?: React.DragEventHandler<HTMLDivElement> | undefined;
350
+ onDragExitCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
351
+ onDragLeave?: React.DragEventHandler<HTMLDivElement> | undefined;
352
+ onDragLeaveCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
353
+ onDragOver?: React.DragEventHandler<HTMLDivElement> | undefined;
354
+ onDragOverCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
355
+ onDragStart?: React.DragEventHandler<HTMLDivElement> | undefined;
356
+ onDragStartCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
357
+ onDrop?: React.DragEventHandler<HTMLDivElement> | undefined;
358
+ onDropCapture?: React.DragEventHandler<HTMLDivElement> | undefined;
359
+ onMouseDown?: React.MouseEventHandler<HTMLDivElement> | undefined;
360
+ onMouseDownCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
361
+ onMouseEnter?: React.MouseEventHandler<HTMLDivElement> | undefined;
362
+ onMouseLeave?: React.MouseEventHandler<HTMLDivElement> | undefined;
363
+ onMouseMove?: React.MouseEventHandler<HTMLDivElement> | undefined;
364
+ onMouseMoveCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
365
+ onMouseOut?: React.MouseEventHandler<HTMLDivElement> | undefined;
366
+ onMouseOutCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
367
+ onMouseOver?: React.MouseEventHandler<HTMLDivElement> | undefined;
368
+ onMouseOverCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
369
+ onMouseUp?: React.MouseEventHandler<HTMLDivElement> | undefined;
370
+ onMouseUpCapture?: React.MouseEventHandler<HTMLDivElement> | undefined;
371
+ onSelect?: React.ReactEventHandler<HTMLDivElement> | undefined;
372
+ onSelectCapture?: React.ReactEventHandler<HTMLDivElement> | undefined;
373
+ onTouchCancel?: React.TouchEventHandler<HTMLDivElement> | undefined;
374
+ onTouchCancelCapture?: React.TouchEventHandler<HTMLDivElement> | undefined;
375
+ onTouchEnd?: React.TouchEventHandler<HTMLDivElement> | undefined;
376
+ onTouchEndCapture?: React.TouchEventHandler<HTMLDivElement> | undefined;
377
+ onTouchMove?: React.TouchEventHandler<HTMLDivElement> | undefined;
378
+ onTouchMoveCapture?: React.TouchEventHandler<HTMLDivElement> | undefined;
379
+ onTouchStart?: React.TouchEventHandler<HTMLDivElement> | undefined;
380
+ onTouchStartCapture?: React.TouchEventHandler<HTMLDivElement> | undefined;
381
+ onPointerDown?: React.PointerEventHandler<HTMLDivElement> | undefined;
382
+ onPointerDownCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
383
+ onPointerMove?: React.PointerEventHandler<HTMLDivElement> | undefined;
384
+ onPointerMoveCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
385
+ onPointerUp?: React.PointerEventHandler<HTMLDivElement> | undefined;
386
+ onPointerUpCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
387
+ onPointerCancel?: React.PointerEventHandler<HTMLDivElement> | undefined;
388
+ onPointerCancelCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
389
+ onPointerEnter?: React.PointerEventHandler<HTMLDivElement> | undefined;
390
+ onPointerLeave?: React.PointerEventHandler<HTMLDivElement> | undefined;
391
+ onPointerOver?: React.PointerEventHandler<HTMLDivElement> | undefined;
392
+ onPointerOverCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
393
+ onPointerOut?: React.PointerEventHandler<HTMLDivElement> | undefined;
394
+ onPointerOutCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
395
+ onGotPointerCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
396
+ onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
397
+ onLostPointerCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
398
+ onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLDivElement> | undefined;
399
+ onScroll?: React.UIEventHandler<HTMLDivElement> | undefined;
400
+ onScrollCapture?: React.UIEventHandler<HTMLDivElement> | undefined;
401
+ onWheel?: React.WheelEventHandler<HTMLDivElement> | undefined;
402
+ onWheelCapture?: React.WheelEventHandler<HTMLDivElement> | undefined;
403
+ onAnimationStart?: React.AnimationEventHandler<HTMLDivElement> | undefined;
404
+ onAnimationStartCapture?: React.AnimationEventHandler<HTMLDivElement> | undefined;
405
+ onAnimationEnd?: React.AnimationEventHandler<HTMLDivElement> | undefined;
406
+ onAnimationEndCapture?: React.AnimationEventHandler<HTMLDivElement> | undefined;
407
+ onAnimationIteration?: React.AnimationEventHandler<HTMLDivElement> | undefined;
408
+ onAnimationIterationCapture?: React.AnimationEventHandler<HTMLDivElement> | undefined;
409
+ onTransitionEnd?: React.TransitionEventHandler<HTMLDivElement> | undefined;
410
+ onTransitionEndCapture?: React.TransitionEventHandler<HTMLDivElement> | undefined;
411
+ getValueLabel?: ((value: number, max: number) => string) | undefined;
412
+ ref?: React.LegacyRef<HTMLDivElement> | undefined;
413
+ }>) => import("react/jsx-runtime").JSX.Element)[];
414
+ };
415
+ export default meta;
416
+ type Story = StoryObj<typeof meta>;
417
+ export declare const Default: Story;
418
+ export declare const Classic: Story;
419
+ export declare const Surface: Story;
420
+ export declare const Soft: Story;
421
+ export declare const Primary: Story;
422
+ export declare const Secondary: Story;
423
+ export declare const Accent: Story;
424
+ export declare const Success: Story;
425
+ export declare const Error: Story;
426
+ export declare const Warning: Story;
427
+ export declare const Info: Story;
428
+ export declare const AllSizes: Story;
429
+ export declare const AllVariants: Story;
430
+ export declare const SemanticColors: Story;
431
+ export declare const RadixColors: Story;
432
+ export declare const HighContrast: Story;
433
+ export declare const ProgressLevels: Story;
434
+ export declare const Indeterminate: Story;
435
+ export declare const IndeterminateShowcase: Story;
436
+ export declare const RadiusVariants: Story;
437
+ export declare const WithLabels: Story;
438
+ export declare const Showcase: Story;
439
+ export declare const InteractiveColorPicker: Story;
@@ -0,0 +1,2 @@
1
+ export { ProgressBar } from "./ProgressBar";
2
+ export type { ProgressBarProps, ProgressBarVariant, ProgressBarSize, ProgressBarColor, } from "./ProgressBar";
@@ -0,0 +1,46 @@
1
+ /**
2
+ * RadioGroup Component
3
+ * A radio group component that extends Radix UI RadioGroup
4
+ */
5
+ import React from "react";
6
+ import { RadioGroup as RadixRadioGroup } from "@radix-ui/themes";
7
+ import { type ColorToken } from "../../../tokens";
8
+ import "./RadioGroup.scss";
9
+ type RadixRadioGroupProps = React.ComponentPropsWithoutRef<typeof RadixRadioGroup.Root>;
10
+ export type { ColorToken } from "../../../tokens";
11
+ export type RadioGroupSize = "1" | "2" | "3";
12
+ export type RadioGroupVariant = "classic" | "surface" | "soft";
13
+ export interface RadioOption {
14
+ value: string;
15
+ label: string;
16
+ disabled?: boolean;
17
+ }
18
+ export interface RadioGroupProps extends Omit<RadixRadioGroupProps, "size" | "variant" | "children" | "m" | "mx" | "my" | "mt" | "mr" | "mb" | "ml"> {
19
+ /**
20
+ * Radio group size
21
+ * @default '2'
22
+ */
23
+ size?: RadioGroupSize;
24
+ /**
25
+ * Radio group variant
26
+ * @default 'classic'
27
+ */
28
+ variant?: RadioGroupVariant;
29
+ /**
30
+ * Array of radio options
31
+ */
32
+ options: RadioOption[];
33
+ /**
34
+ * Color token for radio buttons
35
+ */
36
+ radioColorToken?: ColorToken;
37
+ /**
38
+ * Color token for label text
39
+ */
40
+ textColorToken?: ColorToken;
41
+ /**
42
+ * Custom className
43
+ */
44
+ className?: string;
45
+ }
46
+ export declare const RadioGroup: React.ForwardRefExoticComponent<RadioGroupProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,104 @@
1
+ import React from "react";
2
+ import type { StoryObj } from "@storybook/react-vite";
3
+ import type { ColorToken } from "./RadioGroup";
4
+ declare const meta: {
5
+ title: string;
6
+ component: React.ForwardRefExoticComponent<import("./RadioGroup").RadioGroupProps & React.RefAttributes<HTMLDivElement>>;
7
+ parameters: {
8
+ layout: string;
9
+ };
10
+ tags: string[];
11
+ argTypes: {
12
+ size: {
13
+ control: "select";
14
+ options: string[];
15
+ description: string;
16
+ table: {
17
+ category: string;
18
+ };
19
+ };
20
+ variant: {
21
+ control: "select";
22
+ options: string[];
23
+ description: string;
24
+ table: {
25
+ category: string;
26
+ };
27
+ };
28
+ options: {
29
+ control: "object";
30
+ description: string;
31
+ table: {
32
+ category: string;
33
+ };
34
+ };
35
+ defaultValue: {
36
+ control: "text";
37
+ description: string;
38
+ table: {
39
+ category: string;
40
+ };
41
+ };
42
+ radioColorToken: {
43
+ control: "select";
44
+ options: ColorToken[];
45
+ description: string;
46
+ table: {
47
+ category: string;
48
+ };
49
+ };
50
+ textColorToken: {
51
+ control: "select";
52
+ options: ColorToken[];
53
+ description: string;
54
+ table: {
55
+ category: string;
56
+ };
57
+ };
58
+ m: {
59
+ table: {
60
+ disable: boolean;
61
+ };
62
+ };
63
+ mx: {
64
+ table: {
65
+ disable: boolean;
66
+ };
67
+ };
68
+ my: {
69
+ table: {
70
+ disable: boolean;
71
+ };
72
+ };
73
+ mt: {
74
+ table: {
75
+ disable: boolean;
76
+ };
77
+ };
78
+ mr: {
79
+ table: {
80
+ disable: boolean;
81
+ };
82
+ };
83
+ mb: {
84
+ table: {
85
+ disable: boolean;
86
+ };
87
+ };
88
+ ml: {
89
+ table: {
90
+ disable: boolean;
91
+ };
92
+ };
93
+ };
94
+ };
95
+ export default meta;
96
+ type Story = StoryObj<typeof meta>;
97
+ export declare const Default: Story;
98
+ export declare const Sizes: Story;
99
+ export declare const Variants: Story;
100
+ export declare const WithDisabled: Story;
101
+ export declare const PaymentMethod: Story;
102
+ export declare const DeliverySpeed: Story;
103
+ export declare const Subscription: Story;
104
+ export declare const InteractiveColorPicker: Story;
@@ -0,0 +1,2 @@
1
+ export { RadioGroup } from "./RadioGroup";
2
+ export type { RadioGroupProps, RadioOption, RadioGroupSize, RadioGroupVariant } from "./RadioGroup";