spoko-design-system 0.9.2 → 0.9.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/.astro/settings.json +4 -4
- package/.astro/types.d.ts +1 -1
- package/.claude/settings.local.json +2 -1
- package/.github/dependabot.yml +11 -11
- package/.github/todo.yml +3 -3
- package/.github/workflows/deploy.yml +39 -39
- package/.stackblitzrc +5 -5
- package/.vscode/extensions.json +5 -5
- package/.vscode/launch.json +11 -11
- package/.vscode/settings.json +5 -5
- package/LICENSE +21 -21
- package/README.md +116 -116
- package/astro-i18next.config.mjs +17 -17
- package/astro-i18next.config.ts +10 -10
- package/astro.config.mjs +86 -86
- package/dev-dist/sw.js +91 -91
- package/dev-dist/workbox-c676b6d3.js +3391 -3391
- package/icon.config.ts +310 -310
- package/index.ts +70 -70
- package/package.json +124 -124
- package/public/arrow-bottom.svg +7 -7
- 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 +12 -12
- package/public/locales/pl/translation.json +12 -12
- package/public/make-scrollable-code-focusable.js +3 -3
- package/public/pagefind.yml +3 -3
- package/public/polo.blue.svg +29 -29
- package/public/spoko.space.svg +71 -71
- package/public/twitter.svg +46 -46
- package/renovate.json +6 -6
- package/sandbox.config.json +11 -11
- package/src/MyComponent.astro +8 -8
- package/src/components/Badge.vue +19 -19
- package/src/components/Badges.vue +21 -21
- package/src/components/Breadcrumbs.vue +94 -94
- package/src/components/Button.vue +101 -101
- package/src/components/ButtonCopy.astro +183 -183
- package/src/components/ButtonCopy.vue +36 -36
- package/src/components/Card.astro +27 -27
- package/src/components/Carousel.astro +26 -26
- package/src/components/Category/CategoriesCarousel.astro +101 -101
- package/src/components/Category/CategoryDetails.astro +169 -169
- package/src/components/Category/CategoryLink.vue +28 -28
- package/src/components/Category/CategorySidebarToggler.vue +9 -9
- package/src/components/Category/CategoryTile.astro +37 -37
- package/src/components/Category/CategoryViewToggler.astro +89 -89
- package/src/components/Category/SubCategoryLink.vue +19 -19
- package/src/components/Copyright.astro +12 -12
- package/src/components/Date.astro +7 -7
- package/src/components/Faq.astro +33 -33
- package/src/components/FaqItem.astro +80 -80
- package/src/components/FeaturesList.vue +37 -37
- package/src/components/FuckRussia.vue +62 -62
- package/src/components/HandDrive.astro +29 -29
- package/src/components/Header/Header.astro +210 -210
- package/src/components/Header/SkipToContent.astro +1 -1
- package/src/components/Headline.vue +87 -87
- package/src/components/Image.astro +30 -30
- package/src/components/{layout → Layout}/CallToAction.astro +52 -52
- package/src/components/{layout → Layout}/Container.astro +7 -7
- package/src/components/{layout → Layout}/Header.astro +80 -80
- package/src/components/LeftSidebar.astro +53 -53
- package/src/components/MainColors.vue +22 -22
- package/src/components/MainInput.vue +15 -15
- package/src/components/Modal.astro +27 -27
- package/src/components/PageContent.astro +5 -5
- package/src/components/PartNumber.vue +27 -27
- package/src/components/Post/PostCategories.astro +41 -41
- package/src/components/Post/PostCategories.vue +30 -30
- package/src/components/PostHeader.astro +103 -103
- package/src/components/PrCode.vue +141 -141
- package/src/components/Product/ProductButton.vue +18 -18
- package/src/components/Product/ProductCarousel.astro +35 -35
- package/src/components/Product/ProductEngineType.vue +42 -42
- package/src/components/Product/ProductImage.astro +40 -40
- package/src/components/Product/ProductLink.astro +101 -101
- package/src/components/Product/ProductLink.vue +59 -59
- package/src/components/Product/ProductLinkInfo.astro +37 -37
- package/src/components/Product/ProductNumber.astro +60 -60
- package/src/components/ProductCarousel.astro +38 -38
- package/src/components/ProductCodes.vue +39 -39
- package/src/components/ProductDetailName.vue +52 -52
- package/src/components/ProductDetailsList.vue +216 -216
- package/src/components/ProductTile.astro +48 -48
- package/src/components/Quote.vue +23 -23
- package/src/components/ReloadPrompt.astro +50 -50
- package/src/components/SlimBanner.vue +72 -72
- package/src/components/Table.vue +32 -32
- package/src/components/TableOfContents.astro +15 -15
- package/src/components/Translations.vue +23 -23
- package/src/components/flags/FlagPL.vue +3 -3
- package/src/components/flags/FlagUA.vue +2 -2
- package/src/config.ts +56 -56
- package/src/design.config.ts +98 -98
- package/src/env.d.ts +6 -6
- package/src/layouts/Layout.astro +61 -61
- package/src/layouts/MainLayout.astro +81 -81
- package/src/layouts/partials/FooterCommon.astro +4 -4
- package/src/layouts/partials/HeadCommon.astro +44 -44
- package/src/layouts/partials/HeadSEO.astro +41 -41
- package/src/pages/components/badges.mdx +57 -57
- package/src/pages/components/breadcrumbs.mdx +139 -139
- package/src/pages/components/buttons.mdx +360 -360
- package/src/pages/components/card.mdx +294 -294
- package/src/pages/components/carousel.mdx +62 -62
- package/src/pages/components/copyright.mdx +42 -42
- package/src/pages/components/details-list.mdx +115 -115
- package/src/pages/components/features-list.mdx +37 -37
- package/src/pages/components/flags.mdx +49 -49
- package/src/pages/components/fuck-russia.mdx +39 -39
- package/src/pages/components/hand-drive.mdx +38 -38
- package/src/pages/components/headline.mdx +137 -137
- package/src/pages/components/icons.astro +135 -135
- package/src/pages/components/image.mdx +513 -513
- package/src/pages/components/input.mdx +367 -367
- package/src/pages/components/jumbotron.mdx +359 -359
- package/src/pages/components/modal.mdx +64 -64
- package/src/pages/components/post-header.mdx +64 -64
- package/src/pages/components/pr-code.mdx +65 -65
- package/src/pages/components/product-number.mdx +58 -58
- package/src/pages/components/product-tile.mdx +51 -51
- package/src/pages/components/quote.mdx +33 -33
- package/src/pages/components/slimbanner.mdx +35 -35
- package/src/pages/components/table.mdx +108 -108
- package/src/pages/core/colors.mdx +10 -10
- package/src/pages/core/grid.mdx +89 -89
- package/src/pages/core/introduction.mdx +77 -77
- package/src/pages/core/shadows.astro +20 -20
- package/src/pages/core/typography.astro +49 -49
- package/src/pages/index.astro +133 -133
- package/src/pages/patterns/introduction.mdx +60 -60
- package/src/pwa.ts +12 -12
- package/src/styles/_variables.scss +70 -70
- package/src/styles/base/base.css +184 -184
- package/src/styles/base/grid.css +92 -92
- package/src/styles/base/typography.css +70 -70
- package/src/styles/content.css +73 -73
- package/src/styles/main.css +7 -7
- package/src/types/Product.ts +31 -31
- package/src/types/astro.d.ts +3 -3
- package/src/utils/product/getPriceFormatted.ts +15 -15
- package/src/utils/product/getProductChecklist.ts +17 -17
- package/src/utils/product/useFormatProductNumber.ts +41 -41
- package/src/utils/seo/getShorterDescription.ts +14 -14
- package/src/utils/text/formatDate.ts +5 -5
- package/src/utils/text/formatLocaleNumber.ts +6 -6
- package/src/utils/text/formatPad.ts +12 -12
- package/src/utils/text/getNumberFormatted.ts +33 -33
- package/src/utils/text/getTranslatedLink.ts +5 -5
- package/src/utils/text.ts +19 -19
- package/tailwind.config.cjs +8 -8
- package/tsconfig.json +28 -28
- package/uno-config/index.ts +268 -266
- package/uno-config/theme/breakpoints.ts +9 -9
- package/uno-config/theme/colors.ts +64 -64
- package/uno-config/theme/dimensions.ts +17 -17
- package/uno-config/theme/effects.ts +14 -14
- package/uno-config/theme/grid.ts +10 -10
- package/uno-config/theme/index.ts +28 -28
- package/uno-config/theme/shortcuts/buttons.ts +53 -53
- package/uno-config/theme/shortcuts/components.ts +123 -123
- package/uno-config/theme/shortcuts/index.ts +20 -20
- package/uno-config/theme/shortcuts/layout.ts +74 -74
- package/uno-config/theme/typography.ts +29 -29
- package/uno.config.ts +2 -2
|
@@ -1,39 +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
|
-
```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
|
+
---
|
|
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,38 +1,38 @@
|
|
|
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
|
-
```
|
|
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
|
+
```
|
|
@@ -1,137 +1,137 @@
|
|
|
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
|
-
|
|
13
|
-
#
|
|
14
|
-
Headings give both your visitors and search engines important clues about the content's hierarchy and relevancy.
|
|
15
|
-
|
|
16
|
-
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.
|
|
17
|
-
|
|
18
|
-
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.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
### Import
|
|
22
|
-
|
|
23
|
-
```js
|
|
24
|
-
import Headline from 'spoko-design-system/src/components/Headline.vue';
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### Settings
|
|
28
|
-
supported parameters
|
|
29
|
-
```js
|
|
30
|
-
as: {
|
|
31
|
-
type: String as PropType<'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'div' | 'span'>,
|
|
32
|
-
default: 'span',
|
|
33
|
-
required: true,
|
|
34
|
-
},
|
|
35
|
-
textSize: {
|
|
36
|
-
type: String as PropType<'xs' | 'sm' | 'base' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl' | '7xl' | '8xl' | '9xl'>,
|
|
37
|
-
required: false,
|
|
38
|
-
default: null
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
## Examples
|
|
45
|
-
|
|
46
|
-
<div class="component-preview flex-wrap flex-col justify-start !items-start">
|
|
47
|
-
<ul class="list-decimal list-outside">
|
|
48
|
-
<li class="px-4 pb-4"><Headline as="h1" font-family="head" font-weight="regular">Regular Headline</Headline></li>
|
|
49
|
-
<li class="px-4 pb-4"><Headline as="h2" font-family="head" font-weight="light">Light Headline</Headline></li>
|
|
50
|
-
<li class="px-4 pb-4"><Headline as="h2" font-family="head" font-weight="light">Light Headline</Headline></li>
|
|
51
|
-
<li class="px-4 pb-4"><Headline as="h3" font-family="head" font-weight="bold">Bold Headline</Headline></li>
|
|
52
|
-
<li class="px-4 pb-4"><Headline as="h4" font-family="head" font-weight="light-bold">Light Bold Headline</Headline></li>
|
|
53
|
-
<li class="px-4 pb-4"><Headline as="h5" font-family="head" font-weight="light-thin">Light Thin Headline</Headline></li>
|
|
54
|
-
<li class="px-4 pb-4"><Headline as="p" font-family="text" font-weight="light">Light Text Content</Headline></li>
|
|
55
|
-
<li class="px-4 pb-4"><Headline as="p" font-family="text" font-weight="bold">Bold Text Content</Headline></li>
|
|
56
|
-
<li class="px-4 pb-4"><Headline as="p" font-family="text" font-weight="light-bold">Light Bold Text Content</Headline></li>
|
|
57
|
-
<li class="px-4 pb-4"><Headline as="p" font-family="text" font-weight="light-thin">Light Thin Text Content</Headline></li>
|
|
58
|
-
<li class="px-4 pb-4"><Headline as="code" font-family="novamono">Nova Mono Code Text</Headline></li>
|
|
59
|
-
<li class="px-4 pb-4"><Headline as="code" font-family="mono">Mono Code Text</Headline></li>
|
|
60
|
-
<li class="px-4 pb-4"><Headline as="h1" font-family="head" font-weight="bold" text-size="4xl">Large Bold Headline</Headline></li>
|
|
61
|
-
<li class="px-4 pb-4"><Headline as="h2" font-family="head" font-weight="light-thin" text-size="3xl" underline>Underlined Light Thin Headline</Headline></li>
|
|
62
|
-
<li class="px-4 pb-4"><Headline as="h3" font-family="head" font-weight="bold" text-size="2xl">
|
|
63
|
-
<Icon name="ph:cat-thin" class="inline-block mr-4" />
|
|
64
|
-
Headline with Icon
|
|
65
|
-
</Headline></li>
|
|
66
|
-
<li class="px-4 pb-4"><Headline as="h1">Default Headline</Headline></li>
|
|
67
|
-
<li class="px-4 pb-4"><Headline as="h1" font-family="head" font-weight="light-bold" text-size="4xl" underline>
|
|
68
|
-
<Icon name="ph:cat-thin" class="inline-block mr-4" />
|
|
69
|
-
Complete Example
|
|
70
|
-
</Headline></li>
|
|
71
|
-
</ul>
|
|
72
|
-
</div>
|
|
73
|
-
|
|
74
|
-
```js
|
|
75
|
-
/* 1 */
|
|
76
|
-
<Headline as="h1" font-family="head" font-weight="regular">Regular Headline</Headline>
|
|
77
|
-
|
|
78
|
-
/* 2 */
|
|
79
|
-
<Headline as="h2" font-family="head" font-weight="light">Light Headline</Headline>
|
|
80
|
-
|
|
81
|
-
/* 3 */
|
|
82
|
-
<Headline as="h3" font-family="head" font-weight="bold">Bold Headline</Headline>
|
|
83
|
-
|
|
84
|
-
/* 4 */
|
|
85
|
-
<Headline as="h4" font-family="head" font-weight="light-bold">Light Bold Headline</Headline>
|
|
86
|
-
|
|
87
|
-
/* 5 */
|
|
88
|
-
<Headline as="h5" font-family="head" font-weight="light-thin">Light Thin Headline</Headline>
|
|
89
|
-
|
|
90
|
-
/* 6 */
|
|
91
|
-
<Headline as="p" font-family="text" font-weight="light">Light Text Content</Headline>
|
|
92
|
-
|
|
93
|
-
/* 7 */
|
|
94
|
-
<Headline as="p" font-family="text" font-weight="regular">Regular Text Content</Headline>
|
|
95
|
-
|
|
96
|
-
/* 8 */
|
|
97
|
-
<Headline as="p" font-family="text" font-weight="bold">Bold Text Content</Headline>
|
|
98
|
-
|
|
99
|
-
/* 9 */
|
|
100
|
-
<Headline as="p" font-family="text" font-weight="light-bold">Light Bold Text Content</Headline>
|
|
101
|
-
|
|
102
|
-
/* 10 */
|
|
103
|
-
<Headline as="p" font-family="text" font-weight="light-thin">Light Thin Text Content</Headline>
|
|
104
|
-
|
|
105
|
-
/* 11 */
|
|
106
|
-
<Headline as="code" font-family="novamono">Nova Mono Code Text</Headline>
|
|
107
|
-
|
|
108
|
-
/* 12 */
|
|
109
|
-
<Headline as="code" font-family="mono">Mono Code Text</Headline>
|
|
110
|
-
|
|
111
|
-
/* 13 */
|
|
112
|
-
<Headline as="h1" font-family="head" font-weight="bold" text-size="4xl">Large Bold Headline</Headline>
|
|
113
|
-
|
|
114
|
-
/* 14 */
|
|
115
|
-
<Headline as="h2" font-family="head" font-weight="light-thin" text-size="3xl" underline>Underlined Light Thin Headline</Headline>
|
|
116
|
-
|
|
117
|
-
/* 15 */
|
|
118
|
-
<Headline as="h3" font-family="head" font-weight="bold" text-size="2xl">
|
|
119
|
-
<Icon name="ph:cat-thin" class="inline-block mr-4 text-blue-wrc" />
|
|
120
|
-
Headline with Icon
|
|
121
|
-
</Headline>
|
|
122
|
-
|
|
123
|
-
/* 16 */
|
|
124
|
-
<Headline as="h1">Default Headline</Headline>
|
|
125
|
-
|
|
126
|
-
/* 17 */
|
|
127
|
-
<Headline as="h1" font-family="head" font-weight="light-bold" text-size="4xl" underline>
|
|
128
|
-
<Icon name="ph:cat-thin" class="inline-block mr-4 text-blue-wrc" />
|
|
129
|
-
Complete Example
|
|
130
|
-
</Headline>
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
#
|
|
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
|
+
|
|
13
|
+
#
|
|
14
|
+
Headings give both your visitors and search engines important clues about the content's hierarchy and relevancy.
|
|
15
|
+
|
|
16
|
+
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.
|
|
17
|
+
|
|
18
|
+
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.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Import
|
|
22
|
+
|
|
23
|
+
```js
|
|
24
|
+
import Headline from 'spoko-design-system/src/components/Headline.vue';
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Settings
|
|
28
|
+
supported parameters
|
|
29
|
+
```js
|
|
30
|
+
as: {
|
|
31
|
+
type: String as PropType<'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'div' | 'span'>,
|
|
32
|
+
default: 'span',
|
|
33
|
+
required: true,
|
|
34
|
+
},
|
|
35
|
+
textSize: {
|
|
36
|
+
type: String as PropType<'xs' | 'sm' | 'base' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl' | '7xl' | '8xl' | '9xl'>,
|
|
37
|
+
required: false,
|
|
38
|
+
default: null
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## Examples
|
|
45
|
+
|
|
46
|
+
<div class="component-preview flex-wrap flex-col justify-start !items-start">
|
|
47
|
+
<ul class="list-decimal list-outside">
|
|
48
|
+
<li class="px-4 pb-4"><Headline as="h1" font-family="head" font-weight="regular">Regular Headline</Headline></li>
|
|
49
|
+
<li class="px-4 pb-4"><Headline as="h2" font-family="head" font-weight="light">Light Headline</Headline></li>
|
|
50
|
+
<li class="px-4 pb-4"><Headline as="h2" font-family="head" font-weight="light">Light Headline</Headline></li>
|
|
51
|
+
<li class="px-4 pb-4"><Headline as="h3" font-family="head" font-weight="bold">Bold Headline</Headline></li>
|
|
52
|
+
<li class="px-4 pb-4"><Headline as="h4" font-family="head" font-weight="light-bold">Light Bold Headline</Headline></li>
|
|
53
|
+
<li class="px-4 pb-4"><Headline as="h5" font-family="head" font-weight="light-thin">Light Thin Headline</Headline></li>
|
|
54
|
+
<li class="px-4 pb-4"><Headline as="p" font-family="text" font-weight="light">Light Text Content</Headline></li>
|
|
55
|
+
<li class="px-4 pb-4"><Headline as="p" font-family="text" font-weight="bold">Bold Text Content</Headline></li>
|
|
56
|
+
<li class="px-4 pb-4"><Headline as="p" font-family="text" font-weight="light-bold">Light Bold Text Content</Headline></li>
|
|
57
|
+
<li class="px-4 pb-4"><Headline as="p" font-family="text" font-weight="light-thin">Light Thin Text Content</Headline></li>
|
|
58
|
+
<li class="px-4 pb-4"><Headline as="code" font-family="novamono">Nova Mono Code Text</Headline></li>
|
|
59
|
+
<li class="px-4 pb-4"><Headline as="code" font-family="mono">Mono Code Text</Headline></li>
|
|
60
|
+
<li class="px-4 pb-4"><Headline as="h1" font-family="head" font-weight="bold" text-size="4xl">Large Bold Headline</Headline></li>
|
|
61
|
+
<li class="px-4 pb-4"><Headline as="h2" font-family="head" font-weight="light-thin" text-size="3xl" underline>Underlined Light Thin Headline</Headline></li>
|
|
62
|
+
<li class="px-4 pb-4"><Headline as="h3" font-family="head" font-weight="bold" text-size="2xl">
|
|
63
|
+
<Icon name="ph:cat-thin" class="inline-block mr-4" />
|
|
64
|
+
Headline with Icon
|
|
65
|
+
</Headline></li>
|
|
66
|
+
<li class="px-4 pb-4"><Headline as="h1">Default Headline</Headline></li>
|
|
67
|
+
<li class="px-4 pb-4"><Headline as="h1" font-family="head" font-weight="light-bold" text-size="4xl" underline>
|
|
68
|
+
<Icon name="ph:cat-thin" class="inline-block mr-4" />
|
|
69
|
+
Complete Example
|
|
70
|
+
</Headline></li>
|
|
71
|
+
</ul>
|
|
72
|
+
</div>
|
|
73
|
+
|
|
74
|
+
```js
|
|
75
|
+
/* 1 */
|
|
76
|
+
<Headline as="h1" font-family="head" font-weight="regular">Regular Headline</Headline>
|
|
77
|
+
|
|
78
|
+
/* 2 */
|
|
79
|
+
<Headline as="h2" font-family="head" font-weight="light">Light Headline</Headline>
|
|
80
|
+
|
|
81
|
+
/* 3 */
|
|
82
|
+
<Headline as="h3" font-family="head" font-weight="bold">Bold Headline</Headline>
|
|
83
|
+
|
|
84
|
+
/* 4 */
|
|
85
|
+
<Headline as="h4" font-family="head" font-weight="light-bold">Light Bold Headline</Headline>
|
|
86
|
+
|
|
87
|
+
/* 5 */
|
|
88
|
+
<Headline as="h5" font-family="head" font-weight="light-thin">Light Thin Headline</Headline>
|
|
89
|
+
|
|
90
|
+
/* 6 */
|
|
91
|
+
<Headline as="p" font-family="text" font-weight="light">Light Text Content</Headline>
|
|
92
|
+
|
|
93
|
+
/* 7 */
|
|
94
|
+
<Headline as="p" font-family="text" font-weight="regular">Regular Text Content</Headline>
|
|
95
|
+
|
|
96
|
+
/* 8 */
|
|
97
|
+
<Headline as="p" font-family="text" font-weight="bold">Bold Text Content</Headline>
|
|
98
|
+
|
|
99
|
+
/* 9 */
|
|
100
|
+
<Headline as="p" font-family="text" font-weight="light-bold">Light Bold Text Content</Headline>
|
|
101
|
+
|
|
102
|
+
/* 10 */
|
|
103
|
+
<Headline as="p" font-family="text" font-weight="light-thin">Light Thin Text Content</Headline>
|
|
104
|
+
|
|
105
|
+
/* 11 */
|
|
106
|
+
<Headline as="code" font-family="novamono">Nova Mono Code Text</Headline>
|
|
107
|
+
|
|
108
|
+
/* 12 */
|
|
109
|
+
<Headline as="code" font-family="mono">Mono Code Text</Headline>
|
|
110
|
+
|
|
111
|
+
/* 13 */
|
|
112
|
+
<Headline as="h1" font-family="head" font-weight="bold" text-size="4xl">Large Bold Headline</Headline>
|
|
113
|
+
|
|
114
|
+
/* 14 */
|
|
115
|
+
<Headline as="h2" font-family="head" font-weight="light-thin" text-size="3xl" underline>Underlined Light Thin Headline</Headline>
|
|
116
|
+
|
|
117
|
+
/* 15 */
|
|
118
|
+
<Headline as="h3" font-family="head" font-weight="bold" text-size="2xl">
|
|
119
|
+
<Icon name="ph:cat-thin" class="inline-block mr-4 text-blue-wrc" />
|
|
120
|
+
Headline with Icon
|
|
121
|
+
</Headline>
|
|
122
|
+
|
|
123
|
+
/* 16 */
|
|
124
|
+
<Headline as="h1">Default Headline</Headline>
|
|
125
|
+
|
|
126
|
+
/* 17 */
|
|
127
|
+
<Headline as="h1" font-family="head" font-weight="light-bold" text-size="4xl" underline>
|
|
128
|
+
<Icon name="ph:cat-thin" class="inline-block mr-4 text-blue-wrc" />
|
|
129
|
+
Complete Example
|
|
130
|
+
</Headline>
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
#
|