solid-ui 3.1.3-5 → 3.1.3-7

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 (621) hide show
  1. package/dist/_virtual/~icons/lucide/chevron-down.cjs.js +1 -1
  2. package/dist/_virtual/~icons/lucide/chevron-down.esm.js +1 -0
  3. package/dist/_virtual/~icons/lucide/circle-user.cjs.js +1 -1
  4. package/dist/_virtual/~icons/lucide/circle-user.esm.js +1 -0
  5. package/dist/_virtual/~icons/lucide/log-in.cjs.js +1 -1
  6. package/dist/_virtual/~icons/lucide/log-in.esm.js +1 -0
  7. package/dist/_virtual/~icons/lucide/log-out.cjs.js +1 -1
  8. package/dist/_virtual/~icons/lucide/log-out.esm.js +1 -0
  9. package/dist/_virtual/~icons/lucide/user.cjs.js +1 -1
  10. package/dist/_virtual/~icons/lucide/user.esm.js +1 -0
  11. package/dist/_virtual/~icons/lucide/x.cjs.js +1 -1
  12. package/dist/_virtual/~icons/lucide/x.esm.js +1 -0
  13. package/dist/_virtual/~icons/svg-spinners/180-ring.cjs.js +1 -1
  14. package/dist/_virtual/~icons/svg-spinners/180-ring.esm.js +1 -0
  15. package/dist/acl/access-controller.cjs.js +1 -1
  16. package/dist/acl/access-controller.cjs.js.map +1 -1
  17. package/dist/acl/access-controller.esm.js.map +1 -1
  18. package/dist/acl/access-groups.cjs.js.map +1 -1
  19. package/dist/acl/access-groups.esm.js.map +1 -1
  20. package/dist/acl/acl-control.cjs.js +1 -1
  21. package/dist/acl/acl-control.cjs.js.map +1 -1
  22. package/dist/acl/acl-control.esm.js +1 -1
  23. package/dist/acl/acl-control.esm.js.map +1 -1
  24. package/dist/acl/acl.cjs.js.map +1 -1
  25. package/dist/acl/acl.esm.js.map +1 -1
  26. package/dist/acl/add-agent-buttons.cjs.js.map +1 -1
  27. package/dist/acl/add-agent-buttons.esm.js.map +1 -1
  28. package/dist/chat/bookmarks.cjs.js +1 -1
  29. package/dist/chat/bookmarks.cjs.js.map +1 -1
  30. package/dist/chat/bookmarks.esm.js +1 -1
  31. package/dist/chat/bookmarks.esm.js.map +1 -1
  32. package/dist/chat/chatLogic.cjs.js.map +1 -1
  33. package/dist/chat/chatLogic.esm.js.map +1 -1
  34. package/dist/chat/dateFolder.cjs.js +1 -1
  35. package/dist/chat/dateFolder.cjs.js.map +1 -1
  36. package/dist/chat/dateFolder.esm.js +1 -1
  37. package/dist/chat/dateFolder.esm.js.map +1 -1
  38. package/dist/chat/infinite.cjs.js +1 -1
  39. package/dist/chat/infinite.cjs.js.map +1 -1
  40. package/dist/chat/infinite.esm.js +1 -1
  41. package/dist/chat/infinite.esm.js.map +1 -1
  42. package/dist/chat/keys.cjs.js +1 -1
  43. package/dist/chat/keys.cjs.js.map +1 -1
  44. package/dist/chat/keys.esm.js +1 -1
  45. package/dist/chat/keys.esm.js.map +1 -1
  46. package/dist/chat/message.cjs.js +1 -1
  47. package/dist/chat/message.cjs.js.map +1 -1
  48. package/dist/chat/message.esm.js +24 -24
  49. package/dist/chat/message.esm.js.map +1 -1
  50. package/dist/chat/messageTools.cjs.js.map +1 -1
  51. package/dist/chat/messageTools.esm.js.map +1 -1
  52. package/dist/chat/signature.cjs.js +1 -1
  53. package/dist/chat/signature.cjs.js.map +1 -1
  54. package/dist/chat/signature.esm.js +1 -1
  55. package/dist/chunks/{menu-items-DKKcQrb6.js → DialogProvider-Bt65G0Tk.js} +157 -56
  56. package/dist/chunks/DialogProvider-Bt65G0Tk.js.map +1 -0
  57. package/dist/chunks/{account-B4BktCv0.js → account-BZ2rYQhV.js} +23 -26
  58. package/dist/chunks/account-BZ2rYQhV.js.map +1 -0
  59. package/dist/chunks/{auth-BPQUXz9Q.js → auth-RHyQ2iIl.js} +32 -29
  60. package/dist/chunks/auth-RHyQ2iIl.js.map +1 -0
  61. package/dist/chunks/{avatar-B5DCduCy.js → avatar-Jx8xm2Op.js} +8 -8
  62. package/dist/chunks/avatar-Jx8xm2Op.js.map +1 -0
  63. package/dist/chunks/{button-GHRF3psH.js → button-0s0lZdxm.js} +7 -7
  64. package/dist/chunks/{button-GHRF3psH.js.map → button-0s0lZdxm.js.map} +1 -1
  65. package/dist/chunks/chevron-down-ujxRg3MD.js +10 -0
  66. package/dist/chunks/chevron-down-ujxRg3MD.js.map +1 -0
  67. package/dist/chunks/chunk.K442ELDU-TtQSV9g1.js +1516 -0
  68. package/dist/chunks/chunk.K442ELDU-TtQSV9g1.js.map +1 -0
  69. package/dist/chunks/combobox-Cxi8xUMn.js +473 -0
  70. package/dist/chunks/combobox-Cxi8xUMn.js.map +1 -0
  71. package/dist/chunks/{combobox-option-CW1ZwMC7.js → combobox-option-DiR3VpyT.js} +4 -4
  72. package/dist/chunks/{combobox-option-CW1ZwMC7.js.map → combobox-option-DiR3VpyT.js.map} +1 -1
  73. package/dist/chunks/{components-Dlw2zOvI.js → components-C1LEhsaK.js} +85 -21
  74. package/dist/chunks/components-C1LEhsaK.js.map +1 -0
  75. package/dist/chunks/{create-context-IPEkU7ze.js → context-uE5jJlS0.js} +8 -4
  76. package/dist/chunks/context-uE5jJlS0.js.map +1 -0
  77. package/dist/chunks/{decorators-CJJL4XBH.js → decorators-BiCkPd_3.js} +28 -35
  78. package/dist/chunks/decorators-BiCkPd_3.js.map +1 -0
  79. package/dist/chunks/{dialog-DmDA1aY8.js → dialog-BAzrHJ8w.js} +106 -64
  80. package/dist/chunks/dialog-BAzrHJ8w.js.map +1 -0
  81. package/dist/chunks/{dialog-content-C8VhHg5G.js → dialog-content-fdJrkCyB.js} +3 -3
  82. package/dist/chunks/{dialog-content-C8VhHg5G.js.map → dialog-content-fdJrkCyB.js.map} +1 -1
  83. package/dist/chunks/{dialog-footer-CtHFoTZS.js → dialog-footer-Bs_p2Nn9.js} +3 -3
  84. package/dist/chunks/{dialog-footer-CtHFoTZS.js.map → dialog-footer-Bs_p2Nn9.js.map} +1 -1
  85. package/dist/chunks/{dialog-header-D9jjujFf.js → dialog-header-CWIAAoDo.js} +3 -3
  86. package/dist/chunks/{dialog-header-D9jjujFf.js.map → dialog-header-CWIAAoDo.js.map} +1 -1
  87. package/dist/chunks/{dialogs-root-C4igEIk0.js → dialogs-root-Cv932Aqm.js} +10 -9
  88. package/dist/chunks/dialogs-root-Cv932Aqm.js.map +1 -0
  89. package/dist/chunks/{footer-CS8u8ycB.js → footer-D64T6XLO.js} +8 -8
  90. package/dist/chunks/{footer-CS8u8ycB.js.map → footer-D64T6XLO.js.map} +1 -1
  91. package/dist/chunks/{guard-BIc50Lps.js → guard-CjUBGVDk.js} +5 -5
  92. package/dist/chunks/{guard-BIc50Lps.js.map → guard-CjUBGVDk.js.map} +1 -1
  93. package/dist/chunks/{header-0TLBh_PG.js → header-COBaJDdB.js} +41 -41
  94. package/dist/chunks/{header-0TLBh_PG.js.map → header-COBaJDdB.js.map} +1 -1
  95. package/dist/chunks/{headerFooterHelpers-5LYv-0Rt.js → headerFooterHelpers-7O_ln1QD.js} +2 -2
  96. package/dist/chunks/{headerFooterHelpers-5LYv-0Rt.js.map → headerFooterHelpers-7O_ln1QD.js.map} +1 -1
  97. package/dist/chunks/{combobox-eju-wypA.js → input-BF224Jid.js} +114 -113
  98. package/dist/chunks/input-BF224Jid.js.map +1 -0
  99. package/dist/chunks/{jsonld-DZG2v1pE.js → jsonld-DRZuoyoU.js} +54 -54
  100. package/dist/chunks/{jsonld-DZG2v1pE.js.map → jsonld-DRZuoyoU.js.map} +1 -1
  101. package/dist/chunks/{lit-CC2G_f_C.js → lit-C4H1jI4q.js} +110 -95
  102. package/dist/chunks/lit-C4H1jI4q.js.map +1 -0
  103. package/dist/chunks/{login-button-BKp1-O2q.js → login-button-DPeMi00d.js} +10 -7
  104. package/dist/chunks/login-button-DPeMi00d.js.map +1 -0
  105. package/dist/chunks/{logout-button-DlU-q-o5.js → logout-button-CbiLE7jO.js} +10 -7
  106. package/dist/chunks/logout-button-CbiLE7jO.js.map +1 -0
  107. package/dist/chunks/menu-DNcuV-1J.js +1741 -0
  108. package/dist/chunks/menu-DNcuV-1J.js.map +1 -0
  109. package/dist/chunks/{menu-item-DoTy3MUu.js → menu-item-Ck0l-uEI.js} +69 -55
  110. package/dist/chunks/menu-item-Ck0l-uEI.js.map +1 -0
  111. package/dist/chunks/{photo-capture-COoxZRW_.js → photo-capture-tiBsdSbA.js} +20 -20
  112. package/dist/chunks/{photo-capture-COoxZRW_.js.map → photo-capture-tiBsdSbA.js.map} +1 -1
  113. package/dist/chunks/{provider-uRz_fGWb.js → provider-C4eSzopG.js} +7 -7
  114. package/dist/chunks/{provider-uRz_fGWb.js.map → provider-C4eSzopG.js.map} +1 -1
  115. package/dist/chunks/select-D8dW53pr.js +292 -0
  116. package/dist/chunks/select-D8dW53pr.js.map +1 -0
  117. package/dist/chunks/select-option-B-6ULCpQ.js +195 -0
  118. package/dist/chunks/select-option-B-6ULCpQ.js.map +1 -0
  119. package/dist/chunks/{signup-button-BC4LmOXx.js → signup-button-BfIxbpwa.js} +10 -7
  120. package/dist/chunks/signup-button-BfIxbpwa.js.map +1 -0
  121. package/dist/chunks/{solid-logic.esm-7q6hmfIF.js → solid-logic.esm-T70qfHAr.js} +2521 -2504
  122. package/dist/chunks/solid-logic.esm-T70qfHAr.js.map +1 -0
  123. package/dist/chunks/{src-f1UXhE9W.js → src-Bx4GAnWq.js} +16 -17
  124. package/dist/chunks/{src-f1UXhE9W.js.map → src-Bx4GAnWq.js.map} +1 -1
  125. package/dist/components/account/Account.cjs.js +9 -11
  126. package/dist/components/account/Account.cjs.js.map +1 -1
  127. package/dist/components/account/Account.d.ts.map +1 -1
  128. package/dist/components/account/Account.esm.js +8 -11
  129. package/dist/components/account/Account.esm.js.map +1 -1
  130. package/dist/components/account/Account.styles.cjs.js +1 -1
  131. package/dist/components/account/Account.styles.cjs.js.map +1 -1
  132. package/dist/components/account/Account.styles.esm.js +1 -1
  133. package/dist/components/account/Account.styles.esm.js.map +1 -1
  134. package/dist/components/account/index.cjs.js +1 -1
  135. package/dist/components/account/index.esm.js +1 -1
  136. package/dist/components/account.js +1 -1
  137. package/dist/components/avatar/Avatar.cjs.js +1 -1
  138. package/dist/components/avatar/Avatar.cjs.js.map +1 -1
  139. package/dist/components/avatar/Avatar.esm.js +1 -1
  140. package/dist/components/avatar/Avatar.styles.cjs.js +1 -1
  141. package/dist/components/avatar/Avatar.styles.cjs.js.map +1 -1
  142. package/dist/components/avatar/Avatar.styles.esm.js +1 -1
  143. package/dist/components/avatar/Avatar.styles.esm.js.map +1 -1
  144. package/dist/components/avatar/index.cjs.js +1 -1
  145. package/dist/components/avatar/index.esm.js +1 -1
  146. package/dist/components/avatar.js +1 -1
  147. package/dist/components/button/Button.cjs.js +1 -1
  148. package/dist/components/button/Button.cjs.js.map +1 -1
  149. package/dist/components/button/Button.esm.js +1 -1
  150. package/dist/components/button/Button.esm.js.map +1 -1
  151. package/dist/components/button/index.cjs.js +1 -1
  152. package/dist/components/button/index.esm.js +3 -3
  153. package/dist/components/button.js +1 -1
  154. package/dist/components/combobox/Combobox.cjs.js +56 -15
  155. package/dist/components/combobox/Combobox.cjs.js.map +1 -1
  156. package/dist/components/combobox/Combobox.d.ts +27 -6
  157. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  158. package/dist/components/combobox/Combobox.esm.js +257 -87
  159. package/dist/components/combobox/Combobox.esm.js.map +1 -1
  160. package/dist/components/combobox/Combobox.styles.cjs.js +1 -1
  161. package/dist/components/combobox/Combobox.styles.cjs.js.map +1 -1
  162. package/dist/components/combobox/Combobox.styles.esm.js +1 -1
  163. package/dist/components/combobox/Combobox.styles.esm.js.map +1 -1
  164. package/dist/components/combobox/index.cjs.js +1 -1
  165. package/dist/components/combobox/index.esm.js +1 -1
  166. package/dist/components/combobox-option/ComboboxOption.cjs.js +1 -1
  167. package/dist/components/combobox-option/ComboboxOption.cjs.js.map +1 -1
  168. package/dist/components/combobox-option/ComboboxOption.esm.js +1 -1
  169. package/dist/components/combobox-option/index.cjs.js +1 -1
  170. package/dist/components/combobox-option/index.esm.js +1 -1
  171. package/dist/components/combobox-option.js +1 -1
  172. package/dist/components/combobox.js +1 -1
  173. package/dist/components/dialog/Dialog.cjs.js +2 -2
  174. package/dist/components/dialog/Dialog.cjs.js.map +1 -1
  175. package/dist/components/dialog/Dialog.d.ts +3 -1
  176. package/dist/components/dialog/Dialog.d.ts.map +1 -1
  177. package/dist/components/dialog/Dialog.esm.js +60 -61
  178. package/dist/components/dialog/Dialog.esm.js.map +1 -1
  179. package/dist/components/dialog/index.cjs.js +1 -1
  180. package/dist/components/dialog/index.esm.js +1 -1
  181. package/dist/components/dialog-content/DialogContent.cjs.js +1 -1
  182. package/dist/components/dialog-content/DialogContent.cjs.js.map +1 -1
  183. package/dist/components/dialog-content/DialogContent.esm.js +1 -1
  184. package/dist/components/dialog-content/DialogContent.esm.js.map +1 -1
  185. package/dist/components/dialog-content/index.cjs.js +1 -1
  186. package/dist/components/dialog-content/index.esm.js +1 -1
  187. package/dist/components/dialog-content.js +1 -1
  188. package/dist/components/dialog-footer/DialogFooter.cjs.js +1 -1
  189. package/dist/components/dialog-footer/DialogFooter.cjs.js.map +1 -1
  190. package/dist/components/dialog-footer/DialogFooter.esm.js +1 -1
  191. package/dist/components/dialog-footer/DialogFooter.esm.js.map +1 -1
  192. package/dist/components/dialog-footer/index.cjs.js +1 -1
  193. package/dist/components/dialog-footer/index.esm.js +1 -1
  194. package/dist/components/dialog-footer.js +1 -1
  195. package/dist/components/dialog-header/DialogHeader.cjs.js +1 -1
  196. package/dist/components/dialog-header/DialogHeader.cjs.js.map +1 -1
  197. package/dist/components/dialog-header/DialogHeader.esm.js +1 -1
  198. package/dist/components/dialog-header/DialogHeader.esm.js.map +1 -1
  199. package/dist/components/dialog-header/index.cjs.js +1 -1
  200. package/dist/components/dialog-header/index.esm.js +1 -1
  201. package/dist/components/dialog-header.js +1 -1
  202. package/dist/components/dialog-provider/DialogProvider.cjs.js +1 -1
  203. package/dist/components/dialog-provider/DialogProvider.cjs.js.map +1 -1
  204. package/dist/components/dialog-provider/DialogProvider.esm.js +2 -2
  205. package/dist/components/dialog-provider/DialogProvider.esm.js.map +1 -1
  206. package/dist/components/dialog-provider/index.cjs.js +1 -1
  207. package/dist/components/dialog-provider/index.esm.js +1 -1
  208. package/dist/components/dialog-provider.js +1 -1
  209. package/dist/components/dialog.js +1 -1
  210. package/dist/components/dialogs-root/DialogsRoot.cjs.js +2 -2
  211. package/dist/components/dialogs-root/DialogsRoot.cjs.js.map +1 -1
  212. package/dist/components/dialogs-root/DialogsRoot.d.ts.map +1 -1
  213. package/dist/components/dialogs-root/DialogsRoot.esm.js +5 -3
  214. package/dist/components/dialogs-root/DialogsRoot.esm.js.map +1 -1
  215. package/dist/components/dialogs-root/index.cjs.js +1 -1
  216. package/dist/components/dialogs-root/index.esm.js +1 -1
  217. package/dist/components/dialogs-root.js +1 -1
  218. package/dist/components/footer.js +1 -1
  219. package/dist/components/guard/Guard.cjs.js +1 -1
  220. package/dist/components/guard/Guard.cjs.js.map +1 -1
  221. package/dist/components/guard/Guard.esm.js +1 -1
  222. package/dist/components/guard/index.cjs.js +1 -1
  223. package/dist/components/guard/index.esm.js +1 -1
  224. package/dist/components/guard.js +1 -1
  225. package/dist/components/header.js +1 -1
  226. package/dist/components/index.cjs.js +1 -1
  227. package/dist/components/index.esm.js +2 -1
  228. package/dist/components/input/Input.cjs.js +17 -0
  229. package/dist/components/input/Input.cjs.js.map +1 -0
  230. package/dist/components/input/Input.d.ts +17 -0
  231. package/dist/components/input/Input.d.ts.map +1 -0
  232. package/dist/{chunks/menu-DCsLCND4.js → components/input/Input.esm.js} +157 -96
  233. package/dist/components/input/Input.esm.js.map +1 -0
  234. package/dist/components/input/Input.stories.d.ts +43 -0
  235. package/dist/components/input/Input.stories.d.ts.map +1 -0
  236. package/dist/components/input/Input.styles.cjs.js +2 -0
  237. package/dist/components/input/Input.styles.cjs.js.map +1 -0
  238. package/dist/components/input/Input.styles.esm.js +7 -0
  239. package/dist/components/input/Input.styles.esm.js.map +1 -0
  240. package/dist/components/input/index.cjs.js +2 -0
  241. package/dist/components/input/index.cjs.js.map +1 -0
  242. package/dist/components/input/index.d.ts +4 -0
  243. package/dist/components/input/index.d.ts.map +1 -0
  244. package/dist/components/input/index.esm.js +7 -0
  245. package/dist/components/input/index.esm.js.map +1 -0
  246. package/dist/components/input.js +2 -0
  247. package/dist/components/login-button/LoginButton.cjs.js +1 -1
  248. package/dist/components/login-button/LoginButton.cjs.js.map +1 -1
  249. package/dist/components/login-button/LoginButton.d.ts +1 -0
  250. package/dist/components/login-button/LoginButton.d.ts.map +1 -1
  251. package/dist/components/login-button/LoginButton.esm.js +5 -2
  252. package/dist/components/login-button/LoginButton.esm.js.map +1 -1
  253. package/dist/components/login-button/index.cjs.js +1 -1
  254. package/dist/components/login-button/index.esm.js +1 -1
  255. package/dist/components/login-button.js +1 -1
  256. package/dist/components/login-modal/LoginModal.cjs.js +1 -1
  257. package/dist/components/login-modal/LoginModal.cjs.js.map +1 -1
  258. package/dist/components/login-modal/LoginModal.esm.js +1 -1
  259. package/dist/components/login-modal/index.cjs.js +1 -1
  260. package/dist/components/login-modal/index.esm.js +1 -1
  261. package/dist/components/login-modal.js +1 -1
  262. package/dist/components/logout-button/LogoutButton.cjs.js +1 -1
  263. package/dist/components/logout-button/LogoutButton.cjs.js.map +1 -1
  264. package/dist/components/logout-button/LogoutButton.d.ts +1 -0
  265. package/dist/components/logout-button/LogoutButton.d.ts.map +1 -1
  266. package/dist/components/logout-button/LogoutButton.esm.js +5 -2
  267. package/dist/components/logout-button/LogoutButton.esm.js.map +1 -1
  268. package/dist/components/logout-button/index.cjs.js +1 -1
  269. package/dist/components/logout-button/index.esm.js +1 -1
  270. package/dist/components/logout-button.js +1 -1
  271. package/dist/components/menu/Menu.cjs.js +13 -8
  272. package/dist/components/menu/Menu.cjs.js.map +1 -1
  273. package/dist/components/menu/Menu.d.ts +13 -8
  274. package/dist/components/menu/Menu.d.ts.map +1 -1
  275. package/dist/components/menu/Menu.esm.js +132 -88
  276. package/dist/components/menu/Menu.esm.js.map +1 -1
  277. package/dist/components/menu/Menu.stories.d.ts.map +1 -1
  278. package/dist/components/menu/Menu.styles.cjs.js +2 -0
  279. package/dist/components/menu/Menu.styles.cjs.js.map +1 -0
  280. package/dist/components/menu/Menu.styles.esm.js +7 -0
  281. package/dist/components/menu/Menu.styles.esm.js.map +1 -0
  282. package/dist/components/menu/index.cjs.js +1 -1
  283. package/dist/components/menu/index.esm.js +1 -1
  284. package/dist/components/menu-item/MenuItem.cjs.js +5 -7
  285. package/dist/components/menu-item/MenuItem.cjs.js.map +1 -1
  286. package/dist/components/menu-item/MenuItem.d.ts +2 -0
  287. package/dist/components/menu-item/MenuItem.d.ts.map +1 -1
  288. package/dist/components/menu-item/MenuItem.esm.js +61 -47
  289. package/dist/components/menu-item/MenuItem.esm.js.map +1 -1
  290. package/dist/components/menu-item/MenuItem.styles.cjs.js +1 -1
  291. package/dist/components/menu-item/MenuItem.styles.cjs.js.map +1 -1
  292. package/dist/components/menu-item/MenuItem.styles.esm.js +1 -1
  293. package/dist/components/menu-item/MenuItem.styles.esm.js.map +1 -1
  294. package/dist/components/menu-item/index.cjs.js +1 -1
  295. package/dist/components/menu-item/index.esm.js +1 -1
  296. package/dist/components/menu-item.js +1 -1
  297. package/dist/components/menu.js +1 -1
  298. package/dist/components/photo-capture.js +1 -1
  299. package/dist/components/provider/Provider.cjs.js +1 -1
  300. package/dist/components/provider/Provider.cjs.js.map +1 -1
  301. package/dist/components/provider/Provider.esm.js +1 -1
  302. package/dist/components/provider/index.cjs.js +1 -1
  303. package/dist/components/provider/index.esm.js +1 -1
  304. package/dist/components/provider.js +1 -1
  305. package/dist/components/select/Select.cjs.js +21 -0
  306. package/dist/components/select/Select.cjs.js.map +1 -0
  307. package/dist/components/select/Select.d.ts +15 -0
  308. package/dist/components/select/Select.d.ts.map +1 -0
  309. package/dist/components/{menu-items/MenuItems.esm.js → select/Select.esm.js} +140 -65
  310. package/dist/components/select/Select.esm.js.map +1 -0
  311. package/dist/components/select/Select.stories.d.ts +27 -0
  312. package/dist/components/select/Select.stories.d.ts.map +1 -0
  313. package/dist/components/select/Select.styles.cjs.js +2 -0
  314. package/dist/components/select/Select.styles.cjs.js.map +1 -0
  315. package/dist/components/select/Select.styles.esm.js +7 -0
  316. package/dist/components/select/Select.styles.esm.js.map +1 -0
  317. package/dist/components/select/index.cjs.js +2 -1
  318. package/dist/components/select/index.cjs.js.map +1 -0
  319. package/dist/components/select/index.d.ts +3 -1
  320. package/dist/components/select/index.d.ts.map +1 -1
  321. package/dist/components/select/index.esm.js +7 -3
  322. package/dist/components/select/index.esm.js.map +1 -0
  323. package/dist/components/select-option/SelectOption.cjs.js +2 -0
  324. package/dist/components/select-option/SelectOption.cjs.js.map +1 -0
  325. package/dist/components/select-option/SelectOption.d.ts +6 -0
  326. package/dist/components/select-option/SelectOption.d.ts.map +1 -0
  327. package/dist/components/select-option/SelectOption.esm.js +194 -0
  328. package/dist/components/select-option/SelectOption.esm.js.map +1 -0
  329. package/dist/components/select-option/index.cjs.js +2 -0
  330. package/dist/components/select-option/index.cjs.js.map +1 -0
  331. package/dist/components/select-option/index.d.ts +4 -0
  332. package/dist/components/select-option/index.d.ts.map +1 -0
  333. package/dist/components/select-option/index.esm.js +7 -0
  334. package/dist/components/select-option/index.esm.js.map +1 -0
  335. package/dist/components/select-option.js +2 -0
  336. package/dist/components/select.js +2 -2
  337. package/dist/components/signup-button/SignupButton.cjs.js +1 -1
  338. package/dist/components/signup-button/SignupButton.cjs.js.map +1 -1
  339. package/dist/components/signup-button/SignupButton.d.ts +1 -0
  340. package/dist/components/signup-button/SignupButton.d.ts.map +1 -1
  341. package/dist/components/signup-button/SignupButton.esm.js +5 -2
  342. package/dist/components/signup-button/SignupButton.esm.js.map +1 -1
  343. package/dist/components/signup-button/index.cjs.js +1 -1
  344. package/dist/components/signup-button/index.esm.js +1 -1
  345. package/dist/components/signup-button.js +1 -1
  346. package/dist/components.js +24 -23
  347. package/dist/create/create.cjs.js.map +1 -1
  348. package/dist/create/create.esm.js.map +1 -1
  349. package/dist/create/index.cjs.js.map +1 -1
  350. package/dist/footer/index.cjs.js +1 -1
  351. package/dist/footer/index.esm.js +1 -1
  352. package/dist/header/index.cjs.js +1 -1
  353. package/dist/header/index.cjs.js.map +1 -1
  354. package/dist/header/index.esm.js +1 -1
  355. package/dist/header/index.esm.js.map +1 -1
  356. package/dist/index.cjs.js +1 -1
  357. package/dist/index.cjs.js.map +1 -1
  358. package/dist/index.d.ts +0 -1
  359. package/dist/index.d.ts.map +1 -1
  360. package/dist/index.esm.js +13 -13
  361. package/dist/index.esm.js.map +1 -1
  362. package/dist/index.js +7 -9
  363. package/dist/lib/auth/SolidAuth.cjs.js.map +1 -1
  364. package/dist/lib/auth/SolidAuth.esm.js.map +1 -1
  365. package/dist/lib/auth/context.cjs.js.map +1 -1
  366. package/dist/lib/auth/index.cjs.js +1 -1
  367. package/dist/lib/auth/index.esm.js +5 -4
  368. package/dist/lib/components/ids.cjs.js.map +1 -1
  369. package/dist/lib/components/ids.esm.js.map +1 -1
  370. package/dist/lib/components/index.cjs.js +1 -1
  371. package/dist/lib/components/index.d.ts +1 -0
  372. package/dist/lib/components/index.d.ts.map +1 -1
  373. package/dist/lib/components/index.esm.js +7 -3
  374. package/dist/lib/components/traits/DialogTrait.cjs.js +2 -0
  375. package/dist/lib/components/traits/DialogTrait.cjs.js.map +1 -0
  376. package/dist/lib/components/traits/DialogTrait.d.ts +13 -0
  377. package/dist/lib/components/traits/DialogTrait.d.ts.map +1 -0
  378. package/dist/lib/components/traits/DialogTrait.esm.js +16 -0
  379. package/dist/lib/components/traits/DialogTrait.esm.js.map +1 -0
  380. package/dist/lib/components/traits/InputTrait.cjs.js +2 -0
  381. package/dist/lib/components/traits/InputTrait.cjs.js.map +1 -0
  382. package/dist/lib/components/traits/InputTrait.d.ts +30 -0
  383. package/dist/lib/components/traits/InputTrait.d.ts.map +1 -0
  384. package/dist/lib/components/traits/InputTrait.esm.js +45 -0
  385. package/dist/lib/components/traits/InputTrait.esm.js.map +1 -0
  386. package/dist/lib/components/traits/WebComponentTrait.d.ts +11 -0
  387. package/dist/lib/components/traits/WebComponentTrait.d.ts.map +1 -0
  388. package/dist/lib/components/traits/index.cjs.js +1 -0
  389. package/dist/lib/components/traits/index.d.ts +6 -0
  390. package/dist/lib/components/traits/index.d.ts.map +1 -0
  391. package/dist/lib/components/traits/index.esm.js +3 -0
  392. package/dist/lib/components/web-component/WebComponent.cjs.js +1 -1
  393. package/dist/lib/components/web-component/WebComponent.cjs.js.map +1 -1
  394. package/dist/lib/components/web-component/WebComponent.d.ts +7 -0
  395. package/dist/lib/components/web-component/WebComponent.d.ts.map +1 -1
  396. package/dist/lib/components/web-component/WebComponent.esm.js +17 -6
  397. package/dist/lib/components/web-component/WebComponent.esm.js.map +1 -1
  398. package/dist/lib/components/web-component/WebComponent.styles.cjs.js.map +1 -1
  399. package/dist/lib/components/web-component/WebComponent.styles.esm.js.map +1 -1
  400. package/dist/lib/components/web-component/index.cjs.js +1 -1
  401. package/dist/lib/components/web-component/index.esm.js +2 -1
  402. package/dist/lib/dialogs/Dialog.cjs.js +1 -1
  403. package/dist/lib/dialogs/Dialog.cjs.js.map +1 -1
  404. package/dist/lib/dialogs/Dialog.d.ts +6 -1
  405. package/dist/lib/dialogs/Dialog.d.ts.map +1 -1
  406. package/dist/lib/dialogs/Dialog.esm.js +6 -2
  407. package/dist/lib/dialogs/Dialog.esm.js.map +1 -1
  408. package/dist/lib/dialogs/context.cjs.js +1 -1
  409. package/dist/lib/dialogs/context.cjs.js.map +1 -1
  410. package/dist/lib/dialogs/context.d.ts +3 -0
  411. package/dist/lib/dialogs/context.d.ts.map +1 -1
  412. package/dist/lib/dialogs/context.esm.js +4 -3
  413. package/dist/lib/dialogs/context.esm.js.map +1 -1
  414. package/dist/lib/dialogs/events/close-dialog.cjs.js +1 -1
  415. package/dist/lib/dialogs/events/close-dialog.cjs.js.map +1 -1
  416. package/dist/lib/dialogs/events/close-dialog.d.ts +2 -1
  417. package/dist/lib/dialogs/events/close-dialog.d.ts.map +1 -1
  418. package/dist/lib/dialogs/events/close-dialog.esm.js +3 -2
  419. package/dist/lib/dialogs/events/close-dialog.esm.js.map +1 -1
  420. package/dist/lib/dialogs/helpers.cjs.js +1 -1
  421. package/dist/lib/dialogs/helpers.cjs.js.map +1 -1
  422. package/dist/lib/dialogs/helpers.d.ts +2 -1
  423. package/dist/lib/dialogs/helpers.d.ts.map +1 -1
  424. package/dist/lib/dialogs/helpers.esm.js +3 -3
  425. package/dist/lib/dialogs/helpers.esm.js.map +1 -1
  426. package/dist/lib/dialogs/index.cjs.js +1 -1
  427. package/dist/lib/dialogs/index.esm.js +6 -5
  428. package/dist/lib/log.cjs.js +1 -1
  429. package/dist/lib/log.cjs.js.map +1 -1
  430. package/dist/lib/log.esm.js +1 -1
  431. package/dist/lib/log.esm.js.map +1 -1
  432. package/dist/lib/messageArea.cjs.js.map +1 -1
  433. package/dist/lib/messageArea.esm.js.map +1 -1
  434. package/dist/lib/ns.cjs.js.map +1 -1
  435. package/dist/lib/pad.cjs.js +1 -1
  436. package/dist/lib/pad.cjs.js.map +1 -1
  437. package/dist/lib/pad.esm.js +1 -1
  438. package/dist/lib/pad.esm.js.map +1 -1
  439. package/dist/lib/participation.cjs.js.map +1 -1
  440. package/dist/lib/participation.esm.js.map +1 -1
  441. package/dist/lib/preferences.cjs.js +1 -1
  442. package/dist/lib/preferences.cjs.js.map +1 -1
  443. package/dist/lib/preferences.esm.js +1 -1
  444. package/dist/lib/preferences.esm.js.map +1 -1
  445. package/dist/lib/table.cjs.js.map +1 -1
  446. package/dist/lib/table.esm.js.map +1 -1
  447. package/dist/lib/tabs.cjs.js +1 -1
  448. package/dist/lib/tabs.cjs.js.map +1 -1
  449. package/dist/lib/tabs.esm.js +1 -1
  450. package/dist/lib/tabs.esm.js.map +1 -1
  451. package/dist/loader.js +7 -9
  452. package/dist/login/login.cjs.js +1 -1
  453. package/dist/login/login.cjs.js.map +1 -1
  454. package/dist/login/login.esm.js +1 -1
  455. package/dist/login/login.esm.js.map +1 -1
  456. package/dist/matrix/index.cjs.js.map +1 -1
  457. package/dist/matrix/matrix.cjs.js.map +1 -1
  458. package/dist/matrix/matrix.esm.js.map +1 -1
  459. package/dist/media/media-capture.cjs.js.map +1 -1
  460. package/dist/media/media-capture.esm.js.map +1 -1
  461. package/dist/signup/signup.cjs.js.map +1 -1
  462. package/dist/signup/signup.esm.js.map +1 -1
  463. package/dist/solid-ui.js +1053 -446
  464. package/dist/solid-ui.min.js +1053 -446
  465. package/dist/solid-ui.min.js.map +1 -1
  466. package/dist/theme.css +1 -1
  467. package/dist/utils/headerFooterHelpers.cjs.js.map +1 -1
  468. package/dist/utils/headerFooterHelpers.esm.js.map +1 -1
  469. package/dist/utils/index.cjs.js +2 -2
  470. package/dist/utils/index.cjs.js.map +1 -1
  471. package/dist/utils/index.esm.js +1 -1
  472. package/dist/utils/index.esm.js.map +1 -1
  473. package/dist/utils/keyHelpers/accessData.cjs.js +1 -1
  474. package/dist/utils/keyHelpers/accessData.cjs.js.map +1 -1
  475. package/dist/utils/keyHelpers/accessData.esm.js +1 -1
  476. package/dist/utils/keyHelpers/accessData.esm.js.map +1 -1
  477. package/dist/utils/keyHelpers/acl.cjs.js.map +1 -1
  478. package/dist/utils/keyHelpers/acl.esm.js.map +1 -1
  479. package/dist/utils/keyHelpers/otherHelpers.cjs.js.map +1 -1
  480. package/dist/utils/keyHelpers/otherHelpers.esm.js.map +1 -1
  481. package/dist/utils/label.cjs.js.map +1 -1
  482. package/dist/utils/label.esm.js.map +1 -1
  483. package/dist/v2/components/auth/loginButton/LoginButton.cjs.js.map +1 -1
  484. package/dist/v2/components/auth/loginButton/LoginButton.esm.js.map +1 -1
  485. package/dist/v2/components/auth/loginButton/downArrow.cjs.js.map +1 -1
  486. package/dist/v2/components/auth/loginButton/index.cjs.js +1 -1
  487. package/dist/v2/components/auth/loginButton/index.esm.js +1 -0
  488. package/dist/v2/components/auth/signupButton/index.cjs.js +1 -1
  489. package/dist/v2/components/auth/signupButton/index.esm.js +1 -0
  490. package/dist/v2/components/layout/footer/index.cjs.js +1 -1
  491. package/dist/v2/components/layout/footer/index.esm.js +1 -0
  492. package/dist/v2/components/layout/header/Header.cjs.js.map +1 -1
  493. package/dist/v2/components/layout/header/Header.esm.js.map +1 -1
  494. package/dist/v2/components/layout/header/index.cjs.js +1 -1
  495. package/dist/v2/components/layout/header/index.esm.js +1 -0
  496. package/dist/v2/components/media/photoCapture/PhotoCapture.cjs.js.map +1 -1
  497. package/dist/v2/components/media/photoCapture/PhotoCapture.esm.js.map +1 -1
  498. package/dist/v2/components/media/photoCapture/index.cjs.js +1 -1
  499. package/dist/v2/components/media/photoCapture/index.esm.js +1 -0
  500. package/dist/widgets/buttons/iconLinks.cjs.js.map +1 -1
  501. package/dist/widgets/buttons/iconLinks.esm.js.map +1 -1
  502. package/dist/widgets/buttons.cjs.js.map +1 -1
  503. package/dist/widgets/buttons.esm.js.map +1 -1
  504. package/dist/widgets/dragAndDrop.cjs.js.map +1 -1
  505. package/dist/widgets/dragAndDrop.esm.js.map +1 -1
  506. package/dist/widgets/error.cjs.js.map +1 -1
  507. package/dist/widgets/error.esm.js.map +1 -1
  508. package/dist/widgets/forms/autocomplete/autocompleteField.cjs.js.map +1 -1
  509. package/dist/widgets/forms/autocomplete/autocompleteField.esm.js.map +1 -1
  510. package/dist/widgets/forms/autocomplete/autocompletePicker.cjs.js.map +1 -1
  511. package/dist/widgets/forms/autocomplete/autocompletePicker.esm.js.map +1 -1
  512. package/dist/widgets/forms/autocomplete/language.cjs.js +1 -1
  513. package/dist/widgets/forms/autocomplete/language.cjs.js.map +1 -1
  514. package/dist/widgets/forms/autocomplete/language.esm.js +1 -1
  515. package/dist/widgets/forms/autocomplete/language.esm.js.map +1 -1
  516. package/dist/widgets/forms/autocomplete/publicData.cjs.js +1 -1
  517. package/dist/widgets/forms/autocomplete/publicData.cjs.js.map +1 -1
  518. package/dist/widgets/forms/autocomplete/publicData.esm.js +1 -1
  519. package/dist/widgets/forms/autocomplete/publicData.esm.js.map +1 -1
  520. package/dist/widgets/forms/basic.cjs.js.map +1 -1
  521. package/dist/widgets/forms/basic.esm.js.map +1 -1
  522. package/dist/widgets/forms/fieldFunction.cjs.js.map +1 -1
  523. package/dist/widgets/forms/fieldParams.cjs.js.map +1 -1
  524. package/dist/widgets/forms/fieldParams.esm.js.map +1 -1
  525. package/dist/widgets/forms/formStyle.cjs.js.map +1 -1
  526. package/dist/widgets/forms/formStyle.esm.js.map +1 -1
  527. package/dist/widgets/forms.cjs.js +1 -1
  528. package/dist/widgets/forms.cjs.js.map +1 -1
  529. package/dist/widgets/forms.esm.js +1 -1
  530. package/dist/widgets/forms.esm.js.map +1 -1
  531. package/dist/widgets/index.cjs.js +1 -1
  532. package/dist/widgets/index.esm.js +65 -65
  533. package/dist/widgets/multiSelect.cjs.js.map +1 -1
  534. package/dist/widgets/multiSelect.esm.js.map +1 -1
  535. package/dist/widgets/peoplePicker.cjs.js.map +1 -1
  536. package/dist/widgets/peoplePicker.esm.js.map +1 -1
  537. package/dist/widgets/widgetHelpers.cjs.js.map +1 -1
  538. package/dist/widgets/widgetHelpers.esm.js.map +1 -1
  539. package/package.json +9 -10
  540. package/dist/chunks/DialogProvider-BbWGIFN5.js +0 -211
  541. package/dist/chunks/DialogProvider-BbWGIFN5.js.map +0 -1
  542. package/dist/chunks/account-B4BktCv0.js.map +0 -1
  543. package/dist/chunks/auth-BPQUXz9Q.js.map +0 -1
  544. package/dist/chunks/avatar-B5DCduCy.js.map +0 -1
  545. package/dist/chunks/close-dialog-qpl1X44Q.js +0 -14
  546. package/dist/chunks/close-dialog-qpl1X44Q.js.map +0 -1
  547. package/dist/chunks/combobox-eju-wypA.js.map +0 -1
  548. package/dist/chunks/components-Dlw2zOvI.js.map +0 -1
  549. package/dist/chunks/consume-BefsVEGX.js +0 -49
  550. package/dist/chunks/consume-BefsVEGX.js.map +0 -1
  551. package/dist/chunks/context-ChcZyr30.js +0 -7
  552. package/dist/chunks/context-ChcZyr30.js.map +0 -1
  553. package/dist/chunks/context-ImtIQIYP.js +0 -7
  554. package/dist/chunks/context-ImtIQIYP.js.map +0 -1
  555. package/dist/chunks/create-context-IPEkU7ze.js.map +0 -1
  556. package/dist/chunks/decorators-CJJL4XBH.js.map +0 -1
  557. package/dist/chunks/dialog-DmDA1aY8.js.map +0 -1
  558. package/dist/chunks/dialogs-root-C4igEIk0.js.map +0 -1
  559. package/dist/chunks/lit-CC2G_f_C.js.map +0 -1
  560. package/dist/chunks/login-button-BKp1-O2q.js.map +0 -1
  561. package/dist/chunks/logout-button-DlU-q-o5.js.map +0 -1
  562. package/dist/chunks/menu-DCsLCND4.js.map +0 -1
  563. package/dist/chunks/menu-item-DoTy3MUu.js.map +0 -1
  564. package/dist/chunks/menu-items-DKKcQrb6.js.map +0 -1
  565. package/dist/chunks/provide-CqCWUUfi.js +0 -113
  566. package/dist/chunks/provide-CqCWUUfi.js.map +0 -1
  567. package/dist/chunks/select-bVnWqF4c.js +0 -560
  568. package/dist/chunks/select-bVnWqF4c.js.map +0 -1
  569. package/dist/chunks/signup-button-BC4LmOXx.js.map +0 -1
  570. package/dist/chunks/solid-logic.esm-7q6hmfIF.js.map +0 -1
  571. package/dist/components/menu-items/MenuItems.cjs.js +0 -6
  572. package/dist/components/menu-items/MenuItems.cjs.js.map +0 -1
  573. package/dist/components/menu-items/MenuItems.d.ts +0 -8
  574. package/dist/components/menu-items/MenuItems.d.ts.map +0 -1
  575. package/dist/components/menu-items/MenuItems.esm.js.map +0 -1
  576. package/dist/components/menu-items/MenuItems.styles.cjs.js +0 -2
  577. package/dist/components/menu-items/MenuItems.styles.cjs.js.map +0 -1
  578. package/dist/components/menu-items/MenuItems.styles.esm.js +0 -7
  579. package/dist/components/menu-items/MenuItems.styles.esm.js.map +0 -1
  580. package/dist/components/menu-items/index.cjs.js +0 -2
  581. package/dist/components/menu-items/index.cjs.js.map +0 -1
  582. package/dist/components/menu-items/index.d.ts +0 -4
  583. package/dist/components/menu-items/index.d.ts.map +0 -1
  584. package/dist/components/menu-items/index.esm.js +0 -7
  585. package/dist/components/menu-items/index.esm.js.map +0 -1
  586. package/dist/components/menu-items.js +0 -2
  587. package/dist/lib/menus/context.cjs.js +0 -2
  588. package/dist/lib/menus/context.cjs.js.map +0 -1
  589. package/dist/lib/menus/context.d.ts +0 -7
  590. package/dist/lib/menus/context.d.ts.map +0 -1
  591. package/dist/lib/menus/context.esm.js +0 -7
  592. package/dist/lib/menus/context.esm.js.map +0 -1
  593. package/dist/lib/menus/index.cjs.js +0 -1
  594. package/dist/lib/menus/index.d.ts +0 -2
  595. package/dist/lib/menus/index.d.ts.map +0 -1
  596. package/dist/lib/menus/index.esm.js +0 -1
  597. package/dist/solid-ui.js.map +0 -1
  598. package/dist/v2/components/forms/select/Select.cjs.js +0 -225
  599. package/dist/v2/components/forms/select/Select.cjs.js.map +0 -1
  600. package/dist/v2/components/forms/select/Select.esm.js +0 -394
  601. package/dist/v2/components/forms/select/Select.esm.js.map +0 -1
  602. package/dist/v2/components/forms/select/index.cjs.js +0 -2
  603. package/dist/v2/components/forms/select/index.cjs.js.map +0 -1
  604. package/dist/v2/components/forms/select/index.esm.js +0 -7
  605. package/dist/v2/components/forms/select/index.esm.js.map +0 -1
  606. package/dist/v2/components/forms/shared/downArrow.cjs.js +0 -9
  607. package/dist/v2/components/forms/shared/downArrow.cjs.js.map +0 -1
  608. package/dist/v2/components/forms/shared/downArrow.esm.js +0 -14
  609. package/dist/v2/components/forms/shared/downArrow.esm.js.map +0 -1
  610. package/dist/v2/components/forms/shared/keyboard.cjs.js +0 -2
  611. package/dist/v2/components/forms/shared/keyboard.cjs.js.map +0 -1
  612. package/dist/v2/components/forms/shared/keyboard.esm.js +0 -34
  613. package/dist/v2/components/forms/shared/keyboard.esm.js.map +0 -1
  614. package/dist/v2/components/forms/shared/listboxStyles.cjs.js +0 -95
  615. package/dist/v2/components/forms/shared/listboxStyles.cjs.js.map +0 -1
  616. package/dist/v2/components/forms/shared/listboxStyles.esm.js +0 -100
  617. package/dist/v2/components/forms/shared/listboxStyles.esm.js.map +0 -1
  618. package/dist/v2/components/forms/shared/listboxTemplate.cjs.js +0 -24
  619. package/dist/v2/components/forms/shared/listboxTemplate.cjs.js.map +0 -1
  620. package/dist/v2/components/forms/shared/listboxTemplate.esm.js +0 -37
  621. package/dist/v2/components/forms/shared/listboxTemplate.esm.js.map +0 -1
