@repobit/dex-system-design 0.20.0 → 0.21.1
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 +17 -0
- package/package.json +7 -2
- package/src/components/Button/button.stories.js +51 -51
- package/src/components/accordion/accordion-bg.css.js +141 -123
- package/src/components/accordion/accordion-bg.stories.js +102 -72
- package/src/components/accordion/accordion-light.stories.js +78 -53
- package/src/components/anchor/anchor.stories.js +24 -22
- package/src/components/back/back.css.js +56 -0
- package/src/components/back/back.js +39 -0
- package/src/components/back/back.stories.js +184 -0
- package/src/components/badge/badge.stories.js +3 -10
- package/src/components/breadcrumb/breadcrumb.css.js +98 -0
- package/src/components/breadcrumb/breadcrumb.js +136 -0
- package/src/components/breadcrumb/breadcrumb.stories.js +109 -0
- package/src/components/cards/card.js +2 -1
- package/src/components/cards/card.stories.js +49 -49
- package/src/components/carousel/carousel.css.js +8 -1
- package/src/components/carousel/carousel.js +0 -1
- package/src/components/carousel/carousel.stories.js +21 -17
- package/src/components/display/display.css.js +68 -0
- package/src/components/display/display.js +26 -0
- package/src/components/display/display.stories.js +339 -0
- package/src/components/divider/divider-horizontal.js +1 -1
- package/src/components/footer/footer-links-group.js +3 -3
- package/src/components/footer/footer-lp.stories.js +0 -1
- package/src/components/footer/footer.css.js +0 -6
- package/src/components/footer/footer.js +21 -41
- package/src/components/footer/footer.stories.js +0 -1
- package/src/components/header/header.js +11 -11
- package/src/components/header/header.stories.js +36 -4
- package/src/components/heading/heading.css.js +79 -0
- package/src/components/heading/heading.js +79 -0
- package/src/components/heading/heading.stories.js +260 -0
- package/src/components/highlight/highlight.stories.js +1 -1
- package/src/components/image/image.css.js +101 -0
- package/src/components/image/image.js +57 -0
- package/src/components/image/image.stories.js +245 -0
- package/src/components/light-carousel/light-carousel-simple.js +3 -2
- package/src/components/light-carousel/light-carousel.js +3 -7
- package/src/components/light-carousel/light-carousel.stories.js +12 -13
- package/src/components/link/link.css.js +107 -18
- package/src/components/link/link.js +16 -12
- package/src/components/link/link.stories.js +177 -0
- package/src/components/list/list-item/list-item.css.js +106 -0
- package/src/components/list/list-item/list-item.js +43 -0
- package/src/components/list/list-item/list-item.stories.js +79 -0
- package/src/components/list/list.css.js +175 -0
- package/src/components/list/list.js +44 -0
- package/src/components/modal/modal.js +6 -5
- package/src/components/paragraph/paragraph.css.js +41 -11
- package/src/components/paragraph/paragraph.js +7 -45
- package/src/components/paragraph/paragraph.stories.js +235 -0
- package/src/components/picture/picture.css.js +0 -0
- package/src/components/picture/picture.js +46 -0
- package/src/components/picture/picture.stories.js +275 -0
- package/src/components/pricing-cards/pricing-card-header.js +9 -7
- package/src/components/pricing-cards/pricing-card-pricing.js +11 -12
- package/src/components/pricing-cards/pricing-card.js +37 -36
- package/src/components/tabs/tabs.js +44 -47
- package/src/components/termsOfUse/terms.js +77 -161
- package/src/components/termsOfUse/terms.stories.js +4 -3
- package/src/stories/Header.js +6 -6
- package/src/tokens/tokens.stories.js +9 -8
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { LitElement, html } from "lit";
|
|
2
2
|
import { tokens } from "../../tokens/tokens.js";
|
|
3
|
+
import "../heading/heading.js";
|
|
4
|
+
import "../paragraph/paragraph.js";
|
|
3
5
|
import newHeaderPricingCSS from "../pricing-cards/pricing-card-header.css.js";
|
|
4
6
|
|
|
5
7
|
class PricingCardHeader extends LitElement {
|
|
@@ -10,7 +12,6 @@ class PricingCardHeader extends LitElement {
|
|
|
10
12
|
plus : { type: Boolean }
|
|
11
13
|
};
|
|
12
14
|
|
|
13
|
-
|
|
14
15
|
get parsedBadges() {
|
|
15
16
|
return this.badges ? this.badges.split("|").map((b) => b.trim()) : [];
|
|
16
17
|
}
|
|
@@ -21,13 +22,13 @@ class PricingCardHeader extends LitElement {
|
|
|
21
22
|
|
|
22
23
|
return html`
|
|
23
24
|
<div class="card-header">
|
|
24
|
-
<
|
|
25
|
+
<bd-h as="h4" class="card-title">
|
|
25
26
|
<span class="card-title-brand">${brand}</span>
|
|
26
|
-
</
|
|
27
|
-
<
|
|
27
|
+
</bd-h>
|
|
28
|
+
<bd-h as="h4" class="card-title">
|
|
28
29
|
${restOfTitle}
|
|
29
30
|
${this.plus ? html` <span class="plus">Plus</span>` : ""}
|
|
30
|
-
</
|
|
31
|
+
</bd-h>
|
|
31
32
|
${this.parsedBadges.length
|
|
32
33
|
? html`
|
|
33
34
|
<div class="badge-wrapper multiple">
|
|
@@ -35,12 +36,13 @@ class PricingCardHeader extends LitElement {
|
|
|
35
36
|
</div>
|
|
36
37
|
`
|
|
37
38
|
: ""}
|
|
38
|
-
<p class="badge-subtitle">${this.subtitle}</p>
|
|
39
|
+
<bd-p kind="small" class="badge-subtitle">${this.subtitle}</bd-p>
|
|
39
40
|
<bd-divider-horizontal></bd-divider-horizontal>
|
|
40
41
|
</div>
|
|
41
42
|
`;
|
|
42
43
|
}
|
|
43
44
|
}
|
|
45
|
+
|
|
44
46
|
PricingCardHeader.styles = [tokens, newHeaderPricingCSS];
|
|
45
47
|
|
|
46
|
-
customElements.define("pricing-card-header", PricingCardHeader);
|
|
48
|
+
customElements.define("pricing-card-header", PricingCardHeader);
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { LitElement, html } from "lit";
|
|
2
2
|
import { tokens } from "../../tokens/tokens.js";
|
|
3
|
+
import "../heading/heading.js";
|
|
4
|
+
import "../paragraph/paragraph.js";
|
|
3
5
|
import newPricingPricingCSS from "../pricing-cards/pricing-card-pricing.css.js";
|
|
4
6
|
|
|
5
7
|
class PricingCardPricing extends LitElement {
|
|
@@ -15,18 +17,15 @@ class PricingCardPricing extends LitElement {
|
|
|
15
17
|
this.billingPeriod = "monthly";
|
|
16
18
|
}
|
|
17
19
|
|
|
18
|
-
|
|
19
20
|
formatCurrency(value) {
|
|
20
21
|
if (!value || isNaN(value)) return "";
|
|
21
22
|
return `$${parseFloat(value).toFixed(2)}`;
|
|
22
23
|
}
|
|
23
24
|
|
|
24
|
-
// Calculează valorile pentru yearly
|
|
25
25
|
get yearlyPrice() {
|
|
26
|
-
// Exemplu: 12 luni * price lunar cu 10% discount anual dummy
|
|
27
26
|
const monthlyPrice = parseFloat(this.price);
|
|
28
27
|
if (isNaN(monthlyPrice)) return "";
|
|
29
|
-
const yearly = monthlyPrice * 12 * 0.9;
|
|
28
|
+
const yearly = monthlyPrice * 12 * 0.9;
|
|
30
29
|
return yearly.toFixed(2);
|
|
31
30
|
}
|
|
32
31
|
|
|
@@ -38,7 +37,6 @@ class PricingCardPricing extends LitElement {
|
|
|
38
37
|
}
|
|
39
38
|
|
|
40
39
|
get yearlyDiscount() {
|
|
41
|
-
// Exemplu text dummy pentru anual
|
|
42
40
|
return "Save 25%";
|
|
43
41
|
}
|
|
44
42
|
|
|
@@ -72,19 +70,19 @@ class PricingCardPricing extends LitElement {
|
|
|
72
70
|
|
|
73
71
|
<div class="pricing-info">
|
|
74
72
|
${originalPrice
|
|
75
|
-
? html`<p class="original-price">
|
|
73
|
+
? html`<bd-p kind="small" class="original-price">
|
|
76
74
|
${this.formatCurrency(originalPrice)}
|
|
77
|
-
</p>`
|
|
75
|
+
</bd-p>`
|
|
78
76
|
: null}
|
|
79
|
-
<p class="discount">${discount}</p>
|
|
77
|
+
<bd-p kind="small" class="discount">${discount}</bd-p>
|
|
80
78
|
</div>
|
|
81
79
|
|
|
82
|
-
<
|
|
80
|
+
<bd-h as="h3" class="price">${this.formatCurrency(price)}</bd-h>
|
|
83
81
|
|
|
84
|
-
<p class="terms">
|
|
82
|
+
<bd-p kind="small" class="terms">
|
|
85
83
|
First year price. Plus applicable sales tax. See
|
|
86
84
|
<a href="#">terms of use</a> below.
|
|
87
|
-
</p>
|
|
85
|
+
</bd-p>
|
|
88
86
|
</div>
|
|
89
87
|
`;
|
|
90
88
|
}
|
|
@@ -96,6 +94,7 @@ class PricingCardPricing extends LitElement {
|
|
|
96
94
|
}
|
|
97
95
|
}
|
|
98
96
|
}
|
|
97
|
+
|
|
99
98
|
PricingCardPricing.styles = [tokens, newPricingPricingCSS];
|
|
100
99
|
|
|
101
|
-
customElements.define("pricing-card-pricing", PricingCardPricing);
|
|
100
|
+
customElements.define("pricing-card-pricing", PricingCardPricing);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { LitElement, html } from "lit";
|
|
2
2
|
import { tokens } from "../../tokens/tokens.js";
|
|
3
|
+
import "../heading/heading.js";
|
|
4
|
+
import "../paragraph/paragraph.js";
|
|
3
5
|
import pricingCardsCSS from "../pricing-cards/pricing-card.css.js";
|
|
4
|
-
|
|
5
6
|
import "/src/components/Button/Button.js";
|
|
6
7
|
|
|
7
8
|
class PricingContainer extends LitElement {
|
|
@@ -160,7 +161,7 @@ class PricingCard extends LitElement {
|
|
|
160
161
|
? html`<div class="highlight-banner">Best value</div>`
|
|
161
162
|
: ""}
|
|
162
163
|
<div class="card-header">
|
|
163
|
-
<
|
|
164
|
+
<bd-h as="h4" class="card-title">${this.title}</bd-h>
|
|
164
165
|
<span class="badge">
|
|
165
166
|
<img
|
|
166
167
|
src="/assets/badge-icon-individual.png"
|
|
@@ -169,21 +170,21 @@ class PricingCard extends LitElement {
|
|
|
169
170
|
/>
|
|
170
171
|
Individual
|
|
171
172
|
</span>
|
|
172
|
-
<p class="badge-subtitle">1 account & 5 devices</p>
|
|
173
|
+
<bd-p kind="small" class="badge-subtitle">1 account & 5 devices</bd-p>
|
|
173
174
|
<hr class="hr-line" />
|
|
174
175
|
</div>
|
|
175
176
|
<div class="pricing">
|
|
176
177
|
<div class="pricing-info">
|
|
177
|
-
<p class="original-price">
|
|
178
|
+
<bd-p kind="small" class="original-price">
|
|
178
179
|
${this.formatCurrency(this.originalPrice)}
|
|
179
|
-
</p>
|
|
180
|
-
<p class="discount">${this.discount}</p>
|
|
180
|
+
</bd-p>
|
|
181
|
+
<bd-p kind="small" class="discount">${this.discount}</bd-p>
|
|
181
182
|
</div>
|
|
182
|
-
<
|
|
183
|
-
<p class="terms">
|
|
183
|
+
<bd-h as="h3" class="price">${this.formatCurrency(this.price)}</bd-h>
|
|
184
|
+
<bd-p kind="small" class="terms">
|
|
184
185
|
First year price. Plus applicable sales tax. See
|
|
185
186
|
<a href="#">terms of use</a> below.
|
|
186
|
-
</p>
|
|
187
|
+
</bd-p>
|
|
187
188
|
</div>
|
|
188
189
|
<div class="actions">
|
|
189
190
|
<bd-button label="Buy Now" kind="danger" size="md" fullWidth strong>
|
|
@@ -258,7 +259,7 @@ class PricingCardFamily extends LitElement {
|
|
|
258
259
|
? html`<div class="highlight-banner">Best value</div>`
|
|
259
260
|
: ""}
|
|
260
261
|
<div class="card-header">
|
|
261
|
-
<
|
|
262
|
+
<bd-h as="h4" class="card-title">${this.title}</bd-h>
|
|
262
263
|
<span class="badge">
|
|
263
264
|
<img
|
|
264
265
|
src="/assets/bd-icon-family-white.png"
|
|
@@ -267,21 +268,21 @@ class PricingCardFamily extends LitElement {
|
|
|
267
268
|
/>
|
|
268
269
|
<span class="family-text"> Family</span></span
|
|
269
270
|
>
|
|
270
|
-
<p class="badge-subtitle">5 accounts & 25 devices</p>
|
|
271
|
+
<bd-p kind="small" class="badge-subtitle">5 accounts & 25 devices</bd-p>
|
|
271
272
|
<hr class="hr-line" />
|
|
272
273
|
</div>
|
|
273
274
|
<div class="pricing">
|
|
274
275
|
<div class="pricing-info">
|
|
275
|
-
<p class="original-price">
|
|
276
|
+
<bd-p kind="small" class="original-price">
|
|
276
277
|
${this.formatCurrency(this.originalPrice)}
|
|
277
|
-
</p>
|
|
278
|
-
<p class="discount">${this.discount}</p>
|
|
278
|
+
</bd-p>
|
|
279
|
+
<bd-p kind="small" class="discount">${this.discount}</bd-p>
|
|
279
280
|
</div>
|
|
280
|
-
<
|
|
281
|
-
<p class="terms">
|
|
281
|
+
<bd-h as="h3" class="price">${this.formatCurrency(this.price)}</bd-h>
|
|
282
|
+
<bd-p kind="small" class="terms">
|
|
282
283
|
First year price. Plus applicable sales tax. See
|
|
283
284
|
<a href="#">terms of use</a> below.
|
|
284
|
-
</p>
|
|
285
|
+
</bd-p>
|
|
285
286
|
</div>
|
|
286
287
|
<div class="actions">
|
|
287
288
|
<bd-button
|
|
@@ -398,12 +399,12 @@ class PricingCardFeatures extends LitElement {
|
|
|
398
399
|
{
|
|
399
400
|
name: "Cryptomining Protection",
|
|
400
401
|
description:
|
|
401
|
-
"Bad actors can make money using your hardware and power connection without your consent. Protect yourself against
|
|
402
|
+
"Bad actors can make money using your hardware and power connection without your consent. Protect yourself against \"leech\" software!"
|
|
402
403
|
},
|
|
403
404
|
{
|
|
404
405
|
name: "Innovative Email Protection",
|
|
405
406
|
description:
|
|
406
|
-
"Scans all incoming email and marks them as
|
|
407
|
+
"Scans all incoming email and marks them as \"safe\" or \"unsafe\""
|
|
407
408
|
},
|
|
408
409
|
{
|
|
409
410
|
name: "Scam Copilot",
|
|
@@ -417,7 +418,7 @@ class PricingCardFeatures extends LitElement {
|
|
|
417
418
|
const features = this.features || [];
|
|
418
419
|
return html`
|
|
419
420
|
<div class="features">
|
|
420
|
-
<h4>Device Security</
|
|
421
|
+
<bd-h as="h4">Device Security</bd-h>
|
|
421
422
|
<ul class="additional-info">
|
|
422
423
|
${features.map(
|
|
423
424
|
(feature) => html` <li class="feature-item">
|
|
@@ -426,9 +427,9 @@ class PricingCardFeatures extends LitElement {
|
|
|
426
427
|
alt="icon"
|
|
427
428
|
class="badge-icon"
|
|
428
429
|
/>
|
|
429
|
-
|
|
430
|
+
<bd-p kind="regular">${feature.name}</bd-p>
|
|
430
431
|
${feature.description
|
|
431
|
-
? html`<div class="tooltip">${feature.description}</div>`
|
|
432
|
+
? html`<div class="tooltip"><bd-p kind="small">${feature.description}</bd-p></div>`
|
|
432
433
|
: ""}
|
|
433
434
|
</li>`
|
|
434
435
|
)}
|
|
@@ -475,7 +476,7 @@ class PricingCardPrivacy extends LitElement {
|
|
|
475
476
|
const privacy = this.privacy || [];
|
|
476
477
|
return html`
|
|
477
478
|
<div class="features">
|
|
478
|
-
<h4>Privacy</
|
|
479
|
+
<bd-h as="h4">Privacy</bd-h>
|
|
479
480
|
<ul class="additional-info">
|
|
480
481
|
${privacy.map(
|
|
481
482
|
(priv) => html` <li class="feature-item">
|
|
@@ -484,7 +485,7 @@ class PricingCardPrivacy extends LitElement {
|
|
|
484
485
|
alt="icon"
|
|
485
486
|
class="badge-icon"
|
|
486
487
|
/>
|
|
487
|
-
|
|
488
|
+
<bd-p kind="regular">${priv.name.replace(" 1x", "")}</bd-p>
|
|
488
489
|
${priv.badge
|
|
489
490
|
? html`<span class="badge-feature"
|
|
490
491
|
>${priv.badge}
|
|
@@ -495,7 +496,7 @@ class PricingCardPrivacy extends LitElement {
|
|
|
495
496
|
/></span>`
|
|
496
497
|
: ""}
|
|
497
498
|
${priv.description
|
|
498
|
-
? html`<div class="tooltip">${priv.description}</div>`
|
|
499
|
+
? html`<div class="tooltip"><bd-p kind="small">${priv.description}</bd-p></div>`
|
|
499
500
|
: ""}
|
|
500
501
|
</li>`
|
|
501
502
|
)}
|
|
@@ -526,7 +527,7 @@ class PricingCardIdentify extends LitElement {
|
|
|
526
527
|
const identity = this.identity || [];
|
|
527
528
|
return html`
|
|
528
529
|
<div class="features">
|
|
529
|
-
<h4>Identity Protection</
|
|
530
|
+
<bd-h as="h4">Identity Protection</bd-h>
|
|
530
531
|
<ul class="additional-info">
|
|
531
532
|
${identity.map(
|
|
532
533
|
(ident) => html` <li class="feature-item">
|
|
@@ -535,7 +536,7 @@ class PricingCardIdentify extends LitElement {
|
|
|
535
536
|
alt="icon"
|
|
536
537
|
class="badge-icon"
|
|
537
538
|
/>
|
|
538
|
-
|
|
539
|
+
<bd-p kind="regular">${ident.name}</bd-p>
|
|
539
540
|
${ident.badge
|
|
540
541
|
? html`<span class="badge-feature"
|
|
541
542
|
>${ident.badge}
|
|
@@ -546,7 +547,7 @@ class PricingCardIdentify extends LitElement {
|
|
|
546
547
|
/></span>`
|
|
547
548
|
: ""}
|
|
548
549
|
${ident.description
|
|
549
|
-
? html`<div class="tooltip">${ident.description}</div>`
|
|
550
|
+
? html`<div class="tooltip"><bd-p kind="small">${ident.description}</bd-p></div>`
|
|
550
551
|
: ""}
|
|
551
552
|
</li>`
|
|
552
553
|
)}
|
|
@@ -597,7 +598,7 @@ class PricingCardIdentityExtend extends LitElement {
|
|
|
597
598
|
const identity = this.identity || [];
|
|
598
599
|
return html`
|
|
599
600
|
<div class="features">
|
|
600
|
-
<h4>Identity Protection</
|
|
601
|
+
<bd-h as="h4">Identity Protection</bd-h>
|
|
601
602
|
<ul class="additional-info">
|
|
602
603
|
${identity.map(
|
|
603
604
|
(ident) => html` <li class="feature-item">
|
|
@@ -606,7 +607,7 @@ class PricingCardIdentityExtend extends LitElement {
|
|
|
606
607
|
alt="icon"
|
|
607
608
|
class="badge-icon"
|
|
608
609
|
/>
|
|
609
|
-
|
|
610
|
+
<bd-p kind="regular">${ident.name}</bd-p>
|
|
610
611
|
${ident.badge
|
|
611
612
|
? html`<span class="badge-feature"
|
|
612
613
|
>${ident.badge}
|
|
@@ -617,7 +618,7 @@ class PricingCardIdentityExtend extends LitElement {
|
|
|
617
618
|
/></span>`
|
|
618
619
|
: ""}
|
|
619
620
|
${ident.description
|
|
620
|
-
? html`<div class="tooltip">${ident.description}</div>`
|
|
621
|
+
? html`<div class="tooltip"><bd-p kind="small">${ident.description}</bd-p></div>`
|
|
621
622
|
: ""}
|
|
622
623
|
</li>`
|
|
623
624
|
)}
|
|
@@ -662,7 +663,7 @@ class PricingCardParentalControl extends LitElement {
|
|
|
662
663
|
{
|
|
663
664
|
name: "Activity reports",
|
|
664
665
|
description:
|
|
665
|
-
"Unified reporting and easier management across all devices, providing you with a better overview of your child
|
|
666
|
+
"Unified reporting and easier management across all devices, providing you with a better overview of your child's online activities."
|
|
666
667
|
}
|
|
667
668
|
];
|
|
668
669
|
}
|
|
@@ -671,7 +672,7 @@ class PricingCardParentalControl extends LitElement {
|
|
|
671
672
|
const parentalControl = this.parentalControl || [];
|
|
672
673
|
return html`
|
|
673
674
|
<div class="features">
|
|
674
|
-
<h4>Parental Control</
|
|
675
|
+
<bd-h as="h4">Parental Control</bd-h>
|
|
675
676
|
<ul class="additional-info">
|
|
676
677
|
${parentalControl.map(
|
|
677
678
|
(parental) => html` <li class="feature-item">
|
|
@@ -680,7 +681,7 @@ class PricingCardParentalControl extends LitElement {
|
|
|
680
681
|
alt="icon"
|
|
681
682
|
class="badge-icon"
|
|
682
683
|
/>
|
|
683
|
-
|
|
684
|
+
<bd-p kind="regular">${parental.name}</bd-p>
|
|
684
685
|
${parental.badge
|
|
685
686
|
? html`<span class="badge-feature"
|
|
686
687
|
>${parental.badge}
|
|
@@ -691,7 +692,7 @@ class PricingCardParentalControl extends LitElement {
|
|
|
691
692
|
/></span>`
|
|
692
693
|
: ""}
|
|
693
694
|
${parental.description
|
|
694
|
-
? html`<div class="tooltip">${parental.description}</div>`
|
|
695
|
+
? html`<div class="tooltip"><bd-p kind="small">${parental.description}</bd-p></div>`
|
|
695
696
|
: ""}
|
|
696
697
|
</li>`
|
|
697
698
|
)}
|
|
@@ -727,4 +728,4 @@ customElements.define("pricing-card-features", PricingCardFeatures);
|
|
|
727
728
|
customElements.define("pricing-card", PricingCard);
|
|
728
729
|
customElements.define("pricing-card-family", PricingCardFamily);
|
|
729
730
|
customElements.define("bd-pricing-container", PricingContainer);
|
|
730
|
-
customElements.define("pricing-switch", PricingSwitch);
|
|
731
|
+
customElements.define("pricing-switch", PricingSwitch);
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { LitElement, html } from "lit";
|
|
2
2
|
import { tokens } from "../../tokens/tokens.js";
|
|
3
|
+
import "../heading/heading.js";
|
|
4
|
+
import "../highlight/highlight.js";
|
|
5
|
+
import "../list/list-item/list-item.js";
|
|
6
|
+
import "../list/list.js";
|
|
7
|
+
import "../paragraph/paragraph.js";
|
|
3
8
|
import tabsCSS from "../tabs/tabs.css.js";
|
|
4
9
|
|
|
5
10
|
class TabsComponent extends LitElement {
|
|
@@ -43,59 +48,51 @@ class TabsComponent extends LitElement {
|
|
|
43
48
|
|
|
44
49
|
const content = [
|
|
45
50
|
{
|
|
46
|
-
heading : "Take back your family
|
|
47
|
-
description: () => html
|
|
48
|
-
<
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
51
|
+
heading : "Take back your family's digital privacy",
|
|
52
|
+
description: () => html`
|
|
53
|
+
<bd-list type="unordered" spacing="md" variant="default" orientation="vertical">
|
|
54
|
+
<bd-li kind="bullet" size="md">
|
|
55
|
+
<bd-p kind="small">Enjoy complete data privacy with
|
|
56
|
+
<strong>Bitdefender Premium VPN</strong>.</bd-p>
|
|
57
|
+
</bd-li>
|
|
58
|
+
<bd-li kind="bullet" size="md">
|
|
59
|
+
<bd-p kind="small">Escape intrusive ads and trackers with our advanced
|
|
60
|
+
<strong>Ad-Blocker</strong> and
|
|
61
|
+
<strong>Anti-Tracker</strong> features.</bd-p>
|
|
62
|
+
</bd-li>
|
|
63
|
+
<bd-li kind="bullet" size="md">
|
|
64
|
+
<bd-p kind="small">Shield yourself with robust
|
|
65
|
+
<strong>Webcam and Microphone Protection</strong>.</bd-p>
|
|
66
|
+
</bd-li>
|
|
67
|
+
</bd-list>`,
|
|
62
68
|
href: "#1"
|
|
63
69
|
},
|
|
64
70
|
{
|
|
65
71
|
heading : "Safe data. Safe you.",
|
|
66
|
-
description: () => html
|
|
67
|
-
|
|
68
|
-
finances
|
|
69
|
-
|
|
70
|
-
<p>
|
|
71
|
-
|
|
72
|
-
Reduce the risk of online ID theft by scanning your digital
|
|
73
|
-
footprint.
|
|
74
|
-
</p>`,
|
|
72
|
+
description: () => html`
|
|
73
|
+
<bd-p kind="small">Get instant alerts for potential threats to your personal data and
|
|
74
|
+
finances.</bd-p>
|
|
75
|
+
<bd-p kind="small">Receive clear and concise advice on handling data breaches.</bd-p>
|
|
76
|
+
<bd-p kind="small">Reduce the risk of online ID theft by scanning your digital
|
|
77
|
+
footprint.</bd-p>`,
|
|
75
78
|
href: "#2"
|
|
76
79
|
},
|
|
77
80
|
{
|
|
78
81
|
heading : "We secure what you hold dear",
|
|
79
|
-
description: () => html
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
attempts.
|
|
85
|
-
</p>
|
|
86
|
-
<p>Lightweight performance ensures smooth device operation.</p>`,
|
|
82
|
+
description: () => html`
|
|
83
|
+
<bd-p kind="small">Enjoy seamless security across all devices.</bd-p>
|
|
84
|
+
<bd-p kind="small">Protection from corrupt websites, risky downloads, and phishing
|
|
85
|
+
attempts.</bd-p>
|
|
86
|
+
<bd-p kind="small">Lightweight performance ensures smooth device operation.</bd-p>`,
|
|
87
87
|
href: "#3"
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
90
|
heading : "Financial Insurance",
|
|
91
|
-
description: () => html
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
attempts.
|
|
97
|
-
</p>
|
|
98
|
-
<p>Lightweight performance ensures smooth device operation.</p>`,
|
|
91
|
+
description: () => html`
|
|
92
|
+
<bd-p kind="small">Enjoy seamless security across all devices.</bd-p>
|
|
93
|
+
<bd-p kind="small">Protection from corrupt websites, risky downloads, and phishing
|
|
94
|
+
attempts.</bd-p>
|
|
95
|
+
<bd-p kind="small">Lightweight performance ensures smooth device operation.</bd-p>`,
|
|
99
96
|
href: "#4"
|
|
100
97
|
}
|
|
101
98
|
];
|
|
@@ -108,7 +105,7 @@ class TabsComponent extends LitElement {
|
|
|
108
105
|
Customized online protection for each family member - Smart, Private &
|
|
109
106
|
Safe
|
|
110
107
|
</bd-highlight>
|
|
111
|
-
<p class="bd-tabs-subtitle">Your family is unique and so should be your online security. Our family protection plan adapts to each member
|
|
108
|
+
<bd-p kind="regular" class="bd-tabs-subtitle">Your family is unique and so should be your online security. Our family protection plan adapts to each member's needs, offering the ideal mix of privacy, freedom, and safety.</bd-p>
|
|
112
109
|
<div class="bd-tabs-container">
|
|
113
110
|
${tabs.map(
|
|
114
111
|
(tab, index) => html`
|
|
@@ -123,7 +120,7 @@ class TabsComponent extends LitElement {
|
|
|
123
120
|
id="tab-${index}"
|
|
124
121
|
>
|
|
125
122
|
<img src="${tab.icon}" alt="${tab.title} Icon" />
|
|
126
|
-
<p><strong>${tab.title}</strong></p>
|
|
123
|
+
<bd-p kind="small"><strong>${tab.title}</strong></bd-p>
|
|
127
124
|
</button>
|
|
128
125
|
`
|
|
129
126
|
)}
|
|
@@ -152,9 +149,9 @@ class TabsComponent extends LitElement {
|
|
|
152
149
|
</picture>
|
|
153
150
|
</div>
|
|
154
151
|
<div class="bd-right">
|
|
155
|
-
<h3 id="tab-content-heading-${this.selectedTab}">
|
|
152
|
+
<bd-h as="h3" id="tab-content-heading-${this.selectedTab}">
|
|
156
153
|
${content[this.selectedTab].heading}
|
|
157
|
-
</
|
|
154
|
+
</bd-h>
|
|
158
155
|
<div
|
|
159
156
|
id="tab-content-${this.selectedTab}"
|
|
160
157
|
aria-labelledby="tab-content-heading-${this.selectedTab}"
|
|
@@ -167,7 +164,7 @@ class TabsComponent extends LitElement {
|
|
|
167
164
|
aria-label="Find out more about ${content[this.selectedTab]
|
|
168
165
|
.heading}"
|
|
169
166
|
>
|
|
170
|
-
Find out more
|
|
167
|
+
<bd-p kind="small">Find out more</bd-p>
|
|
171
168
|
<span class="bd-arrow">
|
|
172
169
|
<svg
|
|
173
170
|
width="14"
|
|
@@ -193,4 +190,4 @@ class TabsComponent extends LitElement {
|
|
|
193
190
|
|
|
194
191
|
TabsComponent.styles = [tokens, tabsCSS];
|
|
195
192
|
|
|
196
|
-
customElements.define("bd-tabs-component", TabsComponent);
|
|
193
|
+
customElements.define("bd-tabs-component", TabsComponent);
|