@spectrum-web-components/menu 0.12.2 → 0.12.4

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 (69) hide show
  1. package/package.json +8 -8
  2. package/sp-menu-divider.d.ts +6 -0
  3. package/sp-menu-divider.js +14 -0
  4. package/sp-menu-divider.js.map +1 -0
  5. package/sp-menu-group.d.ts +6 -0
  6. package/sp-menu-group.js +14 -0
  7. package/sp-menu-group.js.map +1 -0
  8. package/sp-menu-item.d.ts +6 -0
  9. package/sp-menu-item.js +14 -0
  10. package/sp-menu-item.js.map +1 -0
  11. package/sp-menu.d.ts +6 -0
  12. package/sp-menu.js +14 -0
  13. package/sp-menu.js.map +1 -0
  14. package/src/Menu.d.ts +104 -0
  15. package/src/Menu.js +625 -0
  16. package/src/Menu.js.map +1 -0
  17. package/src/MenuDivider.d.ts +8 -0
  18. package/src/MenuDivider.js +25 -0
  19. package/src/MenuDivider.js.map +1 -0
  20. package/src/MenuGroup.d.ts +20 -0
  21. package/src/MenuGroup.js +86 -0
  22. package/src/MenuGroup.js.map +1 -0
  23. package/src/MenuItem.d.ts +110 -0
  24. package/src/MenuItem.js +465 -0
  25. package/src/MenuItem.js.map +1 -0
  26. package/src/index.d.ts +4 -0
  27. package/src/index.js +16 -0
  28. package/src/index.js.map +1 -0
  29. package/src/menu-divider.css.d.ts +2 -0
  30. package/src/menu-divider.css.js +19 -0
  31. package/src/menu-divider.css.js.map +1 -0
  32. package/src/menu-group.css.d.ts +2 -0
  33. package/src/menu-group.css.js +19 -0
  34. package/src/menu-group.css.js.map +1 -0
  35. package/src/menu-item.css.d.ts +2 -0
  36. package/src/menu-item.css.js +76 -0
  37. package/src/menu-item.css.js.map +1 -0
  38. package/src/menu.css.d.ts +2 -0
  39. package/src/menu.css.js +74 -0
  40. package/src/menu.css.js.map +1 -0
  41. package/src/spectrum-checkmark.css.d.ts +2 -0
  42. package/src/spectrum-checkmark.css.js +21 -0
  43. package/src/spectrum-checkmark.css.js.map +1 -0
  44. package/src/spectrum-chevron.css.d.ts +2 -0
  45. package/src/spectrum-chevron.css.js +21 -0
  46. package/src/spectrum-chevron.css.js.map +1 -0
  47. package/src/spectrum-itemLabel.css.d.ts +2 -0
  48. package/src/spectrum-itemLabel.css.js +17 -0
  49. package/src/spectrum-itemLabel.css.js.map +1 -0
  50. package/src/spectrum-menu-divider.css.d.ts +2 -0
  51. package/src/spectrum-menu-divider.css.js +19 -0
  52. package/src/spectrum-menu-divider.css.js.map +1 -0
  53. package/src/spectrum-menu-item.css.d.ts +2 -0
  54. package/src/spectrum-menu-item.css.js +68 -0
  55. package/src/spectrum-menu-item.css.js.map +1 -0
  56. package/src/spectrum-menu-sectionHeading.css.d.ts +2 -0
  57. package/src/spectrum-menu-sectionHeading.css.js +19 -0
  58. package/src/spectrum-menu-sectionHeading.css.js.map +1 -0
  59. package/src/spectrum-menu.css.d.ts +2 -0
  60. package/src/spectrum-menu.css.js +74 -0
  61. package/src/spectrum-menu.css.js.map +1 -0
  62. package/stories/menu-group.stories.js +136 -0
  63. package/stories/menu-group.stories.js.map +1 -0
  64. package/stories/menu-item.stories.js +82 -0
  65. package/stories/menu-item.stories.js.map +1 -0
  66. package/stories/menu.stories.js +247 -0
  67. package/stories/menu.stories.js.map +1 -0
  68. package/stories/submenu.stories.js +302 -0
  69. package/stories/submenu.stories.js.map +1 -0
