@spectrum-web-components/picker 0.7.3-lit-next.0 → 0.7.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.
@@ -1 +0,0 @@
1
- {"version":3,"file":"picker-sync.test.js","sourceRoot":"","sources":["picker-sync.test.ts"],"names":[],"mappings":"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","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport '../sync/sp-picker.js';\nimport { Picker } from '..';\n\nimport '@spectrum-web-components/overlay/active-overlay.js';\nimport { OverlayOpenCloseDetail } from '@spectrum-web-components/overlay';\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/field-label/sp-field-label.js';\nimport { Menu, MenuItem } from '@spectrum-web-components/menu';\nimport {\n fixture,\n elementUpdated,\n html,\n expect,\n waitUntil,\n nextFrame,\n oneEvent,\n} from '@open-wc/testing';\nimport '@spectrum-web-components/shared/src/focus-visible.js';\nimport { spy } from 'sinon';\nimport {\n arrowDownEvent,\n arrowUpEvent,\n arrowLeftEvent,\n arrowRightEvent,\n tabEvent,\n tEvent,\n} from '../../../test/testing-helpers.js';\nimport {\n a11ySnapshot,\n executeServerCommand,\n findAccessibilityNode,\n sendKeys,\n} from '@web/test-runner-commands';\nimport { iconsOnly } from '../stories/picker.stories.js';\n\nconst isMenuActiveElement = function (): boolean {\n return document.activeElement instanceof Menu;\n};\n\ndescribe('Picker, sync', () => {\n const pickerFixture = async (): Promise<Picker> => {\n const test = await fixture<HTMLDivElement>(\n html`\n <div>\n <sp-field-label for=\"picker\">\n Where do you live?\n </sp-field-label>\n <sp-picker\n id=\"picker\"\n style=\"width: 200px; --spectrum-alias-ui-icon-chevron-size-100: 10px;\"\n >\n <sp-menu-item>Deselect</sp-menu-item>\n <sp-menu-item value=\"option-2\">\n Select Inverse\n </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-picker>\n </div>\n `\n );\n\n await waitUntil(\n () => !!window.applyFocusVisiblePolyfill,\n 'polyfill loaded'\n );\n\n return test.querySelector('sp-picker') as Picker;\n };\n\n const deprecatedPickerFixture = async (): Promise<Picker> => {\n const test = await fixture<Picker>(\n html`\n <div>\n <sp-field-label for=\"picker-deprecated\">\n Where do you live?\n </sp-field-label>\n <sp-picker\n id=\"picker-deprecated\"\n label=\"Select a Country with a very long label, too long in fact\"\n >\n <sp-menu>\n <sp-menu-item>Deselect</sp-menu-item>\n <sp-menu-item value=\"option-2\">\n Select Inverse\n </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-picker>\n </div>\n `\n );\n\n await waitUntil(\n () => !!window.applyFocusVisiblePolyfill,\n 'polyfill loaded'\n );\n\n return test.querySelector('sp-picker') as Picker;\n };\n\n const slottedLabelFixture = async (): Promise<Picker> => {\n const test = await fixture<Picker>(\n html`\n <div>\n <sp-field-label for=\"picker-slotted\">\n Where do you live?\n </sp-field-label>\n <sp-picker id=\"picker-slotted\">\n <span slot=\"label\">\n Select a Country with a very long label, too long in\n fact\n </span>\n <sp-menu-item>Deselect</sp-menu-item>\n <sp-menu-item value=\"option-2\">\n Select Inverse\n </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-picker>\n </div>\n `\n );\n\n await waitUntil(\n () => !!window.applyFocusVisiblePolyfill,\n 'polyfill loaded'\n );\n\n return test.querySelector('sp-picker') as Picker;\n };\n\n afterEach(async () => {\n const overlays = document.querySelectorAll('active-overlay');\n overlays.forEach((overlay) => overlay.remove());\n });\n\n it('loads accessibly', async () => {\n const el = await pickerFixture();\n\n await elementUpdated(el);\n\n await expect(el).to.be.accessible();\n });\n\n it('accepts a new item and value at the same time', async () => {\n const el = await pickerFixture();\n\n await elementUpdated(el);\n\n el.value = 'option-2';\n\n await elementUpdated(el);\n expect(el.value).to.equal('option-2');\n\n const item = document.createElement('sp-menu-item');\n item.value = 'option-new';\n item.textContent = 'New Option';\n\n el.append(item);\n el.value = 'option-new';\n\n await elementUpdated(el);\n expect(el.value).to.equal('option-new');\n });\n it('manages its \"name\" value in the accessibility tree', async () => {\n const el = await pickerFixture();\n\n await elementUpdated(el);\n type NamedNode = { name: string };\n let snapshot = (await a11ySnapshot({})) as unknown as NamedNode & {\n children: NamedNode[];\n };\n\n expect(\n findAccessibilityNode<NamedNode>(\n snapshot,\n (node) => node.name === 'Where do you live?'\n ),\n '`name` is the label text'\n ).to.not.be.null;\n\n el.value = 'option-2';\n await elementUpdated(el);\n snapshot = (await a11ySnapshot({})) as unknown as NamedNode & {\n children: NamedNode[];\n };\n\n expect(\n findAccessibilityNode<NamedNode>(\n snapshot,\n (node) => node.name === 'Where do you live? Select Inverse'\n ),\n '`name` is the label text plus the selected item text'\n ).to.not.be.null;\n });\n\n it('manages its \"name\" value in the accessibility tree when [icons-only]', async () => {\n const test = await fixture<HTMLDivElement>(html`\n <div>${iconsOnly({})}</div>\n `);\n const el = test.querySelector('sp-picker') as Picker;\n\n await elementUpdated(el);\n type NamedNode = { name: string };\n let snapshot = (await a11ySnapshot({})) as unknown as NamedNode & {\n children: NamedNode[];\n };\n\n expect(\n findAccessibilityNode<NamedNode>(\n snapshot,\n (node) => node.name === 'Choose an action type... Delete'\n ),\n '`name` is the label text'\n ).to.not.be.null;\n\n el.value = '2';\n await elementUpdated(el);\n snapshot = (await a11ySnapshot({})) as unknown as NamedNode & {\n children: NamedNode[];\n };\n\n expect(\n findAccessibilityNode<NamedNode>(\n snapshot,\n (node) => node.name === 'Choose an action type... Copy'\n ),\n '`name` is the label text plus the selected item text'\n ).to.not.be.null;\n });\n\n it('manages `aria-activedescendant`', async () => {\n const el = await pickerFixture();\n await elementUpdated(el);\n const firstItem = el.querySelector('sp-menu-item:nth-child(1)');\n const secondItem = el.querySelector('sp-menu-item:nth-child(2)');\n const opened = oneEvent(el, 'sp-opened');\n el.open = true;\n await opened;\n expect(el.optionsMenu.getAttribute('aria-activedescendant')).to.equal(\n firstItem?.id\n );\n await sendKeys({ press: 'ArrowDown' });\n await elementUpdated(el);\n expect(el.optionsMenu.getAttribute('aria-activedescendant')).to.equal(\n secondItem?.id\n );\n });\n\n it('loads accessibly w/ slotted label', async () => {\n const el = await slottedLabelFixture();\n\n await elementUpdated(el);\n\n await expect(el).to.be.accessible();\n });\n it('renders invalid accessibly', async () => {\n const el = await pickerFixture();\n\n await elementUpdated(el);\n\n el.invalid = true;\n await elementUpdated(el);\n\n expect(el.invalid);\n await expect(el).to.be.accessible();\n });\n it('renders selection accessibly', async () => {\n const el = await pickerFixture();\n\n await elementUpdated(el);\n\n el.value = 'option-2';\n await elementUpdated(el);\n\n await expect(el).to.be.accessible();\n });\n it('opens with visible focus on a menu item on `DownArrow`', async () => {\n const el = await pickerFixture();\n\n const firstItem = el.querySelector('sp-menu-item') as MenuItem;\n\n await elementUpdated(el);\n\n expect(firstItem.focused, 'should not visually focused').to.be.false;\n\n el.focus();\n await elementUpdated(el);\n const opened = oneEvent(el, 'sp-opened');\n await sendKeys({ press: 'ArrowRight' });\n await sendKeys({ press: 'ArrowLeft' });\n await sendKeys({ press: 'ArrowDown' });\n await opened;\n\n expect(el.open).to.be.true;\n expect(firstItem.focused, 'should be visually focused').to.be.true;\n\n const closed = oneEvent(el, 'sp-closed');\n await sendKeys({\n press: 'Escape',\n });\n await closed;\n\n expect(el.open).to.be.false;\n await waitUntil(() => !firstItem.focused, 'not visually focused');\n });\n it('opens without visible focus on a menu item on click', async () => {\n const el = await pickerFixture();\n\n /**\n * Firefox will not accept a single \"click\" from Playwright as deactivating the\n * :focus-visible heuristic. So, to trick it, we \"click\" three times! Once to\n * open, once to close, and once to open again before taking the operative test\n * that the first item in the menu is to given the `focused` attribute immediately.\n */\n\n const firstItem = el.querySelector('sp-menu-item') as MenuItem;\n\n await elementUpdated(el);\n const boundingRect = el.getBoundingClientRect();\n\n expect(firstItem.focused, 'not visually focused').to.be.false;\n let opened = oneEvent(el, 'sp-opened');\n await executeServerCommand('send-mouse', {\n steps: [\n {\n type: 'move',\n position: [\n boundingRect.x + boundingRect.width / 2,\n boundingRect.y + boundingRect.height / 2,\n ],\n },\n {\n type: 'down',\n },\n {\n type: 'up',\n },\n ],\n });\n await opened;\n expect(el.open).to.be.true;\n const closed = oneEvent(el, 'sp-closed');\n await executeServerCommand('send-mouse', {\n steps: [\n {\n type: 'move',\n position: [\n boundingRect.x + boundingRect.width / 2,\n boundingRect.y + boundingRect.height / 2,\n ],\n },\n {\n type: 'down',\n },\n {\n type: 'up',\n },\n ],\n });\n await closed;\n\n expect(el.open).to.be.false;\n opened = oneEvent(el, 'sp-opened');\n await executeServerCommand('send-mouse', {\n steps: [\n {\n type: 'move',\n position: [\n boundingRect.x + boundingRect.width / 2,\n boundingRect.y + boundingRect.height / 2,\n ],\n },\n {\n type: 'down',\n },\n {\n type: 'up',\n },\n ],\n });\n await opened;\n\n expect(el.open).to.be.true;\n expect(firstItem.focused, 'still not visually focused').to.be.false;\n });\n it('closes when becoming disabled', async () => {\n const el = await pickerFixture();\n\n await elementUpdated(el);\n expect(el.open).to.be.false;\n el.click();\n await elementUpdated(el);\n\n expect(el.open).to.be.true;\n el.disabled = true;\n await elementUpdated(el);\n\n expect(el.open).to.be.false;\n });\n it('closes when clicking away', async () => {\n const el = await pickerFixture();\n el.id = 'closing';\n const other = document.createElement('div');\n document.body.append(other);\n\n await elementUpdated(el);\n\n expect(el.open).to.be.false;\n el.click();\n await elementUpdated(el);\n\n expect(el.open).to.be.true;\n other.click();\n await waitUntil(() => !el.open, 'closed');\n\n other.remove();\n });\n it('toggles between pickers', async () => {\n const el2 = await pickerFixture();\n const el1 = await pickerFixture();\n\n el1.id = 'away';\n el2.id = 'other';\n\n await Promise.all([elementUpdated(el1), elementUpdated(el2)]);\n\n expect(el1.open, 'closed 1').to.be.false;\n expect(el2.open, 'closed 1').to.be.false;\n el1.click();\n await Promise.all([elementUpdated(el1), elementUpdated(el2)]);\n await waitUntil(() => el1.open && !el2.open, '1 open, 2 closed');\n\n el2.click();\n await Promise.all([elementUpdated(el1), elementUpdated(el2)]);\n await waitUntil(() => !el1.open && el2.open, '1 closed, 2 open');\n\n el1.click();\n await Promise.all([elementUpdated(el1), elementUpdated(el2)]);\n await waitUntil(() => el1.open && !el2.open, '1 open, 2 closed: again');\n });\n it('selects with deprecated syntax', async () => {\n const el = await deprecatedPickerFixture();\n\n await elementUpdated(el);\n\n const secondItem = el.querySelector(\n 'sp-menu-item:nth-of-type(2)'\n ) as MenuItem;\n\n const opened = oneEvent(el, 'sp-opened');\n el.button.click();\n await opened;\n await elementUpdated(el);\n\n expect(el.open).to.be.true;\n expect(el.selectedItem?.itemText).to.be.undefined;\n expect(el.value).to.equal('');\n\n const closed = oneEvent(el, 'sp-closed');\n secondItem.click();\n await closed;\n\n expect(el.open).to.be.false;\n expect(el.selectedItem?.itemText).to.equal('Select Inverse');\n expect(el.value).to.equal('option-2');\n });\n it('selects', async () => {\n const el = await pickerFixture();\n\n await elementUpdated(el);\n\n const secondItem = el.querySelector(\n 'sp-menu-item:nth-of-type(2)'\n ) as MenuItem;\n const button = el.button as HTMLButtonElement;\n\n const opened = oneEvent(el, 'sp-opened');\n button.click();\n await opened;\n await elementUpdated(el);\n\n expect(el.open).to.be.true;\n expect(el.selectedItem?.itemText).to.be.undefined;\n expect(el.value).to.equal('');\n\n const closed = oneEvent(el, 'sp-closed');\n secondItem.click();\n await closed;\n\n expect(el.open).to.be.false;\n expect(el.selectedItem?.itemText).to.equal('Select Inverse');\n expect(el.value).to.equal('option-2');\n });\n it('re-selects', async () => {\n const el = await pickerFixture();\n\n await elementUpdated(el);\n\n const firstItem = el.querySelector(\n 'sp-menu-item:nth-of-type(1)'\n ) as MenuItem;\n const secondItem = el.querySelector(\n 'sp-menu-item:nth-of-type(2)'\n ) as MenuItem;\n const button = el.button as HTMLButtonElement;\n\n const opened = oneEvent(el, 'sp-opened');\n button.click();\n await opened;\n await elementUpdated(el);\n\n expect(el.open).to.be.true;\n expect(el.selectedItem?.itemText).to.be.undefined;\n expect(el.value).to.equal('');\n\n const closed = oneEvent(el, 'sp-closed');\n secondItem.click();\n await closed;\n\n expect(el.open).to.be.false;\n expect(el.selectedItem?.itemText).to.equal('Select Inverse');\n expect(el.value).to.equal('option-2');\n\n const opened2 = oneEvent(el, 'sp-opened');\n button.click();\n await opened2;\n await elementUpdated(el);\n\n expect(el.open).to.be.true;\n expect(el.selectedItem?.itemText).to.equal('Select Inverse');\n expect(el.value).to.equal('option-2');\n\n const closed2 = oneEvent(el, 'sp-closed');\n firstItem.click();\n await closed2;\n\n expect(el.open).to.be.false;\n expect(el.selectedItem?.itemText).to.equal('Deselect');\n expect(el.value).to.equal('Deselect');\n });\n it('can have selection prevented', async () => {\n const preventChangeSpy = spy();\n const el = await pickerFixture();\n\n await elementUpdated(el);\n\n const secondItem = el.querySelector(\n 'sp-menu-item:nth-of-type(2)'\n ) as MenuItem;\n const button = el.button as HTMLButtonElement;\n\n let opened = oneEvent(el, 'sp-opened');\n button.click();\n await opened;\n await elementUpdated(el);\n\n expect(el.open).to.be.true;\n expect(el.selectedItem?.itemText).to.be.undefined;\n expect(el.value).to.equal('');\n expect(secondItem.selected).to.be.false;\n\n el.addEventListener('change', (event: Event): void => {\n event.preventDefault();\n preventChangeSpy();\n });\n\n const closed = oneEvent(el, 'sp-closed');\n opened = oneEvent(el, 'sp-opened');\n secondItem.click();\n await closed;\n await opened;\n await elementUpdated(el);\n expect(preventChangeSpy.calledOnce);\n expect(secondItem.selected, 'selection prevented').to.be.false;\n });\n\n it('can throw focus after `change`', async () => {\n const el = await pickerFixture();\n const input = document.createElement('input');\n document.body.append(input);\n\n await elementUpdated(el);\n\n const secondItem = el.querySelector(\n 'sp-menu-item:nth-of-type(2)'\n ) as MenuItem;\n const button = el.button as HTMLButtonElement;\n\n const opened = oneEvent(el, 'sp-opened');\n button.click();\n await opened;\n await elementUpdated(el);\n\n expect(el.open).to.be.true;\n expect(el.selectedItem?.itemText).to.be.undefined;\n expect(el.value).to.equal('');\n expect(secondItem.selected).to.be.false;\n\n el.addEventListener('change', (): void => {\n input.focus();\n });\n\n const closed = oneEvent(el, 'sp-closed');\n secondItem.click();\n await closed;\n await elementUpdated(el);\n\n expect(el.open).to.be.false;\n expect(el.value, 'value changed').to.equal('option-2');\n expect(secondItem.selected, 'selected changed').to.be.true;\n await waitUntil(() => document.activeElement === input, 'focus throw');\n input.remove();\n });\n it('opens on ArrowUp', async () => {\n const el = await pickerFixture();\n\n await elementUpdated(el);\n\n const button = el.button as HTMLButtonElement;\n\n el.focus();\n await elementUpdated(el);\n\n expect(el.open, 'inially closed').to.be.false;\n\n button.dispatchEvent(tEvent);\n await elementUpdated(el);\n\n expect(el.open, 'still closed').to.be.false;\n\n button.dispatchEvent(arrowUpEvent);\n await elementUpdated(el);\n\n expect(el.open, 'open by ArrowUp').to.be.true;\n\n await waitUntil(\n () => document.querySelector('active-overlay') !== null,\n 'an active-overlay has been inserted on the page'\n );\n\n button.dispatchEvent(\n new KeyboardEvent('keyup', {\n bubbles: true,\n composed: true,\n cancelable: true,\n key: 'Escape',\n code: 'Escape',\n })\n );\n await elementUpdated(el);\n await waitUntil(() => el.open === false, 'closed by Escape');\n await waitUntil(\n () => document.querySelector('active-overlay') === null,\n 'an active-overlay has been inserted on the page'\n );\n });\n it('opens on ArrowDown', async () => {\n const el = await pickerFixture();\n\n await elementUpdated(el);\n\n const firstItem = el.querySelector(\n 'sp-menu-item:nth-of-type(1)'\n ) as MenuItem;\n const button = el.button as HTMLButtonElement;\n\n el.focus();\n await elementUpdated(el);\n\n expect(el.open, 'inially closed').to.be.false;\n\n const opened = oneEvent(el, 'sp-opened');\n button.dispatchEvent(arrowDownEvent);\n await opened;\n await elementUpdated(el);\n\n expect(el.open, 'open by ArrowDown').to.be.true;\n expect(el.selectedItem?.itemText).to.be.undefined;\n expect(el.value).to.equal('');\n\n const closed = oneEvent(el, 'sp-closed');\n firstItem.click();\n await closed;\n await elementUpdated(el);\n\n expect(el.open).to.be.false;\n expect(el.selectedItem?.itemText).to.equal('Deselect');\n expect(el.value).to.equal('Deselect');\n });\n it('quick selects on ArrowLeft/Right', async () => {\n const selectionSpy = spy();\n const el = await pickerFixture();\n el.addEventListener('change', (event: Event) => {\n const { value } = event.target as Picker;\n selectionSpy(value);\n });\n const button = el.button as HTMLButtonElement;\n\n await elementUpdated(el);\n el.focus();\n button.dispatchEvent(arrowLeftEvent);\n\n await elementUpdated(el);\n\n expect(selectionSpy.callCount).to.equal(1);\n expect(selectionSpy.calledWith('Deselected'));\n button.dispatchEvent(arrowLeftEvent);\n\n await elementUpdated(el);\n expect(selectionSpy.callCount).to.equal(1);\n button.dispatchEvent(arrowRightEvent);\n\n await elementUpdated(el);\n expect(selectionSpy.calledWith('option-2'));\n\n button.dispatchEvent(arrowRightEvent);\n button.dispatchEvent(arrowRightEvent);\n button.dispatchEvent(arrowRightEvent);\n button.dispatchEvent(arrowRightEvent);\n\n await elementUpdated(el);\n expect(selectionSpy.callCount).to.equal(5);\n expect(selectionSpy.calledWith('Save Selection'));\n expect(selectionSpy.calledWith('Make Work Path')).to.be.false;\n });\n it('quick selects first item on ArrowRight when no value', async () => {\n const selectionSpy = spy();\n const el = await pickerFixture();\n el.addEventListener('change', (event: Event) => {\n const { value } = event.target as Picker;\n selectionSpy(value);\n });\n const button = el.button as HTMLButtonElement;\n\n await elementUpdated(el);\n el.focus();\n button.dispatchEvent(arrowRightEvent);\n\n await elementUpdated(el);\n\n expect(selectionSpy.callCount).to.equal(1);\n expect(selectionSpy.calledWith('Deselected'));\n });\n it('loads', async () => {\n const el = await pickerFixture();\n\n await elementUpdated(el);\n expect(el).to.not.be.undefined;\n });\n it('refocuses on list when open', async () => {\n const el = await pickerFixture();\n\n await elementUpdated(el);\n const firstItem = el.querySelector('sp-menu-item') as MenuItem;\n\n const opened = oneEvent(el, 'sp-opened');\n el.open = true;\n await opened;\n await elementUpdated(el);\n await sendKeys({ press: 'ArrowDown' });\n await sendKeys({ press: 'ArrowUp' });\n\n await waitUntil(\n () => firstItem.focused,\n 'The first items should have become focused visually.'\n );\n\n el.blur();\n await elementUpdated(el);\n\n expect(el.open).to.be.true;\n el.focus();\n await elementUpdated(el);\n await waitUntil(() => isMenuActiveElement(), 'first item refocused');\n expect(el.open).to.be.true;\n expect(isMenuActiveElement()).to.be.true;\n // Force :focus-visible heuristic\n await sendKeys({ press: 'ArrowDown' });\n await sendKeys({ press: 'ArrowUp' });\n expect(firstItem.focused).to.be.true;\n });\n it('allows tabing to close', async () => {\n const el = await pickerFixture();\n\n await elementUpdated(el);\n\n el.open = true;\n await elementUpdated(el);\n\n expect(el.open).to.be.true;\n el.focus();\n await elementUpdated(el);\n await waitUntil(() => isMenuActiveElement(), 'first item refocused');\n expect(el.open).to.be.true;\n expect(isMenuActiveElement()).to.be.true;\n\n const menu = document.activeElement as Menu;\n menu.dispatchEvent(tabEvent);\n\n await elementUpdated(el);\n await waitUntil(() => !el.open);\n\n expect(el.open, 'closes').to.be.false;\n expect(document.activeElement === menu, 'focuses something else').to.be\n .false;\n });\n it('opens its menu inline of the tab order', async () => {\n const surroundingInput = (): HTMLInputElement => {\n const input = document.createElement('input');\n input.type = 'text';\n input.tabIndex = 0;\n return input;\n };\n const el = await pickerFixture();\n const input1 = surroundingInput();\n const input2 = surroundingInput();\n\n document.body.prepend(input1);\n document.body.append(input2);\n\n // start at input1\n input1.focus();\n await nextFrame();\n\n // tab to the picker\n let focused = oneEvent(el, 'focus');\n await sendKeys({ press: 'Tab' });\n await focused;\n\n expect(el.focused, 'focused').to.be.true;\n expect(el.open, 'closed').to.be.false;\n\n // tab through the picker to input2\n let blurred = oneEvent(el, 'blur');\n await sendKeys({ press: 'Tab' });\n await blurred;\n\n expect(document.activeElement, 'focuses input 2').to.equal(input2);\n\n // shift+tab back to the picker\n focused = oneEvent(el, 'focus');\n await sendKeys({ press: 'Shift+Tab' });\n await focused;\n\n // press down to open the picker\n let opened = oneEvent(el, 'sp-opened');\n await sendKeys({ press: 'ArrowDown' });\n await opened;\n\n expect(el.open, 'closed').to.be.true;\n await waitUntil(() => isMenuActiveElement(), 'first item focused');\n\n // tab to close the picker and move to input2\n let closed = oneEvent(el, 'sp-closed');\n await sendKeys({ press: 'Tab' });\n await closed;\n\n expect(el.open, 'closes').to.be.false;\n expect(document.activeElement, 'focuses input 2').to.equal(input2);\n\n // shift + tab back to the picker\n focused = oneEvent(el, 'focus');\n await sendKeys({ press: 'Shift+Tab' });\n await focused;\n\n // press up to open the picker\n opened = oneEvent(el, 'sp-opened');\n await sendKeys({ press: 'ArrowUp' });\n await opened;\n\n expect(el.open, 'opened').to.be.true;\n await waitUntil(() => isMenuActiveElement(), 'first item focused');\n\n // shift + tab to move to the picker button\n focused = oneEvent(el, 'focus');\n await sendKeys({ press: 'Shift+Tab' });\n await focused;\n\n // shift + tab again to move back to input1\n closed = oneEvent(el, 'sp-closed');\n blurred = oneEvent(el, 'blur');\n await sendKeys({ press: 'Shift+Tab' });\n await blurred;\n\n expect(el.focused, 'blurs picker').to.be.false;\n expect(document.activeElement, 'focuses input 1').to.equal(input1);\n\n // wait for the menu to close\n await closed;\n expect(el.open, 'closed').to.be.false;\n });\n it('displays selected item text by default', async () => {\n const focusSelectedSpy = spy();\n const focusFirstSpy = spy();\n const handleFirstFocus = (): void => focusFirstSpy();\n const handleSelectedFocus = (): void => focusSelectedSpy();\n const el = await fixture<Picker>(\n html`\n <sp-picker\n value=\"inverse\"\n label=\"Select a Country with a very long label, too long in fact\"\n >\n <sp-menu-item value=\"deselect\">Deselect Text</sp-menu-item>\n <sp-menu-item value=\"inverse\">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-picker>\n `\n );\n\n await elementUpdated(el);\n await waitUntil(\n () => el.selectedItem?.itemText === 'Select Inverse',\n `Selected Item Text: ${el.selectedItem?.itemText}`\n );\n\n const firstItem = el.querySelector(\n 'sp-menu-item:nth-of-type(1)'\n ) as MenuItem;\n const secondItem = el.querySelector(\n 'sp-menu-item:nth-of-type(2)'\n ) as MenuItem;\n\n firstItem.addEventListener('focus', handleFirstFocus);\n secondItem.addEventListener('focus', handleSelectedFocus);\n\n expect(el.value).to.equal('inverse');\n expect(el.selectedItem?.itemText).to.equal('Select Inverse');\n\n const button = el.button as HTMLButtonElement;\n button.click();\n\n await waitUntil(() => isMenuActiveElement(), 'menu focused');\n\n expect(focusFirstSpy.called, 'do not focus first element').to.be.false;\n // Force :focus-visible heuristic\n await sendKeys({ press: 'ArrowDown' });\n await sendKeys({ press: 'ArrowUp' });\n expect(secondItem.focused, 'secondItem \"focused\"').to.be.true;\n });\n it('resets value when item not available', async () => {\n const el = await fixture<Picker>(\n html`\n <sp-picker\n value=\"missing\"\n label=\"Select a Country with a very long label, too long in fact\"\n >\n <sp-menu-item value=\"deselect\">Deselect Text</sp-menu-item>\n <sp-menu-item value=\"inverse\">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-picker>\n `\n );\n\n await elementUpdated(el);\n await waitUntil(() => el.value === '');\n\n expect(el.value).to.equal('');\n expect(el.selectedItem?.itemText).to.be.undefined;\n });\n\n it('allows event listeners on child items', async () => {\n const mouseenterSpy = spy();\n const handleMouseenter = (): void => mouseenterSpy();\n const el = await fixture<Picker>(\n html`\n <sp-picker\n label=\"Select a Country with a very long label, too long in fact\"\n >\n <sp-menu-item\n value=\"deselect\"\n @mouseenter=${handleMouseenter}\n >\n Deselect Text\n </sp-menu-item>\n </sp-picker>\n `\n );\n\n await elementUpdated(el);\n\n const hoverEl = el.querySelector('sp-menu-item') as MenuItem;\n\n const opened = oneEvent(el, 'sp-opened');\n el.open = true;\n await opened;\n await elementUpdated(el);\n\n expect(el.open).to.be.true;\n hoverEl.dispatchEvent(new MouseEvent('mouseenter'));\n await elementUpdated(el);\n\n expect(el.open).to.be.true;\n\n const closed = oneEvent(el, 'sp-closed');\n el.open = false;\n await closed;\n await elementUpdated(el);\n\n expect(el.open).to.be.false;\n expect(mouseenterSpy.calledOnce).to.be.true;\n });\n\n it('dispatches events on open/close', async () => {\n const openedSpy = spy();\n const closedSpy = spy();\n const handleOpenedSpy = (event: Event): void => openedSpy(event);\n const handleClosedSpy = (event: Event): void => closedSpy(event);\n\n const el = await fixture<Picker>(\n html`\n <sp-picker\n label=\"Select a Country with a very long label, too long in fact\"\n @sp-opened=${handleOpenedSpy}\n @sp-closed=${handleClosedSpy}\n >\n <sp-menu-item value=\"deselect\">Deselect Text</sp-menu-item>\n </sp-picker>\n `\n );\n\n await elementUpdated(el);\n const opened = oneEvent(el, 'sp-opened');\n el.open = true;\n await opened;\n await elementUpdated(el);\n\n expect(openedSpy.calledOnce).to.be.true;\n expect(closedSpy.calledOnce).to.be.false;\n\n const openedEvent = openedSpy\n .args[0][0] as CustomEvent<OverlayOpenCloseDetail>;\n expect(openedEvent.detail.interaction).to.equal('inline');\n\n const closed = oneEvent(el, 'sp-closed');\n el.open = false;\n await closed;\n await elementUpdated(el);\n\n expect(closedSpy.calledOnce).to.be.true;\n\n const closedEvent = closedSpy\n .args[0][0] as CustomEvent<OverlayOpenCloseDetail>;\n expect(closedEvent.detail.interaction).to.equal('inline');\n });\n it('does not open when [readonly]', async () => {\n const el = await pickerFixture();\n\n el.readonly = true;\n\n await elementUpdated(el);\n\n const button = el.button as HTMLButtonElement;\n\n button.click();\n await elementUpdated(el);\n\n expect(el.open).to.be.false;\n });\n it('scrolls selected into view on open', async () => {\n const el = await pickerFixture();\n\n const popover = el.shadowRoot.querySelector(\n 'sp-popover'\n ) as HTMLElement;\n popover.style.height = '40px';\n\n const firstItem = el.querySelector(\n 'sp-menu-item:first-child'\n ) as MenuItem;\n const lastItem = el.querySelector(\n 'sp-menu-item:last-child'\n ) as MenuItem;\n lastItem.disabled = false;\n el.value = lastItem.value;\n\n await elementUpdated(el);\n\n el.open = true;\n\n await elementUpdated(el);\n await waitUntil(() => isMenuActiveElement(), 'first item focused');\n const getParentOffset = (el: HTMLElement): number => {\n const parentScroll = (el.parentElement as HTMLElement).scrollTop;\n const parentOffset = el.offsetTop - parentScroll;\n return parentOffset;\n };\n expect(getParentOffset(lastItem)).to.be.lessThan(40);\n expect(getParentOffset(firstItem)).to.be.lessThan(-1);\n\n lastItem.dispatchEvent(new FocusEvent('focusin', { bubbles: true }));\n lastItem.dispatchEvent(arrowDownEvent);\n await elementUpdated(el);\n await nextFrame();\n expect(getParentOffset(lastItem)).to.be.greaterThan(40);\n expect(getParentOffset(firstItem)).to.be.greaterThan(-1);\n });\n});\n"]}
@@ -1,15 +0,0 @@
1
- /*
2
- Copyright 2020 Adobe. All rights reserved.
3
- This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
- you may not use this file except in compliance with the License. You may obtain a copy
5
- of the License at http://www.apache.org/licenses/LICENSE-2.0
6
-
7
- Unless required by applicable law or agreed to in writing, software distributed under
8
- the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
- OF ANY KIND, either express or implied. See the License for the specific language
10
- governing permissions and limitations under the License.
11
- */
12
- import * as stories from '../stories/picker.stories.js';
13
- import { regressVisuals } from '../../../test/visual/test.js';
14
- regressVisuals('PickerStories', stories);
15
- //# sourceMappingURL=picker.test-vrt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"picker.test-vrt.js","sourceRoot":"","sources":["picker.test-vrt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,KAAK,OAAO,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,cAAc,CAAC,eAAe,EAAE,OAAO,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*/\n\nimport * as stories from '../stories/picker.stories.js';\nimport { regressVisuals } from '../../../test/visual/test.js';\n\nregressVisuals('PickerStories', stories);\n"]}