@repobit/dex-system-design 0.22.11 → 0.23.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.
- package/CHANGELOG.md +40 -0
- package/package.json +4 -3
- package/src/components/Button/button.stories.js +292 -120
- package/src/components/accordion/accordion-bg.css.js +7 -2
- package/src/components/accordion/accordion-bg.stories.js +268 -449
- package/src/components/accordion/accordion.stories.js +259 -265
- package/src/components/anchor/anchor.stories.js +160 -159
- package/src/components/awards/awards-icon.js +44 -0
- package/src/components/awards/awards.css.js +328 -0
- package/src/components/awards/awards.js +224 -0
- package/src/components/awards/awards.stories.js +447 -0
- package/src/components/back/back.stories.js +100 -375
- package/src/components/badge/badge.stories.js +241 -129
- package/src/components/breadcrumb/breadcrumb.stories.js +218 -219
- package/src/components/cards/card.stories.js +174 -622
- package/src/components/carousel/carousel.stories.js +196 -225
- package/src/components/checkbox/checkbox.stories.js +136 -51
- package/src/components/compare/compare.css.js +237 -0
- package/src/components/compare/compare.js +253 -0
- package/src/components/compare/compare.stories.js +372 -0
- package/src/components/display/display.stories.js +91 -297
- package/src/components/divider/divider.stories.js +160 -342
- package/src/components/footer/footer.stories.js +177 -402
- package/src/components/header/header.stories.js +130 -338
- package/src/components/heading/heading.js +8 -5
- package/src/components/heading/heading.stories.js +162 -471
- package/src/components/highlight/highlight.stories.js +153 -38
- package/src/components/image/image.stories.js +135 -563
- package/src/components/input/custom-form.stories.js +761 -224
- package/src/components/link/link.js +29 -12
- package/src/components/link/link.stories.js +130 -468
- package/src/components/modal/modal.stories.js +174 -28
- package/src/components/paragraph/paragraph.css.js +10 -1
- package/src/components/paragraph/paragraph.stories.js +85 -410
- package/src/components/picture/picture.stories.js +147 -561
- package/src/components/radio/radio.stories.js +230 -81
- package/src/components/tabs/tabs.stories.js +126 -10
- package/src/components/termsOfUse/terms.stories.js +223 -8
- package/src/tokens/tokens.js +1 -0
|
@@ -3,382 +3,200 @@ import './divider-horizontal.js';
|
|
|
3
3
|
import './divider-vertical.js';
|
|
4
4
|
|
|
5
5
|
export default {
|
|
6
|
-
title
|
|
7
|
-
tags
|
|
6
|
+
title : 'Components/Divider',
|
|
7
|
+
tags : ['autodocs'],
|
|
8
|
+
parameters: {
|
|
9
|
+
docs: {
|
|
10
|
+
description: {
|
|
11
|
+
component: `
|
|
12
|
+
Two divider components are available:
|
|
13
|
+
|
|
14
|
+
- \`<bd-divider-horizontal>\` — a horizontal \`<hr>\` line with configurable width, color, and opacity
|
|
15
|
+
- \`<bd-divider-vertical>\` — a vertical \`<div>\` line with configurable height, thickness, color, and opacity
|
|
16
|
+
|
|
17
|
+
### Usage
|
|
18
|
+
\`\`\`html
|
|
19
|
+
<bd-divider-horizontal width="100%" color="#026DFF" opacity="0.5"></bd-divider-horizontal>
|
|
20
|
+
<bd-divider-vertical height="24px" thickness="2px" color="#E53935" opacity="1"></bd-divider-vertical>
|
|
21
|
+
\`\`\`
|
|
22
|
+
`
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
},
|
|
8
26
|
argTypes: {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
description: 'Which divider to render'
|
|
27
|
+
width: {
|
|
28
|
+
control : 'text',
|
|
29
|
+
description: '(Horizontal) Width of the line e.g. "100%", "200px"',
|
|
30
|
+
table : { type: { summary: 'string' }, defaultValue: { summary: '' }, category: 'Horizontal' }
|
|
14
31
|
},
|
|
15
|
-
|
|
32
|
+
hColor: {
|
|
16
33
|
control : 'color',
|
|
17
|
-
description: '
|
|
18
|
-
|
|
19
|
-
opacity: {
|
|
20
|
-
control : { type: 'range', min: 0, max: 1, step: 0.1 },
|
|
21
|
-
description: 'Opacity of the divider (0 = transparent, 1 = opaque)'
|
|
34
|
+
description: '(Horizontal) Border color',
|
|
35
|
+
table : { type: { summary: 'string' }, defaultValue: { summary: 'var(--color-neutral-400)' }, category: 'Horizontal' }
|
|
22
36
|
},
|
|
23
|
-
|
|
24
|
-
// Horizontal divider props
|
|
25
|
-
width: {
|
|
37
|
+
hOpacity: {
|
|
26
38
|
control : 'text',
|
|
27
|
-
|
|
28
|
-
|
|
39
|
+
description: '(Horizontal) Opacity value between 0 and 1',
|
|
40
|
+
table : { type: { summary: 'string' }, defaultValue: { summary: '0.25' }, category: 'Horizontal' }
|
|
29
41
|
},
|
|
30
|
-
|
|
31
|
-
// Vertical divider props
|
|
32
42
|
height: {
|
|
33
43
|
control : 'text',
|
|
34
|
-
|
|
35
|
-
|
|
44
|
+
description: '(Vertical) Height of the divider e.g. "15px"',
|
|
45
|
+
table : { type: { summary: 'string' }, defaultValue: { summary: '15px' }, category: 'Vertical' }
|
|
36
46
|
},
|
|
37
47
|
thickness: {
|
|
38
48
|
control : 'text',
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
const Template = ({ component, width, height, thickness, color, opacity }) => {
|
|
54
|
-
return component === 'horizontal'
|
|
55
|
-
? html`<bd-divider-horizontal
|
|
56
|
-
.width=${width}
|
|
57
|
-
.color=${color}
|
|
58
|
-
.opacity=${opacity}
|
|
59
|
-
></bd-divider-horizontal>`
|
|
60
|
-
: html`<bd-divider-vertical
|
|
61
|
-
.height=${height}
|
|
62
|
-
.thickness=${thickness}
|
|
63
|
-
.color=${color}
|
|
64
|
-
.opacity=${opacity}
|
|
65
|
-
></bd-divider-vertical>`;
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
// ============ HORIZONTAL DIVIDERS ============
|
|
69
|
-
|
|
70
|
-
export const Default = Template.bind({});
|
|
71
|
-
Default.args = {
|
|
72
|
-
component: 'horizontal',
|
|
73
|
-
width : '100%',
|
|
74
|
-
color : 'var(--color-neutral-400)',
|
|
75
|
-
opacity : 1.0
|
|
76
|
-
};
|
|
77
|
-
Default.parameters = {
|
|
78
|
-
docs: {
|
|
79
|
-
description: {
|
|
80
|
-
story: 'Default horizontal divider with full width and neutral color.'
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
export const HorizontalCustomWidth = Template.bind({});
|
|
86
|
-
HorizontalCustomWidth.args = {
|
|
87
|
-
component: 'horizontal',
|
|
88
|
-
width : '200px',
|
|
89
|
-
color : 'var(--color-neutral-400)',
|
|
90
|
-
opacity : 1.0
|
|
91
|
-
};
|
|
92
|
-
HorizontalCustomWidth.parameters = {
|
|
93
|
-
docs: {
|
|
94
|
-
description: {
|
|
95
|
-
story: 'Horizontal divider with custom width (200px). Useful for creating shorter divider lines.'
|
|
49
|
+
description: '(Vertical) Width/thickness of the line e.g. "1px"',
|
|
50
|
+
table : { type: { summary: 'string' }, defaultValue: { summary: '1px' }, category: 'Vertical' }
|
|
51
|
+
},
|
|
52
|
+
vColor: {
|
|
53
|
+
control : 'color',
|
|
54
|
+
description: '(Vertical) Background color of the divider div',
|
|
55
|
+
table : { type: { summary: 'string' }, defaultValue: { summary: 'var(--color-neutral-400)' }, category: 'Vertical' }
|
|
56
|
+
},
|
|
57
|
+
vOpacity: {
|
|
58
|
+
control : 'text',
|
|
59
|
+
description: '(Vertical) Opacity value between 0 and 1',
|
|
60
|
+
table : { type: { summary: 'string' }, defaultValue: { summary: '1.00' }, category: 'Vertical' }
|
|
96
61
|
}
|
|
97
62
|
}
|
|
98
63
|
};
|
|
99
64
|
|
|
100
|
-
|
|
101
|
-
HorizontalCustomColor.args = {
|
|
102
|
-
component: 'horizontal',
|
|
103
|
-
width : '100%',
|
|
104
|
-
color : '#3b82f6',
|
|
105
|
-
opacity : 1.0
|
|
106
|
-
};
|
|
107
|
-
HorizontalCustomColor.parameters = {
|
|
108
|
-
docs: {
|
|
109
|
-
description: {
|
|
110
|
-
story: 'Horizontal divider with custom blue color. Can be used to match brand colors or create visual emphasis.'
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
};
|
|
65
|
+
// ─── Horizontal Stories ────────────────────────────────────────────────────
|
|
114
66
|
|
|
115
|
-
export const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
color : 'var(--color-neutral-400)',
|
|
120
|
-
opacity : 0.5
|
|
121
|
-
};
|
|
122
|
-
HorizontalFaded.parameters = {
|
|
123
|
-
docs: {
|
|
124
|
-
description: {
|
|
125
|
-
story: 'Horizontal divider with reduced opacity (50%) for a subtle, faded appearance.'
|
|
126
|
-
}
|
|
127
|
-
}
|
|
67
|
+
export const HorizontalDefault = {
|
|
68
|
+
name : 'Horizontal — Default',
|
|
69
|
+
render : () => html`<bd-divider-horizontal></bd-divider-horizontal>`,
|
|
70
|
+
parameters: { docs: { description: { story: 'Default horizontal divider with default color and 0.25 opacity.' } } }
|
|
128
71
|
};
|
|
129
72
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
component: 'vertical',
|
|
135
|
-
height : '100px',
|
|
136
|
-
thickness: '1px',
|
|
137
|
-
color : 'var(--color-neutral-400)',
|
|
138
|
-
opacity : 1.0
|
|
139
|
-
};
|
|
140
|
-
VerticalDefault.parameters = {
|
|
141
|
-
docs: {
|
|
142
|
-
description: {
|
|
143
|
-
story: 'Default vertical divider with standard height and thickness.'
|
|
144
|
-
}
|
|
145
|
-
}
|
|
73
|
+
export const HorizontalFullWidth = {
|
|
74
|
+
name : 'Horizontal — Full Width',
|
|
75
|
+
render : () => html`<bd-divider-horizontal width="100%"></bd-divider-horizontal>`,
|
|
76
|
+
parameters: { docs: { description: { story: 'Full-width horizontal divider.' } } }
|
|
146
77
|
};
|
|
147
78
|
|
|
148
|
-
export const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
docs: {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
79
|
+
export const HorizontalCustomColor = {
|
|
80
|
+
name : 'Horizontal — Custom Color',
|
|
81
|
+
render: () => html`
|
|
82
|
+
<div style="display:flex; flex-direction:column; gap:16px;">
|
|
83
|
+
<bd-divider-horizontal width="100%" color="#026DFF" opacity="1"></bd-divider-horizontal>
|
|
84
|
+
<bd-divider-horizontal width="100%" color="#E53935" opacity="1"></bd-divider-horizontal>
|
|
85
|
+
<bd-divider-horizontal width="100%" color="white" opacity="1" style="background:#333; padding:4px;"></bd-divider-horizontal>
|
|
86
|
+
</div>
|
|
87
|
+
`,
|
|
88
|
+
parameters: { docs: { description: { story: 'Horizontal dividers with custom color values at full opacity.' } } }
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
export const HorizontalOpacities = {
|
|
92
|
+
name : 'Horizontal — Opacity Variants',
|
|
93
|
+
render: () => html`
|
|
94
|
+
<div style="display:flex; flex-direction:column; gap:12px;">
|
|
95
|
+
<bd-divider-horizontal width="100%" color="#026DFF" opacity="1"></bd-divider-horizontal>
|
|
96
|
+
<bd-divider-horizontal width="100%" color="#026DFF" opacity="0.5"></bd-divider-horizontal>
|
|
97
|
+
<bd-divider-horizontal width="100%" color="#026DFF" opacity="0.25"></bd-divider-horizontal>
|
|
98
|
+
<bd-divider-horizontal width="100%" color="#026DFF" opacity="0.1"></bd-divider-horizontal>
|
|
99
|
+
</div>
|
|
100
|
+
`,
|
|
101
|
+
parameters: { docs: { description: { story: 'Four opacity levels: 1, 0.5, 0.25, 0.1.' } } }
|
|
162
102
|
};
|
|
163
103
|
|
|
164
|
-
export const
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
thickness: '2px',
|
|
169
|
-
color : 'var(--color-neutral-400)',
|
|
170
|
-
opacity : 1.0
|
|
171
|
-
};
|
|
172
|
-
VerticalTall.parameters = {
|
|
173
|
-
docs: {
|
|
174
|
-
description: {
|
|
175
|
-
story: 'Tall vertical divider (200px) suitable for sidebar separators or tall content sections.'
|
|
176
|
-
}
|
|
177
|
-
}
|
|
104
|
+
export const HorizontalFixedWidth = {
|
|
105
|
+
name : 'Horizontal — Fixed Width',
|
|
106
|
+
render : () => html`<bd-divider-horizontal width="200px" color="#026DFF" opacity="1"></bd-divider-horizontal>`,
|
|
107
|
+
parameters: { docs: { description: { story: 'Horizontal divider with a fixed pixel width of 200px.' } } }
|
|
178
108
|
};
|
|
179
109
|
|
|
180
|
-
|
|
181
|
-
VerticalBrandColor.args = {
|
|
182
|
-
component: 'vertical',
|
|
183
|
-
height : '100px',
|
|
184
|
-
thickness: '2px',
|
|
185
|
-
color : '#8b5cf6',
|
|
186
|
-
opacity : 1.0
|
|
187
|
-
};
|
|
188
|
-
VerticalBrandColor.parameters = {
|
|
189
|
-
docs: {
|
|
190
|
-
description: {
|
|
191
|
-
story: 'Vertical divider with brand purple color for consistent theming.'
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
};
|
|
110
|
+
// ─── Vertical Stories ──────────────────────────────────────────────────────
|
|
195
111
|
|
|
196
|
-
export const
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
docs: {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
112
|
+
export const VerticalDefault = {
|
|
113
|
+
name : 'Vertical — Default',
|
|
114
|
+
render: () => html`
|
|
115
|
+
<div style="display:flex; align-items:center; gap:8px; height:40px;">
|
|
116
|
+
<span>Left</span>
|
|
117
|
+
<bd-divider-vertical></bd-divider-vertical>
|
|
118
|
+
<span>Right</span>
|
|
119
|
+
</div>
|
|
120
|
+
`,
|
|
121
|
+
parameters: { docs: { description: { story: 'Default vertical divider between two text elements.' } } }
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
export const VerticalCustomHeight = {
|
|
125
|
+
name : 'Vertical — Custom Height',
|
|
126
|
+
render: () => html`
|
|
127
|
+
<div style="display:flex; align-items:center; gap:8px; height:60px;">
|
|
128
|
+
<span>Home</span>
|
|
129
|
+
<bd-divider-vertical height="40px"></bd-divider-vertical>
|
|
130
|
+
<span>Products</span>
|
|
131
|
+
<bd-divider-vertical height="40px"></bd-divider-vertical>
|
|
132
|
+
<span>Contact</span>
|
|
133
|
+
</div>
|
|
134
|
+
`,
|
|
135
|
+
parameters: { docs: { description: { story: 'Vertical dividers with 40px height between nav-like items.' } } }
|
|
210
136
|
};
|
|
211
137
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
<div>
|
|
220
|
-
<bd-p kind="small" style="margin-bottom: 0.5rem;">Default (100% width)</bd-p>
|
|
221
|
-
<bd-divider-horizontal></bd-divider-horizontal>
|
|
222
|
-
</div>
|
|
223
|
-
|
|
224
|
-
<div>
|
|
225
|
-
<bd-p kind="small" style="margin-bottom: 0.5rem;">Custom Width (200px)</bd-p>
|
|
226
|
-
<bd-divider-horizontal width="200px"></bd-divider-horizontal>
|
|
227
|
-
</div>
|
|
228
|
-
|
|
229
|
-
<div>
|
|
230
|
-
<bd-p kind="small" style="margin-bottom: 0.5rem;">Brand Color</bd-p>
|
|
231
|
-
<bd-divider-horizontal color="#3b82f6"></bd-divider-horizontal>
|
|
232
|
-
</div>
|
|
233
|
-
|
|
234
|
-
<div>
|
|
235
|
-
<bd-p kind="small" style="margin-bottom: 0.5rem;">Faded (50% opacity)</bd-p>
|
|
236
|
-
<bd-divider-horizontal opacity="0.5"></bd-divider-horizontal>
|
|
237
|
-
</div>
|
|
238
|
-
|
|
239
|
-
<div>
|
|
240
|
-
<bd-p kind="small" style="margin-bottom: 0.5rem;">Thick Red</bd-p>
|
|
241
|
-
<bd-divider-horizontal color="#ef4444" opacity="0.8"></bd-divider-horizontal>
|
|
242
|
-
</div>
|
|
138
|
+
export const VerticalCustomThickness = {
|
|
139
|
+
name : 'Vertical — Custom Thickness',
|
|
140
|
+
render: () => html`
|
|
141
|
+
<div style="display:flex; align-items:center; gap:16px; height:40px;">
|
|
142
|
+
<bd-divider-vertical height="30px" thickness="1px" color="#026DFF" opacity="1"></bd-divider-vertical>
|
|
143
|
+
<bd-divider-vertical height="30px" thickness="2px" color="#026DFF" opacity="1"></bd-divider-vertical>
|
|
144
|
+
<bd-divider-vertical height="30px" thickness="4px" color="#026DFF" opacity="1"></bd-divider-vertical>
|
|
243
145
|
</div>
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
AllHorizontalVariants.parameters = {
|
|
247
|
-
docs: {
|
|
248
|
-
description: {
|
|
249
|
-
story: 'Collection of different horizontal divider variants showing various width, color, and opacity combinations.'
|
|
250
|
-
}
|
|
251
|
-
}
|
|
146
|
+
`,
|
|
147
|
+
parameters: { docs: { description: { story: 'Three thickness values: 1px, 2px, 4px.' } } }
|
|
252
148
|
};
|
|
253
149
|
|
|
254
|
-
export const
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
<
|
|
260
|
-
|
|
261
|
-
<bd-divider-vertical></bd-divider-vertical>
|
|
262
|
-
</div>
|
|
263
|
-
|
|
264
|
-
<div style="display: flex; flex-direction: column; align-items: center; gap: 1rem;">
|
|
265
|
-
<bd-p kind="small">Thick (4px)</bd-p>
|
|
266
|
-
<bd-divider-vertical thickness="4px"></bd-divider-vertical>
|
|
267
|
-
</div>
|
|
268
|
-
|
|
269
|
-
<div style="display: flex; flex-direction: column; align-items: center; gap: 1rem;">
|
|
270
|
-
<bd-p kind="small">Brand Color</bd-p>
|
|
271
|
-
<bd-divider-vertical color="#8b5cf6" thickness="2px"></bd-divider-vertical>
|
|
272
|
-
</div>
|
|
273
|
-
|
|
274
|
-
<div style="display: flex; flex-direction: column; align-items: center; gap: 1rem;">
|
|
275
|
-
<bd-p kind="small">Subtle (30%)</bd-p>
|
|
276
|
-
<bd-divider-vertical opacity="0.3"></bd-divider-vertical>
|
|
277
|
-
</div>
|
|
278
|
-
|
|
279
|
-
<div style="display: flex; flex-direction: column; align-items: center; gap: 1rem;">
|
|
280
|
-
<bd-p kind="small">Tall (150px)</bd-p>
|
|
281
|
-
<bd-divider-vertical height="150px"></bd-divider-vertical>
|
|
282
|
-
</div>
|
|
150
|
+
export const VerticalCustomColor = {
|
|
151
|
+
name : 'Vertical — Custom Color',
|
|
152
|
+
render: () => html`
|
|
153
|
+
<div style="display:flex; align-items:center; gap:16px; height:40px;">
|
|
154
|
+
<bd-divider-vertical height="30px" thickness="2px" color="#026DFF" opacity="1"></bd-divider-vertical>
|
|
155
|
+
<bd-divider-vertical height="30px" thickness="2px" color="#E53935" opacity="1"></bd-divider-vertical>
|
|
156
|
+
<bd-divider-vertical height="30px" thickness="2px" color="#43A047" opacity="1"></bd-divider-vertical>
|
|
283
157
|
</div>
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
AllVerticalVariants.parameters = {
|
|
287
|
-
docs: {
|
|
288
|
-
description: {
|
|
289
|
-
story: 'Collection of different vertical divider variants showing various height, thickness, color, and opacity combinations.'
|
|
290
|
-
}
|
|
291
|
-
}
|
|
158
|
+
`,
|
|
159
|
+
parameters: { docs: { description: { story: 'Blue, red, and green vertical dividers.' } } }
|
|
292
160
|
};
|
|
293
161
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
<div style="margin-bottom: 3rem;">
|
|
300
|
-
<bd-h as="h3" style="margin-bottom: 1rem;">Content Sections</bd-h>
|
|
301
|
-
<div style="display: flex; flex-direction: column; gap: 2rem;">
|
|
302
|
-
<div>
|
|
303
|
-
<bd-h as="h4">Section 1</bd-h>
|
|
304
|
-
<bd-p kind="regular">This is the first content section with some sample text.</bd-p>
|
|
305
|
-
</div>
|
|
306
|
-
|
|
307
|
-
<bd-divider-horizontal opacity="0.3"></bd-divider-horizontal>
|
|
308
|
-
|
|
309
|
-
<div>
|
|
310
|
-
<bd-h as="h4">Section 2</bd-h>
|
|
311
|
-
<bd-p kind="regular">This is the second content section separated by a subtle divider.</bd-p>
|
|
312
|
-
</div>
|
|
313
|
-
|
|
314
|
-
<bd-divider-horizontal color="#3b82f6" opacity="0.6"></bd-divider-horizontal>
|
|
315
|
-
|
|
316
|
-
<div>
|
|
317
|
-
<bd-h as="h4">Section 3</bd-h>
|
|
318
|
-
<bd-p kind="regular">This section uses a branded blue divider for emphasis.</bd-p>
|
|
319
|
-
</div>
|
|
320
|
-
</div>
|
|
321
|
-
</div>
|
|
322
|
-
|
|
323
|
-
<!-- Example 2: Toolbar with vertical dividers -->
|
|
324
|
-
<div style="margin-bottom: 3rem;">
|
|
325
|
-
<bd-h as="h3" style="margin-bottom: 1rem;">Toolbar Layout</bd-h>
|
|
326
|
-
<div style="display: flex; align-items: center; gap: 1rem; padding: 1rem; background: #f8fafc; border-radius: 8px;">
|
|
327
|
-
<button style="padding: 0.5rem 1rem; border: 1px solid #d1d5db; border-radius: 4px; background: white;">File</button>
|
|
328
|
-
<button style="padding: 0.5rem 1rem; border: 1px solid #d1d5db; border-radius: 4px; background: white;">Edit</button>
|
|
329
|
-
<button style="padding: 0.5rem 1rem; border: 1px solid #d1d5db; border-radius: 4px; background: white;">View</button>
|
|
330
|
-
|
|
331
|
-
<bd-divider-vertical height="20px" opacity="0.4"></bd-divider-vertical>
|
|
332
|
-
|
|
333
|
-
<button style="padding: 0.5rem 1rem; border: 1px solid #d1d5db; border-radius: 4px; background: white;">Save</button>
|
|
334
|
-
<button style="padding: 0.5rem 1rem; border: 1px solid #d1d5db; border-radius: 4px; background: white;">Undo</button>
|
|
335
|
-
|
|
336
|
-
<bd-divider-vertical height="20px" opacity="0.4"></bd-divider-vertical>
|
|
337
|
-
|
|
338
|
-
<button style="padding: 0.5rem 1rem; border: 1px solid #d1d5db; border-radius: 4px; background: white;">Help</button>
|
|
339
|
-
</div>
|
|
340
|
-
</div>
|
|
341
|
-
|
|
342
|
-
<!-- Example 3: Card layout with custom dividers -->
|
|
162
|
+
// ─── Combined ──────────────────────────────────────────────────────────────
|
|
163
|
+
|
|
164
|
+
export const BothTypes = {
|
|
165
|
+
name : 'Both Types Together',
|
|
166
|
+
render: () => html`
|
|
343
167
|
<div>
|
|
344
|
-
<
|
|
345
|
-
|
|
346
|
-
<
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
</
|
|
350
|
-
|
|
351
|
-
<bd-divider-vertical height="80px" color="#64748b" opacity="0.5"></bd-divider-vertical>
|
|
352
|
-
|
|
353
|
-
<div style="padding: 1.5rem; background: white; border: 1px solid #e2e8f0; border-radius: 8px;">
|
|
354
|
-
<bd-h as="h4">Right Card</bd-h>
|
|
355
|
-
<bd-p kind="small">Some content on the right side</bd-p>
|
|
356
|
-
</div>
|
|
168
|
+
<div style="display:flex; align-items:center; gap:12px; margin-bottom:16px;">
|
|
169
|
+
<span>Home</span>
|
|
170
|
+
<bd-divider-vertical height="20px" thickness="1px" color="#026DFF" opacity="1"></bd-divider-vertical>
|
|
171
|
+
<span>Products</span>
|
|
172
|
+
<bd-divider-vertical height="20px" thickness="1px" color="#026DFF" opacity="1"></bd-divider-vertical>
|
|
173
|
+
<span>Contact</span>
|
|
357
174
|
</div>
|
|
175
|
+
<bd-divider-horizontal width="100%" color="#026DFF" opacity="0.25"></bd-divider-horizontal>
|
|
176
|
+
<p style="margin-top:16px;">Content below the divider.</p>
|
|
358
177
|
</div>
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
thickness: '1px',
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
}
|
|
178
|
+
`,
|
|
179
|
+
parameters: { docs: { description: { story: 'Both divider types used together — vertical between nav links, horizontal as a section separator.' } } }
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
export const PlaygroundHorizontal = {
|
|
183
|
+
name : '🛝 Playground — Horizontal',
|
|
184
|
+
args : { width: '100%', hColor: '#026DFF', hOpacity: '0.5' },
|
|
185
|
+
render: (args) => html`
|
|
186
|
+
<bd-divider-horizontal width="${args.width}" color="${args.hColor}" opacity="${args.hOpacity}"></bd-divider-horizontal>
|
|
187
|
+
`,
|
|
188
|
+
parameters: { docs: { description: { story: 'Interactive horizontal divider playground.' } } }
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
export const PlaygroundVertical = {
|
|
192
|
+
name : '🛝 Playground — Vertical',
|
|
193
|
+
args : { height: '30px', thickness: '1px', vColor: '#026DFF', vOpacity: '1' },
|
|
194
|
+
render: (args) => html`
|
|
195
|
+
<div style="display:flex; align-items:center; gap:8px; height:50px;">
|
|
196
|
+
<span>Left</span>
|
|
197
|
+
<bd-divider-vertical height="${args.height}" thickness="${args.thickness}" color="${args.vColor}" opacity="${args.vOpacity}"></bd-divider-vertical>
|
|
198
|
+
<span>Right</span>
|
|
199
|
+
</div>
|
|
200
|
+
`,
|
|
201
|
+
parameters: { docs: { description: { story: 'Interactive vertical divider playground.' } } }
|
|
384
202
|
};
|