solid-ui 3.1.0 → 3.1.1
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 +22 -4
- package/dist/components/button/index.d.ts +1 -0
- package/dist/components/button/index.esm.js +546 -0
- package/dist/components/button/index.esm.js.map +1 -0
- package/dist/components/button/index.esm.min.js +268 -0
- package/dist/components/button/index.esm.min.js.map +1 -0
- package/dist/components/button/index.js +428 -0
- package/dist/components/button/index.js.map +1 -0
- package/dist/components/button/index.min.js +257 -0
- package/dist/components/button/index.min.js.map +1 -0
- package/dist/components/combobox/index.d.ts +1 -0
- package/dist/components/combobox/index.esm.js +953 -0
- package/dist/components/combobox/index.esm.js.map +1 -0
- package/dist/components/combobox/index.esm.min.js +339 -0
- package/dist/components/combobox/index.esm.min.js.map +1 -0
- package/dist/components/combobox/index.js +782 -0
- package/dist/components/combobox/index.js.map +1 -0
- package/dist/components/combobox/index.min.js +328 -0
- package/dist/components/combobox/index.min.js.map +1 -0
- package/dist/components/footer/index.d.ts +1 -1
- package/dist/components/footer/index.esm.js +105 -63
- package/dist/components/footer/index.esm.js.map +1 -1
- package/dist/components/footer/index.esm.min.js +4 -4
- package/dist/components/footer/index.esm.min.js.map +1 -1
- package/dist/components/footer/index.js +103 -52
- package/dist/components/footer/index.js.map +1 -1
- package/dist/components/footer/index.min.js +8 -8
- package/dist/components/footer/index.min.js.map +1 -1
- package/dist/components/header/index.d.ts +1 -1
- package/dist/components/header/index.esm.js +1405 -1363
- package/dist/components/header/index.esm.js.map +1 -1
- package/dist/components/header/index.esm.min.js +857 -815
- package/dist/components/header/index.esm.min.js.map +1 -1
- package/dist/components/header/index.js +61 -19
- package/dist/components/header/index.js.map +1 -1
- package/dist/components/header/index.min.js +53 -11
- package/dist/components/header/index.min.js.map +1 -1
- package/dist/components/loginButton/index.d.ts +1 -1
- package/dist/components/loginButton/index.esm.js +50 -8
- package/dist/components/loginButton/index.esm.js.map +1 -1
- package/dist/components/loginButton/index.esm.min.js +60 -18
- package/dist/components/loginButton/index.esm.min.js.map +1 -1
- package/dist/components/loginButton/index.js +49 -7
- package/dist/components/loginButton/index.js.map +1 -1
- package/dist/components/loginButton/index.min.js +58 -16
- package/dist/components/loginButton/index.min.js.map +1 -1
- package/dist/components/photoCapture/index.d.ts +1 -0
- package/dist/components/photoCapture/index.esm.js +966 -0
- package/dist/components/photoCapture/index.esm.js.map +1 -0
- package/dist/components/photoCapture/index.esm.min.js +304 -0
- package/dist/components/photoCapture/index.esm.min.js.map +1 -0
- package/dist/components/photoCapture/index.js +848 -0
- package/dist/components/photoCapture/index.js.map +1 -0
- package/dist/components/photoCapture/index.min.js +293 -0
- package/dist/components/photoCapture/index.min.js.map +1 -0
- package/dist/components/select/index.d.ts +1 -0
- package/dist/components/select/index.esm.js +939 -0
- package/dist/components/select/index.esm.js.map +1 -0
- package/dist/components/select/index.esm.min.js +370 -0
- package/dist/components/select/index.esm.min.js.map +1 -0
- package/dist/components/select/index.js +771 -0
- package/dist/components/select/index.js.map +1 -0
- package/dist/components/select/index.min.js +359 -0
- package/dist/components/select/index.min.js.map +1 -0
- package/dist/components/signupButton/index.d.ts +1 -1
- package/dist/components/signupButton/index.esm.js +2 -2
- package/dist/components/signupButton/index.esm.js.map +1 -1
- package/dist/components/signupButton/index.esm.min.js +2 -2
- package/dist/components/signupButton/index.esm.min.js.map +1 -1
- package/dist/components/signupButton/index.js +2 -2
- package/dist/components/signupButton/index.js.map +1 -1
- package/dist/components/signupButton/index.min.js.map +1 -1
- package/dist/login/login.d.ts.map +1 -1
- package/dist/login/login.js +12 -2
- package/dist/login/login.js.map +1 -1
- package/dist/matrix/matrix.js.map +1 -1
- package/dist/solid-ui.esm.js +103 -61
- package/dist/solid-ui.esm.js.map +1 -1
- package/dist/solid-ui.esm.min.js +6 -6
- package/dist/solid-ui.esm.min.js.map +1 -1
- package/dist/solid-ui.js +102 -51
- package/dist/solid-ui.js.map +1 -1
- package/dist/solid-ui.min.js +9 -9
- package/dist/solid-ui.min.js.map +1 -1
- package/dist/tabs.js +2 -2
- package/dist/tabs.js.map +1 -1
- package/dist/v2/components/actions/button/Button.d.ts +97 -0
- package/dist/v2/components/actions/button/Button.d.ts.map +1 -0
- package/dist/v2/components/actions/button/Button.js +325 -0
- package/dist/v2/components/actions/button/Button.js.map +1 -0
- package/dist/v2/components/actions/button/Button.test.d.ts +2 -0
- package/dist/v2/components/actions/button/Button.test.d.ts.map +1 -0
- package/dist/v2/components/actions/button/Button.test.js +117 -0
- package/dist/v2/components/actions/button/Button.test.js.map +1 -0
- package/dist/v2/components/actions/button/index.d.ts +8 -0
- package/dist/v2/components/actions/button/index.d.ts.map +1 -0
- package/dist/v2/components/actions/button/index.js +7 -0
- package/dist/v2/components/actions/button/index.js.map +1 -0
- package/dist/v2/components/auth/loginButton/LoginButton.d.ts.map +1 -0
- package/dist/v2/components/{loginButton → auth/loginButton}/LoginButton.js +46 -4
- package/dist/v2/components/auth/loginButton/LoginButton.js.map +1 -0
- package/dist/v2/components/auth/loginButton/LoginButton.test.d.ts.map +1 -0
- package/dist/v2/components/auth/loginButton/LoginButton.test.js.map +1 -0
- package/dist/v2/components/auth/loginButton/downArrow.d.ts.map +1 -0
- package/dist/v2/components/auth/loginButton/downArrow.js.map +1 -0
- package/dist/v2/components/auth/loginButton/index.d.ts.map +1 -0
- package/dist/v2/components/auth/loginButton/index.js.map +1 -0
- package/dist/v2/components/auth/signupButton/SignupButton.d.ts.map +1 -0
- package/dist/v2/components/auth/signupButton/SignupButton.js.map +1 -0
- package/dist/v2/components/auth/signupButton/SignupButton.test.d.ts.map +1 -0
- package/dist/v2/components/auth/signupButton/SignupButton.test.js.map +1 -0
- package/dist/v2/components/auth/signupButton/index.d.ts.map +1 -0
- package/dist/v2/components/auth/signupButton/index.js.map +1 -0
- package/dist/v2/components/forms/combobox/Combobox.d.ts +82 -0
- package/dist/v2/components/forms/combobox/Combobox.d.ts.map +1 -0
- package/dist/v2/components/forms/combobox/Combobox.js +506 -0
- package/dist/v2/components/forms/combobox/Combobox.js.map +1 -0
- package/dist/v2/components/forms/combobox/Combobox.test.d.ts +2 -0
- package/dist/v2/components/forms/combobox/Combobox.test.d.ts.map +1 -0
- package/dist/v2/components/forms/combobox/Combobox.test.js +201 -0
- package/dist/v2/components/forms/combobox/Combobox.test.js.map +1 -0
- package/dist/v2/components/forms/combobox/comboboxTypes.d.ts +6 -0
- package/dist/v2/components/forms/combobox/comboboxTypes.d.ts.map +1 -0
- package/dist/v2/components/forms/combobox/comboboxTypes.js +2 -0
- package/dist/v2/components/forms/combobox/comboboxTypes.js.map +1 -0
- package/dist/v2/components/forms/combobox/index.d.ts +3 -0
- package/dist/v2/components/forms/combobox/index.d.ts.map +1 -0
- package/dist/v2/components/forms/combobox/index.js +7 -0
- package/dist/v2/components/forms/combobox/index.js.map +1 -0
- package/dist/v2/components/forms/select/Select.d.ts +68 -0
- package/dist/v2/components/forms/select/Select.d.ts.map +1 -0
- package/dist/v2/components/forms/select/Select.js +499 -0
- package/dist/v2/components/forms/select/Select.js.map +1 -0
- package/dist/v2/components/forms/select/Select.test.d.ts +2 -0
- package/dist/v2/components/forms/select/Select.test.d.ts.map +1 -0
- package/dist/v2/components/forms/select/Select.test.js +168 -0
- package/dist/v2/components/forms/select/Select.test.js.map +1 -0
- package/dist/v2/components/forms/select/index.d.ts +3 -0
- package/dist/v2/components/forms/select/index.d.ts.map +1 -0
- package/dist/v2/components/forms/select/index.js +7 -0
- package/dist/v2/components/forms/select/index.js.map +1 -0
- package/dist/v2/components/forms/shared/downArrow.d.ts +2 -0
- package/dist/v2/components/forms/shared/downArrow.d.ts.map +1 -0
- package/dist/v2/components/forms/shared/downArrow.js +10 -0
- package/dist/v2/components/forms/shared/downArrow.js.map +1 -0
- package/dist/v2/components/forms/shared/keyboard.d.ts +7 -0
- package/dist/v2/components/forms/shared/keyboard.d.ts.map +1 -0
- package/dist/v2/components/forms/shared/keyboard.js +56 -0
- package/dist/v2/components/forms/shared/keyboard.js.map +1 -0
- package/dist/v2/components/forms/shared/listboxStyles.d.ts +2 -0
- package/dist/v2/components/forms/shared/listboxStyles.d.ts.map +1 -0
- package/dist/v2/components/forms/shared/listboxStyles.js +96 -0
- package/dist/v2/components/forms/shared/listboxStyles.js.map +1 -0
- package/dist/v2/components/forms/shared/listboxTemplate.d.ts +11 -0
- package/dist/v2/components/forms/shared/listboxTemplate.d.ts.map +1 -0
- package/dist/v2/components/forms/shared/listboxTemplate.js +37 -0
- package/dist/v2/components/forms/shared/listboxTemplate.js.map +1 -0
- package/dist/v2/components/forms/shared/optionTypes.d.ts +6 -0
- package/dist/v2/components/forms/shared/optionTypes.d.ts.map +1 -0
- package/dist/v2/components/forms/shared/optionTypes.js +2 -0
- package/dist/v2/components/forms/shared/optionTypes.js.map +1 -0
- package/dist/v2/components/layout/footer/Footer.d.ts.map +1 -0
- package/dist/v2/components/{footer → layout/footer}/Footer.js +1 -1
- package/dist/v2/components/layout/footer/Footer.js.map +1 -0
- package/dist/v2/components/layout/footer/Footer.test.d.ts.map +1 -0
- package/dist/v2/components/layout/footer/Footer.test.js.map +1 -0
- package/dist/v2/components/layout/footer/index.d.ts.map +1 -0
- package/dist/v2/components/layout/footer/index.js.map +1 -0
- package/dist/v2/components/{header → layout/header}/Header.d.ts +2 -2
- package/dist/v2/components/layout/header/Header.d.ts.map +1 -0
- package/dist/v2/components/{header → layout/header}/Header.js +5 -5
- package/dist/v2/components/layout/header/Header.js.map +1 -0
- package/dist/v2/components/layout/header/header.test.d.ts.map +1 -0
- package/dist/v2/components/layout/header/header.test.js.map +1 -0
- package/dist/v2/components/layout/header/index.d.ts.map +1 -0
- package/dist/v2/components/layout/header/index.js.map +1 -0
- package/dist/v2/components/media/photoCapture/PhotoCapture.d.ts +200 -0
- package/dist/v2/components/media/photoCapture/PhotoCapture.d.ts.map +1 -0
- package/dist/v2/components/media/photoCapture/PhotoCapture.js +723 -0
- package/dist/v2/components/media/photoCapture/PhotoCapture.js.map +1 -0
- package/dist/v2/components/media/photoCapture/PhotoCapture.test.d.ts +2 -0
- package/dist/v2/components/media/photoCapture/PhotoCapture.test.d.ts.map +1 -0
- package/dist/v2/components/media/photoCapture/PhotoCapture.test.js +157 -0
- package/dist/v2/components/media/photoCapture/PhotoCapture.test.js.map +1 -0
- package/dist/v2/components/media/photoCapture/index.d.ts +3 -0
- package/dist/v2/components/media/photoCapture/index.d.ts.map +1 -0
- package/dist/v2/components/media/photoCapture/index.js +7 -0
- package/dist/v2/components/media/photoCapture/index.js.map +1 -0
- package/dist/versionInfo.js +14 -14
- package/dist/widgets/buttons.d.ts +1 -0
- package/dist/widgets/buttons.d.ts.map +1 -1
- package/dist/widgets/buttons.js +15 -2
- package/dist/widgets/buttons.js.map +1 -1
- package/package.json +223 -157
- package/dist/v2/components/footer/Footer.d.ts.map +0 -1
- package/dist/v2/components/footer/Footer.js.map +0 -1
- package/dist/v2/components/footer/Footer.test.d.ts.map +0 -1
- package/dist/v2/components/footer/Footer.test.js.map +0 -1
- package/dist/v2/components/footer/index.d.ts.map +0 -1
- package/dist/v2/components/footer/index.js.map +0 -1
- package/dist/v2/components/header/Header.d.ts.map +0 -1
- package/dist/v2/components/header/Header.js.map +0 -1
- package/dist/v2/components/header/header.test.d.ts.map +0 -1
- package/dist/v2/components/header/header.test.js.map +0 -1
- package/dist/v2/components/header/index.d.ts.map +0 -1
- package/dist/v2/components/header/index.js.map +0 -1
- package/dist/v2/components/loginButton/LoginButton.d.ts.map +0 -1
- package/dist/v2/components/loginButton/LoginButton.js.map +0 -1
- package/dist/v2/components/loginButton/LoginButton.test.d.ts.map +0 -1
- package/dist/v2/components/loginButton/LoginButton.test.js.map +0 -1
- package/dist/v2/components/loginButton/downArrow.d.ts.map +0 -1
- package/dist/v2/components/loginButton/downArrow.js.map +0 -1
- package/dist/v2/components/loginButton/index.d.ts.map +0 -1
- package/dist/v2/components/loginButton/index.js.map +0 -1
- package/dist/v2/components/signupButton/SignupButton.d.ts.map +0 -1
- package/dist/v2/components/signupButton/SignupButton.js.map +0 -1
- package/dist/v2/components/signupButton/SignupButton.test.d.ts.map +0 -1
- package/dist/v2/components/signupButton/SignupButton.test.js.map +0 -1
- package/dist/v2/components/signupButton/index.d.ts.map +0 -1
- package/dist/v2/components/signupButton/index.js.map +0 -1
- /package/dist/v2/components/{loginButton → auth/loginButton}/LoginButton.d.ts +0 -0
- /package/dist/v2/components/{loginButton → auth/loginButton}/LoginButton.test.d.ts +0 -0
- /package/dist/v2/components/{loginButton → auth/loginButton}/LoginButton.test.js +0 -0
- /package/dist/v2/components/{loginButton → auth/loginButton}/downArrow.d.ts +0 -0
- /package/dist/v2/components/{loginButton → auth/loginButton}/downArrow.js +0 -0
- /package/dist/v2/components/{loginButton → auth/loginButton}/index.d.ts +0 -0
- /package/dist/v2/components/{loginButton → auth/loginButton}/index.js +0 -0
- /package/dist/v2/components/{signupButton → auth/signupButton}/SignupButton.d.ts +0 -0
- /package/dist/v2/components/{signupButton → auth/signupButton}/SignupButton.js +0 -0
- /package/dist/v2/components/{signupButton → auth/signupButton}/SignupButton.test.d.ts +0 -0
- /package/dist/v2/components/{signupButton → auth/signupButton}/SignupButton.test.js +0 -0
- /package/dist/v2/components/{signupButton → auth/signupButton}/index.d.ts +0 -0
- /package/dist/v2/components/{signupButton → auth/signupButton}/index.js +0 -0
- /package/dist/v2/components/{footer → layout/footer}/Footer.d.ts +0 -0
- /package/dist/v2/components/{footer → layout/footer}/Footer.test.d.ts +0 -0
- /package/dist/v2/components/{footer → layout/footer}/Footer.test.js +0 -0
- /package/dist/v2/components/{footer → layout/footer}/index.d.ts +0 -0
- /package/dist/v2/components/{footer → layout/footer}/index.js +0 -0
- /package/dist/v2/components/{header → layout/header}/header.test.d.ts +0 -0
- /package/dist/v2/components/{header → layout/header}/header.test.js +0 -0
- /package/dist/v2/components/{header → layout/header}/index.d.ts +0 -0
- /package/dist/v2/components/{header → layout/header}/index.js +0 -0
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it, jest } from '@jest/globals';
|
|
2
|
+
import { Combobox } from './Combobox';
|
|
3
|
+
import './index';
|
|
4
|
+
function getPortalRoot() {
|
|
5
|
+
var _a;
|
|
6
|
+
const portalHost = document.querySelector('[data-solid-ui-combobox-portal]');
|
|
7
|
+
return (_a = portalHost === null || portalHost === void 0 ? void 0 : portalHost.shadowRoot) !== null && _a !== void 0 ? _a : null;
|
|
8
|
+
}
|
|
9
|
+
async function flushUpdates() {
|
|
10
|
+
await Promise.resolve();
|
|
11
|
+
await Promise.resolve();
|
|
12
|
+
}
|
|
13
|
+
describe('SolidUICombobox', () => {
|
|
14
|
+
beforeEach(() => {
|
|
15
|
+
document.body.innerHTML = '';
|
|
16
|
+
});
|
|
17
|
+
it('is defined as a custom element', () => {
|
|
18
|
+
expect(customElements.get('solid-ui-combobox')).toBe(Combobox);
|
|
19
|
+
});
|
|
20
|
+
it('renders the input with label and placeholder', async () => {
|
|
21
|
+
var _a, _b, _c;
|
|
22
|
+
const combobox = new Combobox();
|
|
23
|
+
combobox.label = 'Person';
|
|
24
|
+
combobox.placeholder = 'Search people';
|
|
25
|
+
document.body.appendChild(combobox);
|
|
26
|
+
await combobox.updateComplete;
|
|
27
|
+
const label = (_a = combobox.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('label.text-label');
|
|
28
|
+
const input = (_b = combobox.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('input.text-input');
|
|
29
|
+
const toggle = (_c = combobox.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('button.dropdown-toggle');
|
|
30
|
+
expect(label).not.toBeNull();
|
|
31
|
+
expect(label.textContent).toContain('Person');
|
|
32
|
+
expect(input).not.toBeNull();
|
|
33
|
+
expect(input.placeholder).toBe('Search people');
|
|
34
|
+
expect(input.getAttribute('part')).toBe('input');
|
|
35
|
+
expect(input.getAttribute('role')).toBe('combobox');
|
|
36
|
+
expect(input.getAttribute('aria-expanded')).toBe('false');
|
|
37
|
+
expect(toggle).not.toBeNull();
|
|
38
|
+
});
|
|
39
|
+
it('loads suggestions from suggestionProvider and emits input events', async () => {
|
|
40
|
+
var _a;
|
|
41
|
+
const combobox = new Combobox();
|
|
42
|
+
const inputEvents = jest.fn();
|
|
43
|
+
const suggestionProvider = jest.fn(async (query) => [
|
|
44
|
+
{ label: `Alice ${query}`, value: 'alice' },
|
|
45
|
+
{ label: `Bob ${query}`, value: 'bob' }
|
|
46
|
+
]);
|
|
47
|
+
combobox.suggestionProvider = suggestionProvider;
|
|
48
|
+
combobox.addEventListener('input', (event) => {
|
|
49
|
+
inputEvents(event.detail);
|
|
50
|
+
});
|
|
51
|
+
document.body.appendChild(combobox);
|
|
52
|
+
await combobox.updateComplete;
|
|
53
|
+
const input = (_a = combobox.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('input.text-input');
|
|
54
|
+
input.value = 'al';
|
|
55
|
+
input.dispatchEvent(new Event('input', { bubbles: true, composed: true }));
|
|
56
|
+
await flushUpdates();
|
|
57
|
+
await combobox.updateComplete;
|
|
58
|
+
const portalRoot = getPortalRoot();
|
|
59
|
+
const options = Array.from(portalRoot === null || portalRoot === void 0 ? void 0 : portalRoot.querySelectorAll('[role="option"]'));
|
|
60
|
+
expect(suggestionProvider).toHaveBeenCalledWith('al');
|
|
61
|
+
expect(inputEvents).toHaveBeenCalledWith({ value: 'al' });
|
|
62
|
+
expect(combobox.inputValue).toBe('al');
|
|
63
|
+
expect(options).toHaveLength(2);
|
|
64
|
+
expect(options[0].textContent).toContain('Alice al');
|
|
65
|
+
});
|
|
66
|
+
it('renders the selected option first in the popup', async () => {
|
|
67
|
+
var _a;
|
|
68
|
+
const combobox = new Combobox();
|
|
69
|
+
combobox.options = [
|
|
70
|
+
{ label: 'English', value: 'en' },
|
|
71
|
+
{ label: 'French', value: 'fr' },
|
|
72
|
+
{ label: 'Spanish', value: 'es' }
|
|
73
|
+
];
|
|
74
|
+
combobox.value = 'fr';
|
|
75
|
+
document.body.appendChild(combobox);
|
|
76
|
+
await combobox.updateComplete;
|
|
77
|
+
const input = (_a = combobox.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('input.text-input');
|
|
78
|
+
input.dispatchEvent(new Event('focus'));
|
|
79
|
+
await combobox.updateComplete;
|
|
80
|
+
const portalRoot = getPortalRoot();
|
|
81
|
+
const options = Array.from(portalRoot === null || portalRoot === void 0 ? void 0 : portalRoot.querySelectorAll('[role="option"]'));
|
|
82
|
+
expect(options).toHaveLength(3);
|
|
83
|
+
expect(options[0].textContent).toContain('French');
|
|
84
|
+
expect(options[0].getAttribute('aria-selected')).toBe('true');
|
|
85
|
+
});
|
|
86
|
+
it('updates value and emits change when an option is clicked', async () => {
|
|
87
|
+
var _a;
|
|
88
|
+
const combobox = new Combobox();
|
|
89
|
+
const changed = jest.fn();
|
|
90
|
+
combobox.options = [
|
|
91
|
+
{ label: 'Alice', value: 'alice', publicId: 'https://example.com/alice' },
|
|
92
|
+
{ label: 'Bob', value: 'bob' }
|
|
93
|
+
];
|
|
94
|
+
combobox.addEventListener('change', (event) => {
|
|
95
|
+
changed(event.detail);
|
|
96
|
+
});
|
|
97
|
+
document.body.appendChild(combobox);
|
|
98
|
+
await combobox.updateComplete;
|
|
99
|
+
const input = (_a = combobox.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('input.text-input');
|
|
100
|
+
input.dispatchEvent(new Event('focus'));
|
|
101
|
+
await combobox.updateComplete;
|
|
102
|
+
const portalRoot = getPortalRoot();
|
|
103
|
+
const options = portalRoot === null || portalRoot === void 0 ? void 0 : portalRoot.querySelectorAll('[role="option"]');
|
|
104
|
+
options[1].click();
|
|
105
|
+
await combobox.updateComplete;
|
|
106
|
+
expect(combobox.value).toBe('bob');
|
|
107
|
+
expect(combobox.inputValue).toBe('Bob');
|
|
108
|
+
expect(input.getAttribute('aria-expanded')).toBe('false');
|
|
109
|
+
expect(changed).toHaveBeenCalledWith({
|
|
110
|
+
value: 'bob',
|
|
111
|
+
label: 'Bob',
|
|
112
|
+
option: { label: 'Bob', value: 'bob' }
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
it('opens the popup when clicking the dropdown toggle button', async () => {
|
|
116
|
+
var _a, _b, _c;
|
|
117
|
+
const combobox = new Combobox();
|
|
118
|
+
combobox.options = [
|
|
119
|
+
{ label: 'Alice', value: 'alice' },
|
|
120
|
+
{ label: 'Bob', value: 'bob' }
|
|
121
|
+
];
|
|
122
|
+
document.body.appendChild(combobox);
|
|
123
|
+
await combobox.updateComplete;
|
|
124
|
+
const toggle = (_a = combobox.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('button.dropdown-toggle');
|
|
125
|
+
expect(toggle).not.toBeNull();
|
|
126
|
+
toggle.click();
|
|
127
|
+
await combobox.updateComplete;
|
|
128
|
+
const input = (_b = combobox.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('input.text-input');
|
|
129
|
+
expect(input.getAttribute('aria-expanded')).toBe('true');
|
|
130
|
+
expect((_c = getPortalRoot()) === null || _c === void 0 ? void 0 : _c.querySelector('[role="listbox"]')).not.toBeNull();
|
|
131
|
+
});
|
|
132
|
+
it('supports keyboard selection from the input', async () => {
|
|
133
|
+
var _a;
|
|
134
|
+
const combobox = new Combobox();
|
|
135
|
+
const changed = jest.fn();
|
|
136
|
+
combobox.options = [
|
|
137
|
+
{ label: 'Alice', value: 'alice' },
|
|
138
|
+
{ label: 'Bob', value: 'bob' },
|
|
139
|
+
{ label: 'Carol', value: 'carol' }
|
|
140
|
+
];
|
|
141
|
+
combobox.addEventListener('change', (event) => {
|
|
142
|
+
changed(event.detail);
|
|
143
|
+
});
|
|
144
|
+
document.body.appendChild(combobox);
|
|
145
|
+
await combobox.updateComplete;
|
|
146
|
+
const input = (_a = combobox.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('input.text-input');
|
|
147
|
+
input.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowDown', bubbles: true }));
|
|
148
|
+
await combobox.updateComplete;
|
|
149
|
+
expect(input.getAttribute('aria-expanded')).toBe('true');
|
|
150
|
+
expect(input.getAttribute('aria-activedescendant')).toBeTruthy();
|
|
151
|
+
input.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowDown', bubbles: true }));
|
|
152
|
+
await combobox.updateComplete;
|
|
153
|
+
input.dispatchEvent(new KeyboardEvent('keydown', { key: 'Enter', bubbles: true }));
|
|
154
|
+
await combobox.updateComplete;
|
|
155
|
+
expect(combobox.value).toBe('bob');
|
|
156
|
+
expect(combobox.inputValue).toBe('Bob');
|
|
157
|
+
expect(changed).toHaveBeenCalledWith({
|
|
158
|
+
value: 'bob',
|
|
159
|
+
label: 'Bob',
|
|
160
|
+
option: { label: 'Bob', value: 'bob' }
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
it('does not treat space as a selection while typing', async () => {
|
|
164
|
+
var _a;
|
|
165
|
+
const combobox = new Combobox();
|
|
166
|
+
combobox.options = [
|
|
167
|
+
{ label: 'Self Employed', value: 'self-employed' },
|
|
168
|
+
{ label: 'Microsoft', value: 'microsoft' }
|
|
169
|
+
];
|
|
170
|
+
document.body.appendChild(combobox);
|
|
171
|
+
await combobox.updateComplete;
|
|
172
|
+
const input = (_a = combobox.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('input.text-input');
|
|
173
|
+
input.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowDown', bubbles: true }));
|
|
174
|
+
await combobox.updateComplete;
|
|
175
|
+
const event = new KeyboardEvent('keydown', { key: ' ', bubbles: true, cancelable: true });
|
|
176
|
+
input.dispatchEvent(event);
|
|
177
|
+
await combobox.updateComplete;
|
|
178
|
+
expect(event.defaultPrevented).toBe(false);
|
|
179
|
+
expect(combobox.value).toBe('');
|
|
180
|
+
expect(input.getAttribute('aria-expanded')).toBe('true');
|
|
181
|
+
});
|
|
182
|
+
it('closes the popup when clicking outside the component', async () => {
|
|
183
|
+
var _a;
|
|
184
|
+
const combobox = new Combobox();
|
|
185
|
+
combobox.options = [
|
|
186
|
+
{ label: 'Alice', value: 'alice' },
|
|
187
|
+
{ label: 'Bob', value: 'bob' }
|
|
188
|
+
];
|
|
189
|
+
document.body.appendChild(combobox);
|
|
190
|
+
await combobox.updateComplete;
|
|
191
|
+
const input = (_a = combobox.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('input.text-input');
|
|
192
|
+
input.dispatchEvent(new Event('focus'));
|
|
193
|
+
await combobox.updateComplete;
|
|
194
|
+
expect(input.getAttribute('aria-expanded')).toBe('true');
|
|
195
|
+
expect(getPortalRoot()).not.toBeNull();
|
|
196
|
+
document.body.dispatchEvent(new Event('pointerdown', { bubbles: true, composed: true }));
|
|
197
|
+
await combobox.updateComplete;
|
|
198
|
+
expect(input.getAttribute('aria-expanded')).toBe('false');
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
//# sourceMappingURL=Combobox.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Combobox.test.js","sourceRoot":"","sources":["../../../../../src/v2/components/forms/combobox/Combobox.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comboboxTypes.d.ts","sourceRoot":"","sources":["../../../../../src/v2/components/forms/combobox/comboboxTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEpD,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comboboxTypes.js","sourceRoot":"","sources":["../../../../../src/v2/components/forms/combobox/comboboxTypes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/v2/components/forms/combobox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/v2/components/forms/combobox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,EAAE,QAAQ,EAAE,CAAA;AAEnB,MAAM,iBAAiB,GAAG,mBAAmB,CAAA;AAE7C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAC3C,cAAc,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAA;AACpD,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import { SelectOption } from '../shared/optionTypes';
|
|
3
|
+
export declare class Select extends LitElement {
|
|
4
|
+
private static _nextId;
|
|
5
|
+
private _popupPortalHost;
|
|
6
|
+
private _popupPortalRoot;
|
|
7
|
+
private _popupPortalContainer;
|
|
8
|
+
private readonly _handleDocumentPointerDown;
|
|
9
|
+
private readonly _handleViewportChange;
|
|
10
|
+
static properties: {
|
|
11
|
+
label: {
|
|
12
|
+
type: StringConstructor;
|
|
13
|
+
reflect: boolean;
|
|
14
|
+
};
|
|
15
|
+
theme: {
|
|
16
|
+
type: StringConstructor;
|
|
17
|
+
reflect: boolean;
|
|
18
|
+
};
|
|
19
|
+
options: {
|
|
20
|
+
type: ArrayConstructor;
|
|
21
|
+
attribute: boolean;
|
|
22
|
+
};
|
|
23
|
+
layout: {
|
|
24
|
+
type: StringConstructor;
|
|
25
|
+
reflect: boolean;
|
|
26
|
+
};
|
|
27
|
+
value: {
|
|
28
|
+
type: StringConstructor;
|
|
29
|
+
reflect: boolean;
|
|
30
|
+
};
|
|
31
|
+
_popupOpen: {
|
|
32
|
+
state: boolean;
|
|
33
|
+
};
|
|
34
|
+
_activeIndex: {
|
|
35
|
+
state: boolean;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
static styles: import("lit").CSSResult[];
|
|
39
|
+
label: string;
|
|
40
|
+
theme: 'light' | 'dark';
|
|
41
|
+
options: Array<SelectOption>;
|
|
42
|
+
layout: 'desktop' | 'mobile';
|
|
43
|
+
value: string;
|
|
44
|
+
_popupOpen: boolean;
|
|
45
|
+
_activeIndex: number;
|
|
46
|
+
private readonly _listboxId;
|
|
47
|
+
constructor();
|
|
48
|
+
connectedCallback(): void;
|
|
49
|
+
disconnectedCallback(): void;
|
|
50
|
+
protected updated(): void;
|
|
51
|
+
private _getPopupPortalContainer;
|
|
52
|
+
private _ensurePopupPortal;
|
|
53
|
+
private _detachPopupPortal;
|
|
54
|
+
private _updatePopupPosition;
|
|
55
|
+
private _closePopup;
|
|
56
|
+
private _getSelectedIndex;
|
|
57
|
+
private _getSelectedOption;
|
|
58
|
+
private _getDisplayedOptions;
|
|
59
|
+
private _getActiveOption;
|
|
60
|
+
private _selectValueFromDropdown;
|
|
61
|
+
private _selectActiveOption;
|
|
62
|
+
private _openPopup;
|
|
63
|
+
private _handleTriggerKeydown;
|
|
64
|
+
private _getOptionId;
|
|
65
|
+
private _renderPopup;
|
|
66
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/v2/components/forms/select/Select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,MAAM,KAAK,CAAA;AAI3C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAapD,qBAAa,MAAO,SAAQ,UAAU;IACpC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAI;IAC1B,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CA4B1C;IAED,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAGrC;IAED,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;MAQhB;IAED,MAAM,CAAC,MAAM,4BA+LZ;IAEO,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,OAAO,GAAG,MAAM,CAAA;IACvB,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;IAC5B,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,OAAO,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IAE5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgD;;IAa3E,iBAAiB;IAOjB,oBAAoB;IAQpB,SAAS,CAAC,OAAO;IAajB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,kBAAkB;IAkC1B,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,qBAAqB;IA4D7B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAsBpB,MAAM;CA0CP"}
|