solid-ui 3.1.3-5 → 3.1.3-6

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 (345) hide show
  1. package/dist/chunks/{menu-items-DKKcQrb6.js → DialogProvider-DphduSXG.js} +157 -56
  2. package/dist/chunks/DialogProvider-DphduSXG.js.map +1 -0
  3. package/dist/chunks/{account-B4BktCv0.js → account-CFhrB0LO.js} +23 -26
  4. package/dist/chunks/account-CFhrB0LO.js.map +1 -0
  5. package/dist/chunks/{auth-BPQUXz9Q.js → auth-Cpf3HYqF.js} +31 -28
  6. package/dist/chunks/auth-Cpf3HYqF.js.map +1 -0
  7. package/dist/chunks/{avatar-B5DCduCy.js → avatar-D281qln0.js} +8 -8
  8. package/dist/chunks/{avatar-B5DCduCy.js.map → avatar-D281qln0.js.map} +1 -1
  9. package/dist/chunks/{button-GHRF3psH.js → button-DbKYu6-r.js} +7 -7
  10. package/dist/chunks/{button-GHRF3psH.js.map → button-DbKYu6-r.js.map} +1 -1
  11. package/dist/chunks/chevron-down-ujxRg3MD.js +10 -0
  12. package/dist/chunks/chevron-down-ujxRg3MD.js.map +1 -0
  13. package/dist/chunks/{combobox-eju-wypA.js → combobox-Dtgc8qqO.js} +135 -91
  14. package/dist/chunks/combobox-Dtgc8qqO.js.map +1 -0
  15. package/dist/chunks/{combobox-option-CW1ZwMC7.js → combobox-option-Ck0mu4Gc.js} +4 -4
  16. package/dist/chunks/{combobox-option-CW1ZwMC7.js.map → combobox-option-Ck0mu4Gc.js.map} +1 -1
  17. package/dist/chunks/{components-Dlw2zOvI.js → components-BlEGdx4i.js} +83 -15
  18. package/dist/chunks/components-BlEGdx4i.js.map +1 -0
  19. package/dist/chunks/{create-context-IPEkU7ze.js → context-DJ_8r7Oc.js} +8 -4
  20. package/dist/chunks/context-DJ_8r7Oc.js.map +1 -0
  21. package/dist/chunks/{decorators-CJJL4XBH.js → decorators-BiCkPd_3.js} +28 -35
  22. package/dist/chunks/decorators-BiCkPd_3.js.map +1 -0
  23. package/dist/chunks/{dialog-DmDA1aY8.js → dialog-DlBtmOm6.js} +105 -63
  24. package/dist/chunks/dialog-DlBtmOm6.js.map +1 -0
  25. package/dist/chunks/{dialog-content-C8VhHg5G.js → dialog-content-CMeH_BD7.js} +3 -3
  26. package/dist/chunks/{dialog-content-C8VhHg5G.js.map → dialog-content-CMeH_BD7.js.map} +1 -1
  27. package/dist/chunks/{dialog-footer-CtHFoTZS.js → dialog-footer-D0zzIMlx.js} +3 -3
  28. package/dist/chunks/{dialog-footer-CtHFoTZS.js.map → dialog-footer-D0zzIMlx.js.map} +1 -1
  29. package/dist/chunks/{dialog-header-D9jjujFf.js → dialog-header-DeC1iiLD.js} +3 -3
  30. package/dist/chunks/{dialog-header-D9jjujFf.js.map → dialog-header-DeC1iiLD.js.map} +1 -1
  31. package/dist/chunks/{dialogs-root-C4igEIk0.js → dialogs-root-BcUcRuAt.js} +10 -9
  32. package/dist/chunks/dialogs-root-BcUcRuAt.js.map +1 -0
  33. package/dist/chunks/{footer-CS8u8ycB.js → footer-Bxe4WPgl.js} +6 -6
  34. package/dist/chunks/{footer-CS8u8ycB.js.map → footer-Bxe4WPgl.js.map} +1 -1
  35. package/dist/chunks/{guard-BIc50Lps.js → guard-Da3znlJI.js} +5 -5
  36. package/dist/chunks/{guard-BIc50Lps.js.map → guard-Da3znlJI.js.map} +1 -1
  37. package/dist/chunks/{header-0TLBh_PG.js → header-Bqd2CEK3.js} +40 -40
  38. package/dist/chunks/{header-0TLBh_PG.js.map → header-Bqd2CEK3.js.map} +1 -1
  39. package/dist/chunks/input-Bkzi4zSV.js +311 -0
  40. package/dist/chunks/input-Bkzi4zSV.js.map +1 -0
  41. package/dist/chunks/{lit-CC2G_f_C.js → lit-C4H1jI4q.js} +110 -95
  42. package/dist/chunks/{lit-CC2G_f_C.js.map → lit-C4H1jI4q.js.map} +1 -1
  43. package/dist/chunks/{login-button-BKp1-O2q.js → login-button-C603hM0G.js} +10 -7
  44. package/dist/chunks/login-button-C603hM0G.js.map +1 -0
  45. package/dist/chunks/{logout-button-DlU-q-o5.js → logout-button-Cxzpq-C3.js} +10 -7
  46. package/dist/chunks/logout-button-Cxzpq-C3.js.map +1 -0
  47. package/dist/chunks/menu-aQiqq1ET.js +3251 -0
  48. package/dist/chunks/menu-aQiqq1ET.js.map +1 -0
  49. package/dist/chunks/{menu-item-DoTy3MUu.js → menu-item-DBy4o-M4.js} +69 -55
  50. package/dist/chunks/menu-item-DBy4o-M4.js.map +1 -0
  51. package/dist/chunks/{photo-capture-COoxZRW_.js → photo-capture-tiBsdSbA.js} +20 -20
  52. package/dist/chunks/{photo-capture-COoxZRW_.js.map → photo-capture-tiBsdSbA.js.map} +1 -1
  53. package/dist/chunks/{provider-uRz_fGWb.js → provider-DZmdgerD.js} +7 -7
  54. package/dist/chunks/{provider-uRz_fGWb.js.map → provider-DZmdgerD.js.map} +1 -1
  55. package/dist/chunks/select-option-hd_d1RNj.js +195 -0
  56. package/dist/chunks/select-option-hd_d1RNj.js.map +1 -0
  57. package/dist/chunks/select-wczAzbZF.js +292 -0
  58. package/dist/chunks/select-wczAzbZF.js.map +1 -0
  59. package/dist/chunks/{signup-button-BC4LmOXx.js → signup-button-CsRaOUI4.js} +10 -7
  60. package/dist/chunks/signup-button-CsRaOUI4.js.map +1 -0
  61. package/dist/chunks/{src-f1UXhE9W.js → src-BOU-JwWx.js} +3 -4
  62. package/dist/chunks/{src-f1UXhE9W.js.map → src-BOU-JwWx.js.map} +1 -1
  63. package/dist/components/account/Account.cjs.js +8 -10
  64. package/dist/components/account/Account.cjs.js.map +1 -1
  65. package/dist/components/account/Account.d.ts.map +1 -1
  66. package/dist/components/account/Account.esm.js +7 -10
  67. package/dist/components/account/Account.esm.js.map +1 -1
  68. package/dist/components/account.js +1 -1
  69. package/dist/components/avatar.js +1 -1
  70. package/dist/components/button.js +1 -1
  71. package/dist/components/combobox/Combobox.cjs.js +26 -17
  72. package/dist/components/combobox/Combobox.cjs.js.map +1 -1
  73. package/dist/components/combobox/Combobox.d.ts +5 -3
  74. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  75. package/dist/components/combobox/Combobox.esm.js +130 -79
  76. package/dist/components/combobox/Combobox.esm.js.map +1 -1
  77. package/dist/components/combobox-option.js +1 -1
  78. package/dist/components/combobox.js +1 -1
  79. package/dist/components/dialog/Dialog.cjs.js +1 -1
  80. package/dist/components/dialog/Dialog.cjs.js.map +1 -1
  81. package/dist/components/dialog/Dialog.d.ts +3 -1
  82. package/dist/components/dialog/Dialog.d.ts.map +1 -1
  83. package/dist/components/dialog/Dialog.esm.js +59 -60
  84. package/dist/components/dialog/Dialog.esm.js.map +1 -1
  85. package/dist/components/dialog-content.js +1 -1
  86. package/dist/components/dialog-footer.js +1 -1
  87. package/dist/components/dialog-header.js +1 -1
  88. package/dist/components/dialog-provider.js +1 -1
  89. package/dist/components/dialog.js +1 -1
  90. package/dist/components/dialogs-root/DialogsRoot.cjs.js +1 -1
  91. package/dist/components/dialogs-root/DialogsRoot.cjs.js.map +1 -1
  92. package/dist/components/dialogs-root/DialogsRoot.d.ts.map +1 -1
  93. package/dist/components/dialogs-root/DialogsRoot.esm.js +4 -2
  94. package/dist/components/dialogs-root/DialogsRoot.esm.js.map +1 -1
  95. package/dist/components/dialogs-root.js +1 -1
  96. package/dist/components/footer.js +1 -1
  97. package/dist/components/guard.js +1 -1
  98. package/dist/components/header.js +1 -1
  99. package/dist/components/index.cjs.js +1 -1
  100. package/dist/components/index.esm.js +2 -1
  101. package/dist/components/input/Input.cjs.js +17 -0
  102. package/dist/components/input/Input.cjs.js.map +1 -0
  103. package/dist/components/input/Input.d.ts +17 -0
  104. package/dist/components/input/Input.d.ts.map +1 -0
  105. package/dist/{chunks/menu-DCsLCND4.js → components/input/Input.esm.js} +157 -96
  106. package/dist/components/input/Input.esm.js.map +1 -0
  107. package/dist/components/input/Input.stories.d.ts +43 -0
  108. package/dist/components/input/Input.stories.d.ts.map +1 -0
  109. package/dist/components/input/Input.styles.cjs.js +2 -0
  110. package/dist/components/input/Input.styles.cjs.js.map +1 -0
  111. package/dist/components/input/Input.styles.esm.js +7 -0
  112. package/dist/components/input/Input.styles.esm.js.map +1 -0
  113. package/dist/components/input/index.cjs.js +2 -0
  114. package/dist/components/input/index.cjs.js.map +1 -0
  115. package/dist/components/input/index.d.ts +4 -0
  116. package/dist/components/input/index.d.ts.map +1 -0
  117. package/dist/components/input/index.esm.js +7 -0
  118. package/dist/components/input/index.esm.js.map +1 -0
  119. package/dist/components/input.js +2 -0
  120. package/dist/components/login-button/LoginButton.cjs.js +1 -1
  121. package/dist/components/login-button/LoginButton.cjs.js.map +1 -1
  122. package/dist/components/login-button/LoginButton.d.ts +1 -0
  123. package/dist/components/login-button/LoginButton.d.ts.map +1 -1
  124. package/dist/components/login-button/LoginButton.esm.js +4 -1
  125. package/dist/components/login-button/LoginButton.esm.js.map +1 -1
  126. package/dist/components/login-button.js +1 -1
  127. package/dist/components/login-modal.js +1 -1
  128. package/dist/components/logout-button/LogoutButton.cjs.js +1 -1
  129. package/dist/components/logout-button/LogoutButton.cjs.js.map +1 -1
  130. package/dist/components/logout-button/LogoutButton.d.ts +1 -0
  131. package/dist/components/logout-button/LogoutButton.d.ts.map +1 -1
  132. package/dist/components/logout-button/LogoutButton.esm.js +4 -1
  133. package/dist/components/logout-button/LogoutButton.esm.js.map +1 -1
  134. package/dist/components/logout-button.js +1 -1
  135. package/dist/components/menu/Menu.cjs.js +13 -8
  136. package/dist/components/menu/Menu.cjs.js.map +1 -1
  137. package/dist/components/menu/Menu.d.ts +13 -8
  138. package/dist/components/menu/Menu.d.ts.map +1 -1
  139. package/dist/components/menu/Menu.esm.js +132 -88
  140. package/dist/components/menu/Menu.esm.js.map +1 -1
  141. package/dist/components/menu/Menu.stories.d.ts.map +1 -1
  142. package/dist/components/menu/Menu.styles.cjs.js +2 -0
  143. package/dist/components/menu/Menu.styles.cjs.js.map +1 -0
  144. package/dist/components/menu/Menu.styles.esm.js +7 -0
  145. package/dist/components/menu/Menu.styles.esm.js.map +1 -0
  146. package/dist/components/menu-item/MenuItem.cjs.js +5 -7
  147. package/dist/components/menu-item/MenuItem.cjs.js.map +1 -1
  148. package/dist/components/menu-item/MenuItem.d.ts +2 -0
  149. package/dist/components/menu-item/MenuItem.d.ts.map +1 -1
  150. package/dist/components/menu-item/MenuItem.esm.js +61 -47
  151. package/dist/components/menu-item/MenuItem.esm.js.map +1 -1
  152. package/dist/components/menu-item/MenuItem.styles.cjs.js +1 -1
  153. package/dist/components/menu-item/MenuItem.styles.cjs.js.map +1 -1
  154. package/dist/components/menu-item/MenuItem.styles.esm.js +1 -1
  155. package/dist/components/menu-item/MenuItem.styles.esm.js.map +1 -1
  156. package/dist/components/menu-item.js +1 -1
  157. package/dist/components/menu.js +1 -1
  158. package/dist/components/photo-capture.js +1 -1
  159. package/dist/components/provider.js +1 -1
  160. package/dist/components/select/Select.cjs.js +21 -0
  161. package/dist/components/select/Select.cjs.js.map +1 -0
  162. package/dist/components/select/Select.d.ts +15 -0
  163. package/dist/components/select/Select.d.ts.map +1 -0
  164. package/dist/components/{menu-items/MenuItems.esm.js → select/Select.esm.js} +140 -65
  165. package/dist/components/select/Select.esm.js.map +1 -0
  166. package/dist/components/select/Select.stories.d.ts +27 -0
  167. package/dist/components/select/Select.stories.d.ts.map +1 -0
  168. package/dist/components/select/Select.styles.cjs.js +2 -0
  169. package/dist/components/select/Select.styles.cjs.js.map +1 -0
  170. package/dist/components/select/Select.styles.esm.js +7 -0
  171. package/dist/components/select/Select.styles.esm.js.map +1 -0
  172. package/dist/components/select/index.cjs.js +2 -1
  173. package/dist/components/select/index.cjs.js.map +1 -0
  174. package/dist/components/select/index.d.ts +3 -1
  175. package/dist/components/select/index.d.ts.map +1 -1
  176. package/dist/components/select/index.esm.js +7 -3
  177. package/dist/components/select/index.esm.js.map +1 -0
  178. package/dist/components/select-option/SelectOption.cjs.js +2 -0
  179. package/dist/components/select-option/SelectOption.cjs.js.map +1 -0
  180. package/dist/components/select-option/SelectOption.d.ts +6 -0
  181. package/dist/components/select-option/SelectOption.d.ts.map +1 -0
  182. package/dist/components/select-option/SelectOption.esm.js +194 -0
  183. package/dist/components/select-option/SelectOption.esm.js.map +1 -0
  184. package/dist/components/select-option/index.cjs.js +2 -0
  185. package/dist/components/select-option/index.cjs.js.map +1 -0
  186. package/dist/components/select-option/index.d.ts +4 -0
  187. package/dist/components/select-option/index.d.ts.map +1 -0
  188. package/dist/components/select-option/index.esm.js +7 -0
  189. package/dist/components/select-option/index.esm.js.map +1 -0
  190. package/dist/components/select-option.js +2 -0
  191. package/dist/components/select.js +2 -2
  192. package/dist/components/signup-button/SignupButton.cjs.js +1 -1
  193. package/dist/components/signup-button/SignupButton.cjs.js.map +1 -1
  194. package/dist/components/signup-button/SignupButton.d.ts +1 -0
  195. package/dist/components/signup-button/SignupButton.d.ts.map +1 -1
  196. package/dist/components/signup-button/SignupButton.esm.js +4 -1
  197. package/dist/components/signup-button/SignupButton.esm.js.map +1 -1
  198. package/dist/components/signup-button.js +1 -1
  199. package/dist/components.js +24 -23
  200. package/dist/index.cjs.js +1 -1
  201. package/dist/index.cjs.js.map +1 -1
  202. package/dist/index.d.ts +0 -1
  203. package/dist/index.d.ts.map +1 -1
  204. package/dist/index.esm.js +13 -13
  205. package/dist/index.esm.js.map +1 -1
  206. package/dist/index.js +6 -8
  207. package/dist/lib/components/index.cjs.js +1 -1
  208. package/dist/lib/components/index.d.ts +1 -0
  209. package/dist/lib/components/index.d.ts.map +1 -1
  210. package/dist/lib/components/index.esm.js +4 -1
  211. package/dist/lib/components/traits/DialogTrait.cjs.js +2 -0
  212. package/dist/lib/components/traits/DialogTrait.cjs.js.map +1 -0
  213. package/dist/lib/components/traits/DialogTrait.d.ts +13 -0
  214. package/dist/lib/components/traits/DialogTrait.d.ts.map +1 -0
  215. package/dist/lib/components/traits/DialogTrait.esm.js +16 -0
  216. package/dist/lib/components/traits/DialogTrait.esm.js.map +1 -0
  217. package/dist/lib/components/traits/InputTrait.cjs.js +2 -0
  218. package/dist/lib/components/traits/InputTrait.cjs.js.map +1 -0
  219. package/dist/lib/components/traits/InputTrait.d.ts +29 -0
  220. package/dist/lib/components/traits/InputTrait.d.ts.map +1 -0
  221. package/dist/lib/components/traits/InputTrait.esm.js +44 -0
  222. package/dist/lib/components/traits/InputTrait.esm.js.map +1 -0
  223. package/dist/lib/components/traits/WebComponentTrait.d.ts +11 -0
  224. package/dist/lib/components/traits/WebComponentTrait.d.ts.map +1 -0
  225. package/dist/lib/components/traits/index.cjs.js +1 -0
  226. package/dist/lib/components/traits/index.d.ts +6 -0
  227. package/dist/lib/components/traits/index.d.ts.map +1 -0
  228. package/dist/lib/components/traits/index.esm.js +2 -0
  229. package/dist/lib/components/web-component/WebComponent.cjs.js +1 -1
  230. package/dist/lib/components/web-component/WebComponent.cjs.js.map +1 -1
  231. package/dist/lib/components/web-component/WebComponent.d.ts +7 -0
  232. package/dist/lib/components/web-component/WebComponent.d.ts.map +1 -1
  233. package/dist/lib/components/web-component/WebComponent.esm.js +16 -0
  234. package/dist/lib/components/web-component/WebComponent.esm.js.map +1 -1
  235. package/dist/lib/dialogs/Dialog.cjs.js +1 -1
  236. package/dist/lib/dialogs/Dialog.cjs.js.map +1 -1
  237. package/dist/lib/dialogs/Dialog.d.ts +6 -1
  238. package/dist/lib/dialogs/Dialog.d.ts.map +1 -1
  239. package/dist/lib/dialogs/Dialog.esm.js +6 -2
  240. package/dist/lib/dialogs/Dialog.esm.js.map +1 -1
  241. package/dist/lib/dialogs/context.cjs.js +1 -1
  242. package/dist/lib/dialogs/context.cjs.js.map +1 -1
  243. package/dist/lib/dialogs/context.d.ts +3 -0
  244. package/dist/lib/dialogs/context.d.ts.map +1 -1
  245. package/dist/lib/dialogs/context.esm.js +4 -3
  246. package/dist/lib/dialogs/context.esm.js.map +1 -1
  247. package/dist/lib/dialogs/events/close-dialog.cjs.js +1 -1
  248. package/dist/lib/dialogs/events/close-dialog.cjs.js.map +1 -1
  249. package/dist/lib/dialogs/events/close-dialog.d.ts +2 -1
  250. package/dist/lib/dialogs/events/close-dialog.d.ts.map +1 -1
  251. package/dist/lib/dialogs/events/close-dialog.esm.js +3 -2
  252. package/dist/lib/dialogs/events/close-dialog.esm.js.map +1 -1
  253. package/dist/lib/dialogs/helpers.cjs.js +1 -1
  254. package/dist/lib/dialogs/helpers.cjs.js.map +1 -1
  255. package/dist/lib/dialogs/helpers.d.ts +2 -1
  256. package/dist/lib/dialogs/helpers.d.ts.map +1 -1
  257. package/dist/lib/dialogs/helpers.esm.js +3 -3
  258. package/dist/lib/dialogs/helpers.esm.js.map +1 -1
  259. package/dist/lib/dialogs/index.cjs.js +1 -1
  260. package/dist/lib/dialogs/index.esm.js +1 -1
  261. package/dist/loader.js +6 -8
  262. package/dist/solid-ui.js +1022 -447
  263. package/dist/solid-ui.js.map +1 -1
  264. package/dist/solid-ui.min.js +1022 -447
  265. package/dist/solid-ui.min.js.map +1 -1
  266. package/dist/theme.css +1 -1
  267. package/package.json +2 -1
  268. package/dist/chunks/DialogProvider-BbWGIFN5.js +0 -211
  269. package/dist/chunks/DialogProvider-BbWGIFN5.js.map +0 -1
  270. package/dist/chunks/account-B4BktCv0.js.map +0 -1
  271. package/dist/chunks/auth-BPQUXz9Q.js.map +0 -1
  272. package/dist/chunks/close-dialog-qpl1X44Q.js +0 -14
  273. package/dist/chunks/close-dialog-qpl1X44Q.js.map +0 -1
  274. package/dist/chunks/combobox-eju-wypA.js.map +0 -1
  275. package/dist/chunks/components-Dlw2zOvI.js.map +0 -1
  276. package/dist/chunks/consume-BefsVEGX.js +0 -49
  277. package/dist/chunks/consume-BefsVEGX.js.map +0 -1
  278. package/dist/chunks/context-ChcZyr30.js +0 -7
  279. package/dist/chunks/context-ChcZyr30.js.map +0 -1
  280. package/dist/chunks/context-ImtIQIYP.js +0 -7
  281. package/dist/chunks/context-ImtIQIYP.js.map +0 -1
  282. package/dist/chunks/create-context-IPEkU7ze.js.map +0 -1
  283. package/dist/chunks/decorators-CJJL4XBH.js.map +0 -1
  284. package/dist/chunks/dialog-DmDA1aY8.js.map +0 -1
  285. package/dist/chunks/dialogs-root-C4igEIk0.js.map +0 -1
  286. package/dist/chunks/login-button-BKp1-O2q.js.map +0 -1
  287. package/dist/chunks/logout-button-DlU-q-o5.js.map +0 -1
  288. package/dist/chunks/menu-DCsLCND4.js.map +0 -1
  289. package/dist/chunks/menu-item-DoTy3MUu.js.map +0 -1
  290. package/dist/chunks/menu-items-DKKcQrb6.js.map +0 -1
  291. package/dist/chunks/provide-CqCWUUfi.js +0 -113
  292. package/dist/chunks/provide-CqCWUUfi.js.map +0 -1
  293. package/dist/chunks/select-bVnWqF4c.js +0 -560
  294. package/dist/chunks/select-bVnWqF4c.js.map +0 -1
  295. package/dist/chunks/signup-button-BC4LmOXx.js.map +0 -1
  296. package/dist/components/menu-items/MenuItems.cjs.js +0 -6
  297. package/dist/components/menu-items/MenuItems.cjs.js.map +0 -1
  298. package/dist/components/menu-items/MenuItems.d.ts +0 -8
  299. package/dist/components/menu-items/MenuItems.d.ts.map +0 -1
  300. package/dist/components/menu-items/MenuItems.esm.js.map +0 -1
  301. package/dist/components/menu-items/MenuItems.styles.cjs.js +0 -2
  302. package/dist/components/menu-items/MenuItems.styles.cjs.js.map +0 -1
  303. package/dist/components/menu-items/MenuItems.styles.esm.js +0 -7
  304. package/dist/components/menu-items/MenuItems.styles.esm.js.map +0 -1
  305. package/dist/components/menu-items/index.cjs.js +0 -2
  306. package/dist/components/menu-items/index.cjs.js.map +0 -1
  307. package/dist/components/menu-items/index.d.ts +0 -4
  308. package/dist/components/menu-items/index.d.ts.map +0 -1
  309. package/dist/components/menu-items/index.esm.js +0 -7
  310. package/dist/components/menu-items/index.esm.js.map +0 -1
  311. package/dist/components/menu-items.js +0 -2
  312. package/dist/lib/menus/context.cjs.js +0 -2
  313. package/dist/lib/menus/context.cjs.js.map +0 -1
  314. package/dist/lib/menus/context.d.ts +0 -7
  315. package/dist/lib/menus/context.d.ts.map +0 -1
  316. package/dist/lib/menus/context.esm.js +0 -7
  317. package/dist/lib/menus/context.esm.js.map +0 -1
  318. package/dist/lib/menus/index.cjs.js +0 -1
  319. package/dist/lib/menus/index.d.ts +0 -2
  320. package/dist/lib/menus/index.d.ts.map +0 -1
  321. package/dist/lib/menus/index.esm.js +0 -1
  322. package/dist/v2/components/forms/select/Select.cjs.js +0 -225
  323. package/dist/v2/components/forms/select/Select.cjs.js.map +0 -1
  324. package/dist/v2/components/forms/select/Select.esm.js +0 -394
  325. package/dist/v2/components/forms/select/Select.esm.js.map +0 -1
  326. package/dist/v2/components/forms/select/index.cjs.js +0 -2
  327. package/dist/v2/components/forms/select/index.cjs.js.map +0 -1
  328. package/dist/v2/components/forms/select/index.esm.js +0 -7
  329. package/dist/v2/components/forms/select/index.esm.js.map +0 -1
  330. package/dist/v2/components/forms/shared/downArrow.cjs.js +0 -9
  331. package/dist/v2/components/forms/shared/downArrow.cjs.js.map +0 -1
  332. package/dist/v2/components/forms/shared/downArrow.esm.js +0 -14
  333. package/dist/v2/components/forms/shared/downArrow.esm.js.map +0 -1
  334. package/dist/v2/components/forms/shared/keyboard.cjs.js +0 -2
  335. package/dist/v2/components/forms/shared/keyboard.cjs.js.map +0 -1
  336. package/dist/v2/components/forms/shared/keyboard.esm.js +0 -34
  337. package/dist/v2/components/forms/shared/keyboard.esm.js.map +0 -1
  338. package/dist/v2/components/forms/shared/listboxStyles.cjs.js +0 -95
  339. package/dist/v2/components/forms/shared/listboxStyles.cjs.js.map +0 -1
  340. package/dist/v2/components/forms/shared/listboxStyles.esm.js +0 -100
  341. package/dist/v2/components/forms/shared/listboxStyles.esm.js.map +0 -1
  342. package/dist/v2/components/forms/shared/listboxTemplate.cjs.js +0 -24
  343. package/dist/v2/components/forms/shared/listboxTemplate.cjs.js.map +0 -1
  344. package/dist/v2/components/forms/shared/listboxTemplate.esm.js +0 -37
  345. package/dist/v2/components/forms/shared/listboxTemplate.esm.js.map +0 -1
