@repobit/dex-system-design 0.19.2 → 0.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.
- package/CHANGELOG.md +23 -0
- package/package.json +2 -3
- package/src/components/accordion/accordion-bg.css.js +62 -14
- package/src/components/accordion/accordion-bg.js +13 -5
- package/src/components/accordion/accordion-bg.stories.js +251 -0
- package/src/components/accordion/accordion-light.stories.js +216 -0
- package/src/components/badge/badge.css.js +44 -6
- package/src/components/badge/badge.js +40 -2
- package/src/components/cards/card.css.js +245 -0
- package/src/components/cards/card.js +79 -0
- package/src/components/cards/card.stories.js +512 -0
- package/src/components/carousel/carousel.css.js +43 -35
- package/src/components/footer/footer-links-group.css.js +1 -1
- package/src/components/footer/footer-lp.stories.js +27 -61
- package/src/components/footer/footer-nav-menu.css.js +9 -10
- package/src/components/footer/footer.css.js +95 -2
- package/src/components/footer/footer.js +16 -30
- package/src/components/footer/footer.stories.js +166 -48
- package/src/components/light-carousel/light-carousel.stories.js +3 -3
- package/src/components/pricing-cards/pricing-card-actions.js +1 -1
- package/src/components/pricing-cards/pricing-card.css.js +28 -3
- package/src/components/pricing-cards/pricing-card.js +1 -14
- package/src/tokens/layout.css +3 -3
- package/src/tokens/tokens.css +0 -23
- package/src/components/accordion/accordion-no-bg.css.js +0 -114
- package/src/components/accordion/accordion-no-bg.js +0 -80
|
@@ -41,6 +41,22 @@ export default css`
|
|
|
41
41
|
font-family: var(--typography-fontFamily-sans);
|
|
42
42
|
font-weight: var(--typography-fontWeight-semibold);
|
|
43
43
|
}
|
|
44
|
+
.icon-user-sharp-regular {
|
|
45
|
+
display: inline-block;
|
|
46
|
+
width: 22px;
|
|
47
|
+
height: 22px;
|
|
48
|
+
background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='none'><path d='M11 11C13.2091 11 15 9.20914 15 7C15 4.79086 13.2091 3 11 3C8.79086 3 7 4.79086 7 7C7 9.20914 8.79086 11 11 11Z' fill='%23000'/><path d='M4 19C4 15.6863 6.68629 13 10 13H12C15.3137 13 18 15.6863 18 19V20H4V19Z' fill='%23000'/></svg>")
|
|
49
|
+
no-repeat center center;
|
|
50
|
+
background-size: contain;
|
|
51
|
+
}
|
|
52
|
+
.icon-family-pants-sharp-regular {
|
|
53
|
+
display: inline-block;
|
|
54
|
+
width: 24px; /* dimensiunea dorită */
|
|
55
|
+
height: 24px;
|
|
56
|
+
background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'><path d='M24 25.1591V27H8V25.1591C8 23.3048 9.20796 21.6667 10.9795 21.1187L11.8455 20.8509C12.2644 20.7213 12.55 20.334 12.55 19.8955V19.7449C10.8538 18.295 10.1 16.0583 10.1 13.2778C10.1 10.8447 11.1289 9.23277 12.423 8.25708C13.6668 7.3193 15.1097 7 16 7C16.8903 7 18.3332 7.3193 19.577 8.25708C20.8711 9.23277 21.9 10.8447 21.9 13.2778C21.9 16.0583 21.1462 18.295 19.45 19.7449V19.8955C19.45 20.334 19.7356 20.7213 20.1545 20.8509L21.0205 21.1187C22.792 21.6667 24 23.3048 24 25.1591Z' fill='%23000'/><path d='M7.4663 23C8.03861 21.7386 9.10189 20.7276 10.4549 20.2401C10.103 19.7558 9.59938 19.382 8.99905 19.1939L8.86534 19.152C8.71342 19.1044 8.58812 19.0057 8.50596 18.8783C9.41844 17.937 9.8 16.5994 9.8 15.0556C9.8 13.5167 9.1507 12.4609 8.30704 11.8164C7.51308 11.2099 6.59336 11 6 11C5.40664 11 4.48692 11.2099 3.69296 11.8164C2.8493 12.4609 2.2 13.5167 2.2 15.0556C2.2 16.5845 2.57424 17.9112 3.46779 18.851L3.46121 18.8574L3.48918 18.8858C3.40698 19.0095 3.28362 19.1053 3.13466 19.152L3.00095 19.1939C1.81034 19.567 1 20.6702 1 21.9179V23C3.57036 23 7.4663 23 7.4663 23Z' fill='%23000'/><path d='M21.5451 20.2401C22.8981 20.7276 23.9614 21.7386 24.5337 23C24.5337 23 28.2313 23 31 23V21.9179C31 20.6702 30.1897 19.567 28.9991 19.1939L28.8653 19.152C28.7134 19.1044 28.5881 19.0057 28.506 18.8783C29.4184 17.937 29.8 16.5994 29.8 15.0556C29.8 13.5167 29.1507 12.4609 28.307 11.8164C27.5131 11.2099 26.5934 11 26 11C25.4066 11 24.4869 11.2099 23.693 11.8164C22.8493 12.4609 22.2 13.5167 22.2 15.0556C22.2 16.5845 22.5742 17.9112 23.4678 18.851L23.4612 18.8574L23.4892 18.8858C23.407 19.0095 23.2836 19.1053 23.1347 19.152L23.0009 19.1939C22.4006 19.382 21.897 19.7558 21.5451 20.2401Z' fill='%23000'/></svg>") no-repeat center center;
|
|
57
|
+
background-size: contain;
|
|
58
|
+
}
|
|
59
|
+
|
|
44
60
|
|
|
45
61
|
.highlight {
|
|
46
62
|
border: var(--spacing-2) solid var(--border-card-green);
|
|
@@ -309,7 +325,17 @@ export default css`
|
|
|
309
325
|
transition: color 0.4s;
|
|
310
326
|
cursor: pointer;
|
|
311
327
|
}
|
|
312
|
-
|
|
328
|
+
.switchBox .label .icon {
|
|
329
|
+
vertical-align: middle;
|
|
330
|
+
position: relative;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
.icon-user-sharp-regular,
|
|
334
|
+
.icon-family-pants-sharp-regular {
|
|
335
|
+
vertical-align: middle;
|
|
336
|
+
position: relative;
|
|
337
|
+
top: -2px;
|
|
338
|
+
}
|
|
313
339
|
.switchBox .label.right {
|
|
314
340
|
z-index: 10;
|
|
315
341
|
color: black;
|
|
@@ -327,8 +353,7 @@ export default css`
|
|
|
327
353
|
.switchBox .switch input ~ .label .icon {
|
|
328
354
|
position: relative;
|
|
329
355
|
margin-right: var(--spacing-10);
|
|
330
|
-
|
|
331
|
-
}
|
|
356
|
+
}
|
|
332
357
|
|
|
333
358
|
.switchBox .switch input ~ .label .icon svg {
|
|
334
359
|
width: var(--spacing-24);
|
|
@@ -360,25 +360,12 @@ class PricingSwitch extends LitElement {
|
|
|
360
360
|
<span class="slider round"></span>
|
|
361
361
|
<span class="label right">
|
|
362
362
|
<span class="icon icon-user-sharp-regular">
|
|
363
|
-
<img
|
|
364
|
-
src="/assets/bd-icon-user.png"
|
|
365
|
-
alt="icon"
|
|
366
|
-
class="badge-icon-user"
|
|
367
|
-
height="22"
|
|
368
|
-
width="22"
|
|
369
|
-
/>
|
|
370
363
|
</span>
|
|
371
364
|
Individual
|
|
372
365
|
</span>
|
|
373
366
|
<span class="label left">
|
|
374
367
|
<span class="icon icon-family-pants-sharp-regular">
|
|
375
|
-
|
|
376
|
-
src="/assets/bd-icon-family.png"
|
|
377
|
-
alt="icon"
|
|
378
|
-
class="badge-icon-family"
|
|
379
|
-
height="24"
|
|
380
|
-
width="24"
|
|
381
|
-
/>
|
|
368
|
+
|
|
382
369
|
</span>
|
|
383
370
|
Family
|
|
384
371
|
</span>
|
package/src/tokens/layout.css
CHANGED
|
@@ -25,15 +25,15 @@
|
|
|
25
25
|
.bd-container {
|
|
26
26
|
max-width: 1200px;
|
|
27
27
|
margin: 0 auto;
|
|
28
|
-
padding: var(--
|
|
28
|
+
padding: var(--spacing-16);
|
|
29
29
|
display: flex;
|
|
30
30
|
flex-direction: column;
|
|
31
|
-
gap: var(--
|
|
31
|
+
gap: var(--spacing-8);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
.bd-container-fluid {
|
|
35
35
|
width: 100%;
|
|
36
|
-
padding: var(--
|
|
36
|
+
padding: var(--spacing-16);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
.pricing-container {
|
package/src/tokens/tokens.css
CHANGED
|
@@ -785,29 +785,6 @@
|
|
|
785
785
|
/* Caption */
|
|
786
786
|
--typography-label-small-fontSize-line-height: 1.35; /* For 12px */
|
|
787
787
|
|
|
788
|
-
/* --spacing-0: 0;
|
|
789
|
-
--spacing-1: 1px;
|
|
790
|
-
--spacing-2: 2px;
|
|
791
|
-
--spacing-4: 4px;
|
|
792
|
-
--spacing-6: 6px;
|
|
793
|
-
--spacing-8: 8px;
|
|
794
|
-
--spacing-10: 10px;
|
|
795
|
-
--spacing-12: 12px;
|
|
796
|
-
--spacing-14: 14px;
|
|
797
|
-
--spacing-16: 16px;
|
|
798
|
-
--spacing-18: 18px;
|
|
799
|
-
--spacing-20: 20px;
|
|
800
|
-
--spacing-22: 22px;
|
|
801
|
-
--spacing-24: 24px;
|
|
802
|
-
--spacing-32: 32px;
|
|
803
|
-
--spacing-36: 36px;
|
|
804
|
-
--spacing-40: 40px;
|
|
805
|
-
--spacing-44: 44px;
|
|
806
|
-
--spacing-52: 52px;
|
|
807
|
-
--spacing-64: 64px;
|
|
808
|
-
--spacing-full: 99999999999999999999;
|
|
809
|
-
*/
|
|
810
|
-
|
|
811
788
|
/* Spacing Tokens
|
|
812
789
|
-----------------------------------------------*/
|
|
813
790
|
/* Base spacing tokens - Based on 4px grid */
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { css } from "lit";
|
|
2
|
-
|
|
3
|
-
export default css`
|
|
4
|
-
:host {
|
|
5
|
-
--background-card-grey: var(--color-neutral-25);
|
|
6
|
-
--border-card-grey: var(--color-neutral-50);
|
|
7
|
-
--border-card-green: var(--color-green-700);
|
|
8
|
-
--badge-background: var(--color-blue-500);
|
|
9
|
-
--text-color-white: var(--color-neutral-0);
|
|
10
|
-
--bd-accesibility-focus: var(--color-blue-500);
|
|
11
|
-
display: block;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.bd-accordion-bg-item {
|
|
15
|
-
margin-bottom: var(--spacing-16);
|
|
16
|
-
border-radius: var(--spacing-8);
|
|
17
|
-
overflow: hidden;
|
|
18
|
-
transition: box-shadow 0.3s ease;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.bd-accordion-bg-item:hover {
|
|
22
|
-
.bd-accordion-bg-question-text {
|
|
23
|
-
text-decoration-line: underline;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.bd-accordion-bg-question {
|
|
28
|
-
cursor: pointer;
|
|
29
|
-
display: flex;
|
|
30
|
-
justify-content: flex-start;
|
|
31
|
-
align-items: center;
|
|
32
|
-
gap: var(--spacing-10);
|
|
33
|
-
padding: var(--spacing-16);
|
|
34
|
-
font-weight: bold;
|
|
35
|
-
color: #333;
|
|
36
|
-
transition: background-color 0.3s ease, color 0.3s ease;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.bd-accordion-bg-header {
|
|
40
|
-
margin-bottom: var(--spacing-32);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
.bd-accordion-bg-question:hover {
|
|
44
|
-
color: #0073e6;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.bd-accordion-bg-item:focus-visible {
|
|
48
|
-
outline: var(--spacing-2) solid var(--bd-accesibility-focus);
|
|
49
|
-
outline-offset: var(--spacing-2);
|
|
50
|
-
border-radius: var(--space-2xs);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.bd-accordion-bg-item:focus {
|
|
54
|
-
.bd-accordion-bg-question-text {
|
|
55
|
-
font-weight: 600;
|
|
56
|
-
text-decoration-line: underline;
|
|
57
|
-
color: var(--color-blue-600);
|
|
58
|
-
text-decoration-thickness: var(--spacing-2);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.bd-accordion-bg-question-text {
|
|
63
|
-
font-family: var(--typography-fontFamily-sans);
|
|
64
|
-
font-weight: var(--typography-fontWeight-semibold);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.bd-accordion-bg-title {
|
|
68
|
-
font-family: var(--typography-fontFamily-sans);
|
|
69
|
-
font-weight: var(--typography-fontWeight-semibold);
|
|
70
|
-
margin-left: auto;
|
|
71
|
-
margin-right: auto;
|
|
72
|
-
text-align: center;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.bd-accordion-bg-icon {
|
|
76
|
-
transition: transform 0.3s ease;
|
|
77
|
-
width: var(--spacing-14);
|
|
78
|
-
height: var(--spacing-14);
|
|
79
|
-
color: var(--color-blue-500);
|
|
80
|
-
text-align: center;
|
|
81
|
-
position: relative;
|
|
82
|
-
bottom: 1px;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
.bd-accordion-bg-answer {
|
|
86
|
-
overflow: hidden;
|
|
87
|
-
max-height: 0;
|
|
88
|
-
opacity: 0;
|
|
89
|
-
padding: 0 15px;
|
|
90
|
-
font-family: var(--typography-fontFamily-sans);
|
|
91
|
-
font-weight: var(--font-weight-sans-medium);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.bd-accordion-bg-item.open .bd-accordion-bg-answer {
|
|
95
|
-
max-height: 1000px;
|
|
96
|
-
opacity: 1;
|
|
97
|
-
padding: var(--spacing-0) var(--spacing-40);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.bd-accordion-bg-answer > div {
|
|
101
|
-
overflow: hidden;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.bd-accordion-bg-container {
|
|
105
|
-
width: 90%;
|
|
106
|
-
margin: auto;
|
|
107
|
-
padding-top: var(--spacing-64);
|
|
108
|
-
padding-bottom: var(--spacing-64);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
.bd-accordion-bg-link-noline {
|
|
112
|
-
text-decoration: none;
|
|
113
|
-
}
|
|
114
|
-
`;
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { LitElement, html } from "lit";
|
|
2
|
-
import { tokens } from "../../tokens/tokens.js";
|
|
3
|
-
import accordionCSS from "./accordion-no-bg.css";
|
|
4
|
-
|
|
5
|
-
class BdAccordionNoBg extends LitElement {
|
|
6
|
-
static properties = {
|
|
7
|
-
title: { type: String }
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
static styles = [tokens, accordionCSS];
|
|
11
|
-
|
|
12
|
-
render() {
|
|
13
|
-
return html`
|
|
14
|
-
<div class="bd-accordion-bg-container">
|
|
15
|
-
<div class="bd-accordion-bg-header">
|
|
16
|
-
<h1 class="bd-accordion-bg-title">${this.title}</h1>
|
|
17
|
-
</div>
|
|
18
|
-
<slot></slot>
|
|
19
|
-
</div>
|
|
20
|
-
`;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
class BdAccordionNoBgItem extends LitElement {
|
|
25
|
-
static properties = {
|
|
26
|
-
title: { type: String },
|
|
27
|
-
open : { type: Boolean, reflect: true }
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
constructor() {
|
|
31
|
-
super();
|
|
32
|
-
this.title = "";
|
|
33
|
-
this.open = false;
|
|
34
|
-
this.id = `accordion-${Math.random().toString(36)
|
|
35
|
-
.substr(2, 9)}`;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
static styles = [tokens, accordionCSS];
|
|
39
|
-
|
|
40
|
-
toggleItem() {
|
|
41
|
-
this.open = !this.open;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
handleKeyDown(event) {
|
|
45
|
-
if (event.key === "Enter" || event.key === " ") {
|
|
46
|
-
event.preventDefault();
|
|
47
|
-
this.toggleItem();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
render() {
|
|
52
|
-
return html`
|
|
53
|
-
<div
|
|
54
|
-
class="bd-accordion-bg-item ${this.open ? "open" : ""}"
|
|
55
|
-
role="button"
|
|
56
|
-
aria-expanded="${this.open}"
|
|
57
|
-
aria-controls="${this.id}"
|
|
58
|
-
tabindex="0"
|
|
59
|
-
@click=${this.toggleItem}
|
|
60
|
-
@keydown=${this.handleKeyDown}
|
|
61
|
-
>
|
|
62
|
-
<div class="bd-accordion-bg-question">
|
|
63
|
-
<span class="bd-accordion-bg-icon">${this.open ? "−" : "+"}</span>
|
|
64
|
-
<span class="bd-accordion-bg-question-text">${this.title}</span>
|
|
65
|
-
</div>
|
|
66
|
-
<div
|
|
67
|
-
id="${this.id}"
|
|
68
|
-
class="bd-accordion-bg-answer"
|
|
69
|
-
role="region"
|
|
70
|
-
aria-labelledby="${this.id}"
|
|
71
|
-
>
|
|
72
|
-
<slot></slot>
|
|
73
|
-
</div>
|
|
74
|
-
</div>
|
|
75
|
-
`;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
customElements.define("bd-accordion-no-bg", BdAccordionNoBg);
|
|
80
|
-
customElements.define("bd-accordion-no-bg-item", BdAccordionNoBgItem);
|