@repobit/dex-system-design 0.21.1 → 0.22.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 (53) hide show
  1. package/CHANGELOG.md +20 -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-nav.js +1 -0
  8. package/src/components/anchor/anchor.stories.js +134 -76
  9. package/src/components/back/back.css.js +1 -1
  10. package/src/components/back/back.stories.js +301 -63
  11. package/src/components/badge/badge.js +4 -7
  12. package/src/components/badge/badge.stories.js +89 -96
  13. package/src/components/breadcrumb/breadcrumb.stories.js +167 -3
  14. package/src/components/cards/card.stories.js +153 -3
  15. package/src/components/display/display.css.js +7 -10
  16. package/src/components/display/display.js +14 -2
  17. package/src/components/display/display.stories.js +213 -219
  18. package/src/components/divider/divider.stories.js +337 -30
  19. package/src/components/footer/footer-lp.stories.js +346 -3
  20. package/src/components/footer/footer.js +0 -3
  21. package/src/components/footer/footer.stories.js +267 -4
  22. package/src/components/header/header.css.js +1 -1
  23. package/src/components/header/header.js +81 -56
  24. package/src/components/header/header.stories.js +298 -22
  25. package/src/components/heading/heading.css.js +1 -1
  26. package/src/components/heading/heading.stories.js +355 -113
  27. package/src/components/image/image.css.js +146 -98
  28. package/src/components/image/image.js +13 -2
  29. package/src/components/image/image.stories.js +546 -160
  30. package/src/components/input/custom-form.stories.js +209 -12
  31. package/src/components/link/link.css.js +2 -2
  32. package/src/components/link/link.stories.js +383 -53
  33. package/src/components/paragraph/paragraph.css.js +1 -1
  34. package/src/components/paragraph/paragraph.stories.js +365 -157
  35. package/src/components/picture/picture.css.js +209 -0
  36. package/src/components/picture/picture.js +16 -2
  37. package/src/components/picture/picture.stories.js +525 -180
  38. package/src/components/pricing-cards/new-pricing-card.js +19 -4
  39. package/src/components/pricing-cards/new-pricing-card.stories.js +422 -0
  40. package/src/components/pricing-cards/new-pricing.css.js +8 -0
  41. package/src/components/pricing-cards/pricing-card-actions.js +50 -9
  42. package/src/components/pricing-cards/pricing-card-container.css.js +1 -1
  43. package/src/components/pricing-cards/pricing-card-header.css.js +73 -63
  44. package/src/components/pricing-cards/pricing-card-header.js +44 -10
  45. package/src/components/pricing-cards/pricing-card-pricing.js +63 -64
  46. package/src/components/pricing-cards/pricing-card.css.js +7 -15
  47. package/src/components/pricing-cards/pricing-card.js +354 -271
  48. package/src/components/pricing-cards/pricing-card.stories.js +3 -3
  49. package/src/tokens/fonts.stories.js +335 -8
  50. package/src/tokens/spacing.stories.js +701 -34
  51. package/src/tokens/tokens-grid.stories.js +897 -48
  52. package/src/tokens/typography.stories.js +980 -38
  53. package/src/components/accordion/accordion-light.stories.js +0 -241
@@ -6,230 +6,438 @@ import './paragraph.js';
6
6
  export default {
7
7
  title : 'Atoms/Paragraph',
8
8
  component: 'bd-p',
9
+ tags : ['autodocs'],
9
10
  argTypes : {
10
11
  kind: {
11
12
  control : { type: 'select' },
12
13
  options : ['regular', 'large', 'small', 'lead'],
13
- description: 'Paragraph size variant'
14
+ description: 'Paragraph size and emphasis variant',
15
+ table : {
16
+ type : { summary: 'string' },
17
+ defaultValue: { summary: 'regular' }
18
+ }
19
+ },
20
+ align: {
21
+ control : { type: 'select' },
22
+ options : ['left', 'center', 'right', 'justify'],
23
+ description: 'Text alignment',
24
+ table : {
25
+ type : { summary: 'string' },
26
+ defaultValue: { summary: 'left' }
27
+ }
28
+ },
29
+ color: {
30
+ control : 'color',
31
+ description: 'Custom text color',
32
+ table : {
33
+ type : { summary: 'string' },
34
+ defaultValue: { summary: 'inherit' }
35
+ }
14
36
  },
15
37
  content: {
16
38
  control : 'text',
17
- description: 'Paragraph text content'
39
+ description: 'Paragraph text content',
40
+ table : {
41
+ type : { summary: 'string' },
42
+ defaultValue: { summary: 'Paragraph text' }
43
+ }
18
44
  }
19
45
  },
20
46
  parameters: {
21
47
  docs: {
22
48
  description: {
23
- component: 'A customizable paragraph component with consistent typography and multiple size variants.'
49
+ component: 'A flexible paragraph component with consistent typography, multiple size variants, and alignment options. Designed for optimal readability and content hierarchy.'
24
50
  }
25
51
  }
26
52
  }
27
53
  };