@@ -1,33 +1,33 @@
1
- import { r as e, t } from "./components-Dlw2zOvI.js";
2
- import { i as n, s as r } from "./lit-CC2G_f_C.js";
3
- import { i } from "./decorators-CJJL4XBH.js";
1
+ import { a as e, i as t } from "./components-BlEGdx4i.js";
2
+ import { c as n, i as r } from "./lit-C4H1jI4q.js";
3
+ import { r as i, t as a } from "./decorators-BiCkPd_3.js";
4
4
  //#region src/components/menu-item/MenuItem.styles.css
5
- var a = r`a,button{width:100%;color:var(--solid-ui-color-gray-600);font-weight:500;font-size:var(--solid-ui-font-size-md);border-radius:5px;justify-content:flex-start;align-items:center;gap:5px;padding:10px;display:flex;&:hover{background-color:var(--solid-ui-color-slate-200)}& ::slotted([slot=left-icon]),& ::slotted([slot=right-icon]){width:var(--solid-ui-font-size-xl);height:var(--solid-ui-font-size-xl)}}`, o, s, c, l, u, d, f, p, m, h;
6
- function g(e, t, n) {
7
- _(e, t), t.set(e, n);
5
+ var o = n`:host{width:100%;color:var(--solid-ui-color-gray-600);font-weight:500;font-size:var(--solid-ui-font-size-md);border-radius:5px;justify-content:flex-start;align-items:center;gap:5px;padding:10px;display:flex;position:relative;&:hover{background-color:var(--solid-ui-color-slate-200)}& ::slotted([slot=left-icon]),& ::slotted([slot=right-icon]){width:var(--solid-ui-font-size-xl);height:var(--solid-ui-font-size-xl)}& a:after{content:\"\";width:100%;height:100%;position:absolute;top:0;left:0}}`, s, c, l, u, d, f, p, m, h, g, _, v, y;
6
+ function b(e, t, n) {
7
+ x(e, t), t.set(e, n);
8
8
  }
9
- function _(e, t) {
9
+ function x(e, t) {
10
10
  if (t.has(e)) throw TypeError("Cannot initialize the same private elements twice on an object");
11
11
  }
12
- function v(e, t, n) {
13
- return e.set(b(e, t), n), n;
12
+ function S(e, t, n) {
13
+ return e.set(w(e, t), n), n;
14
14
  }
15
- function y(e, t) {
16
- return e.get(b(e, t));
15
+ function C(e, t) {
16
+ return e.get(w(e, t));
17
17
  }
18
- function b(e, t, n) {
18
+ function w(e, t, n) {
19
19
  if (typeof e == "function" ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
20
20
  throw TypeError("Private element is not present on this object");
21
21
  }
22
- function x(e, t, n) {
23
- return (t = C(t)) in e ? Object.defineProperty(e, t, {
22
+ function T(e, t, n) {
23
+ return (t = D(t)) in e ? Object.defineProperty(e, t, {
24
24
  value: n,
25
25
  enumerable: !0,
26
26
  configurable: !0,
27
27
  writable: !0
28
28
  }) : e[t] = n, e;
29
29
  }
30
- function S(e, t, n, r, i, a) {
30
+ function E(e, t, n, r, i, a) {
31
31
  function o(e, t, n) {
32
32
  return function(r, i) {
33
33
  return n && n(r), e[t].call(r, i);
@@ -50,16 +50,16 @@ function S(e, t, n, r, i, a) {
50
50
  n || Array.isArray(_) || (_ = [_]);
51
51
  var b = {}, x = [], S = i === 3 ? "get" : i === 4 || p ? "set" : "value";
52
52
  d ? (f || p ? b = {
53
- get: T(function() {
53
+ get: k(function() {
54
54
  return v(this);
55
55
  }, r, "get"),
56
56
  set: function(e) {
57
57
  t[4](this, e);
58
58
  }
59
- } : b[S] = v, f || T(b[S], r, i === 2 ? "" : S)) : f || (b = Object.getOwnPropertyDescriptor(e, r));
59
+ } : b[S] = v, f || k(b[S], r, i === 2 ? "" : S)) : f || (b = Object.getOwnPropertyDescriptor(e, r));
60
60
  }
61
61
  for (var C = e, w = _.length - 1; w >= 0; w -= n ? 2 : 1) {
62
- var E = _[w], D = n ? _[w - 1] : void 0, O = {}, k = {
62
+ var T = _[w], E = n ? _[w - 1] : void 0, D = {}, O = {
63
63
  kind: [
64
64
  "field",
65
65
  "accessor",
@@ -73,32 +73,32 @@ function S(e, t, n, r, i, a) {
73
73
  addInitializer: function(e, t) {
74
74
  if (e.v) throw Error("attempted to call addInitializer after decoration was finished");
75
75
  c(t, "An initializer", "be", !0), s.push(t);
76
- }.bind(null, O)
76
+ }.bind(null, D)
77
77
  };
78
78
  try {
79
- if (y) (g = c(E.call(D, C, k), "class decorators", "return")) && (C = g);
79
+ if (y) (g = c(T.call(E, C, O), "class decorators", "return")) && (C = g);
80
80
  else {
81
81
  var A, j;
82
- k.static = u, k.private = d, d ? i === 2 ? A = function(e) {
82
+ O.static = u, O.private = d, d ? i === 2 ? A = function(e) {
83
83
  return h(e), b.value;
84
84
  } : (i < 4 && (A = o(b, "get", h)), i !== 3 && (j = o(b, "set", h))) : (A = function(e) {
85
85
  return e[r];
86
86
  }, (i < 2 || i === 4) && (j = function(e, t) {
87
87
  e[r] = t;
88
88
  }));
89
- var M = k.access = { has: d ? m.bind() : function(e) {
89
+ var M = O.access = { has: d ? m.bind() : function(e) {
90
90
  return r in e;
91
91
  } };
92
- if (A && (M.get = A), j && (M.set = j), C = E.call(D, p ? {
92
+ if (A && (M.get = A), j && (M.set = j), C = T.call(E, p ? {
93
93
  get: b.get,
94
94
  set: b.set
95
- } : b[S], k), p) {
95
+ } : b[S], O), p) {
96
96
  if (typeof C == "object" && C) (g = c(C.get, "accessor.get")) && (b.get = g), (g = c(C.set, "accessor.set")) && (b.set = g), (g = c(C.init, "accessor.init")) && x.push(g);
97
97
  else if (C !== void 0) throw TypeError("accessor decorators must return an object with get, set, or init properties or void 0");
98
98
  } else c(C, (f ? "field" : "method") + " decorators", "return") && (f ? x.push(C) : b[S] = C);
99
99
  }
100
100
  } finally {
101
- O.v = !0;
101
+ D.v = !0;
102
102
  }
103
103
  }
104
104
  return (f || p) && l.push(function(e, t) {
@@ -116,7 +116,7 @@ function S(e, t, n, r, i, a) {
116
116
  if (arguments.length >= 6) var d = a[Symbol.metadata || Symbol.for("Symbol.metadata")];
117
117
  var f = Object.create(d ?? null), p = function(e, t, n, r) {
118
118
  var i, a, o = [], c = function(t) {
119
- return E(t) === e;
119
+ return A(t) === e;
120
120
  }, u = /* @__PURE__ */ new Map();
121
121
  function d(e) {
122
122
  e && o.push(s.bind(null, e));
@@ -130,7 +130,7 @@ function S(e, t, n, r, i, a) {
130
130
  if (!0 === x || x === 3 && m !== 4 || x === 4 && m !== 3) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h);
131
131
  u.set(b, !(m > 2) || m);
132
132
  }
133
- l(v ? e : e.prototype, p, _, g ? "#" + h : C(h), m, r, v ? a ||= [] : i ||= [], o, v, g, y, m === 1, v && g ? c : n);
133
+ l(v ? e : e.prototype, p, _, g ? "#" + h : D(h), m, r, v ? a ||= [] : i ||= [], o, v, g, y, m === 1, v && g ? c : n);
134
134
  }
135
135
  }
136
136
  return d(i), d(a), o;
@@ -143,11 +143,11 @@ function S(e, t, n, r, i, a) {
143
143
  }
144
144
  };
145
145
  }
146
- function C(e) {
147
- var t = w(e, "string");
146
+ function D(e) {
147
+ var t = O(e, "string");
148
148
  return typeof t == "symbol" ? t : t + "";
149
149
  }
150
- function w(e, t) {
150
+ function O(e, t) {
151
151
  if (typeof e != "object" || !e) return e;
152
152
  var n = e[Symbol.toPrimitive];
153
153
  if (n !== void 0) {
@@ -157,7 +157,7 @@ function w(e, t) {
157
157
  }
158
158
  return (t === "string" ? String : Number)(e);
159
159
  }
160
- function T(e, t, n) {
160
+ function k(e, t, n) {
161
161
  typeof t == "symbol" && (t = (t = t.description) ? "[" + t + "]" : "");
162
162
  try {
163
163
  Object.defineProperty(e, "name", {
@@ -167,53 +167,67 @@ function T(e, t, n) {
167
167
  } catch {}
168
168
  return e;
169
169
  }
170
- function E(e) {
170
+ function A(e) {
171
171
  if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (e === null ? "null" : typeof e));
172
172
  return e;
173
173
  }
174
- function D(e) {
174
+ function j(e) {
175
175
  return e;
176
176
  }
177
- d = [e("solid-ui-menu-item")];
178
- var O;
179
- new (m = (c = /*#__PURE__*/ new WeakMap(), h = (f = i({ type: String }), "href"), s = class extends t {
177
+ p = [e("solid-ui-menu-item")];
178
+ var M;
179
+ new (v = (l = /*#__PURE__*/ new WeakMap(), u = /*#__PURE__*/ new WeakMap(), y = (m = i({
180
+ type: String,
181
+ reflect: !0
182
+ }), g = a("a"), "href"), c = class extends t {
180
183
  constructor(...e) {
181
- super(...e), g(this, c, (l(this), p(this)));
184
+ super(...e), b(this, l, (d(this), h(this))), b(this, u, _(this, null));
182
185
  }
183
- get [h]() {
184
- return y(c, this);
186
+ get [y]() {
187
+ return C(l, this);
185
188
  }
186
189
  set href(e) {
187
- v(c, this, e);
190
+ S(l, this, e);
191
+ }
192
+ get anchor() {
193
+ return C(u, this);
194
+ }
195
+ set anchor(e) {
196
+ S(u, this, e);
188
197
  }
189
198
  render() {
190
- return this.href ? n`
199
+ return this.href ? r`
191
200
  <a href="${this.href}" target="_blank" rel="noopener noreferrer">
192
201
  <slot name="left-icon"></slot>
193
202
  <slot></slot>
194
203
  <slot name="right-icon"></slot>
195
204
  </a>
196
- ` : n`
197
- <button type="button">
198
- <slot name="left-icon"></slot>
199
- <slot></slot>
200
- <slot name="right-icon"></slot>
201
- </button>
205
+ ` : r`
206
+ <slot name="left-icon"></slot>
207
+ <slot></slot>
208
+ <slot name="right-icon"></slot>
202
209
  `;
203
210
  }
204
- }, {e: [p, l], c: [O, u]} = S(s, [[
205
- f,
211
+ click() {
212
+ this.anchor?.click();
213
+ }
214
+ }, {e: [h, _, d], c: [M, f]} = E(c, [[
215
+ m,
206
216
  1,
207
217
  "href"
208
- ]], d, 0, void 0, t), s), o = class extends D {
218
+ ], [
219
+ g,
220
+ 1,
221
+ "anchor"
222
+ ]], p, 0, void 0, t), c), s = class extends j {
209
223
  constructor() {
210
- super(O), x(this, "styles", a), u();
224
+ super(M), T(this, "styles", o), f();
211
225
  }
212
- }, x(o, m, void 0), o)();
226
+ }, T(s, v, void 0), s)();
213
227
  //#endregion
214
228
  //#region src/components/menu-item/index.ts
215
- var k = O;
229
+ var N = M;
216
230
  //#endregion
217
- export { O as n, k as t };
231
+ export { M as n, N as t };
218
232
 
219
- //# sourceMappingURL=menu-item-DoTy3MUu.js.map
233
+ //# sourceMappingURL=menu-item-DBy4o-M4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-item-DBy4o-M4.js","names":["customElement","WebComponent","property","query","html","styles","_classDecs","_MenuItem","_MenuItem2","_A","WeakMap","_B","_ref","_hrefDecs","type","String","reflect","_anchorDecs","_MenuItem3","MenuItem","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_href","_init_anchor","_classPrivateFieldGet","href","v","_classPrivateFieldSet","anchor","render","click","e","c","_initClass","_applyDecs","_Class","_identity","_defineProperty","default","MenuItem"],"sources":["../../src/components/menu-item/MenuItem.styles.css","../../src/components/menu-item/MenuItem.ts","../../src/components/menu-item/index.ts"],"sourcesContent":[":host {\n width: 100%;\n display: flex;\n position: relative;\n justify-content: flex-start;\n align-items: center;\n gap: 5px;\n padding: 10px;\n border-radius: 5px;\n color: var(--solid-ui-color-gray-600);\n font-weight: 500;\n font-size: var(--solid-ui-font-size-md);\n\n &:hover {\n background-color: var(--solid-ui-color-slate-200);\n }\n\n ::slotted([slot=\"left-icon\"]), ::slotted([slot=\"right-icon\"]) {\n width: var(--solid-ui-font-size-xl);\n height: var(--solid-ui-font-size-xl);\n }\n\n a::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n","import { customElement, WebComponent } from '@/lib/components'\nimport { property, query } from 'lit/decorators.js'\nimport { html } from 'lit'\n\nimport styles from './MenuItem.styles.css'\n\n@customElement('solid-ui-menu-item')\nexport default class MenuItem extends WebComponent {\n static styles = styles\n\n @property({ type: String, reflect: true })\n accessor href: string | undefined\n\n @query('a')\n private accessor anchor: HTMLAnchorElement | null = null\n\n render () {\n if (this.href) {\n return html`\n <a href=\"${this.href}\" target=\"_blank\" rel=\"noopener noreferrer\">\n <slot name=\"left-icon\"></slot>\n <slot></slot>\n <slot name=\"right-icon\"></slot>\n </a>\n `\n }\n\n return html`\n <slot name=\"left-icon\"></slot>\n <slot></slot>\n <slot name=\"right-icon\"></slot>\n `\n }\n\n click () {\n this.anchor?.click()\n }\n}\n","import MenuItem from './MenuItem'\n\nexport { MenuItem }\nexport default MenuItem\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACI0CM,IAAA,CAEzCN,EAAc,oBAAoB,CAAC;AAAA,IAAAO;AAAA,KAAAC,KAAAC,kBAAA,IAAAC,QAAA,GAAAC,kBAAA,IAAAD,QAAA,GAAAE,KAAAC,IAIjCX,EAAS;CAAEY,MAAMC;CAAQC,SAAS;AAAK,CAAC,GAACC,IAGzCd,EAAM,GAAG,GAAC,SAAAe,IAPb,cACsCjB,EAAa;CAAAmB,YAAA,GAAAC,GAAA;EAAAC,AAAA,MAAA,GAAAD,CAAA,GAAAC,EAAA,MAAAb,IAAAc,EAAA,IAAA,GAAAC,EAAA,IAAA,EAAA,GAAAF,EAAA,MAAAX,GAAAc,EAAA,MAOG,IAAI,CAAA;CAAA;CAAA,KAAAb,KAAA;EAAA,OAAAc,EAAAjB,GAAA,IAAA;CAAA;CAAA,IAH/CkB,KAAIC,GAAA;EAAAC,EAAApB,GAAA,MAAAmB,CAAA;CAAA;CAAA,IAGIE,SAAM;EAAA,OAAAJ,EAAAf,GAAA,IAAA;CAAA;CAAA,IAANmB,OAAMF,GAAA;EAAAC,EAAAlB,GAAA,MAAAiB,CAAA;CAAA;CAEvBG,SAAU;EAWR,OAVI,KAAKJ,OACAvB,CAAI;mBACE,KAAKuB,KAAI;;;;;UAQjBvB,CAAI;;;;;CAKb;CAEA4B,QAAS;EACP,KAAKF,QAAQE,MAAM;CACrB;AACF,GAAC,CAAAC,GAAA,CAAAT,GAAAC,GAAAF,IAAAW,GAAA,CAAA3B,GAAA4B,MAAAC,EAAAlB,GAAA,CAAA;CAAAL;CAAA;CAAA;AAAA,GAAA;CAAAI;CAAA;CAAA;AAAA,CAAA,GAAAX,GAAA,GAAA,KAAA,GA9BqCL,CAAY,GAAAiB,IAAAmB,IAAA,cAAAC,EAAA;CAAAlB,cAAA;EAAA,MAAAb,CAAA,GAAAgC,EAAA,MAAA,UAChClC,CAAM,GAAA8B,EAAA;CAAA;AAAA,GAAAI,EAAAF,GAAA7B,GAAA,KAAA,CAAA,GAAA6B,GAAA;;;ACLxB,IAAA,IAAeI"}
@@ -1,4 +1,4 @@
1
- import { i as e, n as t, s as n, t as r } from "./lit-CC2G_f_C.js";
1
+ import { c as e, i as t, n, t as r } from "./lit-C4H1jI4q.js";
2
2
  //#region src/v2/components/media/photoCapture/PhotoCapture.ts
3
3
  var i = "image/png", a = class extends r {
4
4
  static formAssociated = !0;
@@ -98,7 +98,7 @@ var i = "image/png", a = class extends r {
98
98
  _previewUrl: { state: !0 },
99
99
  _startingPreview: { state: !0 }
100
100
  };
101
- static styles = n`
101
+ static styles = e`
102
102
  :host {
103
103
  display: block;
104
104
  --photo-capture-trigger-background: var(--lavender-900, #7c4cff);
@@ -519,24 +519,24 @@ var i = "image/png", a = class extends r {
519
519
  this.disabled || this._setOpen(!0);
520
520
  }
521
521
  _renderViewport() {
522
- return this._previewUrl ? e`<img class="capture-preview" part="preview-image" src="${this._previewUrl}" alt="Captured photo preview" />` : e`<video class="capture-preview" part="preview-video" autoplay playsinline muted></video>`;
522
+ return this._previewUrl ? t`<img class="capture-preview" part="preview-image" src="${this._previewUrl}" alt="Captured photo preview" />` : t`<video class="capture-preview" part="preview-video" autoplay playsinline muted></video>`;
523
523
  }
524
524
  _renderStatus() {
525
- return this._errorMessage ? e`<div class="status error" part="error-message">${this._errorMessage}</div>` : this._startingPreview ? e`<div class="status" part="status-message">Opening camera…</div>` : this.value ? e`<div class="status" part="status-message">Review the photo before confirming it.</div>` : e`<div class="status" part="status-message">Preview the camera and take a photo when ready.</div>`;
525
+ return this._errorMessage ? t`<div class="status error" part="error-message">${this._errorMessage}</div>` : this._startingPreview ? t`<div class="status" part="status-message">Opening camera…</div>` : this.value ? t`<div class="status" part="status-message">Review the photo before confirming it.</div>` : t`<div class="status" part="status-message">Preview the camera and take a photo when ready.</div>`;
526
526
  }
527
527
  _renderActions() {
528
- return e`
528
+ return t`
529
529
  <div class="actions" part="actions">
530
- ${this.showCancelButton ? e`
530
+ ${this.showCancelButton ? t`
531
531
  <button
532
532
  class="cancel-button"
533
533
  part="cancel-button"
534
534
  type="button"
535
535
  @click="${this._handleCancel}"
536
536
  >${this.cancelLabel}</button>
537
- ` : t}
537
+ ` : n}
538
538
 
539
- ${this.value ? e`
539
+ ${this.value ? t`
540
540
  <button
541
541
  class="action-button"
542
542
  part="retake-button"
@@ -549,7 +549,7 @@ var i = "image/png", a = class extends r {
549
549
  type="button"
550
550
  @click="${this._confirmPhoto}"
551
551
  >${this.confirmLabel}</button>
552
- ` : e`
552
+ ` : t`
553
553
  <button
554
554
  class="action-button action-button--primary"
555
555
  part="capture-button"
@@ -562,11 +562,11 @@ var i = "image/png", a = class extends r {
562
562
  `;
563
563
  }
564
564
  _renderPanel() {
565
- return e`
565
+ return t`
566
566
  <div class="panel" part="panel">
567
567
  <div class="panel-header" part="header">
568
568
  <h2 class="panel-heading" part="heading"><slot name="heading">${this.heading}</slot></h2>
569
- ${this.showCancelButton ? e`
569
+ ${this.showCancelButton ? t`
570
570
  <button
571
571
  class="close-button"
572
572
  part="close-button"
@@ -574,7 +574,7 @@ var i = "image/png", a = class extends r {
574
574
  aria-label="${this.cancelLabel}"
575
575
  @click="${this._handleCancel}"
576
576
  >&times;</button>
577
- ` : t}
577
+ ` : n}
578
578
  </div>
579
579
  <div class="viewport" part="viewport">${this._renderViewport()}</div>
580
580
  ${this._renderStatus()}
@@ -583,8 +583,8 @@ var i = "image/png", a = class extends r {
583
583
  `;
584
584
  }
585
585
  render() {
586
- return e`
587
- ${this.showTrigger || this.presentation === "dialog" ? e`
586
+ return t`
587
+ ${this.showTrigger || this.presentation === "dialog" ? t`
588
588
  <button
589
589
  class="trigger-button"
590
590
  part="trigger-button"
@@ -592,9 +592,9 @@ var i = "image/png", a = class extends r {
592
592
  ?disabled="${this.disabled}"
593
593
  @click="${this._openCapture}"
594
594
  ><slot>${this.label}</slot></button>
595
- ` : t}
595
+ ` : n}
596
596
 
597
- ${this.presentation === "dialog" ? e`
597
+ ${this.presentation === "dialog" ? t`
598
598
  <dialog
599
599
  class="dialog"
600
600
  part="dialog"
@@ -607,11 +607,11 @@ var i = "image/png", a = class extends r {
607
607
  e.target === e.currentTarget && this._handleCancel();
608
608
  }}"
609
609
  >
610
- ${this.open ? this._renderPanel() : t}
610
+ ${this.open ? this._renderPanel() : n}
611
611
  </dialog>
612
- ` : e`
612
+ ` : t`
613
613
  <div class="inline-root" part="inline-root" ?hidden="${!this.open}">
614
- ${this.open ? this._renderPanel() : t}
614
+ ${this.open ? this._renderPanel() : n}
615
615
  </div>
616
616
  `}
617
617
  `;
@@ -621,4 +621,4 @@ customElements.get(o) || customElements.define(o, a);
621
621
  //#endregion
622
622
  export { a as t };
623
623
 
624
- //# sourceMappingURL=photo-capture-COoxZRW_.js.map
624
+ //# sourceMappingURL=photo-capture-tiBsdSbA.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"photo-capture-COoxZRW_.js","names":["LitElement","css","html","nothing","DEFAULT_CAPTURE_FORMAT","PhotoCapture","formAssociated","properties","label","type","String","reflect","heading","captureLabel","attribute","confirmLabel","retakeLabel","cancelLabel","presentation","theme","facingMode","constraints","captureFormat","captureQuality","Number","open","Boolean","disabled","name","required","showTrigger","showCancelButton","autoCloseOnCapture","fileNamePrefix","value","mediaConstraints","_errorMessage","state","_previewUrl","_startingPreview","styles","_value","_stream","_internals","_associatedForm","_handleFormData","event","formData","append","_handleFormReset","_clearValue","emitEvents","_queuePreviewStart","_supportsFormInternals","setFormValue","constructor","undefined","attachInternals","nextValue","normalizedValue","File","previousValue","_syncPreviewFromValue","_syncFormValue","_syncValidity","requestUpdate","form","validationMessage","willValidate","checkValidity","reportValidity","connectedCallback","_syncAssociatedForm","disconnectedCallback","_stopStream","_revokePreviewUrl","formResetCallback","formDisabledCallback","updated","changed","dialog","shadowRoot","querySelector","showModal","close","has","video","srcObject","_setOpen","dispatchEvent","CustomEvent","detail","bubbles","composed","_emitError","error","message","nextForm","closest","removeEventListener","addEventListener","internals","setValidity","valueMissing","file","URL","createObjectURL","options","_dispatchValueEvents","_fileExtensionForMimeType","mimeType","_createFileFromBlob","blob","contentType","extension","safePrefix","trim","Date","now","_startPreview","catch","_resolveMediaConstraints","JSON","parse","Error","ideal","navigator","mediaDevices","getUserMedia","stream","getTracks","forEach","track","stop","updateComplete","play","revokeObjectURL","_captureSnapshot","width","videoWidth","clientWidth","height","videoHeight","clientHeight","canvas","document","createElement","context","getContext","drawImage","Promise","resolve","toBlob","_retakePhoto","_confirmPhoto","objectUrl","_handleCancel","_openCapture","_renderViewport","_renderStatus","_renderActions","_renderPanel","render","trigger","preventDefault","target","currentTarget","PhotoCapture","PHOTO_CAPTURE_TAG_NAME","customElements","get","define"],"sources":["../../src/v2/components/media/photoCapture/PhotoCapture.ts","../../src/v2/components/media/photoCapture/index.ts"],"sourcesContent":["import { LitElement, css, html, nothing, type PropertyValues } from 'lit'\n/* The original code was written by Sir Tim Berners-Lee. It was made into a\nweb component by AI Model GPT-5.4\nPrompt: Take the code from src/media/media-capture.ts and make it a\nweb component. Make it work in forms as well as not. Make it\nconfigurable and follow LoginButton. */\nexport interface PhotoCapturedDetail {\n file: File\n blob: Blob\n objectUrl: string\n contentType: string\n}\n\nexport interface PhotoCaptureErrorDetail {\n error: unknown\n message: string\n}\n\nexport interface PhotoCaptureOpenChangeDetail {\n open: boolean\n}\n\nexport interface PhotoCaptureValueDetail {\n value: File | null\n}\n\ntype PresentationMode = 'inline' | 'dialog'\ntype ThemeMode = 'light' | 'dark'\n\nconst DEFAULT_CAPTURE_FORMAT = 'image/png'\n\nexport class PhotoCapture extends LitElement {\n static formAssociated = true\n\n static properties = {\n label: { type: String, reflect: true },\n heading: { type: String, reflect: true },\n captureLabel: { type: String, attribute: 'capture-label', reflect: true },\n confirmLabel: { type: String, attribute: 'confirm-label', reflect: true },\n retakeLabel: { type: String, attribute: 'retake-label', reflect: true },\n cancelLabel: { type: String, attribute: 'cancel-label', reflect: true },\n presentation: { type: String, reflect: true },\n theme: { type: String, reflect: true },\n facingMode: { type: String, attribute: 'facing-mode', reflect: true },\n constraints: { type: String, reflect: true },\n captureFormat: { type: String, attribute: 'capture-format', reflect: true },\n captureQuality: { type: Number, attribute: 'capture-quality' },\n open: { type: Boolean, reflect: true },\n disabled: { type: Boolean, reflect: true },\n name: { type: String, reflect: true },\n required: { type: Boolean, reflect: true },\n showTrigger: { type: Boolean, attribute: 'show-trigger', reflect: true },\n showCancelButton: { type: Boolean, attribute: 'show-cancel-button', reflect: true },\n autoCloseOnCapture: { type: Boolean, attribute: 'auto-close-on-capture' },\n fileNamePrefix: { type: String, attribute: 'file-name-prefix', reflect: true },\n value: { attribute: false },\n mediaConstraints: { attribute: false },\n _errorMessage: { state: true },\n _previewUrl: { state: true },\n _startingPreview: { state: true }\n }\n\n static styles = css`\n :host {\n display: block;\n --photo-capture-trigger-background: var(--lavender-900, #7c4cff);\n --photo-capture-trigger-text: var(--color-header-text, #ffffff);\n --photo-capture-surface: var(--color-background, #ffffff);\n --photo-capture-text: var(--gray-900, #101828);\n --photo-capture-muted-text: var(--gray-600, #4a5565);\n --photo-capture-border: var(--gray-200, #e5e7eb);\n --photo-capture-hover: var(--gray-100, #f3f4f6);\n --photo-capture-shadow: var(--box-shadow-sm, 0 1px 4px rgba(0, 0, 0, 0.12));\n --photo-capture-overlay: rgba(0, 0, 0, 0.6);\n --photo-capture-frame-max-width: 260px;\n --photo-capture-radius: 8px;\n --photo-capture-button-radius: var(--border-radius-base, 0.3125rem);\n --photo-capture-gap: var(--spacing-2xs, 0.625rem);\n color: var(--photo-capture-text);\n box-sizing: border-box;\n }\n\n :host([theme='dark']) {\n --photo-capture-surface: var(--gray-900, #111827);\n --photo-capture-text: var(--white, #ffffff);\n --photo-capture-muted-text: var(--gray-300, #d1d5dc);\n --photo-capture-border: var(--gray-700, #364153);\n --photo-capture-hover: rgba(255, 255, 255, 0.08);\n --photo-capture-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);\n }\n\n *, *::before, *::after {\n box-sizing: border-box;\n }\n\n .trigger-button,\n .action-button,\n .cancel-button,\n .close-button {\n font: inherit;\n cursor: pointer;\n }\n\n .trigger-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 35px;\n padding: 0.5rem 0.9rem;\n border: none;\n border-radius: var(--photo-capture-button-radius);\n background: var(--photo-capture-trigger-background);\n color: var(--photo-capture-trigger-text);\n transition: transform 0.2s ease;\n }\n\n .trigger-button:active {\n transform: translateY(1px);\n }\n\n .trigger-button:disabled,\n .action-button:disabled,\n .cancel-button:disabled {\n opacity: 0.55;\n cursor: not-allowed;\n }\n\n .inline-root[hidden] {\n display: none;\n }\n\n .dialog {\n border: none;\n padding: 0;\n background: transparent;\n outline: none;\n overflow: visible;\n max-width: none;\n max-height: none;\n }\n\n .dialog::backdrop {\n background: var(--photo-capture-overlay);\n }\n\n .panel {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--photo-capture-gap);\n width: min(100%, 340px);\n padding: 1rem;\n border: 1px solid var(--photo-capture-border);\n border-radius: var(--photo-capture-radius);\n background: var(--photo-capture-surface);\n color: var(--photo-capture-text);\n box-shadow: var(--photo-capture-shadow);\n }\n\n .panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n width: 100%;\n }\n\n .panel-heading {\n margin: 0;\n font-size: 1rem;\n font-weight: 700;\n line-height: 1.4;\n }\n\n .close-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.75rem;\n height: 1.75rem;\n padding: 0;\n border: none;\n border-radius: 999px;\n background: transparent;\n color: var(--photo-capture-muted-text);\n font-size: 1.125rem;\n line-height: 1;\n }\n\n .close-button:hover,\n .close-button:focus-visible,\n .action-button:hover,\n .action-button:focus-visible,\n .cancel-button:hover,\n .cancel-button:focus-visible {\n background: var(--photo-capture-hover);\n }\n\n .viewport {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-height: 200px;\n border-radius: 0.5rem;\n overflow: hidden;\n background: color-mix(in srgb, var(--photo-capture-surface) 92%, #000 8%);\n }\n\n .viewport video,\n .viewport img {\n display: block;\n width: 100%;\n max-width: var(--photo-capture-frame-max-width);\n height: auto;\n border-radius: 0.5rem;\n margin: 0 auto;\n object-fit: cover;\n }\n\n .status {\n width: 100%;\n text-align: center;\n color: var(--photo-capture-muted-text);\n font-size: 0.875rem;\n }\n\n .status.error {\n color: var(--color-error, #b00020);\n }\n\n .actions {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n gap: var(--photo-capture-gap);\n width: 100%;\n }\n\n .action-button,\n .cancel-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 2.25rem;\n padding: 0.45rem 0.85rem;\n border-radius: var(--photo-capture-button-radius);\n border: 1px solid var(--photo-capture-border);\n background: var(--photo-capture-surface);\n color: var(--photo-capture-text);\n font-size: var(--font-size-xxs, 0.75rem);\n font-weight: var(--font-weight-xbold, 700);\n line-height: 1.5;\n }\n\n .action-button--primary {\n background: var(--photo-capture-trigger-background);\n color: var(--photo-capture-trigger-text);\n border-color: transparent;\n }\n `\n\n declare label: string\n declare heading: string\n declare captureLabel: string\n declare confirmLabel: string\n declare retakeLabel: string\n declare cancelLabel: string\n declare presentation: PresentationMode\n declare theme: ThemeMode\n declare facingMode: string\n declare constraints: string\n declare captureFormat: string\n declare captureQuality?: number\n declare open: boolean\n declare disabled: boolean\n declare name: string\n declare required: boolean\n declare showTrigger: boolean\n declare showCancelButton: boolean\n declare autoCloseOnCapture: boolean\n declare fileNamePrefix: string\n declare mediaConstraints?: MediaStreamConstraints\n declare _errorMessage: string\n declare _previewUrl: string\n declare _startingPreview: boolean\n\n private _value: File | null = null\n private _stream: MediaStream | null = null\n private readonly _internals: ElementInternals | null\n private _associatedForm: HTMLFormElement | null = null\n private readonly _handleFormData = (event: Event) => {\n const formData = (event as Event & { formData?: FormData }).formData\n if (!formData || !this.name || !this.value || this.disabled) return\n formData.append(this.name, this.value, this.value.name)\n }\n\n private readonly _handleFormReset = () => {\n this._clearValue({ emitEvents: false })\n if (this.open) {\n this._queuePreviewStart()\n }\n }\n\n private get _supportsFormInternals (): boolean {\n return !!this._internals && typeof this._internals.setFormValue === 'function'\n }\n\n constructor () {\n super()\n this.label = 'Take Photo'\n this.heading = 'Take a photo'\n this.captureLabel = 'Take Photo'\n this.confirmLabel = 'Use Photo'\n this.retakeLabel = 'Retake'\n this.cancelLabel = 'Cancel'\n this.presentation = 'inline'\n this.theme = 'light'\n this.facingMode = 'user'\n this.constraints = ''\n this.captureFormat = DEFAULT_CAPTURE_FORMAT\n this.captureQuality = undefined\n this.open = false\n this.disabled = false\n this.name = ''\n this.required = false\n this.showTrigger = false\n this.showCancelButton = true\n this.autoCloseOnCapture = false\n this.fileNamePrefix = ''\n this.mediaConstraints = undefined\n this._errorMessage = ''\n this._previewUrl = ''\n this._startingPreview = false\n this._internals = typeof this.attachInternals === 'function' ? this.attachInternals() : null\n }\n\n get value (): File | null {\n return this._value\n }\n\n set value (nextValue: File | null) {\n const normalizedValue = nextValue instanceof File ? nextValue : null\n const previousValue = this._value\n if (previousValue === normalizedValue) return\n\n this._value = normalizedValue\n this._syncPreviewFromValue(normalizedValue)\n this._syncFormValue()\n this._syncValidity()\n this.requestUpdate('value', previousValue)\n }\n\n get form (): HTMLFormElement | null {\n return (this._supportsFormInternals ? this._internals?.form : null) ?? this._associatedForm\n }\n\n get validationMessage (): string {\n return (typeof this._internals?.validationMessage === 'string' ? this._internals.validationMessage : '') || (this.required && !this.value ? 'Please capture a photo.' : '')\n }\n\n get willValidate (): boolean {\n return typeof this._internals?.willValidate === 'boolean' ? this._internals.willValidate : !this.disabled\n }\n\n checkValidity (): boolean {\n if (this._internals && typeof this._internals.checkValidity === 'function') {\n return this._internals.checkValidity()\n }\n return !(this.required && !this.value)\n }\n\n reportValidity (): boolean {\n if (this._internals && typeof this._internals.reportValidity === 'function') {\n return this._internals.reportValidity()\n }\n return this.checkValidity()\n }\n\n connectedCallback () {\n super.connectedCallback()\n this._syncAssociatedForm()\n this._syncFormValue()\n this._syncValidity()\n }\n\n disconnectedCallback () {\n this._syncAssociatedForm(null)\n this._stopStream()\n this._revokePreviewUrl()\n super.disconnectedCallback()\n }\n\n formResetCallback () {\n this._handleFormReset()\n }\n\n formDisabledCallback (disabled: boolean) {\n this.disabled = disabled\n }\n\n protected updated (changed: PropertyValues<this>) {\n this._syncAssociatedForm()\n\n if (this.presentation === 'dialog') {\n const dialog = this.shadowRoot?.querySelector('dialog') as HTMLDialogElement | null\n if (dialog) {\n if (this.open && !dialog.open) {\n dialog.showModal()\n } else if (!this.open && dialog.open) {\n dialog.close()\n }\n }\n }\n\n if (changed.has('open') && !this.open) {\n this._stopStream()\n }\n\n if (\n this.open &&\n !this.value &&\n !this._stream &&\n !this._startingPreview &&\n (changed.has('open') || changed.has('presentation') || changed.has('_previewUrl') || changed.has('value'))\n ) {\n this._queuePreviewStart()\n }\n\n if (changed.has('name') || changed.has('disabled') || changed.has('value')) {\n this._syncFormValue()\n }\n\n if (changed.has('required') || changed.has('disabled') || changed.has('value')) {\n this._syncValidity()\n }\n\n if (this._stream) {\n const video = this.shadowRoot?.querySelector('video.capture-preview') as HTMLVideoElement | null\n if (video && video.srcObject !== this._stream) {\n video.srcObject = this._stream\n }\n }\n }\n\n private _setOpen (open: boolean) {\n if (this.open === open) return\n this.open = open\n this.dispatchEvent(new CustomEvent<PhotoCaptureOpenChangeDetail>('open-change', {\n detail: { open },\n bubbles: true,\n composed: true\n }))\n }\n\n private _emitError (error: unknown, message = 'Unable to access the camera') {\n this._errorMessage = message\n this.dispatchEvent(new CustomEvent<PhotoCaptureErrorDetail>('error', {\n detail: { error, message },\n bubbles: true,\n composed: true\n }))\n }\n\n private _syncAssociatedForm (nextForm = this.closest('form') as HTMLFormElement | null) {\n if (this._associatedForm === nextForm) return\n\n if (this._associatedForm) {\n this._associatedForm.removeEventListener('formdata', this._handleFormData)\n this._associatedForm.removeEventListener('reset', this._handleFormReset)\n }\n\n this._associatedForm = nextForm\n\n if (this._associatedForm && !this._supportsFormInternals) {\n this._associatedForm.addEventListener('formdata', this._handleFormData)\n this._associatedForm.addEventListener('reset', this._handleFormReset)\n }\n }\n\n private _syncFormValue () {\n if (!this._supportsFormInternals) return\n const internals = this._internals\n if (!internals) return\n if (this.disabled || !this.name || !this.value) {\n internals.setFormValue(null)\n return\n }\n internals.setFormValue(this.value)\n }\n\n private _syncValidity () {\n if (!this._internals || !this._supportsFormInternals || typeof this._internals.setValidity !== 'function') return\n if (this.disabled || !this.required || this.value) {\n this._internals.setValidity({})\n return\n }\n this._internals.setValidity({ valueMissing: true }, 'Please capture a photo.')\n }\n\n private _syncPreviewFromValue (file: File | null) {\n this._revokePreviewUrl()\n if (!file) return\n this._stopStream()\n this._previewUrl = URL.createObjectURL(file)\n }\n\n private _clearValue (options: { emitEvents: boolean }) {\n this.value = null\n this._errorMessage = ''\n if (options.emitEvents) {\n this._dispatchValueEvents()\n }\n }\n\n private _dispatchValueEvents () {\n const detail = { value: this.value }\n this.dispatchEvent(new CustomEvent<PhotoCaptureValueDetail>('input', {\n detail,\n bubbles: true,\n composed: true\n }))\n this.dispatchEvent(new CustomEvent<PhotoCaptureValueDetail>('change', {\n detail,\n bubbles: true,\n composed: true\n }))\n }\n\n private _fileExtensionForMimeType (mimeType: string): string {\n switch (mimeType) {\n case 'image/jpeg':\n return 'jpg'\n case 'image/webp':\n return 'webp'\n case 'image/gif':\n return 'gif'\n default:\n return 'png'\n }\n }\n\n private _createFileFromBlob (blob: Blob): File {\n const contentType = blob.type || this.captureFormat || DEFAULT_CAPTURE_FORMAT\n const extension = this._fileExtensionForMimeType(contentType)\n const safePrefix = (this.fileNamePrefix || this.name || 'photo').trim() || 'photo'\n return new File([blob], `${safePrefix}-${Date.now()}.${extension}`, { type: contentType })\n }\n\n private _queuePreviewStart () {\n this._startPreview().catch(() => undefined)\n }\n\n private _resolveMediaConstraints (): MediaStreamConstraints {\n if (this.mediaConstraints) {\n return this.mediaConstraints\n }\n if (this.constraints) {\n try {\n return JSON.parse(this.constraints) as MediaStreamConstraints\n } catch (error) {\n throw new Error(`Invalid constraints JSON: ${(error as Error).message}`)\n }\n }\n\n return {\n video: this.facingMode\n ? { facingMode: { ideal: this.facingMode } }\n : true\n }\n }\n\n private async _startPreview () {\n if (!this.open || this.value || this._startingPreview) return\n if (!navigator.mediaDevices?.getUserMedia) {\n this._emitError(new Error('navigator.mediaDevices.getUserMedia not available'), 'Camera access is not available in this browser')\n return\n }\n\n this._startingPreview = true\n this._errorMessage = ''\n\n try {\n const stream = await navigator.mediaDevices.getUserMedia(this._resolveMediaConstraints())\n if (!this.open) {\n stream.getTracks().forEach(track => track.stop())\n return\n }\n this._stream = stream\n this.requestUpdate()\n await this.updateComplete\n const video = this.shadowRoot?.querySelector('video.capture-preview') as HTMLVideoElement | null\n if (video) {\n video.srcObject = stream\n await video.play?.().catch(() => undefined)\n }\n } catch (error) {\n this._emitError(error, (error as Error)?.message || 'Unable to start the camera preview')\n } finally {\n this._startingPreview = false\n }\n }\n\n private _stopStream () {\n if (!this._stream) return\n this._stream.getTracks().forEach(track => track.stop())\n this._stream = null\n const video = this.shadowRoot?.querySelector('video.capture-preview') as HTMLVideoElement | null\n if (video) {\n video.srcObject = null\n }\n }\n\n private _revokePreviewUrl () {\n if (this._previewUrl) {\n URL.revokeObjectURL(this._previewUrl)\n }\n this._previewUrl = ''\n }\n\n private async _captureSnapshot () {\n const video = this.shadowRoot?.querySelector('video.capture-preview') as HTMLVideoElement | null\n if (!video) return\n\n const width = video.videoWidth || video.clientWidth || 640\n const height = video.videoHeight || video.clientHeight || 480\n const canvas = document.createElement('canvas')\n canvas.width = width\n canvas.height = height\n\n const context = canvas.getContext('2d')\n if (!context) {\n this._emitError(new Error('Canvas 2D context unavailable'), 'Unable to capture a photo in this browser')\n return\n }\n\n context.drawImage(video, 0, 0, width, height)\n\n const blob = await new Promise<Blob | null>(resolve => {\n canvas.toBlob(resolve, this.captureFormat || DEFAULT_CAPTURE_FORMAT, this.captureQuality)\n })\n\n if (!blob) {\n this._emitError(new Error('Camera snapshot failed'), 'Unable to create an image from the current camera frame')\n return\n }\n\n this.value = this._createFileFromBlob(blob)\n this._errorMessage = ''\n }\n\n private async _retakePhoto () {\n this._clearValue({ emitEvents: true })\n await this._startPreview()\n }\n\n private _confirmPhoto () {\n if (!this.value || !this._previewUrl) return\n\n this._dispatchValueEvents()\n\n this.dispatchEvent(new CustomEvent<PhotoCapturedDetail>('photo-captured', {\n detail: {\n file: this.value,\n blob: this.value,\n objectUrl: this._previewUrl,\n contentType: this.value.type || this.captureFormat || DEFAULT_CAPTURE_FORMAT\n },\n bubbles: true,\n composed: true\n }))\n\n if (this.autoCloseOnCapture) {\n this._setOpen(false)\n }\n }\n\n private _handleCancel () {\n this._stopStream()\n this._clearValue({ emitEvents: false })\n this._setOpen(false)\n this.dispatchEvent(new CustomEvent('cancel', {\n bubbles: true,\n composed: true\n }))\n }\n\n private _openCapture () {\n if (this.disabled) return\n this._setOpen(true)\n }\n\n private _renderViewport () {\n if (this._previewUrl) {\n return html`<img class=\"capture-preview\" part=\"preview-image\" src=\"${this._previewUrl}\" alt=\"Captured photo preview\" />`\n }\n\n return html`<video class=\"capture-preview\" part=\"preview-video\" autoplay playsinline muted></video>`\n }\n\n private _renderStatus () {\n if (this._errorMessage) {\n return html`<div class=\"status error\" part=\"error-message\">${this._errorMessage}</div>`\n }\n\n if (this._startingPreview) {\n return html`<div class=\"status\" part=\"status-message\">Opening camera…</div>`\n }\n\n if (!this.value) {\n return html`<div class=\"status\" part=\"status-message\">Preview the camera and take a photo when ready.</div>`\n }\n\n return html`<div class=\"status\" part=\"status-message\">Review the photo before confirming it.</div>`\n }\n\n private _renderActions () {\n return html`\n <div class=\"actions\" part=\"actions\">\n ${this.showCancelButton\n ? html`\n <button\n class=\"cancel-button\"\n part=\"cancel-button\"\n type=\"button\"\n @click=\"${this._handleCancel}\"\n >${this.cancelLabel}</button>\n `\n : nothing}\n\n ${this.value\n ? html`\n <button\n class=\"action-button\"\n part=\"retake-button\"\n type=\"button\"\n @click=\"${this._retakePhoto}\"\n >${this.retakeLabel}</button>\n <button\n class=\"action-button action-button--primary\"\n part=\"confirm-button\"\n type=\"button\"\n @click=\"${this._confirmPhoto}\"\n >${this.confirmLabel}</button>\n `\n : html`\n <button\n class=\"action-button action-button--primary\"\n part=\"capture-button\"\n type=\"button\"\n ?disabled=\"${this._startingPreview || !this._stream}\"\n @click=\"${this._captureSnapshot}\"\n >${this.captureLabel}</button>\n `}\n </div>\n `\n }\n\n private _renderPanel () {\n return html`\n <div class=\"panel\" part=\"panel\">\n <div class=\"panel-header\" part=\"header\">\n <h2 class=\"panel-heading\" part=\"heading\"><slot name=\"heading\">${this.heading}</slot></h2>\n ${this.showCancelButton\n ? html`\n <button\n class=\"close-button\"\n part=\"close-button\"\n type=\"button\"\n aria-label=\"${this.cancelLabel}\"\n @click=\"${this._handleCancel}\"\n >&times;</button>\n `\n : nothing}\n </div>\n <div class=\"viewport\" part=\"viewport\">${this._renderViewport()}</div>\n ${this._renderStatus()}\n ${this._renderActions()}\n </div>\n `\n }\n\n render () {\n const trigger = this.showTrigger || this.presentation === 'dialog'\n\n return html`\n ${trigger\n ? html`\n <button\n class=\"trigger-button\"\n part=\"trigger-button\"\n type=\"button\"\n ?disabled=\"${this.disabled}\"\n @click=\"${this._openCapture}\"\n ><slot>${this.label}</slot></button>\n `\n : nothing}\n\n ${this.presentation === 'dialog'\n ? html`\n <dialog\n class=\"dialog\"\n part=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"${this.heading}\"\n @cancel=\"${(event: Event) => { event.preventDefault(); this._handleCancel() }}\"\n @click=\"${(event: MouseEvent) => {\n if (event.target === event.currentTarget) {\n this._handleCancel()\n }\n }}\"\n >\n ${this.open ? this._renderPanel() : nothing}\n </dialog>\n `\n : html`\n <div class=\"inline-root\" part=\"inline-root\" ?hidden=\"${!this.open}\">\n ${this.open ? this._renderPanel() : nothing}\n </div>\n `}\n `\n }\n}\n","import { PhotoCapture } from './PhotoCapture'\n\nexport { PhotoCapture }\n\nconst PHOTO_CAPTURE_TAG_NAME = 'solid-ui-photo-capture'\n\nif (!customElements.get(PHOTO_CAPTURE_TAG_NAME)) {\n customElements.define(PHOTO_CAPTURE_TAG_NAME, PhotoCapture)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"photo-capture-tiBsdSbA.js","names":["LitElement","css","html","nothing","DEFAULT_CAPTURE_FORMAT","PhotoCapture","formAssociated","properties","label","type","String","reflect","heading","captureLabel","attribute","confirmLabel","retakeLabel","cancelLabel","presentation","theme","facingMode","constraints","captureFormat","captureQuality","Number","open","Boolean","disabled","name","required","showTrigger","showCancelButton","autoCloseOnCapture","fileNamePrefix","value","mediaConstraints","_errorMessage","state","_previewUrl","_startingPreview","styles","_value","_stream","_internals","_associatedForm","_handleFormData","event","formData","append","_handleFormReset","_clearValue","emitEvents","_queuePreviewStart","_supportsFormInternals","setFormValue","constructor","undefined","attachInternals","nextValue","normalizedValue","File","previousValue","_syncPreviewFromValue","_syncFormValue","_syncValidity","requestUpdate","form","validationMessage","willValidate","checkValidity","reportValidity","connectedCallback","_syncAssociatedForm","disconnectedCallback","_stopStream","_revokePreviewUrl","formResetCallback","formDisabledCallback","updated","changed","dialog","shadowRoot","querySelector","showModal","close","has","video","srcObject","_setOpen","dispatchEvent","CustomEvent","detail","bubbles","composed","_emitError","error","message","nextForm","closest","removeEventListener","addEventListener","internals","setValidity","valueMissing","file","URL","createObjectURL","options","_dispatchValueEvents","_fileExtensionForMimeType","mimeType","_createFileFromBlob","blob","contentType","extension","safePrefix","trim","Date","now","_startPreview","catch","_resolveMediaConstraints","JSON","parse","Error","ideal","navigator","mediaDevices","getUserMedia","stream","getTracks","forEach","track","stop","updateComplete","play","revokeObjectURL","_captureSnapshot","width","videoWidth","clientWidth","height","videoHeight","clientHeight","canvas","document","createElement","context","getContext","drawImage","Promise","resolve","toBlob","_retakePhoto","_confirmPhoto","objectUrl","_handleCancel","_openCapture","_renderViewport","_renderStatus","_renderActions","_renderPanel","render","trigger","preventDefault","target","currentTarget","PhotoCapture","PHOTO_CAPTURE_TAG_NAME","customElements","get","define"],"sources":["../../src/v2/components/media/photoCapture/PhotoCapture.ts","../../src/v2/components/media/photoCapture/index.ts"],"sourcesContent":["import { LitElement, css, html, nothing, type PropertyValues } from 'lit'\n/* The original code was written by Sir Tim Berners-Lee. It was made into a\nweb component by AI Model GPT-5.4\nPrompt: Take the code from src/media/media-capture.ts and make it a\nweb component. Make it work in forms as well as not. Make it\nconfigurable and follow LoginButton. */\nexport interface PhotoCapturedDetail {\n file: File\n blob: Blob\n objectUrl: string\n contentType: string\n}\n\nexport interface PhotoCaptureErrorDetail {\n error: unknown\n message: string\n}\n\nexport interface PhotoCaptureOpenChangeDetail {\n open: boolean\n}\n\nexport interface PhotoCaptureValueDetail {\n value: File | null\n}\n\ntype PresentationMode = 'inline' | 'dialog'\ntype ThemeMode = 'light' | 'dark'\n\nconst DEFAULT_CAPTURE_FORMAT = 'image/png'\n\nexport class PhotoCapture extends LitElement {\n static formAssociated = true\n\n static properties = {\n label: { type: String, reflect: true },\n heading: { type: String, reflect: true },\n captureLabel: { type: String, attribute: 'capture-label', reflect: true },\n confirmLabel: { type: String, attribute: 'confirm-label', reflect: true },\n retakeLabel: { type: String, attribute: 'retake-label', reflect: true },\n cancelLabel: { type: String, attribute: 'cancel-label', reflect: true },\n presentation: { type: String, reflect: true },\n theme: { type: String, reflect: true },\n facingMode: { type: String, attribute: 'facing-mode', reflect: true },\n constraints: { type: String, reflect: true },\n captureFormat: { type: String, attribute: 'capture-format', reflect: true },\n captureQuality: { type: Number, attribute: 'capture-quality' },\n open: { type: Boolean, reflect: true },\n disabled: { type: Boolean, reflect: true },\n name: { type: String, reflect: true },\n required: { type: Boolean, reflect: true },\n showTrigger: { type: Boolean, attribute: 'show-trigger', reflect: true },\n showCancelButton: { type: Boolean, attribute: 'show-cancel-button', reflect: true },\n autoCloseOnCapture: { type: Boolean, attribute: 'auto-close-on-capture' },\n fileNamePrefix: { type: String, attribute: 'file-name-prefix', reflect: true },\n value: { attribute: false },\n mediaConstraints: { attribute: false },\n _errorMessage: { state: true },\n _previewUrl: { state: true },\n _startingPreview: { state: true }\n }\n\n static styles = css`\n :host {\n display: block;\n --photo-capture-trigger-background: var(--lavender-900, #7c4cff);\n --photo-capture-trigger-text: var(--color-header-text, #ffffff);\n --photo-capture-surface: var(--color-background, #ffffff);\n --photo-capture-text: var(--gray-900, #101828);\n --photo-capture-muted-text: var(--gray-600, #4a5565);\n --photo-capture-border: var(--gray-200, #e5e7eb);\n --photo-capture-hover: var(--gray-100, #f3f4f6);\n --photo-capture-shadow: var(--box-shadow-sm, 0 1px 4px rgba(0, 0, 0, 0.12));\n --photo-capture-overlay: rgba(0, 0, 0, 0.6);\n --photo-capture-frame-max-width: 260px;\n --photo-capture-radius: 8px;\n --photo-capture-button-radius: var(--border-radius-base, 0.3125rem);\n --photo-capture-gap: var(--spacing-2xs, 0.625rem);\n color: var(--photo-capture-text);\n box-sizing: border-box;\n }\n\n :host([theme='dark']) {\n --photo-capture-surface: var(--gray-900, #111827);\n --photo-capture-text: var(--white, #ffffff);\n --photo-capture-muted-text: var(--gray-300, #d1d5dc);\n --photo-capture-border: var(--gray-700, #364153);\n --photo-capture-hover: rgba(255, 255, 255, 0.08);\n --photo-capture-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);\n }\n\n *, *::before, *::after {\n box-sizing: border-box;\n }\n\n .trigger-button,\n .action-button,\n .cancel-button,\n .close-button {\n font: inherit;\n cursor: pointer;\n }\n\n .trigger-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 35px;\n padding: 0.5rem 0.9rem;\n border: none;\n border-radius: var(--photo-capture-button-radius);\n background: var(--photo-capture-trigger-background);\n color: var(--photo-capture-trigger-text);\n transition: transform 0.2s ease;\n }\n\n .trigger-button:active {\n transform: translateY(1px);\n }\n\n .trigger-button:disabled,\n .action-button:disabled,\n .cancel-button:disabled {\n opacity: 0.55;\n cursor: not-allowed;\n }\n\n .inline-root[hidden] {\n display: none;\n }\n\n .dialog {\n border: none;\n padding: 0;\n background: transparent;\n outline: none;\n overflow: visible;\n max-width: none;\n max-height: none;\n }\n\n .dialog::backdrop {\n background: var(--photo-capture-overlay);\n }\n\n .panel {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--photo-capture-gap);\n width: min(100%, 340px);\n padding: 1rem;\n border: 1px solid var(--photo-capture-border);\n border-radius: var(--photo-capture-radius);\n background: var(--photo-capture-surface);\n color: var(--photo-capture-text);\n box-shadow: var(--photo-capture-shadow);\n }\n\n .panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n width: 100%;\n }\n\n .panel-heading {\n margin: 0;\n font-size: 1rem;\n font-weight: 700;\n line-height: 1.4;\n }\n\n .close-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.75rem;\n height: 1.75rem;\n padding: 0;\n border: none;\n border-radius: 999px;\n background: transparent;\n color: var(--photo-capture-muted-text);\n font-size: 1.125rem;\n line-height: 1;\n }\n\n .close-button:hover,\n .close-button:focus-visible,\n .action-button:hover,\n .action-button:focus-visible,\n .cancel-button:hover,\n .cancel-button:focus-visible {\n background: var(--photo-capture-hover);\n }\n\n .viewport {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-height: 200px;\n border-radius: 0.5rem;\n overflow: hidden;\n background: color-mix(in srgb, var(--photo-capture-surface) 92%, #000 8%);\n }\n\n .viewport video,\n .viewport img {\n display: block;\n width: 100%;\n max-width: var(--photo-capture-frame-max-width);\n height: auto;\n border-radius: 0.5rem;\n margin: 0 auto;\n object-fit: cover;\n }\n\n .status {\n width: 100%;\n text-align: center;\n color: var(--photo-capture-muted-text);\n font-size: 0.875rem;\n }\n\n .status.error {\n color: var(--color-error, #b00020);\n }\n\n .actions {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n gap: var(--photo-capture-gap);\n width: 100%;\n }\n\n .action-button,\n .cancel-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 2.25rem;\n padding: 0.45rem 0.85rem;\n border-radius: var(--photo-capture-button-radius);\n border: 1px solid var(--photo-capture-border);\n background: var(--photo-capture-surface);\n color: var(--photo-capture-text);\n font-size: var(--font-size-xxs, 0.75rem);\n font-weight: var(--font-weight-xbold, 700);\n line-height: 1.5;\n }\n\n .action-button--primary {\n background: var(--photo-capture-trigger-background);\n color: var(--photo-capture-trigger-text);\n border-color: transparent;\n }\n `\n\n declare label: string\n declare heading: string\n declare captureLabel: string\n declare confirmLabel: string\n declare retakeLabel: string\n declare cancelLabel: string\n declare presentation: PresentationMode\n declare theme: ThemeMode\n declare facingMode: string\n declare constraints: string\n declare captureFormat: string\n declare captureQuality?: number\n declare open: boolean\n declare disabled: boolean\n declare name: string\n declare required: boolean\n declare showTrigger: boolean\n declare showCancelButton: boolean\n declare autoCloseOnCapture: boolean\n declare fileNamePrefix: string\n declare mediaConstraints?: MediaStreamConstraints\n declare _errorMessage: string\n declare _previewUrl: string\n declare _startingPreview: boolean\n\n private _value: File | null = null\n private _stream: MediaStream | null = null\n private readonly _internals: ElementInternals | null\n private _associatedForm: HTMLFormElement | null = null\n private readonly _handleFormData = (event: Event) => {\n const formData = (event as Event & { formData?: FormData }).formData\n if (!formData || !this.name || !this.value || this.disabled) return\n formData.append(this.name, this.value, this.value.name)\n }\n\n private readonly _handleFormReset = () => {\n this._clearValue({ emitEvents: false })\n if (this.open) {\n this._queuePreviewStart()\n }\n }\n\n private get _supportsFormInternals (): boolean {\n return !!this._internals && typeof this._internals.setFormValue === 'function'\n }\n\n constructor () {\n super()\n this.label = 'Take Photo'\n this.heading = 'Take a photo'\n this.captureLabel = 'Take Photo'\n this.confirmLabel = 'Use Photo'\n this.retakeLabel = 'Retake'\n this.cancelLabel = 'Cancel'\n this.presentation = 'inline'\n this.theme = 'light'\n this.facingMode = 'user'\n this.constraints = ''\n this.captureFormat = DEFAULT_CAPTURE_FORMAT\n this.captureQuality = undefined\n this.open = false\n this.disabled = false\n this.name = ''\n this.required = false\n this.showTrigger = false\n this.showCancelButton = true\n this.autoCloseOnCapture = false\n this.fileNamePrefix = ''\n this.mediaConstraints = undefined\n this._errorMessage = ''\n this._previewUrl = ''\n this._startingPreview = false\n this._internals = typeof this.attachInternals === 'function' ? this.attachInternals() : null\n }\n\n get value (): File | null {\n return this._value\n }\n\n set value (nextValue: File | null) {\n const normalizedValue = nextValue instanceof File ? nextValue : null\n const previousValue = this._value\n if (previousValue === normalizedValue) return\n\n this._value = normalizedValue\n this._syncPreviewFromValue(normalizedValue)\n this._syncFormValue()\n this._syncValidity()\n this.requestUpdate('value', previousValue)\n }\n\n get form (): HTMLFormElement | null {\n return (this._supportsFormInternals ? this._internals?.form : null) ?? this._associatedForm\n }\n\n get validationMessage (): string {\n return (typeof this._internals?.validationMessage === 'string' ? this._internals.validationMessage : '') || (this.required && !this.value ? 'Please capture a photo.' : '')\n }\n\n get willValidate (): boolean {\n return typeof this._internals?.willValidate === 'boolean' ? this._internals.willValidate : !this.disabled\n }\n\n checkValidity (): boolean {\n if (this._internals && typeof this._internals.checkValidity === 'function') {\n return this._internals.checkValidity()\n }\n return !(this.required && !this.value)\n }\n\n reportValidity (): boolean {\n if (this._internals && typeof this._internals.reportValidity === 'function') {\n return this._internals.reportValidity()\n }\n return this.checkValidity()\n }\n\n connectedCallback () {\n super.connectedCallback()\n this._syncAssociatedForm()\n this._syncFormValue()\n this._syncValidity()\n }\n\n disconnectedCallback () {\n this._syncAssociatedForm(null)\n this._stopStream()\n this._revokePreviewUrl()\n super.disconnectedCallback()\n }\n\n formResetCallback () {\n this._handleFormReset()\n }\n\n formDisabledCallback (disabled: boolean) {\n this.disabled = disabled\n }\n\n protected updated (changed: PropertyValues<this>) {\n this._syncAssociatedForm()\n\n if (this.presentation === 'dialog') {\n const dialog = this.shadowRoot?.querySelector('dialog') as HTMLDialogElement | null\n if (dialog) {\n if (this.open && !dialog.open) {\n dialog.showModal()\n } else if (!this.open && dialog.open) {\n dialog.close()\n }\n }\n }\n\n if (changed.has('open') && !this.open) {\n this._stopStream()\n }\n\n if (\n this.open &&\n !this.value &&\n !this._stream &&\n !this._startingPreview &&\n (changed.has('open') || changed.has('presentation') || changed.has('_previewUrl') || changed.has('value'))\n ) {\n this._queuePreviewStart()\n }\n\n if (changed.has('name') || changed.has('disabled') || changed.has('value')) {\n this._syncFormValue()\n }\n\n if (changed.has('required') || changed.has('disabled') || changed.has('value')) {\n this._syncValidity()\n }\n\n if (this._stream) {\n const video = this.shadowRoot?.querySelector('video.capture-preview') as HTMLVideoElement | null\n if (video && video.srcObject !== this._stream) {\n video.srcObject = this._stream\n }\n }\n }\n\n private _setOpen (open: boolean) {\n if (this.open === open) return\n this.open = open\n this.dispatchEvent(new CustomEvent<PhotoCaptureOpenChangeDetail>('open-change', {\n detail: { open },\n bubbles: true,\n composed: true\n }))\n }\n\n private _emitError (error: unknown, message = 'Unable to access the camera') {\n this._errorMessage = message\n this.dispatchEvent(new CustomEvent<PhotoCaptureErrorDetail>('error', {\n detail: { error, message },\n bubbles: true,\n composed: true\n }))\n }\n\n private _syncAssociatedForm (nextForm = this.closest('form') as HTMLFormElement | null) {\n if (this._associatedForm === nextForm) return\n\n if (this._associatedForm) {\n this._associatedForm.removeEventListener('formdata', this._handleFormData)\n this._associatedForm.removeEventListener('reset', this._handleFormReset)\n }\n\n this._associatedForm = nextForm\n\n if (this._associatedForm && !this._supportsFormInternals) {\n this._associatedForm.addEventListener('formdata', this._handleFormData)\n this._associatedForm.addEventListener('reset', this._handleFormReset)\n }\n }\n\n private _syncFormValue () {\n if (!this._supportsFormInternals) return\n const internals = this._internals\n if (!internals) return\n if (this.disabled || !this.name || !this.value) {\n internals.setFormValue(null)\n return\n }\n internals.setFormValue(this.value)\n }\n\n private _syncValidity () {\n if (!this._internals || !this._supportsFormInternals || typeof this._internals.setValidity !== 'function') return\n if (this.disabled || !this.required || this.value) {\n this._internals.setValidity({})\n return\n }\n this._internals.setValidity({ valueMissing: true }, 'Please capture a photo.')\n }\n\n private _syncPreviewFromValue (file: File | null) {\n this._revokePreviewUrl()\n if (!file) return\n this._stopStream()\n this._previewUrl = URL.createObjectURL(file)\n }\n\n private _clearValue (options: { emitEvents: boolean }) {\n this.value = null\n this._errorMessage = ''\n if (options.emitEvents) {\n this._dispatchValueEvents()\n }\n }\n\n private _dispatchValueEvents () {\n const detail = { value: this.value }\n this.dispatchEvent(new CustomEvent<PhotoCaptureValueDetail>('input', {\n detail,\n bubbles: true,\n composed: true\n }))\n this.dispatchEvent(new CustomEvent<PhotoCaptureValueDetail>('change', {\n detail,\n bubbles: true,\n composed: true\n }))\n }\n\n private _fileExtensionForMimeType (mimeType: string): string {\n switch (mimeType) {\n case 'image/jpeg':\n return 'jpg'\n case 'image/webp':\n return 'webp'\n case 'image/gif':\n return 'gif'\n default:\n return 'png'\n }\n }\n\n private _createFileFromBlob (blob: Blob): File {\n const contentType = blob.type || this.captureFormat || DEFAULT_CAPTURE_FORMAT\n const extension = this._fileExtensionForMimeType(contentType)\n const safePrefix = (this.fileNamePrefix || this.name || 'photo').trim() || 'photo'\n return new File([blob], `${safePrefix}-${Date.now()}.${extension}`, { type: contentType })\n }\n\n private _queuePreviewStart () {\n this._startPreview().catch(() => undefined)\n }\n\n private _resolveMediaConstraints (): MediaStreamConstraints {\n if (this.mediaConstraints) {\n return this.mediaConstraints\n }\n if (this.constraints) {\n try {\n return JSON.parse(this.constraints) as MediaStreamConstraints\n } catch (error) {\n throw new Error(`Invalid constraints JSON: ${(error as Error).message}`)\n }\n }\n\n return {\n video: this.facingMode\n ? { facingMode: { ideal: this.facingMode } }\n : true\n }\n }\n\n private async _startPreview () {\n if (!this.open || this.value || this._startingPreview) return\n if (!navigator.mediaDevices?.getUserMedia) {\n this._emitError(new Error('navigator.mediaDevices.getUserMedia not available'), 'Camera access is not available in this browser')\n return\n }\n\n this._startingPreview = true\n this._errorMessage = ''\n\n try {\n const stream = await navigator.mediaDevices.getUserMedia(this._resolveMediaConstraints())\n if (!this.open) {\n stream.getTracks().forEach(track => track.stop())\n return\n }\n this._stream = stream\n this.requestUpdate()\n await this.updateComplete\n const video = this.shadowRoot?.querySelector('video.capture-preview') as HTMLVideoElement | null\n if (video) {\n video.srcObject = stream\n await video.play?.().catch(() => undefined)\n }\n } catch (error) {\n this._emitError(error, (error as Error)?.message || 'Unable to start the camera preview')\n } finally {\n this._startingPreview = false\n }\n }\n\n private _stopStream () {\n if (!this._stream) return\n this._stream.getTracks().forEach(track => track.stop())\n this._stream = null\n const video = this.shadowRoot?.querySelector('video.capture-preview') as HTMLVideoElement | null\n if (video) {\n video.srcObject = null\n }\n }\n\n private _revokePreviewUrl () {\n if (this._previewUrl) {\n URL.revokeObjectURL(this._previewUrl)\n }\n this._previewUrl = ''\n }\n\n private async _captureSnapshot () {\n const video = this.shadowRoot?.querySelector('video.capture-preview') as HTMLVideoElement | null\n if (!video) return\n\n const width = video.videoWidth || video.clientWidth || 640\n const height = video.videoHeight || video.clientHeight || 480\n const canvas = document.createElement('canvas')\n canvas.width = width\n canvas.height = height\n\n const context = canvas.getContext('2d')\n if (!context) {\n this._emitError(new Error('Canvas 2D context unavailable'), 'Unable to capture a photo in this browser')\n return\n }\n\n context.drawImage(video, 0, 0, width, height)\n\n const blob = await new Promise<Blob | null>(resolve => {\n canvas.toBlob(resolve, this.captureFormat || DEFAULT_CAPTURE_FORMAT, this.captureQuality)\n })\n\n if (!blob) {\n this._emitError(new Error('Camera snapshot failed'), 'Unable to create an image from the current camera frame')\n return\n }\n\n this.value = this._createFileFromBlob(blob)\n this._errorMessage = ''\n }\n\n private async _retakePhoto () {\n this._clearValue({ emitEvents: true })\n await this._startPreview()\n }\n\n private _confirmPhoto () {\n if (!this.value || !this._previewUrl) return\n\n this._dispatchValueEvents()\n\n this.dispatchEvent(new CustomEvent<PhotoCapturedDetail>('photo-captured', {\n detail: {\n file: this.value,\n blob: this.value,\n objectUrl: this._previewUrl,\n contentType: this.value.type || this.captureFormat || DEFAULT_CAPTURE_FORMAT\n },\n bubbles: true,\n composed: true\n }))\n\n if (this.autoCloseOnCapture) {\n this._setOpen(false)\n }\n }\n\n private _handleCancel () {\n this._stopStream()\n this._clearValue({ emitEvents: false })\n this._setOpen(false)\n this.dispatchEvent(new CustomEvent('cancel', {\n bubbles: true,\n composed: true\n }))\n }\n\n private _openCapture () {\n if (this.disabled) return\n this._setOpen(true)\n }\n\n private _renderViewport () {\n if (this._previewUrl) {\n return html`<img class=\"capture-preview\" part=\"preview-image\" src=\"${this._previewUrl}\" alt=\"Captured photo preview\" />`\n }\n\n return html`<video class=\"capture-preview\" part=\"preview-video\" autoplay playsinline muted></video>`\n }\n\n private _renderStatus () {\n if (this._errorMessage) {\n return html`<div class=\"status error\" part=\"error-message\">${this._errorMessage}</div>`\n }\n\n if (this._startingPreview) {\n return html`<div class=\"status\" part=\"status-message\">Opening camera…</div>`\n }\n\n if (!this.value) {\n return html`<div class=\"status\" part=\"status-message\">Preview the camera and take a photo when ready.</div>`\n }\n\n return html`<div class=\"status\" part=\"status-message\">Review the photo before confirming it.</div>`\n }\n\n private _renderActions () {\n return html`\n <div class=\"actions\" part=\"actions\">\n ${this.showCancelButton\n ? html`\n <button\n class=\"cancel-button\"\n part=\"cancel-button\"\n type=\"button\"\n @click=\"${this._handleCancel}\"\n >${this.cancelLabel}</button>\n `\n : nothing}\n\n ${this.value\n ? html`\n <button\n class=\"action-button\"\n part=\"retake-button\"\n type=\"button\"\n @click=\"${this._retakePhoto}\"\n >${this.retakeLabel}</button>\n <button\n class=\"action-button action-button--primary\"\n part=\"confirm-button\"\n type=\"button\"\n @click=\"${this._confirmPhoto}\"\n >${this.confirmLabel}</button>\n `\n : html`\n <button\n class=\"action-button action-button--primary\"\n part=\"capture-button\"\n type=\"button\"\n ?disabled=\"${this._startingPreview || !this._stream}\"\n @click=\"${this._captureSnapshot}\"\n >${this.captureLabel}</button>\n `}\n </div>\n `\n }\n\n private _renderPanel () {\n return html`\n <div class=\"panel\" part=\"panel\">\n <div class=\"panel-header\" part=\"header\">\n <h2 class=\"panel-heading\" part=\"heading\"><slot name=\"heading\">${this.heading}</slot></h2>\n ${this.showCancelButton\n ? html`\n <button\n class=\"close-button\"\n part=\"close-button\"\n type=\"button\"\n aria-label=\"${this.cancelLabel}\"\n @click=\"${this._handleCancel}\"\n >&times;</button>\n `\n : nothing}\n </div>\n <div class=\"viewport\" part=\"viewport\">${this._renderViewport()}</div>\n ${this._renderStatus()}\n ${this._renderActions()}\n </div>\n `\n }\n\n render () {\n const trigger = this.showTrigger || this.presentation === 'dialog'\n\n return html`\n ${trigger\n ? html`\n <button\n class=\"trigger-button\"\n part=\"trigger-button\"\n type=\"button\"\n ?disabled=\"${this.disabled}\"\n @click=\"${this._openCapture}\"\n ><slot>${this.label}</slot></button>\n `\n : nothing}\n\n ${this.presentation === 'dialog'\n ? html`\n <dialog\n class=\"dialog\"\n part=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"${this.heading}\"\n @cancel=\"${(event: Event) => { event.preventDefault(); this._handleCancel() }}\"\n @click=\"${(event: MouseEvent) => {\n if (event.target === event.currentTarget) {\n this._handleCancel()\n }\n }}\"\n >\n ${this.open ? this._renderPanel() : nothing}\n </dialog>\n `\n : html`\n <div class=\"inline-root\" part=\"inline-root\" ?hidden=\"${!this.open}\">\n ${this.open ? this._renderPanel() : nothing}\n </div>\n `}\n `\n }\n}\n","import { PhotoCapture } from './PhotoCapture'\n\nexport { PhotoCapture }\n\nconst PHOTO_CAPTURE_TAG_NAME = 'solid-ui-photo-capture'\n\nif (!customElements.get(PHOTO_CAPTURE_TAG_NAME)) {\n customElements.define(PHOTO_CAPTURE_TAG_NAME, PhotoCapture)\n}\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { c as e, n as t } from "./auth-BPQUXz9Q.js";
2
- import { t as n } from "./provide-CqCWUUfi.js";
3
- import { r, t as i } from "./components-Dlw2zOvI.js";
4
- import { i as a } from "./lit-CC2G_f_C.js";
5
- import { i as o } from "./decorators-CJJL4XBH.js";
6
- import "./dialogs-root-C4igEIk0.js";
1
+ import { c as e, n as t } from "./auth-Cpf3HYqF.js";
2
+ import { n } from "./DialogProvider-DphduSXG.js";
3
+ import { a as r, i } from "./components-BlEGdx4i.js";
4
+ import { i as a } from "./lit-C4H1jI4q.js";
5
+ import { r as o } from "./decorators-BiCkPd_3.js";
6
+ import "./dialogs-root-BcUcRuAt.js";
7
7
  //#region src/components/provider/Provider.ts
8
8
  var s, c, l, u, d, f, p, m, h;
9
9
  function g(e, t, n) {
@@ -211,4 +211,4 @@ var k = E;
211
211
  //#endregion
212
212
  export { E as n, k as t };
213
213
 
214
- //# sourceMappingURL=provider-uRz_fGWb.js.map
214
+ //# sourceMappingURL=provider-DZmdgerD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-uRz_fGWb.js","names":["customElement","WebComponent","provide","html","property","authContext","SolidAuth","DEFAULT_SIGNUP_URL","_classDecs","_Provider","_A","WeakMap","_B","_ref","_signupUrlDecs","type","String","reflect","_authDecs","context","Provider","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_signupUrl","_init_auth","_classPrivateFieldGet","signupUrl","v","_classPrivateFieldSet","auth","willUpdate","changedProperties","has","render","_Provider2","e","c","_initClass","_applyDecs","default","Provider"],"sources":["../../src/components/provider/Provider.ts","../../src/components/provider/index.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { provide } from '@lit/context'\nimport { html } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { authContext } from '@/lib/auth'\nimport { SolidAuth, DEFAULT_SIGNUP_URL } from '@/lib/auth'\n\nimport '@/components/dialogs-root'\n\n@customElement('solid-ui-provider')\nexport default class Provider extends WebComponent {\n @property({ type: String, reflect: true })\n accessor signupUrl: string | undefined\n\n @provide({ context: authContext })\n private accessor auth = new SolidAuth()\n\n protected willUpdate (changedProperties: Map<string, any>) {\n super.willUpdate(changedProperties)\n\n if (changedProperties.has('signupUrl')) {\n this.auth.signupUrl = this.signupUrl ?? DEFAULT_SIGNUP_URL\n }\n }\n\n protected render () {\n return html`\n <slot></slot>\n <solid-ui-dialogs-root></solid-ui-dialogs-root>\n `\n }\n}\n","import Provider from './Provider'\n\nexport { Provider }\nexport default Provider\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOkCQ,IAAA,CAEjCR,EAAc,mBAAmB,CAAC;AAAA,IAAAS,GAAAC,kBAAA,IAAAC,QAAA,GAAAC,kBAAA,IAAAD,QAAA;AAAAE,KAAAC,IAEhCV,EAAS;CAAEW,MAAMC;CAAQC,SAAS;AAAK,CAAC,GAACC,IAGzChB,EAAQ,EAAEiB,SAASd,EAAY,CAAC,GAAC,cAiBnC+B,IAAAhB,cArBqCnB,EAAa;CAAAoB,YAAA,GAAAC,GAAA;EAAAC,AAAA,MAAA,GAAAD,CAAA,GAAAC,EAAA,MAAAb,IAAAc,EAAA,IAAA,GAAAC,EAAA,IAAA,EAAA,GAAAF,EAAA,MAAAX,GAAAc,EAAA,MAKzB,IAAIpB,EAAU,CAAC,CAAA;CAAA;CAAA,KAAAO,KAAA;EAAA,OAAAc,EAAAjB,GAAA,IAAA;CAAA;CAAA,IAH9BkB,UAASC,GAAA;EAAAC,EAAApB,GAAA,MAAAmB,CAAA;CAAA;CAAA,IAGDE,OAAI;EAAA,OAAAJ,EAAAf,GAAA,IAAA;CAAA;CAAA,IAAJmB,KAAIF,GAAA;EAAAC,EAAAlB,GAAA,MAAAiB,CAAA;CAAA;CAEXG,WAAYC,GAAqC;EAGzD,AAFA,MAAMD,WAAWC,CAAiB,GAE9BA,EAAkBC,IAAI,WAAW,MACnC,KAAKH,KAAKH,YAAY,KAAKA,aAAAA;CAE/B;CAEUO,SAAU;EAClB,OAAOhC,CAAI;;;;CAIb;AACF,GAAC,CAAAkC,GAAA,CAAAZ,GAAAC,GAAAF,IAAAc,GAAA,CAAA7B,GAAA8B,MAAAC,EAAAJ,GAAA,CAAA;CAAAtB;CAAA;CAAA;AAAA,GAAA;CAAAI;CAAA;CAAA;AAAA,CAAA,GAAAV,GAAA,GAAA,KAAA,GArBqCP,CAAY,GAAAsC,EAAA;;;ACPlD,IAAA,IAAeG"}
1
+ {"version":3,"file":"provider-DZmdgerD.js","names":["customElement","WebComponent","provide","html","property","authContext","SolidAuth","DEFAULT_SIGNUP_URL","_classDecs","_Provider","_A","WeakMap","_B","_ref","_signupUrlDecs","type","String","reflect","_authDecs","context","Provider","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_signupUrl","_init_auth","_classPrivateFieldGet","signupUrl","v","_classPrivateFieldSet","auth","willUpdate","changedProperties","has","render","_Provider2","e","c","_initClass","_applyDecs","default","Provider"],"sources":["../../src/components/provider/Provider.ts","../../src/components/provider/index.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { provide } from '@lit/context'\nimport { html } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { authContext } from '@/lib/auth'\nimport { SolidAuth, DEFAULT_SIGNUP_URL } from '@/lib/auth'\n\nimport '@/components/dialogs-root'\n\n@customElement('solid-ui-provider')\nexport default class Provider extends WebComponent {\n @property({ type: String, reflect: true })\n accessor signupUrl: string | undefined\n\n @provide({ context: authContext })\n private accessor auth = new SolidAuth()\n\n protected willUpdate (changedProperties: Map<string, any>) {\n super.willUpdate(changedProperties)\n\n if (changedProperties.has('signupUrl')) {\n this.auth.signupUrl = this.signupUrl ?? DEFAULT_SIGNUP_URL\n }\n }\n\n protected render () {\n return html`\n <slot></slot>\n <solid-ui-dialogs-root></solid-ui-dialogs-root>\n `\n }\n}\n","import Provider from './Provider'\n\nexport { Provider }\nexport default Provider\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOkCQ,IAAA,CAEjCR,EAAc,mBAAmB,CAAC;AAAA,IAAAS,GAAAC,kBAAA,IAAAC,QAAA,GAAAC,kBAAA,IAAAD,QAAA;AAAAE,KAAAC,IAEhCV,EAAS;CAAEW,MAAMC;CAAQC,SAAS;AAAK,CAAC,GAACC,IAGzChB,EAAQ,EAAEiB,SAASd,EAAY,CAAC,GAAC,cAiBnC+B,IAAAhB,cArBqCnB,EAAa;CAAAoB,YAAA,GAAAC,GAAA;EAAAC,AAAA,MAAA,GAAAD,CAAA,GAAAC,EAAA,MAAAb,IAAAc,EAAA,IAAA,GAAAC,EAAA,IAAA,EAAA,GAAAF,EAAA,MAAAX,GAAAc,EAAA,MAKzB,IAAIpB,EAAU,CAAC,CAAA;CAAA;CAAA,KAAAO,KAAA;EAAA,OAAAc,EAAAjB,GAAA,IAAA;CAAA;CAAA,IAH9BkB,UAASC,GAAA;EAAAC,EAAApB,GAAA,MAAAmB,CAAA;CAAA;CAAA,IAGDE,OAAI;EAAA,OAAAJ,EAAAf,GAAA,IAAA;CAAA;CAAA,IAAJmB,KAAIF,GAAA;EAAAC,EAAAlB,GAAA,MAAAiB,CAAA;CAAA;CAEXG,WAAYC,GAAqC;EAGzD,AAFA,MAAMD,WAAWC,CAAiB,GAE9BA,EAAkBC,IAAI,WAAW,MACnC,KAAKH,KAAKH,YAAY,KAAKA,aAAAA;CAE/B;CAEUO,SAAU;EAClB,OAAOhC,CAAI;;;;CAIb;AACF,GAAC,CAAAkC,GAAA,CAAAZ,GAAAC,GAAAF,IAAAc,GAAA,CAAA7B,GAAA8B,MAAAC,EAAAJ,GAAA,CAAA;CAAAtB;CAAA;CAAA;AAAA,GAAA;CAAAI;CAAA;CAAA;AAAA,CAAA,GAAAV,GAAA,GAAA,KAAA,GArBqCP,CAAY,GAAAsC,EAAA;;;ACPlD,IAAA,IAAeG"}