@pure-ds/storybook 0.4.15 → 0.4.17
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/.storybook/addons/html-preview/Panel.jsx +75 -23
- package/.storybook/addons/html-preview/preview.js +27 -1
- package/.storybook/docs.css +7 -0
- package/.storybook/htmlPreview.css +6 -6
- package/.storybook/htmlPreview.js +27 -1
- package/.storybook/manager-head.html +13 -0
- package/.storybook/preview-head.html +5 -0
- package/.storybook/preview.js +1 -1
- package/dist/pds-reference.json +2 -7
- package/package.json +2 -2
- package/public/assets/js/app.js +617 -10565
- package/public/assets/js/lit.js +3 -1048
- package/public/assets/js/pds.js +396 -7354
- package/public/assets/pds/components/pds-calendar.js +1 -1
- package/public/assets/pds/custom-elements.json +263 -18
- package/public/assets/pds/pds-runtime-config.json +1 -1
- package/public/assets/pds/styles/pds-components.css +83 -221
- package/public/assets/pds/styles/pds-components.css.js +166 -442
- package/public/assets/pds/styles/pds-styles.css +240 -437
- package/public/assets/pds/styles/pds-styles.css.js +479 -881
- package/public/assets/pds/styles/pds-utilities.css +151 -214
- package/public/assets/pds/styles/pds-utilities.css.js +302 -428
- package/src/js/pds-configurator/pds-demo.js +11 -1
- package/src/js/pds-core/pds-generator.js +88 -38
- package/src/js/pds-core/pds-ontology.js +1 -1
- package/stories/components/PdsCalendar.stories.js +2 -2
- package/stories/components/PdsDrawer.stories.js +15 -15
- package/stories/components/PdsJsonform.stories.js +78 -0
- package/stories/components/PdsRichtext.stories.js +4 -17
- package/stories/components/PdsScrollrow.stories.js +224 -72
- package/stories/components/PdsSplitpanel.stories.js +63 -28
- package/stories/components/PdsTabstrip.stories.js +7 -7
- package/stories/enhancements/Accordion.stories.js +2 -2
- package/stories/enhancements/Dropdowns.stories.js +13 -10
- package/stories/enhancements/RangeSliders.stories.js +9 -9
- package/stories/enhancements/RequiredFields.stories.js +8 -8
- package/stories/enhancements/Toggles.stories.js +45 -36
- package/stories/enhancements/_enhancement-header.js +2 -2
- package/stories/foundations/Colors.stories.js +13 -13
- package/stories/foundations/HTMLDefaults.stories.js +4 -4
- package/stories/foundations/Icons.stories.js +123 -288
- package/stories/foundations/MeshGradients.stories.js +161 -250
- package/stories/foundations/SmartSurfaces.stories.js +147 -64
- package/stories/foundations/Spacing.stories.js +30 -30
- package/stories/foundations/Typography.stories.js +352 -723
- package/stories/foundations/ZIndex.stories.js +124 -141
- package/stories/layout/LayoutOverview.stories.js +343 -250
- package/stories/layout/LayoutSystem.stories.js +60 -76
- package/stories/patterns/InteractiveStates.stories.js +29 -29
- package/stories/patterns/Utilities.stories.js +17 -5
- package/stories/primitives/Alerts.stories.js +6 -6
- package/stories/primitives/Cards.stories.js +22 -11
- package/stories/primitives/Forms.stories.js +17 -8
- package/stories/primitives/Media.stories.js +23 -20
- package/stories/utilities/Backdrop.stories.js +68 -27
- package/stories/utils/PdsAsk.stories.js +1 -1
- package/public/assets/js/app.js.map +0 -7
- package/public/assets/js/lit.js.map +0 -7
- package/public/assets/js/pds.js.map +0 -7
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { html } from "lit";
|
|
2
2
|
import { enhancementHeader } from './_enhancement-header.js';
|
|
3
3
|
|
|
4
|
-
//
|
|
5
|
-
const
|
|
4
|
+
// Story-specific styles for dropdown demos
|
|
5
|
+
const dropdownStoryStyles = html`
|
|
6
6
|
<style>
|
|
7
|
-
.
|
|
7
|
+
.story-dropdown-container {
|
|
8
|
+
height: 260px;
|
|
9
|
+
}
|
|
10
|
+
.story-glass-demo {
|
|
8
11
|
position: relative;
|
|
9
12
|
display: flex;
|
|
10
13
|
justify-content: center;
|
|
@@ -13,10 +16,12 @@ const dropdownGlassDemoStyles = html`
|
|
|
13
16
|
padding: var(--spacing-8);
|
|
14
17
|
border-radius: var(--radius-xl);
|
|
15
18
|
overflow: hidden;
|
|
16
|
-
background-image: var(--dropdown-demo-image);
|
|
17
19
|
background-size: cover;
|
|
18
20
|
background-position: center;
|
|
19
21
|
}
|
|
22
|
+
.story-glass-demo-travel {
|
|
23
|
+
background-image: url('https://images.unsplash.com/photo-1517832207067-4db24a2ae47c?auto=format&fit=crop&w=1200&q=80');
|
|
24
|
+
}
|
|
20
25
|
</style>
|
|
21
26
|
`;
|
|
22
27
|
|
|
@@ -95,11 +100,12 @@ export const WithIcons = () => html`
|
|
|
95
100
|
`;
|
|
96
101
|
|
|
97
102
|
export const DropUp = () => html`
|
|
103
|
+
${dropdownStoryStyles}
|
|
98
104
|
${enhancementHeader('dropdown', {
|
|
99
105
|
selector: '[data-mode="up"]',
|
|
100
106
|
description: ' Adds `data-mode="up"` to make the dropdown menu open upwards instead of downwards.'
|
|
101
107
|
})}
|
|
102
|
-
<div class="flex justify-center items-end card
|
|
108
|
+
<div class="flex justify-center items-end card story-dropdown-container">
|
|
103
109
|
<nav data-dropdown data-mode="up">
|
|
104
110
|
<button class="btn-primary">Resources</button>
|
|
105
111
|
<menu>
|
|
@@ -112,12 +118,9 @@ export const DropUp = () => html`
|
|
|
112
118
|
`;
|
|
113
119
|
|
|
114
120
|
export const BackgroundImageLiquidGlass = () => html`
|
|
115
|
-
${
|
|
121
|
+
${dropdownStoryStyles}
|
|
116
122
|
${enhancementHeader('dropdown')}
|
|
117
|
-
<section
|
|
118
|
-
class="dropdown-story-glass-demo"
|
|
119
|
-
style="--dropdown-demo-image: url('https://images.unsplash.com/photo-1517832207067-4db24a2ae47c?auto=format&fit=crop&w=1200&q=80');"
|
|
120
|
-
>
|
|
123
|
+
<section class="story-glass-demo story-glass-demo-travel">
|
|
121
124
|
<div class="stack-md gap-md text-center max-w-sm">
|
|
122
125
|
<div class="card liquid-glass stack-md">
|
|
123
126
|
<h3>Plan Your Escape</h3>
|
|
@@ -21,7 +21,7 @@ export const StandardFloatingBubble = () => html`
|
|
|
21
21
|
Default behavior: A floating bubble appears when you interact with the slider.
|
|
22
22
|
</small>
|
|
23
23
|
<label>
|
|
24
|
-
<span>Volume</span>
|
|
24
|
+
<span data-label>Volume</span>
|
|
25
25
|
<input type="range" min="0" max="100" value="50">
|
|
26
26
|
</label>
|
|
27
27
|
</section>
|
|
@@ -39,19 +39,19 @@ export const MultipleRanges = () => html`
|
|
|
39
39
|
}}"
|
|
40
40
|
>
|
|
41
41
|
<label>
|
|
42
|
-
<span>Brightness</span>
|
|
42
|
+
<span data-label>Brightness</span>
|
|
43
43
|
<input type="range" name="brightness" min="0" max="100" value="75">
|
|
44
44
|
</label>
|
|
45
45
|
<label>
|
|
46
|
-
<span>Contrast</span>
|
|
46
|
+
<span data-label>Contrast</span>
|
|
47
47
|
<input type="range" name="contrast" min="0" max="100" value="50">
|
|
48
48
|
</label>
|
|
49
49
|
<label>
|
|
50
|
-
<span>Saturation</span>
|
|
50
|
+
<span data-label>Saturation</span>
|
|
51
51
|
<input type="range" name="saturation" min="0" max="100" value="60">
|
|
52
52
|
</label>
|
|
53
53
|
<label>
|
|
54
|
-
<span>Temperature</span>
|
|
54
|
+
<span data-label>Temperature</span>
|
|
55
55
|
<input type="range" name="temperature" min="-100" max="100" value="0">
|
|
56
56
|
</label>
|
|
57
57
|
<button type="submit" class="btn-primary">Apply Settings</button>
|
|
@@ -68,11 +68,11 @@ export const CustomSteps = () => html`
|
|
|
68
68
|
}}"
|
|
69
69
|
>
|
|
70
70
|
<label>
|
|
71
|
-
<span>Opacity (10% steps)</span>
|
|
71
|
+
<span data-label>Opacity (10% steps)</span>
|
|
72
72
|
<input type="range" name="opacity" min="0" max="100" value="100" step="10">
|
|
73
73
|
</label>
|
|
74
74
|
<label>
|
|
75
|
-
<span>Font Size (0.25rem steps)</span>
|
|
75
|
+
<span data-label>Font Size (0.25rem steps)</span>
|
|
76
76
|
<input type="range" name="fontSize" min="0.5" max="3" value="1" step="0.25">
|
|
77
77
|
</label>
|
|
78
78
|
<button type="submit" class="btn-primary">Apply Settings</button>
|
|
@@ -148,11 +148,11 @@ export const ComparisonView = () => html`
|
|
|
148
148
|
</header>
|
|
149
149
|
<div class="stack-md">
|
|
150
150
|
<label>
|
|
151
|
-
<span>Volume</span>
|
|
151
|
+
<span data-label>Volume</span>
|
|
152
152
|
<input type="range" min="0" max="100" value="75">
|
|
153
153
|
</label>
|
|
154
154
|
<label>
|
|
155
|
-
<span>Brightness</span>
|
|
155
|
+
<span data-label>Brightness</span>
|
|
156
156
|
<input type="range" min="0" max="100" value="50">
|
|
157
157
|
</label>
|
|
158
158
|
</div>
|
|
@@ -23,18 +23,18 @@ export const BasicRequired = () => html`
|
|
|
23
23
|
}}"
|
|
24
24
|
>
|
|
25
25
|
<label>
|
|
26
|
-
<span>Full Name</span>
|
|
26
|
+
<span data-label>Full Name</span>
|
|
27
27
|
<input type="text" required placeholder="John Doe">
|
|
28
28
|
</label>
|
|
29
29
|
<label>
|
|
30
|
-
<span>Email</span>
|
|
30
|
+
<span data-label>Email</span>
|
|
31
31
|
<div class="input-icon">
|
|
32
32
|
<pds-icon icon="envelope"></pds-icon>
|
|
33
33
|
<input type="email" required placeholder="john@example.com">
|
|
34
34
|
</div>
|
|
35
35
|
</label>
|
|
36
36
|
<label>
|
|
37
|
-
<span>Phone (optional)</span>
|
|
37
|
+
<span data-label>Phone (optional)</span>
|
|
38
38
|
<div class="input-icon">
|
|
39
39
|
<pds-icon icon="phone"></pds-icon>
|
|
40
40
|
<input type="tel" placeholder="+1 (555) 123-4567">
|
|
@@ -55,21 +55,21 @@ export const MixedRequired = () => html`
|
|
|
55
55
|
<fieldset>
|
|
56
56
|
<legend>Account Information</legend>
|
|
57
57
|
<label>
|
|
58
|
-
<span>Username</span>
|
|
58
|
+
<span data-label>Username</span>
|
|
59
59
|
<div class="input-icon">
|
|
60
60
|
<pds-icon icon="user"></pds-icon>
|
|
61
61
|
<input type="text" required placeholder="username">
|
|
62
62
|
</div>
|
|
63
63
|
</label>
|
|
64
64
|
<label>
|
|
65
|
-
<span>Password</span>
|
|
65
|
+
<span data-label>Password</span>
|
|
66
66
|
<div class="input-icon">
|
|
67
67
|
<pds-icon icon="lock"></pds-icon>
|
|
68
68
|
<input type="password" required placeholder="••••••••">
|
|
69
69
|
</div>
|
|
70
70
|
</label>
|
|
71
71
|
<label>
|
|
72
|
-
<span>Confirm Password</span>
|
|
72
|
+
<span data-label>Confirm Password</span>
|
|
73
73
|
<div class="input-icon">
|
|
74
74
|
<pds-icon icon="lock"></pds-icon>
|
|
75
75
|
<input type="password" required placeholder="••••••••">
|
|
@@ -80,11 +80,11 @@ export const MixedRequired = () => html`
|
|
|
80
80
|
<fieldset>
|
|
81
81
|
<legend>Optional Details</legend>
|
|
82
82
|
<label>
|
|
83
|
-
<span>Company</span>
|
|
83
|
+
<span data-label>Company</span>
|
|
84
84
|
<input type="text" placeholder="Acme Corp">
|
|
85
85
|
</label>
|
|
86
86
|
<label>
|
|
87
|
-
<span>Website</span>
|
|
87
|
+
<span data-label>Website</span>
|
|
88
88
|
<div class="input-icon">
|
|
89
89
|
<pds-icon icon="globe"></pds-icon>
|
|
90
90
|
<input type="url" placeholder="https://example.com">
|
|
@@ -1,39 +1,48 @@
|
|
|
1
|
-
import { html } from
|
|
2
|
-
import { enhancementHeader } from
|
|
1
|
+
import { html } from "lit";
|
|
2
|
+
import { enhancementHeader } from "./_enhancement-header.js";
|
|
3
3
|
|
|
4
4
|
export default {
|
|
5
|
-
title:
|
|
6
|
-
tags: [
|
|
5
|
+
title: "Enhancements/Toggles",
|
|
6
|
+
tags: ["toggle", "switch", "checkbox", "forms", "interaction"],
|
|
7
7
|
parameters: {
|
|
8
8
|
options: {
|
|
9
|
-
selectedPanel:
|
|
9
|
+
selectedPanel: "html-preview/panel",
|
|
10
10
|
},
|
|
11
11
|
pds: {
|
|
12
|
-
tags: [
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
tags: [
|
|
13
|
+
"toggle",
|
|
14
|
+
"switch",
|
|
15
|
+
"checkbox",
|
|
16
|
+
"forms",
|
|
17
|
+
"interaction",
|
|
18
|
+
"data-toggle",
|
|
19
|
+
"enhancement",
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
},
|
|
15
23
|
};
|
|
16
24
|
|
|
17
25
|
export const BasicToggle = () => html`
|
|
18
|
-
${enhancementHeader(
|
|
26
|
+
${enhancementHeader("toggle")}
|
|
27
|
+
|
|
19
28
|
<label data-toggle>
|
|
29
|
+
<input type="checkbox" />
|
|
20
30
|
<span data-label>Enable notifications</span>
|
|
21
|
-
<input type="checkbox">
|
|
22
31
|
</label>
|
|
23
32
|
`;
|
|
24
33
|
|
|
25
34
|
export const PreChecked = () => html`
|
|
26
|
-
${enhancementHeader(
|
|
35
|
+
${enhancementHeader("toggle")}
|
|
27
36
|
<label data-toggle>
|
|
28
37
|
<span data-label>Dark mode</span>
|
|
29
|
-
<input type="checkbox" checked
|
|
38
|
+
<input type="checkbox" checked />
|
|
30
39
|
</label>
|
|
31
40
|
`;
|
|
32
41
|
|
|
33
42
|
export const MultipleToggles = () => html`
|
|
34
|
-
${enhancementHeader(
|
|
43
|
+
${enhancementHeader("toggle")}
|
|
35
44
|
<form
|
|
36
|
-
class="
|
|
45
|
+
class="stack-sm toggle-story-form"
|
|
37
46
|
@submit="${(event) => {
|
|
38
47
|
event.preventDefault();
|
|
39
48
|
toastFormData(new FormData(event.target));
|
|
@@ -41,26 +50,28 @@ export const MultipleToggles = () => html`
|
|
|
41
50
|
>
|
|
42
51
|
<label data-toggle>
|
|
43
52
|
<span data-label>Email notifications</span>
|
|
44
|
-
<input type="checkbox" name="email" checked
|
|
53
|
+
<input type="checkbox" name="email" checked />
|
|
45
54
|
</label>
|
|
46
55
|
<label data-toggle>
|
|
47
56
|
<span data-label>Push notifications</span>
|
|
48
|
-
<input type="checkbox" name="push"
|
|
57
|
+
<input type="checkbox" name="push" />
|
|
49
58
|
</label>
|
|
50
59
|
<label data-toggle>
|
|
51
60
|
<span data-label>SMS notifications</span>
|
|
52
|
-
<input type="checkbox" name="sms"
|
|
61
|
+
<input type="checkbox" name="sms" />
|
|
53
62
|
</label>
|
|
54
63
|
<label data-toggle>
|
|
55
64
|
<span data-label>Weekly digest</span>
|
|
56
|
-
<input type="checkbox" name="digest" checked
|
|
65
|
+
<input type="checkbox" name="digest" checked />
|
|
57
66
|
</label>
|
|
58
|
-
<button type="submit" class="btn-primary toggle-story-form__button">
|
|
67
|
+
<button type="submit" class="btn-primary toggle-story-form__button">
|
|
68
|
+
Save Preferences
|
|
69
|
+
</button>
|
|
59
70
|
</form>
|
|
60
71
|
`;
|
|
61
72
|
|
|
62
73
|
export const TogglePositions = () => html`
|
|
63
|
-
${enhancementHeader(
|
|
74
|
+
${enhancementHeader("toggle")}
|
|
64
75
|
<div class="toggle-story-layout">
|
|
65
76
|
<div>
|
|
66
77
|
<h3>Toggle Position Variations</h3>
|
|
@@ -68,30 +79,30 @@ export const TogglePositions = () => html`
|
|
|
68
79
|
Toggle knob position adapts based on label placement in DOM
|
|
69
80
|
</p>
|
|
70
81
|
</div>
|
|
71
|
-
<div class="
|
|
82
|
+
<div class="stack-md">
|
|
72
83
|
<section class="toggle-story-section">
|
|
73
84
|
<h4 class="toggle-story-subheading">Label First (Knob on Right)</h4>
|
|
74
|
-
<div class="
|
|
85
|
+
<div class="stack-sm">
|
|
75
86
|
<label data-toggle>
|
|
76
87
|
<span data-label>Email notifications</span>
|
|
77
|
-
<input type="checkbox" checked
|
|
88
|
+
<input type="checkbox" checked />
|
|
78
89
|
</label>
|
|
79
90
|
<label data-toggle>
|
|
80
91
|
<span data-label>Push notifications</span>
|
|
81
|
-
<input type="checkbox"
|
|
92
|
+
<input type="checkbox" />
|
|
82
93
|
</label>
|
|
83
94
|
</div>
|
|
84
95
|
</section>
|
|
85
96
|
|
|
86
97
|
<section class="toggle-story-section">
|
|
87
98
|
<h4 class="toggle-story-subheading">Label Last (Knob on Left)</h4>
|
|
88
|
-
<div class="
|
|
99
|
+
<div class="stack-sm">
|
|
89
100
|
<label data-toggle>
|
|
90
|
-
<input type="checkbox" checked
|
|
101
|
+
<input type="checkbox" checked />
|
|
91
102
|
<span data-label>Dark mode enabled</span>
|
|
92
103
|
</label>
|
|
93
104
|
<label data-toggle>
|
|
94
|
-
<input type="checkbox"
|
|
105
|
+
<input type="checkbox" />
|
|
95
106
|
<span data-label>Auto-save changes</span>
|
|
96
107
|
</label>
|
|
97
108
|
</div>
|
|
@@ -101,26 +112,24 @@ export const TogglePositions = () => html`
|
|
|
101
112
|
`;
|
|
102
113
|
|
|
103
114
|
export const InCard = () => html`
|
|
104
|
-
${enhancementHeader(
|
|
105
|
-
<article class="card toggle-story-card">
|
|
115
|
+
${enhancementHeader("toggle")}
|
|
116
|
+
<article class="card toggle-story-card stack-md max-w-sm">
|
|
106
117
|
<div>
|
|
107
118
|
<h3>Privacy Settings</h3>
|
|
108
|
-
<p class="toggle-story-muted">
|
|
109
|
-
Control your privacy preferences
|
|
110
|
-
</p>
|
|
119
|
+
<p class="toggle-story-muted">Control your privacy preferences</p>
|
|
111
120
|
</div>
|
|
112
|
-
<div class="
|
|
121
|
+
<div class="stack-sm">
|
|
113
122
|
<label data-toggle>
|
|
123
|
+
<input type="checkbox" checked />
|
|
114
124
|
<span data-label>Profile visibility</span>
|
|
115
|
-
<input type="checkbox" checked>
|
|
116
125
|
</label>
|
|
117
126
|
<label data-toggle>
|
|
127
|
+
<input type="checkbox" />
|
|
118
128
|
<span data-label>Show online status</span>
|
|
119
|
-
<input type="checkbox">
|
|
120
129
|
</label>
|
|
121
130
|
<label data-toggle>
|
|
131
|
+
<input type="checkbox" checked />
|
|
122
132
|
<span data-label>Allow message requests</span>
|
|
123
|
-
<input type="checkbox" checked>
|
|
124
133
|
</label>
|
|
125
134
|
</div>
|
|
126
135
|
</article>
|
|
@@ -25,8 +25,8 @@ export const enhancementHeader = (key, extraInfo = {}) => {
|
|
|
25
25
|
|
|
26
26
|
return html`
|
|
27
27
|
<header>
|
|
28
|
-
<h2
|
|
29
|
-
<p class="text-muted"
|
|
28
|
+
<h2>${selector}</h2>
|
|
29
|
+
<p class="text-muted">${info.description} ${extraInfo.description || ''}</p>
|
|
30
30
|
</header>
|
|
31
31
|
`;
|
|
32
32
|
};
|
|
@@ -177,26 +177,26 @@ const getFallbackTextColor = (color, shade) =>
|
|
|
177
177
|
|
|
178
178
|
const colorScaleStoryStyles = html`
|
|
179
179
|
<style>
|
|
180
|
-
.color-scale-story-container {
|
|
180
|
+
.story-color-scale-story-container {
|
|
181
181
|
padding: var(--spacing-8);
|
|
182
182
|
}
|
|
183
|
-
.color-scale-container {
|
|
183
|
+
.story-color-scale-container {
|
|
184
184
|
margin-bottom: var(--spacing-8);
|
|
185
185
|
}
|
|
186
|
-
.color-scale-row {
|
|
186
|
+
.story-color-scale-row {
|
|
187
187
|
display: flex;
|
|
188
188
|
align-items: center;
|
|
189
189
|
gap: var(--spacing-4);
|
|
190
190
|
}
|
|
191
|
-
.color-scale-label {
|
|
191
|
+
.story-color-scale-label {
|
|
192
192
|
width: 7.5rem;
|
|
193
193
|
font-weight: 600;
|
|
194
194
|
}
|
|
195
|
-
.color-scale-swatches {
|
|
195
|
+
.story-color-scale-swatches {
|
|
196
196
|
display: flex;
|
|
197
197
|
flex: 1;
|
|
198
198
|
}
|
|
199
|
-
.color-scale-swatch {
|
|
199
|
+
.story-color-scale-swatch {
|
|
200
200
|
flex: 1;
|
|
201
201
|
min-height: 3.75rem;
|
|
202
202
|
padding: var(--spacing-4);
|
|
@@ -206,7 +206,7 @@ const colorScaleStoryStyles = html`
|
|
|
206
206
|
position: relative;
|
|
207
207
|
z-index: 1;
|
|
208
208
|
}
|
|
209
|
-
.color-scale-swatch--hover {
|
|
209
|
+
.story-color-scale-swatch--hover {
|
|
210
210
|
transform: translateY(-0.25rem);
|
|
211
211
|
z-index: 10;
|
|
212
212
|
box-shadow: var(--shadow-md);
|
|
@@ -217,7 +217,7 @@ const colorScaleStoryStyles = html`
|
|
|
217
217
|
.map((shade) => {
|
|
218
218
|
const textColor = getFallbackTextColor(color, shade);
|
|
219
219
|
return `
|
|
220
|
-
.color-scale-swatch[data-color="${color}"][data-shade="${shade}"] {
|
|
220
|
+
.story-color-scale-swatch[data-color="${color}"][data-shade="${shade}"] {
|
|
221
221
|
background: var(--color-${color}-${shade});
|
|
222
222
|
color: ${textColor};
|
|
223
223
|
}
|
|
@@ -238,14 +238,14 @@ const handleSwatchHoverLeave = (event) => {
|
|
|
238
238
|
};
|
|
239
239
|
|
|
240
240
|
const renderColorScale = (colorName) => html`
|
|
241
|
-
<div class="color-scale-container">
|
|
242
|
-
<div class="color-scale-row">
|
|
243
|
-
<div class="color-scale-label">${colorName}</div>
|
|
244
|
-
<div class="color-scale-swatches">
|
|
241
|
+
<div class="story-color-scale-container">
|
|
242
|
+
<div class="story-color-scale-row">
|
|
243
|
+
<div class="story-color-scale-label">${colorName}</div>
|
|
244
|
+
<div class="story-color-scale-swatches">
|
|
245
245
|
${colorShades.map(
|
|
246
246
|
(shade) => html`
|
|
247
247
|
<div
|
|
248
|
-
class="color-scale-swatch"
|
|
248
|
+
class="story-color-scale-swatch"
|
|
249
249
|
data-color=${colorName}
|
|
250
250
|
data-shade=${shade}
|
|
251
251
|
style=${`color: ${chooseReadableTextColor(colorName, shade, getFallbackTextColor(colorName, shade))}`}
|
|
@@ -52,7 +52,7 @@ export const Overview = {
|
|
|
52
52
|
</article>
|
|
53
53
|
|
|
54
54
|
<article class="card">
|
|
55
|
-
<h2>Why
|
|
55
|
+
<h2>Why :where()?</h2>
|
|
56
56
|
<p>
|
|
57
57
|
All semantic element styles use the <code>:where()</code> pseudo-class, which has
|
|
58
58
|
<strong>zero specificity</strong>. This means:
|
|
@@ -246,11 +246,11 @@ export const TextElements = {
|
|
|
246
246
|
|
|
247
247
|
<article class="card">
|
|
248
248
|
<h3><code><blockquote></code></h3>
|
|
249
|
-
<p>Styled with a left border,
|
|
249
|
+
<p>Styled with a left border, elevated surface, and optional citation that matches the border color.</p>
|
|
250
250
|
|
|
251
251
|
<blockquote>
|
|
252
|
-
<p>The
|
|
253
|
-
<cite>
|
|
252
|
+
<p>The most important investment you can make is not in stocks, bonds, or real estate. The most important investment is in yourself—your skills, your knowledge, and your ability to adapt to changing market conditions. This has never been more relevant than in today's rapidly evolving financial landscape.</p>
|
|
253
|
+
<cite>Warren Buffett, CEO, Berkshire Hathaway</cite>
|
|
254
254
|
</blockquote>
|
|
255
255
|
|
|
256
256
|
<div class="code-blockquote"></div>
|