@repobit/dex-system-design 0.19.2 → 0.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 (75) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/package.json +2 -3
  3. package/src/components/Button/button.stories.js +51 -51
  4. package/src/components/accordion/accordion-bg.css.js +168 -102
  5. package/src/components/accordion/accordion-bg.js +13 -5
  6. package/src/components/accordion/accordion-bg.stories.js +281 -0
  7. package/src/components/accordion/accordion-light.stories.js +241 -0
  8. package/src/components/anchor/anchor.stories.js +24 -22
  9. package/src/components/back/back.css.js +56 -0
  10. package/src/components/back/back.js +39 -0
  11. package/src/components/back/back.stories.js +184 -0
  12. package/src/components/badge/badge.css.js +44 -6
  13. package/src/components/badge/badge.js +40 -2
  14. package/src/components/badge/badge.stories.js +3 -10
  15. package/src/components/breadcrumb/breadcrumb.css.js +98 -0
  16. package/src/components/breadcrumb/breadcrumb.js +136 -0
  17. package/src/components/breadcrumb/breadcrumb.stories.js +109 -0
  18. package/src/components/cards/card.css.js +245 -0
  19. package/src/components/cards/card.js +80 -0
  20. package/src/components/cards/card.stories.js +512 -0
  21. package/src/components/carousel/carousel.css.js +51 -36
  22. package/src/components/carousel/carousel.js +0 -1
  23. package/src/components/carousel/carousel.stories.js +21 -17
  24. package/src/components/display/display.css.js +68 -0
  25. package/src/components/display/display.js +26 -0
  26. package/src/components/display/display.stories.js +339 -0
  27. package/src/components/divider/divider-horizontal.js +1 -1
  28. package/src/components/footer/footer-links-group.css.js +1 -1
  29. package/src/components/footer/footer-links-group.js +3 -3
  30. package/src/components/footer/footer-lp.stories.js +26 -61
  31. package/src/components/footer/footer-nav-menu.css.js +9 -10
  32. package/src/components/footer/footer.css.js +95 -8
  33. package/src/components/footer/footer.js +31 -65
  34. package/src/components/footer/footer.stories.js +165 -48
  35. package/src/components/header/header.js +11 -11
  36. package/src/components/header/header.stories.js +36 -4
  37. package/src/components/heading/heading.css.js +79 -0
  38. package/src/components/heading/heading.js +79 -0
  39. package/src/components/heading/heading.stories.js +260 -0
  40. package/src/components/highlight/highlight.stories.js +1 -1
  41. package/src/components/image/image.css.js +101 -0
  42. package/src/components/image/image.js +57 -0
  43. package/src/components/image/image.stories.js +245 -0
  44. package/src/components/light-carousel/light-carousel-simple.js +3 -2
  45. package/src/components/light-carousel/light-carousel.js +3 -7
  46. package/src/components/light-carousel/light-carousel.stories.js +15 -16
  47. package/src/components/link/link.css.js +107 -18
  48. package/src/components/link/link.js +16 -12
  49. package/src/components/link/link.stories.js +177 -0
  50. package/src/components/list/list-item/list-item.css.js +106 -0
  51. package/src/components/list/list-item/list-item.js +43 -0
  52. package/src/components/list/list-item/list-item.stories.js +79 -0
  53. package/src/components/list/list.css.js +175 -0
  54. package/src/components/list/list.js +44 -0
  55. package/src/components/modal/modal.js +6 -5
  56. package/src/components/paragraph/paragraph.css.js +41 -11
  57. package/src/components/paragraph/paragraph.js +7 -45
  58. package/src/components/paragraph/paragraph.stories.js +235 -0
  59. package/src/components/picture/picture.css.js +0 -0
  60. package/src/components/picture/picture.js +46 -0
  61. package/src/components/picture/picture.stories.js +275 -0
  62. package/src/components/pricing-cards/pricing-card-actions.js +1 -1
  63. package/src/components/pricing-cards/pricing-card-header.js +9 -7
  64. package/src/components/pricing-cards/pricing-card-pricing.js +11 -12
  65. package/src/components/pricing-cards/pricing-card.css.js +28 -3
  66. package/src/components/pricing-cards/pricing-card.js +38 -50
  67. package/src/components/tabs/tabs.js +44 -47
  68. package/src/components/termsOfUse/terms.js +77 -161
  69. package/src/components/termsOfUse/terms.stories.js +4 -3
  70. package/src/stories/Header.js +6 -6
  71. package/src/tokens/layout.css +3 -3
  72. package/src/tokens/tokens.css +0 -23
  73. package/src/tokens/tokens.stories.js +9 -8
  74. package/src/components/accordion/accordion-no-bg.css.js +0 -114
  75. package/src/components/accordion/accordion-no-bg.js +0 -80
