@repobit/dex-system-design 0.21.2 → 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 (52) hide show
  1. package/CHANGELOG.md +11 -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
@@ -6,77 +6,126 @@ import './display.js';
6
6
  export default {
7
7
  title : 'Atoms/Display',
8
8
  component: 'bd-display',
9
+ tags : ['autodocs'],
9
10
  argTypes : {
10
11
  kind: {
11
12
  control : { type: 'select' },
12
- options : ['sm', 'md', 'lg', 'xl', '2xl', '3xl'],
13
- description: 'Display size variant'
13
+ options : ['sm', 'md', 'lg', 'xl', 'xxl', 'xxxl'],
14
+ description: 'Display size variant',
15
+ table : {
16
+ type : { summary: 'string' },
17
+ defaultValue: { summary: 'lg' }
18
+ }
19
+ },
20
+ color: {
21
+ control : 'color',
22
+ description: 'Custom text color',
23
+ table : {
24
+ type : { summary: 'string' },
25
+ defaultValue: { summary: 'inherit' }
26
+ }
14
27
  },
15
- content: {
16
- control : 'text',
17
- description: 'Display text content'
28
+ align: {
29
+ control : { type: 'select' },
30
+ options : ['left', 'center', 'right'],
31
+ description: 'Text alignment',
32
+ table : {
33
+ type : { summary: 'string' },
34
+ defaultValue: { summary: 'left' }
35
+ }
18
36
  }
19
37
  },
20
38
  parameters: {
21
39
  docs: {
22
40
  description: {
23
- component: 'Large display typography for hero sections, landing pages, and prominent headlines.'
41
+ component: 'Large display typography for hero sections, landing pages, and prominent headlines. Display text is designed for maximum visual impact while maintaining readability.'
24
42
  }
25
43
  }
26
44
  }
27
45
  };
28
46
 
29
- const Template = ({ kind, content }) => html`
30
- <bd-display kind="${kind}">${content}</bd-display>
47
+ const Template = ({ kind, color, align, content }) => html`
48
+ <bd-display
49
+ kind="${kind}"
50
+ color="${color}"
51
+ align="${align}"
52
+ >
53
+ ${content}
54
+ </bd-display>
31
55
  `;
32
56
 
57
+ // ============ STORIES ============
58
+
59
+ export const Default = Template.bind({});
60
+ Default.args = {
61
+ kind : 'lg',
62
+ color : '',
63
+ align : 'left',
64
+ content: 'Display Heading'
65
+ };
66
+ Default.parameters = {
67
+ docs: {
68
+ description: {
69
+ story: 'Default display component with medium-large size. Perfect for most prominent headings.'
70
+ }
71
+ }
72
+ };
73
+
33
74
  export const AllDisplaySizes = () => html`
34
- <div style="display: flex; flex-direction: column; gap: 3rem; max-width: 1200px; margin: 0 auto;">
75
+ <div style="display: flex; flex-direction: column; gap: 3rem; max-width: 1200px; margin: 0 auto; padding: 2rem;">
76
+ <bd-h as="h2" style="margin-bottom: 2rem;">All Display Size Variants</bd-h>
77
+
35
78
  <div style="border-bottom: 2px solid #e2e8f0; padding-bottom: 2rem;">
36
- <bd-display kind="3xl">Display 3XL - Largest Hero Text</bd-display>
37
- <bd-p kind="small" style="margin-top: 1rem;">
38
- Font size: var(--typography-display-3xl-fontSize)<br>
39
- Perfect for main hero sections on landing pages
79
+ <bd-display kind="xxxl">Display XXXL - Largest Hero Text</bd-display>
80
+ <bd-p kind="small" style="margin-top: 1rem; color: #64748b;">
81
+ <strong>Use case:</strong> Main hero sections on landing pages<br>
82
+ <strong>CSS Variable:</strong> --typography-display-xxxl-fontSize<br>
83
+ <strong>Recommended:</strong> Single prominent headline per page
40
84
  </bd-p>
41
85
  </div>
42
86
 
43
87
  <div style="border-bottom: 2px solid #e2e8f0; padding-bottom: 2rem;">
44
- <bd-display kind="2xl">Display 2XL - Major Headlines</bd-display>
45
- <bd-p kind="small" style="margin-top: 1rem;">
46
- Font size: var(--typography-display-2xl-fontSize)<br>
47
- Ideal for primary section titles and important announcements
88
+ <bd-display kind="xxl">Display XXL - Major Headlines</bd-display>
89
+ <bd-p kind="small" style="margin-top: 1rem; color: #64748b;">
90
+ <strong>Use case:</strong> Primary section titles and important announcements<br>
91
+ <strong>CSS Variable:</strong> --typography-display-xxl-fontSize<br>
92
+ <strong>Recommended:</strong> Key feature sections
48
93
  </bd-p>
49
94
  </div>
50
95
 
51
96
  <div style="border-bottom: 2px solid #e2e8f0; padding-bottom: 2rem;">
52
97
  <bd-display kind="xl">Display XL - Prominent Headers</bd-display>
53
- <bd-p kind="small" style="margin-top: 1rem;">
54
- Font size: var(--typography-display-xl-fontSize)<br>
55
- Great for feature highlights and key value propositions
98
+ <bd-p kind="small" style="margin-top: 1rem; color: #64748b;">
99
+ <strong>Use case:</strong> Feature highlights and value propositions<br>
100
+ <strong>CSS Variable:</strong> --typography-display-xl-fontSize<br>
101
+ <strong>Recommended:</strong> Secondary important sections
56
102
  </bd-p>
57
103
  </div>
58
104
 
59
105
  <div style="border-bottom: 2px solid #e2e8f0; padding-bottom: 2rem;">
60
106
  <bd-display kind="lg">Display LG - Standard Display</bd-display>
61
- <bd-p kind="small" style="margin-top: 1rem;">
62
- Font size: var(--typography-display-lg-fontSize)<br>
63
- Balanced display size for most prominent text needs
107
+ <bd-p kind="small" style="margin-top: 1rem; color: #64748b;">
108
+ <strong>Use case:</strong> Balanced display for most prominent text<br>
109
+ <strong>CSS Variable:</strong> --typography-display-lg-fontSize<br>
110
+ <strong>Recommended:</strong> Default choice for display text
64
111
  </bd-p>
65
112
  </div>
66
113
 
67
114
  <div style="border-bottom: 2px solid #e2e8f0; padding-bottom: 2rem;">
68
115
  <bd-display kind="md">Display MD - Compact Display</bd-display>
69
- <bd-p kind="small" style="margin-top: 1rem;">
70
- Font size: var(--typography-display-md-fontSize)<br>
71
- Smaller display for sections with less space
116
+ <bd-p kind="small" style="margin-top: 1rem; color: #64748b;">
117
+ <strong>Use case:</strong> Sections with limited space but needing impact<br>
118
+ <strong>CSS Variable:</strong> --typography-display-md-fontSize<br>
119
+ <strong>Recommended:</strong> Cards and compact layouts
72
120
  </bd-p>
73
121
  </div>
74
122
 
75
123
  <div>
76
124
  <bd-display kind="sm">Display SM - Minimal Display</bd-display>
77
- <bd-p kind="small" style="margin-top: 1rem;">
78
- Font size: var(--typography-display-sm-fontSize)<br>
79
- Smallest display size, still larger than regular headings
125
+ <bd-p kind="small" style="margin-top: 1rem; color: #64748b;">
126
+ <strong>Use case:</strong> Smallest display for subtle prominence<br>
127
+ <strong>CSS Variable:</strong> --typography-display-sm-fontSize<br>
128
+ <strong>Recommended:</strong> When you need hierarchy but space is limited
80
129
  </bd-p>
81
130
  </div>
82
131
  </div>
@@ -84,256 +133,201 @@ export const AllDisplaySizes = () => html`
84
133
  AllDisplaySizes.parameters = {
85
134
  docs: {
86
135
  description: {
87
- story: 'All display size variants from 3XL (largest) to SM (smallest) for comparison.'
136
+ story: 'Complete overview of all display size variants with usage recommendations and CSS variable references.'
88
137
  }
89
138
  }
90
139
  };
91
140
 
92
- export const Display3XL = Template.bind({});
93
- Display3XL.args = {
94
- kind : '3xl',
95
- content: 'Transform Your Digital Security'
96
- };
97
- Display3XL.parameters = {
141
+ export const TextAlignment = () => html`
142
+ <div style="display: flex; flex-direction: column; gap: 2rem; max-width: 1000px; margin: 0 auto; padding: 2rem;">
143
+ <bd-h as="h2" style="margin-bottom: 1rem;">Text Alignment Options</bd-h>
144
+
145
+ <div style="border: 2px solid #e2e8f0; padding: 2rem; border-radius: 8px;">
146
+ <bd-display kind="xl" align="left">
147
+ Left Aligned Display
148
+ </bd-display>
149
+ <bd-p kind="small" style="color: #64748b; margin-top: 1rem;">
150
+ Default alignment. Best for most content sections and body text.
151
+ </bd-p>
152
+ </div>
153
+
154
+ <div style="border: 2px solid #e2e8f0; padding: 2rem; border-radius: 8px;">
155
+ <bd-display kind="xl" align="center">
156
+ Center Aligned Display
157
+ </bd-display>
158
+ <bd-p kind="small" style="color: #64748b; margin-top: 1rem; text-align: center;">
159
+ Ideal for hero sections, testimonials, and feature highlights.
160
+ </bd-p>
161
+ </div>
162
+
163
+ <div style="border: 2px solid #e2e8f0; padding: 2rem; border-radius: 8px;">
164
+ <bd-display kind="xl" align="right">
165
+ Right Aligned Display
166
+ </bd-display>
167
+ <bd-p kind="small" style="color: #64748b; margin-top: 1rem; text-align: right;">
168
+ Useful for asymmetric layouts and creative designs.
169
+ </bd-p>
170
+ </div>
171
+ </div>
172
+ `;
173
+ TextAlignment.parameters = {
98
174
  docs: {
99
175
  description: {
100
- story: 'Largest display size for main hero sections and primary landing page headlines.'
176
+ story: 'Demonstrates different text alignment options for display components and their recommended use cases.'
101
177
  }
102
178
  }
103
179
  };
104
180
 
105
- export const Display2XL = Template.bind({});
106
- Display2XL.args = {
107
- kind : '2xl',
108
- content: 'Enterprise-Grade Protection'
109
- };
110
- Display2XL.parameters = {
181
+ export const ColorCustomization = () => html`
182
+ <div style="display: flex; flex-direction: column; gap: 2rem; max-width: 1000px; margin: 0 auto; padding: 2rem;">
183
+ <bd-h as="h2" style="margin-bottom: 1rem;">Color Customization</bd-h>
184
+
185
+ <div style="background: #1e293b; padding: 2rem; border-radius: 8px;">
186
+ <bd-display kind="xl" color="#ffffff">
187
+ White Text on Dark
188
+ </bd-display>
189
+ <bd-p kind="small" style="color: #cbd5e1; margin-top: 1rem;">
190
+ Perfect for dark theme sections and hero areas.
191
+ </bd-p>
192
+ </div>
193
+
194
+ <div style="background: #dbeafe; padding: 2rem; border-radius: 8px;">
195
+ <bd-display kind="xl" color="#1e40af">
196
+ Primary Brand Color
197
+ </bd-display>
198
+ <bd-p kind="small" style="color: #374151; margin-top: 1rem;">
199
+ Using brand colors for emphasis and visual consistency.
200
+ </bd-p>
201
+ </div>
202
+
203
+ <div style="background: #f0fdf4; padding: 2rem; border-radius: 8px;">
204
+ <bd-display kind="xl" color="#166534">
205
+ Success Green Color
206
+ </bd-display>
207
+ <bd-p kind="small" style="color: #374151; margin-top: 1rem;">
208
+ Color coding for specific contexts like success states.
209
+ </bd-p>
210
+ </div>
211
+
212
+ <div style="background: #fef2f2; padding: 2rem; border-radius: 8px;">
213
+ <bd-display kind="xl" color="#dc2626">
214
+ Error Red Color
215
+ </bd-display>
216
+ <bd-p kind="small" style="color: #374151; margin-top: 1rem;">
217
+ Using red for error states or important warnings.
218
+ </bd-p>
219
+ </div>
220
+ </div>
221
+ `;
222
+ ColorCustomization.parameters = {
111
223
  docs: {
112
224
  description: {
113
- story: 'Extra large display for major section titles and important feature announcements.'
225
+ story: 'Shows how display components can be customized with different colors for various contexts and themes.'
114
226
  }
115
227
  }
116
228
  };
117
229
 
118
- export const DisplayXL = Template.bind({});
119
- DisplayXL.args = {
120
- kind : 'xl',
121
- content: 'Advanced Threat Intelligence'
230
+ export const SizeXXXL = Template.bind({});
231
+ SizeXXXL.args = {
232
+ kind : 'xxxl',
233
+ color : '',
234
+ align : 'center',
235
+ content: 'Transform Your Digital Experience'
122
236
  };
123
- DisplayXL.parameters = {
237
+ SizeXXXL.parameters = {
124
238
  docs: {
125
239
  description: {
126
- story: 'Large display size for prominent headers and key value propositions.'
240
+ story: 'Largest display size (XXXL) - Use for primary hero sections on landing pages. Maximum visual impact.'
127
241
  }
128
242
  }
129
243
  };
130
244
 
131
- export const DisplayLG = Template.bind({});
132
- DisplayLG.args = {
133
- kind : 'lg',
134
- content: 'Real-Time Malware Detection'
245
+ export const SizeXXL = Template.bind({});
246
+ SizeXXL.args = {
247
+ kind : 'xxl',
248
+ color : '',
249
+ align : 'center',
250
+ content: 'Enterprise-Grade Solutions'
135
251
  };
136
- DisplayLG.parameters = {
252
+ SizeXXL.parameters = {
137
253
  docs: {
138
254
  description: {
139
- story: 'Standard display size for balanced prominence and readability.'
255
+ story: 'Extra large display (XXL) - Perfect for major section titles and important feature announcements.'
140
256
  }
141
257
  }
142
258
  };
143
259
 
144
- export const DisplayMD = Template.bind({});
145
- DisplayMD.args = {
146
- kind : 'md',
147
- content: 'Multi-Platform Security'
260
+ export const SizeXL = Template.bind({});
261
+ SizeXL.args = {
262
+ kind : 'xl',
263
+ color : '',
264
+ align : 'left',
265
+ content: 'Advanced Technology Platform'
148
266
  };
149
- DisplayMD.parameters = {
267
+ SizeXL.parameters = {
150
268
  docs: {
151
269
  description: {
152
- story: 'Medium display size for sections with limited space but still needing impact.'
270
+ story: 'Large display (XL) - Great for prominent headers and key value propositions in content sections.'
153
271
  }
154
272
  }
155
273
  };
156
274
 
157
- export const DisplaySM = Template.bind({});
158
- DisplaySM.args = {
159
- kind : 'sm',
160
- content: 'Privacy First Approach'
275
+ export const SizeLG = Template.bind({});
276
+ SizeLG.args = {
277
+ kind : 'lg',
278
+ color : '',
279
+ align : 'left',
280
+ content: 'Innovative Features & Capabilities'
161
281
  };
162
- DisplaySM.parameters = {
282
+ SizeLG.parameters = {
163
283
  docs: {
164
284
  description: {
165
- story: 'Smallest display size, ideal for compact hero sections or prominent card titles.'
285
+ story: 'Standard display (LG) - Balanced size suitable for most display text needs across the application.'
166
286
  }
167
287
  }
168
288
  };
169
289
 
170
-
171
- export const ComparisonWithHeadings = () => html`
172
- <div style="max-width: 800px; margin: 0 auto;">
173
- <bd-display kind="xl" style="margin-bottom: 3rem;">Display XL vs Headings</bd-display>
174
-
175
- <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start;">
176
- <div>
177
- <bd-h as="h3" style="margin-bottom: 1rem;">Display Typography</bd-h>
178
- <bd-display kind="sm" style="margin-bottom: 1rem;">Display SM Text</bd-display>
179
- <bd-display kind="md" style="margin-bottom: 1rem;">Display MD Text</bd-display>
180
- <bd-display kind="lg" style="margin-bottom: 1rem;">Display LG Text</bd-display>
181
- <bd-display kind="xl">Display XL Text</bd-display>
182
- </div>
183
-
184
- <div>
185
- <bd-h as="h3" style="margin-bottom: 1rem;">Heading Typography</bd-h>
186
- <bd-h as="h6" style="margin-bottom: 1rem;">Heading H6 Text</bd-h>
187
- <bd-h as="h5" style="margin-bottom: 1rem;">Heading H5 Text</bd-h>
188
- <bd-h as="h4" style="margin-bottom: 1rem;">Heading H4 Text</bd-h>
189
- <bd-h as="h3">Heading H3 Text</bd-h>
190
- </div>
191
- </div>
192
-
193
- <bd-p kind="regular" style="margin-top: 2rem;">
194
- <strong>Usage guidelines:</strong> Display typography is for prominent, attention-grabbing text
195
- while headings are for semantic document structure and section titles.
196
- </bd-p>
197
- </div>
198
- `;
199
- ComparisonWithHeadings.parameters = {
200
- docs: {
201
- description: {
202
- story: 'Comparison between display typography and heading typography to demonstrate their different use cases and visual hierarchy.'
203
- }
204
- }
290
+ export const SizeMD = Template.bind({});
291
+ SizeMD.args = {
292
+ kind : 'md',
293
+ color : '',
294
+ align : 'left',
295
+ content: 'Compact Powerful Display'
205
296
  };
206
-
207
- export const LandingPageExample = () => html`
208
- <div style="max-width: 1400px; margin: 0 auto;">
209
- <!-- Hero Section -->
210
- <section style="text-align: center; padding: 4rem 2rem; background: #f8fafc;">
211
- <bd-display kind="2xl" style="margin-bottom: 1rem;">
212
- Complete Digital Protection
213
- </bd-display>
214
- <bd-display kind="lg" style="margin-bottom: 2rem; color: #3b82f6;">
215
- For Home & Business
216
- </bd-display>
217
- <bd-p kind="lead" style="max-width: 600px; margin: 0 auto;">
218
- Enterprise-grade security solutions tailored for modern threats and evolving digital landscapes.
219
- </bd-p>
220
- </section>
221
-
222
- <!-- Features Section -->
223
- <section style="padding: 4rem 2rem;">
224
- <bd-display kind="xl" style="text-align: center; margin-bottom: 3rem;">
225
- Why Choose Our Solution?
226
- </bd-display>
227
-
228
- <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem;">
229
- <div style="text-align: center;">
230
- <bd-display kind="lg" style="color: #3b82f6; margin-bottom: 1rem;">99.9%</bd-display>
231
- <bd-h as="h4" style="margin-bottom: 1rem;">Threat Detection Rate</bd-h>
232
- <bd-p kind="regular">Industry-leading accuracy in identifying and neutralizing cyber threats.</bd-p>
233
- </div>
234
-
235
- <div style="text-align: center;">
236
- <bd-display kind="lg" style="color: #3b82f6; margin-bottom: 1rem;">24/7</bd-display>
237
- <bd-h as="h4" style="margin-bottom: 1rem;">Real-Time Monitoring</bd-h>
238
- <bd-p kind="regular">Continuous protection with instant response to emerging threats.</bd-p>
239
- </div>
240
-
241
- <div style="text-align: center;">
242
- <bd-display kind="lg" style="color: #3b82f6; margin-bottom: 1rem;">50M+</bd-display>
243
- <bd-h as="h4" style="margin-bottom: 1rem;">Protected Users</bd-h>
244
- <bd-p kind="regular">Trusted by millions worldwide for their digital security needs.</bd-p>
245
- </div>
246
- </div>
247
- </section>
248
- </div>
249
- `;
250
- LandingPageExample.parameters = {
297
+ SizeMD.parameters = {
251
298
  docs: {
252
299
  description: {
253
- story: 'Complete landing page example showing display typography in context with hero sections and feature highlights.'
300
+ story: 'Medium display (MD) - Compact size for sections with limited vertical space but still requiring visual impact.'
254
301
  }
255
302
  }
256
303
  };
257
304
 
258
- export const ResponsiveDisplay = () => html`
259
- <div style="max-width: 100%; padding: 2rem;">
260
- <bd-h as="h2" style="margin-bottom: 2rem;">Responsive Display Typography</bd-h>
261
-
262
- <div style="background: #f1f5f9; padding: 2rem; border-radius: 12px;">
263
- <bd-display kind="xl" style="margin-bottom: 1rem;">
264
- Adaptive Text Sizing
265
- </bd-display>
266
- <bd-p kind="regular">
267
- Display components automatically adjust based on viewport size and CSS variables.
268
- They maintain optimal readability across all devices from mobile to desktop.
269
- </bd-p>
270
-
271
- <div style="display: flex; flex-wrap: wrap; gap: 2rem; margin-top: 2rem;">
272
- <div style="flex: 1; min-width: 200px;">
273
- <bd-h as="h4">Mobile</bd-h>
274
- <bd-display kind="sm" style="color: #3b82f6;">Compact & Clear</bd-display>
275
- </div>
276
-
277
- <div style="flex: 1; min-width: 200px;">
278
- <bd-h as="h4">Tablet</bd-h>
279
- <bd-display kind="md" style="color: #3b82f6;">Balanced Impact</bd-display>
280
- </div>
281
-
282
- <div style="flex: 1; min-width: 200px;">
283
- <bd-h as="h4">Desktop</bd-h>
284
- <bd-display kind="lg" style="color: #3b82f6;">Maximum Presence</bd-display>
285
- </div>
286
- </div>
287
- </div>
288
- </div>
289
- `;
290
- ResponsiveDisplay.parameters = {
305
+ export const SizeSM = Template.bind({});
306
+ SizeSM.args = {
307
+ kind : 'sm',
308
+ color : '',
309
+ align : 'left',
310
+ content: 'Minimal Yet Impactful'
311
+ };
312
+ SizeSM.parameters = {
291
313
  docs: {
292
314
  description: {
293
- story: 'Demonstrates how display typography adapts to different screen sizes while maintaining visual impact.'
315
+ story: 'Small display (SM) - Smallest display size, ideal for compact layouts where space is premium but hierarchy matters.'
294
316
  }
295
317
  }
296
318
  };
297
319
 
298
- export const InteractiveSizeDemo = () => {
299
- const sizes = [
300
- { kind: '3xl', label: '3XL', description: 'Largest - Hero sections' },
301
- { kind: '2xl', label: '2XL', description: 'Extra large - Major headlines' },
302
- { kind: 'xl', label: 'XL', description: 'Large - Prominent headers' },
303
- { kind: 'lg', label: 'LG', description: 'Standard - Balanced display' },
304
- { kind: 'md', label: 'MD', description: 'Medium - Compact display' },
305
- { kind: 'sm', label: 'SM', description: 'Small - Minimal display' }
306
- ];
307
-
308
- return html`
309
- <div style="max-width: 800px; margin: 0 auto;">
310
- <bd-h as="h2" style="margin-bottom: 2rem;">Interactive Display Size Demo</bd-h>
311
- <bd-p kind="regular" style="margin-bottom: 3rem;">
312
- Explore different display sizes and their typical use cases:
313
- </bd-p>
314
-
315
- ${sizes.map(size => html`
316
- <div style="margin: 3rem 0; padding: 2rem; background: white; border-radius: 12px; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);">
317
- <bd-display kind="${size.kind}" style="margin-bottom: 1rem;">
318
- ${size.label} Display Size
319
- </bd-display>
320
- <bd-p kind="regular" style="margin-bottom: 1rem;">
321
- This is the <strong>${size.kind}</strong> display size - ${size.description}.
322
- </bd-p>
323
- <bd-p kind="small" style="color: #64748b;">
324
- CSS Variables:
325
- <code>--typography-display-${size.kind}-fontSize</code>,
326
- <code>--typography-display-${size.kind}-fontWeight</code>
327
- </bd-p>
328
- </div>
329
- `)}
330
- </div>
331
- `;
320
+ export const InteractivePlayground = Template.bind({});
321
+ InteractivePlayground.args = {
322
+ kind : 'lg',
323
+ color : '',
324
+ align : 'left',
325
+ content: 'Customize This Display Text'
332
326
  };
333
- InteractiveSizeDemo.parameters = {
327
+ InteractivePlayground.parameters = {
334
328
  docs: {
335
329
  description: {
336
- story: 'Interactive demonstration of all display sizes with their CSS variables and usage recommendations.'
330
+ story: 'Interactive playground where you can test all display properties in real-time. Use the controls panel to modify the display component.'
337
331
  }
338
332
  }
339
333
  };