spoko-design-system 1.20.0 → 1.21.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 (92) 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 +470 -462
  17. package/CLAUDE.md +268 -268
  18. package/LICENSE +21 -21
  19. package/README.md +303 -303
  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/CategoriesCarousel.astro +3 -7
  47. package/src/pages/components/badges.mdx +57 -57
  48. package/src/pages/components/breadcrumbs.mdx +139 -139
  49. package/src/pages/components/buttons.mdx +359 -359
  50. package/src/pages/components/card.mdx +294 -294
  51. package/src/pages/components/carousel.mdx +62 -62
  52. package/src/pages/components/copyright.mdx +42 -42
  53. package/src/pages/components/details-list.mdx +207 -207
  54. package/src/pages/components/features-list.mdx +37 -37
  55. package/src/pages/components/flags.mdx +49 -49
  56. package/src/pages/components/fuck-russia.mdx +39 -39
  57. package/src/pages/components/hand-drive.mdx +78 -78
  58. package/src/pages/components/headline.mdx +337 -337
  59. package/src/pages/components/image.mdx +513 -513
  60. package/src/pages/components/input.mdx +367 -367
  61. package/src/pages/components/jumbotron.mdx +530 -530
  62. package/src/pages/components/modal.mdx +212 -212
  63. package/src/pages/components/post-header.mdx +64 -64
  64. package/src/pages/components/pr-code.mdx +213 -213
  65. package/src/pages/components/product-engine.mdx +418 -418
  66. package/src/pages/components/product-number.mdx +58 -58
  67. package/src/pages/components/product-tile.mdx +51 -51
  68. package/src/pages/components/quote.mdx +33 -33
  69. package/src/pages/components/slimbanner.mdx +260 -260
  70. package/src/pages/components/table.mdx +108 -108
  71. package/src/pages/core/colors.mdx +21 -21
  72. package/src/pages/core/grid.mdx +193 -193
  73. package/src/pages/core/introduction.mdx +77 -77
  74. package/src/pages/core/tooltips.mdx +491 -491
  75. package/src/pages/patterns/introduction.mdx +60 -60
  76. package/src/styles/_variables.scss +70 -70
  77. package/tailwind.config.cjs +8 -8
  78. package/tsconfig.json +28 -28
  79. package/uno-config/index.ts +269 -269
  80. package/uno-config/theme/breakpoints.ts +9 -9
  81. package/uno-config/theme/colors.ts +65 -65
  82. package/uno-config/theme/dimensions.ts +17 -17
  83. package/uno-config/theme/effects.ts +14 -14
  84. package/uno-config/theme/grid.ts +10 -10
  85. package/uno-config/theme/index.ts +26 -26
  86. package/uno-config/theme/shortcuts/buttons.ts +53 -53
  87. package/uno-config/theme/shortcuts/components.ts +124 -124
  88. package/uno-config/theme/shortcuts/index.ts +20 -20
  89. package/uno-config/theme/shortcuts/jumbotron.ts +71 -71
  90. package/uno-config/theme/shortcuts/layout.ts +75 -75
  91. package/uno-config/theme/typography.ts +29 -29
  92. 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
  ```