@kanda-libs/ks-design-library-new 0.0.1

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 (90) hide show
  1. package/LICENSE +21 -0
  2. package/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueBlackItalic.woff +0 -0
  3. package/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueBoldItalic.woff +0 -0
  4. package/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueExtraBoldItalic.woff +0 -0
  5. package/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueExtraLightItalic.woff +0 -0
  6. package/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueHeavyItalic.woff +0 -0
  7. package/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueLightItalic.woff +0 -0
  8. package/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueMediumItalic.woff +0 -0
  9. package/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueRegularItalic.woff +0 -0
  10. package/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueSemiBoldItalic.woff +0 -0
  11. package/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueThinItalic.woff +0 -0
  12. package/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueBlack.woff +0 -0
  13. package/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueBold.woff +0 -0
  14. package/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueExtraBold.woff +0 -0
  15. package/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueExtraLight.woff +0 -0
  16. package/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueHeavy.woff +0 -0
  17. package/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueLight.woff +0 -0
  18. package/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueMedium.woff +0 -0
  19. package/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueRegular.woff +0 -0
  20. package/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueSemiBold.woff +0 -0
  21. package/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueThin.woff +0 -0
  22. package/dist/index.d.ts +17 -0
  23. package/dist/index.esm.mjs +2 -0
  24. package/dist/index.esm.mjs.map +7 -0
  25. package/dist/library.css +2053 -0
  26. package/package.json +117 -0
  27. package/src/.DS_Store +0 -0
  28. package/src/@types/assets/index.d.ts +26 -0
  29. package/src/@types/index.d.ts +207 -0
  30. package/src/common/helpers.ts +15 -0
  31. package/src/components/Table/components/Cell/constants.ts +11 -0
  32. package/src/components/Table/components/Cell/index.tsx +36 -0
  33. package/src/components/Table/components/Cell/useCellClassNames.ts +23 -0
  34. package/src/components/Table/components/HeaderButton/Button.tsx +18 -0
  35. package/src/components/Table/components/HeaderButton/Wrapper.tsx +22 -0
  36. package/src/components/Table/components/HeaderButton/constants.ts +24 -0
  37. package/src/components/Table/components/HeaderButton/index.tsx +7 -0
  38. package/src/components/Table/components/HeaderButton/useWrapperProps.ts +31 -0
  39. package/src/components/Table/components/HeaderColumn/constants.ts +26 -0
  40. package/src/components/Table/components/HeaderColumn/index.tsx +38 -0
  41. package/src/components/Table/components/HeaderColumn/useHeaderColumnProps.ts +31 -0
  42. package/src/components/Table/components/HeaderGroup/constants.ts +3 -0
  43. package/src/components/Table/components/HeaderGroup/index.tsx +40 -0
  44. package/src/components/Table/components/HeaderGroup/useHeaderGroupProps.ts +27 -0
  45. package/src/components/Table/components/Row/constants.ts +7 -0
  46. package/src/components/Table/components/Row/index.tsx +40 -0
  47. package/src/components/Table/components/Row/useRowClassNames.ts +19 -0
  48. package/src/components/Table/components/SearchInput/index.tsx +22 -0
  49. package/src/components/Table/components/SearchInput/useSearchInput.ts +30 -0
  50. package/src/components/Table/helpers/search.ts +96 -0
  51. package/src/components/Table/index.tsx +64 -0
  52. package/src/components/Table/useTableProps.ts +54 -0
  53. package/src/components/index.tsx +1 -0
  54. package/src/index.ts +2 -0
  55. package/src/moduleTypes.d.ts +1 -0
  56. package/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueBlackItalic.woff +0 -0
  57. package/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueBoldItalic.woff +0 -0
  58. package/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueExtraBoldItalic.woff +0 -0
  59. package/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueExtraLightItalic.woff +0 -0
  60. package/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueHeavyItalic.woff +0 -0
  61. package/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueLightItalic.woff +0 -0
  62. package/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueMediumItalic.woff +0 -0
  63. package/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueRegularItalic.woff +0 -0
  64. package/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueSemiBoldItalic.woff +0 -0
  65. package/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueThinItalic.woff +0 -0
  66. package/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueBlack.woff +0 -0
  67. package/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueBold.woff +0 -0
  68. package/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueExtraBold.woff +0 -0
  69. package/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueExtraLight.woff +0 -0
  70. package/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueHeavy.woff +0 -0
  71. package/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueLight.woff +0 -0
  72. package/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueMedium.woff +0 -0
  73. package/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueRegular.woff +0 -0
  74. package/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueSemiBold.woff +0 -0
  75. package/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueThin.woff +0 -0
  76. package/src/styles/index.css +2236 -0
  77. package/src/styles/ks-design-library.css +2236 -0
  78. package/src/styles/library.css +2053 -0
  79. package/src/styles/tailwind.css +915 -0
  80. package/src/theme/plugins/tailwind.plugin.caret-color.js +32 -0
  81. package/src/theme/plugins/tailwind.plugin.field-error.js +10 -0
  82. package/src/theme/plugins/tailwind.plugin.field-focus.js +10 -0
  83. package/src/theme/plugins/tailwind.plugin.field-loading.js +10 -0
  84. package/src/theme/plugins/tailwind.plugin.group-active.js +10 -0
  85. package/src/theme/plugins/tailwind.plugin.important.js +14 -0
  86. package/src/theme/plugins/tailwind.plugin.label-check.js +10 -0
  87. package/src/theme/plugins/tailwind.plugin.text-style.js +213 -0
  88. package/src/theme/postcss/tailwind.postcss.config.js +7 -0
  89. package/src/theme/themeConfig.js +339 -0
  90. package/src/types.d.ts +58 -0
