solid-ui 3.1.3-11 → 3.1.3-13

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 (372) hide show
  1. package/README.md +11 -0
  2. package/dist/chunks/{DialogProvider-ge2aA77F.js → DialogProvider-B7wEBrVN.js} +11 -13
  3. package/dist/chunks/{DialogProvider-ge2aA77F.js.map → DialogProvider-B7wEBrVN.js.map} +1 -1
  4. package/dist/chunks/{account-CdqIoTsl.js → account-DeNlj01m.js} +30 -27
  5. package/dist/chunks/account-DeNlj01m.js.map +1 -0
  6. package/dist/chunks/{auth-D8B5yczR.js → auth-Knq99zZ9.js} +100 -117
  7. package/dist/chunks/auth-Knq99zZ9.js.map +1 -0
  8. package/dist/chunks/{avatar-DNGFKkhm.js → avatar-DgO_p94F.js} +16 -9
  9. package/dist/chunks/avatar-DgO_p94F.js.map +1 -0
  10. package/dist/chunks/{button-oanBb_ha.js → button-Dvkek1tx.js} +10 -11
  11. package/dist/chunks/{button-oanBb_ha.js.map → button-Dvkek1tx.js.map} +1 -1
  12. package/dist/chunks/{chunk.7MPIABXH-CEYdxYyt.js → chunk.7MPIABXH-DNcYOuE8.js} +22 -22
  13. package/dist/chunks/{chunk.7MPIABXH-CEYdxYyt.js.map → chunk.7MPIABXH-DNcYOuE8.js.map} +1 -1
  14. package/dist/chunks/{combobox-Dav1bNHS.js → combobox-B5j4LoHY.js} +109 -180
  15. package/dist/chunks/combobox-B5j4LoHY.js.map +1 -0
  16. package/dist/chunks/{combobox-option-DxJvAZ_Q.js → combobox-option-C5lKAumO.js} +7 -8
  17. package/dist/chunks/{combobox-option-DxJvAZ_Q.js.map → combobox-option-C5lKAumO.js.map} +1 -1
  18. package/dist/chunks/components-BD458q30.js +758 -0
  19. package/dist/chunks/components-BD458q30.js.map +1 -0
  20. package/dist/chunks/{dialog-Ujvm11_B.js → dialog-DZgm_Tph.js} +57 -114
  21. package/dist/chunks/dialog-DZgm_Tph.js.map +1 -0
  22. package/dist/chunks/{dialog-content-CEITrC59.js → dialog-content-DY-ROHyi.js} +4 -4
  23. package/dist/chunks/{dialog-content-CEITrC59.js.map → dialog-content-DY-ROHyi.js.map} +1 -1
  24. package/dist/chunks/{dialog-footer-DVLEK5bU.js → dialog-footer-BAZTjZ8J.js} +4 -4
  25. package/dist/chunks/{dialog-footer-DVLEK5bU.js.map → dialog-footer-BAZTjZ8J.js.map} +1 -1
  26. package/dist/chunks/{dialog-header-kEWl21oD.js → dialog-header-COzPcK8F.js} +4 -4
  27. package/dist/chunks/{dialog-header-kEWl21oD.js.map → dialog-header-COzPcK8F.js.map} +1 -1
  28. package/dist/chunks/dialogs-DEuwXC46.js +26 -0
  29. package/dist/chunks/dialogs-DEuwXC46.js.map +1 -0
  30. package/dist/chunks/{dialogs-root-dPGfuzSZ.js → dialogs-root-BYp6fIUE.js} +12 -17
  31. package/dist/chunks/dialogs-root-BYp6fIUE.js.map +1 -0
  32. package/dist/chunks/guard-DI4k0FkM.js +225 -0
  33. package/dist/chunks/guard-DI4k0FkM.js.map +1 -0
  34. package/dist/chunks/{menu-item-BHJ4xljI.js → input-CCpEhtqA.js} +33 -31
  35. package/dist/chunks/input-CCpEhtqA.js.map +1 -0
  36. package/dist/chunks/{login-button-Ta3tkpn4.js → login-button-BafqiKef.js} +9 -10
  37. package/dist/chunks/{login-button-Ta3tkpn4.js.map → login-button-BafqiKef.js.map} +1 -1
  38. package/dist/chunks/{logout-button-Db6VmUmJ.js → logout-button-D54NF9EW.js} +9 -10
  39. package/dist/chunks/{logout-button-Db6VmUmJ.js.map → logout-button-D54NF9EW.js.map} +1 -1
  40. package/dist/chunks/{menu-CQEXqNO6.js → menu-DKxtACGA.js} +46 -47
  41. package/dist/chunks/{menu-CQEXqNO6.js.map → menu-DKxtACGA.js.map} +1 -1
  42. package/dist/chunks/{input-BjCX2bFe.js → menu-item-D9BqJtKZ.js} +72 -132
  43. package/dist/chunks/menu-item-D9BqJtKZ.js.map +1 -0
  44. package/dist/chunks/photo-capture-BoZF621r.js +403 -0
  45. package/dist/chunks/photo-capture-BoZF621r.js.map +1 -0
  46. package/dist/chunks/photo-capture-modal-BLZtHDj1.js +560 -0
  47. package/dist/chunks/photo-capture-modal-BLZtHDj1.js.map +1 -0
  48. package/dist/chunks/{provider-CoVkCkMs.js → provider-Btl6Lnki.js} +16 -14
  49. package/dist/chunks/provider-Btl6Lnki.js.map +1 -0
  50. package/dist/chunks/{select-OM-SgY4K.js → select-XkieYvDm.js} +53 -110
  51. package/dist/chunks/select-XkieYvDm.js.map +1 -0
  52. package/dist/chunks/{select-option-pVhYlXrt.js → select-option-DUg4AWzw.js} +7 -8
  53. package/dist/chunks/{select-option-pVhYlXrt.js.map → select-option-DUg4AWzw.js.map} +1 -1
  54. package/dist/chunks/{signup-button-wO4uoqUi.js → signup-button-D5wS8_gB.js} +9 -10
  55. package/dist/chunks/{signup-button-wO4uoqUi.js.map → signup-button-D5wS8_gB.js.map} +1 -1
  56. package/dist/chunks/{solid-emblem-D2clBuKZ.js → solid-emblem-XHk-oomv.js} +5 -5
  57. package/dist/chunks/{solid-emblem-D2clBuKZ.js.map → solid-emblem-XHk-oomv.js.map} +1 -1
  58. package/dist/chunks/{src-B9CXYA44.js → src-CJICzMIV.js} +4 -3
  59. package/dist/chunks/{src-B9CXYA44.js.map → src-CJICzMIV.js.map} +1 -1
  60. package/dist/components/account/Account.cjs.js +6 -4
  61. package/dist/components/account/Account.cjs.js.map +1 -1
  62. package/dist/components/account/Account.d.ts +2 -0
  63. package/dist/components/account/Account.d.ts.map +1 -1
  64. package/dist/components/account/Account.esm.js +10 -4
  65. package/dist/components/account/Account.esm.js.map +1 -1
  66. package/dist/components/account/Account.stories.d.ts +10 -12
  67. package/dist/components/account/Account.stories.d.ts.map +1 -1
  68. package/dist/components/account/Account.styles.cjs.js +1 -1
  69. package/dist/components/account/Account.styles.cjs.js.map +1 -1
  70. package/dist/components/account/Account.styles.esm.js +1 -1
  71. package/dist/components/account/Account.styles.esm.js.map +1 -1
  72. package/dist/components/account.js +1 -1
  73. package/dist/components/all.cjs.js +1 -0
  74. package/dist/components/all.d.ts +2 -0
  75. package/dist/components/all.d.ts.map +1 -0
  76. package/dist/components/all.esm.js +25 -0
  77. package/dist/components/avatar/Avatar.cjs.js +1 -1
  78. package/dist/components/avatar/Avatar.cjs.js.map +1 -1
  79. package/dist/components/avatar/Avatar.d.ts +3 -0
  80. package/dist/components/avatar/Avatar.d.ts.map +1 -1
  81. package/dist/components/avatar/Avatar.esm.js +9 -1
  82. package/dist/components/avatar/Avatar.esm.js.map +1 -1
  83. package/dist/components/avatar/Avatar.stories.d.ts +4 -22
  84. package/dist/components/avatar/Avatar.stories.d.ts.map +1 -1
  85. package/dist/components/avatar.js +1 -1
  86. package/dist/components/button/Button.stories.d.ts +15 -154
  87. package/dist/components/button/Button.stories.d.ts.map +1 -1
  88. package/dist/components/button/Button.styles.cjs.js +1 -1
  89. package/dist/components/button/Button.styles.cjs.js.map +1 -1
  90. package/dist/components/button/Button.styles.esm.js +1 -1
  91. package/dist/components/button/Button.styles.esm.js.map +1 -1
  92. package/dist/components/button.js +1 -1
  93. package/dist/components/combobox/Combobox.cjs.js +12 -12
  94. package/dist/components/combobox/Combobox.cjs.js.map +1 -1
  95. package/dist/components/combobox/Combobox.d.ts +4 -11
  96. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  97. package/dist/components/combobox/Combobox.esm.js +102 -173
  98. package/dist/components/combobox/Combobox.esm.js.map +1 -1
  99. package/dist/components/combobox/Combobox.stories.d.ts +9 -46
  100. package/dist/components/combobox/Combobox.stories.d.ts.map +1 -1
  101. package/dist/components/combobox/Combobox.styles.cjs.js +1 -1
  102. package/dist/components/combobox/Combobox.styles.cjs.js.map +1 -1
  103. package/dist/components/combobox/Combobox.styles.esm.js +1 -1
  104. package/dist/components/combobox/Combobox.styles.esm.js.map +1 -1
  105. package/dist/components/combobox-option.js +1 -1
  106. package/dist/components/combobox.js +1 -1
  107. package/dist/components/dialog/Dialog.cjs.js +3 -3
  108. package/dist/components/dialog/Dialog.cjs.js.map +1 -1
  109. package/dist/components/dialog/Dialog.esm.js +6 -6
  110. package/dist/components/dialog/Dialog.esm.js.map +1 -1
  111. package/dist/components/dialog/Dialog.stories.d.ts +22 -0
  112. package/dist/components/dialog/Dialog.stories.d.ts.map +1 -0
  113. package/dist/components/dialog/docs/sample-modal/SampleModal.d.ts +6 -0
  114. package/dist/components/dialog/docs/sample-modal/SampleModal.d.ts.map +1 -0
  115. package/dist/components/dialog/docs/sample-modal/index.d.ts +4 -0
  116. package/dist/components/dialog/docs/sample-modal/index.d.ts.map +1 -0
  117. package/dist/components/dialog-content.js +1 -1
  118. package/dist/components/dialog-footer.js +1 -1
  119. package/dist/components/dialog-header.js +1 -1
  120. package/dist/components/dialog-provider.js +1 -1
  121. package/dist/components/dialog.js +1 -1
  122. package/dist/components/dialogs-root/DialogsRoot.cjs.js +4 -7
  123. package/dist/components/dialogs-root/DialogsRoot.cjs.js.map +1 -1
  124. package/dist/components/dialogs-root/DialogsRoot.d.ts.map +1 -1
  125. package/dist/components/dialogs-root/DialogsRoot.esm.js +7 -10
  126. package/dist/components/dialogs-root/DialogsRoot.esm.js.map +1 -1
  127. package/dist/components/dialogs-root.js +1 -1
  128. package/dist/components/guard/Guard.cjs.js +4 -2
  129. package/dist/components/guard/Guard.cjs.js.map +1 -1
  130. package/dist/components/guard/Guard.d.ts +7 -0
  131. package/dist/components/guard/Guard.d.ts.map +1 -1
  132. package/dist/components/guard/Guard.esm.js +74 -48
  133. package/dist/components/guard/Guard.esm.js.map +1 -1
  134. package/dist/components/guard/Guard.stories.d.ts +9 -16
  135. package/dist/components/guard/Guard.stories.d.ts.map +1 -1
  136. package/dist/components/guard.js +1 -1
  137. package/dist/components/index.cjs.js +1 -1
  138. package/dist/components/index.d.ts +0 -1
  139. package/dist/components/index.d.ts.map +1 -1
  140. package/dist/components/index.esm.js +1 -24
  141. package/dist/components/input/Input.cjs.js +2 -2
  142. package/dist/components/input/Input.cjs.js.map +1 -1
  143. package/dist/components/input/Input.d.ts +3 -11
  144. package/dist/components/input/Input.d.ts.map +1 -1
  145. package/dist/components/input/Input.esm.js +61 -135
  146. package/dist/components/input/Input.esm.js.map +1 -1
  147. package/dist/components/input/Input.stories.d.ts +13 -22
  148. package/dist/components/input/Input.stories.d.ts.map +1 -1
  149. package/dist/components/input.js +1 -1
  150. package/dist/components/login-button/LoginButton.stories.d.ts +4 -4
  151. package/dist/components/login-button/LoginButton.stories.d.ts.map +1 -1
  152. package/dist/components/login-button.js +1 -1
  153. package/dist/components/login-modal/LoginModal.cjs.js +1 -1
  154. package/dist/components/login-modal/LoginModal.cjs.js.map +1 -1
  155. package/dist/components/login-modal/LoginModal.esm.js +1 -1
  156. package/dist/components/login-modal/LoginModal.esm.js.map +1 -1
  157. package/dist/components/login-modal/LoginModal.stories.d.ts +13 -5
  158. package/dist/components/login-modal/LoginModal.stories.d.ts.map +1 -1
  159. package/dist/components/login-modal.js +1 -1
  160. package/dist/components/logout-button/LogoutButton.stories.d.ts +4 -4
  161. package/dist/components/logout-button/LogoutButton.stories.d.ts.map +1 -1
  162. package/dist/components/logout-button.js +1 -1
  163. package/dist/components/menu/Menu.cjs.js +1 -1
  164. package/dist/components/menu/Menu.cjs.js.map +1 -1
  165. package/dist/components/menu/Menu.esm.js +1 -1
  166. package/dist/components/menu/Menu.esm.js.map +1 -1
  167. package/dist/components/menu/Menu.stories.d.ts +3 -4
  168. package/dist/components/menu/Menu.stories.d.ts.map +1 -1
  169. package/dist/components/menu/Menu.styles.cjs.js +1 -1
  170. package/dist/components/menu/Menu.styles.cjs.js.map +1 -1
  171. package/dist/components/menu/Menu.styles.esm.js +1 -1
  172. package/dist/components/menu/Menu.styles.esm.js.map +1 -1
  173. package/dist/components/menu-item/MenuItem.cjs.js +4 -4
  174. package/dist/components/menu-item/MenuItem.cjs.js.map +1 -1
  175. package/dist/components/menu-item/MenuItem.d.ts +1 -0
  176. package/dist/components/menu-item/MenuItem.d.ts.map +1 -1
  177. package/dist/components/menu-item/MenuItem.esm.js +72 -55
  178. package/dist/components/menu-item/MenuItem.esm.js.map +1 -1
  179. package/dist/components/menu-item/MenuItem.styles.cjs.js +1 -1
  180. package/dist/components/menu-item/MenuItem.styles.cjs.js.map +1 -1
  181. package/dist/components/menu-item/MenuItem.styles.esm.js +1 -1
  182. package/dist/components/menu-item/MenuItem.styles.esm.js.map +1 -1
  183. package/dist/components/menu-item.js +1 -1
  184. package/dist/components/menu.js +1 -1
  185. package/dist/components/photo-capture/PhotoCapture.cjs.js +6 -0
  186. package/dist/components/photo-capture/PhotoCapture.cjs.js.map +1 -0
  187. package/dist/components/photo-capture/PhotoCapture.d.ts +20 -0
  188. package/dist/components/photo-capture/PhotoCapture.d.ts.map +1 -0
  189. package/dist/components/photo-capture/PhotoCapture.esm.js +404 -0
  190. package/dist/components/photo-capture/PhotoCapture.esm.js.map +1 -0
  191. package/dist/components/photo-capture/PhotoCapture.stories.d.ts +16 -0
  192. package/dist/components/photo-capture/PhotoCapture.stories.d.ts.map +1 -0
  193. package/dist/components/photo-capture/docs/photo-capture-sandbox/PhotoCaptureSandbox.d.ts +9 -0
  194. package/dist/components/photo-capture/docs/photo-capture-sandbox/PhotoCaptureSandbox.d.ts.map +1 -0
  195. package/dist/components/photo-capture/docs/photo-capture-sandbox/index.d.ts +4 -0
  196. package/dist/components/photo-capture/docs/photo-capture-sandbox/index.d.ts.map +1 -0
  197. package/dist/components/photo-capture/index.cjs.js +2 -1
  198. package/dist/components/photo-capture/index.cjs.js.map +1 -0
  199. package/dist/components/photo-capture/index.d.ts +4 -1
  200. package/dist/components/photo-capture/index.d.ts.map +1 -1
  201. package/dist/components/photo-capture/index.esm.js +7 -3
  202. package/dist/components/photo-capture/index.esm.js.map +1 -0
  203. package/dist/components/photo-capture-modal/PhotoCaptureModal.cjs.js +24 -0
  204. package/dist/components/photo-capture-modal/PhotoCaptureModal.cjs.js.map +1 -0
  205. package/dist/components/photo-capture-modal/PhotoCaptureModal.d.ts +42 -0
  206. package/dist/components/photo-capture-modal/PhotoCaptureModal.d.ts.map +1 -0
  207. package/dist/components/photo-capture-modal/PhotoCaptureModal.esm.js +561 -0
  208. package/dist/components/photo-capture-modal/PhotoCaptureModal.esm.js.map +1 -0
  209. package/dist/components/photo-capture-modal/PhotoCaptureModal.styles.cjs.js +2 -0
  210. package/dist/components/photo-capture-modal/PhotoCaptureModal.styles.cjs.js.map +1 -0
  211. package/dist/components/photo-capture-modal/PhotoCaptureModal.styles.esm.js +7 -0
  212. package/dist/components/photo-capture-modal/PhotoCaptureModal.styles.esm.js.map +1 -0
  213. package/dist/components/photo-capture-modal/index.cjs.js +2 -0
  214. package/dist/components/photo-capture-modal/index.cjs.js.map +1 -0
  215. package/dist/components/photo-capture-modal/index.d.ts +4 -0
  216. package/dist/components/photo-capture-modal/index.d.ts.map +1 -0
  217. package/dist/components/photo-capture-modal/index.esm.js +7 -0
  218. package/dist/components/photo-capture-modal/index.esm.js.map +1 -0
  219. package/dist/components/photo-capture-modal.js +2 -0
  220. package/dist/components/photo-capture.js +2 -2
  221. package/dist/components/provider/Provider.cjs.js +1 -1
  222. package/dist/components/provider/Provider.cjs.js.map +1 -1
  223. package/dist/components/provider/Provider.d.ts +1 -0
  224. package/dist/components/provider/Provider.d.ts.map +1 -1
  225. package/dist/components/provider/Provider.esm.js +3 -0
  226. package/dist/components/provider/Provider.esm.js.map +1 -1
  227. package/dist/components/provider.js +1 -1
  228. package/dist/components/select/Select.cjs.js +3 -3
  229. package/dist/components/select/Select.cjs.js.map +1 -1
  230. package/dist/components/select/Select.d.ts +3 -10
  231. package/dist/components/select/Select.d.ts.map +1 -1
  232. package/dist/components/select/Select.esm.js +52 -109
  233. package/dist/components/select/Select.esm.js.map +1 -1
  234. package/dist/components/select/Select.stories.d.ts +9 -13
  235. package/dist/components/select/Select.stories.d.ts.map +1 -1
  236. package/dist/components/select-option.js +1 -1
  237. package/dist/components/select.js +1 -1
  238. package/dist/components/signup-button/SignupButton.stories.d.ts +4 -4
  239. package/dist/components/signup-button/SignupButton.stories.d.ts.map +1 -1
  240. package/dist/components/signup-button.js +1 -1
  241. package/dist/components/solid-emblem.js +1 -1
  242. package/dist/components.js +24 -23
  243. package/dist/index.cjs.js +1 -1
  244. package/dist/index.cjs.js.map +1 -1
  245. package/dist/index.esm.js +12 -10
  246. package/dist/index.esm.js.map +1 -1
  247. package/dist/index.js +6 -8
  248. package/dist/lib/auth/NoopAuth.cjs.js +1 -1
  249. package/dist/lib/auth/NoopAuth.cjs.js.map +1 -1
  250. package/dist/lib/auth/NoopAuth.d.ts +2 -2
  251. package/dist/lib/auth/NoopAuth.d.ts.map +1 -1
  252. package/dist/lib/auth/NoopAuth.esm.js +2 -3
  253. package/dist/lib/auth/NoopAuth.esm.js.map +1 -1
  254. package/dist/lib/auth/SolidAuth.cjs.js +1 -1
  255. package/dist/lib/auth/SolidAuth.cjs.js.map +1 -1
  256. package/dist/lib/auth/SolidAuth.d.ts +6 -0
  257. package/dist/lib/auth/SolidAuth.d.ts.map +1 -1
  258. package/dist/lib/auth/SolidAuth.esm.js +31 -20
  259. package/dist/lib/auth/SolidAuth.esm.js.map +1 -1
  260. package/dist/lib/auth/context.cjs.js.map +1 -1
  261. package/dist/lib/auth/context.d.ts +2 -0
  262. package/dist/lib/auth/context.d.ts.map +1 -1
  263. package/dist/lib/auth/context.esm.js.map +1 -1
  264. package/dist/lib/components/decorators.cjs.js.map +1 -1
  265. package/dist/lib/components/decorators.esm.js.map +1 -1
  266. package/dist/lib/components/dialog-component/DialogComponent.cjs.js +2 -0
  267. package/dist/lib/components/dialog-component/DialogComponent.cjs.js.map +1 -0
  268. package/dist/lib/components/dialog-component/DialogComponent.d.ts +10 -0
  269. package/dist/lib/components/dialog-component/DialogComponent.d.ts.map +1 -0
  270. package/dist/{chunks/guard-DZGvf4tS.js → lib/components/dialog-component/DialogComponent.esm.js} +70 -67
  271. package/dist/lib/components/dialog-component/DialogComponent.esm.js.map +1 -0
  272. package/dist/lib/components/dialog-component/index.cjs.js +1 -0
  273. package/dist/lib/components/dialog-component/index.d.ts +4 -0
  274. package/dist/lib/components/dialog-component/index.d.ts.map +1 -0
  275. package/dist/lib/components/dialog-component/index.esm.js +2 -0
  276. package/dist/lib/components/form-control-component/FormControlComponent.cjs.js +2 -0
  277. package/dist/lib/components/form-control-component/FormControlComponent.cjs.js.map +1 -0
  278. package/dist/lib/components/form-control-component/FormControlComponent.d.ts +15 -0
  279. package/dist/lib/components/form-control-component/FormControlComponent.d.ts.map +1 -0
  280. package/dist/lib/components/form-control-component/FormControlComponent.esm.js +271 -0
  281. package/dist/lib/components/form-control-component/FormControlComponent.esm.js.map +1 -0
  282. package/dist/lib/components/form-control-component/index.cjs.js +1 -0
  283. package/dist/lib/components/form-control-component/index.d.ts +4 -0
  284. package/dist/lib/components/form-control-component/index.d.ts.map +1 -0
  285. package/dist/lib/components/form-control-component/index.esm.js +2 -0
  286. package/dist/lib/components/ids.cjs.js.map +1 -1
  287. package/dist/lib/components/ids.esm.js.map +1 -1
  288. package/dist/lib/components/index.cjs.js +1 -1
  289. package/dist/lib/components/index.d.ts +3 -1
  290. package/dist/lib/components/index.d.ts.map +1 -1
  291. package/dist/lib/components/index.esm.js +8 -4
  292. package/dist/lib/components/traits/DialogTrait.cjs.js +1 -1
  293. package/dist/lib/components/traits/DialogTrait.cjs.js.map +1 -1
  294. package/dist/lib/components/traits/DialogTrait.d.ts +2 -1
  295. package/dist/lib/components/traits/DialogTrait.d.ts.map +1 -1
  296. package/dist/lib/components/traits/DialogTrait.esm.js +26 -6
  297. package/dist/lib/components/traits/DialogTrait.esm.js.map +1 -1
  298. package/dist/lib/components/traits/FormControlTrait.cjs.js +1 -1
  299. package/dist/lib/components/traits/FormControlTrait.cjs.js.map +1 -1
  300. package/dist/lib/components/traits/FormControlTrait.d.ts +4 -2
  301. package/dist/lib/components/traits/FormControlTrait.d.ts.map +1 -1
  302. package/dist/lib/components/traits/FormControlTrait.esm.js +28 -10
  303. package/dist/lib/components/traits/FormControlTrait.esm.js.map +1 -1
  304. package/dist/lib/components/web-component/WebComponent.cjs.js +1 -1
  305. package/dist/lib/components/web-component/WebComponent.cjs.js.map +1 -1
  306. package/dist/lib/components/web-component/WebComponent.d.ts +12 -1
  307. package/dist/lib/components/web-component/WebComponent.d.ts.map +1 -1
  308. package/dist/lib/components/web-component/WebComponent.esm.js +28 -6
  309. package/dist/lib/components/web-component/WebComponent.esm.js.map +1 -1
  310. package/dist/lib/components/web-component/WebComponent.styles.cjs.js +1 -1
  311. package/dist/lib/components/web-component/WebComponent.styles.esm.js +1 -1
  312. package/dist/lib/dialogs/Dialog.cjs.js +1 -1
  313. package/dist/lib/dialogs/Dialog.cjs.js.map +1 -1
  314. package/dist/lib/dialogs/Dialog.d.ts +4 -8
  315. package/dist/lib/dialogs/Dialog.d.ts.map +1 -1
  316. package/dist/lib/dialogs/Dialog.esm.js +1 -8
  317. package/dist/lib/dialogs/Dialog.esm.js.map +1 -1
  318. package/dist/lib/dialogs/helpers.cjs.js +1 -1
  319. package/dist/lib/dialogs/helpers.cjs.js.map +1 -1
  320. package/dist/lib/dialogs/helpers.d.ts +7 -2
  321. package/dist/lib/dialogs/helpers.d.ts.map +1 -1
  322. package/dist/lib/dialogs/helpers.esm.js +5 -3
  323. package/dist/lib/dialogs/helpers.esm.js.map +1 -1
  324. package/dist/loader.js +6 -8
  325. package/dist/solid-ui.js +137 -389
  326. package/dist/solid-ui.min.js +137 -389
  327. package/dist/solid-ui.min.js.map +1 -1
  328. package/dist/storybook/auth/StorybookAuth.d.ts +1 -0
  329. package/dist/storybook/auth/StorybookAuth.d.ts.map +1 -1
  330. package/dist/storybook/components/StorybookProvider.d.ts +1 -0
  331. package/dist/storybook/components/StorybookProvider.d.ts.map +1 -1
  332. package/dist/storybook/helpers.d.ts +2 -6
  333. package/dist/storybook/helpers.d.ts.map +1 -1
  334. package/dist/storybook/stubs.d.ts +7 -3
  335. package/dist/storybook/stubs.d.ts.map +1 -1
  336. package/dist/theme.css +1 -1
  337. package/package.json +1 -2
  338. package/dist/chunks/account-CdqIoTsl.js.map +0 -1
  339. package/dist/chunks/auth-D8B5yczR.js.map +0 -1
  340. package/dist/chunks/avatar-DNGFKkhm.js.map +0 -1
  341. package/dist/chunks/close-dialog-DfAh83bX.js +0 -14
  342. package/dist/chunks/close-dialog-DfAh83bX.js.map +0 -1
  343. package/dist/chunks/combobox-Dav1bNHS.js.map +0 -1
  344. package/dist/chunks/components-PQfnwrHI.js +0 -107
  345. package/dist/chunks/components-PQfnwrHI.js.map +0 -1
  346. package/dist/chunks/context-B_xwK-Y_.js +0 -22
  347. package/dist/chunks/context-B_xwK-Y_.js.map +0 -1
  348. package/dist/chunks/decorators-BqWyWiL9.js +0 -50
  349. package/dist/chunks/decorators-BqWyWiL9.js.map +0 -1
  350. package/dist/chunks/dialog-Ujvm11_B.js.map +0 -1
  351. package/dist/chunks/dialogs-root-dPGfuzSZ.js.map +0 -1
  352. package/dist/chunks/guard-DZGvf4tS.js.map +0 -1
  353. package/dist/chunks/input-BjCX2bFe.js.map +0 -1
  354. package/dist/chunks/menu-item-BHJ4xljI.js.map +0 -1
  355. package/dist/chunks/photo-capture-DzK6wZF4.js +0 -624
  356. package/dist/chunks/photo-capture-DzK6wZF4.js.map +0 -1
  357. package/dist/chunks/provider-CoVkCkMs.js.map +0 -1
  358. package/dist/chunks/select-OM-SgY4K.js.map +0 -1
  359. package/dist/v2/components/media/photoCapture/PhotoCapture.cjs.js +0 -281
  360. package/dist/v2/components/media/photoCapture/PhotoCapture.cjs.js.map +0 -1
  361. package/dist/v2/components/media/photoCapture/PhotoCapture.d.ts +0 -200
  362. package/dist/v2/components/media/photoCapture/PhotoCapture.d.ts.map +0 -1
  363. package/dist/v2/components/media/photoCapture/PhotoCapture.esm.js +0 -623
  364. package/dist/v2/components/media/photoCapture/PhotoCapture.esm.js.map +0 -1
  365. package/dist/v2/components/media/photoCapture/PhotoCapture.test.d.ts +0 -1
  366. package/dist/v2/components/media/photoCapture/PhotoCapture.test.d.ts.map +0 -1
  367. package/dist/v2/components/media/photoCapture/index.cjs.js +0 -2
  368. package/dist/v2/components/media/photoCapture/index.cjs.js.map +0 -1
  369. package/dist/v2/components/media/photoCapture/index.d.ts +0 -3
  370. package/dist/v2/components/media/photoCapture/index.d.ts.map +0 -1
  371. package/dist/v2/components/media/photoCapture/index.esm.js +0 -8
  372. package/dist/v2/components/media/photoCapture/index.esm.js.map +0 -1
