@pure-ds/storybook 0.3.19 → 0.4.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.
Files changed (40) hide show
  1. package/.storybook/addons/pds-configurator/SearchTool.js +44 -44
  2. package/.storybook/preview.js +6 -2
  3. package/dist/pds-reference.json +65 -13
  4. package/package.json +50 -50
  5. package/stories/components/PdsCalendar.stories.js +266 -263
  6. package/stories/components/PdsDrawer.stories.js +2 -2
  7. package/stories/components/PdsIcon.stories.js +2 -2
  8. package/stories/components/PdsJsonform.stories.js +2 -2
  9. package/stories/components/PdsRichtext.stories.js +367 -367
  10. package/stories/components/PdsScrollrow.stories.js +140 -140
  11. package/stories/components/PdsSplitpanel.stories.js +502 -502
  12. package/stories/components/PdsTabstrip.stories.js +2 -2
  13. package/stories/components/PdsToaster.stories.js +186 -186
  14. package/stories/components/PdsUpload.stories.js +66 -66
  15. package/stories/enhancements/Dropdowns.stories.js +185 -185
  16. package/stories/enhancements/InteractiveStates.stories.js +625 -625
  17. package/stories/enhancements/MeshGradients.stories.js +321 -320
  18. package/stories/enhancements/OpenGroups.stories.js +227 -227
  19. package/stories/enhancements/RangeSliders.stories.js +232 -232
  20. package/stories/enhancements/RequiredFields.stories.js +189 -189
  21. package/stories/enhancements/Toggles.stories.js +167 -167
  22. package/stories/foundations/Colors.stories.js +2 -1
  23. package/stories/foundations/Icons.stories.js +4 -0
  24. package/stories/foundations/SmartSurfaces.stories.js +485 -367
  25. package/stories/foundations/Spacing.stories.js +5 -1
  26. package/stories/foundations/Typography.stories.js +4 -0
  27. package/stories/foundations/ZIndex.stories.js +329 -325
  28. package/stories/layout/LayoutOverview.stories.js +247 -0
  29. package/stories/layout/LayoutSystem.stories.js +852 -0
  30. package/stories/patterns/BorderEffects.stories.js +74 -72
  31. package/stories/primitives/Accordion.stories.js +5 -3
  32. package/stories/primitives/Alerts.stories.js +261 -46
  33. package/stories/primitives/Badges.stories.js +4 -0
  34. package/stories/primitives/Buttons.stories.js +2 -2
  35. package/stories/primitives/Cards.stories.js +98 -170
  36. package/stories/primitives/Media.stories.js +442 -203
  37. package/stories/primitives/Tables.stories.js +358 -232
  38. package/stories/utilities/Backdrop.stories.js +197 -0
  39. package/stories/patterns/Layout.stories.js +0 -99
  40. package/stories/utilities/GridSystem.stories.js +0 -208
