@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,281 @@
1
+ import { html } from 'lit';
2
+ import '../heading/heading.js';
3
+ import '../list/list-item/list-item.js';
4
+ import '../list/list.js'; // Componenta unificată bd-list
5
+ import '../paragraph/paragraph.js';
6
+
7
+ import './accordion-bg.js';
8
+
9
+ export default {
10
+ title : 'Components/Accordion BG',
11
+ component : 'bd-accordion-bg',
12
+ subcomponents: { 'bd-accordion-bg-item': 'bd-accordion-bg-item' },
13
+ argTypes : {
14
+ title: {
15
+ control : 'text',
16
+ description: 'Title of the accordion section'
17
+ },
18
+ noBg: {
19
+ control : 'boolean',
20
+ description: 'Remove background from accordion items'
21
+ }
22
+ },
23
+ parameters: {
24
+ docs: {
25
+ description: {
26
+ component: 'A customizable accordion component with background options and accessibility features.'
27
+ }
28
+ }
29
+ }
30
+ };
31
+
32
+ const Template = ({ title, noBg }) => html`
33
+ <bd-accordion-bg title="${title}" ?no-bg="${noBg}">
34
+ <bd-accordion-bg-item title="How does Bitdefender Internet Security protect me?" ?no-bg="${noBg}">
35
+ <bd-p kind="regular">Bitdefender Internet Security provides the best protection against all e-threats, combining antimalware, e-mail, and web protection with firewall and privacy features.</bd-p>
36
+ <bd-p kind="regular">It uses advanced behavioral detection to close the window of zero-day vulnerability and keeps you safe from ransomware, spyware, and advanced persistent threats.</bd-p>
37
+ </bd-accordion-bg-item>
38
+
39
+ <bd-accordion-bg-item title="Does Bitdefender protect me against ransomware?" ?no-bg="${noBg}">
40
+ <bd-p kind="regular">Yes! Bitdefender Internet Security offers unbeatable ransomware protection by safeguarding your most important files from encryption by ransomware.</bd-p>
41
+ <bd-p kind="regular">Our multi-layer ransomware protection includes:</bd-p>
42
+ <bd-list type="unordered" spacing="md" variant="default" orientation="vertical">
43
+ <bd-li kind="bullet" size="md"><bd-p kind="regular">Behavioral detection of ransomware</bd-p></bd-li>
44
+ <bd-li kind="bullet" size="md"><bd-p kind="regular">Safe Files feature to protect important folders</bd-p></bd-li>
45
+ <bd-li kind="bullet" size="md"><bd-p kind="regular">Real-time protection against encryption attempts</bd-p></bd-li>
46
+ </bd-list>
47
+ </bd-accordion-bg-item>
48
+
49
+ <bd-accordion-bg-item title="Do I get a VPN with Bitdefender Internet Security?" ?no-bg="${noBg}">
50
+ <bd-p kind="regular">Bitdefender Internet Security includes a basic VPN with 200MB per day to protect your privacy when browsing on public Wi-Fi networks.</bd-p>
51
+ <bd-p kind="regular">For unlimited VPN traffic, you can upgrade to Bitdefender Premium VPN or Bitdefender Total Security which includes unlimited VPN.</bd-p>
52
+ </bd-accordion-bg-item>
53
+
54
+ <bd-accordion-bg-item title="Can I use Bitdefender on multiple devices?" ?no-bg="${noBg}">
55
+ <bd-p kind="regular">Yes, depending on your subscription. Bitdefender offers multi-device plans that allow you to protect:</bd-p>
56
+ <bd-list type="unordered" spacing="md" variant="default" orientation="vertical">
57
+ <bd-li kind="bullet" size="md"><bd-p kind="regular">Windows computers</bd-p></bd-li>
58
+ <bd-li kind="bullet" size="md"><bd-p kind="regular">Mac computers</bd-p></bd-li>
59
+ <bd-li kind="bullet" size="md"><bd-p kind="regular">Android devices</bd-p></bd-li>
60
+ <bd-li kind="bullet" size="md"><bd-p kind="regular">iOS devices</bd-p></bd-li>
61
+ </bd-list>
62
+ </bd-accordion-bg-item>
63
+
64
+ <bd-accordion-bg-item title="How often are virus definitions updated?" ?no-bg="${noBg}">
65
+ <bd-p kind="regular">Bitdefender updates its virus definitions multiple times per day to ensure you're protected against the latest threats.</bd-p>
66
+ <bd-p kind="regular">Our cloud-based threat intelligence network processes over 500 million queries daily, providing real-time protection against emerging threats.</bd-p>
67
+ </bd-accordion-bg-item>
68
+ </bd-accordion-bg>
69
+ `;
70
+
71
+ export const Default = Template.bind({});
72
+ Default.args = {
73
+ title: 'Frequently Asked Questions',
74
+ noBg : false
75
+ };
76
+ Default.parameters = {
77
+ docs: {
78
+ description: {
79
+ story: 'Default accordion with background styling.'
80
+ }
81
+ }
82
+ };
83
+
84
+ export const NoBackground = Template.bind({});
85
+ NoBackground.args = {
86
+ title: 'Frequently Asked Questions',
87
+ noBg : true
88
+ };
89
+ NoBackground.parameters = {
90
+ docs: {
91
+ description: {
92
+ story: 'Accordion without background styling for cleaner, minimalist design.'
93
+ }
94
+ }
95
+ };
96
+
97
+ export const MixedBackground = () => html`
98
+ <bd-accordion-bg title="Mixed Background Accordion">
99
+ <bd-accordion-bg-item title="Item with background">
100
+ <bd-p kind="regular">This item has the default background styling.</bd-p>
101
+ <bd-p kind="regular">It uses the blue background color as defined in the CSS.</bd-p>
102
+ </bd-accordion-bg-item>
103
+
104
+ <bd-accordion-bg-item title="Item without background" no-bg>
105
+ <bd-p kind="regular">This item has no background styling.</bd-p>
106
+ <bd-p kind="regular">It appears transparent and integrates seamlessly with the page background.</bd-p>
107
+ </bd-accordion-bg-item>
108
+
109
+ <bd-accordion-bg-item title="Another item with background">
110
+ <bd-p kind="regular">This item returns to the default background styling.</bd-p>
111
+ <bd-p kind="regular">You can mix and match background styles within the same accordion.</bd-p>
112
+ </bd-accordion-bg-item>
113
+ </bd-accordion-bg>
114
+ `;
115
+ MixedBackground.parameters = {
116
+ docs: {
117
+ description: {
118
+ story: 'Accordion with mixed background styles - some items with background, some without.'
119
+ }
120
+ }
121
+ };
122
+
123
+ export const ContainerNoBackground = () => html`
124
+ <bd-accordion-bg title="Container without Background" no-bg>
125
+ <bd-accordion-bg-item title="First question">
126
+ <bd-p kind="regular">When the container has no-bg, all items inherit the transparent background unless specifically overridden.</bd-p>
127
+ </bd-accordion-bg-item>
128
+
129
+ <bd-accordion-bg-item title="Second question">
130
+ <bd-p kind="regular">All items in this accordion have transparent backgrounds because the container has no-bg set.</bd-p>
131
+ </bd-accordion-bg-item>
132
+
133
+ <bd-accordion-bg-item title="Third question">
134
+ <bd-p kind="regular">This creates a clean, minimalist look that blends with the page background.</bd-p>
135
+ </bd-accordion-bg-item>
136
+ </bd-accordion-bg>
137
+ `;
138
+ ContainerNoBackground.parameters = {
139
+ docs: {
140
+ description: {
141
+ story: 'Accordion container with no-bg attribute, making all items transparent by default.'
142
+ }
143
+ }
144
+ };
145
+
146
+ export const WithCustomContent = () => html`
147
+ <bd-accordion-bg title="Product Features">
148
+ <bd-accordion-bg-item title="Advanced Threat Defense">
149
+ <div>
150
+ <bd-h as="h4">Multi-layer Protection</bd-h>
151
+ <bd-p kind="regular">Our advanced threat defense uses multiple layers of protection:</bd-p>
152
+ <bd-list type="unordered" spacing="md" variant="default" orientation="vertical">
153
+ <bd-li kind="bullet" size="md"><bd-p kind="regular">Behavioral detection</bd-p></bd-li>
154
+ <bd-li kind="bullet" size="md"><bd-p kind="regular">Machine learning algorithms</bd-p></bd-li>
155
+ <bd-li kind="bullet" size="md"><bd-p kind="regular">Cloud-based analysis</bd-p></bd-li>
156
+ <bd-li kind="bullet" size="md"><bd-p kind="regular">Real-time scanning</bd-p></bd-li>
157
+ </bd-list>
158
+ <bd-p kind="regular"><strong>System Requirements:</strong> Windows 10/11, 2GB RAM, 2.5GB free space</bd-p>
159
+ </div>
160
+ </bd-accordion-bg-item>
161
+
162
+ <bd-accordion-bg-item title="Privacy Protection" no-bg>
163
+ <div>
164
+ <bd-h as="h4">Complete Privacy Suite</bd-h>
165
+ <bd-p kind="regular">Protect your online privacy with our comprehensive tools:</bd-p>
166
+ <div style="display: flex; gap: 20px; margin-top: 15px;">
167
+ <div>
168
+ <bd-h as="h4">VPN</bd-h>
169
+ <bd-p kind="regular">200MB/day included</bd-p>
170
+ </div>
171
+ <div>
172
+ <bd-h as="h4">Password Manager</bd-h>
173
+ <bd-p kind="regular">Secure credential storage</bd-p>
174
+ </div>
175
+ <div>
176
+ <bd-h as="h4">Webcam Protection</bd-h>
177
+ <bd-p kind="regular">Block unauthorized access</bd-p>
178
+ </div>
179
+ </div>
180
+ </div>
181
+ </bd-accordion-bg-item>
182
+
183
+ <bd-accordion-bg-item title="Performance Impact">
184
+ <div>
185
+ <bd-h as="h4">Lightweight Design</bd-h>
186
+ <bd-p kind="regular">Bitdefender is designed to have minimal impact on system performance:</bd-p>
187
+ <table style="width: 100%; border-collapse: collapse; margin-top: 10px;">
188
+ <tr>
189
+ <th style="text-align: left; padding: 8px; border-bottom: 1px solid #ccc;">Resource</th>
190
+ <th style="text-align: left; padding: 8px; border-bottom: 1px solid #ccc;">Usage</th>
191
+ </tr>
192
+ <tr>
193
+ <td style="padding: 8px; border-bottom: 1px solid #ccc;">CPU</td>
194
+ <td style="padding: 8px; border-bottom: 1px solid #ccc;"><bd-p kind="regular">&lt; 2% average</bd-p></td>
195
+ </tr>
196
+ <tr>
197
+ <td style="padding: 8px; border-bottom: 1px solid #ccc;">Memory</td>
198
+ <td style="padding: 8px; border-bottom: 1px solid #ccc;"><bd-p kind="regular">~150MB</bd-p></td>
199
+ </tr>
200
+ <tr>
201
+ <td style="padding: 8px;">Disk</td>
202
+ <td style="padding: 8px;"><bd-p kind="regular">&lt; 500MB</bd-p></td>
203
+ </tr>
204
+ </table>
205
+ </div>
206
+ </bd-accordion-bg-item>
207
+ </bd-accordion-bg>
208
+ `;
209
+ WithCustomContent.parameters = {
210
+ docs: {
211
+ description: {
212
+ story: 'Accordion with rich custom content including lists, tables, and formatted text.'
213
+ }
214
+ }
215
+ };
216
+
217
+ export const AccessibilityDemo = () => html`
218
+ <bd-accordion-bg title="Accessibility Features">
219
+ <bd-accordion-bg-item title="Keyboard Navigation">
220
+ <bd-p kind="regular">This accordion supports full keyboard navigation:</bd-p>
221
+ <bd-list type="unordered" spacing="md" variant="default" orientation="vertical">
222
+ <bd-li kind="bullet" size="md"><bd-p kind="regular">Use <kbd>Tab</kbd> to navigate between accordion items</bd-p></bd-li>
223
+ <bd-li kind="bullet" size="md"><bd-p kind="regular">Press <kbd>Enter</kbd> or <kbd>Space</kbd> to toggle items</bd-p></bd-li>
224
+ <bd-li kind="bullet" size="md"><bd-p kind="regular">Proper ARIA attributes for screen readers</bd-p></bd-li>
225
+ </bd-list>
226
+ </bd-accordion-bg-item>
227
+
228
+ <bd-accordion-bg-item title="Screen Reader Support">
229
+ <bd-p kind="regular">All accordion items include proper ARIA attributes:</bd-p>
230
+ <bd-list type="unordered" spacing="md" variant="default" orientation="vertical">
231
+ <bd-li kind="bullet" size="md"><bd-p kind="regular"><code>role="button"</code> for the clickable header</bd-p></bd-li>
232
+ <bd-li kind="bullet" size="md"><bd-p kind="regular"><code>aria-expanded</code> to indicate state</bd-p></bd-li>
233
+ <bd-li kind="bullet" size="md"><bd-p kind="regular"><code>aria-controls</code> to associate with content</bd-p></bd-li>
234
+ <bd-li kind="bullet" size="md"><bd-p kind="regular"><code>role="region"</code> for the content area</bd-p></bd-li>
235
+ </bd-list>
236
+ </bd-accordion-bg-item>
237
+
238
+ <bd-accordion-bg-item title="Focus Management">
239
+ <bd-p kind="regular">Focus indicators are clearly visible for keyboard users:</bd-p>
240
+ <bd-list type="unordered" spacing="md" variant="default" orientation="vertical">
241
+ <bd-li kind="bullet" size="md"><bd-p kind="regular">Clear focus outline</bd-p></bd-li>
242
+ <bd-li kind="bullet" size="md"><bd-p kind="regular">High contrast colors</bd-p></bd-li>
243
+ <bd-li kind="bullet" size="md"><bd-p kind="regular">Smooth transitions</bd-p></bd-li>
244
+ </bd-list>
245
+ </bd-accordion-bg-item>
246
+ </bd-accordion-bg>
247
+ `;
248
+ AccessibilityDemo.parameters = {
249
+ docs: {
250
+ description: {
251
+ story: 'Demonstration of accessibility features including keyboard navigation and ARIA attributes.'
252
+ }
253
+ }
254
+ };
255
+
256
+ export const WithDifferentParagraphTypes = () => html`
257
+ <bd-accordion-bg title="Different Paragraph Styles">
258
+ <bd-accordion-bg-item title="Regular Paragraph">
259
+ <bd-p kind="regular">This is a regular paragraph with standard styling.</bd-p>
260
+ <bd-p kind="regular">It uses the default font size and weight for body text.</bd-p>
261
+ </bd-accordion-bg-item>
262
+
263
+ <bd-accordion-bg-item title="Small Paragraph">
264
+ <bd-p kind="small">This is a small paragraph for less important information.</bd-p>
265
+ <bd-p kind="small">Perfect for captions, footnotes, or secondary content.</bd-p>
266
+ </bd-accordion-bg-item>
267
+
268
+ <bd-accordion-bg-item title="Mixed Paragraph Styles">
269
+ <bd-p kind="regular">Main content goes here with regular styling.</bd-p>
270
+ <bd-p kind="small">Additional details or notes in small text.</bd-p>
271
+ <bd-p kind="regular">Back to regular text for important information.</bd-p>
272
+ </bd-accordion-bg-item>
273
+ </bd-accordion-bg>
274
+ `;
275
+ WithDifferentParagraphTypes.parameters = {
276
+ docs: {
277
+ description: {
278
+ story: 'Accordion demonstrating different paragraph styles (regular and small).'
279
+ }
280
+ }
281
+ };
@@ -0,0 +1,241 @@
1
+ import { html } from 'lit';
2
+ import '../list/list-item/list-item.js'; // Păstrăm bd-li
3
+ import '../list/list.js'; // Importul nou pentru componenta unificată bd-list
4
+ import '../paragraph/paragraph.js';
5
+ import './accordion.js';
6
+
7
+ export default {
8
+ title : 'Components/Accordion Light',
9
+ component : 'bd-accordion-section',
10
+ subcomponents: {
11
+ 'bd-accordion-item' : 'bd-accordion-item',
12
+ 'bd-accordion-section': 'bd-accordion-section',
13
+ 'bd-li' : 'bd-li'
14
+ },
15
+ argTypes: {
16
+ title: {
17
+ control : 'text',
18
+ description: 'Title of the accordion section'
19
+ },
20
+ guideIcon: {
21
+ control : 'text',
22
+ description: 'URL for the guide icon image'
23
+ },
24
+ guideLabel: {
25
+ control : 'text',
26
+ description: 'Text label for the guide link'
27
+ },
28
+ guideHref: {
29
+ control : 'text',
30
+ description: 'URL for the guide link'
31
+ }
32
+ },
33
+ parameters: {
34
+ docs: {
35
+ description: {
36
+ component: 'A lightweight accordion component ideal for menus, terms of use, FAQs, and other content that requires expandable sections. Features a clean, minimalist design with optional user guide links.'
37
+ }
38
+ }
39
+ }
40
+ };
41
+
42
+ const BasicTemplate = ({ title, guideIcon, guideLabel, guideHref }) => html`
43
+ <bd-accordion-section
44
+ title="${title}"
45
+ guide-icon="${guideIcon}"
46
+ guide-label="${guideLabel}"
47
+ guide-href="${guideHref}"
48
+ >
49
+ <bd-accordion-item title="What is Bitdefender?">
50
+ <bd-p kind="regular">Bitdefender is a leading cybersecurity company delivering robust security solutions to over 500 million users in more than 150 countries.</bd-p>
51
+ <bd-p kind="regular">Our products protect devices, data, and privacy against the full spectrum of cyberthreats.</bd-p>
52
+ </bd-accordion-item>
53
+
54
+ <bd-accordion-item title="System Requirements">
55
+ <bd-p kind="regular"><strong>Operating Systems:</strong> Windows 10/11, macOS 10.12+, Android 5.0+, iOS 12+</bd-p>
56
+ <bd-p kind="regular"><strong>Hardware:</strong> 1GB RAM minimum, 2.5GB free disk space</bd-p>
57
+ <bd-p kind="regular"><strong>Internet:</strong> Required for activation and updates</bd-p>
58
+ </bd-accordion-item>
59
+
60
+ <bd-accordion-item title="Installation Process">
61
+ <bd-p kind="regular">Follow these simple steps to install Bitdefender:</bd-p>
62
+ <bd-list type="unordered" spacing="md" variant="default" orientation="vertical">
63
+ <bd-li kind="bullet" size="md">Download the installation file from our website</bd-li>
64
+ <bd-li kind="bullet" size="md">Run the installer and follow on-screen instructions</bd-li>
65
+ <bd-li kind="bullet" size="md">Activate with your product key</bd-li>
66
+ <bd-li kind="bullet" size="md">Run your first scan</bd-li>
67
+ </bd-list>
68
+ </bd-accordion-item>
69
+ </bd-accordion-section>
70
+ `;
71
+
72
+ export const Default = BasicTemplate.bind({});
73
+ Default.args = {
74
+ title : 'Product Information',
75
+ guideIcon : '',
76
+ guideLabel: '',
77
+ guideHref : '#'
78
+ };
79
+ Default.parameters = {
80
+ docs: {
81
+ description: {
82
+ story: 'Default lightweight accordion with simple toggle indicators and clean design.'
83
+ }
84
+ }
85
+ };
86
+
87
+ export const WithUserGuide = BasicTemplate.bind({});
88
+ WithUserGuide.args = {
89
+ title : 'Installation Guide',
90
+ guideIcon : '/assets/user_guide.png',
91
+ guideLabel: 'View Complete User Guide',
92
+ guideHref : '/user-guide'
93
+ };
94
+ WithUserGuide.parameters = {
95
+ docs: {
96
+ description: {
97
+ story: 'Accordion with user guide link, perfect for documentation and help sections.'
98
+ }
99
+ }
100
+ };
101
+
102
+ export const TermsOfUse = () => html`
103
+ <bd-accordion-section title="Terms of Use">
104
+ <bd-accordion-item title="Acceptance of Terms">
105
+ <bd-p kind="regular">By accessing and using Bitdefender products, you accept and agree to be bound by the terms and provision of this agreement.</bd-p>
106
+ <bd-p kind="regular"><strong>Last Updated:</strong> January 15, 2024</bd-p>
107
+ </bd-accordion-item>
108
+
109
+ <bd-accordion-item title="License Grant">
110
+ <bd-p kind="regular">Bitdefender grants you a limited, non-exclusive, non-transferable license to use the software for personal or internal business purposes.</bd-p>
111
+ <bd-list type="unordered" spacing="md" variant="default" orientation="vertical">
112
+ <bd-li kind="bullet" size="md">Single-user license for personal use</bd-li>
113
+ <bd-li kind="bullet" size="md">Multi-device options available</bd-li>
114
+ <bd-li kind="bullet" size="md">Non-commercial use unless specified</bd-li>
115
+ </bd-list>
116
+ </bd-accordion-item>
117
+
118
+ <bd-accordion-item title="Privacy Policy">
119
+ <bd-p kind="regular">Our privacy policy explains how we collect, use, and protect your personal information.</bd-p>
120
+ <bd-p kind="regular"><strong>Data Collection:</strong> We collect minimal data necessary for security functionality.</bd-p>
121
+ <bd-p kind="regular"><strong>Data Usage:</strong> Data is used solely for threat detection and product improvement.</bd-p>
122
+ </bd-accordion-item>
123
+
124
+ <bd-accordion-item title="Limitation of Liability">
125
+ <bd-p kind="regular">To the maximum extent permitted by law, Bitdefender shall not be liable for any indirect, special, incidental, or consequential damages.</bd-p>
126
+ <bd-p kind="regular">This includes but is not limited to damages for loss of profits, business interruption, or loss of information.</bd-p>
127
+ </bd-accordion-item>
128
+ </bd-accordion-section>
129
+ `;
130
+ TermsOfUse.parameters = {
131
+ docs: {
132
+ description: {
133
+ story: 'Perfect for legal documents like Terms of Use with multiple expandable sections.'
134
+ }
135
+ }
136
+ };
137
+
138
+ export const NavigationMenu = () => html`
139
+ <bd-accordion-section>
140
+ <bd-accordion-item title="Products">
141
+ <bd-list type="unordered" spacing="sm" variant="default" orientation="vertical">
142
+ <bd-li kind="none" size="md">
143
+ <a href="/antivirus" style="text-decoration: none; color: #0066cc; display: block; padding: 8px 0;">Antivirus Plus</a>
144
+ </bd-li>
145
+ <bd-li kind="none" size="md">
146
+ <a href="/internet-security" style="text-decoration: none; color: #0066cc; display: block; padding: 8px 0;">Internet Security</a>
147
+ </bd-li>
148
+ <bd-li kind="none" size="md">
149
+ <a href="/total-security" style="text-decoration: none; color: #0066cc; display: block; padding: 8px 0;">Total Security</a>
150
+ </bd-li>
151
+ <bd-li kind="none" size="md">
152
+ <a href="/premium-security" style="text-decoration: none; color: #0066cc; display: block; padding: 8px 0;">Premium Security</a>
153
+ </bd-li>
154
+ </bd-list>
155
+ </bd-accordion-item>
156
+
157
+ <bd-accordion-item title="Support">
158
+ <bd-list type="unordered" spacing="sm" variant="default" orientation="vertical">
159
+ <bd-li kind="none" size="md">
160
+ <a href="/downloads" style="text-decoration: none; color: #0066cc; display: block; padding: 8px 0;">Downloads</a>
161
+ </bd-li>
162
+ <bd-li kind="none" size="md">
163
+ <a href="/knowledge-base" style="text-decoration: none; color: #0066cc; display: block; padding: 8px 0;">Knowledge Base</a>
164
+ </bd-li>
165
+ <bd-li kind="none" size="md">
166
+ <a href="/contact" style="text-decoration: none; color: #0066cc; display: block; padding: 8px 0;">Contact Support</a>
167
+ </bd-li>
168
+ <bd-li kind="none" size="md">
169
+ <a href="/community" style="text-decoration: none; color: #0066cc; display: block; padding: 8px 0;">Community Forum</a>
170
+ </bd-li>
171
+ </bd-list>
172
+ </bd-accordion-item>
173
+
174
+ <bd-accordion-item title="Company">
175
+ <bd-list type="unordered" spacing="sm" variant="default" orientation="vertical">
176
+ <bd-li kind="none" size="md">
177
+ <a href="/about" style="text-decoration: none; color: #0066cc; display: block; padding: 8px 0;">About Us</a>
178
+ </bd-li>
179
+ <bd-li kind="none" size="md">
180
+ <a href="/press" style="text-decoration: none; color: #0066cc; display: block; padding: 8px 0;">Press Center</a>
181
+ </bd-li>
182
+ <bd-li kind="none" size="md">
183
+ <a href="/careers" style="text-decoration: none; color: #0066cc; display: block; padding: 8px 0;">Careers</a>
184
+ </bd-li>
185
+ <bd-li kind="none" size="md">
186
+ <a href="/partners" style="text-decoration: none; color: #0066cc; display: block; padding: 8px 0;">Partners</a>
187
+ </bd-li>
188
+ </bd-list>
189
+ </bd-accordion-item>
190
+ </bd-accordion-section>
191
+ `;
192
+ NavigationMenu.parameters = {
193
+ docs: {
194
+ description: {
195
+ story: 'Used as a navigation menu with expandable categories and internal links.'
196
+ }
197
+ }
198
+ };
199
+
200
+ export const MultipleSections = () => html`
201
+ <div style="display: flex; flex-direction: column; gap: 40px;">
202
+ <bd-accordion-section title="Getting Started">
203
+ <bd-accordion-item title="System Requirements">
204
+ <bd-p kind="regular">Minimum requirements for optimal performance...</bd-p>
205
+ </bd-accordion-item>
206
+ <bd-accordion-item title="Installation Guide">
207
+ <bd-p kind="regular">Step-by-step installation instructions...</bd-p>
208
+ </bd-accordion-item>
209
+ </bd-accordion-section>
210
+
211
+ <bd-accordion-section
212
+ title="Troubleshooting"
213
+ guide-icon="/assets/user_guide.png"
214
+ guide-label="Advanced Troubleshooting Guide"
215
+ guide-href="/troubleshooting"
216
+ >
217
+ <bd-accordion-item title="Common Installation Issues">
218
+ <bd-p kind="regular">Solutions for frequent installation problems...</bd-p>
219
+ </bd-accordion-item>
220
+ <bd-accordion-item title="Performance Optimization">
221
+ <bd-p kind="regular">Tips to improve system performance...</bd-p>
222
+ </bd-accordion-item>
223
+ </bd-accordion-section>
224
+
225
+ <bd-accordion-section title="Advanced Features">
226
+ <bd-accordion-item title="VPN Configuration">
227
+ <bd-p kind="regular">How to set up and use the included VPN...</bd-p>
228
+ </bd-accordion-item>
229
+ <bd-accordion-item title="Parental Controls">
230
+ <bd-p kind="regular">Setting up and managing parental controls...</bd-p>
231
+ </bd-accordion-item>
232
+ </bd-accordion-section>
233
+ </div>
234
+ `;
235
+ MultipleSections.parameters = {
236
+ docs: {
237
+ description: {
238
+ story: 'Multiple accordion sections grouped together, perfect for comprehensive documentation.'
239
+ }
240
+ }
241
+ };
@@ -2,11 +2,13 @@ import { html } from 'lit';
2
2
  import '../accordion/accordion-bg.js';
