spoko-design-system 0.0.5 → 0.0.7

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 (47) hide show
  1. package/README.md +14 -2
  2. package/astro.config.mjs +55 -7
  3. package/package.json +21 -7
  4. package/public/pagefind.yml +4 -0
  5. package/src/components/Button.vue +10 -2
  6. package/src/components/ButtonCopy.vue +1 -6
  7. package/src/components/Card.astro +2 -2
  8. package/src/components/Header/Header.astro +172 -0
  9. package/src/components/Image.astro +0 -2
  10. package/src/components/Jumbatron.vue +17 -18
  11. package/src/components/MainTable.vue +20 -26
  12. package/src/components/Modal.astro +1 -4
  13. package/src/components/PageContent.astro +0 -1
  14. package/src/components/ProductTile.astro +30 -32
  15. package/src/components/RightSidebar.astro +0 -3
  16. package/src/config.ts +2 -2
  17. package/src/design.config.ts +4 -0
  18. package/src/layouts/Layout.astro +2 -2
  19. package/src/layouts/MainLayout.astro +7 -7
  20. package/src/pages/components/badges.mdx +17 -31
  21. package/src/pages/components/breadcrumbs.mdx +9 -6
  22. package/src/pages/components/buttons.mdx +106 -13
  23. package/src/pages/components/card.mdx +58 -4
  24. package/src/pages/components/copyright.mdx +3 -2
  25. package/src/pages/components/flags.mdx +17 -8
  26. package/src/pages/components/fuck-russia.mdx +1 -1
  27. package/src/pages/components/hand-drive.mdx +4 -4
  28. package/src/pages/components/headline.mdx +19 -15
  29. package/src/pages/components/image.mdx +17 -5
  30. package/src/pages/components/input.mdx +1 -1
  31. package/src/pages/components/jumbatron.mdx +5 -3
  32. package/src/pages/components/modal.mdx +3 -3
  33. package/src/pages/components/post-header.mdx +3 -1
  34. package/src/pages/components/pr-code.mdx +6 -10
  35. package/src/pages/components/product-number.mdx +2 -1
  36. package/src/pages/components/product-tile.mdx +1 -1
  37. package/src/pages/components/slimbanner.mdx +1 -1
  38. package/src/pages/components/table.mdx +72 -4
  39. package/src/pages/core/introduction.mdx +1 -1
  40. package/src/pages/index.astro +1 -0
  41. package/src/styles/_variables.scss +6 -15
  42. package/src/styles/base/_base.scss +14 -5
  43. package/src/styles/base/_typography.scss +1 -80
  44. package/src/styles/content.scss +6 -9
  45. package/src/styles/main.scss +0 -16
  46. package/uno.config.ts +13 -11
  47. package/Layout/Header.astro +0 -111
@@ -6,49 +6,47 @@ import ProductNumber from "./ProductNumber.astro"
6
6
 
7
7
  ---
8
8
 
