spoko-design-system 0.9.6 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/.astro/content.d.ts +1 -1
  2. package/.astro/settings.json +4 -4
  3. package/.astro/types.d.ts +2 -1
  4. package/.github/dependabot.yml +11 -11
  5. package/.github/todo.yml +3 -3
  6. package/.github/workflows/deploy.yml +39 -39
  7. package/.github/workflows/release.yml +64 -0
  8. package/.releaserc.json +93 -0
  9. package/.stackblitzrc +5 -5
  10. package/.vscode/extensions.json +5 -5
  11. package/.vscode/launch.json +11 -11
  12. package/.vscode/settings.json +5 -5
  13. package/CHANGELOG.md +12 -0
  14. package/CONTRIBUTING.md +183 -0
  15. package/LICENSE +21 -21
  16. package/README.md +116 -116
  17. package/astro-i18next.config.mjs +17 -17
  18. package/astro-i18next.config.ts +10 -10
  19. package/astro.config.mjs +86 -86
  20. package/dev-dist/sw.js +91 -91
  21. package/dev-dist/workbox-c676b6d3.js +3391 -3391
  22. package/icon.config.ts +310 -310
  23. package/index.ts +70 -70
  24. package/package.json +13 -3
  25. package/public/arrow-bottom.svg +7 -7
  26. package/public/fonts/lg.svg +53 -53
  27. package/public/fonts/vwhead-bold-demo.html +549 -549
  28. package/public/fonts/vwhead-regular-demo.html +549 -549
  29. package/public/fonts/vwtext-bold-demo.html +549 -549
  30. package/public/fonts/vwtext-regular-demo.html +549 -549
  31. package/public/github.svg +3 -3
  32. package/public/grid_dot.svg +4 -4
  33. package/public/linkedin.svg +44 -44
  34. package/public/locales/en/translation.json +12 -12
  35. package/public/locales/pl/translation.json +12 -12
  36. package/public/make-scrollable-code-focusable.js +3 -3
  37. package/public/pagefind.yml +3 -3
  38. package/public/polo.blue.svg +29 -29
  39. package/public/spoko.space.svg +71 -71
  40. package/public/twitter.svg +46 -46
  41. package/renovate.json +6 -6
  42. package/sandbox.config.json +11 -11
  43. package/src/MyComponent.astro +8 -8
  44. package/src/components/Badge.vue +19 -19
  45. package/src/components/Badges.vue +21 -21
  46. package/src/components/Breadcrumbs.vue +94 -94
  47. package/src/components/Button.vue +101 -101
  48. package/src/components/ButtonCopy.astro +183 -183
  49. package/src/components/ButtonCopy.vue +36 -36
  50. package/src/components/Card.astro +27 -27
  51. package/src/components/Carousel.astro +26 -26
  52. package/src/components/Category/CategoriesCarousel.astro +101 -101
  53. package/src/components/Category/CategoryDetails.astro +169 -169
  54. package/src/components/Category/CategoryLink.vue +28 -28
  55. package/src/components/Category/CategorySidebarToggler.vue +9 -9
  56. package/src/components/Category/CategoryTile.astro +37 -37
  57. package/src/components/Category/CategoryViewToggler.astro +89 -89
  58. package/src/components/Category/SubCategoryLink.vue +19 -19
  59. package/src/components/Copyright.astro +12 -12
  60. package/src/components/Date.astro +7 -7
  61. package/src/components/Faq.astro +33 -33
  62. package/src/components/FaqItem.astro +80 -80
  63. package/src/components/FeaturesList.vue +37 -37
  64. package/src/components/FuckRussia.vue +62 -62
  65. package/src/components/HandDrive.astro +55 -29
  66. package/src/components/Header/Header.astro +210 -210
  67. package/src/components/Header/SkipToContent.astro +1 -1
  68. package/src/components/Headline.vue +87 -87
  69. package/src/components/Image.astro +30 -30
  70. package/src/components/LeftSidebar.astro +53 -53
  71. package/src/components/MainColors.vue +22 -22
  72. package/src/components/MainInput.vue +15 -15
  73. package/src/components/Modal.astro +27 -27
  74. package/src/components/PageContent.astro +5 -5
  75. package/src/components/PartNumber.vue +27 -27
  76. package/src/components/Post/PostCategories.astro +41 -41
  77. package/src/components/Post/PostCategories.vue +30 -30
  78. package/src/components/PostHeader.astro +103 -103
  79. package/src/components/PrCode.vue +141 -141
  80. package/src/components/Product/ProductButton.vue +18 -18
  81. package/src/components/Product/ProductCarousel.astro +35 -35
  82. package/src/components/Product/ProductEngineType.vue +42 -42
  83. package/src/components/Product/ProductImage.astro +40 -40
  84. package/src/components/Product/ProductLink.astro +101 -101
  85. package/src/components/Product/ProductLink.vue +59 -59
  86. package/src/components/Product/ProductLinkInfo.astro +37 -37
  87. package/src/components/Product/ProductNumber.astro +60 -60
  88. package/src/components/ProductCarousel.astro +38 -38
  89. package/src/components/ProductCodes.vue +39 -39
  90. package/src/components/ProductDetailName.vue +52 -52
  91. package/src/components/ProductDetailsList.vue +216 -216
  92. package/src/components/ProductTile.astro +48 -48
  93. package/src/components/Quote.vue +23 -23
  94. package/src/components/ReloadPrompt.astro +50 -50
  95. package/src/components/SlimBanner.vue +72 -72
  96. package/src/components/Table.vue +32 -32
  97. package/src/components/TableOfContents.astro +15 -15
  98. package/src/components/Translations.vue +23 -23
  99. package/src/components/flags/FlagPL.vue +3 -3
  100. package/src/components/flags/FlagUA.vue +2 -2
  101. package/src/components/{Layout → layout}/CallToAction.astro +52 -52
  102. package/src/components/{Layout → layout}/Container.astro +7 -7
  103. package/src/components/{Layout → layout}/Header.astro +80 -80
  104. package/src/config.ts +56 -56
  105. package/src/design.config.ts +98 -98
  106. package/src/env.d.ts +6 -6
  107. package/src/layouts/Layout.astro +61 -61
  108. package/src/layouts/MainLayout.astro +81 -81
  109. package/src/layouts/partials/FooterCommon.astro +4 -4
  110. package/src/layouts/partials/HeadCommon.astro +44 -44
  111. package/src/layouts/partials/HeadSEO.astro +41 -41
  112. package/src/pages/components/badges.mdx +57 -57
  113. package/src/pages/components/breadcrumbs.mdx +139 -139
  114. package/src/pages/components/buttons.mdx +360 -360
  115. package/src/pages/components/card.mdx +294 -294
  116. package/src/pages/components/carousel.mdx +62 -62
  117. package/src/pages/components/copyright.mdx +42 -42
  118. package/src/pages/components/details-list.mdx +115 -115
  119. package/src/pages/components/features-list.mdx +37 -37
  120. package/src/pages/components/flags.mdx +49 -49
  121. package/src/pages/components/fuck-russia.mdx +39 -39
  122. package/src/pages/components/hand-drive.mdx +105 -38
  123. package/src/pages/components/headline.mdx +137 -137
  124. package/src/pages/components/icons.astro +135 -135
  125. package/src/pages/components/image.mdx +513 -513
  126. package/src/pages/components/input.mdx +367 -367
  127. package/src/pages/components/jumbotron.mdx +359 -359
  128. package/src/pages/components/modal.mdx +64 -64
  129. package/src/pages/components/post-header.mdx +64 -64
  130. package/src/pages/components/pr-code.mdx +65 -65
  131. package/src/pages/components/product-number.mdx +58 -58
  132. package/src/pages/components/product-tile.mdx +51 -51
  133. package/src/pages/components/quote.mdx +33 -33
  134. package/src/pages/components/slimbanner.mdx +35 -35
  135. package/src/pages/components/table.mdx +108 -108
  136. package/src/pages/core/colors.mdx +10 -10
  137. package/src/pages/core/grid.mdx +89 -89
  138. package/src/pages/core/introduction.mdx +77 -77
  139. package/src/pages/core/shadows.astro +20 -20
  140. package/src/pages/core/typography.astro +49 -49
  141. package/src/pages/index.astro +133 -133
  142. package/src/pages/patterns/introduction.mdx +60 -60
  143. package/src/pwa.ts +12 -12
  144. package/src/styles/_variables.scss +70 -70
  145. package/src/styles/base/base.css +184 -184
  146. package/src/styles/base/grid.css +92 -92
  147. package/src/styles/base/typography.css +70 -70
  148. package/src/styles/content.css +73 -73
  149. package/src/styles/main.css +7 -7
  150. package/src/types/Product.ts +31 -31
  151. package/src/types/astro.d.ts +3 -3
  152. package/src/utils/product/getPriceFormatted.ts +15 -15
  153. package/src/utils/product/getProductChecklist.ts +17 -17
  154. package/src/utils/product/useFormatProductNumber.ts +41 -41
  155. package/src/utils/seo/getShorterDescription.ts +14 -14
  156. package/src/utils/text/formatDate.ts +5 -5
  157. package/src/utils/text/formatLocaleNumber.ts +6 -6
  158. package/src/utils/text/formatPad.ts +12 -12
  159. package/src/utils/text/getNumberFormatted.ts +33 -33
  160. package/src/utils/text/getTranslatedLink.ts +5 -5
  161. package/src/utils/text.ts +19 -19
  162. package/tailwind.config.cjs +8 -8
  163. package/tsconfig.json +28 -28
  164. package/uno-config/index.ts +268 -268
  165. package/uno-config/theme/breakpoints.ts +9 -9
  166. package/uno-config/theme/colors.ts +64 -64
  167. package/uno-config/theme/dimensions.ts +17 -17
  168. package/uno-config/theme/effects.ts +14 -14
  169. package/uno-config/theme/grid.ts +10 -10
  170. package/uno-config/theme/index.ts +28 -28
  171. package/uno-config/theme/shortcuts/buttons.ts +53 -53
  172. package/uno-config/theme/shortcuts/components.ts +123 -123
  173. package/uno-config/theme/shortcuts/index.ts +20 -20
  174. package/uno-config/theme/shortcuts/layout.ts +74 -74
  175. package/uno-config/theme/typography.ts +29 -29
  176. package/uno.config.ts +2 -2