@@ -0,0 +1,512 @@
1
+ import { html } from 'lit';
2
+ import '../heading/heading.js';
3
+ import './card.js';
4
+ export default {
5
+ title : 'Components/Card',
6
+ component : 'bd-card-section',
7
+ subcomponents: { 'bd-card-item': 'bd-card-item' },
8
+ argTypes : {
9
+ title: {
10
+ control : 'text',
11
+ description: 'Section title (optional)'
12
+ },
13
+ align: {
14
+ control : { type: 'select' },
15
+ options : ['start', 'center'],
16
+ description: 'Content alignment for card items'
17
+ }
18
+ }
19
+ };
20
+
21
+ const Template = (args) => html`
22
+ <bd-card-section title="${args.title}">
23
+ <bd-card-item
24
+ title="Scam Copilot Chatbot"
25
+ icon="/assets/device_protection.png"
26
+ align="${args.align}"
27
+ >
28
+ <bd-p kind="small">
29
+ Specialized AI chatbot that helps you identify suspicious online
30
+ interactions so you don't become a victim.
31
+ </bd-p>
32
+ </bd-card-item>
33
+
34
+ <bd-card-item
35
+ title="Privacy Protection"
36
+ icon="/assets/privacy_protection.png"
37
+ align="${args.align}"
38
+ >
39
+ <bd-p kind="small">
40
+ Specialized AI chatbot that helps you identify suspicious online
41
+ interactions so you don't become a victim.
42
+ </bd-p>
43
+ </bd-card-item>
44
+
45
+ <bd-card-item
46
+ title="Scam Wave Alerts"
47
+ icon="/assets/identity_protection.png"
48
+ align="${args.align}"
49
+ >
50
+ <bd-p kind="small">
51
+ Stay informed with real-time alerts about ongoing scam outbreaks
52
+ detected in your area automatically.
53
+ </bd-p>
54
+ </bd-card-item>
55
+
56
+ <bd-card-item
57
+ title="Online Scam Protection"
58
+ icon="/assets/financial_insurance.png"
59
+ align="${args.align}"
60
+ >
61
+ <bd-p kind="small">
62
+ Focused on browsing activities, it specializes in detecting the newest
63
+ scam patterns and tactics.
64
+ </bd-p>
65
+ </bd-card-item>
66
+ </bd-card-section>
67
+ `;
68
+
69
+ export const Default = Template.bind({});
70
+ Default.args = {
71
+ title: 'Security Features',
72
+ align: 'start'
73
+ };
74
+
75
+ export const CenterAligned = Template.bind({});
76
+ CenterAligned.args = {
77
+ title: 'Security Features - Centered',
78
+ align: 'center'
79
+ };
80
+
81
+ export const IconTitleOnly = () => html`
82
+ <bd-card-section title="Icon + Title Only Cards">
83
+ <bd-card-item
84
+ title="Device Protection"
85
+ icon="/assets/device_protection.png"
86
+ align="start"
87
+ ></bd-card-item>
88
+
89
+ <bd-card-item
90
+ title="Privacy Shield"
91
+ icon="/assets/privacy_protection.png"
92
+ align="start"
93
+ ></bd-card-item>
94
+
95
+ <bd-card-item
96
+ title="Identity Guard"
97
+ icon="/assets/identity_protection.png"
98
+ align="start"
99
+ ></bd-card-item>
100
+
101
+ <bd-card-item
102
+ title="Financial Safety"
103
+ icon="/assets/financial_insurance.png"
104
+ align="start"
105
+ ></bd-card-item>
106
+ </bd-card-section>
107
+ `;
108
+
109
+ export const IconTitleOnlyCentered = () => html`
110
+ <bd-card-section title="Icon + Title Only - Centered">
111
+ <bd-card-item
112
+ title="Device Protection"
113
+ icon="/assets/device_protection.png"
114
+ align="center"
115
+ ></bd-card-item>
116
+
117
+ <bd-card-item
118
+ title="Privacy Shield"
119
+ icon="/assets/privacy_protection.png"
120
+ align="center"
121
+ ></bd-card-item>
122
+
123
+ <bd-card-item
124
+ title="Identity Guard"
125
+ icon="/assets/identity_protection.png"
126
+ align="center"
127
+ ></bd-card-item>
128
+
129
+ <bd-card-item
130
+ title="Financial Safety"
131
+ icon="/assets/financial_insurance.png"
132
+ align="center"
133
+ ></bd-card-item>
134
+ </bd-card-section>
135
+ `;
136
+
137
+ export const MixedContentTypes = () => html`
138
+ <bd-card-section title="Mixed Content Types">
139
+ <bd-card-item
140
+ title="With Description"
141
+ icon="/assets/device_protection.png"
142
+ align="start"
143
+ >
144
+ <bd-p kind="small">This card has both icon, title and description text below.</bd-p>
145
+ </bd-card-item>
146
+
147
+ <bd-card-item
148
+ title="Icon + Title Only"
149
+ icon="/assets/privacy_protection.png"
150
+ align="start"
151
+ ></bd-card-item>
152
+
153
+ <bd-card-item
154
+ title="Another With Description"
155
+ icon="/assets/identity_protection.png"
156
+ align="start"
157
+ >
158
+ <bd-p kind="small">This card includes detailed description about the feature.</bd-p>
159
+ </bd-card-item>
160
+
161
+ <bd-card-item
162
+ title="Another Icon Only"
163
+ icon="/assets/financial_insurance.png"
164
+ align="start"
165
+ ></bd-card-item>
166
+ </bd-card-section>
167
+ `;
168
+
169
+ export const MixedContentTypesCentered = () => html`
170
+ <bd-card-section title="Mixed Content Types - Centered">
171
+ <bd-card-item
172
+ title="With Description"
173
+ icon="/assets/device_protection.png"
174
+ align="center"
175
+ >
176
+ <bd-p kind="small">This card has both icon, title and description text below.</bd-p>
177
+ </bd-card-item>
178
+
179
+ <bd-card-item
180
+ title="Icon + Title Only"
181
+ icon="/assets/privacy_protection.png"
182
+ align="center"
183
+ ></bd-card-item>
184
+
185
+ <bd-card-item
186
+ title="Another With Description"
187
+ icon="/assets/identity_protection.png"
188
+ align="center"
189
+ >
190
+ <bd-p kind="small">This card includes detailed description about the feature.</bd-p>
191
+ </bd-card-item>
192
+
193
+ <bd-card-item
194
+ title="Another Icon Only"
195
+ icon="/assets/financial_insurance.png"
196
+ align="center"
197
+ ></bd-card-item>
198
+ </bd-card-section>
199
+ `;
200
+
201
+ export const WithoutTitle = Template.bind({});
202
+ WithoutTitle.args = {
203
+ title: '',
204
+ align: 'start'
205
+ };
206
+
207
+ export const WithoutTitleCentered = Template.bind({});
208
+ WithoutTitleCentered.args = {
209
+ title: '',
210
+ align: 'center'
211
+ };
212
+
213
+ export const SingleCard = (args) => html`
214
+ <bd-card-section title="${args.title}">
215
+ <bd-card-item
216
+ title="${args.cardTitle}"
217
+ icon="${args.icon}"
218
+ align="${args.align}"
219
+ >
220
+ <bd-p kind="small">${args.content}</bd-p>
221
+ </bd-card-item>
222
+ </bd-card-section>
223
+ `;
224
+ SingleCard.args = {
225
+ title : 'Single Feature',
226
+ cardTitle: 'Scam Copilot Chatbot',
227
+ icon : '/assets/device_protection.png',
228
+ content : 'Specialized AI chatbot that helps you identify suspicious online interactions.',
229
+ align : 'start'
230
+ };
231
+
232
+ export const SingleCardCentered = SingleCard.bind({});
233
+ SingleCardCentered.args = {
234
+ ...SingleCard.args,
235
+ title: 'Single Feature - Centered',
236
+ align: 'center'
237
+ };
238
+
239
+ export const SingleCardNoContent = (args) => html`
240
+ <bd-card-section title="${args.title}">
241
+ <bd-card-item
242
+ title="${args.cardTitle}"
243
+ icon="${args.icon}"
244
+ align="${args.align}"
245
+ ></bd-card-item>
246
+ </bd-card-section>
247
+ `;
248
+ SingleCardNoContent.args = {
249
+ title : 'Single Feature - Icon + Title Only',
250
+ cardTitle: 'Device Protection',
251
+ icon : '/assets/device_protection.png',
252
+ align : 'start'
253
+ };
254
+
255
+ export const SingleCardNoContentCentered = SingleCardNoContent.bind({});
256
+ SingleCardNoContentCentered.args = {
257
+ ...SingleCardNoContent.args,
258
+ title: 'Single Feature - Icon + Title Only - Centered',
259
+ align: 'center'
260
+ };
261
+
262
+ export const MultipleCardsGrid = (args) => html`
263
+ <bd-card-section title="${args.title}">
264
+ ${Array.from({ length: args.cardCount }, (_, i) => html`
265
+ <bd-card-item
266
+ title="${args.cardTitle} ${i + 1}"
267
+ icon="${args.icon}"
268
+ align="${args.align}"
269
+ >
270
+ <bd-p kind="small">${args.content} This is card number ${i + 1}.</bd-p>
271
+ </bd-card-item>
272
+ `)}
273
+ </bd-card-section>
274
+ `;
275
+ MultipleCardsGrid.args = {
276
+ title : 'Multiple Security Features',
277
+ cardTitle: 'Security Feature',
278
+ icon : '/assets/device_protection.png',
279
+ content : 'Description for this security feature.',
280
+ cardCount: 6,
281
+ align : 'start'
282
+ };
283
+
284
+ export const MultipleCardsGridCentered = MultipleCardsGrid.bind({});
285
+ MultipleCardsGridCentered.args = {
286
+ ...MultipleCardsGrid.args,
287
+ title: 'Multiple Security Features - Centered',
288
+ align: 'center'
289
+ };
290
+
291
+ export const CardItemVariations = () => html`
292
+ <div style="display: flex; flex-direction: column; gap: 3rem;">
293
+ <!-- Start Aligned Variations -->
294
+ <bd-card-section title="Card Item Variations - Start Aligned">
295
+ <bd-card-item
296
+ title="With Icon and Title"
297
+ icon="/assets/device_protection.png"
298
+ align="start"
299
+ >
300
+ <bd-p kind="small">This card has both an icon and a title with description.</bd-p>
301
+ </bd-card-item>
302
+
303
+ <bd-card-item
304
+ title="Icon + Title Only"
305
+ icon="/assets/device_protection.png"
306
+ align="start"
307
+ ></bd-card-item>
308
+
309
+ <bd-card-item
310
+ title="Title Only"
311
+ align="start"
312
+ >
313
+ <bd-p kind="small">This card has only a title without an icon, aligned to start.</bd-p>
314
+ </bd-card-item>
315
+
316
+ <bd-card-item
317
+ icon="/assets/privacy_protection.png"
318
+ align="start"
319
+ >
320
+ <bd-p kind="small">This card has only an icon without a title, aligned to start.</bd-p>
321
+ </bd-card-item>
322
+
323
+ <bd-card-item align="start">
324
+ <bd-p kind="small">This card has neither icon nor title - just content, aligned to start.</bd-p>
325
+ </bd-card-item>
326
+ </bd-card-section>
327
+
328
+ <!-- Center Aligned Variations -->
329
+ <bd-card-section title="Card Item Variations - Center Aligned">
330
+ <bd-card-item
331
+ title="With Icon and Title"
332
+ icon="/assets/device_protection.png"
333
+ align="center"
334
+ >
335
+ <bd-p kind="small">This card has both an icon and a title with description.</bd-p>
336
+ </bd-card-item>
337
+
338
+ <bd-card-item
339
+ title="Icon + Title Only"
340
+ icon="/assets/device_protection.png"
341
+ align="center"
342
+ ></bd-card-item>
343
+
344
+ <bd-card-item
345
+ title="Title Only"
346
+ align="center"
347
+ >
348
+ <bd-p kind="small">This card has only a title without an icon, centered alignment.</bd-p>
349
+ </bd-card-item>
350
+
351
+ <bd-card-item
352
+ icon="/assets/privacy_protection.png"
353
+ align="center"
354
+ >
355
+ <bd-p kind="small">This card has only an icon without a title, centered alignment.</bd-p>
356
+ </bd-card-item>
357
+
358
+ <bd-card-item align="center">
359
+ <bd-p kind="small">This card has neither icon nor title - just content, centered alignment.</bd-p>
360
+ </bd-card-item>
361
+ </bd-card-section>
362
+ </div>
363
+ `;
364
+
365
+ export const LongContent = () => html`
366
+ <div style="display: flex; flex-direction: column; gap: 3rem;">
367
+ <!-- Start Aligned Long Content -->
368
+ <bd-card-section title="Cards with Long Content - Start Aligned">
369
+ <bd-card-item
370
+ title="Feature with Detailed Description"
371
+ icon="/assets/identity_protection.png"
372
+ align="start"
373
+ >
374
+ <bd-p kind="small">
375
+ This is a much longer description that might wrap across multiple lines.
376
+ It provides comprehensive details about the feature, its benefits,
377
+ and how it helps protect users from various types of online threats
378
+ and scams in today's digital landscape.
379
+ </bd-p>
380
+ <bd-p kind="small">
381
+ Additional paragraph to demonstrate how multiple paragraphs of content
382
+ would appear within the card component.
383
+ </bd-p>
384
+ </bd-card-item>
385
+
386
+ <bd-card-item
387
+ title="Very Long Title That Might Wrap to Multiple Lines"
388
+ icon="/assets/financial_insurance.png"
389
+ align="start"
390
+ >
391
+ <bd-p kind="small">Regular content with an exceptionally long title, aligned to start.</bd-p>
392
+ </bd-card-item>
393
+ </bd-card-section>
394
+
395
+ <!-- Center Aligned Long Content -->
396
+ <bd-card-section title="Cards with Long Content - Center Aligned">
397
+ <bd-card-item
398
+ title="Feature with Detailed Description"
399
+ icon="/assets/identity_protection.png"
400
+ align="center"
401
+ >
402
+ <bd-p kind="small">
403
+ This is a much longer description that might wrap across multiple lines.
404
+ It provides comprehensive details about the feature, its benefits,
405
+ and how it helps protect users from various types of online threats
406
+ and scams in today's digital landscape.
407
+ </bd-p>
408
+ <bd-p kind="small">
409
+ Additional paragraph to demonstrate how multiple paragraphs of content
410
+ would appear within the card component.
411
+ </bd-p>
412
+ </bd-card-item>
413
+
414
+ <bd-card-item
415
+ title="Very Long Title That Might Wrap to Multiple Lines"
416
+ icon="/assets/financial_insurance.png"
417
+ align="center"
418
+ >
419
+ <bd-p kind="small">Regular content with an exceptionally long title, centered alignment.</bd-p>
420
+ </bd-card-item>
421
+ </bd-card-section>
422
+ </div>
423
+ `;
424
+
425
+ export const MixedAlignment = () => html`
426
+ <bd-card-section title="Mixed Alignment Cards">
427
+ <bd-card-item
428
+ title="Start Aligned Card"
429
+ icon="/assets/device_protection.png"
430
+ align="start"
431
+ >
432
+ <bd-p kind="small">This card is left aligned with content starting from the left side.</bd-p>
433
+ <bd-p kind="small">Perfect for longer text content that reads better when left aligned.</bd-p>
434
+ </bd-card-item>
435
+
436
+ <bd-card-item
437
+ title="Center Aligned Card"
438
+ icon="/assets/privacy_protection.png"
439
+ align="center"
440
+ >
441
+ <bd-p kind="small">This card is center aligned with everything centered.</bd-p>
442
+ <bd-p kind="small">Great for highlight features or call-to-action cards.</bd-p>
443
+ </bd-card-item>
444
+
445
+ <bd-card-item
446
+ title="Another Start Aligned"
447
+ icon="/assets/identity_protection.png"
448
+ align="start"
449
+ >
450
+ <bd-p kind="small">Another left aligned card with detailed description.</bd-p>
451
+ </bd-card-item>
452
+
453
+ <bd-card-item
454
+ title="Another Center Aligned"
455
+ icon="/assets/financial_insurance.png"
456
+ align="center"
457
+ >
458
+ <bd-p kind="small">Another center aligned card for balanced presentation.</bd-p>
459
+ </bd-card-item>
460
+ </bd-card-section>
461
+ `;
462
+
463
+ export const AlignmentComparison = () => html`
464
+ <bd-card-section title="Alignment Comparison">
465
+ <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-bottom: 2rem;">
466
+ <div>
467
+ <bd-h as="h4" style="text-align: center; color: #333; padding: 10px 0;">Start Aligned</bd-h>
468
+ <bd-card-item
469
+ title="Start Aligned Example"
470
+ icon="/assets/device_protection.png"
471
+ align="start"
472
+ >
473
+ <bd-p kind="small">This card shows start alignment where content begins from the left.</bd-p>
474
+ <bd-p kind="small">Ideal for readability and longer text content.</bd-p>
475
+ </bd-card-item>
476
+ </div>
477
+ <div>
478
+ <bd-h as="h4" style="text-align: center; color: #333; padding: 10px 0;">Center Aligned</bd-h>
479
+ <bd-card-item
480
+ title="Center Aligned Example"
481
+ icon="/assets/device_protection.png"
482
+ align="center"
483
+ >
484
+ <bd-p kind="small">This card shows center alignment with balanced presentation.</bd-p>
485
+ <bd-p kind="small">Perfect for feature highlights and visual balance.</bd-p>
486
+ </bd-card-item>
487
+ </div>
488
+ </div>
489
+ </bd-card-section>
490
+ `;
491
+
492
+ export const ResponsiveAlignment = () => html`
493
+ <bd-card-section title="Responsive Alignment Examples">
494
+ <bd-card-item
495
+ title="Responsive Start Aligned"
496
+ icon="/assets/device_protection.png"
497
+ align="start"
498
+ >
499
+ <bd-p kind="small">This card maintains start alignment across all screen sizes.</bd-p>
500
+ <bd-p kind="small">On mobile devices, the content will still be aligned to the start.</bd-p>
501
+ </bd-card-item>
502
+
503
+ <bd-card-item
504
+ title="Responsive Center Aligned"
505
+ icon="/assets/privacy_protection.png"
506
+ align="center"
507
+ >
508
+ <bd-p kind="small">This card maintains center alignment across all screen sizes.</bd-p>
509
+ <bd-p kind="small">On mobile devices, the content will remain centered for consistency.</bd-p>
510
+ </bd-card-item>
511
+ </bd-card-section>
512
+ `;
@@ -9,6 +9,8 @@ export default css`
9
9
  --bd-accesibility-focus: var(--color-blue-800);
10
10
  }
11
11
 
12
+
13
+ p{ font-size: 40px;}
12
14
  .bd-carousel {
13
15
  display: block;
14
16
  align-items: center;
@@ -47,6 +49,9 @@ export default css`
47
49
  margin-bottom: 50px;