@@ -1,17 +1,15 @@
1
- import { f as e, h as t, p as n, u as r } from "./solid-logic.esm-BrMdCG2_.js";
2
- import { r as i } from "./context-B_xwK-Y_.js";
3
- import { i as a } from "./dialog-Ujvm11_B.js";
4
- import { i as o, n as s, r as c } from "./components-PQfnwrHI.js";
5
- import { c as l, i as u, n as d } from "./lit-C4H1jI4q.js";
6
- import { t as f } from "./show-dialog-eEW5yRBv.js";
7
- import { n as p, t as m } from "./decorators-BqWyWiL9.js";
8
- import { t as h } from "./query-BYu9q8lA.js";
1
+ import { c as e, f as t, h as n, p as r, u as i } from "./solid-logic.esm-BrMdCG2_.js";
2
+ import { i as a, l as o, m as s, o as c, p as l, r as u } from "./components-BD458q30.js";
3
+ import { c as d, i as f, n as p } from "./lit-C4H1jI4q.js";
4
+ import { t as m } from "./query-BYu9q8lA.js";
5
+ import { t as h } from "./dialogs-DEuwXC46.js";
9
6
  import "./chevron-down-ujxRg3MD.js";
10
- import "./button-oanBb_ha.js";
11
- import "./dialog-content-CEITrC59.js";
12
- import "./dialog-footer-DVLEK5bU.js";
13
- import "./combobox-Dav1bNHS.js";
14
- import "./combobox-option-DxJvAZ_Q.js";
7
+ import "./dialog-DZgm_Tph.js";
8
+ import "./button-Dvkek1tx.js";
9
+ import "./dialog-content-DY-ROHyi.js";
10
+ import "./dialog-footer-BAZTjZ8J.js";
11
+ import "./combobox-B5j4LoHY.js";
12
+ import "./combobox-option-C5lKAumO.js";
15
13
  //#region src/lib/auth/Account.ts
