solid-ui 3.0.6 → 3.1.1-test.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/README.md +146 -2
  2. package/dist/acl/access-groups.js +1 -1
  3. package/dist/components/button/index.d.ts +1 -0
  4. package/dist/components/button/index.esm.js +546 -0
  5. package/dist/components/button/index.esm.js.map +1 -0
  6. package/dist/components/button/index.esm.min.js +268 -0
  7. package/dist/components/button/index.esm.min.js.map +1 -0
  8. package/dist/components/button/index.js +428 -0
  9. package/dist/components/button/index.js.map +1 -0
  10. package/dist/components/button/index.min.js +257 -0
  11. package/dist/components/button/index.min.js.map +1 -0
  12. package/dist/components/combobox/index.d.ts +1 -0
  13. package/dist/components/combobox/index.esm.js +953 -0
  14. package/dist/components/combobox/index.esm.js.map +1 -0
  15. package/dist/components/combobox/index.esm.min.js +339 -0
  16. package/dist/components/combobox/index.esm.min.js.map +1 -0
  17. package/dist/components/combobox/index.js +782 -0
  18. package/dist/components/combobox/index.js.map +1 -0
  19. package/dist/components/combobox/index.min.js +328 -0
  20. package/dist/components/combobox/index.min.js.map +1 -0
  21. package/dist/components/footer/index.d.ts +1 -0
  22. package/dist/components/footer/index.esm.js +24406 -0
  23. package/dist/components/footer/index.esm.js.map +1 -0
  24. package/dist/components/footer/index.esm.min.js +137 -0
  25. package/dist/components/footer/index.esm.min.js.map +1 -0
  26. package/dist/components/footer/index.js +23303 -0
  27. package/dist/components/footer/index.js.map +1 -0
  28. package/dist/components/footer/index.min.js +125 -0
  29. package/dist/components/footer/index.min.js.map +1 -0
  30. package/dist/components/header/index.d.ts +1 -0
  31. package/dist/components/header/index.esm.js +1936 -0
  32. package/dist/components/header/index.esm.js.map +1 -0
  33. package/dist/components/header/index.esm.min.js +1125 -0
  34. package/dist/components/header/index.esm.min.js.map +1 -0
  35. package/dist/components/header/index.js +1897 -0
  36. package/dist/components/header/index.js.map +1 -0
  37. package/dist/components/header/index.min.js +1126 -0
  38. package/dist/components/header/index.min.js.map +1 -0
  39. package/dist/components/loginButton/index.d.ts +1 -0
  40. package/dist/components/loginButton/index.esm.js +761 -0
  41. package/dist/components/loginButton/index.esm.js.map +1 -0
  42. package/dist/components/loginButton/index.esm.min.js +444 -0
  43. package/dist/components/loginButton/index.esm.min.js.map +1 -0
  44. package/dist/components/loginButton/index.js +743 -0
  45. package/dist/components/loginButton/index.js.map +1 -0
  46. package/dist/components/loginButton/index.min.js +444 -0
  47. package/dist/components/loginButton/index.min.js.map +1 -0
  48. package/dist/components/photoCapture/index.d.ts +1 -0
  49. package/dist/components/photoCapture/index.esm.js +966 -0
  50. package/dist/components/photoCapture/index.esm.js.map +1 -0
  51. package/dist/components/photoCapture/index.esm.min.js +304 -0
  52. package/dist/components/photoCapture/index.esm.min.js.map +1 -0
  53. package/dist/components/photoCapture/index.js +848 -0
  54. package/dist/components/photoCapture/index.js.map +1 -0
  55. package/dist/components/photoCapture/index.min.js +293 -0
  56. package/dist/components/photoCapture/index.min.js.map +1 -0
  57. package/dist/components/select/index.d.ts +1 -0
  58. package/dist/components/select/index.esm.js +939 -0
  59. package/dist/components/select/index.esm.js.map +1 -0
  60. package/dist/components/select/index.esm.min.js +370 -0
  61. package/dist/components/select/index.esm.min.js.map +1 -0
  62. package/dist/components/select/index.js +771 -0
  63. package/dist/components/select/index.js.map +1 -0
  64. package/dist/components/select/index.min.js +359 -0
  65. package/dist/components/select/index.min.js.map +1 -0
  66. package/dist/components/signupButton/index.d.ts +1 -0
  67. package/dist/components/signupButton/index.esm.js +270 -0
  68. package/dist/components/signupButton/index.esm.js.map +1 -0
  69. package/dist/components/signupButton/index.esm.min.js +82 -0
  70. package/dist/components/signupButton/index.esm.min.js.map +1 -0
  71. package/dist/components/signupButton/index.js +264 -0
  72. package/dist/components/signupButton/index.js.map +1 -0
  73. package/dist/components/signupButton/index.min.js +82 -0
  74. package/dist/components/signupButton/index.min.js.map +1 -0
  75. package/dist/footer/index.d.ts.map +1 -1
  76. package/dist/footer/index.js +8 -4
  77. package/dist/footer/index.js.map +1 -1
  78. package/dist/icons/v2/icons-svg/contactIcons.d.ts +3 -0
  79. package/dist/icons/v2/icons-svg/contactIcons.d.ts.map +1 -0
  80. package/dist/icons/v2/icons-svg/contactIcons.js +27 -0
  81. package/dist/icons/v2/icons-svg/contactIcons.js.map +1 -0
  82. package/dist/icons/v2/icons-svg/headerIcons.d.ts +18 -0
  83. package/dist/icons/v2/icons-svg/headerIcons.d.ts.map +1 -0
  84. package/dist/icons/v2/icons-svg/headerIcons.js +245 -0
  85. package/dist/icons/v2/icons-svg/headerIcons.js.map +1 -0
  86. package/dist/icons/v2/icons-svg/pngIcons.d.ts +3 -0
  87. package/dist/icons/v2/icons-svg/pngIcons.d.ts.map +1 -0
  88. package/dist/icons/v2/icons-svg/pngIcons.js +4 -0
  89. package/dist/icons/v2/icons-svg/pngIcons.js.map +1 -0
  90. package/dist/icons/v2/icons-svg/profileIcons.d.ts +23 -0
  91. package/dist/icons/v2/icons-svg/profileIcons.d.ts.map +1 -0
  92. package/dist/icons/v2/icons-svg/profileIcons.js +317 -0
  93. package/dist/icons/v2/icons-svg/profileIcons.js.map +1 -0
  94. package/dist/login/login.d.ts.map +1 -1
  95. package/dist/login/login.js +12 -2
  96. package/dist/login/login.js.map +1 -1
  97. package/dist/matrix/matrix.js.map +1 -1
  98. package/dist/pad.d.ts.map +1 -1
  99. package/dist/pad.js +13 -13
  100. package/dist/pad.js.map +1 -1
  101. package/dist/solid-ui.esm.js +9627 -12206
  102. package/dist/solid-ui.esm.js.map +1 -1
  103. package/dist/solid-ui.esm.min.js +15 -14
  104. package/dist/solid-ui.esm.min.js.map +1 -1
  105. package/dist/solid-ui.js +12621 -14833
  106. package/dist/solid-ui.js.map +1 -1
  107. package/dist/solid-ui.min.js +23 -22
  108. package/dist/solid-ui.min.js.map +1 -1
  109. package/dist/tabs.js +2 -2
  110. package/dist/tabs.js.map +1 -1
  111. package/dist/utils/headerFooterHelpers.d.ts.map +1 -1
  112. package/dist/utils/headerFooterHelpers.js +11 -2
  113. package/dist/utils/headerFooterHelpers.js.map +1 -1
  114. package/dist/v2/components/actions/button/Button.d.ts +97 -0
  115. package/dist/v2/components/actions/button/Button.d.ts.map +1 -0
  116. package/dist/v2/components/actions/button/Button.js +325 -0
  117. package/dist/v2/components/actions/button/Button.js.map +1 -0
  118. package/dist/v2/components/actions/button/Button.test.d.ts +2 -0
  119. package/dist/v2/components/actions/button/Button.test.d.ts.map +1 -0
  120. package/dist/v2/components/actions/button/Button.test.js +117 -0
  121. package/dist/v2/components/actions/button/Button.test.js.map +1 -0
  122. package/dist/v2/components/actions/button/index.d.ts +8 -0
  123. package/dist/v2/components/actions/button/index.d.ts.map +1 -0
  124. package/dist/v2/components/actions/button/index.js +7 -0
  125. package/dist/v2/components/actions/button/index.js.map +1 -0
  126. package/dist/v2/components/auth/loginButton/LoginButton.d.ts +62 -0
  127. package/dist/v2/components/auth/loginButton/LoginButton.d.ts.map +1 -0
  128. package/dist/v2/components/auth/loginButton/LoginButton.js +539 -0
  129. package/dist/v2/components/auth/loginButton/LoginButton.js.map +1 -0
  130. package/dist/v2/components/auth/loginButton/LoginButton.test.d.ts +2 -0
  131. package/dist/v2/components/auth/loginButton/LoginButton.test.d.ts.map +1 -0
  132. package/dist/v2/components/auth/loginButton/LoginButton.test.js +53 -0
  133. package/dist/v2/components/auth/loginButton/LoginButton.test.js.map +1 -0
  134. package/dist/v2/components/auth/loginButton/downArrow.d.ts +2 -0
  135. package/dist/v2/components/auth/loginButton/downArrow.d.ts.map +1 -0
  136. package/dist/v2/components/auth/loginButton/downArrow.js +10 -0
  137. package/dist/v2/components/auth/loginButton/downArrow.js.map +1 -0
  138. package/dist/v2/components/auth/loginButton/index.d.ts +3 -0
  139. package/dist/v2/components/auth/loginButton/index.d.ts.map +1 -0
  140. package/dist/v2/components/auth/loginButton/index.js +7 -0
  141. package/dist/v2/components/auth/loginButton/index.js.map +1 -0
  142. package/dist/v2/components/auth/signupButton/SignupButton.d.ts +36 -0
  143. package/dist/v2/components/auth/signupButton/SignupButton.d.ts.map +1 -0
  144. package/dist/v2/components/auth/signupButton/SignupButton.js +84 -0
  145. package/dist/v2/components/auth/signupButton/SignupButton.js.map +1 -0
  146. package/dist/v2/components/auth/signupButton/SignupButton.test.d.ts +2 -0
  147. package/dist/v2/components/auth/signupButton/SignupButton.test.d.ts.map +1 -0
  148. package/dist/v2/components/auth/signupButton/SignupButton.test.js +49 -0
  149. package/dist/v2/components/auth/signupButton/SignupButton.test.js.map +1 -0
  150. package/dist/v2/components/auth/signupButton/index.d.ts +3 -0
  151. package/dist/v2/components/auth/signupButton/index.d.ts.map +1 -0
  152. package/dist/v2/components/auth/signupButton/index.js +7 -0
  153. package/dist/v2/components/auth/signupButton/index.js.map +1 -0
  154. package/dist/v2/components/forms/combobox/Combobox.d.ts +82 -0
  155. package/dist/v2/components/forms/combobox/Combobox.d.ts.map +1 -0
  156. package/dist/v2/components/forms/combobox/Combobox.js +506 -0
  157. package/dist/v2/components/forms/combobox/Combobox.js.map +1 -0
  158. package/dist/v2/components/forms/combobox/Combobox.test.d.ts +2 -0
  159. package/dist/v2/components/forms/combobox/Combobox.test.d.ts.map +1 -0
  160. package/dist/v2/components/forms/combobox/Combobox.test.js +201 -0
  161. package/dist/v2/components/forms/combobox/Combobox.test.js.map +1 -0
  162. package/dist/v2/components/forms/combobox/comboboxTypes.d.ts +6 -0
  163. package/dist/v2/components/forms/combobox/comboboxTypes.d.ts.map +1 -0
  164. package/dist/v2/components/forms/combobox/comboboxTypes.js +2 -0
  165. package/dist/v2/components/forms/combobox/comboboxTypes.js.map +1 -0
  166. package/dist/v2/components/forms/combobox/index.d.ts +3 -0
  167. package/dist/v2/components/forms/combobox/index.d.ts.map +1 -0
  168. package/dist/v2/components/forms/combobox/index.js +7 -0
  169. package/dist/v2/components/forms/combobox/index.js.map +1 -0
  170. package/dist/v2/components/forms/select/Select.d.ts +68 -0
  171. package/dist/v2/components/forms/select/Select.d.ts.map +1 -0
  172. package/dist/v2/components/forms/select/Select.js +499 -0
  173. package/dist/v2/components/forms/select/Select.js.map +1 -0
  174. package/dist/v2/components/forms/select/Select.test.d.ts +2 -0
  175. package/dist/v2/components/forms/select/Select.test.d.ts.map +1 -0
  176. package/dist/v2/components/forms/select/Select.test.js +168 -0
  177. package/dist/v2/components/forms/select/Select.test.js.map +1 -0
  178. package/dist/v2/components/forms/select/index.d.ts +3 -0
  179. package/dist/v2/components/forms/select/index.d.ts.map +1 -0
  180. package/dist/v2/components/forms/select/index.js +7 -0
  181. package/dist/v2/components/forms/select/index.js.map +1 -0
  182. package/dist/v2/components/forms/shared/downArrow.d.ts +2 -0
  183. package/dist/v2/components/forms/shared/downArrow.d.ts.map +1 -0
  184. package/dist/v2/components/forms/shared/downArrow.js +10 -0
  185. package/dist/v2/components/forms/shared/downArrow.js.map +1 -0
  186. package/dist/v2/components/forms/shared/keyboard.d.ts +7 -0
  187. package/dist/v2/components/forms/shared/keyboard.d.ts.map +1 -0
  188. package/dist/v2/components/forms/shared/keyboard.js +56 -0
  189. package/dist/v2/components/forms/shared/keyboard.js.map +1 -0
  190. package/dist/v2/components/forms/shared/listboxStyles.d.ts +2 -0
  191. package/dist/v2/components/forms/shared/listboxStyles.d.ts.map +1 -0
  192. package/dist/v2/components/forms/shared/listboxStyles.js +96 -0
  193. package/dist/v2/components/forms/shared/listboxStyles.js.map +1 -0
  194. package/dist/v2/components/forms/shared/listboxTemplate.d.ts +11 -0
  195. package/dist/v2/components/forms/shared/listboxTemplate.d.ts.map +1 -0
  196. package/dist/v2/components/forms/shared/listboxTemplate.js +37 -0
  197. package/dist/v2/components/forms/shared/listboxTemplate.js.map +1 -0
  198. package/dist/v2/components/forms/shared/optionTypes.d.ts +6 -0
  199. package/dist/v2/components/forms/shared/optionTypes.d.ts.map +1 -0
  200. package/dist/v2/components/forms/shared/optionTypes.js +2 -0
  201. package/dist/v2/components/forms/shared/optionTypes.js.map +1 -0
  202. package/dist/v2/components/layout/footer/Footer.d.ts +60 -0
  203. package/dist/v2/components/layout/footer/Footer.d.ts.map +1 -0
  204. package/dist/v2/components/layout/footer/Footer.js +148 -0
  205. package/dist/v2/components/layout/footer/Footer.js.map +1 -0
  206. package/dist/v2/components/layout/footer/Footer.test.d.ts +2 -0
  207. package/dist/v2/components/layout/footer/Footer.test.d.ts.map +1 -0
  208. package/dist/v2/components/layout/footer/Footer.test.js +53 -0
  209. package/dist/v2/components/layout/footer/Footer.test.js.map +1 -0
  210. package/dist/v2/components/layout/footer/index.d.ts +3 -0
  211. package/dist/v2/components/layout/footer/index.d.ts.map +1 -0
  212. package/dist/v2/components/layout/footer/index.js +7 -0
  213. package/dist/v2/components/layout/footer/index.js.map +1 -0
  214. package/dist/v2/components/layout/header/Header.d.ts +155 -0
  215. package/dist/v2/components/layout/header/Header.d.ts.map +1 -0
  216. package/dist/v2/components/layout/header/Header.js +845 -0
  217. package/dist/v2/components/layout/header/Header.js.map +1 -0
  218. package/dist/v2/components/layout/header/header.test.d.ts +2 -0
  219. package/dist/v2/components/layout/header/header.test.d.ts.map +1 -0
  220. package/dist/v2/components/layout/header/header.test.js +242 -0
  221. package/dist/v2/components/layout/header/header.test.js.map +1 -0
  222. package/dist/v2/components/layout/header/index.d.ts +4 -0
  223. package/dist/v2/components/layout/header/index.d.ts.map +1 -0
  224. package/dist/v2/components/layout/header/index.js +7 -0
  225. package/dist/v2/components/layout/header/index.js.map +1 -0
  226. package/dist/v2/components/media/photoCapture/PhotoCapture.d.ts +200 -0
  227. package/dist/v2/components/media/photoCapture/PhotoCapture.d.ts.map +1 -0
  228. package/dist/v2/components/media/photoCapture/PhotoCapture.js +723 -0
  229. package/dist/v2/components/media/photoCapture/PhotoCapture.js.map +1 -0
  230. package/dist/v2/components/media/photoCapture/PhotoCapture.test.d.ts +2 -0
  231. package/dist/v2/components/media/photoCapture/PhotoCapture.test.d.ts.map +1 -0
  232. package/dist/v2/components/media/photoCapture/PhotoCapture.test.js +157 -0
  233. package/dist/v2/components/media/photoCapture/PhotoCapture.test.js.map +1 -0
  234. package/dist/v2/components/media/photoCapture/index.d.ts +3 -0
  235. package/dist/v2/components/media/photoCapture/index.d.ts.map +1 -0
  236. package/dist/v2/components/media/photoCapture/index.js +7 -0
  237. package/dist/v2/components/media/photoCapture/index.js.map +1 -0
  238. package/dist/versionInfo.js +15 -15
  239. package/dist/widgets/buttons.d.ts +10 -3
  240. package/dist/widgets/buttons.d.ts.map +1 -1
  241. package/dist/widgets/buttons.js +81 -7
  242. package/dist/widgets/buttons.js.map +1 -1
  243. package/package.json +139 -46
@@ -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,6 @@
1
+ import { SelectOption } from '../shared/optionTypes';
2
+ export interface ComboboxSuggestion extends SelectOption {
3
+ publicId?: string;
4
+ meta?: Record<string, unknown>;
5
+ }
6
+ //# sourceMappingURL=comboboxTypes.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=comboboxTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comboboxTypes.js","sourceRoot":"","sources":["../../../../../src/v2/components/forms/combobox/comboboxTypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { Combobox } from './Combobox';
2
+ export { Combobox };
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,7 @@
1
+ import { Combobox } from './Combobox';
2
+ export { Combobox };
3
+ const COMBOBOX_TAG_NAME = 'solid-ui-combobox';
4
+ if (!customElements.get(COMBOBOX_TAG_NAME)) {
5
+ customElements.define(COMBOBOX_TAG_NAME, Combobox);
6
+ }
7
+ //# sourceMappingURL=index.js.map
@@ -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"}