spoko-design-system 1.18.1 → 1.20.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 (94) hide show
  1. package/.claude/settings.json +48 -48
  2. package/.github/dependabot.yml +11 -11
  3. package/.github/todo.yml +3 -3
  4. package/.github/workflows/claude.yml +37 -37
  5. package/.github/workflows/code-quality.yml +72 -72
  6. package/.github/workflows/deploy.yml +43 -43
  7. package/.husky/README.md +41 -41
  8. package/.husky/commit-msg +1 -1
  9. package/.husky/pre-commit +40 -40
  10. package/.prettierignore +14 -14
  11. package/.prettierrc +30 -30
  12. package/.stackblitzrc +5 -5
  13. package/.vscode/extensions.json +4 -4
  14. package/.vscode/launch.json +11 -11
  15. package/.vscode/settings.json +21 -21
  16. package/CHANGELOG.md +462 -450
  17. package/CLAUDE.md +268 -268
  18. package/LICENSE +21 -21
  19. package/README.md +303 -132
  20. package/TOOLTIPS.md +236 -236
  21. package/astro.config.mjs +84 -84
  22. package/commitlint.config.js +3 -3
  23. package/dev-dist/sw.js +91 -91
  24. package/dev-dist/workbox-c676b6d3.js +3391 -3391
  25. package/eslint.config.js +70 -70
  26. package/icon.config.ts +348 -348
  27. package/index.ts +78 -78
  28. package/package.json +160 -160
  29. package/public/arrow-bottom.svg +7 -7
  30. package/public/fonts/lg.svg +53 -53
  31. package/public/fonts/vwhead-bold-demo.html +549 -549
  32. package/public/fonts/vwhead-regular-demo.html +549 -549
  33. package/public/fonts/vwtext-bold-demo.html +549 -549
  34. package/public/fonts/vwtext-regular-demo.html +549 -549
  35. package/public/github.svg +3 -3
  36. package/public/grid_dot.svg +4 -4
  37. package/public/linkedin.svg +44 -44
  38. package/public/make-scrollable-code-focusable.js +3 -3
  39. package/public/pagefind.yml +3 -3
  40. package/public/polo.blue.svg +29 -29
  41. package/public/spoko.space.svg +71 -71
  42. package/public/twitter.svg +46 -46
  43. package/renovate.json +6 -6
  44. package/sandbox.config.json +11 -11
  45. package/sonar-project.properties +26 -26
  46. package/src/components/Category/CategoryDetails.astro +46 -18
  47. package/src/components/Jumbotron/variants/Hero.astro +9 -1
  48. package/src/components/Jumbotron/variants/PostSplit.astro +8 -0
  49. package/src/pages/components/badges.mdx +57 -57
  50. package/src/pages/components/breadcrumbs.mdx +139 -139
  51. package/src/pages/components/buttons.mdx +359 -359
  52. package/src/pages/components/card.mdx +294 -294
  53. package/src/pages/components/carousel.mdx +62 -62
  54. package/src/pages/components/copyright.mdx +42 -42
  55. package/src/pages/components/details-list.mdx +207 -207
  56. package/src/pages/components/features-list.mdx +37 -37
  57. package/src/pages/components/flags.mdx +49 -49
  58. package/src/pages/components/fuck-russia.mdx +39 -39
  59. package/src/pages/components/hand-drive.mdx +78 -78
  60. package/src/pages/components/headline.mdx +337 -337
  61. package/src/pages/components/image.mdx +513 -513
  62. package/src/pages/components/input.mdx +367 -367
  63. package/src/pages/components/jumbotron.mdx +530 -530
  64. package/src/pages/components/modal.mdx +212 -212
  65. package/src/pages/components/post-header.mdx +64 -64
  66. package/src/pages/components/pr-code.mdx +213 -213
  67. package/src/pages/components/product-engine.mdx +418 -418
  68. package/src/pages/components/product-number.mdx +58 -58
  69. package/src/pages/components/product-tile.mdx +51 -51
  70. package/src/pages/components/quote.mdx +33 -33
  71. package/src/pages/components/slimbanner.mdx +260 -260
  72. package/src/pages/components/table.mdx +108 -108
  73. package/src/pages/core/colors.mdx +21 -21
  74. package/src/pages/core/grid.mdx +193 -193
  75. package/src/pages/core/introduction.mdx +77 -77
  76. package/src/pages/core/tooltips.mdx +491 -491
  77. package/src/pages/patterns/introduction.mdx +60 -60
  78. package/src/styles/_variables.scss +70 -70
  79. package/tailwind.config.cjs +8 -8
  80. package/tsconfig.json +28 -28
  81. package/uno-config/index.ts +269 -269
  82. package/uno-config/theme/breakpoints.ts +9 -9
  83. package/uno-config/theme/colors.ts +65 -65
  84. package/uno-config/theme/dimensions.ts +17 -17
  85. package/uno-config/theme/effects.ts +14 -14
  86. package/uno-config/theme/grid.ts +10 -10
  87. package/uno-config/theme/index.ts +26 -26
  88. package/uno-config/theme/shortcuts/buttons.ts +53 -53
  89. package/uno-config/theme/shortcuts/components.ts +124 -124
  90. package/uno-config/theme/shortcuts/index.ts +20 -20
  91. package/uno-config/theme/shortcuts/jumbotron.ts +71 -71
  92. package/uno-config/theme/shortcuts/layout.ts +75 -75
  93. package/uno-config/theme/typography.ts +29 -29
  94. 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
  ```