28
54
 
29
- const Template = ({ kind, content }) => html`
30
- <bd-p kind="${kind}">${content}</bd-p>
55
+ const Template = ({ kind, align, color, content }) => html`
56
+ <bd-p
57
+ kind="${kind}"
58
+ style="${align ? `text-align: ${align};` : ''} ${color ? `color: ${color};` : ''}"
59
+ >
60
+ ${content}
61
+ </bd-p>
31
62
  `;
32
63
 
64
+ // ============ STORIES ============
65
+
66
+ export const Default = Template.bind({});
67
+ Default.args = {
68
+ kind : 'regular',
69
+ align : 'left',
70
+ color : '',
71
+ content: 'Default paragraph with regular styling for standard body text content.'
72
+ };
73
+ Default.parameters = {
74
+ docs: {
75
+ description: {
76
+ story: 'Default paragraph component with regular size and left alignment. Perfect for most body text content throughout the application.'
77
+ }
78
+ }
79
+ };
80
+
33
81
  export const AllVariants = () => html`
34
- <div style="display: flex; flex-direction: column; gap: 2rem; max-width: 600px;">
35
- <div>
36
- <bd-p kind="lead">Lead Paragraph - This is a lead paragraph with larger text to introduce content.</bd-p>
37
- </div>
82
+ <div style="display: flex; flex-direction: column; gap: 2rem; max-width: 800px; margin: 0 auto; padding: 2rem;">
83
+ <bd-h as="h2" style="margin-bottom: 1rem;">All Paragraph Variants</bd-h>
84
+ <bd-p kind="regular" style="margin-bottom: 2rem;">
85
+ Explore all available paragraph variants with their specific use cases and typographic characteristics.
86
+ </bd-p>
38
87
 
39
- <div>
40
- <bd-p kind="large">Large Paragraph - This is a large paragraph for emphasized content that needs more attention.</bd-p>
88
+ <div style="border: 2px solid #e2e8f0; padding: 2rem; border-radius: 8px;">
89
+ <bd-p kind="lead" style="margin-bottom: 1rem;">Lead Paragraph - Introduction and Emphasis</bd-p>
90
+ <bd-p kind="regular" style="color: #64748b;">
91
+ <strong>Use case:</strong> Introductory text, article openings, key summaries<br>
92
+ <strong>CSS Variables:</strong> --typography-paragraph-lead-fontSize, --typography-paragraph-lead-lineHeight<br>
93
+ <strong>Characteristics:</strong> Larger font size, increased line height for better readability
94
+ </bd-p>
41
95
  </div>
42
-
43
- <div>
44
- <bd-p kind="regular">Regular Paragraph - This is the standard paragraph size for most body text content throughout the application.</bd-p>
96
+
97
+ <div style="border: 2px solid #e2e8f0; padding: 2rem; border-radius: 8px;">
98
+ <bd-p kind="large" style="margin-bottom: 1rem;">Large Paragraph - Emphasized Content</bd-p>
99
+ <bd-p kind="regular" style="color: #64748b;">
100
+ <strong>Use case:</strong> Important content, feature highlights, prominent sections<br>
101
+ <strong>CSS Variables:</strong> --typography-paragraph-large-fontSize, --typography-paragraph-large-lineHeight<br>
102
+ <strong>Characteristics:</strong> Slightly larger than regular, maintains hierarchy
103
+ </bd-p>
45
104
  </div>