3
3
  import '../anchor/anchor-nav.js';
4
4
  import '../carousel/carousel.js';
5
+ import '../heading/heading.js';
5
6
  import '../pricing-cards/pricing-card.js';
7
+
6
8
  import '../tabs/tabs.js';
7
9
 
8
10
  export default {
9
- title : 'Navigation/Navbar',
11
+ title : 'Navigation/Anchor - Navbar',
10
12
  component : 'bd-anchor-nav',
11
13
  parameters: {
12
14
  docs: {
@@ -67,22 +69,22 @@ const Template = () => html`
67
69
  <hr />
68
70
  <bd-accordion-bg title="Questions? Answers." id="anchor-1-section">
69
71
  <bd-accordion-bg-item title="How does Bitdefender Internet Security protect me?">
70
- <p>Bitdefender Internet Security provides the best protection...</p>
71
- <p>Bitdefender Internet Security provides the best protection...</p>
72
- <p>Bitdefender Internet Security provides the best protection...</p>
72
+ <bd-p kind="small">Bitdefender Internet Security provides the best protection...</bd-p>
73
+ <bd-p kind="small">Bitdefender Internet Security provides the best protection...</bd-p>
74
+ <bd-p kind="small">Bitdefender Internet Security provides the best protection...</bd-p>
73
75
  </bd-accordion-bg-item>
74
76
 
75
77
  <bd-accordion-bg-item title="Does Bitdefender protect me against ransomware?">
76
- <p>
78
+ <bd-p kind="small">
77
79
  Yes! Bitdefender Internet Security offers unbeatable ransomware
78
80
  protection...
79
- </p>
81
+ </bd-p>
80
82
  </bd-accordion-bg-item>
81
83
 
82
84
  <bd-accordion-bg-item title="Do I get a VPN with Bitdefender Internet Security?">
83
- <p>
85
+ <bd-p kind="small">
84
86
  Bitdefender Internet Security includes a basic VPN with 200MB per day.
85
- </p>
87
+ </bd-p>
86
88
  </bd-accordion-bg-item>
87
89
  </bd-faq-section>
88
90
  </section>
@@ -99,24 +101,24 @@ const Template = () => html`
99
101
  <bd-carousel-section title="Need help? We've got answers!" id="anchor-3-section">
100
102
  <bd-carousel-item
101
103
  title="Scam Copilot Bot"
102
- subTitle="Specialized AI chatbot that helps you identify suspicious online interactions so you dont become a victim"
103
- modalText="Specialized AI chatbot that helps you identify suspicious online interactions so you dont become a victim"
104
+ subTitle="Specialized AI chatbot that helps you identify suspicious online interactions so you don't become a victim"
105
+ modalText="Specialized AI chatbot that helps you identify suspicious online interactions so you don't become a victim"
104
106
  icon="/assets/light-carousel-img1.png"
105
107
  >
106
- <h3>Scam Copilot Bot</h3>
107
- <p>
108
+ <bd-h as="h4">Scam Copilot Bot</bd-h>
109
+ <bd-p kind="small">
108
110
  Specialized AI chatbot that helps you identify suspicious online
109
- interactions so you dont become a victim.
110
- </p>
111
- <p>
111
+ interactions so you don't become a victim.
112
+ </bd-p>
113
+ <bd-p kind="small">
112
114
  Specialized AI chatbot that helps you identify suspicious online
113
- interactions so you dont become a victim.
114
- </p>
115
- <p>
115
+ interactions so you don't become a victim.
116
+ </bd-p>
117
+ <bd-p kind="small">
116
118
  Specialized AI chatbot that helps you identify suspicious online
117
- interactions so you dont become a victim.
118
- </p>
119
- <h6>Testare Scam Copilot</h6>
119
+ interactions so you don't become a victim.
120
+ </bd-p>
121
+ <bd-h as="h6">Testare Scam Copilot</bd-h>
120
122
  </bd-carousel-item>
121
123
  </bd-carousel-section>
122
124
  </section>
@@ -128,4 +130,4 @@ const Template = () => html`
128
130
  `;
129
131
 
130
132
  export const Default = Template.bind({});
131
- Default.args = {};
133
+ Default.args = {};
@@ -0,0 +1,56 @@
1
+ import { css } from "lit";
2
+
3
+ export default css`
4
+ @layer bd-components {
5
+ .bd-back {
6
+ all: unset;
7
+ display: inline-flex;
8
+ align-items: center;
9
+ gap: 0.5rem;
10
+ padding: 0.75rem 1rem;
11
+ font-family: var(--typography-fontFamily-sans);
12
+ font-size: var(--typography-body-regular-fontSize);
13
+ font-weight: var(--typography-fontWeight-bold);
14
+ color: var(--color-neutral-1000);
15
+ cursor: pointer;
16
+ border-radius: 0.5rem;
17
+ transition: all 0.2s ease;
18
+ user-select: none;
19
+ }
20
+
21
+ .bd-back:hover {
22
+ background-color: var(--color-neutral-100);
23
+ color: var(--color-neutral-1000);
24
+ }
25
+
26
+ .bd-back:active {
27
+ background-color: var(--color-neutral-200);
28
+ transform: translateY(1px);
29
+ }
30
+
31
+ .bd-back:focus-visible {
32
+ outline: 2px solid var(--color-neutral-1000);
33
+ outline-offset: 2px;
34
+ }
35
+
36
+ .bd-back-arrow {
37
+ font-size: 1.125em;
38
+ font-weight: var(--typography-fontWeight-bold);
39
+ /* Săgeată mai simplă și mai groasă */
40
+ transform: scale(1.2);
41
+ letter-spacing: -0.05em;
42
+ }
43
+
44
+ .bd-back-label {
45
+ line-height: 1;
46
+ }
47
+
48
+ /* Mobile-first responsive */
49
+ @media (max-width: 768px) {
50
+ .bd-back {
51
+ padding: 0.875rem 1rem;
52
+ font-size: var(--typography-body-large-fontSize);
53
+ }
54
+ }
55
+ }
56
+ `;