@@ -1,225 +0,0 @@
1
- const e=require("../shared/downArrow.cjs.js"),t=require("../shared/listboxTemplate.cjs.js"),n=require("../shared/listboxStyles.cjs.js"),r=require("../shared/keyboard.cjs.js");let i=require("lit"),a=require("lit/html.js");var o=class o extends i.LitElement{static _nextId=0;_popupPortalHost=null;_popupPortalRoot=null;_popupPortalContainer=null;_handleDocumentPointerDown=e=>{let t=e.target;if(!this._popupOpen||!(t instanceof Node))return;let n=`composedPath`in e?e.composedPath():[];n.includes(this)||this._popupPortalHost&&n.includes(this._popupPortalHost)||this._popupPortalRoot&&n.includes(this._popupPortalRoot)||this.contains(t)||this._closePopup()};_handleViewportChange=()=>{this._popupOpen&&this._updatePopupPosition()};static properties={label:{type:String,reflect:!0},theme:{type:String,reflect:!0},options:{type:Array,attribute:!1},layout:{type:String,reflect:!0},value:{type:String,reflect:!0},_popupOpen:{state:!0},_activeIndex:{state:!0}};static styles=[n.listboxStyles,i.css`
2
- :host {
3
- /* default theme */
4
- display: block;
5
- width: 100%;
6
- min-width: 0;
7
- max-width: 100%;
8
- position: relative;
9
- z-index: var(--select-z-index, 400);
10
- box-sizing: border-box;
11
- --select-open-z-index: 1000;
12
- --select-popup-z-index: 1001;
13
- --select-popup-background: var(--color-background, #f8f9fb);
14
- --select-trigger-background: var(--color-background, #f8f9fb);
15
- --select-trigger-toggle-hover-background: var(
16
- --color-header-menu-item-hover,
17
- #e6dcff
18
- );
19
- --input-background: var(--color-background, #f8f9fb);
20
- --input-text: var(--color-text, #1a1a1a);
21
- --input-border: var(--color-border-button-hover, var(--gray-400, #99A1AF));
22
- --label-color: var(--grey-purple-700, #1a1a1a);
23
- --placeholder-color: var(--grey-purple-700, #5e546d);
24
- --select-trigger-text: var(--input-text);
25
- --popup-background: var(--select-popup-background);
26
- --popup-text: var(--color-text, #1a1a1a);
27
- --popup-border: var(--color-border, #e5e7eb);
28
- --popup-shadow: var(
29
- --box-shadow-sm,
30
- 0 1px 4px rgba(124, 77, 255, 0.12)
31
- );
32
- }
33
-
34
- :host([theme='dark']) {
35
- display: block;
36
- width: 100%;
37
- min-width: 0;
38
- max-width: 100%;
39
- position: relative;
40
- z-index: var(--select-z-index, 900);
41
- box-sizing: border-box;
42
- --select-open-z-index: 1000;
43
- --select-popup-z-index: 1001;
44
- --select-popup-background: var(--color-background, #1a1a1a);
45
- --select-trigger-background: var(--color-background, #1a1a1a);
46
- --select-trigger-toggle-hover-background: var(
47
- --color-header-menu-item-hover,
48
- #e6dcff
49
- );
50
- --input-background: var(--color-background, #1a1a1a);
51
- --input-text: var(--color-text, #f8f9fb);
52
- --input-border: var(--color-border-button-hover, var(--gray-400, #99A1AF));
53
- --label-color: var(--grey-purple-700, #f8f9fb);
54
- --placeholder-color: var(--grey-purple-700, #c7bfd3);
55
- --select-trigger-text: var(--input-text);
56
- --popup-background: var(--select-popup-background);
57
- --popup-text: var(--color-text, #f8f9fb);
58
- --popup-border: var(--color-border, #e5e7eb);
59
- --popup-shadow: var(
60
- --box-shadow-sm,
61
- 0 1px 4px rgba(124, 77, 255, 0.12)
62
- );
63
- }
64
-
65
- :host([popup-open]) {
66
- z-index: var(--select-open-z-index);
67
- }
68
-
69
- .select-field-row {
70
- display: flex;
71
- flex-direction: row;
72
- position: relative;
73
- width: 100%;
74
- min-width: 0;
75
- }
76
-
77
- .select-trigger {
78
- display: block;
79
- position: relative;
80
- width: 100%;
81
- min-width: 0;
82
- min-height: var(--select-trigger-height, var(--min-touch-target, 44px));
83
- height: var(--select-trigger-height, var(--min-touch-target, 44px));
84
- padding: var(--spacing-xxs, 0.3125rem)
85
- calc(26px + (var(--select-trigger-inline-padding, var(--spacing-2xs, 0.625rem)) * 2) + 6px)
86
- var(--spacing-xxs, 0.3125rem)
87
- var(--select-trigger-inline-padding, var(--spacing-2xs, 0.625rem));
88
- border-radius: var(--border-radius-base, 0.3125rem);
89
- background: var(--select-trigger-background);
90
- border: 1px solid var(--input-border);
91
- color: var(--select-trigger-text);
92
- cursor: pointer;
93
- appearance: none;
94
- -webkit-appearance: none;
95
- font-family: inherit;
96
- font-size: var(--font-size-sm, 0.875rem);
97
- font-weight: var(--font-weight-md, 500);
98
- line-height: normal;
99
- text-align: left;
100
- white-space: nowrap;
101
- text-decoration: none;
102
- box-sizing: border-box;
103
- }
104
-
105
- .select-trigger:focus-visible {
106
- outline: 2px solid var(--color-focus-ring, var(--color-primary, #7C4DFF));
107
- outline-offset: 2px;
108
- }
109
-
110
- .select-trigger-label {
111
- display: block;
112
- text-align: left;
113
- overflow: hidden;
114
- text-overflow: ellipsis;
115
- }
116
-
117
- .select-trigger-toggle {
118
- position: absolute;
119
- right: 6px;
120
- top: 50%;
121
- transform: translateY(-50%);
122
- display: flex;
123
- align-items: center;
124
- justify-content: center;
125
- width: 26px;
126
- height: 26px;
127
- padding: 0;
128
- border: none;
129
- background: transparent;
130
- cursor: pointer;
131
- border-radius: var(--border-radius-base, 0.3125rem);
132
- flex-shrink: 0;
133
- }
134
-
135
- .select-trigger-toggle:hover {
136
- background: var(
137
- --select-trigger-toggle-hover-background,
138
- var(--color-header-menu-item-hover, #e6dcff)
139
- );
140
- }
141
-
142
- .select-field-row:focus-within .select-trigger-toggle {
143
- background: var(
144
- --select-trigger-toggle-hover-background,
145
- var(--color-header-menu-item-hover, #e6dcff)
146
- );
147
- }
148
-
149
- .select-trigger-icon {
150
- display: inline-flex;
151
- flex: 0 0 auto;
152
- align-items: center;
153
- justify-content: center;
154
- width: 0.75rem;
155
- height: 0.4375rem;
156
- pointer-events: none;
157
- }
158
-
159
- .select-trigger-icon svg {
160
- width: 100%;
161
- height: 100%;
162
- display: block;
163
- }
164
-
165
- .select-options-section {
166
- position: relative;
167
- background: var(--popup-background);
168
- border-radius: inherit;
169
- isolation: isolate;
170
- }
171
-
172
- .popup-box {
173
- position: absolute;
174
- top: 0;
175
- left: 0;
176
- width: 100%;
177
- min-width: 100%;
178
- background: var(--popup-background);
179
- opacity: 1;
180
- overflow: hidden;
181
- color: var(--popup-text);
182
- box-shadow: var(--popup-shadow);
183
- border: 1px solid var(--popup-border);
184
- border-radius: var(--border-radius-md, 0.5rem);
185
- box-sizing: border-box;
186
- isolation: isolate;
187
- z-index: var(--select-popup-z-index);
188
- }
189
- `];_listboxId=`solid-ui-select-listbox-${o._nextId++}`;constructor(){super(),this.label=`Select an option`,this.theme=`light`,this.options=[],this.layout=`desktop`,this.value=``,this._popupOpen=!1,this._activeIndex=-1}connectedCallback(){super.connectedCallback(),document.addEventListener(`pointerdown`,this._handleDocumentPointerDown),window.addEventListener(`resize`,this._handleViewportChange),window.addEventListener(`scroll`,this._handleViewportChange,!0)}disconnectedCallback(){this._detachPopupPortal(),document.removeEventListener(`pointerdown`,this._handleDocumentPointerDown),window.removeEventListener(`resize`,this._handleViewportChange),window.removeEventListener(`scroll`,this._handleViewportChange,!0),super.disconnectedCallback()}updated(){this.toggleAttribute(`popup-open`,this._popupOpen),this._popupOpen?(this._updatePopupPosition(),this._popupPortalRoot&&(0,a.render)(this._renderPopup(),this._popupPortalRoot)):this._popupPortalRoot&&(0,a.render)(null,this._popupPortalRoot)}_getPopupPortalContainer(){return this.closest(`dialog[open]`)||document.body}_ensurePopupPortal(){let e=this._getPopupPortalContainer();if(this._popupPortalHost&&this._popupPortalRoot&&this._popupPortalContainer===e)return;this._detachPopupPortal(),this._popupPortalHost=document.createElement(`div`),this._popupPortalHost.setAttribute(`data-solid-ui-select-portal`,``),this._popupPortalHost.style.position=`fixed`,this._popupPortalHost.style.inset=`0 auto auto 0`,this._popupPortalHost.style.zIndex=`2147483647`,this._popupPortalHost.style.pointerEvents=`none`,this._popupPortalHost.style.boxSizing=`border-box`,this._popupPortalRoot=this._popupPortalHost.attachShadow({mode:`open`});let t=(Array.isArray(o.styles)?o.styles:[o.styles]).map(e=>e?.styleSheet).filter(e=>!!e);t.length>0&&(this._popupPortalRoot.adoptedStyleSheets=t),e.appendChild(this._popupPortalHost),this._popupPortalContainer=e}_detachPopupPortal(){this._popupPortalRoot&&(0,a.render)(null,this._popupPortalRoot),this._popupPortalHost?.parentNode&&this._popupPortalHost.parentNode.removeChild(this._popupPortalHost),this._popupPortalHost=null,this._popupPortalRoot=null,this._popupPortalContainer=null}_updatePopupPosition(){this._ensurePopupPortal();let e=this.getBoundingClientRect(),t=Math.min(288,Math.max(120,window.innerHeight-e.bottom-12));this._popupPortalHost&&(this._popupPortalHost.style.top=`${Math.round(e.bottom+2)}px`,this._popupPortalHost.style.left=`${Math.round(e.left)}px`,this._popupPortalHost.style.width=`${Math.round(e.width)}px`,this._popupPortalHost.style.maxHeight=`${Math.round(t)}px`,this._popupPortalHost.style.height=`0px`)}_closePopup(){this._popupOpen=!1,this._activeIndex=-1,this._popupPortalRoot&&(0,a.render)(null,this._popupPortalRoot)}_getSelectedIndex(){return r.findOptionIndexByValue(this.options,this.value)}_getSelectedOption(){let e=this._getSelectedIndex();return e>=0?this.options[e]:this.options[0]}_getDisplayedOptions(){let e=this._getSelectedOption();return e?[e,...this.options.filter(t=>t.value!==e.value)]:this.options}_getActiveOption(){let e=this._getDisplayedOptions();if(!(this._activeIndex<0))return e[this._activeIndex]}_selectValueFromDropdown(e){this.value=e,this.dispatchEvent(new CustomEvent(`change`,{detail:{value:e},bubbles:!0,composed:!0})),this._closePopup()}_selectActiveOption(){let e=this._getActiveOption();e&&!e.disabled&&this._selectValueFromDropdown(e.value)}_openPopup(){let e=this._getDisplayedOptions();this._popupOpen=!0,this._updatePopupPosition(),this._activeIndex=r.findOptionIndexByValue(e,this.value),this._activeIndex<0&&(this._activeIndex=r.getFirstEnabledIndex(e))}_handleTriggerKeydown(e){let t=this._getDisplayedOptions(),n=r.getListboxActionFromKey(e.key);if(n!==`none`)switch(e.preventDefault(),n){case`close`:this._closePopup();break;case`first`:this._popupOpen||this._openPopup(),this._activeIndex=r.getFirstEnabledIndex(t);break;case`last`:this._popupOpen||this._openPopup(),this._activeIndex=r.getLastEnabledIndex(t);break;case`next`:if(!this._popupOpen){this._openPopup();break}this._activeIndex=r.getNextEnabledIndex(this._activeIndex,t,1);break;case`previous`:if(!this._popupOpen){this._openPopup();break}this._activeIndex=r.getNextEnabledIndex(this._activeIndex,t,-1);break;case`select`:if(!this._popupOpen){this._openPopup();break}this._selectActiveOption();break;default:break}}_getOptionId(e,t){return`${this._listboxId}-option-${t}-${e.value}`}_renderPopup(){let e=this._getDisplayedOptions();return i.html`
190
- <div class="popup-box" part="popup-box" style="pointer-events: auto; max-height: inherit; overflow: auto;">
191
- <div class="select-options-section">
192
- ${t.renderListbox({selectedOption:this._getSelectedOption(),activeOption:this._getActiveOption(),options:e,listboxId:this._listboxId,getOptionId:(e,t)=>this._getOptionId(e,t),onOptionSelect:e=>this._selectValueFromDropdown(e.value)})}
193
- </div>
194
- </div>
195
- `}render(){let t=this._getSelectedOption(),n=this._getActiveOption(),r=t?.label??this.label,a=this._popupOpen&&n?this._getOptionId(n,this._activeIndex):void 0;return i.html`
196
- <div class="select-field-row">
197
- <button
198
- class="select-trigger"
199
- type="button"
200
- aria-haspopup="listbox"
201
- aria-expanded="${this._popupOpen}"
202
- aria-controls="${this._listboxId}"
203
- aria-activedescendant="${a??``}"
204
- part="select-trigger"
205
- @click="${()=>this._popupOpen?this._closePopup():this._openPopup()}"
206
- @keydown="${this._handleTriggerKeydown}"
207
- >
208
- <span class="select-trigger-label" part="trigger-label"
209
- >${r}</span
210
- >
211
- <span class="select-trigger-toggle" part="trigger-toggle">
212
- <span class="select-trigger-icon" part="trigger-icon" aria-hidden="true"
213
- >${e.downArrowIcon}</span
214
- >
215
- </span>
216
- </button>
217
- </div>
218
-
219
- <div
220
- class="select-root"
221
- aria-label="Select a value"
222
- @click="${e=>{e.target===e.currentTarget&&this._closePopup()}}"
223
- ></div>
224
- `}};exports.Select=o;
225
- //# sourceMappingURL=Select.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Select.cjs.js","names":[],"sources":["../../../../../src/v2/components/forms/select/Select.ts"],"sourcesContent":["import { css, html, LitElement } from 'lit'\nimport { render as renderPortal } from 'lit/html.js'\nimport { downArrowIcon } from '../shared/downArrow'\nimport { renderListbox } from '../shared/listboxTemplate'\nimport { SelectOption } from '../shared/optionTypes'\nimport { listboxStyles } from '../shared/listboxStyles'\nimport {\n findOptionIndexByValue,\n getFirstEnabledIndex,\n getLastEnabledIndex,\n getListboxActionFromKey,\n getNextEnabledIndex\n} from '../shared/keyboard'\n\n/* The following keyboard navigation and ARIA support for Select\n were generated by AI Model: GPT-5.4 */\n/* Prompt: can you wire up the keyboard interactions and aria attributes for Select */\nexport class Select extends LitElement {\n private static _nextId = 0\n private _popupPortalHost: HTMLDivElement | null = null\n private _popupPortalRoot: ShadowRoot | null = null\n private _popupPortalContainer: Element | null = null\n private readonly _handleDocumentPointerDown = (event: Event) => {\n const eventTarget = event.target\n\n if (!this._popupOpen || !(eventTarget instanceof Node)) {\n return\n }\n\n const eventPath =\n 'composedPath' in event\n ? (\n event as Event & { composedPath: () => EventTarget[] }\n ).composedPath()\n : []\n\n if (eventPath.includes(this)) {\n return\n }\n\n if (\n (this._popupPortalHost && eventPath.includes(this._popupPortalHost)) ||\n (this._popupPortalRoot && eventPath.includes(this._popupPortalRoot))\n ) {\n return\n }\n\n if (!this.contains(eventTarget)) {\n this._closePopup()\n }\n }\n\n private readonly _handleViewportChange = () => {\n if (!this._popupOpen) return\n this._updatePopupPosition()\n }\n\n static properties = {\n label: { type: String, reflect: true },\n theme: { type: String, reflect: true },\n options: { type: Array, attribute: false },\n layout: { type: String, reflect: true },\n value: { type: String, reflect: true },\n _popupOpen: { state: true },\n _activeIndex: { state: true }\n }\n\n static styles = [\n listboxStyles,\n css`\n :host {\n /* default theme */\n display: block;\n width: 100%;\n min-width: 0;\n max-width: 100%;\n position: relative;\n z-index: var(--select-z-index, 400);\n box-sizing: border-box;\n --select-open-z-index: 1000;\n --select-popup-z-index: 1001;\n --select-popup-background: var(--color-background, #f8f9fb);\n --select-trigger-background: var(--color-background, #f8f9fb);\n --select-trigger-toggle-hover-background: var(\n --color-header-menu-item-hover,\n #e6dcff\n );\n --input-background: var(--color-background, #f8f9fb);\n --input-text: var(--color-text, #1a1a1a);\n --input-border: var(--color-border-button-hover, var(--gray-400, #99A1AF));\n --label-color: var(--grey-purple-700, #1a1a1a);\n --placeholder-color: var(--grey-purple-700, #5e546d);\n --select-trigger-text: var(--input-text);\n --popup-background: var(--select-popup-background);\n --popup-text: var(--color-text, #1a1a1a);\n --popup-border: var(--color-border, #e5e7eb);\n --popup-shadow: var(\n --box-shadow-sm,\n 0 1px 4px rgba(124, 77, 255, 0.12)\n );\n }\n\n :host([theme='dark']) {\n display: block;\n width: 100%;\n min-width: 0;\n max-width: 100%;\n position: relative;\n z-index: var(--select-z-index, 900);\n box-sizing: border-box;\n --select-open-z-index: 1000;\n --select-popup-z-index: 1001;\n --select-popup-background: var(--color-background, #1a1a1a);\n --select-trigger-background: var(--color-background, #1a1a1a);\n --select-trigger-toggle-hover-background: var(\n --color-header-menu-item-hover,\n #e6dcff\n );\n --input-background: var(--color-background, #1a1a1a);\n --input-text: var(--color-text, #f8f9fb);\n --input-border: var(--color-border-button-hover, var(--gray-400, #99A1AF));\n --label-color: var(--grey-purple-700, #f8f9fb);\n --placeholder-color: var(--grey-purple-700, #c7bfd3);\n --select-trigger-text: var(--input-text);\n --popup-background: var(--select-popup-background);\n --popup-text: var(--color-text, #f8f9fb);\n --popup-border: var(--color-border, #e5e7eb);\n --popup-shadow: var(\n --box-shadow-sm,\n 0 1px 4px rgba(124, 77, 255, 0.12)\n );\n }\n\n :host([popup-open]) {\n z-index: var(--select-open-z-index);\n }\n\n .select-field-row {\n display: flex;\n flex-direction: row;\n position: relative;\n width: 100%;\n min-width: 0;\n }\n\n .select-trigger {\n display: block;\n position: relative;\n width: 100%;\n min-width: 0;\n min-height: var(--select-trigger-height, var(--min-touch-target, 44px));\n height: var(--select-trigger-height, var(--min-touch-target, 44px));\n padding: var(--spacing-xxs, 0.3125rem)\n calc(26px + (var(--select-trigger-inline-padding, var(--spacing-2xs, 0.625rem)) * 2) + 6px)\n var(--spacing-xxs, 0.3125rem)\n var(--select-trigger-inline-padding, var(--spacing-2xs, 0.625rem));\n border-radius: var(--border-radius-base, 0.3125rem);\n background: var(--select-trigger-background);\n border: 1px solid var(--input-border);\n color: var(--select-trigger-text);\n cursor: pointer;\n appearance: none;\n -webkit-appearance: none;\n font-family: inherit;\n font-size: var(--font-size-sm, 0.875rem);\n font-weight: var(--font-weight-md, 500);\n line-height: normal;\n text-align: left;\n white-space: nowrap;\n text-decoration: none;\n box-sizing: border-box;\n }\n\n .select-trigger:focus-visible {\n outline: 2px solid var(--color-focus-ring, var(--color-primary, #7C4DFF));\n outline-offset: 2px;\n }\n\n .select-trigger-label {\n display: block;\n text-align: left;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .select-trigger-toggle {\n position: absolute;\n right: 6px;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n border-radius: var(--border-radius-base, 0.3125rem);\n flex-shrink: 0;\n }\n\n .select-trigger-toggle:hover {\n background: var(\n --select-trigger-toggle-hover-background,\n var(--color-header-menu-item-hover, #e6dcff)\n );\n }\n\n .select-field-row:focus-within .select-trigger-toggle {\n background: var(\n --select-trigger-toggle-hover-background,\n var(--color-header-menu-item-hover, #e6dcff)\n );\n }\n\n .select-trigger-icon {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n width: 0.75rem;\n height: 0.4375rem;\n pointer-events: none;\n }\n\n .select-trigger-icon svg {\n width: 100%;\n height: 100%;\n display: block;\n }\n\n .select-options-section {\n position: relative;\n background: var(--popup-background);\n border-radius: inherit;\n isolation: isolate;\n }\n\n .popup-box {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n min-width: 100%;\n background: var(--popup-background);\n opacity: 1;\n overflow: hidden;\n color: var(--popup-text);\n box-shadow: var(--popup-shadow);\n border: 1px solid var(--popup-border);\n border-radius: var(--border-radius-md, 0.5rem);\n box-sizing: border-box;\n isolation: isolate;\n z-index: var(--select-popup-z-index);\n }\n `\n ]\n\n declare label: string\n declare theme: 'light' | 'dark'\n declare options: Array<SelectOption>\n declare layout: 'desktop' | 'mobile'\n declare value: string\n declare _popupOpen: boolean\n declare _activeIndex: number\n\n private readonly _listboxId = `solid-ui-select-listbox-${Select._nextId++}`\n\n constructor () {\n super()\n this.label = 'Select an option'\n this.theme = 'light'\n this.options = []\n this.layout = 'desktop'\n this.value = ''\n this._popupOpen = false\n this._activeIndex = -1\n }\n\n connectedCallback () {\n super.connectedCallback()\n document.addEventListener('pointerdown', this._handleDocumentPointerDown)\n window.addEventListener('resize', this._handleViewportChange)\n window.addEventListener('scroll', this._handleViewportChange, true)\n }\n\n disconnectedCallback () {\n this._detachPopupPortal()\n document.removeEventListener('pointerdown', this._handleDocumentPointerDown)\n window.removeEventListener('resize', this._handleViewportChange)\n window.removeEventListener('scroll', this._handleViewportChange, true)\n super.disconnectedCallback()\n }\n\n protected updated () {\n this.toggleAttribute('popup-open', this._popupOpen)\n\n if (this._popupOpen) {\n this._updatePopupPosition()\n if (this._popupPortalRoot) {\n renderPortal(this._renderPopup(), this._popupPortalRoot)\n }\n } else if (this._popupPortalRoot) {\n renderPortal(null, this._popupPortalRoot)\n }\n }\n\n private _getPopupPortalContainer () {\n return this.closest('dialog[open]') || document.body\n }\n\n private _ensurePopupPortal () {\n const nextContainer = this._getPopupPortalContainer()\n\n if (\n this._popupPortalHost &&\n this._popupPortalRoot &&\n this._popupPortalContainer === nextContainer\n ) {\n return\n }\n\n this._detachPopupPortal()\n\n this._popupPortalHost = document.createElement('div')\n this._popupPortalHost.setAttribute('data-solid-ui-select-portal', '')\n this._popupPortalHost.style.position = 'fixed'\n this._popupPortalHost.style.inset = '0 auto auto 0'\n this._popupPortalHost.style.zIndex = '2147483647'\n this._popupPortalHost.style.pointerEvents = 'none'\n this._popupPortalHost.style.boxSizing = 'border-box'\n\n this._popupPortalRoot = this._popupPortalHost.attachShadow({ mode: 'open' })\n const styleSheets = (Array.isArray(Select.styles) ? Select.styles : [Select.styles])\n .map((style) => style?.styleSheet)\n .filter((styleSheet): styleSheet is CSSStyleSheet => Boolean(styleSheet))\n\n if (styleSheets.length > 0) {\n this._popupPortalRoot.adoptedStyleSheets = styleSheets\n }\n\n nextContainer.appendChild(this._popupPortalHost)\n this._popupPortalContainer = nextContainer\n }\n\n private _detachPopupPortal () {\n if (this._popupPortalRoot) {\n renderPortal(null, this._popupPortalRoot)\n }\n\n if (this._popupPortalHost?.parentNode) {\n this._popupPortalHost.parentNode.removeChild(this._popupPortalHost)\n }\n\n this._popupPortalHost = null\n this._popupPortalRoot = null\n this._popupPortalContainer = null\n }\n\n private _updatePopupPosition () {\n this._ensurePopupPortal()\n\n const rect = this.getBoundingClientRect()\n const maxHeight = Math.min(288, Math.max(120, window.innerHeight - rect.bottom - 12))\n\n if (this._popupPortalHost) {\n this._popupPortalHost.style.top = `${Math.round(rect.bottom + 2)}px`\n this._popupPortalHost.style.left = `${Math.round(rect.left)}px`\n this._popupPortalHost.style.width = `${Math.round(rect.width)}px`\n this._popupPortalHost.style.maxHeight = `${Math.round(maxHeight)}px`\n this._popupPortalHost.style.height = '0px'\n }\n }\n\n private _closePopup () {\n this._popupOpen = false\n this._activeIndex = -1\n\n if (this._popupPortalRoot) {\n renderPortal(null, this._popupPortalRoot)\n }\n }\n\n private _getSelectedIndex () {\n return findOptionIndexByValue(this.options, this.value)\n }\n\n private _getSelectedOption () {\n const selectedIndex = this._getSelectedIndex()\n\n if (selectedIndex >= 0) {\n return this.options[selectedIndex]\n }\n\n return this.options[0]\n }\n\n private _getDisplayedOptions () {\n const selectedOption = this._getSelectedOption()\n\n if (!selectedOption) {\n return this.options\n }\n\n return [\n selectedOption,\n ...this.options.filter((option) => option.value !== selectedOption.value)\n ]\n }\n\n private _getActiveOption () {\n const popupOptions = this._getDisplayedOptions()\n\n if (this._activeIndex < 0) {\n return undefined\n }\n\n return popupOptions[this._activeIndex]\n }\n\n private _selectValueFromDropdown (uri: string) {\n this.value = uri\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: { value: uri },\n bubbles: true,\n composed: true\n })\n )\n this._closePopup()\n }\n\n private _selectActiveOption () {\n const activeOption = this._getActiveOption()\n\n if (activeOption && !activeOption.disabled) {\n this._selectValueFromDropdown(activeOption.value)\n }\n }\n\n private _openPopup () {\n const popupOptions = this._getDisplayedOptions()\n\n this._popupOpen = true\n this._updatePopupPosition()\n this._activeIndex = findOptionIndexByValue(popupOptions, this.value)\n\n if (this._activeIndex < 0) {\n this._activeIndex = getFirstEnabledIndex(popupOptions)\n }\n }\n\n private _handleTriggerKeydown (event: KeyboardEvent) {\n const popupOptions = this._getDisplayedOptions()\n const action = getListboxActionFromKey(event.key)\n\n if (action === 'none') {\n return\n }\n\n event.preventDefault()\n\n switch (action) {\n case 'close':\n this._closePopup()\n break\n case 'first':\n if (!this._popupOpen) {\n this._openPopup()\n }\n this._activeIndex = getFirstEnabledIndex(popupOptions)\n break\n case 'last':\n if (!this._popupOpen) {\n this._openPopup()\n }\n this._activeIndex = getLastEnabledIndex(popupOptions)\n break\n case 'next':\n if (!this._popupOpen) {\n this._openPopup()\n break\n }\n this._activeIndex = getNextEnabledIndex(\n this._activeIndex,\n popupOptions,\n 1\n )\n break\n case 'previous':\n if (!this._popupOpen) {\n this._openPopup()\n break\n }\n this._activeIndex = getNextEnabledIndex(\n this._activeIndex,\n popupOptions,\n -1\n )\n break\n case 'select':\n if (!this._popupOpen) {\n this._openPopup()\n break\n }\n this._selectActiveOption()\n break\n default:\n break\n }\n }\n\n private _getOptionId (option: SelectOption, index: number) {\n return `${this._listboxId}-option-${index}-${option.value}`\n }\n\n private _renderPopup () {\n const popupOptions = this._getDisplayedOptions()\n const selectedOption = this._getSelectedOption()\n const activeOption = this._getActiveOption()\n\n return html`\n <div class=\"popup-box\" part=\"popup-box\" style=\"pointer-events: auto; max-height: inherit; overflow: auto;\">\n <div class=\"select-options-section\">\n ${renderListbox({\n selectedOption,\n activeOption,\n options: popupOptions,\n listboxId: this._listboxId,\n getOptionId: (option, index) => this._getOptionId(option, index),\n onOptionSelect: (option) =>\n this._selectValueFromDropdown(option.value)\n })}\n </div>\n </div>\n `\n }\n\n render () {\n const selectedOption = this._getSelectedOption()\n const activeOption = this._getActiveOption()\n const triggerLabel = selectedOption?.label ?? this.label\n const activeDescendant =\n this._popupOpen && activeOption\n ? this._getOptionId(activeOption, this._activeIndex)\n : undefined\n\n return html`\n <div class=\"select-field-row\">\n <button\n class=\"select-trigger\"\n type=\"button\"\n aria-haspopup=\"listbox\"\n aria-expanded=\"${this._popupOpen}\"\n aria-controls=\"${this._listboxId}\"\n aria-activedescendant=\"${activeDescendant ?? ''}\"\n part=\"select-trigger\"\n @click=\"${() => this._popupOpen ? this._closePopup() : this._openPopup()}\"\n @keydown=\"${this._handleTriggerKeydown}\"\n >\n <span class=\"select-trigger-label\" part=\"trigger-label\"\n >${triggerLabel}</span\n >\n <span class=\"select-trigger-toggle\" part=\"trigger-toggle\">\n <span class=\"select-trigger-icon\" part=\"trigger-icon\" aria-hidden=\"true\"\n >${downArrowIcon}</span\n >\n </span>\n </button>\n </div>\n\n <div\n class=\"select-root\"\n aria-label=\"Select a value\"\n @click=\"${(e: MouseEvent) => {\n if (e.target === e.currentTarget) this._closePopup()\n }}\"\n ></div>\n `\n }\n}\n"],"mappings":"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"}
@@ -1,394 +0,0 @@
1
- import { downArrowIcon as e } from "../shared/downArrow.esm.js";
2
- import { renderListbox as t } from "../shared/listboxTemplate.esm.js";
3
- import { listboxStyles as n } from "../shared/listboxStyles.esm.js";
4
- import { findOptionIndexByValue as r, getFirstEnabledIndex as i, getLastEnabledIndex as a, getListboxActionFromKey as o, getNextEnabledIndex as s } from "../shared/keyboard.esm.js";
5
- import { LitElement as c, css as l, html as u } from "lit";
6
- import { render as d } from "lit/html.js";
7
- //#region src/v2/components/forms/select/Select.ts
8
- var f = class f extends c {
9
- static _nextId = 0;
10
- _popupPortalHost = null;
11
- _popupPortalRoot = null;
12
- _popupPortalContainer = null;
13
- _handleDocumentPointerDown = (e) => {
14
- let t = e.target;
15
- if (!this._popupOpen || !(t instanceof Node)) return;
16
- let n = "composedPath" in e ? e.composedPath() : [];
17
- n.includes(this) || this._popupPortalHost && n.includes(this._popupPortalHost) || this._popupPortalRoot && n.includes(this._popupPortalRoot) || this.contains(t) || this._closePopup();
18
- };
19
- _handleViewportChange = () => {
20
- this._popupOpen && this._updatePopupPosition();
21
- };
22
- static properties = {
23
- label: {
24
- type: String,
25
- reflect: !0
26
- },
27
- theme: {
28
- type: String,
29
- reflect: !0
30
- },
31
- options: {
32
- type: Array,
33
- attribute: !1
34
- },
35
- layout: {
36
- type: String,
37
- reflect: !0
38
- },
39
- value: {
40
- type: String,
41
- reflect: !0
42
- },
43
- _popupOpen: { state: !0 },
44
- _activeIndex: { state: !0 }
45
- };
46
- static styles = [n, l`
47
- :host {
48
- /* default theme */
49
- display: block;
50
- width: 100%;
51
- min-width: 0;
52
- max-width: 100%;
53
- position: relative;
54
- z-index: var(--select-z-index, 400);
55
- box-sizing: border-box;
56
- --select-open-z-index: 1000;
57
- --select-popup-z-index: 1001;
58
- --select-popup-background: var(--color-background, #f8f9fb);
59
- --select-trigger-background: var(--color-background, #f8f9fb);
60
- --select-trigger-toggle-hover-background: var(
61
- --color-header-menu-item-hover,
62
- #e6dcff
63
- );
64
- --input-background: var(--color-background, #f8f9fb);
65
- --input-text: var(--color-text, #1a1a1a);
66
- --input-border: var(--color-border-button-hover, var(--gray-400, #99A1AF));
67
- --label-color: var(--grey-purple-700, #1a1a1a);
68
- --placeholder-color: var(--grey-purple-700, #5e546d);
69
- --select-trigger-text: var(--input-text);
70
- --popup-background: var(--select-popup-background);
71
- --popup-text: var(--color-text, #1a1a1a);
72
- --popup-border: var(--color-border, #e5e7eb);
73
- --popup-shadow: var(
74
- --box-shadow-sm,
75
- 0 1px 4px rgba(124, 77, 255, 0.12)
76
- );
77
- }
78
-
79
- :host([theme='dark']) {
80
- display: block;
81
- width: 100%;
82
- min-width: 0;
83
- max-width: 100%;
84
- position: relative;
85
- z-index: var(--select-z-index, 900);
86
- box-sizing: border-box;
87
- --select-open-z-index: 1000;
88
- --select-popup-z-index: 1001;
89
- --select-popup-background: var(--color-background, #1a1a1a);
90
- --select-trigger-background: var(--color-background, #1a1a1a);
91
- --select-trigger-toggle-hover-background: var(
92
- --color-header-menu-item-hover,
93
- #e6dcff
94
- );
95
- --input-background: var(--color-background, #1a1a1a);
96
- --input-text: var(--color-text, #f8f9fb);
97
- --input-border: var(--color-border-button-hover, var(--gray-400, #99A1AF));
98
- --label-color: var(--grey-purple-700, #f8f9fb);
99
- --placeholder-color: var(--grey-purple-700, #c7bfd3);
100
- --select-trigger-text: var(--input-text);
101
- --popup-background: var(--select-popup-background);
102
- --popup-text: var(--color-text, #f8f9fb);
103
- --popup-border: var(--color-border, #e5e7eb);
104
- --popup-shadow: var(
105
- --box-shadow-sm,
106
- 0 1px 4px rgba(124, 77, 255, 0.12)
107
- );
108
- }
109
-
110
- :host([popup-open]) {
111
- z-index: var(--select-open-z-index);
112
- }
113
-
114
- .select-field-row {
115
- display: flex;
116
- flex-direction: row;
117
- position: relative;
118
- width: 100%;
119
- min-width: 0;
120
- }
121
-
122
- .select-trigger {
123
- display: block;
124
- position: relative;
125
- width: 100%;
126
- min-width: 0;
127
- min-height: var(--select-trigger-height, var(--min-touch-target, 44px));
128
- height: var(--select-trigger-height, var(--min-touch-target, 44px));
129
- padding: var(--spacing-xxs, 0.3125rem)
130
- calc(26px + (var(--select-trigger-inline-padding, var(--spacing-2xs, 0.625rem)) * 2) + 6px)
131
- var(--spacing-xxs, 0.3125rem)
132
- var(--select-trigger-inline-padding, var(--spacing-2xs, 0.625rem));
133
- border-radius: var(--border-radius-base, 0.3125rem);
134
- background: var(--select-trigger-background);
135
- border: 1px solid var(--input-border);
136
- color: var(--select-trigger-text);
137
- cursor: pointer;
138
- appearance: none;
139
- -webkit-appearance: none;
140
- font-family: inherit;
141
- font-size: var(--font-size-sm, 0.875rem);
142
- font-weight: var(--font-weight-md, 500);
143
- line-height: normal;
144
- text-align: left;
145
- white-space: nowrap;
146
- text-decoration: none;
147
- box-sizing: border-box;
148
- }
149
-
150
- .select-trigger:focus-visible {
151
- outline: 2px solid var(--color-focus-ring, var(--color-primary, #7C4DFF));
152
- outline-offset: 2px;
153
- }
154
-
155
- .select-trigger-label {
156
- display: block;
157
- text-align: left;
158
- overflow: hidden;
159
- text-overflow: ellipsis;
160
- }
161
-
162
- .select-trigger-toggle {
163
- position: absolute;
164
- right: 6px;
165
- top: 50%;
166
- transform: translateY(-50%);
167
- display: flex;
168
- align-items: center;
169
- justify-content: center;
170
- width: 26px;
171
- height: 26px;
172
- padding: 0;
173
- border: none;
174
- background: transparent;
175
- cursor: pointer;
176
- border-radius: var(--border-radius-base, 0.3125rem);
177
- flex-shrink: 0;
178
- }
179
-
180
- .select-trigger-toggle:hover {
181
- background: var(
182
- --select-trigger-toggle-hover-background,
183
- var(--color-header-menu-item-hover, #e6dcff)
184
- );
185
- }
186
-
187
- .select-field-row:focus-within .select-trigger-toggle {
188
- background: var(
189
- --select-trigger-toggle-hover-background,
190
- var(--color-header-menu-item-hover, #e6dcff)
191
- );
192
- }
193
-
194
- .select-trigger-icon {
195
- display: inline-flex;
196
- flex: 0 0 auto;
197
- align-items: center;
198
- justify-content: center;
199
- width: 0.75rem;
200
- height: 0.4375rem;
201
- pointer-events: none;
202
- }
203
-
204
- .select-trigger-icon svg {
205
- width: 100%;
206
- height: 100%;
207
- display: block;
208
- }
209
-
210
- .select-options-section {
211
- position: relative;
212
- background: var(--popup-background);
213
- border-radius: inherit;
214
- isolation: isolate;
215
- }
216
-
217
- .popup-box {
218
- position: absolute;
219
- top: 0;
220
- left: 0;
221
- width: 100%;
222
- min-width: 100%;
223
- background: var(--popup-background);
224
- opacity: 1;
225
- overflow: hidden;
226
- color: var(--popup-text);
227
- box-shadow: var(--popup-shadow);
228
- border: 1px solid var(--popup-border);
229
- border-radius: var(--border-radius-md, 0.5rem);
230
- box-sizing: border-box;
231
- isolation: isolate;
232
- z-index: var(--select-popup-z-index);
233
- }
234
- `];
235
- _listboxId = `solid-ui-select-listbox-${f._nextId++}`;
236
- constructor() {
237
- super(), this.label = "Select an option", this.theme = "light", this.options = [], this.layout = "desktop", this.value = "", this._popupOpen = !1, this._activeIndex = -1;
238
- }
239
- connectedCallback() {
240
- super.connectedCallback(), document.addEventListener("pointerdown", this._handleDocumentPointerDown), window.addEventListener("resize", this._handleViewportChange), window.addEventListener("scroll", this._handleViewportChange, !0);
241
- }
242
- disconnectedCallback() {
243
- this._detachPopupPortal(), document.removeEventListener("pointerdown", this._handleDocumentPointerDown), window.removeEventListener("resize", this._handleViewportChange), window.removeEventListener("scroll", this._handleViewportChange, !0), super.disconnectedCallback();
244
- }
245
- updated() {
246
- this.toggleAttribute("popup-open", this._popupOpen), this._popupOpen ? (this._updatePopupPosition(), this._popupPortalRoot && d(this._renderPopup(), this._popupPortalRoot)) : this._popupPortalRoot && d(null, this._popupPortalRoot);
247
- }
248
- _getPopupPortalContainer() {
249
- return this.closest("dialog[open]") || document.body;
250
- }
251
- _ensurePopupPortal() {
252
- let e = this._getPopupPortalContainer();
253
- if (this._popupPortalHost && this._popupPortalRoot && this._popupPortalContainer === e) return;
254
- this._detachPopupPortal(), this._popupPortalHost = document.createElement("div"), this._popupPortalHost.setAttribute("data-solid-ui-select-portal", ""), this._popupPortalHost.style.position = "fixed", this._popupPortalHost.style.inset = "0 auto auto 0", this._popupPortalHost.style.zIndex = "2147483647", this._popupPortalHost.style.pointerEvents = "none", this._popupPortalHost.style.boxSizing = "border-box", this._popupPortalRoot = this._popupPortalHost.attachShadow({ mode: "open" });
255
- let t = (Array.isArray(f.styles) ? f.styles : [f.styles]).map((e) => e?.styleSheet).filter((e) => !!e);
256
- t.length > 0 && (this._popupPortalRoot.adoptedStyleSheets = t), e.appendChild(this._popupPortalHost), this._popupPortalContainer = e;
257
- }
258
- _detachPopupPortal() {
259
- this._popupPortalRoot && d(null, this._popupPortalRoot), this._popupPortalHost?.parentNode && this._popupPortalHost.parentNode.removeChild(this._popupPortalHost), this._popupPortalHost = null, this._popupPortalRoot = null, this._popupPortalContainer = null;
260
- }
261
- _updatePopupPosition() {
262
- this._ensurePopupPortal();
263
- let e = this.getBoundingClientRect(), t = Math.min(288, Math.max(120, window.innerHeight - e.bottom - 12));
264
- this._popupPortalHost && (this._popupPortalHost.style.top = `${Math.round(e.bottom + 2)}px`, this._popupPortalHost.style.left = `${Math.round(e.left)}px`, this._popupPortalHost.style.width = `${Math.round(e.width)}px`, this._popupPortalHost.style.maxHeight = `${Math.round(t)}px`, this._popupPortalHost.style.height = "0px");
265
- }
266
- _closePopup() {
267
- this._popupOpen = !1, this._activeIndex = -1, this._popupPortalRoot && d(null, this._popupPortalRoot);
268
- }
269
- _getSelectedIndex() {
270
- return r(this.options, this.value);
271
- }
272
- _getSelectedOption() {
273
- let e = this._getSelectedIndex();
274
- return e >= 0 ? this.options[e] : this.options[0];
275
- }
276
- _getDisplayedOptions() {
277
- let e = this._getSelectedOption();
278
- return e ? [e, ...this.options.filter((t) => t.value !== e.value)] : this.options;
279
- }
280
- _getActiveOption() {
281
- let e = this._getDisplayedOptions();
282
- if (!(this._activeIndex < 0)) return e[this._activeIndex];
283
- }
284
- _selectValueFromDropdown(e) {
285
- this.value = e, this.dispatchEvent(new CustomEvent("change", {
286
- detail: { value: e },
287
- bubbles: !0,
288
- composed: !0
289
- })), this._closePopup();
290
- }
291
- _selectActiveOption() {
292
- let e = this._getActiveOption();
293
- e && !e.disabled && this._selectValueFromDropdown(e.value);
294
- }
295
- _openPopup() {
296
- let e = this._getDisplayedOptions();
297
- this._popupOpen = !0, this._updatePopupPosition(), this._activeIndex = r(e, this.value), this._activeIndex < 0 && (this._activeIndex = i(e));
298
- }
299
- _handleTriggerKeydown(e) {
300
- let t = this._getDisplayedOptions(), n = o(e.key);
301
- if (n !== "none") switch (e.preventDefault(), n) {
302
- case "close":
303
- this._closePopup();
304
- break;
305
- case "first":
306
- this._popupOpen || this._openPopup(), this._activeIndex = i(t);
307
- break;
308
- case "last":
309
- this._popupOpen || this._openPopup(), this._activeIndex = a(t);
310
- break;
311
- case "next":
312
- if (!this._popupOpen) {
313
- this._openPopup();
314
- break;
315
- }
316
- this._activeIndex = s(this._activeIndex, t, 1);
317
- break;
318
- case "previous":
319
- if (!this._popupOpen) {
320
- this._openPopup();
321
- break;
322
- }
323
- this._activeIndex = s(this._activeIndex, t, -1);
324
- break;
325
- case "select":
326
- if (!this._popupOpen) {
327
- this._openPopup();
328
- break;
329
- }
330
- this._selectActiveOption();
331
- break;
332
- default: break;
333
- }
334
- }
335
- _getOptionId(e, t) {
336
- return `${this._listboxId}-option-${t}-${e.value}`;
337
- }
338
- _renderPopup() {
339
- let e = this._getDisplayedOptions();
340
- return u`
341
- <div class="popup-box" part="popup-box" style="pointer-events: auto; max-height: inherit; overflow: auto;">
342
- <div class="select-options-section">
343
- ${t({
344
- selectedOption: this._getSelectedOption(),
345
- activeOption: this._getActiveOption(),
346
- options: e,
347
- listboxId: this._listboxId,
348
- getOptionId: (e, t) => this._getOptionId(e, t),
349
- onOptionSelect: (e) => this._selectValueFromDropdown(e.value)
350
- })}
351
- </div>
352
- </div>
353
- `;
354
- }
355
- render() {
356
- let t = this._getSelectedOption(), n = this._getActiveOption(), r = t?.label ?? this.label, i = this._popupOpen && n ? this._getOptionId(n, this._activeIndex) : void 0;
357
- return u`
358
- <div class="select-field-row">
359
- <button
360
- class="select-trigger"
361
- type="button"
362
- aria-haspopup="listbox"
363
- aria-expanded="${this._popupOpen}"
364
- aria-controls="${this._listboxId}"
365
- aria-activedescendant="${i ?? ""}"
366
- part="select-trigger"
367
- @click="${() => this._popupOpen ? this._closePopup() : this._openPopup()}"
368
- @keydown="${this._handleTriggerKeydown}"
369
- >
370
- <span class="select-trigger-label" part="trigger-label"
371
- >${r}</span
372
- >
373
- <span class="select-trigger-toggle" part="trigger-toggle">
374
- <span class="select-trigger-icon" part="trigger-icon" aria-hidden="true"
375
- >${e}</span
376
- >
377
- </span>
378
- </button>
379
- </div>
380
-
381
- <div
382
- class="select-root"
383
- aria-label="Select a value"
384
- @click="${(e) => {
385
- e.target === e.currentTarget && this._closePopup();
386
- }}"
387
- ></div>
388
- `;
389
- }
390
- };
391
- //#endregion
392
- export { f as Select };
393
-
394
- //# sourceMappingURL=Select.esm.js.map