@spectrum-web-components/tabs 1.0.2 → 1.0.3

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 (42) hide show
  1. package/LICENSE +201 -0
  2. package/package.json +8 -7
  3. package/stories/index.js +53 -0
  4. package/stories/index.js.map +7 -0
  5. package/stories/tabs-horizontal-sizes.stories.js +91 -0
  6. package/stories/tabs-horizontal-sizes.stories.js.map +7 -0
  7. package/stories/tabs-overflow-panel-sizes.stories.js +35 -0
  8. package/stories/tabs-overflow-panel-sizes.stories.js.map +7 -0
  9. package/stories/tabs-overflow-sizes.stories.js +31 -0
  10. package/stories/tabs-overflow-sizes.stories.js.map +7 -0
  11. package/stories/tabs-overflow.stories.js +37 -0
  12. package/stories/tabs-overflow.stories.js.map +7 -0
  13. package/stories/tabs-vertical-right-sizes.stories.js +88 -0
  14. package/stories/tabs-vertical-right-sizes.stories.js.map +7 -0
  15. package/stories/tabs-vertical-sizes.stories.js +88 -0
  16. package/stories/tabs-vertical-sizes.stories.js.map +7 -0
  17. package/stories/tabs.stories.js +504 -0
  18. package/stories/tabs.stories.js.map +7 -0
  19. package/test/benchmark/basic-test.js +13 -0
  20. package/test/benchmark/basic-test.js.map +7 -0
  21. package/test/tab.test.js +47 -0
  22. package/test/tab.test.js.map +7 -0
  23. package/test/tabs-horizontal-sizes.test-vrt.js +5 -0
  24. package/test/tabs-horizontal-sizes.test-vrt.js.map +7 -0
  25. package/test/tabs-memory.test.js +13 -0
  26. package/test/tabs-memory.test.js.map +7 -0
  27. package/test/tabs-overflow-panel-sizes.test-vrt.js +5 -0
  28. package/test/tabs-overflow-panel-sizes.test-vrt.js.map +7 -0
  29. package/test/tabs-overflow-sizes.test-vrt.js +5 -0
  30. package/test/tabs-overflow-sizes.test-vrt.js.map +7 -0
  31. package/test/tabs-overflow.test-vrt.js +5 -0
  32. package/test/tabs-overflow.test-vrt.js.map +7 -0
  33. package/test/tabs-overflow.test.js +389 -0
  34. package/test/tabs-overflow.test.js.map +7 -0
  35. package/test/tabs-vertical-right-sizes.test-vrt.js +5 -0
  36. package/test/tabs-vertical-right-sizes.test-vrt.js.map +7 -0
  37. package/test/tabs-vertical-sizes.test-vrt.js +5 -0
  38. package/test/tabs-vertical-sizes.test-vrt.js.map +7 -0
  39. package/test/tabs.test-vrt.js +5 -0
  40. package/test/tabs.test-vrt.js.map +7 -0
  41. package/test/tabs.test.js +507 -0
  42. package/test/tabs.test.js.map +7 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["tabs-vertical-right-sizes.stories.ts"],
