spoko-design-system 0.0.1 → 0.0.5
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/.astro/icon.d.ts +8109 -10
- package/.github/workflows/deploy.yml +39 -39
- package/.stackblitzrc +5 -5
- package/.vscode/extensions.json +5 -4
- package/.vscode/launch.json +11 -11
- package/.vscode/settings.json +6 -0
- package/LICENSE +21 -21
- package/Layout/Header.astro +111 -89
- package/README.md +94 -69
- package/astro-i18next.config.mjs +17 -17
- package/astro-i18next.config.ts +10 -10
- package/astro.config.mjs +51 -42
- package/index.ts +6 -6
- package/package.json +25 -17
- package/public/astro-design-system-logo.svg +10 -10
- package/public/favicon.ico +0 -0
- package/public/favicon.svg +0 -0
- package/public/fonts/lg.svg +53 -53
- package/public/fonts/vwhead-bold-demo.html +549 -549
- package/public/fonts/vwhead-regular-demo.html +549 -549
- package/public/fonts/vwtext-bold-demo.html +549 -549
- package/public/fonts/vwtext-regular-demo.html +549 -549
- package/public/github.svg +3 -3
- package/public/grid_dot.svg +4 -4
- package/public/linkedin.svg +44 -44
- package/public/locales/en/translation.json +8 -5
- package/public/locales/pl/translation.json +8 -5
- package/public/make-scrollable-code-focusable.js +3 -3
- package/public/polo.blue.svg +29 -0
- package/public/spoko.space.svg +71 -0
- package/public/twitter.svg +46 -46
- package/sandbox.config.json +11 -11
- package/src/MyComponent.astro +8 -8
- package/src/components/Badge.vue +19 -19
- package/src/components/Badges.vue +24 -23
- package/src/components/Breadcrumbs.vue +108 -111
- package/src/components/Button.vue +37 -0
- package/src/components/ButtonCopy.vue +52 -0
- package/src/components/Card.astro +25 -0
- package/src/components/CategoryLink.astro +18 -0
- package/src/components/Copyright.astro +11 -11
- package/src/components/Date.astro +7 -0
- package/src/components/FuckRussia.vue +65 -65
- package/src/components/HandDrive.astro +29 -30
- package/src/components/HeadCommon.astro +40 -40
- package/src/components/HeadSEO.astro +41 -41
- package/src/components/Header/AstroLogo.astro +7 -27
- package/src/components/Header/Header.astro +44 -48
- package/src/components/Header/SkipToContent.astro +1 -1
- package/src/components/Headline.vue +60 -0
- package/src/components/Image.astro +30 -0
- package/src/components/Jumbatron.vue +46 -31
- package/src/components/LeftSidebar.astro +45 -44
- package/src/components/MainColors.vue +29 -29
- package/src/components/MainInput.vue +18 -18
- package/src/components/MainTable.vue +40 -45
- package/src/components/Modal.astro +30 -0
- package/src/components/PageContent.astro +14 -14
- package/src/components/PostHeader.astro +104 -0
- package/src/components/PrCode.vue +156 -0
- package/src/components/ProductNumber.astro +117 -0
- package/src/components/ProductTile.astro +54 -0
- package/src/components/RightSidebar.astro +15 -11
- package/src/components/SlimBanner.vue +59 -59
- package/src/components/TableOfContents.astro +11 -11
- package/src/components/Translations.vue +27 -0
- package/src/components/flags/FlagPL.vue +2 -2
- package/src/components/flags/FlagUA.vue +2 -2
- package/src/components/layout/Header.astro +50 -69
- package/src/config.ts +51 -42
- package/src/design.config.ts +73 -92
- package/src/env.d.ts +1 -1
- package/src/flag-poland.svg +1 -0
- package/src/flag-uk.svg +1 -0
- package/src/layouts/Layout.astro +43 -0
- package/src/layouts/MainLayout.astro +60 -50
- package/src/pages/components/badges.mdx +69 -35
- package/src/pages/components/breadcrumbs.mdx +136 -103
- package/src/pages/components/buttons.mdx +143 -60
- package/src/pages/components/card.mdx +40 -0
- package/src/pages/components/copyright.mdx +41 -24
- package/src/pages/components/flags.mdx +40 -26
- package/src/pages/components/fuck-russia.mdx +39 -16
- package/src/pages/components/hand-drive.mdx +38 -27
- package/src/pages/components/headline.mdx +148 -0
- package/src/pages/components/icons.astro +54 -45
- package/src/pages/components/image.mdx +502 -0
- package/src/pages/components/input.mdx +45 -14
- package/src/pages/components/jumbatron.mdx +71 -48
- package/src/pages/components/modal.mdx +64 -0
- package/src/pages/components/post-header.mdx +58 -0
- package/src/pages/components/pr-code.mdx +41 -0
- package/src/pages/components/product-number.mdx +65 -0
- package/src/pages/components/product-tile.mdx +39 -0
- package/src/pages/components/slimbanner.mdx +29 -27
- package/src/pages/components/table.mdx +39 -20
- package/src/pages/core/colors.mdx +8 -8
- package/src/pages/core/introduction.mdx +74 -68
- package/src/pages/core/shadows.astro +20 -20
- package/src/pages/core/typography.astro +46 -46
- package/src/pages/index.astro +70 -52
- package/src/pages/patterns/introduction.mdx +60 -61
- package/src/styles/_variables.scss +75 -75
- package/src/styles/base/_base.scss +166 -158
- package/src/styles/base/_typography.scss +147 -147
- package/src/styles/content.scss +66 -71
- package/src/styles/main.scss +22 -22
- package/tailwind.config.cjs +8 -8
- package/tsconfig.json +11 -11
- package/uno.config.ts +246 -227
- package/src/components/MainButton.vue +0 -26
- package/src/components/MainStatusPill.vue +0 -32
- package/src/pages/components/status-pill.mdx +0 -22
|
@@ -1,60 +1,143 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Buttons"
|
|
3
|
-
layout: "../../layouts/MainLayout.astro"
|
|
4
|
-
---
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
</
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
<
|
|
30
|
-
<
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
</
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
<div class="component-preview">
|
|
55
|
-
<
|
|
56
|
-
</
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
```
|
|
1
|
+
---
|
|
2
|
+
title: "Buttons"
|
|
3
|
+
layout: "../../layouts/MainLayout.astro"
|
|
4
|
+
---
|
|
5
|
+
import Button from '../../components/Button.vue'
|
|
6
|
+
import ButtonCopy from '../../components/ButtonCopy.vue'
|
|
7
|
+
import { Icon } from 'astro-icon/components';
|
|
8
|
+
import { t } from "i18next";
|
|
9
|
+
|
|
10
|
+
## All buttons
|
|
11
|
+
|
|
12
|
+
This page is an example on how to document your button components, most of the copy was written by AI so don't take it very seriously.
|
|
13
|
+
|
|
14
|
+
Find the code for this page in the `src/pages/components/buttons.md` file.
|
|
15
|
+
|
|
16
|
+
<div class="component-preview">
|
|
17
|
+
<Button primary>Primary</Button>
|
|
18
|
+
<Button secondary>Secondary</Button>
|
|
19
|
+
<Button tertiary>Tertiary</Button>
|
|
20
|
+
|
|
21
|
+
<Button text medium>Text</Button>
|
|
22
|
+
<Button tag small>Tag Name</Button>
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
```js
|
|
26
|
+
<Button primary>Primary</Button>
|
|
27
|
+
<Button secondary>Secondary</Button>
|
|
28
|
+
<Button tertiary>Tertiary</Button>
|
|
29
|
+
<Button text medium>Text</Button>
|
|
30
|
+
<Button tag small>Tag Name</Button>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Primary button `<button>`
|
|
34
|
+
|
|
35
|
+
We use the primary button for main actions like saving a form or creating a new item.
|
|
36
|
+
|
|
37
|
+
<div class="component-preview">
|
|
38
|
+
<Button primary>Primary</Button>
|
|
39
|
+
<Button primary medium>Primary</Button>
|
|
40
|
+
<Button primary small>Primary</Button>
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
|
+
```js
|
|
44
|
+
<Button primary>Primary</Button>
|
|
45
|
+
<Button primary medium>Primary</Button>
|
|
46
|
+
<Button primary small>Primary</Button>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Secondary button
|
|
50
|
+
|
|
51
|
+
Secondary buttons accompany primary buttons to provide additional actions.
|
|
52
|
+
For example, cancel buttons are secondary buttons.
|
|
53
|
+
|
|
54
|
+
<div class="component-preview">
|
|
55
|
+
<Button secondary>Secondary</Button>
|
|
56
|
+
<Button secondary medium>Secondary</Button>
|
|
57
|
+
<Button secondary small>Secondary</Button>
|
|
58
|
+
</div>
|
|
59
|
+
|
|
60
|
+
```js
|
|
61
|
+
<Button secondary>Secondary</Button>
|
|
62
|
+
<Button secondary medium>Secondary</Button>
|
|
63
|
+
<Button secondary small>Secondary</Button>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Text button
|
|
67
|
+
|
|
68
|
+
Text buttons are used for actions that do not require a primary or secondary button.
|
|
69
|
+
|
|
70
|
+
<div class="component-preview">
|
|
71
|
+
<Button text>Text button</Button>
|
|
72
|
+
<Button text>Text button</Button>
|
|
73
|
+
<Button text>Text button</Button>
|
|
74
|
+
</div>
|
|
75
|
+
|
|
76
|
+
```js
|
|
77
|
+
<Button text>Text button</Button>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Link tertiary
|
|
81
|
+
|
|
82
|
+
<div class="component-preview">
|
|
83
|
+
|
|
84
|
+
<Button tertiary>Tertiary</Button>
|
|
85
|
+
<Button tertiary medium>Tertiary</Button>
|
|
86
|
+
<Button tertiary small>Tertiary</Button>
|
|
87
|
+
|
|
88
|
+
</div>
|
|
89
|
+
|
|
90
|
+
```html
|
|
91
|
+
<Button tertiary>Tertiary</Button>
|
|
92
|
+
<Button tertiary medium>Tertiary</Button>
|
|
93
|
+
<Button tertiary small>Tertiary</Button>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Tertiary with icon
|
|
97
|
+
<div class="component-preview">
|
|
98
|
+
<Button tertiary href="#">
|
|
99
|
+
Read more
|
|
100
|
+
<Icon name="flowbite:arrow-right-outline" class="ml-2 text-2xl -my-1 -mr-1" />
|
|
101
|
+
</Button>
|
|
102
|
+
|
|
103
|
+
<Button tertiary href="#" medium>
|
|
104
|
+
Read more
|
|
105
|
+
<Icon name="flowbite:arrow-right-outline" class="ml-2 text-2xl -my-1 -mr-1" />
|
|
106
|
+
</Button>
|
|
107
|
+
|
|
108
|
+
<Button tertiary href="#" small class="px-5">
|
|
109
|
+
Read more
|
|
110
|
+
<Icon name="flowbite:arrow-right-outline" class="ml-2 text-2xl -my-1 -mr-1" />
|
|
111
|
+
</Button>
|
|
112
|
+
</div>
|
|
113
|
+
|
|
114
|
+
```html
|
|
115
|
+
<Button tertiary href="#">
|
|
116
|
+
Read more
|
|
117
|
+
<Icon name="flowbite:arrow-right-outline" class="ml-2 text-2xl -my-1 -mr-1" />
|
|
118
|
+
</Button>
|
|
119
|
+
|
|
120
|
+
<Button tertiary href="#" medium>
|
|
121
|
+
Read more
|
|
122
|
+
<Icon name="flowbite:arrow-right-outline" class="ml-2 text-2xl -my-1 -mr-1" />
|
|
123
|
+
</Button>
|
|
124
|
+
|
|
125
|
+
<Button tertiary href="#" small class="px-5">
|
|
126
|
+
Read more
|
|
127
|
+
<Icon name="flowbite:arrow-right-outline" class="ml-2 text-2xl -my-1 -mr-1" />
|
|
128
|
+
</Button>
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
## Link button `<a>`
|
|
134
|
+
|
|
135
|
+
Text buttons are used for actions that do not require a primary or secondary button.
|
|
136
|
+
|
|
137
|
+
<div class="component-preview">
|
|
138
|
+
<Button primary href="#" title="Title">Text button</Button>
|
|
139
|
+
</div>
|
|
140
|
+
|
|
141
|
+
```js
|
|
142
|
+
<Button primary href="#" title="Title">Text button</Button>
|
|
143
|
+
```
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Card"
|
|
3
|
+
layout: "../../layouts/MainLayout.astro"
|
|
4
|
+
---
|
|
5
|
+
import Button from '../../components/Button.vue';
|
|
6
|
+
import Card from '../../components/Card.astro'
|
|
7
|
+
import { Icon } from 'astro-icon/components';
|
|
8
|
+
import Image from '../../components/Image.astro'
|
|
9
|
+
|
|
10
|
+
## Card
|
|
11
|
+
|
|
12
|
+
Card - product link component which can be used for carousels, section with related products, recently added etc.
|
|
13
|
+
|
|
14
|
+
<div class="component-preview">
|
|
15
|
+
<div class="grid grid-cols-3 gap-8 w-full" itemscope itemtype="https://schema.org/ItemList">
|
|
16
|
+
<Card imgAlt="Image Alt" imgSrc="https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=826&t=st=1706315168~exp=1706315768~hmac=ed7872d0924dbda4322a3d346eef282edd77db3673fc209c933b02e37c29f9ac" >
|
|
17
|
+
<a href="#">
|
|
18
|
+
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white leading-none">Lorem Ipsum</h5>
|
|
19
|
+
</a>
|
|
20
|
+
<p class="mb-3 font-normal text-gray-700 dark:text-gray-400">
|
|
21
|
+
Magna magna mollit esse incididunt deserunt eiusmod ad id ullamco cupidatat laborum enim nostrud. Irure officia occaecat adipisicing amet labore et incididunt exercitation. Consequat aliqua excepteur duis dolore cupidatat.
|
|
22
|
+
</p>
|
|
23
|
+
<div class="flex items-center justify-between mb-4">
|
|
24
|
+
<span class="text-2xl font-bold text-gray-900 dark:text-white">€599.00</span>
|
|
25
|
+
</div>
|
|
26
|
+
<Button tertiary href="#">
|
|
27
|
+
Read more
|
|
28
|
+
<Icon name="flowbite:arrow-right-outline" class="ml-2 text-2xl leading-none" />
|
|
29
|
+
</Button>
|
|
30
|
+
</Card>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
```html
|
|
35
|
+
<div class="grid grid-cols-3 gap-8 w-full" itemscope itemtype="https://schema.org/ItemList">
|
|
36
|
+
|
|
37
|
+
</div>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
|
|
@@ -1,24 +1,41 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Copyright"
|
|
3
|
-
layout: "../../layouts/MainLayout.astro"
|
|
4
|
-
---
|
|
5
|
-
import Copyright from '../../components/Copyright.astro'
|
|
6
|
-
|
|
7
|
-
## Copyright
|
|
8
|
-
|
|
9
|
-
Copyright component
|
|
10
|
-
<div class="component-preview">
|
|
11
|
-
<Copyright class="
|
|
12
|
-
<div slot="left-item">left item</div>
|
|
13
|
-
<div slot="middle-item">middle item</div>
|
|
14
|
-
<div slot="right-item">right item</div>
|
|
15
|
-
</Copyright>
|
|
16
|
-
</div>
|
|
17
|
-
|
|
18
|
-
```js
|
|
19
|
-
<Copyright class="
|
|
20
|
-
<div slot="left-item">left item</div>
|
|
21
|
-
<div slot="middle-item">middle item</div>
|
|
22
|
-
<div slot="right-item">right item</div>
|
|
23
|
-
</Copyright>
|
|
24
|
-
```
|
|
1
|
+
---
|
|
2
|
+
title: "Copyright"
|
|
3
|
+
layout: "../../layouts/MainLayout.astro"
|
|
4
|
+
---
|
|
5
|
+
import Copyright from '../../components/Copyright.astro'
|
|
6
|
+
|
|
7
|
+
## Copyright
|
|
8
|
+
|
|
9
|
+
Copyright component
|
|
10
|
+
<div class="component-preview">
|
|
11
|
+
<Copyright class="w-full">
|
|
12
|
+
<div slot="left-item">left item</div>
|
|
13
|
+
<div slot="middle-item">middle item</div>
|
|
14
|
+
<div slot="right-item">right item</div>
|
|
15
|
+
</Copyright>
|
|
16
|
+
</div>
|
|
17
|
+
|
|
18
|
+
```js
|
|
19
|
+
<Copyright class="w-full" >
|
|
20
|
+
<div slot="left-item">left item</div>
|
|
21
|
+
<div slot="middle-item">middle item</div>
|
|
22
|
+
<div slot="right-item">right item</div>
|
|
23
|
+
</Copyright>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Copyright with custom classes
|
|
27
|
+
<div class="component-preview">
|
|
28
|
+
<Copyright class="z-0 w-full">
|
|
29
|
+
<div slot="left-item">left item</div>
|
|
30
|
+
<div slot="middle-item">middle item</div>
|
|
31
|
+
<div slot="right-item">right item</div>
|
|
32
|
+
</Copyright>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
```js
|
|
36
|
+
<Copyright class="fixed bottom-0 z-0 w-full" >
|
|
37
|
+
<div slot="left-item">left item</div>
|
|
38
|
+
<div slot="middle-item">middle item</div>
|
|
39
|
+
<div slot="right-item">right item</div>
|
|
40
|
+
</Copyright>
|
|
41
|
+
```
|
|
@@ -1,27 +1,41 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "FuckRussia"
|
|
3
|
-
layout: "../../layouts/MainLayout.astro"
|
|
4
|
-
---
|
|
5
|
-
import FlagPL from '../../components/flags/FlagPL.vue'
|
|
6
|
-
import FlagUA from '../../components/flags/FlagUA.vue'
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Flags
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
---
|
|
2
|
+
title: "FuckRussia"
|
|
3
|
+
layout: "../../layouts/MainLayout.astro"
|
|
4
|
+
---
|
|
5
|
+
import FlagPL from '../../components/flags/FlagPL.vue'
|
|
6
|
+
import FlagUA from '../../components/flags/FlagUA.vue'
|
|
7
|
+
import { Icon } from 'astro-icon/components'
|
|
8
|
+
|
|
9
|
+
## Flags
|
|
10
|
+
Flags based on CSS (UnoCSS) classes only.
|
|
11
|
+
|
|
12
|
+
### Flag PL
|
|
13
|
+
<div class="component-preview">
|
|
14
|
+
<FlagPL />
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
```js
|
|
18
|
+
<FlagPL />
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Flag UA
|
|
22
|
+
<div class="component-preview">
|
|
23
|
+
<FlagUA />
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
```js
|
|
27
|
+
<FlagUA />
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Circle icon flags
|
|
31
|
+
<div class="component-preview">
|
|
32
|
+
<Icon name="circle-flags:pl" />
|
|
33
|
+
<Icon name="circle-flags:uk" />
|
|
34
|
+
<Icon name="circle-flags:ua" />
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
```js
|
|
38
|
+
<Icon name="circle-flags:pl" />
|
|
39
|
+
<Icon name="circle-flags:uk" />
|
|
40
|
+
<Icon name="circle-flags:ua" />
|
|
27
41
|
```
|
|
@@ -1,16 +1,39 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "FuckRussia"
|
|
3
|
-
layout: "../../layouts/MainLayout.astro"
|
|
4
|
-
---
|
|
5
|
-
import FuckRussia from '../../components/FuckRussia.vue'
|
|
6
|
-
|
|
7
|
-
## FuckRussia
|
|
8
|
-
|
|
9
|
-
FuckRussia - solidarity with Ukraine.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
---
|
|
2
|
+
title: "FuckRussia"
|
|
3
|
+
layout: "../../layouts/MainLayout.astro"
|
|
4
|
+
---
|
|
5
|
+
import FuckRussia from '../../components/FuckRussia.vue'
|
|
6
|
+
|
|
7
|
+
## FuckRussia
|
|
8
|
+
|
|
9
|
+
FuckRussia - solidarity with Ukraine.
|
|
10
|
+
|
|
11
|
+
```js
|
|
12
|
+
import FuckRussia from '../../components/FuckRussia.vue'
|
|
13
|
+
```
|
|
14
|
+
####
|
|
15
|
+
|
|
16
|
+
### Animation only
|
|
17
|
+
|
|
18
|
+
<div class="component-preview">
|
|
19
|
+
<FuckRussia />
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
```js
|
|
23
|
+
<FuckRussia />
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Linked animation
|
|
28
|
+
|
|
29
|
+
<div class="component-preview">
|
|
30
|
+
<a href="https://polo.blue/support-ukraine/" target="_blank" rel="noopener">
|
|
31
|
+
<FuckRussia />
|
|
32
|
+
</a>
|
|
33
|
+
</div>
|
|
34
|
+
|
|
35
|
+
```js
|
|
36
|
+
<a href="https://polo.blue/support-ukraine/" target="_blank" rel="noopener">
|
|
37
|
+
<FuckRussia />
|
|
38
|
+
</a>
|
|
39
|
+
```
|
|
@@ -1,27 +1,38 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "HandDrive"
|
|
3
|
-
layout: "../../layouts/MainLayout.astro"
|
|
4
|
-
---
|
|
5
|
-
import HandDrive from '../../components/HandDrive.astro'
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
```js
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
<div class="component-preview">
|
|
22
|
-
<HandDrive handDrive={
|
|
23
|
-
</div>
|
|
24
|
-
|
|
25
|
-
```js
|
|
26
|
-
<HandDrive handDrive={
|
|
27
|
-
```
|
|
1
|
+
---
|
|
2
|
+
title: "HandDrive"
|
|
3
|
+
layout: "../../layouts/MainLayout.astro"
|
|
4
|
+
---
|
|
5
|
+
import HandDrive from '../../components/HandDrive.astro'
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
## HandDrive
|
|
9
|
+
RHD (right-hand drive) and LHD (left-hand drive) badges.
|
|
10
|
+
- https://en.wikipedia.org/wiki/Left-_and_right-hand_traffic
|
|
11
|
+
|
|
12
|
+
#### import:
|
|
13
|
+
|
|
14
|
+
```js
|
|
15
|
+
import HandDrive from 'spoko-design-system/src/components/HandDrive.astro'
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### RHD
|
|
20
|
+
|
|
21
|
+
<div class="component-preview">
|
|
22
|
+
<HandDrive handDrive={0} />
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
```js
|
|
26
|
+
<HandDrive handDrive={0} />
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
### LHD
|
|
32
|
+
<div class="component-preview">
|
|
33
|
+
<HandDrive handDrive={1} />
|
|
34
|
+
</div>
|
|
35
|
+
|
|
36
|
+
```js
|
|
37
|
+
<HandDrive handDrive={1} />
|
|
38
|
+
```
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Headline"
|
|
3
|
+
layout: "../../layouts/MainLayout.astro"
|
|
4
|
+
---
|
|
5
|
+
import Headline from '../../components/Headline.vue'
|
|
6
|
+
import { Icon } from 'astro-icon/components';
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Headline
|
|
10
|
+
|
|
11
|
+
### Headline - universal HTML tag <small>(nice for SEO)</small>
|
|
12
|
+
Headings give both your visitors and search engines important clues about the content’s hierarchy and relevancy.
|
|
13
|
+
It's good to use only H1-H6 for important headings, but sometimes I want more things to be unified. That's why I created this universal component.
|
|
14
|
+
|
|
15
|
+
Thanks to this, I can make a header that always looks the same, regardless of whether it is an H1 or a DIV or P.
|
|
16
|
+
|
|
17
|
+
## Import
|
|
18
|
+
|
|
19
|
+
```js
|
|
20
|
+
import Headline from 'spoko-design-system/src/components/Headline.vue';
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## settings (parameters)
|
|
24
|
+
```js
|
|
25
|
+
as: {
|
|
26
|
+
type: String as PropType<'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'div' | 'span'>,
|
|
27
|
+
default: null,
|
|
28
|
+
required: true,
|
|
29
|
+
},
|
|
30
|
+
textSize: {
|
|
31
|
+
type: String as PropType<'xs' | 'sm' | 'base' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl' | '7xl' | '8xl' | '9xl'>,
|
|
32
|
+
required: false,
|
|
33
|
+
default: null
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
#### Headline H1
|
|
39
|
+
|
|
40
|
+
<div class="component-preview">
|
|
41
|
+
<Headline as="h1">Lorem Ipsum</Headline>
|
|
42
|
+
</div>
|
|
43
|
+
|
|
44
|
+
```js
|
|
45
|
+
<Headline as="h1">
|
|
46
|
+
Lorem Ipsum
|
|
47
|
+
</Headline>
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
#### Headline H2
|
|
53
|
+
|
|
54
|
+
<div class="component-preview">
|
|
55
|
+
<Headline as="h2"><Icon name="ph:cat-thin" class="inline-block mb-0 sm:mb-2.5 md:mb-0 md:(mr-4)" aria-hidden="true" />Lorem Ipsum</Headline>
|
|
56
|
+
</div>
|
|
57
|
+
|
|
58
|
+
```js
|
|
59
|
+
<Headline as="h2">
|
|
60
|
+
<Icon name="ph:cat-thin" class="mb-0 sm:mb-2.5 md:mb-0 md:(mr-4)" aria-hidden="true" />
|
|
61
|
+
Lorem Ipsum
|
|
62
|
+
</Headline>
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
#### Headline DIV
|
|
67
|
+
|
|
68
|
+
<div class="component-preview">
|
|
69
|
+
<Headline as="div"><Icon name="ph:cat-thin" class="inline-block mb-0 sm:mb-2.5 md:mb-0 md:(mr-4) text-blue-wrc" aria-hidden="true" />Lorem Ipsum</Headline>
|
|
70
|
+
</div>
|
|
71
|
+
|
|
72
|
+
```js
|
|
73
|
+
<Headline as="div">
|
|
74
|
+
<Icon name="ph:cat-thin" class="inline-block mb-0 sm:mb-2.5 md:mb-0 md:(mr-4) text-blue-wrc" aria-hidden="true" />
|
|
75
|
+
Lorem Ipsum
|
|
76
|
+
</Headline>
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
#### Headline P
|
|
81
|
+
|
|
82
|
+
<div class="component-preview">
|
|
83
|
+
<Headline as="p"><Icon name="ph:cat-thin" class="inline-block text-4xl mb-0 sm:mb-2.5 md:mb-0 md:(mr-4) text-4xl text-blue-wrc" aria-hidden="true" />Lorem Ipsum</Headline>
|
|
84
|
+
</div>
|
|
85
|
+
|
|
86
|
+
```js
|
|
87
|
+
<Headline as="p">
|
|
88
|
+
<Icon name="ph:cat-thin" class="inline-block text-4xl mb-0 sm:mb-2.5 md:mb-0 md:(mr-4) text-4xl text-blue-wrc" aria-hidden="true" />
|
|
89
|
+
Lorem Ipsum
|
|
90
|
+
</Headline>
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
#### Headline without icon
|
|
95
|
+
|
|
96
|
+
<div class="component-preview">
|
|
97
|
+
<Headline as="p">Lorem Ipsum</Headline>
|
|
98
|
+
</div>
|
|
99
|
+
|
|
100
|
+
```js
|
|
101
|
+
<Headline as="p">Lorem Ipsum</Headline>
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
#### Headline without icon, text size 4xl
|
|
106
|
+
|
|
107
|
+
<div class="component-preview">
|
|
108
|
+
<Headline as="h1" text-size="4xl">Lorem Ipsum</Headline>
|
|
109
|
+
</div>
|
|
110
|
+
|
|
111
|
+
```js
|
|
112
|
+
<Headline as="h1" text-size="4xl">Lorem Ipsum</Headline>
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
#### Headline without icon, text size 4xl with blue icon
|
|
118
|
+
|
|
119
|
+
<div class="component-preview">
|
|
120
|
+
<Headline as="h1" text-size="4xl"><Icon name="ph:cat-thin" class="inline-block text-4xl mb-0 sm:mb-2.5 md:mb-0 md:(mr-4) text-4xl text-blue-wrc" aria-hidden="true" />Lorem Ipsum</Headline>
|
|
121
|
+
</div>
|
|
122
|
+
|
|
123
|
+
```js
|
|
124
|
+
<Headline as="h1" text-size="4xl" icon-color="blue-wrc">
|
|
125
|
+
<Icon name="ph:cat-thin" class="inline-block text-4xl mb-0 sm:mb-2.5 md:mb-0 md:(mr-4) text-4xl text-blue-wrc" aria-hidden="true" />
|
|
126
|
+
Lorem Ipsum
|
|
127
|
+
</Headline>
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
#### Headline with underline
|
|
133
|
+
|
|
134
|
+
<div class="component-preview">
|
|
135
|
+
<Headline as="h1" text-size="4xl" underline><Icon name="ph:cat-thin" class="inline-block text-4xl mb-0 sm:mb-2.5 md:mb-0 md:(mr-4) text-4xl text-blue-wrc" aria-hidden="true" />Lorem Ipsum</Headline>
|
|
136
|
+
</div>
|
|
137
|
+
|
|
138
|
+
```js
|
|
139
|
+
<Headline as="h1" text-size="4xl" icon-color="blue-wrc" underline>
|
|
140
|
+
<Icon name="ph:cat-thin" class="inline-block text-4xl mb-0 sm:mb-2.5 md:mb-0 md:(mr-4) text-4xl text-blue-wrc" aria-hidden="true" />
|
|
141
|
+
Lorem Ipsum
|
|
142
|
+
</Headline>
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
#
|
|
147
|
+
|
|
148
|
+
<div class="headline headline--underline"></div>
|