spoko-design-system 0.9.6 → 1.0.1

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 (180) hide show
  1. package/.astro/content.d.ts +1 -1
  2. package/.astro/data-store.json +1 -1
  3. package/.astro/settings.json +4 -4
  4. package/.astro/types.d.ts +2 -1
  5. package/.claude/settings.local.json +11 -1
  6. package/.github/dependabot.yml +11 -11
  7. package/.github/todo.yml +3 -3
  8. package/.github/workflows/deploy.yml +39 -39
  9. package/.github/workflows/release.yml +64 -0
  10. package/.releaserc.json +93 -0
  11. package/.stackblitzrc +5 -5
  12. package/.vscode/extensions.json +4 -5
  13. package/.vscode/launch.json +11 -11
  14. package/.vscode/settings.json +1 -5
  15. package/CHANGELOG.md +20 -0
  16. package/CONTRIBUTING.md +183 -0
  17. package/LICENSE +21 -21
  18. package/README.md +132 -116
  19. package/astro.config.mjs +84 -86
  20. package/dev-dist/sw.js +91 -91
  21. package/dev-dist/workbox-c676b6d3.js +3391 -3391
  22. package/icon.config.ts +340 -310
  23. package/index.ts +70 -70
  24. package/package.json +19 -11
  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/make-scrollable-code-focusable.js +3 -3
  35. package/public/pagefind.yml +3 -3
  36. package/public/polo.blue.svg +29 -29
  37. package/public/spoko.space.svg +71 -71
  38. package/public/twitter.svg +46 -46
  39. package/renovate.json +6 -6
  40. package/sandbox.config.json +11 -11
  41. package/src/MyComponent.astro +8 -8
  42. package/src/components/Badge.vue +19 -19
  43. package/src/components/Badges.vue +21 -21
  44. package/src/components/Breadcrumbs.vue +94 -94
  45. package/src/components/Button.vue +101 -101
  46. package/src/components/ButtonCopy.astro +183 -183
  47. package/src/components/ButtonCopy.vue +36 -36
  48. package/src/components/Card.astro +27 -27
  49. package/src/components/Carousel.astro +26 -26
  50. package/src/components/Category/CategoriesCarousel.astro +100 -101
  51. package/src/components/Category/CategoryDetails.astro +168 -169
  52. package/src/components/Category/CategoryLink.vue +28 -28
  53. package/src/components/Category/CategorySidebarToggler.vue +9 -9
  54. package/src/components/Category/CategoryTile.astro +37 -37
  55. package/src/components/Category/CategoryViewToggler.astro +89 -89
  56. package/src/components/Category/SubCategoryLink.vue +19 -19
  57. package/src/components/Copyright.astro +12 -12
  58. package/src/components/Date.astro +7 -7
  59. package/src/components/Faq.astro +32 -33
  60. package/src/components/FaqItem.astro +80 -80
  61. package/src/components/FeaturesList.vue +37 -37
  62. package/src/components/FuckRussia.vue +62 -62
  63. package/src/components/HandDrive.astro +55 -29
  64. package/src/components/Header/Header.astro +210 -210
  65. package/src/components/Header/SkipToContent.astro +1 -1
  66. package/src/components/Headline.vue +107 -87
  67. package/src/components/Image.astro +30 -30
  68. package/src/components/LeftSidebar.astro +53 -53
  69. package/src/components/MainColors.vue +22 -22
  70. package/src/components/MainInput.vue +15 -15
  71. package/src/components/Modal.astro +27 -27
  72. package/src/components/PageContent.astro +5 -5
  73. package/src/components/PartNumber.vue +27 -27
  74. package/src/components/Post/PostCategories.astro +41 -41
  75. package/src/components/Post/PostCategories.vue +30 -30
  76. package/src/components/PostHeader.astro +103 -103
  77. package/src/components/PrCode.vue +141 -141
  78. package/src/components/Product/ProductButton.vue +18 -18
  79. package/src/components/Product/ProductCarousel.astro +35 -35
  80. package/src/components/Product/ProductEngineType.vue +42 -42
  81. package/src/components/Product/ProductImage.astro +40 -40
  82. package/src/components/Product/ProductLink.astro +96 -101
  83. package/src/components/Product/ProductLink.vue +59 -59
  84. package/src/components/Product/ProductLinkInfo.astro +37 -37
  85. package/src/components/Product/ProductNumber.astro +60 -60
  86. package/src/components/ProductCarousel.astro +38 -38
  87. package/src/components/ProductCodes.vue +39 -39
  88. package/src/components/ProductDetailName.vue +52 -52
  89. package/src/components/ProductDetailsList.vue +216 -216
  90. package/src/components/ProductTile.astro +47 -48
  91. package/src/components/Quote.vue +23 -23
  92. package/src/components/ReloadPrompt.astro +50 -50
  93. package/src/components/SlimBanner.vue +72 -72
  94. package/src/components/Table.vue +32 -32
  95. package/src/components/TableOfContents.astro +15 -15
  96. package/src/components/Translations.vue +23 -23
  97. package/src/components/flags/FlagPL.vue +3 -3
  98. package/src/components/flags/FlagUA.vue +2 -2
  99. package/src/components/{Layout → layout}/CallToAction.astro +52 -52
  100. package/src/components/{Layout → layout}/Container.astro +7 -7
  101. package/src/components/{Layout → layout}/Header.astro +80 -80
  102. package/src/config.ts +56 -56
  103. package/src/design.config.ts +98 -98
  104. package/src/env.d.ts +6 -6
  105. package/src/layouts/Layout.astro +58 -61
  106. package/src/layouts/MainLayout.astro +78 -81
  107. package/src/layouts/partials/FooterCommon.astro +4 -4
  108. package/src/layouts/partials/HeadCommon.astro +44 -44
  109. package/src/layouts/partials/HeadSEO.astro +41 -41
  110. package/src/pages/components/badges.mdx +57 -57
  111. package/src/pages/components/breadcrumbs.mdx +139 -139
  112. package/src/pages/components/buttons.mdx +359 -360
  113. package/src/pages/components/card.mdx +294 -294
  114. package/src/pages/components/carousel.mdx +62 -62
  115. package/src/pages/components/copyright.mdx +42 -42
  116. package/src/pages/components/details-list.mdx +115 -115
  117. package/src/pages/components/features-list.mdx +37 -37
  118. package/src/pages/components/flags.mdx +49 -49
  119. package/src/pages/components/fuck-russia.mdx +39 -39
  120. package/src/pages/components/hand-drive.mdx +78 -38
  121. package/src/pages/components/headline.mdx +137 -137
  122. package/src/pages/components/icons.astro +135 -135
  123. package/src/pages/components/image.mdx +513 -513
  124. package/src/pages/components/input.mdx +367 -367
  125. package/src/pages/components/jumbotron.mdx +359 -359
  126. package/src/pages/components/modal.mdx +64 -64
  127. package/src/pages/components/post-header.mdx +64 -64
  128. package/src/pages/components/pr-code.mdx +65 -65
  129. package/src/pages/components/product-number.mdx +58 -58
  130. package/src/pages/components/product-tile.mdx +51 -51
  131. package/src/pages/components/quote.mdx +33 -33
  132. package/src/pages/components/slimbanner.mdx +35 -35
  133. package/src/pages/components/table.mdx +108 -108
  134. package/src/pages/core/colors.mdx +10 -10
  135. package/src/pages/core/grid.mdx +89 -89
  136. package/src/pages/core/introduction.mdx +77 -77
  137. package/src/pages/core/shadows.astro +20 -20
  138. package/src/pages/core/typography.astro +49 -49
  139. package/src/pages/index.astro +264 -133
  140. package/src/pages/patterns/introduction.mdx +60 -60
  141. package/src/pwa.ts +12 -12
  142. package/src/styles/_variables.scss +70 -70
  143. package/src/styles/base/base.css +184 -184
  144. package/src/styles/base/grid.css +92 -92
  145. package/src/styles/base/typography.css +70 -70
  146. package/src/styles/content.css +73 -73
  147. package/src/styles/main.css +7 -7
  148. package/src/types/Product.ts +31 -31
  149. package/src/types/astro.d.ts +3 -3
  150. package/src/utils/category/getMainCategoryList.ts +8 -17
  151. package/src/utils/product/getPriceFormatted.ts +12 -15
  152. package/src/utils/product/getProductChecklist.ts +16 -17
  153. package/src/utils/product/useFormatProductNumber.ts +41 -41
  154. package/src/utils/seo/getShorterDescription.ts +14 -14
  155. package/src/utils/text/formatDate.ts +5 -5
  156. package/src/utils/text/formatLocaleNumber.ts +5 -6
  157. package/src/utils/text/formatPad.ts +12 -12
  158. package/src/utils/text/getNumberFormatted.ts +33 -33
  159. package/src/utils/text/getTranslatedLink.ts +5 -5
  160. package/src/utils/text.ts +19 -19
  161. package/tailwind.config.cjs +8 -8
  162. package/tsconfig.json +28 -28
  163. package/uno-config/index.ts +262 -268
  164. package/uno-config/theme/breakpoints.ts +9 -9
  165. package/uno-config/theme/colors.ts +64 -64
  166. package/uno-config/theme/dimensions.ts +17 -17
  167. package/uno-config/theme/effects.ts +14 -14
  168. package/uno-config/theme/grid.ts +10 -10
  169. package/uno-config/theme/index.ts +28 -28
  170. package/uno-config/theme/shortcuts/buttons.ts +53 -53
  171. package/uno-config/theme/shortcuts/components.ts +123 -123
  172. package/uno-config/theme/shortcuts/index.ts +20 -20
  173. package/uno-config/theme/shortcuts/layout.ts +74 -74
  174. package/uno-config/theme/typography.ts +29 -29
  175. package/uno.config.ts +2 -2
  176. package/.astro/icon.d.ts +0 -11909
  177. package/astro-i18next.config.mjs +0 -18
  178. package/astro-i18next.config.ts +0 -11
  179. package/public/locales/en/translation.json +0 -13
  180. package/public/locales/pl/translation.json +0 -13