4
+ "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 '@spectrum-web-components/tabs/sp-tabs.js';\nimport '@spectrum-web-components/tabs/sp-tab.js';\nimport '@spectrum-web-components/tabs/sp-tab-panel.js';\nimport { html, TemplateResult } from '@spectrum-web-components/base';\n\nexport default {\n component: 'sp-tabs',\n title: 'Tabs/Sizes/Vertical Right',\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 auto: { control: 'boolean' },\n size: {\n name: 'size',\n type: { name: 'string', required: false },\n description: 'The size at which to display the Tabs element',\n table: {\n type: { summary: '\"s\" | \"m\" | \"l\" | \"xl\"' },\n defaultValue: { summary: 'm' },\n },\n control: {\n type: 'text',\n },\n },\n },\n args: {\n direction: 'vertical-right',\n auto: false,\n size: 'm',\n },\n};\n\ninterface Properties {\n direction?: 'vertical' | 'vertical-right' | 'horizontal';\n auto?: boolean;\n size?: 's' | 'm' | 'l' | 'xl';\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\nconst template = (args: Properties): TemplateResult => {\n return html`\n <sp-tabs\n selected=\"1\"\n size=${args.size}\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 s = (args: Properties): TemplateResult => template(args);\ns.args = {\n size: 's',\n};\n\nexport const m = (args: Properties): TemplateResult => template(args);\nm.args = {\n size: 'm',\n};\n\nexport const l = (args: Properties): TemplateResult => template(args);\nl.args = {\n size: 'l',\n};\n\nexport const XL = (args: Properties): TemplateResult => template(args);\nXL.args = {\n size: 'XL',\n};\n"],
5
+ "mappings": ";AAWA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,SAAS,YAA4B;AAErC,eAAe;AAAA,EACX,WAAW;AAAA,EACX,OAAO;AAAA,EACP,UAAU;AAAA,IACN,WAAW;AAAA,MACP,MAAM;AAAA,MACN,MAAM,EAAE,MAAM,UAAU,UAAU,MAAM;AAAA,MACxC,aAAa;AAAA,MACb,OAAO;AAAA,QACH,MAAM;AAAA,UACF,SAAS;AAAA,QACb;AAAA,QACA,cAAc,EAAE,SAAS,aAAa;AAAA,MAC1C;AAAA,MACA,SAAS;AAAA,QACL,MAAM;AAAA,MACV;AAAA,IACJ;AAAA,IACA,MAAM,EAAE,SAAS,UAAU;AAAA,IAC3B,MAAM;AAAA,MACF,MAAM;AAAA,MACN,MAAM,EAAE,MAAM,UAAU,UAAU,MAAM;AAAA,MACxC,aAAa;AAAA,MACb,OAAO;AAAA,QACH,MAAM,EAAE,SAAS,yBAAyB;AAAA,QAC1C,cAAc,EAAE,SAAS,IAAI;AAAA,MACjC;AAAA,MACA,SAAS;AAAA,QACL,MAAM;AAAA,MACV;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACF,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,EACV;AACJ;AAQA,MAAM,SAAS,MAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAOrC,MAAM,WAAW,CAAC,SAAqC;AACnD,SAAO;AAAA;AAAA;AAAA,mBAGQ,KAAK,IAAI;AAAA,oBACR,KAAK,IAAI;AAAA;AAAA,wBAEL,KAAK,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAMxB,OAAO,CAAC;AAAA;AAAA;AAGtB;AAEO,aAAM,IAAI,CAAC,SAAqC,SAAS,IAAI;AACpE,EAAE,OAAO;AAAA,EACL,MAAM;AACV;AAEO,aAAM,IAAI,CAAC,SAAqC,SAAS,IAAI;AACpE,EAAE,OAAO;AAAA,EACL,MAAM;AACV;AAEO,aAAM,IAAI,CAAC,SAAqC,SAAS,IAAI;AACpE,EAAE,OAAO;AAAA,EACL,MAAM;AACV;AAEO,aAAM,KAAK,CAAC,SAAqC,SAAS,IAAI;AACrE,GAAG,OAAO;AAAA,EACN,MAAM;AACV;",
6
+ "names": []
7
+ }
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ import "@spectrum-web-components/icon/sp-icon.js";
3
+ import "@spectrum-web-components/icons-workflow/icons/sp-icon-checkmark.js";
4
+ import "@spectrum-web-components/icons-workflow/icons/sp-icon-close.js";
5
+ import "@spectrum-web-components/icons-workflow/icons/sp-icon-chevron-down.js";
6
+ import "@spectrum-web-components/icons-workflow/icons/sp-icon-help.js";
7
+ import "@spectrum-web-components/tabs/sp-tabs.js";
8
+ import "@spectrum-web-components/tabs/sp-tab.js";
9
+ import "@spectrum-web-components/tabs/sp-tab-panel.js";
10
+ import { html } from "@spectrum-web-components/base";
11
+ export default {
12
+ component: "sp-tabs",
13
+ title: "Tabs/Sizes/Vertical",
14
+ argTypes: {
15
+ direction: {
16
+ name: "direction",
17
+ type: { name: "string", required: false },
18
+ description: "The direction of the Tabs element",
19
+ table: {
20
+ type: {
21
+ summary: '"vertical" | "vertical-right" | "horizontal"'
22
+ },
23
+ defaultValue: { summary: "horizontal" }
24
+ },
25
+ control: {
26
+ type: "text"
27
+ }
28
+ },
29
+ auto: { control: "boolean" },
30
+ size: {
31
+ name: "size",
32
+ type: { name: "string", required: false },
33
+ description: "The size at which to display the Tabs element",
34
+ table: {
35
+ type: { summary: '"s" | "m" | "l" | "xl"' },
36
+ defaultValue: { summary: "m" }
37
+ },
38
+ control: {
39
+ type: "text"
40
+ }
41
+ }
42
+ },
43
+ args: {
44
+ direction: "vertical",
45
+ auto: false,
46
+ size: "m"
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
+ const template = (args) => {
56
+ return html`
57
+ <sp-tabs
58
+ selected="1"
59
+ size=${args.size}
60
+ ?auto=${args.auto}
61
+ label="Demo Tabs"
62
+ direction=${args.direction}
63
+ >
64
+ <sp-tab label="Tab 1" value="1"></sp-tab>
65
+ <sp-tab label="Tab 2" value="2"></sp-tab>
66
+ <sp-tab label="Tab 3" value="3"></sp-tab>
67
+ <sp-tab label="Tab 4" value="4"></sp-tab>
68
+ ${panels()}
69
+ </sp-tabs>
70
+ `;
71
+ };
72
+ export const s = (args) => template(args);
73
+ s.args = {
74
+ size: "s"
75
+ };
76
+ export const m = (args) => template(args);
77
+ m.args = {
78
+ size: "m"
79
+ };
80
+ export const l = (args) => template(args);
81
+ l.args = {
82
+ size: "l"
83
+ };
84
+ export const XL = (args) => template(args);
85
+ XL.args = {
86
+ size: "XL"
87
+ };
88
+ //# sourceMappingURL=tabs-vertical-sizes.stories.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["tabs-vertical-sizes.stories.ts"],
4
+ "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 '@spectrum-web-components/tabs/sp-tabs.js';\nimport '@spectrum-web-components/tabs/sp-tab.js';\nimport '@spectrum-web-components/tabs/sp-tab-panel.js';\nimport { html, TemplateResult } from '@spectrum-web-components/base';\n\nexport default {\n component: 'sp-tabs',\n title: 'Tabs/Sizes/Vertical',\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 auto: { control: 'boolean' },\n size: {\n name: 'size',\n type: { name: 'string', required: false },\n description: 'The size at which to display the Tabs element',\n table: {\n type: { summary: '\"s\" | \"m\" | \"l\" | \"xl\"' },\n defaultValue: { summary: 'm' },\n },\n control: {\n type: 'text',\n },\n },\n },\n args: {\n direction: 'vertical',\n auto: false,\n size: 'm',\n },\n};\n\ninterface Properties {\n direction?: 'vertical' | 'vertical-right' | 'horizontal';\n auto?: boolean;\n size?: 's' | 'm' | 'l' | 'xl';\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\nconst template = (args: Properties): TemplateResult => {\n return html`\n <sp-tabs\n selected=\"1\"\n size=${args.size}\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 s = (args: Properties): TemplateResult => template(args);\ns.args = {\n size: 's',\n};\n\nexport const m = (args: Properties): TemplateResult => template(args);\nm.args = {\n size: 'm',\n};\n\nexport const l = (args: Properties): TemplateResult => template(args);\nl.args = {\n size: 'l',\n};\n\nexport const XL = (args: Properties): TemplateResult => template(args);\nXL.args = {\n size: 'XL',\n};\n"],
5
+ "mappings": ";AAWA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,SAAS,YAA4B;AAErC,eAAe;AAAA,EACX,WAAW;AAAA,EACX,OAAO;AAAA,EACP,UAAU;AAAA,IACN,WAAW;AAAA,MACP,MAAM;AAAA,MACN,MAAM,EAAE,MAAM,UAAU,UAAU,MAAM;AAAA,MACxC,aAAa;AAAA,MACb,OAAO;AAAA,QACH,MAAM;AAAA,UACF,SAAS;AAAA,QACb;AAAA,QACA,cAAc,EAAE,SAAS,aAAa;AAAA,MAC1C;AAAA,MACA,SAAS;AAAA,QACL,MAAM;AAAA,MACV;AAAA,IACJ;AAAA,IACA,MAAM,EAAE,SAAS,UAAU;AAAA,IAC3B,MAAM;AAAA,MACF,MAAM;AAAA,MACN,MAAM,EAAE,MAAM,UAAU,UAAU,MAAM;AAAA,MACxC,aAAa;AAAA,MACb,OAAO;AAAA,QACH,MAAM,EAAE,SAAS,yBAAyB;AAAA,QAC1C,cAAc,EAAE,SAAS,IAAI;AAAA,MACjC;AAAA,MACA,SAAS;AAAA,QACL,MAAM;AAAA,MACV;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACF,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,EACV;AACJ;AAQA,MAAM,SAAS,MAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAOrC,MAAM,WAAW,CAAC,SAAqC;AACnD,SAAO;AAAA;AAAA;AAAA,mBAGQ,KAAK,IAAI;AAAA,oBACR,KAAK,IAAI;AAAA;AAAA,wBAEL,KAAK,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAMxB,OAAO,CAAC;AAAA;AAAA;AAGtB;AAEO,aAAM,IAAI,CAAC,SAAqC,SAAS,IAAI;AACpE,EAAE,OAAO;AAAA,EACL,MAAM;AACV;AAEO,aAAM,IAAI,CAAC,SAAqC,SAAS,IAAI;AACpE,EAAE,OAAO;AAAA,EACL,MAAM;AACV;AAEO,aAAM,IAAI,CAAC,SAAqC,SAAS,IAAI;AACpE,EAAE,OAAO;AAAA,EACL,MAAM;AACV;AAEO,aAAM,KAAK,CAAC,SAAqC,SAAS,IAAI;AACrE,GAAG,OAAO;AAAA,EACN,MAAM;AACV;",
6
+ "names": []
7
+ }
@@ -0,0 +1,504 @@
1
+ "use strict";
2
+ import "@spectrum-web-components/icon/sp-icon.js";
3
+ import "@spectrum-web-components/icons-workflow/icons/sp-icon-checkmark.js";
4
+ import "@spectrum-web-components/icons-workflow/icons/sp-icon-close.js";
5
+ import "@spectrum-web-components/icons-workflow/icons/sp-icon-chevron-down.js";
6
+ import "@spectrum-web-components/icons-workflow/icons/sp-icon-help.js";
7
+ import "@spectrum-web-components/tabs/sp-tabs.js";
8
+ import "@spectrum-web-components/tabs/sp-tab.js";
9
+ import "@spectrum-web-components/tabs/sp-tab-panel.js";
10
+ import { html } from "@spectrum-web-components/base";
11
+ export default {
12
+ component: "sp-tabs",
13
+ title: "Tabs",
14
+ argTypes: {
15
+ direction: {
16
+ name: "direction",
17
+ type: { name: "string", required: false },
18
+ description: "The direction of the Tabs element",
19
+ table: {
20
+ type: {
21
+ summary: '"vertical" | "vertical-right" | "horizontal"'
22
+ },
23
+ defaultValue: { summary: "horizontal" }
24
+ },
25
+ control: {
26
+ type: "text"
27
+ }
28
+ },
29
+ verticalTab: { control: "boolean" },
30
+ auto: { control: "boolean" }
31
+ },
32
+ args: {
33
+ direction: "horizontal",
34
+ type: false,
35
+ verticalTab: false,
36
+ auto: false
37
+ }
38
+ };
39
+ const panels = () => html`
40
+ <sp-tab-panel value="1">Content for "Really Long Name"</sp-tab-panel>
41
+ <sp-tab-panel value="2">Content for tab 2</sp-tab-panel>
42
+ <sp-tab-panel value="3">Content for tab 3</sp-tab-panel>
43
+ <sp-tab-panel value="4">Content for tab 4</sp-tab-panel>
44
+ `;
45
+ export const Default = (args) => {
46
+ return html`
47
+ <style>
48
+ sp-tabs {
49
+ display: grid;
50
+ grid-template-columns: 100%;
51
+ }
52
+ sp-tab-panel {
53
+ grid-area: 2/1/2/1;
54
+ transition: opacity var(--spectrum-animation-duration-300)
55
+ ease-in-out,
56
+ transform var(--spectrum-animation-duration-300) ease-in-out;
57
+ }
58
+ sp-tab-panel:not([selected]) {
59
+ display: unset;
60
+ opacity: 0;
61
+ height: 0;
62
+ pointer-events: none;
63
+ transform: translateY(calc(var(--swc-scale-factor) * 6px));
64
+ transition: opacity var(--spectrum-animation-duration-300)
65
+ ease-in-out,
66
+ transform var(--spectrum-animation-duration-300) ease-in-out,
67
+ height 0s ease var(--spectrum-animation-duration-300);
68
+ }
69
+ </style>
70
+ <sp-tabs
71
+ selected="1"
72
+ ?auto=${args.auto}
73
+ label="Demo Tabs"
74
+ direction=${args.direction}
75
+ >
76
+ <sp-tab value="2">Tab 2</sp-tab>
77
+ <sp-tab value="3">Tab 3</sp-tab>
78
+ <sp-tab value="4">Tab 4</sp-tab>
79
+ <sp-tab value="1" selected>Really Long Name</sp-tab>
80
+ ${panels()}
81
+ </sp-tabs>
82
+ `;
83
+ };
84
+ export const Autofocus = (args) => {
85
+ return html`
86
+ <sp-tabs
87
+ selected="1"
88
+ autofocus
89
+ ?auto=${args.auto}
90
+ label="Demo Tabs"
91
+ direction=${args.direction}
92
+ >
93
+ <sp-tab label="Tab 1" value="1"></sp-tab>
94
+ <sp-tab label="Tab 2" value="2"></sp-tab>
95
+ <sp-tab label="Tab 3" value="3"></sp-tab>
96
+ <sp-tab label="Tab 4" value="4"></sp-tab>
97
+ ${panels()}
98
+ </sp-tabs>
99
+ `;
100
+ };
101
+ export const disabledTabs = (args) => {
102
+ return html`
103
+ <sp-tabs
104
+ selected="1"
105
+ disabled
106
+ ?auto=${args.auto}
107
+ label="Disabled Tabs"
108
+ direction=${args.direction}
109
+ >
110
+ <sp-tab label="Tab 1" value="1"></sp-tab>
111
+ <sp-tab label="Tab 2" value="2"></sp-tab>
112
+ <sp-tab label="Tab 3" value="3"></sp-tab>
113
+ <sp-tab label="Tab 4" value="4"></sp-tab>
114
+ ${panels()}
115
+ </sp-tabs>
116
+ `;
117
+ };
118
+ export const disabledTab = (args) => {
119
+ return html`
120
+ <sp-tabs
121
+ selected="1"
122
+ ?auto=${args.auto}
123
+ label="Disabled Tab"
124
+ direction=${args.direction}
125
+ >
126
+ <sp-tab label="Tab 1" value="1"></sp-tab>
127
+ <sp-tab label="Tab 2" value="2" disabled></sp-tab>
128
+ <sp-tab label="Tab 3" value="3" disabled></sp-tab>
129
+ <sp-tab label="Tab 4" value="4"></sp-tab>
130
+ ${panels()}
131
+ </sp-tabs>
132
+ `;
133
+ };
134
+ export const emphasized = (args) => {
135
+ return html`
136
+ <sp-tabs selected="1" emphasized ?auto=${args.auto} label="Demo Tabs">
137
+ <sp-tab label="Tab 1" value="1"></sp-tab>
138
+ <sp-tab label="Tab 2" value="2"></sp-tab>
139
+ <sp-tab label="Tab 3" value="3"></sp-tab>
140
+ <sp-tab label="Tab 4" value="4"></sp-tab>
141
+ ${panels()}
142
+ </sp-tabs>
143
+ `;
144
+ };
145
+ export const emphasizedQuiet = (args) => {
146
+ return html`
147
+ <style>
148
+ sp-tabs {
149
+ display: grid;
150
+ grid-template-columns: 100%;
151
+ }
152
+ </style>
153
+ <sp-tabs
154
+ selected="1"
155
+ emphasized
156
+ quiet
157
+ ?auto=${args.auto}
158
+ label="Demo Tabs"
159
+ >
160
+ <sp-tab label="Tab 1" value="1"></sp-tab>
161
+ <sp-tab label="Tab 2" value="2"></sp-tab>
162
+ <sp-tab label="Tab 3" value="3"></sp-tab>
163
+ <sp-tab label="Tab 4" value="4"></sp-tab>
164
+ ${panels()}
165
+ </sp-tabs>
166
+ `;
167
+ };
168
+ export const Vertical = (args) => {
169
+ return html`
170
+ <sp-tabs
171
+ selected="1"
172
+ direction=${args.direction}
173
+ ?auto=${args.auto}
174
+ label="Demo Tabs"
175
+ >
176
+ <sp-tab label="Tab 1" value="1"></sp-tab>
177
+ <sp-tab label="Tab 2" value="2"></sp-tab>
178
+ <sp-tab label="Tab 3" value="3"></sp-tab>
179
+ <sp-tab label="Tab 4" value="4"></sp-tab>
180
+ ${panels()}
181
+ </sp-tabs>
182
+ `;
183
+ };
184
+ Vertical.args = {
185
+ direction: "vertical"
186
+ };
187
+ export const verticalQuiet = (args) => {
188
+ return html`
189
+ <sp-tabs
190
+ selected="1"
191
+ direction=${args.direction}
192
+ ?auto=${args.auto}
193
+ label="Demo Tabs"
194
+ quiet
195
+ >
196
+ <sp-tab label="Tab 1" value="1"></sp-tab>
197
+ <sp-tab label="Tab 2" value="2"></sp-tab>
198
+ <sp-tab label="Tab 3" value="3"></sp-tab>
199
+ <sp-tab label="Tab 4" value="4"></sp-tab>
200
+ ${panels()}
201
+ </sp-tabs>
202
+ `;
203
+ };
204
+ verticalQuiet.args = {
205
+ direction: "vertical"
206
+ };
207
+ export const verticalEmphasizedQuiet = (args) => {
208
+ return html`
209
+ <sp-tabs
210
+ selected="1"
211
+ direction=${args.direction}
212
+ ?auto=${args.auto}
213
+ label="Demo Tabs"
214
+ quiet
215
+ emphasized
216
+ >
217
+ <sp-tab label="Tab 1" value="1"></sp-tab>
218
+ <sp-tab label="Tab 2" value="2"></sp-tab>
219
+ <sp-tab label="Tab 3" value="3"></sp-tab>
220
+ <sp-tab label="Tab 4" value="4"></sp-tab>
221
+ ${panels()}
222
+ </sp-tabs>
223
+ `;
224
+ };
225
+ verticalEmphasizedQuiet.args = {
226
+ direction: "vertical"
227
+ };
228
+ export const verticalCompact = (args) => {
229
+ return html`
230
+ <sp-tabs
231
+ selected="1"
232
+ direction=${args.direction}
233
+ ?auto=${args.auto}
234
+ label="Demo Tabs"
235
+ compact
236
+ >
237
+ <sp-tab label="Tab 1" value="1"></sp-tab>
238
+ <sp-tab label="Tab 2" value="2"></sp-tab>
239
+ <sp-tab label="Tab 3" value="3"></sp-tab>
240
+ <sp-tab label="Tab 4" value="4"></sp-tab>
241
+ ${panels()}
242
+ </sp-tabs>
243
+ `;
244
+ };
245
+ verticalCompact.args = {
246
+ direction: "vertical"
247
+ };
248
+ export const verticalQuietCompact = (args) => {
249
+ return html`
250
+ <sp-tabs
251
+ selected="1"
252
+ direction=${args.direction}
253
+ ?auto=${args.auto}
254
+ label="Demo Tabs"
255
+ quiet
256
+ compact
257
+ >
258
+ <sp-tab label="Tab 1" value="1"></sp-tab>
259
+ <sp-tab label="Tab 2" value="2"></sp-tab>
260
+ <sp-tab label="Tab 3" value="3"></sp-tab>
261
+ <sp-tab label="Tab 4" value="4"></sp-tab>
262
+ ${panels()}
263
+ </sp-tabs>
264
+ `;
265
+ };
266
+ verticalQuietCompact.args = {
267
+ direction: "vertical"
268
+ };
269
+ export const VerticalSized = (args) => {
270
+ return html`
271
+ <style>
272
+ sp-tabs {
273
+ display: grid;
274
+ height: 75vh;
275
+ --swc-tabs-list-justify-content: center;
276
+ }
277
+ </style>
278
+ <sp-tabs
279
+ selected="1"
280
+ direction=${args.direction}
281
+ ?auto=${args.auto}
282
+ label="Demo Tabs"
283
+ >
284
+ <sp-tab label="Tab 1" value="1"></sp-tab>
285
+ <sp-tab label="Tab 2" value="2"></sp-tab>
286
+ <sp-tab label="Tab 3" value="3"></sp-tab>
287
+ <sp-tab label="Tab 4" value="4"></sp-tab>
288
+ ${panels()}
289
+ </sp-tabs>
290
+ `;
291
+ };
292
+ VerticalSized.args = {
293
+ direction: "vertical"
294
+ };
295
+ export const VerticalRight = (args) => {
296
+ return html`
297
+ <style>
298
+ sp-tabs {
299
+ height: 75vh;
300
+ --swc-tabs-list-justify-content: center;
301
+ }
302
+ </style>
303
+ <sp-tabs
304
+ selected="1"
305
+ direction=${args.direction}
306
+ ?auto=${args.auto}
307
+ label="Demo Tabs"
308
+ >
309
+ <sp-tab label="Tab 1" value="1"></sp-tab>
310
+ <sp-tab label="Tab 2" value="2"></sp-tab>
311
+ <sp-tab label="Tab 3" value="3"></sp-tab>
312
+ <sp-tab label="Tab 4" value="4"></sp-tab>
313
+ ${panels()}
314
+ </sp-tabs>
315
+ `;
316
+ };
317
+ VerticalRight.args = {
318
+ direction: "vertical-right"
319
+ };
320
+ export const Icons = ({
321
+ direction,
322
+ verticalTab,
323
+ auto
324
+ }) => {
325
+ return html`
326
+ <sp-tabs selected="1" direction=${direction} ?auto=${auto}>
327
+ <sp-tab label="Tab 1" value="1" ?vertical=${verticalTab}>
328
+ <sp-icon-checkmark slot="icon"></sp-icon-checkmark>
329
+ </sp-tab>
330
+ <sp-tab label="Tab 2" value="2" ?vertical=${verticalTab}>
331
+ <sp-icon-close slot="icon"></sp-icon-close>
332
+ </sp-tab>
333
+ <sp-tab label="Tab 3" value="3" ?vertical=${verticalTab}>
334
+ <sp-icon-chevron-down slot="icon"></sp-icon-chevron-down>
335
+ </sp-tab>
336
+ <sp-tab label="Tab 4" value="4" ?vertical=${verticalTab}>
337
+ <sp-icon-help slot="icon"></sp-icon-help>
338
+ </sp-tab>
339
+ ${panels()}
340
+ </sp-tabs>
341
+ `;
342
+ };
343
+ export const IconsWithSlottedLabel = ({
344
+ direction,
345
+ verticalTab,
346
+ auto
347
+ }) => {
348
+ return html`
349
+ <sp-tabs selected="1" direction=${direction} ?auto=${auto}>
350
+ <sp-tab value="1" ?vertical=${verticalTab}>
351
+ Tab 1
352
+ <sp-icon-checkmark slot="icon"></sp-icon-checkmark>
353
+ </sp-tab>
354
+ <sp-tab value="2" ?vertical=${verticalTab}>
355
+ Tab 2
356
+ <sp-icon-close slot="icon"></sp-icon-close>
357
+ </sp-tab>
358
+ <sp-tab value="3" ?vertical=${verticalTab}>
359
+ Tab 3
360
+ <sp-icon-chevron-down slot="icon"></sp-icon-chevron-down>
361
+ </sp-tab>
362
+ <sp-tab value="4" ?vertical=${verticalTab}>
363
+ Tab 4
364
+ <sp-icon-help slot="icon"></sp-icon-help>
365
+ </sp-tab>
366
+ ${panels()}
367
+ </sp-tabs>
368
+ `;
369
+ };
370
+ export const IconsOnly = ({
371
+ direction,
372
+ verticalTab,
373
+ auto
374
+ }) => {
375
+ return html`
376
+ <sp-tabs selected="1" direction=${direction} ?auto=${auto}>
377
+ <sp-tab aria-label="Tab 1" value="1" ?vertical=${verticalTab}>
378
+ <sp-icon-checkmark slot="icon"></sp-icon-checkmark>
379
+ </sp-tab>
380
+ <sp-tab aria-label="Tab 2" value="2" ?vertical=${verticalTab}>
381
+ <sp-icon-close slot="icon"></sp-icon-close>
382
+ </sp-tab>
383
+ <sp-tab aria-label="Tab 3" value="3" ?vertical=${verticalTab}>
384
+ <sp-icon-chevron-down slot="icon"></sp-icon-chevron-down>
385
+ </sp-tab>
386
+ <sp-tab aria-label="Tab 4" value="4" ?vertical=${verticalTab}>
387
+ <sp-icon-help slot="icon"></sp-icon-help>
388
+ </sp-tab>
389
+ ${panels()}
390
+ </sp-tabs>
391
+ `;
392
+ };
393
+ export const iconsIi = (args) => {
394
+ return html`
395
+ <sp-tabs
396
+ selected="1"
397
+ direction=${args.direction}
398
+ ?auto=${args.auto}
399
+ label="Demo Tabs"
400
+ >
401
+ <sp-tab label="Tab 1" value="1" vertical>
402
+ <sp-icon-checkmark slot="icon"></sp-icon-checkmark>
403
+ </sp-tab>
404
+ <sp-tab label="Tab 2" value="2" vertical>
405
+ <sp-icon-close slot="icon"></sp-icon-close>
406
+ </sp-tab>
407
+ <sp-tab label="Tab 3" value="3" vertical>
408
+ <sp-icon-chevron-down slot="icon"></sp-icon-chevron-down>
409
+ </sp-tab>
410
+ <sp-tab label="Tab 4" value="4" vertical>
411
+ <sp-icon-help slot="icon"></sp-icon-help>
412
+ </sp-tab>
413
+ ${panels()}
414
+ </sp-tabs>
415
+ `;
416
+ };
417
+ iconsIi.args = {
418
+ direction: "vertical"
419
+ };
420
+ iconsIi.storyName = "Icons II";
421
+ export const iconsIii = (args) => {
422
+ return html`
423
+ <sp-tabs
424
+ selected="1"
425
+ direction=${args.direction}
426
+ ?auto=${args.auto}
427
+ label="Demo Tabs"
428
+ >
429
+ <sp-tab label="Tab 1" value="1">
430
+ <sp-icon-checkmark slot="icon"></sp-icon-checkmark>
431
+ </sp-tab>
432
+ <sp-tab label="Tab 2" value="2">
433
+ <sp-icon-close slot="icon"></sp-icon-close>
434
+ </sp-tab>
435
+ <sp-tab label="Tab 3" value="3">
436
+ <sp-icon-chevron-down slot="icon"></sp-icon-chevron-down>
437
+ </sp-tab>
438
+ <sp-tab label="Tab 4" value="4">
439
+ <sp-icon-help slot="icon"></sp-icon-help>
440
+ </sp-tab>
441
+ ${panels()}
442
+ </sp-tabs>
443
+ `;
444
+ };
445
+ iconsIii.args = {
446
+ direction: "vertical"
447
+ };
448
+ iconsIii.storyName = "Icons III";
449
+ export const Quiet = ({ direction, auto }) => {
450
+ return html`
451
+ <style>
452
+ sp-tabs {
453
+ display: grid;
454
+ grid-template-columns: 100%;
455
+ }
456
+ </style>
457
+ <sp-tabs selected="1" quiet direction=${direction} ?auto=${auto}>
458
+ <sp-tab label="Tab 1" value="1"></sp-tab>
459
+ <sp-tab label="Tab 2" value="2"></sp-tab>
460
+ <sp-tab label="Tab 3" value="3"></sp-tab>
461
+ <sp-tab label="Tab 4" value="4"></sp-tab>
462
+ ${panels()}
463
+ </sp-tabs>
464
+ `;
465
+ };
466
+ export const Compact = ({ direction, auto }) => {
467
+ return html`
468
+ <sp-tabs selected="1" compact direction=${direction} ?auto=${auto}>
469
+ <sp-tab label="Tab 1" value="1"></sp-tab>
470
+ <sp-tab label="Tab 2" value="2"></sp-tab>
471
+ <sp-tab label="Tab 3" value="3"></sp-tab>
472
+ <sp-tab label="Tab 4" value="4"></sp-tab>
473
+ ${panels()}
474
+ </sp-tabs>
475
+ `;
476
+ };
477
+ export const quietCompact = ({
478
+ direction,
479
+ auto
480
+ }) => {
481
+ return html`
482
+ <style>
483
+ sp-tabs {
484
+ display: grid;
485
+ grid-template-columns: 100%;
486
+ }
487
+ </style>
488
+ <sp-tabs
489
+ selected="1"
490
+ quiet
491
+ compact
492
+ direction=${direction}
493
+ ?auto=${auto}
494
+ >
495
+ <sp-tab label="Tab 1" value="1"></sp-tab>
496
+ <sp-tab label="Tab 2" value="2"></sp-tab>
497
+ <sp-tab label="Tab 3" value="3"></sp-tab>
498
+ <sp-tab label="Tab 4" value="4"></sp-tab>
499
+ ${panels()}
500
+ </sp-tabs>
501
+ `;
502
+ };
503
+ quietCompact.storyName = "Quiet Compact";
504
+ //# sourceMappingURL=tabs.stories.js.map