46
-
47
- <div>
48
- <bd-p kind="small">Small Paragraph - This is a small paragraph for secondary information, captions, or less important content.</bd-p>
105
+
106
+ <div style="border: 2px solid #e2e8f0; padding: 2rem; border-radius: 8px;">
107
+ <bd-p kind="regular" style="margin-bottom: 1rem;">Regular Paragraph - Standard Body Text</bd-p>
108
+ <bd-p kind="regular" style="color: #64748b;">
109
+ <strong>Use case:</strong> Main content, article body, standard text blocks<br>
110
+ <strong>CSS Variables:</strong> --typography-paragraph-regular-fontSize, --typography-paragraph-regular-lineHeight<br>
111
+ <strong>Characteristics:</strong> Balanced size and spacing for optimal reading
112
+ </bd-p>
113
+ </div>
114
+
115
+ <div style="border: 2px solid #e2e8f0; padding: 2rem; border-radius: 8px;">
116
+ <bd-p kind="small" style="margin-bottom: 1rem;">Small Paragraph - Secondary Information</bd-p>
117
+ <bd-p kind="regular" style="color: #64748b;">
118
+ <strong>Use case:</strong> Captions, footnotes, legal text, supplementary info<br>
119
+ <strong>CSS Variables:</strong> --typography-paragraph-small-fontSize, --typography-paragraph-small-lineHeight<br>
120
+ <strong>Characteristics:</strong> Compact size, reduced visual weight
121
+ </bd-p>
49
122
  </div>
50
123
  </div>
