@spectrum-web-components/tabs 0.8.4 → 0.8.6

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 (46) hide show
  1. package/custom-elements.json +5 -5
  2. package/package.json +6 -6
  3. package/sp-tab-panel.d.ts +0 -6
  4. package/sp-tab-panel.js +0 -14
  5. package/sp-tab-panel.js.map +0 -1
  6. package/sp-tab.d.ts +0 -6
  7. package/sp-tab.js +0 -14
  8. package/sp-tab.js.map +0 -1
  9. package/sp-tabs.d.ts +0 -6
  10. package/sp-tabs.js +0 -14
  11. package/sp-tabs.js.map +0 -1
  12. package/src/Tab.d.ts +0 -33
  13. package/src/Tab.js +0 -112
  14. package/src/Tab.js.map +0 -1
  15. package/src/TabPanel.d.ts +0 -18
  16. package/src/TabPanel.js +0 -64
  17. package/src/TabPanel.js.map +0 -1
  18. package/src/Tabs.d.ts +0 -66
  19. package/src/Tabs.js +0 -322
  20. package/src/Tabs.js.map +0 -1
  21. package/src/index.d.ts +0 -3
  22. package/src/index.js +0 -15
  23. package/src/index.js.map +0 -1
  24. package/src/spectrum-tab.css.d.ts +0 -2
  25. package/src/spectrum-tab.css.js +0 -47
  26. package/src/spectrum-tab.css.js.map +0 -1
  27. package/src/spectrum-tabs.css.d.ts +0 -2
  28. package/src/spectrum-tabs.css.js +0 -207
  29. package/src/spectrum-tabs.css.js.map +0 -1
  30. package/src/tab-panel.css.d.ts +0 -2
  31. package/src/tab-panel.css.js +0 -17
  32. package/src/tab-panel.css.js.map +0 -1
  33. package/src/tab.css.d.ts +0 -2
  34. package/src/tab.css.js +0 -57
  35. package/src/tab.css.js.map +0 -1
  36. package/src/tabs.css.d.ts +0 -2
  37. package/src/tabs.css.js +0 -221
  38. package/src/tabs.css.js.map +0 -1
  39. package/stories/tabs-horizontal-sizes.stories.js +0 -101
  40. package/stories/tabs-horizontal-sizes.stories.js.map +0 -1
  41. package/stories/tabs-vertical-right-sizes.stories.js +0 -98
  42. package/stories/tabs-vertical-right-sizes.stories.js.map +0 -1
  43. package/stories/tabs-vertical-sizes.stories.js +0 -98
  44. package/stories/tabs-vertical-sizes.stories.js.map +0 -1
  45. package/stories/tabs.stories.js +0 -385
  46. package/stories/tabs.stories.js.map +0 -1