@@ -1,227 +1,227 @@
1
- import { html } from 'lit';
2
-
3
- const openGroupsStoryStyles = html`
4
- <style>
5
- .open-groups-container {
6
- max-width: 37.5rem;
7
- display: grid;
8
- gap: var(--spacing-4);
9
- }
10
-
11
- .open-groups-description {
12
- color: var(--surface-text-secondary);
13
- margin: 0;
14
- }
15
-
16
- .open-groups-description + .open-groups-fieldset,
17
- .open-groups-description + .open-groups-form-fieldset {
18
- margin-top: var(--spacing-4);
19
- }
20
-
21
- .open-groups-fieldset {
22
- display: grid;
23
- gap: var(--spacing-3);
24
- margin: 0;
25
- }
26
-
27
- .open-groups-form {
28
- max-width: 37.5rem;
29
- display: grid;
30
- gap: var(--spacing-4);
31
- }
32
-
33
- .open-groups-form-fieldset {
34
- display: grid;
35
- gap: var(--spacing-3);
36
- }
37
-
38
- .open-groups-actions {
39
- display: flex;
40
- gap: var(--spacing-3);
41
- }
42
-
43
- .open-groups-card {
44
- max-width: 37.5rem;
45
- display: grid;
46
- gap: var(--spacing-4);
47
- }
48
-
49
- .open-groups-card-actions {
50
- margin-top: var(--spacing-4);
51
- }
52
- </style>
53
- `;
54
-
55
- export default {
56
- title: 'Enhancements/Open Groups',
57
- tags: ['forms', 'interaction'],
58
- parameters: {
59
- pds: {
60
- tags: ['forms', 'interaction']
61
- },
62
- docs: {
63
- description: {
64
- component:
65
- 'Dynamic checkbox/radio groups that allow users to add custom options at runtime using the data-open attribute'
66
- }
67
- }
68
- }
69
- };
70
-
71
- export const RadioGroupOpen = () => html`
72
- ${openGroupsStoryStyles}
73
- <section class="open-groups-container">
74
- <h3>Select Your Preferences</h3>
75
- <p class="open-groups-description">
76
- Choose from existing options or add your own
77
- </p>
78
- <fieldset role="group" data-open >
79
- <legend>Favorite Programming Language</legend>
80
- <label>
81
- <span data-label>JavaScript</span>
82
- <input value="javascript" name="language" type="radio">
83
- </label>
84
- <label>
85
- <span data-label>Python</span>
86
- <input value="python" name="language" type="radio">
87
- </label>
88
- <label>
89
- <span data-label>TypeScript</span>
90
- <input value="typescript" name="language" type="radio">
91
- </label>
92
- </fieldset>
93
- </section>
94
- `;
95
-
96
- export const CheckboxGroupOpen = () => html`
97
- ${openGroupsStoryStyles}
98
- <section class="open-groups-container">
99
- <h3>Select Features</h3>
100
- <p class="open-groups-description">
101
- Select multiple features and add custom ones
102
- </p>
103
- <fieldset role="group" data-open>
104
- <legend>Desired Features</legend>
105
- <label>
106
- <span data-label>Dark Mode</span>
107
- <input value="dark-mode" name="features" type="checkbox">
108
- </label>
109
- <label>
110
- <span data-label>Notifications</span>
111
- <input value="notifications" name="features" type="checkbox">
112
- </label>
113
- <label>
114
- <span data-label>Analytics</span>
115
- <input value="analytics" name="features" type="checkbox">
116
- </label>
117
- </fieldset>
118
- </section>
119
- `;
120
-
121
- export const InForm = () => html`
122
- ${openGroupsStoryStyles}
123
- <form
124
- class="open-groups-form"
125
- @submit="${(event) => {
126
- event.preventDefault();
127
- window.toastFormData(new FormData(event.target));
128
- }}"
129
- >
130
- <h3>Survey Form</h3>
131
-
132
- <fieldset role="group" data-open>
133
- <legend>How did you hear about us?</legend>
134
- <label>
135
- <span data-label>Social Media</span>
136
- <input value="social" name="source" type="radio">
137
- </label>
138
- <label>
139
- <span data-label>Search Engine</span>
140
- <input value="search" name="source" type="radio">
141
- </label>
142
- <label>
143
- <span data-label>Friend</span>
144
- <input value="friend" name="source" type="radio">
145
- </label>
146
- </fieldset>
147
-
148
- <fieldset role="group" data-open>
149
- <legend>Interests (select all that apply)</legend>
150
- <label>
151
- <span data-label>Web Development</span>
152
- <input value="webdev" name="interests" type="checkbox">
153
- </label>
154
- <label>
155
- <span data-label>Design</span>
156
- <input value="design" name="interests" type="checkbox">
157
- </label>
158
- <label>
159
- <span data-label>Marketing</span>
160
- <input value="marketing" name="interests" type="checkbox">
161
- </label>
162
- </fieldset>
163
-
164
- <div class="open-groups-actions">
165
- <button type="submit" class="btn-primary">Submit Survey</button>
166
- </div>
167
- </form>
168
- `;
169
-
170
- export const PrefilledValues = () => html`
171
- ${openGroupsStoryStyles}
172
- <section class="open-groups-container">
173
- <h3>Tag Editor</h3>
174
- <p class="open-groups-description">
175
- Select existing tags or create new ones by typing and pressing Enter
176
- </p>
177
- <fieldset role="group" data-open >
178
- <legend>Article Tags</legend>
179
- <label>
180
- <span data-label>JavaScript</span>
181
- <input value="javascript" name="tags" type="checkbox" checked>
182
- </label>
183
- <label>
184
- <span data-label>Tutorial</span>
185
- <input value="tutorial" name="tags" type="checkbox" checked>
186
- </label>
187
- <label>
188
- <span data-label>Beginner</span>
189
- <input value="beginner" name="tags" type="checkbox">
190
- </label>
191
- <label>
192
- <span data-label>Advanced</span>
193
- <input value="advanced" name="tags" type="checkbox">
194
- </label>
195
- </fieldset>
196
- </section>
197
- `;
198
-
199
- export const InCard = () => html`
200
- ${openGroupsStoryStyles}
201
- <article class="card open-groups-card">
202
- <h3>Customize Your Experience</h3>
203
- <p class="open-groups-description">
204
- Choose your preferences and add custom options as needed
205
- </p>
206
-
207
- <fieldset role="group" data-open>
208
- <legend>Notification Channels</legend>
209
- <label>
210
- <span data-label>Email</span>
211
- <input value="email" name="channels" type="checkbox" checked>
212
- </label>
213
- <label>
214
- <span data-label>SMS</span>
215
- <input value="sms" name="channels" type="checkbox">
216
- </label>
217
- <label>
218
- <span data-label>Push</span>
219
- <input value="push" name="channels" type="checkbox" checked>
220
- </label>
221
- </fieldset>
222
-
223
- <div class="open-groups-card-actions">
224
- <button class="btn-primary">Save Preferences</button>
225
- </div>
226
- </article>
227
- `;
1
+ import { html } from 'lit';
2
+
3
+ const openGroupsStoryStyles = html`
4
+ <style>
5
+ .open-groups-container {
6
+ max-width: 37.5rem;
7
+ display: grid;
8
+ gap: var(--spacing-4);
9
+ }
10
+
11
+ .open-groups-description {
12
+ color: var(--surface-text-secondary);
13
+ margin: 0;
14
+ }
15
+
16
+ .open-groups-description + .open-groups-fieldset,
17
+ .open-groups-description + .open-groups-form-fieldset {
18
+ margin-top: var(--spacing-4);
19
+ }
20
+
21
+ .open-groups-fieldset {
22
+ display: grid;
23
+ gap: var(--spacing-3);
24
+ margin: 0;
25
+ }
26
+
27
+ .open-groups-form {
28
+ max-width: 37.5rem;
29
+ display: grid;
30
+ gap: var(--spacing-4);
31
+ }
32
+
33
+ .open-groups-form-fieldset {
34
+ display: grid;
35
+ gap: var(--spacing-3);
36
+ }
37
+
38
+ .open-groups-actions {
39
+ display: flex;
40
+ gap: var(--spacing-3);
41
+ }
42
+
43
+ .open-groups-card {
44
+ max-width: 37.5rem;
45
+ display: grid;
46
+ gap: var(--spacing-4);
47
+ }
48
+
49
+ .open-groups-card-actions {
50
+ margin-top: var(--spacing-4);
51
+ }
52
+ </style>
53
+ `;
54
+
55
+ export default {
56
+ title: 'Enhancements/Open Groups',
57
+ tags: ['fieldset', 'radio', 'checkbox', 'dynamic', 'custom-option'],
58
+ parameters: {
59
+ pds: {
60
+ tags: ['fieldset', 'radio', 'checkbox', 'dynamic', 'custom-option', 'data-open', 'forms', 'interaction', 'enhancement']
61
+ },
62
+ docs: {
63
+ description: {
64
+ component:
65
+ 'Dynamic checkbox/radio groups that allow users to add custom options at runtime using the data-open attribute'
66
+ }
67
+ }
68
+ }
69
+ };
70
+
71
+ export const RadioGroupOpen = () => html`
72
+ ${openGroupsStoryStyles}
73
+ <section class="open-groups-container">
74
+ <h3>Select Your Preferences</h3>
75
+ <p class="open-groups-description">
76
+ Choose from existing options or add your own
77
+ </p>
78
+ <fieldset role="group" data-open >
79
+ <legend>Favorite Programming Language</legend>
80
+ <label>
81
+ <span data-label>JavaScript</span>
82
+ <input value="javascript" name="language" type="radio">
83
+ </label>
84
+ <label>
85
+ <span data-label>Python</span>
86
+ <input value="python" name="language" type="radio">
87
+ </label>
88
+ <label>
89
+ <span data-label>TypeScript</span>
90
+ <input value="typescript" name="language" type="radio">
91
+ </label>
92
+ </fieldset>
93
+ </section>
94
+ `;
95
+
96
+ export const CheckboxGroupOpen = () => html`
97
+ ${openGroupsStoryStyles}
98
+ <section class="open-groups-container">
99
+ <h3>Select Features</h3>
100
+ <p class="open-groups-description">
101
+ Select multiple features and add custom ones
102
+ </p>
103
+ <fieldset role="group" data-open>
104
+ <legend>Desired Features</legend>
105
+ <label>
106
+ <span data-label>Dark Mode</span>
107
+ <input value="dark-mode" name="features" type="checkbox">
108
+ </label>
109
+ <label>
110
+ <span data-label>Notifications</span>
111
+ <input value="notifications" name="features" type="checkbox">
112
+ </label>
113
+ <label>
114
+ <span data-label>Analytics</span>
115
+ <input value="analytics" name="features" type="checkbox">
116
+ </label>
117
+ </fieldset>
118
+ </section>
119
+ `;
120
+
121
+ export const InForm = () => html`
122
+ ${openGroupsStoryStyles}
123
+ <form
124
+ class="open-groups-form"
125
+ @submit="${(event) => {
126
+ event.preventDefault();
127
+ window.toastFormData(new FormData(event.target));
128
+ }}"
129
+ >
130
+ <h3>Survey Form</h3>
131
+
132
+ <fieldset role="group" data-open>
133
+ <legend>How did you hear about us?</legend>
134
+ <label>
135
+ <span data-label>Social Media</span>
136
+ <input value="social" name="source" type="radio">
137
+ </label>
138
+ <label>
139
+ <span data-label>Search Engine</span>
140
+ <input value="search" name="source" type="radio">
141
+ </label>
142
+ <label>
143
+ <span data-label>Friend</span>
144
+ <input value="friend" name="source" type="radio">
145
+ </label>
146
+ </fieldset>
147
+
148
+ <fieldset role="group" data-open>
149
+ <legend>Interests (select all that apply)</legend>
150
+ <label>
151
+ <span data-label>Web Development</span>
152
+ <input value="webdev" name="interests" type="checkbox">
153
+ </label>
154
+ <label>
155
+ <span data-label>Design</span>
156
+ <input value="design" name="interests" type="checkbox">
157
+ </label>
158
+ <label>
159
+ <span data-label>Marketing</span>
160
+ <input value="marketing" name="interests" type="checkbox">
161
+ </label>
162
+ </fieldset>
163
+
164
+ <div class="open-groups-actions">
165
+ <button type="submit" class="btn-primary">Submit Survey</button>
166
+ </div>
167
+ </form>
168
+ `;
169
+
170
+ export const PrefilledValues = () => html`
171
+ ${openGroupsStoryStyles}
172
+ <section class="open-groups-container">
173
+ <h3>Tag Editor</h3>
174
+ <p class="open-groups-description">
175
+ Select existing tags or create new ones by typing and pressing Enter
176
+ </p>
177
+ <fieldset role="group" data-open >
178
+ <legend>Article Tags</legend>
179
+ <label>
180
+ <span data-label>JavaScript</span>
181
+ <input value="javascript" name="tags" type="checkbox" checked>
182
+ </label>
183
+ <label>
184
+ <span data-label>Tutorial</span>
185
+ <input value="tutorial" name="tags" type="checkbox" checked>
186
+ </label>
187
+ <label>
188
+ <span data-label>Beginner</span>
189
+ <input value="beginner" name="tags" type="checkbox">
190
+ </label>
191
+ <label>
192
+ <span data-label>Advanced</span>
193
+ <input value="advanced" name="tags" type="checkbox">
194
+ </label>
195
+ </fieldset>
196
+ </section>
197
+ `;
198
+
199
+ export const InCard = () => html`
200
+ ${openGroupsStoryStyles}
201
+ <article class="card open-groups-card">
202
+ <h3>Customize Your Experience</h3>
203
+ <p class="open-groups-description">
204
+ Choose your preferences and add custom options as needed
205
+ </p>
206
+
207
+ <fieldset role="group" data-open>
208
+ <legend>Notification Channels</legend>
209
+ <label>
210
+ <span data-label>Email</span>
211
+ <input value="email" name="channels" type="checkbox" checked>
212
+ </label>
213
+ <label>
214
+ <span data-label>SMS</span>
215
+ <input value="sms" name="channels" type="checkbox">
216
+ </label>
217
+ <label>
218
+ <span data-label>Push</span>
219
+ <input value="push" name="channels" type="checkbox" checked>
220
+ </label>
221
+ </fieldset>
222
+
223
+ <div class="open-groups-card-actions">
224
+ <button class="btn-primary">Save Preferences</button>
225
+ </div>
226
+ </article>
227
+ `;