51
124
  `;
125
+ AllVariants.parameters = {
126
+ docs: {
127
+ description: {
128
+ story: 'Comprehensive overview of all paragraph variants with detailed usage guidelines, CSS variable references, and typographic characteristics for each size option.'
129
+ }
130
+ }
131
+ };
52
132
 
53
- export const InCardContext = () => html`
54
- <bd-card-section title="Product Features">
55
- <bd-card-item
56
- title="Advanced Protection"
57
- icon="/api/placeholder/40/40"
58
- align="center"
59
- >
60
- <bd-p kind="regular">Comprehensive security against malware, ransomware, and online threats with real-time scanning and behavioral analysis.</bd-p>
61
- <bd-p kind="small">Includes automatic threat detection and removal</bd-p>
62
- </bd-card-item>
63
-
64
- <bd-card-item
65
- title="Privacy Features"
66
- icon="/api/placeholder/40/40"
67
- align="center"
68
- >
69
- <bd-p kind="lead">Protect your personal information with our complete privacy suite.</bd-p>
70
- <bd-p kind="regular">VPN, password manager, and webcam protection work together to keep your data secure from unauthorized access.</bd-p>
71
- </bd-card-item>
72
-
73
- <bd-card-item
74
- title="Performance Optimization"
75
- icon="/api/placeholder/40/40"
76
- align="center"
77
- >
78
- <bd-p kind="regular">Lightweight design ensures minimal impact on system resources while providing maximum protection.</bd-p>
79
- <bd-p kind="small">Uses less than 2% CPU on average</bd-p>
80
- <bd-p kind="small">Memory usage: ~150MB</bd-p>
81
- </bd-card-item>
82
- </bd-card-section>
133
+ export const Lead = Template.bind({});
134
+ Lead.args = {
135
+ kind : 'lead',
136
+ align : 'left',
137
+ color : '',
138
+ content: 'This is a lead paragraph designed for introductory text and key summaries. It features larger font size and increased line height for better readability and visual impact.'
139
+ };
140
+ Lead.parameters = {
141
+ docs: {
142
+ description: {
143
+ story: 'Lead paragraph variant - Use for introductory text, article openings, and key summaries. Features larger font size and increased line height for enhanced readability and visual prominence.'
144
+ }
145
+ }
146
+ };
147
+
148
+ export const Large = Template.bind({});
149
+ Large.args = {
150
+ kind : 'large',
151
+ align : 'left',
152
+ color : '',
153
+ content: 'This is a large paragraph for emphasized content that requires more attention. Perfect for highlighting important features or key information within your content.'
154
+ };
155
+ Large.parameters = {
156
+ docs: {
157
+ description: {
158
+ story: 'Large paragraph variant - Ideal for important content, feature highlights, and prominent sections that need slightly more emphasis than regular body text while maintaining proper hierarchy.'
159
+ }
160
+ }
161
+ };
162
+
163
+ export const Regular = Template.bind({});
164
+ Regular.args = {
165
+ kind : 'regular',
166
+ align : 'left',
167
+ color : '',
168
+ content: 'This is a regular paragraph with standard body text styling. It provides the perfect balance of readability and space efficiency for most content throughout your application.'
169
+ };
170
+ Regular.parameters = {
171
+ docs: {
172
+ description: {
173
+ story: 'Regular paragraph variant - The default choice for main content, article body, and standard text blocks. Offers optimal readability with balanced typographic proportions.'
174
+ }
175
+ }
176
+ };
177
+
178
+ export const Small = Template.bind({});
179
+ Small.args = {
180
+ kind : 'small',
181
+ align : 'left',
182
+ color : '',
183
+ content: 'This is a small paragraph designed for secondary information, captions, and supplementary content. It maintains readability while reducing visual weight.'
184
+ };
185
+ Small.parameters = {
186
+ docs: {
187
+ description: {
188
+ story: 'Small paragraph variant - Perfect for captions, footnotes, legal text, and supplementary information where reduced visual weight and compact spacing are desired.'
189
+ }
190
+ }
191
+ };
192
+
193
+ export const TextAlignment = () => html`
194
+ <div style="display: flex; flex-direction: column; gap: 2rem; max-width: 800px; margin: 0 auto; padding: 2rem;">
195
+ <bd-h as="h2" style="margin-bottom: 1rem;">Text Alignment Options</bd-h>
196
+ <bd-p kind="regular" style="margin-bottom: 2rem;">
197
+ Different text alignment options for various content contexts and design requirements.
198
+ </bd-p>
199
+
200
+ <div style="border: 2px solid #e2e8f0; padding: 2rem; border-radius: 8px;">
201
+ <bd-p kind="large" style="text-align: left; margin-bottom: 1rem;">Left Aligned Paragraph</bd-p>
202
+ <bd-p kind="regular" style="text-align: left; color: #64748b;">
203
+ Default alignment. Best for most content, articles, and body text. Provides optimal readability for left-to-right languages and follows natural reading patterns.
204
+ </bd-p>
205
+ </div>
206
+
207
+ <div style="border: 2px solid #e2e8f0; padding: 2rem; border-radius: 8px;">
208
+ <bd-p kind="large" style="text-align: center; margin-bottom: 1rem;">Center Aligned Paragraph</bd-p>
209
+ <bd-p kind="regular" style="text-align: center; color: #64748b;">
210
+ Ideal for short quotes, testimonials, and introductory text. Creates visual balance and emphasis for specific content pieces that need to stand out.
211
+ </bd-p>
212
+ </div>
213
+
214
+ <div style="border: 2px solid #e2e8f0; padding: 2rem; border-radius: 8px;">
215
+ <bd-p kind="large" style="text-align: right; margin-bottom: 1rem;">Right Aligned Paragraph</bd-p>
216
+ <bd-p kind="regular" style="text-align: right; color: #64748b;">
217
+ Useful for asymmetric layouts, captions, and specific design compositions. Use sparingly for intentional visual effects and creative typographic treatments.
218
+ </bd-p>
219
+ </div>
220
+
221
+ <div style="border: 2px solid #e2e8f0; padding: 2rem; border-radius: 8px;">
222
+ <bd-p kind="large" style="text-align: justify; margin-bottom: 1rem;">Justified Paragraph</bd-p>
223
+ <bd-p kind="regular" style="text-align: justify; color: #64748b;">
224
+ Creates clean edges on both sides of the text block. Best for formal documents, printed materials, and content where precise alignment is important. May require hyphenation for optimal results in longer texts.
225
+ </bd-p>
226
+ </div>
227
+ </div>
83
228
  `;
