@repobit/dex-system-design 0.2.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 +11 -0
- package/README.md +15 -0
- package/package.json +57 -0
- package/src/assets/fonts/IBMPlexMono-Bold.woff2 +0 -0
- package/src/assets/fonts/IBMPlexMono-BoldItalic.woff2 +0 -0
- package/src/assets/fonts/IBMPlexMono-Italic.woff2 +0 -0
- package/src/assets/fonts/IBMPlexMono-Light.woff2 +0 -0
- package/src/assets/fonts/IBMPlexMono-LightItalic.woff2 +0 -0
- package/src/assets/fonts/IBMPlexMono-Medium.woff2 +0 -0
- package/src/assets/fonts/IBMPlexMono-MediumItalic.woff2 +0 -0
- package/src/assets/fonts/IBMPlexMono-Regular.woff2 +0 -0
- package/src/assets/fonts/IBMPlexMono-SemiBold.woff2 +0 -0
- package/src/assets/fonts/IBMPlexMono-SemiBoldItalic.woff2 +0 -0
- package/src/assets/fonts/IBMPlexSans-Bold.woff2 +0 -0
- package/src/assets/fonts/IBMPlexSans-BoldItalic.woff2 +0 -0
- package/src/assets/fonts/IBMPlexSans-Italic.woff2 +0 -0
- package/src/assets/fonts/IBMPlexSans-Light.woff2 +0 -0
- package/src/assets/fonts/IBMPlexSans-LightItalic.woff2 +0 -0
- package/src/assets/fonts/IBMPlexSans-Medium.woff2 +0 -0
- package/src/assets/fonts/IBMPlexSans-MediumItalic.woff2 +0 -0
- package/src/assets/fonts/IBMPlexSans-Regular.woff2 +0 -0
- package/src/assets/fonts/IBMPlexSans-SemiBold.woff2 +0 -0
- package/src/assets/fonts/IBMPlexSans-SemiBoldItalic.woff2 +0 -0
- package/src/assets/fonts/bd-ibm-plex-mono.zip +0 -0
- package/src/assets/fonts/bd-ibm-plex-sans.zip +0 -0
- package/src/assets/icons/badge-icon-individual.png +0 -0
- package/src/assets/icons/bd-icon-family-white.png +0 -0
- package/src/assets/icons/bd-icon-family.png +0 -0
- package/src/assets/icons/bd-icon-user.png +0 -0
- package/src/assets/icons/left_clicked.png +0 -0
- package/src/assets/icons/left_disabled.png +0 -0
- package/src/assets/icons/left_hover.png +0 -0
- package/src/assets/icons/left_normal.png +0 -0
- package/src/assets/icons/light-carousel-img1.png +0 -0
- package/src/assets/icons/light-carousel-img2.png +0 -0
- package/src/assets/icons/light-carousel-img3.png +0 -0
- package/src/assets/icons/more_hover.png +0 -0
- package/src/assets/icons/more_normal.png +0 -0
- package/src/assets/icons/more_pressed.png +0 -0
- package/src/assets/icons/pic1.png +0 -0
- package/src/assets/icons/pic2.png +0 -0
- package/src/assets/icons/pic3.png +0 -0
- package/src/assets/icons/right_clicked.png +0 -0
- package/src/assets/icons/right_disabled.png +0 -0
- package/src/assets/icons/right_hover.png +0 -0
- package/src/assets/icons/right_normal.png +0 -0
- package/src/assets/icons/tabs-img1.png +0 -0
- package/src/assets/icons/tabs-img2.png +0 -0
- package/src/assets/icons/tabs-img3.png +0 -0
- package/src/assets/icons/verified_arrow.png +0 -0
- package/src/components/Button/Button.js +120 -0
- package/src/components/Button/button.css.js +137 -0
- package/src/components/Button/button.stories.js +56 -0
- package/src/components/Button/icons.css +5 -0
- package/src/components/Button/icons.js +24 -0
- package/src/components/Button/index.js +0 -0
- package/src/components/FAQ/faq.css.js +107 -0
- package/src/components/FAQ/faq.js +176 -0
- package/src/components/FAQ/faq.stories.js +45 -0
- package/src/components/Input/Input.js +27 -0
- package/src/components/Input/index.js +0 -0
- package/src/components/Input/input.css.js +68 -0
- package/src/components/carousel/carousel.css.js +304 -0
- package/src/components/carousel/carousel.js +226 -0
- package/src/components/carousel/carousel.stories.js +73 -0
- package/src/components/light-carousel/light-carousel.css.js +149 -0
- package/src/components/light-carousel/light-carousel.js +108 -0
- package/src/components/light-carousel/light-carousel.stories.js +43 -0
- package/src/components/paragraph/paragraph.css.js +16 -0
- package/src/components/paragraph/paragraph.js +59 -0
- package/src/components/pricing-cards/pricing-card.css.js +409 -0
- package/src/components/pricing-cards/pricing-card.js +764 -0
- package/src/components/pricing-cards/pricing-card.stories.js +12 -0
- package/src/components/tabs/tabs.css.js +239 -0
- package/src/components/tabs/tabs.js +183 -0
- package/src/components/tabs/tabs.stories.js +18 -0
- package/src/components/termsOfUse/terms.css.js +38 -0
- package/src/components/termsOfUse/terms.js +226 -0
- package/src/components/termsOfUse/terms.stories.js +14 -0
- package/src/index.js +0 -0
- package/src/stories/Button.js +20 -0
- package/src/stories/Button.stories.js +46 -0
- package/src/stories/Configure.mdx +364 -0
- package/src/stories/Header.js +45 -0
- package/src/stories/Header.stories.js +24 -0
- package/src/stories/Page.js +62 -0
- package/src/stories/Page.stories.js +20 -0
- package/src/stories/assets/accessibility.png +0 -0
- package/src/stories/assets/accessibility.svg +1 -0
- package/src/stories/assets/addon-library.png +0 -0
- package/src/stories/assets/assets.png +0 -0
- package/src/stories/assets/avif-test-image.avif +0 -0
- package/src/stories/assets/context.png +0 -0
- package/src/stories/assets/discord.svg +1 -0
- package/src/stories/assets/docs.png +0 -0
- package/src/stories/assets/figma-plugin.png +0 -0
- package/src/stories/assets/github.svg +1 -0
- package/src/stories/assets/share.png +0 -0
- package/src/stories/assets/styling.png +0 -0
- package/src/stories/assets/testing.png +0 -0
- package/src/stories/assets/theming.png +0 -0
- package/src/stories/assets/tutorials.svg +1 -0
- package/src/stories/assets/youtube.svg +1 -0
- package/src/stories/button.css +30 -0
- package/src/stories/header.css +32 -0
- package/src/stories/page.css +68 -0
- package/src/tokens/colors.js +121 -0
- package/src/tokens/layout.css +46 -0
- package/src/tokens/tokens.css +297 -0
- package/src/tokens/typography.css.js +207 -0
- package/src/tokens/typography.js +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
import './pricing-card.js';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Components/Pricing Cards',
|
|
6
|
+
component: 'bd-pricing-container',
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
const Template = () => html`<bd-pricing-container></bd-pricing-container>`;
|
|
10
|
+
|
|
11
|
+
export const Default = Template.bind({});
|
|
12
|
+
Default.storyName = 'Pricing Cards Component';
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import { css } from "../../../node_modules/lit-element/lit-element";
|
|
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
|
+
font-size: 100%;
|
|
11
|
+
display: block;
|
|
12
|
+
font-family: var(--font-family-sans);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.bd-tab-button p {
|
|
16
|
+
margin-top: 1em;
|
|
17
|
+
margin-bottom: 1em;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.bd-tabs-component .bd-left img {
|
|
21
|
+
max-width: 90%;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.bd-card-container {
|
|
25
|
+
display: flex;
|
|
26
|
+
justify-content: space-between;
|
|
27
|
+
padding: 36px 0px;
|
|
28
|
+
border-radius: 5px;
|
|
29
|
+
margin-top: 10px;
|
|
30
|
+
margin: auto;
|
|
31
|
+
width: 50%;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.bd-card-container .bd-left {
|
|
35
|
+
flex: 1;
|
|
36
|
+
padding-right: 20px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.bd-card-container .bd-right {
|
|
40
|
+
flex: 1;
|
|
41
|
+
justify-content: center;
|
|
42
|
+
align-items: center;
|
|
43
|
+
padding: 0px var(--size-24);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.bd-tabs-container {
|
|
47
|
+
display: flex;
|
|
48
|
+
justify-content: center;
|
|
49
|
+
margin-bottom: 40px;
|
|
50
|
+
flex-wrap: wrap;
|
|
51
|
+
border-bottom: 1px solid #e4f2ff;
|
|
52
|
+
margin: 0 auto;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.bd-tabs-container button {
|
|
56
|
+
background-color: white;
|
|
57
|
+
color: #006eff;
|
|
58
|
+
border: 0;
|
|
59
|
+
padding: 9px;
|
|
60
|
+
display: flex;
|
|
61
|
+
gap: 10px;
|
|
62
|
+
align-items: center;
|
|
63
|
+
position: relative;
|
|
64
|
+
cursor: pointer;
|
|
65
|
+
font-size: 1.125em;
|
|
66
|
+
max-height: 55px;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.bd-tabs-container button::after {
|
|
70
|
+
background: #006eff;
|
|
71
|
+
content: "";
|
|
72
|
+
height: 4px;
|
|
73
|
+
position: absolute;
|
|
74
|
+
left: 0;
|
|
75
|
+
bottom: 0;
|
|
76
|
+
width: 0;
|
|
77
|
+
transition: width 1s ease;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.bd-tabs-container button.bd-selected::after {
|
|
81
|
+
width: 100%;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.bd-tabs-container button.bd-selected {
|
|
85
|
+
color: black;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.bd-tab-button {
|
|
89
|
+
display: inline-flex;
|
|
90
|
+
align-items: center;
|
|
91
|
+
justify-content: center;
|
|
92
|
+
gap: 8px;
|
|
93
|
+
background: none;
|
|
94
|
+
border: none;
|
|
95
|
+
padding: 10px;
|
|
96
|
+
cursor: pointer;
|
|
97
|
+
font-weight: bold;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.bd-tab-button img {
|
|
101
|
+
margin-right: 8px;
|
|
102
|
+
height: 30px;
|
|
103
|
+
width: 30px;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.bd-tabs-component h2 {
|
|
107
|
+
margin-bottom: 75px;
|
|
108
|
+
max-width: 630px;
|
|
109
|
+
text-align: center;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.bd-tabs-component {
|
|
113
|
+
display: flex;
|
|
114
|
+
flex-direction: column;
|
|
115
|
+
align-items: center;
|
|
116
|
+
margin-top: 48px;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.bd-ul-privacy {
|
|
120
|
+
list-style: none;
|
|
121
|
+
padding-inline-start: 0px;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.bd-find-out-more {
|
|
125
|
+
text-decoration: none;
|
|
126
|
+
background-color: white;
|
|
127
|
+
color: #006eff;
|
|
128
|
+
border: 0;
|
|
129
|
+
display: flex;
|
|
130
|
+
gap: 10px;
|
|
131
|
+
align-items: start;
|
|
132
|
+
position: relative;
|
|
133
|
+
cursor: pointer;
|
|
134
|
+
font-family: var(--font-family-sans);
|
|
135
|
+
font-weight: var(--font-weight-sans-semibold);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.bd-find-out-more .bd-arrow svg {
|
|
139
|
+
width: 12px;
|
|
140
|
+
height: 12px;
|
|
141
|
+
position: relative;
|
|
142
|
+
top: 1.5px;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.bd-right h3 {
|
|
146
|
+
font-size: 1.5em;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.bd-section-title {
|
|
150
|
+
font-family: var(--font-family-sans);
|
|
151
|
+
font-weight: var(--font-weight-sans-semibold);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/* ✅ Responsive Design */
|
|
155
|
+
@media (max-width: 1200px) {
|
|
156
|
+
.bd-tabs-component.bd-we-container {
|
|
157
|
+
max-width: 100%;
|
|
158
|
+
padding: 0 20px;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
@media (max-width: 992px) {
|
|
163
|
+
.bd-tabs-component .bd-card-container {
|
|
164
|
+
flex-direction: column;
|
|
165
|
+
width: 90%;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.bd-tabs-component .bd-tabs-container {
|
|
169
|
+
flex-wrap: wrap;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
.bd-tabs-component .bd-tabs-container button picture img {
|
|
173
|
+
width: 24px;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.bd-tabs-component .bd-card-container {
|
|
177
|
+
align-items: center;
|
|
178
|
+
text-align: center;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.bd-tabs-component .bd-left {
|
|
182
|
+
width: 100%;
|
|
183
|
+
padding: 10px;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.bd-tabs-component .bd-left img {
|
|
187
|
+
max-width: 80%;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.bd-tabs-component .bd-right {
|
|
191
|
+
width: 100%;
|
|
192
|
+
padding: 10px;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.bd-tabs-component.bd-we-container {
|
|
196
|
+
max-width: 100%;
|
|
197
|
+
padding-left: 30px;
|
|
198
|
+
padding-right: 30px;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
@media (max-width: 768px) {
|
|
203
|
+
.bd-card-container {
|
|
204
|
+
flex-direction: column;
|
|
205
|
+
width: 100%;
|
|
206
|
+
padding: 20px;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.bd-tabs-component {
|
|
210
|
+
margin-top: 24px;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
.bd-tabs-container {
|
|
214
|
+
flex-direction: column;
|
|
215
|
+
align-items: center;
|
|
216
|
+
text-align: center;
|
|
217
|
+
width: 100%;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
.bd-tabs-container button {
|
|
221
|
+
font-size: 1em;
|
|
222
|
+
padding: 6px;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.bd-tabs-component .bd-left img {
|
|
226
|
+
max-width: 70%;
|
|
227
|
+
height: auto;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.bd-tabs-component .bd-right {
|
|
231
|
+
text-align: center;
|
|
232
|
+
padding: 10px;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.bd-find-out-more {
|
|
236
|
+
justify-content: center;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
`;
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { LitElement, html, css } from "lit";
|
|
2
|
+
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
3
|
+
|
|
4
|
+
import tabsCSS from "../tabs/tabs.css.js";
|
|
5
|
+
|
|
6
|
+
class TabsComponent extends LitElement {
|
|
7
|
+
static properties = {
|
|
8
|
+
selectedTab: { type: Number },
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
constructor() {
|
|
12
|
+
super();
|
|
13
|
+
this.selectedTab = 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
selectTab(index) {
|
|
17
|
+
console.log("Selected Tab:", index);
|
|
18
|
+
this.selectedTab = index;
|
|
19
|
+
this.requestUpdate();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
render() {
|
|
23
|
+
const tabs = [
|
|
24
|
+
{
|
|
25
|
+
title: "Privacy Protection",
|
|
26
|
+
imageBase: "src/assets/icons/tabs-img1.png",
|
|
27
|
+
icon: "src/assets/icons/pic1.png",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
title: "Identity Protection",
|
|
31
|
+
imageBase: "src/assets/icons/tabs-img2.png",
|
|
32
|
+
icon: "src/assets/icons/pic2.png",
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
title: "Device Protection",
|
|
36
|
+
imageBase: "src/assets/icons/tabs-img3.png",
|
|
37
|
+
icon: "src/assets/icons/pic3.png",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
title: "Financial Insurance",
|
|
41
|
+
imageBase: "src/assets/icons/tabs-img3.png",
|
|
42
|
+
icon: "src/assets/icons/pic3.png",
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
|
|
46
|
+
const content = [
|
|
47
|
+
{
|
|
48
|
+
heading: "Take back your family’s digital privacy",
|
|
49
|
+
description: () => html`<ul class="ul-privacy">
|
|
50
|
+
<li>
|
|
51
|
+
Enjoy complete data privacy with
|
|
52
|
+
<strong>Bitdefender Premium VPN</strong>.
|
|
53
|
+
</li>
|
|
54
|
+
<li>
|
|
55
|
+
Escape intrusive ads and trackers with our advanced
|
|
56
|
+
<strong>Ad-Blocker</strong> and
|
|
57
|
+
<strong>Anti-Tracker</strong> features.
|
|
58
|
+
</li>
|
|
59
|
+
<li>
|
|
60
|
+
Shield yourself with robust
|
|
61
|
+
<strong>Webcam and Microphone Protection</strong>.
|
|
62
|
+
</li>
|
|
63
|
+
</ul>`,
|
|
64
|
+
href: "#1",
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
heading: "Safe data. Safe you.",
|
|
68
|
+
description: () => html`<p>
|
|
69
|
+
Get instant alerts for potential threats to your personal data and
|
|
70
|
+
finances.
|
|
71
|
+
</p>
|
|
72
|
+
<p>Receive clear and concise advice on handling data breaches.</p>
|
|
73
|
+
<p>
|
|
74
|
+
Reduce the risk of online ID theft by scanning your digital
|
|
75
|
+
footprint.
|
|
76
|
+
</p>`,
|
|
77
|
+
href: "#2",
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
heading: "We secure what you hold dear",
|
|
81
|
+
description: () => html`<p>
|
|
82
|
+
Enjoy seamless security across all devices.
|
|
83
|
+
</p>
|
|
84
|
+
<p>
|
|
85
|
+
Protection from corrupt websites, risky downloads, and phishing
|
|
86
|
+
attempts.
|
|
87
|
+
</p>
|
|
88
|
+
<p>Lightweight performance ensures smooth device operation.</p>`,
|
|
89
|
+
href: "#3",
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
heading: "Financial Insurance",
|
|
93
|
+
description: () => html`<p>
|
|
94
|
+
Enjoy seamless security across all devices.
|
|
95
|
+
</p>
|
|
96
|
+
<p>
|
|
97
|
+
Protection from corrupt websites, risky downloads, and phishing
|
|
98
|
+
attempts.
|
|
99
|
+
</p>
|
|
100
|
+
<p>Lightweight performance ensures smooth device operation.</p>`,
|
|
101
|
+
href: "#4",
|
|
102
|
+
},
|
|
103
|
+
];
|
|
104
|
+
|
|
105
|
+
const selectedTabData = tabs[this.selectedTab];
|
|
106
|
+
|
|
107
|
+
return html`
|
|
108
|
+
<div class="bd-tabs-component">
|
|
109
|
+
<h1 class="bd-section-title">
|
|
110
|
+
Live your digital life worry-free from start to finish
|
|
111
|
+
</h1>
|
|
112
|
+
<div class="bd-tabs-container">
|
|
113
|
+
${tabs.map(
|
|
114
|
+
(tab, index) => html`
|
|
115
|
+
<button
|
|
116
|
+
class=${this.selectedTab === index
|
|
117
|
+
? "bd-selected bd-tab-button"
|
|
118
|
+
: "bd-tab-button"}
|
|
119
|
+
@click=${() => this.selectTab(index)}
|
|
120
|
+
>
|
|
121
|
+
<img src="${tab.icon}" />
|
|
122
|
+
<p><strong>${tab.title}</strong></p>
|
|
123
|
+
</button>
|
|
124
|
+
`
|
|
125
|
+
)}
|
|
126
|
+
</div>
|
|
127
|
+
<div class="bd-card-container">
|
|
128
|
+
<div class="bd-left">
|
|
129
|
+
<picture>
|
|
130
|
+
${["webp", "png"].map((format) =>
|
|
131
|
+
["2000", "750"].map(
|
|
132
|
+
(width) => html`
|
|
133
|
+
<source
|
|
134
|
+
type="image/${format}"
|
|
135
|
+
srcset="
|
|
136
|
+
${selectedTabData.imageBase}?width=${width}&format=${format}&optimize=medium
|
|
137
|
+
"
|
|
138
|
+
media="${width === "2000" ? "(min-width: 600px)" : ""}"
|
|
139
|
+
/>
|
|
140
|
+
`
|
|
141
|
+
)
|
|
142
|
+
)}
|
|
143
|
+
<img
|
|
144
|
+
loading="lazy"
|
|
145
|
+
alt="${selectedTabData.title}"
|
|
146
|
+
src="${selectedTabData.imageBase}?width=750&format=png&optimize=medium"
|
|
147
|
+
/>
|
|
148
|
+
</picture>
|
|
149
|
+
</div>
|
|
150
|
+
<div class="bd-right">
|
|
151
|
+
<h3>${content[this.selectedTab].heading}</h3>
|
|
152
|
+
${content[this.selectedTab].description()}
|
|
153
|
+
<a
|
|
154
|
+
href="${content[this.selectedTab].href}"
|
|
155
|
+
class="bd-find-out-more"
|
|
156
|
+
>
|
|
157
|
+
Find out more
|
|
158
|
+
<span class="bd-arrow">
|
|
159
|
+
<svg
|
|
160
|
+
width="14"
|
|
161
|
+
height="14"
|
|
162
|
+
viewBox="0 0 24 24"
|
|
163
|
+
fill="none"
|
|
164
|
+
stroke="currentColor"
|
|
165
|
+
stroke-width="3"
|
|
166
|
+
stroke-linecap="round"
|
|
167
|
+
stroke-linejoin="round"
|
|
168
|
+
>
|
|
169
|
+
<path d="M5 12h14"></path>
|
|
170
|
+
<path d="M12 5l7 7-7 7"></path>
|
|
171
|
+
</svg>
|
|
172
|
+
</span>
|
|
173
|
+
</a>
|
|
174
|
+
</div>
|
|
175
|
+
</div>
|
|
176
|
+
</div>
|
|
177
|
+
`;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
TabsComponent.styles = [tabsCSS];
|
|
182
|
+
|
|
183
|
+
customElements.define("bd-tabs-component", TabsComponent);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
import './tabs.js';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Components/Tabs',
|
|
6
|
+
component: 'bd-tabs-component',
|
|
7
|
+
decorators: [
|
|
8
|
+
(story) => html`<div class="tabs">${story()}</div>`,
|
|
9
|
+
],
|
|
10
|
+
parameters: {
|
|
11
|
+
layout: 'centered',
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
const Template = () => html`<bd-tabs-component></bd-tabs-component>`;
|
|
16
|
+
|
|
17
|
+
export const Default = Template.bind({});
|
|
18
|
+
Default.storyName = 'Tabs Component';
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { css } from "../../../node_modules/lit-element/lit-element";
|
|
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
|
+
-webkit-font-smoothing: antialiased;
|
|
11
|
+
-moz-osx-font-smoothing: grayscale;
|
|
12
|
+
display: block;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.bd-terms-container {
|
|
16
|
+
background: #f2f2f2;
|
|
17
|
+
padding: var(--size-44) 0;
|
|
18
|
+
font-family: Arial, Helvetica, sans-serif;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.bd-terms-wrapper {
|
|
22
|
+
padding: var(--size-14) var(--size-20) var(--size-40) var(--size-20);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
#bd-terms-of-use {
|
|
26
|
+
font-size: var(--size-16);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.bd-terms-text-p {
|
|
30
|
+
font-size: var(--size-12);
|
|
31
|
+
line-height: 1.31;
|
|
32
|
+
letter-spacing: 0.006em;
|
|
33
|
+
padding: 0;
|
|
34
|
+
}
|
|
35
|
+
.bd-terms-text-a {
|
|
36
|
+
color: var(--color-blue-500);
|
|
37
|
+
}
|
|
38
|
+
`;
|