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.
Files changed (113) hide show
  1. package/.astro/icon.d.ts +8109 -10
  2. package/.github/workflows/deploy.yml +39 -39
  3. package/.stackblitzrc +5 -5
  4. package/.vscode/extensions.json +5 -4
  5. package/.vscode/launch.json +11 -11
  6. package/.vscode/settings.json +6 -0
  7. package/LICENSE +21 -21
  8. package/Layout/Header.astro +111 -89
  9. package/README.md +94 -69
  10. package/astro-i18next.config.mjs +17 -17
  11. package/astro-i18next.config.ts +10 -10
  12. package/astro.config.mjs +51 -42
  13. package/index.ts +6 -6
  14. package/package.json +25 -17
  15. package/public/astro-design-system-logo.svg +10 -10
  16. package/public/favicon.ico +0 -0
  17. package/public/favicon.svg +0 -0
  18. package/public/fonts/lg.svg +53 -53
  19. package/public/fonts/vwhead-bold-demo.html +549 -549
  20. package/public/fonts/vwhead-regular-demo.html +549 -549
  21. package/public/fonts/vwtext-bold-demo.html +549 -549
  22. package/public/fonts/vwtext-regular-demo.html +549 -549
  23. package/public/github.svg +3 -3
  24. package/public/grid_dot.svg +4 -4
  25. package/public/linkedin.svg +44 -44
  26. package/public/locales/en/translation.json +8 -5
  27. package/public/locales/pl/translation.json +8 -5
  28. package/public/make-scrollable-code-focusable.js +3 -3
  29. package/public/polo.blue.svg +29 -0
  30. package/public/spoko.space.svg +71 -0
  31. package/public/twitter.svg +46 -46
  32. package/sandbox.config.json +11 -11
  33. package/src/MyComponent.astro +8 -8
  34. package/src/components/Badge.vue +19 -19
  35. package/src/components/Badges.vue +24 -23
  36. package/src/components/Breadcrumbs.vue +108 -111
  37. package/src/components/Button.vue +37 -0
  38. package/src/components/ButtonCopy.vue +52 -0
  39. package/src/components/Card.astro +25 -0
  40. package/src/components/CategoryLink.astro +18 -0
  41. package/src/components/Copyright.astro +11 -11
  42. package/src/components/Date.astro +7 -0
  43. package/src/components/FuckRussia.vue +65 -65
  44. package/src/components/HandDrive.astro +29 -30
  45. package/src/components/HeadCommon.astro +40 -40
  46. package/src/components/HeadSEO.astro +41 -41
  47. package/src/components/Header/AstroLogo.astro +7 -27
  48. package/src/components/Header/Header.astro +44 -48
  49. package/src/components/Header/SkipToContent.astro +1 -1
  50. package/src/components/Headline.vue +60 -0
  51. package/src/components/Image.astro +30 -0
  52. package/src/components/Jumbatron.vue +46 -31
  53. package/src/components/LeftSidebar.astro +45 -44
  54. package/src/components/MainColors.vue +29 -29
  55. package/src/components/MainInput.vue +18 -18
  56. package/src/components/MainTable.vue +40 -45
  57. package/src/components/Modal.astro +30 -0
  58. package/src/components/PageContent.astro +14 -14
  59. package/src/components/PostHeader.astro +104 -0
  60. package/src/components/PrCode.vue +156 -0
  61. package/src/components/ProductNumber.astro +117 -0
  62. package/src/components/ProductTile.astro +54 -0
  63. package/src/components/RightSidebar.astro +15 -11
  64. package/src/components/SlimBanner.vue +59 -59
  65. package/src/components/TableOfContents.astro +11 -11
  66. package/src/components/Translations.vue +27 -0
  67. package/src/components/flags/FlagPL.vue +2 -2
  68. package/src/components/flags/FlagUA.vue +2 -2
  69. package/src/components/layout/Header.astro +50 -69
  70. package/src/config.ts +51 -42
  71. package/src/design.config.ts +73 -92
  72. package/src/env.d.ts +1 -1
  73. package/src/flag-poland.svg +1 -0
  74. package/src/flag-uk.svg +1 -0
  75. package/src/layouts/Layout.astro +43 -0
  76. package/src/layouts/MainLayout.astro +60 -50
  77. package/src/pages/components/badges.mdx +69 -35
  78. package/src/pages/components/breadcrumbs.mdx +136 -103
  79. package/src/pages/components/buttons.mdx +143 -60
  80. package/src/pages/components/card.mdx +40 -0
  81. package/src/pages/components/copyright.mdx +41 -24
  82. package/src/pages/components/flags.mdx +40 -26
  83. package/src/pages/components/fuck-russia.mdx +39 -16
  84. package/src/pages/components/hand-drive.mdx +38 -27
  85. package/src/pages/components/headline.mdx +148 -0
  86. package/src/pages/components/icons.astro +54 -45
  87. package/src/pages/components/image.mdx +502 -0
  88. package/src/pages/components/input.mdx +45 -14
  89. package/src/pages/components/jumbatron.mdx +71 -48
  90. package/src/pages/components/modal.mdx +64 -0
  91. package/src/pages/components/post-header.mdx +58 -0
  92. package/src/pages/components/pr-code.mdx +41 -0
  93. package/src/pages/components/product-number.mdx +65 -0
  94. package/src/pages/components/product-tile.mdx +39 -0
  95. package/src/pages/components/slimbanner.mdx +29 -27
  96. package/src/pages/components/table.mdx +39 -20
  97. package/src/pages/core/colors.mdx +8 -8
  98. package/src/pages/core/introduction.mdx +74 -68
  99. package/src/pages/core/shadows.astro +20 -20
  100. package/src/pages/core/typography.astro +46 -46
  101. package/src/pages/index.astro +70 -52
  102. package/src/pages/patterns/introduction.mdx +60 -61
  103. package/src/styles/_variables.scss +75 -75
  104. package/src/styles/base/_base.scss +166 -158
  105. package/src/styles/base/_typography.scss +147 -147
  106. package/src/styles/content.scss +66 -71
  107. package/src/styles/main.scss +22 -22
  108. package/tailwind.config.cjs +8 -8
  109. package/tsconfig.json +11 -11
  110. package/uno.config.ts +246 -227
  111. package/src/components/MainButton.vue +0 -26
  112. package/src/components/MainStatusPill.vue +0 -32
  113. 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 MainButton from '../../components/MainButton.vue'
