@lukso/web-components 1.0.1 → 1.0.4
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/README.md +62 -112
- package/dist/assets/fonts/Apax-Bold.woff2 +0 -0
- package/dist/assets/fonts/Apax-Light.woff2 +0 -0
- package/dist/assets/fonts/Apax-Medium.woff2 +0 -0
- package/dist/assets/fonts/Apax-Regular.woff2 +0 -0
- package/dist/assets/fonts/Inter-Bold.woff2 +0 -0
- package/dist/assets/fonts/Inter-ExtraBold.woff2 +0 -0
- package/dist/assets/fonts/Inter-Medium.woff2 +0 -0
- package/dist/assets/fonts/Inter-Regular.woff2 +0 -0
- package/dist/assets/fonts/Inter-SemiBold.woff2 +0 -0
- package/dist/assets/fonts/Inter-Thin.woff2 +0 -0
- package/dist/assets/fonts/PT-Mono-Bold.woff2 +0 -0
- package/dist/assets/fonts/PT-Mono-Regular.woff2 +0 -0
- package/dist/assets/fonts/index.cjs +1 -0
- package/dist/assets/fonts/index.js +4 -0
- package/dist/assets/fonts/index.ts +1 -0
- package/dist/directive-619b88dd.cjs +55 -0
- package/dist/directive-76d5504a.js +1128 -0
- package/dist/index.cjs +1 -0
- package/dist/index.js +6 -0
- package/dist/lukso-button-4b795065.js +57 -0
- package/dist/lukso-button-ab7e2769.cjs +17 -0
- package/dist/lukso-button.cjs +1 -0
- package/dist/lukso-button.js +2 -0
- package/dist/lukso-test.cjs +41 -0
- package/dist/lukso-test.js +710 -0
- package/dist/sass/color-palette.ts +69 -0
- package/dist/sass/component.scss +13 -0
- package/dist/sass/fonts.scss +97 -0
- package/dist/sass/index.cjs +1 -0
- package/dist/sass/index.js +4 -0
- package/dist/sass/index.ts +1 -0
- package/dist/sass/main.scss +12 -0
- package/dist/sass/typography.scss +122 -0
- package/dist/sass/variables.scss +5 -0
- package/dist/styles/index.cjs +1 -0
- package/dist/styles/index.js +4 -0
- package/dist/styles/main.css +181 -0
- package/dist/styles/main.css.map +1 -0
- package/package.json +78 -33
- package/src/components/lukso-button/index.ts +1 -0
- package/src/components/lukso-button/lukso-button.stories.ts +51 -0
- package/src/components/lukso-button/lukso-button.ts +55 -0
- package/src/components/lukso-test/index.ts +72 -0
- package/src/components/lukso-test/test.component.scss +7 -0
- package/src/components/lukso-test/test.stories.ts +31 -0
- package/src/docs/buttons.stories.mdx +35 -0
- package/src/docs/colors.stories.mdx +72 -0
- package/src/docs/typography.stories.mdx +360 -0
- package/src/globals.d.ts +1 -0
- package/src/index.ts +3 -0
- package/src/postcss.config.ts +8 -0
- package/src/shared/assets/fonts/Apax-Bold.woff2 +0 -0
- package/src/shared/assets/fonts/Apax-Light.woff2 +0 -0
- package/src/shared/assets/fonts/Apax-Medium.woff2 +0 -0
- package/src/shared/assets/fonts/Apax-Regular.woff2 +0 -0
- package/src/shared/assets/fonts/Inter-Bold.woff2 +0 -0
- package/src/shared/assets/fonts/Inter-ExtraBold.woff2 +0 -0
- package/src/shared/assets/fonts/Inter-Medium.woff2 +0 -0
- package/src/shared/assets/fonts/Inter-Regular.woff2 +0 -0
- package/src/shared/assets/fonts/Inter-SemiBold.woff2 +0 -0
- package/src/shared/assets/fonts/Inter-Thin.woff2 +0 -0
- package/src/shared/assets/fonts/PT-Mono-Bold.woff2 +0 -0
- package/src/shared/assets/fonts/PT-Mono-Regular.woff2 +0 -0
- package/src/shared/assets/fonts/index.ts +1 -0
- package/src/shared/directives/custom-class-map.ts +51 -0
- package/src/shared/globals.d.ts +5 -0
- package/src/shared/styles/color-palette.ts +69 -0
- package/src/shared/styles/component.scss +13 -0
- package/src/shared/styles/fonts.scss +97 -0
- package/src/shared/styles/index.ts +1 -0
- package/src/shared/styles/main.scss +12 -0
- package/src/shared/styles/typography.scss +122 -0
- package/src/shared/styles/variables.scss +5 -0
- package/src/shared/tailwind.element.ts +16 -0
- package/src/shared/utils/hslColorMap.ts +20 -0
- package/src/tailwind.config.ts +60 -0
- package/tools/color-palette.cjs +141 -0
- package/tools/color-palette.d.ts +50 -0
- package/tools/color-palette.d.ts.map +1 -0
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
import { Canvas, Meta, Story, Source } from '@storybook/addon-docs'
|
|
2
|
+
import { html } from 'lit-html'
|
|
3
|
+
import dedent from 'ts-dedent'
|
|
4
|
+
|
|
5
|
+
<Meta title="Design System/Typography" />
|
|
6
|
+
|
|
7
|
+
export const Template = ({ name, font }) =>
|
|
8
|
+
html`<span class="${font}"
|
|
9
|
+
>The quick brown fox jumps over the lazy dog.</span
|
|
10
|
+
>`
|
|
11
|
+
|
|
12
|
+
<h1 id="typography">Typography</h1>
|
|
13
|
+
|
|
14
|
+
In order to maintain a consistent look and feel woth design in terms of the typography,
|
|
15
|
+
we have a set of CSS classes that we use. Using `font-family`,
|
|
16
|
+
`font-weight` and `font-size` directly in your code should be avoided and instead use this set
|
|
17
|
+
of classes.
|
|
18
|
+
|
|
19
|
+
### **Font colors**
|
|
20
|
+
|
|
21
|
+
Colors for the text should be added independently using proper color classes. See example below.
|
|
22
|
+
|
|
23
|
+
<Source
|
|
24
|
+
language="html"
|
|
25
|
+
dark
|
|
26
|
+
format={false}
|
|
27
|
+
code={dedent`
|
|
28
|
+
<span class="heading-h1 text-neutral-20">The quick brown fox jumps over the lazy dog.</span>
|
|
29
|
+
`}
|
|
30
|
+
/>
|
|
31
|
+
|
|
32
|
+
### **Table of contents**
|
|
33
|
+
|
|
34
|
+
- [Headings](#headings)
|
|
35
|
+
- [Paragraph](#paragraph)
|
|
36
|
+
- [Currency](#currency)
|
|
37
|
+
- [Utility](#utility)
|
|
38
|
+
- [Monospaced](#monospaced)
|
|
39
|
+
|
|
40
|
+
<h3 id="headings">**Headings**</h3>
|
|
41
|
+
|
|
42
|
+
<Canvas isColumn withSource="open">
|
|
43
|
+
#### `heading-h1`
|
|
44
|
+
<Story
|
|
45
|
+
name="heading-h1"
|
|
46
|
+
args={{
|
|
47
|
+
font: 'heading-h1',
|
|
48
|
+
}}
|
|
49
|
+
>
|
|
50
|
+
{Template.bind({})}
|
|
51
|
+
</Story>
|
|
52
|
+
</Canvas>
|
|
53
|
+
|
|
54
|
+
<Canvas isColumn withSource="open">
|
|
55
|
+
#### `heading-h2`
|
|
56
|
+
<Story
|
|
57
|
+
name="heading-h2"
|
|
58
|
+
args={{
|
|
59
|
+
font: 'heading-h2',
|
|
60
|
+
}}
|
|
61
|
+
>
|
|
62
|
+
{Template.bind({})}
|
|
63
|
+
</Story>
|
|
64
|
+
</Canvas>
|
|
65
|
+
|
|
66
|
+
<Canvas isColumn withSource="open">
|
|
67
|
+
#### `heading-h3`
|
|
68
|
+
<Story
|
|
69
|
+
name="heading-h3"
|
|
70
|
+
args={{
|
|
71
|
+
font: 'heading-h3',
|
|
72
|
+
}}
|
|
73
|
+
>
|
|
74
|
+
{Template.bind({})}
|
|
75
|
+
</Story>
|
|
76
|
+
</Canvas>
|
|
77
|
+
|
|
78
|
+
<Canvas isColumn withSource="open">
|
|
79
|
+
#### `heading-h4`
|
|
80
|
+
<Story
|
|
81
|
+
name="heading-h4"
|
|
82
|
+
args={{
|
|
83
|
+
font: 'heading-h4',
|
|
84
|
+
}}
|
|
85
|
+
>
|
|
86
|
+
{Template.bind({})}
|
|
87
|
+
</Story>
|
|
88
|
+
</Canvas>
|
|
89
|
+
|
|
90
|
+
<Canvas isColumn withSource="open">
|
|
91
|
+
#### `heading-h5`
|
|
92
|
+
<Story
|
|
93
|
+
name="heading-h5"
|
|
94
|
+
args={{
|
|
95
|
+
font: 'heading-h5',
|
|
96
|
+
}}
|
|
97
|
+
>
|
|
98
|
+
{Template.bind({})}
|
|
99
|
+
</Story>
|
|
100
|
+
</Canvas>
|
|
101
|
+
|
|
102
|
+
<Canvas isColumn withSource="open">
|
|
103
|
+
#### `heading-h1-apax`
|
|
104
|
+
<Story
|
|
105
|
+
name="heading-h1-apax"
|
|
106
|
+
args={{
|
|
107
|
+
font: 'heading-h1-apax',
|
|
108
|
+
}}
|
|
109
|
+
>
|
|
110
|
+
{Template.bind({})}
|
|
111
|
+
</Story>
|
|
112
|
+
</Canvas>
|
|
113
|
+
|
|
114
|
+
<Canvas isColumn withSource="open">
|
|
115
|
+
#### `heading-h4-apax`
|
|
116
|
+
<Story
|
|
117
|
+
name="heading-h4-apax"
|
|
118
|
+
args={{
|
|
119
|
+
font: 'heading-h4-apax',
|
|
120
|
+
}}
|
|
121
|
+
>
|
|
122
|
+
{Template.bind({})}
|
|
123
|
+
</Story>
|
|
124
|
+
</Canvas>
|
|
125
|
+
|
|
126
|
+
<Canvas isColumn withSource="open">
|
|
127
|
+
#### `heading-h5-apax`
|
|
128
|
+
<Story
|
|
129
|
+
name="heading-h5-apax"
|
|
130
|
+
args={{
|
|
131
|
+
font: 'heading-h5-apax',
|
|
132
|
+
}}
|
|
133
|
+
>
|
|
134
|
+
{Template.bind({})}
|
|
135
|
+
</Story>
|
|
136
|
+
</Canvas>
|
|
137
|
+
|
|
138
|
+
<h3 id="paragraph">**Paragraph** [↑](#typography)</h3>
|
|
139
|
+
|
|
140
|
+
<Canvas isColumn withSource="open">
|
|
141
|
+
#### `paragraph-16-regular`
|
|
142
|
+
<Story
|
|
143
|
+
name="paragraph-16-regular"
|
|
144
|
+
args={{
|
|
145
|
+
font: 'paragraph-16-regular',
|
|
146
|
+
}}
|
|
147
|
+
>
|
|
148
|
+
{Template.bind({})}
|
|
149
|
+
</Story>
|
|
150
|
+
</Canvas>
|
|
151
|
+
|
|
152
|
+
<Canvas isColumn withSource="open">
|
|
153
|
+
#### `paragraph-16-semi-bold`
|
|
154
|
+
<Story
|
|
155
|
+
name="paragraph-16-semi-bold"
|
|
156
|
+
args={{
|
|
157
|
+
font: 'paragraph-16-semi-bold',
|
|
158
|
+
}}
|
|
159
|
+
>
|
|
160
|
+
{Template.bind({})}
|
|
161
|
+
</Story>
|
|
162
|
+
</Canvas>
|
|
163
|
+
|
|
164
|
+
<Canvas isColumn withSource="open">
|
|
165
|
+
#### `paragraph-14-regular`
|
|
166
|
+
<Story
|
|
167
|
+
name="paragraph-14-regular"
|
|
168
|
+
args={{
|
|
169
|
+
font: 'paragraph-14-regular',
|
|
170
|
+
}}
|
|
171
|
+
>
|
|
172
|
+
{Template.bind({})}
|
|
173
|
+
</Story>
|
|
174
|
+
</Canvas>
|
|
175
|
+
|
|
176
|
+
<Canvas isColumn withSource="open">
|
|
177
|
+
#### `paragraph-14-medium`
|
|
178
|
+
<Story
|
|
179
|
+
name="paragraph-14-medium"
|
|
180
|
+
args={{
|
|
181
|
+
font: 'paragraph-14-medium',
|
|
182
|
+
}}
|
|
183
|
+
>
|
|
184
|
+
{Template.bind({})}
|
|
185
|
+
</Story>
|
|
186
|
+
</Canvas>
|
|
187
|
+
|
|
188
|
+
<Canvas isColumn withSource="open">
|
|
189
|
+
#### `paragraph-14-semi-bold`
|
|
190
|
+
<Story
|
|
191
|
+
name="paragraph-14-semi-bold"
|
|
192
|
+
args={{
|
|
193
|
+
font: 'paragraph-14-semi-bold',
|
|
194
|
+
}}
|
|
195
|
+
>
|
|
196
|
+
{Template.bind({})}
|
|
197
|
+
</Story>
|
|
198
|
+
</Canvas>
|
|
199
|
+
|
|
200
|
+
<Canvas isColumn withSource="open">
|
|
201
|
+
#### `paragraph-12-regular`
|
|
202
|
+
<Story
|
|
203
|
+
name="paragraph-12-regular"
|
|
204
|
+
args={{
|
|
205
|
+
font: 'paragraph-12-regular',
|
|
206
|
+
}}
|
|
207
|
+
>
|
|
208
|
+
{Template.bind({})}
|
|
209
|
+
</Story>
|
|
210
|
+
</Canvas>
|
|
211
|
+
|
|
212
|
+
<Canvas isColumn withSource="open">
|
|
213
|
+
#### `paragraph-12-medium`
|
|
214
|
+
<Story
|
|
215
|
+
name="paragraph-12-medium"
|
|
216
|
+
args={{
|
|
217
|
+
font: 'paragraph-12-medium',
|
|
218
|
+
}}
|
|
219
|
+
>
|
|
220
|
+
{Template.bind({})}
|
|
221
|
+
</Story>
|
|
222
|
+
</Canvas>
|
|
223
|
+
|
|
224
|
+
<Canvas isColumn withSource="open">
|
|
225
|
+
#### `paragraph-12-semi-bold`
|
|
226
|
+
<Story
|
|
227
|
+
name="paragraph-12-semi-bold"
|
|
228
|
+
args={{
|
|
229
|
+
font: 'paragraph-12-semi-bold',
|
|
230
|
+
}}
|
|
231
|
+
>
|
|
232
|
+
{Template.bind({})}
|
|
233
|
+
</Story>
|
|
234
|
+
</Canvas>
|
|
235
|
+
|
|
236
|
+
<h3 id="currency">**Currency** [↑](#typography)</h3>
|
|
237
|
+
|
|
238
|
+
<Canvas isColumn withSource="open">
|
|
239
|
+
#### `currency-10-semi-bold`
|
|
240
|
+
<Story
|
|
241
|
+
name="currency-10-semi-bold"
|
|
242
|
+
args={{
|
|
243
|
+
font: 'currency-10-semi-bold',
|
|
244
|
+
}}
|
|
245
|
+
>
|
|
246
|
+
{Template.bind({})}
|
|
247
|
+
</Story>
|
|
248
|
+
</Canvas>
|
|
249
|
+
|
|
250
|
+
<Canvas isColumn withSource="open">
|
|
251
|
+
#### `currency-10-bold-uppercase`
|
|
252
|
+
<Story
|
|
253
|
+
name="currency-10-bold-uppercase"
|
|
254
|
+
args={{
|
|
255
|
+
font: 'currency-10-bold-uppercase',
|
|
256
|
+
}}
|
|
257
|
+
>
|
|
258
|
+
{Template.bind({})}
|
|
259
|
+
</Story>
|
|
260
|
+
</Canvas>
|
|
261
|
+
|
|
262
|
+
<Canvas isColumn withSource="open">
|
|
263
|
+
#### `currency-14-semi-bold`
|
|
264
|
+
<Story
|
|
265
|
+
name="currency-14-semi-bold"
|
|
266
|
+
args={{
|
|
267
|
+
font: 'currency-14-semi-bold',
|
|
268
|
+
}}
|
|
269
|
+
>
|
|
270
|
+
{Template.bind({})}
|
|
271
|
+
</Story>
|
|
272
|
+
</Canvas>
|
|
273
|
+
|
|
274
|
+
<h3 id="utility">**Utility** [↑](#typography)</h3>
|
|
275
|
+
|
|
276
|
+
<Canvas isColumn withSource="open">
|
|
277
|
+
#### `link`
|
|
278
|
+
<Story
|
|
279
|
+
name="link"
|
|
280
|
+
args={{
|
|
281
|
+
font: 'link',
|
|
282
|
+
}}
|
|
283
|
+
>
|
|
284
|
+
{Template.bind({})}
|
|
285
|
+
</Story>
|
|
286
|
+
</Canvas>
|
|
287
|
+
|
|
288
|
+
<Canvas isColumn withSource="open">
|
|
289
|
+
#### `button-text`
|
|
290
|
+
<Story
|
|
291
|
+
name="button-text"
|
|
292
|
+
args={{
|
|
293
|
+
font: 'button-text',
|
|
294
|
+
}}
|
|
295
|
+
>
|
|
296
|
+
{Template.bind({})}
|
|
297
|
+
</Story>
|
|
298
|
+
</Canvas>
|
|
299
|
+
|
|
300
|
+
<Canvas isColumn withSource="open">
|
|
301
|
+
#### `caption`
|
|
302
|
+
<Story
|
|
303
|
+
name="caption"
|
|
304
|
+
args={{
|
|
305
|
+
font: 'caption',
|
|
306
|
+
}}
|
|
307
|
+
>
|
|
308
|
+
{Template.bind({})}
|
|
309
|
+
</Story>
|
|
310
|
+
</Canvas>
|
|
311
|
+
|
|
312
|
+
<h3 id="monospaced">**Monospaced** [↑](#typography)</h3>
|
|
313
|
+
|
|
314
|
+
<Canvas isColumn withSource="open">
|
|
315
|
+
#### `monospace-16-regular`
|
|
316
|
+
<Story
|
|
317
|
+
name="monospace-16-regular"
|
|
318
|
+
args={{
|
|
319
|
+
font: 'monospace-16-regular',
|
|
320
|
+
}}
|
|
321
|
+
>
|
|
322
|
+
{Template.bind({})}
|
|
323
|
+
</Story>
|
|
324
|
+
</Canvas>
|
|
325
|
+
|
|
326
|
+
<Canvas isColumn withSource="open">
|
|
327
|
+
#### `monospace-16-bold`
|
|
328
|
+
<Story
|
|
329
|
+
name="monospace-16-bold"
|
|
330
|
+
args={{
|
|
331
|
+
font: 'monospace-16-bold',
|
|
332
|
+
}}
|
|
333
|
+
>
|
|
334
|
+
{Template.bind({})}
|
|
335
|
+
</Story>
|
|
336
|
+
</Canvas>
|
|
337
|
+
|
|
338
|
+
<Canvas isColumn withSource="open">
|
|
339
|
+
#### `monospace-12-bold`
|
|
340
|
+
<Story
|
|
341
|
+
name="monospace-12-bold"
|
|
342
|
+
args={{
|
|
343
|
+
font: 'monospace-12-bold',
|
|
344
|
+
}}
|
|
345
|
+
>
|
|
346
|
+
{Template.bind({})}
|
|
347
|
+
</Story>
|
|
348
|
+
</Canvas>
|
|
349
|
+
|
|
350
|
+
<Canvas isColumn withSource="open">
|
|
351
|
+
#### `monospace-10-bold`
|
|
352
|
+
<Story
|
|
353
|
+
name="monospace-10-bold"
|
|
354
|
+
args={{
|
|
355
|
+
font: 'monospace-10-bold',
|
|
356
|
+
}}
|
|
357
|
+
>
|
|
358
|
+
{Template.bind({})}
|
|
359
|
+
</Story>
|
|
360
|
+
</Canvas>
|
package/src/globals.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
declare module '@open-wc/demoing-storybook'
|
package/src/index.ts
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default __dirname
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Directive, directive, PartInfo, PartType } from 'lit/directive.js'
|
|
2
|
+
|
|
3
|
+
export interface ClassInfoList {
|
|
4
|
+
readonly [classList: string]: boolean
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
class CustomClassMapDirective extends Directive {
|
|
8
|
+
constructor(partInfo: PartInfo) {
|
|
9
|
+
super(partInfo)
|
|
10
|
+
if (
|
|
11
|
+
partInfo.type !== PartType.ATTRIBUTE ||
|
|
12
|
+
partInfo.name !== 'class' ||
|
|
13
|
+
(partInfo.strings?.length as number) > 2
|
|
14
|
+
) {
|
|
15
|
+
throw new Error(
|
|
16
|
+
'`customClassMap()` can only be used in the `class` attribute ' +
|
|
17
|
+
'and must be the only part in the attribute.'
|
|
18
|
+
)
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
render(classInfoList: ClassInfoList) {
|
|
23
|
+
return (
|
|
24
|
+
' ' +
|
|
25
|
+
Object.keys(classInfoList)
|
|
26
|
+
.filter(key => classInfoList[key])
|
|
27
|
+
.join(' ') +
|
|
28
|
+
' '
|
|
29
|
+
)
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* A directive that applies dynamic CSS classes.
|
|
35
|
+
* Since build in `classMap` directive can only apply one class name,
|
|
36
|
+
* this directive is allowing to apply multiple class names.
|
|
37
|
+
*
|
|
38
|
+
* This must be used in the `class` attribute and must be the only part used in
|
|
39
|
+
* the attribute. It takes each property in the `classInfoList` argument and adds
|
|
40
|
+
* the property names to the element's `classList` if the property value is
|
|
41
|
+
* truthy; if the property value is falsey, the property name is removed from
|
|
42
|
+
* the element's `class`.
|
|
43
|
+
*
|
|
44
|
+
* For example `{'foo bar': baz}` applies the class `foo bar` if the value of `baz` is
|
|
45
|
+
* truthy.
|
|
46
|
+
*
|
|
47
|
+
* @param classInfoList
|
|
48
|
+
*/
|
|
49
|
+
export const customClassMap = directive(CustomClassMapDirective)
|
|
50
|
+
|
|
51
|
+
export type { CustomClassMapDirective }
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { hslColorMap } from '../utils/hslColorMap'
|
|
2
|
+
|
|
3
|
+
type ColorMap = {
|
|
4
|
+
[key: string]: string
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Color palette based on the structure thats compatible with Tailwind config
|
|
9
|
+
*/
|
|
10
|
+
export const colorPalette = {
|
|
11
|
+
neutral: hslColorMap(
|
|
12
|
+
206,
|
|
13
|
+
30,
|
|
14
|
+
[
|
|
15
|
+
10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95,
|
|
16
|
+
97, 98, 100,
|
|
17
|
+
]
|
|
18
|
+
),
|
|
19
|
+
honey: hslColorMap(42, 93, [72, 75, 82, 85, 92]),
|
|
20
|
+
coral: hslColorMap(14, 87, [65, 74, 75, 84, 85, 94]),
|
|
21
|
+
warm: hslColorMap(25, 100, [77, 87, 97]),
|
|
22
|
+
'sea-salt': hslColorMap(180, 17, [57, 67, 88]),
|
|
23
|
+
cloud: hslColorMap(200, 38, [43, 75, 88]),
|
|
24
|
+
ocean: hslColorMap(209, 38, [38, 75, 88]),
|
|
25
|
+
sky: hslColorMap(209, 64, [64, 75, 85]),
|
|
26
|
+
lukso: hslColorMap(335, 33, [70, 80, 90]),
|
|
27
|
+
yellow: hslColorMap(36, 100, [55, 65, 75, 85]),
|
|
28
|
+
green: hslColorMap(135, 57, [45, 54, 75, 85]),
|
|
29
|
+
blue: hslColorMap(216, 96, [50, 60, 75, 85]),
|
|
30
|
+
red: hslColorMap(0, 75, [55, 65, 75, 85]),
|
|
31
|
+
purple: hslColorMap(230, 24, [94, 82, 63, 58, 51, 41, 31, 15]),
|
|
32
|
+
'gradient-1': {
|
|
33
|
+
start: '#D39B9D',
|
|
34
|
+
end: '#9071D1',
|
|
35
|
+
},
|
|
36
|
+
'gradient-2': {
|
|
37
|
+
start: '#F8DAD3',
|
|
38
|
+
end: '#CC99AE',
|
|
39
|
+
},
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Splits a color map into smaller color maps
|
|
44
|
+
*
|
|
45
|
+
* @param colors - color map to split
|
|
46
|
+
* @param from - index to start from
|
|
47
|
+
* @param to - index to end at
|
|
48
|
+
* @returns a new color map
|
|
49
|
+
*/
|
|
50
|
+
const splitColor = (colors: ColorMap, from: number, to: number): ColorMap => {
|
|
51
|
+
return Object.keys(colors)
|
|
52
|
+
.slice(from, to)
|
|
53
|
+
.reduce((result, key) => {
|
|
54
|
+
result[key] = colors[key]
|
|
55
|
+
|
|
56
|
+
return result
|
|
57
|
+
}, {})
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Color map subsets that can be used in the Storybook preview
|
|
62
|
+
*/
|
|
63
|
+
export const neutral1 = splitColor(colorPalette.neutral, 0, 8)
|
|
64
|
+
export const neutral2 = splitColor(colorPalette.neutral, 8, 16)
|
|
65
|
+
export const neutral3 = splitColor(
|
|
66
|
+
colorPalette.neutral,
|
|
67
|
+
16,
|
|
68
|
+
Object.keys(colorPalette.neutral).length
|
|
69
|
+
)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Component styles
|
|
3
|
+
*
|
|
4
|
+
* This file contain general styles that should be applied to any component.
|
|
5
|
+
* Since Web Components styles are encapsulated within the Shadow DOM, we need
|
|
6
|
+
* to pass all styles.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
@import './typography';
|
|
10
|
+
|
|
11
|
+
@tailwind base;
|
|
12
|
+
@tailwind components;
|
|
13
|
+
@tailwind utilities;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Fonts
|
|
3
|
+
*
|
|
4
|
+
* This file contains all fonts used in designs.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
$font-file-path: '/assets/fonts' !default;
|
|
8
|
+
|
|
9
|
+
@font-face {
|
|
10
|
+
font-family: Inter;
|
|
11
|
+
src: url('#{$font-file-path}/Inter-Regular.woff2') format('woff2');
|
|
12
|
+
font-weight: normal;
|
|
13
|
+
font-style: normal;
|
|
14
|
+
font-display: swap;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@font-face {
|
|
18
|
+
font-family: Inter;
|
|
19
|
+
src: url('#{$font-file-path}/Inter-Bold.woff2') format('woff2');
|
|
20
|
+
font-weight: bold;
|
|
21
|
+
font-style: normal;
|
|
22
|
+
font-display: swap;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@font-face {
|
|
26
|
+
font-family: Inter;
|
|
27
|
+
src: url('#{$font-file-path}/Inter-SemiBold.woff2') format('woff2');
|
|
28
|
+
font-weight: 600;
|
|
29
|
+
font-style: normal;
|
|
30
|
+
font-display: swap;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@font-face {
|
|
34
|
+
font-family: Inter;
|
|
35
|
+
src: url('#{$font-file-path}/Inter-Medium.woff2') format('woff2');
|
|
36
|
+
font-weight: 500;
|
|
37
|
+
font-style: normal;
|
|
38
|
+
font-display: swap;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@font-face {
|
|
42
|
+
font-family: Inter;
|
|
43
|
+
src: url('#{$font-file-path}/Inter-Thin.woff2') format('woff2');
|
|
44
|
+
font-weight: 100;
|
|
45
|
+
font-style: normal;
|
|
46
|
+
font-display: swap;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@font-face {
|
|
50
|
+
font-family: Inter;
|
|
51
|
+
src: url('#{$font-file-path}/Inter-ExtraBold.woff2') format('woff2');
|
|
52
|
+
font-weight: bold;
|
|
53
|
+
font-style: normal;
|
|
54
|
+
font-display: swap;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@font-face {
|
|
58
|
+
font-family: 'PT Mono';
|
|
59
|
+
src: url('#{$font-file-path}/PT-Mono-Regular.woff2') format('woff2');
|
|
60
|
+
font-weight: normal;
|
|
61
|
+
font-style: normal;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@font-face {
|
|
65
|
+
font-family: 'PT Mono';
|
|
66
|
+
src: url('#{$font-file-path}/PT-Mono-Bold.woff2') format('woff2');
|
|
67
|
+
font-weight: bold;
|
|
68
|
+
font-style: normal;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@font-face {
|
|
72
|
+
font-family: Apax;
|
|
73
|
+
src: url('#{$font-file-path}/Apax-Light.woff2') format('woff2');
|
|
74
|
+
font-weight: 300;
|
|
75
|
+
font-style: normal;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
@font-face {
|
|
79
|
+
font-family: Apax;
|
|
80
|
+
src: url('#{$font-file-path}/Apax-Regular.woff2') format('woff2');
|
|
81
|
+
font-weight: 400;
|
|
82
|
+
font-style: normal;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
@font-face {
|
|
86
|
+
font-family: Apax;
|
|
87
|
+
src: url('#{$font-file-path}/Apax-Medium.woff2') format('woff2');
|
|
88
|
+
font-weight: 500;
|
|
89
|
+
font-style: normal;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
@font-face {
|
|
93
|
+
font-family: Apax;
|
|
94
|
+
src: url('#{$font-file-path}/Apax-Bold.woff2') format('woff2');
|
|
95
|
+
font-weight: 700;
|
|
96
|
+
font-style: normal;
|
|
97
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default __dirname
|