spoko-design-system 0.9.5 → 1.0.0

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 (179) hide show
  1. package/.astro/content.d.ts +1 -1
  2. package/.astro/settings.json +4 -4
  3. package/.astro/types.d.ts +2 -1
  4. package/.github/dependabot.yml +11 -11
  5. package/.github/todo.yml +3 -3
  6. package/.github/workflows/deploy.yml +39 -39
  7. package/.github/workflows/release.yml +64 -0
  8. package/.releaserc.json +93 -0
  9. package/.stackblitzrc +5 -5
  10. package/.vscode/extensions.json +5 -5
  11. package/.vscode/launch.json +11 -11
  12. package/.vscode/settings.json +5 -5
  13. package/CHANGELOG.md +12 -0
  14. package/CONTRIBUTING.md +183 -0
  15. package/LICENSE +21 -21
  16. package/README.md +116 -116
  17. package/astro-i18next.config.mjs +17 -17
  18. package/astro-i18next.config.ts +10 -10
  19. package/astro.config.mjs +86 -86
  20. package/dev-dist/sw.js +91 -91
  21. package/dev-dist/workbox-c676b6d3.js +3391 -3391
  22. package/icon.config.ts +310 -310
  23. package/index.ts +70 -70
  24. package/package.json +22 -12
  25. package/public/arrow-bottom.svg +7 -7
  26. package/public/fonts/lg.svg +53 -53
  27. package/public/fonts/vwhead-bold-demo.html +549 -549
  28. package/public/fonts/vwhead-regular-demo.html +549 -549
  29. package/public/fonts/vwtext-bold-demo.html +549 -549
  30. package/public/fonts/vwtext-regular-demo.html +549 -549
  31. package/public/github.svg +3 -3
  32. package/public/grid_dot.svg +4 -4
  33. package/public/linkedin.svg +44 -44
  34. package/public/locales/en/translation.json +12 -12
  35. package/public/locales/pl/translation.json +12 -12
  36. package/public/make-scrollable-code-focusable.js +3 -3
  37. package/public/pagefind.yml +3 -3
  38. package/public/polo.blue.svg +29 -29
  39. package/public/spoko.space.svg +71 -71
  40. package/public/twitter.svg +46 -46
  41. package/renovate.json +6 -6
  42. package/sandbox.config.json +11 -11
  43. package/src/MyComponent.astro +8 -8
  44. package/src/components/Badge.vue +19 -19
  45. package/src/components/Badges.vue +21 -21
  46. package/src/components/Breadcrumbs.vue +94 -94
  47. package/src/components/Button.vue +101 -101
  48. package/src/components/ButtonCopy.astro +183 -183
  49. package/src/components/ButtonCopy.vue +36 -36
  50. package/src/components/Card.astro +27 -27
  51. package/src/components/Carousel.astro +26 -26
  52. package/src/components/Category/CategoriesCarousel.astro +101 -101
  53. package/src/components/Category/CategoryDetails.astro +169 -169
  54. package/src/components/Category/CategoryLink.vue +28 -28
  55. package/src/components/Category/CategorySidebarToggler.vue +9 -9
  56. package/src/components/Category/CategoryTile.astro +37 -37
  57. package/src/components/Category/CategoryViewToggler.astro +89 -89
  58. package/src/components/Category/SubCategoryLink.vue +19 -19
  59. package/src/components/Copyright.astro +12 -12
  60. package/src/components/Date.astro +7 -7
  61. package/src/components/Faq.astro +33 -33
  62. package/src/components/FaqItem.astro +80 -80
  63. package/src/components/FeaturesList.vue +37 -37
  64. package/src/components/FuckRussia.vue +62 -62
  65. package/src/components/HandDrive.astro +55 -29
  66. package/src/components/Header/Header.astro +210 -210
  67. package/src/components/Header/SkipToContent.astro +1 -1
  68. package/src/components/Headline.vue +87 -87
  69. package/src/components/Image.astro +30 -30
  70. package/src/components/LeftSidebar.astro +53 -53
  71. package/src/components/MainColors.vue +22 -22
  72. package/src/components/MainInput.vue +15 -15
  73. package/src/components/Modal.astro +27 -27
  74. package/src/components/PageContent.astro +5 -5
  75. package/src/components/PartNumber.vue +27 -27
  76. package/src/components/Post/PostCategories.astro +41 -41
  77. package/src/components/Post/PostCategories.vue +30 -30
  78. package/src/components/PostHeader.astro +103 -103
  79. package/src/components/PrCode.vue +141 -141
  80. package/src/components/Product/ProductButton.vue +18 -18
  81. package/src/components/Product/ProductCarousel.astro +35 -35
  82. package/src/components/Product/ProductColors.vue +1 -1
  83. package/src/components/Product/ProductEngineType.vue +42 -42
  84. package/src/components/Product/ProductImage.astro +40 -40
  85. package/src/components/Product/ProductLink.astro +101 -101
  86. package/src/components/Product/ProductLink.vue +59 -59
  87. package/src/components/Product/ProductLinkInfo.astro +37 -37
  88. package/src/components/Product/ProductModels.vue +4 -2
  89. package/src/components/Product/ProductNumber.astro +60 -60
  90. package/src/components/Product/ProductPositions.vue +1 -1
  91. package/src/components/ProductCarousel.astro +38 -38
  92. package/src/components/ProductCodes.vue +39 -39
  93. package/src/components/ProductDetailName.vue +52 -52
  94. package/src/components/ProductDetailsList.vue +216 -216
  95. package/src/components/ProductTile.astro +48 -48
  96. package/src/components/Quote.vue +23 -23
  97. package/src/components/ReloadPrompt.astro +50 -50
  98. package/src/components/SlimBanner.vue +72 -72
  99. package/src/components/Table.vue +32 -32
  100. package/src/components/TableOfContents.astro +15 -15
  101. package/src/components/Translations.vue +23 -23
  102. package/src/components/flags/FlagPL.vue +3 -3
  103. package/src/components/flags/FlagUA.vue +2 -2
  104. package/src/components/{Layout → layout}/CallToAction.astro +52 -52
  105. package/src/components/{Layout → layout}/Container.astro +7 -7
  106. package/src/components/{Layout → layout}/Header.astro +80 -80
  107. package/src/config.ts +56 -56
  108. package/src/design.config.ts +98 -98
  109. package/src/env.d.ts +6 -6
  110. package/src/layouts/Layout.astro +61 -61
  111. package/src/layouts/MainLayout.astro +81 -81
  112. package/src/layouts/partials/FooterCommon.astro +4 -4
  113. package/src/layouts/partials/HeadCommon.astro +44 -44
  114. package/src/layouts/partials/HeadSEO.astro +41 -41
  115. package/src/pages/components/badges.mdx +57 -57
  116. package/src/pages/components/breadcrumbs.mdx +139 -139
  117. package/src/pages/components/buttons.mdx +360 -360
  118. package/src/pages/components/card.mdx +294 -294
  119. package/src/pages/components/carousel.mdx +62 -62
  120. package/src/pages/components/copyright.mdx +42 -42
  121. package/src/pages/components/details-list.mdx +115 -115
  122. package/src/pages/components/features-list.mdx +37 -37
  123. package/src/pages/components/flags.mdx +49 -49
  124. package/src/pages/components/fuck-russia.mdx +39 -39
  125. package/src/pages/components/hand-drive.mdx +105 -38
  126. package/src/pages/components/headline.mdx +137 -137
  127. package/src/pages/components/icons.astro +135 -135
  128. package/src/pages/components/image.mdx +513 -513
  129. package/src/pages/components/input.mdx +367 -367
  130. package/src/pages/components/jumbotron.mdx +359 -359
  131. package/src/pages/components/modal.mdx +64 -64
  132. package/src/pages/components/post-header.mdx +64 -64
  133. package/src/pages/components/pr-code.mdx +65 -65
  134. package/src/pages/components/product-number.mdx +58 -58
  135. package/src/pages/components/product-tile.mdx +51 -51
  136. package/src/pages/components/quote.mdx +33 -33
  137. package/src/pages/components/slimbanner.mdx +35 -35
  138. package/src/pages/components/table.mdx +108 -108
  139. package/src/pages/core/colors.mdx +10 -10
  140. package/src/pages/core/grid.mdx +89 -89
  141. package/src/pages/core/introduction.mdx +77 -77
  142. package/src/pages/core/shadows.astro +20 -20
  143. package/src/pages/core/typography.astro +49 -49
  144. package/src/pages/index.astro +133 -133
  145. package/src/pages/patterns/introduction.mdx +60 -60
  146. package/src/pwa.ts +12 -12
  147. package/src/styles/_variables.scss +70 -70
  148. package/src/styles/base/base.css +184 -184
  149. package/src/styles/base/grid.css +92 -92
  150. package/src/styles/base/typography.css +70 -70
  151. package/src/styles/content.css +73 -73
  152. package/src/styles/main.css +7 -7
  153. package/src/types/Product.ts +31 -31
  154. package/src/types/astro.d.ts +3 -3
  155. package/src/utils/product/getPriceFormatted.ts +15 -15
  156. package/src/utils/product/getProductChecklist.ts +17 -17
  157. package/src/utils/product/useFormatProductNumber.ts +41 -41
  158. package/src/utils/seo/getShorterDescription.ts +14 -14
  159. package/src/utils/text/formatDate.ts +5 -5
  160. package/src/utils/text/formatLocaleNumber.ts +6 -6
  161. package/src/utils/text/formatPad.ts +12 -12
  162. package/src/utils/text/getNumberFormatted.ts +33 -33
  163. package/src/utils/text/getTranslatedLink.ts +5 -5
  164. package/src/utils/text.ts +19 -19
  165. package/tailwind.config.cjs +8 -8
  166. package/tsconfig.json +28 -28
  167. package/uno-config/index.ts +268 -268
  168. package/uno-config/theme/breakpoints.ts +9 -9
  169. package/uno-config/theme/colors.ts +64 -64
  170. package/uno-config/theme/dimensions.ts +17 -17
  171. package/uno-config/theme/effects.ts +14 -14
  172. package/uno-config/theme/grid.ts +10 -10
  173. package/uno-config/theme/index.ts +28 -28
  174. package/uno-config/theme/shortcuts/buttons.ts +53 -53
  175. package/uno-config/theme/shortcuts/components.ts +123 -123
  176. package/uno-config/theme/shortcuts/index.ts +20 -20
  177. package/uno-config/theme/shortcuts/layout.ts +74 -74
  178. package/uno-config/theme/typography.ts +29 -29
  179. 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,105 @@
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
+ Universal RHD (right-hand drive) and LHD (left-hand drive) component with API-first design.
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
+ ## Props
19
+
20
+ | Prop | Type | Required | Default | Description |
21
+ |------|------|----------|---------|-------------|
22
+ | `handDrive` | `'lhd' \| 'rhd'` | Yes | - | Hand drive type |
23
+ | `text` | `string` | No | - | Display text from API |
24
+ | `class` | `string` | No | - | CSS classes for styling |
25
+ | `biggerText` | `boolean` | No | `false` | Use larger text size |
26
+ | `title` | `string` | No | - | Override tooltip text |
27
+
28
+ ## Examples
29
+
30
+ ### LHD (Left-Hand Drive)
31
+ <div class="component-preview">
32
+ <HandDrive handDrive="lhd" text="Left-Hand Drive" />
33
+ </div>
34
+
35
+ ```js
36
+ <HandDrive handDrive="lhd" text="Left-Hand Drive" />
37
+ ```
38
+
39
+ ### RHD (Right-Hand Drive)
40
+ <div class="component-preview">
41
+ <HandDrive handDrive="rhd" text="Right-Hand Drive" />
42
+ </div>
43
+
44
+ ```js
45
+ <HandDrive handDrive="rhd" text="Right-Hand Drive" />
46
+ ```
47
+
48
+ ### Without Text
49
+ <div class="component-preview">
50
+ <HandDrive handDrive="lhd" />
51
+ </div>
52
+
53
+ ```js
54
+ <HandDrive handDrive="lhd" />
55
+ ```
56
+
57
+ ### With Custom Styling
58
+ <div class="component-preview">
59
+ <HandDrive handDrive="lhd" text="Left-Hand Drive" class="mb-4 border rounded p-2" biggerText={true} />
60
+ </div>
61
+
62
+ ```js
63
+ <HandDrive
64
+ handDrive="lhd"
65
+ text="Left-Hand Drive"
66
+ class="mb-4 border rounded p-2"
67
+ biggerText={true}
68
+ />
69
+ ```
70
+
71
+ ## API Integration
72
+
73
+ The component is designed to work seamlessly with API data:
74
+
75
+ ```js
76
+ // API Response Format
77
+ {
78
+ "hand_drive": 1, // Original number (legacy)
79
+ "hand_drive_type": "lhd", // Clean string value
80
+ "hand_drive_text": "Left-Hand Drive" // Translated text
81
+ }
82
+
83
+ // Component Usage
84
+ <HandDrive
85
+ handDrive={partData.hand_drive_type}
86
+ text={partData.hand_drive_text}
87
+ />
88
+ ```
89
+
90
+ ### API Call Example
91
+ ```js
92
+ const response = await fetch('/api/parts/6R106150282V?locale=en&with_translations=1');
93
+ const partData = await response.json();
94
+
95
+ // partData.hand_drive_type = "lhd"
96
+ // partData.hand_drive_text = "Left-Hand Drive"
97
+ ```
98
+
99
+ ## Design Principles
100
+
101
+ - **Universal**: No i18n dependencies, works across multiple projects
102
+ - **API-first**: All data comes from consistent API endpoints
103
+ - **Self-documenting**: 'lhd'/'rhd' values are clear in any language
104
+ - **Type-safe**: Strong TypeScript support with string literals
105
+ - **Clean**: No magic numbers or mixed value types
@@ -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
+ #