@@ -1,385 +0,0 @@
1
- /*
2
- Copyright 2020 Adobe. All rights reserved.
3
- This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
- you may not use this file except in compliance with the License. You may obtain a copy
5
- of the License at http://www.apache.org/licenses/LICENSE-2.0
6
-
7
- Unless required by applicable law or agreed to in writing, software distributed under
8
- the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
- OF ANY KIND, either express or implied. See the License for the specific language
10
- governing permissions and limitations under the License.
11
- */
12
- import '@spectrum-web-components/icon/sp-icon.js';
13
- import '@spectrum-web-components/icons-workflow/icons/sp-icon-checkmark.js';
14
- import '@spectrum-web-components/icons-workflow/icons/sp-icon-close.js';
15
- import '@spectrum-web-components/icons-workflow/icons/sp-icon-chevron-down.js';
16
- import '@spectrum-web-components/icons-workflow/icons/sp-icon-help.js';
17
- import '../sp-tabs.js';
18
- import '../sp-tab.js';
19
- import '../sp-tab-panel.js';
20
- import { html } from '@spectrum-web-components/base';
21
- export default {
22
- component: 'sp-tabs',
23
- title: 'Tabs',
24
- argTypes: {
25
- direction: {
26
- name: 'direction',
27
- type: { name: 'string', required: false },
28
- description: 'The direction of the Tabs element',
29
- table: {
30
- type: {
31
- summary: '"vertical" | "vertical-right" | "horizontal"',
32
- },
33
- defaultValue: { summary: 'horizontal' },
34
- },
35
- control: {
36
- type: 'text',
37
- },
38
- },
39
- verticalTab: { control: 'boolean' },
40
- auto: { control: 'boolean' },
41
- },
42
- args: {
43
- direction: 'horizontal',
44
- type: false,
45
- verticalTab: false,
46
- auto: false,
47
- },
48
- };
49
- const panels = () => html `
50
- <sp-tab-panel value="1">Content for "Really Long Name"</sp-tab-panel>
51
- <sp-tab-panel value="2">Content for tab 2</sp-tab-panel>
52
- <sp-tab-panel value="3">Content for tab 3</sp-tab-panel>
53
- <sp-tab-panel value="4">Content for tab 4</sp-tab-panel>
54
- `;
55
- export const Default = (args) => {
56
- return html `
57
- <style>
58
- sp-tabs {
59
- display: grid;
60
- grid-template-columns: 100%;
61
- }
62
- sp-tab-panel {
63
- grid-area: 2/1/2/1;
64
- transition: opacity
65
- var(--spectrum-global-animation-duration-300)
66
- ease-in-out,
67
- transform var(--spectrum-global-animation-duration-300)
68
- ease-in-out;
69
- }
70
- sp-tab-panel:not([selected]) {
71
- display: unset;
72
- opacity: 0;
73
- height: 0;
74
- pointer-events: none;
75
- transform: translateY(
76
- var(
77
- --spectrum-dropdown-flyout-menu-offset-y,
78
- var(--spectrum-global-dimension-size-75)
79
- )
80
- );
81
- transition: opacity
82
- var(--spectrum-global-animation-duration-300)
83
- ease-in-out,
84
- transform var(--spectrum-global-animation-duration-300)
85
- ease-in-out,
86
- height 0s ease var(--spectrum-global-animation-duration-300);
87
- }
88
- </style>
89
- <sp-tabs
90
- selected="1"
91
- ?auto=${args.auto}
92
- label="Demo Tabs"
93
- direction=${args.direction}
94
- >
95
- <sp-tab value="2">Tab 2</sp-tab>
96
- <sp-tab value="3">Tab 3</sp-tab>
97
- <sp-tab value="4">Tab 4</sp-tab>
98
- <sp-tab value="1" selected>Really Long Name</sp-tab>
99
- ${panels()}
100
- </sp-tabs>
101
- `;
102
- };
103
- export const Autofocus = (args) => {
104
- return html `
105
- <sp-tabs
106
- selected="1"
107
- autofocus
108
- ?auto=${args.auto}
109
- label="Demo Tabs"
110
- direction=${args.direction}
111
- >
112
- <sp-tab label="Tab 1" value="1"></sp-tab>
113
- <sp-tab label="Tab 2" value="2"></sp-tab>
114
- <sp-tab label="Tab 3" value="3"></sp-tab>
115
- <sp-tab label="Tab 4" value="4"></sp-tab>
116
- ${panels()}
117
- </sp-tabs>
118
- `;
119
- };
120
- export const disabledTabs = (args) => {
121
- return html `
122
- <sp-tabs
123
- selected="1"
124
- disabled
125
- ?auto=${args.auto}
126
- label="Disabled Tabs"
127
- direction=${args.direction}
128
- >
129
- <sp-tab label="Tab 1" value="1"></sp-tab>
130
- <sp-tab label="Tab 2" value="2"></sp-tab>
131
- <sp-tab label="Tab 3" value="3"></sp-tab>
132
- <sp-tab label="Tab 4" value="4"></sp-tab>
133
- ${panels()}
134
- </sp-tabs>
135
- `;
136
- };
137
- export const disabledTab = (args) => {
138
- return html `
139
- <sp-tabs
140
- selected="1"
141
- ?auto=${args.auto}
142
- label="Disabled Tab"
143
- direction=${args.direction}
144
- >
145
- <sp-tab label="Tab 1" value="1"></sp-tab>
146
- <sp-tab label="Tab 2" value="2" disabled></sp-tab>
147
- <sp-tab label="Tab 3" value="3" disabled></sp-tab>
148
- <sp-tab label="Tab 4" value="4"></sp-tab>
149
- ${panels()}
150
- </sp-tabs>
151
- `;
152
- };
153
- export const Vertical = (args) => {
154
- return html `
155
- <sp-tabs
156
- selected="1"
157
- direction=${args.direction}
158
- ?auto=${args.auto}
159
- label="Demo Tabs"
160
- >
161
- <sp-tab label="Tab 1" value="1"></sp-tab>
162
- <sp-tab label="Tab 2" value="2"></sp-tab>
163
- <sp-tab label="Tab 3" value="3"></sp-tab>
164
- <sp-tab label="Tab 4" value="4"></sp-tab>
165
- ${panels()}
166
- </sp-tabs>
167
- `;
168
- };
169
- Vertical.args = {
170
- direction: 'vertical',
171
- };
172
- export const VerticalSized = (args) => {
173
- return html `
174
- <style>
175
- sp-tabs {
176
- height: 75vh;
177
- --swc-tabs-list-justify-content: center;
178
- }
179
- </style>
180
- <sp-tabs
181
- selected="1"
182
- direction=${args.direction}
183
- ?auto=${args.auto}
184
- label="Demo Tabs"
185
- >
186
- <sp-tab label="Tab 1" value="1"></sp-tab>
187
- <sp-tab label="Tab 2" value="2"></sp-tab>
188
- <sp-tab label="Tab 3" value="3"></sp-tab>
189
- <sp-tab label="Tab 4" value="4"></sp-tab>
190
- ${panels()}
191
- </sp-tabs>
192
- `;
193
- };
194
- VerticalSized.args = {
195
- direction: 'vertical',
196
- };
197
- export const VerticalRight = (args) => {
198
- return html `
199
- <style>
200
- sp-tabs {
201
- height: 75vh;
202
- --swc-tabs-list-justify-content: center;
203
- }
204
- </style>
205
- <sp-tabs
206
- selected="1"
207
- direction=${args.direction}
208
- ?auto=${args.auto}
209
- label="Demo Tabs"
210
- >
211
- <sp-tab label="Tab 1" value="1"></sp-tab>
212
- <sp-tab label="Tab 2" value="2"></sp-tab>
213
- <sp-tab label="Tab 3" value="3"></sp-tab>
214
- <sp-tab label="Tab 4" value="4"></sp-tab>
215
- ${panels()}
216
- </sp-tabs>
217
- `;
218
- };
219
- VerticalRight.args = {
220
- direction: 'vertical-right',
221
- };
222
- export const Icons = ({ direction, verticalTab, auto, }) => {
223
- return html `
224
- <sp-tabs selected="1" direction=${direction} ?auto=${auto}>
225
- <sp-tab label="Tab 1" value="1" ?vertical=${verticalTab}>
226
- <sp-icon-checkmark slot="icon"></sp-icon-checkmark>
227
- </sp-tab>
228
- <sp-tab label="Tab 2" value="2" ?vertical=${verticalTab}>
229
- <sp-icon-close slot="icon"></sp-icon-close>
230
- </sp-tab>
231
- <sp-tab label="Tab 3" value="3" ?vertical=${verticalTab}>
232
- <sp-icon-chevron-down slot="icon"></sp-icon-chevron-down>
233
- </sp-tab>
234
- <sp-tab label="Tab 4" value="4" ?vertical=${verticalTab}>
235
- <sp-icon-help slot="icon"></sp-icon-help>
236
- </sp-tab>
237
- ${panels()}
238
- </sp-tabs>
239
- `;
240
- };
241
- export const IconsWithSlottedLabel = ({ direction, verticalTab, auto, }) => {
242
- return html `
243
- <sp-tabs selected="1" direction=${direction} ?auto=${auto}>
244
- <sp-tab value="1" ?vertical=${verticalTab}>
245
- Tab 1
246
- <sp-icon-checkmark slot="icon"></sp-icon-checkmark>
247
- </sp-tab>
248
- <sp-tab value="2" ?vertical=${verticalTab}>
249
- Tab 2
250
- <sp-icon-close slot="icon"></sp-icon-close>
251
- </sp-tab>
252
- <sp-tab value="3" ?vertical=${verticalTab}>
253
- Tab 3
254
- <sp-icon-chevron-down slot="icon"></sp-icon-chevron-down>
255
- </sp-tab>
256
- <sp-tab value="4" ?vertical=${verticalTab}>
257
- Tab 4
258
- <sp-icon-help slot="icon"></sp-icon-help>
259
- </sp-tab>
260
- ${panels()}
261
- </sp-tabs>
262
- `;
263
- };
264
- export const IconsOnly = ({ direction, verticalTab, auto, }) => {
265
- return html `
266
- <sp-tabs selected="1" direction=${direction} ?auto=${auto}>
267
- <sp-tab aria-label="Tab 1" value="1" ?vertical=${verticalTab}>
268
- <sp-icon-checkmark slot="icon"></sp-icon-checkmark>
269
- </sp-tab>
270
- <sp-tab aria-label="Tab 2" value="2" ?vertical=${verticalTab}>
271
- <sp-icon-close slot="icon"></sp-icon-close>
272
- </sp-tab>
273
- <sp-tab aria-label="Tab 3" value="3" ?vertical=${verticalTab}>
274
- <sp-icon-chevron-down slot="icon"></sp-icon-chevron-down>
275
- </sp-tab>
276
- <sp-tab aria-label="Tab 4" value="4" ?vertical=${verticalTab}>
277
- <sp-icon-help slot="icon"></sp-icon-help>
278
- </sp-tab>
279
- ${panels()}
280
- </sp-tabs>
281
- `;
282
- };
283
- export const iconsIi = (args) => {
284
- return html `
285
- <sp-tabs
286
- selected="1"
287
- direction=${args.direction}
288
- ?auto=${args.auto}
289
- label="Demo Tabs"
290
- >
291
- <sp-tab label="Tab 1" value="1" vertical>
292
- <sp-icon-checkmark slot="icon"></sp-icon-checkmark>
293
- </sp-tab>
294
- <sp-tab label="Tab 2" value="2" vertical>
295
- <sp-icon-close slot="icon"></sp-icon-close>
296
- </sp-tab>
297
- <sp-tab label="Tab 3" value="3" vertical>
298
- <sp-icon-chevron-down slot="icon"></sp-icon-chevron-down>
299
- </sp-tab>
300
- <sp-tab label="Tab 4" value="4" vertical>
301
- <sp-icon-help slot="icon"></sp-icon-help>
302
- </sp-tab>
303
- ${panels()}
304
- </sp-tabs>
305
- `;
306
- };
307
- iconsIi.args = {
308
- direction: 'vertical',
309
- };
310
- iconsIi.story = {
311
- name: 'Icons II',
312
- };
313
- export const iconsIii = (args) => {
314
- return html `
315
- <sp-tabs
316
- selected="1"
317
- direction=${args.direction}
318
- ?auto=${args.auto}
319
- label="Demo Tabs"
320
- >
321
- <sp-tab label="Tab 1" value="1">
322
- <sp-icon-checkmark slot="icon"></sp-icon-checkmark>
323
- </sp-tab>
324
- <sp-tab label="Tab 2" value="2">
325
- <sp-icon-close slot="icon"></sp-icon-close>
326
- </sp-tab>
327
- <sp-tab label="Tab 3" value="3">
328
- <sp-icon-chevron-down slot="icon"></sp-icon-chevron-down>
329
- </sp-tab>
330
- <sp-tab label="Tab 4" value="4">
331
- <sp-icon-help slot="icon"></sp-icon-help>
332
- </sp-tab>
333
- ${panels()}
334
- </sp-tabs>
335
- `;
336
- };
337
- iconsIii.args = {
338
- direction: 'vertical',
339
- };
340
- iconsIii.story = {
341
- name: 'Icons III',
342
- };
343
- export const Quiet = ({ direction, auto }) => {
344
- return html `
345
- <sp-tabs selected="1" quiet direction=${direction} ?auto=${auto}>
346
- <sp-tab label="Tab 1" value="1"></sp-tab>
347
- <sp-tab label="Tab 2" value="2"></sp-tab>
348
- <sp-tab label="Tab 3" value="3"></sp-tab>
349
- <sp-tab label="Tab 4" value="4"></sp-tab>
350
- ${panels()}
351
- </sp-tabs>
352
- `;
353
- };
354
- export const Compact = ({ direction, auto }) => {
355
- return html `
356
- <sp-tabs selected="1" compact direction=${direction} ?auto=${auto}>
357
- <sp-tab label="Tab 1" value="1"></sp-tab>
358
- <sp-tab label="Tab 2" value="2"></sp-tab>
359
- <sp-tab label="Tab 3" value="3"></sp-tab>
360
- <sp-tab label="Tab 4" value="4"></sp-tab>
361
- ${panels()}
362
- </sp-tabs>
363
- `;
364
- };
365
- export const quietCompact = ({ direction, auto, }) => {
366
- return html `
367
- <sp-tabs
368
- selected="1"
369
- quiet
370
- compact
371
- direction=${direction}
372
- ?auto=${auto}
373
- >
374
- <sp-tab label="Tab 1" value="1"></sp-tab>
375
- <sp-tab label="Tab 2" value="2"></sp-tab>
376
- <sp-tab label="Tab 3" value="3"></sp-tab>
377
- <sp-tab label="Tab 4" value="4"></sp-tab>
378
- ${panels()}
379
- </sp-tabs>
380
- `;
381
- };
382
- quietCompact.story = {
383
- name: 'Quiet Compact',
384
- };
385
- //# sourceMappingURL=tabs.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tabs.stories.js","sourceRoot":"","sources":["tabs.stories.ts"],"names":[],"mappings":"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","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport '@spectrum-web-components/icon/sp-icon.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-checkmark.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-close.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-chevron-down.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-help.js';\nimport '../sp-tabs.js';\nimport '../sp-tab.js';\nimport '../sp-tab-panel.js';\nimport { html, TemplateResult } from '@spectrum-web-components/base';\n\nexport default {\n component: 'sp-tabs',\n title: 'Tabs',\n argTypes: {\n direction: {\n name: 'direction',\n type: { name: 'string', required: false },\n description: 'The direction of the Tabs element',\n table: {\n type: {\n summary: '\"vertical\" | \"vertical-right\" | \"horizontal\"',\n },\n defaultValue: { summary: 'horizontal' },\n },\n control: {\n type: 'text',\n },\n },\n verticalTab: { control: 'boolean' },\n auto: { control: 'boolean' },\n },\n args: {\n direction: 'horizontal',\n type: false,\n verticalTab: false,\n auto: false,\n },\n};\n\ninterface Properties {\n direction?: 'vertical' | 'vertical-right' | 'horizontal';\n verticalTabs?: boolean;\n verticalTab?: boolean;\n auto?: boolean;\n}\n\nconst panels = (): TemplateResult => html`\n <sp-tab-panel value=\"1\">Content for \"Really Long Name\"</sp-tab-panel>\n <sp-tab-panel value=\"2\">Content for tab 2</sp-tab-panel>\n <sp-tab-panel value=\"3\">Content for tab 3</sp-tab-panel>\n <sp-tab-panel value=\"4\">Content for tab 4</sp-tab-panel>\n`;\n\nexport const Default = (args: Properties): TemplateResult => {\n return html`\n <style>\n sp-tabs {\n display: grid;\n grid-template-columns: 100%;\n }\n sp-tab-panel {\n grid-area: 2/1/2/1;\n transition: opacity\n var(--spectrum-global-animation-duration-300)\n ease-in-out,\n transform var(--spectrum-global-animation-duration-300)\n ease-in-out;\n }\n sp-tab-panel:not([selected]) {\n display: unset;\n opacity: 0;\n height: 0;\n pointer-events: none;\n transform: translateY(\n var(\n --spectrum-dropdown-flyout-menu-offset-y,\n var(--spectrum-global-dimension-size-75)\n )\n );\n transition: opacity\n var(--spectrum-global-animation-duration-300)\n ease-in-out,\n transform var(--spectrum-global-animation-duration-300)\n ease-in-out,\n height 0s ease var(--spectrum-global-animation-duration-300);\n }\n </style>\n <sp-tabs\n selected=\"1\"\n ?auto=${args.auto}\n label=\"Demo Tabs\"\n direction=${args.direction}\n >\n <sp-tab value=\"2\">Tab 2</sp-tab>\n <sp-tab value=\"3\">Tab 3</sp-tab>\n <sp-tab value=\"4\">Tab 4</sp-tab>\n <sp-tab value=\"1\" selected>Really Long Name</sp-tab>\n ${panels()}\n </sp-tabs>\n `;\n};\n\nexport const Autofocus = (args: Properties): TemplateResult => {\n return html`\n <sp-tabs\n selected=\"1\"\n autofocus\n ?auto=${args.auto}\n label=\"Demo Tabs\"\n direction=${args.direction}\n >\n <sp-tab label=\"Tab 1\" value=\"1\"></sp-tab>\n <sp-tab label=\"Tab 2\" value=\"2\"></sp-tab>\n <sp-tab label=\"Tab 3\" value=\"3\"></sp-tab>\n <sp-tab label=\"Tab 4\" value=\"4\"></sp-tab>\n ${panels()}\n </sp-tabs>\n `;\n};\n\nexport const disabledTabs = (args: Properties): TemplateResult => {\n return html`\n <sp-tabs\n selected=\"1\"\n disabled\n ?auto=${args.auto}\n label=\"Disabled Tabs\"\n direction=${args.direction}\n >\n <sp-tab label=\"Tab 1\" value=\"1\"></sp-tab>\n <sp-tab label=\"Tab 2\" value=\"2\"></sp-tab>\n <sp-tab label=\"Tab 3\" value=\"3\"></sp-tab>\n <sp-tab label=\"Tab 4\" value=\"4\"></sp-tab>\n ${panels()}\n </sp-tabs>\n `;\n};\n\nexport const disabledTab = (args: Properties): TemplateResult => {\n return html`\n <sp-tabs\n selected=\"1\"\n ?auto=${args.auto}\n label=\"Disabled Tab\"\n direction=${args.direction}\n >\n <sp-tab label=\"Tab 1\" value=\"1\"></sp-tab>\n <sp-tab label=\"Tab 2\" value=\"2\" disabled></sp-tab>\n <sp-tab label=\"Tab 3\" value=\"3\" disabled></sp-tab>\n <sp-tab label=\"Tab 4\" value=\"4\"></sp-tab>\n ${panels()}\n </sp-tabs>\n `;\n};\n\nexport const Vertical = (args: Properties): TemplateResult => {\n return html`\n <sp-tabs\n selected=\"1\"\n direction=${args.direction}\n ?auto=${args.auto}\n label=\"Demo Tabs\"\n >\n <sp-tab label=\"Tab 1\" value=\"1\"></sp-tab>\n <sp-tab label=\"Tab 2\" value=\"2\"></sp-tab>\n <sp-tab label=\"Tab 3\" value=\"3\"></sp-tab>\n <sp-tab label=\"Tab 4\" value=\"4\"></sp-tab>\n ${panels()}\n </sp-tabs>\n `;\n};\nVertical.args = {\n direction: 'vertical',\n};\n\nexport const VerticalSized = (args: Properties): TemplateResult => {\n return html`\n <style>\n sp-tabs {\n height: 75vh;\n --swc-tabs-list-justify-content: center;\n }\n </style>\n <sp-tabs\n selected=\"1\"\n direction=${args.direction}\n ?auto=${args.auto}\n label=\"Demo Tabs\"\n >\n <sp-tab label=\"Tab 1\" value=\"1\"></sp-tab>\n <sp-tab label=\"Tab 2\" value=\"2\"></sp-tab>\n <sp-tab label=\"Tab 3\" value=\"3\"></sp-tab>\n <sp-tab label=\"Tab 4\" value=\"4\"></sp-tab>\n ${panels()}\n </sp-tabs>\n `;\n};\nVerticalSized.args = {\n direction: 'vertical',\n};\n\nexport const VerticalRight = (args: Properties): TemplateResult => {\n return html`\n <style>\n sp-tabs {\n height: 75vh;\n --swc-tabs-list-justify-content: center;\n }\n </style>\n <sp-tabs\n selected=\"1\"\n direction=${args.direction}\n ?auto=${args.auto}\n label=\"Demo Tabs\"\n >\n <sp-tab label=\"Tab 1\" value=\"1\"></sp-tab>\n <sp-tab label=\"Tab 2\" value=\"2\"></sp-tab>\n <sp-tab label=\"Tab 3\" value=\"3\"></sp-tab>\n <sp-tab label=\"Tab 4\" value=\"4\"></sp-tab>\n ${panels()}\n </sp-tabs>\n `;\n};\nVerticalRight.args = {\n direction: 'vertical-right',\n};\n\nexport const Icons = ({\n direction,\n verticalTab,\n auto,\n}: Properties): TemplateResult => {\n return html`\n <sp-tabs selected=\"1\" direction=${direction} ?auto=${auto}>\n <sp-tab label=\"Tab 1\" value=\"1\" ?vertical=${verticalTab}>\n <sp-icon-checkmark slot=\"icon\"></sp-icon-checkmark>\n </sp-tab>\n <sp-tab label=\"Tab 2\" value=\"2\" ?vertical=${verticalTab}>\n <sp-icon-close slot=\"icon\"></sp-icon-close>\n </sp-tab>\n <sp-tab label=\"Tab 3\" value=\"3\" ?vertical=${verticalTab}>\n <sp-icon-chevron-down slot=\"icon\"></sp-icon-chevron-down>\n </sp-tab>\n <sp-tab label=\"Tab 4\" value=\"4\" ?vertical=${verticalTab}>\n <sp-icon-help slot=\"icon\"></sp-icon-help>\n </sp-tab>\n ${panels()}\n </sp-tabs>\n `;\n};\n\nexport const IconsWithSlottedLabel = ({\n direction,\n verticalTab,\n auto,\n}: Properties): TemplateResult => {\n return html`\n <sp-tabs selected=\"1\" direction=${direction} ?auto=${auto}>\n <sp-tab value=\"1\" ?vertical=${verticalTab}>\n Tab 1\n <sp-icon-checkmark slot=\"icon\"></sp-icon-checkmark>\n </sp-tab>\n <sp-tab value=\"2\" ?vertical=${verticalTab}>\n Tab 2\n <sp-icon-close slot=\"icon\"></sp-icon-close>\n </sp-tab>\n <sp-tab value=\"3\" ?vertical=${verticalTab}>\n Tab 3\n <sp-icon-chevron-down slot=\"icon\"></sp-icon-chevron-down>\n </sp-tab>\n <sp-tab value=\"4\" ?vertical=${verticalTab}>\n Tab 4\n <sp-icon-help slot=\"icon\"></sp-icon-help>\n </sp-tab>\n ${panels()}\n </sp-tabs>\n `;\n};\n\nexport const IconsOnly = ({\n direction,\n verticalTab,\n auto,\n}: Properties): TemplateResult => {\n return html`\n <sp-tabs selected=\"1\" direction=${direction} ?auto=${auto}>\n <sp-tab aria-label=\"Tab 1\" value=\"1\" ?vertical=${verticalTab}>\n <sp-icon-checkmark slot=\"icon\"></sp-icon-checkmark>\n </sp-tab>\n <sp-tab aria-label=\"Tab 2\" value=\"2\" ?vertical=${verticalTab}>\n <sp-icon-close slot=\"icon\"></sp-icon-close>\n </sp-tab>\n <sp-tab aria-label=\"Tab 3\" value=\"3\" ?vertical=${verticalTab}>\n <sp-icon-chevron-down slot=\"icon\"></sp-icon-chevron-down>\n </sp-tab>\n <sp-tab aria-label=\"Tab 4\" value=\"4\" ?vertical=${verticalTab}>\n <sp-icon-help slot=\"icon\"></sp-icon-help>\n </sp-tab>\n ${panels()}\n </sp-tabs>\n `;\n};\n\nexport const iconsIi = (args: Properties): TemplateResult => {\n return html`\n <sp-tabs\n selected=\"1\"\n direction=${args.direction}\n ?auto=${args.auto}\n label=\"Demo Tabs\"\n >\n <sp-tab label=\"Tab 1\" value=\"1\" vertical>\n <sp-icon-checkmark slot=\"icon\"></sp-icon-checkmark>\n </sp-tab>\n <sp-tab label=\"Tab 2\" value=\"2\" vertical>\n <sp-icon-close slot=\"icon\"></sp-icon-close>\n </sp-tab>\n <sp-tab label=\"Tab 3\" value=\"3\" vertical>\n <sp-icon-chevron-down slot=\"icon\"></sp-icon-chevron-down>\n </sp-tab>\n <sp-tab label=\"Tab 4\" value=\"4\" vertical>\n <sp-icon-help slot=\"icon\"></sp-icon-help>\n </sp-tab>\n ${panels()}\n </sp-tabs>\n `;\n};\niconsIi.args = {\n direction: 'vertical',\n};\niconsIi.story = {\n name: 'Icons II',\n};\n\nexport const iconsIii = (args: Properties): TemplateResult => {\n return html`\n <sp-tabs\n selected=\"1\"\n direction=${args.direction}\n ?auto=${args.auto}\n label=\"Demo Tabs\"\n >\n <sp-tab label=\"Tab 1\" value=\"1\">\n <sp-icon-checkmark slot=\"icon\"></sp-icon-checkmark>\n </sp-tab>\n <sp-tab label=\"Tab 2\" value=\"2\">\n <sp-icon-close slot=\"icon\"></sp-icon-close>\n </sp-tab>\n <sp-tab label=\"Tab 3\" value=\"3\">\n <sp-icon-chevron-down slot=\"icon\"></sp-icon-chevron-down>\n </sp-tab>\n <sp-tab label=\"Tab 4\" value=\"4\">\n <sp-icon-help slot=\"icon\"></sp-icon-help>\n </sp-tab>\n ${panels()}\n </sp-tabs>\n `;\n};\niconsIii.args = {\n direction: 'vertical',\n};\niconsIii.story = {\n name: 'Icons III',\n};\n\nexport const Quiet = ({ direction, auto }: Properties): TemplateResult => {\n return html`\n <sp-tabs selected=\"1\" quiet direction=${direction} ?auto=${auto}>\n <sp-tab label=\"Tab 1\" value=\"1\"></sp-tab>\n <sp-tab label=\"Tab 2\" value=\"2\"></sp-tab>\n <sp-tab label=\"Tab 3\" value=\"3\"></sp-tab>\n <sp-tab label=\"Tab 4\" value=\"4\"></sp-tab>\n ${panels()}\n </sp-tabs>\n `;\n};\n\nexport const Compact = ({ direction, auto }: Properties): TemplateResult => {\n return html`\n <sp-tabs selected=\"1\" compact direction=${direction} ?auto=${auto}>\n <sp-tab label=\"Tab 1\" value=\"1\"></sp-tab>\n <sp-tab label=\"Tab 2\" value=\"2\"></sp-tab>\n <sp-tab label=\"Tab 3\" value=\"3\"></sp-tab>\n <sp-tab label=\"Tab 4\" value=\"4\"></sp-tab>\n ${panels()}\n </sp-tabs>\n `;\n};\n\nexport const quietCompact = ({\n direction,\n auto,\n}: Properties): TemplateResult => {\n return html`\n <sp-tabs\n selected=\"1\"\n quiet\n compact\n direction=${direction}\n ?auto=${auto}\n >\n <sp-tab label=\"Tab 1\" value=\"1\"></sp-tab>\n <sp-tab label=\"Tab 2\" value=\"2\"></sp-tab>\n <sp-tab label=\"Tab 3\" value=\"3\"></sp-tab>\n <sp-tab label=\"Tab 4\" value=\"4\"></sp-tab>\n ${panels()}\n </sp-tabs>\n `;\n};\n\nquietCompact.story = {\n name: 'Quiet Compact',\n};\n"]}