@@ -0,0 +1,32 @@
1
+ const plugin = require('tailwindcss/plugin');
2
+
3
+ const generateColors = (e, colors, prefix) =>
4
+ Object.keys(colors).reduce((acc, key) => {
5
+ if (typeof colors[key] === 'string') {
6
+ return {
7
+ ...acc,
8
+ [`${prefix}-${e(key)}`]: {
9
+ 'caret-color': colors[key],
10
+ },
11
+ };
12
+ }
13
+
14
+ const innerColors = generateColors(e, colors[key], `${prefix}-${e(key)}`);
15
+
16
+ return {
17
+ ...acc,
18
+ ...innerColors,
19
+ };
20
+ }, {});
21
+
22
+ module.exports = plugin.withOptions(
23
+ ({ className = 'caret' } = {}) =>
24
+ ({ e, addUtilities, theme }) => {
25
+ const colors = theme('colors');
26
+ const caretColors = generateColors(e, colors, `.${className}`);
27
+
28
+ addUtilities(caretColors, {
29
+ variants: ['responsive'],
30
+ });
31
+ }
32
+ );
@@ -0,0 +1,10 @@
1
+ const plugin = require('tailwindcss/plugin');
2
+
3
+ module.exports = plugin(({ addVariant, e }) => {
4
+ addVariant('field-error', ({ modifySelectors, separator }) => {
5
+ modifySelectors(({ className }) => {
6
+ const eClassName = e(`field-error${separator}${className}`);
7
+ return `.field-error .${eClassName}`;
8
+ });
9
+ });
10
+ });
@@ -0,0 +1,10 @@
1
+ const plugin = require('tailwindcss/plugin');
2
+
3
+ module.exports = plugin(({ addVariant, e }) => {
4
+ addVariant('field-loading', ({ modifySelectors, separator }) => {
5
+ modifySelectors(({ className }) => {
6
+ const eClassName = e(`field-loading${separator}${className}`);
7
+ return `.field-loading .${eClassName}`;
8
+ });
9
+ });
10
+ });
@@ -0,0 +1,10 @@
1
+ const plugin = require('tailwindcss/plugin');
2
+
3
+ module.exports = plugin(({ addVariant, e }) => {
4
+ addVariant('field-focus', ({ modifySelectors, separator }) => {
5
+ modifySelectors(({ className }) => {
6
+ const eClassName = e(`field-focus${separator}${className}`);
7
+ return `:focus-within > .${eClassName}`;
8
+ });
9
+ });
10
+ });
@@ -0,0 +1,10 @@
1
+ const plugin = require('tailwindcss/plugin');
2
+
3
+ module.exports = plugin(({ addVariant, e }) => {
4
+ addVariant('group-active', ({ modifySelectors, separator }) => {
5
+ modifySelectors(({ className }) => {
6
+ const eClassName = e(`group-active${separator}${className}`);
7
+ return `.group:active .${eClassName}`;
8
+ });
9
+ });
10
+ });
@@ -0,0 +1,14 @@
1
+ const plugin = require('tailwindcss/plugin');
2
+
3
+ module.exports = plugin(({ addVariant }) => {
4
+ addVariant('important', ({ container }) => {
5
+ container.walkRules((rule) => {
6
+ // eslint-disable-next-line no-param-reassign
7
+ rule.selector = `.\\!${rule.selector.slice(1)}`;
8
+ rule.walkDecls((decl) => {
9
+ // eslint-disable-next-line no-param-reassign
10
+ decl.important = true;
11
+ });
12
+ });
13
+ });
14
+ });
@@ -0,0 +1,10 @@
1
+ const plugin = require('tailwindcss/plugin');
2
+
3
+ module.exports = plugin(({ addVariant, e }) => {
4
+ addVariant('label-checked', ({ modifySelectors, separator }) => {
5
+ modifySelectors(({ className }) => {
6
+ const eClassName = e(`label-checked${separator}${className}`);
7
+ return `input[type="checkbox"]:checked ~ .${eClassName},input[type="radio"]:checked ~ .${eClassName}`;
8
+ });
9
+ });
10
+ });
@@ -0,0 +1,213 @@
1
+ const plugin = require('tailwindcss/plugin');
2
+
3
+ module.exports = plugin(({ addComponents, theme }) => {
4
+ const buttons = {
5
+ '.text-32-40-em': {
6
+ fontWeight: theme('fontWeight.semibold'),
7
+ fontSize: theme('fontSize.4xl'),
8
+ lineHeight: theme('lineHeight.10'),
9
+ },
10
+ '.text-28-32-em': {
11
+ fontWeight: theme('fontWeight.semibold'),
12
+ fontSize: theme('fontSize.3xl'),
13
+ lineHeight: theme('lineHeight.8'),
14
+ },
15
+ '.text-24-28-em': {
16
+ fontWeight: theme('fontWeight.semibold'),
17
+ fontSize: theme('fontSize.2xl'),
18
+ lineHeight: theme('lineHeight.7'),
19
+ },
20
+ '.text-20-24-em': {
21
+ fontWeight: theme('fontWeight.semibold'),
22
+ fontSize: theme('fontSize.xl'),
23
+ lineHeight: theme('lineHeight.6'),
24
+ },
25
+ '.text-18-22-em': {
26
+ fontWeight: theme('fontWeight.semibold'),
27
+ fontSize: theme('fontSize.lg'),
28
+ lineHeight: theme('lineHeight[5.5]'),
29
+ },
30
+ '.text-16-25-em-up': {
31
+ fontWeight: theme('fontWeight.semibold'),
32
+ fontSize: theme('fontSize.base'),
33
+ lineHeight: theme('lineHeight[6.25]'),
34
+ textTransform: 'uppercase',
35
+ },
36
+ '.text-16-20-em': {
37
+ fontWeight: theme('fontWeight.semibold'),
38
+ fontSize: theme('fontSize.base'),
39
+ lineHeight: theme('lineHeight.5'),
40
+ },
41
+ '.text-16-24': {
42
+ fontWeight: theme('fontWeight.normal'),
43
+ fontSize: theme('fontSize.base'),
44
+ lineHeight: theme('lineHeight.6'),
45
+ },
46
+ '.text-14-22-em': {
47
+ fontWeight: theme('fontWeight.semibold'),
48
+ fontSize: theme('fontSize.sm'),
49
+ lineHeight: theme('lineHeight[5.5]'),
50
+ },
51
+ '.text-14-22': {
52
+ fontWeight: theme('fontWeight.normal'),
53
+ fontSize: theme('fontSize.sm'),
54
+ lineHeight: theme('lineHeight[5.5]'),
55
+ },
56
+ '.text-12-18-em-up': {
57
+ fontWeight: theme('fontWeight.semibold'),
58
+ fontSize: theme('fontSize.xs'),
59
+ lineHeight: theme('lineHeight[5.4]'),
60
+ textTransform: 'uppercase',
61
+ },
62
+ '.text-12-18-em': {
63
+ fontWeight: theme('fontWeight.semibold'),
64
+ fontSize: theme('fontSize.xs'),
65
+ lineHeight: theme('lineHeight[5.4]'),
66
+ },
67
+ '.text-12-18': {
68
+ fontWeight: theme('fontWeight.normal'),
69
+ fontSize: theme('fontSize.xs'),
70
+ lineHeight: theme('lineHeight[5.4]'),
71
+ },
72
+ '.text-11-20-em-up': {
73
+ fontWeight: theme('fontWeight.semibold'),
74
+ fontSize: theme('fontSize.xxs'),
75
+ lineHeight: theme('lineHeight.5'),
76
+ textTransform: 'uppercase',
77
+ },
78
+ '.text-11-20-up': {
79
+ fontWeight: theme('fontWeight.normal'),
80
+ fontSize: theme('fontSize.xxs'),
81
+ lineHeight: theme('lineHeight.5'),
82
+ textTransform: 'uppercase',
83
+ },
84
+ '.text-10-17-em-up': {
85
+ fontWeight: theme('fontWeight.semibold'),
86
+ fontSize: theme('fontSize.tiny'),
87
+ lineHeight: theme('lineHeight[4.25]'),
88
+ textTransform: 'uppercase',
89
+ },
90
+ '.text-10-17-em': {
91
+ fontWeight: theme('fontWeight.normal'),
92
+ fontSize: theme('fontSize.tiny'),
93
+ lineHeight: theme('lineHeight[4.25]'),
94
+ textTransform: 'uppercase',
95
+ },
96
+ '.text-10-14-em': {
97
+ fontWeight: theme('fontWeight.semibold'),
98
+ fontSize: theme('fontSize.tiny'),
99
+ lineHeight: theme('lineHeight[3.5]'),
100
+ },
101
+ '.text-10-14': {
102
+ fontWeight: theme('fontWeight.normal'),
103
+ fontSize: theme('fontSize.tiny'),
104
+ lineHeight: theme('lineHeight[3.5]'),
105
+ },
106
+ /** depricated: */
107
+ '.text-style-a': {
108
+ fontWeight: theme('fontWeight.semibold'),
109
+ fontSize: theme('fontSize.4xl'),
110
+ lineHeight: theme('lineHeight.10'),
111
+ },
112
+ '.text-style-b': {
113
+ fontWeight: theme('fontWeight.semibold'),
114
+ fontSize: theme('fontSize.3xl'),
115
+ lineHeight: theme('lineHeight.8'),
116
+ },
117
+ '.text-style-c': {
118
+ fontWeight: theme('fontWeight.semibold'),
119
+ fontSize: theme('fontSize.2xl'),
120
+ lineHeight: theme('lineHeight.7'),
121
+ },
122
+ '.text-style-d': {
123
+ fontWeight: theme('fontWeight.semibold'),
124
+ fontSize: theme('fontSize.xl'),
125
+ lineHeight: theme('lineHeight.6'),
126
+ },
127
+ '.text-style-e': {
128
+ fontWeight: theme('fontWeight.semibold'),
129
+ fontSize: theme('fontSize.lg'),
130
+ lineHeight: theme('lineHeight[5.5]'),
131
+ },
132
+ '.text-style-f-em-up': {
133
+ fontWeight: theme('fontWeight.semibold'),
134
+ fontSize: theme('fontSize.base'),
135
+ lineHeight: theme('lineHeight[6.25]'),
136
+ textTransform: 'uppercase',
137
+ },
138
+ '.text-style-f-em': {
139
+ fontWeight: theme('fontWeight.semibold'),
140
+ fontSize: theme('fontSize.base'),
141
+ lineHeight: theme('lineHeight.5'),
142
+ },
143
+ '.text-style-f': {
144
+ fontWeight: theme('fontWeight.normal'),
145
+ fontSize: theme('fontSize.base'),
146
+ lineHeight: theme('lineHeight.6'),
147
+ },
148
+ '.text-style-g-em': {
149
+ fontWeight: theme('fontWeight.semibold'),
150
+ fontSize: theme('fontSize.sm'),
151
+ lineHeight: theme('lineHeight[5.5]'),
152
+ },
153
+ '.text-style-g': {
154
+ fontWeight: theme('fontWeight.normal'),
155
+ fontSize: theme('fontSize.sm'),
156
+ lineHeight: theme('lineHeight[5.5]'),
157
+ },
158
+ '.text-style-h-em-up': {
159
+ fontWeight: theme('fontWeight.semibold'),
160
+ fontSize: theme('fontSize.xs'),
161
+ lineHeight: theme('lineHeight[5.4]'),
162
+ textTransform: 'uppercase',
163
+ },
164
+ '.text-style-h-em': {
165
+ fontWeight: theme('fontWeight.semibold'),
166
+ fontSize: theme('fontSize.xs'),
167
+ lineHeight: theme('lineHeight[5.4]'),
168
+ },
169
+ '.text-style-h': {
170
+ fontWeight: theme('fontWeight.normal'),
171
+ fontSize: theme('fontSize.xs'),
172
+ lineHeight: theme('lineHeight[5.4]'),
173
+ },
174
+ '.text-style-i-em-up': {
175
+ fontWeight: theme('fontWeight.semibold'),
176
+ fontSize: theme('fontSize.xxs'),
177
+ lineHeight: theme('lineHeight.5'),
178
+ textTransform: 'uppercase',
179
+ },
180
+ '.text-style-i-up': {
181
+ fontWeight: theme('fontWeight.normal'),
182
+ fontSize: theme('fontSize.xxs'),
183
+ lineHeight: theme('lineHeight.5'),
184
+ textTransform: 'uppercase',
185
+ },
186
+ '.text-style-i': {
187
+ fontWeight: theme('fontWeight.normal'),
188
+ fontSize: theme('fontSize.xxs'),
189
+ lineHeight: theme('lineHeight.5'),
190
+ },
191
+ '.text-style-j-em-up': {
192
+ fontWeight: theme('fontWeight.semibold'),
193
+ fontSize: theme('fontSize.tiny'),
194
+ lineHeight: theme('lineHeight[4.25]'),
195
+ textTransform: 'uppercase',
196
+ },
197
+ '.text-style-k-em': {
198
+ fontWeight: theme('fontWeight.semibold'),
199
+ fontSize: theme('fontSize.tiny'),
200
+ lineHeight: theme('lineHeight[3.5]'),
201
+ },
202
+ '.text-style-k': {
203
+ fontWeight: theme('fontWeight.normal'),
204
+ fontSize: theme('fontSize.tiny'),
205
+ lineHeight: theme('lineHeight[3.5]'),
206
+ },
207
+ /** end-depricated */
208
+ };
209
+
210
+ addComponents(buttons, {
211
+ variants: ['responsive', 'important'],
212
+ });
213
+ });
@@ -0,0 +1,7 @@
1
+ module.exports = {
2
+ plugins: [
3
+ require('tailwindcss'),
4
+ require('autoprefixer'),
5
+ require('postcss-100vh-fix'),
6
+ ],
7
+ };
@@ -0,0 +1,339 @@
1
+ /**
2
+ * Creates dataurl from svg string
3
+ * @param {String} svgStr
4
+ * @returns {String} dataurl
5
+ */
6
+ const svgToDataURL = (svgStr) => {
7
+ const encoded = encodeURIComponent(svgStr)
8
+ .replace(/'/g, '%27')
9
+ .replace(/"/g, '%22');
10
+
11
+ const header = 'data:image/svg+xml,';
12
+ const dataUrl = header + encoded;
13
+
14
+ return dataUrl;
15
+ };
16
+
17
+ /**
18
+ * Creates url string from svg
19
+ * @param {String} svg
20
+ * @returns {String} dataurl
21
+ */
22
+ const makeSvg = (svg) => `url(${svgToDataURL(svg)})`;
23
+
24
+ module.exports = {
25
+ theme: {
26
+ colors: {
27
+ // Neutrals
28
+ transparent: 'transparent',
29
+ 'transparent-white': 'rgba(255,255,255,0)',
30
+ 'neutral-000': '#FFFFFF',
31
+ 'neutral-50': '#FBFCFE',
32
+ 'neutral-100': '#F7F9FC',
33
+ 'neutral-200': '#EDF1F7',
34
+ 'neutral-300': '#E0E7F0',
35
+ 'neutral-400': '#C3CFDF',
36
+ 'neutral-500': '#9CADC4',
37
+ 'neutral-600': '#6C819D',
38
+ 'neutral-700': '#475A76',
39
+ 'neutral-800': '#2D3D53',
40
+ 'neutral-900': '#0D1B2E',
41
+ // Primary
42
+ 'green-100': '#E9FCF8',
43
+ 'green-200': '#C1F4E9',
44
+ 'green-300': '#7DE8D6',
45
+ 'green-400': '#27DEBF',
46
+ 'green-500': '#1FCCAF',
47
+ 'green-600': '#1CB69C',
48
+ // Accents
49
+ 'lavender-100': '#F0F0FF',
50
+ 'lavender-200': '#7F83FF',
51
+ 'lavender-300': '#4D52FF',
52
+ 'violet-100': '#F3EBFA',
53
+ 'violet-150': '#C199E5', // should be 200 TODO: rename app pacakages
54
+ 'violet-200': '#622698', // should be 300 TODO: rename app pacakages
55
+ 'orchid-100': '#F5E5FF',
56
+ 'orchid-200': '#D28FFF',
57
+ 'orange-100': '#FDF0E8',
58
+ 'orange-150': '#F4B88F', // should be 200 TODO: rename app pacakages
59
+ 'orange-200': '#EB7D32', // should be 300 TODO: rename app pacakages
60
+ 'blue-100': '#E5F5FF',
61
+ 'blue-200': '#009BFF',
62
+ 'red-100': '#FFE5F4',
63
+ 'red-150': '#F5A3B1', // should be 200 TODO: rename app pacakages
64
+ 'red-200': '#E93F3F', // should be 300 TODO: rename app pacakages
65
+ // Depricated
66
+ 'turquoise-100': '#E9FCF8',
67
+ 'turquoise-200': '#C1F4E9',
68
+ 'turquoise-300': '#27DEBF',
69
+ 'turquoise-400': '#1FCCAF',
70
+ 'turquoise-500': '#1CB69C',
71
+ },
72
+ fill: (theme) => ({
73
+ ...theme('colors'),
74
+ }),
75
+ lineHeight: {
76
+ unset: 'unset !important',
77
+ none: '1',
78
+ tight: '1.25',
79
+ snug: '1.375',
80
+ normal: '1.5',
81
+ relaxed: '1.625',
82
+ loose: '2',
83
+ 3.5: '14px',
84
+ 4.25: '17px',
85
+ 5.4: '18px',
86
+ 5: '20px',
87
+ 5.5: '22px',
88
+ 6: '24px',
89
+ 6.25: '25px',
90
+ 7: '28px',
91
+ 8: '32px',
92
+ 10: '40px',
93
+ },
94
+ spacing: {
95
+ px: '1px',
96
+ 0: '0',
97
+ 0.5: '2px',
98
+ 0.75: '3px',
99
+ 1: '4px',
100
+ 1.5: '6px',
101
+ 1.75: '7px',
102
+ 2: '8px',
103
+ 2.25: '9px',
104
+ 2.5: '10px',
105
+ 3: '12px',
106
+ 3.25: '13px',
107
+ 3.5: '14px',
108
+ 4: '16px',
109
+ 4.5: '18px',
110
+ 5: '20px',
111
+ 5.25: '21px',
112
+ 5.5: '22px',
113
+ 6: '24px',
114
+ 7: '28px',
115
+ 7.75: '31px',
116
+ 8: '32px',
117
+ 9: '36px',
118
+ 10: '40px',
119
+ 11: '44px',
120
+ 12: '48px',
121
+ 14: '56px',
122
+ 16: '64px',
123
+ 18: '72px',
124
+ 20: '80px',
125
+ 22: '88px',
126
+ 24: '96px',
127
+ 26: '104px',
128
+ 28: '112px',
129
+ 30: '120px',
130
+ 32: '128px',
131
+ 36: '144px',
132
+ 38: '152px',
133
+ 40: '160px',
134
+ 44: '176px',
135
+ 48: '192px',
136
+ 50: '200px',
137
+ 52: '208px',
138
+ 54: '216px',
139
+ 56: '224px',
140
+ 60: '240px',
141
+ 64: '256px',
142
+ 72: '288px',
143
+ 75: '300px',
144
+ 80: '320px',
145
+ 96: '384px',
146
+ 100: '400px',
147
+ 120: '480px',
148
+ 160: '640px',
149
+ 170: '680px',
150
+ 180: '720px',
151
+ 256: '1024px',
152
+ 272: '1088px',
153
+ },
154
+ fontSize: {
155
+ tiny: '10px',
156
+ xxs: '11px',
157
+ xs: '12px',
158
+ sm: '14px',
159
+ base: '16px',
160
+ lg: '18px',
161
+ xl: '20px',
162
+ '2xl': '24px',
163
+ '3xl': '28px',
164
+ '4xl': '32px',
165
+ '5xl': '36px',
166
+ '6xl': '48px',
167
+ '7xl': '60px',
168
+ '8xl': '72px',
169
+ },
170
+ extend: {
171
+ screens: {
172
+ desktop: '1440px',
173
+ },
174
+ animation: {
175
+ 'fade-in-5': 'fade-in-5 200ms ease-in-out',
176
+ 'fade-out-5': 'fade-out-5 200ms ease-in-out',
177
+ 'fade-in': 'fade-in 200ms ease-in-out',
178
+ 'fade-out': 'fade-out 200ms ease-in-out',
179
+ 'slide-up-in': 'slide-up-in 200ms ease-in-out',
180
+ 'slide-up-out': 'slide-up-out 200ms ease-in-out',
181
+ 'slide-left-in': 'slide-left-in 200ms ease-in-out',
182
+ 'slide-left-out': 'slide-left-out 200ms ease-in-out',
183
+ },
184
+ keyframes: {
185
+ 'fade-in-5': {
186
+ '0%': { opacity: 0 },
187
+ '100%': { opacity: 0.05 },
188
+ },
189
+ 'fade-out-5': {
190
+ '0%': { opacity: 0.05 },
191
+ '100%': { opacity: 0 },
192
+ },
193
+ 'fade-in': {
194
+ '0%': { opacity: 0 },
195
+ '100%': { opacity: 1 },
196
+ },
197
+ 'fade-out': {
198
+ '0%': { opacity: 1 },
199
+ '100%': { opacity: 0 },
200
+ },
201
+ 'slide-up-in': {
202
+ '0%': { transform: 'translateY(100%)' },
203
+ '100%': { transform: 'translateY(0%)' },
204
+ },
205
+ 'slide-up-out': {
206
+ '0%': { transform: 'translateY(0%)' },
207
+ '100%': { transform: 'translateY(100%)' },
208
+ },
209
+ 'slide-left-in': {
210
+ '0%': { transform: 'translateX(100%)' },
211
+ '100%': { transform: 'translateX(0%)' },
212
+ },
213
+ 'slide-left-out': {
214
+ '0%': { transform: 'translateX(0%)' },
215
+ '100%': { transform: 'translateX(100%)' },
216
+ },
217
+ },
218
+ scale: {
219
+ '-1': '-1',
220
+ },
221
+ transitionDuration: {
222
+ 3000: '3000ms',
223
+ },
224
+ transitionProperty: {
225
+ width: 'width',
226
+ },
227
+ fontFamily: {
228
+ sans: ['"Galano Grotesque"'],
229
+ },
230
+ backgroundPosition: {
231
+ 'right-4': 'calc(100% - 20px) center',
232
+ },
233
+ height: {
234
+ table: '696px',
235
+ },
236
+ minHeight: (theme) => ({
237
+ ...theme('spacing'),
238
+ 52: '210px',
239
+ table: '696px',
240
+ }),
241
+ maxHeight: (theme) => ({
242
+ ...theme('spacing'),
243
+ 52: '210px',
244
+ table: '696px',
245
+ }),
246
+ minWidth: (theme) => ({
247
+ ...theme('spacing'),
248
+ 120: '480px',
249
+ 180: '720px',
250
+ 256: '1024px',
251
+ 272: '1088px',
252
+ }),
253
+ maxWidth: (theme) => ({
254
+ ...theme('spacing'),
255
+ 120: '480px',
256
+ 180: '720px',
257
+ 256: '1024px',
258
+ 272: '1088px',
259
+ }),
260
+ boxShadow: {
261
+ a: '0px 12px 12px 0px rgba(237, 241, 247, 0.5), 0px 4px 8px 0px rgba(237, 241, 247, 1)',
262
+ c: '0px -4px 24px rgba(13, 27, 46, 0.1)',
263
+ checkout:
264
+ '0px -1px 0px rgba(225, 230, 241, 0.5), 0px -4px 24px rgba(12, 27, 58, 0.1)',
265
+ card: '0px 4px 8px 0px #0C1B3A0D',
266
+ popover: '0px 2px 4px rgba(13, 27, 46, 0.1)',
267
+ },
268
+ skew: {
269
+ 'slide-up': '-3.75deg',
270
+ },
271
+ backgroundSize: {
272
+ 100: '100%',
273
+ 200: '200%',
274
+ },
275
+ transformOrigin: {
276
+ 0: '0%',
277
+ full: '100%',
278
+ },
279
+ backgroundImage: {
280
+ 'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
281
+ 'select-chevron': makeSvg(
282
+ '<svg style="color: #9CA9C4" width="12" height="8" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.33331 1L5.99998 6.33333L10.6666 1" stroke="currentColor" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/></svg>',
283
+ ),
284
+ 'select-chevron-active': makeSvg(
285
+ '<svg style="color: #27DEBF" width="12" height="8" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.33331 7.00002L5.99998 1.66669L10.6666 7.00002" stroke="currentColor" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/></svg>',
286
+ ),
287
+ 'placeholder-card': makeSvg(`
288
+ <svg viewBox="0 0 330 90" fill="none" xmlns="http://www.w3.org/2000/svg">
289
+ <rect vector-effect="non-scaling-stroke" x="17" y="1" width="293" height="76" rx="11" />
290
+ <rect vector-effect="non-scaling-stroke" x="32" y="20" width="104" height="16" rx="8" fill="#EDF0F7"/>
291
+ <rect vector-effect="non-scaling-stroke" x="32" y="48" width="144" height="10" rx="5" fill="#EDF0F7"/>
292
+ <rect vector-effect="non-scaling-stroke" x="243" y="20" width="54" height="16" rx="8" fill="#EDF0F7"/>
293
+ <rect vector-effect="non-scaling-stroke" x="17" y="1" width="293" height="76" rx="11" stroke="#EDF0F7" stroke-width="2"/>
294
+ </svg>
295
+ `),
296
+ },
297
+ },
298
+ },
299
+ variants: {
300
+ extend: {
301
+ borderRadius: ['focus', 'focus-within', 'important', 'last', 'first'],
302
+ margin: ['last', 'first'],
303
+ padding: ['focus', 'focus-within', 'first', 'last', 'important'],
304
+ textColor: ['invalid', 'disabled', 'active', 'important', 'field-focus'],
305
+ opacity: ['focus', 'focus-within'],
306
+ height: ['focus', 'focus-within'],
307
+ position: ['focus', 'focus-within'],
308
+ borderWidth: [
309
+ 'focus',
310
+ 'hover',
311
+ 'first',
312
+ 'last',
313
+ 'important',
314
+ 'focus-within',
315
+ ],
316
+ backgroundImage: [
317
+ 'focus',
318
+ 'label-checked',
319
+ 'disabled',
320
+ 'hover',
321
+ 'focus-within',
322
+ ],
323
+ backgroundColor: [
324
+ 'disabled',
325
+ 'label-checked',
326
+ 'checked',
327
+ 'active',
328
+ 'important',
329
+ ],
330
+ backgroundPosition: ['hover'],
331
+ borderColor: ['label-checked', 'focus', 'focus-within'],
332
+ inset: ['checked'],
333
+ display: ['field-focus', 'field-error', 'field-loading', 'group-hover'],
334
+ translate: ['checked'],
335
+ ringColor: ['disabled', 'hover', 'group-active'],
336
+ stroke: ['active'],
337
+ },
338
+ },
339
+ };