16
14
  var g = class {
17
15
  webId;
@@ -20,9 +18,8 @@ var g = class {
20
18
  this.webId = e, this.avatarUrl = t;
21
19
  }
22
20
  }, _ = class {
23
- get account() {
24
- return null;
25
- }
21
+ initialized = !1;
22
+ account = null;
26
23
  async login() {
27
24
  throw Error("Can't use auth, missing context provider");
28
25
  }
@@ -35,58 +32,32 @@ var g = class {
35
32
  onSessionUpdated() {
36
33
  return () => void 0;
37
34
  }
38
- }, v = new _(), y = i(Symbol("auth")), b = class {
39
- id;
40
- template;
41
- element;
42
- config;
43
- _resolveElement;
44
- constructor(e, t = {}) {
45
- this.id = o(), this.template = e, this.config = t, this.element = new Promise((e) => {
46
- this._resolveElement = e;
47
- });
48
- }
49
- setElement(e) {
50
- this._resolveElement(e);
51
- }
52
- closed(e) {
53
- this.config.onClose?.(e);
54
- }
55
- };
56
- //#endregion
57
- //#region src/lib/dialogs/helpers.ts
58
- function x(e, t = {}) {
59
- let n = new b(e, t);
60
- return document.dispatchEvent(new f(n)), n.element;
35
+ }, v = new _(), y = s(Symbol("auth")), b = d`.error-message{color:var(--solid-ui-color-error);font-size:var(--solid-ui-font-size-sm);text-align:center;width:100%;font-weight:500}solid-ui-combobox{width:100%}solid-ui-button{flex:1}`, x, S, C, w, T, E, D, O, k, A, j, M, N, P, F, I, L, R, z, B, V, H, U, W, G;
36
+ function K(e, t, n) {
37
+ ee(e, t), t.set(e, n);
61
38
  }
62
- //#endregion
63
- //#region src/components/login-modal/LoginModal.styles.css
64
- var S = l`.error-message{color:var(--solid-ui-color-error);font-size:var(--solid-ui-font-size-sm);text-align:center;width:100%;font-weight:500}solid-ui-combobox{width:100%}solid-ui-button{flex:1}`, C, w, T, E, D, O, k, A, j, ee, M, N, P, F, I, L, R, z, B, V, H, U, W, G, K;
65
- function q(e, t, n) {
66
- te(e, t), t.set(e, n);
67
- }
68
- function te(e, t) {
39
+ function ee(e, t) {
69
40
  if (t.has(e)) throw TypeError("Cannot initialize the same private elements twice on an object");
70
41
  }
71
- function J(e, t, n) {
72
- return e.set(X(e, t), n), n;
42
+ function q(e, t, n) {
43
+ return e.set(Y(e, t), n), n;
73
44
  }
74
- function Y(e, t) {
75
- return e.get(X(e, t));
45
+ function J(e, t) {
46
+ return e.get(Y(e, t));
76
47
  }
77
- function X(e, t, n) {
48
+ function Y(e, t, n) {
78
49
  if (typeof e == "function" ? e === t : e.has(t)) return arguments.length < 3 ? t : n;
79
50
  throw TypeError("Private element is not present on this object");
80
51
  }
81
- function Z(e, t, n) {
82
- return (t = Q(t)) in e ? Object.defineProperty(e, t, {
52
+ function X(e, t, n) {
53
+ return (t = Z(t)) in e ? Object.defineProperty(e, t, {
83
54
  value: n,
84
55
  enumerable: !0,
85
56
  configurable: !0,
86
57
  writable: !0
87
58
  }) : e[t] = n, e;
88
59
  }
89
- function ne(e, t, n, r, i, a) {
60
+ function te(e, t, n, r, i, a) {
90
61
  function o(e, t, n) {
91
62
  return function(r, i) {
92
63
  return n && n(r), e[t].call(r, i);
@@ -109,13 +80,13 @@ function ne(e, t, n, r, i, a) {
109
80
  n || Array.isArray(_) || (_ = [_]);
110
81
  var b = {}, x = [], S = i === 3 ? "get" : i === 4 || p ? "set" : "value";
111
82
  d ? (f || p ? b = {
112
- get: ie(function() {
83
+ get: Q(function() {
113
84
  return v(this);
114
85
  }, r, "get"),
115
86
  set: function(e) {
116
87
  t[4](this, e);
117
88
  }
118
- } : b[S] = v, f || ie(b[S], r, i === 2 ? "" : S)) : f || (b = Object.getOwnPropertyDescriptor(e, r));
89
+ } : b[S] = v, f || Q(b[S], r, i === 2 ? "" : S)) : f || (b = Object.getOwnPropertyDescriptor(e, r));
119
90
  }
120
91
  for (var C = e, w = _.length - 1; w >= 0; w -= n ? 2 : 1) {
121
92
  var T = _[w], E = n ? _[w - 1] : void 0, D = {}, O = {
@@ -175,7 +146,7 @@ function ne(e, t, n, r, i, a) {
175
146
  if (arguments.length >= 6) var d = a[Symbol.metadata || Symbol.for("Symbol.metadata")];
176
147
  var f = Object.create(d ?? null), p = function(e, t, n, r) {
177
148
  var i, a, o = [], c = function(t) {
178
- return ae(t) === e;
149
+ return re(t) === e;
179
150
  }, u = /* @__PURE__ */ new Map();
180
151
  function d(e) {
181
152
  e && o.push(s.bind(null, e));
@@ -189,7 +160,7 @@ function ne(e, t, n, r, i, a) {
189
160
  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);
190
161
  u.set(b, !(m > 2) || m);
191
162
  }
192
- l(v ? e : e.prototype, p, _, g ? "#" + h : Q(h), m, r, v ? a ||= [] : i ||= [], o, v, g, y, m === 1, v && g ? c : n);
163
+ l(v ? e : e.prototype, p, _, g ? "#" + h : Z(h), m, r, v ? a ||= [] : i ||= [], o, v, g, y, m === 1, v && g ? c : n);
193
164
  }
194
165
  }
195
166
  return d(i), d(a), o;
@@ -202,11 +173,11 @@ function ne(e, t, n, r, i, a) {
202
173
  }
203
174
  };
204
175
  }
205
- function Q(e) {
206
- var t = re(e, "string");
176
+ function Z(e) {
177
+ var t = ne(e, "string");
207
178
  return typeof t == "symbol" ? t : t + "";
208
179
  }
209
- function re(e, t) {
180
+ function ne(e, t) {
210
181
  if (typeof e != "object" || !e) return e;
211
182
  var n = e[Symbol.toPrimitive];
212
183
  if (n !== void 0) {
@@ -216,7 +187,7 @@ function re(e, t) {
216
187
  }
217
188
  return (t === "string" ? String : Number)(e);
218
189
  }
219
- function ie(e, t, n) {
190
+ function Q(e, t, n) {
220
191
  typeof t == "symbol" && (t = (t = t.description) ? "[" + t + "]" : "");
221
192
  try {
222
193
  Object.defineProperty(e, "name", {
@@ -226,75 +197,75 @@ function ie(e, t, n) {
226
197
  } catch {}
227
198
  return e;
228
199
  }
229
- function ae(e) {
200
+ function re(e) {
230
201
  if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (e === null ? "null" : typeof e));
231
202
  return e;
232
203
  }
233
- function oe(e) {
204
+ function ie(e) {
234
205
  return e;
235
206
  }
236
- M = [c("solid-ui-login-modal")];
207
+ j = [o("solid-ui-login-modal")];
237
208
  var $;
238
- new (G = (T = /*#__PURE__*/ new WeakMap(), E = /*#__PURE__*/ new WeakMap(), D = /*#__PURE__*/ new WeakMap(), O = /*#__PURE__*/ new WeakMap(), k = /*#__PURE__*/ new WeakMap(), A = /*#__PURE__*/ new WeakMap(), K = (N = p({
209
+ new (W = (C = /*#__PURE__*/ new WeakMap(), w = /*#__PURE__*/ new WeakMap(), T = /*#__PURE__*/ new WeakMap(), E = /*#__PURE__*/ new WeakMap(), D = /*#__PURE__*/ new WeakMap(), O = /*#__PURE__*/ new WeakMap(), G = (M = a({
239
210
  type: String,
240
211
  reflect: !0
241
- }), F = m(), L = m(), z = m(), V = a({
212
+ }), P = u(), I = u(), R = u(), B = l({
242
213
  context: y,
243
214
  subscribe: !0
244
- }), U = h("solid-ui-dialog"), "issuerUrl"), w = class extends s {
215
+ }), H = m("solid-ui-dialog"), "issuerUrl"), S = class extends c {
245
216
  constructor(...e) {
246
- super(...e), q(this, T, (j(this), P(this, ""))), q(this, E, I(this, "")), q(this, D, R(this, !1)), q(this, O, B(this, !1)), q(this, k, H(this, v)), q(this, A, W(this, null));
217
+ super(...e), K(this, C, (k(this), N(this, ""))), K(this, w, F(this, "")), K(this, T, L(this, !1)), K(this, E, z(this, !1)), K(this, D, V(this, v)), K(this, O, U(this, null));
247
218
  }
248
- get [K]() {
249
- return Y(T, this);
219
+ get [G]() {
220
+ return J(C, this);
250
221
  }
251
222
  set issuerUrl(e) {
252
- J(T, this, e);
223
+ q(C, this, e);
253
224
  }
254
225
  get issuerInputValue() {
255
- return Y(E, this);
226
+ return J(w, this);
256
227
  }
257
228
  set issuerInputValue(e) {
258
- J(E, this, e);
229
+ q(w, this, e);
259
230
  }
260
231
  get failed() {
261
- return Y(D, this);
232
+ return J(T, this);
262
233
  }
263
234
  set failed(e) {
264
- J(D, this, e);
235
+ q(T, this, e);
265
236
  }
266
237
  get submitting() {
267
- return Y(O, this);
238
+ return J(E, this);
268
239
  }
269
240
  set submitting(e) {
270
- J(O, this, e);
241
+ q(E, this, e);
271
242
  }
272
243
  get auth() {
273
- return Y(k, this);
244
+ return J(D, this);
274
245
  }
275
246
  set auth(e) {
276
- J(k, this, e);
247
+ q(D, this, e);
277
248
  }
278
249
  get dialog() {
279
- return Y(A, this);
250
+ return J(O, this);
280
251
  }
281
252
  set dialog(e) {
282
- J(A, this, e);
253
+ q(O, this, e);
283
254
  }
284
255
  connectedCallback() {
285
256
  super.connectedCallback(), this.issuerInputValue = typeof localStorage < "u" && localStorage.getItem("loginIssuer") || this.issuerUrl || "";
286
257
  }
287
258
  render() {
288
- let e = r();
289
- return u`
259
+ let e = i();
260
+ return f`
290
261
  <solid-ui-dialog title="Select an identity provider">
291
262
  <form @submit=${this.onSubmit}>
292
263
  <solid-ui-dialog-content>
293
264
  <solid-ui-combobox label="Solid Identity Provider" .value=${this.issuerInputValue} @input=${this.onIssuerInputChange}>
294
- ${e.map((e) => u`<solid-ui-combobox-option value="${e.uri}">${e.name}</solid-ui-combobox-option>`)}
265
+ ${e.map((e) => f`<solid-ui-combobox-option value="${e.uri}">${e.name}</solid-ui-combobox-option>`)}
295
266
  </solid-ui-combobox>
296
267
 
297
- ${this.failed ? u`<p class="error-message">Something went wrong</p>` : d}
268
+ ${this.failed ? f`<p class="error-message">Something went wrong</p>` : p}
298
269
  </solid-ui-dialog-content>
299
270
 
300
271
  <solid-ui-dialog-footer>
@@ -317,7 +288,7 @@ new (G = (T = /*#__PURE__*/ new WeakMap(), E = /*#__PURE__*/ new WeakMap(), D =
317
288
  `;
318
289
  }
319
290
  onIssuerInputChange(e) {
320
- this.issuerInputValue = e.target.value;
291
+ this.issuerInputValue = String(e.target.value);
321
292
  }
322
293
  async onSubmit(e) {
323
294
  if (e.preventDefault(), this.failed = !1, this.issuerInputValue) {
@@ -331,84 +302,96 @@ new (G = (T = /*#__PURE__*/ new WeakMap(), E = /*#__PURE__*/ new WeakMap(), D =
331
302
  }
332
303
  }
333
304
  }
334
- }, {e: [P, I, R, B, H, W, j], c: [$, ee]} = ne(w, [
305
+ }, {e: [N, F, L, z, V, U, k], c: [$, A]} = te(S, [
335
306
  [
336
- N,
307
+ M,
337
308
  1,
338
309
  "issuerUrl"
339
310
  ],
340
311
  [
341
- F,
312
+ P,
342
313
  1,
343
314
  "issuerInputValue"
344
315
  ],
345
316
  [
346
- L,
317
+ I,
347
318
  1,
348
319
  "failed"
349
320
  ],
350
321
  [
351
- z,
322
+ R,
352
323
  1,
353
324
  "submitting"
354
325
  ],
355
326
  [
356
- V,
327
+ B,
357
328
  1,
358
329
  "auth"
359
330
  ],
360
331
  [
361
- U,
332
+ H,
362
333
  1,
363
334
  "dialog"
364
335
  ]
365
- ], M, 0, void 0, s), w), C = class extends oe {
336
+ ], j, 0, void 0, c), S), x = class extends ie {
366
337
  constructor() {
367
- super($), Z(this, "styles", S), ee();
338
+ super($), X(this, "styles", b), A();
368
339
  }
369
- }, Z(C, G, void 0), C)();
340
+ }, X(x, W, void 0), x)();
370
341
  //#endregion
371
342
  //#region src/components/login-modal/index.ts
372
- var se = $, ce = "https://solidproject.org/get_a_pod";
373
- function le(n) {
374
- let r = e.store, i = r.sym(n), a = r.any(i, t.sioc("avatar")) || r.any(i, t.foaf("img")) || r.any(i, t.vcard("logo")) || r.any(i, t.vcard("hasPhoto")) || r.any(i, t.vcard("photo")) || r.any(i, t.foaf("depiction"));
343
+ var ae = $, oe = "https://solidproject.org/get_a_pod";
344
+ function se(e) {
345
+ let r = t.store, i = r.sym(e), a = r.any(i, n.sioc("avatar")) || r.any(i, n.foaf("img")) || r.any(i, n.vcard("logo")) || r.any(i, n.vcard("hasPhoto")) || r.any(i, n.vcard("photo")) || r.any(i, n.foaf("depiction"));
375
346
  return a ? a.value : void 0;
376
347
  }
377
- var ue = class {
378
- constructor(e = ce) {
348
+ var ce = class {
349
+ _initialized = !1;
350
+ profileLoaded = !1;
351
+ listeners = [];
352
+ constructor(e = oe) {
379
353
  this.signupUrl = e;
380
354
  }
355
+ async initialize() {
356
+ await e.checkUser(), this._initialized = !0, this.listeners.forEach((e) => e());
357
+ }
358
+ async loadProfile() {
359
+ this.profileLoaded || !this.account || (this.profileLoaded = !0, await t.profile.loadMe(), this.listeners.forEach((e) => e()));
360
+ }
361
+ get initialized() {
362
+ return this._initialized;
363
+ }
381
364
  get account() {
382
- let e = n.webId ?? n.info?.webId;
383
- return !(n.isActive ?? n.info?.isLoggedIn ?? !!e) || !e ? null : new g(e, le(e));
365
+ let e = r.webId ?? r.info?.webId;
366
+ return !(r.isActive ?? r.info?.isLoggedIn ?? !!e) || !e ? null : new g(e, se(e));
384
367
  }
385
- async login(t) {
386
- if (!t) {
387
- x(u`<solid-ui-login-modal></solid-ui-login-modal>`);
368
+ async login(e) {
369
+ if (!e) {
370
+ h(ae);
388
371
  return;
389
372
  }
390
- e.store.updater.flagAuthorizationMetadata();
391
- let r = new URL(window.location.href).hash;
392
- r && window.localStorage.setItem("preLoginRedirectHash", r), window.localStorage.setItem("loginIssuer", t);
373
+ t.store.updater.flagAuthorizationMetadata();
374
+ let n = new URL(window.location.href).hash;
375
+ n && window.localStorage.setItem("preLoginRedirectHash", n), window.localStorage.setItem("loginIssuer", e);
393
376
  let i = new URL(window.location.href);
394
- i.hash = "", await n.login(t, i.href);
377
+ i.hash = "", await r.login(e, i.href);
395
378
  }
396
379
  async signup() {
397
380
  window.open(this.signupUrl, "_blank", "noopener,noreferrer");
398
381
  }
399
382
  async logout() {
400
- await n.logout();
383
+ await r.logout();
401
384
  }
402
385
  onSessionUpdated(e) {
403
- let t = n, r = () => {
386
+ let t = r, n = () => {
404
387
  e();
405
388
  };
406
- return typeof t.addEventListener == "function" ? t.addEventListener("sessionStateChange", r) : (n.events.on("login", e), n.events.on("logout", e), n.events.on("sessionRestore", e)), () => {
407
- typeof t.removeEventListener == "function" ? t.removeEventListener("sessionStateChange", r) : (n.events.off("login", e), n.events.off("logout", e), n.events.off("sessionRestore", e));
389
+ return this.listeners.push(n), typeof t.addEventListener == "function" ? t.addEventListener("sessionStateChange", n) : (r.events.on("login", n), r.events.on("logout", n), r.events.on("sessionRestore", n)), () => {
390
+ this.listeners = this.listeners.filter((e) => e !== n), typeof t.removeEventListener == "function" ? t.removeEventListener("sessionStateChange", n) : (r.events.off("login", n), r.events.off("logout", n), r.events.off("sessionRestore", n));
408
391
  };
409
392
  }
410
393
  };
411
394
  //#endregion
412
- export { x as a, y as c, $ as i, _ as l, ue as n, b as o, se as r, v as s, ce as t, g as u };
395
+ export { v as a, g as c, $ as i, ce as n, y as o, ae as r, _ as s, oe as t };
413
396
 
414
- //# sourceMappingURL=auth-D8B5yczR.js.map
397
+ //# sourceMappingURL=auth-Knq99zZ9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-Knq99zZ9.js","names":["Account","webId","avatarUrl","constructor","NoopAuth","initialized","account","login","Error","signup","logout","onSessionUpdated","undefined","createContext","NoopAuth","DEFAULT_AUTH_CONTEXT","authContext","Symbol","customElement","WebComponent","html","nothing","consume","property","query","state","authContext","DEFAULT_AUTH_CONTEXT","getSuggestedIssuers","styles","_classDecs","_LoginModal","_LoginModal2","_A","WeakMap","_B","_C","_D","_E","_F","_ref","_issuerUrlDecs","type","String","reflect","_issuerInputValueDecs","_failedDecs","_submittingDecs","_authDecs","context","subscribe","_dialogDecs","_LoginModal3","LoginModal","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_issuerUrl","_init_issuerInputValue","_init_failed","_init_submitting","_init_auth","_init_dialog","_classPrivateFieldGet","issuerUrl","v","_classPrivateFieldSet","issuerInputValue","failed","submitting","auth","dialog","connectedCallback","localStorage","getItem","render","suggestedIssuers","onSubmit","onIssuerInputChange","map","issuer","uri","name","close","e","target","value","preventDefault","login","error","console","c","_initClass","_applyDecs","_Class","_identity","_defineProperty","default","LoginModal","Account","ns","authn","authSession","solidLogicSingleton","showDialog","LoginModal","DEFAULT_SIGNUP_URL","findAccountImage","webId","store","me","sym","image","any","sioc","foaf","vcard","value","undefined","SolidAuth","_initialized","profileLoaded","listeners","constructor","signupUrl","initialize","checkUser","forEach","listener","loadProfile","account","profile","loadMe","initialized","info","isActive","isLoggedIn","Boolean","avatarUrl","login","loginUrl","updater","flagAuthorizationMetadata","preLoginRedirectHash","URL","window","location","href","hash","localStorage","setItem","locationUrl","signup","open","logout","onSessionUpdated","callback","sessionEventTarget","push","addEventListener","events","on","filter","_listener","removeEventListener","off"],"sources":["../../src/lib/auth/Account.ts","../../src/lib/auth/NoopAuth.ts","../../src/lib/auth/context.ts","../../src/components/login-modal/LoginModal.styles.css","../../src/components/login-modal/LoginModal.ts","../../src/components/login-modal/index.ts","../../src/lib/auth/SolidAuth.ts"],"sourcesContent":["export default class Account {\n public readonly webId: string\n public readonly avatarUrl?: string\n\n constructor (webId: string, avatarUrl?: string) {\n this.webId = webId\n this.avatarUrl = avatarUrl\n }\n}\n","import { AuthContext } from './context'\n\nexport default class NoopAuth implements AuthContext {\n public readonly initialized = false\n public readonly account = null\n\n async login () {\n throw new Error('Can\\'t use auth, missing context provider')\n }\n\n async signup () {\n throw new Error('Can\\'t use auth, missing context provider')\n }\n\n async logout () {\n throw new Error('Can\\'t use auth, missing context provider')\n }\n\n onSessionUpdated () {\n return () => undefined\n }\n}\n","import { createContext } from '@lit/context'\nimport NoopAuth from './NoopAuth'\nimport Account from './Account'\n\nexport interface AuthContext {\n initialized: boolean;\n account: Account | null;\n login(loginUrl?: string): Promise<void>;\n loadProfile?(): Promise<void>;\n signup(): Promise<void>;\n logout(): Promise<void>;\n onSessionUpdated(callback: () => unknown): () => void;\n}\n\nexport const DEFAULT_AUTH_CONTEXT = new NoopAuth()\nexport const authContext = createContext<AuthContext>(Symbol('auth'))\n",".error-message {\n color: var(--solid-ui-color-error);\n font-size: var(--solid-ui-font-size-sm);\n font-weight: 500;\n text-align: center;\n width: 100%;\n}\n\nsolid-ui-combobox {\n width: 100%;\n}\n\nsolid-ui-button {\n flex: 1;\n}\n","import { customElement, WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\nimport { consume } from '@lit/context'\nimport { property, query, state } from 'lit/decorators.js'\nimport { AuthContext, authContext, DEFAULT_AUTH_CONTEXT } from '@/lib/auth'\nimport { getSuggestedIssuers } from 'solid-logic'\nimport type Dialog from '@/components/dialog'\nimport type Combobox from '@/components/combobox'\n\nimport '~icons/lucide/chevron-down'\nimport '@/components/dialog'\nimport '@/components/dialog-content'\nimport '@/components/dialog-footer'\nimport '@/components/button'\nimport '@/components/combobox'\nimport '@/components/combobox-option'\n\nimport styles from './LoginModal.styles.css'\n\n@customElement('solid-ui-login-modal')\nexport default class LoginModal extends WebComponent {\n static styles = styles\n\n @property({ type: String, reflect: true })\n accessor issuerUrl = ''\n\n @state()\n private accessor issuerInputValue = ''\n\n @state()\n private accessor failed: boolean = false\n\n @state()\n private accessor submitting: boolean = false\n\n @consume({ context: authContext, subscribe: true })\n private accessor auth: AuthContext = DEFAULT_AUTH_CONTEXT\n\n @query('solid-ui-dialog')\n private accessor dialog: Dialog | null = null\n\n connectedCallback () {\n super.connectedCallback()\n\n this.issuerInputValue = (typeof localStorage !== 'undefined' && localStorage.getItem('loginIssuer')) || this.issuerUrl || ''\n }\n\n protected render () {\n const suggestedIssuers = getSuggestedIssuers()\n\n return html`\n <solid-ui-dialog title=\"Select an identity provider\">\n <form @submit=${this.onSubmit}>\n <solid-ui-dialog-content>\n <solid-ui-combobox label=\"Solid Identity Provider\" .value=${this.issuerInputValue} @input=${this.onIssuerInputChange}>\n ${suggestedIssuers.map(issuer => html`<solid-ui-combobox-option value=\"${issuer.uri}\">${issuer.name}</solid-ui-combobox-option>`)}\n </solid-ui-combobox>\n\n ${this.failed ? html`<p class=\"error-message\">Something went wrong</p>` : nothing}\n </solid-ui-dialog-content>\n\n <solid-ui-dialog-footer>\n <solid-ui-button\n variant=\"secondary\"\n @click=\"${() => this.dialog?.close()}\"\n >\n Cancel\n </solid-ui-button>\n <solid-ui-button\n ?disabled=${!this.issuerInputValue || this.submitting}\n ?loading=${this.submitting}\n type=\"submit\"\n >\n Login\n </solid-ui-button>\n </solid-ui-dialog-footer>\n </form>\n </solid-ui-dialog>\n `\n }\n\n private onIssuerInputChange (e: Event) {\n this.issuerInputValue = String((e.target as Combobox).value)\n }\n\n private async onSubmit (e: Event) {\n e.preventDefault()\n\n this.failed = false\n\n if (!this.issuerInputValue) {\n return\n }\n\n this.submitting = true\n\n try {\n await this.auth.login(this.issuerInputValue)\n } catch (error) {\n console.error(error)\n\n this.failed = true\n } finally {\n this.submitting = false\n }\n }\n}\n","import LoginModal from './LoginModal'\n\nexport { LoginModal }\nexport default LoginModal\n","import Account from '@/lib/auth/Account'\nimport ns from '@/lib/ns'\nimport { authn, authSession, solidLogicSingleton } from 'solid-logic'\nimport { AuthContext } from '@/lib/auth'\nimport { showDialog } from '@/lib/dialogs'\n\nimport LoginModal from '@/components/login-modal'\n\nexport const DEFAULT_SIGNUP_URL = 'https://solidproject.org/get_a_pod'\n\nfunction findAccountImage (webId: string): string | undefined {\n const store = solidLogicSingleton.store\n const me = store.sym(webId)\n const image =\n store.any(me, ns.sioc('avatar')) ||\n store.any(me, ns.foaf('img')) ||\n store.any(me, ns.vcard('logo')) ||\n store.any(me, ns.vcard('hasPhoto')) ||\n store.any(me, ns.vcard('photo')) ||\n store.any(me, ns.foaf('depiction'))\n\n return image ? (image as any).value : undefined\n}\n\nexport default class SolidAuth implements AuthContext {\n private _initialized = false\n private profileLoaded = false\n private listeners: (() => unknown)[] = []\n\n constructor (public signupUrl: string = DEFAULT_SIGNUP_URL) {}\n\n async initialize () {\n await authn.checkUser()\n\n this._initialized = true\n this.listeners.forEach(listener => listener())\n }\n\n async loadProfile () {\n if (this.profileLoaded || !this.account) {\n return\n }\n\n this.profileLoaded = true\n\n await solidLogicSingleton.profile.loadMe()\n\n this.listeners.forEach(listener => listener())\n }\n\n get initialized (): boolean {\n return this._initialized\n }\n\n get account (): Account | null {\n const webId: string | undefined = authSession.webId ?? authSession.info?.webId\n const isActive: boolean = authSession.isActive ?? authSession.info?.isLoggedIn ?? Boolean(webId)\n\n if (!isActive || !webId) {\n return null\n }\n\n const avatarUrl = findAccountImage(webId)\n\n return new Account(webId, avatarUrl)\n }\n\n async login (loginUrl?: string) {\n if (!loginUrl) {\n showDialog(LoginModal)\n\n return\n }\n\n // clear authorization metadata from store\n ;(solidLogicSingleton.store.updater as any).flagAuthorizationMetadata()\n\n const preLoginRedirectHash = new URL(window.location.href).hash\n if (preLoginRedirectHash) {\n window.localStorage.setItem('preLoginRedirectHash', preLoginRedirectHash)\n }\n window.localStorage.setItem('loginIssuer', loginUrl)\n\n const locationUrl = new URL(window.location.href)\n\n locationUrl.hash = ''\n\n await authSession.login(loginUrl, locationUrl.href)\n }\n\n async signup () {\n window.open(this.signupUrl, '_blank', 'noopener,noreferrer')\n }\n\n async logout () {\n await authSession.logout()\n }\n\n onSessionUpdated (callback: () => unknown) {\n const sessionEventTarget = authSession as unknown as EventTarget\n const listener = () => {\n callback()\n }\n\n this.listeners.push(listener)\n\n if (typeof sessionEventTarget.addEventListener === 'function') {\n sessionEventTarget.addEventListener('sessionStateChange', listener)\n } else {\n authSession.events.on('login', listener)\n authSession.events.on('logout', listener)\n authSession.events.on('sessionRestore', listener)\n }\n\n return () => {\n this.listeners = this.listeners.filter(_listener => _listener !== listener)\n\n if (typeof sessionEventTarget.removeEventListener === 'function') {\n sessionEventTarget.removeEventListener('sessionStateChange', listener)\n } else {\n authSession.events.off('login', listener)\n authSession.events.off('logout', listener)\n authSession.events.off('sessionRestore', listener)\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { c as e, s as t } from "./auth-D8B5yczR.js";
2
- import { i as n } from "./dialog-Ujvm11_B.js";
3
- import { n as r, r as i } from "./components-PQfnwrHI.js";
1
+ import { a as e, o as t } from "./auth-Knq99zZ9.js";
2
+ import { l as n, o as r, p as i } from "./components-BD458q30.js";
4
3
  import { c as a, i as o } from "./lit-C4H1jI4q.js";
5
4
  //#region ~icons/lucide/circle-user
6
5
  var s = class extends HTMLElement {
@@ -183,14 +182,14 @@ function k(e) {
183
182
  function A(e) {
184
183
  return e;
185
184
  }
186
- m = [i("solid-ui-avatar")];
185
+ m = [n("solid-ui-avatar")];
187
186
  var j;
188
- new (_ = (d = /*#__PURE__*/ new WeakMap(), v = (h = n({
189
- context: e,
187
+ new (_ = (d = /*#__PURE__*/ new WeakMap(), v = (h = i({
188
+ context: t,
190
189
  subscribe: !0
191
190
  }), "auth"), u = class extends r {
192
- constructor(...e) {
193
- super(...e), y(this, d, (f(this), g(this, t)));
191
+ constructor(...t) {
192
+ super(...t), y(this, d, (f(this), g(this, e))), w(this, "unsubscribeSessionUpdated", void 0);
194
193
  }
195
194
  get [v]() {
196
195
  return S(d, this);
@@ -198,6 +197,14 @@ new (_ = (d = /*#__PURE__*/ new WeakMap(), v = (h = n({
198
197
  set auth(e) {
199
198
  x(d, this, e);
200
199
  }
200
+ connectedCallback() {
201
+ super.connectedCallback(), this.auth.loadProfile?.(), this.unsubscribeSessionUpdated = this.auth.onSessionUpdated(() => {
202
+ this.auth.loadProfile?.(), this.requestUpdate();
203
+ });
204
+ }
205
+ disconnectedCallback() {
206
+ super.disconnectedCallback(), this.unsubscribeSessionUpdated?.();
207
+ }
201
208
  render() {
202
209
  return this.auth.account?.avatarUrl ? o`
203
210
  <img src="${this.auth.account?.avatarUrl}" alt="" />
@@ -220,4 +227,4 @@ var M = j;
220
227
  //#endregion
221
228
  export { j as n, M as t };
222
229
 
223
- //# sourceMappingURL=avatar-DNGFKkhm.js.map
230
+ //# sourceMappingURL=avatar-DgO_p94F.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar-DgO_p94F.js","names":["customElement","WebComponent","consume","html","authContext","DEFAULT_AUTH_CONTEXT","styles","_classDecs","_Avatar","_Avatar2","_A","WeakMap","_ref","_authDecs","context","subscribe","_Avatar3","Avatar","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_auth","_defineProperty","_classPrivateFieldGet","auth","v","_classPrivateFieldSet","connectedCallback","loadProfile","unsubscribeSessionUpdated","onSessionUpdated","requestUpdate","disconnectedCallback","render","account","avatarUrl","e","c","_initClass","_applyDecs","_Class","_identity","fallback","component","default","Avatar"],"sources":["../../src/components/avatar/Avatar.styles.css","../../src/components/avatar/Avatar.ts","../../src/components/avatar/index.ts"],"sourcesContent":[":host {\n --size: 150px;\n\n display: inline-flex;\n overflow: hidden;\n width: var(--size);\n height: var(--size);\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n}\n\n:host([data-state-fallback]) {\n background: var(--solid-ui-color-gray-100);\n justify-content: center;\n align-items: center;\n\n icon-lucide-circle-user {\n color: var(--solid-ui-color-gray-200);\n width: 50%;\n height: 50%;\n }\n}\n","import { customElement, WebComponent } from '@/lib/components'\nimport { consume } from '@lit/context'\nimport { html } from 'lit'\nimport { authContext, AuthContext, DEFAULT_AUTH_CONTEXT } from '@/lib/auth'\n\nimport '~icons/lucide/circle-user'\n\nimport styles from './Avatar.styles.css'\n\n@customElement('solid-ui-avatar')\nexport default class Avatar extends WebComponent {\n static styles = styles\n static states = {\n fallback: (component: Avatar) => !component.auth.account?.avatarUrl,\n }\n\n @consume({ context: authContext, subscribe: true })\n private accessor auth: AuthContext = DEFAULT_AUTH_CONTEXT\n\n private unsubscribeSessionUpdated?: () => void\n\n connectedCallback () {\n super.connectedCallback()\n\n this.auth.loadProfile?.()\n\n this.unsubscribeSessionUpdated = this.auth.onSessionUpdated(() => {\n this.auth.loadProfile?.()\n this.requestUpdate()\n })\n }\n\n disconnectedCallback () {\n super.disconnectedCallback()\n\n this.unsubscribeSessionUpdated?.()\n }\n\n protected render () {\n if (!this.auth.account?.avatarUrl) {\n return html`\n <icon-lucide-circle-user></icon-lucide-circle-user>\n `\n }\n\n return html`\n <img src=\"${this.auth.account?.avatarUrl}\" alt=\"\" />\n `\n }\n}\n","import Avatar from './Avatar'\n\nexport { Avatar }\nexport default Avatar\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACOwCO,IAAA,CAEvCP,EAAc,iBAAiB,CAAC;AAAA,IAAAQ;AAAA,KAAAC,KAAAC,kBAAA,IAAAC,QAAA,GAAAC,KAAAC,IAO9BX,EAAQ;CAAEY,SAASV;CAAaW,WAAW;AAAK,CAAC,GAAC,SAAAC,IAPrD,cACoCf,EAAa;CAAAiB,YAAA,GAAAC,GAAA;EAOUI,AAPV,MAAA,GAAAJ,CAAA,GAAAC,EAAA,MAAAV,IAAAW,EAAA,IAAA,GAAAC,EAAA,MAOVjB,CAAoB,EAAA,GAAAkB,EAAA,MAAA,6BAAA,KAAA,CAAA;CAAA;CAAA,KAAAX,KAAA;EAAA,OAAAY,EAAAd,GAAA,IAAA;CAAA;CAAA,IAAxCe,KAAIC,GAAA;EAAAC,EAAAjB,GAAA,MAAAgB,CAAA;CAAA;CAIrBE,oBAAqB;EAKnB,AAJA,MAAMA,kBAAkB,GAExB,KAAKH,KAAKI,cAAc,GAExB,KAAKC,4BAA4B,KAAKL,KAAKM,uBAAuB;GAEhE,AADA,KAAKN,KAAKI,cAAc,GACxB,KAAKG,cAAc;EACrB,CAAC;CACH;CAEAC,uBAAwB;EAGtB,AAFA,MAAMA,qBAAqB,GAE3B,KAAKH,4BAA4B;CACnC;CAEUI,SAAU;EAOlB,OANK,KAAKT,KAAKU,SAASC,YAMjBjC,CAAI;oBACK,KAAKsB,KAAKU,SAASC,UAAS;QANnCjC,CAAI;;;CAQf;AACF,GAAC,CAAAkC,GAAA,CAAAf,GAAAD,IAAAiB,GAAA,CAAA9B,GAAA+B,MAAAC,EAAAxB,GAAA,CAAA;CAAAH;CAAA;CAAA;AAAA,CAAA,GAAAN,GAAA,GAAA,KAAA,GAvCmCN,CAAY,GAAAe,IAAAyB,IAAA,cAAAC,EAAA;CAAAxB,cAAA;EAAA,MAAAV,CAAA,GAAAe,EAAA,MAAA,UAC9BjB,CAAM,GAAAiB,EAAA,MAAA,UACN,EACdoB,WAAWC,MAAsB,CAACA,EAAUnB,KAAKU,SAASC,UAC5D,CAAC,GAAAG,EAAA;CAAA;AAAA,GAAAhB,EAAAkB,GAAAhC,GAAA,KAAA,CAAA,GAAAgC,GAAA;;;ACXH,IAAA,IAAeK"}
@@ -1,6 +1,5 @@
1
- import { n as e, r as t } from "./components-PQfnwrHI.js";
2
- import { c as n, i as r, n as i } from "./lit-C4H1jI4q.js";
3
- import { n as a } from "./decorators-BqWyWiL9.js";
1
+ import { i as e, l as t, o as n } from "./components-BD458q30.js";
2
+ import { c as r, i, n as a } from "./lit-C4H1jI4q.js";
4
3
  //#region ~icons/svg-spinners/180-ring
5
4
  var o = class extends HTMLElement {
6
5
  constructor() {
@@ -10,7 +9,7 @@ var o = class extends HTMLElement {
10
9
  customElements.get("icon-svg-spinners-180-ring") || customElements.define("icon-svg-spinners-180-ring", o);
11
10
  //#endregion
12
11
  //#region src/components/button/Button.styles.css
13
- var s = n`:host{--text-color:var(--solid-ui-color-white);--border-color:var(--solid-ui-color-primary);--background-color:var(--solid-ui-color-primary);--hover-text-color:var(--text-color);--hover-border-color:var(--solid-ui-color-tertiary);--hover-background-color:var(--solid-ui-color-tertiary);display:inline-flex;& button{font-size:var(--solid-ui-font-size-md);color:var(--text-color);background:var(--background-color);border:1px solid var(--border-color);border-radius:5px;flex:1;justify-content:center;align-items:center;gap:5px;padding:7px 12px;font-weight:600;display:flex;position:relative;&:disabled{opacity:.5;cursor:not-allowed}&:hover:not(:disabled){color:var(--hover-text-color);background:var(--hover-background-color);border-color:var(--hover-border-color)}& icon-svg-spinners-180-ring,& ::slotted([slot=left-icon]),& ::slotted([slot=right-icon]){width:var(--solid-ui-font-size-md);height:var(--solid-ui-font-size-md)}&:after{content:\"\";width:var(--solid-ui-clickable-area);height:var(--solid-ui-clickable-area);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}}:host([data-has-icon-slot]) button{padding:4px;& ::slotted([slot=icon]){width:var(--solid-ui-font-size-2xl);height:var(--solid-ui-font-size-2xl)}}:host([variant=secondary]) button{--text-color:var(--solid-ui-color-gray-800);--border-color:var(--solid-ui-color-slate-400);--background-color:var(--solid-ui-color-white);--hover-text-color:var(--solid-ui-color-white);--hover-background-color:var(--solid-ui-color-tertiary);--hover-border-color:var(--solid-ui-color-tertiary)}:host([variant=tertiary]) button{--text-color:var(--solid-ui-color-primary);--border-color:transparent;--background-color:transparent;--hover-text-color:var(--solid-ui-color-tertiary);--hover-border-color:var(--solid-ui-color-tertiary);--hover-background-color:transparent;border-width:0 0 1px;border-radius:0;padding:0}:host([variant=outline]) button{--text-color:currentColor;--border-color:currentColor;--background-color:transparent;--hover-text-color:currentColor;--hover-border-color:currentColor;--hover-background-color:color-mix(in srgb, currentColor 25%, transparent)}:host([variant=ghost]) button{--text-color:currentColor;--border-color:transparent;--background-color:transparent;--hover-text-color:currentColor;--hover-border-color:transparent;--hover-background-color:color-mix(in srgb, currentColor 25%, transparent)}`, c, l, u, d, f, p, m, h, g, _, v, y, b, x, S, C, w, T, E;
12
+ var s = r`:host{--text-color:var(--solid-ui-color-white);--border-color:var(--solid-ui-color-primary);--background-color:var(--solid-ui-color-primary);--hover-text-color:var(--text-color);--hover-border-color:var(--solid-ui-color-tertiary);--hover-background-color:var(--solid-ui-color-tertiary);display:inline-flex;& button{font-size:var(--solid-ui-font-size-md);color:var(--text-color);background:var(--background-color);border:1px solid var(--border-color);border-radius:5px;flex:1;justify-content:center;align-items:center;gap:5px;padding:7px 12px;font-weight:600;display:flex;position:relative;&:disabled{opacity:.5;cursor:not-allowed}&:hover:not(:disabled){color:var(--hover-text-color);background:var(--hover-background-color);border-color:var(--hover-border-color)}& icon-svg-spinners-180-ring,& ::slotted([slot=left-icon]),& ::slotted([slot=right-icon]){width:var(--solid-ui-font-size-md);height:var(--solid-ui-font-size-md)}&:after{content:\"\";width:var(--solid-ui-clickable-area);height:var(--solid-ui-clickable-area);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}}:host([data-has-icon-slot]) button{padding:4px;& ::slotted([slot=icon]){width:var(--solid-ui-font-size-2xl);height:var(--solid-ui-font-size-2xl)}}:host([variant=secondary]) button{--text-color:var(--solid-ui-color-gray-800);--border-color:var(--solid-ui-color-slate-400);--background-color:var(--solid-ui-color-white);--hover-text-color:var(--solid-ui-color-white);--hover-background-color:var(--solid-ui-color-tertiary);--hover-border-color:var(--solid-ui-color-tertiary)}:host([variant=tertiary]) button{--text-color:var(--solid-ui-color-primary);--border-color:transparent;--background-color:transparent;--hover-text-color:var(--solid-ui-color-tertiary);--hover-border-color:var(--solid-ui-color-tertiary);--hover-background-color:transparent;border-width:0 0 1px;border-radius:0;padding:0}:host([variant=outline]) button{--text-color:currentColor;--border-color:currentColor;--background-color:transparent;--hover-text-color:currentColor;--hover-border-color:currentColor;--hover-background-color:color-mix(in srgb, currentColor 25%, transparent)}:host([variant=ghost]) button{--text-color:currentColor;--border-color:transparent;--background-color:transparent;--hover-text-color:currentColor;--hover-border-color:transparent;--hover-background-color:var(--solid-ui-color-primary-hover)}`, c, l, u, d, f, p, m, h, g, _, v, y, b, x, S, C, w, T, E;
14
13
  function D(e, t, n) {
15
14
  O(e, t), t.set(e, n);
16
15
  }
@@ -191,13 +190,13 @@ var z = [
191
190
  ];
192
191
  g = [t("solid-ui-button")];
193
192
  var B;
194
- new (T = (u = /*#__PURE__*/ new WeakMap(), d = /*#__PURE__*/ new WeakMap(), f = /*#__PURE__*/ new WeakMap(), p = /*#__PURE__*/ new WeakMap(), E = (_ = a({
193
+ new (T = (u = /*#__PURE__*/ new WeakMap(), d = /*#__PURE__*/ new WeakMap(), f = /*#__PURE__*/ new WeakMap(), p = /*#__PURE__*/ new WeakMap(), E = (_ = e({
195
194
  type: String,
196
195
  reflect: !0
197
- }), y = a({
196
+ }), y = e({
198
197
  type: String,
199
198
  reflect: !0
200
- }), x = a({ type: Boolean }), C = a({ type: Boolean }), "variant"), l = class extends e {
199
+ }), x = e({ type: Boolean }), C = e({ type: Boolean }), "variant"), l = class extends n {
201
200
  constructor(...e) {
202
201
  super(...e), D(this, u, (m(this), v(this, "primary"))), D(this, d, b(this, "button")), D(this, f, S(this, void 0)), D(this, p, w(this, !1));
203
202
  }
@@ -227,9 +226,9 @@ new (T = (u = /*#__PURE__*/ new WeakMap(), d = /*#__PURE__*/ new WeakMap(), f =
227
226
  }
228
227
  render() {
229
228
  let e = this.disabled ?? this.loading;
230
- return r`
229
+ return i`
231
230
  <button type=${this.type} ?disabled=${e} @click=${this.onClick}>
232
- ${this.loading ? r`<icon-svg-spinners-180-ring></icon-svg-spinners-180-ring>` : i}
231
+ ${this.loading ? i`<icon-svg-spinners-180-ring></icon-svg-spinners-180-ring>` : a}
233
232
  <slot name="left-icon"></slot>
234
233
  <slot @slotchange=${this.onIconSlotChange} name="icon"></slot>
235
234
  <slot></slot>
@@ -272,7 +271,7 @@ new (T = (u = /*#__PURE__*/ new WeakMap(), d = /*#__PURE__*/ new WeakMap(), f =
272
271
  1,
273
272
  "loading"
274
273
  ]
275
- ], g, 0, void 0, e), l), c = class extends R {
274
+ ], g, 0, void 0, n), l), c = class extends R {
276
275
  constructor() {
277
276
  super(B), M(this, "styles", s), M(this, "formAssociated", !0), h();
278
277
  }
@@ -283,4 +282,4 @@ var V = B;
283
282
  //#endregion
284
283
  export { z as n, B as r, V as t };
285
284
 
286
- //# sourceMappingURL=button-oanBb_ha.js.map
285
+ //# sourceMappingURL=button-Dvkek1tx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button-oanBb_ha.js","names":["customElement","WebComponent","html","nothing","property","styles","BUTTON_VARIANTS","_classDecs","_Button","_Button2","_A","WeakMap","_B","_C","_D","_ref","_variantDecs","type","String","reflect","_typeDecs","_disabledDecs","Boolean","_loadingDecs","_Button3","Button","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_variant","_init_type","_init_disabled","undefined","_init_loading","_classPrivateFieldGet","variant","v","_classPrivateFieldSet","disabled","loading","render","onClick","onIconSlotChange","e","slot","target","toggleAttribute","assignedElements","length","getInternals","form","requestSubmit","reset","c","_initClass","_applyDecs","_Class","_identity","_defineProperty","default","Button","BUTTON_VARIANTS"],"sources":["../../src/components/button/Button.styles.css","../../src/components/button/Button.ts","../../src/components/button/index.ts"],"sourcesContent":[":host {\n --text-color: var(--solid-ui-color-white);\n --border-color: var(--solid-ui-color-primary);\n --background-color: var(--solid-ui-color-primary);\n --hover-text-color: var(--text-color);\n --hover-border-color: var(--solid-ui-color-tertiary);\n --hover-background-color: var(--solid-ui-color-tertiary);\n\n display: inline-flex;\n\n button {\n position: relative;\n padding: 7px 12px;\n border-radius: 5px;\n font-size: var(--solid-ui-font-size-md);\n font-weight: 600;\n color: var(--text-color);\n background: var(--background-color);\n border: 1px solid var(--border-color);\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 5px;\n flex: 1;\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n &:hover:not(:disabled) {\n color: var(--hover-text-color);\n background: var(--hover-background-color);\n border-color: var(--hover-border-color);\n }\n\n icon-svg-spinners-180-ring, ::slotted([slot=\"left-icon\"]), ::slotted([slot=\"right-icon\"]) {\n width: var(--solid-ui-font-size-md);\n height: var(--solid-ui-font-size-md);\n }\n\n &::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: var(--solid-ui-clickable-area);\n height: var(--solid-ui-clickable-area);\n }\n }\n}\n\n:host([data-has-icon-slot]) button {\n padding: 4px;\n\n ::slotted([slot=\"icon\"]) {\n width: var(--solid-ui-font-size-2xl);\n height: var(--solid-ui-font-size-2xl);\n }\n}\n\n:host([variant='secondary']) button {\n --text-color: var(--solid-ui-color-gray-800);\n --border-color: var(--solid-ui-color-slate-400);\n --background-color: var(--solid-ui-color-white);\n --hover-text-color: var(--solid-ui-color-white);\n --hover-background-color: var(--solid-ui-color-tertiary);\n --hover-border-color: var(--solid-ui-color-tertiary);\n}\n\n:host([variant='tertiary']) button {\n --text-color: var(--solid-ui-color-primary);\n --border-color: transparent;\n --background-color: transparent;\n --hover-text-color: var(--solid-ui-color-tertiary);\n --hover-border-color: var(--solid-ui-color-tertiary);\n --hover-background-color: transparent;\n\n padding: 0;\n border-radius: 0;\n border-width: 0;\n border-bottom-width: 1px;\n}\n\n:host([variant='outline']) button {\n --text-color: currentColor;\n --border-color: currentColor;\n --background-color: transparent;\n --hover-text-color: currentColor;\n --hover-border-color: currentColor;\n --hover-background-color: color-mix(in srgb, currentColor 25%, transparent);\n}\n\n:host([variant='ghost']) button {\n --text-color: currentColor;\n --border-color: transparent;\n --background-color: transparent;\n --hover-text-color: currentColor;\n --hover-border-color: transparent;\n --hover-background-color: color-mix(in srgb, currentColor 25%, transparent);\n}\n","import { customElement, WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\nimport { property } from 'lit/decorators.js'\n\nimport '~icons/svg-spinners/180-ring'\n\nimport styles from './Button.styles.css'\n\nexport const BUTTON_VARIANTS = ['primary', 'secondary', 'tertiary', 'outline', 'ghost'] as const\nexport type ButtonVariant = typeof BUTTON_VARIANTS[number]\n\n@customElement('solid-ui-button')\nexport default class Button extends WebComponent {\n static styles = styles\n static formAssociated = true\n\n @property({ type: String, reflect: true })\n accessor variant: ButtonVariant = 'primary'\n\n @property({ type: String, reflect: true })\n accessor type = 'button'\n\n @property({ type: Boolean })\n accessor disabled: boolean | undefined = undefined\n\n @property({ type: Boolean })\n accessor loading = false\n\n render () {\n const disabled = this.disabled ?? this.loading\n\n return html`\n <button type=${this.type} ?disabled=${disabled} @click=${this.onClick}>\n ${this.loading ? html`<icon-svg-spinners-180-ring></icon-svg-spinners-180-ring>` : nothing}\n <slot name=\"left-icon\"></slot>\n <slot @slotchange=${this.onIconSlotChange} name=\"icon\"></slot>\n <slot></slot>\n <slot name=\"right-icon\"></slot>\n </button>\n `\n }\n\n private onIconSlotChange (e: Event) {\n const slot = e.target as HTMLSlotElement\n\n this.toggleAttribute('data-has-icon-slot', slot.assignedElements().length > 0)\n }\n\n private onClick () {\n switch (this.type) {\n case 'submit':\n this.getInternals().form?.requestSubmit()\n break\n case 'reset':\n this.getInternals().form?.reset()\n break\n }\n }\n}\n","import Button, { BUTTON_VARIANTS, type ButtonVariant } from './Button'\n\nexport { Button, BUTTON_VARIANTS, type ButtonVariant }\nexport default Button\n"],"mappings":"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"}
1
+ {"version":3,"file":"button-Dvkek1tx.js","names":["customElement","WebComponent","html","nothing","property","styles","BUTTON_VARIANTS","_classDecs","_Button","_Button2","_A","WeakMap","_B","_C","_D","_ref","_variantDecs","type","String","reflect","_typeDecs","_disabledDecs","Boolean","_loadingDecs","_Button3","Button","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_variant","_init_type","_init_disabled","undefined","_init_loading","_classPrivateFieldGet","variant","v","_classPrivateFieldSet","disabled","loading","render","onClick","onIconSlotChange","e","slot","target","toggleAttribute","assignedElements","length","getInternals","form","requestSubmit","reset","c","_initClass","_applyDecs","_Class","_identity","_defineProperty","default","Button","BUTTON_VARIANTS"],"sources":["../../src/components/button/Button.styles.css","../../src/components/button/Button.ts","../../src/components/button/index.ts"],"sourcesContent":[":host {\n --text-color: var(--solid-ui-color-white);\n --border-color: var(--solid-ui-color-primary);\n --background-color: var(--solid-ui-color-primary);\n --hover-text-color: var(--text-color);\n --hover-border-color: var(--solid-ui-color-tertiary);\n --hover-background-color: var(--solid-ui-color-tertiary);\n\n display: inline-flex;\n\n button {\n position: relative;\n padding: 7px 12px;\n border-radius: 5px;\n font-size: var(--solid-ui-font-size-md);\n font-weight: 600;\n color: var(--text-color);\n background: var(--background-color);\n border: 1px solid var(--border-color);\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 5px;\n flex: 1;\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n &:hover:not(:disabled) {\n color: var(--hover-text-color);\n background: var(--hover-background-color);\n border-color: var(--hover-border-color);\n }\n\n icon-svg-spinners-180-ring, ::slotted([slot=\"left-icon\"]), ::slotted([slot=\"right-icon\"]) {\n width: var(--solid-ui-font-size-md);\n height: var(--solid-ui-font-size-md);\n }\n\n &::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: var(--solid-ui-clickable-area);\n height: var(--solid-ui-clickable-area);\n }\n }\n}\n\n:host([data-has-icon-slot]) button {\n padding: 4px;\n\n ::slotted([slot=\"icon\"]) {\n width: var(--solid-ui-font-size-2xl);\n height: var(--solid-ui-font-size-2xl);\n }\n}\n\n:host([variant='secondary']) button {\n --text-color: var(--solid-ui-color-gray-800);\n --border-color: var(--solid-ui-color-slate-400);\n --background-color: var(--solid-ui-color-white);\n --hover-text-color: var(--solid-ui-color-white);\n --hover-background-color: var(--solid-ui-color-tertiary);\n --hover-border-color: var(--solid-ui-color-tertiary);\n}\n\n:host([variant='tertiary']) button {\n --text-color: var(--solid-ui-color-primary);\n --border-color: transparent;\n --background-color: transparent;\n --hover-text-color: var(--solid-ui-color-tertiary);\n --hover-border-color: var(--solid-ui-color-tertiary);\n --hover-background-color: transparent;\n\n padding: 0;\n border-radius: 0;\n border-width: 0;\n border-bottom-width: 1px;\n}\n\n:host([variant='outline']) button {\n --text-color: currentColor;\n --border-color: currentColor;\n --background-color: transparent;\n --hover-text-color: currentColor;\n --hover-border-color: currentColor;\n --hover-background-color: color-mix(in srgb, currentColor 25%, transparent);\n}\n\n:host([variant='ghost']) button {\n --text-color: currentColor;\n --border-color: transparent;\n --background-color: transparent;\n --hover-text-color: currentColor;\n --hover-border-color: transparent;\n --hover-background-color: var(--solid-ui-color-primary-hover);\n}\n","import { customElement, WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\nimport { property } from 'lit/decorators.js'\n\nimport '~icons/svg-spinners/180-ring'\n\nimport styles from './Button.styles.css'\n\nexport const BUTTON_VARIANTS = ['primary', 'secondary', 'tertiary', 'outline', 'ghost'] as const\nexport type ButtonVariant = typeof BUTTON_VARIANTS[number]\n\n@customElement('solid-ui-button')\nexport default class Button extends WebComponent {\n static styles = styles\n static formAssociated = true\n\n @property({ type: String, reflect: true })\n accessor variant: ButtonVariant = 'primary'\n\n @property({ type: String, reflect: true })\n accessor type = 'button'\n\n @property({ type: Boolean })\n accessor disabled: boolean | undefined = undefined\n\n @property({ type: Boolean })\n accessor loading = false\n\n render () {\n const disabled = this.disabled ?? this.loading\n\n return html`\n <button type=${this.type} ?disabled=${disabled} @click=${this.onClick}>\n ${this.loading ? html`<icon-svg-spinners-180-ring></icon-svg-spinners-180-ring>` : nothing}\n <slot name=\"left-icon\"></slot>\n <slot @slotchange=${this.onIconSlotChange} name=\"icon\"></slot>\n <slot></slot>\n <slot name=\"right-icon\"></slot>\n </button>\n `\n }\n\n private onIconSlotChange (e: Event) {\n const slot = e.target as HTMLSlotElement\n\n this.toggleAttribute('data-has-icon-slot', slot.assignedElements().length > 0)\n }\n\n private onClick () {\n switch (this.type) {\n case 'submit':\n this.getInternals().form?.requestSubmit()\n break\n case 'reset':\n this.getInternals().form?.reset()\n break\n }\n }\n}\n","import Button, { BUTTON_VARIANTS, type ButtonVariant } from './Button'\n\nexport { Button, BUTTON_VARIANTS, type ButtonVariant }\nexport default Button\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACQA,IAAaM,IAAkB;CAAC;CAAW;CAAa;CAAY;CAAW;AAAO;AAAUC,IAAA,CAG/FP,EAAc,iBAAiB,CAAC;AAAA,IAAAQ;AAAA,KAAAC,KAAAC,kBAAA,IAAAC,QAAA,GAAAC,kBAAA,IAAAD,QAAA,GAAAE,kBAAA,IAAAF,QAAA,GAAAG,kBAAA,IAAAH,QAAA,GAAAI,KAAAC,IAK9BZ,EAAS;CAAEa,MAAMC;CAAQC,SAAS;AAAK,CAAC,GAACC,IAGzChB,EAAS;CAAEa,MAAMC;CAAQC,SAAS;AAAK,CAAC,GAACE,IAGzCjB,EAAS,EAAEa,MAAMK,QAAQ,CAAC,GAACC,IAG3BnB,EAAS,EAAEa,MAAMK,QAAQ,CAAC,GAAC,YAAAE,IAd9B,cACoCvB,EAAa;CAAAyB,YAAA,GAAAC,GAAA;EAWGC,AAXH,MAAA,GAAAD,CAAA,GAAAC,EAAA,MAAAlB,IAAAmB,EAAA,IAAA,GAAAC,EAAA,MAKb,SAAS,EAAA,GAAAF,EAAA,MAAAhB,GAAAmB,EAAA,MAG3B,QAAQ,CAAA,GAAAH,EAAA,MAAAf,GAAAmB,EAAA,MAGiBC,KAAAA,CAAS,CAAA,GAAAL,EAAA,MAAAd,GAAAoB,EAAA,MAG/B,EAAK,CAAA;CAAA;CAAA,KAAAnB,KAAA;EAAA,OAAAoB,EAAAzB,GAAA,IAAA;CAAA;CAAA,IATf0B,QAAOC,GAAA;EAAAC,EAAA5B,GAAA,MAAA2B,CAAA;CAAA;CAAA,IAGPpB,OAAI;EAAA,OAAAkB,EAAAvB,GAAA,IAAA;CAAA;CAAA,IAAJK,KAAIoB,GAAA;EAAAC,EAAA1B,GAAA,MAAAyB,CAAA;CAAA;CAAA,IAGJE,WAAQ;EAAA,OAAAJ,EAAAtB,GAAA,IAAA;CAAA;CAAA,IAAR0B,SAAQF,GAAA;EAAAC,EAAAzB,GAAA,MAAAwB,CAAA;CAAA;CAAA,IAGRG,UAAO;EAAA,OAAAL,EAAArB,GAAA,IAAA;CAAA;CAAA,IAAP0B,QAAOH,GAAA;EAAAC,EAAAxB,GAAA,MAAAuB,CAAA;CAAA;CAEhBI,SAAU;EACR,IAAMF,IAAW,KAAKA,YAAY,KAAKC;EAEvC,OAAOtC,CAAI;uBACQ,KAAKe,KAAI,aAAcsB,EAAQ,UAAW,KAAKG,QAAO;cAC/D,KAAKF,UAAUtC,CAAI,8DAA8DC,EAAO;;gCAEtE,KAAKwC,iBAAgB;;;;;CAKnD;CAEQA,iBAAkBC,GAAU;EAClC,IAAMC,IAAOD,EAAEE;EAEf,KAAKC,gBAAgB,sBAAsBF,EAAKG,iBAAiB,CAAC,CAACC,SAAS,CAAC;CAC/E;CAEQP,UAAW;EACjB,QAAQ,KAAKzB,MAAb;GACE,KAAK;IACH,KAAKiC,aAAa,CAAC,CAACC,MAAMC,cAAc;IACxC;GACF,KAAK;IACH,KAAKF,aAAa,CAAC,CAACC,MAAME,MAAM;IAChC;EACJ;CACF;AACF,GAAC,CAAAT,GAAA,CAAAd,GAAAC,GAAAC,GAAAE,GAAAL,IAAAyB,GAAA,CAAA9C,GAAA+C,MAAAC,EAAAhC,GAAA;CAAA;EAAAR;EAAA;EAAA;CAAA;CAAA;EAAAI;EAAA;EAAA;CAAA;CAAA;EAAAC;EAAA;EAAA;CAAA;CAAA;EAAAE;EAAA;EAAA;CAAA;AAAA,GAAAhB,GAAA,GAAA,KAAA,GA9CmCN,CAAY,GAAAuB,IAAAiC,IAAA,cAAAC,EAAA;CAAAhC,cAAA;EAAA,MAAAlB,CAAA,GAAAmD,EAAA,MAAA,UAC9BtD,CAAM,GAAAsD,EAAA,MAAA,kBACE,EAAI,GAAAJ,EAAA;CAAA;AAAA,GAAAI,EAAAF,GAAAhD,GAAA,KAAA,CAAA,GAAAgD,GAAA;;;ACX9B,IAAA,IAAeI"}