84
- InCardContext.parameters = {
229
+ TextAlignment.parameters = {
85
230
  docs: {
86
231
  description: {
87
- story: 'Paragraph variants used within card components to demonstrate real-world usage patterns.'
232
+ story: 'Demonstration of different text alignment options with recommendations for when to use left, center, right, or justified alignment based on content type and design context.'
88
233
  }
89
234
  }
90
235
  };
91
236
 
92
- export const MixedCardLayouts = () => html`
93
- <div style="display: flex; flex-direction: column; gap: 3rem;">
237
+ export const ColorCustomization = () => html`
238
+ <div style="display: flex; flex-direction: column; gap: 2rem; max-width: 800px; margin: 0 auto; padding: 2rem;">
239
+ <bd-h as="h2" style="margin-bottom: 1rem;">Color Customization Examples</bd-h>
240
+ <bd-p kind="regular" style="margin-bottom: 2rem;">
241
+ Paragraphs can be customized with different colors to match various contexts, themes, and semantic meanings.
242
+ </bd-p>
94
243
 
95
- <bd-card-section title="Security Solutions">
96
- <bd-card-item
97
- title="Antivirus Protection"
98
- align="start"
99
- >
100
- <bd-p kind="regular">Real-time protection against viruses, malware, and spyware with advanced heuristic detection.</bd-p>
101
- <bd-p kind="small">Updated virus definitions multiple times daily</bd-p>
102
- </bd-card-item>
244
+ <div style="background: #1e293b; padding: 2rem; border-radius: 8px;">
245
+ <bd-p kind="large" style="color: #ffffff; margin-bottom: 1rem;">White Text on Dark Background</bd-p>
246
+ <bd-p kind="regular" style="color: #cbd5e1;">
247
+ Perfect for dark theme sections, hero areas, and high-contrast designs. Maintains excellent readability while providing sophisticated visual appeal.
248
+ </bd-p>
249
+ </div>
103
250
 
104
- <bd-card-item
105
- title="Firewall"
106
- align="start"
107
- >
108
- <bd-p kind="large">Intelligent firewall monitors all network traffic</bd-p>
109
- <bd-p kind="regular">Blocks unauthorized access attempts and suspicious connections automatically.</bd-p>
110
- </bd-card-item>
251
+ <div style="background: #dbeafe; padding: 2rem; border-radius: 8px;">
252
+ <bd-p kind="large" style="color: #1e40af; margin-bottom: 1rem;">Primary Brand Color</bd-p>
253
+ <bd-p kind="regular" style="color: #374151;">
254
+ Using brand colors for visual consistency and emphasis. Helps maintain brand identity across different content sections and application areas.
255
+ </bd-p>
256
+ </div>
257
+
258
+ <div style="background: #f0fdf4; padding: 2rem; border-radius: 8px;">
259
+ <bd-p kind="large" style="color: #166534; margin-bottom: 1rem;">Success Green Color</bd-p>
260
+ <bd-p kind="regular" style="color: #374151;">
261
+ Color coding for success states, positive outcomes, and confirmation messages. Provides clear visual feedback for successful operations.
262
+ </bd-p>
263
+ </div>
264
+
265
+ <div style="background: #fef2f2; padding: 2rem; border-radius: 8px;">
266
+ <bd-p kind="large" style="color: #dc2626; margin-bottom: 1rem;">Error Red Color</bd-p>
267
+ <bd-p kind="regular" style="color: #374151;">
268
+ Using red for error states, warnings, and critical information. Draws attention to important alerts and requires-action content.
269
+ </bd-p>
270
+ </div>
111
271
 
272
+ <div style="background: #f8fafc; padding: 2rem; border-radius: 8px;">
273
+ <bd-p kind="large" style="color: #6b7280; margin-bottom: 1rem;">Neutral Gray Color</bd-p>
274
+ <bd-p kind="regular" style="color: #374151;">
275
+ Subtle gray tones for secondary content, disabled states, and low-emphasis information. Maintains readability while reducing visual weight.
276
+ </bd-p>
277
+ </div>
278
+ </div>
279
+ `;
280
+ ColorCustomization.parameters = {
281
+ docs: {
282
+ description: {
283
+ story: 'Examples of color customization for paragraphs in different contexts including dark themes, brand colors, semantic color coding, and accessibility considerations.'
284
+ }
285
+ }
286
+ };
287
+
288
+ export const ContentHierarchy = () => html`
289
+ <div style="max-width: 800px; margin: 0 auto; padding: 2rem;">
290
+ <bd-h as="h1">Cybersecurity Best Practices Guide</bd-h>
291
+ <bd-p kind="lead" style="margin-bottom: 2rem;">
292
+ Protecting your digital assets requires a comprehensive approach that combines advanced technology with user awareness and proper security protocols.
293
+ </bd-p>
294
+
295
+ <bd-h as="h2">Threat Prevention Strategies</bd-h>
296
+ <bd-p kind="large" style="margin-bottom: 1rem;">
297
+ Implementing proactive security measures is essential for preventing cyber attacks before they can cause damage to your systems and data.
298
+ </bd-p>
299
+ <bd-p kind="regular" style="margin-bottom: 2rem;">
300
+ Regular software updates, strong password policies, and employee training form the foundation of effective threat prevention. These basic measures, when consistently applied, can prevent the majority of common cyber attacks targeting organizations today.
301
+ </bd-p>
302
+
303
+ <bd-h as="h3">Real-time Monitoring</bd-h>
304
+ <bd-p kind="regular" style="margin-bottom: 1.5rem;">
305
+ Continuous monitoring of network traffic and system activities allows for immediate detection of suspicious behavior and potential security breaches.
306
+ </bd-p>
307
+ <bd-p kind="small" style="color: #64748b; margin-bottom: 2rem;">
308
+ Monitoring systems should be configured to alert security personnel of any anomalous activities that deviate from established baseline patterns.
309
+ </bd-p>
310
+
311
+ <bd-h as="h2">Incident Response Planning</bd-h>
312
+ <bd-p kind="regular" style="margin-bottom: 1.5rem;">
313
+ Having a well-defined incident response plan ensures that your organization can quickly and effectively respond to security incidents when they occur.
314
+ </bd-p>
315
+ <bd-p kind="small" style="color: #64748b;">
316
+ Response plans should include clear escalation procedures, communication protocols, and recovery steps tailored to different types of security incidents.
317
+ </bd-p>
318
+ </div>
319
+ `;
320
+ ContentHierarchy.parameters = {
321
+ docs: {
322
+ description: {
323
+ story: 'Demonstrates proper content hierarchy using different paragraph variants in combination with headings. Shows how lead, large, regular, and small paragraphs work together to create clear information structure and reading flow.'
324
+ }
325
+ }
326
+ };
327
+
328
+ export const InCardContext = () => html`
329
+ <div style="max-width: 1000px; margin: 0 auto; padding: 2rem;">
330
+ <bd-h as="h2" style="margin-bottom: 2rem; text-align: center;">Security Product Features</bd-h>
331
+
332
+ <bd-card-section title="Core Protection Features">
112
333
  <bd-card-item
113
- title="Web Protection"
114
- align="start"
334
+ title="Advanced Threat Detection"
335
+ icon="/api/placeholder/40/40"
336
+ align="center"
115
337
  >
116
- <bd-p kind="regular">Safe browsing technology blocks malicious websites and phishing attempts before they can harm your system.</bd-p>
117
- <bd-p kind="small">Protects against zero-day threats</bd-p>
338
+ <bd-p kind="lead" style="text-align: center;">Real-time protection against evolving cyber threats</bd-p>
339
+ <bd-p kind="regular" style="text-align: center;">
340
+ Comprehensive security against malware, ransomware, and online threats with advanced behavioral analysis and machine learning algorithms.
341
+ </bd-p>
342
+ <bd-p kind="small" style="text-align: center; color: #64748b;">
343
+ Includes automatic threat detection, quarantine, and removal capabilities
344
+ </bd-p>
118
345
  </bd-card-item>
119
- </bd-card-section>
120
346
 
121
- <bd-card-section title="Additional Features">
122
347
  <bd-card-item
123
- title="Parental Control"
348
+ title="Privacy & Identity Protection"
124
349
  icon="/api/placeholder/40/40"
125
350
  align="center"
126
351
  >
127
- <bd-p kind="lead">Keep your family safe online</bd-p>
128
- <bd-p kind="regular">Monitor and control internet usage, block inappropriate content, and set time limits for children's devices.</bd-p>
352
+ <bd-p kind="large" style="text-align: center;">Safeguard your personal information</bd-p>
353
+ <bd-p kind="regular" style="text-align: center;">
354
+ VPN, password manager, and webcam protection work together to keep your data secure from unauthorized access and identity theft.
355
+ </bd-p>
356
+ <bd-p kind="small" style="text-align: center; color: #64748b;">
357
+ Military-grade encryption for all sensitive data transmission
358
+ </bd-p>
129
359
  </bd-card-item>
130
360
 
131
361
  <bd-card-item
132
- title="File Encryption"
362
+ title="Performance Optimization"
133
363
  icon="/api/placeholder/40/40"
134
364
  align="center"
135
365
  >
136
- <bd-p kind="regular">Secure your sensitive files with military-grade encryption to prevent unauthorized access.</bd-p>
137
- <bd-p kind="small">AES-256 encryption standard</bd-p>
366
+ <bd-p kind="regular" style="text-align: center;">
367
+ Lightweight design ensures minimal impact on system resources while providing maximum protection and security coverage.
368
+ </bd-p>
369
+ <bd-p kind="small" style="text-align: center; color: #64748b;">
370
+ Average CPU usage: less than 2% • Memory usage: ~150MB
371
+ </bd-p>
372
+ <bd-p kind="small" style="text-align: center; color: #64748b;">
373
+ Compatible with all major operating systems and devices
374
+ </bd-p>
138
375
  </bd-card-item>
139
376
  </bd-card-section>
140
-
141
377
  </div>
142
378
  `;
143
- MixedCardLayouts.parameters = {
379
+ InCardContext.parameters = {
144
380
  docs: {
145
381
  description: {
146
- story: 'Different card layouts showing various paragraph variants in context with centered and start-aligned content.'
382
+ story: 'Real-world example showing paragraph variants used within card components. Demonstrates how different paragraph sizes create clear hierarchy and improve content organization in feature cards and product descriptions.'
147
383
  }
148
384
  }
149
385
  };
150
386
 
151
- export const CardWithDifferentParagraphStyles = () => html`
152
- <bd-card-section title="Feature Details">
153
- <bd-card-item
154
- title="Complete Security Suite"
155
- align="center"
156
- >
157
- <bd-p kind="lead">All-in-one protection for your digital life</bd-p>
158
- <bd-p kind="regular">Our comprehensive security suite combines multiple layers of protection to safeguard your devices, data, and privacy from evolving cyber threats.</bd-p>
159
- <bd-p kind="small">Compatible with Windows, Mac, Android, and iOS</bd-p>
160
- </bd-card-item>
161
-
162
- <bd-card-item
163
- title="System Requirements"
164
- align="start"
165
- >
166
- <bd-p kind="large">Minimum system specifications</bd-p>
167
- <bd-p kind="regular">To ensure optimal performance, your system should meet the following requirements:</bd-p>
168
- <bd-p kind="small">• Operating System: Windows 10/11 or macOS 10.14+</bd-p>
169
- <bd-p kind="small">• Memory: 2GB RAM minimum</bd-p>
170
- <bd-p kind="small">• Storage: 2.5GB available space</bd-p>
171
- <bd-p kind="small">• Internet connection for updates</bd-p>
172
- </bd-card-item>
173
-
174
- <bd-card-item
175
- title="Technical Support"
176
- align="center"
177
- >
178
- <bd-p kind="regular">Our dedicated support team is available 24/7 to help with any issues or questions you may have.</bd-p>
179
- <bd-p kind="small">Response time: under 2 hours for critical issues</bd-p>
180
- <bd-p kind="small">Multiple support channels available</bd-p>
181
- </bd-card-item>
182
- </bd-card-section>
387
+ export const AccessibilityGuidelines = () => html`
388
+ <div style="max-width: 800px; margin: 0 auto; padding: 2rem;">
389
+ <bd-h as="h2">Accessibility Best Practices</bd-h>
390
+
391
+ <bd-p kind="lead" style="margin-bottom: 2rem;">
392
+ Proper paragraph styling is essential for creating accessible, readable content that works well for all users, including those with visual impairments or reading difficulties.
393
+ </bd-p>
394
+
395
+ <div style="background: #f0f9ff; padding: 2rem; border-radius: 8px; margin-bottom: 2rem;">
396
+ <bd-h as="h3" style="color: #0369a1;">✅ Accessible Typography</bd-h>
397
+ <bd-p kind="regular" style="margin-bottom: 1rem;">
398
+ All paragraph variants maintain WCAG AA compliance for contrast ratios and readability. The typographic scale ensures comfortable reading experiences across different content types.
399
+ </bd-p>
400
+ <bd-p kind="small" style="color: #64748b;">
401
+ • Minimum contrast ratio of 4.5:1 for normal text<br>
402
+ Line height optimized for readability<br>
403
+ Responsive font sizes for different viewports<br>
404
+ Clear hierarchy without relying solely on color
405
+ </bd-p>
406
+ </div>
407
+
408
+ <div style="background: #f8fafc; padding: 2rem; border-radius: 8px;">
409
+ <bd-h as="h3" style="color: #374151;">Screen Reader Compatibility</bd-h>
410
+ <bd-p kind="regular" style="margin-bottom: 1rem;">
411
+ Paragraph components provide proper semantic structure and are fully compatible with screen readers and other assistive technologies.
412
+ </bd-p>
413
+ <bd-p kind="small" style="color: #64748b;">
414
+ Semantic HTML structure<br>
415
+ Proper heading and paragraph relationships<br>
416
+ Logical reading order<br>
417
+ • Support for text resizing and zooming
418
+ </bd-p>
419
+ </div>
420
+ </div>
183
421
  `;
184
- CardWithDifferentParagraphStyles.parameters = {
422
+ AccessibilityGuidelines.parameters = {
185
423
  docs: {
186
424
  description: {
187
- story: 'Cards demonstrating the use of different paragraph styles (lead, large, regular, small) for varied content hierarchy.'
425
+ story: 'Accessibility guidelines and best practices for paragraph components, including contrast ratios, readability optimization, screen reader compatibility, and semantic HTML structure considerations.'
188
426
  }
189
427
  }
190
428
  };
191
429
 
192
- export const Regular = Template.bind({});
193
- Regular.args = {
430
+ export const InteractivePlayground = Template.bind({});
431
+ InteractivePlayground.args = {
194
432
  kind : 'regular',
195
- content: 'This is a regular paragraph with standard body text size.'
196
- };
197
-
198
- export const Large = Template.bind({});
199
- Large.args = {
200
- kind : 'large',
201
- content: 'This is a large paragraph for emphasized content.'
202
- };
203
-
204
- export const Small = Template.bind({});
205
- Small.args = {
206
- kind : 'small',
207
- content: 'This is a small paragraph for secondary information.'
208
- };
209
-
210
- export const Lead = Template.bind({});
211
- Lead.args = {
212
- kind : 'lead',
213
- content: 'This is a lead paragraph for introductory text.'
433
+ align : 'left',
434
+ color : '',
435
+ content: 'Customize this paragraph to see how different variants, alignments, and colors affect the appearance and readability of your text content.'
214
436
  };
215
-
216
- export const WithHeadings = () => html`
217
- <div style="max-width: 600px;">
218
- <bd-h as="h1">Main Section Title</bd-h>
219
- <bd-p kind="lead">This lead paragraph introduces the main section.</bd-p>
220
-
221
- <bd-h as="h2">Subsection Heading</bd-h>
222
- <bd-p kind="regular">This regular paragraph contains the main content details.</bd-p>
223
- </div>
224
- `;
225
-
226
- export const ContentHierarchy = () => html`
227
- <div style="max-width: 600px;">
228
- <bd-h as="h1">Product Overview</bd-h>
229
- <bd-p kind="lead">Our product offers comprehensive security solutions.</bd-p>
230
-
231
- <bd-p kind="regular">With real-time threat detection and automatic updates.</bd-p>
232
-
233
- <bd-p kind="small">System requirements may vary based on the specific product version.</bd-p>
234
- </div>
235
- `;
437
+ InteractivePlayground.parameters = {
438
+ docs: {
439
+ description: {
440
+ story: 'Interactive playground where you can test all paragraph properties in real-time. Use the controls panel to modify the paragraph variant, alignment, color, and content to see immediate results.'
441
+ }
442
+ }
443
+ };