@@ -1,294 +1,294 @@
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-1 md:grid-cols-3 gap-8 w-full" itemscope itemtype="https://schema.org/ItemList">
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
- <a href="#">
18
- <h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 leading-none">Lorem Ipsum</h5>
19
- </a>
20
- <p class="mb-3 font-normal text-gray-700 ">
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
-
24
- <div class="flex items-center justify-between my-4">
25
- <span class="text-2xl font-bold text-gray-900">€599.00</span>
26
- </div>
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 leading-none">Lorem Ipsum</h5>
37
- </a>
38
- <p class="mb-3 font-normal text-gray-700 ">
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 ">€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 leading-none">Lorem Ipsum</h5>
55
- </a>
56
- <p class="mb-3 font-normal text-gray-700 ">
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 ">€599.00</span>
62
- </div>
63
-
64
- <Button tertiary small href="#">
65
- Read more
66
- <Icon name="flowbite:arrow-right-outline" class="ml-2 text-2xl leading-none" />
67
- </Button>
68
- </Card>
69
- </div>
70
- </div>
71
-
72
- ```html
73
- <div class="grid grid-cols-1 md: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 leading-none">Lorem Ipsum</h5>
77
- </a>
78
- <p class="mb-3 font-normal text-gray-700 ">
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>
81
-
82
- <div class="flex items-center justify-between my-4">
83
- <span class="text-2xl font-bold text-gray-900 ">€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>
91
- </div>
92
- ```
93
-
94
- ## Grid example
95
-
96
- <div class="component-preview">
97
- <div class="w-fit mx-auto grid grid-cols-1 lg:grid-cols-3 md:grid-cols-2 justify-items-center justify-center gap-y-20 gap-x-14 mt-10 mb-5 ">
98
- <div class="w-72 bg-white shadow-md rounded-xl duration-500 hover:scale-105 hover:shadow-xl">
99
- <a href="#">
100
- <img src="https://picsum.photos/600/500/?random" alt="Product" class="img--1/1 rounded-t-xl" />
101
- <div class="px-4 py-3 w-72">
102
- <span class="text-gray-400 mr-3 uppercase text-xs">Brand</span>
103
- <p class="text-lg font-bold text-black truncate block capitalize">Product Name</p>
104
- <div class="flex items-center">
105
- <p class="text-lg font-semibold text-black cursor-auto my-3">€149</p>
106
- <del>
107
- <p class="text-sm text-gray-600 cursor-auto ml-2">€199</p>
108
- </del>
109
- <Icon name="octicon:info-24" class="ml-auto" />
110
- </div>
111
- </div>
112
- </a>
113
- </div>
114
- <div class="w-72 bg-white shadow-md rounded-xl duration-500 hover:scale-105 hover:shadow-xl">
115
- <a href="#">
116
- <img src="https://picsum.photos/600/500/?random" alt="Product" class="img--1/1 rounded-t-xl" />
117
- <div class="px-4 py-3 w-72">
118
- <span class="text-gray-400 mr-3 uppercase text-xs">Brand</span>
119
- <p class="text-lg font-bold text-black truncate block capitalize">Product Name</p>
120
- <div class="flex items-center">
121
- <p class="text-lg font-semibold text-black cursor-auto my-3">€149</p>
122
- <del>
123
- <p class="text-sm text-gray-600 cursor-auto ml-2">€199</p>
124
- </del>
125
- <Icon name="octicon:info-24" class="ml-auto" />
126
- </div>
127
- </div>
128
- </a>
129
- </div>
130
- <div class="w-72 bg-white shadow-md rounded-xl duration-500 hover:scale-105 hover:shadow-xl">
131
- <a href="#">
132
- <img src="https://picsum.photos/600/500/?random" alt="Product" class="img--1/1 rounded-t-xl" />
133
- <div class="px-4 py-3 w-72">
134
- <span class="text-gray-400 mr-3 uppercase text-xs">Brand</span>
135
- <p class="text-lg font-bold text-black truncate block capitalize">Product Name</p>
136
- <div class="flex items-center">
137
- <p class="text-lg font-semibold text-black cursor-auto my-3">€149</p>
138
- <del>
139
- <p class="text-sm text-gray-600 cursor-auto ml-2">€199</p>
140
- </del>
141
- <Icon name="octicon:info-24" class="ml-auto" />
142
- </div>
143
- </div>
144
- </a>
145
- </div>
146
- <div class="w-72 bg-white shadow-md rounded-xl duration-500 hover:scale-105 hover:shadow-xl">
147
- <a href="#">
148
- <img src="https://picsum.photos/600/500/?random" alt="Product" class="img--1/1 rounded-t-xl" />
149
- <div class="px-4 py-3 w-72">
150
- <span class="text-gray-400 mr-3 uppercase text-xs">Brand</span>
151
- <p class="text-lg font-bold text-black truncate block capitalize">Product Name</p>
152
- <div class="flex items-center">
153
- <p class="text-lg font-semibold text-black cursor-auto my-3">€149</p>
154
- <del>
155
- <p class="text-sm text-gray-600 cursor-auto ml-2">€199</p>
156
- </del>
157
- <Icon name="octicon:info-24" class="ml-auto" />
158
- </div>
159
- </div>
160
- </a>
161
- </div>
162
- <div class="w-72 bg-white shadow-md rounded-xl duration-500 hover:scale-105 hover:shadow-xl">
163
- <a href="#">
164
- <img src="https://picsum.photos/600/500/?random" alt="Product" class="img--1/1 rounded-t-xl" />
165
- <div class="px-4 py-3 w-72">
166
- <span class="text-gray-400 mr-3 uppercase text-xs">Brand</span>
167
- <p class="text-lg font-bold text-black truncate block capitalize">Product Name</p>
168
- <div class="flex items-center">
169
- <p class="text-lg font-semibold text-black cursor-auto my-3">€149</p>
170
- <del>
171
- <p class="text-sm text-gray-600 cursor-auto ml-2">€199</p>
172
- </del>
173
- <Icon name="octicon:info-24" class="ml-auto" />
174
- </div>
175
- </div>
176
- </a>
177
- </div>
178
- <div class="w-72 bg-white shadow-md rounded-xl duration-500 hover:scale-105 hover:shadow-xl">
179
- <a href="#">
180
- <img src="https://picsum.photos/600/500/?random" alt="Product" class="img--1/1 rounded-t-xl" />
181
- <div class="px-4 py-3 w-72">
182
- <span class="text-gray-400 mr-3 uppercase text-xs">Brand</span>
183
- <p class="text-lg font-bold text-black truncate block capitalize">Product Name</p>
184
- <div class="flex items-center">
185
- <p class="text-lg font-semibold text-black cursor-auto my-3">€149</p>
186
- <del>
187
- <p class="text-sm text-gray-600 cursor-auto ml-2">€199</p>
188
- </del>
189
- <Icon name="octicon:info-24" class="ml-auto" />
190
- </div>
191
- </div>
192
- </a>
193
- </div>
194
- </div>
195
- </div>
196
- ```html
197
- <div class="w-fit mx-auto grid grid-cols-1 lg:grid-cols-3 md:grid-cols-2 justify-items-center justify-center gap-y-20 gap-x-14 mt-10 mb-5 ">
198
- <div class="w-72 bg-white shadow-md rounded-xl duration-500 hover:scale-105 hover:shadow-xl">
199
- <a href="#">
200
- <img src="https://picsum.photos/600/500/?random" alt="Product" class="img--1/1 rounded-t-xl" />
201
- <div class="px-4 py-3 w-72">
202
- <span class="text-gray-400 mr-3 uppercase text-xs">Brand</span>
203
- <p class="text-lg font-bold text-black truncate block capitalize">Product Name</p>
204
- <div class="flex items-center">
205
- <p class="text-lg font-semibold text-black cursor-auto my-3">€149</p>
206
- <del>
207
- <p class="text-sm text-gray-600 cursor-auto ml-2">€199</p>
208
- </del>
209
- <Icon name="octicon:info-24" class="ml-auto" />
210
- </div>
211
- </div>
212
- </a>
213
- </div>
214
- </div>
215
- ```
216
-
217
- ## Card with skewed background
218
- Skewed background with CSS & SVG.
219
-
220
- <div class="component-preview">
221
-
222
- <div class="columns-3 gap-8">
223
-
224
- <div class="relative flex flex-col min-w-0 break-words w-full mb-8 shadow-lg rounded-lg bg-blue-medium break-inside-avoid-column duration-300 hover:scale-105 hover:shadow-xl">
225
- <img alt="..." src="https://picsum.photos/900/600/?random" class="w-full align-middle rounded-t-lg img--16/9" />
226
- <blockquote class="relative p-8 mb-4 text-white/90">
227
- <svg preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 583 95" class="absolute left-0 w-full block" style="height:95px;top:-94px"><polygon points="-30,95 583,95 583,65" class="text-blue-medium fill-current"></polygon></svg>
228
- <h4 class="text-xl font-bold text-white">Officia deserunt commodo sit eiusmod</h4>
229
- <p class="text-md font-light mt-2 text-white">
230
- Ullamco qui minim anim aliqua ex sunt irure aliqua irure ullamco tempor laborum non sit. Fugiat ipsum cillum deserunt proident esse elit.
231
- </p>
232
- </blockquote>
233
- </div>
234
-
235
- <div class="relative flex flex-col min-w-0 break-words w-full mb-8 shadow-lg rounded-lg bg-blue-medium break-inside-avoid-column duration-300 hover:scale-105 hover:shadow-xl">
236
- <img alt="..." src="https://picsum.photos/900/600/?random" class="w-full align-middle rounded-t-lg img--16/9" />
237
- <blockquote class="relative p-8 mb-4 text-white/90">
238
- <svg preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 583 95" class="absolute left-0 w-full block" style="height:95px;top:-94px"><polygon points="-30,95 583,95 583,65" class="text-blue-medium fill-current"></polygon></svg>
239
- <h4 class="text-xl font-bold text-white">Officia deserunt commodo sit eiusmod</h4>
240
- <p class="text-md font-light mt-2 text-white">
241
- Ullamco qui minim anim aliqua ex sunt irure aliqua irure ullamco tempor laborum non sit. Fugiat ipsum cillum deserunt proident esse elit.
242
- </p>
243
- </blockquote>
244
- </div>
245
-
246
- <div class="relative flex flex-col min-w-0 break-words w-full mb-8 shadow-lg rounded-lg bg-blue-medium break-inside-avoid-column duration-300 hover:scale-105 hover:shadow-xl">
247
- <img alt="..." src="https://picsum.photos/900/600/?random" class="w-full align-middle rounded-t-lg img--16/9" />
248
- <blockquote class="relative p-8 mb-4 text-white/90">
249
- <svg preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 583 95" class="absolute left-0 w-full block" style="height:95px;top:-94px"><polygon points="-30,95 583,95 583,65" class="text-blue-medium fill-current"></polygon></svg>
250
- <h4 class="text-xl font-bold text-white">Officia deserunt commodo sit eiusmod</h4>
251
- <p class="text-md font-light mt-2 text-white">
252
- Ullamco qui minim anim aliqua ex sunt irure aliqua irure ullamco tempor laborum non sit. Fugiat ipsum cillum deserunt proident esse elit.
253
- </p>
254
- </blockquote>
255
- </div>
256
-
257
- <div class="relative flex flex-col min-w-0 break-words w-full mb-8 shadow-lg rounded-lg bg-blue-medium break-inside-avoid-column duration-300 hover:scale-105 hover:shadow-xl">
258
- <img alt="..." src="https://picsum.photos/900/600/?random" class="w-full align-middle rounded-t-lg img--16/9" />
259
- <blockquote class="relative p-8 mb-4 text-white/90">
260
- <svg preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 583 95" class="absolute left-0 w-full block" style="height:95px;top:-94px"><polygon points="-30,95 583,95 583,65" class="text-blue-medium fill-current"></polygon></svg>
261
- <h4 class="text-xl font-bold text-white">Officia deserunt commodo sit eiusmod</h4>
262
- <p class="text-md font-light mt-2 text-white">
263
- Ullamco qui minim anim aliqua ex sunt irure aliqua irure ullamco tempor laborum non sit. Fugiat ipsum cillum deserunt proident esse elit.
264
- </p>
265
- </blockquote>
266
- </div>
267
-
268
- <div class="relative flex flex-col min-w-0 break-words w-full mb-8 shadow-lg rounded-lg bg-blue-medium break-inside-avoid-column duration-300 hover:scale-105 hover:shadow-xl">
269
- <img alt="..." src="https://picsum.photos/900/600/?random" class="w-full align-middle rounded-t-lg img--16/9" />
270
- <blockquote class="relative p-8 mb-4 text-white/90">
271
- <svg preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 583 95" class="absolute left-0 w-full block" style="height:95px;top:-94px"><polygon points="-30,95 583,95 583,65" class="text-blue-medium fill-current"></polygon></svg>
272
- <h4 class="text-xl font-bold text-white">Officia deserunt commodo sit eiusmod</h4>
273
- <p class="text-md font-light mt-2 text-white">
274
- Ullamco qui minim anim aliqua ex sunt irure aliqua irure ullamco tempor laborum non sit. Fugiat ipsum cillum deserunt proident esse elit.
275
- </p>
276
- </blockquote>
277
- </div>
278
-
279
- <div class="relative flex flex-col min-w-0 break-words w-full mb-8 shadow-lg rounded-lg bg-blue-medium break-inside-avoid-column duration-300 hover:scale-105 hover:shadow-xl">
280
- <img alt="..." src="https://picsum.photos/900/600/?random" class="w-full align-middle rounded-t-lg img--16/9" />
281
- <blockquote class="relative p-8 mb-4 text-white/90">
282
- <svg preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 583 95" class="absolute left-0 w-full block" style="height:95px;top:-94px"><polygon points="-30,95 583,95 583,65" class="text-blue-medium fill-current"></polygon></svg>
283
- <h4 class="text-xl font-bold text-white">Officia deserunt commodo sit eiusmod</h4>
284
- <p class="text-md font-light mt-2 text-white">
285
- Ullamco qui minim anim aliqua ex sunt irure aliqua irure ullamco tempor laborum non sit. Fugiat ipsum cillum deserunt proident esse elit.
286
- </p>
287
- </blockquote>
288
- </div>
289
-
290
- </div>
291
-
292
- </div>
293
-
294
-
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-1 md:grid-cols-3 gap-8 w-full" itemscope itemtype="https://schema.org/ItemList">
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
+ <a href="#">
18
+ <h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 leading-none">Lorem Ipsum</h5>
19
+ </a>
20
+ <p class="mb-3 font-normal text-gray-700 ">
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
+
24
+ <div class="flex items-center justify-between my-4">
25
+ <span class="text-2xl font-bold text-gray-900">€599.00</span>
26
+ </div>
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 leading-none">Lorem Ipsum</h5>
37
+ </a>
38
+ <p class="mb-3 font-normal text-gray-700 ">
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 ">€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 leading-none">Lorem Ipsum</h5>
55
+ </a>
56
+ <p class="mb-3 font-normal text-gray-700 ">
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 ">€599.00</span>
62
+ </div>
63
+
64
+ <Button tertiary small href="#">
65
+ Read more
66
+ <Icon name="flowbite:arrow-right-outline" class="ml-2 text-2xl leading-none" />
67
+ </Button>
68
+ </Card>
69
+ </div>
70
+ </div>
71
+
72
+ ```html
73
+ <div class="grid grid-cols-1 md: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 leading-none">Lorem Ipsum</h5>
77
+ </a>
78
+ <p class="mb-3 font-normal text-gray-700 ">
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>
81
+
82
+ <div class="flex items-center justify-between my-4">
83
+ <span class="text-2xl font-bold text-gray-900 ">€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>
91
+ </div>
92
+ ```
93
+
94
+ ## Grid example
95
+
96
+ <div class="component-preview">
97
+ <div class="w-fit mx-auto grid grid-cols-1 lg:grid-cols-3 md:grid-cols-2 justify-items-center justify-center gap-y-20 gap-x-14 mt-10 mb-5 ">
98
+ <div class="w-72 bg-white shadow-md rounded-xl duration-500 hover:scale-105 hover:shadow-xl">
99
+ <a href="#">
100
+ <img src="https://picsum.photos/600/500/?random" alt="Product" class="img--1/1 rounded-t-xl" />
101
+ <div class="px-4 py-3 w-72">
102
+ <span class="text-gray-400 mr-3 uppercase text-xs">Brand</span>
103
+ <p class="text-lg font-bold text-black truncate block capitalize">Product Name</p>
104
+ <div class="flex items-center">
105
+ <p class="text-lg font-semibold text-black cursor-auto my-3">€149</p>
106
+ <del>
107
+ <p class="text-sm text-gray-600 cursor-auto ml-2">€199</p>
108
+ </del>
109
+ <Icon name="octicon:info-24" class="ml-auto" />
110
+ </div>
111
+ </div>
112
+ </a>
113
+ </div>
114
+ <div class="w-72 bg-white shadow-md rounded-xl duration-500 hover:scale-105 hover:shadow-xl">
115
+ <a href="#">
116
+ <img src="https://picsum.photos/600/500/?random" alt="Product" class="img--1/1 rounded-t-xl" />
117
+ <div class="px-4 py-3 w-72">
118
+ <span class="text-gray-400 mr-3 uppercase text-xs">Brand</span>
119
+ <p class="text-lg font-bold text-black truncate block capitalize">Product Name</p>
120
+ <div class="flex items-center">
121
+ <p class="text-lg font-semibold text-black cursor-auto my-3">€149</p>
122
+ <del>
123
+ <p class="text-sm text-gray-600 cursor-auto ml-2">€199</p>
124
+ </del>
125
+ <Icon name="octicon:info-24" class="ml-auto" />
126
+ </div>
127
+ </div>
128
+ </a>
129
+ </div>
130
+ <div class="w-72 bg-white shadow-md rounded-xl duration-500 hover:scale-105 hover:shadow-xl">
131
+ <a href="#">
132
+ <img src="https://picsum.photos/600/500/?random" alt="Product" class="img--1/1 rounded-t-xl" />
133
+ <div class="px-4 py-3 w-72">
134
+ <span class="text-gray-400 mr-3 uppercase text-xs">Brand</span>
135
+ <p class="text-lg font-bold text-black truncate block capitalize">Product Name</p>
136
+ <div class="flex items-center">
137
+ <p class="text-lg font-semibold text-black cursor-auto my-3">€149</p>
138
+ <del>
139
+ <p class="text-sm text-gray-600 cursor-auto ml-2">€199</p>
140
+ </del>
141
+ <Icon name="octicon:info-24" class="ml-auto" />
142
+ </div>
143
+ </div>
144
+ </a>
145
+ </div>
146
+ <div class="w-72 bg-white shadow-md rounded-xl duration-500 hover:scale-105 hover:shadow-xl">
147
+ <a href="#">
148
+ <img src="https://picsum.photos/600/500/?random" alt="Product" class="img--1/1 rounded-t-xl" />
149
+ <div class="px-4 py-3 w-72">
150
+ <span class="text-gray-400 mr-3 uppercase text-xs">Brand</span>
151
+ <p class="text-lg font-bold text-black truncate block capitalize">Product Name</p>
152
+ <div class="flex items-center">
153
+ <p class="text-lg font-semibold text-black cursor-auto my-3">€149</p>
154
+ <del>
155
+ <p class="text-sm text-gray-600 cursor-auto ml-2">€199</p>
156
+ </del>
157
+ <Icon name="octicon:info-24" class="ml-auto" />
158
+ </div>
159
+ </div>
160
+ </a>
161
+ </div>
162
+ <div class="w-72 bg-white shadow-md rounded-xl duration-500 hover:scale-105 hover:shadow-xl">
163
+ <a href="#">
164
+ <img src="https://picsum.photos/600/500/?random" alt="Product" class="img--1/1 rounded-t-xl" />
165
+ <div class="px-4 py-3 w-72">
166
+ <span class="text-gray-400 mr-3 uppercase text-xs">Brand</span>
167
+ <p class="text-lg font-bold text-black truncate block capitalize">Product Name</p>
168
+ <div class="flex items-center">
169
+ <p class="text-lg font-semibold text-black cursor-auto my-3">€149</p>
170
+ <del>
171
+ <p class="text-sm text-gray-600 cursor-auto ml-2">€199</p>
172
+ </del>
173
+ <Icon name="octicon:info-24" class="ml-auto" />
174
+ </div>
175
+ </div>
176
+ </a>
177
+ </div>
178
+ <div class="w-72 bg-white shadow-md rounded-xl duration-500 hover:scale-105 hover:shadow-xl">
179
+ <a href="#">
180
+ <img src="https://picsum.photos/600/500/?random" alt="Product" class="img--1/1 rounded-t-xl" />
181
+ <div class="px-4 py-3 w-72">
182
+ <span class="text-gray-400 mr-3 uppercase text-xs">Brand</span>
183
+ <p class="text-lg font-bold text-black truncate block capitalize">Product Name</p>
184
+ <div class="flex items-center">
185
+ <p class="text-lg font-semibold text-black cursor-auto my-3">€149</p>
186
+ <del>
187
+ <p class="text-sm text-gray-600 cursor-auto ml-2">€199</p>
188
+ </del>
189
+ <Icon name="octicon:info-24" class="ml-auto" />
190
+ </div>
191
+ </div>
192
+ </a>
193
+ </div>
194
+ </div>
195
+ </div>
196
+ ```html
197
+ <div class="w-fit mx-auto grid grid-cols-1 lg:grid-cols-3 md:grid-cols-2 justify-items-center justify-center gap-y-20 gap-x-14 mt-10 mb-5 ">
198
+ <div class="w-72 bg-white shadow-md rounded-xl duration-500 hover:scale-105 hover:shadow-xl">
199
+ <a href="#">
200
+ <img src="https://picsum.photos/600/500/?random" alt="Product" class="img--1/1 rounded-t-xl" />
201
+ <div class="px-4 py-3 w-72">
202
+ <span class="text-gray-400 mr-3 uppercase text-xs">Brand</span>
203
+ <p class="text-lg font-bold text-black truncate block capitalize">Product Name</p>
204
+ <div class="flex items-center">
205
+ <p class="text-lg font-semibold text-black cursor-auto my-3">€149</p>
206
+ <del>
207
+ <p class="text-sm text-gray-600 cursor-auto ml-2">€199</p>
208
+ </del>
209
+ <Icon name="octicon:info-24" class="ml-auto" />
210
+ </div>
211
+ </div>
212
+ </a>
213
+ </div>
214
+ </div>
215
+ ```
216
+
217
+ ## Card with skewed background
218
+ Skewed background with CSS & SVG.
219
+
220
+ <div class="component-preview">
221
+
222
+ <div class="columns-3 gap-8">
223
+
224
+ <div class="relative flex flex-col min-w-0 break-words w-full mb-8 shadow-lg rounded-lg bg-blue-medium break-inside-avoid-column duration-300 hover:scale-105 hover:shadow-xl">
225
+ <img alt="..." src="https://picsum.photos/900/600/?random" class="w-full align-middle rounded-t-lg img--16/9" />
226
+ <blockquote class="relative p-8 mb-4 text-white/90">
227
+ <svg preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 583 95" class="absolute left-0 w-full block" style="height:95px;top:-94px"><polygon points="-30,95 583,95 583,65" class="text-blue-medium fill-current"></polygon></svg>
228
+ <h4 class="text-xl font-bold text-white">Officia deserunt commodo sit eiusmod</h4>
229
+ <p class="text-md font-light mt-2 text-white">
230
+ Ullamco qui minim anim aliqua ex sunt irure aliqua irure ullamco tempor laborum non sit. Fugiat ipsum cillum deserunt proident esse elit.
231
+ </p>
232
+ </blockquote>
233
+ </div>
234
+
235
+ <div class="relative flex flex-col min-w-0 break-words w-full mb-8 shadow-lg rounded-lg bg-blue-medium break-inside-avoid-column duration-300 hover:scale-105 hover:shadow-xl">
236
+ <img alt="..." src="https://picsum.photos/900/600/?random" class="w-full align-middle rounded-t-lg img--16/9" />
237
+ <blockquote class="relative p-8 mb-4 text-white/90">
238
+ <svg preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 583 95" class="absolute left-0 w-full block" style="height:95px;top:-94px"><polygon points="-30,95 583,95 583,65" class="text-blue-medium fill-current"></polygon></svg>
239
+ <h4 class="text-xl font-bold text-white">Officia deserunt commodo sit eiusmod</h4>
240
+ <p class="text-md font-light mt-2 text-white">
241
+ Ullamco qui minim anim aliqua ex sunt irure aliqua irure ullamco tempor laborum non sit. Fugiat ipsum cillum deserunt proident esse elit.
242
+ </p>
243
+ </blockquote>
244
+ </div>
245
+
246
+ <div class="relative flex flex-col min-w-0 break-words w-full mb-8 shadow-lg rounded-lg bg-blue-medium break-inside-avoid-column duration-300 hover:scale-105 hover:shadow-xl">
247
+ <img alt="..." src="https://picsum.photos/900/600/?random" class="w-full align-middle rounded-t-lg img--16/9" />
248
+ <blockquote class="relative p-8 mb-4 text-white/90">
249
+ <svg preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 583 95" class="absolute left-0 w-full block" style="height:95px;top:-94px"><polygon points="-30,95 583,95 583,65" class="text-blue-medium fill-current"></polygon></svg>
250
+ <h4 class="text-xl font-bold text-white">Officia deserunt commodo sit eiusmod</h4>
251
+ <p class="text-md font-light mt-2 text-white">
252
+ Ullamco qui minim anim aliqua ex sunt irure aliqua irure ullamco tempor laborum non sit. Fugiat ipsum cillum deserunt proident esse elit.
253
+ </p>
254
+ </blockquote>
255
+ </div>
256
+
257
+ <div class="relative flex flex-col min-w-0 break-words w-full mb-8 shadow-lg rounded-lg bg-blue-medium break-inside-avoid-column duration-300 hover:scale-105 hover:shadow-xl">
258
+ <img alt="..." src="https://picsum.photos/900/600/?random" class="w-full align-middle rounded-t-lg img--16/9" />
259
+ <blockquote class="relative p-8 mb-4 text-white/90">
260
+ <svg preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 583 95" class="absolute left-0 w-full block" style="height:95px;top:-94px"><polygon points="-30,95 583,95 583,65" class="text-blue-medium fill-current"></polygon></svg>
261
+ <h4 class="text-xl font-bold text-white">Officia deserunt commodo sit eiusmod</h4>
262
+ <p class="text-md font-light mt-2 text-white">
263
+ Ullamco qui minim anim aliqua ex sunt irure aliqua irure ullamco tempor laborum non sit. Fugiat ipsum cillum deserunt proident esse elit.
264
+ </p>
265
+ </blockquote>
266
+ </div>
267
+
268
+ <div class="relative flex flex-col min-w-0 break-words w-full mb-8 shadow-lg rounded-lg bg-blue-medium break-inside-avoid-column duration-300 hover:scale-105 hover:shadow-xl">
269
+ <img alt="..." src="https://picsum.photos/900/600/?random" class="w-full align-middle rounded-t-lg img--16/9" />
270
+ <blockquote class="relative p-8 mb-4 text-white/90">
271
+ <svg preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 583 95" class="absolute left-0 w-full block" style="height:95px;top:-94px"><polygon points="-30,95 583,95 583,65" class="text-blue-medium fill-current"></polygon></svg>
272
+ <h4 class="text-xl font-bold text-white">Officia deserunt commodo sit eiusmod</h4>
273
+ <p class="text-md font-light mt-2 text-white">
274
+ Ullamco qui minim anim aliqua ex sunt irure aliqua irure ullamco tempor laborum non sit. Fugiat ipsum cillum deserunt proident esse elit.
275
+ </p>
276
+ </blockquote>
277
+ </div>
278
+
279
+ <div class="relative flex flex-col min-w-0 break-words w-full mb-8 shadow-lg rounded-lg bg-blue-medium break-inside-avoid-column duration-300 hover:scale-105 hover:shadow-xl">
280
+ <img alt="..." src="https://picsum.photos/900/600/?random" class="w-full align-middle rounded-t-lg img--16/9" />
281
+ <blockquote class="relative p-8 mb-4 text-white/90">
282
+ <svg preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 583 95" class="absolute left-0 w-full block" style="height:95px;top:-94px"><polygon points="-30,95 583,95 583,65" class="text-blue-medium fill-current"></polygon></svg>
283
+ <h4 class="text-xl font-bold text-white">Officia deserunt commodo sit eiusmod</h4>
284
+ <p class="text-md font-light mt-2 text-white">
285
+ Ullamco qui minim anim aliqua ex sunt irure aliqua irure ullamco tempor laborum non sit. Fugiat ipsum cillum deserunt proident esse elit.
286
+ </p>
287
+ </blockquote>
288
+ </div>
289
+
290
+ </div>
291
+
292
+ </div>
293
+
294
+