@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,117 @@
1
+ import React from "react";
2
+ import type { StoryObj } from "@storybook/react-vite";
3
+ import type { ColorToken } from "./CTABox";
4
+ declare const meta: {
5
+ title: string;
6
+ component: React.ForwardRefExoticComponent<import("./CTABox").CTABoxProps & React.RefAttributes<HTMLDivElement>>;
7
+ parameters: {
8
+ layout: string;
9
+ };
10
+ tags: string[];
11
+ argTypes: {
12
+ label: {
13
+ control: "text";
14
+ description: string;
15
+ table: {
16
+ category: string;
17
+ };
18
+ };
19
+ heading: {
20
+ control: "text";
21
+ description: string;
22
+ table: {
23
+ category: string;
24
+ };
25
+ };
26
+ description: {
27
+ control: "text";
28
+ description: string;
29
+ table: {
30
+ category: string;
31
+ };
32
+ };
33
+ buttonText: {
34
+ control: "text";
35
+ description: string;
36
+ table: {
37
+ category: string;
38
+ };
39
+ };
40
+ buttonDisabled: {
41
+ control: "boolean";
42
+ description: string;
43
+ table: {
44
+ category: string;
45
+ };
46
+ };
47
+ backgroundColorToken: {
48
+ control: "select";
49
+ options: ColorToken[];
50
+ description: string;
51
+ table: {
52
+ category: string;
53
+ };
54
+ };
55
+ borderColorToken: {
56
+ control: "select";
57
+ options: ColorToken[];
58
+ description: string;
59
+ table: {
60
+ category: string;
61
+ };
62
+ };
63
+ labelColorToken: {
64
+ control: "select";
65
+ options: ColorToken[];
66
+ description: string;
67
+ table: {
68
+ category: string;
69
+ };
70
+ };
71
+ headingColorToken: {
72
+ control: "select";
73
+ options: ColorToken[];
74
+ description: string;
75
+ table: {
76
+ category: string;
77
+ };
78
+ };
79
+ descriptionColorToken: {
80
+ control: "select";
81
+ options: ColorToken[];
82
+ description: string;
83
+ table: {
84
+ category: string;
85
+ };
86
+ };
87
+ buttonBackgroundColorToken: {
88
+ control: "select";
89
+ options: ColorToken[];
90
+ description: string;
91
+ table: {
92
+ category: string;
93
+ };
94
+ };
95
+ buttonTextColorToken: {
96
+ control: "select";
97
+ options: ColorToken[];
98
+ description: string;
99
+ table: {
100
+ category: string;
101
+ };
102
+ };
103
+ };
104
+ };
105
+ export default meta;
106
+ type Story = StoryObj<typeof meta>;
107
+ export declare const Default: Story;
108
+ export declare const Interactive: Story;
109
+ export declare const DisabledButton: Story;
110
+ export declare const DifferentContent: Story;
111
+ export declare const ShortContent: Story;
112
+ export declare const LongContent: Story;
113
+ export declare const GreenTheme: Story;
114
+ export declare const PurpleTheme: Story;
115
+ export declare const OrangeTheme: Story;
116
+ export declare const InteractiveColorPicker: Story;
117
+ export declare const VariousWidths: Story;
@@ -0,0 +1,65 @@
1
+ /**
2
+ * OnboardingInfoBox Component
3
+ * An organism that displays onboarding information with a title and list of features
4
+ */
5
+ import React from "react";
6
+ import { type ColorToken } from "../../../tokens";
7
+ import "./OnboardingInfoBox.scss";
8
+ export type { ColorToken } from "../../../tokens";
9
+ export interface OnboardingInfoItem {
10
+ /**
11
+ * Solar icon name
12
+ */
13
+ icon: string;
14
+ /**
15
+ * Item title
16
+ */
17
+ title: string;
18
+ /**
19
+ * Item description
20
+ */
21
+ description: string;
22
+ }
23
+ export interface OnboardingInfoBoxProps {
24
+ /**
25
+ * Main heading/title
26
+ */
27
+ title: string;
28
+ /**
29
+ * Array of info items to display
30
+ */
31
+ items: OnboardingInfoItem[];
32
+ /**
33
+ * Custom className
34
+ */
35
+ className?: string;
36
+ /**
37
+ * Color token for the background
38
+ */
39
+ backgroundColorToken?: ColorToken;
40
+ /**
41
+ * Color token for the border
42
+ */
43
+ borderColorToken?: ColorToken;
44
+ /**
45
+ * Color token for the title text
46
+ */
47
+ titleColorToken?: ColorToken;
48
+ /**
49
+ * Color token for item backgrounds
50
+ */
51
+ itemBackgroundColorToken?: ColorToken;
52
+ /**
53
+ * Color token for item title text
54
+ */
55
+ itemTitleColorToken?: ColorToken;
56
+ /**
57
+ * Color token for item description text
58
+ */
59
+ itemDescriptionColorToken?: ColorToken;
60
+ /**
61
+ * Color token for icons
62
+ */
63
+ iconColorToken?: ColorToken;
64
+ }
65
+ export declare const OnboardingInfoBox: React.ForwardRefExoticComponent<OnboardingInfoBoxProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,93 @@
1
+ import React from "react";
2
+ import type { StoryObj } from "@storybook/react-vite";
3
+ import type { ColorToken } from "./OnboardingInfoBox";
4
+ declare const meta: {
5
+ title: string;
6
+ component: React.ForwardRefExoticComponent<import("./OnboardingInfoBox").OnboardingInfoBoxProps & React.RefAttributes<HTMLDivElement>>;
7
+ parameters: {
8
+ layout: string;
9
+ };
10
+ tags: string[];
11
+ argTypes: {
12
+ title: {
13
+ control: "text";
14
+ description: string;
15
+ table: {
16
+ category: string;
17
+ };
18
+ };
19
+ items: {
20
+ control: "object";
21
+ description: string;
22
+ table: {
23
+ category: string;
24
+ };
25
+ };
26
+ backgroundColorToken: {
27
+ control: "select";
28
+ options: ColorToken[];
29
+ description: string;
30
+ table: {
31
+ category: string;
32
+ };
33
+ };
34
+ borderColorToken: {
35
+ control: "select";
36
+ options: ColorToken[];
37
+ description: string;
38
+ table: {
39
+ category: string;
40
+ };
41
+ };
42
+ titleColorToken: {
43
+ control: "select";
44
+ options: ColorToken[];
45
+ description: string;
46
+ table: {
47
+ category: string;
48
+ };
49
+ };
50
+ itemBackgroundColorToken: {
51
+ control: "select";
52
+ options: ColorToken[];
53
+ description: string;
54
+ table: {
55
+ category: string;
56
+ };
57
+ };
58
+ itemTitleColorToken: {
59
+ control: "select";
60
+ options: ColorToken[];
61
+ description: string;
62
+ table: {
63
+ category: string;
64
+ };
65
+ };
66
+ itemDescriptionColorToken: {
67
+ control: "select";
68
+ options: ColorToken[];
69
+ description: string;
70
+ table: {
71
+ category: string;
72
+ };
73
+ };
74
+ iconColorToken: {
75
+ control: "select";
76
+ options: ColorToken[];
77
+ description: string;
78
+ table: {
79
+ category: string;
80
+ };
81
+ };
82
+ };
83
+ };
84
+ export default meta;
85
+ type Story = StoryObj<typeof meta>;
86
+ export declare const Default: Story;
87
+ export declare const GettingStarted: Story;
88
+ export declare const FeatureHighlights: Story;
89
+ export declare const TwoItems: Story;
90
+ export declare const SingleItem: Story;
91
+ export declare const CustomColors: Story;
92
+ export declare const InteractiveColorPicker: Story;
93
+ export declare const LongContent: Story;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Organisms
3
+ * Complex UI components composed of molecules and atoms
4
+ */
5
+ export { OnboardingInfoBox } from "./OnboardingInfoBox/OnboardingInfoBox";
6
+ export type { OnboardingInfoBoxProps, OnboardingInfoItem, } from "./OnboardingInfoBox/OnboardingInfoBox";
7
+ export { CTABox } from "./CTABox/CTABox";
8
+ export type { CTABoxProps } from "./CTABox/CTABox";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Pages
3
+ * Complete page implementations using templates
4
+ */
5
+ export {};
@@ -0,0 +1,185 @@
1
+ /**
2
+ * OnboardingTemplate
3
+ * Full onboarding page template with multiple variations
4
+ */
5
+ import React from "react";
6
+ import type { CheckboxChipOption } from "../../molecules/CheckboxChip/CheckboxChipGroup";
7
+ import type { OnboardingInfoItem } from "../../organisms/OnboardingInfoBox/OnboardingInfoBox";
8
+ import "./OnboardingTemplate.scss";
9
+ export interface OnboardingRadioOption {
10
+ value: string;
11
+ icon: string;
12
+ title: string;
13
+ description: string;
14
+ }
15
+ export interface OnboardingTemplateProps {
16
+ /**
17
+ * Template variation type
18
+ */
19
+ variation: "radio" | "checkbox-no-icon" | "checkbox-with-icon" | "buttons-plus-radio" | "know-your-customer" | "launcher" | "artwork";
20
+ /**
21
+ * Current step (1-based)
22
+ */
23
+ currentStep?: number;
24
+ /**
25
+ * Total number of steps
26
+ */
27
+ totalSteps?: number;
28
+ /**
29
+ * Logo image source
30
+ */
31
+ logoSrc?: string;
32
+ /**
33
+ * Welcome heading text
34
+ */
35
+ welcomeHeading?: string;
36
+ /**
37
+ * Welcome subtext
38
+ */
39
+ welcomeSubtext?: string;
40
+ /**
41
+ * Main headline question
42
+ */
43
+ headline?: string;
44
+ /**
45
+ * List of radio options
46
+ */
47
+ radioOptions?: OnboardingRadioOption[];
48
+ /**
49
+ * Selected radio option value
50
+ */
51
+ selectedRadioOption?: string;
52
+ /**
53
+ * Radio option change handler
54
+ */
55
+ onRadioOptionChange?: (value: string) => void;
56
+ /**
57
+ * List of checkbox chip options
58
+ */
59
+ checkboxOptions?: CheckboxChipOption[];
60
+ /**
61
+ * Selected checkbox chip values
62
+ */
63
+ selectedCheckboxOptions?: string[];
64
+ /**
65
+ * Checkbox chip change handler
66
+ */
67
+ onCheckboxOptionsChange?: (values: string[]) => void;
68
+ /**
69
+ * Yes/No question text
70
+ */
71
+ yesNoQuestion?: string;
72
+ /**
73
+ * Yes/No answer
74
+ */
75
+ yesNoAnswer?: "yes" | "no" | null;
76
+ /**
77
+ * Yes/No answer change handler
78
+ */
79
+ onYesNoChange?: (answer: "yes" | "no") => void;
80
+ /**
81
+ * Second question text (shown when Yes is selected)
82
+ */
83
+ secondQuestion?: string;
84
+ /**
85
+ * First section question text
86
+ */
87
+ firstSectionQuestion?: string;
88
+ /**
89
+ * First section checkbox options
90
+ */
91
+ firstSectionOptions?: CheckboxChipOption[];
92
+ /**
93
+ * Selected first section option value (single selection)
94
+ */
95
+ selectedFirstOption?: string;
96
+ /**
97
+ * First section option change handler
98
+ */
99
+ onFirstOptionChange?: (value: string) => void;
100
+ /**
101
+ * Second section question text
102
+ */
103
+ secondSectionQuestion?: string;
104
+ /**
105
+ * Second section checkbox options
106
+ */
107
+ secondSectionOptions?: CheckboxChipOption[];
108
+ /**
109
+ * Selected second section option value (single selection)
110
+ */
111
+ selectedSecondOption?: string;
112
+ /**
113
+ * Second section option change handler
114
+ */
115
+ onSecondOptionChange?: (value: string) => void;
116
+ /**
117
+ * Icon name for launcher variation (Solar icon)
118
+ */
119
+ launcherIcon?: string;
120
+ /**
121
+ * Headline text for launcher variation
122
+ */
123
+ launcherHeadline?: string;
124
+ /**
125
+ * Main text below headline for launcher variation
126
+ */
127
+ launcherText?: string;
128
+ /**
129
+ * Subtext/description for launcher variation
130
+ */
131
+ launcherSubtext?: string;
132
+ /**
133
+ * Title for the info box
134
+ */
135
+ infoBoxTitle?: string;
136
+ /**
137
+ * Items to display in the info box
138
+ */
139
+ infoBoxItems?: OnboardingInfoItem[];
140
+ /**
141
+ * Label for the CTA box
142
+ */
143
+ ctaLabel?: string;
144
+ /**
145
+ * Heading for the CTA box
146
+ */
147
+ ctaHeading?: string;
148
+ /**
149
+ * Description for the CTA box
150
+ */
151
+ ctaDescription?: string;
152
+ /**
153
+ * Button text for the CTA box
154
+ */
155
+ ctaButtonText?: string;
156
+ /**
157
+ * CTA button click handler
158
+ */
159
+ onCTAClick?: () => void;
160
+ /**
161
+ * Background image for artwork variation
162
+ */
163
+ artworkBackgroundImage?: string;
164
+ /**
165
+ * Main artwork image for artwork variation
166
+ */
167
+ artworkImage?: string;
168
+ /**
169
+ * Continue button click handler
170
+ */
171
+ onContinue?: () => void;
172
+ /**
173
+ * Back button click handler
174
+ */
175
+ onBack?: () => void;
176
+ /**
177
+ * Continue button disabled state
178
+ */
179
+ continueDisabled?: boolean;
180
+ /**
181
+ * Custom className
182
+ */
183
+ className?: string;
184
+ }
185
+ export declare const OnboardingTemplate: React.ForwardRefExoticComponent<OnboardingTemplateProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,26 @@
1
+ import React from "react";
2
+ import type { StoryObj } from "@storybook/react-vite";
3
+ declare const meta: {
4
+ title: string;
5
+ component: React.ForwardRefExoticComponent<import("./OnboardingTemplate").OnboardingTemplateProps & React.RefAttributes<HTMLDivElement>>;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ tags: string[];
10
+ };
11
+ export default meta;
12
+ type Story = StoryObj<typeof meta>;
13
+ export declare const Variation1_Radio: Story;
14
+ export declare const Variation2_CheckboxNoIcon: Story;
15
+ export declare const Variation1_NoSelection: Story;
16
+ export declare const Variation2_NoSelection: Story;
17
+ export declare const Variation3_CheckboxWithIcon: Story;
18
+ export declare const Variation3_NoSelection: Story;
19
+ export declare const Variation4_ButtonsPlusRadio: Story;
20
+ export declare const Variation4_NoState: Story;
21
+ export declare const Variation4_NoAnswer: Story;
22
+ export declare const Variation5_KnowYourCustomer: Story;
23
+ export declare const Variation5_NoSelection: Story;
24
+ export declare const Variation5_PartialSelection: Story;
25
+ export declare const Variation6_Launcher: Story;
26
+ export declare const Variation7_Artwork: Story;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Templates
3
+ * Page-level layouts that arrange organisms
4
+ */
5
+ export { OnboardingTemplate } from "./OnboardingTemplate/OnboardingTemplate";
6
+ export type { OnboardingTemplateProps, OnboardingRadioOption, } from "./OnboardingTemplate/OnboardingTemplate";
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Design System
3
+ * Main entry point for the design system package
4
+ */
5
+ export * from "./tokens";
6
+ export * from "./theme";
7
+ export * from "./components";
8
+ export { Theme as RadixTheme } from "@radix-ui/themes";
9
+ export declare const stylesheets: {
10
+ readonly radixTheme: "@radix-ui/themes/styles.css";
11
+ readonly atoms: {
12
+ readonly button: "./components/atoms/Button/Button.scss";
13
+ readonly input: "./components/atoms/Input/Input.scss";
14
+ readonly switch: "./components/atoms/Switch/Switch.scss";
15
+ readonly checkbox: "./components/atoms/Checkbox/Checkbox.scss";
16
+ };
17
+ readonly molecules: {
18
+ readonly select: "./components/molecules/Select/Select.scss";
19
+ readonly menuItem: "./components/molecules/MenuItem/MenuItem.scss";
20
+ };
21
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Tests for ColorTokenSelect component
3
+ */
4
+ export {};
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Theme Provider Component
3
+ * Wraps the application and provides theme context
4
+ */
5
+ import React from "react";
6
+ import { Theme } from "./theme";
7
+ interface ThemeContextValue {
8
+ theme: Theme;
9
+ }
10
+ export declare const useTheme: () => ThemeContextValue;
11
+ interface ThemeProviderProps {
12
+ children: React.ReactNode;
13
+ theme?: Theme;
14
+ /**
15
+ * Radix UI Theme appearance
16
+ */
17
+ appearance?: "light" | "dark" | "inherit";
18
+ /**
19
+ * Radix UI Theme accent color
20
+ */
21
+ accentColor?: "blue" | "cyan" | "green" | "orange" | "pink" | "purple" | "red" | "yellow";
22
+ /**
23
+ * Radix UI Theme gray scale
24
+ */
25
+ grayColor?: "gray" | "mauve" | "slate" | "sage" | "olive" | "sand";
26
+ /**
27
+ * Radix UI Theme radius
28
+ */
29
+ radius?: "none" | "small" | "medium" | "large" | "full";
30
+ /**
31
+ * Radix UI Theme scaling
32
+ */
33
+ scaling?: "90%" | "95%" | "100%" | "105%" | "110%";
34
+ }
35
+ export declare const ThemeProvider: React.FC<ThemeProviderProps>;
36
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from "./theme";
2
+ export * from "./ThemeProvider";
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Theme Configuration
3
+ * Defines the theme structure and allows customization
4
+ */
5
+ import { tokens } from "../tokens";
6
+ export interface ThemeConfig {
7
+ colors: typeof tokens.colors;
8
+ spacing: typeof tokens.spacing;
9
+ radii: typeof tokens.radii;
10
+ typography: typeof tokens.typography;
11
+ shadows: typeof tokens.shadows;
12
+ }
13
+ export declare const defaultTheme: ThemeConfig;
14
+ /**
15
+ * Create a custom theme by merging with the default theme
16
+ */
17
+ export declare function createTheme(customTheme?: Partial<ThemeConfig>): ThemeConfig;
18
+ export type Theme = ThemeConfig;
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Color Token Types and Utilities
3
+ *
4
+ * Centralized color token type definitions and utilities for the design system.
5
+ * All color tokens are based on Radix UI CSS variables with support for:
6
+ * - Light/Dark mode (automatic via Radix UI CSS variables)
7
+ * - Alpha transparency variants (a1-a12)
8
+ * - Full color scales (1-12) for each color family
9
+ */
10
+ /**
11
+ * All available color tokens in the design system
12
+ *
13
+ * Color Scale System:
14
+ * - 1-12: Solid colors from lightest to darkest
15
+ * - a1-a12: Alpha/transparent variants from most transparent to most opaque
16
+ *
17
+ * Light/Dark Mode:
18
+ * - Radix UI CSS variables automatically adapt to light/dark mode
19
+ * - No separate light/dark tokens needed - handled by CSS variable values
20
+ */
21
+ export type ColorToken = "gray-1" | "gray-2" | "gray-3" | "gray-4" | "gray-5" | "gray-6" | "gray-7" | "gray-8" | "gray-9" | "gray-10" | "gray-11" | "gray-12" | "gray-a1" | "gray-a2" | "gray-a3" | "gray-a4" | "gray-a5" | "gray-a6" | "gray-a7" | "gray-a8" | "gray-a9" | "gray-a10" | "gray-a11" | "gray-a12" | "blue-1" | "blue-2" | "blue-3" | "blue-4" | "blue-5" | "blue-6" | "blue-7" | "blue-8" | "blue-9" | "blue-10" | "blue-11" | "blue-12" | "blue-a1" | "blue-a2" | "blue-a3" | "blue-a4" | "blue-a5" | "blue-a6" | "blue-a7" | "blue-a8" | "blue-a9" | "blue-a10" | "blue-a11" | "blue-a12" | "green-1" | "green-2" | "green-3" | "green-4" | "green-5" | "green-6" | "green-7" | "green-8" | "green-9" | "green-10" | "green-11" | "green-12" | "green-a1" | "green-a2" | "green-a3" | "green-a4" | "green-a5" | "green-a6" | "green-a7" | "green-a8" | "green-a9" | "green-a10" | "green-a11" | "green-a12" | "red-1" | "red-2" | "red-3" | "red-4" | "red-5" | "red-6" | "red-7" | "red-8" | "red-9" | "red-10" | "red-11" | "red-12" | "red-a1" | "red-a2" | "red-a3" | "red-a4" | "red-a5" | "red-a6" | "red-a7" | "red-a8" | "red-a9" | "red-a10" | "red-a11" | "red-a12" | "orange-1" | "orange-2" | "orange-3" | "orange-4" | "orange-5" | "orange-6" | "orange-7" | "orange-8" | "orange-9" | "orange-10" | "orange-11" | "orange-12" | "orange-a1" | "orange-a2" | "orange-a3" | "orange-a4" | "orange-a5" | "orange-a6" | "orange-a7" | "orange-a8" | "orange-a9" | "orange-a10" | "orange-a11" | "orange-a12" | "purple-1" | "purple-2" | "purple-3" | "purple-4" | "purple-5" | "purple-6" | "purple-7" | "purple-8" | "purple-9" | "purple-10" | "purple-11" | "purple-12" | "purple-a1" | "purple-a2" | "purple-a3" | "purple-a4" | "purple-a5" | "purple-a6" | "purple-a7" | "purple-a8" | "purple-a9" | "purple-a10" | "purple-a11" | "purple-a12" | "cyan-1" | "cyan-2" | "cyan-3" | "cyan-4" | "cyan-5" | "cyan-6" | "cyan-7" | "cyan-8" | "cyan-9" | "cyan-10" | "cyan-11" | "cyan-12" | "cyan-a1" | "cyan-a2" | "cyan-a3" | "cyan-a4" | "cyan-a5" | "cyan-a6" | "cyan-a7" | "cyan-a8" | "cyan-a9" | "cyan-a10" | "cyan-a11" | "cyan-a12" | "pink-1" | "pink-2" | "pink-3" | "pink-4" | "pink-5" | "pink-6" | "pink-7" | "pink-8" | "pink-9" | "pink-10" | "pink-11" | "pink-12" | "pink-a1" | "pink-a2" | "pink-a3" | "pink-a4" | "pink-a5" | "pink-a6" | "pink-a7" | "pink-a8" | "pink-a9" | "pink-a10" | "pink-a11" | "pink-a12" | "amber-1" | "amber-2" | "amber-3" | "amber-4" | "amber-5" | "amber-6" | "amber-7" | "amber-8" | "amber-9" | "amber-10" | "amber-11" | "amber-12" | "amber-a1" | "amber-a2" | "amber-a3" | "amber-a4" | "amber-a5" | "amber-a6" | "amber-a7" | "amber-a8" | "amber-a9" | "amber-a10" | "amber-a11" | "amber-a12" | "accent-1" | "accent-2" | "accent-3" | "accent-4" | "accent-5" | "accent-6" | "accent-7" | "accent-8" | "accent-9" | "accent-10" | "accent-11" | "accent-12" | "accent-a1" | "accent-a2" | "accent-a3" | "accent-a4" | "accent-a5" | "accent-a6" | "accent-a7" | "accent-a8" | "accent-a9" | "accent-a10" | "accent-a11" | "accent-a12";
22
+ /**
23
+ * Convert a color token to a CSS variable reference
24
+ *
25
+ * @param token - The color token to convert
26
+ * @returns CSS variable reference string (e.g., 'var(--blue-9)')
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const bgColor = getColorTokenVar('blue-9'); // 'var(--blue-9)'
31
+ * style={{ backgroundColor: bgColor }}
32
+ * ```
33
+ */
34
+ export declare const getColorTokenVar: (token: ColorToken) => string;
35
+ /**
36
+ * Type guard to check if a string is a valid color token
37
+ *
38
+ * @param value - The value to check
39
+ * @returns True if the value is a valid ColorToken
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * if (isColorToken('blue-9')) {
44
+ * // TypeScript knows this is a ColorToken
45
+ * }
46
+ * ```
47
+ */
48
+ export declare const isColorToken: (value: string) => value is ColorToken;
49
+ /**
50
+ * Color families available in the design system
51
+ */
52
+ export declare const COLOR_FAMILIES: readonly ["gray", "blue", "green", "red", "orange", "purple", "cyan", "pink", "amber", "accent"];
53
+ export type ColorFamily = (typeof COLOR_FAMILIES)[number];
54
+ /**
55
+ * Color scale levels (1-12)
56
+ */
57
+ export declare const COLOR_SCALES: readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
58
+ export type ColorScaleLevel = (typeof COLOR_SCALES)[number];
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Tests for Color Token utilities
3
+ */
4
+ export {};