@@ -1,514 +1,514 @@
1
- ---
2
- title: "Jumbotron"
3
- layout: "../../layouts/MainLayout.astro"
4
- ---
5
- import Image from '../../components/Image.astro'
6
-
7
- # Image
8
-
9
- Image converted to AVIF format and resized.
10
- AVIF compresses images significantly better than older-generation formats such as WebP and JPEG.
11
-
12
- #
13
- Displaying great product images is one of the most important keys to e-Commerce success.
14
-
15
-
16
-
17
- - https://en.wikipedia.org/wiki/AVIF
18
-
19
- #
20
-
21
- You can choose the image format you need so that you do not unnecessarily load an image that is larger than the area in which you are displaying it. This ensures maximum page optimisation.
22
-
23
- - https://docs.astro.build/en/guides/images/
24
-
25
- #
26
-
27
- Use `.img--overlay` class for images on white background to make a layer with light grey overlay.
28
-
29
-
30
- ## Small Image
31
- `.img--small`
32
-
33
- <div class="component-preview">
34
- <div class="img--overlay img--4/3 img--small">
35
- <Image
36
- imageObject={
37
- {
38
- src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
39
- alt: 'Image Alt',
40
- height: '180',
41
- width: '240',
42
- class: 'object-cover'
43
- }
44
- }
45
- />
46
- </div>
47
-
48
-
49
- <div class="img--4/3 img--small">
50
- <Image
51
- imageObject={
52
- {
53
- src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=970&t=st=1706315168',
54
- alt: 'Image Alt',
55
- height: '180',
56
- width: '240',
57
- class: 'object-cover'
58
- }
59
- }
60
- />
61
- </div>
62
-
63
- <div class="img--4/3 img--small">
64
- <Image
65
- imageObject={
66
- {
67
- src: 'https://img.freepik.com/free-photo/lake-mountains_1204-508.jpg?w=970&t=st=1706315236',
68
- alt: 'Image Alt',
69
- height: '180',
70
- width: '240',
71
- class: 'object-cover'
72
- }
73
- }
74
- />
75
- </div>
76
- </div>
77
-
78
-
79
-
80
-
81
- ```js
82
- <div class="img--overlay img--4/3 img--small">
83
- <Image
84
- imageObject={
85
- {
86
- src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
87
- alt: 'Image Alt',
88
- height: '180',
89
- width: '240',
90
- class: 'object-cover'
91
- }
92
- }
93
- />
94
-
95
- <div class="img--4/3 img--small">
96
- <Image
97
- imageObject={
98
- {
99
- src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=970&t=st=1706315168',
100
- alt: 'Image Alt',
101
- height: '180',
102
- width: '240',
103
- class: 'object-cover'
104
- }
105
- }
106
- />
107
- </div>
108
-
109
- <div class="img--4/3 img--small">
110
- <Image
111
- imageObject={
112
- {
113
- src: 'https://img.freepik.com/free-photo/lake-mountains_1204-508.jpg?w=970&t=st=1706315236',
114
- alt: 'Image Alt',
115
- height: '180',
116
- width: '240',
117
- class: 'object-cover'
118
- }
119
- }
120
- />
121
- </div>
122
-
123
-
124
-
125
- </div>
126
- ```
127
-
128
-
129
- ## Medium Image
130
- `.img--medium`
131
-
132
- <div class="component-preview">
133
- <a class="img--medium img--3/2 b-l b-white" href="#">
134
- <Image
135
- imageObject={
136
- {
137
- src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
138
- alt: 'Image Alt',
139
- height: '180',
140
- width: '240',
141
- }
142
- }
143
- />
144
- </a>
145
-
146
- <a class="img--medium img--3/2 b-l b-white" href="#">
147
- <Image
148
- imageObject={
149
- {
150
- src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=970&t=st=1706315168',
151
- alt: 'Image Alt',
152
- height: '180',
153
- width: '240',
154
- class: 'bg-gray-100/70'
155
- }
156
- }
157
- />
158
- </a>
159
-
160
- <a class="img--medium img--3/2 b-l b-white" href="#">
161
- <Image
162
- imageObject={
163
- {
164
- src: 'https://img.freepik.com/free-photo/lake-mountains_1204-508.jpg?w=970&t=st=1706315236',
165
- alt: 'Image Alt',
166
- height: '180',
167
- width: '240',
168
- class: 'bg-gray-100/70'
169
- }
170
- }
171
- />
172
- </a>
173
- </div>
174
-
175
- ```ts
176
- <a class="img--medium img--3/2 b-l b-white" href="#">
177
- <Image
178
- imageObject={
179
- {
180
- src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
181
- alt: 'Image Alt',
182
- height: '180',
183
- width: '240',
184
- }
185
- }
186
- />
187
- </a>
188
-
189
- <a class="img--medium img--3/2 b-l b-white" href="#">
190
- <Image
191
- imageObject={
192
- {
193
- src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=970&t=st=1706315168',
194
- alt: 'Image Alt',
195
- height: '180',
196
- width: '240',
197
- class: 'bg-gray-100/70'
198
- }
199
- }
200
- />
201
- </a>
202
-
203
- <a class="img--medium img--3/2 b-l b-white" href="#">
204
- <Image
205
- imageObject={
206
- {
207
- src: 'https://img.freepik.com/free-photo/lake-mountains_1204-508.jpg?w=970&t=st=1706315236',
208
- alt: 'Image Alt',
209
- height: '180',
210
- width: '240',
211
- class: 'bg-gray-100/70'
212
- }
213
- }
214
- />
215
- </a>
216
- ```
217
-
218
- ## Responsive Image with srcset
219
- - https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images#resolution_switching_different_sizes
220
-
221
- <div class="component-preview">
222
- <div class="h-full img--3/2 overflow-hidden">
223
- <Image
224
- imageObject={
225
- {
226
- src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=1970&t=st=1706315168',
227
- alt: 'Image Alt',
228
- height: '1350',
229
- width: '1800',
230
- class: 'bg-gray-100/70',
231
- srcset: [430, 690, 960, 1200, 1800]
232
- }
233
- }
234
- />
235
- </div>
236
- </div>
237
-
238
- ```js
239
- <Image
240
- imageObject={
241
- {
242
- src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=1970&t=st=1706315168',
243
- alt: 'Image Alt',
244
- height: '1350',
245
- width: '1800',
246
- class: 'bg-gray-100/70',
247
- srcset: [430, 690, 960, 1200, 1800]
248
- }
249
- }
250
- />
251
- ```
252
-
253
-
254
-
255
- ## Image Aspect Ratios
256
-
257
- Image ratio, also known as aspect ratio, is how wide an image is in relation to how tall it is.
258
- For viewing on a mobile device, the recommended image ratio is 1:1 (a square picture).
259
-
260
- #
261
- Ready-made CSS classes:
262
-
263
- - `img--1/1`
264
- - `img--2/3`
265
- - `img--3/1`
266
- - `img--3/2`
267
- - `img--3/4`
268
- - `img--4/3`
269
- - `img--16/9`
270
-
271
-
272
- <div class="component-preview">
273
- <div class="columns-2 lg:columns-4 w-full">
274
- <div class="text-center mb-4">
275
- <div class="img--medium img--1/1 b-l b-white w-full">
276
- <Image
277
- imageObject={
278
- {
279
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
280
- alt: 'Image Alt',
281
- height: '700',
282
- width: '700',
283
- }
284
- }
285
- />
286
- <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">1:1</div>
287
- </div>
288
- </div>
289
-
290
- <div class="text-center mb-4">
291
- <div class="img--medium img--3/1 b-l b-white w-full">
292
- <Image
293
- imageObject={
294
- {
295
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
296
- alt: 'Image Alt',
297
- height: '700',
298
- width: '700',
299
- }
300
- }
301
- />
302
- <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">3:1</div>
303
- </div>
304
- </div>
305
-
306
- <div class="text-center mb-4">
307
- <div class="img--medium img--4/3 b-l b-white w-full">
308
- <Image
309
- imageObject={
310
- {
311
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
312
- alt: 'Image Alt',
313
- height: '700',
314
- width: '700',
315
- }
316
- }
317
- />
318
- <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">4:3</div>
319
- </div>
320
- </div>
321
- <div class="text-center mb-4">
322
- <div class="img--medium img--3/2 b-l b-white w-full">
323
- <Image
324
- imageObject={
325
- {
326
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
327
- alt: 'Image Alt',
328
- height: '700',
329
- width: '700',
330
- }
331
- }
332
- />
333
- <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">3:2</div>
334
- </div>
335
- </div>
336
-
337
- <div class="text-center mb-4">
338
- <div class="img--medium img--16/9 b-l b-white w-full">
339
- <Image
340
- imageObject={
341
- {
342
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
343
- alt: 'Image Alt',
344
- height: '700',
345
- width: '700',
346
- }
347
- }
348
- />
349
- <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">16:9</div>
350
- </div>
351
- </div>
352
- <div class="text-center mb-4">
353
- <div class="img--medium img--3/4 b-l b-white w-full">
354
- <Image
355
- imageObject={
356
- {
357
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
358
- alt: 'Image Alt',
359
- height: '700',
360
- width: '700',
361
- }
362
- }
363
- />
364
- <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">3:4</div>
365
- </div>
366
- </div>
367
- <div class="text-center mb-4">
368
- <div class="img--medium img--2/3 b-l b-white w-full">
369
- <Image
370
- imageObject={
371
- {
372
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
373
- alt: 'Image Alt',
374
- height: '700',
375
- width: '700',
376
- }
377
- }
378
- />
379
- <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">2:3</div>
380
- </div>
381
- </div>
382
- </div>
383
- </div>
384
-
385
-
386
- ```js
387
- <div class="img--medium img--1/1 b-l b-white w-full">
388
- <Image
389
- imageObject={
390
- {
391
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
392
- alt: 'Image Alt',
393
- height: '700',
394
- width: '700',
395
- }
396
- }
397
- />
398
- </div>
399
-
400
- <div class="img--medium img--3/1 b-l b-white w-full">
401
- <Image
402
- imageObject={
403
- {
404
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
405
- alt: 'Image Alt',
406
- height: '700',
407
- width: '700',
408
- }
409
- }
410
- />
411
- </div>
412
-
413
- <div class="img--medium img--4/3 b-l b-white w-full">
414
- <Image
415
- imageObject={
416
- {
417
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
418
- alt: 'Image Alt',
419
- height: '700',
420
- width: '700',
421
- }
422
- }
423
- />
424
- </div>
425
-
426
- <div class="img--medium img--3/2 b-l b-white w-full">
427
- <Image
428
- imageObject={
429
- {
430
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
431
- alt: 'Image Alt',
432
- height: '700',
433
- width: '700',
434
- }
435
- }
436
- />
437
- </div>
438
-
439
- <div class="img--medium img--16/9 b-l b-white w-full">
440
- <Image
441
- imageObject={
442
- {
443
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
444
- alt: 'Image Alt',
445
- height: '300',
446
- width: '300',
447
- }
448
- }
449
- />
450
- </div>
451
-
452
- <div class="img--medium img--3/4 b-l b-white w-full">
453
- <Image
454
- imageObject={
455
- {
456
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
457
- alt: 'Image Alt',
458
- height: '700',
459
- width: '700',
460
- }
461
- }
462
- />
463
- </div>
464
-
465
- <div class="img--medium img--2/3 b-l b-white w-full">
466
- <Image
467
- imageObject={
468
- {
469
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
470
- alt: 'Image Alt',
471
- height: '700',
472
- width: '700',
473
- }
474
- }
475
- />
476
- </div>
477
-
478
- ```
479
-
480
-
481
- It is good to have all the images in the same ratio so that they look fairly uniform. Additionally, you can use a different ratio on desktop than on mobile view.
482
-
483
- ### Image 1:1 on mobile, and 4:3 on desktop
484
-
485
- <div class="component-preview">
486
- <div class="columns-1 md:columns-3">
487
- <div class="img--medium img--1/1 md:img--4/3 b-l b-white w-full">
488
- <Image
489
- imageObject={
490
- {
491
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
492
- alt: 'Image Alt',
493
- height: '700',
494
- width: '700',
495
- }
496
- }
497
- />
498
- </div>
499
- </div>
500
- </div>
501
- ```js
502
- <div class="img--medium img--1/1 md:img--4/3 b-l b-white w-full">
503
- <Image
504
- imageObject={
505
- {
506
- src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
507
- alt: 'Image Alt',
508
- height: '700',
509
- width: '700',
510
- }
511
- }
512
- />
513
- </div>
1
+ ---
2
+ title: "Jumbotron"
3
+ layout: "../../layouts/MainLayout.astro"
4
+ ---
5
+ import Image from '../../components/Image.astro'
6
+
7
+ # Image
8
+
9
+ Image converted to AVIF format and resized.
10
+ AVIF compresses images significantly better than older-generation formats such as WebP and JPEG.
11
+
12
+ #
13
+ Displaying great product images is one of the most important keys to e-Commerce success.
14
+
15
+
16
+
17
+ - https://en.wikipedia.org/wiki/AVIF
18
+
19
+ #
20
+
21
+ You can choose the image format you need so that you do not unnecessarily load an image that is larger than the area in which you are displaying it. This ensures maximum page optimisation.
22
+
23
+ - https://docs.astro.build/en/guides/images/
24
+
25
+ #
26
+
27
+ Use `.img--overlay` class for images on white background to make a layer with light grey overlay.
28
+
29
+
30
+ ## Small Image
31
+ `.img--small`
32
+
33
+ <div class="component-preview">
34
+ <div class="img--overlay img--4/3 img--small">
35
+ <Image
36
+ imageObject={
37
+ {
38
+ src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
39
+ alt: 'Image Alt',
40
+ height: '180',
41
+ width: '240',
42
+ class: 'object-cover'
43
+ }
44
+ }
45
+ />
46
+ </div>
47
+
48
+
49
+ <div class="img--4/3 img--small">
50
+ <Image
51
+ imageObject={
52
+ {
53
+ src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=970&t=st=1706315168',
54
+ alt: 'Image Alt',
55
+ height: '180',
56
+ width: '240',
57
+ class: 'object-cover'
58
+ }
59
+ }
60
+ />
61
+ </div>
62
+
63
+ <div class="img--4/3 img--small">
64
+ <Image
65
+ imageObject={
66
+ {
67
+ src: 'https://img.freepik.com/free-photo/lake-mountains_1204-508.jpg?w=970&t=st=1706315236',
68
+ alt: 'Image Alt',
69
+ height: '180',
70
+ width: '240',
71
+ class: 'object-cover'
72
+ }
73
+ }
74
+ />
75
+ </div>
76
+ </div>
77
+
78
+
79
+
80
+
81
+ ```js
82
+ <div class="img--overlay img--4/3 img--small">
83
+ <Image
84
+ imageObject={
85
+ {
86
+ src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
87
+ alt: 'Image Alt',
88
+ height: '180',
89
+ width: '240',
90
+ class: 'object-cover'
91
+ }
92
+ }
93
+ />
94
+
95
+ <div class="img--4/3 img--small">
96
+ <Image
97
+ imageObject={
98
+ {
99
+ src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=970&t=st=1706315168',
100
+ alt: 'Image Alt',
101
+ height: '180',
102
+ width: '240',
103
+ class: 'object-cover'
104
+ }
105
+ }
106
+ />
107
+ </div>
108
+
109
+ <div class="img--4/3 img--small">
110
+ <Image
111
+ imageObject={
112
+ {
113
+ src: 'https://img.freepik.com/free-photo/lake-mountains_1204-508.jpg?w=970&t=st=1706315236',
114
+ alt: 'Image Alt',
115
+ height: '180',
116
+ width: '240',
117
+ class: 'object-cover'
118
+ }
119
+ }
120
+ />
121
+ </div>
122
+
123
+
124
+
125
+ </div>
126
+ ```
127
+
128
+
129
+ ## Medium Image
130
+ `.img--medium`
131
+
132
+ <div class="component-preview">
133
+ <a class="img--medium img--3/2 b-l b-white" href="#">
134
+ <Image
135
+ imageObject={
136
+ {
137
+ src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
138
+ alt: 'Image Alt',
139
+ height: '180',
140
+ width: '240',
141
+ }
142
+ }
143
+ />
144
+ </a>
145
+
146
+ <a class="img--medium img--3/2 b-l b-white" href="#">
147
+ <Image
148
+ imageObject={
149
+ {
150
+ src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=970&t=st=1706315168',
151
+ alt: 'Image Alt',
152
+ height: '180',
153
+ width: '240',
154
+ class: 'bg-gray-100/70'
155
+ }
156
+ }
157
+ />
158
+ </a>
159
+
160
+ <a class="img--medium img--3/2 b-l b-white" href="#">
161
+ <Image
162
+ imageObject={
163
+ {
164
+ src: 'https://img.freepik.com/free-photo/lake-mountains_1204-508.jpg?w=970&t=st=1706315236',
165
+ alt: 'Image Alt',
166
+ height: '180',
167
+ width: '240',
168
+ class: 'bg-gray-100/70'
169
+ }
170
+ }
171
+ />
172
+ </a>
173
+ </div>
174
+
175
+ ```ts
176
+ <a class="img--medium img--3/2 b-l b-white" href="#">
177
+ <Image
178
+ imageObject={
179
+ {
180
+ src: 'https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337',
181
+ alt: 'Image Alt',
182
+ height: '180',
183
+ width: '240',
184
+ }
185
+ }
186
+ />
187
+ </a>
188
+
189
+ <a class="img--medium img--3/2 b-l b-white" href="#">
190
+ <Image
191
+ imageObject={
192
+ {
193
+ src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=970&t=st=1706315168',
194
+ alt: 'Image Alt',
195
+ height: '180',
196
+ width: '240',
197
+ class: 'bg-gray-100/70'
198
+ }
199
+ }
200
+ />
201
+ </a>
202
+
203
+ <a class="img--medium img--3/2 b-l b-white" href="#">
204
+ <Image
205
+ imageObject={
206
+ {
207
+ src: 'https://img.freepik.com/free-photo/lake-mountains_1204-508.jpg?w=970&t=st=1706315236',
208
+ alt: 'Image Alt',
209
+ height: '180',
210
+ width: '240',
211
+ class: 'bg-gray-100/70'
212
+ }
213
+ }
214
+ />
215
+ </a>
216
+ ```
217
+
218
+ ## Responsive Image with srcset
219
+ - https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images#resolution_switching_different_sizes
220
+
221
+ <div class="component-preview">
222
+ <div class="h-full img--3/2 overflow-hidden">
223
+ <Image
224
+ imageObject={
225
+ {
226
+ src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=1970&t=st=1706315168',
227
+ alt: 'Image Alt',
228
+ height: '1350',
229
+ width: '1800',
230
+ class: 'bg-gray-100/70',
231
+ srcset: [430, 690, 960, 1200, 1800]
232
+ }
233
+ }
234
+ />
235
+ </div>
236
+ </div>
237
+
238
+ ```js
239
+ <Image
240
+ imageObject={
241
+ {
242
+ src: 'https://img.freepik.com/free-photo/beautiful-green-landscape-with-plantations-trees-cloudy-sky_181624-42918.jpg?w=1970&t=st=1706315168',
243
+ alt: 'Image Alt',
244
+ height: '1350',
245
+ width: '1800',
246
+ class: 'bg-gray-100/70',
247
+ srcset: [430, 690, 960, 1200, 1800]
248
+ }
249
+ }
250
+ />
251
+ ```
252
+
253
+
254
+
255
+ ## Image Aspect Ratios
256
+
257
+ Image ratio, also known as aspect ratio, is how wide an image is in relation to how tall it is.
258
+ For viewing on a mobile device, the recommended image ratio is 1:1 (a square picture).
259
+
260
+ #
261
+ Ready-made CSS classes:
262
+
263
+ - `img--1/1`
264
+ - `img--2/3`
265
+ - `img--3/1`
266
+ - `img--3/2`
267
+ - `img--3/4`
268
+ - `img--4/3`
269
+ - `img--16/9`
270
+
271
+
272
+ <div class="component-preview">
273
+ <div class="columns-2 lg:columns-4 w-full">
274
+ <div class="text-center mb-4">
275
+ <div class="img--medium img--1/1 b-l b-white w-full">
276
+ <Image
277
+ imageObject={
278
+ {
279
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
280
+ alt: 'Image Alt',
281
+ height: '700',
282
+ width: '700',
283
+ }
284
+ }
285
+ />
286
+ <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">1:1</div>
287
+ </div>
288
+ </div>
289
+
290
+ <div class="text-center mb-4">
291
+ <div class="img--medium img--3/1 b-l b-white w-full">
292
+ <Image
293
+ imageObject={
294
+ {
295
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
296
+ alt: 'Image Alt',
297
+ height: '700',
298
+ width: '700',
299
+ }
300
+ }
301
+ />
302
+ <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">3:1</div>
303
+ </div>
304
+ </div>
305
+
306
+ <div class="text-center mb-4">
307
+ <div class="img--medium img--4/3 b-l b-white w-full">
308
+ <Image
309
+ imageObject={
310
+ {
311
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
312
+ alt: 'Image Alt',
313
+ height: '700',
314
+ width: '700',
315
+ }
316
+ }
317
+ />
318
+ <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">4:3</div>
319
+ </div>
320
+ </div>
321
+ <div class="text-center mb-4">
322
+ <div class="img--medium img--3/2 b-l b-white w-full">
323
+ <Image
324
+ imageObject={
325
+ {
326
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
327
+ alt: 'Image Alt',
328
+ height: '700',
329
+ width: '700',
330
+ }
331
+ }
332
+ />
333
+ <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">3:2</div>
334
+ </div>
335
+ </div>
336
+
337
+ <div class="text-center mb-4">
338
+ <div class="img--medium img--16/9 b-l b-white w-full">
339
+ <Image
340
+ imageObject={
341
+ {
342
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
343
+ alt: 'Image Alt',
344
+ height: '700',
345
+ width: '700',
346
+ }
347
+ }
348
+ />
349
+ <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">16:9</div>
350
+ </div>
351
+ </div>
352
+ <div class="text-center mb-4">
353
+ <div class="img--medium img--3/4 b-l b-white w-full">
354
+ <Image
355
+ imageObject={
356
+ {
357
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
358
+ alt: 'Image Alt',
359
+ height: '700',
360
+ width: '700',
361
+ }
362
+ }
363
+ />
364
+ <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">3:4</div>
365
+ </div>
366
+ </div>
367
+ <div class="text-center mb-4">
368
+ <div class="img--medium img--2/3 b-l b-white w-full">
369
+ <Image
370
+ imageObject={
371
+ {
372
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
373
+ alt: 'Image Alt',
374
+ height: '700',
375
+ width: '700',
376
+ }
377
+ }
378
+ />
379
+ <div class="absolute bottom-0 bg-black/40 text-white px-5 py-0 left-0 right-0">2:3</div>
380
+ </div>
381
+ </div>
382
+ </div>
383
+ </div>
384
+
385
+
386
+ ```js
387
+ <div class="img--medium img--1/1 b-l b-white w-full">
388
+ <Image
389
+ imageObject={
390
+ {
391
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
392
+ alt: 'Image Alt',
393
+ height: '700',
394
+ width: '700',
395
+ }
396
+ }
397
+ />
398
+ </div>
399
+
400
+ <div class="img--medium img--3/1 b-l b-white w-full">
401
+ <Image
402
+ imageObject={
403
+ {
404
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
405
+ alt: 'Image Alt',
406
+ height: '700',
407
+ width: '700',
408
+ }
409
+ }
410
+ />
411
+ </div>
412
+
413
+ <div class="img--medium img--4/3 b-l b-white w-full">
414
+ <Image
415
+ imageObject={
416
+ {
417
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
418
+ alt: 'Image Alt',
419
+ height: '700',
420
+ width: '700',
421
+ }
422
+ }
423
+ />
424
+ </div>
425
+
426
+ <div class="img--medium img--3/2 b-l b-white w-full">
427
+ <Image
428
+ imageObject={
429
+ {
430
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
431
+ alt: 'Image Alt',
432
+ height: '700',
433
+ width: '700',
434
+ }
435
+ }
436
+ />
437
+ </div>
438
+
439
+ <div class="img--medium img--16/9 b-l b-white w-full">
440
+ <Image
441
+ imageObject={
442
+ {
443
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
444
+ alt: 'Image Alt',
445
+ height: '300',
446
+ width: '300',
447
+ }
448
+ }
449
+ />
450
+ </div>
451
+
452
+ <div class="img--medium img--3/4 b-l b-white w-full">
453
+ <Image
454
+ imageObject={
455
+ {
456
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
457
+ alt: 'Image Alt',
458
+ height: '700',
459
+ width: '700',
460
+ }
461
+ }
462
+ />
463
+ </div>
464
+
465
+ <div class="img--medium img--2/3 b-l b-white w-full">
466
+ <Image
467
+ imageObject={
468
+ {
469
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
470
+ alt: 'Image Alt',
471
+ height: '700',
472
+ width: '700',
473
+ }
474
+ }
475
+ />
476
+ </div>
477
+
478
+ ```
479
+
480
+
481
+ It is good to have all the images in the same ratio so that they look fairly uniform. Additionally, you can use a different ratio on desktop than on mobile view.
482
+
483
+ ### Image 1:1 on mobile, and 4:3 on desktop
484
+
485
+ <div class="component-preview">
486
+ <div class="columns-1 md:columns-3">
487
+ <div class="img--medium img--1/1 md:img--4/3 b-l b-white w-full">
488
+ <Image
489
+ imageObject={
490
+ {
491
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
492
+ alt: 'Image Alt',
493
+ height: '700',
494
+ width: '700',
495
+ }
496
+ }
497
+ />
498
+ </div>
499
+ </div>
500
+ </div>
501
+ ```js
502
+ <div class="img--medium img--1/1 md:img--4/3 b-l b-white w-full">
503
+ <Image
504
+ imageObject={
505
+ {
506
+ src: 'https://img.freepik.com/free-photo/nature-beauty-tropical-rainforest-adventure-tranquility-freshness-generated-by-artificial-intellingence_25030-62539.jpg?size=960&ext=jpg',
507
+ alt: 'Image Alt',
508
+ height: '700',
509
+ width: '700',
510
+ }
511
+ }
512
+ />
513
+ </div>
514
514
  ```