@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.
- package/CHANGELOG.md +20 -0
- package/package.json +4 -2
- package/src/components/Button/Button.js +7 -2
- package/src/components/Button/button.css.js +30 -0
- package/src/components/accordion/accordion-bg.stories.js +341 -171
- package/src/components/accordion/accordion.stories.js +345 -0
- package/src/components/anchor/anchor-nav.js +1 -0
- package/src/components/anchor/anchor.stories.js +134 -76
- package/src/components/back/back.css.js +1 -1
- package/src/components/back/back.stories.js +301 -63
- package/src/components/badge/badge.js +4 -7
- package/src/components/badge/badge.stories.js +89 -96
- package/src/components/breadcrumb/breadcrumb.stories.js +167 -3
- package/src/components/cards/card.stories.js +153 -3
- package/src/components/display/display.css.js +7 -10
- package/src/components/display/display.js +14 -2
- package/src/components/display/display.stories.js +213 -219
- package/src/components/divider/divider.stories.js +337 -30
- package/src/components/footer/footer-lp.stories.js +346 -3
- package/src/components/footer/footer.js +0 -3
- package/src/components/footer/footer.stories.js +267 -4
- package/src/components/header/header.css.js +1 -1
- package/src/components/header/header.js +81 -56
- package/src/components/header/header.stories.js +298 -22
- package/src/components/heading/heading.css.js +1 -1
- package/src/components/heading/heading.stories.js +355 -113
- package/src/components/image/image.css.js +146 -98
- package/src/components/image/image.js +13 -2
- package/src/components/image/image.stories.js +546 -160
- package/src/components/input/custom-form.stories.js +209 -12
- package/src/components/link/link.css.js +2 -2
- package/src/components/link/link.stories.js +383 -53
- package/src/components/paragraph/paragraph.css.js +1 -1
- package/src/components/paragraph/paragraph.stories.js +365 -157
- package/src/components/picture/picture.css.js +209 -0
- package/src/components/picture/picture.js +16 -2
- package/src/components/picture/picture.stories.js +525 -180
- package/src/components/pricing-cards/new-pricing-card.js +19 -4
- package/src/components/pricing-cards/new-pricing-card.stories.js +422 -0
- package/src/components/pricing-cards/new-pricing.css.js +8 -0
- package/src/components/pricing-cards/pricing-card-actions.js +50 -9
- package/src/components/pricing-cards/pricing-card-container.css.js +1 -1
- package/src/components/pricing-cards/pricing-card-header.css.js +73 -63
- package/src/components/pricing-cards/pricing-card-header.js +44 -10
- package/src/components/pricing-cards/pricing-card-pricing.js +63 -64
- package/src/components/pricing-cards/pricing-card.css.js +7 -15
- package/src/components/pricing-cards/pricing-card.js +354 -271
- package/src/components/pricing-cards/pricing-card.stories.js +3 -3
- package/src/tokens/fonts.stories.js +335 -8
- package/src/tokens/spacing.stories.js +701 -34
- package/src/tokens/tokens-grid.stories.js +897 -48
- package/src/tokens/typography.stories.js +980 -38
- package/src/components/accordion/accordion-light.stories.js +0 -241
|
@@ -1,260 +1,502 @@
|
|
|
1
1
|
import { html } from 'lit';
|
|
2
|
+
import '../paragraph/paragraph.js';
|
|
2
3
|
import './heading.js';
|
|
3
4
|
|
|
4
5
|
export default {
|
|
5
6
|
title : 'Atoms/Heading',
|
|
6
7
|
component: 'bd-h',
|
|
8
|
+
tags : ['autodocs'],
|
|
7
9
|
argTypes : {
|
|
8
|
-
|
|
10
|
+
as: {
|
|
9
11
|
control : { type: 'select' },
|
|
10
12
|
options : ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'],
|
|
11
|
-
description: '
|
|
13
|
+
description: 'Semantic HTML heading level (h1-h6)',
|
|
14
|
+
table : {
|
|
15
|
+
type : { summary: 'string' },
|
|
16
|
+
defaultValue: { summary: 'h2' }
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
color: {
|
|
20
|
+
control : 'color',
|
|
21
|
+
description: 'Custom text color for the heading',
|
|
22
|
+
table : {
|
|
23
|
+
type : { summary: 'string' },
|
|
24
|
+
defaultValue: { summary: 'inherit' }
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
align: {
|
|
28
|
+
control : { type: 'select' },
|
|
29
|
+
options : ['left', 'center', 'right'],
|
|
30
|
+
description: 'Text alignment',
|
|
31
|
+
table : {
|
|
32
|
+
type : { summary: 'string' },
|
|
33
|
+
defaultValue: { summary: 'left' }
|
|
34
|
+
}
|
|
12
35
|
},
|
|
13
36
|
content: {
|
|
14
37
|
control : 'text',
|
|
15
|
-
description: 'Heading text content'
|
|
38
|
+
description: 'Heading text content',
|
|
39
|
+
table : {
|
|
40
|
+
type : { summary: 'string' },
|
|
41
|
+
defaultValue: { summary: 'Heading Text' }
|
|
42
|
+
}
|
|
16
43
|
}
|
|
17
44
|
},
|
|
18
45
|
parameters: {
|
|
19
46
|
docs: {
|
|
20
47
|
description: {
|
|
21
|
-
component: 'A
|
|
48
|
+
component: 'A semantic heading component that provides proper HTML structure with consistent typography. Supports all heading levels from h1 to h6 with customizable styling.'
|
|
22
49
|
}
|
|
23
50
|
}
|
|
24
51
|
}
|
|
25
52
|
};
|
|
26
53
|
|
|
27
|
-
const Template = ({
|
|
28
|
-
<bd-h
|
|
54
|
+
const Template = ({ as, color, align, content }) => html`
|
|
55
|
+
<bd-h
|
|
56
|
+
as="${as}"
|
|
57
|
+
style="${color ? `color: ${color};` : ''} ${align ? `text-align: ${align};` : ''}"
|
|
58
|
+
>
|
|
59
|
+
${content}
|
|
60
|
+
</bd-h>
|
|
29
61
|
`;
|
|
30
62
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
63
|
+
// ============ STORIES ============
|
|
64
|
+
|
|
65
|
+
export const Default = Template.bind({});
|
|
66
|
+
Default.args = {
|
|
67
|
+
as : 'h2',
|
|
68
|
+
content: 'Default Heading',
|
|
69
|
+
color : '',
|
|
70
|
+
align : 'left'
|
|
71
|
+
};
|
|
72
|
+
Default.parameters = {
|
|
73
|
+
docs: {
|
|
74
|
+
description: {
|
|
75
|
+
story: 'Default heading component with h2 level. Perfect for most section titles and content headings.'
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export const AllHeadingLevels = () => html`
|
|
81
|
+
<div style="display: flex; flex-direction: column; gap: 2rem; max-width: 800px; margin: 0 auto; padding: 2rem;">
|
|
82
|
+
<bd-h as="h1" style="margin-bottom: 0.5rem;">Heading Level 1 - Main Title</bd-h>
|
|
83
|
+
<bd-p kind="small" style="color: #64748b; margin-bottom: 1rem;">
|
|
84
|
+
<strong>Use case:</strong> Primary page title, main hero sections<br>
|
|
85
|
+
<strong>CSS Variables:</strong> --typography-heading-h1-fontSize, --typography-heading-h1-fontWeight<br>
|
|
86
|
+
<strong>SEO:</strong> One h1 per page for optimal search engine ranking
|
|
87
|
+
</bd-p>
|
|
88
|
+
|
|
89
|
+
<bd-h as="h2" style="margin-bottom: 0.5rem;">Heading Level 2 - Section Title</bd-h>
|
|
90
|
+
<bd-p kind="small" style="color: #64748b; margin-bottom: 1rem;">
|
|
91
|
+
<strong>Use case:</strong> Major section titles, main content divisions<br>
|
|
92
|
+
<strong>CSS Variables:</strong> --typography-heading-h2-fontSize, --typography-heading-h2-fontWeight<br>
|
|
93
|
+
<strong>Structure:</strong> Used for primary content sections
|
|
94
|
+
</bd-p>
|
|
95
|
+
|
|
96
|
+
<bd-h as="h3" style="margin-bottom: 0.5rem;">Heading Level 3 - Subsection Title</bd-h>
|
|
97
|
+
<bd-p kind="small" style="color: #64748b; margin-bottom: 1rem;">
|
|
98
|
+
<strong>Use case:</strong> Sub-sections, feature titles, card headers<br>
|
|
99
|
+
<strong>CSS Variables:</strong> --typography-heading-h3-fontSize, --typography-heading-h3-fontWeight<br>
|
|
100
|
+
<strong>Hierarchy:</strong> Nested under h2 sections
|
|
101
|
+
</bd-p>
|
|
102
|
+
|
|
103
|
+
<bd-h as="h4" style="margin-bottom: 0.5rem;">Heading Level 4 - Content Heading</bd-h>
|
|
104
|
+
<bd-p kind="small" style="color: #64748b; margin-bottom: 1rem;">
|
|
105
|
+
<strong>Use case:</strong> Smaller sections, widget titles, detailed content<br>
|
|
106
|
+
<strong>CSS Variables:</strong> --typography-heading-h4-fontSize, --typography-heading-h4-fontWeight<br>
|
|
107
|
+
<strong>Usage:</strong> For content that needs less visual emphasis
|
|
108
|
+
</bd-p>
|
|
109
|
+
|
|
110
|
+
<bd-h as="h5" style="margin-bottom: 0.5rem;">Heading Level 5 - Minor Heading</bd-h>
|
|
111
|
+
<bd-p kind="small" style="color: #64748b; margin-bottom: 1rem;">
|
|
112
|
+
<strong>Use case:</strong> Sidebar titles, footer sections, minor labels<br>
|
|
113
|
+
<strong>CSS Variables:</strong> --typography-heading-h5-fontSize, --typography-heading-h5-fontWeight<br>
|
|
114
|
+
<strong>Appearance:</strong> Smaller and less prominent
|
|
115
|
+
</bd-p>
|
|
116
|
+
|
|
117
|
+
<bd-h as="h6" style="margin-bottom: 0.5rem;">Heading Level 6 - Smallest Heading</bd-h>
|
|
118
|
+
<bd-p kind="small" style="color: #64748b;">
|
|
119
|
+
<strong>Use case:</strong> Legal text, captions, fine print headings<br>
|
|
120
|
+
<strong>CSS Variables:</strong> --typography-heading-h6-fontSize, --typography-heading-h6-fontWeight<br>
|
|
121
|
+
<strong>Note:</strong> Smallest heading level available
|
|
122
|
+
</bd-p>
|
|
39
123
|
</div>
|
|
40
124
|
`;
|
|
41
|
-
|
|
125
|
+
AllHeadingLevels.parameters = {
|
|
42
126
|
docs: {
|
|
43
127
|
description: {
|
|
44
|
-
story: '
|
|
128
|
+
story: 'Complete overview of all heading levels from h1 (largest) to h6 (smallest) with usage guidelines, CSS variable references, and semantic recommendations.'
|
|
45
129
|
}
|
|
46
130
|
}
|
|
47
131
|
};
|
|
48
132
|
|
|
49
133
|
export const Heading1 = Template.bind({});
|
|
50
134
|
Heading1.args = {
|
|
51
|
-
|
|
52
|
-
content: 'Main Page Title (
|
|
135
|
+
as : 'h1',
|
|
136
|
+
content: 'Main Page Title (H1)',
|
|
137
|
+
color : '',
|
|
138
|
+
align : 'left'
|
|
53
139
|
};
|
|
54
140
|
Heading1.parameters = {
|
|
55
141
|
docs: {
|
|
56
142
|
description: {
|
|
57
|
-
story: 'Primary heading level
|
|
143
|
+
story: 'Primary heading level (h1) - Use as the main title for pages and major sections. There should typically be only one h1 per page for optimal SEO and accessibility.'
|
|
58
144
|
}
|
|
59
145
|
}
|
|
60
146
|
};
|
|
61
147
|
|
|
62
148
|
export const Heading2 = Template.bind({});
|
|
63
149
|
Heading2.args = {
|
|
64
|
-
|
|
65
|
-
content: 'Section Title (
|
|
150
|
+
as : 'h2',
|
|
151
|
+
content: 'Section Title (H2)',
|
|
152
|
+
color : '',
|
|
153
|
+
align : 'left'
|
|
66
154
|
};
|
|
67
155
|
Heading2.parameters = {
|
|
68
156
|
docs: {
|
|
69
157
|
description: {
|
|
70
|
-
story: 'Secondary heading level for major
|
|
158
|
+
story: 'Secondary heading level (h2) - Perfect for major content sections and primary division titles within a page.'
|
|
71
159
|
}
|
|
72
160
|
}
|
|
73
161
|
};
|
|
74
162
|
|
|
75
163
|
export const Heading3 = Template.bind({});
|
|
76
164
|
Heading3.args = {
|
|
77
|
-
|
|
78
|
-
content: 'Subsection Title (
|
|
165
|
+
as : 'h3',
|
|
166
|
+
content: 'Subsection Title (H3)',
|
|
167
|
+
color : '',
|
|
168
|
+
align : 'left'
|
|
79
169
|
};
|
|
80
170
|
Heading3.parameters = {
|
|
81
171
|
docs: {
|
|
82
172
|
description: {
|
|
83
|
-
story: 'Tertiary heading level for subsection titles and card headers.'
|
|
173
|
+
story: 'Tertiary heading level (h3) - Ideal for subsection titles, feature headings, and card headers within h2 sections.'
|
|
84
174
|
}
|
|
85
175
|
}
|
|
86
176
|
};
|
|
87
177
|
|
|
88
178
|
export const Heading4 = Template.bind({});
|
|
89
179
|
Heading4.args = {
|
|
90
|
-
|
|
91
|
-
content: '
|
|
180
|
+
as : 'h4',
|
|
181
|
+
content: 'Content Heading (H4)',
|
|
182
|
+
color : '',
|
|
183
|
+
align : 'left'
|
|
92
184
|
};
|
|
93
185
|
Heading4.parameters = {
|
|
94
186
|
docs: {
|
|
95
187
|
description: {
|
|
96
|
-
story: '
|
|
188
|
+
story: 'Content heading level (h4) - Suitable for smaller content sections, widget titles, and detailed information headings.'
|
|
97
189
|
}
|
|
98
190
|
}
|
|
99
191
|
};
|
|
100
192
|
|
|
101
193
|
export const Heading5 = Template.bind({});
|
|
102
194
|
Heading5.args = {
|
|
103
|
-
|
|
104
|
-
content: '
|
|
195
|
+
as : 'h5',
|
|
196
|
+
content: 'Minor Heading (H5)',
|
|
197
|
+
color : '',
|
|
198
|
+
align : 'left'
|
|
105
199
|
};
|
|
106
200
|
Heading5.parameters = {
|
|
107
201
|
docs: {
|
|
108
202
|
description: {
|
|
109
|
-
story: '
|
|
203
|
+
story: 'Minor heading level (h5) - Use for sidebar sections, footer headings, and less important content labels.'
|
|
110
204
|
}
|
|
111
205
|
}
|
|
112
206
|
};
|
|
113
207
|
|
|
114
208
|
export const Heading6 = Template.bind({});
|
|
115
209
|
Heading6.args = {
|
|
116
|
-
|
|
117
|
-
content: '
|
|
210
|
+
as : 'h6',
|
|
211
|
+
content: 'Smallest Heading (H6)',
|
|
212
|
+
color : '',
|
|
213
|
+
align : 'left'
|
|
118
214
|
};
|
|
119
215
|
Heading6.parameters = {
|
|
120
216
|
docs: {
|
|
121
217
|
description: {
|
|
122
|
-
story: 'Smallest heading level for
|
|
218
|
+
story: 'Smallest heading level (h6) - Designed for legal text, captions, fine print, and the least prominent headings.'
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
export const TextAlignment = () => html`
|
|
224
|
+
<div style="display: flex; flex-direction: column; gap: 2rem; max-width: 800px; margin: 0 auto; padding: 2rem;">
|
|
225
|
+
<bd-h as="h2" style="margin-bottom: 1rem;">Text Alignment Options</bd-h>
|
|
226
|
+
|
|
227
|
+
<div style="border: 2px solid #e2e8f0; padding: 2rem; border-radius: 8px;">
|
|
228
|
+
<bd-h as="h3" style="text-align: left; margin-bottom: 1rem;">Left Aligned Heading</bd-h>
|
|
229
|
+
<bd-p kind="regular" style="color: #64748b;">
|
|
230
|
+
Default alignment. Best for most content sections, articles, and body text. Provides optimal readability for long content.
|
|
231
|
+
</bd-p>
|
|
232
|
+
</div>
|
|
233
|
+
|
|
234
|
+
<div style="border: 2px solid #e2e8f0; padding: 2rem; border-radius: 8px;">
|
|
235
|
+
<bd-h as="h3" style="text-align: center; margin-bottom: 1rem;">Center Aligned Heading</bd-h>
|
|
236
|
+
<bd-p kind="regular" style="color: #64748b; text-align: center;">
|
|
237
|
+
Ideal for hero sections, testimonials, feature highlights, and marketing content. Creates visual balance and emphasis.
|
|
238
|
+
</bd-p>
|
|
239
|
+
</div>
|
|
240
|
+
|
|
241
|
+
<div style="border: 2px solid #e2e8f0; padding: 2rem; border-radius: 8px;">
|
|
242
|
+
<bd-h as="h3" style="text-align: right; margin-bottom: 1rem;">Right Aligned Heading</bd-h>
|
|
243
|
+
<bd-p kind="regular" style="color: #64748b; text-align: right;">
|
|
244
|
+
Useful for asymmetric layouts, creative designs, and specific visual compositions. Use sparingly for intentional design effects.
|
|
245
|
+
</bd-p>
|
|
246
|
+
</div>
|
|
247
|
+
</div>
|
|
248
|
+
`;
|
|
249
|
+
TextAlignment.parameters = {
|
|
250
|
+
docs: {
|
|
251
|
+
description: {
|
|
252
|
+
story: 'Demonstrates different text alignment options for headings with recommendations for when to use left, center, or right alignment based on content type and design context.'
|
|
123
253
|
}
|
|
124
254
|
}
|
|
125
255
|
};
|
|
126
256
|
|
|
127
|
-
export const
|
|
128
|
-
<div style="max-width: 800px; margin: 0 auto;">
|
|
129
|
-
<bd-h as="
|
|
130
|
-
<bd-p kind="regular">Discover all the powerful features that make our product stand out from the competition.</bd-p>
|
|
257
|
+
export const ColorCustomization = () => html`
|
|
258
|
+
<div style="display: flex; flex-direction: column; gap: 2rem; max-width: 800px; margin: 0 auto; padding: 2rem;">
|
|
259
|
+
<bd-h as="h2" style="margin-bottom: 1rem;">Color Customization Examples</bd-h>
|
|
131
260
|
|
|
132
|
-
<
|
|
133
|
-
|
|
261
|
+
<div style="background: #1e293b; padding: 2rem; border-radius: 8px;">
|
|
262
|
+
<bd-h as="h3" style="color: #ffffff; margin-bottom: 1rem;">White Text on Dark Background</bd-h>
|
|
263
|
+
<bd-p kind="regular" style="color: #cbd5e1;">
|
|
264
|
+
Perfect for dark theme sections, hero areas with dark backgrounds, and high-contrast designs.
|
|
265
|
+
</bd-p>
|
|
266
|
+
</div>
|
|
267
|
+
|
|
268
|
+
<div style="background: #dbeafe; padding: 2rem; border-radius: 8px;">
|
|
269
|
+
<bd-h as="h3" style="color: #1e40af; margin-bottom: 1rem;">Primary Brand Color</bd-h>
|
|
270
|
+
<bd-p kind="regular" style="color: #374151;">
|
|
271
|
+
Using brand colors for visual consistency and emphasis. Maintains brand identity across the application.
|
|
272
|
+
</bd-p>
|
|
273
|
+
</div>
|
|
274
|
+
|
|
275
|
+
<div style="background: #f0fdf4; padding: 2rem; border-radius: 8px;">
|
|
276
|
+
<bd-h as="h3" style="color: #166534; margin-bottom: 1rem;">Success Green Color</bd-h>
|
|
277
|
+
<bd-p kind="regular" style="color: #374151;">
|
|
278
|
+
Color coding for specific contexts like success states, positive outcomes, and confirmation messages.
|
|
279
|
+
</bd-p>
|
|
280
|
+
</div>
|
|
281
|
+
|
|
282
|
+
<div style="background: #fef2f2; padding: 2rem; border-radius: 8px;">
|
|
283
|
+
<bd-h as="h3" style="color: #dc2626; margin-bottom: 1rem;">Error Red Color</bd-h>
|
|
284
|
+
<bd-p kind="regular" style="color: #374151;">
|
|
285
|
+
Using red for error states, warnings, critical information, and attention-requiring content.
|
|
286
|
+
</bd-p>
|
|
287
|
+
</div>
|
|
288
|
+
|
|
289
|
+
<div style="background: #f8fafc; padding: 2rem; border-radius: 8px;">
|
|
290
|
+
<bd-h as="h3" style="color: #7c3aed; margin-bottom: 1rem;">Accent Purple Color</bd-h>
|
|
291
|
+
<bd-p kind="regular" style="color: #374151;">
|
|
292
|
+
Alternative brand color for variety while maintaining visual harmony and design system consistency.
|
|
293
|
+
</bd-p>
|
|
294
|
+
</div>
|
|
295
|
+
</div>
|
|
296
|
+
`;
|
|
297
|
+
ColorCustomization.parameters = {
|
|
298
|
+
docs: {
|
|
299
|
+
description: {
|
|
300
|
+
story: 'Shows how heading components can be customized with different colors for various contexts, themes, and semantic meanings while maintaining readability and accessibility.'
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
export const ContentHierarchy = () => html`
|
|
306
|
+
<div style="max-width: 800px; margin: 0 auto; padding: 2rem;">
|
|
307
|
+
<bd-h as="h1" style="margin-bottom: 1rem;">Product Documentation</bd-h>
|
|
308
|
+
<bd-p kind="lead" style="margin-bottom: 2rem;">
|
|
309
|
+
Comprehensive guide to using our product features and capabilities effectively.
|
|
310
|
+
</bd-p>
|
|
134
311
|
|
|
135
|
-
<bd-h as="
|
|
136
|
-
<bd-p kind="regular"
|
|
312
|
+
<bd-h as="h2" style="margin-bottom: 1rem;">Getting Started</bd-h>
|
|
313
|
+
<bd-p kind="regular" style="margin-bottom: 1.5rem;">
|
|
314
|
+
Learn the basics and set up your account quickly and efficiently.
|
|
315
|
+
</bd-p>
|
|
137
316
|
|
|
138
|
-
<bd-h as="
|
|
139
|
-
<bd-p kind="regular"
|
|
317
|
+
<bd-h as="h3" style="margin-bottom: 1rem;">Account Setup</bd-h>
|
|
318
|
+
<bd-p kind="regular" style="margin-bottom: 1.5rem;">
|
|
319
|
+
Step-by-step instructions for creating and configuring your account.
|
|
320
|
+
</bd-p>
|
|
140
321
|
|
|
141
|
-
<bd-h as="
|
|
142
|
-
<bd-p kind="
|
|
322
|
+
<bd-h as="h4" style="margin-bottom: 1rem;">Profile Configuration</bd-h>
|
|
323
|
+
<bd-p kind="regular" style="margin-bottom: 2rem;">
|
|
324
|
+
Customize your profile settings and preferences for optimal experience.
|
|
325
|
+
</bd-p>
|
|
326
|
+
|
|
327
|
+
<bd-h as="h2" style="margin-bottom: 1rem;">Advanced Features</bd-h>
|
|
328
|
+
<bd-p kind="regular" style="margin-bottom: 1.5rem;">
|
|
329
|
+
Explore powerful features to maximize your productivity and results.
|
|
330
|
+
</bd-p>
|
|
331
|
+
|
|
332
|
+
<bd-h as="h3" style="margin-bottom: 1rem;">Automation Tools</bd-h>
|
|
333
|
+
<bd-p kind="regular" style="margin-bottom: 1.5rem;">
|
|
334
|
+
Set up automated workflows to save time and reduce manual tasks.
|
|
335
|
+
</bd-p>
|
|
336
|
+
|
|
337
|
+
<bd-h as="h4" style="margin-bottom: 1rem;">Custom Scripts</bd-h>
|
|
338
|
+
<bd-p kind="regular">
|
|
339
|
+
Create and manage custom scripts for specialized automation needs.
|
|
340
|
+
</bd-p>
|
|
143
341
|
</div>
|
|
144
342
|
`;
|
|
145
|
-
|
|
343
|
+
ContentHierarchy.parameters = {
|
|
146
344
|
docs: {
|
|
147
345
|
description: {
|
|
148
|
-
story: '
|
|
346
|
+
story: 'Demonstrates proper semantic heading hierarchy in a real-world content scenario. Shows how headings should be nested logically without skipping levels for optimal accessibility and SEO.'
|
|
149
347
|
}
|
|
150
348
|
}
|
|
151
349
|
};
|
|
152
350
|
|
|
153
|
-
export const
|
|
154
|
-
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; padding: 2rem;">
|
|
155
|
-
<div style="border: 1px solid #e2e8f0; border-radius:
|
|
156
|
-
<bd-h as="h3">Advanced
|
|
157
|
-
<bd-p kind="regular"
|
|
351
|
+
export const CardLayoutExample = () => html`
|
|
352
|
+
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 2rem; padding: 2rem; max-width: 1200px; margin: 0 auto;">
|
|
353
|
+
<div style="border: 1px solid #e2e8f0; border-radius: 12px; padding: 2rem; background: white; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);">
|
|
354
|
+
<bd-h as="h3" style="color: #3b82f6; margin-bottom: 1rem;">Advanced Security</bd-h>
|
|
355
|
+
<bd-p kind="regular" style="margin-bottom: 1.5rem;">
|
|
356
|
+
Comprehensive protection against malware, ransomware, phishing, and online threats with real-time monitoring.
|
|
357
|
+
</bd-p>
|
|
358
|
+
<bd-h as="h5" style="color: #64748b; margin-bottom: 0.5rem;">Key Features:</bd-h>
|
|
359
|
+
<bd-p kind="small" style="color: #64748b;">
|
|
360
|
+
• Real-time threat detection<br>
|
|
361
|
+
• Behavioral analysis<br>
|
|
362
|
+
• Automatic updates
|
|
363
|
+
</bd-p>
|
|
158
364
|
</div>
|
|
159
365
|
|
|
160
|
-
<div style="border: 1px solid #e2e8f0; border-radius:
|
|
161
|
-
<bd-h as="h3">Privacy
|
|
162
|
-
<bd-p kind="regular"
|
|
366
|
+
<div style="border: 1px solid #e2e8f0; border-radius: 12px; padding: 2rem; background: white; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);">
|
|
367
|
+
<bd-h as="h3" style="color: #8b5cf6; margin-bottom: 1rem;">Privacy Protection</bd-h>
|
|
368
|
+
<bd-p kind="regular" style="margin-bottom: 1.5rem;">
|
|
369
|
+
VPN, password manager, and webcam protection to keep your personal data and privacy secure from intrusions.
|
|
370
|
+
</bd-p>
|
|
371
|
+
<bd-h as="h5" style="color: #64748b; margin-bottom: 0.5rem;">Included Tools:</bd-h>
|
|
372
|
+
<bd-p kind="small" style="color: #64748b;">
|
|
373
|
+
• Encrypted VPN<br>
|
|
374
|
+
• Password manager<br>
|
|
375
|
+
• Webcam shield
|
|
376
|
+
</bd-p>
|
|
163
377
|
</div>
|
|
164
378
|
|
|
165
|
-
<div style="border: 1px solid #e2e8f0; border-radius:
|
|
166
|
-
<bd-h as="h3">Performance</bd-h>
|
|
167
|
-
<bd-p kind="regular"
|
|
379
|
+
<div style="border: 1px solid #e2e8f0; border-radius: 12px; padding: 2rem; background: white; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);">
|
|
380
|
+
<bd-h as="h3" style="color: #10b981; margin-bottom: 1rem;">Performance Boost</bd-h>
|
|
381
|
+
<bd-p kind="regular" style="margin-bottom: 1.5rem;">
|
|
382
|
+
Lightweight design with minimal impact on system resources while optimizing performance and speed.
|
|
383
|
+
</bd-p>
|
|
384
|
+
<bd-h as="h5" style="color: #64748b; margin-bottom: 0.5rem;">Benefits:</bd-h>
|
|
385
|
+
<bd-p kind="small" style="color: #64748b;">
|
|
386
|
+
• Fast scanning<br>
|
|
387
|
+
• Low resource usage<br>
|
|
388
|
+
• Quick startup
|
|
389
|
+
</bd-p>
|
|
168
390
|
</div>
|
|
169
391
|
</div>
|
|
170
392
|
`;
|
|
171
|
-
|
|
393
|
+
CardLayoutExample.parameters = {
|
|
172
394
|
docs: {
|
|
173
395
|
description: {
|
|
174
|
-
story: '
|
|
396
|
+
story: 'Real-world example showing headings used in card layouts with different colors and hierarchy levels. Demonstrates how headings work in modern UI designs and component-based layouts.'
|
|
175
397
|
}
|
|
176
398
|
}
|
|
177
399
|
};
|
|
178
400
|
|
|
179
|
-
export const
|
|
180
|
-
<div style="max-width: 800px; margin: 0 auto;">
|
|
181
|
-
<bd-h as="h1">Accessibility
|
|
182
|
-
<bd-p kind="
|
|
401
|
+
export const AccessibilityGuidelines = () => html`
|
|
402
|
+
<div style="max-width: 800px; margin: 0 auto; padding: 2rem;">
|
|
403
|
+
<bd-h as="h1" style="margin-bottom: 1rem;">Accessibility Best Practices</bd-h>
|
|
404
|
+
<bd-p kind="lead" style="margin-bottom: 2rem;">
|
|
405
|
+
Proper heading structure is essential for screen reader users, keyboard navigation, and search engine optimization.
|
|
406
|
+
</bd-p>
|
|
183
407
|
|
|
184
|
-
<bd-h as="h2">Semantic Structure</bd-h>
|
|
185
|
-
<bd-p kind="regular"
|
|
408
|
+
<bd-h as="h2" style="margin-bottom: 1rem;">Semantic Structure</bd-h>
|
|
409
|
+
<bd-p kind="regular" style="margin-bottom: 1.5rem;">
|
|
410
|
+
Headings should follow a logical hierarchy without skipping levels. Screen reader users often navigate by headings to understand page structure.
|
|
411
|
+
</bd-p>
|
|
412
|
+
|
|
413
|
+
<bd-h as="h3" style="margin-bottom: 1rem;">Proper Hierarchy Example</bd-h>
|
|
414
|
+
<div style="background: #f8fafc; padding: 1.5rem; border-radius: 8px; margin-bottom: 1.5rem;">
|
|
415
|
+
<bd-p kind="regular" style="color: #334155;">
|
|
416
|
+
<strong>✅ Correct:</strong> h1 → h2 → h3 → h2 → h3 → h4<br>
|
|
417
|
+
<strong>❌ Avoid:</strong> h1 → h3 → h4 → h2 → h5
|
|
418
|
+
</bd-p>
|
|
419
|
+
</div>
|
|
186
420
|
|
|
187
|
-
<bd-h as="h3">
|
|
188
|
-
<bd-p kind="regular"
|
|
421
|
+
<bd-h as="h3" style="margin-bottom: 1rem;">Screen Reader Navigation</bd-h>
|
|
422
|
+
<bd-p kind="regular" style="margin-bottom: 1.5rem;">
|
|
423
|
+
Users can jump between headings to quickly find relevant content. Proper structure makes this navigation intuitive and efficient.
|
|
424
|
+
</bd-p>
|
|
189
425
|
|
|
190
|
-
<bd-h as="
|
|
191
|
-
<bd-p kind="regular"
|
|
426
|
+
<bd-h as="h2" style="margin-bottom: 1rem;">SEO Benefits</bd-h>
|
|
427
|
+
<bd-p kind="regular" style="margin-bottom: 1.5rem;">
|
|
428
|
+
Search engines use heading structure to understand content importance and relevance. Proper hierarchy improves search rankings.
|
|
429
|
+
</bd-p>
|
|
192
430
|
|
|
193
|
-
<bd-h as="
|
|
194
|
-
<bd-p kind="regular">
|
|
431
|
+
<bd-h as="h3" style="margin-bottom: 1rem;">Keyword Placement</bd-h>
|
|
432
|
+
<bd-p kind="regular">
|
|
433
|
+
Important keywords should appear in higher-level headings (h1, h2) while supporting keywords can go in lower levels (h3, h4).
|
|
434
|
+
</bd-p>
|
|
195
435
|
</div>
|
|
196
436
|
`;
|
|
197
|
-
|
|
437
|
+
AccessibilityGuidelines.parameters = {
|
|
198
438
|
docs: {
|
|
199
439
|
description: {
|
|
200
|
-
story: '
|
|
440
|
+
story: 'Comprehensive guide to accessibility and SEO best practices for heading usage. Includes semantic structure requirements, screen reader considerations, and search engine optimization tips.'
|
|
201
441
|
}
|
|
202
442
|
}
|
|
203
443
|
};
|
|
204
444
|
|
|
205
|
-
export const
|
|
445
|
+
export const ResponsiveBehavior = () => html`
|
|
206
446
|
<div style="max-width: 100%; padding: 2rem;">
|
|
207
|
-
<bd-h as="
|
|
208
|
-
<bd-p kind="regular"
|
|
447
|
+
<bd-h as="h2" style="margin-bottom: 1rem;">Responsive Heading Behavior</bd-h>
|
|
448
|
+
<bd-p kind="regular" style="margin-bottom: 2rem;">
|
|
449
|
+
Heading components automatically adjust based on viewport size and CSS custom properties. They maintain optimal readability across all device sizes.
|
|
450
|
+
</bd-p>
|
|
209
451
|
|
|
210
|
-
<div style="
|
|
211
|
-
<div style="
|
|
212
|
-
<
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
<
|
|
221
|
-
|
|
452
|
+
<div style="background: #f1f5f9; padding: 2rem; border-radius: 12px;">
|
|
453
|
+
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; margin-top: 1rem;">
|
|
454
|
+
<div style="text-align: center; padding: 1.5rem; background: white; border-radius: 8px;">
|
|
455
|
+
<bd-h as="h4" style="color: #3b82f6; margin-bottom: 1rem;">Mobile View</bd-h>
|
|
456
|
+
<bd-h as="h3" style="color: #1e293b; margin-bottom: 1rem;">Optimized for Small Screens</bd-h>
|
|
457
|
+
<bd-p kind="small" style="color: #64748b;">
|
|
458
|
+
Compact yet readable on mobile devices with appropriate font sizes and spacing.
|
|
459
|
+
</bd-p>
|
|
460
|
+
</div>
|
|
461
|
+
|
|
462
|
+
<div style="text-align: center; padding: 1.5rem; background: white; border-radius: 8px;">
|
|
463
|
+
<bd-h as="h4" style="color: #3b82f6; margin-bottom: 1rem;">Tablet View</bd-h>
|
|
464
|
+
<bd-h as="h3" style="color: #1e293b; margin-bottom: 1rem;">Balanced for Medium Devices</bd-h>
|
|
465
|
+
<bd-p kind="small" style="color: #64748b;">
|
|
466
|
+
Perfect balance of size and readability for tablet screens and medium breakpoints.
|
|
467
|
+
</bd-p>
|
|
468
|
+
</div>
|
|
469
|
+
|
|
470
|
+
<div style="text-align: center; padding: 1.5rem; background: white; border-radius: 8px;">
|
|
471
|
+
<bd-h as="h4" style="color: #3b82f6; margin-bottom: 1rem;">Desktop View</bd-h>
|
|
472
|
+
<bd-h as="h3" style="color: #1e293b; margin-bottom: 1rem;">Maximum Impact on Large Screens</bd-h>
|
|
473
|
+
<bd-p kind="small" style="color: #64748b;">
|
|
474
|
+
Full visual impact and hierarchy on desktop displays and large viewports.
|
|
475
|
+
</bd-p>
|
|
476
|
+
</div>
|
|
222
477
|
</div>
|
|
223
478
|
</div>
|
|
224
479
|
</div>
|
|
225
480
|
`;
|
|
226
|
-
|
|
481
|
+
ResponsiveBehavior.parameters = {
|
|
227
482
|
docs: {
|
|
228
483
|
description: {
|
|
229
|
-
story: '
|
|
484
|
+
story: 'Demonstrates how heading typography adapts responsively across different screen sizes while maintaining visual hierarchy, readability, and design consistency through CSS variables and responsive design principles.'
|
|
230
485
|
}
|
|
231
486
|
}
|
|
232
487
|
};
|
|
233
488
|
|
|
234
|
-
export const
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
<bd-p kind="regular">Select different heading levels to see how they look:</bd-p>
|
|
241
|
-
|
|
242
|
-
${headings.map(kind => html`
|
|
243
|
-
<div style="margin: 2rem 0; padding: 1rem; border-left: 4px solid #3b82f6;">
|
|
244
|
-
<bd-h as="${kind}">This is a ${kind.toUpperCase()} heading</bd-h>
|
|
245
|
-
<bd-p kind="small" style="margin-top: 0.5rem;">
|
|
246
|
-
Font size: var(--typography-heading-${kind}-fontSize)<br>
|
|
247
|
-
Font weight: var(--typography-heading-${kind}-fontWeight)
|
|
248
|
-
</bd-p>
|
|
249
|
-
</div>
|
|
250
|
-
`)}
|
|
251
|
-
</div>
|
|
252
|
-
`;
|
|
489
|
+
export const InteractivePlayground = Template.bind({});
|
|
490
|
+
InteractivePlayground.args = {
|
|
491
|
+
as : 'h2',
|
|
492
|
+
content: 'Customize This Heading',
|
|
493
|
+
color : '',
|
|
494
|
+
align : 'left'
|
|
253
495
|
};
|
|
254
|
-
|
|
496
|
+
InteractivePlayground.parameters = {
|
|
255
497
|
docs: {
|
|
256
498
|
description: {
|
|
257
|
-
story: 'Interactive
|
|
499
|
+
story: 'Interactive playground where you can test all heading properties in real-time. Use the controls panel to modify the heading level, color, alignment, and content to see immediate results.'
|
|
258
500
|
}
|
|
259
501
|
}
|
|
260
502
|
};
|