q2-tecton-elements 1.55.8 → 1.55.9
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/dist/bundle-report.json +4 -4
- package/dist/cjs/q2-select.cjs.entry.js +1 -2
- package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
- package/dist/collection/components/q2-select/q2-select.js +1 -2
- package/dist/collection/components/q2-select/q2-select.js.map +1 -1
- package/dist/collection/components/q2-select/test/q2-select-test.spec.js +0 -4
- package/dist/collection/components/q2-select/test/q2-select-test.spec.js.map +1 -1
- package/dist/components/q2-select2.js +1 -2
- package/dist/components/q2-select2.js.map +1 -1
- package/dist/esm/q2-select.entry.js +1 -2
- package/dist/esm/q2-select.entry.js.map +1 -1
- package/dist/q2-tecton-elements/q2-select.entry.js +1 -2
- package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"q2-select-test.spec.js","sourceRoot":"","sources":["../../../../../src/components/q2-select/test/q2-select-test.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { SpecPage, newSpecPage } from '@stencil/core/testing';\nimport { Q2Select } from 'src/components/q2-select/q2-select';\nimport { Q2OptionList } from 'src/components/q2-option-list/q2-option-list';\nimport * as utils from 'src/utils';\n\n// Set up global screen object for testing\nconst mockScreen = {\n orientation: {\n type: 'portrait-primary',\n addEventListener: jest.fn(),\n removeEventListener: jest.fn(),\n },\n};\n(global as any).screen = mockScreen;\nObject.defineProperty(window, 'screen', {\n writable: true,\n value: mockScreen,\n});\n\n// Set up global visualViewport for testing\nconst mockVisualViewport = {\n addEventListener: jest.fn(),\n removeEventListener: jest.fn(),\n width: 800,\n height: 600,\n};\n(global as any).visualViewport = mockVisualViewport;\nObject.defineProperty(window, 'visualViewport', {\n value: mockVisualViewport,\n configurable: true,\n});\n\nconst samplePlatformDimensions = {\n scrollY: 0,\n innerHeight: 800,\n innerWidth: 600,\n outletOffset: 20,\n};\n\nconst sampleTectonWindow = {\n inMobileApp: false,\n noStrings: false,\n platformUrl: '',\n platformDimensions: samplePlatformDimensions,\n};\n\ndescribe('q2-select', () => {\n afterEach(() => {\n jest.restoreAllMocks();\n });\n\n let specPage: SpecPage;\n let specSelect: Q2Select;\n let specElement;\n let isMobileSpy: jest.SpyInstance;\n let handleAriaLabelSpy: jest.SpyInstance;\n let overrideFocusSpy: jest.SpyInstance;\n\n // Helper function to set screen orientation type\n const setOrientationType = (type: string) => {\n mockScreen.orientation.type = type;\n };\n\n // Helper function to set document.activeElement\n const setActiveElement = (element: Element | null) => {\n Object.defineProperty(document, 'activeElement', {\n value: element,\n writable: true,\n configurable: true,\n });\n };\n\n beforeEach(() => {\n isMobileSpy = jest.spyOn(utils, 'isMobile').mockReturnValue(false);\n handleAriaLabelSpy = jest.spyOn(utils, 'handleAriaLabel');\n overrideFocusSpy = jest.spyOn(utils, 'overrideFocus');\n\n setOrientationType('landscape-primary');\n\n (mockScreen.orientation.addEventListener as jest.Mock).mockClear();\n (mockScreen.orientation.removeEventListener as jest.Mock).mockClear();\n });\n\n describe('Props', () => {});\n describe('Events', () => {});\n describe('Component Lifecycle Events', () => {\n describe('disconnectedCallback', () => {\n it('calls disconnect() on mutationObserver', async () => {\n specSelect = new Q2Select();\n specSelect.mutationObserver = new MutationObserver(() => {});\n const disconnectSpy = jest.spyOn(specSelect.mutationObserver, 'disconnect');\n specSelect.disconnectedCallback();\n\n expect(disconnectSpy).toHaveBeenCalled();\n });\n\n it('sets mutationObserver to null', async () => {\n specSelect = new Q2Select();\n specSelect.mutationObserver = new MutationObserver(() => {});\n\n expect(specSelect.mutationObserver).not.toBeNull();\n\n specSelect.disconnectedCallback();\n\n expect(specSelect.mutationObserver).toBeNull();\n });\n\n it('calls destroyEventListeners', async () => {\n specSelect = new Q2Select();\n const destroyEventListenersSpy = jest.spyOn(specSelect, 'destroyEventListeners');\n specSelect.disconnectedCallback();\n\n expect(destroyEventListenersSpy).toHaveBeenCalled();\n });\n });\n\n describe('componentWillLoad', () => {\n it('calls handleAriaLabel() helper function', async () => {\n specSelect = new Q2Select();\n specSelect.componentWillLoad();\n\n expect(handleAriaLabelSpy).toHaveBeenCalled();\n });\n\n it('calls handleOrientationChange', async () => {\n specSelect = new Q2Select();\n const handleOrientationChangeSpy = jest.spyOn(specSelect, 'handleOrientationChange');\n specSelect.componentWillLoad();\n\n expect(handleOrientationChangeSpy).toHaveBeenCalled();\n });\n\n it('calls buildStructuredSelectedOptions', async () => {\n specSelect = new Q2Select();\n const buildOptionsSpy = jest.spyOn(specSelect, 'buildStructuredSelectedOptions');\n specSelect.componentWillLoad();\n\n expect(buildOptionsSpy).toHaveBeenCalled();\n });\n\n it('calls handleMultilineOptionsUpdate', async () => {\n specSelect = new Q2Select();\n const handleUpdateSpy = jest.spyOn(specSelect, 'handleMultilineOptionsUpdate');\n specSelect.componentWillLoad();\n\n expect(handleUpdateSpy).toHaveBeenCalled();\n });\n });\n describe('componentDidLoad', () => {\n it('calls initMutationObserver', async () => {\n specPage = await newSpecPage({\n components: [Q2Select, Q2OptionList],\n html: `<q2-select></q2-select>`,\n });\n specSelect = specPage.rootInstance;\n const initMutationObserverSpy = jest.spyOn(specSelect, 'initMutationObserver');\n specSelect.componentDidLoad();\n\n expect(initMutationObserverSpy).toHaveBeenCalled();\n });\n\n it('calls initEventListeners', async () => {\n specPage = await newSpecPage({\n components: [Q2Select],\n html: `<q2-select></q2-select>`,\n });\n specSelect = specPage.rootInstance;\n const initEventListenersSpy = jest.spyOn(specSelect, 'initEventListeners');\n specSelect.componentDidLoad();\n\n expect(initEventListenersSpy).toHaveBeenCalled();\n });\n\n it('calls overrideFocus helper', async () => {\n specPage = await newSpecPage({\n components: [Q2Select],\n html: `<q2-select></q2-select>`,\n });\n specSelect = specPage.rootInstance;\n specElement = specPage.root;\n specSelect.componentDidLoad();\n\n expect(overrideFocusSpy).toHaveBeenCalledWith(specElement);\n });\n\n it('setTimeout calls checkSelectedDisplay', async () => {\n specPage = await newSpecPage({\n components: [Q2Select],\n html: `<q2-select></q2-select>`,\n });\n specSelect = specPage.rootInstance;\n const checkSelectedDisplaySpy = jest.spyOn(specSelect, 'checkSelectedDisplay');\n\n jest.useFakeTimers();\n specSelect.componentDidLoad();\n jest.runAllTimers();\n\n expect(checkSelectedDisplaySpy).toHaveBeenCalled();\n jest.useRealTimers();\n });\n });\n describe('componentDidRender', () => {\n it('calls forEach on scheduledAfterRender', async () => {\n specSelect = new Q2Select();\n specSelect.scheduledAfterRender = [jest.fn()];\n const forEachSpy = jest.spyOn(specSelect.scheduledAfterRender, 'forEach');\n\n jest.useFakeTimers();\n specSelect.componentDidRender();\n jest.runAllTimers();\n\n expect(forEachSpy).toHaveBeenCalled();\n jest.useRealTimers();\n });\n });\n });\n describe('Listeners', () => {});\n describe('Public Methods API', () => {\n describe('Public Methods', () => {});\n describe('Test Methods', () => {});\n });\n describe('Watchers', () => {\n describe('openChanged', () => {\n it('calls addTouchEventListeners when isOpen is true', async () => {\n specSelect = new Q2Select();\n const addTouchEventListenersSpy = jest.spyOn(specSelect, 'addTouchEventListeners');\n specSelect.openChanged(true);\n expect(addTouchEventListenersSpy).toHaveBeenCalled();\n });\n it('calls removeTouchEventListeners when isOpen is false', async () => {\n specSelect = new Q2Select();\n const removeTouchEventListenersSpy = jest.spyOn(specSelect, 'removeTouchEventListeners');\n specSelect.openChanged(false);\n expect(removeTouchEventListenersSpy).toHaveBeenCalled();\n });\n });\n });\n describe('Local Methods', () => {\n describe('Getters', () => {\n describe('isModule', () => {\n beforeEach(() => {\n specSelect = new Q2Select();\n });\n it('returns false when window top matches window and platformDimensions is not defined', async () => {\n expect(window.top).toBe(window);\n expect(window.Tecton).toBeUndefined();\n expect(specSelect.isModule).toBe(false);\n });\n\n it('returns false when window top does not match window and platformDimensions is not defined', async () => {\n const windowSpy = jest.spyOn(window, 'top', 'get').mockReturnValue({} as any);\n expect(window.top).not.toEqual(window);\n expect(window.Tecton).toBeUndefined();\n expect(specSelect.isModule).toBe(false);\n windowSpy.mockRestore();\n });\n\n it('returns false when window top matches window and platformDimensions is defined', async () => {\n window.Tecton = sampleTectonWindow;\n expect(window.top).toBe(window);\n expect(window.Tecton.platformDimensions).toBeTruthy();\n expect(specSelect.isModule).toBe(false);\n });\n\n it('returns true when window top does not match window and platformDimensions is defined', async () => {\n const windowSpy = jest.spyOn(window, 'top', 'get').mockReturnValue({} as any);\n window.Tecton = sampleTectonWindow;\n expect(specSelect.isModule).toBe(true);\n windowSpy.mockRestore();\n });\n });\n });\n describe('Methods', () => {\n describe('addTouchEventListeners', () => {\n it('does not add touchmove listener to popover when isMobile is false', async () => {\n specSelect = new Q2Select();\n specSelect.popoverElement = document.createElement('div') as HTMLQ2PopoverElement;\n specSelect.popoverElement.addEventListener = jest.fn();\n isMobileSpy.mockReturnValue(false);\n specSelect.addTouchEventListeners();\n\n expect(specSelect.popoverElement.addEventListener).not.toHaveBeenCalledWith(\n 'touchmove',\n specSelect.handleTouchMove,\n { passive: true }\n );\n });\n\n it('adds touchmove listener when isMobile is true', async () => {\n specSelect = new Q2Select();\n specSelect.popoverElement = document.createElement('div') as HTMLQ2PopoverElement;\n specSelect.popoverElement.addEventListener = jest.fn();\n isMobileSpy.mockReturnValue(true);\n specSelect.addTouchEventListeners();\n\n expect(specSelect.popoverElement.addEventListener).toHaveBeenCalledWith(\n 'touchmove',\n specSelect.handleTouchMove,\n { passive: true }\n );\n });\n });\n\n describe('clickedElsewhere', () => {\n let mockTarget;\n let customEvent;\n beforeEach(async () => {\n specSelect = new Q2Select();\n mockTarget = { localName: 'click-elsewhere' } as unknown as EventTarget;\n customEvent = { target: mockTarget, stopPropagation: jest.fn() } as unknown as CustomEvent;\n specSelect = new Q2Select();\n specSelect.popoverElement = { open: true } as HTMLQ2PopoverElement;\n jest.spyOn(specSelect, 'innerInputField', 'get').mockReturnValue({ blur: jest.fn() } as any);\n });\n\n it('does nothing if target.localName is not \"click-elsewhere\"', async () => {\n mockTarget = { localName: 'div' } as unknown as EventTarget;\n customEvent = { target: mockTarget } as unknown as CustomEvent;\n\n specSelect.clickedElsewhere(customEvent);\n });\n\n it('calls stopPropagation', async () => {\n specSelect.clickedElsewhere(customEvent);\n\n expect(customEvent.stopPropagation).toHaveBeenCalled();\n });\n\n it('sets popoverElement.open to false', async () => {\n specSelect.clickedElsewhere(customEvent);\n\n expect(specSelect.popoverElement.open).toBe(false);\n });\n\n it('calls blur() on the innerInputField', async () => {\n specSelect.clickedElsewhere(customEvent);\n\n expect(specSelect.innerInputField.blur).toHaveBeenCalled();\n });\n });\n\n describe('destroyEventListeners', () => {\n let windowRemoveEventListenerSpy: jest.SpyInstance;\n beforeEach(() => {\n isMobileSpy.mockReturnValue(true);\n specSelect = new Q2Select();\n mockScreen.orientation.removeEventListener.mockClear();\n windowRemoveEventListenerSpy = jest.spyOn(window, 'removeEventListener');\n mockVisualViewport.removeEventListener.mockClear();\n });\n\n it('checks if isMobile', async () => {\n specSelect = new Q2Select();\n specSelect.destroyEventListeners();\n\n expect(isMobileSpy).toHaveBeenCalled();\n });\n\n describe('when in mobile environment', () => {\n it('calls removeEventListener on screen.orientation ', async () => {\n specSelect.destroyEventListeners();\n\n expect(mockScreen.orientation.removeEventListener).toHaveBeenCalledWith(\n 'change',\n specSelect.handleOrientationChange\n );\n });\n\n it('calls removeEventListener on window', async () => {\n specSelect.destroyEventListeners();\n\n expect(windowRemoveEventListenerSpy).toHaveBeenCalledWith(\n 'resize',\n specSelect.handleOrientationChange\n );\n });\n\n it('calls removeEventListener on visualViewport', async () => {\n mockVisualViewport.removeEventListener.mockClear();\n specSelect.destroyEventListeners();\n expect(mockVisualViewport.removeEventListener).toHaveBeenCalledWith(\n 'resize',\n specSelect.handleOrientationChange\n );\n });\n\n it('calls removeTouchEventListeners', async () => {\n const removeTouchEventListenersSpy = jest.spyOn(specSelect, 'removeTouchEventListeners');\n specSelect.destroyEventListeners();\n expect(removeTouchEventListenersSpy).toHaveBeenCalled();\n });\n });\n\n it('does NOT remove event listener when NOT mobile', async () => {\n isMobileSpy.mockReturnValue(false);\n specSelect = new Q2Select();\n specSelect.destroyEventListeners();\n\n expect(mockScreen.orientation.removeEventListener).not.toHaveBeenCalled();\n expect(windowRemoveEventListenerSpy).not.toHaveBeenCalled();\n expect(mockVisualViewport.removeEventListener).not.toHaveBeenCalled();\n });\n });\n\n describe('handleOrientationChange', () => {\n beforeEach(() => {\n isMobileSpy.mockReturnValue(true);\n specSelect = new Q2Select();\n });\n\n it('checks if isMobile', async () => {\n specSelect.handleOrientationChange();\n\n expect(isMobileSpy).toHaveBeenCalled();\n });\n\n describe('when searchable is initially true', () => {\n beforeEach(() => {\n specSelect.searchable = true;\n specSelect.originalSearchable = true;\n });\n\n it('sets \"searchable\" to false if in landscape orientation', async () => {\n setOrientationType('landscape-primary');\n specSelect.handleOrientationChange();\n\n expect(specSelect.searchable).toBe(false);\n });\n\n it('does nothing in portrait orientation', async () => {\n setOrientationType('portrait-primary');\n specSelect.handleOrientationChange();\n\n expect(specSelect.searchable).toBe(true);\n });\n\n it('restores searchable when returning to portrait', async () => {\n setOrientationType('landscape-primary');\n specSelect.handleOrientationChange();\n\n expect(specSelect.searchable).toBe(false);\n\n setOrientationType('portrait-primary');\n specSelect.handleOrientationChange();\n\n expect(specSelect.searchable).toBe(true);\n });\n });\n\n describe('when searchable is initially undefined/false', () => {\n it('does nothing', async () => {\n specSelect.originalSearchable = false;\n setOrientationType('landscape-primary');\n specSelect.handleOrientationChange();\n\n expect(specSelect.searchable).toBe(false);\n });\n });\n });\n\n describe('handleTouchMove', () => {\n it('does not focus the target if the activeElement is not the hostElement', async () => {\n specPage = await newSpecPage({\n components: [Q2Select],\n html: `<q2-select></q2-select>`,\n });\n specSelect = specPage.rootInstance;\n specElement = specPage.root;\n const element = document.createElement('div');\n const touchEvent = new TouchEvent('touchmove', {\n target: element,\n });\n const focusSpy = jest.spyOn(touchEvent.target as HTMLElement, 'focus');\n setActiveElement(element);\n specSelect.handleTouchMove(touchEvent);\n\n expect(document.activeElement).not.toBe(specElement);\n expect(focusSpy).not.toHaveBeenCalled();\n });\n\n it('does not call focus on the target if the target is the hostElement', async () => {\n specPage = await newSpecPage({\n components: [Q2Select],\n html: `<q2-select></q2-select>`,\n });\n specSelect = specPage.rootInstance;\n specElement = specPage.root;\n const touchEvent = new TouchEvent('touchmove', {\n target: specElement,\n });\n const focusSpy = jest.spyOn(touchEvent.target as HTMLElement, 'focus');\n setActiveElement(specElement);\n specSelect.handleTouchMove(touchEvent);\n\n expect(touchEvent.target).toBe(specElement);\n expect(focusSpy).not.toHaveBeenCalled();\n });\n\n describe('when hostElement is activeElement and target is not hostElement', () => {\n let targetFocusSpy: jest.SpyInstance;\n let targetElement: HTMLElement;\n beforeEach(async () => {\n specPage = await newSpecPage({\n components: [Q2Select],\n html: `<q2-select></q2-select>`,\n });\n specSelect = specPage.rootInstance;\n specElement = specPage.root;\n setActiveElement(specElement);\n specSelect.inputFocused = true;\n\n expect(document.activeElement).toBe(specElement);\n expect(specSelect.lastTouchWasInPopover).toBe(false);\n\n targetElement = specElement.shadowRoot.querySelector('q2-popover');\n const touchEvent = new TouchEvent('touchmove', {\n target: targetElement,\n });\n targetFocusSpy = jest.spyOn(targetElement, 'focus');\n expect(touchEvent.target).toBe(targetElement);\n specSelect.handleTouchMove(touchEvent);\n });\n\n it('sets inputFocused to false', async () => {\n expect(specSelect.inputFocused).toBe(false);\n });\n\n it('sets lastTouchWasInPopover to true', async () => {\n expect(specSelect.lastTouchWasInPopover).toBe(true);\n });\n\n it('calls focus on the target element', async () => {\n expect(targetFocusSpy).toHaveBeenCalled();\n });\n });\n });\n\n describe('initEventListeners', () => {\n let windowAddEventListenerSpy: jest.SpyInstance;\n beforeEach(() => {\n isMobileSpy.mockReturnValue(true);\n specSelect = new Q2Select();\n mockScreen.orientation.addEventListener.mockClear();\n windowAddEventListenerSpy = jest.spyOn(window, 'addEventListener');\n mockVisualViewport.addEventListener.mockClear();\n });\n\n it('checks if isMobile', async () => {\n specSelect = new Q2Select();\n specSelect.initEventListeners();\n\n expect(isMobileSpy).toHaveBeenCalled();\n });\n\n describe('when in mobile environment', () => {\n it('calls addEventListener on screen.orientation', async () => {\n specSelect.initEventListeners();\n\n expect(mockScreen.orientation.addEventListener).toHaveBeenCalledWith(\n 'change',\n specSelect.handleOrientationChange\n );\n });\n\n it('calls addEventListener on window', async () => {\n specSelect.initEventListeners();\n\n expect(windowAddEventListenerSpy).toHaveBeenCalledWith(\n 'resize',\n specSelect.handleOrientationChange\n );\n });\n\n it('calls addEventListener on visualViewport', async () => {\n specSelect.initEventListeners();\n\n expect(mockVisualViewport.addEventListener).toHaveBeenCalledWith(\n 'resize',\n specSelect.handleOrientationChange\n );\n });\n });\n\n it('does NOT add event listener when NOT mobile', async () => {\n isMobileSpy.mockReturnValue(false);\n specSelect = new Q2Select();\n specSelect.initEventListeners();\n\n expect(mockScreen.orientation.addEventListener).not.toHaveBeenCalled();\n expect(mockVisualViewport.addEventListener).not.toHaveBeenCalled();\n expect(windowAddEventListenerSpy).not.toHaveBeenCalled();\n });\n });\n });\n });\n describe('Render Methods', () => {});\n\n describe('Accessibility', () => {\n describe('Keyboard Controls', () => {\n let handleOptionListExternalKeydownSpy: jest.SpyInstance;\n let q2Select: HTMLQ2SelectElement;\n beforeEach(async () => {\n specPage = await newSpecPage({\n components: [Q2Select, Q2OptionList],\n html: `<q2-select></q2-select>`,\n });\n q2Select = specPage.root as HTMLQ2SelectElement;\n const q2SelectInstance = specPage.rootInstance as Q2Select;\n handleOptionListExternalKeydownSpy = jest.spyOn(q2SelectInstance, 'handleOptionListExternalKeydown');\n });\n afterEach(() => {\n handleOptionListExternalKeydownSpy.mockRestore();\n });\n it(\"'Tab' keypress not handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'Tab' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'Enter' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'Enter' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'ArrowUp' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'ArrowUp' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'ArrowDown' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'ArrowDown' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'Home' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'Home' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'End' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'End' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'PageUp' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'PageUp' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'PageDown' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'PageDown' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'Esc' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'Esc' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'Space' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'Space' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"q2-select-test.spec.js","sourceRoot":"","sources":["../../../../../src/components/q2-select/test/q2-select-test.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { SpecPage, newSpecPage } from '@stencil/core/testing';\nimport { Q2Select } from 'src/components/q2-select/q2-select';\nimport { Q2OptionList } from 'src/components/q2-option-list/q2-option-list';\nimport * as utils from 'src/utils';\n\n// Set up global screen object for testing\nconst mockScreen = {\n orientation: {\n type: 'portrait-primary',\n addEventListener: jest.fn(),\n removeEventListener: jest.fn(),\n },\n};\n(global as any).screen = mockScreen;\nObject.defineProperty(window, 'screen', {\n writable: true,\n value: mockScreen,\n});\n\n// Set up global visualViewport for testing\nconst mockVisualViewport = {\n addEventListener: jest.fn(),\n removeEventListener: jest.fn(),\n width: 800,\n height: 600,\n};\n(global as any).visualViewport = mockVisualViewport;\nObject.defineProperty(window, 'visualViewport', {\n value: mockVisualViewport,\n configurable: true,\n});\n\nconst samplePlatformDimensions = {\n scrollY: 0,\n innerHeight: 800,\n innerWidth: 600,\n outletOffset: 20,\n};\n\nconst sampleTectonWindow = {\n inMobileApp: false,\n noStrings: false,\n platformUrl: '',\n platformDimensions: samplePlatformDimensions,\n};\n\ndescribe('q2-select', () => {\n afterEach(() => {\n jest.restoreAllMocks();\n });\n\n let specPage: SpecPage;\n let specSelect: Q2Select;\n let specElement;\n let isMobileSpy: jest.SpyInstance;\n let handleAriaLabelSpy: jest.SpyInstance;\n let overrideFocusSpy: jest.SpyInstance;\n\n // Helper function to set screen orientation type\n const setOrientationType = (type: string) => {\n mockScreen.orientation.type = type;\n };\n\n // Helper function to set document.activeElement\n const setActiveElement = (element: Element | null) => {\n Object.defineProperty(document, 'activeElement', {\n value: element,\n writable: true,\n configurable: true,\n });\n };\n\n beforeEach(() => {\n isMobileSpy = jest.spyOn(utils, 'isMobile').mockReturnValue(false);\n handleAriaLabelSpy = jest.spyOn(utils, 'handleAriaLabel');\n overrideFocusSpy = jest.spyOn(utils, 'overrideFocus');\n\n setOrientationType('landscape-primary');\n\n (mockScreen.orientation.addEventListener as jest.Mock).mockClear();\n (mockScreen.orientation.removeEventListener as jest.Mock).mockClear();\n });\n\n describe('Props', () => {});\n describe('Events', () => {});\n describe('Component Lifecycle Events', () => {\n describe('disconnectedCallback', () => {\n it('calls disconnect() on mutationObserver', async () => {\n specSelect = new Q2Select();\n specSelect.mutationObserver = new MutationObserver(() => {});\n const disconnectSpy = jest.spyOn(specSelect.mutationObserver, 'disconnect');\n specSelect.disconnectedCallback();\n\n expect(disconnectSpy).toHaveBeenCalled();\n });\n\n it('sets mutationObserver to null', async () => {\n specSelect = new Q2Select();\n specSelect.mutationObserver = new MutationObserver(() => {});\n\n expect(specSelect.mutationObserver).not.toBeNull();\n\n specSelect.disconnectedCallback();\n\n expect(specSelect.mutationObserver).toBeNull();\n });\n\n it('calls destroyEventListeners', async () => {\n specSelect = new Q2Select();\n const destroyEventListenersSpy = jest.spyOn(specSelect, 'destroyEventListeners');\n specSelect.disconnectedCallback();\n\n expect(destroyEventListenersSpy).toHaveBeenCalled();\n });\n });\n\n describe('componentWillLoad', () => {\n it('calls handleAriaLabel() helper function', async () => {\n specSelect = new Q2Select();\n specSelect.componentWillLoad();\n\n expect(handleAriaLabelSpy).toHaveBeenCalled();\n });\n\n it('calls handleOrientationChange', async () => {\n specSelect = new Q2Select();\n const handleOrientationChangeSpy = jest.spyOn(specSelect, 'handleOrientationChange');\n specSelect.componentWillLoad();\n\n expect(handleOrientationChangeSpy).toHaveBeenCalled();\n });\n\n it('calls buildStructuredSelectedOptions', async () => {\n specSelect = new Q2Select();\n const buildOptionsSpy = jest.spyOn(specSelect, 'buildStructuredSelectedOptions');\n specSelect.componentWillLoad();\n\n expect(buildOptionsSpy).toHaveBeenCalled();\n });\n\n it('calls handleMultilineOptionsUpdate', async () => {\n specSelect = new Q2Select();\n const handleUpdateSpy = jest.spyOn(specSelect, 'handleMultilineOptionsUpdate');\n specSelect.componentWillLoad();\n\n expect(handleUpdateSpy).toHaveBeenCalled();\n });\n });\n describe('componentDidLoad', () => {\n it('calls initMutationObserver', async () => {\n specPage = await newSpecPage({\n components: [Q2Select, Q2OptionList],\n html: `<q2-select></q2-select>`,\n });\n specSelect = specPage.rootInstance;\n const initMutationObserverSpy = jest.spyOn(specSelect, 'initMutationObserver');\n specSelect.componentDidLoad();\n\n expect(initMutationObserverSpy).toHaveBeenCalled();\n });\n\n it('calls initEventListeners', async () => {\n specPage = await newSpecPage({\n components: [Q2Select],\n html: `<q2-select></q2-select>`,\n });\n specSelect = specPage.rootInstance;\n const initEventListenersSpy = jest.spyOn(specSelect, 'initEventListeners');\n specSelect.componentDidLoad();\n\n expect(initEventListenersSpy).toHaveBeenCalled();\n });\n\n it('calls overrideFocus helper', async () => {\n specPage = await newSpecPage({\n components: [Q2Select],\n html: `<q2-select></q2-select>`,\n });\n specSelect = specPage.rootInstance;\n specElement = specPage.root;\n specSelect.componentDidLoad();\n\n expect(overrideFocusSpy).toHaveBeenCalledWith(specElement);\n });\n\n it('setTimeout calls checkSelectedDisplay', async () => {\n specPage = await newSpecPage({\n components: [Q2Select],\n html: `<q2-select></q2-select>`,\n });\n specSelect = specPage.rootInstance;\n const checkSelectedDisplaySpy = jest.spyOn(specSelect, 'checkSelectedDisplay');\n\n jest.useFakeTimers();\n specSelect.componentDidLoad();\n jest.runAllTimers();\n\n expect(checkSelectedDisplaySpy).toHaveBeenCalled();\n jest.useRealTimers();\n });\n });\n describe('componentDidRender', () => {\n it('calls forEach on scheduledAfterRender', async () => {\n specSelect = new Q2Select();\n specSelect.scheduledAfterRender = [jest.fn()];\n const forEachSpy = jest.spyOn(specSelect.scheduledAfterRender, 'forEach');\n\n jest.useFakeTimers();\n specSelect.componentDidRender();\n jest.runAllTimers();\n\n expect(forEachSpy).toHaveBeenCalled();\n jest.useRealTimers();\n });\n });\n });\n describe('Listeners', () => {});\n describe('Public Methods API', () => {\n describe('Public Methods', () => {});\n describe('Test Methods', () => {});\n });\n describe('Watchers', () => {\n describe('openChanged', () => {\n it('calls addTouchEventListeners when isOpen is true', async () => {\n specSelect = new Q2Select();\n const addTouchEventListenersSpy = jest.spyOn(specSelect, 'addTouchEventListeners');\n specSelect.openChanged(true);\n expect(addTouchEventListenersSpy).toHaveBeenCalled();\n });\n it('calls removeTouchEventListeners when isOpen is false', async () => {\n specSelect = new Q2Select();\n const removeTouchEventListenersSpy = jest.spyOn(specSelect, 'removeTouchEventListeners');\n specSelect.openChanged(false);\n expect(removeTouchEventListenersSpy).toHaveBeenCalled();\n });\n });\n });\n describe('Local Methods', () => {\n describe('Getters', () => {\n describe('isModule', () => {\n beforeEach(() => {\n specSelect = new Q2Select();\n });\n it('returns false when window top matches window and platformDimensions is not defined', async () => {\n expect(window.top).toBe(window);\n expect(window.Tecton).toBeUndefined();\n expect(specSelect.isModule).toBe(false);\n });\n\n it('returns false when window top does not match window and platformDimensions is not defined', async () => {\n const windowSpy = jest.spyOn(window, 'top', 'get').mockReturnValue({} as any);\n expect(window.top).not.toEqual(window);\n expect(window.Tecton).toBeUndefined();\n expect(specSelect.isModule).toBe(false);\n windowSpy.mockRestore();\n });\n\n it('returns false when window top matches window and platformDimensions is defined', async () => {\n window.Tecton = sampleTectonWindow;\n expect(window.top).toBe(window);\n expect(window.Tecton.platformDimensions).toBeTruthy();\n expect(specSelect.isModule).toBe(false);\n });\n\n it('returns true when window top does not match window and platformDimensions is defined', async () => {\n const windowSpy = jest.spyOn(window, 'top', 'get').mockReturnValue({} as any);\n window.Tecton = sampleTectonWindow;\n expect(specSelect.isModule).toBe(true);\n windowSpy.mockRestore();\n });\n });\n });\n describe('Methods', () => {\n describe('addTouchEventListeners', () => {\n it('does not add touchmove listener to popover when isMobile is false', async () => {\n specSelect = new Q2Select();\n specSelect.popoverElement = document.createElement('div') as HTMLQ2PopoverElement;\n specSelect.popoverElement.addEventListener = jest.fn();\n isMobileSpy.mockReturnValue(false);\n specSelect.addTouchEventListeners();\n\n expect(specSelect.popoverElement.addEventListener).not.toHaveBeenCalledWith(\n 'touchmove',\n specSelect.handleTouchMove,\n { passive: true }\n );\n });\n\n it('adds touchmove listener when isMobile is true', async () => {\n specSelect = new Q2Select();\n specSelect.popoverElement = document.createElement('div') as HTMLQ2PopoverElement;\n specSelect.popoverElement.addEventListener = jest.fn();\n isMobileSpy.mockReturnValue(true);\n specSelect.addTouchEventListeners();\n\n expect(specSelect.popoverElement.addEventListener).toHaveBeenCalledWith(\n 'touchmove',\n specSelect.handleTouchMove,\n { passive: true }\n );\n });\n });\n\n describe('clickedElsewhere', () => {\n let mockTarget;\n let customEvent;\n beforeEach(async () => {\n specSelect = new Q2Select();\n mockTarget = { localName: 'click-elsewhere' } as unknown as EventTarget;\n customEvent = { target: mockTarget, stopPropagation: jest.fn() } as unknown as CustomEvent;\n specSelect = new Q2Select();\n specSelect.popoverElement = { open: true } as HTMLQ2PopoverElement;\n jest.spyOn(specSelect, 'innerInputField', 'get').mockReturnValue({ blur: jest.fn() } as any);\n });\n\n it('does nothing if target.localName is not \"click-elsewhere\"', async () => {\n mockTarget = { localName: 'div' } as unknown as EventTarget;\n customEvent = { target: mockTarget } as unknown as CustomEvent;\n\n specSelect.clickedElsewhere(customEvent);\n });\n\n it('calls stopPropagation', async () => {\n specSelect.clickedElsewhere(customEvent);\n\n expect(customEvent.stopPropagation).toHaveBeenCalled();\n });\n\n it('sets popoverElement.open to false', async () => {\n specSelect.clickedElsewhere(customEvent);\n\n expect(specSelect.popoverElement.open).toBe(false);\n });\n });\n\n describe('destroyEventListeners', () => {\n let windowRemoveEventListenerSpy: jest.SpyInstance;\n beforeEach(() => {\n isMobileSpy.mockReturnValue(true);\n specSelect = new Q2Select();\n mockScreen.orientation.removeEventListener.mockClear();\n windowRemoveEventListenerSpy = jest.spyOn(window, 'removeEventListener');\n mockVisualViewport.removeEventListener.mockClear();\n });\n\n it('checks if isMobile', async () => {\n specSelect = new Q2Select();\n specSelect.destroyEventListeners();\n\n expect(isMobileSpy).toHaveBeenCalled();\n });\n\n describe('when in mobile environment', () => {\n it('calls removeEventListener on screen.orientation ', async () => {\n specSelect.destroyEventListeners();\n\n expect(mockScreen.orientation.removeEventListener).toHaveBeenCalledWith(\n 'change',\n specSelect.handleOrientationChange\n );\n });\n\n it('calls removeEventListener on window', async () => {\n specSelect.destroyEventListeners();\n\n expect(windowRemoveEventListenerSpy).toHaveBeenCalledWith(\n 'resize',\n specSelect.handleOrientationChange\n );\n });\n\n it('calls removeEventListener on visualViewport', async () => {\n mockVisualViewport.removeEventListener.mockClear();\n specSelect.destroyEventListeners();\n expect(mockVisualViewport.removeEventListener).toHaveBeenCalledWith(\n 'resize',\n specSelect.handleOrientationChange\n );\n });\n\n it('calls removeTouchEventListeners', async () => {\n const removeTouchEventListenersSpy = jest.spyOn(specSelect, 'removeTouchEventListeners');\n specSelect.destroyEventListeners();\n expect(removeTouchEventListenersSpy).toHaveBeenCalled();\n });\n });\n\n it('does NOT remove event listener when NOT mobile', async () => {\n isMobileSpy.mockReturnValue(false);\n specSelect = new Q2Select();\n specSelect.destroyEventListeners();\n\n expect(mockScreen.orientation.removeEventListener).not.toHaveBeenCalled();\n expect(windowRemoveEventListenerSpy).not.toHaveBeenCalled();\n expect(mockVisualViewport.removeEventListener).not.toHaveBeenCalled();\n });\n });\n\n describe('handleOrientationChange', () => {\n beforeEach(() => {\n isMobileSpy.mockReturnValue(true);\n specSelect = new Q2Select();\n });\n\n it('checks if isMobile', async () => {\n specSelect.handleOrientationChange();\n\n expect(isMobileSpy).toHaveBeenCalled();\n });\n\n describe('when searchable is initially true', () => {\n beforeEach(() => {\n specSelect.searchable = true;\n specSelect.originalSearchable = true;\n });\n\n it('sets \"searchable\" to false if in landscape orientation', async () => {\n setOrientationType('landscape-primary');\n specSelect.handleOrientationChange();\n\n expect(specSelect.searchable).toBe(false);\n });\n\n it('does nothing in portrait orientation', async () => {\n setOrientationType('portrait-primary');\n specSelect.handleOrientationChange();\n\n expect(specSelect.searchable).toBe(true);\n });\n\n it('restores searchable when returning to portrait', async () => {\n setOrientationType('landscape-primary');\n specSelect.handleOrientationChange();\n\n expect(specSelect.searchable).toBe(false);\n\n setOrientationType('portrait-primary');\n specSelect.handleOrientationChange();\n\n expect(specSelect.searchable).toBe(true);\n });\n });\n\n describe('when searchable is initially undefined/false', () => {\n it('does nothing', async () => {\n specSelect.originalSearchable = false;\n setOrientationType('landscape-primary');\n specSelect.handleOrientationChange();\n\n expect(specSelect.searchable).toBe(false);\n });\n });\n });\n\n describe('handleTouchMove', () => {\n it('does not focus the target if the activeElement is not the hostElement', async () => {\n specPage = await newSpecPage({\n components: [Q2Select],\n html: `<q2-select></q2-select>`,\n });\n specSelect = specPage.rootInstance;\n specElement = specPage.root;\n const element = document.createElement('div');\n const touchEvent = new TouchEvent('touchmove', {\n target: element,\n });\n const focusSpy = jest.spyOn(touchEvent.target as HTMLElement, 'focus');\n setActiveElement(element);\n specSelect.handleTouchMove(touchEvent);\n\n expect(document.activeElement).not.toBe(specElement);\n expect(focusSpy).not.toHaveBeenCalled();\n });\n\n it('does not call focus on the target if the target is the hostElement', async () => {\n specPage = await newSpecPage({\n components: [Q2Select],\n html: `<q2-select></q2-select>`,\n });\n specSelect = specPage.rootInstance;\n specElement = specPage.root;\n const touchEvent = new TouchEvent('touchmove', {\n target: specElement,\n });\n const focusSpy = jest.spyOn(touchEvent.target as HTMLElement, 'focus');\n setActiveElement(specElement);\n specSelect.handleTouchMove(touchEvent);\n\n expect(touchEvent.target).toBe(specElement);\n expect(focusSpy).not.toHaveBeenCalled();\n });\n\n describe('when hostElement is activeElement and target is not hostElement', () => {\n let targetFocusSpy: jest.SpyInstance;\n let targetElement: HTMLElement;\n beforeEach(async () => {\n specPage = await newSpecPage({\n components: [Q2Select],\n html: `<q2-select></q2-select>`,\n });\n specSelect = specPage.rootInstance;\n specElement = specPage.root;\n setActiveElement(specElement);\n specSelect.inputFocused = true;\n\n expect(document.activeElement).toBe(specElement);\n expect(specSelect.lastTouchWasInPopover).toBe(false);\n\n targetElement = specElement.shadowRoot.querySelector('q2-popover');\n const touchEvent = new TouchEvent('touchmove', {\n target: targetElement,\n });\n targetFocusSpy = jest.spyOn(targetElement, 'focus');\n expect(touchEvent.target).toBe(targetElement);\n specSelect.handleTouchMove(touchEvent);\n });\n\n it('sets inputFocused to false', async () => {\n expect(specSelect.inputFocused).toBe(false);\n });\n\n it('sets lastTouchWasInPopover to true', async () => {\n expect(specSelect.lastTouchWasInPopover).toBe(true);\n });\n\n it('calls focus on the target element', async () => {\n expect(targetFocusSpy).toHaveBeenCalled();\n });\n });\n });\n\n describe('initEventListeners', () => {\n let windowAddEventListenerSpy: jest.SpyInstance;\n beforeEach(() => {\n isMobileSpy.mockReturnValue(true);\n specSelect = new Q2Select();\n mockScreen.orientation.addEventListener.mockClear();\n windowAddEventListenerSpy = jest.spyOn(window, 'addEventListener');\n mockVisualViewport.addEventListener.mockClear();\n });\n\n it('checks if isMobile', async () => {\n specSelect = new Q2Select();\n specSelect.initEventListeners();\n\n expect(isMobileSpy).toHaveBeenCalled();\n });\n\n describe('when in mobile environment', () => {\n it('calls addEventListener on screen.orientation', async () => {\n specSelect.initEventListeners();\n\n expect(mockScreen.orientation.addEventListener).toHaveBeenCalledWith(\n 'change',\n specSelect.handleOrientationChange\n );\n });\n\n it('calls addEventListener on window', async () => {\n specSelect.initEventListeners();\n\n expect(windowAddEventListenerSpy).toHaveBeenCalledWith(\n 'resize',\n specSelect.handleOrientationChange\n );\n });\n\n it('calls addEventListener on visualViewport', async () => {\n specSelect.initEventListeners();\n\n expect(mockVisualViewport.addEventListener).toHaveBeenCalledWith(\n 'resize',\n specSelect.handleOrientationChange\n );\n });\n });\n\n it('does NOT add event listener when NOT mobile', async () => {\n isMobileSpy.mockReturnValue(false);\n specSelect = new Q2Select();\n specSelect.initEventListeners();\n\n expect(mockScreen.orientation.addEventListener).not.toHaveBeenCalled();\n expect(mockVisualViewport.addEventListener).not.toHaveBeenCalled();\n expect(windowAddEventListenerSpy).not.toHaveBeenCalled();\n });\n });\n });\n });\n describe('Render Methods', () => {});\n\n describe('Accessibility', () => {\n describe('Keyboard Controls', () => {\n let handleOptionListExternalKeydownSpy: jest.SpyInstance;\n let q2Select: HTMLQ2SelectElement;\n beforeEach(async () => {\n specPage = await newSpecPage({\n components: [Q2Select, Q2OptionList],\n html: `<q2-select></q2-select>`,\n });\n q2Select = specPage.root as HTMLQ2SelectElement;\n const q2SelectInstance = specPage.rootInstance as Q2Select;\n handleOptionListExternalKeydownSpy = jest.spyOn(q2SelectInstance, 'handleOptionListExternalKeydown');\n });\n afterEach(() => {\n handleOptionListExternalKeydownSpy.mockRestore();\n });\n it(\"'Tab' keypress not handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'Tab' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'Enter' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'Enter' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'ArrowUp' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'ArrowUp' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'ArrowDown' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'ArrowDown' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'Home' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'Home' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'End' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'End' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'PageUp' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'PageUp' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'PageDown' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'PageDown' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'Esc' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'Esc' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n it(\"'Space' keypress handled by q2-option-list\", async () => {\n const event = new KeyboardEvent('keydown', { key: 'Space' });\n q2Select.dispatchEvent(event);\n await specPage.waitForChanges();\n\n expect(handleOptionListExternalKeydownSpy).toHaveBeenCalledWith(event);\n });\n });\n });\n});\n"]}
|
|
@@ -39,7 +39,6 @@ const Q2Select = /*@__PURE__*/ proxyCustomElement(class Q2Select extends HTMLEle
|
|
|
39
39
|
if (!popoverElement)
|
|
40
40
|
return;
|
|
41
41
|
popoverElement.open = false;
|
|
42
|
-
this.innerInputField.blur();
|
|
43
42
|
};
|
|
44
43
|
this.destroyEventListeners = () => {
|
|
45
44
|
var _a;
|
|
@@ -741,7 +740,7 @@ const Q2Select = /*@__PURE__*/ proxyCustomElement(class Q2Select extends HTMLEle
|
|
|
741
740
|
]), checked: showSelected, "test-id": "selectedOptionsButton", onClick: this.showSelectedOptions, onKeyDown: this.visibilityToggleKeyDown }), h("label", { htmlFor: "selected" }, loc('tecton.element.select.multiHeader.selected', [selectedOptionsCount]))))));
|
|
742
741
|
}
|
|
743
742
|
render() {
|
|
744
|
-
return (h("click-elsewhere", { key: '
|
|
743
|
+
return (h("click-elsewhere", { key: 'e7777deea029710ebe0fbd1bf99ab8c695e25471', class: this.wrapperClasses, onChange: this.clickedElsewhere }, this.renderSelectField()));
|
|
745
744
|
}
|
|
746
745
|
get hostElement() { return this; }
|
|
747
746
|
static get watchers() { return {
|