solid-ui 5.0.0-1 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. package/dist/_virtual/~icons/app/solid-emblem.cjs.js.map +1 -1
  2. package/dist/_virtual/~icons/app/solid-emblem.esm.js.map +1 -1
  3. package/dist/_virtual/~icons/lucide/chevron-down.cjs.js.map +1 -1
  4. package/dist/_virtual/~icons/lucide/chevron-down.esm.js.map +1 -1
  5. package/dist/_virtual/~icons/lucide/circle-user.cjs.js.map +1 -1
  6. package/dist/_virtual/~icons/lucide/circle-user.esm.js.map +1 -1
  7. package/dist/_virtual/~icons/lucide/log-in.cjs.js.map +1 -1
  8. package/dist/_virtual/~icons/lucide/log-in.esm.js.map +1 -1
  9. package/dist/_virtual/~icons/lucide/log-out.cjs.js.map +1 -1
  10. package/dist/_virtual/~icons/lucide/log-out.esm.js.map +1 -1
  11. package/dist/_virtual/~icons/lucide/user.cjs.js.map +1 -1
  12. package/dist/_virtual/~icons/lucide/user.esm.js.map +1 -1
  13. package/dist/_virtual/~icons/lucide/x.cjs.js.map +1 -1
  14. package/dist/_virtual/~icons/lucide/x.esm.js.map +1 -1
  15. package/dist/_virtual/~icons/svg-spinners/180-ring.cjs.js.map +1 -1
  16. package/dist/_virtual/~icons/svg-spinners/180-ring.esm.js.map +1 -1
  17. package/dist/_virtual/~icons/svg-spinners/3-dots-fade.cjs.js.map +1 -1
  18. package/dist/_virtual/~icons/svg-spinners/3-dots-fade.esm.js.map +1 -1
  19. package/dist/acl/access-controller.cjs.js.map +1 -1
  20. package/dist/acl/access-controller.esm.js.map +1 -1
  21. package/dist/acl/access-groups.cjs.js.map +1 -1
  22. package/dist/acl/access-groups.esm.js.map +1 -1
  23. package/dist/acl/acl-control.cjs.js.map +1 -1
  24. package/dist/acl/acl-control.esm.js.map +1 -1
  25. package/dist/acl/acl.cjs.js.map +1 -1
  26. package/dist/acl/acl.esm.js.map +1 -1
  27. package/dist/acl/add-agent-buttons.cjs.js.map +1 -1
  28. package/dist/acl/add-agent-buttons.esm.js.map +1 -1
  29. package/dist/acl/index.cjs.js.map +1 -1
  30. package/dist/acl/index.esm.js.map +1 -1
  31. package/dist/chat/bookmarks.cjs.js.map +1 -1
  32. package/dist/chat/bookmarks.esm.js.map +1 -1
  33. package/dist/chat/chatLogic.cjs.js.map +1 -1
  34. package/dist/chat/chatLogic.esm.js.map +1 -1
  35. package/dist/chat/dateFolder.cjs.js.map +1 -1
  36. package/dist/chat/dateFolder.esm.js.map +1 -1
  37. package/dist/chat/infinite.cjs.js.map +1 -1
  38. package/dist/chat/infinite.esm.js.map +1 -1
  39. package/dist/chat/keys.cjs.js.map +1 -1
  40. package/dist/chat/keys.esm.js.map +1 -1
  41. package/dist/chat/message.cjs.js.map +1 -1
  42. package/dist/chat/message.esm.js.map +1 -1
  43. package/dist/chat/messageTools.cjs.js.map +1 -1
  44. package/dist/chat/messageTools.esm.js.map +1 -1
  45. package/dist/chat/signature.cjs.js.map +1 -1
  46. package/dist/chat/signature.esm.js.map +1 -1
  47. package/dist/chunks/DialogProvider-BFllJFfq.js.map +1 -1
  48. package/dist/chunks/{account-CSKDoS_I.js → account-BawgTPEQ.js} +7 -7
  49. package/dist/chunks/account-BawgTPEQ.js.map +1 -0
  50. package/dist/chunks/{auth-YsyyEh_c.js → auth-DrN7Ex4E.js} +85 -81
  51. package/dist/chunks/auth-DrN7Ex4E.js.map +1 -0
  52. package/dist/chunks/{avatar-BXaBs_3q.js → avatar-CoxEa3ul.js} +2 -2
  53. package/dist/chunks/avatar-CoxEa3ul.js.map +1 -0
  54. package/dist/chunks/button-CnmrOsEf.js.map +1 -1
  55. package/dist/chunks/chevron-down-ujxRg3MD.js.map +1 -1
  56. package/dist/chunks/{chunk.64OG2H45-BFgXEuP7.js → chunk.UEBQI7VV-1WRlPl6u.js} +20 -3
  57. package/dist/chunks/chunk.UEBQI7VV-1WRlPl6u.js.map +1 -0
  58. package/dist/chunks/{combobox-D3eGdicW.js → combobox-B0TqOl9L.js} +3 -3
  59. package/dist/chunks/combobox-B0TqOl9L.js.map +1 -0
  60. package/dist/chunks/combobox-option-BcXpUnWu.js.map +1 -1
  61. package/dist/chunks/components-BHoVP7zE.js.map +1 -1
  62. package/dist/chunks/dialog-D9Ellvjx.js.map +1 -1
  63. package/dist/chunks/dialog-content-B2FmmQvH.js.map +1 -1
  64. package/dist/chunks/dialog-footer-CxjoqQJF.js.map +1 -1
  65. package/dist/chunks/dialog-header-0dobhr5C.js.map +1 -1
  66. package/dist/chunks/dialogs-D2n-R0lI.js.map +1 -1
  67. package/dist/chunks/dialogs-root-ngPW2Q6K.js.map +1 -1
  68. package/dist/chunks/{guard-BTbfcRR6.js → guard-BtHmPAJt.js} +2 -2
  69. package/dist/chunks/guard-BtHmPAJt.js.map +1 -0
  70. package/dist/chunks/{index.esm-C63HBmfn.js → index.esm-AZPmKqjU.js} +1535 -1188
  71. package/dist/chunks/index.esm-AZPmKqjU.js.map +1 -0
  72. package/dist/chunks/input-BIhn_8nf.js.map +1 -1
  73. package/dist/chunks/{jsonld-DrQpMD8o.js → jsonld-CDR2WyN_.js} +4 -4
  74. package/dist/chunks/jsonld-CDR2WyN_.js.map +1 -0
  75. package/dist/chunks/{login-button-DZb_CXCo.js → login-button-DAzbhvKk.js} +2 -2
  76. package/dist/chunks/login-button-DAzbhvKk.js.map +1 -0
  77. package/dist/chunks/{logout-button-CaD4ESfx.js → logout-button-lGJtt7lq.js} +2 -2
  78. package/dist/chunks/logout-button-lGJtt7lq.js.map +1 -0
  79. package/dist/chunks/{menu-BiqIAf-j.js → menu-BLZREG4_.js} +21 -13
  80. package/dist/chunks/menu-BLZREG4_.js.map +1 -0
  81. package/dist/chunks/menu-item-BdCkmJol.js.map +1 -1
  82. package/dist/chunks/photo-capture-Bvixtxsq.js.map +1 -1
  83. package/dist/chunks/photo-capture-modal-BhmL3kYD.js.map +1 -1
  84. package/dist/chunks/{provider-BZsO0FFR.js → provider-D5r57fK1.js} +2 -2
  85. package/dist/chunks/provider-D5r57fK1.js.map +1 -0
  86. package/dist/chunks/query-BYu9q8lA.js.map +1 -1
  87. package/dist/chunks/{rdf-form-C2zcf1F0.js → rdf-form-B2zTR8Qv.js} +21 -21
  88. package/dist/chunks/rdf-form-B2zTR8Qv.js.map +1 -0
  89. package/dist/chunks/{rdf-input-CiQNdkKK.js → rdf-input-DeDhyQ3p.js} +38 -38
  90. package/dist/chunks/rdf-input-DeDhyQ3p.js.map +1 -0
  91. package/dist/chunks/select-BcC-ICqO.js.map +1 -1
  92. package/dist/chunks/select-option-B0uXcj2O.js.map +1 -1
  93. package/dist/chunks/show-dialog-eEW5yRBv.js.map +1 -1
  94. package/dist/chunks/{signup-button-DufShSEV.js → signup-button-DnPnUTTm.js} +2 -2
  95. package/dist/chunks/signup-button-DnPnUTTm.js.map +1 -0
  96. package/dist/chunks/solid-emblem-CcQOqRX0.js.map +1 -1
  97. package/dist/chunks/{src-CbkVtLGQ.js → src-BWY65mD0.js} +5757 -5686
  98. package/dist/chunks/src-BWY65mD0.js.map +1 -0
  99. package/dist/chunks/{style-DI3buiHt.js → style-Dpwrc8CC.js} +4 -4
  100. package/dist/chunks/style-Dpwrc8CC.js.map +1 -0
  101. package/dist/components/account/Account.cjs.js.map +1 -1
  102. package/dist/components/account/Account.esm.js.map +1 -1
  103. package/dist/components/account/Account.styles.cjs.js.map +1 -1
  104. package/dist/components/account/Account.styles.esm.js.map +1 -1
  105. package/dist/components/account/index.cjs.js.map +1 -1
  106. package/dist/components/account/index.esm.js.map +1 -1
  107. package/dist/components/account.js +1 -1
  108. package/dist/components/avatar/Avatar.cjs.js.map +1 -1
  109. package/dist/components/avatar/Avatar.esm.js.map +1 -1
  110. package/dist/components/avatar/Avatar.styles.cjs.js.map +1 -1
  111. package/dist/components/avatar/Avatar.styles.esm.js.map +1 -1
  112. package/dist/components/avatar/index.cjs.js.map +1 -1
  113. package/dist/components/avatar/index.esm.js.map +1 -1
  114. package/dist/components/avatar.js +1 -1
  115. package/dist/components/button/Button.cjs.js.map +1 -1
  116. package/dist/components/button/Button.esm.js.map +1 -1
  117. package/dist/components/button/Button.styles.cjs.js.map +1 -1
  118. package/dist/components/button/Button.styles.esm.js.map +1 -1
  119. package/dist/components/button/index.cjs.js.map +1 -1
  120. package/dist/components/button/index.esm.js.map +1 -1
  121. package/dist/components/combobox/Combobox.cjs.js.map +1 -1
  122. package/dist/components/combobox/Combobox.esm.js.map +1 -1
  123. package/dist/components/combobox/Combobox.styles.cjs.js +1 -1
  124. package/dist/components/combobox/Combobox.styles.cjs.js.map +1 -1
  125. package/dist/components/combobox/Combobox.styles.esm.js +1 -1
  126. package/dist/components/combobox/Combobox.styles.esm.js.map +1 -1
  127. package/dist/components/combobox/index.cjs.js.map +1 -1
  128. package/dist/components/combobox/index.esm.js.map +1 -1
  129. package/dist/components/combobox-option/ComboboxOption.cjs.js.map +1 -1
  130. package/dist/components/combobox-option/ComboboxOption.esm.js.map +1 -1
  131. package/dist/components/combobox-option/index.cjs.js.map +1 -1
  132. package/dist/components/combobox-option/index.esm.js.map +1 -1
  133. package/dist/components/combobox.js +1 -1
  134. package/dist/components/dialog/Dialog.cjs.js.map +1 -1
  135. package/dist/components/dialog/Dialog.esm.js.map +1 -1
  136. package/dist/components/dialog/Dialog.styles.cjs.js.map +1 -1
  137. package/dist/components/dialog/Dialog.styles.esm.js.map +1 -1
  138. package/dist/components/dialog/index.cjs.js.map +1 -1
  139. package/dist/components/dialog/index.esm.js.map +1 -1
  140. package/dist/components/dialog-content/DialogContent.cjs.js.map +1 -1
  141. package/dist/components/dialog-content/DialogContent.esm.js.map +1 -1
  142. package/dist/components/dialog-content/DialogContent.styles.cjs.js.map +1 -1
  143. package/dist/components/dialog-content/DialogContent.styles.esm.js.map +1 -1
  144. package/dist/components/dialog-content/index.cjs.js.map +1 -1
  145. package/dist/components/dialog-content/index.esm.js.map +1 -1
  146. package/dist/components/dialog-footer/DialogFooter.cjs.js.map +1 -1
  147. package/dist/components/dialog-footer/DialogFooter.esm.js.map +1 -1
  148. package/dist/components/dialog-footer/DialogFooter.styles.cjs.js.map +1 -1
  149. package/dist/components/dialog-footer/DialogFooter.styles.esm.js.map +1 -1
  150. package/dist/components/dialog-footer/index.cjs.js.map +1 -1
  151. package/dist/components/dialog-footer/index.esm.js.map +1 -1
  152. package/dist/components/dialog-header/DialogHeader.cjs.js.map +1 -1
  153. package/dist/components/dialog-header/DialogHeader.esm.js.map +1 -1
  154. package/dist/components/dialog-header/DialogHeader.styles.cjs.js.map +1 -1
  155. package/dist/components/dialog-header/DialogHeader.styles.esm.js.map +1 -1
  156. package/dist/components/dialog-header/index.cjs.js.map +1 -1
  157. package/dist/components/dialog-header/index.esm.js.map +1 -1
  158. package/dist/components/dialog-provider/DialogProvider.cjs.js.map +1 -1
  159. package/dist/components/dialog-provider/DialogProvider.esm.js.map +1 -1
  160. package/dist/components/dialog-provider/index.cjs.js.map +1 -1
  161. package/dist/components/dialog-provider/index.esm.js.map +1 -1
  162. package/dist/components/dialog-provider.js.map +1 -1
  163. package/dist/components/dialogs-root/DialogsRoot.cjs.js.map +1 -1
  164. package/dist/components/dialogs-root/DialogsRoot.esm.js.map +1 -1
  165. package/dist/components/dialogs-root/index.cjs.js.map +1 -1
  166. package/dist/components/dialogs-root/index.esm.js.map +1 -1
  167. package/dist/components/guard/Guard.cjs.js.map +1 -1
  168. package/dist/components/guard/Guard.esm.js.map +1 -1
  169. package/dist/components/guard/index.cjs.js.map +1 -1
  170. package/dist/components/guard/index.esm.js.map +1 -1
  171. package/dist/components/guard.js +1 -1
  172. package/dist/components/input/Input.cjs.js.map +1 -1
  173. package/dist/components/input/Input.esm.js.map +1 -1
  174. package/dist/components/input/Input.styles.cjs.js.map +1 -1
  175. package/dist/components/input/Input.styles.esm.js.map +1 -1
  176. package/dist/components/input/index.cjs.js.map +1 -1
  177. package/dist/components/input/index.esm.js.map +1 -1
  178. package/dist/components/login-button/LoginButton.cjs.js.map +1 -1
  179. package/dist/components/login-button/LoginButton.esm.js.map +1 -1
  180. package/dist/components/login-button/index.cjs.js.map +1 -1
  181. package/dist/components/login-button/index.esm.js.map +1 -1
  182. package/dist/components/login-button.js +1 -1
  183. package/dist/components/login-modal/LoginModal.cjs.js +1 -1
  184. package/dist/components/login-modal/LoginModal.cjs.js.map +1 -1
  185. package/dist/components/login-modal/LoginModal.d.ts.map +1 -1
  186. package/dist/components/login-modal/LoginModal.esm.js +1 -1
  187. package/dist/components/login-modal/LoginModal.esm.js.map +1 -1
  188. package/dist/components/login-modal/LoginModal.styles.cjs.js.map +1 -1
  189. package/dist/components/login-modal/LoginModal.styles.esm.js.map +1 -1
  190. package/dist/components/login-modal/index.cjs.js.map +1 -1
  191. package/dist/components/login-modal/index.esm.js.map +1 -1
  192. package/dist/components/login-modal.js +1 -1
  193. package/dist/components/logout-button/LogoutButton.cjs.js.map +1 -1
  194. package/dist/components/logout-button/LogoutButton.esm.js.map +1 -1
  195. package/dist/components/logout-button/index.cjs.js.map +1 -1
  196. package/dist/components/logout-button/index.esm.js.map +1 -1
  197. package/dist/components/logout-button.js +1 -1
  198. package/dist/components/menu/Menu.cjs.js +1 -1
  199. package/dist/components/menu/Menu.cjs.js.map +1 -1
  200. package/dist/components/menu/Menu.esm.js +1 -1
  201. package/dist/components/menu/Menu.esm.js.map +1 -1
  202. package/dist/components/menu/Menu.styles.cjs.js.map +1 -1
  203. package/dist/components/menu/Menu.styles.esm.js.map +1 -1
  204. package/dist/components/menu/index.cjs.js.map +1 -1
  205. package/dist/components/menu/index.esm.js.map +1 -1
  206. package/dist/components/menu-item/MenuItem.cjs.js.map +1 -1
  207. package/dist/components/menu-item/MenuItem.esm.js.map +1 -1
  208. package/dist/components/menu-item/MenuItem.styles.cjs.js.map +1 -1
  209. package/dist/components/menu-item/MenuItem.styles.esm.js.map +1 -1
  210. package/dist/components/menu-item/index.cjs.js.map +1 -1
  211. package/dist/components/menu-item/index.esm.js.map +1 -1
  212. package/dist/components/menu.js +1 -1
  213. package/dist/components/photo-capture/PhotoCapture.cjs.js.map +1 -1
  214. package/dist/components/photo-capture/PhotoCapture.esm.js.map +1 -1
  215. package/dist/components/photo-capture/index.cjs.js.map +1 -1
  216. package/dist/components/photo-capture/index.esm.js.map +1 -1
  217. package/dist/components/photo-capture-modal/PhotoCaptureModal.cjs.js.map +1 -1
  218. package/dist/components/photo-capture-modal/PhotoCaptureModal.esm.js.map +1 -1
  219. package/dist/components/photo-capture-modal/PhotoCaptureModal.styles.cjs.js.map +1 -1
  220. package/dist/components/photo-capture-modal/PhotoCaptureModal.styles.esm.js.map +1 -1
  221. package/dist/components/photo-capture-modal/index.cjs.js.map +1 -1
  222. package/dist/components/photo-capture-modal/index.esm.js.map +1 -1
  223. package/dist/components/provider/Provider.cjs.js.map +1 -1
  224. package/dist/components/provider/Provider.esm.js.map +1 -1
  225. package/dist/components/provider/index.cjs.js.map +1 -1
  226. package/dist/components/provider/index.esm.js.map +1 -1
  227. package/dist/components/provider.js +1 -1
  228. package/dist/components/rdf-form/RDFForm.cjs.js +1 -1
  229. package/dist/components/rdf-form/RDFForm.cjs.js.map +1 -1
  230. package/dist/components/rdf-form/RDFForm.esm.js +1 -1
  231. package/dist/components/rdf-form/RDFForm.esm.js.map +1 -1
  232. package/dist/components/rdf-form/index.cjs.js.map +1 -1
  233. package/dist/components/rdf-form/index.esm.js.map +1 -1
  234. package/dist/components/rdf-form.js +1 -1
  235. package/dist/components/rdf-input/RDFInput.cjs.js.map +1 -1
  236. package/dist/components/rdf-input/RDFInput.esm.js.map +1 -1
  237. package/dist/components/rdf-input/index.cjs.js.map +1 -1
  238. package/dist/components/rdf-input/index.esm.js.map +1 -1
  239. package/dist/components/rdf-input.js +1 -1
  240. package/dist/components/select/Select.cjs.js.map +1 -1
  241. package/dist/components/select/Select.esm.js.map +1 -1
  242. package/dist/components/select/Select.styles.cjs.js.map +1 -1
  243. package/dist/components/select/Select.styles.esm.js.map +1 -1
  244. package/dist/components/select/index.cjs.js.map +1 -1
  245. package/dist/components/select/index.esm.js.map +1 -1
  246. package/dist/components/select-option/SelectOption.cjs.js.map +1 -1
  247. package/dist/components/select-option/SelectOption.esm.js.map +1 -1
  248. package/dist/components/select-option/index.cjs.js.map +1 -1
  249. package/dist/components/select-option/index.esm.js.map +1 -1
  250. package/dist/components/signup-button/SignupButton.cjs.js.map +1 -1
  251. package/dist/components/signup-button/SignupButton.esm.js.map +1 -1
  252. package/dist/components/signup-button/index.cjs.js.map +1 -1
  253. package/dist/components/signup-button/index.esm.js.map +1 -1
  254. package/dist/components/signup-button.js +1 -1
  255. package/dist/components/solid-emblem/SolidEmblem.cjs.js.map +1 -1
  256. package/dist/components/solid-emblem/SolidEmblem.esm.js.map +1 -1
  257. package/dist/components/solid-emblem/SolidEmblem.styles.cjs.js.map +1 -1
  258. package/dist/components/solid-emblem/SolidEmblem.styles.esm.js.map +1 -1
  259. package/dist/components/solid-emblem/index.cjs.js.map +1 -1
  260. package/dist/components/solid-emblem/index.esm.js.map +1 -1
  261. package/dist/components.js +12 -12
  262. package/dist/create/create.cjs.js.map +1 -1
  263. package/dist/create/create.esm.js.map +1 -1
  264. package/dist/create/index.cjs.js.map +1 -1
  265. package/dist/create/index.esm.js.map +1 -1
  266. package/dist/create/types.cjs.js.map +1 -1
  267. package/dist/create/types.esm.js.map +1 -1
  268. package/dist/footer/index.cjs.js.map +1 -1
  269. package/dist/footer/index.esm.js.map +1 -1
  270. package/dist/header/empty-profile.cjs.js.map +1 -1
  271. package/dist/header/empty-profile.esm.js.map +1 -1
  272. package/dist/header/index.cjs.js.map +1 -1
  273. package/dist/header/index.esm.js.map +1 -1
  274. package/dist/index.cjs.js.map +1 -1
  275. package/dist/index.esm.js.map +1 -1
  276. package/dist/index.js +4 -4
  277. package/dist/lib/auth/Account.cjs.js.map +1 -1
  278. package/dist/lib/auth/Account.esm.js.map +1 -1
  279. package/dist/lib/auth/NoopAuth.cjs.js.map +1 -1
  280. package/dist/lib/auth/NoopAuth.esm.js.map +1 -1
  281. package/dist/lib/auth/SolidAuth.cjs.js +1 -1
  282. package/dist/lib/auth/SolidAuth.cjs.js.map +1 -1
  283. package/dist/lib/auth/SolidAuth.d.ts.map +1 -1
  284. package/dist/lib/auth/SolidAuth.esm.js +15 -11
  285. package/dist/lib/auth/SolidAuth.esm.js.map +1 -1
  286. package/dist/lib/auth/context.cjs.js.map +1 -1
  287. package/dist/lib/auth/context.esm.js.map +1 -1
  288. package/dist/lib/code-editor/CodeEditor.cjs.js.map +1 -1
  289. package/dist/lib/code-editor/CodeEditor.esm.js.map +1 -1
  290. package/dist/lib/components/decorators.cjs.js.map +1 -1
  291. package/dist/lib/components/decorators.esm.js.map +1 -1
  292. package/dist/lib/components/dialog-component/DialogComponent.cjs.js.map +1 -1
  293. package/dist/lib/components/dialog-component/DialogComponent.esm.js.map +1 -1
  294. package/dist/lib/components/form-control-component/FormControlComponent.cjs.js.map +1 -1
  295. package/dist/lib/components/form-control-component/FormControlComponent.esm.js.map +1 -1
  296. package/dist/lib/components/ids.cjs.js.map +1 -1
  297. package/dist/lib/components/ids.esm.js.map +1 -1
  298. package/dist/lib/components/traits/DialogTrait.cjs.js.map +1 -1
  299. package/dist/lib/components/traits/DialogTrait.esm.js.map +1 -1
  300. package/dist/lib/components/traits/FormControlTrait.cjs.js.map +1 -1
  301. package/dist/lib/components/traits/FormControlTrait.esm.js.map +1 -1
  302. package/dist/lib/components/web-component/WebComponent.cjs.js.map +1 -1
  303. package/dist/lib/components/web-component/WebComponent.esm.js.map +1 -1
  304. package/dist/lib/components/web-component/WebComponent.styles.cjs.js.map +1 -1
  305. package/dist/lib/components/web-component/WebComponent.styles.esm.js.map +1 -1
  306. package/dist/lib/debug.cjs.js.map +1 -1
  307. package/dist/lib/debug.esm.js.map +1 -1
  308. package/dist/lib/dialogs/Dialog.cjs.js.map +1 -1
  309. package/dist/lib/dialogs/Dialog.esm.js.map +1 -1
  310. package/dist/lib/dialogs/context.cjs.js.map +1 -1
  311. package/dist/lib/dialogs/context.esm.js.map +1 -1
  312. package/dist/lib/dialogs/events/close-dialog.cjs.js.map +1 -1
  313. package/dist/lib/dialogs/events/close-dialog.esm.js.map +1 -1
  314. package/dist/lib/dialogs/events/show-dialog.cjs.js.map +1 -1
  315. package/dist/lib/dialogs/events/show-dialog.esm.js.map +1 -1
  316. package/dist/lib/dialogs/helpers.cjs.js.map +1 -1
  317. package/dist/lib/dialogs/helpers.esm.js.map +1 -1
  318. package/dist/lib/file-explorer/context.cjs.js.map +1 -1
  319. package/dist/lib/file-explorer/context.esm.js.map +1 -1
  320. package/dist/lib/forms/fieldParams.cjs.js.map +1 -1
  321. package/dist/lib/forms/fieldParams.esm.js.map +1 -1
  322. package/dist/lib/forms/rdfFormsHelper.cjs.js.map +1 -1
  323. package/dist/lib/forms/rdfFormsHelper.esm.js.map +1 -1
  324. package/dist/lib/forms/store/NoopStore.cjs.js.map +1 -1
  325. package/dist/lib/forms/store/NoopStore.esm.js.map +1 -1
  326. package/dist/lib/forms/store/StoreContext.cjs.js.map +1 -1
  327. package/dist/lib/forms/store/StoreContext.esm.js.map +1 -1
  328. package/dist/lib/iconBase.cjs.js.map +1 -1
  329. package/dist/lib/iconBase.esm.js.map +1 -1
  330. package/dist/lib/log.cjs.js.map +1 -1
  331. package/dist/lib/log.esm.js.map +1 -1
  332. package/dist/lib/messageArea.cjs.js.map +1 -1
  333. package/dist/lib/messageArea.esm.js.map +1 -1
  334. package/dist/lib/newperson.cjs.js.map +1 -1
  335. package/dist/lib/newperson.esm.js.map +1 -1
  336. package/dist/lib/ns.cjs.js.map +1 -1
  337. package/dist/lib/ns.esm.js.map +1 -1
  338. package/dist/lib/pad.cjs.js.map +1 -1
  339. package/dist/lib/pad.esm.js.map +1 -1
  340. package/dist/lib/participation.cjs.js.map +1 -1
  341. package/dist/lib/participation.esm.js.map +1 -1
  342. package/dist/lib/preferences.cjs.js.map +1 -1
  343. package/dist/lib/preferences.esm.js.map +1 -1
  344. package/dist/lib/style.cjs.js.map +1 -1
  345. package/dist/lib/style.esm.js.map +1 -1
  346. package/dist/lib/styleConstants.cjs.js.map +1 -1
  347. package/dist/lib/styleConstants.esm.js.map +1 -1
  348. package/dist/lib/style_multiSelect.cjs.js.map +1 -1
  349. package/dist/lib/style_multiSelect.esm.js.map +1 -1
  350. package/dist/lib/table.cjs.js +1 -1
  351. package/dist/lib/table.cjs.js.map +1 -1
  352. package/dist/lib/table.esm.js +2 -2
  353. package/dist/lib/table.esm.js.map +1 -1
  354. package/dist/lib/tabs.cjs.js +1 -1
  355. package/dist/lib/tabs.cjs.js.map +1 -1
  356. package/dist/lib/tabs.esm.js +1 -1
  357. package/dist/lib/tabs.esm.js.map +1 -1
  358. package/dist/lib/timing.cjs.js.map +1 -1
  359. package/dist/lib/timing.esm.js.map +1 -1
  360. package/dist/lib/values.cjs.js.map +1 -1
  361. package/dist/lib/values.esm.js.map +1 -1
  362. package/dist/loader.js +4 -4
  363. package/dist/login/login.cjs.js +1 -1
  364. package/dist/login/login.cjs.js.map +1 -1
  365. package/dist/login/login.esm.js +1 -1
  366. package/dist/login/login.esm.js.map +1 -1
  367. package/dist/matrix/index.cjs.js.map +1 -1
  368. package/dist/matrix/index.esm.js.map +1 -1
  369. package/dist/matrix/matrix.cjs.js.map +1 -1
  370. package/dist/matrix/matrix.esm.js.map +1 -1
  371. package/dist/media/index.cjs.js.map +1 -1
  372. package/dist/media/index.esm.js.map +1 -1
  373. package/dist/media/media-capture.cjs.js.map +1 -1
  374. package/dist/media/media-capture.esm.js.map +1 -1
  375. package/dist/signup/config-default.cjs.js.map +1 -1
  376. package/dist/signup/config-default.esm.js.map +1 -1
  377. package/dist/signup/signup.cjs.js.map +1 -1
  378. package/dist/signup/signup.esm.js.map +1 -1
  379. package/dist/solid-ui.js +50 -50
  380. package/dist/solid-ui.min.js +50 -50
  381. package/dist/solid-ui.min.js.map +1 -1
  382. package/dist/utils/headerFooterHelpers.cjs.js.map +1 -1
  383. package/dist/utils/headerFooterHelpers.esm.js.map +1 -1
  384. package/dist/utils/index.cjs.js +1 -1
  385. package/dist/utils/index.cjs.js.map +1 -1
  386. package/dist/utils/index.esm.js +2 -2
  387. package/dist/utils/index.esm.js.map +1 -1
  388. package/dist/utils/keyHelpers/accessData.cjs.js.map +1 -1
  389. package/dist/utils/keyHelpers/accessData.esm.js.map +1 -1
  390. package/dist/utils/keyHelpers/acl.cjs.js.map +1 -1
  391. package/dist/utils/keyHelpers/acl.esm.js.map +1 -1
  392. package/dist/utils/keyHelpers/otherHelpers.cjs.js.map +1 -1
  393. package/dist/utils/keyHelpers/otherHelpers.esm.js.map +1 -1
  394. package/dist/utils/label.cjs.js.map +1 -1
  395. package/dist/utils/label.esm.js.map +1 -1
  396. package/dist/v2/components/auth/loginButton/LoginButton.d.ts.map +1 -1
  397. package/dist/widgets/buttons/iconLinks.cjs.js.map +1 -1
  398. package/dist/widgets/buttons/iconLinks.esm.js.map +1 -1
  399. package/dist/widgets/buttons.cjs.js.map +1 -1
  400. package/dist/widgets/buttons.esm.js.map +1 -1
  401. package/dist/widgets/dragAndDrop.cjs.js +1 -1
  402. package/dist/widgets/dragAndDrop.cjs.js.map +1 -1
  403. package/dist/widgets/dragAndDrop.esm.js +22 -18
  404. package/dist/widgets/dragAndDrop.esm.js.map +1 -1
  405. package/dist/widgets/error.cjs.js.map +1 -1
  406. package/dist/widgets/error.esm.js.map +1 -1
  407. package/dist/widgets/forms/autocomplete/autocompleteBar.cjs.js.map +1 -1
  408. package/dist/widgets/forms/autocomplete/autocompleteBar.esm.js.map +1 -1
  409. package/dist/widgets/forms/autocomplete/autocompleteField.cjs.js.map +1 -1
  410. package/dist/widgets/forms/autocomplete/autocompleteField.esm.js.map +1 -1
  411. package/dist/widgets/forms/autocomplete/autocompletePicker.cjs.js.map +1 -1
  412. package/dist/widgets/forms/autocomplete/autocompletePicker.esm.js.map +1 -1
  413. package/dist/widgets/forms/autocomplete/language.cjs.js.map +1 -1
  414. package/dist/widgets/forms/autocomplete/language.esm.js.map +1 -1
  415. package/dist/widgets/forms/autocomplete/publicData.cjs.js.map +1 -1
  416. package/dist/widgets/forms/autocomplete/publicData.esm.js.map +1 -1
  417. package/dist/widgets/forms/basic.cjs.js.map +1 -1
  418. package/dist/widgets/forms/basic.esm.js.map +1 -1
  419. package/dist/widgets/forms/fieldFunction.cjs.js.map +1 -1
  420. package/dist/widgets/forms/fieldFunction.esm.js.map +1 -1
  421. package/dist/widgets/forms/fieldParams.cjs.js.map +1 -1
  422. package/dist/widgets/forms/fieldParams.esm.js.map +1 -1
  423. package/dist/widgets/forms/formStyle.cjs.js.map +1 -1
  424. package/dist/widgets/forms/formStyle.esm.js.map +1 -1
  425. package/dist/widgets/forms.cjs.js +2 -2
  426. package/dist/widgets/forms.cjs.js.map +1 -1
  427. package/dist/widgets/forms.esm.js +4 -4
  428. package/dist/widgets/forms.esm.js.map +1 -1
  429. package/dist/widgets/index.cjs.js.map +1 -1
  430. package/dist/widgets/index.esm.js.map +1 -1
  431. package/dist/widgets/multiSelect.cjs.js.map +1 -1
  432. package/dist/widgets/multiSelect.esm.js.map +1 -1
  433. package/dist/widgets/peoplePicker.cjs.js.map +1 -1
  434. package/dist/widgets/peoplePicker.esm.js.map +1 -1
  435. package/dist/widgets/widgetHelpers.cjs.js.map +1 -1
  436. package/dist/widgets/widgetHelpers.esm.js.map +1 -1
  437. package/package.json +4 -4
  438. package/dist/chunks/account-CSKDoS_I.js.map +0 -1
  439. package/dist/chunks/auth-YsyyEh_c.js.map +0 -1
  440. package/dist/chunks/avatar-BXaBs_3q.js.map +0 -1
  441. package/dist/chunks/chunk.64OG2H45-BFgXEuP7.js.map +0 -1
  442. package/dist/chunks/combobox-D3eGdicW.js.map +0 -1
  443. package/dist/chunks/guard-BTbfcRR6.js.map +0 -1
  444. package/dist/chunks/index.esm-C63HBmfn.js.map +0 -1
  445. package/dist/chunks/jsonld-DrQpMD8o.js.map +0 -1
  446. package/dist/chunks/login-button-DZb_CXCo.js.map +0 -1
  447. package/dist/chunks/logout-button-CaD4ESfx.js.map +0 -1
  448. package/dist/chunks/menu-BiqIAf-j.js.map +0 -1
  449. package/dist/chunks/provider-BZsO0FFR.js.map +0 -1
  450. package/dist/chunks/rdf-form-C2zcf1F0.js.map +0 -1
  451. package/dist/chunks/rdf-input-CiQNdkKK.js.map +0 -1
  452. package/dist/chunks/signup-button-DufShSEV.js.map +0 -1
  453. package/dist/chunks/src-CbkVtLGQ.js.map +0 -1
  454. package/dist/chunks/style-DI3buiHt.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RDFInput.cjs.js","names":["property","state","html","ns","customElement","generateId","WebComponent","Literal","st","label","mostSpecificClassURI","fieldParams","fieldTypeParams","DEFAULT_STORE","storeContext","consume","_classDecs","_RDFInput","_A","WeakMap","_B","_C","_D","_E","_F","_ref","_storeContextDecs","context","subscribe","_formSubjectDecs","attribute","type","Object","_dataSubjectDecs","_storeVersionDecs","Number","_localInputValueDecs","_readonlyDecs","Boolean","reflect","RDFInput","_classPrivateFieldGet","v","_classPrivateFieldSet","formSubject","dataSubject","storeVersion","localInputValue","readonly","constructor","_classPrivateFieldInitSpec","_initProto","_init_storeContext","_init_formSubject","_init_dataSubject","_init_storeVersion","_init_localInputValue","_defineProperty","_init_readonly","id","render","formDocument","getDocument","uiPropertyTerm","getFormProperty","ui","inputLabel","getInputLabel","getReadOnly","fieldType","store","undefined","params","inputType","selectedTerm","getSelectedTerm","placeholder","defaultInputValue","inputValue","_updateInFlight","_pendingUpdateValue","termToInputValue","updateData","subject","doc","graph","any","formFieldSubject","uiLabel","propertyLabel","value","anyJS","defaultTerm","inputTerm","term","decodeURIComponent","String","stripped","replace","e","newValue","target","runPendingUpdate","dataDocument","updater","editable","toDeleteSt","statementsMatching","toInsertSt","objectFromNewValue","namedNode","sym","encodeURIComponent","dt","trim","xsd","map","statement","predicate","why","length","updateMany","err","console","error","_RDFInput2","c","_initClass","_applyDecs","default"],"sources":["../../../src/components/rdf-input/RDFInput.ts"],"sourcesContent":["import { property, state } from 'lit/decorators.js'\nimport { html } from 'lit/html.js'\nimport ns from '../../lib/ns'\nimport { customElement, generateId, WebComponent } from '@/lib/components'\nimport { Literal, NamedNode, st } from 'rdflib'\nimport { label } from '../../utils'\nimport { mostSpecificClassURI } from '../../lib/forms/rdfFormsHelper'\nimport { FieldParamsObject, fieldParams as fieldTypeParams, InputType } from '../../lib/forms/fieldParams'\nimport { DEFAULT_STORE, storeContext, StoreContext } from '@/lib/forms/store/StoreContext'\nimport { consume } from '@lit/context'\nimport '@/components/input'\n\n@customElement('solid-ui-rdf-input')\nexport default class RDFInput extends WebComponent {\n // example RDF Turtle format source:\n // :nameField a ui:SingleLineTextField ;\n // ui:property vcard:fn;\n // ui:label \"name\" .\n\n // formSubject describes the field metadata\n // dataSubject points to the data resource containing the value\n\n @consume({ context: storeContext, subscribe: true })\n private accessor storeContext: StoreContext = DEFAULT_STORE\n\n @property({ attribute: false, type: Object })\n accessor formSubject: NamedNode | null = null\n\n @property({ attribute: false, type: Object })\n accessor dataSubject: NamedNode | null = null\n\n @property({ type: Number })\n accessor storeVersion = 0\n\n @state()\n private accessor localInputValue: string | null = null\n\n private _updateInFlight = false\n private _pendingUpdateValue: string | null = null\n\n @property({ type: Boolean, reflect: true })\n accessor readonly: boolean = true // to protect data, we default to not editable\n\n constructor () {\n super()\n\n this.id = generateId()\n }\n\n render () {\n const formDocument = this.getDocument(this.formSubject)\n\n // for building the HTML input element\n const uiPropertyTerm = this.getFormProperty(this.formSubject, ns.ui('property'), formDocument)\n const inputLabel = this.getInputLabel(this.formSubject, uiPropertyTerm, formDocument)\n const readonly = this.getReadOnly(this.readonly, this.formSubject, formDocument)\n\n const fieldType = this.formSubject ? mostSpecificClassURI(this.storeContext.store, this.formSubject) : undefined\n const params = fieldType ? fieldTypeParams[fieldType] ?? {} : {}\n const inputType: InputType = params.type ?? 'text'\n\n // for populating the HTML input element\n const selectedTerm = this.getSelectedTerm(this.dataSubject, uiPropertyTerm, this.formSubject, params)\n const placeholder = readonly ? '' : this.defaultInputValue(params)\n const inputValue = this._updateInFlight || this._pendingUpdateValue !== null\n ? this.localInputValue ?? ''\n : this.termToInputValue(selectedTerm)\n\n return html`\n <solid-ui-input\n label=\"${inputLabel}\"\n name=\"name-${this.id}\"\n .value=${inputValue}\n .placeholder=${placeholder}\n type=\"${inputType}\"\n ?readonly=${readonly}\n @input=${this.updateData}\n ></solid-ui-input>`\n }\n\n private getDocument (subject: NamedNode | null | undefined) {\n return subject?.doc ? subject.doc() : undefined\n }\n\n private getFormProperty (subject: NamedNode | null | undefined, property: NamedNode, graph?: any): NamedNode | undefined {\n if (!subject) return undefined\n return this.storeContext.store.any(subject, property, null, graph) as NamedNode | undefined\n }\n\n private getInputLabel (formFieldSubject: NamedNode | null | undefined, uiPropertyTerm?: NamedNode, graph?: any): string {\n if (!formFieldSubject) return ''\n const uiLabel = this.storeContext.store.any(formFieldSubject, ns.ui('label'), null, graph)\n const propertyLabel = uiPropertyTerm ? label(uiPropertyTerm, true) : ''\n return uiLabel ? uiLabel.value : propertyLabel\n }\n\n private getReadOnly (readonly: boolean, formFieldSubject?: NamedNode | null, graph?: any): boolean {\n if (formFieldSubject && readonly === false) { // if readonly is false, we can ovverride it if the field is marked as uneditable in the form\n return !!this.storeContext.store.anyJS(formFieldSubject, ns.ui('suppressEmptyUneditable'), null, graph)\n }\n return readonly\n }\n\n private getSelectedTerm (\n dataSubject?: NamedNode | null,\n uiPropertyTerm?: NamedNode,\n formFieldSubject?: NamedNode | null,\n params?: { defaultInputValue?: string }\n ) {\n const defaultTerm = formFieldSubject\n ? this.storeContext.store.any(formFieldSubject, ns.ui('default'))\n : undefined\n\n if (!uiPropertyTerm || !dataSubject) {\n return defaultTerm\n }\n\n const inputTerm = this.storeContext.store.any(dataSubject, uiPropertyTerm)\n return inputTerm || defaultTerm\n }\n\n private termToInputValue (term: any) {\n if (!term || !('value' in term) || !term.value) return ''\n\n try {\n return decodeURIComponent(term.value)\n } catch {\n return String(term.value)\n }\n }\n\n private defaultInputValue (params: { defaultInputValue?: string } = {}) {\n const stripped = params.defaultInputValue ?? ''\n return stripped.replace(/ /g, '')\n }\n\n private async updateData (e: CustomEvent) {\n const newValue = (e.target as HTMLInputElement).value\n this.localInputValue = newValue\n this._pendingUpdateValue = newValue\n\n if (this._updateInFlight) {\n return\n }\n\n await this.runPendingUpdate()\n }\n\n private async runPendingUpdate () {\n if (this._pendingUpdateValue === null) {\n return\n }\n\n const newValue = this._pendingUpdateValue\n this._pendingUpdateValue = null\n this._updateInFlight = true\n\n const uiPropertyTerm = this.getFormProperty(this.formSubject, ns.ui('property'), this.getDocument(this.formSubject))\n if (!uiPropertyTerm || !this.dataSubject) {\n this._updateInFlight = false\n this.localInputValue = ''\n return\n }\n\n const dataDocument = this.getDocument(this.dataSubject)\n if (dataDocument && this.storeContext.store.updater?.editable(dataDocument) === false) {\n this._updateInFlight = false\n return\n }\n\n const toDeleteSt = this.storeContext.store.statementsMatching(this.dataSubject, uiPropertyTerm)\n let toInsertSt: Array<ReturnType<typeof st>> = []\n\n if (newValue) {\n let objectFromNewValue\n const fieldType = this.formSubject ? mostSpecificClassURI(this.storeContext.store, this.formSubject) : undefined\n const params: FieldParamsObject = fieldType ? fieldTypeParams[fieldType] ?? {} : {}\n if (params.namedNode) {\n objectFromNewValue = this.storeContext.store.sym(newValue)\n } else if (params.defaultInputValue) {\n objectFromNewValue = encodeURIComponent(newValue.replace(/ /g, ''))\n objectFromNewValue = this.storeContext.store.sym(params.defaultInputValue + objectFromNewValue)\n } else {\n if (params.dt) {\n objectFromNewValue = new Literal(\n newValue.trim(),\n undefined,\n ns.xsd(params.dt)\n )\n } else {\n objectFromNewValue = new Literal(newValue)\n }\n }\n toInsertSt = toDeleteSt.map((statement) => st(statement.subject, statement.predicate, objectFromNewValue, statement.why))\n if (toInsertSt.length === 0) {\n toInsertSt = [st(this.dataSubject, uiPropertyTerm, objectFromNewValue, this.getDocument(this.dataSubject))]\n }\n }\n\n try {\n await this.storeContext.store.updater.updateMany(toDeleteSt, toInsertSt as any)\n this.storeVersion += 1\n } catch (err) {\n console.error('RDFInput update failed', err)\n } finally {\n this._updateInFlight = false\n }\n\n if (this._pendingUpdateValue !== null) {\n await this.runPendingUpdate()\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"RDFInput.cjs.js","names":["property","state","html","ns","customElement","generateId","WebComponent","Literal","st","label","mostSpecificClassURI","fieldParams","fieldTypeParams","DEFAULT_STORE","storeContext","consume","_classDecs","_RDFInput","_A","WeakMap","_B","_C","_D","_E","_F","_ref","_storeContextDecs","context","subscribe","_formSubjectDecs","attribute","type","Object","_dataSubjectDecs","_storeVersionDecs","Number","_localInputValueDecs","_readonlyDecs","Boolean","reflect","RDFInput","_classPrivateFieldGet","v","_classPrivateFieldSet","formSubject","dataSubject","storeVersion","localInputValue","readonly","constructor","_classPrivateFieldInitSpec","_initProto","_init_storeContext","_init_formSubject","_init_dataSubject","_init_storeVersion","_init_localInputValue","_defineProperty","_init_readonly","id","render","formDocument","getDocument","uiPropertyTerm","getFormProperty","ui","inputLabel","getInputLabel","getReadOnly","fieldType","store","undefined","params","inputType","selectedTerm","getSelectedTerm","placeholder","defaultInputValue","inputValue","_updateInFlight","_pendingUpdateValue","termToInputValue","updateData","subject","doc","graph","any","formFieldSubject","uiLabel","propertyLabel","value","anyJS","defaultTerm","inputTerm","term","decodeURIComponent","String","stripped","replace","e","newValue","target","runPendingUpdate","dataDocument","updater","editable","toDeleteSt","statementsMatching","toInsertSt","objectFromNewValue","namedNode","sym","encodeURIComponent","dt","trim","xsd","map","statement","predicate","why","length","updateMany","err","console","error","_RDFInput2","c","_initClass","_applyDecs","default","customElement","consume","storeContext","property","state","WebComponent","DEFAULT_STORE","generateId","ns","mostSpecificClassURI","fieldTypeParams","label","Literal","st","require_ns","require_label","require_ids","require_decorators","require_WebComponent","require_rdfFormsHelper","require_fieldParams","require_StoreContext","rdflib","_lit_context","lit_decorators_js","lit_html_js","_RDFInput2","_initProto","_initClass","_classDecs","_storeContextDecs","_init_storeContext","_formSubjectDecs","_init_formSubject","_dataSubjectDecs","_init_dataSubject","_storeVersionDecs","_init_storeVersion","_localInputValueDecs","_init_localInputValue","_readonlyDecs","_init_readonly","_ref","_defineProperty","_toPropertyKey","r","t","_classPrivateFieldInitSpec","_checkPrivateRedeclaration","a","_classPrivateFieldSet","s","_assertClassBrand","_classPrivateFieldGet","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","S","A","d","f","p","_setFunctionName","P","j","D","I","F","l","N","_checkInRHS","_toPrimitive","e","_RDFInput","_A","_B","_C","_D","_E","_F","formDocument","uiPropertyTerm","inputLabel","readonly","fieldType","params","inputType","selectedTerm","placeholder","inputValue","subject","property","graph","formFieldSubject","uiLabel","propertyLabel","defaultTerm","dataSubject","term","newValue","dataDocument","toDeleteSt","toInsertSt","objectFromNewValue","statement","err"],"sources":["../../../src/components/rdf-input/RDFInput.ts"],"sourcesContent":["import { property, state } from 'lit/decorators.js'\nimport { html } from 'lit/html.js'\nimport ns from '../../lib/ns'\nimport { customElement, generateId, WebComponent } from '@/lib/components'\nimport { Literal, NamedNode, st } from 'rdflib'\nimport { label } from '../../utils'\nimport { mostSpecificClassURI } from '../../lib/forms/rdfFormsHelper'\nimport { FieldParamsObject, fieldParams as fieldTypeParams, InputType } from '../../lib/forms/fieldParams'\nimport { DEFAULT_STORE, storeContext, StoreContext } from '@/lib/forms/store/StoreContext'\nimport { consume } from '@lit/context'\nimport '@/components/input'\n\n@customElement('solid-ui-rdf-input')\nexport default class RDFInput extends WebComponent {\n // example RDF Turtle format source:\n // :nameField a ui:SingleLineTextField ;\n // ui:property vcard:fn;\n // ui:label \"name\" .\n\n // formSubject describes the field metadata\n // dataSubject points to the data resource containing the value\n\n @consume({ context: storeContext, subscribe: true })\n private accessor storeContext: StoreContext = DEFAULT_STORE\n\n @property({ attribute: false, type: Object })\n accessor formSubject: NamedNode | null = null\n\n @property({ attribute: false, type: Object })\n accessor dataSubject: NamedNode | null = null\n\n @property({ type: Number })\n accessor storeVersion = 0\n\n @state()\n private accessor localInputValue: string | null = null\n\n private _updateInFlight = false\n private _pendingUpdateValue: string | null = null\n\n @property({ type: Boolean, reflect: true })\n accessor readonly: boolean = true // to protect data, we default to not editable\n\n constructor () {\n super()\n\n this.id = generateId()\n }\n\n render () {\n const formDocument = this.getDocument(this.formSubject)\n\n // for building the HTML input element\n const uiPropertyTerm = this.getFormProperty(this.formSubject, ns.ui('property'), formDocument)\n const inputLabel = this.getInputLabel(this.formSubject, uiPropertyTerm, formDocument)\n const readonly = this.getReadOnly(this.readonly, this.formSubject, formDocument)\n\n const fieldType = this.formSubject ? mostSpecificClassURI(this.storeContext.store, this.formSubject) : undefined\n const params = fieldType ? fieldTypeParams[fieldType] ?? {} : {}\n const inputType: InputType = params.type ?? 'text'\n\n // for populating the HTML input element\n const selectedTerm = this.getSelectedTerm(this.dataSubject, uiPropertyTerm, this.formSubject, params)\n const placeholder = readonly ? '' : this.defaultInputValue(params)\n const inputValue = this._updateInFlight || this._pendingUpdateValue !== null\n ? this.localInputValue ?? ''\n : this.termToInputValue(selectedTerm)\n\n return html`\n <solid-ui-input\n label=\"${inputLabel}\"\n name=\"name-${this.id}\"\n .value=${inputValue}\n .placeholder=${placeholder}\n type=\"${inputType}\"\n ?readonly=${readonly}\n @input=${this.updateData}\n ></solid-ui-input>`\n }\n\n private getDocument (subject: NamedNode | null | undefined) {\n return subject?.doc ? subject.doc() : undefined\n }\n\n private getFormProperty (subject: NamedNode | null | undefined, property: NamedNode, graph?: any): NamedNode | undefined {\n if (!subject) return undefined\n return this.storeContext.store.any(subject, property, null, graph) as NamedNode | undefined\n }\n\n private getInputLabel (formFieldSubject: NamedNode | null | undefined, uiPropertyTerm?: NamedNode, graph?: any): string {\n if (!formFieldSubject) return ''\n const uiLabel = this.storeContext.store.any(formFieldSubject, ns.ui('label'), null, graph)\n const propertyLabel = uiPropertyTerm ? label(uiPropertyTerm, true) : ''\n return uiLabel ? uiLabel.value : propertyLabel\n }\n\n private getReadOnly (readonly: boolean, formFieldSubject?: NamedNode | null, graph?: any): boolean {\n if (formFieldSubject && readonly === false) { // if readonly is false, we can ovverride it if the field is marked as uneditable in the form\n return !!this.storeContext.store.anyJS(formFieldSubject, ns.ui('suppressEmptyUneditable'), null, graph)\n }\n return readonly\n }\n\n private getSelectedTerm (\n dataSubject?: NamedNode | null,\n uiPropertyTerm?: NamedNode,\n formFieldSubject?: NamedNode | null,\n params?: { defaultInputValue?: string }\n ) {\n const defaultTerm = formFieldSubject\n ? this.storeContext.store.any(formFieldSubject, ns.ui('default'))\n : undefined\n\n if (!uiPropertyTerm || !dataSubject) {\n return defaultTerm\n }\n\n const inputTerm = this.storeContext.store.any(dataSubject, uiPropertyTerm)\n return inputTerm || defaultTerm\n }\n\n private termToInputValue (term: any) {\n if (!term || !('value' in term) || !term.value) return ''\n\n try {\n return decodeURIComponent(term.value)\n } catch {\n return String(term.value)\n }\n }\n\n private defaultInputValue (params: { defaultInputValue?: string } = {}) {\n const stripped = params.defaultInputValue ?? ''\n return stripped.replace(/ /g, '')\n }\n\n private async updateData (e: CustomEvent) {\n const newValue = (e.target as HTMLInputElement).value\n this.localInputValue = newValue\n this._pendingUpdateValue = newValue\n\n if (this._updateInFlight) {\n return\n }\n\n await this.runPendingUpdate()\n }\n\n private async runPendingUpdate () {\n if (this._pendingUpdateValue === null) {\n return\n }\n\n const newValue = this._pendingUpdateValue\n this._pendingUpdateValue = null\n this._updateInFlight = true\n\n const uiPropertyTerm = this.getFormProperty(this.formSubject, ns.ui('property'), this.getDocument(this.formSubject))\n if (!uiPropertyTerm || !this.dataSubject) {\n this._updateInFlight = false\n this.localInputValue = ''\n return\n }\n\n const dataDocument = this.getDocument(this.dataSubject)\n if (dataDocument && this.storeContext.store.updater?.editable(dataDocument) === false) {\n this._updateInFlight = false\n return\n }\n\n const toDeleteSt = this.storeContext.store.statementsMatching(this.dataSubject, uiPropertyTerm)\n let toInsertSt: Array<ReturnType<typeof st>> = []\n\n if (newValue) {\n let objectFromNewValue\n const fieldType = this.formSubject ? mostSpecificClassURI(this.storeContext.store, this.formSubject) : undefined\n const params: FieldParamsObject = fieldType ? fieldTypeParams[fieldType] ?? {} : {}\n if (params.namedNode) {\n objectFromNewValue = this.storeContext.store.sym(newValue)\n } else if (params.defaultInputValue) {\n objectFromNewValue = encodeURIComponent(newValue.replace(/ /g, ''))\n objectFromNewValue = this.storeContext.store.sym(params.defaultInputValue + objectFromNewValue)\n } else {\n if (params.dt) {\n objectFromNewValue = new Literal(\n newValue.trim(),\n undefined,\n ns.xsd(params.dt)\n )\n } else {\n objectFromNewValue = new Literal(newValue)\n }\n }\n toInsertSt = toDeleteSt.map((statement) => st(statement.subject, statement.predicate, objectFromNewValue, statement.why))\n if (toInsertSt.length === 0) {\n toInsertSt = [st(this.dataSubject, uiPropertyTerm, objectFromNewValue, this.getDocument(this.dataSubject))]\n }\n }\n\n try {\n await this.storeContext.store.updater.updateMany(toDeleteSt, toInsertSt as any)\n this.storeVersion += 1\n } catch (err) {\n console.error('RDFInput update failed', err)\n } finally {\n this._updateInFlight = false\n }\n\n if (this._pendingUpdateValue !== null) {\n await this.runPendingUpdate()\n }\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RDFInput.esm.js","names":["property","state","html","ns","customElement","generateId","WebComponent","Literal","st","label","mostSpecificClassURI","fieldParams","fieldTypeParams","DEFAULT_STORE","storeContext","consume","_classDecs","_RDFInput","_A","WeakMap","_B","_C","_D","_E","_F","_ref","_storeContextDecs","context","subscribe","_formSubjectDecs","attribute","type","Object","_dataSubjectDecs","_storeVersionDecs","Number","_localInputValueDecs","_readonlyDecs","Boolean","reflect","RDFInput","_classPrivateFieldGet","v","_classPrivateFieldSet","formSubject","dataSubject","storeVersion","localInputValue","readonly","constructor","_classPrivateFieldInitSpec","_initProto","_init_storeContext","_init_formSubject","_init_dataSubject","_init_storeVersion","_init_localInputValue","_defineProperty","_init_readonly","id","render","formDocument","getDocument","uiPropertyTerm","getFormProperty","ui","inputLabel","getInputLabel","getReadOnly","fieldType","store","undefined","params","inputType","selectedTerm","getSelectedTerm","placeholder","defaultInputValue","inputValue","_updateInFlight","_pendingUpdateValue","termToInputValue","updateData","subject","doc","graph","any","formFieldSubject","uiLabel","propertyLabel","value","anyJS","defaultTerm","inputTerm","term","decodeURIComponent","String","stripped","replace","e","newValue","target","runPendingUpdate","dataDocument","updater","editable","toDeleteSt","statementsMatching","toInsertSt","objectFromNewValue","namedNode","sym","encodeURIComponent","dt","trim","xsd","map","statement","predicate","why","length","updateMany","err","console","error","_RDFInput2","c","_initClass","_applyDecs","default"],"sources":["../../../src/components/rdf-input/RDFInput.ts"],"sourcesContent":["import { property, state } from 'lit/decorators.js'\nimport { html } from 'lit/html.js'\nimport ns from '../../lib/ns'\nimport { customElement, generateId, WebComponent } from '@/lib/components'\nimport { Literal, NamedNode, st } from 'rdflib'\nimport { label } from '../../utils'\nimport { mostSpecificClassURI } from '../../lib/forms/rdfFormsHelper'\nimport { FieldParamsObject, fieldParams as fieldTypeParams, InputType } from '../../lib/forms/fieldParams'\nimport { DEFAULT_STORE, storeContext, StoreContext } from '@/lib/forms/store/StoreContext'\nimport { consume } from '@lit/context'\nimport '@/components/input'\n\n@customElement('solid-ui-rdf-input')\nexport default class RDFInput extends WebComponent {\n // example RDF Turtle format source:\n // :nameField a ui:SingleLineTextField ;\n // ui:property vcard:fn;\n // ui:label \"name\" .\n\n // formSubject describes the field metadata\n // dataSubject points to the data resource containing the value\n\n @consume({ context: storeContext, subscribe: true })\n private accessor storeContext: StoreContext = DEFAULT_STORE\n\n @property({ attribute: false, type: Object })\n accessor formSubject: NamedNode | null = null\n\n @property({ attribute: false, type: Object })\n accessor dataSubject: NamedNode | null = null\n\n @property({ type: Number })\n accessor storeVersion = 0\n\n @state()\n private accessor localInputValue: string | null = null\n\n private _updateInFlight = false\n private _pendingUpdateValue: string | null = null\n\n @property({ type: Boolean, reflect: true })\n accessor readonly: boolean = true // to protect data, we default to not editable\n\n constructor () {\n super()\n\n this.id = generateId()\n }\n\n render () {\n const formDocument = this.getDocument(this.formSubject)\n\n // for building the HTML input element\n const uiPropertyTerm = this.getFormProperty(this.formSubject, ns.ui('property'), formDocument)\n const inputLabel = this.getInputLabel(this.formSubject, uiPropertyTerm, formDocument)\n const readonly = this.getReadOnly(this.readonly, this.formSubject, formDocument)\n\n const fieldType = this.formSubject ? mostSpecificClassURI(this.storeContext.store, this.formSubject) : undefined\n const params = fieldType ? fieldTypeParams[fieldType] ?? {} : {}\n const inputType: InputType = params.type ?? 'text'\n\n // for populating the HTML input element\n const selectedTerm = this.getSelectedTerm(this.dataSubject, uiPropertyTerm, this.formSubject, params)\n const placeholder = readonly ? '' : this.defaultInputValue(params)\n const inputValue = this._updateInFlight || this._pendingUpdateValue !== null\n ? this.localInputValue ?? ''\n : this.termToInputValue(selectedTerm)\n\n return html`\n <solid-ui-input\n label=\"${inputLabel}\"\n name=\"name-${this.id}\"\n .value=${inputValue}\n .placeholder=${placeholder}\n type=\"${inputType}\"\n ?readonly=${readonly}\n @input=${this.updateData}\n ></solid-ui-input>`\n }\n\n private getDocument (subject: NamedNode | null | undefined) {\n return subject?.doc ? subject.doc() : undefined\n }\n\n private getFormProperty (subject: NamedNode | null | undefined, property: NamedNode, graph?: any): NamedNode | undefined {\n if (!subject) return undefined\n return this.storeContext.store.any(subject, property, null, graph) as NamedNode | undefined\n }\n\n private getInputLabel (formFieldSubject: NamedNode | null | undefined, uiPropertyTerm?: NamedNode, graph?: any): string {\n if (!formFieldSubject) return ''\n const uiLabel = this.storeContext.store.any(formFieldSubject, ns.ui('label'), null, graph)\n const propertyLabel = uiPropertyTerm ? label(uiPropertyTerm, true) : ''\n return uiLabel ? uiLabel.value : propertyLabel\n }\n\n private getReadOnly (readonly: boolean, formFieldSubject?: NamedNode | null, graph?: any): boolean {\n if (formFieldSubject && readonly === false) { // if readonly is false, we can ovverride it if the field is marked as uneditable in the form\n return !!this.storeContext.store.anyJS(formFieldSubject, ns.ui('suppressEmptyUneditable'), null, graph)\n }\n return readonly\n }\n\n private getSelectedTerm (\n dataSubject?: NamedNode | null,\n uiPropertyTerm?: NamedNode,\n formFieldSubject?: NamedNode | null,\n params?: { defaultInputValue?: string }\n ) {\n const defaultTerm = formFieldSubject\n ? this.storeContext.store.any(formFieldSubject, ns.ui('default'))\n : undefined\n\n if (!uiPropertyTerm || !dataSubject) {\n return defaultTerm\n }\n\n const inputTerm = this.storeContext.store.any(dataSubject, uiPropertyTerm)\n return inputTerm || defaultTerm\n }\n\n private termToInputValue (term: any) {\n if (!term || !('value' in term) || !term.value) return ''\n\n try {\n return decodeURIComponent(term.value)\n } catch {\n return String(term.value)\n }\n }\n\n private defaultInputValue (params: { defaultInputValue?: string } = {}) {\n const stripped = params.defaultInputValue ?? ''\n return stripped.replace(/ /g, '')\n }\n\n private async updateData (e: CustomEvent) {\n const newValue = (e.target as HTMLInputElement).value\n this.localInputValue = newValue\n this._pendingUpdateValue = newValue\n\n if (this._updateInFlight) {\n return\n }\n\n await this.runPendingUpdate()\n }\n\n private async runPendingUpdate () {\n if (this._pendingUpdateValue === null) {\n return\n }\n\n const newValue = this._pendingUpdateValue\n this._pendingUpdateValue = null\n this._updateInFlight = true\n\n const uiPropertyTerm = this.getFormProperty(this.formSubject, ns.ui('property'), this.getDocument(this.formSubject))\n if (!uiPropertyTerm || !this.dataSubject) {\n this._updateInFlight = false\n this.localInputValue = ''\n return\n }\n\n const dataDocument = this.getDocument(this.dataSubject)\n if (dataDocument && this.storeContext.store.updater?.editable(dataDocument) === false) {\n this._updateInFlight = false\n return\n }\n\n const toDeleteSt = this.storeContext.store.statementsMatching(this.dataSubject, uiPropertyTerm)\n let toInsertSt: Array<ReturnType<typeof st>> = []\n\n if (newValue) {\n let objectFromNewValue\n const fieldType = this.formSubject ? mostSpecificClassURI(this.storeContext.store, this.formSubject) : undefined\n const params: FieldParamsObject = fieldType ? fieldTypeParams[fieldType] ?? {} : {}\n if (params.namedNode) {\n objectFromNewValue = this.storeContext.store.sym(newValue)\n } else if (params.defaultInputValue) {\n objectFromNewValue = encodeURIComponent(newValue.replace(/ /g, ''))\n objectFromNewValue = this.storeContext.store.sym(params.defaultInputValue + objectFromNewValue)\n } else {\n if (params.dt) {\n objectFromNewValue = new Literal(\n newValue.trim(),\n undefined,\n ns.xsd(params.dt)\n )\n } else {\n objectFromNewValue = new Literal(newValue)\n }\n }\n toInsertSt = toDeleteSt.map((statement) => st(statement.subject, statement.predicate, objectFromNewValue, statement.why))\n if (toInsertSt.length === 0) {\n toInsertSt = [st(this.dataSubject, uiPropertyTerm, objectFromNewValue, this.getDocument(this.dataSubject))]\n }\n }\n\n try {\n await this.storeContext.store.updater.updateMany(toDeleteSt, toInsertSt as any)\n this.storeVersion += 1\n } catch (err) {\n console.error('RDFInput update failed', err)\n } finally {\n this._updateInFlight = false\n }\n\n if (this._pendingUpdateValue !== null) {\n await this.runPendingUpdate()\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAU2BgB,IAAA,CAE1BZ,EAAc,oBAAoB,CAAC;AAAA,IAAAa,GAAAC,kBAAA,IAAAC,QAAA,GAAAC,kBAAA,IAAAD,QAAA,GAAAE,kBAAA,IAAAF,QAAA,GAAAG,kBAAA,IAAAH,QAAA,GAAAI,kBAAA,IAAAJ,QAAA,GAAAK,kBAAA,IAAAL,QAAA;AAAAM,KAAAC,IAUjCX,EAAQ;CAAEY,SAASb;CAAcc,WAAW;AAAK,CAAC,GAACC,IAGnD7B,EAAS;CAAE8B,WAAW;CAAOC,MAAMC;AAAO,CAAC,GAACC,IAG5CjC,EAAS;CAAE8B,WAAW;CAAOC,MAAMC;AAAO,CAAC,GAACE,IAG5ClC,EAAS,EAAE+B,MAAMI,OAAO,CAAC,GAACC,IAG1BnC,EAAM,GAACoC,IAMPrC,EAAS;CAAE+B,MAAMO;CAASC,SAAS;AAAK,CAAC,GAAC,iBA4K5CsF,IAAArF,cAvMqClC,EAAa;CAAA,KAAAmB,KAAA;EAAA,OAAAgB,EAAAvB,GAAA,IAAA;CAAA;CAAA,IAUhCJ,aAAY4B,GAAA;EAAAC,EAAAzB,GAAA,MAAAwB,CAAA;CAAA;CAAA,IAGpBE,cAAW;EAAA,OAAAH,EAAArB,GAAA,IAAA;CAAA;CAAA,IAAXwB,YAAWF,GAAA;EAAAC,EAAAvB,GAAA,MAAAsB,CAAA;CAAA;CAAA,IAGXG,cAAW;EAAA,OAAAJ,EAAApB,GAAA,IAAA;CAAA;CAAA,IAAXwB,YAAWH,GAAA;EAAAC,EAAAtB,GAAA,MAAAqB,CAAA;CAAA;CAAA,IAGXI,eAAY;EAAA,OAAAL,EAAAnB,GAAA,IAAA;CAAA;CAAA,IAAZwB,aAAYJ,GAAA;EAAAC,EAAArB,GAAA,MAAAoB,CAAA;CAAA;CAAA,IAGJK,kBAAe;EAAA,OAAAN,EAAAlB,GAAA,IAAA;CAAA;CAAA,IAAfwB,gBAAeL,GAAA;EAAAC,EAAApB,GAAA,MAAAmB,CAAA;CAAA;CAME,IAAzBM,WAAQ;EAAA,OAAAP,EAAAjB,GAAA,IAAA;CAAA;CAAA,IAARwB,SAAQN,GAAA;EAAAC,EAAAnB,GAAA,MAAAkB,CAAA;CAAA;CAEjBO,cAAe;EAGb,AAFA,MAAM,GAxBRC,EAAA,MAAAhC,IAAAiC,EAAA,IAAA,GAAAC,EAAA,MAG8CvC,CAAa,EAAA,GAAAqC,EAAA,MAAA9B,GAAAiC,EAAA,MAGlB,IAAI,CAAA,GAAAH,EAAA,MAAA7B,GAAAiC,EAAA,MAGJ,IAAI,CAAA,GAAAJ,EAAA,MAAA5B,GAAAiC,EAAA,MAGrB,CAAC,CAAA,GAAAL,EAAA,MAAA3B,GAAAiC,EAAA,MAGyB,IAAI,CAAA,GAAAC,EAAA,MAAA,mBAE5B,EAAK,GAAAA,EAAA,MAAA,uBACc,IAAI,GAAAP,EAAA,MAAA1B,GAAAkC,EAAA,MAGpB,EAAI,CAAA,GAK/B,KAAKC,KAAKtD,EAAW;CACvB;CAEAuD,SAAU;EACR,IAAMC,IAAe,KAAKC,YAAY,KAAKlB,WAAW,GAGhDmB,IAAiB,KAAKC,gBAAgB,KAAKpB,aAAazC,EAAG8D,GAAG,UAAU,GAAGJ,CAAY,GACvFK,IAAa,KAAKC,cAAc,KAAKvB,aAAamB,GAAgBF,CAAY,GAC9Eb,IAAW,KAAKoB,YAAY,KAAKpB,UAAU,KAAKJ,aAAaiB,CAAY,GAEzEQ,IAAY,KAAKzB,cAAclC,EAAqB,KAAKI,aAAawD,OAAO,KAAK1B,WAAW,IAAI2B,KAAAA,GACjGC,IAASH,IAAYzD,EAAgByD,MAAc,CAAC,IAAI,CAAC,GACzDI,IAAuBD,EAAOzC,QAAQ,QAGtC2C,IAAe,KAAKC,gBAAgB,KAAK9B,aAAakB,GAAgB,KAAKnB,aAAa4B,CAAM,GAC9FI,IAAc5B,IAAW,KAAK,KAAK6B,kBAAkBL,CAAM,GAC3DM,IAAa,KAAKC,mBAAmB,KAAKC,wBAAwB,OACpE,KAAKjC,mBAAmB,KACxB,KAAKkC,iBAAiBP,CAAY;EAEtC,OAAOxE,CAAI;;iBAEEgE,EAAU;qBACN,KAAKP,GAAE;iBACXmB,EAAU;uBACJF,EAAW;gBAClBH,EAAS;oBACLzB,EAAQ;iBACX,KAAKkC,WAAU;;CAE9B;CAEQpB,YAAaqB,GAAuC;EAC1D,OAAOA,GAASC,MAAMD,EAAQC,IAAI,IAAIb,KAAAA;CACxC;CAEQP,gBAAiBmB,GAAuCnF,GAAqBqF,GAAoC;EAClHF,OACL,OAAO,KAAKrE,aAAawD,MAAMgB,IAAIH,GAASnF,GAAU,MAAMqF,CAAK;CACnE;CAEQlB,cAAeoB,GAAgDxB,GAA4BsB,GAAqB;EACtH,IAAI,CAACE,GAAkB,OAAO;EAC9B,IAAMC,IAAU,KAAK1E,aAAawD,MAAMgB,IAAIC,GAAkBpF,EAAG8D,GAAG,OAAO,GAAG,MAAMoB,CAAK,GACnFI,IAAgB1B,IAAiBtD,EAAMsD,GAAgB,EAAI,IAAI;EACrE,OAAOyB,IAAUA,EAAQE,QAAQD;CACnC;CAEQrB,YAAapB,GAAmBuC,GAAqCF,GAAsB;EAIjG,OAHIE,KAAoBvC,MAAa,KAC5B,CAAC,CAAC,KAAKlC,aAAawD,MAAMqB,MAAMJ,GAAkBpF,EAAG8D,GAAG,yBAAyB,GAAG,MAAMoB,CAAK,IAEjGrC;CACT;CAEQ2B,gBACN9B,GACAkB,GACAwB,GACAf,GACA;EACA,IAAMoB,IAAcL,IAChB,KAAKzE,aAAawD,MAAMgB,IAAIC,GAAkBpF,EAAG8D,GAAG,SAAS,CAAC,IAC9DM,KAAAA;EAOJ,OALI,CAACR,KAAkB,CAAClB,IACf+C,IAGS,KAAK9E,aAAawD,MAAMgB,IAAIzC,GAAakB,CACpD8B,KAAaD;CACtB;CAEQX,iBAAkBa,GAAW;EACnC,IAAI,CAACA,KAAQ,EAAE,WAAWA,MAAS,CAACA,EAAKJ,OAAO,OAAO;EAEvD,IAAI;GACF,OAAOK,mBAAmBD,EAAKJ,KAAK;EACtC,QAAQ;GACN,OAAOM,OAAOF,EAAKJ,KAAK;EAC1B;CACF;CAEQb,kBAAmBL,IAAyC,CAAC,GAAG;EAEtE,QADiBA,EAAOK,qBAAqB,GAAA,CAC7BqB,QAAQ,MAAM,EAAE;CAClC;CAEA,MAAchB,WAAYiB,GAAgB;EACxC,IAAMC,IAAYD,EAAEE,OAA4BX;EAChD,KAAK3C,kBAAkBqD,GACvB,KAAKpB,sBAAsBoB,GAEvB,MAAKrB,mBAIT,MAAM,KAAKuB,iBAAiB;CAC9B;CAEA,MAAcA,mBAAoB;EAChC,IAAI,KAAKtB,wBAAwB,MAC/B;EAGF,IAAMoB,IAAW,KAAKpB;EAEtB,AADA,KAAKA,sBAAsB,MAC3B,KAAKD,kBAAkB;EAEvB,IAAMhB,IAAiB,KAAKC,gBAAgB,KAAKpB,aAAazC,EAAG8D,GAAG,UAAU,GAAG,KAAKH,YAAY,KAAKlB,WAAW,CAAC;EACnH,IAAI,CAACmB,KAAkB,CAAC,KAAKlB,aAAa;GAExC,AADA,KAAKkC,kBAAkB,IACvB,KAAKhC,kBAAkB;GACvB;EACF;EAEA,IAAMwD,IAAe,KAAKzC,YAAY,KAAKjB,WAAW;EACtD,IAAI0D,KAAgB,KAAKzF,aAAawD,MAAMkC,SAASC,SAASF,CAAY,MAAM,IAAO;GACrF,KAAKxB,kBAAkB;GACvB;EACF;EAEA,IAAM2B,IAAa,KAAK5F,aAAawD,MAAMqC,mBAAmB,KAAK9D,aAAakB,CAAc,GAC1F6C,IAA2C,CAAA;EAE/C,IAAIR,GAAU;GACZ,IAAIS,GACExC,IAAY,KAAKzB,cAAclC,EAAqB,KAAKI,aAAawD,OAAO,KAAK1B,WAAW,IAAI2B,KAAAA,GACjGC,IAA4BH,IAAYzD,EAAgByD,MAAc,CAAC,IAAI,CAAC;GAkBlF,AAjBIG,EAAOsC,YACTD,IAAqB,KAAK/F,aAAawD,MAAMyC,IAAIX,CAAQ,IAChD5B,EAAOK,qBAChBgC,IAAqBG,mBAAmBZ,EAASF,QAAQ,MAAM,EAAE,CAAC,GAClEW,IAAqB,KAAK/F,aAAawD,MAAMyC,IAAIvC,EAAOK,oBAAoBgC,CAAkB,KAE9F,AAOEA,IAPErC,EAAOyC,KACY,IAAI1G,EACvB6F,EAASc,KAAK,GACd3C,KAAAA,GACApE,EAAGgH,IAAI3C,EAAOyC,EAAE,CAClB,IAEqB,IAAI1G,EAAQ6F,CAAQ,GAG7CQ,IAAaF,EAAWU,KAAKC,MAAc7G,EAAG6G,EAAUlC,SAASkC,EAAUC,WAAWT,GAAoBQ,EAAUE,GAAG,CAAC,GACpHX,EAAWY,WAAW,MACxBZ,IAAa,CAACpG,EAAG,KAAKqC,aAAakB,GAAgB8C,GAAoB,KAAK/C,YAAY,KAAKjB,WAAW,CAAC,CAAC;EAE9G;EAEA,IAAI;GAEF,AADA,MAAM,KAAK/B,aAAawD,MAAMkC,QAAQiB,WAAWf,GAAYE,CAAiB,GAC9E,KAAK9D,gBAAgB;EACvB,SAAS4E,GAAK;GACZC,QAAQC,MAAM,0BAA0BF,CAAG;EAC7C,UAAU;GACR,KAAK3C,kBAAkB;EACzB;EAEA,AAAI,KAAKC,wBAAwB,QAC/B,MAAM,KAAKsB,iBAAiB;CAEhC;AACF,GAAC,CAAAH,GAAA,CAAA/C,GAAAC,GAAAC,GAAAC,GAAAC,GAAAE,GAAAP,IAAA2E,GAAA,CAAA7G,GAAA8G,MAAAC,EAAAH,GAAA;CAAA;EAAAnG;EAAA;EAAA;CAAA;CAAA;EAAAG;EAAA;EAAA;CAAA;CAAA;EAAAI;EAAA;EAAA;CAAA;CAAA;EAAAC;EAAA;EAAA;CAAA;CAAA;EAAAE;EAAA;EAAA;CAAA;CAAA;EAAAC;EAAA;EAAA;CAAA;AAAA,GAAArB,GAAA,GAAA,KAAA,GAvMqCV,CAAY,GAAAyH,EAAA"}
1
+ {"version":3,"file":"RDFInput.esm.js","names":["property","state","html","ns","customElement","generateId","WebComponent","Literal","st","label","mostSpecificClassURI","fieldParams","fieldTypeParams","DEFAULT_STORE","storeContext","consume","_classDecs","_RDFInput","_A","WeakMap","_B","_C","_D","_E","_F","_ref","_storeContextDecs","context","subscribe","_formSubjectDecs","attribute","type","Object","_dataSubjectDecs","_storeVersionDecs","Number","_localInputValueDecs","_readonlyDecs","Boolean","reflect","RDFInput","_classPrivateFieldGet","v","_classPrivateFieldSet","formSubject","dataSubject","storeVersion","localInputValue","readonly","constructor","_classPrivateFieldInitSpec","_initProto","_init_storeContext","_init_formSubject","_init_dataSubject","_init_storeVersion","_init_localInputValue","_defineProperty","_init_readonly","id","render","formDocument","getDocument","uiPropertyTerm","getFormProperty","ui","inputLabel","getInputLabel","getReadOnly","fieldType","store","undefined","params","inputType","selectedTerm","getSelectedTerm","placeholder","defaultInputValue","inputValue","_updateInFlight","_pendingUpdateValue","termToInputValue","updateData","subject","doc","graph","any","formFieldSubject","uiLabel","propertyLabel","value","anyJS","defaultTerm","inputTerm","term","decodeURIComponent","String","stripped","replace","e","newValue","target","runPendingUpdate","dataDocument","updater","editable","toDeleteSt","statementsMatching","toInsertSt","objectFromNewValue","namedNode","sym","encodeURIComponent","dt","trim","xsd","map","statement","predicate","why","length","updateMany","err","console","error","_RDFInput2","c","_initClass","_applyDecs","default","ns","fieldTypeParams","ns_default","WebComponent","_RDFInput2","_initProto","_initClass","_classDecs","_storeContextDecs","_init_storeContext","_formSubjectDecs","_init_formSubject","_dataSubjectDecs","_init_dataSubject","_storeVersionDecs","_init_storeVersion","_localInputValueDecs","_init_localInputValue","_readonlyDecs","_init_readonly","_ref","_defineProperty","_toPropertyKey","r","t","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","_classPrivateFieldSet","s","_assertClassBrand","_classPrivateFieldGet","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","S","A","d","p","_setFunctionName","P","j","D","I","F","l","f","N","_checkInRHS","_toPrimitive","e","customElement","_RDFInput","_A","_B","_C","_D","_E","_F","consume","storeContext","property","state","DEFAULT_STORE","generateId","formDocument","uiPropertyTerm","inputLabel","readonly","fieldType","mostSpecificClassURI","params","fieldParams","inputType","selectedTerm","placeholder","inputValue","subject","graph","formFieldSubject","uiLabel","propertyLabel","label","defaultTerm","dataSubject","term","newValue","dataDocument","toDeleteSt","toInsertSt","objectFromNewValue","Literal","st","statement","err"],"sources":["../../../src/components/rdf-input/RDFInput.ts"],"sourcesContent":["import { property, state } from 'lit/decorators.js'\nimport { html } from 'lit/html.js'\nimport ns from '../../lib/ns'\nimport { customElement, generateId, WebComponent } from '@/lib/components'\nimport { Literal, NamedNode, st } from 'rdflib'\nimport { label } from '../../utils'\nimport { mostSpecificClassURI } from '../../lib/forms/rdfFormsHelper'\nimport { FieldParamsObject, fieldParams as fieldTypeParams, InputType } from '../../lib/forms/fieldParams'\nimport { DEFAULT_STORE, storeContext, StoreContext } from '@/lib/forms/store/StoreContext'\nimport { consume } from '@lit/context'\nimport '@/components/input'\n\n@customElement('solid-ui-rdf-input')\nexport default class RDFInput extends WebComponent {\n // example RDF Turtle format source:\n // :nameField a ui:SingleLineTextField ;\n // ui:property vcard:fn;\n // ui:label \"name\" .\n\n // formSubject describes the field metadata\n // dataSubject points to the data resource containing the value\n\n @consume({ context: storeContext, subscribe: true })\n private accessor storeContext: StoreContext = DEFAULT_STORE\n\n @property({ attribute: false, type: Object })\n accessor formSubject: NamedNode | null = null\n\n @property({ attribute: false, type: Object })\n accessor dataSubject: NamedNode | null = null\n\n @property({ type: Number })\n accessor storeVersion = 0\n\n @state()\n private accessor localInputValue: string | null = null\n\n private _updateInFlight = false\n private _pendingUpdateValue: string | null = null\n\n @property({ type: Boolean, reflect: true })\n accessor readonly: boolean = true // to protect data, we default to not editable\n\n constructor () {\n super()\n\n this.id = generateId()\n }\n\n render () {\n const formDocument = this.getDocument(this.formSubject)\n\n // for building the HTML input element\n const uiPropertyTerm = this.getFormProperty(this.formSubject, ns.ui('property'), formDocument)\n const inputLabel = this.getInputLabel(this.formSubject, uiPropertyTerm, formDocument)\n const readonly = this.getReadOnly(this.readonly, this.formSubject, formDocument)\n\n const fieldType = this.formSubject ? mostSpecificClassURI(this.storeContext.store, this.formSubject) : undefined\n const params = fieldType ? fieldTypeParams[fieldType] ?? {} : {}\n const inputType: InputType = params.type ?? 'text'\n\n // for populating the HTML input element\n const selectedTerm = this.getSelectedTerm(this.dataSubject, uiPropertyTerm, this.formSubject, params)\n const placeholder = readonly ? '' : this.defaultInputValue(params)\n const inputValue = this._updateInFlight || this._pendingUpdateValue !== null\n ? this.localInputValue ?? ''\n : this.termToInputValue(selectedTerm)\n\n return html`\n <solid-ui-input\n label=\"${inputLabel}\"\n name=\"name-${this.id}\"\n .value=${inputValue}\n .placeholder=${placeholder}\n type=\"${inputType}\"\n ?readonly=${readonly}\n @input=${this.updateData}\n ></solid-ui-input>`\n }\n\n private getDocument (subject: NamedNode | null | undefined) {\n return subject?.doc ? subject.doc() : undefined\n }\n\n private getFormProperty (subject: NamedNode | null | undefined, property: NamedNode, graph?: any): NamedNode | undefined {\n if (!subject) return undefined\n return this.storeContext.store.any(subject, property, null, graph) as NamedNode | undefined\n }\n\n private getInputLabel (formFieldSubject: NamedNode | null | undefined, uiPropertyTerm?: NamedNode, graph?: any): string {\n if (!formFieldSubject) return ''\n const uiLabel = this.storeContext.store.any(formFieldSubject, ns.ui('label'), null, graph)\n const propertyLabel = uiPropertyTerm ? label(uiPropertyTerm, true) : ''\n return uiLabel ? uiLabel.value : propertyLabel\n }\n\n private getReadOnly (readonly: boolean, formFieldSubject?: NamedNode | null, graph?: any): boolean {\n if (formFieldSubject && readonly === false) { // if readonly is false, we can ovverride it if the field is marked as uneditable in the form\n return !!this.storeContext.store.anyJS(formFieldSubject, ns.ui('suppressEmptyUneditable'), null, graph)\n }\n return readonly\n }\n\n private getSelectedTerm (\n dataSubject?: NamedNode | null,\n uiPropertyTerm?: NamedNode,\n formFieldSubject?: NamedNode | null,\n params?: { defaultInputValue?: string }\n ) {\n const defaultTerm = formFieldSubject\n ? this.storeContext.store.any(formFieldSubject, ns.ui('default'))\n : undefined\n\n if (!uiPropertyTerm || !dataSubject) {\n return defaultTerm\n }\n\n const inputTerm = this.storeContext.store.any(dataSubject, uiPropertyTerm)\n return inputTerm || defaultTerm\n }\n\n private termToInputValue (term: any) {\n if (!term || !('value' in term) || !term.value) return ''\n\n try {\n return decodeURIComponent(term.value)\n } catch {\n return String(term.value)\n }\n }\n\n private defaultInputValue (params: { defaultInputValue?: string } = {}) {\n const stripped = params.defaultInputValue ?? ''\n return stripped.replace(/ /g, '')\n }\n\n private async updateData (e: CustomEvent) {\n const newValue = (e.target as HTMLInputElement).value\n this.localInputValue = newValue\n this._pendingUpdateValue = newValue\n\n if (this._updateInFlight) {\n return\n }\n\n await this.runPendingUpdate()\n }\n\n private async runPendingUpdate () {\n if (this._pendingUpdateValue === null) {\n return\n }\n\n const newValue = this._pendingUpdateValue\n this._pendingUpdateValue = null\n this._updateInFlight = true\n\n const uiPropertyTerm = this.getFormProperty(this.formSubject, ns.ui('property'), this.getDocument(this.formSubject))\n if (!uiPropertyTerm || !this.dataSubject) {\n this._updateInFlight = false\n this.localInputValue = ''\n return\n }\n\n const dataDocument = this.getDocument(this.dataSubject)\n if (dataDocument && this.storeContext.store.updater?.editable(dataDocument) === false) {\n this._updateInFlight = false\n return\n }\n\n const toDeleteSt = this.storeContext.store.statementsMatching(this.dataSubject, uiPropertyTerm)\n let toInsertSt: Array<ReturnType<typeof st>> = []\n\n if (newValue) {\n let objectFromNewValue\n const fieldType = this.formSubject ? mostSpecificClassURI(this.storeContext.store, this.formSubject) : undefined\n const params: FieldParamsObject = fieldType ? fieldTypeParams[fieldType] ?? {} : {}\n if (params.namedNode) {\n objectFromNewValue = this.storeContext.store.sym(newValue)\n } else if (params.defaultInputValue) {\n objectFromNewValue = encodeURIComponent(newValue.replace(/ /g, ''))\n objectFromNewValue = this.storeContext.store.sym(params.defaultInputValue + objectFromNewValue)\n } else {\n if (params.dt) {\n objectFromNewValue = new Literal(\n newValue.trim(),\n undefined,\n ns.xsd(params.dt)\n )\n } else {\n objectFromNewValue = new Literal(newValue)\n }\n }\n toInsertSt = toDeleteSt.map((statement) => st(statement.subject, statement.predicate, objectFromNewValue, statement.why))\n if (toInsertSt.length === 0) {\n toInsertSt = [st(this.dataSubject, uiPropertyTerm, objectFromNewValue, this.getDocument(this.dataSubject))]\n }\n }\n\n try {\n await this.storeContext.store.updater.updateMany(toDeleteSt, toInsertSt as any)\n this.storeVersion += 1\n } catch (err) {\n console.error('RDFInput update failed', err)\n } finally {\n this._updateInFlight = false\n }\n\n if (this._pendingUpdateValue !== null) {\n await this.runPendingUpdate()\n }\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","names":["RDFInput"],"sources":["../../../src/components/rdf-input/index.ts"],"sourcesContent":["import RDFInput from './RDFInput'\n\nexport { RDFInput }\nexport default RDFInput\n"],"mappings":"oIAGA,IAAA,EAAeA,EAAAA"}
1
+ {"version":3,"file":"index.cjs.js","names":["RDFInput","RDFInput","require_RDFInput","rdf_input_default"],"sources":["../../../src/components/rdf-input/index.ts"],"sourcesContent":["import RDFInput from './RDFInput'\n\nexport { RDFInput }\nexport default RDFInput\n"],"mappings":"oIAGA,IAAAG,EAAeH,EAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","names":["RDFInput"],"sources":["../../../src/components/rdf-input/index.ts"],"sourcesContent":["import RDFInput from './RDFInput'\n\nexport { RDFInput }\nexport default RDFInput\n"],"mappings":";;AAGA,IAAA,IAAeA"}
1
+ {"version":3,"file":"index.esm.js","names":["RDFInput","RDFInput","_RDFInput","rdf_input_default"],"sources":["../../../src/components/rdf-input/index.ts"],"sourcesContent":["import RDFInput from './RDFInput'\n\nexport { RDFInput }\nexport default RDFInput\n"],"mappings":";;AAGA,IAAAG,IAAeH"}
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../chunks/rdf-input-CiQNdkKK.js";
1
+ import { n as e, t } from "../chunks/rdf-input-DeDhyQ3p.js";
2
2
  export { e as RDFInput, t as default };
@@ -1 +1 @@
1
- {"version":3,"file":"Select.cjs.js","names":["customElement","FormControlComponent","html","nothing","property","query","state","isEmptyValue","styles","_classDecs","_Select","_Select2","_A","WeakMap","_B","_ref","_optionsDecs","type","Array","_controlElementDecs","_optionsDecs2","_Select3","Select","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_controlElement","_init__options","value","_options","options","querySelectorAll","from","map","option","label","textContent","controlElement","_classPrivateFieldGet","v","_classPrivateFieldSet","render","defaultOption","some","controlTrait","renderLabel","controlId","name","required","onChange","find","setValue","dispatchEvent","CustomEvent","bubbles","composed","detail","e","c","_initClass","_applyDecs","_Class","_identity","_defineProperty","default"],"sources":["../../../src/components/select/Select.ts"],"sourcesContent":["import { customElement, FormControlComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\nimport { property, query, state } from 'lit/decorators.js'\nimport { isEmptyValue } from '@/lib/values'\nimport type SelectOption from '@/components/select-option/SelectOption'\n\nimport '~icons/lucide/chevron-down'\n\nimport styles from './Select.styles.css'\n\nexport type SelectOptionData = {\n value: unknown;\n label: string;\n}\n\nexport type SelectChangeEvent = CustomEvent<{ option: SelectOptionData }>\n\n@customElement('solid-ui-select')\nexport default class Select extends FormControlComponent {\n static styles = styles\n\n @property({ type: Array })\n set options (value: SelectOptionData[] | null) {\n this._options = value\n }\n\n get options (): SelectOptionData[] {\n if (this._options) {\n return this._options\n }\n\n const options = this.querySelectorAll<SelectOption>(\n 'solid-ui-select-option'\n )\n\n return Array.from(options).map((option) => ({\n value: option.value,\n label: option.textContent,\n }))\n }\n\n @query('select')\n protected accessor controlElement: HTMLSelectElement | null = null;\n\n @state()\n private accessor _options: SelectOptionData[] | null = null\n\n protected render () {\n const defaultOption = this.options.some(option => isEmptyValue(option.value))\n ? nothing\n : html`<option disabled value=\"\" ?selected=${!this.value}>Select an option</option>`\n\n return html`\n ${this.controlTrait.renderLabel()}\n\n <div class=\"input-wrapper\">\n <select\n id=\"${this.controlTrait.controlId}\"\n name=${this.name}\n ?required=${this.required}\n @change=${this.onChange}\n >\n ${defaultOption}\n ${this.options.map(\n (option) =>\n html`<option\n .value=${option.value}\n ?selected=${option.value === this.value}\n >\n ${option.label}\n </option>`\n )}\n </select>\n <icon-lucide-chevron-down></icon-lucide-chevron-down>\n </div>\n `\n }\n\n private onChange () {\n const value = this.controlElement?.value ?? null\n const option = this.options.find((option) => option.value === value)\n\n this.controlTrait.setValue(value)\n this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true, detail: { option } }))\n }\n}\n"],"mappings":"+8IAQwCS,EAAA,CASvCT,EAAAA,cAAc,iBAAiB,CAAC,EAAA,IAAAU,EAAA,IAAAC,GAAAC,EAAA,IAAAC,QAAAC,EAAA,IAAAD,QAAAE,GAAAC,GAAAA,EAI9BZ,EAAAA,SAAAA,CAAS,CAAEa,KAAMC,KAAM,CAAC,EAACC,GAAAA,EAoBzBd,EAAAA,MAAAA,CAAM,QAAQ,EAACe,GAAAA,EAGfd,EAAAA,MAAAA,CAAM,EAAC,WAAAe,EA3BV,cACoCpB,EAAAA,OAAqB,CAAAsB,YAAA,GAAAC,EAAA,CAAA,MAAA,GAAAA,CAAA,EAAAC,EAAA,KAAAb,GAAAc,EAAA,IAAA,EAAAC,EAAA,KAwBO,IAAI,EAAA,EAAAF,EAAA,KAAAX,EAAAc,EAAA,KAGX,IAAI,CAAA,CAAA,CAxB3D,IAAAb,GACac,EAAkC,CAC7C,KAAKC,SAAWD,CAClB,CAEA,IAAIE,SAA+B,CACjC,GAAI,KAAKD,SACP,OAAO,KAAKA,SAGd,IAAMC,EAAU,KAAKC,iBACnB,wBACF,EAEA,OAAOd,MAAMe,KAAKF,CAAO,CAAC,CAACG,IAAKC,IAAY,CAC1CN,MAAOM,EAAON,MACdO,MAAOD,EAAOE,WAChB,EAAE,CACJ,CAAC,IAGkBC,gBAAc,CAAA,OAAAC,EAAA3B,EAAA,IAAA,CAAA,CAAA,IAAd0B,eAAcE,EAAA,CAAAC,EAAA7B,EAAA,KAAA4B,CAAA,CAAA,CAAA,IAGhBV,UAAQ,CAAA,OAAAS,EAAAzB,EAAA,IAAA,CAAA,CAAA,IAARgB,SAAQU,EAAA,CAAAC,EAAA3B,EAAA,KAAA0B,CAAA,CAAA,CAEfE,QAAU,CAClB,IAAMC,EAAgB,KAAKZ,QAAQa,KAAKT,GAAU5B,EAAAA,aAAa4B,EAAON,KAAK,CAAC,EACxE1B,EAAAA,QACAD,EAAAA,IAAI,uCAAuC,CAAC,KAAK2B,MAAK,4BAE1D,MAAO3B,GAAAA,IAAI;QACP,KAAK2C,aAAaC,YAAY,EAAC;;;;gBAIvB,KAAKD,aAAaE,UAAS;iBAC1B,KAAKC,KAAI;sBACJ,KAAKC,SAAQ;oBACf,KAAKC,SAAQ;;YAErBP,EAAa;YACb,KAAKZ,QAAQG,IACZC,GACCjC,EAAAA,IAAI;yBACOiC,EAAON,MAAK;4BACTM,EAAON,QAAU,KAAKA,MAAK;;kBAErCM,EAAOC,MAAK;wBAEpB,EAAC;;;;KAKT,CAEQc,UAAY,CAClB,IAAMrB,EAAQ,KAAKS,gBAAgBT,OAAS,KACtCM,EAAS,KAAKJ,QAAQoB,KAAMhB,GAAWA,EAAON,QAAUA,CAAK,EAEnE,KAAKgB,aAAaO,SAASvB,CAAK,EAChC,KAAKwB,cAAc,IAAIC,YAAY,SAAU,CAAEC,QAAS,GAAMC,SAAU,GAAMC,OAAQ,CAAEtB,QAAO,CAAE,CAAC,CAAC,CACrG,CACF,EAAC,CAAAuB,EAAA,CAAA/B,EAAAC,EAAAF,GAAAiC,EAAA,CAAAjD,EAAAkD,IAAAC,EAAAxC,EAAA,CAAA,CAAAL,EAAA,EAAA,SAAA,EAAA,CAAAG,EAAA,EAAA,gBAAA,EAAA,CAAAC,EAAA,EAAA,UAAA,CAAA,EAAAX,EAAA,EAAA,IAAA,GAnEmCR,EAAAA,OAAoB,EAAAoB,GAAAyC,EAAA,cAAAC,CAAA,CAAAxC,aAAA,CAAA,MAAAb,CAAA,EAAAsD,EAAA,KAAA,SACtCxD,EAAAA,OAAM,EAAAoD,EAAA,CAAA,CAAA,EAAAI,EAAAF,EAAAnD,EAAA,IAAA,EAAA,EAAAmD"}
1
+ {"version":3,"file":"Select.cjs.js","names":["customElement","FormControlComponent","html","nothing","property","query","state","isEmptyValue","styles","_classDecs","_Select","_Select2","_A","WeakMap","_B","_ref","_optionsDecs","type","Array","_controlElementDecs","_optionsDecs2","_Select3","Select","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_controlElement","_init__options","value","_options","options","querySelectorAll","from","map","option","label","textContent","controlElement","_classPrivateFieldGet","v","_classPrivateFieldSet","render","defaultOption","some","controlTrait","renderLabel","controlId","name","required","onChange","find","setValue","dispatchEvent","CustomEvent","bubbles","composed","detail","e","c","_initClass","_applyDecs","_Class","_identity","_defineProperty","default","customElement","property","query","state","FormControlComponent","isEmptyValue","nothing","styles","require_decorators","require_FormControlComponent","require_values","require_Select_styles","lit","lit_decorators_js","_Class","_Select3","_A","_B","_initProto","_initClass","_classDecs","_optionsDecs","_controlElementDecs","_init_controlElement","_optionsDecs2","_init__options","_Select2","_ref","_classPrivateFieldInitSpec","_checkPrivateRedeclaration","a","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_defineProperty","_toPropertyKey","t","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","S","A","d","f","p","_setFunctionName","P","j","D","I","k","F","l","N","_checkInRHS","_toPrimitive","e","_identity","_Select","args","value","options","option","defaultOption"],"sources":["../../../src/components/select/Select.ts"],"sourcesContent":["import { customElement, FormControlComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\nimport { property, query, state } from 'lit/decorators.js'\nimport { isEmptyValue } from '@/lib/values'\nimport type SelectOption from '@/components/select-option/SelectOption'\n\nimport '~icons/lucide/chevron-down'\n\nimport styles from './Select.styles.css'\n\nexport type SelectOptionData = {\n value: unknown;\n label: string;\n}\n\nexport type SelectChangeEvent = CustomEvent<{ option: SelectOptionData }>\n\n@customElement('solid-ui-select')\nexport default class Select extends FormControlComponent {\n static styles = styles\n\n @property({ type: Array })\n set options (value: SelectOptionData[] | null) {\n this._options = value\n }\n\n get options (): SelectOptionData[] {\n if (this._options) {\n return this._options\n }\n\n const options = this.querySelectorAll<SelectOption>(\n 'solid-ui-select-option'\n )\n\n return Array.from(options).map((option) => ({\n value: option.value,\n label: option.textContent,\n }))\n }\n\n @query('select')\n protected accessor controlElement: HTMLSelectElement | null = null;\n\n @state()\n private accessor _options: SelectOptionData[] | null = null\n\n protected render () {\n const defaultOption = this.options.some(option => isEmptyValue(option.value))\n ? nothing\n : html`<option disabled value=\"\" ?selected=${!this.value}>Select an option</option>`\n\n return html`\n ${this.controlTrait.renderLabel()}\n\n <div class=\"input-wrapper\">\n <select\n id=\"${this.controlTrait.controlId}\"\n name=${this.name}\n ?required=${this.required}\n @change=${this.onChange}\n >\n ${defaultOption}\n ${this.options.map(\n (option) =>\n html`<option\n .value=${option.value}\n ?selected=${option.value === this.value}\n >\n ${option.label}\n </option>`\n )}\n </select>\n <icon-lucide-chevron-down></icon-lucide-chevron-down>\n </div>\n `\n }\n\n private onChange () {\n const value = this.controlElement?.value ?? null\n const option = this.options.find((option) => option.value === value)\n\n this.controlTrait.setValue(value)\n this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true, detail: { option } }))\n }\n}\n"],"mappings":"+8IAQwCS,EAAA,CASvCT,EAAAA,cAAc,iBAAiB,CAAC,EAAA,IAAAU,EAAA,IAAAC,GAAAC,EAAA,IAAAC,QAAAC,EAAA,IAAAD,QAAAE,GAAAC,GAAAA,EAI9BZ,EAAAA,SAAAA,CAAS,CAAEa,KAAMC,KAAM,CAAC,EAACC,GAAAA,EAoBzBd,EAAAA,MAAAA,CAAM,QAAQ,EAACe,GAAAA,EAGfd,EAAAA,MAAAA,CAAM,EAAC,WAAAe,EA3BV,cACoCpB,EAAAA,OAAqB,CAAAsB,YAAA,GAAAC,EAAA,CAAA,MAAA,GAAAA,CAAA,EAAAC,EAAA,KAAAb,GAAAc,EAAA,IAAA,EAAAC,EAAA,KAwBO,IAAI,EAAA,EAAAF,EAAA,KAAAX,EAAAc,EAAA,KAGX,IAAI,CAAA,CAAA,CAxB3D,IAAAb,GACac,EAAkC,CAC7C,KAAKC,SAAWD,CAClB,CAEA,IAAIE,SAA+B,CACjC,GAAI,KAAKD,SACP,OAAO,KAAKA,SAGd,IAAMC,EAAU,KAAKC,iBACnB,wBACF,EAEA,OAAOd,MAAMe,KAAKF,CAAO,CAAC,CAACG,IAAKC,IAAY,CAC1CN,MAAOM,EAAON,MACdO,MAAOD,EAAOE,WAChB,EAAE,CACJ,CAAC,IAGkBC,gBAAc,CAAA,OAAAC,EAAA3B,EAAA,IAAA,CAAA,CAAA,IAAd0B,eAAcE,EAAA,CAAAC,EAAA7B,EAAA,KAAA4B,CAAA,CAAA,CAAA,IAGhBV,UAAQ,CAAA,OAAAS,EAAAzB,EAAA,IAAA,CAAA,CAAA,IAARgB,SAAQU,EAAA,CAAAC,EAAA3B,EAAA,KAAA0B,CAAA,CAAA,CAEfE,QAAU,CAClB,IAAMC,EAAgB,KAAKZ,QAAQa,KAAKT,GAAU5B,EAAAA,aAAa4B,EAAON,KAAK,CAAC,EACxE1B,EAAAA,QACAD,EAAAA,IAAI,uCAAuC,CAAC,KAAK2B,MAAK,4BAE1D,MAAO3B,GAAAA,IAAI;QACP,KAAK2C,aAAaC,YAAY,EAAC;;;;gBAIvB,KAAKD,aAAaE,UAAS;iBAC1B,KAAKC,KAAI;sBACJ,KAAKC,SAAQ;oBACf,KAAKC,SAAQ;;YAErBP,EAAa;YACb,KAAKZ,QAAQG,IACZC,GACCjC,EAAAA,IAAI;yBACOiC,EAAON,MAAK;4BACTM,EAAON,QAAU,KAAKA,MAAK;;kBAErCM,EAAOC,MAAK;wBAEpB,EAAC;;;;KAKT,CAEQc,UAAY,CAClB,IAAMrB,EAAQ,KAAKS,gBAAgBT,OAAS,KACtCM,EAAS,KAAKJ,QAAQoB,KAAMhB,GAAWA,EAAON,QAAUA,CAAK,EAEnE,KAAKgB,aAAaO,SAASvB,CAAK,EAChC,KAAKwB,cAAc,IAAIC,YAAY,SAAU,CAAEC,QAAS,GAAMC,SAAU,GAAMC,OAAQ,CAAEtB,QAAO,CAAE,CAAC,CAAC,CACrG,CACF,EAAC,CAAAuB,EAAA,CAAA/B,EAAAC,EAAAF,GAAAiC,EAAA,CAAAjD,EAAAkD,IAAAC,EAAAxC,EAAA,CAAA,CAAAL,EAAA,EAAA,SAAA,EAAA,CAAAG,EAAA,EAAA,gBAAA,EAAA,CAAAC,EAAA,EAAA,UAAA,CAAA,EAAAX,EAAA,EAAA,IAAA,GAnEmCR,EAAAA,OAAoB,EAAAoB,GAAAyC,EAAA,cAAAC,CAAA,CAAAxC,aAAA,CAAA,MAAAb,CAAA,EAAAsD,EAAA,KAAA,SACtCxD,EAAAA,OAAM,EAAAoD,EAAA,CAAA,CAAA,EAAAI,EAAAF,EAAAnD,EAAA,IAAA,EAAA,EAAAmD"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.esm.js","names":["customElement","FormControlComponent","html","nothing","property","query","state","isEmptyValue","styles","_classDecs","_Select","_Select2","_A","WeakMap","_B","_ref","_optionsDecs","type","Array","_controlElementDecs","_optionsDecs2","_Select3","Select","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_controlElement","_init__options","value","_options","options","querySelectorAll","from","map","option","label","textContent","controlElement","_classPrivateFieldGet","v","_classPrivateFieldSet","render","defaultOption","some","controlTrait","renderLabel","controlId","name","required","onChange","find","setValue","dispatchEvent","CustomEvent","bubbles","composed","detail","e","c","_initClass","_applyDecs","_Class","_identity","_defineProperty","default"],"sources":["../../../src/components/select/Select.ts"],"sourcesContent":["import { customElement, FormControlComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\nimport { property, query, state } from 'lit/decorators.js'\nimport { isEmptyValue } from '@/lib/values'\nimport type SelectOption from '@/components/select-option/SelectOption'\n\nimport '~icons/lucide/chevron-down'\n\nimport styles from './Select.styles.css'\n\nexport type SelectOptionData = {\n value: unknown;\n label: string;\n}\n\nexport type SelectChangeEvent = CustomEvent<{ option: SelectOptionData }>\n\n@customElement('solid-ui-select')\nexport default class Select extends FormControlComponent {\n static styles = styles\n\n @property({ type: Array })\n set options (value: SelectOptionData[] | null) {\n this._options = value\n }\n\n get options (): SelectOptionData[] {\n if (this._options) {\n return this._options\n }\n\n const options = this.querySelectorAll<SelectOption>(\n 'solid-ui-select-option'\n )\n\n return Array.from(options).map((option) => ({\n value: option.value,\n label: option.textContent,\n }))\n }\n\n @query('select')\n protected accessor controlElement: HTMLSelectElement | null = null;\n\n @state()\n private accessor _options: SelectOptionData[] | null = null\n\n protected render () {\n const defaultOption = this.options.some(option => isEmptyValue(option.value))\n ? nothing\n : html`<option disabled value=\"\" ?selected=${!this.value}>Select an option</option>`\n\n return html`\n ${this.controlTrait.renderLabel()}\n\n <div class=\"input-wrapper\">\n <select\n id=\"${this.controlTrait.controlId}\"\n name=${this.name}\n ?required=${this.required}\n @change=${this.onChange}\n >\n ${defaultOption}\n ${this.options.map(\n (option) =>\n html`<option\n .value=${option.value}\n ?selected=${option.value === this.value}\n >\n ${option.label}\n </option>`\n )}\n </select>\n <icon-lucide-chevron-down></icon-lucide-chevron-down>\n </div>\n `\n }\n\n private onChange () {\n const value = this.controlElement?.value ?? null\n const option = this.options.find((option) => option.value === value)\n\n this.controlTrait.setValue(value)\n this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true, detail: { option } }))\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQwCS,IAAA,CASvCT,EAAc,iBAAiB,CAAC;AAAA,IAAAU;AAAA,KAAAC,KAAAC,kBAAA,IAAAC,QAAA,GAAAC,kBAAA,IAAAD,QAAA,GAAAE,KAAAC,IAI9BZ,EAAS,EAAEa,MAAMC,MAAM,CAAC,GAACC,IAoBzBd,EAAM,QAAQ,GAACe,IAGfd,EAAM,GAAC,YAAAe,IA3BV,cACoCpB,EAAqB;CAAAsB,YAAA,GAAAC,GAAA;EAwBWC,AAxBX,MAAA,GAAAD,CAAA,GAAAC,EAAA,MAAAb,IAAAc,EAAA,IAAA,GAAAC,EAAA,MAwBO,IAAI,EAAA,GAAAF,EAAA,MAAAX,GAAAc,EAAA,MAGX,IAAI,CAAA;CAAA;CAxB3D,KAAAb,GACac,GAAkC;EAC7C,KAAKC,WAAWD;CAClB;CAEA,IAAIE,UAA+B;EACjC,IAAI,KAAKD,UACP,OAAO,KAAKA;EAGd,IAAMC,IAAU,KAAKC,iBACnB,wBACF;EAEA,OAAOd,MAAMe,KAAKF,CAAO,CAAC,CAACG,KAAKC,OAAY;GAC1CN,OAAOM,EAAON;GACdO,OAAOD,EAAOE;EAChB,EAAE;CACJ;CAAC,IAGkBC,iBAAc;EAAA,OAAAC,EAAA3B,GAAA,IAAA;CAAA;CAAA,IAAd0B,eAAcE,GAAA;EAAAC,EAAA7B,GAAA,MAAA4B,CAAA;CAAA;CAAA,IAGhBV,WAAQ;EAAA,OAAAS,EAAAzB,GAAA,IAAA;CAAA;CAAA,IAARgB,SAAQU,GAAA;EAAAC,EAAA3B,GAAA,MAAA0B,CAAA;CAAA;CAEfE,SAAU;EAClB,IAAMC,IAAgB,KAAKZ,QAAQa,MAAKT,MAAU5B,EAAa4B,EAAON,KAAK,CAAC,IACxE1B,IACAD,CAAI,uCAAuC,CAAC,KAAK2B,MAAK;EAE1D,OAAO3B,CAAI;QACP,KAAK2C,aAAaC,YAAY,EAAC;;;;gBAIvB,KAAKD,aAAaE,UAAS;iBAC1B,KAAKC,KAAI;sBACJ,KAAKC,SAAQ;oBACf,KAAKC,SAAQ;;YAErBP,EAAa;YACb,KAAKZ,QAAQG,KACZC,MACCjC,CAAI;yBACOiC,EAAON,MAAK;4BACTM,EAAON,UAAU,KAAKA,MAAK;;kBAErCM,EAAOC,MAAK;wBAEpB,EAAC;;;;;CAKT;CAEQc,WAAY;EAClB,IAAMrB,IAAQ,KAAKS,gBAAgBT,SAAS,MACtCM,IAAS,KAAKJ,QAAQoB,MAAMhB,MAAWA,EAAON,UAAUA,CAAK;EAGnE,AADA,KAAKgB,aAAaO,SAASvB,CAAK,GAChC,KAAKwB,cAAc,IAAIC,YAAY,UAAU;GAAEC,SAAS;GAAMC,UAAU;GAAMC,QAAQ,EAAEtB,UAAO;EAAE,CAAC,CAAC;CACrG;AACF,GAAC,CAAAuB,GAAA,CAAA/B,GAAAC,GAAAF,IAAAiC,GAAA,CAAAjD,GAAAkD,MAAAC,EAAAxC,GAAA;CAAA;EAAAL;EAAA;EAAA;CAAA;CAAA;EAAAG;EAAA;EAAA;CAAA;CAAA;EAAAC;EAAA;EAAA;CAAA;AAAA,GAAAX,GAAA,GAAA,KAAA,GAnEmCR,CAAoB,GAAAoB,IAAAyC,IAAA,cAAAC,EAAA;CAAAxC,cAAA;EAAA,MAAAb,CAAA,GAAAsD,EAAA,MAAA,UACtCxD,CAAM,GAAAoD,EAAA;CAAA;AAAA,GAAAI,EAAAF,GAAAnD,GAAA,KAAA,CAAA,GAAAmD,GAAA"}
1
+ {"version":3,"file":"Select.esm.js","names":["customElement","FormControlComponent","html","nothing","property","query","state","isEmptyValue","styles","_classDecs","_Select","_Select2","_A","WeakMap","_B","_ref","_optionsDecs","type","Array","_controlElementDecs","_optionsDecs2","_Select3","Select","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_controlElement","_init__options","value","_options","options","querySelectorAll","from","map","option","label","textContent","controlElement","_classPrivateFieldGet","v","_classPrivateFieldSet","render","defaultOption","some","controlTrait","renderLabel","controlId","name","required","onChange","find","setValue","dispatchEvent","CustomEvent","bubbles","composed","detail","e","c","_initClass","_applyDecs","_Class","_identity","_defineProperty","default","styles","FormControlComponent","Select_styles_default","_Class","_Select3","_A","_B","_initProto","_initClass","_classDecs","_optionsDecs","_controlElementDecs","_init_controlElement","_optionsDecs2","_init__options","_Select2","_ref","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_defineProperty","_toPropertyKey","t","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","S","A","d","p","_setFunctionName","P","j","D","I","F","l","f","N","_checkInRHS","_toPrimitive","e","_identity","customElement","_Select","property","query","state","args","value","options","option","defaultOption","isEmptyValue","nothing"],"sources":["../../../src/components/select/Select.ts"],"sourcesContent":["import { customElement, FormControlComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\nimport { property, query, state } from 'lit/decorators.js'\nimport { isEmptyValue } from '@/lib/values'\nimport type SelectOption from '@/components/select-option/SelectOption'\n\nimport '~icons/lucide/chevron-down'\n\nimport styles from './Select.styles.css'\n\nexport type SelectOptionData = {\n value: unknown;\n label: string;\n}\n\nexport type SelectChangeEvent = CustomEvent<{ option: SelectOptionData }>\n\n@customElement('solid-ui-select')\nexport default class Select extends FormControlComponent {\n static styles = styles\n\n @property({ type: Array })\n set options (value: SelectOptionData[] | null) {\n this._options = value\n }\n\n get options (): SelectOptionData[] {\n if (this._options) {\n return this._options\n }\n\n const options = this.querySelectorAll<SelectOption>(\n 'solid-ui-select-option'\n )\n\n return Array.from(options).map((option) => ({\n value: option.value,\n label: option.textContent,\n }))\n }\n\n @query('select')\n protected accessor controlElement: HTMLSelectElement | null = null;\n\n @state()\n private accessor _options: SelectOptionData[] | null = null\n\n protected render () {\n const defaultOption = this.options.some(option => isEmptyValue(option.value))\n ? nothing\n : html`<option disabled value=\"\" ?selected=${!this.value}>Select an option</option>`\n\n return html`\n ${this.controlTrait.renderLabel()}\n\n <div class=\"input-wrapper\">\n <select\n id=\"${this.controlTrait.controlId}\"\n name=${this.name}\n ?required=${this.required}\n @change=${this.onChange}\n >\n ${defaultOption}\n ${this.options.map(\n (option) =>\n html`<option\n .value=${option.value}\n ?selected=${option.value === this.value}\n >\n ${option.label}\n </option>`\n )}\n </select>\n <icon-lucide-chevron-down></icon-lucide-chevron-down>\n </div>\n `\n }\n\n private onChange () {\n const value = this.controlElement?.value ?? null\n const option = this.options.find((option) => option.value === value)\n\n this.controlTrait.setValue(value)\n this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true, detail: { option } }))\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQwCS,IAAA,CASvCT,EAAc,iBAAiB,CAAC;AAAA,IAAAU;AAAA,KAAAC,KAAAC,kBAAA,IAAAC,QAAA,GAAAC,kBAAA,IAAAD,QAAA,GAAAE,KAAAC,IAI9BZ,EAAS,EAAEa,MAAMC,MAAM,CAAC,GAACC,IAoBzBd,EAAM,QAAQ,GAACe,IAGfd,EAAM,GAAC,YAAAe,IA3BV,cACoCpB,EAAqB;CAAAsB,YAAA,GAAAC,GAAA;EAwBWC,AAxBX,MAAA,GAAAD,CAAA,GAAAC,EAAA,MAAAb,IAAAc,EAAA,IAAA,GAAAC,EAAA,MAwBO,IAAI,EAAA,GAAAF,EAAA,MAAAX,GAAAc,EAAA,MAGX,IAAI,CAAA;CAAA;CAxB3D,KAAAb,GACac,GAAkC;EAC7C,KAAKC,WAAWD;CAClB;CAEA,IAAIE,UAA+B;EACjC,IAAI,KAAKD,UACP,OAAO,KAAKA;EAGd,IAAMC,IAAU,KAAKC,iBACnB,wBACF;EAEA,OAAOd,MAAMe,KAAKF,CAAO,CAAC,CAACG,KAAKC,OAAY;GAC1CN,OAAOM,EAAON;GACdO,OAAOD,EAAOE;EAChB,EAAE;CACJ;CAAC,IAGkBC,iBAAc;EAAA,OAAAC,EAAA3B,GAAA,IAAA;CAAA;CAAA,IAAd0B,eAAcE,GAAA;EAAAC,EAAA7B,GAAA,MAAA4B,CAAA;CAAA;CAAA,IAGhBV,WAAQ;EAAA,OAAAS,EAAAzB,GAAA,IAAA;CAAA;CAAA,IAARgB,SAAQU,GAAA;EAAAC,EAAA3B,GAAA,MAAA0B,CAAA;CAAA;CAEfE,SAAU;EAClB,IAAMC,IAAgB,KAAKZ,QAAQa,MAAKT,MAAU5B,EAAa4B,EAAON,KAAK,CAAC,IACxE1B,IACAD,CAAI,uCAAuC,CAAC,KAAK2B,MAAK;EAE1D,OAAO3B,CAAI;QACP,KAAK2C,aAAaC,YAAY,EAAC;;;;gBAIvB,KAAKD,aAAaE,UAAS;iBAC1B,KAAKC,KAAI;sBACJ,KAAKC,SAAQ;oBACf,KAAKC,SAAQ;;YAErBP,EAAa;YACb,KAAKZ,QAAQG,KACZC,MACCjC,CAAI;yBACOiC,EAAON,MAAK;4BACTM,EAAON,UAAU,KAAKA,MAAK;;kBAErCM,EAAOC,MAAK;wBAEpB,EAAC;;;;;CAKT;CAEQc,WAAY;EAClB,IAAMrB,IAAQ,KAAKS,gBAAgBT,SAAS,MACtCM,IAAS,KAAKJ,QAAQoB,MAAMhB,MAAWA,EAAON,UAAUA,CAAK;EAGnE,AADA,KAAKgB,aAAaO,SAASvB,CAAK,GAChC,KAAKwB,cAAc,IAAIC,YAAY,UAAU;GAAEC,SAAS;GAAMC,UAAU;GAAMC,QAAQ,EAAEtB,UAAO;EAAE,CAAC,CAAC;CACrG;AACF,GAAC,CAAAuB,GAAA,CAAA/B,GAAAC,GAAAF,IAAAiC,GAAA,CAAAjD,GAAAkD,MAAAC,EAAAxC,GAAA;CAAA;EAAAL;EAAA;EAAA;CAAA;CAAA;EAAAG;EAAA;EAAA;CAAA;CAAA;EAAAC;EAAA;EAAA;CAAA;AAAA,GAAAX,GAAA,GAAA,KAAA,GAnEmCR,CAAoB,GAAAoB,IAAAyC,IAAA,cAAAC,EAAA;CAAAxC,cAAA;EAAA,MAAAb,CAAA,GAAAsD,EAAA,MAAA,UACtCxD,CAAM,GAAAoD,EAAA;CAAA;AAAA,GAAAI,EAAAF,GAAAnD,GAAA,KAAA,CAAA,GAAAmD,GAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.styles.cjs.js","names":[],"sources":["../../../src/components/select/Select.styles.css"],"sourcesContent":[":host {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 5px;\n\n label {\n color: var(--solid-ui-color-gray-600);\n font-size: var(--solid-ui-font-size-sm);\n font-weight: 400;\n }\n\n .input-wrapper {\n position: relative;\n width: 100%;\n\n select {\n appearance: none;\n border: 1px solid var(--solid-ui-color-gray-400);\n border-radius: 5px;\n padding: 10px;\n padding-right: 40px;\n width: 100%;\n background: white;\n color: var(--solid-ui-color-gray-700);\n font-size: inherit;\n cursor: pointer;\n }\n\n icon-lucide-chevron-down {\n position: absolute;\n right: 15px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--solid-ui-color-gray-500);\n width: var(--solid-ui-font-size-lg);\n height: var(--solid-ui-font-size-lg);\n pointer-events: none;\n }\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Select.styles.cjs.js","names":["Select_styles_default"],"sources":["../../../src/components/select/Select.styles.css"],"sourcesContent":[":host {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 5px;\n\n label {\n color: var(--solid-ui-color-gray-600);\n font-size: var(--solid-ui-font-size-sm);\n font-weight: 400;\n }\n\n .input-wrapper {\n position: relative;\n width: 100%;\n\n select {\n appearance: none;\n border: 1px solid var(--solid-ui-color-gray-400);\n border-radius: 5px;\n padding: 10px;\n padding-right: 40px;\n width: 100%;\n background: white;\n color: var(--solid-ui-color-gray-700);\n font-size: inherit;\n cursor: pointer;\n }\n\n icon-lucide-chevron-down {\n position: absolute;\n right: 15px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--solid-ui-color-gray-500);\n width: var(--solid-ui-font-size-lg);\n height: var(--solid-ui-font-size-lg);\n pointer-events: none;\n }\n }\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.styles.esm.js","names":[],"sources":["../../../src/components/select/Select.styles.css"],"sourcesContent":[":host {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 5px;\n\n label {\n color: var(--solid-ui-color-gray-600);\n font-size: var(--solid-ui-font-size-sm);\n font-weight: 400;\n }\n\n .input-wrapper {\n position: relative;\n width: 100%;\n\n select {\n appearance: none;\n border: 1px solid var(--solid-ui-color-gray-400);\n border-radius: 5px;\n padding: 10px;\n padding-right: 40px;\n width: 100%;\n background: white;\n color: var(--solid-ui-color-gray-700);\n font-size: inherit;\n cursor: pointer;\n }\n\n icon-lucide-chevron-down {\n position: absolute;\n right: 15px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--solid-ui-color-gray-500);\n width: var(--solid-ui-font-size-lg);\n height: var(--solid-ui-font-size-lg);\n pointer-events: none;\n }\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"Select.styles.esm.js","names":["Select_styles_default"],"sources":["../../../src/components/select/Select.styles.css"],"sourcesContent":[":host {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 5px;\n\n label {\n color: var(--solid-ui-color-gray-600);\n font-size: var(--solid-ui-font-size-sm);\n font-weight: 400;\n }\n\n .input-wrapper {\n position: relative;\n width: 100%;\n\n select {\n appearance: none;\n border: 1px solid var(--solid-ui-color-gray-400);\n border-radius: 5px;\n padding: 10px;\n padding-right: 40px;\n width: 100%;\n background: white;\n color: var(--solid-ui-color-gray-700);\n font-size: inherit;\n cursor: pointer;\n }\n\n icon-lucide-chevron-down {\n position: absolute;\n right: 15px;\n top: 50%;\n transform: translateY(-50%);\n color: var(--solid-ui-color-gray-500);\n width: var(--solid-ui-font-size-lg);\n height: var(--solid-ui-font-size-lg);\n pointer-events: none;\n }\n }\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","names":["Select"],"sources":["../../../src/components/select/index.ts"],"sourcesContent":["import Select from './Select'\n\nexport * from './Select'\nexport { Select }\nexport default Select\n"],"mappings":"kIAIA,IAAA,EAAeA,EAAAA"}
1
+ {"version":3,"file":"index.cjs.js","names":["Select","Select","require_Select","select_default"],"sources":["../../../src/components/select/index.ts"],"sourcesContent":["import Select from './Select'\n\nexport * from './Select'\nexport { Select }\nexport default Select\n"],"mappings":"kIAIA,IAAAG,EAAeH,EAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","names":["Select"],"sources":["../../../src/components/select/index.ts"],"sourcesContent":["import Select from './Select'\n\nexport * from './Select'\nexport { Select }\nexport default Select\n"],"mappings":";;AAIA,IAAA,IAAeA"}
1
+ {"version":3,"file":"index.esm.js","names":["Select","Select","_Select","select_default"],"sources":["../../../src/components/select/index.ts"],"sourcesContent":["import Select from './Select'\n\nexport * from './Select'\nexport { Select }\nexport default Select\n"],"mappings":";;AAIA,IAAAG,IAAeH"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectOption.cjs.js","names":["customElement","WebComponent","html","nothing","property","_classDecs","_SelectOption","_A","WeakMap","_ref","_valueDecs","type","String","reflect","SelectOption","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_value","_classPrivateFieldGet","value","v","_classPrivateFieldSet","render","_SelectOption2","e","c","_initClass","_applyDecs","default"],"sources":["../../../src/components/select-option/SelectOption.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\nimport { property } from 'lit/decorators.js'\n\n@customElement('solid-ui-select-option')\nexport default class SelectOption extends WebComponent {\n @property({ type: String, reflect: true })\n accessor value = ''\n\n protected render () {\n return html`${nothing}`\n }\n}\n"],"mappings":"ipIAE4CK,EAAA,CAE3CL,EAAAA,cAAc,wBAAwB,CAAC,EAAA,IAAAM,EAAAC,EAAA,IAAAC,QAAAC,GAAAC,GAAAA,EAErCN,EAAAA,SAAAA,CAAS,CAAEO,KAAMC,OAAQC,QAAS,EAAK,CAAC,EAAC,SAM3CY,EAAAX,cAPyCb,EAAAA,OAAa,CAAAc,YAAA,GAAAC,EAAA,CAAA,MAAA,GAAAA,CAAA,EAAAC,EAAA,KAAAV,GAAAW,EAAA,IAAA,EAAAC,EAAA,KAEpC,EAAE,EAAA,CAAA,CAAA,IAAAV,IAAA,CAAA,OAAAW,EAAAb,EAAA,IAAA,CAAA,CAAA,IAAVc,MAAKC,EAAA,CAAAC,EAAAhB,EAAA,KAAAe,CAAA,CAAA,CAEJE,QAAU,CAClB,MAAOtB,GAAAA,IAAI,GAAGC,EAAAA,SAChB,CACF,EAAC,CAAAuB,EAAA,CAAAP,EAAAD,GAAAS,EAAA,CAAArB,EAAAsB,IAAAC,EAAAJ,EAAA,CAAA,CAAAf,EAAA,EAAA,OAAA,CAAA,EAAAL,EAAA,EAAA,IAAA,GAPyCJ,EAAAA,OAAY,EAAA2B,EAAA"}
1
+ {"version":3,"file":"SelectOption.cjs.js","names":["customElement","WebComponent","html","nothing","property","_classDecs","_SelectOption","_A","WeakMap","_ref","_valueDecs","type","String","reflect","SelectOption","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_value","_classPrivateFieldGet","value","v","_classPrivateFieldSet","render","_SelectOption2","e","c","_initClass","_applyDecs","default","customElement","property","WebComponent","nothing","require_decorators","require_WebComponent","lit","lit_decorators_js","_SelectOption2","_initProto","_initClass","_classDecs","_valueDecs","_init_value","_ref","_classPrivateFieldInitSpec","_checkPrivateRedeclaration","a","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","u","w","A","d","f","p","_setFunctionName","P","j","D","E","I","O","k","F","l","N","_checkInRHS","b","_toPropertyKey","_toPrimitive","t","e","_SelectOption","_A","args"],"sources":["../../../src/components/select-option/SelectOption.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\nimport { property } from 'lit/decorators.js'\n\n@customElement('solid-ui-select-option')\nexport default class SelectOption extends WebComponent {\n @property({ type: String, reflect: true })\n accessor value = ''\n\n protected render () {\n return html`${nothing}`\n }\n}\n"],"mappings":"ipIAE4CK,EAAA,CAE3CL,EAAAA,cAAc,wBAAwB,CAAC,EAAA,IAAAM,EAAAC,EAAA,IAAAC,QAAAC,GAAAC,GAAAA,EAErCN,EAAAA,SAAAA,CAAS,CAAEO,KAAMC,OAAQC,QAAS,EAAK,CAAC,EAAC,SAM3CY,EAAAX,cAPyCb,EAAAA,OAAa,CAAAc,YAAA,GAAAC,EAAA,CAAA,MAAA,GAAAA,CAAA,EAAAC,EAAA,KAAAV,GAAAW,EAAA,IAAA,EAAAC,EAAA,KAEpC,EAAE,EAAA,CAAA,CAAA,IAAAV,IAAA,CAAA,OAAAW,EAAAb,EAAA,IAAA,CAAA,CAAA,IAAVc,MAAKC,EAAA,CAAAC,EAAAhB,EAAA,KAAAe,CAAA,CAAA,CAEJE,QAAU,CAClB,MAAOtB,GAAAA,IAAI,GAAGC,EAAAA,SAChB,CACF,EAAC,CAAAuB,EAAA,CAAAP,EAAAD,GAAAS,EAAA,CAAArB,EAAAsB,IAAAC,EAAAJ,EAAA,CAAA,CAAAf,EAAA,EAAA,OAAA,CAAA,EAAAL,EAAA,EAAA,IAAA,GAPyCJ,EAAAA,OAAY,EAAA2B,EAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SelectOption.esm.js","names":["customElement","WebComponent","html","nothing","property","_classDecs","_SelectOption","_A","WeakMap","_ref","_valueDecs","type","String","reflect","SelectOption","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_value","_classPrivateFieldGet","value","v","_classPrivateFieldSet","render","_SelectOption2","e","c","_initClass","_applyDecs","default"],"sources":["../../../src/components/select-option/SelectOption.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\nimport { property } from 'lit/decorators.js'\n\n@customElement('solid-ui-select-option')\nexport default class SelectOption extends WebComponent {\n @property({ type: String, reflect: true })\n accessor value = ''\n\n protected render () {\n return html`${nothing}`\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE4CK,IAAA,CAE3CL,EAAc,wBAAwB,CAAC;AAAA,IAAAM,GAAAC,kBAAA,IAAAC,QAAA;AAAAC,KAAAC,IAErCN,EAAS;CAAEO,MAAMC;CAAQC,SAAS;AAAK,CAAC,GAAC,UAM3CY,IAAAX,cAPyCb,EAAa;CAAAc,YAAA,GAAAC,GAAA;EAAAC,AAAA,MAAA,GAAAD,CAAA,GAAAC,EAAA,MAAAV,IAAAW,EAAA,IAAA,GAAAC,EAAA,MAEpC,EAAE,EAAA;CAAA;CAAA,KAAAV,KAAA;EAAA,OAAAW,EAAAb,GAAA,IAAA;CAAA;CAAA,IAAVc,MAAKC,GAAA;EAAAC,EAAAhB,GAAA,MAAAe,CAAA;CAAA;CAEJE,SAAU;EAClB,OAAOtB,CAAI,GAAGC;CAChB;AACF,GAAC,CAAAuB,GAAA,CAAAP,GAAAD,IAAAS,GAAA,CAAArB,GAAAsB,MAAAC,EAAAJ,GAAA,CAAA;CAAAf;CAAA;CAAA;AAAA,CAAA,GAAAL,GAAA,GAAA,KAAA,GAPyCJ,CAAY,GAAA2B,EAAA"}
1
+ {"version":3,"file":"SelectOption.esm.js","names":["customElement","WebComponent","html","nothing","property","_classDecs","_SelectOption","_A","WeakMap","_ref","_valueDecs","type","String","reflect","SelectOption","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_value","_classPrivateFieldGet","value","v","_classPrivateFieldSet","render","_SelectOption2","e","c","_initClass","_applyDecs","default","WebComponent","_SelectOption2","_initProto","_initClass","_classDecs","_valueDecs","_init_value","_ref","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","A","d","p","_setFunctionName","P","j","D","E","I","O","k","F","l","f","N","_checkInRHS","_toPropertyKey","_toPrimitive","t","e","customElement","_SelectOption","_A","property","args","nothing"],"sources":["../../../src/components/select-option/SelectOption.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\nimport { property } from 'lit/decorators.js'\n\n@customElement('solid-ui-select-option')\nexport default class SelectOption extends WebComponent {\n @property({ type: String, reflect: true })\n accessor value = ''\n\n protected render () {\n return html`${nothing}`\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE4CK,IAAA,CAE3CL,EAAc,wBAAwB,CAAC;AAAA,IAAAM,GAAAC,kBAAA,IAAAC,QAAA;AAAAC,KAAAC,IAErCN,EAAS;CAAEO,MAAMC;CAAQC,SAAS;AAAK,CAAC,GAAC,UAM3CY,IAAAX,cAPyCb,EAAa;CAAAc,YAAA,GAAAC,GAAA;EAAAC,AAAA,MAAA,GAAAD,CAAA,GAAAC,EAAA,MAAAV,IAAAW,EAAA,IAAA,GAAAC,EAAA,MAEpC,EAAE,EAAA;CAAA;CAAA,KAAAV,KAAA;EAAA,OAAAW,EAAAb,GAAA,IAAA;CAAA;CAAA,IAAVc,MAAKC,GAAA;EAAAC,EAAAhB,GAAA,MAAAe,CAAA;CAAA;CAEJE,SAAU;EAClB,OAAOtB,CAAI,GAAGC;CAChB;AACF,GAAC,CAAAuB,GAAA,CAAAP,GAAAD,IAAAS,GAAA,CAAArB,GAAAsB,MAAAC,EAAAJ,GAAA,CAAA;CAAAf;CAAA;CAAA;AAAA,CAAA,GAAAL,GAAA,GAAA,KAAA,GAPyCJ,CAAY,GAAA2B,EAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","names":["SelectOption"],"sources":["../../../src/components/select-option/index.ts"],"sourcesContent":["import SelectOption from './SelectOption'\n\nexport { SelectOption }\nexport default SelectOption\n"],"mappings":"wIAGA,IAAA,EAAeA,EAAAA"}
1
+ {"version":3,"file":"index.cjs.js","names":["SelectOption","SelectOption","require_SelectOption","select_option_default"],"sources":["../../../src/components/select-option/index.ts"],"sourcesContent":["import SelectOption from './SelectOption'\n\nexport { SelectOption }\nexport default SelectOption\n"],"mappings":"wIAGA,IAAAG,EAAeH,EAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","names":["SelectOption"],"sources":["../../../src/components/select-option/index.ts"],"sourcesContent":["import SelectOption from './SelectOption'\n\nexport { SelectOption }\nexport default SelectOption\n"],"mappings":";;AAGA,IAAA,IAAeA"}
1
+ {"version":3,"file":"index.esm.js","names":["SelectOption","SelectOption","_SelectOption","select_option_default"],"sources":["../../../src/components/select-option/index.ts"],"sourcesContent":["import SelectOption from './SelectOption'\n\nexport { SelectOption }\nexport default SelectOption\n"],"mappings":";;AAGA,IAAAG,IAAeH"}
@@ -1 +1 @@
1
- {"version":3,"file":"SignupButton.cjs.js","names":["customElement","WebComponent","consume","html","authContext","DEFAULT_AUTH_CONTEXT","_classDecs","_SignupButton","_A","WeakMap","_ref","_authDecs","context","subscribe","SignupButton","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_auth","_classPrivateFieldGet","auth","v","_classPrivateFieldSet","render","onClick","click","signup","e","preventDefault","_SignupButton2","c","_initClass","_applyDecs","default"],"sources":["../../../src/components/signup-button/SignupButton.ts"],"sourcesContent":["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 '@/components/button'\n\n@customElement('solid-ui-signup-button')\nexport default class SignupButton extends WebComponent {\n @consume({ context: authContext, subscribe: true })\n private accessor auth: AuthContext = DEFAULT_AUTH_CONTEXT\n\n protected render () {\n return html`\n <slot name=\"trigger\" @click=${this.onClick}>\n <solid-ui-button>\n <slot>\n Sign Up\n </slot>\n </solid-ui-button>\n </slot>\n `\n }\n\n click () {\n this.auth.signup()\n }\n\n private onClick (e: MouseEvent) {\n e.preventDefault()\n\n this.click()\n }\n}\n"],"mappings":"gwIAK4BM,EAAA,CAE3BN,EAAAA,cAAc,wBAAwB,CAAC,EAAA,IAAAO,EAAAC,EAAA,IAAAC,QAAAC,GAAAC,GAAAA,EAErCT,EAAAA,QAAAA,CAAQ,CAAEU,QAASR,EAAAA,YAAaS,UAAW,EAAK,CAAC,EAAC,QAwBpDiB,EAAAhB,cAzByCb,EAAAA,OAAa,CAAAc,YAAA,GAAAC,EAAA,CAAA,MAAA,GAAAA,CAAA,EAAAC,EAAA,KAAAT,GAAAU,EAAA,IAAA,EAAAC,EAAA,KAEhBd,EAAAA,oBAAoB,EAAA,CAAA,CAAA,IAAAK,IAAA,CAAA,OAAAU,EAAAZ,EAAA,IAAA,CAAA,CAAA,IAAxCa,KAAIC,EAAA,CAAAC,EAAAf,EAAA,KAAAc,CAAA,CAAA,CAEXE,QAAU,CAClB,MAAOrB,GAAAA,IAAI;oCACqB,KAAKsB,QAAO;;;;;;;KAQ9C,CAEAC,OAAS,CACP,KAAKL,KAAKM,OAAO,CACnB,CAEQF,QAASG,EAAe,CAC9BA,EAAEC,eAAe,EAEjB,KAAKH,MAAM,CACb,CACF,EAAC,CAAAE,EAAA,CAAAT,EAAAD,GAAAa,EAAA,CAAAxB,EAAAyB,IAAAC,EAAAH,EAAA,CAAA,CAAAnB,EAAA,EAAA,MAAA,CAAA,EAAAL,EAAA,EAAA,IAAA,GAzByCL,EAAAA,OAAY,EAAA+B,EAAA"}
1
+ {"version":3,"file":"SignupButton.cjs.js","names":["customElement","WebComponent","consume","html","authContext","DEFAULT_AUTH_CONTEXT","_classDecs","_SignupButton","_A","WeakMap","_ref","_authDecs","context","subscribe","SignupButton","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_auth","_classPrivateFieldGet","auth","v","_classPrivateFieldSet","render","onClick","click","signup","e","preventDefault","_SignupButton2","c","_initClass","_applyDecs","default","customElement","consume","authContext","WebComponent","DEFAULT_AUTH_CONTEXT","require_context","require_decorators","require_WebComponent","_lit_context","lit","_SignupButton2","_initProto","_initClass","_classDecs","_authDecs","_init_auth","_ref","_classPrivateFieldInitSpec","_checkPrivateRedeclaration","a","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","A","d","f","p","_setFunctionName","P","j","D","E","I","O","k","F","l","N","_checkInRHS","_toPropertyKey","_toPrimitive","t","e","_SignupButton","_A","args"],"sources":["../../../src/components/signup-button/SignupButton.ts"],"sourcesContent":["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 '@/components/button'\n\n@customElement('solid-ui-signup-button')\nexport default class SignupButton extends WebComponent {\n @consume({ context: authContext, subscribe: true })\n private accessor auth: AuthContext = DEFAULT_AUTH_CONTEXT\n\n protected render () {\n return html`\n <slot name=\"trigger\" @click=${this.onClick}>\n <solid-ui-button>\n <slot>\n Sign Up\n </slot>\n </solid-ui-button>\n </slot>\n `\n }\n\n click () {\n this.auth.signup()\n }\n\n private onClick (e: MouseEvent) {\n e.preventDefault()\n\n this.click()\n }\n}\n"],"mappings":"gwIAK4BM,EAAA,CAE3BN,EAAAA,cAAc,wBAAwB,CAAC,EAAA,IAAAO,EAAAC,EAAA,IAAAC,QAAAC,GAAAC,GAAAA,EAErCT,EAAAA,QAAAA,CAAQ,CAAEU,QAASR,EAAAA,YAAaS,UAAW,EAAK,CAAC,EAAC,QAwBpDiB,EAAAhB,cAzByCb,EAAAA,OAAa,CAAAc,YAAA,GAAAC,EAAA,CAAA,MAAA,GAAAA,CAAA,EAAAC,EAAA,KAAAT,GAAAU,EAAA,IAAA,EAAAC,EAAA,KAEhBd,EAAAA,oBAAoB,EAAA,CAAA,CAAA,IAAAK,IAAA,CAAA,OAAAU,EAAAZ,EAAA,IAAA,CAAA,CAAA,IAAxCa,KAAIC,EAAA,CAAAC,EAAAf,EAAA,KAAAc,CAAA,CAAA,CAEXE,QAAU,CAClB,MAAOrB,GAAAA,IAAI;oCACqB,KAAKsB,QAAO;;;;;;;KAQ9C,CAEAC,OAAS,CACP,KAAKL,KAAKM,OAAO,CACnB,CAEQF,QAASG,EAAe,CAC9BA,EAAEC,eAAe,EAEjB,KAAKH,MAAM,CACb,CACF,EAAC,CAAAE,EAAA,CAAAT,EAAAD,GAAAa,EAAA,CAAAxB,EAAAyB,IAAAC,EAAAH,EAAA,CAAA,CAAAnB,EAAA,EAAA,MAAA,CAAA,EAAAL,EAAA,EAAA,IAAA,GAzByCL,EAAAA,OAAY,EAAA+B,EAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SignupButton.esm.js","names":["customElement","WebComponent","consume","html","authContext","DEFAULT_AUTH_CONTEXT","_classDecs","_SignupButton","_A","WeakMap","_ref","_authDecs","context","subscribe","SignupButton","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_auth","_classPrivateFieldGet","auth","v","_classPrivateFieldSet","render","onClick","click","signup","e","preventDefault","_SignupButton2","c","_initClass","_applyDecs","default"],"sources":["../../../src/components/signup-button/SignupButton.ts"],"sourcesContent":["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 '@/components/button'\n\n@customElement('solid-ui-signup-button')\nexport default class SignupButton extends WebComponent {\n @consume({ context: authContext, subscribe: true })\n private accessor auth: AuthContext = DEFAULT_AUTH_CONTEXT\n\n protected render () {\n return html`\n <slot name=\"trigger\" @click=${this.onClick}>\n <solid-ui-button>\n <slot>\n Sign Up\n </slot>\n </solid-ui-button>\n </slot>\n `\n }\n\n click () {\n this.auth.signup()\n }\n\n private onClick (e: MouseEvent) {\n e.preventDefault()\n\n this.click()\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAK4BM,IAAA,CAE3BN,EAAc,wBAAwB,CAAC;AAAA,IAAAO,GAAAC,kBAAA,IAAAC,QAAA;AAAAC,KAAAC,IAErCT,EAAQ;CAAEU,SAASR;CAAaS,WAAW;AAAK,CAAC,GAAC,SAwBpDiB,IAAAhB,cAzByCb,EAAa;CAAAc,YAAA,GAAAC,GAAA;EAAAC,AAAA,MAAA,GAAAD,CAAA,GAAAC,EAAA,MAAAT,IAAAU,EAAA,IAAA,GAAAC,EAAA,MAEhBd,CAAoB,EAAA;CAAA;CAAA,KAAAK,KAAA;EAAA,OAAAU,EAAAZ,GAAA,IAAA;CAAA;CAAA,IAAxCa,KAAIC,GAAA;EAAAC,EAAAf,GAAA,MAAAc,CAAA;CAAA;CAEXE,SAAU;EAClB,OAAOrB,CAAI;oCACqB,KAAKsB,QAAO;;;;;;;;CAQ9C;CAEAC,QAAS;EACP,KAAKL,KAAKM,OAAO;CACnB;CAEQF,QAASG,GAAe;EAG9B,AAFAA,EAAEC,eAAe,GAEjB,KAAKH,MAAM;CACb;AACF,GAAC,CAAAE,GAAA,CAAAT,GAAAD,IAAAa,GAAA,CAAAxB,GAAAyB,MAAAC,EAAAH,GAAA,CAAA;CAAAnB;CAAA;CAAA;AAAA,CAAA,GAAAL,GAAA,GAAA,KAAA,GAzByCL,CAAY,GAAA+B,EAAA"}
1
+ {"version":3,"file":"SignupButton.esm.js","names":["customElement","WebComponent","consume","html","authContext","DEFAULT_AUTH_CONTEXT","_classDecs","_SignupButton","_A","WeakMap","_ref","_authDecs","context","subscribe","SignupButton","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_auth","_classPrivateFieldGet","auth","v","_classPrivateFieldSet","render","onClick","click","signup","e","preventDefault","_SignupButton2","c","_initClass","_applyDecs","default","WebComponent","_SignupButton2","_initProto","_initClass","_classDecs","_authDecs","_init_auth","_ref","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","A","d","p","_setFunctionName","P","j","D","E","I","O","k","F","l","f","N","_checkInRHS","_toPropertyKey","_toPrimitive","t","e","customElement","_SignupButton","_A","consume","authContext","args","DEFAULT_AUTH_CONTEXT"],"sources":["../../../src/components/signup-button/SignupButton.ts"],"sourcesContent":["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 '@/components/button'\n\n@customElement('solid-ui-signup-button')\nexport default class SignupButton extends WebComponent {\n @consume({ context: authContext, subscribe: true })\n private accessor auth: AuthContext = DEFAULT_AUTH_CONTEXT\n\n protected render () {\n return html`\n <slot name=\"trigger\" @click=${this.onClick}>\n <solid-ui-button>\n <slot>\n Sign Up\n </slot>\n </solid-ui-button>\n </slot>\n `\n }\n\n click () {\n this.auth.signup()\n }\n\n private onClick (e: MouseEvent) {\n e.preventDefault()\n\n this.click()\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAK4BM,IAAA,CAE3BN,EAAc,wBAAwB,CAAC;AAAA,IAAAO,GAAAC,kBAAA,IAAAC,QAAA;AAAAC,KAAAC,IAErCT,EAAQ;CAAEU,SAASR;CAAaS,WAAW;AAAK,CAAC,GAAC,SAwBpDiB,IAAAhB,cAzByCb,EAAa;CAAAc,YAAA,GAAAC,GAAA;EAAAC,AAAA,MAAA,GAAAD,CAAA,GAAAC,EAAA,MAAAT,IAAAU,EAAA,IAAA,GAAAC,EAAA,MAEhBd,CAAoB,EAAA;CAAA;CAAA,KAAAK,KAAA;EAAA,OAAAU,EAAAZ,GAAA,IAAA;CAAA;CAAA,IAAxCa,KAAIC,GAAA;EAAAC,EAAAf,GAAA,MAAAc,CAAA;CAAA;CAEXE,SAAU;EAClB,OAAOrB,CAAI;oCACqB,KAAKsB,QAAO;;;;;;;;CAQ9C;CAEAC,QAAS;EACP,KAAKL,KAAKM,OAAO;CACnB;CAEQF,QAASG,GAAe;EAG9B,AAFAA,EAAEC,eAAe,GAEjB,KAAKH,MAAM;CACb;AACF,GAAC,CAAAE,GAAA,CAAAT,GAAAD,IAAAa,GAAA,CAAAxB,GAAAyB,MAAAC,EAAAH,GAAA,CAAA;CAAAnB;CAAA;CAAA;AAAA,CAAA,GAAAL,GAAA,GAAA,KAAA,GAzByCL,CAAY,GAAA+B,EAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","names":["SignupButton"],"sources":["../../../src/components/signup-button/index.ts"],"sourcesContent":["import SignupButton from './SignupButton'\n\nexport { SignupButton }\nexport default SignupButton\n"],"mappings":"wIAGA,IAAA,EAAeA,EAAAA"}
1
+ {"version":3,"file":"index.cjs.js","names":["SignupButton","SignupButton","require_SignupButton","signup_button_default"],"sources":["../../../src/components/signup-button/index.ts"],"sourcesContent":["import SignupButton from './SignupButton'\n\nexport { SignupButton }\nexport default SignupButton\n"],"mappings":"wIAGA,IAAAG,EAAeH,EAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","names":["SignupButton"],"sources":["../../../src/components/signup-button/index.ts"],"sourcesContent":["import SignupButton from './SignupButton'\n\nexport { SignupButton }\nexport default SignupButton\n"],"mappings":";;AAGA,IAAA,IAAeA"}
1
+ {"version":3,"file":"index.esm.js","names":["SignupButton","SignupButton","_SignupButton","signup_button_default"],"sources":["../../../src/components/signup-button/index.ts"],"sourcesContent":["import SignupButton from './SignupButton'\n\nexport { SignupButton }\nexport default SignupButton\n"],"mappings":";;AAGA,IAAAG,IAAeH"}
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../chunks/signup-button-DufShSEV.js";
1
+ import { n as e, t } from "../chunks/signup-button-DnPnUTTm.js";
2
2
  export { e as SignupButton, t as default };
@@ -1 +1 @@
1
- {"version":3,"file":"SolidEmblem.cjs.js","names":["customElement","WebComponent","html","styles","_classDecs","_SolidEmblem","_SolidEmblem2","_SolidEmblem3","SolidEmblem","render","_initClass","_applyDecs","c","_Class","_identity","constructor","_defineProperty","default"],"sources":["../../../src/components/solid-emblem/SolidEmblem.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { html } from 'lit'\n\nimport '~icons/app/solid-emblem'\n\nimport styles from './SolidEmblem.styles.css'\n\n@customElement('solid-ui-solid-emblem')\nexport default class SolidEmblem extends WebComponent {\n static styles = styles\n\n protected render () {\n return html`<icon-app-solid-emblem></icon-app-solid-emblem>`\n }\n}\n"],"mappings":"g/HAK6CI,EAAA,CAE5CJ,EAAAA,cAAc,uBAAuB,CAAC,EAAA,IAAAK,EAAA,IAAAC,GAAAC,EAAvC,cACyCN,EAAAA,OAAa,CAG1CQ,QAAU,CAClB,MAAOP,GAAAA,IAAI,iDACb,CACF,EAAC,CAAAG,EAAAK,GAAAC,EAAAJ,EAAA,CAAA,EAAAH,EAAA,EAAA,IAAA,GANwCH,EAAAA,OAAY,CAAA,CAAAW,EAAAL,GAAAM,EAAA,cAAAC,CAAA,CAAAC,aAAA,CAAA,MAAAV,CAAA,EAAAW,EAAA,KAAA,SACnCb,EAAAA,OAAM,EAAAO,EAAA,CAAA,CAAA,EAAAM,EAAAH,EAAAP,EAAA,IAAA,EAAA,EAAAO"}
1
+ {"version":3,"file":"SolidEmblem.cjs.js","names":["customElement","WebComponent","html","styles","_classDecs","_SolidEmblem","_SolidEmblem2","_SolidEmblem3","SolidEmblem","render","_initClass","_applyDecs","c","_Class","_identity","constructor","_defineProperty","default","customElement","WebComponent","styles","require_decorators","require_WebComponent","require_SolidEmblem_styles","lit","_Class","_SolidEmblem3","_initClass","_classDecs","_SolidEmblem2","_defineProperty","_toPropertyKey","r","t","_applyDecs","i","n","o","c","s","applyDec","m","y","g","u","w","A","d","f","p","_setFunctionName","P","j","D","E","I","O","k","F","l","N","_checkInRHS","h","v","b","_toPrimitive","e","_identity","_SolidEmblem"],"sources":["../../../src/components/solid-emblem/SolidEmblem.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { html } from 'lit'\n\nimport '~icons/app/solid-emblem'\n\nimport styles from './SolidEmblem.styles.css'\n\n@customElement('solid-ui-solid-emblem')\nexport default class SolidEmblem extends WebComponent {\n static styles = styles\n\n protected render () {\n return html`<icon-app-solid-emblem></icon-app-solid-emblem>`\n }\n}\n"],"mappings":"g/HAK6CI,EAAA,CAE5CJ,EAAAA,cAAc,uBAAuB,CAAC,EAAA,IAAAK,EAAA,IAAAC,GAAAC,EAAvC,cACyCN,EAAAA,OAAa,CAG1CQ,QAAU,CAClB,MAAOP,GAAAA,IAAI,iDACb,CACF,EAAC,CAAAG,EAAAK,GAAAC,EAAAJ,EAAA,CAAA,EAAAH,EAAA,EAAA,IAAA,GANwCH,EAAAA,OAAY,CAAA,CAAAW,EAAAL,GAAAM,EAAA,cAAAC,CAAA,CAAAC,aAAA,CAAA,MAAAV,CAAA,EAAAW,EAAA,KAAA,SACnCb,EAAAA,OAAM,EAAAO,EAAA,CAAA,CAAA,EAAAM,EAAAH,EAAAP,EAAA,IAAA,EAAA,EAAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"SolidEmblem.esm.js","names":["customElement","WebComponent","html","styles","_classDecs","_SolidEmblem","_SolidEmblem2","_SolidEmblem3","SolidEmblem","render","_initClass","_applyDecs","c","_Class","_identity","constructor","_defineProperty","default"],"sources":["../../../src/components/solid-emblem/SolidEmblem.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { html } from 'lit'\n\nimport '~icons/app/solid-emblem'\n\nimport styles from './SolidEmblem.styles.css'\n\n@customElement('solid-ui-solid-emblem')\nexport default class SolidEmblem extends WebComponent {\n static styles = styles\n\n protected render () {\n return html`<icon-app-solid-emblem></icon-app-solid-emblem>`\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAK6CI,IAAA,CAE5CJ,EAAc,uBAAuB,CAAC;AAAA,IAAAK;AAAA,KAAAC,KAAAC,IAAvC,cACyCN,EAAa;CAG1CQ,SAAU;EAClB,OAAOP,CAAI;CACb;AACF,GAAC,CAAAG,GAAAK,KAAAC,EAAAJ,GAAA,CAAA,GAAAH,GAAA,GAAA,KAAA,GANwCH,CAAY,CAAA,CAAAW,GAAAL,IAAAM,IAAA,cAAAC,EAAA;CAAAC,cAAA;EAAA,MAAAV,CAAA,GAAAW,EAAA,MAAA,UACnCb,CAAM,GAAAO,EAAA;CAAA;AAAA,GAAAM,EAAAH,GAAAP,GAAA,KAAA,CAAA,GAAAO,GAAA"}
1
+ {"version":3,"file":"SolidEmblem.esm.js","names":["customElement","WebComponent","html","styles","_classDecs","_SolidEmblem","_SolidEmblem2","_SolidEmblem3","SolidEmblem","render","_initClass","_applyDecs","c","_Class","_identity","constructor","_defineProperty","default","styles","WebComponent","SolidEmblem_styles_default","_Class","_SolidEmblem3","_initClass","_classDecs","_SolidEmblem2","_defineProperty","_toPropertyKey","r","t","_applyDecs","i","n","o","c","s","applyDec","m","y","g","u","w","A","d","p","_setFunctionName","P","j","D","E","I","O","k","F","l","f","N","_checkInRHS","h","v","b","_toPrimitive","e","_identity","customElement","_SolidEmblem"],"sources":["../../../src/components/solid-emblem/SolidEmblem.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { html } from 'lit'\n\nimport '~icons/app/solid-emblem'\n\nimport styles from './SolidEmblem.styles.css'\n\n@customElement('solid-ui-solid-emblem')\nexport default class SolidEmblem extends WebComponent {\n static styles = styles\n\n protected render () {\n return html`<icon-app-solid-emblem></icon-app-solid-emblem>`\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAK6CI,IAAA,CAE5CJ,EAAc,uBAAuB,CAAC;AAAA,IAAAK;AAAA,KAAAC,KAAAC,IAAvC,cACyCN,EAAa;CAG1CQ,SAAU;EAClB,OAAOP,CAAI;CACb;AACF,GAAC,CAAAG,GAAAK,KAAAC,EAAAJ,GAAA,CAAA,GAAAH,GAAA,GAAA,KAAA,GANwCH,CAAY,CAAA,CAAAW,GAAAL,IAAAM,IAAA,cAAAC,EAAA;CAAAC,cAAA;EAAA,MAAAV,CAAA,GAAAW,EAAA,MAAA,UACnCb,CAAM,GAAAO,EAAA;CAAA;AAAA,GAAAM,EAAAH,GAAAP,GAAA,KAAA,CAAA,GAAAO,GAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SolidEmblem.styles.cjs.js","names":[],"sources":["../../../src/components/solid-emblem/SolidEmblem.styles.css"],"sourcesContent":[":host {\n display: inline-flex;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"SolidEmblem.styles.cjs.js","names":["SolidEmblem_styles_default"],"sources":["../../../src/components/solid-emblem/SolidEmblem.styles.css"],"sourcesContent":[":host {\n display: inline-flex;\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"SolidEmblem.styles.esm.js","names":[],"sources":["../../../src/components/solid-emblem/SolidEmblem.styles.css"],"sourcesContent":[":host {\n display: inline-flex;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"SolidEmblem.styles.esm.js","names":["SolidEmblem_styles_default"],"sources":["../../../src/components/solid-emblem/SolidEmblem.styles.css"],"sourcesContent":[":host {\n display: inline-flex;\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","names":["SolidEmblem"],"sources":["../../../src/components/solid-emblem/index.ts"],"sourcesContent":["import SolidEmblem from './SolidEmblem'\n\nexport { SolidEmblem }\nexport default SolidEmblem\n"],"mappings":"uIAGA,IAAA,EAAeA,EAAAA"}
1
+ {"version":3,"file":"index.cjs.js","names":["SolidEmblem","SolidEmblem","require_SolidEmblem","solid_emblem_default"],"sources":["../../../src/components/solid-emblem/index.ts"],"sourcesContent":["import SolidEmblem from './SolidEmblem'\n\nexport { SolidEmblem }\nexport default SolidEmblem\n"],"mappings":"uIAGA,IAAAG,EAAeH,EAAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","names":["SolidEmblem"],"sources":["../../../src/components/solid-emblem/index.ts"],"sourcesContent":["import SolidEmblem from './SolidEmblem'\n\nexport { SolidEmblem }\nexport default SolidEmblem\n"],"mappings":";;AAGA,IAAA,IAAeA"}
1
+ {"version":3,"file":"index.esm.js","names":["SolidEmblem","SolidEmblem","_SolidEmblem","solid_emblem_default"],"sources":["../../../src/components/solid-emblem/index.ts"],"sourcesContent":["import SolidEmblem from './SolidEmblem'\n\nexport { SolidEmblem }\nexport default SolidEmblem\n"],"mappings":";;AAGA,IAAAG,IAAeH"}
@@ -1,27 +1,27 @@
1
- import "./chunks/auth-YsyyEh_c.js";
1
+ import "./chunks/auth-DrN7Ex4E.js";
2
2
  import "./chunks/dialog-D9Ellvjx.js";
3
3
  import "./chunks/dialog-header-0dobhr5C.js";
4
4
  import "./chunks/button-CnmrOsEf.js";
5
5
  import "./chunks/dialog-content-B2FmmQvH.js";
6
6
  import "./chunks/dialog-footer-CxjoqQJF.js";
7
- import "./chunks/combobox-D3eGdicW.js";
7
+ import "./chunks/combobox-B0TqOl9L.js";
8
8
  import "./chunks/combobox-option-BcXpUnWu.js";
9
9
  import "./chunks/dialogs-root-ngPW2Q6K.js";
10
- import "./chunks/provider-BZsO0FFR.js";
11
- import "./chunks/avatar-BXaBs_3q.js";
12
- import "./chunks/login-button-DZb_CXCo.js";
13
- import "./chunks/logout-button-CaD4ESfx.js";
10
+ import "./chunks/provider-D5r57fK1.js";
11
+ import "./chunks/avatar-CoxEa3ul.js";
12
+ import "./chunks/login-button-DAzbhvKk.js";
13
+ import "./chunks/logout-button-lGJtt7lq.js";
14
14
  import "./chunks/menu-item-BdCkmJol.js";
15
- import "./chunks/menu-BiqIAf-j.js";
16
- import "./chunks/signup-button-DufShSEV.js";
17
- import "./chunks/account-CSKDoS_I.js";
15
+ import "./chunks/menu-BLZREG4_.js";
16
+ import "./chunks/signup-button-DnPnUTTm.js";
17
+ import "./chunks/account-BawgTPEQ.js";
18
18
  import "./components/dialog-provider.js";
19
- import "./chunks/guard-BTbfcRR6.js";
19
+ import "./chunks/guard-BtHmPAJt.js";
20
20
  import "./chunks/input-BIhn_8nf.js";
21
21
  import "./chunks/photo-capture-modal-BhmL3kYD.js";
22
22
  import "./chunks/photo-capture-Bvixtxsq.js";
23
- import "./chunks/rdf-input-CiQNdkKK.js";
24
- import "./chunks/rdf-form-C2zcf1F0.js";
23
+ import "./chunks/rdf-input-DeDhyQ3p.js";
24
+ import "./chunks/rdf-form-B2zTR8Qv.js";
25
25
  import "./chunks/select-BcC-ICqO.js";
26
26
  import "./chunks/select-option-B0uXcj2O.js";
27
27
  import "./chunks/solid-emblem-CcQOqRX0.js";
@@ -1 +1 @@
1
- {"version":3,"file":"create.cjs.js","names":[],"sources":["../../src/create/create.ts"],"sourcesContent":["/* create.js UI to craete new objects in the solid-app-set world\n **\n */\n\nimport { DataBrowserContext, NewPaneOptions, PaneDefinition } from 'pane-registry'\nimport { solidLogicSingleton } from 'solid-logic'\nimport * as debug from '../lib/debug'\nimport { icons } from '../lib/iconBase'\nimport { ensureLoadedProfile, selectWorkspace } from '../login/login'\nimport ns from '../lib/ns'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { CreateContext, NewAppInstanceOptions } from './types'\n\nconst kb = solidLogicSingleton.store\n\n/* newThingUI -- return UI for user to select a new object, folder, etc\n **\n ** context must include: dom, div,\n ** optional: folder: NamedNode -- the folder where the thing is bring put\n ** (suppresses asking for a full URI or workspace)\n **\n */\nexport function newThingUI (\n createContext: CreateContext,\n dataBrowserContext: DataBrowserContext,\n thePanes: Array<PaneDefinition>\n): void {\n const dom = createContext.dom\n const div = createContext.div\n if (createContext.me && !createContext.me.uri) {\n throw new Error('newThingUI: Invalid userid: ' + createContext.me)\n }\n\n const iconStyle = 'padding: 0.7em; width: 2em; height: 2em;' // was: 'padding: 1em; width: 3em; height: 3em;'\n const star = div.appendChild(dom.createElement('img'))\n let visible = false // the inividual tools tools\n // noun_272948.svg = black star\n // noun_34653_green.svg = green plus\n star.setAttribute('src', icons.iconBase + 'noun_34653_green.svg')\n star.setAttribute('style', iconStyle)\n star.setAttribute('title', 'Add another tool')\n\n const complain = function complain (message) {\n const pre = div.appendChild(dom.createElement('pre'))\n pre.setAttribute('style', 'background-color: pink')\n pre.appendChild(dom.createTextNode(message))\n }\n\n function styleTheIcons (style) {\n for (let i = 0; i < iconArray.length; i++) {\n let st = iconStyle + style\n if (iconArray[i].disabled) {\n // @@ unused\n st += 'opacity: 0.3;'\n }\n iconArray[i].setAttribute('style', st) // eg 'background-color: #ccc;'\n }\n }\n\n function selectTool (icon) {\n styleTheIcons('display: none;') // 'background-color: #ccc;'\n icon.setAttribute('style', iconStyle + 'background-color: yellow;')\n }\n\n function selectNewTool (_event?) {\n visible = !visible\n star.setAttribute(\n 'style',\n iconStyle + (visible ? 'background-color: yellow;' : '')\n )\n styleTheIcons(visible ? '' : 'display: none;')\n }\n\n star.addEventListener('click', selectNewTool)\n\n function makeNewAppInstance (options: NewAppInstanceOptions) {\n return new Promise(function (resolve, reject) {\n let selectUI // , selectUIParent\n function callbackWS (ws, newBase) {\n ensureLoadedProfile(createContext).then(\n _context => {\n const newPaneOptions: NewPaneOptions = Object.assign({\n newBase,\n folder: options.folder || undefined,\n workspace: ws\n }, options)\n for (const opt in options) {\n // get div, dom, me, folder, pane, refreshTable\n newPaneOptions[opt] = options[opt]\n }\n debug.log(`newThingUI: Minting new ${newPaneOptions.pane.name} at ${newPaneOptions.newBase}`)\n options.pane\n .mintNew!(dataBrowserContext, newPaneOptions)\n .then(function (newPaneOptions) {\n if (!newPaneOptions || !newPaneOptions.newInstance) {\n throw new Error('Cannot mint new - missing newInstance')\n }\n if (newPaneOptions.folder) {\n const tail = newPaneOptions.newInstance.uri.slice(\n newPaneOptions.folder.uri.length\n )\n const isPackage = tail.includes('/')\n debug.log(' new thing is packge? ' + isPackage)\n if (isPackage) {\n kb.add(\n newPaneOptions.folder,\n ns.ldp('contains'),\n kb.sym(newPaneOptions.newBase),\n newPaneOptions.folder.doc()\n )\n } else {\n // single file\n kb.add(\n newPaneOptions.folder,\n ns.ldp('contains'),\n newPaneOptions.newInstance,\n newPaneOptions.folder.doc()\n ) // Ping the patch system?\n }\n // @ts-ignore @@ TODO check whether refresh can exist here. Either fix type or remove unreachable code\n if (newPaneOptions.refreshTarget && newPaneOptions.refreshTarget.refresh) {\n // @@ TODO Remove the need to cast as any\n ;(newPaneOptions.refreshTarget as any).refresh() // Refresh the containing display\n }\n // selectUI.parentNode.removeChild(selectUI) It removes itself\n } else {\n const p = options.div.appendChild(dom.createElement('p'))\n p.setAttribute('style', 'font-size: 120%;')\n // Make link to new thing\n p.innerHTML =\n 'Your <a target=\\'_blank\\' href=\\'' +\n newPaneOptions.newInstance.uri +\n '\\'><b>new ' +\n options.noun +\n '</b></a> is ready to be set up. ' +\n '<br/><br/><a target=\\'_blank\\' href=\\'' +\n newPaneOptions.newInstance.uri +\n '\\'>Go to your new ' +\n options.noun +\n '.</a>'\n // selectUI.parentNode.removeChild(selectUI) // Clean up\n // selectUIParent.removeChild(selectUI) // Clean up\n }\n selectNewTool() // toggle star to plain and menu vanish again\n })\n .catch(function (err) {\n complain(err)\n reject(err)\n })\n },\n err => {\n // login fails\n complain('Error logging on: ' + err)\n }\n )\n } // callbackWS\n\n const pa = options.pane\n // options.appPathSegment = pa.name // was 'edu.mit.solid.pane.'\n options.noun = pa.mintClass ? utils.label(pa.mintClass) : pa.name\n options.appPathSegment = options.noun.slice(0, 1).toUpperCase() + options.noun.slice(1)\n\n if (!options.folder) {\n // No folder given? Ask user for full URI\n selectUI = selectWorkspace(dom, {\n noun: options.noun,\n appPathSegment: options.appPathSegment\n }, callbackWS)\n options.div.appendChild(selectUI)\n // selectUIParent = options.div\n } else {\n const gotName = function (name) {\n if (!name) {\n // selectUIParent.removeChild(selectUI) itremves itself if cancelled\n selectNewTool() // toggle star to plain and menu vanish again\n } else {\n let uri = options.folder!.uri\n if (!uri.endsWith('/')) {\n uri = uri + '/'\n }\n uri = uri + encodeURIComponent(name) + '/'\n callbackWS(null, uri)\n }\n }\n widgets\n .askName(\n dom,\n kb,\n options.div,\n ns.foaf('name'),\n null,\n options.noun\n )\n .then(gotName)\n // selectUI = getNameForm(dom, kb, options.noun, gotName)\n // options.div.appendChild(selectUI)\n // selectUIParent = options.div\n }\n })\n } // makeNewAppInstance\n\n const iconArray: Array<any> = []\n const mintingPanes = Object.values(thePanes).filter(pane => pane.mintNew)\n const mintingClassMap = mintingPanes.reduce((classMap, pane) => {\n if (pane.mintClass) {\n classMap[pane.mintClass.uri] = (classMap[pane.mintClass.uri] || 0) + 1\n }\n return classMap\n }, {})\n mintingPanes.forEach(pane => {\n // @@ TODO Remove the need to cast to any\n const icon: any = createContext.div.appendChild(dom.createElement('img'))\n icon.setAttribute('src', pane.icon)\n const noun = pane.mintClass\n ? mintingClassMap[pane.mintClass.uri] > 1\n ? `${utils.label(pane.mintClass)} (using ${pane.name} pane)`\n : utils.label(pane.mintClass)\n : pane.name + ' @@'\n icon.setAttribute('title', 'Make new ' + noun)\n icon.setAttribute('style', iconStyle + 'display: none;')\n iconArray.push(icon)\n if (!icon.disabled) {\n icon.addEventListener('click', function (e) {\n selectTool(icon)\n makeNewAppInstance({\n event: e,\n folder: createContext.folder || null,\n iconEle: icon,\n pane,\n noun,\n noIndexHTML: true, // do NOT @@ for now write a HTML file\n div: createContext.div,\n me: createContext.me,\n dom: createContext.dom,\n refreshTarget: createContext.refreshTarget\n })\n })\n }\n })\n}\n\n// Form to get the name of a new thing before we create it\n//\n// Used in contacts for new groups, individuals.\n//\n/*\nfunction getNameForm (dom, kb, classLabel, gotNameCallback) {\n const form = dom.createElement('div') // form is broken as HTML behaviour can resurface on js error\n form.innerHTML = '<p>Name of new ' + classLabel + ':</p>'\n const namefield = dom.createElement('input')\n namefield.setAttribute('type', 'text')\n namefield.setAttribute('size', '30')\n namefield.setAttribute('style', style.textInputStyle)\n namefield.setAttribute('maxLength', '2048') // No arbitrary limits\n namefield.select() // focus next user input\n\n const gotName = function () {\n namefield.setAttribute('class', 'pendingedit')\n namefield.disabled = true\n continueButton.disabled = true\n cancel.disabled = true\n gotNameCallback(true, namefield.value)\n }\n\n namefield.addEventListener('keyup', function (e) {\n if (e.keyCode === 13) {\n gotName()\n }\n }, false)\n form.appendChild(namefield)\n\n form.appendChild(dom.createElement('br'))\n\n const cancel = form.appendChild(widgets.cancelButton(dom))\n cancel.addEventListener('click', function (e) {\n form.parentNode.removeChild(form)\n gotNameCallback(false)\n }, false)\n\n const continueButton = form.appendChild(widgets.continueButton(dom))\n continueButton.addEventListener('click', function (e) {\n gotName()\n }, false)\n\n return form\n}\n*/\n"],"mappings":"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"}
1
+ {"version":3,"file":"create.cjs.js","names":["solidLogicSingleton","icons","ns","selectWorkspace","require_ns","require_label","require_debug","require_iconBase","require_buttons","require_login","kb","newThingUI","dom","createContext","div","iconStyle","star","visible","complain","pre","message","styleTheIcons","i","iconArray","st","style","selectTool","icon","selectNewTool","makeNewAppInstance","selectUI","callbackWS","newPaneOptions","options","ws","opt","dataBrowserContext","isPackage","p","err","reject","pa","name","uri","mintingPanes","thePanes","pane","mintingClassMap","classMap","noun","e"],"sources":["../../src/create/create.ts"],"sourcesContent":["/* create.js UI to craete new objects in the solid-app-set world\n **\n */\n\nimport { DataBrowserContext, NewPaneOptions, PaneDefinition } from 'pane-registry'\nimport { solidLogicSingleton } from 'solid-logic'\nimport * as debug from '../lib/debug'\nimport { icons } from '../lib/iconBase'\nimport { ensureLoadedProfile, selectWorkspace } from '../login/login'\nimport ns from '../lib/ns'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\nimport { CreateContext, NewAppInstanceOptions } from './types'\n\nconst kb = solidLogicSingleton.store\n\n/* newThingUI -- return UI for user to select a new object, folder, etc\n **\n ** context must include: dom, div,\n ** optional: folder: NamedNode -- the folder where the thing is bring put\n ** (suppresses asking for a full URI or workspace)\n **\n */\nexport function newThingUI (\n createContext: CreateContext,\n dataBrowserContext: DataBrowserContext,\n thePanes: Array<PaneDefinition>\n): void {\n const dom = createContext.dom\n const div = createContext.div\n if (createContext.me && !createContext.me.uri) {\n throw new Error('newThingUI: Invalid userid: ' + createContext.me)\n }\n\n const iconStyle = 'padding: 0.7em; width: 2em; height: 2em;' // was: 'padding: 1em; width: 3em; height: 3em;'\n const star = div.appendChild(dom.createElement('img'))\n let visible = false // the inividual tools tools\n // noun_272948.svg = black star\n // noun_34653_green.svg = green plus\n star.setAttribute('src', icons.iconBase + 'noun_34653_green.svg')\n star.setAttribute('style', iconStyle)\n star.setAttribute('title', 'Add another tool')\n\n const complain = function complain (message) {\n const pre = div.appendChild(dom.createElement('pre'))\n pre.setAttribute('style', 'background-color: pink')\n pre.appendChild(dom.createTextNode(message))\n }\n\n function styleTheIcons (style) {\n for (let i = 0; i < iconArray.length; i++) {\n let st = iconStyle + style\n if (iconArray[i].disabled) {\n // @@ unused\n st += 'opacity: 0.3;'\n }\n iconArray[i].setAttribute('style', st) // eg 'background-color: #ccc;'\n }\n }\n\n function selectTool (icon) {\n styleTheIcons('display: none;') // 'background-color: #ccc;'\n icon.setAttribute('style', iconStyle + 'background-color: yellow;')\n }\n\n function selectNewTool (_event?) {\n visible = !visible\n star.setAttribute(\n 'style',\n iconStyle + (visible ? 'background-color: yellow;' : '')\n )\n styleTheIcons(visible ? '' : 'display: none;')\n }\n\n star.addEventListener('click', selectNewTool)\n\n function makeNewAppInstance (options: NewAppInstanceOptions) {\n return new Promise(function (resolve, reject) {\n let selectUI // , selectUIParent\n function callbackWS (ws, newBase) {\n ensureLoadedProfile(createContext).then(\n _context => {\n const newPaneOptions: NewPaneOptions = Object.assign({\n newBase,\n folder: options.folder || undefined,\n workspace: ws\n }, options)\n for (const opt in options) {\n // get div, dom, me, folder, pane, refreshTable\n newPaneOptions[opt] = options[opt]\n }\n debug.log(`newThingUI: Minting new ${newPaneOptions.pane.name} at ${newPaneOptions.newBase}`)\n options.pane\n .mintNew!(dataBrowserContext, newPaneOptions)\n .then(function (newPaneOptions) {\n if (!newPaneOptions || !newPaneOptions.newInstance) {\n throw new Error('Cannot mint new - missing newInstance')\n }\n if (newPaneOptions.folder) {\n const tail = newPaneOptions.newInstance.uri.slice(\n newPaneOptions.folder.uri.length\n )\n const isPackage = tail.includes('/')\n debug.log(' new thing is packge? ' + isPackage)\n if (isPackage) {\n kb.add(\n newPaneOptions.folder,\n ns.ldp('contains'),\n kb.sym(newPaneOptions.newBase),\n newPaneOptions.folder.doc()\n )\n } else {\n // single file\n kb.add(\n newPaneOptions.folder,\n ns.ldp('contains'),\n newPaneOptions.newInstance,\n newPaneOptions.folder.doc()\n ) // Ping the patch system?\n }\n // @ts-ignore @@ TODO check whether refresh can exist here. Either fix type or remove unreachable code\n if (newPaneOptions.refreshTarget && newPaneOptions.refreshTarget.refresh) {\n // @@ TODO Remove the need to cast as any\n ;(newPaneOptions.refreshTarget as any).refresh() // Refresh the containing display\n }\n // selectUI.parentNode.removeChild(selectUI) It removes itself\n } else {\n const p = options.div.appendChild(dom.createElement('p'))\n p.setAttribute('style', 'font-size: 120%;')\n // Make link to new thing\n p.innerHTML =\n 'Your <a target=\\'_blank\\' href=\\'' +\n newPaneOptions.newInstance.uri +\n '\\'><b>new ' +\n options.noun +\n '</b></a> is ready to be set up. ' +\n '<br/><br/><a target=\\'_blank\\' href=\\'' +\n newPaneOptions.newInstance.uri +\n '\\'>Go to your new ' +\n options.noun +\n '.</a>'\n // selectUI.parentNode.removeChild(selectUI) // Clean up\n // selectUIParent.removeChild(selectUI) // Clean up\n }\n selectNewTool() // toggle star to plain and menu vanish again\n })\n .catch(function (err) {\n complain(err)\n reject(err)\n })\n },\n err => {\n // login fails\n complain('Error logging on: ' + err)\n }\n )\n } // callbackWS\n\n const pa = options.pane\n // options.appPathSegment = pa.name // was 'edu.mit.solid.pane.'\n options.noun = pa.mintClass ? utils.label(pa.mintClass) : pa.name\n options.appPathSegment = options.noun.slice(0, 1).toUpperCase() + options.noun.slice(1)\n\n if (!options.folder) {\n // No folder given? Ask user for full URI\n selectUI = selectWorkspace(dom, {\n noun: options.noun,\n appPathSegment: options.appPathSegment\n }, callbackWS)\n options.div.appendChild(selectUI)\n // selectUIParent = options.div\n } else {\n const gotName = function (name) {\n if (!name) {\n // selectUIParent.removeChild(selectUI) itremves itself if cancelled\n selectNewTool() // toggle star to plain and menu vanish again\n } else {\n let uri = options.folder!.uri\n if (!uri.endsWith('/')) {\n uri = uri + '/'\n }\n uri = uri + encodeURIComponent(name) + '/'\n callbackWS(null, uri)\n }\n }\n widgets\n .askName(\n dom,\n kb,\n options.div,\n ns.foaf('name'),\n null,\n options.noun\n )\n .then(gotName)\n // selectUI = getNameForm(dom, kb, options.noun, gotName)\n // options.div.appendChild(selectUI)\n // selectUIParent = options.div\n }\n })\n } // makeNewAppInstance\n\n const iconArray: Array<any> = []\n const mintingPanes = Object.values(thePanes).filter(pane => pane.mintNew)\n const mintingClassMap = mintingPanes.reduce((classMap, pane) => {\n if (pane.mintClass) {\n classMap[pane.mintClass.uri] = (classMap[pane.mintClass.uri] || 0) + 1\n }\n return classMap\n }, {})\n mintingPanes.forEach(pane => {\n // @@ TODO Remove the need to cast to any\n const icon: any = createContext.div.appendChild(dom.createElement('img'))\n icon.setAttribute('src', pane.icon)\n const noun = pane.mintClass\n ? mintingClassMap[pane.mintClass.uri] > 1\n ? `${utils.label(pane.mintClass)} (using ${pane.name} pane)`\n : utils.label(pane.mintClass)\n : pane.name + ' @@'\n icon.setAttribute('title', 'Make new ' + noun)\n icon.setAttribute('style', iconStyle + 'display: none;')\n iconArray.push(icon)\n if (!icon.disabled) {\n icon.addEventListener('click', function (e) {\n selectTool(icon)\n makeNewAppInstance({\n event: e,\n folder: createContext.folder || null,\n iconEle: icon,\n pane,\n noun,\n noIndexHTML: true, // do NOT @@ for now write a HTML file\n div: createContext.div,\n me: createContext.me,\n dom: createContext.dom,\n refreshTarget: createContext.refreshTarget\n })\n })\n }\n })\n}\n\n// Form to get the name of a new thing before we create it\n//\n// Used in contacts for new groups, individuals.\n//\n/*\nfunction getNameForm (dom, kb, classLabel, gotNameCallback) {\n const form = dom.createElement('div') // form is broken as HTML behaviour can resurface on js error\n form.innerHTML = '<p>Name of new ' + classLabel + ':</p>'\n const namefield = dom.createElement('input')\n namefield.setAttribute('type', 'text')\n namefield.setAttribute('size', '30')\n namefield.setAttribute('style', style.textInputStyle)\n namefield.setAttribute('maxLength', '2048') // No arbitrary limits\n namefield.select() // focus next user input\n\n const gotName = function () {\n namefield.setAttribute('class', 'pendingedit')\n namefield.disabled = true\n continueButton.disabled = true\n cancel.disabled = true\n gotNameCallback(true, namefield.value)\n }\n\n namefield.addEventListener('keyup', function (e) {\n if (e.keyCode === 13) {\n gotName()\n }\n }, false)\n form.appendChild(namefield)\n\n form.appendChild(dom.createElement('br'))\n\n const cancel = form.appendChild(widgets.cancelButton(dom))\n cancel.addEventListener('click', function (e) {\n form.parentNode.removeChild(form)\n gotNameCallback(false)\n }, false)\n\n const continueButton = form.appendChild(widgets.continueButton(dom))\n continueButton.addEventListener('click', function (e) {\n gotName()\n }, false)\n\n return form\n}\n*/\n"],"mappings":"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"}