6
-
7
- ## All buttons
8
-
9
- 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.
10
-
11
- Find the code for this page in the `src/pages/components/buttons.md` file.
12
-
13
- <div class="component-preview">
14
- <MainButton primary><b>Primary</b></MainButton>
15
- <MainButton secondary>Secondary</MainButton>
16
- <MainButton text>Text</MainButton>
17
- </div>
18
-
19
- ```js
20
- <MainButton primary>Primary</MainButton>
21
- <MainButton secondary>Secondary</MainButton>
22
- <MainButton text>Text</MainButton>
23
- ```
24
-
25
- ## Primary button
26
-
27
- We use the primary button for main actions like saving a form or creating a new item.
28
-
29
- <div class="component-preview">
30
- <MainButton primary>Primary button</MainButton>
31
- </div>
32
-
33
- ```js
34
- <MainButton primary>Primary button</MainButton>
35
- ```
36
-
37
- ## Secondary button
38
-
39
- Secondary buttons accompany primary buttons to provide additional actions.
40
- For example, cancel buttons are secondary buttons.
41
-
42
- <div class="component-preview">
43
- <MainButton secondary>Secondary button</MainButton>
44
- </div>
45
-
46
- ```js
47
- <MainButton secondary>Secondary button</MainButton>
48
- ```
49
-
50
- ## Text button
51
-
52
- Text buttons are used for actions that do not require a primary or secondary button.
53
-
54
- <div class="component-preview">
55
- <MainButton text>Text button</MainButton>
56
- </div>
57
-
58
- ```js
59
- <MainButton text>Text button</MainButton>
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="z-0 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="fixed bottom-0 z-0 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
- ```
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
- ## Flags
9
- Flags - icons
10
-
11
- ### Flag PL
12
- <div class="component-preview">
13
- <FlagPL />
14
- </div>
15
-
16
- ```js
17
- <FlagPL />
18
- ```
19
-
20
- ###Flag UA
21
- <div class="component-preview">
22
- <FlagUA />
23
- </div>
24
-
25
- ```js
26
- <FlagUA />
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
- <div class="component-preview">
11
- <FuckRussia class="flex" />
12
- </div>
13
-
14
- ```js
15
- <FuckRussia class="flex" />
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
- ## HandDrive
8
-
9
- ### HandDrive RHD
10
- <div class="component-preview">
11
- <HandDrive handDrive={0} />
12
- </div>
13
-
14
- ```js
15
- <HandDrive handDrive={0} />
16
- ```
17
-
18
-
19
-
20
- ### HandDrive LHD
21
- <div class="component-preview">
22
- <HandDrive handDrive={1} />
23
- </div>
24
-
25
- ```js
26
- <HandDrive handDrive={1} />
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>