@@ -0,0 +1,136 @@
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 { html } from '@spectrum-web-components/base';
13
+ import '../sp-menu.js';
14
+ import '../sp-menu-divider.js';
15
+ import '@spectrum-web-components/popover/sp-popover.js';
16
+ import '@spectrum-web-components/menu/sp-menu.js';
17
+ import '@spectrum-web-components/menu/sp-menu-item.js';
18
+ import '@spectrum-web-components/menu/sp-menu-divider.js';
19
+ import '@spectrum-web-components/menu/sp-menu-group.js';
20
+ export default {
21
+ component: 'sp-menu',
22
+ title: 'Menu Group',
23
+ };
24
+ export const mixed = () => {
25
+ let style = 'italic';
26
+ let weight = '700';
27
+ let color = 'blue';
28
+ let decoration = 'overline';
29
+ const styleRules = ({ style, weight, color, decoration, }) => {
30
+ return `
31
+ .style-rule {
32
+ font-weight: ${weight};
33
+ font-style: ${style};
34
+ color: ${color};
35
+ text-decoration: ${decoration};
36
+ }
37
+ `;
38
+ };
39
+ const update = (event) => {
40
+ const { value, id } = event.target;
41
+ switch (id) {
42
+ case 'font':
43
+ const values = value.split(',');
44
+ style = values.indexOf('italic') > -1 ? 'italic' : 'normal';
45
+ weight = values.indexOf('bold') > -1 ? '700' : '400';
46
+ break;
47
+ case 'color':
48
+ color = value;
49
+ break;
50
+ case 'decoration':
51
+ decoration = value;
52
+ break;
53
+ }
54
+ document.querySelector('#output').textContent = styleRules({
55
+ style,
56
+ weight,
57
+ color,
58
+ decoration,
59
+ });
60
+ };
61
+ return html `
62
+ <style>
63
+ sp-popover {
64
+ position: static;
65
+ float: left;
66
+ }
67
+ </style>
68
+ <sp-popover open>
69
+ <sp-menu label="Style/Color" @change=${update}>
70
+ <sp-menu-group label="Font Style" selects="multiple" id="font">
71
+ <sp-menu-item value="bold" selected>Bold</sp-menu-item>
72
+ <sp-menu-item value="italic" selected>Italic</sp-menu-item>
73
+ </sp-menu-group>
74
+ <sp-menu-divider></sp-menu-divider>
75
+ <sp-menu-group label="Text Color" selects="single" id="color">
76
+ <sp-menu-item value="black">Black</sp-menu-item>
77
+ <sp-menu-item value="blue" selected>Blue</sp-menu-item>
78
+ <sp-menu-item value="red">Red</sp-menu-item>
79
+ <sp-menu-item value="green">Green</sp-menu-item>
80
+ </sp-menu-group>
81
+ <sp-menu-divider></sp-menu-divider>
82
+ <sp-menu-group
83
+ label="Text Decoration"
84
+ selects="single"
85
+ id="decoration"
86
+ >
87
+ <sp-menu-item value="none">None</sp-menu-item>
88
+ <sp-menu-item value="overline" selected>
89
+ Overline
90
+ </sp-menu-item>
91
+ <sp-menu-item value="line-through">
92
+ Line-through
93
+ </sp-menu-item>
94
+ <sp-menu-item value="underline">Underline</sp-menu-item>
95
+ </sp-menu-group>
96
+ </sp-menu>
97
+ </sp-popover>
98
+ <pre id="output">
99
+ ${styleRules({ style, weight, color, decoration })}
100
+ </pre
101
+ >
102
+ `;
103
+ };
104
+ export const inherit = () => {
105
+ return html `
106
+ <style>
107
+ sp-popover {
108
+ position: static;
109
+ float: left;
110
+ }
111
+ </style>
112
+ <sp-popover open>
113
+ <sp-menu label="Groceries" selects="multiple">
114
+ <sp-menu-group label="Juice" selects="inherit">
115
+ <sp-menu-item selected>Orange</sp-menu-item>
116
+ <sp-menu-item selected>Apple</sp-menu-item>
117
+ <sp-menu-item>Grape</sp-menu-item>
118
+ </sp-menu-group>
119
+ <sp-menu-divider></sp-menu-divider>
120
+ <sp-menu-group label="Vegetables" selects="inherit">
121
+ <sp-menu-item>Carrots</sp-menu-item>
122
+ <sp-menu-item selected>Summer Squash</sp-menu-item>
123
+ <sp-menu-item>Zuccini</sp-menu-item>
124
+ </sp-menu-group>
125
+ <sp-menu-divider></sp-menu-divider>
126
+ <sp-menu-group label="Dry Goods" selects="inherit">
127
+ <sp-menu-item>Ceral</sp-menu-item>
128
+ <sp-menu-item selected>Flour</sp-menu-item>
129
+ <sp-menu-item>Salt</sp-menu-item>
130
+ <sp-menu-item>Sugar</sp-menu-item>
131
+ </sp-menu-group>
132
+ </sp-menu>
133
+ </sp-popover>
134
+ `;
135
+ };
136
+ //# sourceMappingURL=menu-group.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-group.stories.js","sourceRoot":"","sources":["menu-group.stories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AACF,OAAO,EAAE,IAAI,EAAkB,MAAM,+BAA+B,CAAC;AAGrE,OAAO,eAAe,CAAC;AACvB,OAAO,uBAAuB,CAAC;AAC/B,OAAO,gDAAgD,CAAC;AACxD,OAAO,0CAA0C,CAAC;AAClD,OAAO,+CAA+C,CAAC;AACvD,OAAO,kDAAkD,CAAC;AAC1D,OAAO,gDAAgD,CAAC;AAExD,eAAe;IACX,SAAS,EAAE,SAAS;IACpB,KAAK,EAAE,YAAY;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,GAAmB,EAAE;IACtC,IAAI,KAAK,GAAG,QAAQ,CAAC;IACrB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,KAAK,GAAG,MAAM,CAAC;IACnB,IAAI,UAAU,GAAG,UAAU,CAAC;IAC5B,MAAM,UAAU,GAAG,CAAC,EAChB,KAAK,EACL,MAAM,EACN,KAAK,EACL,UAAU,GAMb,EAAU,EAAE;QACT,OAAO;;2BAEY,MAAM;0BACP,KAAK;qBACV,KAAK;+BACK,UAAU;;SAEhC,CAAC;IACN,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,KAAY,EAAQ,EAAE;QAClC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,MAAmB,CAAC;QAChD,QAAQ,EAAE,EAAE;YACR,KAAK,MAAM;gBACP,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAChC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC5D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;gBACrD,MAAM;YACV,KAAK,OAAO;gBACR,KAAK,GAAG,KAAK,CAAC;gBACd,MAAM;YACV,KAAK,YAAY;gBACb,UAAU,GAAG,KAAK,CAAC;gBACnB,MAAM;SACb;QACA,QAAQ,CAAC,aAAa,CACnB,SAAS,CACI,CAAC,WAAW,GAAG,UAAU,CAAC;YACvC,KAAK;YACL,MAAM;YACN,KAAK;YACL,UAAU;SACb,CAAC,CAAC;IACP,CAAC,CAAC;IACF,OAAO,IAAI,CAAA;;;;;;;;mDAQoC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8B3C,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;;;KAGzD,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,GAAmB,EAAE;IACxC,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6BV,CAAC;AACN,CAAC,CAAC","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 { html, TemplateResult } from '@spectrum-web-components/base';\n\nimport { MenuGroup } from '..';\nimport '../sp-menu.js';\nimport '../sp-menu-divider.js';\nimport '@spectrum-web-components/popover/sp-popover.js';\nimport '@spectrum-web-components/menu/sp-menu.js';\nimport '@spectrum-web-components/menu/sp-menu-item.js';\nimport '@spectrum-web-components/menu/sp-menu-divider.js';\nimport '@spectrum-web-components/menu/sp-menu-group.js';\n\nexport default {\n component: 'sp-menu',\n title: 'Menu Group',\n};\n\nexport const mixed = (): TemplateResult => {\n let style = 'italic';\n let weight = '700';\n let color = 'blue';\n let decoration = 'overline';\n const styleRules = ({\n style,\n weight,\n color,\n decoration,\n }: {\n style: string;\n weight: string;\n color: string;\n decoration: string;\n }): string => {\n return `\n .style-rule {\n font-weight: ${weight};\n font-style: ${style};\n color: ${color};\n text-decoration: ${decoration};\n }\n `;\n };\n const update = (event: Event): void => {\n const { value, id } = event.target as MenuGroup;\n switch (id) {\n case 'font':\n const values = value.split(',');\n style = values.indexOf('italic') > -1 ? 'italic' : 'normal';\n weight = values.indexOf('bold') > -1 ? '700' : '400';\n break;\n case 'color':\n color = value;\n break;\n case 'decoration':\n decoration = value;\n break;\n }\n (document.querySelector(\n '#output'\n ) as HTMLElement).textContent = styleRules({\n style,\n weight,\n color,\n decoration,\n });\n };\n return html`\n <style>\n sp-popover {\n position: static;\n float: left;\n }\n </style>\n <sp-popover open>\n <sp-menu label=\"Style/Color\" @change=${update}>\n <sp-menu-group label=\"Font Style\" selects=\"multiple\" id=\"font\">\n <sp-menu-item value=\"bold\" selected>Bold</sp-menu-item>\n <sp-menu-item value=\"italic\" selected>Italic</sp-menu-item>\n </sp-menu-group>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-group label=\"Text Color\" selects=\"single\" id=\"color\">\n <sp-menu-item value=\"black\">Black</sp-menu-item>\n <sp-menu-item value=\"blue\" selected>Blue</sp-menu-item>\n <sp-menu-item value=\"red\">Red</sp-menu-item>\n <sp-menu-item value=\"green\">Green</sp-menu-item>\n </sp-menu-group>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-group\n label=\"Text Decoration\"\n selects=\"single\"\n id=\"decoration\"\n >\n <sp-menu-item value=\"none\">None</sp-menu-item>\n <sp-menu-item value=\"overline\" selected>\n Overline\n </sp-menu-item>\n <sp-menu-item value=\"line-through\">\n Line-through\n </sp-menu-item>\n <sp-menu-item value=\"underline\">Underline</sp-menu-item>\n </sp-menu-group>\n </sp-menu>\n </sp-popover>\n <pre id=\"output\">\n ${styleRules({ style, weight, color, decoration })}\n </pre\n >\n `;\n};\n\nexport const inherit = (): TemplateResult => {\n return html`\n <style>\n sp-popover {\n position: static;\n float: left;\n }\n </style>\n <sp-popover open>\n <sp-menu label=\"Groceries\" selects=\"multiple\">\n <sp-menu-group label=\"Juice\" selects=\"inherit\">\n <sp-menu-item selected>Orange</sp-menu-item>\n <sp-menu-item selected>Apple</sp-menu-item>\n <sp-menu-item>Grape</sp-menu-item>\n </sp-menu-group>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-group label=\"Vegetables\" selects=\"inherit\">\n <sp-menu-item>Carrots</sp-menu-item>\n <sp-menu-item selected>Summer Squash</sp-menu-item>\n <sp-menu-item>Zuccini</sp-menu-item>\n </sp-menu-group>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-group label=\"Dry Goods\" selects=\"inherit\">\n <sp-menu-item>Ceral</sp-menu-item>\n <sp-menu-item selected>Flour</sp-menu-item>\n <sp-menu-item>Salt</sp-menu-item>\n <sp-menu-item>Sugar</sp-menu-item>\n </sp-menu-group>\n </sp-menu>\n </sp-popover>\n `;\n};\n"]}
@@ -0,0 +1,82 @@
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 { html } from '@spectrum-web-components/base';
13
+ import '@spectrum-web-components/icons-workflow/icons/sp-icon-edit.js';
14
+ import '../sp-menu.js';
15
+ import '../sp-menu-item.js';
16
+ import '@spectrum-web-components/icons-workflow/icons/sp-icon-edit.js';
17
+ export default {
18
+ component: 'sp-menu-item',
19
+ title: 'Menu Item',
20
+ };
21
+ export const Default = () => {
22
+ return html `
23
+ <sp-menu>
24
+ <sp-menu-item>Menu Item</sp-menu-item>
25
+ </sp-menu>
26
+ `;
27
+ };
28
+ export const noWrap = () => {
29
+ return html `
30
+ <sp-menu style="width: 150px;">
31
+ <sp-menu-item no-wrap>
32
+ Select a Country with a very long label, too long, in fact
33
+ </sp-menu-item>
34
+ </sp-menu>
35
+ `;
36
+ };
37
+ export const valueSlot = () => {
38
+ /**
39
+ * This story featurs zero width spaces between the characters in the `<kbd>` element.
40
+ * While their absence has not caused issues in the local Storybook, the visual regression
41
+ * suite was causig the `⌘​` character to display different between the various Menu Items
42
+ * without the intevening zero width space character. When reviewing in the future,
43
+ * `font-variant-ligatures: none` was also not enough to address this situation.
44
+ */
45
+ //
46
+ //
47
+ return html `
48
+ <style>
49
+ kbd {
50
+ font-family: var(--spectrum-alias-body-text-font-family);
51
+ white-space: nowrap;
52
+ }
53
+ </style>
54
+ <sp-menu style="width: 150px;" selects="single">
55
+ <sp-menu-item>
56
+ Save
57
+ <kbd slot="value">⌘​S</kbd>
58
+ </sp-menu-item>
59
+ <sp-menu-item selected>
60
+ Save As...
61
+ <kbd slot="value">⇧​⌘​S</kbd>
62
+ </sp-menu-item>
63
+ <sp-menu-item disabled>
64
+ Save All
65
+ <kbd slot="value">⌥​⌘​S</kbd>
66
+ </sp-menu-item>
67
+ </sp-menu>
68
+ `;
69
+ };
70
+ export const href = () => {
71
+ return html `
72
+ <sp-menu style="width: 150px;">
73
+ <sp-menu-item
74
+ href="https://opensource.adobe.com/spectrum-web-components"
75
+ >
76
+ <sp-icon-edit slot="icon"></sp-icon-edit>
77
+ Edit the Documentation Site
78
+ </sp-menu-item>
79
+ </sp-menu>
80
+ `;
81
+ };
82
+ //# sourceMappingURL=menu-item.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-item.stories.js","sourceRoot":"","sources":["menu-item.stories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AACF,OAAO,EAAE,IAAI,EAAkB,MAAM,+BAA+B,CAAC;AACrE,OAAO,+DAA+D,CAAC;AAEvE,OAAO,eAAe,CAAC;AACvB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,+DAA+D,CAAC;AAEvE,eAAe;IACX,SAAS,EAAE,cAAc;IACzB,KAAK,EAAE,WAAW;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,GAAmB,EAAE;IACxC,OAAO,IAAI,CAAA;;;;KAIV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,GAAmB,EAAE;IACvC,OAAO,IAAI,CAAA;;;;;;KAMV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,GAAmB,EAAE;IAC1C;;;;;;OAMG;IACH,EAAE;IACF,EAAE;IACF,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;KAqBV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,GAAmB,EAAE;IACrC,OAAO,IAAI,CAAA;;;;;;;;;KASV,CAAC;AACN,CAAC,CAAC","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 { html, TemplateResult } from '@spectrum-web-components/base';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-edit.js';\n\nimport '../sp-menu.js';\nimport '../sp-menu-item.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-edit.js';\n\nexport default {\n component: 'sp-menu-item',\n title: 'Menu Item',\n};\n\nexport const Default = (): TemplateResult => {\n return html`\n <sp-menu>\n <sp-menu-item>Menu Item</sp-menu-item>\n </sp-menu>\n `;\n};\n\nexport const noWrap = (): TemplateResult => {\n return html`\n <sp-menu style=\"width: 150px;\">\n <sp-menu-item no-wrap>\n Select a Country with a very long label, too long, in fact\n </sp-menu-item>\n </sp-menu>\n `;\n};\n\nexport const valueSlot = (): TemplateResult => {\n /**\n * This story featurs zero width spaces between the characters in the `<kbd>` element.\n * While their absence has not caused issues in the local Storybook, the visual regression\n * suite was causig the `⌘​` character to display different between the various Menu Items\n * without the intevening zero width space character. When reviewing in the future,\n * `font-variant-ligatures: none` was also not enough to address this situation.\n */\n //\n //\n return html`\n <style>\n kbd {\n font-family: var(--spectrum-alias-body-text-font-family);\n white-space: nowrap;\n }\n </style>\n <sp-menu style=\"width: 150px;\" selects=\"single\">\n <sp-menu-item>\n Save\n <kbd slot=\"value\">⌘​S</kbd>\n </sp-menu-item>\n <sp-menu-item selected>\n Save As...\n <kbd slot=\"value\">⇧​⌘​S</kbd>\n </sp-menu-item>\n <sp-menu-item disabled>\n Save All\n <kbd slot=\"value\">⌥​⌘​S</kbd>\n </sp-menu-item>\n </sp-menu>\n `;\n};\n\nexport const href = (): TemplateResult => {\n return html`\n <sp-menu style=\"width: 150px;\">\n <sp-menu-item\n href=\"https://opensource.adobe.com/spectrum-web-components\"\n >\n <sp-icon-edit slot=\"icon\"></sp-icon-edit>\n Edit the Documentation Site\n </sp-menu-item>\n </sp-menu>\n `;\n};\n"]}
@@ -0,0 +1,247 @@
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 { html } from '@spectrum-web-components/base';
13
+ import '../sp-menu.js';
14
+ import '@spectrum-web-components/popover/sp-popover.js';
15
+ import '@spectrum-web-components/action-menu/sp-action-menu.js';
16
+ import '@spectrum-web-components/menu/sp-menu-item.js';
17
+ import '@spectrum-web-components/menu/sp-menu-divider.js';
18
+ import '@spectrum-web-components/menu/sp-menu-group.js';
19
+ import '@spectrum-web-components/icon/sp-icon.js';
20
+ import '@spectrum-web-components/icons-workflow/icons/sp-icon-checkmark-circle.js';
21
+ import '@spectrum-web-components/icons-workflow/icons/sp-icon-show-menu.js';
22
+ export default {
23
+ component: 'sp-menu',
24
+ title: 'Menu',
25
+ };
26
+ export const Default = () => {
27
+ return html `
28
+ <sp-menu>
29
+ <sp-menu-item>Deselect</sp-menu-item>
30
+ <sp-menu-item>Select Inverse</sp-menu-item>
31
+ <sp-menu-item>Feather...</sp-menu-item>
32
+ <sp-menu-item>Select and Mask...</sp-menu-item>
33
+ <sp-menu-divider></sp-menu-divider>
34
+ <sp-menu-item>Save Selection</sp-menu-item>
35
+ <sp-menu-item disabled>Make Work Path</sp-menu-item>
36
+ </sp-menu>
37
+
38
+ <sp-popover open>
39
+ <sp-menu>
40
+ <sp-menu-item>Deselect</sp-menu-item>
41
+ <sp-menu-item>Select Inverse</sp-menu-item>
42
+ <sp-menu-item>Feather...</sp-menu-item>
43
+ <sp-menu-item>Select and Mask...</sp-menu-item>
44
+ <sp-menu-divider></sp-menu-divider>
45
+ <sp-menu-item>Save Selection</sp-menu-item>
46
+ <sp-menu-item disabled>Make Work Path</sp-menu-item>
47
+ </sp-menu>
48
+ </sp-popover>
49
+ `;
50
+ };
51
+ export const singleSelect = () => {
52
+ return html `
53
+ <sp-menu selects="single">
54
+ <sp-menu-item selected>Deselect</sp-menu-item>
55
+ <sp-menu-item>Select Inverse</sp-menu-item>
56
+ <sp-menu-item>Feather...</sp-menu-item>
57
+ <sp-menu-item>Select and Mask...</sp-menu-item>
58
+ <sp-menu-divider></sp-menu-divider>
59
+ <sp-menu-item>Save Selection</sp-menu-item>
60
+ <sp-menu-item disabled>Make Work Path</sp-menu-item>
61
+ </sp-menu>
62
+
63
+ <sp-popover open>
64
+ <sp-menu selects="single">
65
+ <sp-menu-item>Deselect</sp-menu-item>
66
+ <sp-menu-item>Select Inverse</sp-menu-item>
67
+ <sp-menu-item selected>Feather...</sp-menu-item>
68
+ <sp-menu-item>Select and Mask...</sp-menu-item>
69
+ <sp-menu-divider></sp-menu-divider>
70
+ <sp-menu-item>Save Selection</sp-menu-item>
71
+ <sp-menu-item disabled>Make Work Path</sp-menu-item>
72
+ </sp-menu>
73
+ </sp-popover>
74
+ `;
75
+ };
76
+ export const multipleSelect = () => {
77
+ return html `
78
+ <sp-menu selects="multiple">
79
+ <sp-menu-item>Deselect</sp-menu-item>
80
+ <sp-menu-item>Select Inverse</sp-menu-item>
81
+ <sp-menu-item selected>Feather...</sp-menu-item>
82
+ <sp-menu-item>Select and Mask...</sp-menu-item>
83
+ <sp-menu-divider></sp-menu-divider>
84
+ <sp-menu-item selected>Save Selection</sp-menu-item>
85
+ <sp-menu-item disabled>Make Work Path</sp-menu-item>
86
+ </sp-menu>
87
+
88
+ <sp-popover open>
89
+ <sp-menu selects="multiple">
90
+ <sp-menu-item>Deselect</sp-menu-item>
91
+ <sp-menu-item selected>Select Inverse</sp-menu-item>
92
+ <sp-menu-item>Feather...</sp-menu-item>
93
+ <sp-menu-item selected>Select and Mask...</sp-menu-item>
94
+ <sp-menu-divider></sp-menu-divider>
95
+ <sp-menu-item>Save Selection</sp-menu-item>
96
+ <sp-menu-item disabled>Make Work Path</sp-menu-item>
97
+ </sp-menu>
98
+ </sp-popover>
99
+ `;
100
+ };
101
+ export const headersAndIcons = () => {
102
+ return html `
103
+ <sp-popover open>
104
+ <sp-menu>
105
+ <sp-menu-group>
106
+ <span slot="header">Section Heading</span>
107
+ <sp-menu-item>Action 1</sp-menu-item>
108
+ <sp-menu-item>Action 2</sp-menu-item>
109
+ <sp-menu-item>Action 3</sp-menu-item>
110
+ </sp-menu-group>
111
+ <sp-menu-divider></sp-menu-divider>
112
+ <sp-menu-group>
113
+ <span slot="header">Section Heading</span>
114
+ <sp-menu-item>
115
+ <sp-icon-checkmark-circle
116
+ slot="icon"
117
+ ></sp-icon-checkmark-circle>
118
+ Save
119
+ </sp-menu-item>
120
+ <sp-menu-item disabled>
121
+ <sp-icon-checkmark-circle
122
+ slot="icon"
123
+ ></sp-icon-checkmark-circle>
124
+ Download
125
+ </sp-menu-item>
126
+ </sp-menu-group>
127
+ </sp-menu>
128
+ </sp-popover>
129
+ `;
130
+ };
131
+ headersAndIcons.story = {
132
+ name: 'Headers and Icons',
133
+ };
134
+ export const Selected = () => {
135
+ return html `
136
+ <sp-popover open style="width: 200px;">
137
+ <sp-menu>
138
+ <sp-menu-group>
139
+ <span slot="header">San Francisco</span>
140
+ <sp-menu-item>Financial District</sp-menu-item>
141
+ <sp-menu-item>South of Market</sp-menu-item>
142
+ <sp-menu-item>North Beach</sp-menu-item>
143
+ </sp-menu-group>
144
+ <sp-menu-divider></sp-menu-divider>
145
+ <sp-menu-group selects="single">
146
+ <span slot="header">Oakland</span>
147
+ <sp-menu-item>City Center</sp-menu-item>
148
+ <sp-menu-item disabled>Jack London Square</sp-menu-item>
149
+ <sp-menu-item selected>
150
+ My best friend's mom's house in the burbs just off
151
+ Silverado street
152
+ </sp-menu-item>
153
+ </sp-menu-group>
154
+ </sp-menu>
155
+ </sp-popover>
156
+ `;
157
+ };
158
+ export const MenuGroupSelects = () => {
159
+ return html `
160
+ <sp-popover open style="width: 200px;">
161
+ <sp-menu selects="single">
162
+ <sp-menu-group selects="inherit">
163
+ <span slot="header">One of these</span>
164
+ <sp-menu-item>Camden</sp-menu-item>
165
+ <sp-menu-item>Cedar Riverside</sp-menu-item>
166
+ <sp-menu-item>Downtown</sp-menu-item>
167
+ <sp-menu-item>Northeast Arts District</sp-menu-item>
168
+ <sp-menu-item selected>Uptown</sp-menu-item>
169
+ </sp-menu-group>
170
+ <sp-menu-group selects="inherit">
171
+ <span slot="header">Or of these</span>
172
+ <sp-menu-item>Lowertown</sp-menu-item>
173
+ <sp-menu-item>Grand Ave</sp-menu-item>
174
+ </sp-menu-group>
175
+ <sp-menu-group selects="multiple">
176
+ <span slot="header">Many of these</span>
177
+ <sp-menu-item>Financial District</sp-menu-item>
178
+ <sp-menu-item selected>South of Market</sp-menu-item>
179
+ <sp-menu-item selected>North Beach</sp-menu-item>
180
+ </sp-menu-group>
181
+ <sp-menu-divider></sp-menu-divider>
182
+ <sp-menu-group selects="single">
183
+ <span slot="header">One of these</span>
184
+ <sp-menu-item>City Center</sp-menu-item>
185
+ <sp-menu-item disabled>Jack London Square</sp-menu-item>
186
+ <sp-menu-item selected>
187
+ My best friend's mom's house in the burbs just off
188
+ Silverado street
189
+ </sp-menu-item>
190
+ </sp-menu-group>
191
+ </sp-menu>
192
+ </sp-popover>
193
+ `;
194
+ };
195
+ export const selectedOffPage = () => {
196
+ return html `
197
+ <p style="height: 100vh; padding-bottom: 50px;">
198
+ In this example the \`&lt;sp-menu-item selected&gt;\` element is off
199
+ the visible page by default, but does not alter the page scroll on
200
+ load.
201
+ </p>
202
+ <sp-menu>
203
+ <sp-menu-item selected style="padding-bottom: 50px;">
204
+ My best friend's mom's house in the burbs just off Silverado
205
+ street
206
+ </sp-menu-item>
207
+ </sp-menu>
208
+ `;
209
+ };
210
+ export const MenuGroupSelectsMultiple = () => {
211
+ return html `
212
+ <sp-popover open style="width: 200px;">
213
+ <sp-menu selects="multiple">
214
+ <sp-menu-group selects="inherit">
215
+ <span slot="header">Many of these</span>
216
+ <sp-menu-item>Camden</sp-menu-item>
217
+ <sp-menu-item selected>Cedar Riverside</sp-menu-item>
218
+ <sp-menu-item selected>Downtown</sp-menu-item>
219
+ <sp-menu-item>Northeast Arts District</sp-menu-item>
220
+ <sp-menu-item>Uptown</sp-menu-item>
221
+ </sp-menu-group>
222
+ <sp-menu-group selects="inherit">
223
+ <span slot="header">And these, too</span>
224
+ <sp-menu-item>Lowertown</sp-menu-item>
225
+ <sp-menu-item selected>Grand Ave</sp-menu-item>
226
+ </sp-menu-group>
227
+ <sp-menu-group>
228
+ <span slot="header">None of these</span>
229
+ <sp-menu-item>Financial District</sp-menu-item>
230
+ <sp-menu-item>South of Market</sp-menu-item>
231
+ <sp-menu-item>North Beach</sp-menu-item>
232
+ </sp-menu-group>
233
+ <sp-menu-divider></sp-menu-divider>
234
+ <sp-menu-group selects="single">
235
+ <span slot="header">One of these</span>
236
+ <sp-menu-item>City Center</sp-menu-item>
237
+ <sp-menu-item disabled>Jack London Square</sp-menu-item>
238
+ <sp-menu-item selected>
239
+ My best friend's mom's house in the burbs just off
240
+ Silverado street
241
+ </sp-menu-item>
242
+ </sp-menu-group>
243
+ </sp-menu>
244
+ </sp-popover>
245
+ `;
246
+ };
247
+ //# sourceMappingURL=menu.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.stories.js","sourceRoot":"","sources":["menu.stories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AACF,OAAO,EAAE,IAAI,EAAkB,MAAM,+BAA+B,CAAC;AAErE,OAAO,eAAe,CAAC;AACvB,OAAO,gDAAgD,CAAC;AACxD,OAAO,wDAAwD,CAAC;AAChE,OAAO,+CAA+C,CAAC;AACvD,OAAO,kDAAkD,CAAC;AAC1D,OAAO,gDAAgD,CAAC;AACxD,OAAO,0CAA0C,CAAC;AAClD,OAAO,2EAA2E,CAAC;AACnF,OAAO,oEAAoE,CAAC;AAE5E,eAAe;IACX,SAAS,EAAE,SAAS;IACpB,KAAK,EAAE,MAAM;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,GAAmB,EAAE;IACxC,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;KAsBV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAmB,EAAE;IAC7C,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;KAsBV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAmB,EAAE;IAC/C,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;KAsBV,CAAC;AACN,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAmB,EAAE;IAChD,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2BV,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,CAAC,KAAK,GAAG;IACpB,IAAI,EAAE,mBAAmB;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAmB,EAAE;IACzC,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;KAqBV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAmB,EAAE;IACjD,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkCV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAmB,EAAE;IAChD,OAAO,IAAI,CAAA;;;;;;;;;;;;KAYV,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAmB,EAAE;IACzD,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkCV,CAAC;AACN,CAAC,CAAC","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 { html, TemplateResult } from '@spectrum-web-components/base';\n\nimport '../sp-menu.js';\nimport '@spectrum-web-components/popover/sp-popover.js';\nimport '@spectrum-web-components/action-menu/sp-action-menu.js';\nimport '@spectrum-web-components/menu/sp-menu-item.js';\nimport '@spectrum-web-components/menu/sp-menu-divider.js';\nimport '@spectrum-web-components/menu/sp-menu-group.js';\nimport '@spectrum-web-components/icon/sp-icon.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-checkmark-circle.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-show-menu.js';\n\nexport default {\n component: 'sp-menu',\n title: 'Menu',\n};\n\nexport const Default = (): TemplateResult => {\n return html`\n <sp-menu>\n <sp-menu-item>Deselect</sp-menu-item>\n <sp-menu-item>Select Inverse</sp-menu-item>\n <sp-menu-item>Feather...</sp-menu-item>\n <sp-menu-item>Select and Mask...</sp-menu-item>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-item>Save Selection</sp-menu-item>\n <sp-menu-item disabled>Make Work Path</sp-menu-item>\n </sp-menu>\n\n <sp-popover open>\n <sp-menu>\n <sp-menu-item>Deselect</sp-menu-item>\n <sp-menu-item>Select Inverse</sp-menu-item>\n <sp-menu-item>Feather...</sp-menu-item>\n <sp-menu-item>Select and Mask...</sp-menu-item>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-item>Save Selection</sp-menu-item>\n <sp-menu-item disabled>Make Work Path</sp-menu-item>\n </sp-menu>\n </sp-popover>\n `;\n};\n\nexport const singleSelect = (): TemplateResult => {\n return html`\n <sp-menu selects=\"single\">\n <sp-menu-item selected>Deselect</sp-menu-item>\n <sp-menu-item>Select Inverse</sp-menu-item>\n <sp-menu-item>Feather...</sp-menu-item>\n <sp-menu-item>Select and Mask...</sp-menu-item>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-item>Save Selection</sp-menu-item>\n <sp-menu-item disabled>Make Work Path</sp-menu-item>\n </sp-menu>\n\n <sp-popover open>\n <sp-menu selects=\"single\">\n <sp-menu-item>Deselect</sp-menu-item>\n <sp-menu-item>Select Inverse</sp-menu-item>\n <sp-menu-item selected>Feather...</sp-menu-item>\n <sp-menu-item>Select and Mask...</sp-menu-item>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-item>Save Selection</sp-menu-item>\n <sp-menu-item disabled>Make Work Path</sp-menu-item>\n </sp-menu>\n </sp-popover>\n `;\n};\n\nexport const multipleSelect = (): TemplateResult => {\n return html`\n <sp-menu selects=\"multiple\">\n <sp-menu-item>Deselect</sp-menu-item>\n <sp-menu-item>Select Inverse</sp-menu-item>\n <sp-menu-item selected>Feather...</sp-menu-item>\n <sp-menu-item>Select and Mask...</sp-menu-item>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-item selected>Save Selection</sp-menu-item>\n <sp-menu-item disabled>Make Work Path</sp-menu-item>\n </sp-menu>\n\n <sp-popover open>\n <sp-menu selects=\"multiple\">\n <sp-menu-item>Deselect</sp-menu-item>\n <sp-menu-item selected>Select Inverse</sp-menu-item>\n <sp-menu-item>Feather...</sp-menu-item>\n <sp-menu-item selected>Select and Mask...</sp-menu-item>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-item>Save Selection</sp-menu-item>\n <sp-menu-item disabled>Make Work Path</sp-menu-item>\n </sp-menu>\n </sp-popover>\n `;\n};\nexport const headersAndIcons = (): TemplateResult => {\n return html`\n <sp-popover open>\n <sp-menu>\n <sp-menu-group>\n <span slot=\"header\">Section Heading</span>\n <sp-menu-item>Action 1</sp-menu-item>\n <sp-menu-item>Action 2</sp-menu-item>\n <sp-menu-item>Action 3</sp-menu-item>\n </sp-menu-group>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-group>\n <span slot=\"header\">Section Heading</span>\n <sp-menu-item>\n <sp-icon-checkmark-circle\n slot=\"icon\"\n ></sp-icon-checkmark-circle>\n Save\n </sp-menu-item>\n <sp-menu-item disabled>\n <sp-icon-checkmark-circle\n slot=\"icon\"\n ></sp-icon-checkmark-circle>\n Download\n </sp-menu-item>\n </sp-menu-group>\n </sp-menu>\n </sp-popover>\n `;\n};\n\nheadersAndIcons.story = {\n name: 'Headers and Icons',\n};\n\nexport const Selected = (): TemplateResult => {\n return html`\n <sp-popover open style=\"width: 200px;\">\n <sp-menu>\n <sp-menu-group>\n <span slot=\"header\">San Francisco</span>\n <sp-menu-item>Financial District</sp-menu-item>\n <sp-menu-item>South of Market</sp-menu-item>\n <sp-menu-item>North Beach</sp-menu-item>\n </sp-menu-group>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-group selects=\"single\">\n <span slot=\"header\">Oakland</span>\n <sp-menu-item>City Center</sp-menu-item>\n <sp-menu-item disabled>Jack London Square</sp-menu-item>\n <sp-menu-item selected>\n My best friend's mom's house in the burbs just off\n Silverado street\n </sp-menu-item>\n </sp-menu-group>\n </sp-menu>\n </sp-popover>\n `;\n};\n\nexport const MenuGroupSelects = (): TemplateResult => {\n return html`\n <sp-popover open style=\"width: 200px;\">\n <sp-menu selects=\"single\">\n <sp-menu-group selects=\"inherit\">\n <span slot=\"header\">One of these</span>\n <sp-menu-item>Camden</sp-menu-item>\n <sp-menu-item>Cedar Riverside</sp-menu-item>\n <sp-menu-item>Downtown</sp-menu-item>\n <sp-menu-item>Northeast Arts District</sp-menu-item>\n <sp-menu-item selected>Uptown</sp-menu-item>\n </sp-menu-group>\n <sp-menu-group selects=\"inherit\">\n <span slot=\"header\">Or of these</span>\n <sp-menu-item>Lowertown</sp-menu-item>\n <sp-menu-item>Grand Ave</sp-menu-item>\n </sp-menu-group>\n <sp-menu-group selects=\"multiple\">\n <span slot=\"header\">Many of these</span>\n <sp-menu-item>Financial District</sp-menu-item>\n <sp-menu-item selected>South of Market</sp-menu-item>\n <sp-menu-item selected>North Beach</sp-menu-item>\n </sp-menu-group>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-group selects=\"single\">\n <span slot=\"header\">One of these</span>\n <sp-menu-item>City Center</sp-menu-item>\n <sp-menu-item disabled>Jack London Square</sp-menu-item>\n <sp-menu-item selected>\n My best friend's mom's house in the burbs just off\n Silverado street\n </sp-menu-item>\n </sp-menu-group>\n </sp-menu>\n </sp-popover>\n `;\n};\n\nexport const selectedOffPage = (): TemplateResult => {\n return html`\n <p style=\"height: 100vh; padding-bottom: 50px;\">\n In this example the \\`&lt;sp-menu-item selected&gt;\\` element is off\n the visible page by default, but does not alter the page scroll on\n load.\n </p>\n <sp-menu>\n <sp-menu-item selected style=\"padding-bottom: 50px;\">\n My best friend's mom's house in the burbs just off Silverado\n street\n </sp-menu-item>\n </sp-menu>\n `;\n};\n\nexport const MenuGroupSelectsMultiple = (): TemplateResult => {\n return html`\n <sp-popover open style=\"width: 200px;\">\n <sp-menu selects=\"multiple\">\n <sp-menu-group selects=\"inherit\">\n <span slot=\"header\">Many of these</span>\n <sp-menu-item>Camden</sp-menu-item>\n <sp-menu-item selected>Cedar Riverside</sp-menu-item>\n <sp-menu-item selected>Downtown</sp-menu-item>\n <sp-menu-item>Northeast Arts District</sp-menu-item>\n <sp-menu-item>Uptown</sp-menu-item>\n </sp-menu-group>\n <sp-menu-group selects=\"inherit\">\n <span slot=\"header\">And these, too</span>\n <sp-menu-item>Lowertown</sp-menu-item>\n <sp-menu-item selected>Grand Ave</sp-menu-item>\n </sp-menu-group>\n <sp-menu-group>\n <span slot=\"header\">None of these</span>\n <sp-menu-item>Financial District</sp-menu-item>\n <sp-menu-item>South of Market</sp-menu-item>\n <sp-menu-item>North Beach</sp-menu-item>\n </sp-menu-group>\n <sp-menu-divider></sp-menu-divider>\n <sp-menu-group selects=\"single\">\n <span slot=\"header\">One of these</span>\n <sp-menu-item>City Center</sp-menu-item>\n <sp-menu-item disabled>Jack London Square</sp-menu-item>\n <sp-menu-item selected>\n My best friend's mom's house in the burbs just off\n Silverado street\n </sp-menu-item>\n </sp-menu-group>\n </sp-menu>\n </sp-popover>\n `;\n};\n"]}