imbric-theme 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- package/.babelrc.json +3 -0
- package/.commitlintrc.json +3 -0
- package/.editorconfig +13 -0
- package/.eslintcache +1 -0
- package/.eslintrc.json +36 -0
- package/.huskyrc.json +6 -0
- package/.lintstagedrc.json +5 -0
- package/.nvmrc +1 -0
- package/.prettierrc.json +4 -0
- package/.releaserc.json +13 -0
- package/.storybook/main.js +9 -0
- package/.storybook/preview-head.html +2 -0
- package/.storybook/preview.js +32 -0
- package/.stylelintrc.json +14 -0
- package/.vscode/launch.json +15 -0
- package/CHANGELOG.md +0 -0
- package/README.md +69 -0
- package/atoms/Avatar/Avatar.js +36 -0
- package/atoms/Avatar/Avatar.module.css +3 -0
- package/atoms/Avatar/Avatar.stories.js +29 -0
- package/atoms/Avatar/__snapshots__/Avatar.stories.js.snap +105 -0
- package/atoms/Avatar/constants.js +3 -0
- package/atoms/Avatar/helpers.js +7 -0
- package/atoms/Avatar/index.js +3 -0
- package/atoms/Button/Button.js +68 -0
- package/atoms/Button/Button.module.css +63 -0
- package/atoms/Button/Button.stories.js +47 -0
- package/atoms/Button/Button.test.js +60 -0
- package/atoms/Button/__snapshots__/Button.stories.js.snap +191 -0
- package/atoms/Button/constants.js +3 -0
- package/atoms/Button/index.js +3 -0
- package/atoms/Card/Card.js +48 -0
- package/atoms/Card/Card.module.css +52 -0
- package/atoms/Card/Card.stories.js +41 -0
- package/atoms/Card/__snapshots__/Card.stories.js.snap +136 -0
- package/atoms/Card/constants.js +4 -0
- package/atoms/Card/index.js +3 -0
- package/atoms/Check/Check.js +26 -0
- package/atoms/Check/Check.module.css +11 -0
- package/atoms/Check/Check.stories.js +15 -0
- package/atoms/Check/__snapshots__/Check.stories.js.snap +67 -0
- package/atoms/Check/index.js +2 -0
- package/atoms/Divider/Divider.js +19 -0
- package/atoms/Divider/Divider.module.css +5 -0
- package/atoms/Divider/Divider.stories.js +12 -0
- package/atoms/Divider/__snapshots__/Divider.stories.js.snap +22 -0
- package/atoms/Divider/index.js +2 -0
- package/atoms/Heading/Heading.js +37 -0
- package/atoms/Heading/Heading.module.css +66 -0
- package/atoms/Heading/Heading.stories.js +46 -0
- package/atoms/Heading/__snapshots__/Heading.stories.js.snap +189 -0
- package/atoms/Heading/constants.js +5 -0
- package/atoms/Heading/index.js +3 -0
- package/atoms/Icon/Icon.js +66 -0
- package/atoms/Icon/Icon.module.css +112 -0
- package/atoms/Icon/Icon.stories.js +48 -0
- package/atoms/Icon/__snapshots__/Icon.stories.js.snap +1311 -0
- package/atoms/Icon/constants.js +486 -0
- package/atoms/Icon/helpers.js +9 -0
- package/atoms/Icon/index.js +3 -0
- package/atoms/Input/Input.js +49 -0
- package/atoms/Input/Input.module.css +27 -0
- package/atoms/Input/Input.stories.js +32 -0
- package/atoms/Input/__snapshots__/Input.stories.js.snap +101 -0
- package/atoms/Input/constants.js +3 -0
- package/atoms/Input/index.js +3 -0
- package/atoms/Link/Link.js +33 -0
- package/atoms/Link/Link.module.css +14 -0
- package/atoms/Link/Link.stories.js +30 -0
- package/atoms/Link/__snapshots__/Link.stories.js.snap +118 -0
- package/atoms/Link/constants.js +5 -0
- package/atoms/Link/index.js +3 -0
- package/atoms/Loading/Loading.js +30 -0
- package/atoms/Loading/Loading.module.css +51 -0
- package/atoms/Loading/Loading.stories.js +17 -0
- package/atoms/Loading/__snapshots__/Loading.stories.js.snap +26 -0
- package/atoms/Loading/index.js +2 -0
- package/atoms/Modal/Modal.js +98 -0
- package/atoms/Modal/Modal.module.css +85 -0
- package/atoms/Modal/Modal.stories.js +43 -0
- package/atoms/Modal/__snapshots__/Modal.stories.js.snap +239 -0
- package/atoms/Modal/constants.js +1 -0
- package/atoms/Modal/index.js +3 -0
- package/atoms/Paragraph/Paragraph.js +56 -0
- package/atoms/Paragraph/Paragraph.module.css +68 -0
- package/atoms/Paragraph/Paragraph.stories.js +52 -0
- package/atoms/Paragraph/__snapshots__/Paragraph.stories.js.snap +230 -0
- package/atoms/Paragraph/constants.js +5 -0
- package/atoms/Paragraph/index.js +3 -0
- package/atoms/Picture/Picture.js +40 -0
- package/atoms/Picture/Picture.module.css +16 -0
- package/atoms/Picture/Picture.stories.js +32 -0
- package/atoms/Picture/__snapshots__/Picture.stories.js.snap +156 -0
- package/atoms/Picture/index.js +2 -0
- package/atoms/Textarea/Textarea.js +46 -0
- package/atoms/Textarea/Textarea.module.css +25 -0
- package/atoms/Textarea/Textarea.stories.js +16 -0
- package/atoms/Textarea/__snapshots__/Textarea.stories.js.snap +25 -0
- package/atoms/Textarea/index.js +2 -0
- package/codecov.yml +2 -0
- package/helpers/storybook.js +29 -0
- package/helpers/storybook.test.js +40 -0
- package/helpers/styles.js +37 -0
- package/helpers/styles.test.js +222 -0
- package/hocs/withStyles.js +17 -0
- package/hook/useMedia.js +22 -0
- package/index.js +31 -0
- package/jest.config.js +23 -0
- package/jest.setup.js +13 -0
- package/layout/CenteredContent/CenteredContent.js +30 -0
- package/layout/CenteredContent/CenteredContent.module.css +12 -0
- package/layout/CenteredContent/CenteredContent.stories.js +22 -0
- package/layout/CenteredContent/__snapshots__/CenteredContent.stories.js.snap +27 -0
- package/layout/CenteredContent/index.js +2 -0
- package/layout/Container/Container.js +29 -0
- package/layout/Container/Container.module.css +14 -0
- package/layout/Container/Container.stories.js +22 -0
- package/layout/Container/__snapshots__/Container.stories.js.snap +27 -0
- package/layout/Container/index.js +2 -0
- package/layout/FullHeightContent/FullHeightContent.js +40 -0
- package/layout/FullHeightContent/FullHeightContent.module.css +21 -0
- package/layout/FullHeightContent/FullHeightContent.stories.js +22 -0
- package/layout/FullHeightContent/__snapshots__/FullHeightContent.stories.js.snap +41 -0
- package/layout/FullHeightContent/index.js +2 -0
- package/layout/Spacer/Spacer.js +40 -0
- package/layout/Spacer/Spacer.module.css +12 -0
- package/layout/Spacer/Spacer.stories.js +25 -0
- package/layout/Spacer/__snapshots__/Spacer.stories.js.snap +97 -0
- package/layout/Spacer/components/Horizontal/Horizontal.js +43 -0
- package/layout/Spacer/components/Horizontal/Horizontal.stories.js +32 -0
- package/layout/Spacer/components/Horizontal/__snapshots__/Horizontal.stories.js.snap +97 -0
- package/layout/Spacer/components/Horizontal/index.js +1 -0
- package/layout/Spacer/components/Vertical/Vertical.js +31 -0
- package/layout/Spacer/components/Vertical/Vertical.stories.js +25 -0
- package/layout/Spacer/components/Vertical/__snapshots__/Vertical.stories.js.snap +85 -0
- package/layout/Spacer/components/Vertical/index.js +1 -0
- package/layout/Spacer/components/index.js +2 -0
- package/layout/Spacer/constants.js +5 -0
- package/layout/Spacer/helpers.js +3 -0
- package/layout/Spacer/index.js +3 -0
- package/molecules/Accordion/Accordion.js +70 -0
- package/molecules/Accordion/Accordion.module.css +12 -0
- package/molecules/Accordion/Accordion.stories.js +31 -0
- package/molecules/Accordion/__snapshots__/Accordion.stories.js.snap +228 -0
- package/molecules/Accordion/index.js +2 -0
- package/molecules/AddButton/AddButton.js +137 -0
- package/molecules/AddButton/AddButton.module.css +128 -0
- package/molecules/AddButton/AddButton.stories.js +47 -0
- package/molecules/AddButton/__snapshots__/AddButton.stories.js.snap +326 -0
- package/molecules/AddButton/constants.js +6 -0
- package/molecules/AddButton/handlers.js +58 -0
- package/molecules/AddButton/handlers.test.js +19 -0
- package/molecules/AddButton/helpers.js +6 -0
- package/molecules/AddButton/helpers.test.js +41 -0
- package/molecules/AddButton/hooks.js +14 -0
- package/molecules/AddButton/index.js +3 -0
- package/molecules/ButtonIcon/ButtonIcon.js +41 -0
- package/molecules/ButtonIcon/ButtonIcon.stories.js +27 -0
- package/molecules/ButtonIcon/__snapshots__/ButtonIcon.stories.js.snap +178 -0
- package/molecules/ButtonIcon/constants.js +6 -0
- package/molecules/ButtonIcon/index.js +2 -0
- package/molecules/Dropdown/Dropdown.js +59 -0
- package/molecules/Dropdown/Dropdown.module.css +34 -0
- package/molecules/Dropdown/Dropdown.stories.js +41 -0
- package/molecules/Dropdown/__snapshots__/Dropdown.stories.js.snap +181 -0
- package/molecules/Dropdown/index.js +2 -0
- package/molecules/Error/Error.js +35 -0
- package/molecules/Error/Error.module.css +11 -0
- package/molecules/Error/Error.stories.js +18 -0
- package/molecules/Error/__snapshots__/Error.stories.js.snap +134 -0
- package/molecules/Error/index.js +2 -0
- package/molecules/IconLabel/IconLabel.js +83 -0
- package/molecules/IconLabel/IconLabel.module.css +16 -0
- package/molecules/IconLabel/IconLabel.stories.js +25 -0
- package/molecules/IconLabel/__snapshots__/IconLabel.stories.js.snap +211 -0
- package/molecules/IconLabel/constants.js +6 -0
- package/molecules/IconLabel/index.js +3 -0
- package/molecules/LoadingError/LoadingError.js +31 -0
- package/molecules/LoadingError/LoadingError.stories.js +24 -0
- package/molecules/LoadingError/__snapshots__/LoadingError.stories.js.snap +109 -0
- package/molecules/LoadingError/index.js +1 -0
- package/molecules/Score/Score.js +61 -0
- package/molecules/Score/Score.module.css +11 -0
- package/molecules/Score/Score.stories.js +13 -0
- package/molecules/Score/__snapshots__/Score.stories.js.snap +100 -0
- package/molecules/Score/faces/happy.svg +7 -0
- package/molecules/Score/faces/normal.svg +6 -0
- package/molecules/Score/faces/sad.svg +6 -0
- package/molecules/Score/index.js +2 -0
- package/molecules/Task/Task.js +114 -0
- package/molecules/Task/Task.module.css +47 -0
- package/molecules/Task/Task.stories.js +47 -0
- package/molecules/Task/__snapshots__/Task.stories.js.snap +953 -0
- package/molecules/Task/constants.js +1 -0
- package/molecules/Task/index.js +3 -0
- package/molecules/TaskCounter/TaskCounter.js +74 -0
- package/molecules/TaskCounter/TaskCounter.module.css +11 -0
- package/molecules/TaskCounter/TaskCounter.stories.js +26 -0
- package/molecules/TaskCounter/__snapshots__/TaskCounter.stories.js.snap +177 -0
- package/molecules/TaskCounter/index.js +2 -0
- package/package.json +102 -0
- package/scripts/build-tokens.js +40 -0
- package/scripts/create-component.js +127 -0
- package/storybook.test.js +13 -0
- package/styles/globals.css +10 -0
- package/styles/tokens.css +390 -0
- package/templates/component/Component.js +22 -0
- package/templates/component/Component.module.css +3 -0
- package/templates/component/Component.stories.js +23 -0
- package/templates/component/constants.js +1 -0
- package/templates/component/index.js +3 -0
- package/tokens/Token/Helper.js +30 -0
- package/tokens/Token/Token.js +13 -0
- package/tokens/Token/Token.module.css +64 -0
- package/tokens/Token/components/Color.js +21 -0
- package/tokens/Token/components/Color.stories.js +126 -0
- package/tokens/Token/components/FontFamily.js +24 -0
- package/tokens/Token/components/FontFamily.stories.js +32 -0
- package/tokens/Token/components/FontSize.js +24 -0
- package/tokens/Token/components/FontSize.stories.js +31 -0
- package/tokens/Token/components/FontWeight.js +24 -0
- package/tokens/Token/components/FontWeight.stories.js +31 -0
- package/tokens/Token/components/Spacing.js +24 -0
- package/tokens/Token/components/Spacing.stories.js +29 -0
- package/tokens/Token/components/__snapshots__/Color.stories.js.snap +7169 -0
- package/tokens/Token/components/__snapshots__/FontFamily.stories.js.snap +133 -0
- package/tokens/Token/components/__snapshots__/FontSize.stories.js.snap +261 -0
- package/tokens/Token/components/__snapshots__/FontWeight.stories.js.snap +317 -0
- package/tokens/Token/components/__snapshots__/Spacing.stories.js.snap +229 -0
- package/tokens/Token/components/index.js +5 -0
- package/tokens/Token/helpers.js +17 -0
- package/tokens/Token/index.js +1 -0
- package/tokens/index.js +471 -0
- package/utils/isEmpty.js +28 -0
- package/utils/isEmpty.test.js +125 -0
- package/utils/isObject.js +4 -0
- package/utils/keyboardCodes.js +6 -0
- package/utils/testUtils/matchMediaMock.js +14 -0
- package/utils/testUtils/svgrMock.js +2 -0
- package/utils/toCapitalize.js +4 -0
- package/utils/toKebabCase.js +8 -0
- package/utils/toPascalCase.js +20 -0
- package/webpack/cssModules.js +30 -0
- package/webpack/loadConfigs.js +6 -0
- package/webpack/reactInlineSvg.js +22 -0
@@ -0,0 +1,390 @@
|
|
1
|
+
:root {
|
2
|
+
--color-brand-smalt: #02338D;
|
3
|
+
--color-brand-prussian-blue: #00205b;
|
4
|
+
--color-brand-blue-moon: #eff1fd;
|
5
|
+
--color-brand-burnt-sienna: #eb2d52;
|
6
|
+
--color-brand-mandy: #ed495e;
|
7
|
+
--color-brand-east-bay: #455970;
|
8
|
+
--color-brand-regent-gray: #7e858c;
|
9
|
+
--color-brand-loblolly: #b7b7b7;
|
10
|
+
--color-brand-white-lilac: #e8e8e8;
|
11
|
+
--color-brand-hint-of-red: #f9f9f9;
|
12
|
+
--color-brand-romance: #fcfdfd;
|
13
|
+
--color-brand-chateau-green: #39b54a;
|
14
|
+
--color-brand-shadow: #908154;
|
15
|
+
--color-brand-eastern-blue: #1daca3;
|
16
|
+
--color-brand-azure-radiance: #00a3ff;
|
17
|
+
|
18
|
+
--color-base-black: #000;
|
19
|
+
--color-base-white: #fff;
|
20
|
+
--color-base-transparent: transparent;
|
21
|
+
|
22
|
+
--color-rose-50: #fff1f2;
|
23
|
+
--color-rose-100: #ffe4e6;
|
24
|
+
--color-rose-200: #fecdd3;
|
25
|
+
--color-rose-300: #fda4af;
|
26
|
+
--color-rose-400: #fb7185;
|
27
|
+
--color-rose-500: #f43f5e;
|
28
|
+
--color-rose-600: #e11d48;
|
29
|
+
--color-rose-700: #be123c;
|
30
|
+
--color-rose-800: #9f1239;
|
31
|
+
--color-rose-900: #881337;
|
32
|
+
|
33
|
+
--color-pink-50: #fdf2f8;
|
34
|
+
--color-pink-100: #fce7f3;
|
35
|
+
--color-pink-200: #fbcfe8;
|
36
|
+
--color-pink-300: #f9a8d4;
|
37
|
+
--color-pink-400: #f472b6;
|
38
|
+
--color-pink-500: #ec4899;
|
39
|
+
--color-pink-600: #db2777;
|
40
|
+
--color-pink-700: #be185d;
|
41
|
+
--color-pink-800: #9d174d;
|
42
|
+
--color-pink-900: #831843;
|
43
|
+
|
44
|
+
--color-fuchsia-50: #fdf4ff;
|
45
|
+
--color-fuchsia-100: #fae8ff;
|
46
|
+
--color-fuchsia-200: #f5d0fe;
|
47
|
+
--color-fuchsia-300: #f0abfc;
|
48
|
+
--color-fuchsia-400: #e879f9;
|
49
|
+
--color-fuchsia-500: #d946ef;
|
50
|
+
--color-fuchsia-600: #c026d3;
|
51
|
+
--color-fuchsia-700: #a21caf;
|
52
|
+
--color-fuchsia-800: #86198f;
|
53
|
+
--color-fuchsia-900: #701a75;
|
54
|
+
|
55
|
+
--color-purple-50: #faf5ff;
|
56
|
+
--color-purple-100: #f3e8ff;
|
57
|
+
--color-purple-200: #e9d5ff;
|
58
|
+
--color-purple-300: #d8b4fe;
|
59
|
+
--color-purple-400: #c084fc;
|
60
|
+
--color-purple-500: #a855f7;
|
61
|
+
--color-purple-600: #9333ea;
|
62
|
+
--color-purple-700: #7e22ce;
|
63
|
+
--color-purple-800: #6b21a8;
|
64
|
+
--color-purple-900: #581c87;
|
65
|
+
|
66
|
+
--color-violet-50: #f5f3ff;
|
67
|
+
--color-violet-100: #ede9fe;
|
68
|
+
--color-violet-200: #ddd6fe;
|
69
|
+
--color-violet-300: #c4b5fd;
|
70
|
+
--color-violet-400: #a78bfa;
|
71
|
+
--color-violet-500: #8b5cf6;
|
72
|
+
--color-violet-600: #7c3aed;
|
73
|
+
--color-violet-700: #6d28d9;
|
74
|
+
--color-violet-800: #5b21b6;
|
75
|
+
--color-violet-900: #4c1d95;
|
76
|
+
|
77
|
+
--color-indigo-50: #eef2ff;
|
78
|
+
--color-indigo-100: #e0e7ff;
|
79
|
+
--color-indigo-200: #c7d2fe;
|
80
|
+
--color-indigo-300: #a5b4fc;
|
81
|
+
--color-indigo-400: #818cf8;
|
82
|
+
--color-indigo-500: #6366f1;
|
83
|
+
--color-indigo-600: #4f46e5;
|
84
|
+
--color-indigo-700: #4338ca;
|
85
|
+
--color-indigo-800: #3730a3;
|
86
|
+
--color-indigo-900: #312e81;
|
87
|
+
|
88
|
+
--color-blue-50: #eff6ff;
|
89
|
+
--color-blue-100: #dbeafe;
|
90
|
+
--color-blue-200: #bfdbfe;
|
91
|
+
--color-blue-300: #93c5fd;
|
92
|
+
--color-blue-400: #60a5fa;
|
93
|
+
--color-blue-500: #3b82f6;
|
94
|
+
--color-blue-600: #2563eb;
|
95
|
+
--color-blue-700: #1d4ed8;
|
96
|
+
--color-blue-800: #1e40af;
|
97
|
+
--color-blue-900: #1e3a8a;
|
98
|
+
|
99
|
+
--color-sky-50: #f0f9ff;
|
100
|
+
--color-sky-100: #e0f2fe;
|
101
|
+
--color-sky-200: #bae6fd;
|
102
|
+
--color-sky-300: #7dd3fc;
|
103
|
+
--color-sky-400: #38bdf8;
|
104
|
+
--color-sky-500: #0ea5e9;
|
105
|
+
--color-sky-600: #0284c7;
|
106
|
+
--color-sky-700: #0369a1;
|
107
|
+
--color-sky-800: #075985;
|
108
|
+
--color-sky-900: #0c4a6e;
|
109
|
+
|
110
|
+
--color-cyan-50: #ecfeff;
|
111
|
+
--color-cyan-100: #cffafe;
|
112
|
+
--color-cyan-200: #a5f3fc;
|
113
|
+
--color-cyan-300: #67e8f9;
|
114
|
+
--color-cyan-400: #22d3ee;
|
115
|
+
--color-cyan-500: #06b6d4;
|
116
|
+
--color-cyan-600: #0891b2;
|
117
|
+
--color-cyan-700: #0e7490;
|
118
|
+
--color-cyan-800: #155e75;
|
119
|
+
--color-cyan-900: #164e63;
|
120
|
+
|
121
|
+
--color-teal-50: #f0fdfa;
|
122
|
+
--color-teal-100: #ccfbf1;
|
123
|
+
--color-teal-200: #99f6e4;
|
124
|
+
--color-teal-300: #5eead4;
|
125
|
+
--color-teal-400: #2dd4bf;
|
126
|
+
--color-teal-500: #14b8a6;
|
127
|
+
--color-teal-600: #0d9488;
|
128
|
+
--color-teal-700: #0f766e;
|
129
|
+
--color-teal-800: #115e59;
|
130
|
+
--color-teal-900: #134e4a;
|
131
|
+
|
132
|
+
--color-emerald-50: #ecfdf5;
|
133
|
+
--color-emerald-100: #d1fae5;
|
134
|
+
--color-emerald-200: #a7f3d0;
|
135
|
+
--color-emerald-300: #6ee7b7;
|
136
|
+
--color-emerald-400: #34d399;
|
137
|
+
--color-emerald-500: #10b981;
|
138
|
+
--color-emerald-600: #059669;
|
139
|
+
--color-emerald-700: #047857;
|
140
|
+
--color-emerald-800: #065f46;
|
141
|
+
--color-emerald-900: #064e3b;
|
142
|
+
|
143
|
+
--color-green-50: #f0fdf4;
|
144
|
+
--color-green-100: #dcfce7;
|
145
|
+
--color-green-200: #bbf7d0;
|
146
|
+
--color-green-300: #86efac;
|
147
|
+
--color-green-400: #4ade80;
|
148
|
+
--color-green-500: #22c55e;
|
149
|
+
--color-green-600: #16a34a;
|
150
|
+
--color-green-700: #15803d;
|
151
|
+
--color-green-800: #166534;
|
152
|
+
--color-green-900: #14532d;
|
153
|
+
|
154
|
+
--color-lime-50: #f7fee7;
|
155
|
+
--color-lime-100: #ecfccb;
|
156
|
+
--color-lime-200: #d9f99d;
|
157
|
+
--color-lime-300: #bef264;
|
158
|
+
--color-lime-400: #a3e635;
|
159
|
+
--color-lime-500: #84cc16;
|
160
|
+
--color-lime-600: #65a30d;
|
161
|
+
--color-lime-700: #4d7c0f;
|
162
|
+
--color-lime-800: #3f6212;
|
163
|
+
--color-lime-900: #365314;
|
164
|
+
|
165
|
+
--color-yellow-50: #fefce8;
|
166
|
+
--color-yellow-100: #fef9c3;
|
167
|
+
--color-yellow-200: #fef08a;
|
168
|
+
--color-yellow-300: #fde047;
|
169
|
+
--color-yellow-400: #facc15;
|
170
|
+
--color-yellow-500: #eab308;
|
171
|
+
--color-yellow-600: #ca8a04;
|
172
|
+
--color-yellow-700: #a16207;
|
173
|
+
--color-yellow-800: #854d0e;
|
174
|
+
--color-yellow-900: #713f12;
|
175
|
+
|
176
|
+
--color-amber-50: #fffbeb;
|
177
|
+
--color-amber-100: #fef3c7;
|
178
|
+
--color-amber-200: #fde68a;
|
179
|
+
--color-amber-300: #fcd34d;
|
180
|
+
--color-amber-400: #fbbf24;
|
181
|
+
--color-amber-500: #f59e0b;
|
182
|
+
--color-amber-600: #d97706;
|
183
|
+
--color-amber-700: #b45309;
|
184
|
+
--color-amber-800: #92400e;
|
185
|
+
--color-amber-900: #78350f;
|
186
|
+
|
187
|
+
--color-orange-50: #fff7ed;
|
188
|
+
--color-orange-100: #ffedd5;
|
189
|
+
--color-orange-200: #fed7aa;
|
190
|
+
--color-orange-300: #fdba74;
|
191
|
+
--color-orange-400: #fb923c;
|
192
|
+
--color-orange-500: #f97316;
|
193
|
+
--color-orange-600: #ea580c;
|
194
|
+
--color-orange-700: #c2410c;
|
195
|
+
--color-orange-800: #9a3412;
|
196
|
+
--color-orange-900: #7c2d12;
|
197
|
+
|
198
|
+
--color-red-50: #fef2f2;
|
199
|
+
--color-red-100: #fee2e2;
|
200
|
+
--color-red-200: #fecaca;
|
201
|
+
--color-red-300: #fca5a5;
|
202
|
+
--color-red-400: #f87171;
|
203
|
+
--color-red-500: #ef4444;
|
204
|
+
--color-red-600: #dc2626;
|
205
|
+
--color-red-700: #b91c1c;
|
206
|
+
--color-red-800: #991b1b;
|
207
|
+
--color-red-900: #7f1d1d;
|
208
|
+
|
209
|
+
--color-warm-gray-50: #fafaf9;
|
210
|
+
--color-warm-gray-100: #f5f5f4;
|
211
|
+
--color-warm-gray-200: #e7e5e4;
|
212
|
+
--color-warm-gray-300: #d6d3d1;
|
213
|
+
--color-warm-gray-400: #a8a29e;
|
214
|
+
--color-warm-gray-500: #78716c;
|
215
|
+
--color-warm-gray-600: #57534e;
|
216
|
+
--color-warm-gray-700: #44403c;
|
217
|
+
--color-warm-gray-800: #292524;
|
218
|
+
--color-warm-gray-900: #1c1917;
|
219
|
+
|
220
|
+
--color-true-gray-50: #fafafa;
|
221
|
+
--color-true-gray-100: #f5f5f5;
|
222
|
+
--color-true-gray-200: #e5e5e5;
|
223
|
+
--color-true-gray-300: #d4d4d4;
|
224
|
+
--color-true-gray-400: #a3a3a3;
|
225
|
+
--color-true-gray-500: #737373;
|
226
|
+
--color-true-gray-600: #525252;
|
227
|
+
--color-true-gray-700: #404040;
|
228
|
+
--color-true-gray-800: #262626;
|
229
|
+
--color-true-gray-900: #171717;
|
230
|
+
|
231
|
+
--color-gray-50: #fafafa;
|
232
|
+
--color-gray-100: #f4f4f5;
|
233
|
+
--color-gray-200: #e4e4e7;
|
234
|
+
--color-gray-300: #d4d4d8;
|
235
|
+
--color-gray-400: #a1a1aa;
|
236
|
+
--color-gray-500: #71717a;
|
237
|
+
--color-gray-600: #52525b;
|
238
|
+
--color-gray-700: #3f3f46;
|
239
|
+
--color-gray-800: #27272a;
|
240
|
+
--color-gray-900: #18181b;
|
241
|
+
|
242
|
+
--color-cool-gray-50: #f9fafb;
|
243
|
+
--color-cool-gray-100: #f3f4f6;
|
244
|
+
--color-cool-gray-200: #e5e7eb;
|
245
|
+
--color-cool-gray-300: #d1d5db;
|
246
|
+
--color-cool-gray-400: #9ca3af;
|
247
|
+
--color-cool-gray-500: #6b7280;
|
248
|
+
--color-cool-gray-600: #4b5563;
|
249
|
+
--color-cool-gray-700: #374151;
|
250
|
+
--color-cool-gray-800: #1f2937;
|
251
|
+
--color-cool-gray-900: #111827;
|
252
|
+
|
253
|
+
--color-blue-gray-50: #f8fafc;
|
254
|
+
--color-blue-gray-100: #f1f5f9;
|
255
|
+
--color-blue-gray-200: #e2e8f0;
|
256
|
+
--color-blue-gray-300: #cbd5e1;
|
257
|
+
--color-blue-gray-400: #94a3b8;
|
258
|
+
--color-blue-gray-500: #64748b;
|
259
|
+
--color-blue-gray-600: #475569;
|
260
|
+
--color-blue-gray-700: #334155;
|
261
|
+
--color-blue-gray-800: #1e293b;
|
262
|
+
--color-blue-gray-900: #0f172a;
|
263
|
+
|
264
|
+
--spacing-none: 0;
|
265
|
+
--spacing-xs: 5;
|
266
|
+
--spacing-sm: 15;
|
267
|
+
--spacing-md: 20;
|
268
|
+
--spacing-lg: 40;
|
269
|
+
|
270
|
+
--font-family-sans: Exo, Arial, sans-serif;
|
271
|
+
--font-family-mono: 'Roboto Mono', 'Courier New', monospace;
|
272
|
+
|
273
|
+
--font-size-base: 14px;
|
274
|
+
--font-size-xs: 1.2rem;
|
275
|
+
--font-size-sm: 1.4rem;
|
276
|
+
--font-size-md: 1.6rem;
|
277
|
+
--font-size-lg: 1.8rem;
|
278
|
+
--font-size-xl: 2.2rem;
|
279
|
+
--font-size-2xl: 6rem;
|
280
|
+
|
281
|
+
--font-weight-hairline: 100;
|
282
|
+
--font-weight-thin: 200;
|
283
|
+
--font-weight-light: 300;
|
284
|
+
--font-weight-normal: 400;
|
285
|
+
--font-weight-medium: 500;
|
286
|
+
--font-weight-semibold: 600;
|
287
|
+
--font-weight-bold: 700;
|
288
|
+
--font-weight-extrabold: 800;
|
289
|
+
--font-weight-black: 900;
|
290
|
+
|
291
|
+
--line-height-none: 1;
|
292
|
+
--line-height-tight: 1.25;
|
293
|
+
--line-height-snug: 1.375;
|
294
|
+
--line-height-normal: 1.5;
|
295
|
+
--line-height-relaxed: 1.625;
|
296
|
+
--line-height-loose: 2;
|
297
|
+
|
298
|
+
--letter-spacing-tighter: -0.05em;
|
299
|
+
--letter-spacing-tight: -0.025em;
|
300
|
+
--letter-spacing-normal: 0;
|
301
|
+
--letter-spacing-wide: 0.025em;
|
302
|
+
--letter-spacing-wider: 0.05em;
|
303
|
+
--letter-spacing-widest: 0.1em;
|
304
|
+
|
305
|
+
--box-shadow-none: none;
|
306
|
+
--box-shadow-xs: 0px 3px 6px rgba(0, 0, 0, 0.05);
|
307
|
+
--box-shadow-sm: 0px 4px 5px rgba(0, 0, 0, 0.07);
|
308
|
+
|
309
|
+
--border-radius-none: 0;
|
310
|
+
--border-radius-xs: 4px;
|
311
|
+
--border-radius-sm: 10px;
|
312
|
+
--border-radius-md: 20px;
|
313
|
+
--border-radius-lg: 30px;
|
314
|
+
--border-radius-full: 9999px;
|
315
|
+
|
316
|
+
--border-width-none: 0;
|
317
|
+
--border-width-thin: 1px;
|
318
|
+
--border-width-thick: 2px;
|
319
|
+
|
320
|
+
--opacity-0: 0;
|
321
|
+
--opacity-25: 0.25;
|
322
|
+
--opacity-50: 0.5;
|
323
|
+
--opacity-75: 0.75;
|
324
|
+
--opacity-100: 1;
|
325
|
+
|
326
|
+
--z-index-0: 0;
|
327
|
+
--z-index-10: 10;
|
328
|
+
--z-index-20: 20;
|
329
|
+
--z-index-30: 30;
|
330
|
+
--z-index-40: 40;
|
331
|
+
--z-index-50: 50;
|
332
|
+
--z-index-auto: auto;
|
333
|
+
|
334
|
+
--color-primary: #00205b;
|
335
|
+
--color-primary-muted: #02338D;
|
336
|
+
--color-primary-highlight: #eff1fd;
|
337
|
+
--color-primary-inverted: #fcfdfd;
|
338
|
+
--color-font-base: #455970;
|
339
|
+
--color-font-muted: #7e858c;
|
340
|
+
--color-font-highlight: #b7b7b7;
|
341
|
+
--color-font-inverted: #fff;
|
342
|
+
--color-secondary: #ed495e;
|
343
|
+
--color-secondary-muted: #eb2d52;
|
344
|
+
--color-secondary-highlight: #fecdd3;
|
345
|
+
--color-secondary-inverted: #fff;
|
346
|
+
--color-tertiary: #39b54a;
|
347
|
+
--color-tertiary-muted: #34d399;
|
348
|
+
--color-tertiary-highlight: #a7f3d0;
|
349
|
+
--color-tertiary-inverted: #fff;
|
350
|
+
|
351
|
+
--background-color-primary: #e8e8e8;
|
352
|
+
--background-color-primary-highlight: #fcfdfd;
|
353
|
+
|
354
|
+
--container-max-width: 800px;
|
355
|
+
|
356
|
+
--button-max-width: 300px;
|
357
|
+
|
358
|
+
--button-border-radius-sm: 10px;
|
359
|
+
--button-border-radius-md: 20px;
|
360
|
+
--button-border-radius-lg: 30px;
|
361
|
+
|
362
|
+
--input-height: 38px;
|
363
|
+
--input-max-width: 400px;
|
364
|
+
--input-background: #fff;
|
365
|
+
--input-border-radius: 30px;
|
366
|
+
--input-font-size: 1.4rem;
|
367
|
+
|
368
|
+
--paragraph-font-size-xs: 14px;
|
369
|
+
--paragraph-font-size-sm: 1.2rem;
|
370
|
+
--paragraph-font-size-md: 1.4rem;
|
371
|
+
--paragraph-font-size-lg: 1.6rem;
|
372
|
+
|
373
|
+
--textarea-border-radius: 10px;
|
374
|
+
|
375
|
+
--picture-border: 1px solid #7e858c;
|
376
|
+
|
377
|
+
--card-border-radius: 10px;
|
378
|
+
|
379
|
+
--task-border-radius: 10px;
|
380
|
+
|
381
|
+
--chronometer-background-color: #d4d4d8;
|
382
|
+
--chronometer-color: #eab308;
|
383
|
+
--chronometer-border-radius: 9999px;
|
384
|
+
--chronometer-height: 6px;
|
385
|
+
|
386
|
+
--modal-backdrop-color: rgba(255, 255, 255, 0.85);
|
387
|
+
|
388
|
+
--modal-desktop-height: 650px;
|
389
|
+
--modal-desktop-max-width: 750px;
|
390
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import PropTypes from 'prop-types'
|
3
|
+
|
4
|
+
import styles from './Component.module.css'
|
5
|
+
import { options } from './constants'
|
6
|
+
import withStyles from '../../hocs/withStyles'
|
7
|
+
|
8
|
+
export const Component = ({ children, getStyles }) => {
|
9
|
+
return <div className={getStyles('component')}>{children}</div>
|
10
|
+
}
|
11
|
+
|
12
|
+
Component.propTypes = {
|
13
|
+
children: PropTypes.node.isRequired,
|
14
|
+
getStyles: PropTypes.func.isRequired,
|
15
|
+
type: PropTypes.oneOf(options.types),
|
16
|
+
}
|
17
|
+
|
18
|
+
Component.defaultProps = {
|
19
|
+
getStyles: () => {},
|
20
|
+
}
|
21
|
+
|
22
|
+
export default withStyles(styles)(Component)
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { Component, styles, options } from '.'
|
2
|
+
|
3
|
+
import {
|
4
|
+
getTemplate,
|
5
|
+
getListTemplate,
|
6
|
+
getOptionsArgTypes,
|
7
|
+
} from '../../helpers/storybook'
|
8
|
+
|
9
|
+
const Template = getTemplate(Component, styles)
|
10
|
+
const ListTemplate = getListTemplate(Component, styles)
|
11
|
+
|
12
|
+
export default {
|
13
|
+
title: 'Atomic/Component',
|
14
|
+
component: Component,
|
15
|
+
args: {},
|
16
|
+
argTypes: {
|
17
|
+
types: getOptionsArgTypes(options.types),
|
18
|
+
},
|
19
|
+
}
|
20
|
+
|
21
|
+
export const Default = Template.bind({})
|
22
|
+
export const List = ListTemplate.bind({})
|
23
|
+
List.args = { items: options.types.map((type) => ({ type })) }
|
@@ -0,0 +1 @@
|
|
1
|
+
export const options = { types: [] }
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import PropTypes from 'prop-types'
|
3
|
+
|
4
|
+
import styles from './Token.module.css'
|
5
|
+
|
6
|
+
const Helper = ({ label, value, children }) => {
|
7
|
+
return (
|
8
|
+
<div className={styles.container}>
|
9
|
+
{children}
|
10
|
+
<div className={styles.description}>
|
11
|
+
<span className={styles.label}>{label}</span>
|
12
|
+
<span className={styles.label}>
|
13
|
+
{Array.isArray(value) ? value.join(', ') : value}
|
14
|
+
</span>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
)
|
18
|
+
}
|
19
|
+
|
20
|
+
Helper.propTypes = {
|
21
|
+
label: PropTypes.string.isRequired,
|
22
|
+
value: PropTypes.oneOfType([
|
23
|
+
PropTypes.string,
|
24
|
+
PropTypes.number,
|
25
|
+
PropTypes.arrayOf(PropTypes.string),
|
26
|
+
]),
|
27
|
+
children: PropTypes.node.isRequired,
|
28
|
+
}
|
29
|
+
|
30
|
+
export default Helper
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
|
3
|
+
import { Color, Spacing, FontFamily, FontSize, FontWeight } from './components'
|
4
|
+
|
5
|
+
const Token = () => <></>
|
6
|
+
|
7
|
+
Token.Color = Color
|
8
|
+
Token.Spacing = Spacing
|
9
|
+
Token.FontFamily = FontFamily
|
10
|
+
Token.FontSize = FontSize
|
11
|
+
Token.FontWeight = FontWeight
|
12
|
+
|
13
|
+
export default Token
|
@@ -0,0 +1,64 @@
|
|
1
|
+
.container {
|
2
|
+
display: inline-flex;
|
3
|
+
flex-direction: row;
|
4
|
+
align-items: center;
|
5
|
+
}
|
6
|
+
|
7
|
+
.description {
|
8
|
+
display: flex;
|
9
|
+
flex-direction: column;
|
10
|
+
align-items: flex-start;
|
11
|
+
margin-left: 10px;
|
12
|
+
gap: 4px;
|
13
|
+
}
|
14
|
+
|
15
|
+
.label {
|
16
|
+
min-width: max-content;
|
17
|
+
padding: 4px 8px;
|
18
|
+
border: var(--picture-border);
|
19
|
+
background-color: var(--color-blue-gray-50);
|
20
|
+
border-radius: var(--border-radius-sm);
|
21
|
+
color: var(--color-gray-700);
|
22
|
+
font-family: var(--font-family-mono);
|
23
|
+
font-size: var(--font-size-base);
|
24
|
+
}
|
25
|
+
|
26
|
+
.label:first-child {
|
27
|
+
border: var(--border-width-thin) solid var(--color-gray-500);
|
28
|
+
background-color: var(--color-blue-gray-200);
|
29
|
+
}
|
30
|
+
|
31
|
+
.color {
|
32
|
+
width: 55px;
|
33
|
+
height: 55px;
|
34
|
+
border: var(--picture-border);
|
35
|
+
border-radius: var(--border-radius-full);
|
36
|
+
box-shadow: var(--box-shadow-sm);
|
37
|
+
}
|
38
|
+
|
39
|
+
.spacer {
|
40
|
+
display: flex;
|
41
|
+
width: 50px;
|
42
|
+
height: 50px;
|
43
|
+
align-items: center;
|
44
|
+
justify-content: center;
|
45
|
+
}
|
46
|
+
|
47
|
+
.font-family {
|
48
|
+
font-size: var(--font-size-md);
|
49
|
+
}
|
50
|
+
|
51
|
+
.font-size,
|
52
|
+
.font-family {
|
53
|
+
width: 100%;
|
54
|
+
max-width: 500px;
|
55
|
+
text-align: justify;
|
56
|
+
}
|
57
|
+
|
58
|
+
.font-size {
|
59
|
+
text-align: right;
|
60
|
+
}
|
61
|
+
|
62
|
+
.font-weight {
|
63
|
+
font-size: var(--font-size-md);
|
64
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import PropTypes from 'prop-types'
|
3
|
+
|
4
|
+
import Helper from '../Helper'
|
5
|
+
|
6
|
+
import styles from '../Token.module.css'
|
7
|
+
|
8
|
+
const Color = ({ label, value }) => {
|
9
|
+
return (
|
10
|
+
<Helper label={label} value={value}>
|
11
|
+
<div className={styles.color} style={{ backgroundColor: value }}></div>
|
12
|
+
</Helper>
|
13
|
+
)
|
14
|
+
}
|
15
|
+
|
16
|
+
Color.propTypes = {
|
17
|
+
label: PropTypes.string.isRequired,
|
18
|
+
value: PropTypes.string.isRequired,
|
19
|
+
}
|
20
|
+
|
21
|
+
export default Color
|
@@ -0,0 +1,126 @@
|
|
1
|
+
import Token from '..'
|
2
|
+
|
3
|
+
import { choices, decisions } from '../..'
|
4
|
+
|
5
|
+
import { getTemplate, getListTemplate } from '../../../helpers/storybook'
|
6
|
+
import { getTokenItems } from '../helpers'
|
7
|
+
|
8
|
+
const Template = getTemplate(Token.Color)
|
9
|
+
const ListTemplate = getListTemplate(Token.Color)
|
10
|
+
|
11
|
+
export default {
|
12
|
+
title: 'Tokens/Color',
|
13
|
+
component: Token.Color,
|
14
|
+
argTypes: {
|
15
|
+
value: { control: null },
|
16
|
+
label: { control: null },
|
17
|
+
},
|
18
|
+
parameters: { __sb: { mh: 300 } },
|
19
|
+
}
|
20
|
+
|
21
|
+
const getItems = getTokenItems(choices.color, 'color')
|
22
|
+
const getDecisionItems = getTokenItems(decisions.color, 'color')
|
23
|
+
const getBackgroundItems = getTokenItems(
|
24
|
+
decisions.backgroundColor,
|
25
|
+
'background-color'
|
26
|
+
)
|
27
|
+
|
28
|
+
export const Default = Template.bind({})
|
29
|
+
Default.args = {
|
30
|
+
label: 'var(--color-primary)',
|
31
|
+
value: decisions.color.primary,
|
32
|
+
}
|
33
|
+
|
34
|
+
export const Base = ListTemplate.bind({})
|
35
|
+
Base.args = { items: getItems('base') }
|
36
|
+
Base.parameters = {
|
37
|
+
__sb: { fd: 'row', mh: 300 },
|
38
|
+
}
|
39
|
+
|
40
|
+
export const Brand = ListTemplate.bind({})
|
41
|
+
Brand.args = { items: getItems('brand') }
|
42
|
+
Brand.parameters = {
|
43
|
+
__sb: { mh: 450 },
|
44
|
+
}
|
45
|
+
|
46
|
+
export const Decisions = ListTemplate.bind({})
|
47
|
+
Decisions.args = {
|
48
|
+
items: getDecisionItems(),
|
49
|
+
}
|
50
|
+
Decisions.parameters = {
|
51
|
+
__sb: { mh: 600 },
|
52
|
+
}
|
53
|
+
|
54
|
+
export const Backgrounds = ListTemplate.bind({})
|
55
|
+
Backgrounds.args = {
|
56
|
+
items: getBackgroundItems(),
|
57
|
+
}
|
58
|
+
Backgrounds.parameters = {
|
59
|
+
__sb: { fd: 'row' },
|
60
|
+
}
|
61
|
+
|
62
|
+
export const Rose = ListTemplate.bind({})
|
63
|
+
Rose.args = { items: getItems('rose') }
|
64
|
+
|
65
|
+
export const Pink = ListTemplate.bind({})
|
66
|
+
Pink.args = { items: getItems('pink') }
|
67
|
+
|
68
|
+
export const Fuchsia = ListTemplate.bind({})
|
69
|
+
Fuchsia.args = { items: getItems('fuchsia') }
|
70
|
+
|
71
|
+
export const Purple = ListTemplate.bind({})
|
72
|
+
Purple.args = { items: getItems('purple') }
|
73
|
+
|
74
|
+
export const Violet = ListTemplate.bind({})
|
75
|
+
Violet.args = { items: getItems('violet') }
|
76
|
+
|
77
|
+
export const Indigo = ListTemplate.bind({})
|
78
|
+
Indigo.args = { items: getItems('indigo') }
|
79
|
+
|
80
|
+
export const Blue = ListTemplate.bind({})
|
81
|
+
Blue.args = { items: getItems('blue') }
|
82
|
+
|
83
|
+
export const Sky = ListTemplate.bind({})
|
84
|
+
Sky.args = { items: getItems('sky') }
|
85
|
+
|
86
|
+
export const Cyan = ListTemplate.bind({})
|
87
|
+
Cyan.args = { items: getItems('cyan') }
|
88
|
+
|
89
|
+
export const Teal = ListTemplate.bind({})
|
90
|
+
Teal.args = { items: getItems('teal') }
|
91
|
+
|
92
|
+
export const Emerald = ListTemplate.bind({})
|
93
|
+
Emerald.args = { items: getItems('emerald') }
|
94
|
+
|
95
|
+
export const Green = ListTemplate.bind({})
|
96
|
+
Green.args = { items: getItems('green') }
|
97
|
+
|
98
|
+
export const Lime = ListTemplate.bind({})
|
99
|
+
Lime.args = { items: getItems('lime') }
|
100
|
+
|
101
|
+
export const Yellow = ListTemplate.bind({})
|
102
|
+
Yellow.args = { items: getItems('yellow') }
|
103
|
+
|
104
|
+
export const Amber = ListTemplate.bind({})
|
105
|
+
Amber.args = { items: getItems('amber') }
|
106
|
+
|
107
|
+
export const Orange = ListTemplate.bind({})
|
108
|
+
Orange.args = { items: getItems('orange') }
|
109
|
+
|
110
|
+
export const Red = ListTemplate.bind({})
|
111
|
+
Red.args = { items: getItems('red') }
|
112
|
+
|
113
|
+
export const WarmGray = ListTemplate.bind({})
|
114
|
+
WarmGray.args = { items: getItems('warmGray') }
|
115
|
+
|
116
|
+
export const TrueGray = ListTemplate.bind({})
|
117
|
+
TrueGray.args = { items: getItems('trueGray') }
|
118
|
+
|
119
|
+
export const Gray = ListTemplate.bind({})
|
120
|
+
Gray.args = { items: getItems('gray') }
|
121
|
+
|
122
|
+
export const CoolGray = ListTemplate.bind({})
|
123
|
+
CoolGray.args = { items: getItems('coolGray') }
|
124
|
+
|
125
|
+
export const BlueGray = ListTemplate.bind({})
|
126
|
+
BlueGray.args = { items: getItems('blueGray') }
|