9
- { productObject &&
10
- (
9
+ { productObject &&
10
+ (
11
11
 
12
- <div class="flex flex-wrap sm:flex-nowrap content-between w-64 md:(w-96 min-w-96) ml-1 lg:ml-1.5 relative bg-white mb-4">
12
+ <div class="flex flex-wrap sm:flex-nowrap content-between w-64 md:(w-96 min-w-96) ml-1 lg:ml-1.5 relative bg-white mb-4 underline-on-hover">
13
13
  <!-- product image -->
14
- <div>
14
+ <div class="img--4/3 img--small">
15
15
  { productObject.photo !== null ?
16
- <div class="img--4/3 img--small">
17
- <Image
18
- imageObject={
19
- {
20
- src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
21
- alt: 'Image Alt',
22
- height: '180',
23
- width: '240',
24
- class: 'img--overlay object-cover'
25
- }
16
+ <Image
17
+ imageObject={
18
+ {
19
+ src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
20
+ alt: 'Image Alt',
21
+ height: '180',
22
+ width: '240',
23
+ class: 'img--overlay object-cover'
26
24
  }
27
- />
28
- </div>
25
+ }
26
+ />
29
27
  :
30
28
  <img src="/1x1.png" class="bg-gray-100/70" alt={productObject.name} />
31
29
  }
32
30
  </div>
33
31
 
34
- <!-- product deails -->
35
- <div class="sm:pl-4 flex flex-col" >
36
- <a class="font-light leading-none mb-2 pr-4 line-clamp-2 h-[2em] before:(content-empty absolute left-0 right-4 h-full top-0)"
37
- href={productObject.url} itemprop="url"
38
- title={productObject.number}
39
- >
40
- { productObject.name }
41
- </a>
32
+ <!-- product deails -->
33
+ <div class="sm:pl-4 flex flex-col" >
34
+ <a class="font-light leading-none mb-2 pr-4 line-clamp-2 h-[2em] before:(content-empty absolute left-0 right-4 h-full top-0)"
35
+ href={productObject.url} itemprop="url"
36
+ title={productObject.number}
37
+ >
38
+ { productObject.name }
39
+ </a>
42
40
 
43
- <ProductNumber productNumber={productObject.number} copyDisabled={true} />
44
-
45
- { index !== null &&
46
- ( <meta itemprop="position" content={String(index)} />
47
- <meta itemprop="name" content={productObject.name} /> )
48
- }
49
- </div>
41
+ <ProductNumber productNumber={productObject.number} copyDisabled={true} />
42
+
43
+ { index !== null &&
44
+ ( <meta itemprop="position" content={String(index)} />
45
+ <meta itemprop="name" content={productObject.name} /> )
46
+ }
47
+ </div>
50
48
 
51
49
  </div>
52
50
 
53
- )}
51
+ )}
54
52
 
@@ -10,6 +10,3 @@ const headers = content.astro?.headers || [];
10
10
  <pre>{JSON.stringify(content)}</pre>
11
11
  </div>
12
12
  </nav>
13
-
14
-
15
- <!-- {"title":"Introduction","description":"Docs intro","file":"C:/www/2024/elements/src/pages/core/introduction.mdx","url":"/core/introduction"} -->
package/src/config.ts CHANGED
@@ -26,6 +26,7 @@ export const SIDEBAR = [
26
26
  { text: "Badges", link: "/components/badges" },
27
27
  { text: "Breadcrumbs", link: "/components/breadcrumbs" },
28
28
  { text: "Buttons", link: "/components/buttons" },
29
+ { text: "Card", link: "/components/card" },
29
30
  { text: "Copyright", link: "/components/copyright" },
30
31
  { text: "HandDrive", link: "/components/hand-drive" },
31
32
  { text: "Headline", link: "/components/headline" },
@@ -35,11 +36,10 @@ export const SIDEBAR = [
35
36
  { text: "Jumbatron", link: "/components/jumbatron" },
36
37
  { text: "Modal", link: "/components/modal" },
37
38
  { text: "PostHeader", link: "/components/post-header" },
39
+ { text: "PR-Code", link: "/components/pr-code" },
38
40
  { text: "Product Number", link: "/components/product-number" },
39
41
  { text: "Product Tile", link: "/components/product-tile" },
40
42
  { text: "Table", link: "/components/table" },
41
- { text: "PR-Code", link: "/components/pr-code" },
42
- { text: "Card", link: "/components/card" },
43
43
 
44
44
  { text: "Extras", header: true },
45
45
  { text: "Flags", link: "/components/flags" },
@@ -5,6 +5,10 @@ export const COLORS = {
5
5
  { name: "300", value: "#b5bbc5" },
6
6
  { name: "400", value: "#9ca3af" },
7
7
  { name: "500", value: "#64748B" },
8
+ { name: "600", value: "#475569" },
9
+ { name: "700", value: "#334155" },
10
+ { name: "800", value: "#1e293b" },
11
+ { name: "900", value: "#0f172a" },
8
12
  ],
9
13
  blue: [
10
14
  { name: "50", value: "#eff6ff" },
@@ -26,11 +26,11 @@ const canonicalURL = new URL(Astro.url.pathname, Astro.site).toString();
26
26
  </div>
27
27
  <footer>
28
28
  <Copyright class="fixed bottom-0 z-0 w-full">
29
- <a slot="middle-item" href={`https://${import.meta.env.COPYRIGHT_DOMAIN}`} target="_blank" rel="follow noopener" class="flex my-auto items-center mx-auto" title={`Proudly made in Poland by ${import.meta.env.COPYRIGHT_DOMAIN}`}>
29
+ <a slot="middle-item" href={`https://spoko.space`} target="_blank" rel="follow noopener" class="flex my-auto items-center mx-auto" title={`Proudly made in Poland by ${import.meta.env.COPYRIGHT_DOMAIN}`}>
30
30
  <div class="text-xxs md:text-xs mr-1 mt-0.5 whitespace-nowrap">createdy by</div>
31
31
  <img
32
32
  class="h-4 md:h-5 w-min"
33
- src={`/${import.meta.env.COPYRIGHT_IMG}`}
33
+ src="spoko.space.svg"
34
34
  alt="Modern Websites"
35
35
  width="126"
36
36
  height="23"
@@ -1,4 +1,5 @@
1
1
  ---
2
+ import { ViewTransitions } from 'astro:transitions';
2
3
  import HeadCommon from '../components/HeadCommon.astro';
3
4
  import HeadSEO from '../components/HeadSEO.astro';
4
5
  import Header from '../components/Header/Header.astro';
@@ -20,25 +21,24 @@ const canonicalURL = new URL(Astro.url.pathname, Astro.site).toString();
20
21
  <HeadCommon />
21
22
  <HeadSEO {content} canonicalURL={canonicalURL} />
22
23
  <title>{content.title ? `${content.title} 🚀 ${CONFIG.SITE.title}` : CONFIG.SITE.title}</title>
24
+ <ViewTransitions />
23
25
  </head>
24
26
 
25
27
  <body class="bg-blue-50">
26
- <div class="sticky top-0 z-10 w-full">
28
+ <div class="sticky top-0 z-20 w-full bg-white/70">
27
29
  <Header currentPage={currentPage} />
28
30
  </div>
29
31
 
30
32
  <div class="flex bg-white z-10 mb-11 relative">
31
33
  <div class="sticky top-0 flex lg:(h-screen w-64) z-50 ">
32
- <div class="mr-auto ">
34
+ <div class="mr-auto" transition:name="sidebar">
33
35
  <LeftSidebar currentPage={currentPage} />
34
36
  </div>
35
37
  </div>
36
38
  <main class="pb-4 px-4 sm:px-8 col-auto sm:(pb-32) overflow-auto w-full">
37
- <div>
38
- <PageContent content={content}>
39
- <slot />
40
- </PageContent>
41
- </div>
39
+ <PageContent content={content} transition:name="content">
40
+ <slot />
41
+ </PageContent>
42
42
  </main>
43
43
  </div>
44
44
  <footer>
@@ -4,66 +4,52 @@ layout: "../../layouts/MainLayout.astro"
4
4
  ---
5
5
  import Badges from '../../components/Badges.vue'
6
6
 
7
- ## Product badges
7
+ # Product badges
8
+ Extra product badges (labels).
8
9
 
9
- ### Badge - GTI
10
+ ## Badges - GTI
10
11
  <div class="component-preview">
11
- <div class="relative min-h-10">
12
- <Badges badges={['GTI']} class="top-2" />
13
- </div>
12
+ <div class="relative min-h-19">
13
+ <Badges badges={['GTI', 'Motorsport', 'Lorem Ipsum']} class="top-2" />
14
+ </div>
14
15
  </div>
15
16
  ```js
16
17
  <div class="relative min-h-10">
17
- <Badges badges={['GTI']} class="top-2" />
18
+ <Badges badges={['GTI', 'Motorsport', 'Lorem Ipsum']} class="top-2" />
18
19
  </div>
19
20
 
20
21
  ```
21
22
 
22
23
 
23
- ### Badge - Motorsport
24
- <div class="component-preview">
25
- <div class="relative min-h-10">
26
- <Badges badges={['Motorsport']} class="top-2" />
27
- </div>
28
- </div>
29
-
30
- ```js
31
- <div class="relative min-h-10">
32
- <Badges badges={['Motorsport']} class="top-2" />
33
- </div>
34
-
35
- ```
36
-
37
-
38
- ### Badge on image - Motorsport
24
+ ## Badge on image
39
25
  <div class="component-preview">
40
26
  <div class="relative">
41
- <img src="https://placehold.co/300x200" alt="image alt" />
42
- <Badges badges={['Motorsport']} class="top-2" />
27
+ <img src="https://placehold.co/300x200" alt="image alt" />
28
+ <Badges badges={['Motorsport']} class="top-2" />
43
29
  </div>
44
30
  </div>
45
31
 
46
32
  ```js
47
33
  <div class="relative">
48
- <img src="https://placehold.co/300x200" alt="image alt" />
49
- <Badges badges={['Motorsport']} class="top-2" />
34
+ <img src="https://placehold.co/300x200" alt="image alt" />
35
+ <Badges badges={['Motorsport']} class="top-2" />
50
36
  </div>
51
37
 
52
38
  ```
53
39
 
54
40
 
55
- ### Few badges on image
41
+ ## Few badges on image
56
42
  <div class="component-preview">
57
43
  <div class="relative">
58
- <img src="https://placehold.co/300x200" alt="image alt" />
59
- <Badges badges={['Motorsport', 'Lorem ipsum', 'GTI']} class="top-2" />
44
+ <img src="https://placehold.co/300x200" alt="image alt" />
45
+ <Badges badges={['Motorsport', 'Lorem ipsum', 'GTI']} class="top-2" />
60
46
  </div>
61
47
  </div>
62
48
 
63
49
  ```js
64
50
  <div class="relative">
65
- <img src="https://placehold.co/300x200" alt="image alt" />
66
- <Badges badges={['Motorsport', 'Lorem ipsum', 'GTI']} class="top-2" />
51
+ <img src="https://placehold.co/300x200" alt="image alt" />
52
+ <Badges badges={['Motorsport', 'Lorem ipsum', 'GTI']} class="top-2" />
67
53
  </div>
68
54
 
69
55
  ```
@@ -6,7 +6,7 @@ layout: "../../layouts/MainLayout.astro"
6
6
  ---
7
7
  import Breadcrumbs from '../../components/Breadcrumbs.vue'
8
8
 
9
- ## Breadcrumbs
9
+ # Breadcrumbs
10
10
 
11
11
  Breadcrumbs component with BreadcrumbList Microdata.
12
12
 
@@ -20,7 +20,7 @@ https://schema.org/ListItem
20
20
 
21
21
 
22
22
 
23
- ### show back
23
+ ## Show back
24
24
 
25
25
  <div class="component-preview">
26
26
  <Breadcrumbs
@@ -49,7 +49,7 @@ https://schema.org/ListItem
49
49
  ```
50
50
 
51
51
 
52
- ### show home
52
+ ## Show home
53
53
 
54
54
  <div class="component-preview">
55
55
  <Breadcrumbs
@@ -76,7 +76,7 @@ https://schema.org/ListItem
76
76
  ```
77
77
 
78
78
 
79
- ### simply
79
+ ## Simply
80
80
 
81
81
  <div class="component-preview">
82
82
  <Breadcrumbs
@@ -103,9 +103,12 @@ https://schema.org/ListItem
103
103
  ```
104
104
 
105
105
 
106
- ### Schema example:
106
+ ### Schema support:
107
+ - https://developers.google.com/search/docs/appearance/structured-data/breadcrumb?hl=en
108
+
109
+ #### Example
107
110
  - https://validator.schema.org/?hl=en-US#url=https%3A%2F%2Fcatalog.polo.blue%2FN10733102%2F
108
- #
111
+
109
112
 
110
113
  | @type | BreadcrumbList |
111
114
  | ---------------- | --------------------------------------------------------------------------------- |
@@ -7,27 +7,43 @@ import ButtonCopy from '../../components/ButtonCopy.vue'
7
7
  import { Icon } from 'astro-icon/components';
8
8
  import { t } from "i18next";
9
9
 
10
- ## All buttons
10
+ # All buttons
11
11
 
12
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
13
 
14
14
  Find the code for this page in the `src/pages/components/buttons.md` file.
15
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>
16
+ <div class="component-preview flex-wrap">
17
+ <div class="flex w-full gap-4 items-center">
18
+ <Button primary>Primary</Button>
19
+ <Button secondary>Secondary</Button>
20
+ <Button tertiary>Tertiary</Button>
21
+
22
+ <Button text medium>Text</Button>
23
+ <Button tag small>Tag Name</Button>
24
+ </div>
25
+ <div class="flex w-full gap-4 items-center">
26
+ <Button primary rounded>Primary</Button>
27
+ <Button secondary rounded>Secondary</Button>
28
+ <Button tertiary rounded>Tertiary</Button>
29
+
30
+ <Button text medium rounded>Text</Button>
31
+ <Button tag small rounded>Tag Name</Button>
32
+ </div>
23
33
  </div>
24
34
 
25
35
  ```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>
36
+ <Button primary>Primary</Button>
37
+ <Button secondary>Secondary</Button>
38
+ <Button tertiary>Tertiary</Button>
39
+ <Button text medium>Text</Button>
40
+ <Button tag small>Tag Name</Button>
41
+
42
+ <Button primary rounded>Primary</Button>
43
+ <Button secondary rounded>Secondary</Button>
44
+ <Button tertiary rounded>Tertiary</Button>
45
+ <Button text medium rounded>Text</Button>
46
+ <Button tag small rounded>Tag Name</Button>
31
47
  ```
32
48
 
33
49
  ## Primary button `<button>`
@@ -129,6 +145,83 @@ Text buttons are used for actions that do not require a primary or secondary but
129
145
 
130
146
  ```
131
147
 
148
+ ## Rounded button
149
+
150
+ Rounded edges
151
+
152
+ <div class="component-preview flex-wrap">
153
+ <div class="flex w-full gap-4 items-center">
154
+ <Button primary rounded>Primary</Button>
155
+ <Button secondary rounded>Secondary</Button>
156
+ <Button tertiary rounded>Tertiary</Button>
157
+
158
+ <Button text rounded>Text</Button>
159
+ <Button tag rounded>Tag Name</Button>
160
+ </div>
161
+ <div class="flex w-full gap-4 items-center">
162
+ <Button primary medium rounded>Primary</Button>
163
+ <Button secondary medium rounded>Secondary</Button>
164
+ <Button tertiary medium rounded>Tertiary</Button>
165
+
166
+ <Button text medium rounded>Text</Button>
167
+ <Button tag medium rounded>Tag Name</Button>
168
+ </div>
169
+ <div class="flex w-full gap-4 items-center">
170
+ <Button primary small rounded>Primary</Button>
171
+ <Button secondary small rounded>Secondary</Button>
172
+ <Button tertiary small rounded>Tertiary</Button>
173
+
174
+ <Button text medium small rounded>Text</Button>
175
+ <Button tag small small rounded>Tag Name</Button>
176
+ </div>
177
+ </div>
178
+
179
+ ```js
180
+ <Button primary rounded>Primary</Button>
181
+ <Button secondary rounded>Secondary</Button>
182
+ <Button tertiary rounded>Tertiary</Button>
183
+ <Button text medium rounded>Text</Button>
184
+ <Button tag small rounded>Tag Name</Button>
185
+
186
+ <Button primary medium rounded>Primary</Button>
187
+ <Button secondary medium rounded>Secondary</Button>
188
+ <Button tertiary medium rounded>Tertiary</Button>
189
+ <Button text medium medium rounded>Text</Button>
190
+ <Button tag small medium rounded>Tag Name</Button>
191
+
192
+ <Button primary small rounded>Primary</Button>
193
+ <Button secondary small rounded>Secondary</Button>
194
+ <Button tertiary small rounded>Tertiary</Button>
195
+ <Button text medium small rounded>Text</Button>
196
+ <Button tag small small rounded>Tag Name</Button>
197
+ ```
198
+
199
+ ## Outline button
200
+
201
+ Text buttons are used for actions that do not require a primary or secondary button.
202
+
203
+ <div class="component-preview">
204
+ <Button primary-outline title="Title">Text button</Button>
205
+ <Button primary-outline rounded title="Title">Text button</Button>
206
+
207
+ <Button secondary-outline title="Title">Text button</Button>
208
+ <Button secondary-outline rounded title="Title">Text button</Button>
209
+
210
+ <Button tertiary-outline title="Title">Text button</Button>
211
+ <Button tertiary-outline rounded title="Title">Text button</Button>
212
+ </div>
213
+
214
+ ```js
215
+ <Button primary-outline title="Title">Text button</Button>
216
+ <Button primary-outline rounded title="Title">Text button</Button>
217
+
218
+ <Button secondary-outline title="Title">Text button</Button>
219
+ <Button secondary-outline rounded title="Title">Text button</Button>
220
+
221
+ <Button tertiary-outline title="Title">Text button</Button>
222
+ <Button tertiary-outline rounded title="Title">Text button</Button>
223
+ ```
224
+
132
225
 
133
226
  ## Link button `<a>`
134
227
 
@@ -7,23 +7,61 @@ import Card from '../../components/Card.astro'
7
7
  import { Icon } from 'astro-icon/components';
8
8
  import Image from '../../components/Image.astro'
9
9
 
10
- ## Card
10
+ # Card
11
11
 
12
12
  Card - product link component which can be used for carousels, section with related products, recently added etc.
13
13
 
14
14
  <div class="component-preview">
15
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" >
16
+ <Card href="https://google.com" 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
17
  <a href="#">
18
18
  <h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white leading-none">Lorem Ipsum</h5>
19
19
  </a>
20
20
  <p class="mb-3 font-normal text-gray-700 dark:text-gray-400">
21
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
22
  </p>
23
- <div class="flex items-center justify-between mb-4">
23
+
24
+ <div class="flex items-center justify-between my-4">
24
25
  <span class="text-2xl font-bold text-gray-900 dark:text-white">€599.00</span>
25
26
  </div>
26
- <Button tertiary href="#">
27
+
28
+ <Button tertiary small href="#">
29
+ Read more
30
+ <Icon name="flowbite:arrow-right-outline" class="ml-2 text-2xl leading-none" />
31
+ </Button>
32
+ </Card>
33
+
34
+ <Card href="#" 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" >
35
+ <a href="#">
36
+ <h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white leading-none">Lorem Ipsum</h5>
37
+ </a>
38
+ <p class="mb-3 font-normal text-gray-700 dark:text-gray-400">
39
+ 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.
40
+ </p>
41
+
42
+ <div class="flex items-center justify-between my-4">
43
+ <span class="text-2xl font-bold text-gray-900 dark:text-white">€599.00</span>
44
+ </div>
45
+
46
+ <Button tertiary small href="#">
47
+ Read more
48
+ <Icon name="flowbite:arrow-right-outline" class="ml-2 text-2xl leading-none" />
49
+ </Button>
50
+ </Card>
51
+
52
+ <Card href="#" 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" >
53
+ <a href="#">
54
+ <h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white leading-none">Lorem Ipsum</h5>
55
+ </a>
56
+ <p class="mb-3 font-normal text-gray-700 dark:text-gray-400">
57
+ 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.
58
+ </p>
59
+
60
+ <div class="flex items-center justify-between my-4">
61
+ <span class="text-2xl font-bold text-gray-900 dark:text-white">€599.00</span>
62
+ </div>
63
+
64
+ <Button tertiary small href="#">
27
65
  Read more
28
66
  <Icon name="flowbite:arrow-right-outline" class="ml-2 text-2xl leading-none" />
29
67
  </Button>
@@ -33,7 +71,23 @@ Card - product link component which can be used for carousels, section with rela
33
71
 
34
72
  ```html
35
73
  <div class="grid grid-cols-3 gap-8 w-full" itemscope itemtype="https://schema.org/ItemList">
74
+ <Card href="https://google.com" 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" >
75
+ <a href="#">
76
+ <h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white leading-none">Lorem Ipsum</h5>
77
+ </a>
78
+ <p class="mb-3 font-normal text-gray-700 dark:text-gray-400">
79
+ 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.
80
+ </p>
36
81
 
82
+ <div class="flex items-center justify-between my-4">
83
+ <span class="text-2xl font-bold text-gray-900 dark:text-white">€599.00</span>
84
+ </div>
85
+
86
+ <Button tertiary small href="#">
87
+ Read more
88
+ <Icon name="flowbite:arrow-right-outline" class="ml-2 text-2xl leading-none" />
89
+ </Button>
90
+ </Card>
37
91
  </div>
38
92
  ```
39
93
 
@@ -4,7 +4,7 @@ layout: "../../layouts/MainLayout.astro"
4
4
  ---
5
5
  import Copyright from '../../components/Copyright.astro'
6
6
 
7
- ## Copyright
7
+ # Copyright
8
8
 
9
9
  Copyright component
10
10
  <div class="component-preview">
@@ -22,8 +22,9 @@ Copyright component
22
22
  <div slot="right-item">right item</div>
23
23
  </Copyright>
24
24
  ```
25
+ #
25
26
 
26
- Copyright with custom classes
27
+ ## Copyright with custom classes
27
28
  <div class="component-preview">
28
29
  <Copyright class="z-0 w-full">
29
30
  <div slot="left-item">left item</div>
@@ -6,9 +6,10 @@ import FlagPL from '../../components/flags/FlagPL.vue'
6
6
  import FlagUA from '../../components/flags/FlagUA.vue'
7
7
  import { Icon } from 'astro-icon/components'
8
8
 
9
- ## Flags
9
+ # Flags
10
10
  Flags based on CSS (UnoCSS) classes only.
11
11
 
12
+ ## Pure CSS flags:
12
13
  ### Flag PL
13
14
  <div class="component-preview">
14
15
  <FlagPL />
@@ -27,15 +28,23 @@ Flags based on CSS (UnoCSS) classes only.
27
28
  <FlagUA />
28
29
  ```
29
30
 
30
- ## Circle icon flags
31
+ ## Circle icon flags with shadow
31
32
  <div class="component-preview">
32
- <Icon name="circle-flags:pl" />
33
- <Icon name="circle-flags:uk" />
34
- <Icon name="circle-flags:ua" />
33
+ <div class="bg-white p-6 columns-8 md:columns-16 w-full rounded-full">
34
+ <Icon name="circle-flags:pl" class="shadow-md rounded-full" />
35
+ <Icon name="circle-flags:fi" class="shadow-md rounded-full" />
36
+ <Icon name="circle-flags:nl" class="shadow-md rounded-full" />
37
+ <Icon name="circle-flags:no" class="shadow-md rounded-full" />
38
+ <Icon name="circle-flags:ua" class="shadow-md rounded-full" />
39
+ <Icon name="circle-flags:uk" class="shadow-md rounded-full" />
40
+ </div>
35
41
  </div>
36
42
 
37
43
  ```js
38
- <Icon name="circle-flags:pl" />
39
- <Icon name="circle-flags:uk" />
40
- <Icon name="circle-flags:ua" />
44
+ <Icon name="circle-flags:pl" class="shadow-md rounded-full" />
45
+ <Icon name="circle-flags:fi" class="shadow-md rounded-full" />
46
+ <Icon name="circle-flags:nl" class="shadow-md rounded-full" />
47
+ <Icon name="circle-flags:no" class="shadow-md rounded-full" />
48
+ <Icon name="circle-flags:ua" class="shadow-md rounded-full" />
49
+ <Icon name="circle-flags:uk" class="shadow-md rounded-full" />
41
50
  ```
@@ -4,7 +4,7 @@ layout: "../../layouts/MainLayout.astro"
4
4
  ---
5
5
  import FuckRussia from '../../components/FuckRussia.vue'
6
6
 
7
- ## FuckRussia
7
+ # FuckRussia
8
8
 
9
9
  FuckRussia - solidarity with Ukraine.
10
10
 
@@ -5,18 +5,18 @@ layout: "../../layouts/MainLayout.astro"
5
5
  import HandDrive from '../../components/HandDrive.astro'
6
6
 
7
7
 
8
- ## HandDrive
8
+ # HandDrive
9
9
  RHD (right-hand drive) and LHD (left-hand drive) badges.
10
10
  - https://en.wikipedia.org/wiki/Left-_and_right-hand_traffic
11
11
 
12
- #### import:
12
+ #### Import:
13
13
 
14
14
  ```js
15
15
  import HandDrive from 'spoko-design-system/src/components/HandDrive.astro'
16
16
  ```
17
17
 
18
18
 
19
- ### RHD
19
+ ## RHD
20
20
 
21
21
  <div class="component-preview">
22
22
  <HandDrive handDrive={0} />
@@ -28,7 +28,7 @@ import HandDrive from 'spoko-design-system/src/components/HandDrive.astro'
28
28
 
29
29
 
30
30
 
31
- ### LHD
31
+ ## LHD
32
32
  <div class="component-preview">
33
33
  <HandDrive handDrive={1} />
34
34
  </div>