@edwardguerra/design-system 1.0.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.
- package/LICENSE +21 -0
- package/README.md +77 -0
- package/dist/css/main.css +132 -0
- package/dist/css/tokens.css +318 -0
- package/dist/index.cjs +31 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.mjs +1188 -0
- package/dist/index.mjs.map +1 -0
- package/dist/style.css +1 -0
- package/dist/tokens/_variables.scss +296 -0
- package/dist/tokens/tokens.d.ts +338 -0
- package/dist/tokens/tokens.js +297 -0
- package/dist/tokens/tokens.json +294 -0
- package/dist/tokens/variables.css +318 -0
- package/dist/types/components/Accordion/Accordion.d.ts +30 -0
- package/dist/types/components/Accordion/Accordion.stories.d.ts +15 -0
- package/dist/types/components/Accordion/Accordion.test.d.ts +1 -0
- package/dist/types/components/Accordion/index.d.ts +2 -0
- package/dist/types/components/Article/Article.d.ts +21 -0
- package/dist/types/components/Article/Article.stories.d.ts +13 -0
- package/dist/types/components/Article/Article.test.d.ts +1 -0
- package/dist/types/components/Article/index.d.ts +2 -0
- package/dist/types/components/Badge/Badge.d.ts +20 -0
- package/dist/types/components/Badge/Badge.stories.d.ts +20 -0
- package/dist/types/components/Badge/Badge.test.d.ts +1 -0
- package/dist/types/components/Badge/index.d.ts +2 -0
- package/dist/types/components/Button/Button.d.ts +49 -0
- package/dist/types/components/Button/Button.stories.d.ts +43 -0
- package/dist/types/components/Button/Button.test.d.ts +1 -0
- package/dist/types/components/Button/index.d.ts +2 -0
- package/dist/types/components/Card/Card.d.ts +43 -0
- package/dist/types/components/Card/Card.stories.d.ts +31 -0
- package/dist/types/components/Card/Card.test.d.ts +1 -0
- package/dist/types/components/Card/index.d.ts +2 -0
- package/dist/types/components/Carousel/Carousel.d.ts +27 -0
- package/dist/types/components/Carousel/Carousel.stories.d.ts +12 -0
- package/dist/types/components/Carousel/Carousel.test.d.ts +1 -0
- package/dist/types/components/Carousel/index.d.ts +2 -0
- package/dist/types/components/DescriptionList/DescriptionList.d.ts +31 -0
- package/dist/types/components/DescriptionList/DescriptionList.stories.d.ts +12 -0
- package/dist/types/components/DescriptionList/DescriptionList.test.d.ts +1 -0
- package/dist/types/components/DescriptionList/index.d.ts +2 -0
- package/dist/types/components/Feature/Feature.d.ts +25 -0
- package/dist/types/components/Feature/Feature.stories.d.ts +19 -0
- package/dist/types/components/Feature/Feature.test.d.ts +1 -0
- package/dist/types/components/Feature/index.d.ts +2 -0
- package/dist/types/components/Icon/Icon.d.ts +24 -0
- package/dist/types/components/Icon/Icon.stories.d.ts +21 -0
- package/dist/types/components/Icon/Icon.test.d.ts +1 -0
- package/dist/types/components/Icon/index.d.ts +2 -0
- package/dist/types/components/Input/Input.d.ts +40 -0
- package/dist/types/components/Input/Input.stories.d.ts +30 -0
- package/dist/types/components/Input/Input.test.d.ts +1 -0
- package/dist/types/components/Input/index.d.ts +2 -0
- package/dist/types/components/Link/Link.d.ts +45 -0
- package/dist/types/components/Link/Link.stories.d.ts +19 -0
- package/dist/types/components/Link/Link.test.d.ts +1 -0
- package/dist/types/components/Link/index.d.ts +2 -0
- package/dist/types/components/List/List.d.ts +35 -0
- package/dist/types/components/List/List.stories.d.ts +14 -0
- package/dist/types/components/List/List.test.d.ts +1 -0
- package/dist/types/components/List/index.d.ts +2 -0
- package/dist/types/components/Menu/Menu.d.ts +44 -0
- package/dist/types/components/Menu/Menu.stories.d.ts +19 -0
- package/dist/types/components/Menu/Menu.test.d.ts +1 -0
- package/dist/types/components/Menu/index.d.ts +2 -0
- package/dist/types/components/Modal/Modal.d.ts +44 -0
- package/dist/types/components/Modal/Modal.stories.d.ts +26 -0
- package/dist/types/components/Modal/Modal.test.d.ts +1 -0
- package/dist/types/components/Modal/index.d.ts +2 -0
- package/dist/types/components/Nav/Nav.d.ts +43 -0
- package/dist/types/components/Nav/Nav.stories.d.ts +19 -0
- package/dist/types/components/Nav/Nav.test.d.ts +1 -0
- package/dist/types/components/Nav/index.d.ts +2 -0
- package/dist/types/components/Pagination/Pagination.d.ts +36 -0
- package/dist/types/components/Pagination/Pagination.stories.d.ts +15 -0
- package/dist/types/components/Pagination/Pagination.test.d.ts +1 -0
- package/dist/types/components/Pagination/index.d.ts +2 -0
- package/dist/types/components/Radio/Radio.d.ts +30 -0
- package/dist/types/components/Radio/Radio.stories.d.ts +15 -0
- package/dist/types/components/Radio/Radio.test.d.ts +1 -0
- package/dist/types/components/Radio/index.d.ts +2 -0
- package/dist/types/components/Slider/Slider.d.ts +44 -0
- package/dist/types/components/Slider/Slider.stories.d.ts +14 -0
- package/dist/types/components/Slider/Slider.test.d.ts +1 -0
- package/dist/types/components/Slider/index.d.ts +2 -0
- package/dist/types/components/Switch/Switch.d.ts +29 -0
- package/dist/types/components/Switch/Switch.stories.d.ts +16 -0
- package/dist/types/components/Switch/Switch.test.d.ts +1 -0
- package/dist/types/components/Switch/index.d.ts +2 -0
- package/dist/types/components/TOC/TOC.d.ts +37 -0
- package/dist/types/components/TOC/TOC.stories.d.ts +17 -0
- package/dist/types/components/TOC/TOC.test.d.ts +1 -0
- package/dist/types/components/TOC/index.d.ts +2 -0
- package/dist/types/components/Table/Table.d.ts +34 -0
- package/dist/types/components/Table/Table.stories.d.ts +13 -0
- package/dist/types/components/Table/Table.test.d.ts +1 -0
- package/dist/types/components/Table/index.d.ts +2 -0
- package/dist/types/components/Tabs/Tabs.d.ts +26 -0
- package/dist/types/components/Tabs/Tabs.stories.d.ts +14 -0
- package/dist/types/components/Tabs/Tabs.test.d.ts +1 -0
- package/dist/types/components/Tabs/index.d.ts +2 -0
- package/dist/types/components/ThemeProvider/ThemeContext.d.ts +8 -0
- package/dist/types/components/ThemeProvider/ThemeProvider.d.ts +9 -0
- package/dist/types/components/ThemeProvider/ThemeProvider.stories.d.ts +17 -0
- package/dist/types/components/ThemeProvider/ThemeProvider.test.d.ts +1 -0
- package/dist/types/components/ThemeProvider/ThemeSwitcher.d.ts +13 -0
- package/dist/types/components/ThemeProvider/index.d.ts +6 -0
- package/dist/types/components/Timeline/Timeline.d.ts +31 -0
- package/dist/types/components/Timeline/Timeline.stories.d.ts +12 -0
- package/dist/types/components/Timeline/Timeline.test.d.ts +1 -0
- package/dist/types/components/Timeline/index.d.ts +2 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts +25 -0
- package/dist/types/components/Tooltip/Tooltip.stories.d.ts +26 -0
- package/dist/types/components/Tooltip/Tooltip.test.d.ts +1 -0
- package/dist/types/components/Tooltip/index.d.ts +2 -0
- package/dist/types/components/index.d.ts +25 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/test/setup.d.ts +1 -0
- package/package.json +85 -0
- package/tokens/brands/edward-guerra.json +9 -0
- package/tokens/brands/materialandhome.json +9 -0
- package/tokens/brands/midwest-husbands.json +9 -0
- package/tokens/config.json +45 -0
- package/tokens/core/breakpoints.json +9 -0
- package/tokens/core/colors.json +217 -0
- package/tokens/core/effects.json +37 -0
- package/tokens/core/spacing.json +24 -0
- package/tokens/core/typography.json +45 -0
- package/tokens/semantic/button.json +37 -0
- package/tokens/semantic/theme.json +26 -0
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
|
|
3
|
+
/* BORDERWIDTH */
|
|
4
|
+
--border-width-0: 0;
|
|
5
|
+
--border-width-1: 1px;
|
|
6
|
+
--border-width-2: 2px;
|
|
7
|
+
--border-width-4: 4px;
|
|
8
|
+
--border-width-8: 8px;
|
|
9
|
+
|
|
10
|
+
/* BREAKPOINT */
|
|
11
|
+
--breakpoint-xs: 20em;
|
|
12
|
+
--breakpoint-md: 46.5em;
|
|
13
|
+
--breakpoint-lg: 64em;
|
|
14
|
+
--breakpoint-xl: 100em;
|
|
15
|
+
--breakpoint-2xl: 120em;
|
|
16
|
+
|
|
17
|
+
/* BUTTON */
|
|
18
|
+
--button-primary-background: #0482c5;
|
|
19
|
+
--button-primary-background-hover: #05679f;
|
|
20
|
+
--button-primary-background-active: #095883;
|
|
21
|
+
--button-primary-text: #ffffff;
|
|
22
|
+
--button-primary-border-radius: 1rem;
|
|
23
|
+
--button-primary-padding-x: 1.5rem;
|
|
24
|
+
--button-primary-padding-y: 0.75rem;
|
|
25
|
+
--button-primary-font-size: 1rem;
|
|
26
|
+
--button-primary-font-weight: 500;
|
|
27
|
+
--button-secondary-background: #e7e7e7;
|
|
28
|
+
--button-secondary-background-hover: #d1d1d1;
|
|
29
|
+
--button-secondary-background-active: #b0b0b0;
|
|
30
|
+
--button-secondary-text: #3d3d3d;
|
|
31
|
+
--button-secondary-border-radius: 1rem;
|
|
32
|
+
--button-secondary-padding-x: 1.5rem;
|
|
33
|
+
--button-secondary-padding-y: 0.75rem;
|
|
34
|
+
--button-secondary-font-size: 1rem;
|
|
35
|
+
--button-secondary-font-weight: 500;
|
|
36
|
+
--button-danger-background: #c04242;
|
|
37
|
+
--button-danger-background-hover: #973131;
|
|
38
|
+
--button-danger-background-active: #862e2e;
|
|
39
|
+
--button-danger-text: #ffffff;
|
|
40
|
+
--button-danger-border-radius: 1rem;
|
|
41
|
+
--button-danger-padding-x: 1.5rem;
|
|
42
|
+
--button-danger-padding-y: 0.75rem;
|
|
43
|
+
--button-danger-font-size: 1rem;
|
|
44
|
+
--button-danger-font-weight: 500;
|
|
45
|
+
|
|
46
|
+
/* COLOR */
|
|
47
|
+
--color-neutral-0: #ffffff;
|
|
48
|
+
--color-neutral-50: #f6f6f6;
|
|
49
|
+
--color-neutral-100: #e7e7e7;
|
|
50
|
+
--color-neutral-200: #d1d1d1;
|
|
51
|
+
--color-neutral-300: #b0b0b0;
|
|
52
|
+
--color-neutral-400: #888888;
|
|
53
|
+
--color-neutral-500: #6d6d6d;
|
|
54
|
+
--color-neutral-600: #5d5d5d;
|
|
55
|
+
--color-neutral-700: #4f4f4f;
|
|
56
|
+
--color-neutral-800: #454545;
|
|
57
|
+
--color-neutral-900: #3d3d3d;
|
|
58
|
+
--color-neutral-950: #1a1a1a;
|
|
59
|
+
--color-neutral-1000: #000000;
|
|
60
|
+
--color-blue-50: #f0f9ff;
|
|
61
|
+
--color-blue-100: #e0f2fe;
|
|
62
|
+
--color-blue-200: #bbe6fc;
|
|
63
|
+
--color-blue-300: #7fd1fa;
|
|
64
|
+
--color-blue-400: #3abbf6;
|
|
65
|
+
--color-blue-500: #11a3e6;
|
|
66
|
+
--color-blue-600: #0482c5;
|
|
67
|
+
--color-blue-700: #05679f;
|
|
68
|
+
--color-blue-800: #095883;
|
|
69
|
+
--color-blue-900: #0d4a6d;
|
|
70
|
+
--color-blue-950: #0b3a5a;
|
|
71
|
+
--color-brown-50: #f5f4f1;
|
|
72
|
+
--color-brown-100: #e5e3dc;
|
|
73
|
+
--color-brown-200: #cdcabb;
|
|
74
|
+
--color-brown-300: #b1aa93;
|
|
75
|
+
--color-brown-400: #9a9175;
|
|
76
|
+
--color-brown-500: #8b8067;
|
|
77
|
+
--color-brown-600: #776b57;
|
|
78
|
+
--color-brown-700: #605548;
|
|
79
|
+
--color-brown-800: #534940;
|
|
80
|
+
--color-brown-900: #39322d;
|
|
81
|
+
--color-brown-950: #29221f;
|
|
82
|
+
--color-teal-50: #f4f9f8;
|
|
83
|
+
--color-teal-100: #daedea;
|
|
84
|
+
--color-teal-200: #b4dbd5;
|
|
85
|
+
--color-teal-300: #87c1bb;
|
|
86
|
+
--color-teal-400: #5ea39e;
|
|
87
|
+
--color-teal-500: #448884;
|
|
88
|
+
--color-teal-600: #336967;
|
|
89
|
+
--color-teal-700: #2d5856;
|
|
90
|
+
--color-teal-800: #284747;
|
|
91
|
+
--color-teal-900: #243d3c;
|
|
92
|
+
--color-teal-950: #112122;
|
|
93
|
+
--color-green-50: #f9f8ec;
|
|
94
|
+
--color-green-100: #f1efd6;
|
|
95
|
+
--color-green-200: #e4e1b2;
|
|
96
|
+
--color-green-300: #d1cf85;
|
|
97
|
+
--color-green-400: #bdbc5e;
|
|
98
|
+
--color-green-500: #a1a240;
|
|
99
|
+
--color-green-600: #909236;
|
|
100
|
+
--color-green-700: #616328;
|
|
101
|
+
--color-green-800: #4e5024;
|
|
102
|
+
--color-green-900: #434522;
|
|
103
|
+
--color-green-950: #23250e;
|
|
104
|
+
--color-red-50: #fcf4f4;
|
|
105
|
+
--color-red-100: #fae6e6;
|
|
106
|
+
--color-red-200: #f6d2d2;
|
|
107
|
+
--color-red-300: #efb2b2;
|
|
108
|
+
--color-red-400: #e38686;
|
|
109
|
+
--color-red-500: #d55e5e;
|
|
110
|
+
--color-red-600: #c04242;
|
|
111
|
+
--color-red-700: #973131;
|
|
112
|
+
--color-red-800: #862e2e;
|
|
113
|
+
--color-red-900: #702c2c;
|
|
114
|
+
--color-red-950: #3c1313;
|
|
115
|
+
--color-yellow-50: #fffeea;
|
|
116
|
+
--color-yellow-100: #fffac5;
|
|
117
|
+
--color-yellow-200: #fff585;
|
|
118
|
+
--color-yellow-300: #ffe946;
|
|
119
|
+
--color-yellow-400: #ffd91b;
|
|
120
|
+
--color-yellow-500: #ffba05;
|
|
121
|
+
--color-yellow-600: #e28e00;
|
|
122
|
+
--color-yellow-700: #bb6402;
|
|
123
|
+
--color-yellow-800: #984d08;
|
|
124
|
+
--color-yellow-900: #7c3f0b;
|
|
125
|
+
--color-yellow-950: #482000;
|
|
126
|
+
--color-burnt-50: #fdf5ef;
|
|
127
|
+
--color-burnt-100: #fae8da;
|
|
128
|
+
--color-burnt-200: #f4ceb4;
|
|
129
|
+
--color-burnt-300: #ecad85;
|
|
130
|
+
--color-burnt-400: #e38254;
|
|
131
|
+
--color-burnt-500: #dd6434;
|
|
132
|
+
--color-burnt-600: #ce4c28;
|
|
133
|
+
--color-burnt-700: #ab3923;
|
|
134
|
+
--color-burnt-800: #892f23;
|
|
135
|
+
--color-burnt-900: #6f291f;
|
|
136
|
+
--color-burnt-950: #3c120e;
|
|
137
|
+
--color-berry-50: #fbf4f8;
|
|
138
|
+
--color-berry-100: #f7ecf2;
|
|
139
|
+
--color-berry-200: #f1d9e8;
|
|
140
|
+
--color-berry-300: #e7bad3;
|
|
141
|
+
--color-berry-400: #d88eb7;
|
|
142
|
+
--color-berry-500: #c86c9b;
|
|
143
|
+
--color-berry-600: #b44e7e;
|
|
144
|
+
--color-berry-700: #9a3c65;
|
|
145
|
+
--color-berry-800: #803455;
|
|
146
|
+
--color-berry-900: #6c2f4a;
|
|
147
|
+
--color-berry-950: #0e070a;
|
|
148
|
+
--color-purple-50: #faf5ff;
|
|
149
|
+
--color-purple-100: #f3e8ff;
|
|
150
|
+
--color-purple-200: #e9d5ff;
|
|
151
|
+
--color-purple-300: #d8b4fe;
|
|
152
|
+
--color-purple-400: #c084fc;
|
|
153
|
+
--color-purple-500: #a855f7;
|
|
154
|
+
--color-purple-600: #9333ea;
|
|
155
|
+
--color-purple-700: #7e22ce;
|
|
156
|
+
--color-purple-800: #6b21a8;
|
|
157
|
+
--color-purple-900: #581c87;
|
|
158
|
+
--color-purple-950: #3b0764;
|
|
159
|
+
--color-orange-50: #fff7ed;
|
|
160
|
+
--color-orange-100: #ffedd5;
|
|
161
|
+
--color-orange-200: #fed7aa;
|
|
162
|
+
--color-orange-300: #fdba74;
|
|
163
|
+
--color-orange-400: #fb923c;
|
|
164
|
+
--color-orange-500: #f97316;
|
|
165
|
+
--color-orange-600: #ea580c;
|
|
166
|
+
--color-orange-700: #c2410c;
|
|
167
|
+
--color-orange-800: #9a3412;
|
|
168
|
+
--color-orange-900: #7c2d12;
|
|
169
|
+
--color-orange-950: #431407;
|
|
170
|
+
--color-cyan-50: #ecfeff;
|
|
171
|
+
--color-cyan-100: #cffafe;
|
|
172
|
+
--color-cyan-200: #a5f3fc;
|
|
173
|
+
--color-cyan-300: #67e8f9;
|
|
174
|
+
--color-cyan-400: #22d3ee;
|
|
175
|
+
--color-cyan-500: #06b6d4;
|
|
176
|
+
--color-cyan-600: #0891b2;
|
|
177
|
+
--color-cyan-700: #0e7490;
|
|
178
|
+
--color-cyan-800: #155e75;
|
|
179
|
+
--color-cyan-900: #164e63;
|
|
180
|
+
--color-cyan-950: #083344;
|
|
181
|
+
--color-lime-50: #f7fee7;
|
|
182
|
+
--color-lime-100: #ecfccb;
|
|
183
|
+
--color-lime-200: #d9f99d;
|
|
184
|
+
--color-lime-300: #bef264;
|
|
185
|
+
--color-lime-400: #a3e635;
|
|
186
|
+
--color-lime-500: #84cc16;
|
|
187
|
+
--color-lime-600: #65a30d;
|
|
188
|
+
--color-lime-700: #4d7c0f;
|
|
189
|
+
--color-lime-800: #3f6212;
|
|
190
|
+
--color-lime-900: #365314;
|
|
191
|
+
--color-lime-950: #1a2e05;
|
|
192
|
+
--color-pink-50: #fdf2f8;
|
|
193
|
+
--color-pink-100: #fce7f3;
|
|
194
|
+
--color-pink-200: #fbcfe8;
|
|
195
|
+
--color-pink-300: #f9a8d4;
|
|
196
|
+
--color-pink-400: #f472b6;
|
|
197
|
+
--color-pink-500: #ec4899;
|
|
198
|
+
--color-pink-600: #db2777;
|
|
199
|
+
--color-pink-700: #be185d;
|
|
200
|
+
--color-pink-800: #9d174d;
|
|
201
|
+
--color-pink-900: #831843;
|
|
202
|
+
--color-pink-950: #500724;
|
|
203
|
+
--color-indigo-50: #eef2ff;
|
|
204
|
+
--color-indigo-100: #e0e7ff;
|
|
205
|
+
--color-indigo-200: #c7d2fe;
|
|
206
|
+
--color-indigo-300: #a5b4fc;
|
|
207
|
+
--color-indigo-400: #818cf8;
|
|
208
|
+
--color-indigo-500: #6366f1;
|
|
209
|
+
--color-indigo-600: #4f46e5;
|
|
210
|
+
--color-indigo-700: #4338ca;
|
|
211
|
+
--color-indigo-800: #3730a3;
|
|
212
|
+
--color-indigo-900: #312e81;
|
|
213
|
+
--color-indigo-950: #1e1b4b;
|
|
214
|
+
--color-white-5: rgba(255, 255, 255, 0.05);
|
|
215
|
+
--color-white-10: rgba(255, 255, 255, 0.1);
|
|
216
|
+
--color-white-20: rgba(255, 255, 255, 0.2);
|
|
217
|
+
--color-white-40: rgba(255, 255, 255, 0.4);
|
|
218
|
+
--color-white-60: rgba(255, 255, 255, 0.6);
|
|
219
|
+
--color-white-80: rgba(255, 255, 255, 0.8);
|
|
220
|
+
--color-black-5: rgba(0, 0, 0, 0.05);
|
|
221
|
+
--color-black-10: rgba(0, 0, 0, 0.1);
|
|
222
|
+
--color-black-20: rgba(0, 0, 0, 0.2);
|
|
223
|
+
--color-black-40: rgba(0, 0, 0, 0.4);
|
|
224
|
+
--color-black-60: rgba(0, 0, 0, 0.6);
|
|
225
|
+
--color-black-80: rgba(0, 0, 0, 0.8);
|
|
226
|
+
|
|
227
|
+
/* EDWARD-GUERRA */
|
|
228
|
+
--edward-guerra-brand-primary: #05679f;
|
|
229
|
+
--edward-guerra-brand-secondary: #0d4a6d;
|
|
230
|
+
--edward-guerra-brand-tint: #f0f9ff;
|
|
231
|
+
|
|
232
|
+
/* FONT */
|
|
233
|
+
--font-family-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
234
|
+
--font-family-serif: Georgia, Cambria, 'Times New Roman', Times, serif;
|
|
235
|
+
--font-family-mono: Menlo, Monaco, Consolas, 'Courier New', monospace;
|
|
236
|
+
--font-size-2xs: 0.5rem;
|
|
237
|
+
--font-size-xs: 0.75rem;
|
|
238
|
+
--font-size-sm: 0.875rem;
|
|
239
|
+
--font-size-base: 1rem;
|
|
240
|
+
--font-size-lg: 1.125rem;
|
|
241
|
+
--font-size-xl: 1.25rem;
|
|
242
|
+
--font-size-2xl: 1.5rem;
|
|
243
|
+
--font-size-3xl: 2rem;
|
|
244
|
+
--font-size-4xl: 2.5rem;
|
|
245
|
+
--font-size-5xl: 3rem;
|
|
246
|
+
--font-size-responsive: 8rem;
|
|
247
|
+
--font-weight-light: 300;
|
|
248
|
+
--font-weight-normal: 400;
|
|
249
|
+
--font-weight-medium: 500;
|
|
250
|
+
--font-weight-semibold: 600;
|
|
251
|
+
--font-weight-bold: 700;
|
|
252
|
+
--font-weight-extrabold: 800;
|
|
253
|
+
--font-line-height-tight: 1.25;
|
|
254
|
+
--font-line-height-normal: 1.5;
|
|
255
|
+
--font-line-height-relaxed: 1.75;
|
|
256
|
+
--font-line-height-loose: 2;
|
|
257
|
+
|
|
258
|
+
/* MATERIALANDHOME */
|
|
259
|
+
--materialandhome-brand-primary: #B25D3E;
|
|
260
|
+
--materialandhome-brand-secondary: #8c4530;
|
|
261
|
+
--materialandhome-brand-tint: #f5e8e2;
|
|
262
|
+
|
|
263
|
+
/* MIDWEST-HUSBANDS */
|
|
264
|
+
--midwest-husbands-brand-primary: #2d5856;
|
|
265
|
+
--midwest-husbands-brand-secondary: #243d3c;
|
|
266
|
+
--midwest-husbands-brand-tint: #f4f9f8;
|
|
267
|
+
|
|
268
|
+
/* RADIUS */
|
|
269
|
+
--radius-none: 0;
|
|
270
|
+
--radius-sm: 0.5rem;
|
|
271
|
+
--radius-md: 1rem;
|
|
272
|
+
--radius-lg: 2rem;
|
|
273
|
+
--radius-full: 9999px;
|
|
274
|
+
|
|
275
|
+
/* SHADOW */
|
|
276
|
+
--shadow-sm: 0 2rem 2rem rgba(0, 0, 0, 0.1);
|
|
277
|
+
--shadow-md: 0 1.5rem 3rem -1.25rem rgba(0, 0, 0, 0.1);
|
|
278
|
+
--shadow-lg: 0 3.125rem 6.25rem -1.25rem rgba(0, 0, 0, 0.25);
|
|
279
|
+
--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);
|
|
280
|
+
|
|
281
|
+
/* SPACING */
|
|
282
|
+
--spacing-0: 0;
|
|
283
|
+
--spacing-1: 0.25rem;
|
|
284
|
+
--spacing-2: 0.5rem;
|
|
285
|
+
--spacing-3: 0.75rem;
|
|
286
|
+
--spacing-4: 1rem;
|
|
287
|
+
--spacing-5: 1.25rem;
|
|
288
|
+
--spacing-6: 1.5rem;
|
|
289
|
+
--spacing-8: 2rem;
|
|
290
|
+
--spacing-10: 2.5rem;
|
|
291
|
+
--spacing-12: 3rem;
|
|
292
|
+
--spacing-16: 4rem;
|
|
293
|
+
--spacing-20: 5rem;
|
|
294
|
+
--spacing-24: 6rem;
|
|
295
|
+
--spacing-32: 8rem;
|
|
296
|
+
--spacing-40: 10rem;
|
|
297
|
+
--spacing-48: 12rem;
|
|
298
|
+
--spacing-56: 14rem;
|
|
299
|
+
--spacing-64: 16rem;
|
|
300
|
+
--spacing-96: 24rem;
|
|
301
|
+
--spacing-120: 30rem;
|
|
302
|
+
|
|
303
|
+
/* THEME */
|
|
304
|
+
--theme-background-primary: #ffffff;
|
|
305
|
+
--theme-background-secondary: #f6f6f6;
|
|
306
|
+
--theme-background-tertiary: #e7e7e7;
|
|
307
|
+
--theme-text-primary: #3d3d3d;
|
|
308
|
+
--theme-text-secondary: #4f4f4f;
|
|
309
|
+
--theme-text-tertiary: #6d6d6d;
|
|
310
|
+
--theme-text-inverse: #ffffff;
|
|
311
|
+
--theme-border-default: #d1d1d1;
|
|
312
|
+
--theme-border-strong: #888888;
|
|
313
|
+
--theme-border-subtle: #e7e7e7;
|
|
314
|
+
--theme-status-success: #909236;
|
|
315
|
+
--theme-status-warning: #e28e00;
|
|
316
|
+
--theme-status-error: #c04242;
|
|
317
|
+
--theme-status-info: #0482c5;
|
|
318
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './Accordion.css';
|
|
3
|
+
export interface AccordionItem {
|
|
4
|
+
id: string;
|
|
5
|
+
title: string;
|
|
6
|
+
content: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export interface AccordionProps {
|
|
9
|
+
/**
|
|
10
|
+
* Array of accordion items
|
|
11
|
+
*/
|
|
12
|
+
items: AccordionItem[];
|
|
13
|
+
/**
|
|
14
|
+
* Allow multiple items to be open at once
|
|
15
|
+
*/
|
|
16
|
+
allowMultiple?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Default open item IDs
|
|
19
|
+
*/
|
|
20
|
+
defaultOpenIds?: string[];
|
|
21
|
+
/**
|
|
22
|
+
* Small variant (smaller text)
|
|
23
|
+
*/
|
|
24
|
+
small?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Additional CSS class
|
|
27
|
+
*/
|
|
28
|
+
className?: string;
|
|
29
|
+
}
|
|
30
|
+
export declare const Accordion: React.FC<AccordionProps>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: import("react").FC<import("./Accordion").AccordionProps>;
|
|
5
|
+
parameters: {
|
|
6
|
+
layout: string;
|
|
7
|
+
};
|
|
8
|
+
tags: string[];
|
|
9
|
+
};
|
|
10
|
+
export default meta;
|
|
11
|
+
type Story = StoryObj<typeof meta>;
|
|
12
|
+
export declare const Default: Story;
|
|
13
|
+
export declare const AllowMultiple: Story;
|
|
14
|
+
export declare const DefaultOpen: Story;
|
|
15
|
+
export declare const Small: Story;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './Article.css';
|
|
3
|
+
export interface ArticleProps {
|
|
4
|
+
/**
|
|
5
|
+
* Main content (title, meta, description)
|
|
6
|
+
*/
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* Optional thumbnail image/icon shown alongside the content
|
|
10
|
+
*/
|
|
11
|
+
thumbnail?: React.ReactNode;
|
|
12
|
+
/**
|
|
13
|
+
* Additional CSS class
|
|
14
|
+
*/
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Article renders a horizontal row for an article list entry:
|
|
19
|
+
* optional thumbnail plus content, with a hover tint
|
|
20
|
+
*/
|
|
21
|
+
export declare const Article: React.FC<ArticleProps>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: import("react").FC<import("./Article").ArticleProps>;
|
|
5
|
+
parameters: {
|
|
6
|
+
layout: string;
|
|
7
|
+
};
|
|
8
|
+
tags: string[];
|
|
9
|
+
};
|
|
10
|
+
export default meta;
|
|
11
|
+
type Story = StoryObj<typeof meta>;
|
|
12
|
+
export declare const Default: Story;
|
|
13
|
+
export declare const WithThumbnail: Story;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './Badge.css';
|
|
3
|
+
export interface BadgeProps {
|
|
4
|
+
/**
|
|
5
|
+
* Badge content
|
|
6
|
+
*/
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* Badge variant
|
|
10
|
+
*/
|
|
11
|
+
variant?: 'default' | 'critical';
|
|
12
|
+
/**
|
|
13
|
+
* Additional CSS class
|
|
14
|
+
*/
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Badge component for labels, status indicators, and counts
|
|
19
|
+
*/
|
|
20
|
+
export declare const Badge: React.FC<BadgeProps>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: import("react").FC<import("./Badge").BadgeProps>;
|
|
5
|
+
parameters: {
|
|
6
|
+
layout: string;
|
|
7
|
+
};
|
|
8
|
+
tags: string[];
|
|
9
|
+
argTypes: {
|
|
10
|
+
variant: {
|
|
11
|
+
control: string;
|
|
12
|
+
options: string[];
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export default meta;
|
|
17
|
+
type Story = StoryObj<typeof meta>;
|
|
18
|
+
export declare const Default: Story;
|
|
19
|
+
export declare const Critical: Story;
|
|
20
|
+
export declare const AllVariants: Story;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './Button.css';
|
|
3
|
+
export interface ButtonProps {
|
|
4
|
+
/**
|
|
5
|
+
* Button variant
|
|
6
|
+
*/
|
|
7
|
+
variant?: 'primary' | 'secondary' | 'tertiary' | 'minimal';
|
|
8
|
+
/**
|
|
9
|
+
* Button is filled (modifier)
|
|
10
|
+
*/
|
|
11
|
+
filled?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Icon-only button (no text)
|
|
14
|
+
*/
|
|
15
|
+
iconOnly?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Is the button disabled?
|
|
18
|
+
*/
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Is the button in loading state?
|
|
22
|
+
*/
|
|
23
|
+
loading?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Button contents
|
|
26
|
+
*/
|
|
27
|
+
children?: React.ReactNode;
|
|
28
|
+
/**
|
|
29
|
+
* Optional click handler
|
|
30
|
+
*/
|
|
31
|
+
onClick?: () => void;
|
|
32
|
+
/**
|
|
33
|
+
* Full width button
|
|
34
|
+
*/
|
|
35
|
+
fullWidth?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Icon to display before text
|
|
38
|
+
*/
|
|
39
|
+
iconBefore?: React.ReactNode;
|
|
40
|
+
/**
|
|
41
|
+
* Icon to display after text
|
|
42
|
+
*/
|
|
43
|
+
iconAfter?: React.ReactNode;
|
|
44
|
+
/**
|
|
45
|
+
* Additional CSS class
|
|
46
|
+
*/
|
|
47
|
+
className?: string;
|
|
48
|
+
}
|
|
49
|
+
export declare const Button: React.FC<ButtonProps>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: import("react").FC<import("./Button").ButtonProps>;
|
|
5
|
+
parameters: {
|
|
6
|
+
layout: string;
|
|
7
|
+
docs: {
|
|
8
|
+
description: {
|
|
9
|
+
component: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
tags: string[];
|
|
14
|
+
argTypes: {
|
|
15
|
+
variant: {
|
|
16
|
+
control: string;
|
|
17
|
+
options: string[];
|
|
18
|
+
description: string;
|
|
19
|
+
};
|
|
20
|
+
disabled: {
|
|
21
|
+
control: string;
|
|
22
|
+
description: string;
|
|
23
|
+
};
|
|
24
|
+
loading: {
|
|
25
|
+
control: string;
|
|
26
|
+
description: string;
|
|
27
|
+
};
|
|
28
|
+
fullWidth: {
|
|
29
|
+
control: string;
|
|
30
|
+
description: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export default meta;
|
|
35
|
+
type Story = StoryObj<typeof meta>;
|
|
36
|
+
export declare const Primary: Story;
|
|
37
|
+
export declare const Secondary: Story;
|
|
38
|
+
export declare const Tertiary: Story;
|
|
39
|
+
export declare const Filled: Story;
|
|
40
|
+
export declare const IconOnly: Story;
|
|
41
|
+
export declare const Disabled: Story;
|
|
42
|
+
export declare const Loading: Story;
|
|
43
|
+
export declare const FullWidth: Story;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './Card.css';
|
|
3
|
+
export interface CardProps {
|
|
4
|
+
/**
|
|
5
|
+
* Card variant
|
|
6
|
+
*/
|
|
7
|
+
variant?: 'elevated' | 'outlined' | 'filled';
|
|
8
|
+
/**
|
|
9
|
+
* Card padding size
|
|
10
|
+
*/
|
|
11
|
+
padding?: 'none' | 'sm' | 'md' | 'lg';
|
|
12
|
+
/**
|
|
13
|
+
* Card children
|
|
14
|
+
*/
|
|
15
|
+
children: React.ReactNode;
|
|
16
|
+
/**
|
|
17
|
+
* Optional click handler - makes card interactive
|
|
18
|
+
*/
|
|
19
|
+
onClick?: () => void;
|
|
20
|
+
/**
|
|
21
|
+
* Card className for additional styling
|
|
22
|
+
*/
|
|
23
|
+
className?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Card component for containing content
|
|
27
|
+
*/
|
|
28
|
+
export declare const Card: React.FC<CardProps>;
|
|
29
|
+
export interface CardHeaderProps {
|
|
30
|
+
children: React.ReactNode;
|
|
31
|
+
className?: string;
|
|
32
|
+
}
|
|
33
|
+
export declare const CardHeader: React.FC<CardHeaderProps>;
|
|
34
|
+
export interface CardBodyProps {
|
|
35
|
+
children: React.ReactNode;
|
|
36
|
+
className?: string;
|
|
37
|
+
}
|
|
38
|
+
export declare const CardBody: React.FC<CardBodyProps>;
|
|
39
|
+
export interface CardFooterProps {
|
|
40
|
+
children: React.ReactNode;
|
|
41
|
+
className?: string;
|
|
42
|
+
}
|
|
43
|
+
export declare const CardFooter: React.FC<CardFooterProps>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: import("react").FC<import("./Card").CardProps>;
|
|
5
|
+
parameters: {
|
|
6
|
+
layout: string;
|
|
7
|
+
docs: {
|
|
8
|
+
description: {
|
|
9
|
+
component: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
tags: string[];
|
|
14
|
+
argTypes: {
|
|
15
|
+
variant: {
|
|
16
|
+
control: string;
|
|
17
|
+
options: string[];
|
|
18
|
+
};
|
|
19
|
+
padding: {
|
|
20
|
+
control: string;
|
|
21
|
+
options: string[];
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export default meta;
|
|
26
|
+
type Story = StoryObj<typeof meta>;
|
|
27
|
+
export declare const Elevated: Story;
|
|
28
|
+
export declare const Outlined: Story;
|
|
29
|
+
export declare const Filled: Story;
|
|
30
|
+
export declare const Interactive: Story;
|
|
31
|
+
export declare const NoPadding: Story;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './Carousel.css';
|
|
3
|
+
export interface CarouselProps {
|
|
4
|
+
/**
|
|
5
|
+
* CarouselSlide elements
|
|
6
|
+
*/
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* Additional CSS class
|
|
10
|
+
*/
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface CarouselSlideProps {
|
|
14
|
+
/**
|
|
15
|
+
* Slide content
|
|
16
|
+
*/
|
|
17
|
+
children: React.ReactNode;
|
|
18
|
+
/**
|
|
19
|
+
* Additional CSS class
|
|
20
|
+
*/
|
|
21
|
+
className?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Carousel renders a horizontally scrollable, snap-aligned row of slides
|
|
25
|
+
*/
|
|
26
|
+
export declare const Carousel: React.FC<CarouselProps>;
|
|
27
|
+
export declare const CarouselSlide: React.FC<CarouselSlideProps>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: import("react").FC<import("./Carousel").CarouselProps>;
|
|
5
|
+
parameters: {
|
|
6
|
+
layout: string;
|
|
7
|
+
};
|
|
8
|
+
tags: string[];
|
|
9
|
+
};
|
|
10
|
+
export default meta;
|
|
11
|
+
type Story = StoryObj<typeof meta>;
|
|
12
|
+
export declare const Default: Story;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|