48
50
  margin-top: 50px;
49
51
  }
52
+
53
+ .bd-heading{
54
+ padding: 20px}
50
55
  .bd-carousel-container {
51
56
  display: flex;
52
57
  flex-direction: column;
@@ -71,45 +76,52 @@ export default css`
71
76
  text-align: center;
72
77
  }
73
78
 
74
- .bd-left-arrow {
75
- content: url("/assets/left_normal.svg");
76
- }
79
+ .bd-left-arrow {
80
+ content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><circle cx="20" cy="20" r="20" transform="matrix(-1 0 0 1 40 0)" fill="%23006DFF"/><path d="M23.3431 14.4142L21.9289 13L14.8579 20.071L16.2721 21.4853L23.3431 14.4142Z" fill="white"/><path d="M16.2721 18.6568L14.8579 20.071L21.9289 27.1421L23.3431 25.7279L16.2721 18.6568Z" fill="white"/></svg>');
81
+ }
77
82
 
78
- .bd-left-arrow:hover {
79
- content: url("/assets/left_hover.svg");
80
- }
81
83
 
82
- .bd-left-arrow:active {
83
- content: url("/assets/left_clicked.svg");
84
- }
84
+ .bd-left-arrow:hover {
85
+ content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><circle cx="20" cy="20" r="20" transform="matrix(-1 0 0 1 40 0)" fill="%230059D6"/><path d="M23.3431 14.4142L21.9289 13L14.8579 20.071L16.2721 21.4853L23.3431 14.4142Z" fill="white"/><path d="M16.2721 18.6568L14.8579 20.071L21.9289 27.1421L23.3431 25.7279L16.2721 18.6568Z" fill="white"/></svg>');
86
+ }
87
+
88
+ .bd-left-arrow:active {
89
+ content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><circle cx="20" cy="20" r="20" transform="matrix(-1 0 0 1 40 0)" fill="%230045AD"/><path d="M23.3431 14.4142L21.9289 13L14.8579 20.071L16.2721 21.4853L23.3431 14.4142Z" fill="white"/><path d="M16.2721 18.6568L14.8579 20.071L21.9289 27.1421L23.3431 25.7279L16.2721 18.6568Z" fill="white"/></svg>');
90
+ }
91
+
85
92
 
86
93
  .bd-left-arrow:disabled {
87
- content: url("/assets/left_disabled.svg");
94
+ content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><circle cx="20" cy="20" r="20" fill="%23F1F2F3"/><path d="M23.3431 14.4142L21.9289 13L14.8579 20.071L16.2721 21.4853L23.3431 14.4142Z" fill="%23A6ADB4"/><path d="M16.2721 18.6568L14.8579 20.071L21.9289 27.1421L23.3431 25.7279L16.2721 18.6568Z" fill="%23A6ADB4"/></svg>');
88
95
  }
89
96
 
90
- .bd-right-arrow {
91
- content: url("/assets/right_normal.svg");
92
- }
97
+ .bd-right-arrow {
98
+ content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><circle cx="20" cy="20" r="20" fill="%23006DFF"/><path d="M16.6569 14.4142L18.0711 13L25.1421 20.071L23.7279 21.4853L16.6569 14.4142Z" fill="white"/><path d="M23.7279 18.6568L25.1421 20.071L18.0711 27.1421L16.6569 25.7279L23.7279 18.6568Z" fill="white"/></svg>');
99
+ }
93
100
 
94
- .bd-right-arrow:hover {
95
- content: url("/assets/right_hover.svg");
96
- }
97
101
 
98
- .bd-right-arrow:active {
99
- content: url("/assets/right_clicked.svg");
100
- }
102
+ .bd-right-arrow:hover {
103
+ content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><circle cx="20" cy="20" r="20" fill="%230059D6"/><path d="M16.6569 14.4142L18.0711 13L25.1421 20.071L23.7279 21.4853L16.6569 14.4142Z" fill="white"/><path d="M23.7279 18.6568L25.1421 20.071L18.0711 27.1421L16.6569 25.7279L23.7279 18.6568Z" fill="white"/></svg>');
104
+ }
105
+
106
+
107
+ .bd-right-arrow:active {
108
+ content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><circle cx="20" cy="20" r="20" fill="%230045AD"/><path d="M16.6569 14.4142L18.0711 13L25.1421 20.071L23.7279 21.4853L16.6569 14.4142Z" fill="white"/><path d="M23.7279 18.6568L25.1421 20.071L18.0711 27.1421L16.6569 25.7279L23.7279 18.6568Z" fill="white"/></svg>');
109
+ }
110
+
101
111
 
102
112
  .bd-right-arrow:disabled {
103
- content: url("/assets/right_disabled.svg");
104
- }
105
- .bd-right-arrow.bd-disabled {
106
- content: url("/assets/right_disabled.svg");
107
- cursor: not-allowed;
108
- }
109
- .bd-left-arrow.bd-disabled {
110
- content: url("/assets/left_disabled.svg");
111
- cursor: not-allowed;
113
+ content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><circle cx="20" cy="20" r="20" fill="%23F1F2F3"/><path d="M16.6569 14.4142L18.0711 13L25.1421 20.071L23.7279 21.4853L16.6569 14.4142Z" fill="%23A6ADB4"/><path d="M23.7279 18.6568L25.1421 20.071L18.0711 27.1421L16.6569 25.7279L23.7279 18.6568Z" fill="%23A6ADB4"/></svg>');
112
114
  }
115
+ .bd-right-arrow.bd-disabled {
116
+ content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><circle cx="20" cy="20" r="20" fill="%23F1F2F3"/><path d="M16.6569 14.4142L18.0711 13L25.1421 20.071L23.7279 21.4853L16.6569 14.4142Z" fill="%23A6ADB4"/><path d="M23.7279 18.6568L25.1421 20.071L18.0711 27.1421L16.6569 25.7279L23.7279 18.6568Z" fill="%23A6ADB4"/></svg>');
117
+ cursor: not-allowed;
118
+ }
119
+
120
+ .bd-left-arrow.bd-disabled {
121
+ content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><circle cx="20" cy="20" r="20" fill="%23F1F2F3"/><path d="M23.3431 14.4142L21.9289 13L14.8579 20.071L16.2721 21.4853L23.3431 14.4142Z" fill="%23A6ADB4"/><path d="M16.2721 18.6568L14.8579 20.071L21.9289 27.1421L23.3431 25.7279L16.2721 18.6568Z" fill="%23A6ADB4"/></svg>');
122
+ cursor: not-allowed;
123
+ }
124
+
113
125
  .bd-disabled {
114
126
  background: #f1f2f3;
115
127
  color: #a6adb4;
@@ -172,11 +184,13 @@ export default css`
172
184
  z-index: 2;
173
185
  }
