@repobit/dex-system-design 0.21.2 → 0.22.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.
Files changed (52) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/package.json +4 -2
  3. package/src/components/Button/Button.js +7 -2
  4. package/src/components/Button/button.css.js +30 -0
  5. package/src/components/accordion/accordion-bg.stories.js +341 -171
  6. package/src/components/accordion/accordion.stories.js +345 -0
  7. package/src/components/anchor/anchor.stories.js +134 -76
  8. package/src/components/back/back.css.js +1 -1
  9. package/src/components/back/back.stories.js +301 -63
  10. package/src/components/badge/badge.js +4 -7
  11. package/src/components/badge/badge.stories.js +89 -96
  12. package/src/components/breadcrumb/breadcrumb.stories.js +167 -3
  13. package/src/components/cards/card.stories.js +153 -3
  14. package/src/components/display/display.css.js +7 -10
  15. package/src/components/display/display.js +14 -2
  16. package/src/components/display/display.stories.js +213 -219
  17. package/src/components/divider/divider.stories.js +337 -30
  18. package/src/components/footer/footer-lp.stories.js +346 -3
  19. package/src/components/footer/footer.js +0 -3
  20. package/src/components/footer/footer.stories.js +267 -4
  21. package/src/components/header/header.css.js +1 -1
  22. package/src/components/header/header.js +77 -56
  23. package/src/components/header/header.stories.js +298 -22
  24. package/src/components/heading/heading.css.js +1 -1
  25. package/src/components/heading/heading.stories.js +355 -113
  26. package/src/components/image/image.css.js +146 -98
  27. package/src/components/image/image.js +13 -2
  28. package/src/components/image/image.stories.js +546 -160
  29. package/src/components/input/custom-form.stories.js +209 -12
  30. package/src/components/link/link.css.js +2 -2
  31. package/src/components/link/link.stories.js +383 -53
  32. package/src/components/paragraph/paragraph.css.js +1 -1
  33. package/src/components/paragraph/paragraph.stories.js +365 -157
  34. package/src/components/picture/picture.css.js +209 -0
  35. package/src/components/picture/picture.js +16 -2
  36. package/src/components/picture/picture.stories.js +525 -180
  37. package/src/components/pricing-cards/new-pricing-card.js +19 -4
  38. package/src/components/pricing-cards/new-pricing-card.stories.js +422 -0
  39. package/src/components/pricing-cards/new-pricing.css.js +8 -0
  40. package/src/components/pricing-cards/pricing-card-actions.js +49 -9
  41. package/src/components/pricing-cards/pricing-card-container.css.js +1 -1
  42. package/src/components/pricing-cards/pricing-card-header.css.js +73 -63
  43. package/src/components/pricing-cards/pricing-card-header.js +44 -10
  44. package/src/components/pricing-cards/pricing-card-pricing.js +63 -64
  45. package/src/components/pricing-cards/pricing-card.css.js +7 -15
  46. package/src/components/pricing-cards/pricing-card.js +353 -270
  47. package/src/components/pricing-cards/pricing-card.stories.js +3 -3
  48. package/src/tokens/fonts.stories.js +335 -8
  49. package/src/tokens/spacing.stories.js +701 -34
  50. package/src/tokens/tokens-grid.stories.js +897 -48
  51. package/src/tokens/typography.stories.js +980 -38
  52. package/src/components/accordion/accordion-light.stories.js +0 -241
@@ -1,74 +1,83 @@
1
1
  import { html } from 'lit';
2
2
  import '../heading/heading.js';
3
- import '../list/list-item/list-item.js';
4
- import '../list/list.js'; // Componenta unificată bd-list
5
3
  import '../paragraph/paragraph.js';
6
-
7
4
  import './accordion-bg.js';
8
5
 
