spoko-design-system 0.0.6 → 0.0.8
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/README.md +15 -2
- package/astro.config.mjs +55 -7
- package/package.json +23 -8
- package/public/pagefind.yml +4 -0
- package/src/components/Button.vue +10 -2
- package/src/components/ButtonCopy.vue +1 -6
- package/src/components/Card.astro +2 -2
- package/src/components/Carousel.astro +41 -0
- package/src/components/HeadCommon.astro +3 -3
- package/src/components/Header/Header.astro +171 -0
- package/src/components/Image.astro +0 -2
- package/src/components/Jumbatron.vue +17 -18
- package/src/components/MainTable.vue +20 -26
- package/src/components/Modal.astro +1 -4
- package/src/components/PageContent.astro +0 -1
- package/src/components/ProductTile.astro +30 -32
- package/src/components/RightSidebar.astro +0 -3
- package/src/config.ts +1 -0
- package/src/design.config.ts +4 -0
- package/src/layouts/Layout.astro +2 -2
- package/src/layouts/MainLayout.astro +7 -7
- package/src/pages/components/badges.mdx +17 -31
- package/src/pages/components/breadcrumbs.mdx +9 -6
- package/src/pages/components/buttons.mdx +106 -13
- package/src/pages/components/card.mdx +5 -5
- package/src/pages/components/carousel.mdx +20 -0
- package/src/pages/components/copyright.mdx +3 -2
- package/src/pages/components/flags.mdx +3 -2
- package/src/pages/components/fuck-russia.mdx +1 -1
- package/src/pages/components/hand-drive.mdx +4 -4
- package/src/pages/components/headline.mdx +19 -13
- package/src/pages/components/image.mdx +17 -5
- package/src/pages/components/input.mdx +1 -1
- package/src/pages/components/jumbatron.mdx +5 -3
- package/src/pages/components/modal.mdx +3 -3
- package/src/pages/components/post-header.mdx +3 -1
- package/src/pages/components/pr-code.mdx +6 -10
- package/src/pages/components/product-number.mdx +2 -1
- package/src/pages/components/product-tile.mdx +1 -1
- package/src/pages/components/slimbanner.mdx +1 -1
- package/src/pages/components/table.mdx +74 -4
- package/src/pages/core/colors.mdx +3 -1
- package/src/pages/core/introduction.mdx +1 -1
- package/src/pages/index.astro +8 -6
- package/src/styles/_variables.scss +6 -15
- package/src/styles/base/_base.scss +14 -5
- package/src/styles/base/_typography.scss +1 -80
- package/src/styles/content.scss +6 -9
- package/src/styles/main.scss +0 -16
- package/uno.config.ts +13 -11
- package/Layout/Header.astro +0 -111
|
@@ -6,49 +6,47 @@ import ProductNumber from "./ProductNumber.astro"
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
|
|
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
|
-
<
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
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
|
|
package/src/config.ts
CHANGED
|
@@ -38,6 +38,7 @@ export const SIDEBAR = [
|
|
|
38
38
|
{ text: "PostHeader", link: "/components/post-header" },
|
|
39
39
|
{ text: "PR-Code", link: "/components/pr-code" },
|
|
40
40
|
{ text: "Product Number", link: "/components/product-number" },
|
|
41
|
+
{ text: "Product Tile", link: "/components/product-tile" },
|
|
41
42
|
{ text: "Table", link: "/components/table" },
|
|
42
43
|
|
|
43
44
|
{ text: "Extras", header: true },
|
package/src/design.config.ts
CHANGED
|
@@ -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" },
|
package/src/layouts/Layout.astro
CHANGED
|
@@ -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
|
|
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=
|
|
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-
|
|
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
|
-
<
|
|
38
|
-
<
|
|
39
|
-
|
|
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
|
-
|
|
7
|
+
# Product badges
|
|
8
|
+
Extra product badges (labels).
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
## Badges - GTI
|
|
10
11
|
<div class="component-preview">
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
18
|
+
<Badges badges={['GTI', 'Motorsport', 'Lorem Ipsum']} class="top-2" />
|
|
18
19
|
</div>
|
|
19
20
|
|
|
20
21
|
```
|
|
21
22
|
|
|
22
23
|
|
|
23
|
-
|
|
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
|
-
|
|
42
|
-
|
|
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
|
-
|
|
49
|
-
|
|
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
|
-
|
|
41
|
+
## Few badges on image
|
|
56
42
|
<div class="component-preview">
|
|
57
43
|
<div class="relative">
|
|
58
|
-
|
|
59
|
-
|
|
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
|
-
|
|
66
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
<
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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,13 +7,13 @@ 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
|
-
|
|
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>
|
|
@@ -31,7 +31,7 @@ Card - product link component which can be used for carousels, section with rela
|
|
|
31
31
|
</Button>
|
|
32
32
|
</Card>
|
|
33
33
|
|
|
34
|
-
<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" >
|
|
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
35
|
<a href="#">
|
|
36
36
|
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white leading-none">Lorem Ipsum</h5>
|
|
37
37
|
</a>
|
|
@@ -49,7 +49,7 @@ Card - product link component which can be used for carousels, section with rela
|
|
|
49
49
|
</Button>
|
|
50
50
|
</Card>
|
|
51
51
|
|
|
52
|
-
<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" >
|
|
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
53
|
<a href="#">
|
|
54
54
|
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white leading-none">Lorem Ipsum</h5>
|
|
55
55
|
</a>
|
|
@@ -71,7 +71,7 @@ Card - product link component which can be used for carousels, section with rela
|
|
|
71
71
|
|
|
72
72
|
```html
|
|
73
73
|
<div class="grid grid-cols-3 gap-8 w-full" itemscope itemtype="https://schema.org/ItemList">
|
|
74
|
-
<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" >
|
|
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
75
|
<a href="#">
|
|
76
76
|
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white leading-none">Lorem Ipsum</h5>
|
|
77
77
|
</a>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Carousel"
|
|
3
|
+
layout: "../../layouts/MainLayout.astro"
|
|
4
|
+
---
|
|
5
|
+
import Carousel from '../../components/Carousel.astro'
|
|
6
|
+
|
|
7
|
+
# Carousel
|
|
8
|
+
|
|
9
|
+
Carousel - modern carousel based on Swiper Element (Web Component)
|
|
10
|
+
|
|
11
|
+
<div class="component-preview">
|
|
12
|
+
<Carousel />
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
```js
|
|
16
|
+
<Carousel />
|
|
17
|
+
```
|
|
18
|
+
#
|
|
19
|
+
|
|
20
|
+
Find the code for this page in the `src/pages/components/carousel.mdx` file.
|
|
@@ -4,7 +4,7 @@ layout: "../../layouts/MainLayout.astro"
|
|
|
4
4
|
---
|
|
5
5
|
import Copyright from '../../components/Copyright.astro'
|
|
6
6
|
|
|
7
|
-
|
|
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
|
-
|
|
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 />
|
|
@@ -29,7 +30,7 @@ Flags based on CSS (UnoCSS) classes only.
|
|
|
29
30
|
|
|
30
31
|
## Circle icon flags with shadow
|
|
31
32
|
<div class="component-preview">
|
|
32
|
-
<div class="bg-white p-6 columns-8 md:columns-16 w-full">
|
|
33
|
+
<div class="bg-white p-6 columns-8 md:columns-16 w-full rounded-full">
|
|
33
34
|
<Icon name="circle-flags:pl" class="shadow-md rounded-full" />
|
|
34
35
|
<Icon name="circle-flags:fi" class="shadow-md rounded-full" />
|
|
35
36
|
<Icon name="circle-flags:nl" class="shadow-md rounded-full" />
|
|
@@ -5,18 +5,18 @@ layout: "../../layouts/MainLayout.astro"
|
|
|
5
5
|
import HandDrive from '../../components/HandDrive.astro'
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
|
|
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
|
-
####
|
|
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
|
-
|
|
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
|
-
|
|
31
|
+
## LHD
|
|
32
32
|
<div class="component-preview">
|
|
33
33
|
<HandDrive handDrive={1} />
|
|
34
34
|
</div>
|