174
186
 
175
- .bd-box h3 {
187
+ .bd-box bd-h {
176
188
  font-size: var(--spacing-18);
177
189
  margin: var(--spacing-0) var(--spacing-0) 0.5em var(--spacing-0);
178
190
  font-weight: 600;
179
191
  font-family: var(--typography-fontFamily-sans);
192
+ padding: 10px 0; /* Adaugă aici */
193
+
180
194
  }
181
195
 
182
196
  .bd-box p {
@@ -234,7 +248,7 @@ export default css`
234
248
  }
235
249
 
236
250
  .bd-plus-button {
237
- content: url("/assets/more_normal.svg");
251
+ content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none"><circle cx="20" cy="20" r="19" stroke="%23006DFF" stroke-width="2"/><path d="M19 11H21V29H19V11Z" fill="%23006DFF"/><path d="M29 19V21L11 21L11 19L29 19Z" fill="%23006DFF"/></svg>');
238
252
  position: absolute;
239
253
  bottom: var(--spacing-10);
240
254
  right: var(--spacing-10);
@@ -249,17 +263,18 @@ export default css`
249
263
  font-weight: bold;
250
264
  cursor: pointer;
251
265
  }
252
- .bd-plus-button:hover {
253
- content: url("/assets/more_hover.svg");
254
- }
266
+ .bd-plus-button:hover {
267
+ content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none"><circle cx="20" cy="20" r="19" fill="%23F0F7FF" stroke="%23006DFF" stroke-width="2"/><path d="M19 11H21V29H19V11Z" fill="%23006DFF"/><path d="M29 19V21L11 21L11 19L29 19Z" fill="%23006DFF"/></svg>');
268
+ }
269
+
255
270
 
256
271
  bd-carousel-item::part(content) {
257
272
  font-family: var(--typography-fontFamily-sans);
258
273
  }
259
274
 
260
- .bd-plus-button:active {
261
- content: url("/assets/more_pressed.svg");
262
- }
275
+ .bd-plus-button:active {
276
+ content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none"><circle cx="20" cy="20" r="19" fill="%23006DFF" stroke="%23006DFF" stroke-width="2"/><path d="M19 11H21V29H19V11Z" fill="white"/><path d="M29 19V21L11 21L11 19L29 19Z" fill="white"/></svg>');
277
+ }
263
278
 
264
279
  .bd-left-arrow {
265
280
  margin-right: var(--spacing-6);
@@ -2,7 +2,6 @@ import { LitElement, html } from "lit";
2
2
  import { tokens } from "../../tokens/tokens.js";
3
3
  import carouselCSS from "../carousel/carousel.css.js";
4
4
  import "../modal/modal.js";
5
-
6
5
  export class CarouselItem extends LitElement {
7
6
  static properties = {
8
7
  icon : { type: String },