@spectrum-web-components/picker 0.41.0 → 0.41.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -0
- package/custom-elements.json +20 -0
- package/package.json +16 -15
- package/src/Picker.d.ts +3 -1
- package/src/Picker.dev.js +11 -2
- package/src/Picker.dev.js.map +2 -2
- package/src/Picker.js +9 -9
- package/src/Picker.js.map +3 -3
- package/src/picker.css.dev.js +1 -512
- package/src/picker.css.dev.js.map +2 -2
- package/src/picker.css.js +1 -512
- package/src/picker.css.js.map +2 -2
- package/src/spectrum-config.js +4 -0
- package/src/spectrum-picker.css.dev.js +1 -506
- package/src/spectrum-picker.css.dev.js.map +2 -2
- package/src/spectrum-picker.css.js +1 -506
- package/src/spectrum-picker.css.js.map +2 -2
- package/stories/args.js +55 -0
- package/stories/args.js.map +7 -0
- package/stories/picker.stories.js +153 -47
- package/stories/picker.stories.js.map +2 -2
- package/stories/template.js +28 -0
- package/stories/template.js.map +7 -0
- package/test/index.js +46 -0
- package/test/index.js.map +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["picker.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*/\n\nimport { html, TemplateResult } from '@spectrum-web-components/base';\n\nimport '@spectrum-web-components/picker/sp-picker.js';\nimport { Picker } from '@spectrum-web-components/picker';\nimport '@spectrum-web-components/menu/sp-menu-item.js';\nimport '@spectrum-web-components/tooltip/sp-tooltip.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-edit.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-copy.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-delete.js';\nimport { states } from './states.js';\nimport '@spectrum-web-components/field-label/sp-field-label.js';\nimport { spreadProps } from '../../../test/lit-helpers.js';\nimport { isOverlayOpen } from '../../overlay/stories/index.js';\nimport '../../overlay/stories/index.js';\n\nexport default {\n title: 'Picker',\n component: 'sp-picker',\n args: {\n disabled: false,\n invalid: false,\n open: false,\n quiet: false,\n },\n argTypes: {\n onChange: { action: 'change' },\n disabled: {\n name: 'disabled',\n type: { name: 'boolean', required: false },\n description:\n 'Disable this control. It will not receive focus or events.',\n table: {\n type: { summary: 'boolean' },\n defaultValue: { summary: false },\n },\n control: {\n type: 'boolean',\n },\n },\n invalid: {\n name: 'invalid',\n type: { name: 'boolean', required: false },\n table: {\n type: { summary: 'boolean' },\n defaultValue: { summary: false },\n },\n control: {\n type: 'boolean',\n },\n },\n open: {\n name: 'open',\n type: { name: 'boolean', required: false },\n description: 'Whether the menu is open or not.',\n table: {\n type: { summary: 'boolean' },\n defaultValue: { summary: false },\n },\n control: 'boolean',\n },\n quiet: {\n name: 'quiet',\n type: { name: 'boolean', required: false },\n table: {\n type: { summary: 'boolean' },\n defaultValue: { summary: false },\n },\n control: {\n type: 'boolean',\n },\n },\n },\n};\n\ninterface StoryArgs {\n disabled?: boolean;\n invalid?: boolean;\n open?: boolean;\n quiet?: boolean;\n showText?: boolean;\n onChange?: (val: string) => void;\n [prop: string]: unknown;\n}\n\nconst handleChange =\n ({ onChange }: StoryArgs) =>\n (event: Event): void => {\n const picker = event.target as Picker;\n if (onChange) onChange(picker.value);\n };\n\nexport const Default = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-field-label for=\"picker-1\">Where do you live?</sp-field-label>\n <sp-picker\n id=\"picker-1\"\n @change=${handleChange(args)}\n label=\"Select a Country with a very long label, too long, in fact\"\n ${spreadProps(args)}\n >\n <sp-menu-item value=\"option-1\">Deselect</sp-menu-item>\n <sp-menu-item value=\"option-2\">Select Inverse</sp-menu-item>\n <sp-menu-item value=\"option-3\">Feather...</sp-menu-item>\n <sp-menu-item value=\"option-4\">Select and Mask...</sp-menu-item>\n <sp-menu-item value=\"option-5\">Save Selection</sp-menu-item>\n <sp-menu-item disabled value=\"option-6\">\n Make Work Path\n </sp-menu-item>\n </sp-picker>\n <p>This is some text.</p>\n <p>This is some text.</p>\n <p>\n This is a\n <a href=\"#anchor\">link</a>\n .\n </p>\n `;\n};\n\nexport const tooltip = (args: StoryArgs): TemplateResult => {\n const { open, ...rest } = args;\n return html`\n <sp-field-label for=\"picker-1\">Where do you live?</sp-field-label>\n <sp-picker\n id=\"picker-1\"\n @change=${handleChange(args)}\n label=\"Select a Country with a very long label, too long, in fact\"\n ${spreadProps(rest)}\n >\n <sp-menu-item value=\"option-1\">Deselect</sp-menu-item>\n <sp-menu-item value=\"option-2\">Select Inverse</sp-menu-item>\n <sp-menu-item value=\"option-3\">Feather...</sp-menu-item>\n <sp-menu-item value=\"option-4\">Select and Mask...</sp-menu-item>\n <sp-menu-item value=\"option-5\">Save Selection</sp-menu-item>\n <sp-menu-item disabled value=\"option-6\">\n Make Work Path\n </sp-menu-item>\n <sp-tooltip\n slot=\"tooltip\"\n ?open=${open}\n self-managed\n placement=\"right\"\n >\n This Picker wants to know where you live.\n </sp-tooltip>\n </sp-picker>\n <p>This is some text.</p>\n <p>This is some text.</p>\n <p>\n This is a\n <a href=\"#anchor\">link</a>\n .\n </p>\n `;\n};\ntooltip.args = {\n open: true,\n};\ntooltip.decorators = [isOverlayOpen];\n\nexport const noVisibleLabel = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-picker\n @change=${handleChange(args)}\n label=\"Where do you live?\"\n ${spreadProps(args)}\n >\n <sp-menu-item value=\"option-1\">Deselect</sp-menu-item>\n <sp-menu-item value=\"option-2\">Select Inverse</sp-menu-item>\n <sp-menu-item value=\"option-3\">Feather...</sp-menu-item>\n <sp-menu-item value=\"option-4\">Select and Mask...</sp-menu-item>\n <sp-menu-item value=\"option-5\">Save Selection</sp-menu-item>\n <sp-menu-item disabled value=\"option-6\">\n Make Work Path\n </sp-menu-item>\n </sp-picker>\n <p>This is some text.</p>\n <p>This is some text.</p>\n <p>\n This is a\n <a href=\"#anchor\">link</a>\n .\n </p>\n `;\n};\n\nexport const slottedLabel = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-picker @change=${handleChange(args)} ${spreadProps(args)}>\n <span slot=\"label\">Where do you live?</span>\n <sp-menu-item value=\"option-1\">Deselect</sp-menu-item>\n <sp-menu-item value=\"option-2\">Select Inverse</sp-menu-item>\n <sp-menu-item value=\"option-3\">Feather...</sp-menu-item>\n <sp-menu-item value=\"option-4\">Select and Mask...</sp-menu-item>\n <sp-menu-item value=\"option-5\">Save Selection</sp-menu-item>\n <sp-menu-item disabled value=\"option-6\">\n Make Work Path\n </sp-menu-item>\n </sp-picker>\n <p>This is some text.</p>\n <p>This is some text.</p>\n <p>\n This is a\n <a href=\"#anchor\">link</a>\n .\n </p>\n `;\n};\n\nexport const quiet = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-field-label for=\"picker-quiet\">Where do you live?</sp-field-label>\n <sp-picker\n ${spreadProps(args)}\n id=\"picker-quiet\"\n @change=${handleChange(args)}\n label=\"Pick an item\"\n >\n <sp-menu-item value=\"1\">Item 1</sp-menu-item>\n <sp-menu-item value=\"2\">Item 2</sp-menu-item>\n <sp-menu-item value=\"3\">Item 3</sp-menu-item>\n <sp-menu-item value=\"4\">Item 4</sp-menu-item>\n </sp-picker>\n <p>This is some text.</p>\n <p>This is some text.</p>\n <p>\n This is a\n <a href=\"#anchor\">link</a>\n .\n </p>\n `;\n};\nquiet.args = {\n quiet: true,\n};\n\nexport const icons = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-field-label for=\"picker-quiet\">\n Choose an action type...\n </sp-field-label>\n <sp-picker\n ...=${spreadProps(args)}\n id=\"picker-quiet\"\n @change=${handleChange(args)}\n label=\"Pick an action\"\n value=\"1\"\n >\n <sp-menu-item value=\"1\">\n <sp-icon-edit slot=\"icon\"></sp-icon-edit>\n Edit\n </sp-menu-item>\n <sp-menu-item value=\"2\">\n <sp-icon-copy slot=\"icon\"></sp-icon-copy>\n Copy\n </sp-menu-item>\n <sp-menu-item value=\"3\">\n <sp-icon-delete slot=\"icon\"></sp-icon-delete>\n Delete\n </sp-menu-item>\n </sp-picker>\n `;\n};\n\nexport const iconsNone = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-field-label for=\"picker-quiet\">\n Choose an action type...\n </sp-field-label>\n <sp-picker\n ...=${spreadProps(args)}\n id=\"picker-quiet\"\n @change=${handleChange(args)}\n label=\"Pick an action\"\n value=\"1\"\n icons=\"none\"\n >\n <sp-menu-item value=\"1\">\n <sp-icon-edit slot=\"icon\"></sp-icon-edit>\n Edit\n </sp-menu-item>\n <sp-menu-item value=\"2\">\n <sp-icon-copy slot=\"icon\"></sp-icon-copy>\n Copy\n </sp-menu-item>\n <sp-menu-item value=\"3\">\n <sp-icon-delete slot=\"icon\"></sp-icon-delete>\n Delete\n </sp-menu-item>\n </sp-picker>\n `;\n};\niconsNone.args = {\n open: true,\n};\niconsNone.decorators = [isOverlayOpen];\n\nexport const iconValue = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-field-label for=\"picker-quiet\">\n Choose an action type...\n </sp-field-label>\n <sp-picker\n ...=${spreadProps(args)}\n id=\"picker-quiet\"\n @change=${handleChange(args)}\n label=\"Pick an action\"\n icons=\"only\"\n style=\"--spectrum-picker-width: 100px\"\n value=\"2\"\n >\n <sp-menu-item value=\"1\">\n <sp-icon-edit slot=\"icon\"></sp-icon-edit>\n Edit\n </sp-menu-item>\n <sp-menu-item value=\"2\">\n <sp-icon-copy slot=\"icon\"></sp-icon-copy>\n Copy\n </sp-menu-item>\n <sp-menu-item value=\"3\">\n <sp-icon-delete slot=\"icon\"></sp-icon-delete>\n Delete\n </sp-menu-item>\n </sp-picker>\n `;\n};\n\nexport const iconsOnly = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-field-label for=\"picker-quiet\">\n Choose an action type...\n </sp-field-label>\n <sp-picker\n ...=${spreadProps(args)}\n id=\"picker-quiet\"\n @change=${handleChange(args)}\n label=\"Pick an action\"\n style=\"--spectrum-picker-width: 100px\"\n value=\"3\"\n >\n <sp-menu-item value=\"1\">\n <sp-icon-edit slot=\"icon\" label=\"Edit\"></sp-icon-edit>\n </sp-menu-item>\n <sp-menu-item value=\"2\">\n <sp-icon-copy slot=\"icon\" label=\"Copy\"></sp-icon-copy>\n </sp-menu-item>\n <sp-menu-item value=\"3\">\n <sp-icon-delete slot=\"icon\" label=\"Delete\"></sp-icon-delete>\n </sp-menu-item>\n </sp-picker>\n `;\n};\niconsOnly.args = {\n open: true,\n};\niconsOnly.decorators = [isOverlayOpen];\n\nexport const Open = (args: StoryArgs): TemplateResult => {\n return html`\n <style>\n fieldset {\n float: left;\n clear: left;\n margin-bottom: 15px;\n }\n .backdrop-filter-test {\n backdrop-filter: saturate(80%);\n }\n </style>\n <fieldset class=\"backdrop-filter-test\">\n <sp-field-label for=\"picker-open\">\n Where do you live?\n </sp-field-label>\n <sp-picker\n id=\"picker-open\"\n label=\"Open picker\"\n ${spreadProps(args)}\n @change=${handleChange(args)}\n >\n <span slot=\"label\">\n Select a Country with a very long label, too long, in fact\n </span>\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-item>Save Selection</sp-menu-item>\n <sp-menu-item disabled>Make Work Path</sp-menu-item>\n </sp-picker>\n </fieldset>\n <fieldset>\n <sp-field-label for=\"picker-closed\">\n Where do you live?\n </sp-field-label>\n <sp-picker\n id=\"picker-closed\"\n label=\"Picker that displays below the options\"\n @change=${handleChange(args)}\n >\n <span slot=\"label\">\n Other menu that goes behind the open one\n </span>\n <sp-menu-item>Not so many options...</sp-menu-item>\n </sp-picker>\n </fieldset>\n `;\n};\nOpen.args = {\n open: true,\n};\nOpen.decorators = [isOverlayOpen];\n\nexport const initialValue = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-field-label for=\"picker-initial\">Where do you live?</sp-field-label>\n <sp-picker\n id=\"picker-initial\"\n @change=${handleChange(args)}\n value=\"item-2\"\n ${spreadProps(args)}\n >\n <span slot=\"label\">\n Select a Country with a very long label, too long in fact\n </span>\n <sp-menu-item value=\"item-1\">Deselect</sp-menu-item>\n <sp-menu-item value=\"item-2\">Select Inverse</sp-menu-item>\n <sp-menu-item value=\"item-3\">Feather...</sp-menu-item>\n <sp-menu-item value=\"item-4\">Select and Mask...</sp-menu-item>\n <sp-menu-item value=\"item-5\">Save Selection</sp-menu-item>\n <sp-menu-item disabled value=\"item-6\">Make Work Path</sp-menu-item>\n </sp-picker>\n `;\n};\n\nexport const readonly = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-picker\n @change=${handleChange(args)}\n readonly\n value=\"item-2\"\n ${spreadProps(args)}\n >\n <span slot=\"label\">\n Select a Country with a very long label, too long in fact\n </span>\n <sp-menu-item value=\"item-1\">Deselect</sp-menu-item>\n <sp-menu-item value=\"item-2\">Select Inverse</sp-menu-item>\n <sp-menu-item value=\"item-3\">Feather...</sp-menu-item>\n <sp-menu-item value=\"item-4\">Select and Mask...</sp-menu-item>\n <sp-menu-item value=\"item-5\">Save Selection</sp-menu-item>\n <sp-menu-item disabled value=\"item-6\">Make Work Path</sp-menu-item>\n </sp-picker>\n `;\n};\n\nexport const custom = (args: StoryArgs): TemplateResult => {\n const initialState = 'lb1-mo';\n return html`\n <sp-field-label for=\"picker-state\">\n What state do you live in?\n </sp-field-label>\n <sp-picker\n style=\"width: 400px;\"\n @change=${handleChange(args)}\n id=\"picker-state\"\n label=\"Pick a state\"\n ${spreadProps(args)}\n value=${initialState}\n >\n ${states.map(\n (state) => html`\n <sp-menu-item\n id=${state.id}\n value=${state.id}\n ?selected=${state.id === initialState}\n >\n ${state.label}\n </sp-menu-item>\n `\n )}\n </sp-picker>\n <p>This is some text.</p>\n <p>This is some text.</p>\n <p>\n This is a\n <a href=\"#anchor\">link</a>\n .\n </p>\n `;\n};\ncustom.args = {\n open: true,\n};\ncustom.decorators = [isOverlayOpen];\n"],
|
|
5
|
-
"mappings": ";AAYA,SAAS,YAA4B;AAErC,OAAO;
|
|
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*/\n\nimport { html, TemplateResult } from '@spectrum-web-components/base';\n\nimport '@spectrum-web-components/link/sp-link.js';\nimport '@spectrum-web-components/picker/sp-picker.js';\nimport '@spectrum-web-components/menu/sp-menu-item.js';\nimport '@spectrum-web-components/tooltip/sp-tooltip.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-edit.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-copy.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-delete.js';\nimport { states } from './states.js';\nimport '@spectrum-web-components/field-label/sp-field-label.js';\nimport { spreadProps } from '../../../test/lit-helpers.js';\nimport { isOverlayOpen } from '../../overlay/stories/index.js';\nimport '../../overlay/stories/index.js';\nimport { handleChange, StoryArgs, Template } from './template.js';\nimport { argTypes } from './args.js';\n\nexport default {\n title: 'Picker',\n component: 'sp-picker',\n args: {\n disabled: false,\n invalid: false,\n open: false,\n quiet: false,\n },\n argTypes: {\n onChange: { action: 'change' },\n open: {\n name: 'open',\n type: { name: 'boolean', required: false },\n description: 'Whether the menu is open or not.',\n table: {\n type: { summary: 'boolean' },\n defaultValue: { summary: false },\n },\n control: 'boolean',\n },\n ...argTypes,\n },\n};\n\nexport const Default = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-field-label for=\"picker-1\">Where do you live?</sp-field-label>\n <sp-picker\n id=\"picker-1\"\n @change=${handleChange(args)}\n label=\"Select a Country with a very long label, too long, in fact\"\n ${spreadProps(args)}\n >\n <sp-menu-item value=\"option-1\">Deselect</sp-menu-item>\n <sp-menu-item value=\"option-2\">Select Inverse</sp-menu-item>\n <sp-menu-item value=\"option-3\">Feather...</sp-menu-item>\n <sp-menu-item value=\"option-4\">Select and Mask...</sp-menu-item>\n <sp-menu-item value=\"option-5\">Save Selection</sp-menu-item>\n <sp-menu-item disabled value=\"option-6\">\n Make Work Path\n </sp-menu-item>\n </sp-picker>\n <p>This is some text.</p>\n <p>This is some text.</p>\n <p>\n This is a\n <a href=\"#anchor\">link</a>\n .\n </p>\n `;\n};\n\nexport const disabled = (args: StoryArgs): TemplateResult => Template(args);\ndisabled.args = {\n disabled: true,\n};\n\nexport const tooltip = (args: StoryArgs): TemplateResult => {\n const { open, ...rest } = args;\n return html`\n <sp-field-label for=\"picker-1\">Where do you live?</sp-field-label>\n <sp-picker\n id=\"picker-1\"\n @change=${handleChange(args)}\n label=\"Select a Country with a very long label, too long, in fact\"\n ${spreadProps(rest)}\n >\n <sp-menu-item value=\"option-1\">Deselect</sp-menu-item>\n <sp-menu-item value=\"option-2\">Select Inverse</sp-menu-item>\n <sp-menu-item value=\"option-3\">Feather...</sp-menu-item>\n <sp-menu-item value=\"option-4\">Select and Mask...</sp-menu-item>\n <sp-menu-item value=\"option-5\">Save Selection</sp-menu-item>\n <sp-menu-item disabled value=\"option-6\">\n Make Work Path\n </sp-menu-item>\n <sp-tooltip\n slot=\"tooltip\"\n ?open=${open}\n self-managed\n placement=\"right\"\n >\n This Picker wants to know where you live.\n </sp-tooltip>\n </sp-picker>\n <p>This is some text.</p>\n <p>This is some text.</p>\n <p>\n This is a\n <a href=\"#anchor\">link</a>\n .\n </p>\n `;\n};\ntooltip.args = {\n open: true,\n};\ntooltip.decorators = [isOverlayOpen];\n\nexport const leftSideLabel = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-field-label side-aligned=\"start\" for=\"picker-1\">\n Where do you live?\n </sp-field-label>\n <sp-picker\n id=\"picker-1\"\n @change=${handleChange(args)}\n label=\"Select a Country with a very long label, too long, in fact\"\n ${spreadProps(args)}\n >\n <sp-menu-item value=\"option-1\">Deselect</sp-menu-item>\n <sp-menu-item value=\"option-2\">Select Inverse</sp-menu-item>\n <sp-menu-item value=\"option-3\">Feather...</sp-menu-item>\n <sp-menu-item value=\"option-4\">Select and Mask...</sp-menu-item>\n <sp-menu-item value=\"option-5\">Save Selection</sp-menu-item>\n <sp-menu-item disabled value=\"option-6\">\n Make Work Path\n </sp-menu-item>\n </sp-picker>\n <p>This is some text.</p>\n <p>This is some text.</p>\n <p>\n This is a\n <a href=\"#anchor\">link</a>\n .\n </p>\n `;\n};\n\nexport const noVisibleLabel = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-picker\n @change=${handleChange(args)}\n label=\"Where do you live?\"\n ${spreadProps(args)}\n >\n <sp-menu-item value=\"option-1\">Deselect</sp-menu-item>\n <sp-menu-item value=\"option-2\">Select Inverse</sp-menu-item>\n <sp-menu-item value=\"option-3\">Feather...</sp-menu-item>\n <sp-menu-item value=\"option-4\">Select and Mask...</sp-menu-item>\n <sp-menu-item value=\"option-5\">Save Selection</sp-menu-item>\n <sp-menu-item disabled value=\"option-6\">\n Make Work Path\n </sp-menu-item>\n </sp-picker>\n <p>This is some text.</p>\n <p>This is some text.</p>\n <p>\n This is a\n <a href=\"#anchor\">link</a>\n .\n </p>\n `;\n};\n\nexport const slottedLabel = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-picker @change=${handleChange(args)} ${spreadProps(args)}>\n <span slot=\"label\">Where do you live?</span>\n <sp-menu-item value=\"option-1\">Deselect</sp-menu-item>\n <sp-menu-item value=\"option-2\">Select Inverse</sp-menu-item>\n <sp-menu-item value=\"option-3\">Feather...</sp-menu-item>\n <sp-menu-item value=\"option-4\">Select and Mask...</sp-menu-item>\n <sp-menu-item value=\"option-5\">Save Selection</sp-menu-item>\n <sp-menu-item disabled value=\"option-6\">\n Make Work Path\n </sp-menu-item>\n </sp-picker>\n <p>This is some text.</p>\n <p>This is some text.</p>\n <p>\n This is a\n <a href=\"#anchor\">link</a>\n .\n </p>\n `;\n};\n\nexport const quiet = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-field-label for=\"picker-quiet\">Where do you live?</sp-field-label>\n <sp-picker\n ${spreadProps(args)}\n id=\"picker-quiet\"\n @change=${handleChange(args)}\n label=\"Pick an item\"\n >\n <sp-menu-item value=\"1\">Item 1</sp-menu-item>\n <sp-menu-item value=\"2\">Item 2</sp-menu-item>\n <sp-menu-item value=\"3\">Item 3</sp-menu-item>\n <sp-menu-item value=\"4\">Item 4</sp-menu-item>\n </sp-picker>\n <p>This is some text.</p>\n <p>This is some text.</p>\n <p>\n This is a\n <a href=\"#anchor\">link</a>\n .\n </p>\n `;\n};\nquiet.args = {\n quiet: true,\n};\n\nexport const quietSideLabel = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-field-label side-aligned=\"start\" for=\"picker-quiet-sidelabel\">\n Where do you live?\n </sp-field-label>\n <sp-picker\n ${spreadProps(args)}\n id=\"picker-quiet-sidelabel\"\n @change=${handleChange(args)}\n label=\"Pick an item\"\n >\n <sp-menu-item value=\"1\">Item 1</sp-menu-item>\n <sp-menu-item value=\"2\">Item 2</sp-menu-item>\n <sp-menu-item value=\"3\">Item 3</sp-menu-item>\n <sp-menu-item value=\"4\">Item 4</sp-menu-item>\n </sp-picker>\n <p>This is some text.</p>\n <p>This is some text.</p>\n <p>\n This is a\n <a href=\"#anchor\">link</a>\n .\n </p>\n `;\n};\nquietSideLabel.args = {\n quiet: true,\n};\n\nexport const icons = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-field-label for=\"picker-quiet\">\n Choose an action type...\n </sp-field-label>\n <sp-picker\n ${spreadProps(args)}\n id=\"picker-quiet\"\n @change=${handleChange(args)}\n label=\"Pick an action\"\n value=\"1\"\n >\n <sp-menu-item value=\"1\">\n <sp-icon-edit slot=\"icon\"></sp-icon-edit>\n Edit\n </sp-menu-item>\n <sp-menu-item value=\"2\">\n <sp-icon-copy slot=\"icon\"></sp-icon-copy>\n Copy\n </sp-menu-item>\n <sp-menu-item value=\"3\">\n <sp-icon-delete slot=\"icon\"></sp-icon-delete>\n Delete\n </sp-menu-item>\n </sp-picker>\n `;\n};\n\nexport const iconsNone = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-field-label for=\"picker-quiet\">\n Choose an action type...\n </sp-field-label>\n <sp-picker\n ${spreadProps(args)}\n id=\"picker-quiet\"\n @change=${handleChange(args)}\n label=\"Pick an action\"\n value=\"1\"\n icons=\"none\"\n >\n <sp-menu-item value=\"1\">\n <sp-icon-edit slot=\"icon\"></sp-icon-edit>\n Edit\n </sp-menu-item>\n <sp-menu-item value=\"2\">\n <sp-icon-copy slot=\"icon\"></sp-icon-copy>\n Copy\n </sp-menu-item>\n <sp-menu-item value=\"3\">\n <sp-icon-delete slot=\"icon\"></sp-icon-delete>\n Delete\n </sp-menu-item>\n </sp-picker>\n `;\n};\niconsNone.args = {\n open: true,\n};\niconsNone.decorators = [isOverlayOpen];\n\nexport const iconValue = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-field-label for=\"picker-quiet\">\n Choose an action type...\n </sp-field-label>\n <sp-picker\n ${spreadProps(args)}\n id=\"picker-quiet\"\n @change=${handleChange(args)}\n label=\"Pick an action\"\n icons=\"only\"\n style=\"width: 100px\"\n value=\"2\"\n >\n <sp-menu-item value=\"1\">\n <sp-icon-edit slot=\"icon\"></sp-icon-edit>\n Edit\n </sp-menu-item>\n <sp-menu-item value=\"2\">\n <sp-icon-copy slot=\"icon\"></sp-icon-copy>\n Copy\n </sp-menu-item>\n <sp-menu-item value=\"3\">\n <sp-icon-delete slot=\"icon\"></sp-icon-delete>\n Delete\n </sp-menu-item>\n </sp-picker>\n `;\n};\n\nexport const iconsOnly = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-field-label for=\"picker-quiet\">\n Choose an action type...\n </sp-field-label>\n <sp-picker\n ${spreadProps(args)}\n id=\"picker-quiet\"\n @change=${handleChange(args)}\n label=\"Pick an action\"\n style=\"width: 100px\"\n value=\"3\"\n >\n <sp-menu-item value=\"1\">\n <sp-icon-edit slot=\"icon\" label=\"Edit\"></sp-icon-edit>\n </sp-menu-item>\n <sp-menu-item value=\"2\">\n <sp-icon-copy slot=\"icon\" label=\"Copy\"></sp-icon-copy>\n </sp-menu-item>\n <sp-menu-item value=\"3\">\n <sp-icon-delete slot=\"icon\" label=\"Delete\"></sp-icon-delete>\n </sp-menu-item>\n </sp-picker>\n `;\n};\niconsOnly.args = {\n open: true,\n};\niconsOnly.decorators = [isOverlayOpen];\n\nexport const Open = (args: StoryArgs): TemplateResult => {\n return html`\n <style>\n fieldset {\n float: left;\n clear: left;\n margin-bottom: 15px;\n }\n </style>\n <fieldset class=\"backdrop-filter-test\">\n <sp-field-label for=\"picker-open\">\n Where do you live?\n </sp-field-label>\n <sp-picker\n id=\"picker-open\"\n label=\"Open picker\"\n ${spreadProps(args)}\n @change=${handleChange(args)}\n >\n <span slot=\"label\">\n Select a Country with a very long label, too long, in fact\n </span>\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-item>Save Selection</sp-menu-item>\n <sp-menu-item disabled>Make Work Path</sp-menu-item>\n </sp-picker>\n </fieldset>\n <fieldset>\n <sp-field-label for=\"picker-closed\">\n Where do you live?\n </sp-field-label>\n <sp-picker\n id=\"picker-closed\"\n label=\"Picker that displays below the options\"\n @change=${handleChange(args)}\n >\n <span slot=\"label\">\n Other menu that goes behind the open one\n </span>\n <sp-menu-item>Not so many options...</sp-menu-item>\n </sp-picker>\n </fieldset>\n `;\n};\nOpen.args = {\n open: true,\n};\nOpen.decorators = [isOverlayOpen];\n\nexport const OpenShowingEdgeCase = (args: StoryArgs): TemplateResult => {\n return html`\n <style>\n fieldset {\n float: left;\n clear: left;\n margin-bottom: 15px;\n }\n /* Enforce CSS stacking to test \"transition-behavior: allow-discrete\" */\n /* Breaks the story in non-[popover] supporting browsers */\n fieldset:nth-of-type(2) {\n position: relative;\n z-index: 2;\n }\n .backdrop-filter-test {\n backdrop-filter: saturate(80%);\n }\n </style>\n <p>\n In browser that do not support\n <code>[popover]</code>\n , the following \"open\"\n <code>sp-picker</code>\n will display behind both the closed\n <code>sp-picker</code>\n as well as the\n <code>fieldset</code>\n that contains it.\n </p>\n <p>\n Learn more about this situation in our\n <sp-link\n href=\"https://opensource.adobe.com/spectrum-web-components/components/overlay/#fallback-support\"\n >\n documentation site\n </sp-link>\n .\n </p>\n <fieldset class=\"backdrop-filter-test\">\n <sp-field-label for=\"picker-open\">\n Where do you live?\n </sp-field-label>\n <sp-picker\n id=\"picker-open\"\n label=\"Open picker\"\n ${spreadProps(args)}\n @change=${handleChange(args)}\n >\n <span slot=\"label\">\n Select a Country with a very long label, too long, in fact\n </span>\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-item>Save Selection</sp-menu-item>\n <sp-menu-item disabled>Make Work Path</sp-menu-item>\n </sp-picker>\n </fieldset>\n <fieldset>\n <sp-field-label for=\"picker-closed\">\n Where do you live?\n </sp-field-label>\n <sp-picker\n id=\"picker-closed\"\n label=\"Picker that displays below the options\"\n @change=${handleChange(args)}\n >\n <span slot=\"label\">\n Other menu that goes behind the open one\n </span>\n <sp-menu-item>Not so many options...</sp-menu-item>\n </sp-picker>\n </fieldset>\n `;\n};\nOpenShowingEdgeCase.args = {\n open: true,\n};\nOpenShowingEdgeCase.decorators = [isOverlayOpen];\nOpenShowingEdgeCase.swc_vrt = {\n skip: true,\n};\n\nexport const initialValue = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-field-label for=\"picker-initial\">Where do you live?</sp-field-label>\n <sp-picker\n id=\"picker-initial\"\n @change=${handleChange(args)}\n value=\"item-2\"\n ${spreadProps(args)}\n >\n <span slot=\"label\">\n Select a Country with a very long label, too long in fact\n </span>\n <sp-menu-item value=\"item-1\">Deselect</sp-menu-item>\n <sp-menu-item value=\"item-2\">Select Inverse</sp-menu-item>\n <sp-menu-item value=\"item-3\">Feather...</sp-menu-item>\n <sp-menu-item value=\"item-4\">Select and Mask...</sp-menu-item>\n <sp-menu-item value=\"item-5\">Save Selection</sp-menu-item>\n <sp-menu-item disabled value=\"item-6\">Make Work Path</sp-menu-item>\n </sp-picker>\n `;\n};\n\nexport const readonly = (args: StoryArgs): TemplateResult => {\n return html`\n <sp-picker\n @change=${handleChange(args)}\n readonly\n value=\"item-2\"\n ${spreadProps(args)}\n >\n <span slot=\"label\">\n Select a Country with a very long label, too long in fact\n </span>\n <sp-menu-item value=\"item-1\">Deselect</sp-menu-item>\n <sp-menu-item value=\"item-2\">Select Inverse</sp-menu-item>\n <sp-menu-item value=\"item-3\">Feather...</sp-menu-item>\n <sp-menu-item value=\"item-4\">Select and Mask...</sp-menu-item>\n <sp-menu-item value=\"item-5\">Save Selection</sp-menu-item>\n <sp-menu-item disabled value=\"item-6\">Make Work Path</sp-menu-item>\n </sp-picker>\n `;\n};\n\nexport const custom = (args: StoryArgs): TemplateResult => {\n const initialState = 'lb1-mo';\n return html`\n <sp-field-label for=\"picker-state\">\n What state do you live in?\n </sp-field-label>\n <sp-picker\n style=\"width: 400px;\"\n @change=${handleChange(args)}\n id=\"picker-state\"\n label=\"Pick a state\"\n ${spreadProps(args)}\n value=${initialState}\n >\n ${states.map(\n (state) => html`\n <sp-menu-item\n id=${state.id}\n value=${state.id}\n ?selected=${state.id === initialState}\n >\n ${state.label}\n </sp-menu-item>\n `\n )}\n </sp-picker>\n <p>This is some text.</p>\n <p>This is some text.</p>\n <p>\n This is a\n <a href=\"#anchor\">link</a>\n .\n </p>\n `;\n};\ncustom.args = {\n open: true,\n};\ncustom.decorators = [isOverlayOpen];\n"],
|
|
5
|
+
"mappings": ";AAYA,SAAS,YAA4B;AAErC,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,SAAS,cAAc;AACvB,OAAO;AACP,SAAS,mBAAmB;AAC5B,SAAS,qBAAqB;AAC9B,OAAO;AACP,SAAS,cAAyB,gBAAgB;AAClD,SAAS,gBAAgB;AAEzB,eAAe;AAAA,EACX,OAAO;AAAA,EACP,WAAW;AAAA,EACX,MAAM;AAAA,IACF,UAAU;AAAA,IACV,SAAS;AAAA,IACT,MAAM;AAAA,IACN,OAAO;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACN,UAAU,EAAE,QAAQ,SAAS;AAAA,IAC7B,MAAM;AAAA,MACF,MAAM;AAAA,MACN,MAAM,EAAE,MAAM,WAAW,UAAU,MAAM;AAAA,MACzC,aAAa;AAAA,MACb,OAAO;AAAA,QACH,MAAM,EAAE,SAAS,UAAU;AAAA,QAC3B,cAAc,EAAE,SAAS,MAAM;AAAA,MACnC;AAAA,MACA,SAAS;AAAA,IACb;AAAA,IACA,GAAG;AAAA,EACP;AACJ;AAEO,aAAM,UAAU,CAAC,SAAoC;AACxD,SAAO;AAAA;AAAA;AAAA;AAAA,sBAIW,aAAa,IAAI,CAAC;AAAA;AAAA,cAE1B,YAAY,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmB/B;AAEO,aAAM,WAAW,CAAC,SAAoC,SAAS,IAAI;AAC1E,SAAS,OAAO;AAAA,EACZ,UAAU;AACd;AAEO,aAAM,UAAU,CAAC,SAAoC;AACxD,QAAM,EAAE,MAAM,GAAG,KAAK,IAAI;AAC1B,SAAO;AAAA;AAAA;AAAA;AAAA,sBAIW,aAAa,IAAI,CAAC;AAAA;AAAA,cAE1B,YAAY,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAYP,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAe5B;AACA,QAAQ,OAAO;AAAA,EACX,MAAM;AACV;AACA,QAAQ,aAAa,CAAC,aAAa;AAE5B,aAAM,gBAAgB,CAAC,SAAoC;AAC9D,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAMW,aAAa,IAAI,CAAC;AAAA;AAAA,cAE1B,YAAY,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmB/B;AAEO,aAAM,iBAAiB,CAAC,SAAoC;AAC/D,SAAO;AAAA;AAAA,sBAEW,aAAa,IAAI,CAAC;AAAA;AAAA,cAE1B,YAAY,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmB/B;AAEO,aAAM,eAAe,CAAC,SAAoC;AAC7D,SAAO;AAAA,6BACkB,aAAa,IAAI,CAAC,IAAI,YAAY,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBpE;AAEO,aAAM,QAAQ,CAAC,SAAoC;AACtD,SAAO;AAAA;AAAA;AAAA,cAGG,YAAY,IAAI,CAAC;AAAA;AAAA,sBAET,aAAa,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBxC;AACA,MAAM,OAAO;AAAA,EACT,OAAO;AACX;AAEO,aAAM,iBAAiB,CAAC,SAAoC;AAC/D,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA,cAKG,YAAY,IAAI,CAAC;AAAA;AAAA,sBAET,aAAa,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBxC;AACA,eAAe,OAAO;AAAA,EAClB,OAAO;AACX;AAEO,aAAM,QAAQ,CAAC,SAAoC;AACtD,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA,cAKG,YAAY,IAAI,CAAC;AAAA;AAAA,sBAET,aAAa,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBxC;AAEO,aAAM,YAAY,CAAC,SAAoC;AAC1D,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA,cAKG,YAAY,IAAI,CAAC;AAAA;AAAA,sBAET,aAAa,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBxC;AACA,UAAU,OAAO;AAAA,EACb,MAAM;AACV;AACA,UAAU,aAAa,CAAC,aAAa;AAE9B,aAAM,YAAY,CAAC,SAAoC;AAC1D,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA,cAKG,YAAY,IAAI,CAAC;AAAA;AAAA,sBAET,aAAa,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoBxC;AAEO,aAAM,YAAY,CAAC,SAAoC;AAC1D,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA,cAKG,YAAY,IAAI,CAAC;AAAA;AAAA,sBAET,aAAa,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBxC;AACA,UAAU,OAAO;AAAA,EACb,MAAM;AACV;AACA,UAAU,aAAa,CAAC,aAAa;AAE9B,aAAM,OAAO,CAAC,SAAoC;AACrD,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAeO,YAAY,IAAI,CAAC;AAAA,0BACT,aAAa,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAoBlB,aAAa,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5C;AACA,KAAK,OAAO;AAAA,EACR,MAAM;AACV;AACA,KAAK,aAAa,CAAC,aAAa;AAEzB,aAAM,sBAAsB,CAAC,SAAoC;AACpE,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBA4CO,YAAY,IAAI,CAAC;AAAA,0BACT,aAAa,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAoBlB,aAAa,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS5C;AACA,oBAAoB,OAAO;AAAA,EACvB,MAAM;AACV;AACA,oBAAoB,aAAa,CAAC,aAAa;AAC/C,oBAAoB,UAAU;AAAA,EAC1B,MAAM;AACV;AAEO,aAAM,eAAe,CAAC,SAAoC;AAC7D,SAAO;AAAA;AAAA;AAAA;AAAA,sBAIW,aAAa,IAAI,CAAC;AAAA;AAAA,cAE1B,YAAY,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAa/B;AAEO,aAAM,WAAW,CAAC,SAAoC;AACzD,SAAO;AAAA;AAAA,sBAEW,aAAa,IAAI,CAAC;AAAA;AAAA;AAAA,cAG1B,YAAY,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAa/B;AAEO,aAAM,SAAS,CAAC,SAAoC;AACvD,QAAM,eAAe;AACrB,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAMW,aAAa,IAAI,CAAC;AAAA;AAAA;AAAA,cAG1B,YAAY,IAAI,CAAC;AAAA,oBACX,YAAY;AAAA;AAAA,cAElB,OAAO;AAAA,IACL,CAAC,UAAU;AAAA;AAAA,6BAEE,MAAM,EAAE;AAAA,gCACL,MAAM,EAAE;AAAA,oCACJ,MAAM,OAAO,YAAY;AAAA;AAAA,0BAEnC,MAAM,KAAK;AAAA;AAAA;AAAA,EAGzB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUb;AACA,OAAO,OAAO;AAAA,EACV,MAAM;AACV;AACA,OAAO,aAAa,CAAC,aAAa;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import { html } from "@spectrum-web-components/base";
|
|
3
|
+
import "@spectrum-web-components/field-label/sp-field-label.js";
|
|
4
|
+
import "@spectrum-web-components/picker/sp-picker.js";
|
|
5
|
+
import "@spectrum-web-components/menu/sp-menu-item.js";
|
|
6
|
+
import { spreadProps } from "../../../test/lit-helpers.js";
|
|
7
|
+
export const handleChange = ({ onChange }) => (event) => {
|
|
8
|
+
const picker = event.target;
|
|
9
|
+
if (onChange)
|
|
10
|
+
onChange(picker.value);
|
|
11
|
+
};
|
|
12
|
+
export const Template = (args) => html`
|
|
13
|
+
<sp-field-label for="picker-1">Where do you live?</sp-field-label>
|
|
14
|
+
<sp-picker
|
|
15
|
+
id="picker-1"
|
|
16
|
+
@change=${handleChange(args)}
|
|
17
|
+
label="Choose your neighborhood"
|
|
18
|
+
${spreadProps(args)}
|
|
19
|
+
>
|
|
20
|
+
<sp-menu-item value="option-1">Carol Gardens</sp-menu-item>
|
|
21
|
+
<sp-menu-item value="option-2">Cobble Hill</sp-menu-item>
|
|
22
|
+
<sp-menu-item value="option-3">Ft. Greene</sp-menu-item>
|
|
23
|
+
<sp-menu-item value="option-4">Park Slope</sp-menu-item>
|
|
24
|
+
<sp-menu-item disabled value="option-5">Prospect Park</sp-menu-item>
|
|
25
|
+
<sp-menu-item value="option-6">Red Hook</sp-menu-item>
|
|
26
|
+
</sp-picker>
|
|
27
|
+
`;
|
|
28
|
+
//# sourceMappingURL=template.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["template.ts"],
|
|
4
|
+
"sourcesContent": ["/*\nCopyright 2024 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*/\n\nimport { html, type TemplateResult } from '@spectrum-web-components/base';\nimport type { Picker } from '@spectrum-web-components/picker';\nimport '@spectrum-web-components/field-label/sp-field-label.js';\nimport '@spectrum-web-components/picker/sp-picker.js';\nimport '@spectrum-web-components/menu/sp-menu-item.js';\n\nimport { spreadProps } from '../../../test/lit-helpers.js';\n\nexport interface StoryArgs {\n disabled?: boolean;\n invalid?: boolean;\n open?: boolean;\n quiet?: boolean;\n showText?: boolean;\n onChange?: (val: string) => void;\n [prop: string]: unknown;\n}\n\nexport const handleChange =\n ({ onChange }: StoryArgs) =>\n (event: Event): void => {\n const picker = event.target as Picker;\n if (onChange) onChange(picker.value);\n };\n\nexport const Template = (args: StoryArgs): TemplateResult => html`\n <sp-field-label for=\"picker-1\">Where do you live?</sp-field-label>\n <sp-picker\n id=\"picker-1\"\n @change=${handleChange(args)}\n label=\"Choose your neighborhood\"\n ${spreadProps(args)}\n >\n <sp-menu-item value=\"option-1\">Carol Gardens</sp-menu-item>\n <sp-menu-item value=\"option-2\">Cobble Hill</sp-menu-item>\n <sp-menu-item value=\"option-3\">Ft. Greene</sp-menu-item>\n <sp-menu-item value=\"option-4\">Park Slope</sp-menu-item>\n <sp-menu-item disabled value=\"option-5\">Prospect Park</sp-menu-item>\n <sp-menu-item value=\"option-6\">Red Hook</sp-menu-item>\n </sp-picker>\n`;\n"],
|
|
5
|
+
"mappings": ";AAYA,SAAS,YAAiC;AAE1C,OAAO;AACP,OAAO;AACP,OAAO;AAEP,SAAS,mBAAmB;AAYrB,aAAM,eACT,CAAC,EAAE,SAAS,MACZ,CAAC,UAAuB;AACpB,QAAM,SAAS,MAAM;AACrB,MAAI;AAAU,aAAS,OAAO,KAAK;AACvC;AAEG,aAAM,WAAW,CAAC,SAAoC;AAAA;AAAA;AAAA;AAAA,kBAI3C,aAAa,IAAI,CAAC;AAAA;AAAA,UAE1B,YAAY,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/test/index.js
CHANGED
|
@@ -25,6 +25,7 @@ import {
|
|
|
25
25
|
} from "@web/test-runner-commands";
|
|
26
26
|
import {
|
|
27
27
|
Default,
|
|
28
|
+
disabled,
|
|
28
29
|
iconsOnly,
|
|
29
30
|
noVisibleLabel,
|
|
30
31
|
slottedLabel,
|
|
@@ -1524,5 +1525,50 @@ export function runPickerTests() {
|
|
|
1524
1525
|
expect(tooltipEl.open).to.be.false;
|
|
1525
1526
|
expect(el2.open).to.be.false;
|
|
1526
1527
|
});
|
|
1528
|
+
describe("disabled", function() {
|
|
1529
|
+
beforeEach(async function() {
|
|
1530
|
+
const test = await fixture(html`
|
|
1531
|
+
<div>${disabled(disabled.args)}</div>
|
|
1532
|
+
`);
|
|
1533
|
+
this.label = test.querySelector("sp-field-label");
|
|
1534
|
+
this.el = test.querySelector("sp-picker");
|
|
1535
|
+
await elementUpdated(this.elel);
|
|
1536
|
+
});
|
|
1537
|
+
it("does not recieve focus from an `<sp-field-label>`", async function() {
|
|
1538
|
+
expect(this.el.disabled).to.be.true;
|
|
1539
|
+
expect(this.el.focused).to.be.false;
|
|
1540
|
+
this.label.click();
|
|
1541
|
+
await elementUpdated(this.el);
|
|
1542
|
+
expect(this.el.focused).to.be.false;
|
|
1543
|
+
});
|
|
1544
|
+
it("does not open from `click()`", async function() {
|
|
1545
|
+
expect(this.el.disabled).to.be.true;
|
|
1546
|
+
expect(this.el.open).to.be.false;
|
|
1547
|
+
this.el.click();
|
|
1548
|
+
await elementUpdated(this.el);
|
|
1549
|
+
expect(this.el.open).to.be.false;
|
|
1550
|
+
});
|
|
1551
|
+
it("does not open from `sendMouse()`", async function() {
|
|
1552
|
+
expect(this.el.disabled).to.be.true;
|
|
1553
|
+
expect(this.el.open).to.be.false;
|
|
1554
|
+
const boundingRect = this.el.button.getBoundingClientRect();
|
|
1555
|
+
sendMouse({
|
|
1556
|
+
steps: [
|
|
1557
|
+
{
|
|
1558
|
+
type: "click",
|
|
1559
|
+
position: [
|
|
1560
|
+
boundingRect.x + boundingRect.width / 2,
|
|
1561
|
+
boundingRect.y + boundingRect.height / 2
|
|
1562
|
+
]
|
|
1563
|
+
}
|
|
1564
|
+
]
|
|
1565
|
+
});
|
|
1566
|
+
await nextFrame();
|
|
1567
|
+
await nextFrame();
|
|
1568
|
+
await nextFrame();
|
|
1569
|
+
await nextFrame();
|
|
1570
|
+
expect(this.el.open).to.be.false;
|
|
1571
|
+
});
|
|
1572
|
+
});
|
|
1527
1573
|
}
|
|
1528
1574
|
//# sourceMappingURL=index.js.map
|