@repobit/dex-system-design 0.11.0 → 0.14.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 +35 -0
- package/package.json +2 -2
- package/src/assets/icons/Identity_protection.png +0 -0
- package/src/assets/icons/device_protection.png +0 -0
- package/src/assets/icons/financial_insurance.png +0 -0
- package/src/assets/icons/privacy_protection.png +0 -0
- package/src/assets/icons/user_guide.png +0 -0
- package/src/components/Button/Button.js +19 -16
- package/src/components/Button/button.css.js +18 -16
- package/src/components/Button/icons.js +8 -8
- package/src/components/FAQ/faq.css.js +48 -49
- package/src/components/FAQ/faq.js +0 -86
- package/src/components/Input/Input.js +68 -6
- package/src/components/Input/custom-form.stories.js +88 -0
- package/src/components/Input/input-clipboard.css.js +168 -0
- package/src/components/Input/input-clipboard.js +137 -0
- package/src/components/Input/input.css.js +122 -42
- package/src/components/accordion/accordion-bg.css.js +117 -0
- package/src/components/accordion/accordion-bg.js +80 -0
- package/src/components/accordion/accordion-no-bg.css.js +114 -0
- package/src/components/accordion/accordion-no-bg.js +80 -0
- package/src/components/accordion/accordion.css.js +88 -0
- package/src/components/accordion/accordion.js +81 -0
- package/src/components/anchor/anchor-nav.css.js +15 -15
- package/src/components/anchor/anchor-nav.js +0 -1
- package/src/components/anchor/anchor.stories.js +10 -13
- package/src/components/badge/badge.css.js +6 -6
- package/src/components/badge/badge.js +1 -2
- package/src/components/badge/badge.stories.js +6 -6
- package/src/components/carousel/carousel.css.js +60 -60
- package/src/components/carousel/carousel.js +26 -30
- package/src/components/carousel/carousel.stories.js +55 -55
- package/src/components/checkbox/checkbox.css.js +14 -14
- package/src/components/divider/divider-horizontal.js +19 -14
- package/src/components/divider/divider-vertical.js +23 -14
- package/src/components/divider/divider.css.js +19 -0
- package/src/components/dropdown/dropdown.css.js +138 -0
- package/src/components/dropdown/dropdown.js +111 -0
- package/src/components/footer/footer-links-group.css.js +42 -0
- package/src/components/footer/footer-links-group.js +25 -0
- package/src/components/footer/footer-lp.css.js +625 -0
- package/src/components/footer/footer-lp.js +368 -0
- package/src/components/footer/footer-lp.stories.js +69 -0
- package/src/components/footer/footer-nav-menu.css.js +24 -0
- package/src/components/footer/footer-nav-menu.js +36 -0
- package/src/components/footer/footer.css.js +625 -0
- package/src/components/footer/footer.js +465 -0
- package/src/components/footer/footer.stories.js +60 -0
- package/src/components/footer/localeMap.js +1 -0
- package/src/components/grid/grid.css.js +38 -0
- package/src/components/grid/grid.js +55 -0
- package/src/components/header/header.css.js +81 -52
- package/src/components/header/header.js +19 -19
- package/src/components/highlight/highlight.css.js +32 -22
- package/src/components/highlight/highlight.js +15 -4
- package/src/components/highlight/highlight.stories.js +4 -4
- package/src/components/light-carousel/light-carousel-simple.css.js +183 -0
- package/src/components/light-carousel/light-carousel-simple.js +73 -0
- package/src/components/light-carousel/light-carousel.css.js +50 -31
- package/src/components/light-carousel/light-carousel.js +14 -57
- package/src/components/light-carousel/light-carousel.stories.js +51 -10
- package/src/components/link/link.css.js +41 -0
- package/src/components/link/link.js +54 -0
- package/src/components/modal/modal.css.js +75 -0
- package/src/components/modal/modal.js +41 -0
- package/src/components/modal/modal.stories.js +40 -0
- package/src/components/paragraph/paragraph.css.js +1 -3
- package/src/components/pricing-cards/new-pricing-card.js +30 -0
- package/src/components/pricing-cards/new-pricing.css.js +58 -0
- package/src/components/pricing-cards/pricing-card-actions.css.js +16 -0
- package/src/components/pricing-cards/pricing-card-actions.js +20 -0
- package/src/components/pricing-cards/pricing-card-container.css.js +41 -0
- package/src/components/pricing-cards/pricing-card-container.js +31 -0
- package/src/components/pricing-cards/pricing-card-header.css.js +70 -0
- package/src/components/pricing-cards/pricing-card-header.js +46 -0
- package/src/components/pricing-cards/pricing-card-pricing.css.js +63 -0
- package/src/components/pricing-cards/pricing-card-pricing.js +101 -0
- package/src/components/pricing-cards/pricing-card-show-more.css.js +22 -0
- package/src/components/pricing-cards/pricing-card-show-more.js +33 -0
- package/src/components/pricing-cards/pricing-card.css.js +91 -89
- package/src/components/pricing-cards/pricing-card.js +13 -16
- package/src/components/pricing-cards/pricing-feature-item.css.js +18 -0
- package/src/components/pricing-cards/pricing-feature-item.js +14 -0
- package/src/components/radio/radio.css.js +18 -18
- package/src/components/radio/radio.js +1 -0
- package/src/components/tabs/tabs.css.js +21 -11
- package/src/components/tabs/tabs.js +24 -18
- package/src/components/termsOfUse/terms.css.js +6 -6
- package/src/components/termsOfUse/terms.js +0 -1
- package/src/stories/demo.stories.js +270 -0
- package/src/tokens/layout.css +1 -0
- package/src/tokens/tokens.css +412 -0
- package/src/components/highlight/highlight-s.css.js +0 -88
- package/src/components/highlight/highlight-s.js +0 -35
- package/src/components/highlight/highlight-s.stories.js +0 -22
- package/src/tokens/fonts.css +0 -166
- package/src/tokens/tokens.js +0 -281
|
@@ -18,47 +18,47 @@ export default css`
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
button:focus-visible {
|
|
21
|
-
outline: var(--
|
|
22
|
-
outline-offset: var(--
|
|
21
|
+
outline: var(--spacing-2) solid var(--bd-accesibility-focus);
|
|
22
|
+
outline-offset: var(--spacing-2);
|
|
23
23
|
}
|
|
24
24
|
a:focus-visible {
|
|
25
|
-
outline: var(--
|
|
26
|
-
outline-offset: var(--
|
|
25
|
+
outline: var(--spacing-2) solid var(--bd-accesibility-focus);
|
|
26
|
+
outline-offset: var(--spacing-2);
|
|
27
27
|
border-radius: var(--space-2xs);
|
|
28
28
|
}
|
|
29
29
|
.card {
|
|
30
30
|
padding-top: 2em;
|
|
31
31
|
background: var(--background-card-grey);
|
|
32
|
-
border: var(--
|
|
33
|
-
border-radius: var(--
|
|
34
|
-
padding: var(--
|
|
32
|
+
border: var(--spacing-2) solid var(--border-card-grey);
|
|
33
|
+
border-radius: var(--spacing-20);
|
|
34
|
+
padding: var(--spacing-32);
|
|
35
35
|
text-align: center;
|
|
36
36
|
max-width: 360px;
|
|
37
37
|
position: relative;
|
|
38
38
|
height: 100%;
|
|
39
39
|
}
|
|
40
40
|
.bd-section-title {
|
|
41
|
-
font-family: var(--
|
|
42
|
-
font-weight: var(--
|
|
41
|
+
font-family: var(--typography-fontFamily-sans);
|
|
42
|
+
font-weight: var(--typography-fontWeight-semibold);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
.highlight {
|
|
46
|
-
border: var(--
|
|
46
|
+
border: var(--spacing-2) solid var(--border-card-green);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
.highlight-banner {
|
|
50
50
|
background: var(--border-card-green);
|
|
51
51
|
color: white;
|
|
52
52
|
font-size: 18px;
|
|
53
|
-
padding: var(--
|
|
54
|
-
border-top-left-radius: var(--
|
|
55
|
-
border-top-right-radius: var(--
|
|
53
|
+
padding: var(--spacing-16) var(--spacing-8);
|
|
54
|
+
border-top-left-radius: var(--spacing-20);
|
|
55
|
+
border-top-right-radius: var(--spacing-20);
|
|
56
56
|
position: absolute;
|
|
57
57
|
top: -2.67em; /* echivalent cu -3rem */
|
|
58
58
|
left: 50%;
|
|
59
59
|
transform: translateX(-50%);
|
|
60
60
|
width: 85%;
|
|
61
|
-
font-family: var(--
|
|
61
|
+
font-family: var(--typography-fontFamily-sans);
|
|
62
62
|
font-weight: 600;
|
|
63
63
|
line-height: 14px;
|
|
64
64
|
z-index: 1;
|
|
@@ -73,7 +73,7 @@ export default css`
|
|
|
73
73
|
.card-title {
|
|
74
74
|
font-size: 2em;
|
|
75
75
|
font-weight: 700;
|
|
76
|
-
font-family: var(--
|
|
76
|
+
font-family: var(--typography-fontFamily-sans);
|
|
77
77
|
line-height: 34px;
|
|
78
78
|
text-align: start;
|
|
79
79
|
margin: 0px;
|
|
@@ -86,35 +86,35 @@ export default css`
|
|
|
86
86
|
.pricing-info {
|
|
87
87
|
display: inline-flex;
|
|
88
88
|
align-items: center;
|
|
89
|
-
gap: var(--
|
|
89
|
+
gap: var(--spacing-8);
|
|
90
90
|
}
|
|
91
91
|
.badge-subtitle {
|
|
92
92
|
font-size: 16px !important;
|
|
93
93
|
font-weight: 500;
|
|
94
|
-
font-family: var(--
|
|
94
|
+
font-family: var(--typography-fontFamily-sans);
|
|
95
95
|
color: var(--color-neutral-950);
|
|
96
|
-
margin: var(--
|
|
97
|
-
margin-top: var(--
|
|
96
|
+
margin: var(--spacing-0);
|
|
97
|
+
margin-top: var(--spacing-8);
|
|
98
98
|
}
|
|
99
99
|
.badge {
|
|
100
100
|
display: inline-block;
|
|
101
101
|
background: var(--badge-background);
|
|
102
102
|
color: var(--text-color-white);
|
|
103
103
|
font-size: 14px;
|
|
104
|
-
padding: var(--
|
|
105
|
-
border-radius: var(--
|
|
106
|
-
margin: var(--
|
|
104
|
+
padding: var(--spacing-6) 9px var(--spacing-6) var(--spacing-8);
|
|
105
|
+
border-radius: var(--spacing-16);
|
|
106
|
+
margin: var(--spacing-20) var(--spacing-0) 5px var(--spacing-0);
|
|
107
107
|
text-align: left;
|
|
108
|
-
font-family: var(--
|
|
108
|
+
font-family: var(--typography-fontFamily-sans);
|
|
109
109
|
font-weight: 500;
|
|
110
|
-
line-height: var(--
|
|
111
|
-
gap: var(--
|
|
110
|
+
line-height: var(--spacing-14);
|
|
111
|
+
gap: var(--spacing-10);
|
|
112
112
|
}
|
|
113
113
|
.badge img {
|
|
114
114
|
position: relative;
|
|
115
|
-
top: var(--
|
|
115
|
+
top: var(--spacing-1);
|
|
116
116
|
width: 11px;
|
|
117
|
-
height: var(--
|
|
117
|
+
height: var(--spacing-14);
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
.badge p {
|
|
@@ -125,15 +125,15 @@ export default css`
|
|
|
125
125
|
flex-direction: column;
|
|
126
126
|
align-items: start;
|
|
127
127
|
text-align: start;
|
|
128
|
-
margin: var(--
|
|
128
|
+
margin: var(--spacing-16) 0;
|
|
129
129
|
}
|
|
130
130
|
.pricing > * {
|
|
131
131
|
margin: 0;
|
|
132
132
|
}
|
|
133
133
|
.original-price {
|
|
134
|
-
font-family: var(--
|
|
134
|
+
font-family: var(--typography-fontFamily-sans);
|
|
135
135
|
font-weight: 500;
|
|
136
|
-
line-height: var(--
|
|
136
|
+
line-height: var(--spacing-18);
|
|
137
137
|
font-size: 16px;
|
|
138
138
|
text-decoration: line-through;
|
|
139
139
|
color: var(--color-neutral-950);
|
|
@@ -141,31 +141,31 @@ export default css`
|
|
|
141
141
|
|
|
142
142
|
.discount {
|
|
143
143
|
background: var(--color-green-100);
|
|
144
|
-
font-family: var(--
|
|
144
|
+
font-family: var(--typography-fontFamily-sans);
|
|
145
145
|
font-weight: 600;
|
|
146
146
|
font-size: 16px;
|
|
147
147
|
font-weight: bold;
|
|
148
148
|
border-radius: 22px;
|
|
149
|
-
padding: var(--
|
|
150
|
-
gap: var(--
|
|
149
|
+
padding: var(--spacing-6) var(--spacing-12) var(--spacing-8) var(--spacing-12);
|
|
150
|
+
gap: var(--spacing-10);
|
|
151
151
|
color: var(--color-green-800);
|
|
152
|
-
margin: var(--
|
|
152
|
+
margin: var(--spacing-0);
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
.price {
|
|
156
156
|
font-size: 40px;
|
|
157
157
|
font-weight: 700;
|
|
158
158
|
color: var(--color-neutral-950);
|
|
159
|
-
font-family: var(--
|
|
159
|
+
font-family: var(--typography-fontFamily-sans);
|
|
160
160
|
line-height: 34px;
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
.terms {
|
|
164
|
-
font-family: var(--
|
|
164
|
+
font-family: var(--typography-fontFamily-sans);
|
|
165
165
|
font-weight: 400;
|
|
166
166
|
font-size: 12px;
|
|
167
167
|
color: var(--color-neutral-950);
|
|
168
|
-
line-height: var(--
|
|
168
|
+
line-height: var(--spacing-14);
|
|
169
169
|
margin-top: 15px;
|
|
170
170
|
max-width: 80%;
|
|
171
171
|
}
|
|
@@ -177,9 +177,9 @@ export default css`
|
|
|
177
177
|
.actions {
|
|
178
178
|
display: flex;
|
|
179
179
|
flex-direction: column;
|
|
180
|
-
gap: var(--
|
|
180
|
+
gap: var(--spacing-12);
|
|
181
181
|
align-items: stretch;
|
|
182
|
-
margin-bottom: var(--
|
|
182
|
+
margin-bottom: var(--spacing-20);
|
|
183
183
|
width: 100%;
|
|
184
184
|
}
|
|
185
185
|
|
|
@@ -187,12 +187,12 @@ export default css`
|
|
|
187
187
|
font-size: 16px;
|
|
188
188
|
font-weight: 700;
|
|
189
189
|
color: var(--color-neutral-900);
|
|
190
|
-
font-family: var(--
|
|
191
|
-
line-height: var(--
|
|
190
|
+
font-family: var(--typography-fontFamily-sans);
|
|
191
|
+
line-height: var(--spacing-18);
|
|
192
192
|
}
|
|
193
193
|
|
|
194
194
|
.features ul {
|
|
195
|
-
padding-left: var(--
|
|
195
|
+
padding-left: var(--spacing-0);
|
|
196
196
|
}
|
|
197
197
|
|
|
198
198
|
.pricing-card {
|
|
@@ -205,14 +205,14 @@ export default css`
|
|
|
205
205
|
text-align: start;
|
|
206
206
|
}
|
|
207
207
|
.additional-info li {
|
|
208
|
-
font-family: var(--
|
|
208
|
+
font-family: var(--typography-fontFamily-sans);
|
|
209
209
|
font-weight: 400;
|
|
210
210
|
font-size: 14px;
|
|
211
211
|
color: var(--color-neutral-950);
|
|
212
|
-
margin-bottom: var(--
|
|
212
|
+
margin-bottom: var(--spacing-10);
|
|
213
213
|
display: flex;
|
|
214
214
|
align-items: center;
|
|
215
|
-
gap: var(--
|
|
215
|
+
gap: var(--spacing-8);
|
|
216
216
|
white-space: normal;
|
|
217
217
|
overflow: visible;
|
|
218
218
|
}
|
|
@@ -221,11 +221,11 @@ export default css`
|
|
|
221
221
|
max-width: 400px !important;
|
|
222
222
|
}
|
|
223
223
|
.features {
|
|
224
|
-
padding: var(--
|
|
224
|
+
padding: var(--spacing-10);
|
|
225
225
|
}
|
|
226
226
|
|
|
227
227
|
.badge-icon {
|
|
228
|
-
margin-right: var(--
|
|
228
|
+
margin-right: var(--spacing-8);
|
|
229
229
|
}
|
|
230
230
|
.features h4 {
|
|
231
231
|
text-align: start;
|
|
@@ -235,26 +235,26 @@ export default css`
|
|
|
235
235
|
display: flex;
|
|
236
236
|
flex-direction: column;
|
|
237
237
|
align-items: center;
|
|
238
|
-
gap: var(--
|
|
238
|
+
gap: var(--spacing-16);
|
|
239
239
|
margin-bottom: 100px;
|
|
240
240
|
}
|
|
241
241
|
|
|
242
242
|
.plan-switch {
|
|
243
|
-
margin-bottom: var(--
|
|
243
|
+
margin-bottom: var(--spacing-24);
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
.pricing-cards {
|
|
247
247
|
display: flex;
|
|
248
248
|
justify-content: center;
|
|
249
249
|
flex-wrap: wrap;
|
|
250
|
-
gap: var(--
|
|
250
|
+
gap: var(--spacing-24);
|
|
251
251
|
align-items: stretch;
|
|
252
252
|
}
|
|
253
253
|
|
|
254
254
|
.pricing-card {
|
|
255
255
|
display: flex;
|
|
256
256
|
flex-direction: column;
|
|
257
|
-
flex: 1 1 calc(33.333% - var(--
|
|
257
|
+
flex: 1 1 calc(33.333% - var(--spacing-16));
|
|
258
258
|
max-width: 300px;
|
|
259
259
|
min-height: 100%;
|
|
260
260
|
}
|
|
@@ -263,7 +263,9 @@ export default css`
|
|
|
263
263
|
}
|
|
264
264
|
.switchBox {
|
|
265
265
|
text-align: center;
|
|
266
|
-
|
|
266
|
+
margin-bottom: var(--spacing-32);
|
|
267
|
+
margin-top: var(--spacing-32);
|
|
268
|
+
padding-bottom: var(--spacing-32);
|
|
267
269
|
}
|
|
268
270
|
|
|
269
271
|
.switchBox .switch {
|
|
@@ -283,12 +285,12 @@ export default css`
|
|
|
283
285
|
.switchBox .slider {
|
|
284
286
|
position: absolute;
|
|
285
287
|
content: "";
|
|
286
|
-
height: var(--
|
|
288
|
+
height: var(--spacing-40);
|
|
287
289
|
width: 150px;
|
|
288
|
-
left: var(--
|
|
289
|
-
bottom: var(--
|
|
290
|
+
left: var(--spacing-2);
|
|
291
|
+
bottom: var(--spacing-2);
|
|
290
292
|
background-color: white;
|
|
291
|
-
border-radius: var(--
|
|
293
|
+
border-radius: var(--spacing-20);
|
|
292
294
|
transition: all 0.4s;
|
|
293
295
|
}
|
|
294
296
|
|
|
@@ -302,7 +304,7 @@ export default css`
|
|
|
302
304
|
text-align: center;
|
|
303
305
|
font-weight: bold;
|
|
304
306
|
line-height: 34px;
|
|
305
|
-
font-size: var(--
|
|
307
|
+
font-size: var(--spacing-16);
|
|
306
308
|
color: white;
|
|
307
309
|
transition: color 0.4s;
|
|
308
310
|
cursor: pointer;
|
|
@@ -324,20 +326,20 @@ export default css`
|
|
|
324
326
|
|
|
325
327
|
.switchBox .switch input ~ .label .icon {
|
|
326
328
|
position: relative;
|
|
327
|
-
margin-right: var(--
|
|
328
|
-
top: var(--
|
|
329
|
+
margin-right: var(--spacing-10);
|
|
330
|
+
top: var(--spacing-2);
|
|
329
331
|
}
|
|
330
332
|
|
|
331
333
|
.switchBox .switch input ~ .label .icon svg {
|
|
332
|
-
width: var(--
|
|
333
|
-
height: var(--
|
|
334
|
+
width: var(--spacing-24);
|
|
335
|
+
height: var(--spacing-20);
|
|
334
336
|
}
|
|
335
337
|
.badge-icon-family {
|
|
336
|
-
top: var(--
|
|
338
|
+
top: var(--spacing-4) !important;
|
|
337
339
|
position: relative;
|
|
338
340
|
}
|
|
339
341
|
.badge-icon-user {
|
|
340
|
-
top: var(--
|
|
342
|
+
top: var(--spacing-4) !important;
|
|
341
343
|
position: relative;
|
|
342
344
|
}
|
|
343
345
|
.switchBox .switch input ~ .label.right .icon svg {
|
|
@@ -379,12 +381,12 @@ export default css`
|
|
|
379
381
|
left: 0;
|
|
380
382
|
background-color: #f8f8f8;
|
|
381
383
|
color: #333;
|
|
382
|
-
padding: var(--
|
|
384
|
+
padding: var(--spacing-8) var(--spacing-12);
|
|
383
385
|
border-radius: 5px;
|
|
384
386
|
font-size: 12px;
|
|
385
387
|
max-width: 250px;
|
|
386
|
-
border: var(--
|
|
387
|
-
box-shadow: 0 0 var(--
|
|
388
|
+
border: var(--spacing-1) solid #ccc;
|
|
389
|
+
box-shadow: 0 0 var(--spacing-10) rgba(0, 0, 0, 0.1);
|
|
388
390
|
z-index: 10;
|
|
389
391
|
}
|
|
390
392
|
|
|
@@ -394,9 +396,9 @@ export default css`
|
|
|
394
396
|
bottom: -8px;
|
|
395
397
|
left: 20%;
|
|
396
398
|
transform: translateX(-50%);
|
|
397
|
-
border-left: var(--
|
|
398
|
-
border-right: var(--
|
|
399
|
-
border-top: var(--
|
|
399
|
+
border-left: var(--spacing-8) solid transparent;
|
|
400
|
+
border-right: var(--spacing-8) solid transparent;
|
|
401
|
+
border-top: var(--spacing-8) solid #ccc;
|
|
400
402
|
}
|
|
401
403
|
|
|
402
404
|
.feature-item:hover .tooltip {
|
|
@@ -405,37 +407,37 @@ export default css`
|
|
|
405
407
|
.badge-feature {
|
|
406
408
|
background-color: #007bff;
|
|
407
409
|
color: white;
|
|
408
|
-
border-radius: var(--
|
|
409
|
-
width: var(--
|
|
410
|
-
height: var(--
|
|
410
|
+
border-radius: var(--spacing-16);
|
|
411
|
+
width: var(--spacing-36);
|
|
412
|
+
height: var(--spacing-20);
|
|
411
413
|
display: inline-flex;
|
|
412
414
|
align-items: center;
|
|
413
415
|
justify-content: center;
|
|
414
416
|
font-size: 12px;
|
|
415
|
-
margin-left: var(--
|
|
417
|
+
margin-left: var(--spacing-8);
|
|
416
418
|
text-align: center;
|
|
417
|
-
padding: var(--
|
|
419
|
+
padding: var(--spacing-2);
|
|
418
420
|
}
|
|
419
421
|
.badge-feature-icon {
|
|
420
|
-
height: var(--
|
|
421
|
-
padding: var(--
|
|
422
|
+
height: var(--spacing-14);
|
|
423
|
+
padding: var(--spacing-2);
|
|
422
424
|
}
|
|
423
425
|
.badge-icon-family-subtitle {
|
|
424
|
-
width: var(--
|
|
425
|
-
height: var(--
|
|
426
|
-
top: var(--
|
|
427
|
-
padding-right: var(--
|
|
426
|
+
width: var(--spacing-20) !important;
|
|
427
|
+
height: var(--spacing-20) !important;
|
|
428
|
+
top: var(--spacing-2);
|
|
429
|
+
padding-right: var(--spacing-4);
|
|
428
430
|
}
|
|
429
431
|
.family-text {
|
|
430
432
|
position: relative;
|
|
431
|
-
bottom: var(--
|
|
433
|
+
bottom: var(--spacing-4);
|
|
432
434
|
}
|
|
433
435
|
|
|
434
436
|
@media (max-width: 1024px) {
|
|
435
437
|
.pricing-cards {
|
|
436
438
|
flex-direction: column;
|
|
437
439
|
align-items: center;
|
|
438
|
-
gap: var(--
|
|
440
|
+
gap: var(--spacing-52);
|
|
439
441
|
}
|
|
440
442
|
|
|
441
443
|
.pricing-card {
|
|
@@ -460,7 +462,7 @@ export default css`
|
|
|
460
462
|
@media (max-width: 768px) {
|
|
461
463
|
.pricing-card {
|
|
462
464
|
max-width: 90%;
|
|
463
|
-
padding: var(--
|
|
465
|
+
padding: var(--spacing-24);
|
|
464
466
|
}
|
|
465
467
|
.switchBox {
|
|
466
468
|
text-align: center;
|
|
@@ -488,24 +490,24 @@ export default css`
|
|
|
488
490
|
|
|
489
491
|
.pricing-info {
|
|
490
492
|
flex-direction: column;
|
|
491
|
-
gap: var(--
|
|
493
|
+
gap: var(--spacing-4);
|
|
492
494
|
}
|
|
493
495
|
|
|
494
496
|
.highlight-banner {
|
|
495
497
|
font-size: 14px;
|
|
496
|
-
padding: var(--
|
|
498
|
+
padding: var(--spacing-8);
|
|
497
499
|
}
|
|
498
500
|
|
|
499
501
|
.actions {
|
|
500
502
|
flex-direction: column;
|
|
501
|
-
gap: var(--
|
|
503
|
+
gap: var(--spacing-8);
|
|
502
504
|
}
|
|
503
505
|
}
|
|
504
506
|
|
|
505
507
|
@media (max-width: 480px) {
|
|
506
508
|
.pricing-card {
|
|
507
509
|
max-width: 100%;
|
|
508
|
-
padding: var(--
|
|
510
|
+
padding: var(--spacing-16);
|
|
509
511
|
}
|
|
510
512
|
|
|
511
513
|
.card-title {
|
|
@@ -529,11 +531,11 @@ export default css`
|
|
|
529
531
|
|
|
530
532
|
.badge {
|
|
531
533
|
font-size: 12px;
|
|
532
|
-
padding: var(--
|
|
534
|
+
padding: var(--spacing-4) var(--spacing-6);
|
|
533
535
|
}
|
|
534
536
|
|
|
535
537
|
.actions {
|
|
536
|
-
gap: var(--
|
|
538
|
+
gap: var(--spacing-6);
|
|
537
539
|
}
|
|
538
540
|
}
|
|
539
541
|
@media (min-width: 768px) and (max-width: 1024px) {
|
|
@@ -44,9 +44,6 @@ class PricingContainer extends LitElement {
|
|
|
44
44
|
render() {
|
|
45
45
|
return html`
|
|
46
46
|
<div class="pricing-container">
|
|
47
|
-
<h1 class="bd-section-title">
|
|
48
|
-
Pricing Cards
|
|
49
|
-
</h1>
|
|
50
47
|
<pricing-switch
|
|
51
48
|
.planType=${this.planType}
|
|
52
49
|
@plan-switch=${this.handleSwitch}
|
|
@@ -166,7 +163,7 @@ class PricingCard extends LitElement {
|
|
|
166
163
|
<p class="card-title">${this.title}</p>
|
|
167
164
|
<span class="badge">
|
|
168
165
|
<img
|
|
169
|
-
src="
|
|
166
|
+
src="/assets/badge-icon-individual.png"
|
|
170
167
|
alt="icon"
|
|
171
168
|
class="badge-icon"
|
|
172
169
|
/>
|
|
@@ -264,7 +261,7 @@ class PricingCardFamily extends LitElement {
|
|
|
264
261
|
<p class="card-title">${this.title}</p>
|
|
265
262
|
<span class="badge">
|
|
266
263
|
<img
|
|
267
|
-
src="
|
|
264
|
+
src="/assets/bd-icon-family-white.png"
|
|
268
265
|
alt="icon"
|
|
269
266
|
class="badge-icon-family-subtitle"
|
|
270
267
|
/>
|
|
@@ -364,7 +361,7 @@ class PricingSwitch extends LitElement {
|
|
|
364
361
|
<span class="label right">
|
|
365
362
|
<span class="icon icon-user-sharp-regular">
|
|
366
363
|
<img
|
|
367
|
-
src="
|
|
364
|
+
src="/assets/bd-icon-user.png"
|
|
368
365
|
alt="icon"
|
|
369
366
|
class="badge-icon-user"
|
|
370
367
|
height="22"
|
|
@@ -376,7 +373,7 @@ class PricingSwitch extends LitElement {
|
|
|
376
373
|
<span class="label left">
|
|
377
374
|
<span class="icon icon-family-pants-sharp-regular">
|
|
378
375
|
<img
|
|
379
|
-
src="
|
|
376
|
+
src="/assets/bd-icon-family.png"
|
|
380
377
|
alt="icon"
|
|
381
378
|
class="badge-icon-family"
|
|
382
379
|
height="24"
|
|
@@ -438,7 +435,7 @@ class PricingCardFeatures extends LitElement {
|
|
|
438
435
|
${features.map(
|
|
439
436
|
(feature) => html` <li class="feature-item">
|
|
440
437
|
<img
|
|
441
|
-
src="
|
|
438
|
+
src="/assets/verified_arrow.png"
|
|
442
439
|
alt="icon"
|
|
443
440
|
class="badge-icon"
|
|
444
441
|
/>
|
|
@@ -496,7 +493,7 @@ class PricingCardPrivacy extends LitElement {
|
|
|
496
493
|
${privacy.map(
|
|
497
494
|
(priv) => html` <li class="feature-item">
|
|
498
495
|
<img
|
|
499
|
-
src="
|
|
496
|
+
src="/assets/verified_arrow.png"
|
|
500
497
|
alt="icon"
|
|
501
498
|
class="badge-icon"
|
|
502
499
|
/>
|
|
@@ -505,7 +502,7 @@ class PricingCardPrivacy extends LitElement {
|
|
|
505
502
|
? html`<span class="badge-feature"
|
|
506
503
|
>${priv.badge}
|
|
507
504
|
<img
|
|
508
|
-
src="
|
|
505
|
+
src="/assets/badge-icon-individual.png"
|
|
509
506
|
alt="icon"
|
|
510
507
|
class="badge-feature-icon"
|
|
511
508
|
/></span>`
|
|
@@ -547,7 +544,7 @@ class PricingCardIdentify extends LitElement {
|
|
|
547
544
|
${identity.map(
|
|
548
545
|
(ident) => html` <li class="feature-item">
|
|
549
546
|
<img
|
|
550
|
-
src="
|
|
547
|
+
src="/assets/verified_arrow.png"
|
|
551
548
|
alt="icon"
|
|
552
549
|
class="badge-icon"
|
|
553
550
|
/>
|
|
@@ -556,7 +553,7 @@ class PricingCardIdentify extends LitElement {
|
|
|
556
553
|
? html`<span class="badge-feature"
|
|
557
554
|
>${ident.badge}
|
|
558
555
|
<img
|
|
559
|
-
src="
|
|
556
|
+
src="/assets/badge-icon-individual.png"
|
|
560
557
|
alt="icon"
|
|
561
558
|
class="badge-feature-icon"
|
|
562
559
|
/></span>`
|
|
@@ -618,7 +615,7 @@ class PricingCardIdentityExtend extends LitElement {
|
|
|
618
615
|
${identity.map(
|
|
619
616
|
(ident) => html` <li class="feature-item">
|
|
620
617
|
<img
|
|
621
|
-
src="
|
|
618
|
+
src="/assets/verified_arrow.png"
|
|
622
619
|
alt="icon"
|
|
623
620
|
class="badge-icon"
|
|
624
621
|
/>
|
|
@@ -627,7 +624,7 @@ class PricingCardIdentityExtend extends LitElement {
|
|
|
627
624
|
? html`<span class="badge-feature"
|
|
628
625
|
>${ident.badge}
|
|
629
626
|
<img
|
|
630
|
-
src="
|
|
627
|
+
src="/assets/badge-icon-individual.png"
|
|
631
628
|
alt="icon"
|
|
632
629
|
class="badge-feature-icon"
|
|
633
630
|
/></span>`
|
|
@@ -692,7 +689,7 @@ class PricingCardParentalControl extends LitElement {
|
|
|
692
689
|
${parentalControl.map(
|
|
693
690
|
(parental) => html` <li class="feature-item">
|
|
694
691
|
<img
|
|
695
|
-
src="
|
|
692
|
+
src="/assets/verified_arrow.png"
|
|
696
693
|
alt="icon"
|
|
697
694
|
class="badge-icon"
|
|
698
695
|
/>
|
|
@@ -701,7 +698,7 @@ class PricingCardParentalControl extends LitElement {
|
|
|
701
698
|
? html`<span class="badge-feature"
|
|
702
699
|
>${parental.badge}
|
|
703
700
|
<img
|
|
704
|
-
src="
|
|
701
|
+
src="/assets/badge-icon-individual.png"
|
|
705
702
|
alt="icon"
|
|
706
703
|
class="badge-feature-icon"
|
|
707
704
|
/></span>`
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { css } from "lit";
|
|
2
|
+
|
|
3
|
+
export default css`
|
|
4
|
+
.feature {
|
|
5
|
+
font-family: var(--typography-fontFamily-sans);
|
|
6
|
+
font-size: var(--typography-label-small-fontSize);
|
|
7
|
+
color: #000000;
|
|
8
|
+
padding-left: 1.25rem;
|
|
9
|
+
position: relative;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.feature::before {
|
|
13
|
+
content: "✓";
|
|
14
|
+
position: absolute;
|
|
15
|
+
left: 0;
|
|
16
|
+
color: green;
|
|
17
|
+
}
|
|
18
|
+
`;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { LitElement, html } from "lit";
|
|
2
|
+
import { tokens } from "../../tokens/tokens.js";
|
|
3
|
+
import newFeaturePricingCSS from "../pricing-cards/pricing-feature-item.css.js";
|
|
4
|
+
|
|
5
|
+
class PricingFeatureItem extends LitElement {
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
render() {
|
|
9
|
+
return html`<div class="feature"><slot></slot></div>`;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
PricingFeatureItem.styles = [tokens, newFeaturePricingCSS];
|
|
13
|
+
|
|
14
|
+
customElements.define("pricing-feature-item", PricingFeatureItem);
|