9
6
  export default {
10
- title : 'Components/Accordion BG',
11
- component : 'bd-accordion-bg',
12
- subcomponents: { 'bd-accordion-bg-item': 'bd-accordion-bg-item' },
13
- argTypes : {
7
+ title : 'Components/Accordion',
8
+ component: 'bd-accordion-bg',
9
+ tags : ['autodocs'],
10
+ argTypes : {
14
11
  title: {
15
12
  control : 'text',
16
- description: 'Title of the accordion section'
13
+ description: 'Main title for the accordion container',
14
+ table : {
15
+ type : { summary: 'string' },
16
+ defaultValue: { summary: '' }
17
+ }
17
18
  },
18
19
  noBg: {
19
20
  control : 'boolean',
20
- description: 'Remove background from accordion items'
21
+ description: 'Remove background styling from accordion items',
22
+ table : {
23
+ type : { summary: 'boolean' },
24
+ defaultValue: { summary: 'false' }
25
+ }
21
26
  }
22
27
  },
23
28
  parameters: {
24
29
  docs: {
25
30
  description: {
26
- component: 'A customizable accordion component with background options and accessibility features.'
31
+ component: 'An accessible accordion component with background styling options and keyboard navigation support. Perfect for FAQs, feature lists, and content organization.'
27
32
  }
28
33
  }
29
34
  }
30
35
  };
31
36
 
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>
37
+ // Template for the main accordion container
38
+ const AccordionTemplate = ({ title, noBg }) => html`
39
+ <bd-accordion-bg
40
+ title="${title}"
41
+ ?no-bg="${noBg}"
42
+ >
43
+ <bd-accordion-bg-item title="What is Bitdefender Ultimate Security?">
44
+ <bd-p kind="regular">
45
+ Bitdefender Ultimate Security is our comprehensive security solution that provides complete protection
46
+ for your digital life. It includes advanced antivirus, firewall, VPN, password manager, and parental
47
+ controls in one package.
48
+ </bd-p>
47
49
  </bd-accordion-bg-item>
48
50
 
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>
51
+ <bd-accordion-bg-item title="How many devices can I protect?">
52
+ <bd-p kind="regular">
53
+ The Ultimate Security plan protects up to 5 devices simultaneously. You can mix and match between
54
+ Windows, Mac, Android, and iOS devices according to your needs.
55
+ </bd-p>
52
56
  </bd-accordion-bg-item>
53
57
 
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>
58
+ <bd-accordion-bg-item title="Is there a money-back guarantee?">
59
+ <bd-p kind="regular">
60
+ Yes, we offer a 30-day money-back guarantee. If you're not satisfied with our product, you can
61
+ request a full refund within 30 days of purchase.
62
+ </bd-p>
67
63
  </bd-accordion-bg-item>
68
64
  </bd-accordion-bg>
69
65
  `;
70
66
 
71
- export const Default = Template.bind({});
67
+ // Template for individual accordion items
68
+ const AccordionItemTemplate = ({ title, open, noBg, content }) => html`
69
+ <bd-accordion-bg-item
70
+ title="${title}"
71
+ ?open="${open}"
72
+ ?no-bg="${noBg}"
73
+ >
74
+ <bd-p kind="regular">${content}</bd-p>
75
+ </bd-accordion-bg-item>
76
+ `;
77
+
78
+ // ============ STORIES ============
79
+
80
+ export const Default = AccordionTemplate.bind({});
72
81
  Default.args = {
73
82
  title: 'Frequently Asked Questions',
74
83
  noBg : false
@@ -76,206 +85,367 @@ Default.args = {
76
85
  Default.parameters = {
77
86
  docs: {
78
87
  description: {
79
- story: 'Default accordion with background styling.'
88
+ story: 'Default accordion with background styling and a main title. Perfect for FAQ sections and content organization.'
80
89
  }
81
90
  }
82
91
  };
83
92
 
84
- export const NoBackground = Template.bind({});
85
- NoBackground.args = {
86
- title: 'Frequently Asked Questions',
93
+ export const WithoutBackground = AccordionTemplate.bind({});
94
+ WithoutBackground.args = {
95
+ title: 'Product Features',
87
96
  noBg : true
88
97
  };
89
- NoBackground.parameters = {
98
+ WithoutBackground.parameters = {
90
99
  docs: {
91
100
  description: {
92
- story: 'Accordion without background styling for cleaner, minimalist design.'
101
+ story: 'Accordion with no background styling for seamless integration into existing page layouts and designs.'
93
102
  }
94
103
  }
95
104
  };
96
105
 
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>
106
+ export const SingleAccordionItem = AccordionItemTemplate.bind({});
107
+ SingleAccordionItem.args = {
108
+ title : 'What makes Bitdefender different from other security solutions?',
109
+ open : false,
110
+ noBg : false,
111
+ content: 'Bitdefender uses advanced machine learning and behavioral analysis to detect and block threats in real-time. Our multi-layered protection approach ensures comprehensive security without impacting system performance.'
112
+ };
113
+ SingleAccordionItem.parameters = {
114
+ docs: {
115
+ description: {
116
+ story: 'Single accordion item demonstrating the basic functionality and styling of individual expandable sections.'
117
+ }
118
+ }
119
+ };
120
+
121
+ export const OpenAccordionItem = AccordionItemTemplate.bind({});
122
+ OpenAccordionItem.args = {
123
+ ...SingleAccordionItem.args,
124
+ open : true,
125
+ title: 'How does real-time protection work?'
126
+ };
127
+ OpenAccordionItem.parameters = {
128
+ docs: {
129
+ description: {
130
+ story: 'Pre-opened accordion item showing the expanded state with visible content. Useful for highlighting important information.'
131
+ }
132
+ }
133
+ };
134
+
135
+ export const SecurityFAQ = () => html`
136
+ <bd-accordion-bg title="Security & Protection FAQ">
137
+ <bd-accordion-bg-item title="How does Bitdefender protect against ransomware?">
138
+ <div style="display: flex; flex-direction: column; gap: 1rem;">
139
+ <bd-p kind="regular">
140
+ Bitdefender uses multiple layers of protection to defend against ransomware attacks:
141
+ </bd-p>
142
+ <ul style="margin: 0; padding-left: 1.5rem; color: #374151;">
143
+ <li><strong>Behavioral Detection:</strong> Monitors application behavior for ransomware-like patterns</li>
144
+ <li><strong>Advanced Threat Defense:</strong> Uses cloud-based analysis to detect new threats</li>
145
+ <li><strong>Safe Files:</strong> Protects important documents from unauthorized encryption</li>
146
+ <li><strong>Network Attack Protection:</strong> Blocks ransomware spread through networks</li>
147
+ </ul>
148
+ </div>
102
149
  </bd-accordion-bg-item>
103
150
 
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>
151
+ <bd-accordion-bg-item title="What is the difference between antivirus and internet security?">
152
+ <bd-p kind="regular">
153
+ While both provide essential protection, they serve different purposes:
154
+ </bd-p>
155
+ <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-top: 1rem;">
156
+ <div>
157
+ <bd-h as="h4" style="color: #3b82f6;">Antivirus</bd-h>
158
+ <bd-p kind="small">
159
+ • Basic malware protection<br>
160
+ • Real-time scanning<br>
161
+ • Virus removal<br>
162
+ • Essential web protection
163
+ </bd-p>
164
+ </div>
165
+ <div>
166
+ <bd-h as="h4" style="color: #3b82f6;">Internet Security</bd-h>
167
+ <bd-p kind="small">
168
+ • All antivirus features<br>
169
+ • Firewall protection<br>
170
+ • Parental controls<br>
171
+ • Advanced privacy tools<br>
172
+ • Multi-layer ransomware protection
173
+ </bd-p>
174
+ </div>
175
+ </div>
107
176
  </bd-accordion-bg-item>
108
177
 
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>
178
+ <bd-accordion-bg-item title="How often are virus definitions updated?">
179
+ <bd-p kind="regular">
180
+ Bitdefender updates its virus definitions multiple times per day to ensure protection against the latest threats.
181
+ Our cloud-based security network processes over 500 million queries daily, providing real-time protection
182
+ against emerging malware and zero-day attacks.
183
+ </bd-p>
184
+ <bd-p kind="small" style="color: #64748b; margin-top: 1rem;">
185
+ Last update: 2 hours ago | Next scheduled update: 15 minutes
186
+ </bd-p>
187
+ </bd-accordion-bg-item>
188
+
189
+ <bd-accordion-bg-item title="Does Bitdefender impact system performance?">
190
+ <bd-p kind="regular">
191
+ Bitdefender is designed for minimal system impact. Our products typically use:
192
+ </bd-p>
193
+ <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1rem; margin-top: 1rem;">
194
+ <div style="text-align: center; padding: 1rem; background: #f8fafc; border-radius: 8px;">
195
+ <bd-h as="h4" style="color: #059669;">CPU Usage</bd-h>
196
+ <bd-p kind="large" style="color: #059669; margin: 0.5rem 0;">&lt;2%</bd-p>
197
+ <bd-p kind="small" style="color: #64748b;">Average during scans</bd-p>
198
+ </div>
199
+ <div style="text-align: center; padding: 1rem; background: #f8fafc; border-radius: 8px;">
200
+ <bd-h as="h4" style="color: #3b82f6;">Memory</bd-h>
201
+ <bd-p kind="large" style="color: #3b82f6; margin: 0.5rem 0;">~150MB</bd-p>
202
+ <bd-p kind="small" style="color: #64748b;">Typical RAM usage</bd-p>
203
+ </div>
204
+ <div style="text-align: center; padding: 1rem; background: #f8fafc; border-radius: 8px;">
205
+ <bd-h as="h4" style="color: #8b5cf6;">Boot Time</bd-h>
206
+ <bd-p kind="large" style="color: #8b5cf6; margin: 0.5rem 0;">+0.3s</bd-p>
207
+ <bd-p kind="small" style="color: #64748b;">Average impact</bd-p>
208
+ </div>
209
+ </div>
112
210
  </bd-accordion-bg-item>
113
211
  </bd-accordion-bg>
114
212
  `;
115
- MixedBackground.parameters = {
213
+ SecurityFAQ.parameters = {
116
214
  docs: {
117
215
  description: {
118
- story: 'Accordion with mixed background styles - some items with background, some without.'
216
+ story: 'Comprehensive FAQ example for security products with rich content including lists, comparisons, and performance metrics.'
119
217
  }
120
218
  }
121
219
  };
122
220
 
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>
221
+ export const ProductFeatures = () => html`
222
+ <bd-accordion-bg title="Bitdefender Ultimate Security Features" no-bg>
223
+ <bd-accordion-bg-item title="Advanced Threat Defense" open>
224
+ <div style="display: flex; flex-direction: column; gap: 1rem;">
225
+ <bd-p kind="regular">
226
+ Our multi-layered protection system uses machine learning and behavioral analysis to detect
227
+ and block sophisticated threats before they can harm your system.
228
+ </bd-p>
229
+ <div style="display: flex; gap: 1rem; flex-wrap: wrap;">
230
+ <span style="padding: 0.25rem 0.75rem; background: #dbeafe; color: #1e40af; border-radius: 16px; font-size: 0.875rem;">
231
+ Machine Learning
232
+ </span>
233
+ <span style="padding: 0.25rem 0.75rem; background: #f0fdf4; color: #166534; border-radius: 16px; font-size: 0.875rem;">
234
+ Behavioral Analysis
235
+ </span>
236
+ <span style="padding: 0.25rem 0.75rem; background: #fef3c7; color: #92400e; border-radius: 16px; font-size: 0.875rem;">
237
+ Cloud Scanning
238
+ </span>
239
+ </div>
240
+ </div>
241
+ </bd-accordion-bg-item>
242
+
243
+ <bd-accordion-bg-item title="Privacy Protection Tools">
244
+ <bd-p kind="regular">
245
+ Complete privacy suite including VPN, password manager, and webcam protection to keep your
246
+ personal information secure from online threats and unauthorized access.
247
+ </bd-p>
248
+ <bd-p kind="small" style="color: #64748b; margin-top: 1rem;">
249
+ Features: Unlimited VPN traffic • Encrypted password storage • Webcam access monitoring
250
+ </bd-p>
127
251
  </bd-accordion-bg-item>
128
252
 
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>
253
+ <bd-accordion-bg-item title="Parental Controls">
254
+ <bd-p kind="regular">
255
+ Keep your family safe online with comprehensive parental controls that allow you to monitor
256
+ and manage your children's internet usage across all devices.
257
+ </bd-p>
258
+ <div style="margin-top: 1rem;">
259
+ <bd-p kind="small" style="color: #64748b;">
260
+ • Content filtering and blocking<br>
261
+ • Screen time management<br>
262
+ • Location tracking<br>
263
+ • Social media monitoring
264
+ </bd-p>
265
+ </div>
131
266
  </bd-accordion-bg-item>
132
267
 
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>
268
+ <bd-accordion-bg-item title="Performance Optimization">
269
+ <bd-p kind="regular">
270
+ Lightweight design ensures maximum protection with minimal impact on system performance.
271
+ Automatic optimization features keep your devices running smoothly.
272
+ </bd-p>
273
+ <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1rem;">
274
+ <div>
275
+ <bd-h as="h5" style="margin-bottom: 0.5rem;">OneClick Optimizer</bd-h>
276
+ <bd-p kind="small" style="color: #64748b;">
277
+ Clean up junk files and optimize system performance with a single click.
278
+ </bd-p>
279
+ </div>
280
+ <div>
281
+ <bd-h as="h5" style="margin-bottom: 0.5rem;">Game Mode</bd-h>
282
+ <bd-p kind="small" style="color: #64748b;">
283
+ Automatically pauses notifications and updates during gaming sessions.
284
+ </bd-p>
285
+ </div>
286
+ </div>
135
287
  </bd-accordion-bg-item>
136
288
  </bd-accordion-bg>
137
289
  `;
138
- ContainerNoBackground.parameters = {
290
+ ProductFeatures.parameters = {
139
291
  docs: {
140
292
  description: {
141
- story: 'Accordion container with no-bg attribute, making all items transparent by default.'
293
+ story: 'Product features showcase using the no-background variant with pre-opened sections and rich content including tags, feature lists, and detailed descriptions.'
142
294
  }
143
295
  }
144
296
  };
145
297
 
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>
298
+ export const InstallationGuide = () => html`
299
+ <bd-accordion-bg title="Installation & Setup Guide">
300
+ <bd-accordion-bg-item title="System Requirements">
301
+ <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem;">
302
+ <div>
303
+ <bd-h as="h4" style="color: #3b82f6; margin-bottom: 0.5rem;">Windows</bd-h>
304
+ <bd-p kind="small" style="color: #64748b;">
305
+ Windows 10/11 (64-bit)<br>
306
+ 2GB RAM minimum<br>
307
+ 2.5GB free space<br>
308
+ Internet connection
309
+ </bd-p>
310
+ </div>
311
+ <div>
312
+ <bd-h as="h4" style="color: #3b82f6; margin-bottom: 0.5rem;">macOS</bd-h>
313
+ <bd-p kind="small" style="color: #64748b;">
314
+ • macOS 10.14+<br>
315
+ • 2GB RAM minimum<br>
316
+ • 2GB free space<br>
317
+ • Internet connection
318
+ </bd-p>
319
+ </div>
320
+ <div>
321
+ <bd-h as="h4" style="color: #3b82f6; margin-bottom: 0.5rem;">Mobile</bd-h>
322
+ <bd-p kind="small" style="color: #64748b;">
323
+ • Android 6.0+<br>
324
+ • iOS 13.0+<br>
325
+ • 500MB free space
326
+ </bd-p>
327
+ </div>
159
328
  </div>
160
329
  </bd-accordion-bg-item>
161
330
 
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;">
331
+ <bd-accordion-bg-item title="Download & Installation">
332
+ <div style="display: flex; flex-direction: column; gap: 1.5rem;">
333
+ <div style="display: flex; gap: 1rem; align-items: start;">
334
+ <div style="background: #3b82f6; color: white; border-radius: 50%; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; flex-shrink: 0;">1</div>
167
335
  <div>
168
- <bd-h as="h4">VPN</bd-h>
169
- <bd-p kind="regular">200MB/day included</bd-p>
336
+ <bd-h as="h5" style="margin-bottom: 0.25rem;">Download Installer</bd-h>
337
+ <bd-p kind="small" style="color: #64748b;">
338
+ Visit our website and download the appropriate installer for your operating system.
339
+ </bd-p>
170
340
  </div>
341
+ </div>
342
+
343
+ <div style="display: flex; gap: 1rem; align-items: start;">
344
+ <div style="background: #3b82f6; color: white; border-radius: 50%; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; flex-shrink: 0;">2</div>
171
345
  <div>
172
- <bd-h as="h4">Password Manager</bd-h>
173
- <bd-p kind="regular">Secure credential storage</bd-p>
346
+ <bd-h as="h5" style="margin-bottom: 0.25rem;">Run Installation</bd-h>
347
+ <bd-p kind="small" style="color: #64748b;">
348
+ Double-click the downloaded file and follow the on-screen instructions.
349
+ </bd-p>
174
350
  </div>
351
+ </div>
352
+
353
+ <div style="display: flex; gap: 1rem; align-items: start;">
354
+ <div style="background: #3b82f6; color: white; border-radius: 50%; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; flex-shrink: 0;">3</div>
175
355
  <div>
176
- <bd-h as="h4">Webcam Protection</bd-h>
177
- <bd-p kind="regular">Block unauthorized access</bd-p>
356
+ <bd-h as="h5" style="margin-bottom: 0.25rem;">Activate Product</bd-h>
357
+ <bd-p kind="small" style="color: #64748b;">
358
+ Enter your activation code or sign in to your Bitdefender account.
359
+ </bd-p>
178
360
  </div>
179
361
  </div>
180
362
  </div>
181
363
  </bd-accordion-bg-item>
182
364
 
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>
365
+ <bd-accordion-bg-item title="Initial Setup">
366
+ <bd-p kind="regular">
367
+ After installation, we recommend running the initial setup wizard to configure your protection
368
+ settings and schedule your first system scan.
369
+ </bd-p>
370
+ <bd-p kind="small" style="color: #64748b; margin-top: 1rem;">
371
+ The setup process typically takes 5-10 minutes and includes security optimization recommendations.
372
+ </bd-p>
206
373
  </bd-accordion-bg-item>
207
374
  </bd-accordion-bg>
208
375
  `;
209
- WithCustomContent.parameters = {
376
+ InstallationGuide.parameters = {
210
377
  docs: {
211
378
  description: {
212
- story: 'Accordion with rich custom content including lists, tables, and formatted text.'
379
+ story: 'Step-by-step installation guide using accordion sections with numbered steps, system requirements, and setup instructions in an organized, easy-to-follow format.'
213
380
  }
214
381
  }
215
382
  };
216
383
 
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>
384
+ export const AccessibilityExample = () => html`
385
+ <div style="max-width: 800px; margin: 0 auto; padding: 2rem;">
386
+ <bd-h as="h2">Accessible Accordion Implementation</bd-h>
387
+ <bd-p kind="regular" style="margin-bottom: 2rem;">
388
+ This accordion component includes full accessibility support with proper ARIA attributes,
389
+ keyboard navigation, and screen reader compatibility.
390
+ </bd-p>
227
391
 
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>
392
+ <bd-accordion-bg title="Accessibility Features" no-bg>
393
+ <bd-accordion-bg-item title="Keyboard Navigation">
394
+ <bd-p kind="regular">
395
+ All accordion items can be navigated using keyboard controls:
396
+ </bd-p>
397
+ <ul style="margin: 1rem 0; padding-left: 1.5rem; color: #374151;">
398
+ <li><strong>Tab:</strong> Navigate between accordion items</li>
399
+ <li><strong>Enter/Space:</strong> Open or close the selected item</li>
400
+ <li><strong>Arrow keys:</strong> Navigate between items (when implemented in container)</li>
401
+ </ul>
402
+ </bd-accordion-bg-item>
237
403
 
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>
404
+ <bd-accordion-bg-item title="Screen Reader Support">
405
+ <bd-p kind="regular">
406
+ Proper ARIA attributes ensure screen readers can accurately convey the accordion state:
407
+ </bd-p>
408
+ <div style="background: #f8fafc; padding: 1rem; border-radius: 8px; margin-top: 1rem;">
409
+ <bd-p kind="small" style="color: #64748b; margin: 0;">
410
+ <code>aria-expanded</code> - indicates open/closed state<br>
411
+ <code>aria-controls</code> - associates button with content<br>
412
+ <code>role="region"</code> - identifies content area<br>
413
+ <code>aria-labelledby</code> - labels content with button
414
+ </bd-p>
415
+ </div>
416
+ </bd-accordion-bg-item>
417
+
418
+ <bd-accordion-bg-item title="Focus Management">
419
+ <bd-p kind="regular">
420
+ Clear focus indicators and proper focus management ensure users can easily navigate
421
+ and understand their current position within the accordion.
422
+ </bd-p>
423
+ <bd-p kind="small" style="color: #64748b; margin-top: 1rem;">
424
+ Try tabbing through this accordion to see the focus indicators in action.
425
+ </bd-p>
426
+ </bd-accordion-bg-item>
427
+ </bd-accordion-bg>
428
+ </div>
247
429
  `;
248
- AccessibilityDemo.parameters = {
430
+ AccessibilityExample.parameters = {
249
431
  docs: {
250
432
  description: {
251
- story: 'Demonstration of accessibility features including keyboard navigation and ARIA attributes.'
433
+ story: 'Accessibility-focused example demonstrating keyboard navigation, screen reader support, and proper ARIA attributes with detailed explanations of each accessibility feature.'
252
434
  }
253
435
  }
254
436
  };
255
437
 
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 = {
438
+ export const InteractivePlayground = AccordionItemTemplate.bind({});
439
+ InteractivePlayground.args = {
440
+ title : 'Customize this accordion item',
441
+ open : false,
442
+ noBg : false,
443
+ content: 'This is a customizable accordion item. Use the controls panel to modify the title, open state, and background styling.'
444
+ };
445
+ InteractivePlayground.parameters = {
276
446
  docs: {
277
447
  description: {
278
- story: 'Accordion demonstrating different paragraph styles (regular and small).'
448
+ story: 'Interactive playground where you can test accordion item properties in real-time. Use the controls panel to modify the title, open state, and background styling options.'
279
449
  }
280
450
  }
281
451
  };