solid-ui 3.1.3-6 → 3.1.3-8

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 (552) hide show
  1. package/dist/_virtual/~icons/app/solid-emblem.cjs.js +3 -0
  2. package/dist/_virtual/~icons/app/solid-emblem.cjs.js.map +1 -0
  3. package/dist/_virtual/~icons/app/solid-emblem.esm.js +11 -0
  4. package/dist/_virtual/~icons/app/solid-emblem.esm.js.map +1 -0
  5. package/dist/_virtual/~icons/lucide/chevron-down.cjs.js +1 -1
  6. package/dist/_virtual/~icons/lucide/chevron-down.esm.js +1 -0
  7. package/dist/_virtual/~icons/lucide/circle-user.cjs.js +1 -1
  8. package/dist/_virtual/~icons/lucide/circle-user.esm.js +1 -0
  9. package/dist/_virtual/~icons/lucide/log-in.cjs.js +1 -1
  10. package/dist/_virtual/~icons/lucide/log-in.esm.js +1 -0
  11. package/dist/_virtual/~icons/lucide/log-out.cjs.js +1 -1
  12. package/dist/_virtual/~icons/lucide/log-out.esm.js +1 -0
  13. package/dist/_virtual/~icons/lucide/user.cjs.js +1 -1
  14. package/dist/_virtual/~icons/lucide/user.esm.js +1 -0
  15. package/dist/_virtual/~icons/lucide/x.cjs.js +1 -1
  16. package/dist/_virtual/~icons/lucide/x.esm.js +1 -0
  17. package/dist/_virtual/~icons/svg-spinners/180-ring.cjs.js +1 -1
  18. package/dist/_virtual/~icons/svg-spinners/180-ring.esm.js +1 -0
  19. package/dist/acl/access-controller.cjs.js +1 -1
  20. package/dist/acl/access-controller.cjs.js.map +1 -1
  21. package/dist/acl/access-controller.esm.js.map +1 -1
  22. package/dist/acl/access-groups.cjs.js.map +1 -1
  23. package/dist/acl/access-groups.esm.js.map +1 -1
  24. package/dist/acl/acl-control.cjs.js +1 -1
  25. package/dist/acl/acl-control.cjs.js.map +1 -1
  26. package/dist/acl/acl-control.esm.js +1 -1
  27. package/dist/acl/acl-control.esm.js.map +1 -1
  28. package/dist/acl/acl.cjs.js.map +1 -1
  29. package/dist/acl/acl.esm.js.map +1 -1
  30. package/dist/acl/add-agent-buttons.cjs.js.map +1 -1
  31. package/dist/acl/add-agent-buttons.esm.js.map +1 -1
  32. package/dist/breakpoints.css +1 -0
  33. package/dist/breakpoints.css.d.ts +1 -0
  34. package/dist/chat/bookmarks.cjs.js +1 -1
  35. package/dist/chat/bookmarks.cjs.js.map +1 -1
  36. package/dist/chat/bookmarks.esm.js +1 -1
  37. package/dist/chat/bookmarks.esm.js.map +1 -1
  38. package/dist/chat/chatLogic.cjs.js.map +1 -1
  39. package/dist/chat/chatLogic.esm.js.map +1 -1
  40. package/dist/chat/dateFolder.cjs.js +1 -1
  41. package/dist/chat/dateFolder.cjs.js.map +1 -1
  42. package/dist/chat/dateFolder.esm.js +1 -1
  43. package/dist/chat/dateFolder.esm.js.map +1 -1
  44. package/dist/chat/infinite.cjs.js +1 -1
  45. package/dist/chat/infinite.cjs.js.map +1 -1
  46. package/dist/chat/infinite.esm.js +1 -1
  47. package/dist/chat/infinite.esm.js.map +1 -1
  48. package/dist/chat/keys.cjs.js +1 -1
  49. package/dist/chat/keys.cjs.js.map +1 -1
  50. package/dist/chat/keys.esm.js +1 -1
  51. package/dist/chat/keys.esm.js.map +1 -1
  52. package/dist/chat/message.cjs.js +1 -1
  53. package/dist/chat/message.cjs.js.map +1 -1
  54. package/dist/chat/message.esm.js +24 -24
  55. package/dist/chat/message.esm.js.map +1 -1
  56. package/dist/chat/messageTools.cjs.js.map +1 -1
  57. package/dist/chat/messageTools.esm.js.map +1 -1
  58. package/dist/chat/signature.cjs.js +1 -1
  59. package/dist/chat/signature.cjs.js.map +1 -1
  60. package/dist/chat/signature.esm.js +1 -1
  61. package/dist/chunks/{DialogProvider-DphduSXG.js → DialogProvider-Bt65G0Tk.js} +4 -4
  62. package/dist/chunks/DialogProvider-Bt65G0Tk.js.map +1 -0
  63. package/dist/chunks/{account-CFhrB0LO.js → account-jSZP2tZ5.js} +76 -60
  64. package/dist/chunks/account-jSZP2tZ5.js.map +1 -0
  65. package/dist/chunks/{auth-Cpf3HYqF.js → auth-CZOEEeJ8.js} +23 -23
  66. package/dist/chunks/{auth-Cpf3HYqF.js.map → auth-CZOEEeJ8.js.map} +1 -1
  67. package/dist/chunks/{avatar-D281qln0.js → avatar-BugsRJZg.js} +5 -5
  68. package/dist/chunks/avatar-BugsRJZg.js.map +1 -0
  69. package/dist/chunks/{button-DbKYu6-r.js → button-0s0lZdxm.js} +2 -2
  70. package/dist/chunks/{button-DbKYu6-r.js.map → button-0s0lZdxm.js.map} +1 -1
  71. package/dist/chunks/chunk.K442ELDU-TtQSV9g1.js +1516 -0
  72. package/dist/chunks/chunk.K442ELDU-TtQSV9g1.js.map +1 -0
  73. package/dist/chunks/combobox-Cxi8xUMn.js +473 -0
  74. package/dist/chunks/combobox-Cxi8xUMn.js.map +1 -0
  75. package/dist/chunks/{combobox-option-Ck0mu4Gc.js → combobox-option-DiR3VpyT.js} +2 -2
  76. package/dist/chunks/{combobox-option-Ck0mu4Gc.js.map → combobox-option-DiR3VpyT.js.map} +1 -1
  77. package/dist/chunks/{components-BlEGdx4i.js → components-C1LEhsaK.js} +5 -9
  78. package/dist/chunks/components-C1LEhsaK.js.map +1 -0
  79. package/dist/chunks/{context-DJ_8r7Oc.js → context-uE5jJlS0.js} +2 -2
  80. package/dist/chunks/{context-DJ_8r7Oc.js.map → context-uE5jJlS0.js.map} +1 -1
  81. package/dist/chunks/decorators-BiCkPd_3.js.map +1 -1
  82. package/dist/chunks/{dialog-DlBtmOm6.js → dialog-BAzrHJ8w.js} +6 -6
  83. package/dist/chunks/dialog-BAzrHJ8w.js.map +1 -0
  84. package/dist/chunks/{dialog-content-CMeH_BD7.js → dialog-content-fdJrkCyB.js} +2 -2
  85. package/dist/chunks/{dialog-content-CMeH_BD7.js.map → dialog-content-fdJrkCyB.js.map} +1 -1
  86. package/dist/chunks/{dialog-footer-D0zzIMlx.js → dialog-footer-Bs_p2Nn9.js} +2 -2
  87. package/dist/chunks/{dialog-footer-D0zzIMlx.js.map → dialog-footer-Bs_p2Nn9.js.map} +1 -1
  88. package/dist/chunks/{dialog-header-DeC1iiLD.js → dialog-header-CWIAAoDo.js} +2 -2
  89. package/dist/chunks/{dialog-header-DeC1iiLD.js.map → dialog-header-CWIAAoDo.js.map} +1 -1
  90. package/dist/chunks/{dialogs-root-BcUcRuAt.js → dialogs-root-Cv932Aqm.js} +3 -3
  91. package/dist/chunks/{dialogs-root-BcUcRuAt.js.map → dialogs-root-Cv932Aqm.js.map} +1 -1
  92. package/dist/chunks/{footer-Bxe4WPgl.js → footer-kVa_uMeQ.js} +3 -3
  93. package/dist/chunks/{footer-Bxe4WPgl.js.map → footer-kVa_uMeQ.js.map} +1 -1
  94. package/dist/chunks/{guard-Da3znlJI.js → guard-Cml6dHTv.js} +4 -4
  95. package/dist/chunks/{guard-Da3znlJI.js.map → guard-Cml6dHTv.js.map} +1 -1
  96. package/dist/chunks/{headerFooterHelpers-5LYv-0Rt.js → headerFooterHelpers-BiZ6X10e.js} +15 -15
  97. package/dist/chunks/{headerFooterHelpers-5LYv-0Rt.js.map → headerFooterHelpers-BiZ6X10e.js.map} +1 -1
  98. package/dist/chunks/{input-Bkzi4zSV.js → input-BF224Jid.js} +2 -2
  99. package/dist/chunks/{input-Bkzi4zSV.js.map → input-BF224Jid.js.map} +1 -1
  100. package/dist/chunks/{jsonld-DZG2v1pE.js → jsonld-Cd-ZhJmZ.js} +54 -54
  101. package/dist/chunks/{jsonld-DZG2v1pE.js.map → jsonld-Cd-ZhJmZ.js.map} +1 -1
  102. package/dist/chunks/lit-C4H1jI4q.js.map +1 -1
  103. package/dist/chunks/{login-button-C603hM0G.js → login-button-pe1-DVNZ.js} +5 -5
  104. package/dist/chunks/{login-button-C603hM0G.js.map → login-button-pe1-DVNZ.js.map} +1 -1
  105. package/dist/chunks/{logout-button-Cxzpq-C3.js → logout-button-C5dtQiBB.js} +5 -5
  106. package/dist/chunks/{logout-button-Cxzpq-C3.js.map → logout-button-C5dtQiBB.js.map} +1 -1
  107. package/dist/chunks/{menu-aQiqq1ET.js → menu-DNcuV-1J.js} +183 -1693
  108. package/dist/chunks/menu-DNcuV-1J.js.map +1 -0
  109. package/dist/chunks/{menu-item-DBy4o-M4.js → menu-item-CWg-eS4V.js} +8 -6
  110. package/dist/chunks/menu-item-CWg-eS4V.js.map +1 -0
  111. package/dist/chunks/photo-capture-tiBsdSbA.js.map +1 -1
  112. package/dist/chunks/{provider-DZmdgerD.js → provider-DRxSExO6.js} +5 -5
  113. package/dist/chunks/{provider-DZmdgerD.js.map → provider-DRxSExO6.js.map} +1 -1
  114. package/dist/chunks/{select-wczAzbZF.js → select-D8dW53pr.js} +2 -2
  115. package/dist/chunks/{select-wczAzbZF.js.map → select-D8dW53pr.js.map} +1 -1
  116. package/dist/chunks/{select-option-hd_d1RNj.js → select-option-B-6ULCpQ.js} +2 -2
  117. package/dist/chunks/{select-option-hd_d1RNj.js.map → select-option-B-6ULCpQ.js.map} +1 -1
  118. package/dist/chunks/{signup-button-CsRaOUI4.js → signup-button-QvYELqb6.js} +5 -5
  119. package/dist/chunks/{signup-button-CsRaOUI4.js.map → signup-button-QvYELqb6.js.map} +1 -1
  120. package/dist/chunks/solid-emblem-BDzhMTjL.js +185 -0
  121. package/dist/chunks/solid-emblem-BDzhMTjL.js.map +1 -0
  122. package/dist/chunks/{solid-logic.esm-7q6hmfIF.js → solid-logic.esm-BhVcNu8u.js} +2517 -2521
  123. package/dist/chunks/solid-logic.esm-BhVcNu8u.js.map +1 -0
  124. package/dist/chunks/{src-BOU-JwWx.js → src-DYvSns7X.js} +2378 -2354
  125. package/dist/chunks/src-DYvSns7X.js.map +1 -0
  126. package/dist/components/account/Account.cjs.js +7 -2
  127. package/dist/components/account/Account.cjs.js.map +1 -1
  128. package/dist/components/account/Account.d.ts +8 -1
  129. package/dist/components/account/Account.d.ts.map +1 -1
  130. package/dist/components/account/Account.esm.js +64 -48
  131. package/dist/components/account/Account.esm.js.map +1 -1
  132. package/dist/components/account/Account.stories.d.ts +3 -8
  133. package/dist/components/account/Account.stories.d.ts.map +1 -1
  134. package/dist/components/account/Account.styles.cjs.js +1 -1
  135. package/dist/components/account/Account.styles.cjs.js.map +1 -1
  136. package/dist/components/account/Account.styles.esm.js +1 -1
  137. package/dist/components/account/Account.styles.esm.js.map +1 -1
  138. package/dist/components/account/index.cjs.js +1 -1
  139. package/dist/components/account/index.cjs.js.map +1 -1
  140. package/dist/components/account/index.d.ts +2 -2
  141. package/dist/components/account/index.d.ts.map +1 -1
  142. package/dist/components/account/index.esm.js +1 -1
  143. package/dist/components/account/index.esm.js.map +1 -1
  144. package/dist/components/account.js +1 -1
  145. package/dist/components/avatar/Avatar.cjs.js +1 -1
  146. package/dist/components/avatar/Avatar.cjs.js.map +1 -1
  147. package/dist/components/avatar/Avatar.esm.js +1 -1
  148. package/dist/components/avatar/Avatar.styles.cjs.js +1 -1
  149. package/dist/components/avatar/Avatar.styles.cjs.js.map +1 -1
  150. package/dist/components/avatar/Avatar.styles.esm.js +1 -1
  151. package/dist/components/avatar/Avatar.styles.esm.js.map +1 -1
  152. package/dist/components/avatar/index.cjs.js +1 -1
  153. package/dist/components/avatar/index.esm.js +1 -1
  154. package/dist/components/avatar.js +1 -1
  155. package/dist/components/button/Button.cjs.js +1 -1
  156. package/dist/components/button/Button.cjs.js.map +1 -1
  157. package/dist/components/button/Button.esm.js +1 -1
  158. package/dist/components/button/Button.esm.js.map +1 -1
  159. package/dist/components/button/index.cjs.js +1 -1
  160. package/dist/components/button/index.esm.js +3 -3
  161. package/dist/components/button.js +1 -1
  162. package/dist/components/combobox/Combobox.cjs.js +57 -25
  163. package/dist/components/combobox/Combobox.cjs.js.map +1 -1
  164. package/dist/components/combobox/Combobox.d.ts +22 -3
  165. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  166. package/dist/components/combobox/Combobox.esm.js +220 -101
  167. package/dist/components/combobox/Combobox.esm.js.map +1 -1
  168. package/dist/components/combobox/Combobox.styles.cjs.js +1 -1
  169. package/dist/components/combobox/Combobox.styles.cjs.js.map +1 -1
  170. package/dist/components/combobox/Combobox.styles.esm.js +1 -1
  171. package/dist/components/combobox/Combobox.styles.esm.js.map +1 -1
  172. package/dist/components/combobox/index.cjs.js +1 -1
  173. package/dist/components/combobox/index.esm.js +1 -1
  174. package/dist/components/combobox-option/ComboboxOption.cjs.js +1 -1
  175. package/dist/components/combobox-option/ComboboxOption.cjs.js.map +1 -1
  176. package/dist/components/combobox-option/ComboboxOption.esm.js +1 -1
  177. package/dist/components/combobox-option/index.cjs.js +1 -1
  178. package/dist/components/combobox-option/index.esm.js +1 -1
  179. package/dist/components/combobox-option.js +1 -1
  180. package/dist/components/combobox.js +1 -1
  181. package/dist/components/dialog/Dialog.cjs.js +2 -2
  182. package/dist/components/dialog/Dialog.cjs.js.map +1 -1
  183. package/dist/components/dialog/Dialog.d.ts.map +1 -1
  184. package/dist/components/dialog/Dialog.esm.js +2 -2
  185. package/dist/components/dialog/Dialog.esm.js.map +1 -1
  186. package/dist/components/dialog/index.cjs.js +1 -1
  187. package/dist/components/dialog/index.esm.js +1 -1
  188. package/dist/components/dialog-content/DialogContent.cjs.js +1 -1
  189. package/dist/components/dialog-content/DialogContent.cjs.js.map +1 -1
  190. package/dist/components/dialog-content/DialogContent.esm.js +1 -1
  191. package/dist/components/dialog-content/DialogContent.esm.js.map +1 -1
  192. package/dist/components/dialog-content/index.cjs.js +1 -1
  193. package/dist/components/dialog-content/index.esm.js +1 -1
  194. package/dist/components/dialog-content.js +1 -1
  195. package/dist/components/dialog-footer/DialogFooter.cjs.js +1 -1
  196. package/dist/components/dialog-footer/DialogFooter.cjs.js.map +1 -1
  197. package/dist/components/dialog-footer/DialogFooter.esm.js +1 -1
  198. package/dist/components/dialog-footer/DialogFooter.esm.js.map +1 -1
  199. package/dist/components/dialog-footer/index.cjs.js +1 -1
  200. package/dist/components/dialog-footer/index.esm.js +1 -1
  201. package/dist/components/dialog-footer.js +1 -1
  202. package/dist/components/dialog-header/DialogHeader.cjs.js +1 -1
  203. package/dist/components/dialog-header/DialogHeader.cjs.js.map +1 -1
  204. package/dist/components/dialog-header/DialogHeader.esm.js +1 -1
  205. package/dist/components/dialog-header/DialogHeader.esm.js.map +1 -1
  206. package/dist/components/dialog-header/index.cjs.js +1 -1
  207. package/dist/components/dialog-header/index.esm.js +1 -1
  208. package/dist/components/dialog-header.js +1 -1
  209. package/dist/components/dialog-provider/DialogProvider.cjs.js +1 -1
  210. package/dist/components/dialog-provider/DialogProvider.cjs.js.map +1 -1
  211. package/dist/components/dialog-provider/DialogProvider.esm.js +2 -2
  212. package/dist/components/dialog-provider/DialogProvider.esm.js.map +1 -1
  213. package/dist/components/dialog-provider/index.cjs.js +1 -1
  214. package/dist/components/dialog-provider/index.esm.js +1 -1
  215. package/dist/components/dialog-provider.js +1 -1
  216. package/dist/components/dialog.js +1 -1
  217. package/dist/components/dialogs-root/DialogsRoot.cjs.js +1 -1
  218. package/dist/components/dialogs-root/DialogsRoot.cjs.js.map +1 -1
  219. package/dist/components/dialogs-root/DialogsRoot.esm.js +1 -1
  220. package/dist/components/dialogs-root/index.cjs.js +1 -1
  221. package/dist/components/dialogs-root/index.esm.js +1 -1
  222. package/dist/components/dialogs-root.js +1 -1
  223. package/dist/components/footer.js +1 -1
  224. package/dist/components/guard/Guard.cjs.js +1 -1
  225. package/dist/components/guard/Guard.cjs.js.map +1 -1
  226. package/dist/components/guard/Guard.esm.js +1 -1
  227. package/dist/components/guard/index.cjs.js +1 -1
  228. package/dist/components/guard/index.esm.js +1 -1
  229. package/dist/components/guard.js +1 -1
  230. package/dist/components/index.cjs.js +1 -1
  231. package/dist/components/index.esm.js +2 -2
  232. package/dist/components/input/Input.cjs.js +1 -1
  233. package/dist/components/input/Input.cjs.js.map +1 -1
  234. package/dist/components/input/Input.esm.js +1 -1
  235. package/dist/components/input/index.cjs.js +1 -1
  236. package/dist/components/input/index.esm.js +1 -1
  237. package/dist/components/input.js +1 -1
  238. package/dist/components/login-button/LoginButton.cjs.js +1 -1
  239. package/dist/components/login-button/LoginButton.cjs.js.map +1 -1
  240. package/dist/components/login-button/LoginButton.esm.js +1 -1
  241. package/dist/components/login-button/index.cjs.js +1 -1
  242. package/dist/components/login-button/index.esm.js +1 -1
  243. package/dist/components/login-button.js +1 -1
  244. package/dist/components/login-modal/LoginModal.cjs.js +1 -1
  245. package/dist/components/login-modal/LoginModal.cjs.js.map +1 -1
  246. package/dist/components/login-modal/LoginModal.esm.js +1 -1
  247. package/dist/components/login-modal/index.cjs.js +1 -1
  248. package/dist/components/login-modal/index.esm.js +1 -1
  249. package/dist/components/login-modal.js +1 -1
  250. package/dist/components/logout-button/LogoutButton.cjs.js +1 -1
  251. package/dist/components/logout-button/LogoutButton.cjs.js.map +1 -1
  252. package/dist/components/logout-button/LogoutButton.esm.js +1 -1
  253. package/dist/components/logout-button/index.cjs.js +1 -1
  254. package/dist/components/logout-button/index.esm.js +1 -1
  255. package/dist/components/logout-button.js +1 -1
  256. package/dist/components/menu/Menu.cjs.js +1 -1
  257. package/dist/components/menu/Menu.cjs.js.map +1 -1
  258. package/dist/components/menu/Menu.esm.js +1 -1
  259. package/dist/components/menu/Menu.esm.js.map +1 -1
  260. package/dist/components/menu/index.cjs.js +1 -1
  261. package/dist/components/menu/index.esm.js +1 -1
  262. package/dist/components/menu-item/MenuItem.cjs.js +6 -4
  263. package/dist/components/menu-item/MenuItem.cjs.js.map +1 -1
  264. package/dist/components/menu-item/MenuItem.d.ts.map +1 -1
  265. package/dist/components/menu-item/MenuItem.esm.js +6 -4
  266. package/dist/components/menu-item/MenuItem.esm.js.map +1 -1
  267. package/dist/components/menu-item/MenuItem.styles.cjs.js +1 -1
  268. package/dist/components/menu-item/MenuItem.styles.cjs.js.map +1 -1
  269. package/dist/components/menu-item/MenuItem.styles.esm.js +1 -1
  270. package/dist/components/menu-item/MenuItem.styles.esm.js.map +1 -1
  271. package/dist/components/menu-item/index.cjs.js +1 -1
  272. package/dist/components/menu-item/index.esm.js +1 -1
  273. package/dist/components/menu-item.js +1 -1
  274. package/dist/components/menu.js +1 -1
  275. package/dist/components/provider/Provider.cjs.js +1 -1
  276. package/dist/components/provider/Provider.cjs.js.map +1 -1
  277. package/dist/components/provider/Provider.esm.js +1 -1
  278. package/dist/components/provider/index.cjs.js +1 -1
  279. package/dist/components/provider/index.esm.js +1 -1
  280. package/dist/components/provider.js +1 -1
  281. package/dist/components/select/Select.cjs.js +1 -1
  282. package/dist/components/select/Select.cjs.js.map +1 -1
  283. package/dist/components/select/Select.esm.js +1 -1
  284. package/dist/components/select/Select.esm.js.map +1 -1
  285. package/dist/components/select/index.cjs.js +1 -1
  286. package/dist/components/select/index.esm.js +1 -1
  287. package/dist/components/select-option/SelectOption.cjs.js +1 -1
  288. package/dist/components/select-option/SelectOption.cjs.js.map +1 -1
  289. package/dist/components/select-option/SelectOption.esm.js +1 -1
  290. package/dist/components/select-option/index.cjs.js +1 -1
  291. package/dist/components/select-option/index.esm.js +1 -1
  292. package/dist/components/select-option.js +1 -1
  293. package/dist/components/select.js +1 -1
  294. package/dist/components/signup-button/SignupButton.cjs.js +1 -1
  295. package/dist/components/signup-button/SignupButton.cjs.js.map +1 -1
  296. package/dist/components/signup-button/SignupButton.esm.js +1 -1
  297. package/dist/components/signup-button/index.cjs.js +1 -1
  298. package/dist/components/signup-button/index.esm.js +1 -1
  299. package/dist/components/signup-button.js +1 -1
  300. package/dist/components/solid-emblem/SolidEmblem.cjs.js +2 -0
  301. package/dist/components/solid-emblem/SolidEmblem.cjs.js.map +1 -0
  302. package/dist/components/solid-emblem/SolidEmblem.d.ts +6 -0
  303. package/dist/components/solid-emblem/SolidEmblem.d.ts.map +1 -0
  304. package/dist/components/solid-emblem/SolidEmblem.esm.js +178 -0
  305. package/dist/components/solid-emblem/SolidEmblem.esm.js.map +1 -0
  306. package/dist/components/solid-emblem/SolidEmblem.styles.cjs.js +2 -0
  307. package/dist/components/solid-emblem/SolidEmblem.styles.cjs.js.map +1 -0
  308. package/dist/components/solid-emblem/SolidEmblem.styles.esm.js +7 -0
  309. package/dist/components/solid-emblem/SolidEmblem.styles.esm.js.map +1 -0
  310. package/dist/components/solid-emblem/index.cjs.js +2 -0
  311. package/dist/components/solid-emblem/index.cjs.js.map +1 -0
  312. package/dist/components/solid-emblem/index.d.ts +4 -0
  313. package/dist/components/solid-emblem/index.d.ts.map +1 -0
  314. package/dist/components/solid-emblem/index.esm.js +7 -0
  315. package/dist/components/solid-emblem/index.esm.js.map +1 -0
  316. package/dist/components/solid-emblem.js +2 -0
  317. package/dist/components.js +23 -23
  318. package/dist/create/create.cjs.js.map +1 -1
  319. package/dist/create/create.esm.js.map +1 -1
  320. package/dist/create/index.cjs.js.map +1 -1
  321. package/dist/footer/index.cjs.js +1 -1
  322. package/dist/footer/index.esm.js +1 -1
  323. package/dist/header/index.cjs.js +1 -1
  324. package/dist/header/index.cjs.js.map +1 -1
  325. package/dist/header/index.esm.js +1 -1
  326. package/dist/header/index.esm.js.map +1 -1
  327. package/dist/index.js +6 -7
  328. package/dist/lib/auth/SolidAuth.cjs.js.map +1 -1
  329. package/dist/lib/auth/SolidAuth.esm.js.map +1 -1
  330. package/dist/lib/auth/context.cjs.js.map +1 -1
  331. package/dist/lib/auth/index.cjs.js +1 -1
  332. package/dist/lib/auth/index.esm.js +5 -4
  333. package/dist/lib/components/ids.cjs.js.map +1 -1
  334. package/dist/lib/components/ids.esm.js.map +1 -1
  335. package/dist/lib/components/index.cjs.js +1 -1
  336. package/dist/lib/components/index.esm.js +6 -5
  337. package/dist/lib/components/traits/DialogTrait.cjs.js.map +1 -1
  338. package/dist/lib/components/traits/DialogTrait.esm.js.map +1 -1
  339. package/dist/lib/components/traits/InputTrait.cjs.js +1 -1
  340. package/dist/lib/components/traits/InputTrait.cjs.js.map +1 -1
  341. package/dist/lib/components/traits/InputTrait.d.ts +1 -0
  342. package/dist/lib/components/traits/InputTrait.d.ts.map +1 -1
  343. package/dist/lib/components/traits/InputTrait.esm.js +3 -2
  344. package/dist/lib/components/traits/InputTrait.esm.js.map +1 -1
  345. package/dist/lib/components/traits/index.cjs.js +1 -1
  346. package/dist/lib/components/traits/index.esm.js +3 -2
  347. package/dist/lib/components/web-component/WebComponent.cjs.js +1 -1
  348. package/dist/lib/components/web-component/WebComponent.cjs.js.map +1 -1
  349. package/dist/lib/components/web-component/WebComponent.d.ts.map +1 -1
  350. package/dist/lib/components/web-component/WebComponent.esm.js +1 -6
  351. package/dist/lib/components/web-component/WebComponent.esm.js.map +1 -1
  352. package/dist/lib/components/web-component/WebComponent.styles.cjs.js.map +1 -1
  353. package/dist/lib/components/web-component/WebComponent.styles.esm.js.map +1 -1
  354. package/dist/lib/components/web-component/index.cjs.js +1 -1
  355. package/dist/lib/components/web-component/index.esm.js +2 -1
  356. package/dist/lib/dialogs/context.cjs.js.map +1 -1
  357. package/dist/lib/dialogs/index.cjs.js +1 -1
  358. package/dist/lib/dialogs/index.esm.js +6 -5
  359. package/dist/lib/forms/rdfHelper.d.ts +4 -0
  360. package/dist/lib/forms/rdfHelper.d.ts.map +1 -0
  361. package/dist/lib/log.cjs.js +1 -1
  362. package/dist/lib/log.cjs.js.map +1 -1
  363. package/dist/lib/log.esm.js +1 -1
  364. package/dist/lib/log.esm.js.map +1 -1
  365. package/dist/lib/messageArea.cjs.js.map +1 -1
  366. package/dist/lib/messageArea.esm.js.map +1 -1
  367. package/dist/lib/ns.cjs.js.map +1 -1
  368. package/dist/lib/pad.cjs.js +1 -1
  369. package/dist/lib/pad.cjs.js.map +1 -1
  370. package/dist/lib/pad.esm.js +1 -1
  371. package/dist/lib/pad.esm.js.map +1 -1
  372. package/dist/lib/participation.cjs.js.map +1 -1
  373. package/dist/lib/participation.esm.js.map +1 -1
  374. package/dist/lib/preferences.cjs.js +1 -1
  375. package/dist/lib/preferences.cjs.js.map +1 -1
  376. package/dist/lib/preferences.esm.js +1 -1
  377. package/dist/lib/preferences.esm.js.map +1 -1
  378. package/dist/lib/table.cjs.js.map +1 -1
  379. package/dist/lib/table.esm.js.map +1 -1
  380. package/dist/lib/tabs.cjs.js +1 -1
  381. package/dist/lib/tabs.cjs.js.map +1 -1
  382. package/dist/lib/tabs.esm.js +1 -1
  383. package/dist/lib/tabs.esm.js.map +1 -1
  384. package/dist/loader.js +6 -7
  385. package/dist/login/login.cjs.js +1 -1
  386. package/dist/login/login.cjs.js.map +1 -1
  387. package/dist/login/login.esm.js +1 -1
  388. package/dist/login/login.esm.js.map +1 -1
  389. package/dist/matrix/index.cjs.js.map +1 -1
  390. package/dist/matrix/matrix.cjs.js.map +1 -1
  391. package/dist/matrix/matrix.esm.js.map +1 -1
  392. package/dist/media/media-capture.cjs.js.map +1 -1
  393. package/dist/media/media-capture.esm.js.map +1 -1
  394. package/dist/signup/signup.cjs.js.map +1 -1
  395. package/dist/signup/signup.esm.js.map +1 -1
  396. package/dist/solid-ui.js +321 -1380
  397. package/dist/solid-ui.min.js +321 -1380
  398. package/dist/solid-ui.min.js.map +1 -1
  399. package/dist/theme.css +1 -1
  400. package/dist/utils/headerFooterHelpers.cjs.js.map +1 -1
  401. package/dist/utils/headerFooterHelpers.esm.js.map +1 -1
  402. package/dist/utils/index.cjs.js +2 -2
  403. package/dist/utils/index.cjs.js.map +1 -1
  404. package/dist/utils/index.esm.js +1 -1
  405. package/dist/utils/index.esm.js.map +1 -1
  406. package/dist/utils/keyHelpers/accessData.cjs.js +1 -1
  407. package/dist/utils/keyHelpers/accessData.cjs.js.map +1 -1
  408. package/dist/utils/keyHelpers/accessData.esm.js +1 -1
  409. package/dist/utils/keyHelpers/accessData.esm.js.map +1 -1
  410. package/dist/utils/keyHelpers/acl.cjs.js.map +1 -1
  411. package/dist/utils/keyHelpers/acl.esm.js.map +1 -1
  412. package/dist/utils/keyHelpers/otherHelpers.cjs.js.map +1 -1
  413. package/dist/utils/keyHelpers/otherHelpers.esm.js.map +1 -1
  414. package/dist/utils/label.cjs.js.map +1 -1
  415. package/dist/utils/label.esm.js.map +1 -1
  416. package/dist/v2/components/layout/footer/index.cjs.js +1 -1
  417. package/dist/v2/components/layout/footer/index.esm.js +1 -0
  418. package/dist/v2/components/media/photoCapture/PhotoCapture.cjs.js.map +1 -1
  419. package/dist/v2/components/media/photoCapture/PhotoCapture.esm.js.map +1 -1
  420. package/dist/v2/components/media/photoCapture/index.cjs.js +1 -1
  421. package/dist/v2/components/media/photoCapture/index.esm.js +1 -0
  422. package/dist/widgets/buttons/iconLinks.cjs.js.map +1 -1
  423. package/dist/widgets/buttons/iconLinks.esm.js.map +1 -1
  424. package/dist/widgets/buttons.cjs.js.map +1 -1
  425. package/dist/widgets/buttons.esm.js.map +1 -1
  426. package/dist/widgets/dragAndDrop.cjs.js.map +1 -1
  427. package/dist/widgets/dragAndDrop.esm.js.map +1 -1
  428. package/dist/widgets/error.cjs.js.map +1 -1
  429. package/dist/widgets/error.esm.js.map +1 -1
  430. package/dist/widgets/forms/autocomplete/autocompleteField.cjs.js.map +1 -1
  431. package/dist/widgets/forms/autocomplete/autocompleteField.esm.js.map +1 -1
  432. package/dist/widgets/forms/autocomplete/autocompletePicker.cjs.js.map +1 -1
  433. package/dist/widgets/forms/autocomplete/autocompletePicker.esm.js.map +1 -1
  434. package/dist/widgets/forms/autocomplete/language.cjs.js +1 -1
  435. package/dist/widgets/forms/autocomplete/language.cjs.js.map +1 -1
  436. package/dist/widgets/forms/autocomplete/language.esm.js +1 -1
  437. package/dist/widgets/forms/autocomplete/language.esm.js.map +1 -1
  438. package/dist/widgets/forms/autocomplete/publicData.cjs.js +1 -1
  439. package/dist/widgets/forms/autocomplete/publicData.cjs.js.map +1 -1
  440. package/dist/widgets/forms/autocomplete/publicData.esm.js +1 -1
  441. package/dist/widgets/forms/autocomplete/publicData.esm.js.map +1 -1
  442. package/dist/widgets/forms/basic.cjs.js.map +1 -1
  443. package/dist/widgets/forms/basic.esm.js.map +1 -1
  444. package/dist/widgets/forms/fieldFunction.cjs.js.map +1 -1
  445. package/dist/widgets/forms/fieldParams.cjs.js.map +1 -1
  446. package/dist/widgets/forms/fieldParams.esm.js.map +1 -1
  447. package/dist/widgets/forms/formStyle.cjs.js.map +1 -1
  448. package/dist/widgets/forms/formStyle.esm.js.map +1 -1
  449. package/dist/widgets/forms.cjs.js +1 -1
  450. package/dist/widgets/forms.cjs.js.map +1 -1
  451. package/dist/widgets/forms.esm.js +1 -1
  452. package/dist/widgets/forms.esm.js.map +1 -1
  453. package/dist/widgets/index.cjs.js +1 -1
  454. package/dist/widgets/index.esm.js +65 -65
  455. package/dist/widgets/multiSelect.cjs.js.map +1 -1
  456. package/dist/widgets/multiSelect.esm.js.map +1 -1
  457. package/dist/widgets/peoplePicker.cjs.js.map +1 -1
  458. package/dist/widgets/peoplePicker.esm.js.map +1 -1
  459. package/dist/widgets/widgetHelpers.cjs.js.map +1 -1
  460. package/dist/widgets/widgetHelpers.esm.js.map +1 -1
  461. package/package.json +14 -11
  462. package/dist/chunks/DialogProvider-DphduSXG.js.map +0 -1
  463. package/dist/chunks/account-CFhrB0LO.js.map +0 -1
  464. package/dist/chunks/avatar-D281qln0.js.map +0 -1
  465. package/dist/chunks/combobox-Dtgc8qqO.js +0 -354
  466. package/dist/chunks/combobox-Dtgc8qqO.js.map +0 -1
  467. package/dist/chunks/components-BlEGdx4i.js.map +0 -1
  468. package/dist/chunks/dialog-DlBtmOm6.js.map +0 -1
  469. package/dist/chunks/header-Bqd2CEK3.js +0 -1486
  470. package/dist/chunks/header-Bqd2CEK3.js.map +0 -1
  471. package/dist/chunks/iconBase-DJ0zbNSL.js +0 -31
  472. package/dist/chunks/iconBase-DJ0zbNSL.js.map +0 -1
  473. package/dist/chunks/menu-aQiqq1ET.js.map +0 -1
  474. package/dist/chunks/menu-item-DBy4o-M4.js.map +0 -1
  475. package/dist/chunks/solid-logic.esm-7q6hmfIF.js.map +0 -1
  476. package/dist/chunks/src-BOU-JwWx.js.map +0 -1
  477. package/dist/components/header/index.cjs.js +0 -1
  478. package/dist/components/header/index.d.ts +0 -2
  479. package/dist/components/header/index.d.ts.map +0 -1
  480. package/dist/components/header/index.esm.js +0 -3
  481. package/dist/components/header.js +0 -2
  482. package/dist/lib/features.cjs.js +0 -2
  483. package/dist/lib/features.cjs.js.map +0 -1
  484. package/dist/lib/features.d.ts +0 -8
  485. package/dist/lib/features.d.ts.map +0 -1
  486. package/dist/lib/features.esm.js +0 -6
  487. package/dist/lib/features.esm.js.map +0 -1
  488. package/dist/solid-ui.js.map +0 -1
  489. package/dist/v2/components/actions/button/Button.d.ts +0 -97
  490. package/dist/v2/components/actions/button/Button.d.ts.map +0 -1
  491. package/dist/v2/components/actions/button/Button.test.d.ts +0 -1
  492. package/dist/v2/components/actions/button/Button.test.d.ts.map +0 -1
  493. package/dist/v2/components/actions/button/index.d.ts +0 -8
  494. package/dist/v2/components/actions/button/index.d.ts.map +0 -1
  495. package/dist/v2/components/auth/loginButton/LoginButton.cjs.js +0 -414
  496. package/dist/v2/components/auth/loginButton/LoginButton.cjs.js.map +0 -1
  497. package/dist/v2/components/auth/loginButton/LoginButton.esm.js +0 -519
  498. package/dist/v2/components/auth/loginButton/LoginButton.esm.js.map +0 -1
  499. package/dist/v2/components/auth/loginButton/downArrow.cjs.js +0 -9
  500. package/dist/v2/components/auth/loginButton/downArrow.cjs.js.map +0 -1
  501. package/dist/v2/components/auth/loginButton/downArrow.esm.js +0 -14
  502. package/dist/v2/components/auth/loginButton/downArrow.esm.js.map +0 -1
  503. package/dist/v2/components/auth/loginButton/index.cjs.js +0 -2
  504. package/dist/v2/components/auth/loginButton/index.cjs.js.map +0 -1
  505. package/dist/v2/components/auth/loginButton/index.esm.js +0 -7
  506. package/dist/v2/components/auth/loginButton/index.esm.js.map +0 -1
  507. package/dist/v2/components/auth/signupButton/SignupButton.cjs.js +0 -59
  508. package/dist/v2/components/auth/signupButton/SignupButton.cjs.js.map +0 -1
  509. package/dist/v2/components/auth/signupButton/SignupButton.esm.js +0 -98
  510. package/dist/v2/components/auth/signupButton/SignupButton.esm.js.map +0 -1
  511. package/dist/v2/components/auth/signupButton/index.cjs.js +0 -2
  512. package/dist/v2/components/auth/signupButton/index.cjs.js.map +0 -1
  513. package/dist/v2/components/auth/signupButton/index.esm.js +0 -7
  514. package/dist/v2/components/auth/signupButton/index.esm.js.map +0 -1
  515. package/dist/v2/components/forms/combobox/Combobox.d.ts +0 -82
  516. package/dist/v2/components/forms/combobox/Combobox.d.ts.map +0 -1
  517. package/dist/v2/components/forms/combobox/Combobox.test.d.ts +0 -1
  518. package/dist/v2/components/forms/combobox/Combobox.test.d.ts.map +0 -1
  519. package/dist/v2/components/forms/combobox/comboboxTypes.d.ts +0 -6
  520. package/dist/v2/components/forms/combobox/comboboxTypes.d.ts.map +0 -1
  521. package/dist/v2/components/forms/combobox/index.d.ts +0 -3
  522. package/dist/v2/components/forms/combobox/index.d.ts.map +0 -1
  523. package/dist/v2/components/forms/select/Select.d.ts +0 -68
  524. package/dist/v2/components/forms/select/Select.d.ts.map +0 -1
  525. package/dist/v2/components/forms/select/Select.test.d.ts +0 -1
  526. package/dist/v2/components/forms/select/Select.test.d.ts.map +0 -1
  527. package/dist/v2/components/forms/select/index.d.ts +0 -3
  528. package/dist/v2/components/forms/select/index.d.ts.map +0 -1
  529. package/dist/v2/components/forms/shared/downArrow.d.ts +0 -2
  530. package/dist/v2/components/forms/shared/downArrow.d.ts.map +0 -1
  531. package/dist/v2/components/forms/shared/keyboard.d.ts +0 -7
  532. package/dist/v2/components/forms/shared/keyboard.d.ts.map +0 -1
  533. package/dist/v2/components/forms/shared/listboxStyles.d.ts +0 -2
  534. package/dist/v2/components/forms/shared/listboxStyles.d.ts.map +0 -1
  535. package/dist/v2/components/forms/shared/listboxTemplate.d.ts +0 -11
  536. package/dist/v2/components/forms/shared/listboxTemplate.d.ts.map +0 -1
  537. package/dist/v2/components/forms/shared/optionTypes.d.ts +0 -6
  538. package/dist/v2/components/forms/shared/optionTypes.d.ts.map +0 -1
  539. package/dist/v2/components/layout/header/Header.cjs.js +0 -625
  540. package/dist/v2/components/layout/header/Header.cjs.js.map +0 -1
  541. package/dist/v2/components/layout/header/Header.d.ts +0 -160
  542. package/dist/v2/components/layout/header/Header.d.ts.map +0 -1
  543. package/dist/v2/components/layout/header/Header.esm.js +0 -873
  544. package/dist/v2/components/layout/header/Header.esm.js.map +0 -1
  545. package/dist/v2/components/layout/header/header.test.d.ts +0 -1
  546. package/dist/v2/components/layout/header/header.test.d.ts.map +0 -1
  547. package/dist/v2/components/layout/header/index.cjs.js +0 -2
  548. package/dist/v2/components/layout/header/index.cjs.js.map +0 -1
  549. package/dist/v2/components/layout/header/index.d.ts +0 -4
  550. package/dist/v2/components/layout/header/index.d.ts.map +0 -1
  551. package/dist/v2/components/layout/header/index.esm.js +0 -7
  552. package/dist/v2/components/layout/header/index.esm.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DialogTrait.cjs.js","names":[],"sources":["../../../../src/lib/components/traits/DialogTrait.ts"],"sourcesContent":["import { WebComponent } from '@/lib/components'\nimport { CloseDialogEvent } from '@/lib/dialogs/events/close-dialog'\nimport type { DialogContext } from '@/lib/dialogs/context'\n\nimport { WebComponentTrait } from './WebComponentTrait'\n\nexport interface DialogTraitConfig {\n getContext: () => DialogContext\n}\n\nexport default class DialogTrait<T> implements WebComponentTrait {\n public target: WebComponent\n private config: DialogTraitConfig\n\n constructor (target: WebComponent, config: DialogTraitConfig) {\n this.target = target\n this.config = config\n }\n\n close (data?: T) {\n window.dispatchEvent(new CloseDialogEvent(this.config.getContext().id, data))\n }\n}\n"],"mappings":"4DAUA,IAAqB,EAArB,KAAiE,CAC/D,OACA,OAEA,YAAa,EAAsB,EAA2B,CAC5D,KAAK,OAAS,EACd,KAAK,OAAS,CAChB,CAEA,MAAO,EAAU,CACf,OAAO,cAAc,IAAI,EAAA,iBAAiB,KAAK,OAAO,WAAW,EAAE,GAAI,CAAI,CAAC,CAC9E,CACF"}
1
+ {"version":3,"file":"DialogTrait.cjs.js","names":[],"sources":["../../../../src/lib/components/traits/DialogTrait.ts"],"sourcesContent":["import { WebComponent } from '@/lib/components'\nimport { CloseDialogEvent } from '@/lib/dialogs/events/close-dialog'\nimport type { DialogContext } from '@/lib/dialogs/context'\n\nimport { WebComponentTrait } from './WebComponentTrait'\n\nexport interface DialogTraitConfig {\n getContext: () => DialogContext\n}\n\nexport default class DialogTrait<T> implements WebComponentTrait {\n public target: WebComponent\n private config: DialogTraitConfig\n\n constructor (target: WebComponent, config: DialogTraitConfig) {\n this.target = target\n this.config = config\n }\n\n close (data?: T) {\n window.dispatchEvent(new CloseDialogEvent(this.config.getContext().id, data))\n }\n}\n"],"mappings":"4DAUA,IAAqB,EAArB,KAAiE,CAC/D,OACA,OAEA,YAAa,EAAsB,EAA2B,CAC5D,KAAK,OAAS,EACd,KAAK,OAAS,CAChB,CAEA,MAAO,EAAU,CACf,OAAO,cAAc,IAAI,EAAA,iBAAiB,KAAK,OAAO,WAAW,CAAC,CAAC,GAAI,CAAI,CAAC,CAC9E,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"DialogTrait.esm.js","names":[],"sources":["../../../../src/lib/components/traits/DialogTrait.ts"],"sourcesContent":["import { WebComponent } from '@/lib/components'\nimport { CloseDialogEvent } from '@/lib/dialogs/events/close-dialog'\nimport type { DialogContext } from '@/lib/dialogs/context'\n\nimport { WebComponentTrait } from './WebComponentTrait'\n\nexport interface DialogTraitConfig {\n getContext: () => DialogContext\n}\n\nexport default class DialogTrait<T> implements WebComponentTrait {\n public target: WebComponent\n private config: DialogTraitConfig\n\n constructor (target: WebComponent, config: DialogTraitConfig) {\n this.target = target\n this.config = config\n }\n\n close (data?: T) {\n window.dispatchEvent(new CloseDialogEvent(this.config.getContext().id, data))\n }\n}\n"],"mappings":";;AAUA,IAAqB,IAArB,MAAiE;CAC/D;CACA;CAEA,YAAa,GAAsB,GAA2B;EAE5D,AADA,KAAK,SAAS,GACd,KAAK,SAAS;CAChB;CAEA,MAAO,GAAU;EACf,OAAO,cAAc,IAAI,EAAiB,KAAK,OAAO,WAAW,EAAE,IAAI,CAAI,CAAC;CAC9E;AACF"}
1
+ {"version":3,"file":"DialogTrait.esm.js","names":[],"sources":["../../../../src/lib/components/traits/DialogTrait.ts"],"sourcesContent":["import { WebComponent } from '@/lib/components'\nimport { CloseDialogEvent } from '@/lib/dialogs/events/close-dialog'\nimport type { DialogContext } from '@/lib/dialogs/context'\n\nimport { WebComponentTrait } from './WebComponentTrait'\n\nexport interface DialogTraitConfig {\n getContext: () => DialogContext\n}\n\nexport default class DialogTrait<T> implements WebComponentTrait {\n public target: WebComponent\n private config: DialogTraitConfig\n\n constructor (target: WebComponent, config: DialogTraitConfig) {\n this.target = target\n this.config = config\n }\n\n close (data?: T) {\n window.dispatchEvent(new CloseDialogEvent(this.config.getContext().id, data))\n }\n}\n"],"mappings":";;AAUA,IAAqB,IAArB,MAAiE;CAC/D;CACA;CAEA,YAAa,GAAsB,GAA2B;EAE5D,AADA,KAAK,SAAS,GACd,KAAK,SAAS;CAChB;CAEA,MAAO,GAAU;EACf,OAAO,cAAc,IAAI,EAAiB,KAAK,OAAO,WAAW,CAAC,CAAC,IAAI,CAAI,CAAC;CAC9E;AACF"}
@@ -1,2 +1,2 @@
1
- const e=require("../ids.cjs.js");require("../index.cjs.js");let t=require("lit");var n=class{inputId;target;config;constructor(t,n){this.config=n,this.inputId=`input-${e.generateId()}`,this.target=t}firstUpdated(){this.config.getInternals().setFormValue(this.target.value),this.updateValidity()}updated(e){(e.has(`value`)||e.has(`required`))&&this.updateValidity()}formResetCallback(){this.target.value=``,this.config.getInternals().setFormValue(``),this.updateValidity(),this.config.onValueChanged?.(``)}renderLabel(){return this.target.label?t.html`<label for="${this.inputId}">${this.target.label}</label>`:t.nothing}onInput(){this.setValue(this.config.getInputElement()?.value??``)}onSubmit(){this.config.getInternals().form?.requestSubmit()}setValue(e){this.target.value=e,this.config.getInternals().setFormValue(this.target.value),this.target.dispatchEvent(new InputEvent(`input`,{bubbles:!0,composed:!0})),this.config.onValueChanged?.(this.target.value)}updateValidity(){let e=this.config.getInternals();this.target.required&&this.target.value===``?e.setValidity({valueMissing:!0},`Please fill out this field.`,this.config.getInputElement()??void 0):e.setValidity({})}};exports.default=n;
1
+ const e=require("../ids.cjs.js");require("../index.cjs.js");let t=require("lit");var n=class{inputId;labelId;target;config;constructor(t,n){this.config=n,this.inputId=`input-${e.generateId()}`,this.labelId=`label-${this.inputId}`,this.target=t}firstUpdated(){this.config.getInternals().setFormValue(this.target.value),this.updateValidity()}updated(e){(e.has(`value`)||e.has(`required`))&&this.updateValidity()}formResetCallback(){this.target.value=``,this.config.getInternals().setFormValue(``),this.updateValidity(),this.config.onValueChanged?.(``)}renderLabel(){return this.target.label?t.html`<label id="${this.labelId}" for="${this.inputId}">${this.target.label}</label>`:t.nothing}onInput(){this.setValue(this.config.getInputElement()?.value??``)}onSubmit(){this.config.getInternals().form?.requestSubmit()}setValue(e){this.target.value=e,this.config.getInternals().setFormValue(this.target.value),this.target.dispatchEvent(new InputEvent(`input`,{bubbles:!0,composed:!0})),this.config.onValueChanged?.(this.target.value)}updateValidity(){let e=this.config.getInternals();this.target.required&&this.target.value===``?e.setValidity({valueMissing:!0},`Please fill out this field.`,this.config.getInputElement()??void 0):e.setValidity({})}};exports.default=n;
2
2
  //# sourceMappingURL=InputTrait.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputTrait.cjs.js","names":[],"sources":["../../../../src/lib/components/traits/InputTrait.ts"],"sourcesContent":["import { WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\n\nimport { generateId } from '@/lib/components'\n\nimport type { WebComponentTrait } from './WebComponentTrait'\n\nexport type InputTraitTarget = WebComponent & {\n name: string;\n label: string;\n required: boolean;\n value: string;\n}\n\nexport interface InputTraitConfig {\n getInputElement(): HTMLInputElement | HTMLSelectElement | null\n getInternals(): ElementInternals\n onValueChanged?: (value: string) => void\n}\n\nexport default class InputTrait implements WebComponentTrait {\n public inputId: string\n public target: InputTraitTarget\n private config: InputTraitConfig\n\n constructor (target: InputTraitTarget, config: InputTraitConfig) {\n this.config = config\n this.inputId = `input-${generateId()}`\n this.target = target\n }\n\n firstUpdated () {\n this.config.getInternals().setFormValue(this.target.value)\n this.updateValidity()\n }\n\n updated (changedProperties: Map<PropertyKey, unknown>) {\n if (changedProperties.has('value') || changedProperties.has('required')) {\n this.updateValidity()\n }\n }\n\n formResetCallback () {\n this.target.value = ''\n this.config.getInternals().setFormValue('')\n this.updateValidity()\n this.config.onValueChanged?.('')\n }\n\n renderLabel () {\n return this.target.label\n ? html`<label for=\"${this.inputId}\">${this.target.label}</label>`\n : nothing\n }\n\n onInput () {\n this.setValue(this.config.getInputElement()?.value ?? '')\n }\n\n onSubmit () {\n this.config.getInternals().form?.requestSubmit()\n }\n\n setValue (value: string) {\n this.target.value = value\n\n this.config.getInternals().setFormValue(this.target.value)\n this.target.dispatchEvent(new InputEvent('input', { bubbles: true, composed: true }))\n this.config.onValueChanged?.(this.target.value)\n }\n\n private updateValidity () {\n const internals = this.config.getInternals()\n\n if (this.target.required && this.target.value === '') {\n internals.setValidity(\n { valueMissing: true },\n 'Please fill out this field.',\n this.config.getInputElement() ?? undefined\n )\n } else {\n internals.setValidity({})\n }\n }\n}\n"],"mappings":"iFAoBA,IAAqB,EAArB,KAA6D,CAC3D,QACA,OACA,OAEA,YAAa,EAA0B,EAA0B,CAC/D,KAAK,OAAS,EACd,KAAK,QAAU,SAAS,EAAA,WAAW,IACnC,KAAK,OAAS,CAChB,CAEA,cAAgB,CACd,KAAK,OAAO,aAAa,EAAE,aAAa,KAAK,OAAO,KAAK,EACzD,KAAK,eAAe,CACtB,CAEA,QAAS,EAA8C,EACjD,EAAkB,IAAI,OAAO,GAAK,EAAkB,IAAI,UAAU,IACpE,KAAK,eAAe,CAExB,CAEA,mBAAqB,CACnB,KAAK,OAAO,MAAQ,GACpB,KAAK,OAAO,aAAa,EAAE,aAAa,EAAE,EAC1C,KAAK,eAAe,EACpB,KAAK,OAAO,iBAAiB,EAAE,CACjC,CAEA,aAAe,CACb,OAAO,KAAK,OAAO,MACf,EAAA,IAAI,eAAe,KAAK,QAAQ,IAAI,KAAK,OAAO,MAAM,UACtD,EAAA,OACN,CAEA,SAAW,CACT,KAAK,SAAS,KAAK,OAAO,gBAAgB,GAAG,OAAS,EAAE,CAC1D,CAEA,UAAY,CACV,KAAK,OAAO,aAAa,EAAE,MAAM,cAAc,CACjD,CAEA,SAAU,EAAe,CACvB,KAAK,OAAO,MAAQ,EAEpB,KAAK,OAAO,aAAa,EAAE,aAAa,KAAK,OAAO,KAAK,EACzD,KAAK,OAAO,cAAc,IAAI,WAAW,QAAS,CAAE,QAAS,GAAM,SAAU,EAAK,CAAC,CAAC,EACpF,KAAK,OAAO,iBAAiB,KAAK,OAAO,KAAK,CAChD,CAEA,gBAA0B,CACxB,IAAM,EAAY,KAAK,OAAO,aAAa,EAEvC,KAAK,OAAO,UAAY,KAAK,OAAO,QAAU,GAChD,EAAU,YACR,CAAE,aAAc,EAAK,EACrB,8BACA,KAAK,OAAO,gBAAgB,GAAK,IAAA,EACnC,EAEA,EAAU,YAAY,CAAC,CAAC,CAE5B,CACF"}
1
+ {"version":3,"file":"InputTrait.cjs.js","names":[],"sources":["../../../../src/lib/components/traits/InputTrait.ts"],"sourcesContent":["import { WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\n\nimport { generateId } from '@/lib/components'\n\nimport type { WebComponentTrait } from './WebComponentTrait'\n\nexport type InputTraitTarget = WebComponent & {\n name: string;\n label: string;\n required: boolean;\n value: string;\n}\n\nexport interface InputTraitConfig {\n getInputElement(): HTMLInputElement | HTMLSelectElement | null\n getInternals(): ElementInternals\n onValueChanged?: (value: string) => void\n}\n\nexport default class InputTrait implements WebComponentTrait {\n public inputId: string\n public labelId: string\n public target: InputTraitTarget\n private config: InputTraitConfig\n\n constructor (target: InputTraitTarget, config: InputTraitConfig) {\n this.config = config\n this.inputId = `input-${generateId()}`\n this.labelId = `label-${this.inputId}`\n this.target = target\n }\n\n firstUpdated () {\n this.config.getInternals().setFormValue(this.target.value)\n this.updateValidity()\n }\n\n updated (changedProperties: Map<PropertyKey, unknown>) {\n if (changedProperties.has('value') || changedProperties.has('required')) {\n this.updateValidity()\n }\n }\n\n formResetCallback () {\n this.target.value = ''\n this.config.getInternals().setFormValue('')\n this.updateValidity()\n this.config.onValueChanged?.('')\n }\n\n renderLabel () {\n return this.target.label\n ? html`<label id=\"${this.labelId}\" for=\"${this.inputId}\">${this.target.label}</label>`\n : nothing\n }\n\n onInput () {\n this.setValue(this.config.getInputElement()?.value ?? '')\n }\n\n onSubmit () {\n this.config.getInternals().form?.requestSubmit()\n }\n\n setValue (value: string) {\n this.target.value = value\n\n this.config.getInternals().setFormValue(this.target.value)\n this.target.dispatchEvent(new InputEvent('input', { bubbles: true, composed: true }))\n this.config.onValueChanged?.(this.target.value)\n }\n\n private updateValidity () {\n const internals = this.config.getInternals()\n\n if (this.target.required && this.target.value === '') {\n internals.setValidity(\n { valueMissing: true },\n 'Please fill out this field.',\n this.config.getInputElement() ?? undefined\n )\n } else {\n internals.setValidity({})\n }\n }\n}\n"],"mappings":"iFAoBA,IAAqB,EAArB,KAA6D,CAC3D,QACA,QACA,OACA,OAEA,YAAa,EAA0B,EAA0B,CAC/D,KAAK,OAAS,EACd,KAAK,QAAU,SAAS,EAAA,WAAW,IACnC,KAAK,QAAU,SAAS,KAAK,UAC7B,KAAK,OAAS,CAChB,CAEA,cAAgB,CACd,KAAK,OAAO,aAAa,CAAC,CAAC,aAAa,KAAK,OAAO,KAAK,EACzD,KAAK,eAAe,CACtB,CAEA,QAAS,EAA8C,EACjD,EAAkB,IAAI,OAAO,GAAK,EAAkB,IAAI,UAAU,IACpE,KAAK,eAAe,CAExB,CAEA,mBAAqB,CACnB,KAAK,OAAO,MAAQ,GACpB,KAAK,OAAO,aAAa,CAAC,CAAC,aAAa,EAAE,EAC1C,KAAK,eAAe,EACpB,KAAK,OAAO,iBAAiB,EAAE,CACjC,CAEA,aAAe,CACb,OAAO,KAAK,OAAO,MACf,EAAA,IAAI,cAAc,KAAK,QAAQ,SAAS,KAAK,QAAQ,IAAI,KAAK,OAAO,MAAM,UAC3E,EAAA,OACN,CAEA,SAAW,CACT,KAAK,SAAS,KAAK,OAAO,gBAAgB,CAAC,EAAE,OAAS,EAAE,CAC1D,CAEA,UAAY,CACV,KAAK,OAAO,aAAa,CAAC,CAAC,MAAM,cAAc,CACjD,CAEA,SAAU,EAAe,CACvB,KAAK,OAAO,MAAQ,EAEpB,KAAK,OAAO,aAAa,CAAC,CAAC,aAAa,KAAK,OAAO,KAAK,EACzD,KAAK,OAAO,cAAc,IAAI,WAAW,QAAS,CAAE,QAAS,GAAM,SAAU,EAAK,CAAC,CAAC,EACpF,KAAK,OAAO,iBAAiB,KAAK,OAAO,KAAK,CAChD,CAEA,gBAA0B,CACxB,IAAM,EAAY,KAAK,OAAO,aAAa,EAEvC,KAAK,OAAO,UAAY,KAAK,OAAO,QAAU,GAChD,EAAU,YACR,CAAE,aAAc,EAAK,EACrB,8BACA,KAAK,OAAO,gBAAgB,GAAK,IAAA,EACnC,EAEA,EAAU,YAAY,CAAC,CAAC,CAE5B,CACF"}
@@ -14,6 +14,7 @@ export interface InputTraitConfig {
14
14
  }
15
15
  export default class InputTrait implements WebComponentTrait {
16
16
  inputId: string;
17
+ labelId: string;
17
18
  target: InputTraitTarget;
18
19
  private config;
19
20
  constructor(target: InputTraitTarget, config: InputTraitConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"InputTrait.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/traits/InputTrait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAQ,OAAO,EAAE,MAAM,KAAK,CAAA;AAInC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,IAAI,gBAAgB,GAAG,iBAAiB,GAAG,IAAI,CAAA;IAC9D,YAAY,IAAI,gBAAgB,CAAA;IAChC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACzC;AAED,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,iBAAiB;IACnD,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,gBAAgB,CAAA;IAC/B,OAAO,CAAC,MAAM,CAAkB;gBAEnB,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB;IAM/D,YAAY;IAKZ,OAAO,CAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAMrD,iBAAiB;IAOjB,WAAW;IAMX,OAAO;IAIP,QAAQ;IAIR,QAAQ,CAAE,KAAK,EAAE,MAAM;IAQvB,OAAO,CAAC,cAAc;CAavB"}
1
+ {"version":3,"file":"InputTrait.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/traits/InputTrait.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAQ,OAAO,EAAE,MAAM,KAAK,CAAA;AAInC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAE5D,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,IAAI,gBAAgB,GAAG,iBAAiB,GAAG,IAAI,CAAA;IAC9D,YAAY,IAAI,gBAAgB,CAAA;IAChC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACzC;AAED,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,iBAAiB;IACnD,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,gBAAgB,CAAA;IAC/B,OAAO,CAAC,MAAM,CAAkB;gBAEnB,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB;IAO/D,YAAY;IAKZ,OAAO,CAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAMrD,iBAAiB;IAOjB,WAAW;IAMX,OAAO;IAIP,QAAQ;IAIR,QAAQ,CAAE,KAAK,EAAE,MAAM;IAQvB,OAAO,CAAC,cAAc;CAavB"}
@@ -4,10 +4,11 @@ import { html as t, nothing as n } from "lit";
4
4
  //#region src/lib/components/traits/InputTrait.ts
5
5
  var r = class {
6
6
  inputId;
7
+ labelId;
7
8
  target;
8
9
  config;
9
10
  constructor(t, n) {
10
- this.config = n, this.inputId = `input-${e()}`, this.target = t;
11
+ this.config = n, this.inputId = `input-${e()}`, this.labelId = `label-${this.inputId}`, this.target = t;
11
12
  }
12
13
  firstUpdated() {
13
14
  this.config.getInternals().setFormValue(this.target.value), this.updateValidity();
@@ -19,7 +20,7 @@ var r = class {
19
20
  this.target.value = "", this.config.getInternals().setFormValue(""), this.updateValidity(), this.config.onValueChanged?.("");
20
21
  }
21
22
  renderLabel() {
22
- return this.target.label ? t`<label for="${this.inputId}">${this.target.label}</label>` : n;
23
+ return this.target.label ? t`<label id="${this.labelId}" for="${this.inputId}">${this.target.label}</label>` : n;
23
24
  }
24
25
  onInput() {
25
26
  this.setValue(this.config.getInputElement()?.value ?? "");
@@ -1 +1 @@
1
- {"version":3,"file":"InputTrait.esm.js","names":[],"sources":["../../../../src/lib/components/traits/InputTrait.ts"],"sourcesContent":["import { WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\n\nimport { generateId } from '@/lib/components'\n\nimport type { WebComponentTrait } from './WebComponentTrait'\n\nexport type InputTraitTarget = WebComponent & {\n name: string;\n label: string;\n required: boolean;\n value: string;\n}\n\nexport interface InputTraitConfig {\n getInputElement(): HTMLInputElement | HTMLSelectElement | null\n getInternals(): ElementInternals\n onValueChanged?: (value: string) => void\n}\n\nexport default class InputTrait implements WebComponentTrait {\n public inputId: string\n public target: InputTraitTarget\n private config: InputTraitConfig\n\n constructor (target: InputTraitTarget, config: InputTraitConfig) {\n this.config = config\n this.inputId = `input-${generateId()}`\n this.target = target\n }\n\n firstUpdated () {\n this.config.getInternals().setFormValue(this.target.value)\n this.updateValidity()\n }\n\n updated (changedProperties: Map<PropertyKey, unknown>) {\n if (changedProperties.has('value') || changedProperties.has('required')) {\n this.updateValidity()\n }\n }\n\n formResetCallback () {\n this.target.value = ''\n this.config.getInternals().setFormValue('')\n this.updateValidity()\n this.config.onValueChanged?.('')\n }\n\n renderLabel () {\n return this.target.label\n ? html`<label for=\"${this.inputId}\">${this.target.label}</label>`\n : nothing\n }\n\n onInput () {\n this.setValue(this.config.getInputElement()?.value ?? '')\n }\n\n onSubmit () {\n this.config.getInternals().form?.requestSubmit()\n }\n\n setValue (value: string) {\n this.target.value = value\n\n this.config.getInternals().setFormValue(this.target.value)\n this.target.dispatchEvent(new InputEvent('input', { bubbles: true, composed: true }))\n this.config.onValueChanged?.(this.target.value)\n }\n\n private updateValidity () {\n const internals = this.config.getInternals()\n\n if (this.target.required && this.target.value === '') {\n internals.setValidity(\n { valueMissing: true },\n 'Please fill out this field.',\n this.config.getInputElement() ?? undefined\n )\n } else {\n internals.setValidity({})\n }\n }\n}\n"],"mappings":";;;;AAoBA,IAAqB,IAArB,MAA6D;CAC3D;CACA;CACA;CAEA,YAAa,GAA0B,GAA0B;EAG/D,AAFA,KAAK,SAAS,GACd,KAAK,UAAU,SAAS,EAAW,KACnC,KAAK,SAAS;CAChB;CAEA,eAAgB;EAEd,AADA,KAAK,OAAO,aAAa,EAAE,aAAa,KAAK,OAAO,KAAK,GACzD,KAAK,eAAe;CACtB;CAEA,QAAS,GAA8C;EACrD,CAAI,EAAkB,IAAI,OAAO,KAAK,EAAkB,IAAI,UAAU,MACpE,KAAK,eAAe;CAExB;CAEA,oBAAqB;EAInB,AAHA,KAAK,OAAO,QAAQ,IACpB,KAAK,OAAO,aAAa,EAAE,aAAa,EAAE,GAC1C,KAAK,eAAe,GACpB,KAAK,OAAO,iBAAiB,EAAE;CACjC;CAEA,cAAe;EACb,OAAO,KAAK,OAAO,QACf,CAAI,eAAe,KAAK,QAAQ,IAAI,KAAK,OAAO,MAAM,YACtD;CACN;CAEA,UAAW;EACT,KAAK,SAAS,KAAK,OAAO,gBAAgB,GAAG,SAAS,EAAE;CAC1D;CAEA,WAAY;EACV,KAAK,OAAO,aAAa,EAAE,MAAM,cAAc;CACjD;CAEA,SAAU,GAAe;EAKvB,AAJA,KAAK,OAAO,QAAQ,GAEpB,KAAK,OAAO,aAAa,EAAE,aAAa,KAAK,OAAO,KAAK,GACzD,KAAK,OAAO,cAAc,IAAI,WAAW,SAAS;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC,GACpF,KAAK,OAAO,iBAAiB,KAAK,OAAO,KAAK;CAChD;CAEA,iBAA0B;EACxB,IAAM,IAAY,KAAK,OAAO,aAAa;EAE3C,AAAI,KAAK,OAAO,YAAY,KAAK,OAAO,UAAU,KAChD,EAAU,YACR,EAAE,cAAc,GAAK,GACrB,+BACA,KAAK,OAAO,gBAAgB,KAAK,KAAA,CACnC,IAEA,EAAU,YAAY,CAAC,CAAC;CAE5B;AACF"}
1
+ {"version":3,"file":"InputTrait.esm.js","names":[],"sources":["../../../../src/lib/components/traits/InputTrait.ts"],"sourcesContent":["import { WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\n\nimport { generateId } from '@/lib/components'\n\nimport type { WebComponentTrait } from './WebComponentTrait'\n\nexport type InputTraitTarget = WebComponent & {\n name: string;\n label: string;\n required: boolean;\n value: string;\n}\n\nexport interface InputTraitConfig {\n getInputElement(): HTMLInputElement | HTMLSelectElement | null\n getInternals(): ElementInternals\n onValueChanged?: (value: string) => void\n}\n\nexport default class InputTrait implements WebComponentTrait {\n public inputId: string\n public labelId: string\n public target: InputTraitTarget\n private config: InputTraitConfig\n\n constructor (target: InputTraitTarget, config: InputTraitConfig) {\n this.config = config\n this.inputId = `input-${generateId()}`\n this.labelId = `label-${this.inputId}`\n this.target = target\n }\n\n firstUpdated () {\n this.config.getInternals().setFormValue(this.target.value)\n this.updateValidity()\n }\n\n updated (changedProperties: Map<PropertyKey, unknown>) {\n if (changedProperties.has('value') || changedProperties.has('required')) {\n this.updateValidity()\n }\n }\n\n formResetCallback () {\n this.target.value = ''\n this.config.getInternals().setFormValue('')\n this.updateValidity()\n this.config.onValueChanged?.('')\n }\n\n renderLabel () {\n return this.target.label\n ? html`<label id=\"${this.labelId}\" for=\"${this.inputId}\">${this.target.label}</label>`\n : nothing\n }\n\n onInput () {\n this.setValue(this.config.getInputElement()?.value ?? '')\n }\n\n onSubmit () {\n this.config.getInternals().form?.requestSubmit()\n }\n\n setValue (value: string) {\n this.target.value = value\n\n this.config.getInternals().setFormValue(this.target.value)\n this.target.dispatchEvent(new InputEvent('input', { bubbles: true, composed: true }))\n this.config.onValueChanged?.(this.target.value)\n }\n\n private updateValidity () {\n const internals = this.config.getInternals()\n\n if (this.target.required && this.target.value === '') {\n internals.setValidity(\n { valueMissing: true },\n 'Please fill out this field.',\n this.config.getInputElement() ?? undefined\n )\n } else {\n internals.setValidity({})\n }\n }\n}\n"],"mappings":";;;;AAoBA,IAAqB,IAArB,MAA6D;CAC3D;CACA;CACA;CACA;CAEA,YAAa,GAA0B,GAA0B;EAI/D,AAHA,KAAK,SAAS,GACd,KAAK,UAAU,SAAS,EAAW,KACnC,KAAK,UAAU,SAAS,KAAK,WAC7B,KAAK,SAAS;CAChB;CAEA,eAAgB;EAEd,AADA,KAAK,OAAO,aAAa,CAAC,CAAC,aAAa,KAAK,OAAO,KAAK,GACzD,KAAK,eAAe;CACtB;CAEA,QAAS,GAA8C;EACrD,CAAI,EAAkB,IAAI,OAAO,KAAK,EAAkB,IAAI,UAAU,MACpE,KAAK,eAAe;CAExB;CAEA,oBAAqB;EAInB,AAHA,KAAK,OAAO,QAAQ,IACpB,KAAK,OAAO,aAAa,CAAC,CAAC,aAAa,EAAE,GAC1C,KAAK,eAAe,GACpB,KAAK,OAAO,iBAAiB,EAAE;CACjC;CAEA,cAAe;EACb,OAAO,KAAK,OAAO,QACf,CAAI,cAAc,KAAK,QAAQ,SAAS,KAAK,QAAQ,IAAI,KAAK,OAAO,MAAM,YAC3E;CACN;CAEA,UAAW;EACT,KAAK,SAAS,KAAK,OAAO,gBAAgB,CAAC,EAAE,SAAS,EAAE;CAC1D;CAEA,WAAY;EACV,KAAK,OAAO,aAAa,CAAC,CAAC,MAAM,cAAc;CACjD;CAEA,SAAU,GAAe;EAKvB,AAJA,KAAK,OAAO,QAAQ,GAEpB,KAAK,OAAO,aAAa,CAAC,CAAC,aAAa,KAAK,OAAO,KAAK,GACzD,KAAK,OAAO,cAAc,IAAI,WAAW,SAAS;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC,GACpF,KAAK,OAAO,iBAAiB,KAAK,OAAO,KAAK;CAChD;CAEA,iBAA0B;EACxB,IAAM,IAAY,KAAK,OAAO,aAAa;EAE3C,AAAI,KAAK,OAAO,YAAY,KAAK,OAAO,UAAU,KAChD,EAAU,YACR,EAAE,cAAc,GAAK,GACrB,+BACA,KAAK,OAAO,gBAAgB,KAAK,KAAA,CACnC,IAEA,EAAU,YAAY,CAAC,CAAC;CAE5B;AACF"}
@@ -1 +1 @@
1
- require("./DialogTrait.cjs.js"),require("./InputTrait.cjs.js");
1
+ const e=require("./DialogTrait.cjs.js"),t=require("./InputTrait.cjs.js");exports.DialogTrait=e.default,exports.InputTrait=t.default;
@@ -1,2 +1,3 @@
1
- import "./DialogTrait.esm.js";
2
- import "./InputTrait.esm.js";
1
+ import e from "./DialogTrait.esm.js";
2
+ import t from "./InputTrait.esm.js";
3
+ export { e as DialogTrait, t as InputTrait };
@@ -1,2 +1,2 @@
1
- const e=require("./WebComponent.styles.cjs.js");let t=require("lit");var n=class extends t.LitElement{static states;static finalizeStyles(t){return[e.default,...super.finalizeStyles(t)]}internals;globalListeners=[];traits=[];disconnectedCallback(){super.disconnectedCallback();for(let[e,t]of this.globalListeners)window.removeEventListener(e,t);this.globalListeners=[]}addTrait(e){return this.traits.push(e),e}firstUpdated(){this.forwardMethodCall(`firstUpdated`)}updated(e){this.forwardMethodCall(`updated`,e)}formResetCallback(){this.forwardMethodCall(`formResetCallback`)}willUpdate(e){super.willUpdate(e);let t=this.static().states;if(!t)return;let n=this.getInternals();for(let[e,r]of Object.entries(t)){let t=r(this);t&&!n.states.has(e)?n.states.add(e):!t&&n.states.has(e)&&n.states.delete(e)}}addGlobalEventListener(e,t){this.globalListeners.push([e,t]),window.addEventListener(e,t)}render(){return t.html`<slot></slot>`}getInternals(){return this.internals??=this.attachInternals(),this.internals}static(){return this.constructor}forwardMethodCall(e,...t){for(let n of this.traits)n[e]?.(...t)}};exports.default=n;
1
+ const e=require("./WebComponent.styles.cjs.js");let t=require("lit");var n=class extends t.LitElement{static states;static finalizeStyles(t){return[e.default,...super.finalizeStyles(t)]}internals;globalListeners=[];traits=[];disconnectedCallback(){super.disconnectedCallback();for(let[e,t]of this.globalListeners)window.removeEventListener(e,t);this.globalListeners=[]}addTrait(e){return this.traits.push(e),e}firstUpdated(){this.forwardMethodCall(`firstUpdated`)}updated(e){this.forwardMethodCall(`updated`,e)}formResetCallback(){this.forwardMethodCall(`formResetCallback`)}willUpdate(e){super.willUpdate(e);let t=this.static().states;if(t)for(let[e,n]of Object.entries(t))this.toggleAttribute(`data-state-${e}`,!!n(this))}addGlobalEventListener(e,t){this.globalListeners.push([e,t]),window.addEventListener(e,t)}render(){return t.html`<slot></slot>`}getInternals(){return this.internals??=this.attachInternals(),this.internals}static(){return this.constructor}forwardMethodCall(e,...t){for(let n of this.traits)n[e]?.(...t)}};exports.default=n;
2
2
  //# sourceMappingURL=WebComponent.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WebComponent.cjs.js","names":[],"sources":["../../../../src/lib/components/web-component/WebComponent.ts"],"sourcesContent":["import { html, LitElement, type CSSResultGroup } from 'lit'\nimport type { WebComponentTrait, WebComponentTraitMethodKey } from '@/lib/components/traits/WebComponentTrait'\n\nimport styles from './WebComponent.styles.css'\n\nexport default abstract class WebComponent extends LitElement {\n static states?: Record<string, Function>\n\n protected static finalizeStyles (componentStyles?: CSSResultGroup) {\n const elementStyles = super.finalizeStyles(componentStyles)\n\n return [styles, ...elementStyles]\n }\n\n protected internals?: ElementInternals\n protected globalListeners: [type: string, listener: EventListener][] = []\n protected traits: WebComponentTrait[] = []\n\n disconnectedCallback (): void {\n super.disconnectedCallback()\n\n for (const [type, listener] of this.globalListeners) {\n window.removeEventListener(type, listener)\n }\n\n this.globalListeners = []\n }\n\n protected addTrait<T extends WebComponentTrait>(trait: T): T {\n this.traits.push(trait)\n\n return trait\n }\n\n protected firstUpdated () {\n this.forwardMethodCall('firstUpdated')\n }\n\n protected updated (changedProperties: Map<PropertyKey, unknown>) {\n this.forwardMethodCall('updated', changedProperties)\n }\n\n protected formResetCallback () {\n this.forwardMethodCall('formResetCallback')\n }\n\n protected willUpdate (changedProperties: Map<string, any>) {\n super.willUpdate(changedProperties)\n\n const states = this.static().states\n\n if (!states) {\n return\n }\n\n const internals = this.getInternals()\n\n for (const [state, condition] of Object.entries(states)) {\n const matches = condition(this)\n\n if (matches && !internals.states.has(state)) {\n internals.states.add(state)\n } else if (!matches && internals.states.has(state)) {\n internals.states.delete(state)\n }\n }\n }\n\n protected addGlobalEventListener <T extends keyof WindowEventMap>(type: T, listener: (this: Window, ev: WindowEventMap[T]) => any) {\n this.globalListeners.push([type, listener as EventListener])\n\n window.addEventListener(type, listener)\n }\n\n protected render () {\n return html`<slot></slot>`\n }\n\n protected getInternals (): ElementInternals {\n this.internals ??= this.attachInternals()\n\n return this.internals\n }\n\n private static (): typeof WebComponent {\n return this.constructor as typeof WebComponent\n }\n\n private forwardMethodCall<T extends WebComponentTraitMethodKey>(method: T, ...args: Parameters<Required<WebComponentTrait>[T]>) {\n for (const trait of this.traits) {\n (trait[method] as Function | undefined)?.(...args)\n }\n }\n}\n"],"mappings":"qEAKA,IAA8B,EAA9B,cAAmD,EAAA,UAAW,CAC5D,OAAO,OAEP,OAAiB,eAAgB,EAAkC,CAGjE,MAAO,CAAC,EAAA,QAAQ,GAFM,MAAM,eAAe,CAExB,CAAa,CAClC,CAEA,UACA,gBAAuE,CAAC,EACxE,OAAwC,CAAC,EAEzC,sBAA8B,CAC5B,MAAM,qBAAqB,EAE3B,IAAK,GAAM,CAAC,EAAM,KAAa,KAAK,gBAClC,OAAO,oBAAoB,EAAM,CAAQ,EAG3C,KAAK,gBAAkB,CAAC,CAC1B,CAEA,SAAgD,EAAa,CAG3D,OAFA,KAAK,OAAO,KAAK,CAAK,EAEf,CACT,CAEA,cAA0B,CACxB,KAAK,kBAAkB,cAAc,CACvC,CAEA,QAAmB,EAA8C,CAC/D,KAAK,kBAAkB,UAAW,CAAiB,CACrD,CAEA,mBAA+B,CAC7B,KAAK,kBAAkB,mBAAmB,CAC5C,CAEA,WAAsB,EAAqC,CACzD,MAAM,WAAW,CAAiB,EAElC,IAAM,EAAS,KAAK,OAAO,EAAE,OAE7B,GAAI,CAAC,EACH,OAGF,IAAM,EAAY,KAAK,aAAa,EAEpC,IAAK,GAAM,CAAC,EAAO,KAAc,OAAO,QAAQ,CAAM,EAAG,CACvD,IAAM,EAAU,EAAU,IAAI,EAE1B,GAAW,CAAC,EAAU,OAAO,IAAI,CAAK,EACxC,EAAU,OAAO,IAAI,CAAK,EACjB,CAAC,GAAW,EAAU,OAAO,IAAI,CAAK,GAC/C,EAAU,OAAO,OAAO,CAAK,CAEjC,CACF,CAEA,uBAAkE,EAAS,EAAwD,CACjI,KAAK,gBAAgB,KAAK,CAAC,EAAM,CAAyB,CAAC,EAE3D,OAAO,iBAAiB,EAAM,CAAQ,CACxC,CAEA,QAAoB,CAClB,MAAO,GAAA,IAAI,eACb,CAEA,cAA4C,CAG1C,MAFA,MAAK,YAAc,KAAK,gBAAgB,EAEjC,KAAK,SACd,CAEA,QAAuC,CACrC,OAAO,KAAK,WACd,CAEA,kBAAgE,EAAW,GAAG,EAAkD,CAC9H,IAAK,IAAM,KAAS,KAAK,OACvB,EAAO,KAAmC,GAAG,CAAI,CAErD,CACF"}
1
+ {"version":3,"file":"WebComponent.cjs.js","names":[],"sources":["../../../../src/lib/components/web-component/WebComponent.ts"],"sourcesContent":["import { html, LitElement, type CSSResultGroup } from 'lit'\nimport type { WebComponentTrait, WebComponentTraitMethodKey } from '@/lib/components/traits/WebComponentTrait'\n\nimport styles from './WebComponent.styles.css'\n\nexport default abstract class WebComponent extends LitElement {\n static states?: Record<string, Function>\n\n protected static finalizeStyles (componentStyles?: CSSResultGroup) {\n const elementStyles = super.finalizeStyles(componentStyles)\n\n return [styles, ...elementStyles]\n }\n\n protected internals?: ElementInternals\n protected globalListeners: [type: string, listener: EventListener][] = []\n protected traits: WebComponentTrait[] = []\n\n disconnectedCallback (): void {\n super.disconnectedCallback()\n\n for (const [type, listener] of this.globalListeners) {\n window.removeEventListener(type, listener)\n }\n\n this.globalListeners = []\n }\n\n protected addTrait<T extends WebComponentTrait>(trait: T): T {\n this.traits.push(trait)\n\n return trait\n }\n\n protected firstUpdated () {\n this.forwardMethodCall('firstUpdated')\n }\n\n protected updated (changedProperties: Map<PropertyKey, unknown>) {\n this.forwardMethodCall('updated', changedProperties)\n }\n\n protected formResetCallback () {\n this.forwardMethodCall('formResetCallback')\n }\n\n protected willUpdate (changedProperties: Map<string, any>) {\n super.willUpdate(changedProperties)\n\n const states = this.static().states\n\n if (!states) {\n return\n }\n\n for (const [state, condition] of Object.entries(states)) {\n // FIXME when browser support is good enough, use the internals API instead with :state() selectors\n this.toggleAttribute(`data-state-${state}`, !!condition(this))\n }\n }\n\n protected addGlobalEventListener <T extends keyof WindowEventMap>(type: T, listener: (this: Window, ev: WindowEventMap[T]) => any) {\n this.globalListeners.push([type, listener as EventListener])\n\n window.addEventListener(type, listener)\n }\n\n protected render () {\n return html`<slot></slot>`\n }\n\n protected getInternals (): ElementInternals {\n this.internals ??= this.attachInternals()\n\n return this.internals\n }\n\n private static (): typeof WebComponent {\n return this.constructor as typeof WebComponent\n }\n\n private forwardMethodCall<T extends WebComponentTraitMethodKey>(method: T, ...args: Parameters<Required<WebComponentTrait>[T]>) {\n for (const trait of this.traits) {\n (trait[method] as Function | undefined)?.(...args)\n }\n }\n}\n"],"mappings":"qEAKA,IAA8B,EAA9B,cAAmD,EAAA,UAAW,CAC5D,OAAO,OAEP,OAAiB,eAAgB,EAAkC,CAGjE,MAAO,CAAC,EAAA,QAAQ,GAFM,MAAM,eAAe,CAExB,CAAa,CAClC,CAEA,UACA,gBAAuE,CAAC,EACxE,OAAwC,CAAC,EAEzC,sBAA8B,CAC5B,MAAM,qBAAqB,EAE3B,IAAK,GAAM,CAAC,EAAM,KAAa,KAAK,gBAClC,OAAO,oBAAoB,EAAM,CAAQ,EAG3C,KAAK,gBAAkB,CAAC,CAC1B,CAEA,SAAgD,EAAa,CAG3D,OAFA,KAAK,OAAO,KAAK,CAAK,EAEf,CACT,CAEA,cAA0B,CACxB,KAAK,kBAAkB,cAAc,CACvC,CAEA,QAAmB,EAA8C,CAC/D,KAAK,kBAAkB,UAAW,CAAiB,CACrD,CAEA,mBAA+B,CAC7B,KAAK,kBAAkB,mBAAmB,CAC5C,CAEA,WAAsB,EAAqC,CACzD,MAAM,WAAW,CAAiB,EAElC,IAAM,EAAS,KAAK,OAAO,CAAC,CAAC,OAExB,KAIL,IAAK,GAAM,CAAC,EAAO,KAAc,OAAO,QAAQ,CAAM,EAEpD,KAAK,gBAAgB,cAAc,IAAS,CAAC,CAAC,EAAU,IAAI,CAAC,CAEjE,CAEA,uBAAkE,EAAS,EAAwD,CACjI,KAAK,gBAAgB,KAAK,CAAC,EAAM,CAAyB,CAAC,EAE3D,OAAO,iBAAiB,EAAM,CAAQ,CACxC,CAEA,QAAoB,CAClB,MAAO,GAAA,IAAI,eACb,CAEA,cAA4C,CAG1C,MAFA,MAAK,YAAc,KAAK,gBAAgB,EAEjC,KAAK,SACd,CAEA,QAAuC,CACrC,OAAO,KAAK,WACd,CAEA,kBAAgE,EAAW,GAAG,EAAkD,CAC9H,IAAK,IAAM,KAAS,KAAK,OACvB,EAAO,EAAO,GAA4B,GAAG,CAAI,CAErD,CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebComponent.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/web-component/WebComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAA8B,MAAM,2CAA2C,CAAA;AAI9G,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,YAAa,SAAQ,UAAU;IAC3D,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAExC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAE,eAAe,CAAC,EAAE,cAAc;IAMjE,SAAS,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAA;IACtC,SAAS,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAK;IACzE,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAK;IAE1C,oBAAoB,IAAK,IAAI;IAU7B,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,iBAAiB,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAM5D,SAAS,CAAC,YAAY;IAItB,SAAS,CAAC,OAAO,CAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAI/D,SAAS,CAAC,iBAAiB;IAI3B,SAAS,CAAC,UAAU,CAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;IAsBzD,SAAS,CAAC,sBAAsB,CAAE,CAAC,SAAS,MAAM,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,GAAG;IAMjI,SAAS,CAAC,MAAM;IAIhB,SAAS,CAAC,YAAY,IAAK,gBAAgB;IAM3C,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,iBAAiB;CAK1B"}
1
+ {"version":3,"file":"WebComponent.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/web-component/WebComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAA8B,MAAM,2CAA2C,CAAA;AAI9G,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,YAAa,SAAQ,UAAU;IAC3D,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IAExC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAE,eAAe,CAAC,EAAE,cAAc;IAMjE,SAAS,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAA;IACtC,SAAS,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAK;IACzE,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAK;IAE1C,oBAAoB,IAAK,IAAI;IAU7B,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,iBAAiB,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAM5D,SAAS,CAAC,YAAY;IAItB,SAAS,CAAC,OAAO,CAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IAI/D,SAAS,CAAC,iBAAiB;IAI3B,SAAS,CAAC,UAAU,CAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;IAezD,SAAS,CAAC,sBAAsB,CAAE,CAAC,SAAS,MAAM,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,GAAG;IAMjI,SAAS,CAAC,MAAM;IAIhB,SAAS,CAAC,YAAY,IAAK,gBAAgB;IAM3C,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,iBAAiB;CAK1B"}
@@ -29,12 +29,7 @@ var r = class extends t {
29
29
  willUpdate(e) {
30
30
  super.willUpdate(e);
31
31
  let t = this.static().states;
32
- if (!t) return;
33
- let n = this.getInternals();
34
- for (let [e, r] of Object.entries(t)) {
35
- let t = r(this);
36
- t && !n.states.has(e) ? n.states.add(e) : !t && n.states.has(e) && n.states.delete(e);
37
- }
32
+ if (t) for (let [e, n] of Object.entries(t)) this.toggleAttribute(`data-state-${e}`, !!n(this));
38
33
  }
39
34
  addGlobalEventListener(e, t) {
40
35
  this.globalListeners.push([e, t]), window.addEventListener(e, t);
@@ -1 +1 @@
1
- {"version":3,"file":"WebComponent.esm.js","names":[],"sources":["../../../../src/lib/components/web-component/WebComponent.ts"],"sourcesContent":["import { html, LitElement, type CSSResultGroup } from 'lit'\nimport type { WebComponentTrait, WebComponentTraitMethodKey } from '@/lib/components/traits/WebComponentTrait'\n\nimport styles from './WebComponent.styles.css'\n\nexport default abstract class WebComponent extends LitElement {\n static states?: Record<string, Function>\n\n protected static finalizeStyles (componentStyles?: CSSResultGroup) {\n const elementStyles = super.finalizeStyles(componentStyles)\n\n return [styles, ...elementStyles]\n }\n\n protected internals?: ElementInternals\n protected globalListeners: [type: string, listener: EventListener][] = []\n protected traits: WebComponentTrait[] = []\n\n disconnectedCallback (): void {\n super.disconnectedCallback()\n\n for (const [type, listener] of this.globalListeners) {\n window.removeEventListener(type, listener)\n }\n\n this.globalListeners = []\n }\n\n protected addTrait<T extends WebComponentTrait>(trait: T): T {\n this.traits.push(trait)\n\n return trait\n }\n\n protected firstUpdated () {\n this.forwardMethodCall('firstUpdated')\n }\n\n protected updated (changedProperties: Map<PropertyKey, unknown>) {\n this.forwardMethodCall('updated', changedProperties)\n }\n\n protected formResetCallback () {\n this.forwardMethodCall('formResetCallback')\n }\n\n protected willUpdate (changedProperties: Map<string, any>) {\n super.willUpdate(changedProperties)\n\n const states = this.static().states\n\n if (!states) {\n return\n }\n\n const internals = this.getInternals()\n\n for (const [state, condition] of Object.entries(states)) {\n const matches = condition(this)\n\n if (matches && !internals.states.has(state)) {\n internals.states.add(state)\n } else if (!matches && internals.states.has(state)) {\n internals.states.delete(state)\n }\n }\n }\n\n protected addGlobalEventListener <T extends keyof WindowEventMap>(type: T, listener: (this: Window, ev: WindowEventMap[T]) => any) {\n this.globalListeners.push([type, listener as EventListener])\n\n window.addEventListener(type, listener)\n }\n\n protected render () {\n return html`<slot></slot>`\n }\n\n protected getInternals (): ElementInternals {\n this.internals ??= this.attachInternals()\n\n return this.internals\n }\n\n private static (): typeof WebComponent {\n return this.constructor as typeof WebComponent\n }\n\n private forwardMethodCall<T extends WebComponentTraitMethodKey>(method: T, ...args: Parameters<Required<WebComponentTrait>[T]>) {\n for (const trait of this.traits) {\n (trait[method] as Function | undefined)?.(...args)\n }\n }\n}\n"],"mappings":";;;AAKA,IAA8B,IAA9B,cAAmD,EAAW;CAC5D,OAAO;CAEP,OAAiB,eAAgB,GAAkC;EAGjE,OAAO,CAAC,GAAQ,GAFM,MAAM,eAAe,CAExB,CAAa;CAClC;CAEA;CACA,kBAAuE,CAAC;CACxE,SAAwC,CAAC;CAEzC,uBAA8B;EAC5B,MAAM,qBAAqB;EAE3B,KAAK,IAAM,CAAC,GAAM,MAAa,KAAK,iBAClC,OAAO,oBAAoB,GAAM,CAAQ;EAG3C,KAAK,kBAAkB,CAAC;CAC1B;CAEA,SAAgD,GAAa;EAG3D,OAFA,KAAK,OAAO,KAAK,CAAK,GAEf;CACT;CAEA,eAA0B;EACxB,KAAK,kBAAkB,cAAc;CACvC;CAEA,QAAmB,GAA8C;EAC/D,KAAK,kBAAkB,WAAW,CAAiB;CACrD;CAEA,oBAA+B;EAC7B,KAAK,kBAAkB,mBAAmB;CAC5C;CAEA,WAAsB,GAAqC;EACzD,MAAM,WAAW,CAAiB;EAElC,IAAM,IAAS,KAAK,OAAO,EAAE;EAE7B,IAAI,CAAC,GACH;EAGF,IAAM,IAAY,KAAK,aAAa;EAEpC,KAAK,IAAM,CAAC,GAAO,MAAc,OAAO,QAAQ,CAAM,GAAG;GACvD,IAAM,IAAU,EAAU,IAAI;GAE9B,AAAI,KAAW,CAAC,EAAU,OAAO,IAAI,CAAK,IACxC,EAAU,OAAO,IAAI,CAAK,IACjB,CAAC,KAAW,EAAU,OAAO,IAAI,CAAK,KAC/C,EAAU,OAAO,OAAO,CAAK;EAEjC;CACF;CAEA,uBAAkE,GAAS,GAAwD;EAGjI,AAFA,KAAK,gBAAgB,KAAK,CAAC,GAAM,CAAyB,CAAC,GAE3D,OAAO,iBAAiB,GAAM,CAAQ;CACxC;CAEA,SAAoB;EAClB,OAAO,CAAI;CACb;CAEA,eAA4C;EAG1C,OAFA,KAAK,cAAc,KAAK,gBAAgB,GAEjC,KAAK;CACd;CAEA,SAAuC;EACrC,OAAO,KAAK;CACd;CAEA,kBAAgE,GAAW,GAAG,GAAkD;EAC9H,KAAK,IAAM,KAAS,KAAK,QACvB,EAAO,KAAmC,GAAG,CAAI;CAErD;AACF"}
1
+ {"version":3,"file":"WebComponent.esm.js","names":[],"sources":["../../../../src/lib/components/web-component/WebComponent.ts"],"sourcesContent":["import { html, LitElement, type CSSResultGroup } from 'lit'\nimport type { WebComponentTrait, WebComponentTraitMethodKey } from '@/lib/components/traits/WebComponentTrait'\n\nimport styles from './WebComponent.styles.css'\n\nexport default abstract class WebComponent extends LitElement {\n static states?: Record<string, Function>\n\n protected static finalizeStyles (componentStyles?: CSSResultGroup) {\n const elementStyles = super.finalizeStyles(componentStyles)\n\n return [styles, ...elementStyles]\n }\n\n protected internals?: ElementInternals\n protected globalListeners: [type: string, listener: EventListener][] = []\n protected traits: WebComponentTrait[] = []\n\n disconnectedCallback (): void {\n super.disconnectedCallback()\n\n for (const [type, listener] of this.globalListeners) {\n window.removeEventListener(type, listener)\n }\n\n this.globalListeners = []\n }\n\n protected addTrait<T extends WebComponentTrait>(trait: T): T {\n this.traits.push(trait)\n\n return trait\n }\n\n protected firstUpdated () {\n this.forwardMethodCall('firstUpdated')\n }\n\n protected updated (changedProperties: Map<PropertyKey, unknown>) {\n this.forwardMethodCall('updated', changedProperties)\n }\n\n protected formResetCallback () {\n this.forwardMethodCall('formResetCallback')\n }\n\n protected willUpdate (changedProperties: Map<string, any>) {\n super.willUpdate(changedProperties)\n\n const states = this.static().states\n\n if (!states) {\n return\n }\n\n for (const [state, condition] of Object.entries(states)) {\n // FIXME when browser support is good enough, use the internals API instead with :state() selectors\n this.toggleAttribute(`data-state-${state}`, !!condition(this))\n }\n }\n\n protected addGlobalEventListener <T extends keyof WindowEventMap>(type: T, listener: (this: Window, ev: WindowEventMap[T]) => any) {\n this.globalListeners.push([type, listener as EventListener])\n\n window.addEventListener(type, listener)\n }\n\n protected render () {\n return html`<slot></slot>`\n }\n\n protected getInternals (): ElementInternals {\n this.internals ??= this.attachInternals()\n\n return this.internals\n }\n\n private static (): typeof WebComponent {\n return this.constructor as typeof WebComponent\n }\n\n private forwardMethodCall<T extends WebComponentTraitMethodKey>(method: T, ...args: Parameters<Required<WebComponentTrait>[T]>) {\n for (const trait of this.traits) {\n (trait[method] as Function | undefined)?.(...args)\n }\n }\n}\n"],"mappings":";;;AAKA,IAA8B,IAA9B,cAAmD,EAAW;CAC5D,OAAO;CAEP,OAAiB,eAAgB,GAAkC;EAGjE,OAAO,CAAC,GAAQ,GAFM,MAAM,eAAe,CAExB,CAAa;CAClC;CAEA;CACA,kBAAuE,CAAC;CACxE,SAAwC,CAAC;CAEzC,uBAA8B;EAC5B,MAAM,qBAAqB;EAE3B,KAAK,IAAM,CAAC,GAAM,MAAa,KAAK,iBAClC,OAAO,oBAAoB,GAAM,CAAQ;EAG3C,KAAK,kBAAkB,CAAC;CAC1B;CAEA,SAAgD,GAAa;EAG3D,OAFA,KAAK,OAAO,KAAK,CAAK,GAEf;CACT;CAEA,eAA0B;EACxB,KAAK,kBAAkB,cAAc;CACvC;CAEA,QAAmB,GAA8C;EAC/D,KAAK,kBAAkB,WAAW,CAAiB;CACrD;CAEA,oBAA+B;EAC7B,KAAK,kBAAkB,mBAAmB;CAC5C;CAEA,WAAsB,GAAqC;EACzD,MAAM,WAAW,CAAiB;EAElC,IAAM,IAAS,KAAK,OAAO,CAAC,CAAC;EAExB,OAIL,KAAK,IAAM,CAAC,GAAO,MAAc,OAAO,QAAQ,CAAM,GAEpD,KAAK,gBAAgB,cAAc,KAAS,CAAC,CAAC,EAAU,IAAI,CAAC;CAEjE;CAEA,uBAAkE,GAAS,GAAwD;EAGjI,AAFA,KAAK,gBAAgB,KAAK,CAAC,GAAM,CAAyB,CAAC,GAE3D,OAAO,iBAAiB,GAAM,CAAQ;CACxC;CAEA,SAAoB;EAClB,OAAO,CAAI;CACb;CAEA,eAA4C;EAG1C,OAFA,KAAK,cAAc,KAAK,gBAAgB,GAEjC,KAAK;CACd;CAEA,SAAuC;EACrC,OAAO,KAAK;CACd;CAEA,kBAAgE,GAAW,GAAG,GAAkD;EAC9H,KAAK,IAAM,KAAS,KAAK,QACvB,EAAO,EAAO,GAA4B,GAAG,CAAI;CAErD;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"WebComponent.styles.cjs.js","names":[],"sources":["../../../../src/lib/components/web-component/WebComponent.styles.css"],"sourcesContent":["@import 'tailwindcss/preflight.css';\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"WebComponent.styles.cjs.js","names":[],"sources":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"WebComponent.styles.esm.js","names":[],"sources":["../../../../src/lib/components/web-component/WebComponent.styles.css"],"sourcesContent":["@import 'tailwindcss/preflight.css';\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"WebComponent.styles.esm.js","names":[],"sources":[],"mappings":""}
@@ -1 +1 @@
1
- require("./WebComponent.cjs.js");
1
+ const e=require("./WebComponent.cjs.js");exports.WebComponent=e.default;
@@ -1 +1,2 @@
1
- import "./WebComponent.esm.js";
1
+ import e from "./WebComponent.esm.js";
2
+ export { e as WebComponent };
@@ -1 +1 @@
1
- {"version":3,"file":"context.cjs.js","names":[],"sources":["../../../src/lib/dialogs/context.ts"],"sourcesContent":["import { createContext } from '@lit/context'\nimport { generateId } from '@/lib/components/ids'\n\nexport interface DialogContext {\n readonly id: string\n}\n\nexport const DEFAULT_DIALOG_CONTEXT = { id: `noop-${generateId()}` } satisfies DialogContext\nexport const dialogContext = createContext<DialogContext>(Symbol('dialog'))\n"],"mappings":"0EAOA,IAAa,EAAyB,CAAE,GAAI,QAAQ,EAAA,WAAW,GAAI,EACtD,GAAA,EAAA,EAAA,eAA6C,OAAO,QAAQ,CAAC"}
1
+ {"version":3,"file":"context.cjs.js","names":[],"sources":["../../../src/lib/dialogs/context.ts"],"sourcesContent":["import { createContext } from '@lit/context'\nimport { generateId } from '@/lib/components/ids'\n\nexport interface DialogContext {\n readonly id: string\n}\n\nexport const DEFAULT_DIALOG_CONTEXT = { id: `noop-${generateId()}` } satisfies DialogContext\nexport const dialogContext = createContext<DialogContext>(Symbol('dialog'))\n"],"mappings":"0EAOA,IAAa,EAAyB,CAAE,GAAI,QAAQ,EAAA,WAAW,GAAI,EACtD,GAAA,EAAA,EAAA,cAAA,CAA6C,OAAO,QAAQ,CAAC"}
@@ -1 +1 @@
1
- require("./context.cjs.js"),require("./events/close-dialog.cjs.js"),require("./Dialog.cjs.js"),require("./events/show-dialog.cjs.js"),require("./helpers.cjs.js");
1
+ const e=require("./context.cjs.js"),t=require("./events/close-dialog.cjs.js"),n=require("./Dialog.cjs.js"),r=require("./events/show-dialog.cjs.js"),i=require("./helpers.cjs.js");exports.CloseDialogEvent=t.CloseDialogEvent,exports.DEFAULT_DIALOG_CONTEXT=e.DEFAULT_DIALOG_CONTEXT,exports.Dialog=n.default,exports.ShowDialogEvent=r.ShowDialogEvent,exports.dialogContext=e.dialogContext,exports.showDialog=i.showDialog;
@@ -1,5 +1,6 @@
1
- import "./context.esm.js";
2
- import "./events/close-dialog.esm.js";
3
- import "./Dialog.esm.js";
4
- import "./events/show-dialog.esm.js";
5
- import "./helpers.esm.js";
1
+ import { DEFAULT_DIALOG_CONTEXT as e, dialogContext as t } from "./context.esm.js";
2
+ import { CloseDialogEvent as n } from "./events/close-dialog.esm.js";
3
+ import r from "./Dialog.esm.js";
4
+ import { ShowDialogEvent as i } from "./events/show-dialog.esm.js";
5
+ import { showDialog as a } from "./helpers.esm.js";
6
+ export { n as CloseDialogEvent, e as DEFAULT_DIALOG_CONTEXT, r as Dialog, i as ShowDialogEvent, t as dialogContext, a as showDialog };
@@ -0,0 +1,4 @@
1
+ import { LiveStore, NamedNode } from 'rdflib';
2
+ export declare function getGraph(subject?: NamedNode): NamedNode | undefined;
3
+ export declare function getFormProperty(store: LiveStore, subject: NamedNode | undefined, property: NamedNode, graph?: any): NamedNode | undefined;
4
+ //# sourceMappingURL=rdfHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rdfHelper.d.ts","sourceRoot":"","sources":["../../../src/lib/forms/rdfHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAE7C,wBAAgB,QAAQ,CAAE,OAAO,CAAC,EAAE,SAAS,yBAE5C;AAED,wBAAgB,eAAe,CAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,SAAS,GAAG,SAAS,CAG1I"}
@@ -1,2 +1,2 @@
1
- var e=require("../_virtual/_rolldown/runtime.cjs.js").__exportAll({LogLevel:()=>c,alert:()=>b,clear:()=>x,debug:()=>g,dumpHTML:()=>C,error:()=>v,escapeForXML:()=>E,info:()=>_,logAscending:()=>w,logDescending:()=>T,msg:()=>m,setInternals:()=>D,setLevel:()=>S,success:()=>y,warn:()=>h}),t=1,n=2,r=4,i=8,a=16,o=32,s=63,c=function(e){return e[e.Error=t]=`Error`,e[e.Warning=n]=`Warning`,e[e.Message=r]=`Message`,e[e.Success=i]=`Success`,e[e.Info=a]=`Info`,e[e.Debug=o]=`Debug`,e[e.All=s]=`All`,e}({}),l=7,u=!1,d=document,f=window;function p(e,t=r,n=`mesg`){if(l&t)if(d!==void 0){let t=d.getElementById(`status`);if(!t)return;let r=d.createElement(`span`);r.setAttribute(`class`,n);let i=new Date;r.innerHTML=`${i.getHours()}:${i.getMinutes()}:${i.getSeconds()} [${n}] ${E(e)}<br/>`,u?t.insertBefore(r,t.firstChild):t.appendChild(r)}else typeof console<`u`&&console.log(e)}function m(e){p(e)}function h(e){p(e,n,`warn`)}function g(e){p(e,o,`dbug`)}function _(e){p(e,a,`info`)}function v(e){p(e,t,`eror`)}function y(e){p(e,i,`good`)}function b(e){f&&f.alert!==void 0?f.alert(e):h(e)}function x(){let e=d?.getElementById(`status`);e&&(e.innerHTML=``)}function S(e){l=s,g(`Log level is now `+e),l=e}function C(){if(!d)return;let e=l;l=s,g(d?.body?.innerHTML||``),l=e}function w(){u=!0}function T(){u=!1}function E(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function D(e,t){f=e,d=t}exports.alert=b,exports.debug=g,exports.info=_,Object.defineProperty(exports,"log_exports",{enumerable:!0,get:function(){return e}});
1
+ var e=require("../_virtual/_rolldown/runtime.cjs.js").__exportAll({LogLevel:()=>c,alert:()=>b,clear:()=>x,debug:()=>g,dumpHTML:()=>C,error:()=>v,escapeForXML:()=>E,info:()=>_,logAscending:()=>w,logDescending:()=>T,msg:()=>m,setInternals:()=>D,setLevel:()=>S,success:()=>y,warn:()=>h}),t=1,n=2,r=4,i=8,a=16,o=32,s=63,c=function(e){return e[e.Error=t]=`Error`,e[e.Warning=n]=`Warning`,e[e.Message=r]=`Message`,e[e.Success=i]=`Success`,e[e.Info=a]=`Info`,e[e.Debug=o]=`Debug`,e[e.All=s]=`All`,e}({}),l=7,u=!1,d=document,f=window;function p(e,t=r,n=`mesg`){if(l&t)if(d!==void 0){let t=d.getElementById(`status`);if(!t)return;let r=d.createElement(`span`);r.setAttribute(`class`,n);let i=new Date;r.innerHTML=`${i.getHours()}:${i.getMinutes()}:${i.getSeconds()} [${n}] ${E(e)}<br/>`,u?t.insertBefore(r,t.firstChild):t.appendChild(r)}else typeof console<`u`&&console.log(e)}function m(e){p(e)}function h(e){p(e,n,`warn`)}function g(e){p(e,o,`dbug`)}function _(e){p(e,a,`info`)}function v(e){p(e,t,`eror`)}function y(e){p(e,i,`good`)}function b(e){f&&f.alert!==void 0?f.alert(e):h(e)}function x(){let e=d?.getElementById(`status`);e&&(e.innerHTML=``)}function S(e){l=s,g(`Log level is now `+e),l=e}function C(){if(!d)return;let e=l;l=s,g(d?.body?.innerHTML||``),l=e}function w(){u=!0}function T(){u=!1}function E(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function D(e,t){f=e,d=t}exports.LogLevel=c,exports.alert=b,exports.clear=x,exports.debug=g,exports.dumpHTML=C,exports.error=v,exports.escapeForXML=E,exports.info=_,exports.logAscending=w,exports.logDescending=T,Object.defineProperty(exports,"log_exports",{enumerable:!0,get:function(){return e}}),exports.msg=m,exports.setInternals=D,exports.setLevel=S,exports.success=y,exports.warn=h;
2
2
  //# sourceMappingURL=log.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log.cjs.js","names":[],"sources":["../../src/lib/log.ts"],"sourcesContent":["// /////////////////////// Logging\n//\n// bitmask levels\n// const TNONE = 0\n/** @internal */\nconst TERROR = 1\n/** @internal */\nconst TWARN = 2\n/** @internal */\nconst TMESG = 4\n/** @internal */\nconst TSUCCESS = 8\n/** @internal */\nconst TINFO = 16\n/** @internal */\nconst TDEBUG = 32\n/** @internal */\nconst TALL = 63\n\n/** @internal */\nexport enum LogLevel {\n Error = TERROR,\n Warning = TWARN,\n Message = TMESG,\n Success = TSUCCESS,\n Info = TINFO,\n Debug = TDEBUG,\n All = TALL\n}\n\n/** @internal */\nlet _level: number = TERROR + TWARN + TMESG\n/** @internal */\nlet _ascending: boolean = false\n/** @internal */\nlet _dom: HTMLDocument = document // must be able to override for tests\n/** @internal */\nlet _window: Window = window // must be able to override for tests\n\n/** @internal */\nfunction log (str: string, type: number = TMESG, typestr: string = 'mesg') {\n if (!(_level & type)) return // bitmask\n\n if (typeof _dom !== 'undefined') {\n const logArea = _dom.getElementById('status')\n if (!logArea) return\n\n const addendum = _dom.createElement('span')\n addendum.setAttribute('class', typestr)\n const now = new Date()\n addendum.innerHTML = `${now.getHours()}:${now.getMinutes()}:${now.getSeconds()} [${typestr}] ${escapeForXML(str)}<br/>`\n if (_ascending) {\n logArea.insertBefore(addendum, logArea.firstChild)\n } else {\n logArea.appendChild(addendum)\n }\n } else if (typeof console !== 'undefined') {\n console.log(str)\n }\n}\n\n/**\n * Adds a message to the element with id \"status\". The messages are prepended with\n * time and type of message, in this case [mesg].\n */\nexport function msg (message: string) {\n log(message)\n}\n\n/**\n * Adds a warning message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [warn].\n */\nexport function warn (message: string): void {\n log(message, TWARN, 'warn')\n}\n\n/**\n * Adds a debugging message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [dbug].\n */\nexport function debug (message: string): void {\n log(message, TDEBUG, 'dbug')\n}\n\n/**\n * Adds a info message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [info].\n */\nexport function info (message: string): void {\n log(message, TINFO, 'info')\n}\n\n/**\n * Adds a error to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [eror].\n */\nexport function error (message: string): void {\n log(message, TERROR, 'eror')\n}\n\n/**\n * Adds a success message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [good].\n */\nexport function success (message: string): void {\n log(message, TSUCCESS, 'good')\n}\n\n/**\n * Uses the global alert to send an alert. If global alert is not available, it\n * will output the message using the method [[warning]]s.\n */\nexport function alert (message: string): void {\n if (_window && typeof _window.alert !== 'undefined') {\n _window.alert(message)\n } else {\n warn(message)\n }\n}\n\n/**\n * Will clear the content of the element with id \"status\".\n */\nexport function clear (): void {\n const logArea = _dom?.getElementById('status')\n if (!logArea) return\n logArea.innerHTML = ''\n}\n\n/**\n * Lets you configure which types of messages will be shown. The module uses\n * [bitmask](https://en.wikipedia.org/wiki/Mask_(computing)) to filter which\n * types of messages should be shown. E.g. if you only want warning messages\n * to be shown, pass 2 to the function, if you want warning and success to be\n * shown, pass 10 (2+8). By passing the sum of all, 63, you'll show all\n * types of messages.\n *\n * - Error: 1\n * - Warning: 2\n * - Message: 4\n * - Success: 8\n * - Info: 16\n * - Debug: 32\n */\nexport function setLevel (level: number): void {\n _level = TALL\n debug('Log level is now ' + level)\n _level = level\n}\n\n/**\n * Will dump the current HTML using the [[debug]] method.\n */\nexport function dumpHTML (): void {\n if (!_dom) return\n const level = _level\n _level = TALL\n debug(_dom?.body?.innerHTML || '')\n _level = level\n}\n\n/**\n * Will start prepending messages the list of log messages.\n */\nexport function logAscending () {\n _ascending = true\n}\n\n/**\n * Will start appending messages the list of log messages. (This is default\n * behavior.)\n */\nexport function logDescending () {\n _ascending = false\n}\n\n/** @internal */\nexport function escapeForXML (str: string): string {\n // can be replaced with function utils module when migrating\n return str\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n}\n\n/** @internal */\nexport function setInternals (window, document) {\n _window = window\n _dom = document\n}\n"],"mappings":"6RAKM,EAAS,EAET,EAAQ,EAER,EAAQ,EAER,EAAW,EAEX,EAAQ,GAER,EAAS,GAET,EAAO,GAGD,EAAL,SAAA,EAAA,OACL,GAAA,EAAA,MAAQ,GAAA,QACR,EAAA,EAAA,QAAU,GAAA,UACV,EAAA,EAAA,QAAU,GAAA,UACV,EAAA,EAAA,QAAU,GAAA,UACV,EAAA,EAAA,KAAO,GAAA,OACP,EAAA,EAAA,MAAQ,GAAA,QACR,EAAA,EAAA,IAAM,GAAA,OACR,EAAA,CAAA,CAAA,EAGI,EAAiB,EAEjB,EAAsB,GAEtB,EAAqB,SAErB,EAAkB,OAGtB,SAAS,EAAK,EAAa,EAAe,EAAO,EAAkB,OAAQ,CACnE,KAAS,EAEf,GAAW,IAAS,OAAa,CAC/B,IAAM,EAAU,EAAK,eAAe,QAAQ,EAC5C,GAAI,CAAC,EAAS,OAEd,IAAM,EAAW,EAAK,cAAc,MAAM,EAC1C,EAAS,aAAa,QAAS,CAAO,EACtC,IAAM,EAAM,IAAI,KAChB,EAAS,UAAY,GAAG,EAAI,SAAS,EAAE,GAAG,EAAI,WAAW,EAAE,GAAG,EAAI,WAAW,EAAE,IAAI,EAAQ,IAAI,EAAa,CAAG,EAAE,OAC7G,EACF,EAAQ,aAAa,EAAU,EAAQ,UAAU,EAEjD,EAAQ,YAAY,CAAQ,CAEhC,MAAW,OAAO,QAAY,KAC5B,QAAQ,IAAI,CAAG,CAEnB,CAMA,SAAgB,EAAK,EAAiB,CACpC,EAAI,CAAO,CACb,CAMA,SAAgB,EAAM,EAAuB,CAC3C,EAAI,EAAS,EAAO,MAAM,CAC5B,CAMA,SAAgB,EAAO,EAAuB,CAC5C,EAAI,EAAS,EAAQ,MAAM,CAC7B,CAMA,SAAgB,EAAM,EAAuB,CAC3C,EAAI,EAAS,EAAO,MAAM,CAC5B,CAMA,SAAgB,EAAO,EAAuB,CAC5C,EAAI,EAAS,EAAQ,MAAM,CAC7B,CAMA,SAAgB,EAAS,EAAuB,CAC9C,EAAI,EAAS,EAAU,MAAM,CAC/B,CAMA,SAAgB,EAAO,EAAuB,CACxC,GAAkB,EAAQ,QAAU,OACtC,EAAQ,MAAM,CAAO,EAErB,EAAK,CAAO,CAEhB,CAKA,SAAgB,GAAe,CAC7B,IAAM,EAAU,GAAM,eAAe,QAAQ,EACxC,IACL,EAAQ,UAAY,GACtB,CAiBA,SAAgB,EAAU,EAAqB,CAC7C,EAAS,EACT,EAAM,oBAAsB,CAAK,EACjC,EAAS,CACX,CAKA,SAAgB,GAAkB,CAChC,GAAI,CAAC,EAAM,OACX,IAAM,EAAQ,EACd,EAAS,EACT,EAAM,GAAM,MAAM,WAAa,EAAE,EACjC,EAAS,CACX,CAKA,SAAgB,GAAgB,CAC9B,EAAa,EACf,CAMA,SAAgB,GAAiB,CAC/B,EAAa,EACf,CAGA,SAAgB,EAAc,EAAqB,CAEjD,OAAO,EACJ,QAAQ,KAAM,OAAO,EACrB,QAAQ,KAAM,MAAM,EACpB,QAAQ,KAAM,MAAM,CACzB,CAGA,SAAgB,EAAc,EAAQ,EAAU,CAC9C,EAAU,EACV,EAAO,CACT"}
1
+ {"version":3,"file":"log.cjs.js","names":[],"sources":["../../src/lib/log.ts"],"sourcesContent":["// /////////////////////// Logging\n//\n// bitmask levels\n// const TNONE = 0\n/** @internal */\nconst TERROR = 1\n/** @internal */\nconst TWARN = 2\n/** @internal */\nconst TMESG = 4\n/** @internal */\nconst TSUCCESS = 8\n/** @internal */\nconst TINFO = 16\n/** @internal */\nconst TDEBUG = 32\n/** @internal */\nconst TALL = 63\n\n/** @internal */\nexport enum LogLevel {\n Error = TERROR,\n Warning = TWARN,\n Message = TMESG,\n Success = TSUCCESS,\n Info = TINFO,\n Debug = TDEBUG,\n All = TALL\n}\n\n/** @internal */\nlet _level: number = TERROR + TWARN + TMESG\n/** @internal */\nlet _ascending: boolean = false\n/** @internal */\nlet _dom: HTMLDocument = document // must be able to override for tests\n/** @internal */\nlet _window: Window = window // must be able to override for tests\n\n/** @internal */\nfunction log (str: string, type: number = TMESG, typestr: string = 'mesg') {\n if (!(_level & type)) return // bitmask\n\n if (typeof _dom !== 'undefined') {\n const logArea = _dom.getElementById('status')\n if (!logArea) return\n\n const addendum = _dom.createElement('span')\n addendum.setAttribute('class', typestr)\n const now = new Date()\n addendum.innerHTML = `${now.getHours()}:${now.getMinutes()}:${now.getSeconds()} [${typestr}] ${escapeForXML(str)}<br/>`\n if (_ascending) {\n logArea.insertBefore(addendum, logArea.firstChild)\n } else {\n logArea.appendChild(addendum)\n }\n } else if (typeof console !== 'undefined') {\n console.log(str)\n }\n}\n\n/**\n * Adds a message to the element with id \"status\". The messages are prepended with\n * time and type of message, in this case [mesg].\n */\nexport function msg (message: string) {\n log(message)\n}\n\n/**\n * Adds a warning message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [warn].\n */\nexport function warn (message: string): void {\n log(message, TWARN, 'warn')\n}\n\n/**\n * Adds a debugging message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [dbug].\n */\nexport function debug (message: string): void {\n log(message, TDEBUG, 'dbug')\n}\n\n/**\n * Adds a info message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [info].\n */\nexport function info (message: string): void {\n log(message, TINFO, 'info')\n}\n\n/**\n * Adds a error to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [eror].\n */\nexport function error (message: string): void {\n log(message, TERROR, 'eror')\n}\n\n/**\n * Adds a success message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [good].\n */\nexport function success (message: string): void {\n log(message, TSUCCESS, 'good')\n}\n\n/**\n * Uses the global alert to send an alert. If global alert is not available, it\n * will output the message using the method [[warning]]s.\n */\nexport function alert (message: string): void {\n if (_window && typeof _window.alert !== 'undefined') {\n _window.alert(message)\n } else {\n warn(message)\n }\n}\n\n/**\n * Will clear the content of the element with id \"status\".\n */\nexport function clear (): void {\n const logArea = _dom?.getElementById('status')\n if (!logArea) return\n logArea.innerHTML = ''\n}\n\n/**\n * Lets you configure which types of messages will be shown. The module uses\n * [bitmask](https://en.wikipedia.org/wiki/Mask_(computing)) to filter which\n * types of messages should be shown. E.g. if you only want warning messages\n * to be shown, pass 2 to the function, if you want warning and success to be\n * shown, pass 10 (2+8). By passing the sum of all, 63, you'll show all\n * types of messages.\n *\n * - Error: 1\n * - Warning: 2\n * - Message: 4\n * - Success: 8\n * - Info: 16\n * - Debug: 32\n */\nexport function setLevel (level: number): void {\n _level = TALL\n debug('Log level is now ' + level)\n _level = level\n}\n\n/**\n * Will dump the current HTML using the [[debug]] method.\n */\nexport function dumpHTML (): void {\n if (!_dom) return\n const level = _level\n _level = TALL\n debug(_dom?.body?.innerHTML || '')\n _level = level\n}\n\n/**\n * Will start prepending messages the list of log messages.\n */\nexport function logAscending () {\n _ascending = true\n}\n\n/**\n * Will start appending messages the list of log messages. (This is default\n * behavior.)\n */\nexport function logDescending () {\n _ascending = false\n}\n\n/** @internal */\nexport function escapeForXML (str: string): string {\n // can be replaced with function utils module when migrating\n return str\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n}\n\n/** @internal */\nexport function setInternals (window, document) {\n _window = window\n _dom = document\n}\n"],"mappings":"6RAKM,EAAS,EAET,EAAQ,EAER,EAAQ,EAER,EAAW,EAEX,EAAQ,GAER,EAAS,GAET,EAAO,GAGD,EAAL,SAAA,EAAA,OACL,GAAA,EAAA,MAAQ,GAAA,QACR,EAAA,EAAA,QAAU,GAAA,UACV,EAAA,EAAA,QAAU,GAAA,UACV,EAAA,EAAA,QAAU,GAAA,UACV,EAAA,EAAA,KAAO,GAAA,OACP,EAAA,EAAA,MAAQ,GAAA,QACR,EAAA,EAAA,IAAM,GAAA,OACR,EAAA,CAAA,CAAA,EAGI,EAAiB,EAEjB,EAAsB,GAEtB,EAAqB,SAErB,EAAkB,OAGtB,SAAS,EAAK,EAAa,EAAe,EAAO,EAAkB,OAAQ,CACnE,KAAS,EAEf,GAAW,IAAS,OAAa,CAC/B,IAAM,EAAU,EAAK,eAAe,QAAQ,EAC5C,GAAI,CAAC,EAAS,OAEd,IAAM,EAAW,EAAK,cAAc,MAAM,EAC1C,EAAS,aAAa,QAAS,CAAO,EACtC,IAAM,EAAM,IAAI,KAChB,EAAS,UAAY,GAAG,EAAI,SAAS,EAAE,GAAG,EAAI,WAAW,EAAE,GAAG,EAAI,WAAW,EAAE,IAAI,EAAQ,IAAI,EAAa,CAAG,EAAE,OAC7G,EACF,EAAQ,aAAa,EAAU,EAAQ,UAAU,EAEjD,EAAQ,YAAY,CAAQ,CAEhC,MAAW,OAAO,QAAY,KAC5B,QAAQ,IAAI,CAAG,CAEnB,CAMA,SAAgB,EAAK,EAAiB,CACpC,EAAI,CAAO,CACb,CAMA,SAAgB,EAAM,EAAuB,CAC3C,EAAI,EAAS,EAAO,MAAM,CAC5B,CAMA,SAAgB,EAAO,EAAuB,CAC5C,EAAI,EAAS,EAAQ,MAAM,CAC7B,CAMA,SAAgB,EAAM,EAAuB,CAC3C,EAAI,EAAS,EAAO,MAAM,CAC5B,CAMA,SAAgB,EAAO,EAAuB,CAC5C,EAAI,EAAS,EAAQ,MAAM,CAC7B,CAMA,SAAgB,EAAS,EAAuB,CAC9C,EAAI,EAAS,EAAU,MAAM,CAC/B,CAMA,SAAgB,EAAO,EAAuB,CACxC,GAAkB,EAAQ,QAAU,OACtC,EAAQ,MAAM,CAAO,EAErB,EAAK,CAAO,CAEhB,CAKA,SAAgB,GAAe,CAC7B,IAAM,EAAU,GAAM,eAAe,QAAQ,EACxC,IACL,EAAQ,UAAY,GACtB,CAiBA,SAAgB,EAAU,EAAqB,CAC7C,EAAS,EACT,EAAM,oBAAsB,CAAK,EACjC,EAAS,CACX,CAKA,SAAgB,GAAkB,CAChC,GAAI,CAAC,EAAM,OACX,IAAM,EAAQ,EACd,EAAS,EACT,EAAM,GAAM,MAAM,WAAa,EAAE,EACjC,EAAS,CACX,CAKA,SAAgB,GAAgB,CAC9B,EAAa,EACf,CAMA,SAAgB,GAAiB,CAC/B,EAAa,EACf,CAGA,SAAgB,EAAc,EAAqB,CAEjD,OAAO,EACJ,QAAQ,KAAM,OAAO,CAAC,CACtB,QAAQ,KAAM,MAAM,CAAC,CACrB,QAAQ,KAAM,MAAM,CACzB,CAGA,SAAgB,EAAc,EAAQ,EAAU,CAC9C,EAAU,EACV,EAAO,CACT"}
@@ -75,6 +75,6 @@ function O(e, t) {
75
75
  p = e, f = t;
76
76
  }
77
77
  //#endregion
78
- export { x as alert, _ as debug, v as info, t as log_exports };
78
+ export { l as LogLevel, x as alert, S as clear, _ as debug, w as dumpHTML, y as error, D as escapeForXML, v as info, T as logAscending, E as logDescending, t as log_exports, h as msg, O as setInternals, C as setLevel, b as success, g as warn };
79
79
 
80
80
  //# sourceMappingURL=log.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log.esm.js","names":[],"sources":["../../src/lib/log.ts"],"sourcesContent":["// /////////////////////// Logging\n//\n// bitmask levels\n// const TNONE = 0\n/** @internal */\nconst TERROR = 1\n/** @internal */\nconst TWARN = 2\n/** @internal */\nconst TMESG = 4\n/** @internal */\nconst TSUCCESS = 8\n/** @internal */\nconst TINFO = 16\n/** @internal */\nconst TDEBUG = 32\n/** @internal */\nconst TALL = 63\n\n/** @internal */\nexport enum LogLevel {\n Error = TERROR,\n Warning = TWARN,\n Message = TMESG,\n Success = TSUCCESS,\n Info = TINFO,\n Debug = TDEBUG,\n All = TALL\n}\n\n/** @internal */\nlet _level: number = TERROR + TWARN + TMESG\n/** @internal */\nlet _ascending: boolean = false\n/** @internal */\nlet _dom: HTMLDocument = document // must be able to override for tests\n/** @internal */\nlet _window: Window = window // must be able to override for tests\n\n/** @internal */\nfunction log (str: string, type: number = TMESG, typestr: string = 'mesg') {\n if (!(_level & type)) return // bitmask\n\n if (typeof _dom !== 'undefined') {\n const logArea = _dom.getElementById('status')\n if (!logArea) return\n\n const addendum = _dom.createElement('span')\n addendum.setAttribute('class', typestr)\n const now = new Date()\n addendum.innerHTML = `${now.getHours()}:${now.getMinutes()}:${now.getSeconds()} [${typestr}] ${escapeForXML(str)}<br/>`\n if (_ascending) {\n logArea.insertBefore(addendum, logArea.firstChild)\n } else {\n logArea.appendChild(addendum)\n }\n } else if (typeof console !== 'undefined') {\n console.log(str)\n }\n}\n\n/**\n * Adds a message to the element with id \"status\". The messages are prepended with\n * time and type of message, in this case [mesg].\n */\nexport function msg (message: string) {\n log(message)\n}\n\n/**\n * Adds a warning message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [warn].\n */\nexport function warn (message: string): void {\n log(message, TWARN, 'warn')\n}\n\n/**\n * Adds a debugging message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [dbug].\n */\nexport function debug (message: string): void {\n log(message, TDEBUG, 'dbug')\n}\n\n/**\n * Adds a info message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [info].\n */\nexport function info (message: string): void {\n log(message, TINFO, 'info')\n}\n\n/**\n * Adds a error to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [eror].\n */\nexport function error (message: string): void {\n log(message, TERROR, 'eror')\n}\n\n/**\n * Adds a success message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [good].\n */\nexport function success (message: string): void {\n log(message, TSUCCESS, 'good')\n}\n\n/**\n * Uses the global alert to send an alert. If global alert is not available, it\n * will output the message using the method [[warning]]s.\n */\nexport function alert (message: string): void {\n if (_window && typeof _window.alert !== 'undefined') {\n _window.alert(message)\n } else {\n warn(message)\n }\n}\n\n/**\n * Will clear the content of the element with id \"status\".\n */\nexport function clear (): void {\n const logArea = _dom?.getElementById('status')\n if (!logArea) return\n logArea.innerHTML = ''\n}\n\n/**\n * Lets you configure which types of messages will be shown. The module uses\n * [bitmask](https://en.wikipedia.org/wiki/Mask_(computing)) to filter which\n * types of messages should be shown. E.g. if you only want warning messages\n * to be shown, pass 2 to the function, if you want warning and success to be\n * shown, pass 10 (2+8). By passing the sum of all, 63, you'll show all\n * types of messages.\n *\n * - Error: 1\n * - Warning: 2\n * - Message: 4\n * - Success: 8\n * - Info: 16\n * - Debug: 32\n */\nexport function setLevel (level: number): void {\n _level = TALL\n debug('Log level is now ' + level)\n _level = level\n}\n\n/**\n * Will dump the current HTML using the [[debug]] method.\n */\nexport function dumpHTML (): void {\n if (!_dom) return\n const level = _level\n _level = TALL\n debug(_dom?.body?.innerHTML || '')\n _level = level\n}\n\n/**\n * Will start prepending messages the list of log messages.\n */\nexport function logAscending () {\n _ascending = true\n}\n\n/**\n * Will start appending messages the list of log messages. (This is default\n * behavior.)\n */\nexport function logDescending () {\n _ascending = false\n}\n\n/** @internal */\nexport function escapeForXML (str: string): string {\n // can be replaced with function utils module when migrating\n return str\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n}\n\n/** @internal */\nexport function setInternals (window, document) {\n _window = window\n _dom = document\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;IAKM,IAAS,GAET,IAAQ,GAER,IAAQ,GAER,IAAW,GAEX,IAAQ,IAER,IAAS,IAET,IAAO,IAGD,IAAL,yBAAA,GAAA;QACL,EAAA,EAAA,QAAQ,KAAA,SACR,EAAA,EAAA,UAAU,KAAA,WACV,EAAA,EAAA,UAAU,KAAA,WACV,EAAA,EAAA,UAAU,KAAA,WACV,EAAA,EAAA,OAAO,KAAA,QACP,EAAA,EAAA,QAAQ,KAAA,SACR,EAAA,EAAA,MAAM,KAAA;AACR,EAAA,CAAA,CAAA,GAGI,IAAiB,GAEjB,IAAsB,IAEtB,IAAqB,UAErB,IAAkB;AAGtB,SAAS,EAAK,GAAa,IAAe,GAAO,IAAkB,QAAQ;CACnE,QAAS,GAEf,IAAW,MAAS,QAAa;EAC/B,IAAM,IAAU,EAAK,eAAe,QAAQ;EAC5C,IAAI,CAAC,GAAS;EAEd,IAAM,IAAW,EAAK,cAAc,MAAM;EAC1C,EAAS,aAAa,SAAS,CAAO;EACtC,IAAM,oBAAM,IAAI,KAAK;EAErB,AADA,EAAS,YAAY,GAAG,EAAI,SAAS,EAAE,GAAG,EAAI,WAAW,EAAE,GAAG,EAAI,WAAW,EAAE,IAAI,EAAQ,IAAI,EAAa,CAAG,EAAE,QAC7G,IACF,EAAQ,aAAa,GAAU,EAAQ,UAAU,IAEjD,EAAQ,YAAY,CAAQ;CAEhC,OAAO,AAAI,OAAO,UAAY,OAC5B,QAAQ,IAAI,CAAG;AAEnB;AAMA,SAAgB,EAAK,GAAiB;CACpC,EAAI,CAAO;AACb;AAMA,SAAgB,EAAM,GAAuB;CAC3C,EAAI,GAAS,GAAO,MAAM;AAC5B;AAMA,SAAgB,EAAO,GAAuB;CAC5C,EAAI,GAAS,GAAQ,MAAM;AAC7B;AAMA,SAAgB,EAAM,GAAuB;CAC3C,EAAI,GAAS,GAAO,MAAM;AAC5B;AAMA,SAAgB,EAAO,GAAuB;CAC5C,EAAI,GAAS,GAAQ,MAAM;AAC7B;AAMA,SAAgB,EAAS,GAAuB;CAC9C,EAAI,GAAS,GAAU,MAAM;AAC/B;AAMA,SAAgB,EAAO,GAAuB;CAC5C,AAAI,KAAkB,EAAQ,UAAU,SACtC,EAAQ,MAAM,CAAO,IAErB,EAAK,CAAO;AAEhB;AAKA,SAAgB,IAAe;CAC7B,IAAM,IAAU,GAAM,eAAe,QAAQ;CACxC,MACL,EAAQ,YAAY;AACtB;AAiBA,SAAgB,EAAU,GAAqB;CAG7C,AAFA,IAAS,GACT,EAAM,sBAAsB,CAAK,GACjC,IAAS;AACX;AAKA,SAAgB,IAAkB;CAChC,IAAI,CAAC,GAAM;CACX,IAAM,IAAQ;CAGd,AAFA,IAAS,GACT,EAAM,GAAM,MAAM,aAAa,EAAE,GACjC,IAAS;AACX;AAKA,SAAgB,IAAgB;CAC9B,IAAa;AACf;AAMA,SAAgB,IAAiB;CAC/B,IAAa;AACf;AAGA,SAAgB,EAAc,GAAqB;CAEjD,OAAO,EACJ,QAAQ,MAAM,OAAO,EACrB,QAAQ,MAAM,MAAM,EACpB,QAAQ,MAAM,MAAM;AACzB;AAGA,SAAgB,EAAc,GAAQ,GAAU;CAE9C,AADA,IAAU,GACV,IAAO;AACT"}
1
+ {"version":3,"file":"log.esm.js","names":[],"sources":["../../src/lib/log.ts"],"sourcesContent":["// /////////////////////// Logging\n//\n// bitmask levels\n// const TNONE = 0\n/** @internal */\nconst TERROR = 1\n/** @internal */\nconst TWARN = 2\n/** @internal */\nconst TMESG = 4\n/** @internal */\nconst TSUCCESS = 8\n/** @internal */\nconst TINFO = 16\n/** @internal */\nconst TDEBUG = 32\n/** @internal */\nconst TALL = 63\n\n/** @internal */\nexport enum LogLevel {\n Error = TERROR,\n Warning = TWARN,\n Message = TMESG,\n Success = TSUCCESS,\n Info = TINFO,\n Debug = TDEBUG,\n All = TALL\n}\n\n/** @internal */\nlet _level: number = TERROR + TWARN + TMESG\n/** @internal */\nlet _ascending: boolean = false\n/** @internal */\nlet _dom: HTMLDocument = document // must be able to override for tests\n/** @internal */\nlet _window: Window = window // must be able to override for tests\n\n/** @internal */\nfunction log (str: string, type: number = TMESG, typestr: string = 'mesg') {\n if (!(_level & type)) return // bitmask\n\n if (typeof _dom !== 'undefined') {\n const logArea = _dom.getElementById('status')\n if (!logArea) return\n\n const addendum = _dom.createElement('span')\n addendum.setAttribute('class', typestr)\n const now = new Date()\n addendum.innerHTML = `${now.getHours()}:${now.getMinutes()}:${now.getSeconds()} [${typestr}] ${escapeForXML(str)}<br/>`\n if (_ascending) {\n logArea.insertBefore(addendum, logArea.firstChild)\n } else {\n logArea.appendChild(addendum)\n }\n } else if (typeof console !== 'undefined') {\n console.log(str)\n }\n}\n\n/**\n * Adds a message to the element with id \"status\". The messages are prepended with\n * time and type of message, in this case [mesg].\n */\nexport function msg (message: string) {\n log(message)\n}\n\n/**\n * Adds a warning message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [warn].\n */\nexport function warn (message: string): void {\n log(message, TWARN, 'warn')\n}\n\n/**\n * Adds a debugging message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [dbug].\n */\nexport function debug (message: string): void {\n log(message, TDEBUG, 'dbug')\n}\n\n/**\n * Adds a info message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [info].\n */\nexport function info (message: string): void {\n log(message, TINFO, 'info')\n}\n\n/**\n * Adds a error to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [eror].\n */\nexport function error (message: string): void {\n log(message, TERROR, 'eror')\n}\n\n/**\n * Adds a success message to the element with id \"status\". The messages are\n * prepended with time and type of message, in this case [good].\n */\nexport function success (message: string): void {\n log(message, TSUCCESS, 'good')\n}\n\n/**\n * Uses the global alert to send an alert. If global alert is not available, it\n * will output the message using the method [[warning]]s.\n */\nexport function alert (message: string): void {\n if (_window && typeof _window.alert !== 'undefined') {\n _window.alert(message)\n } else {\n warn(message)\n }\n}\n\n/**\n * Will clear the content of the element with id \"status\".\n */\nexport function clear (): void {\n const logArea = _dom?.getElementById('status')\n if (!logArea) return\n logArea.innerHTML = ''\n}\n\n/**\n * Lets you configure which types of messages will be shown. The module uses\n * [bitmask](https://en.wikipedia.org/wiki/Mask_(computing)) to filter which\n * types of messages should be shown. E.g. if you only want warning messages\n * to be shown, pass 2 to the function, if you want warning and success to be\n * shown, pass 10 (2+8). By passing the sum of all, 63, you'll show all\n * types of messages.\n *\n * - Error: 1\n * - Warning: 2\n * - Message: 4\n * - Success: 8\n * - Info: 16\n * - Debug: 32\n */\nexport function setLevel (level: number): void {\n _level = TALL\n debug('Log level is now ' + level)\n _level = level\n}\n\n/**\n * Will dump the current HTML using the [[debug]] method.\n */\nexport function dumpHTML (): void {\n if (!_dom) return\n const level = _level\n _level = TALL\n debug(_dom?.body?.innerHTML || '')\n _level = level\n}\n\n/**\n * Will start prepending messages the list of log messages.\n */\nexport function logAscending () {\n _ascending = true\n}\n\n/**\n * Will start appending messages the list of log messages. (This is default\n * behavior.)\n */\nexport function logDescending () {\n _ascending = false\n}\n\n/** @internal */\nexport function escapeForXML (str: string): string {\n // can be replaced with function utils module when migrating\n return str\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n}\n\n/** @internal */\nexport function setInternals (window, document) {\n _window = window\n _dom = document\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;IAKM,IAAS,GAET,IAAQ,GAER,IAAQ,GAER,IAAW,GAEX,IAAQ,IAER,IAAS,IAET,IAAO,IAGD,IAAL,yBAAA,GAAA;QACL,EAAA,EAAA,QAAQ,KAAA,SACR,EAAA,EAAA,UAAU,KAAA,WACV,EAAA,EAAA,UAAU,KAAA,WACV,EAAA,EAAA,UAAU,KAAA,WACV,EAAA,EAAA,OAAO,KAAA,QACP,EAAA,EAAA,QAAQ,KAAA,SACR,EAAA,EAAA,MAAM,KAAA;AACR,EAAA,CAAA,CAAA,GAGI,IAAiB,GAEjB,IAAsB,IAEtB,IAAqB,UAErB,IAAkB;AAGtB,SAAS,EAAK,GAAa,IAAe,GAAO,IAAkB,QAAQ;CACnE,QAAS,GAEf,IAAW,MAAS,QAAa;EAC/B,IAAM,IAAU,EAAK,eAAe,QAAQ;EAC5C,IAAI,CAAC,GAAS;EAEd,IAAM,IAAW,EAAK,cAAc,MAAM;EAC1C,EAAS,aAAa,SAAS,CAAO;EACtC,IAAM,oBAAM,IAAI,KAAK;EAErB,AADA,EAAS,YAAY,GAAG,EAAI,SAAS,EAAE,GAAG,EAAI,WAAW,EAAE,GAAG,EAAI,WAAW,EAAE,IAAI,EAAQ,IAAI,EAAa,CAAG,EAAE,QAC7G,IACF,EAAQ,aAAa,GAAU,EAAQ,UAAU,IAEjD,EAAQ,YAAY,CAAQ;CAEhC,OAAO,AAAI,OAAO,UAAY,OAC5B,QAAQ,IAAI,CAAG;AAEnB;AAMA,SAAgB,EAAK,GAAiB;CACpC,EAAI,CAAO;AACb;AAMA,SAAgB,EAAM,GAAuB;CAC3C,EAAI,GAAS,GAAO,MAAM;AAC5B;AAMA,SAAgB,EAAO,GAAuB;CAC5C,EAAI,GAAS,GAAQ,MAAM;AAC7B;AAMA,SAAgB,EAAM,GAAuB;CAC3C,EAAI,GAAS,GAAO,MAAM;AAC5B;AAMA,SAAgB,EAAO,GAAuB;CAC5C,EAAI,GAAS,GAAQ,MAAM;AAC7B;AAMA,SAAgB,EAAS,GAAuB;CAC9C,EAAI,GAAS,GAAU,MAAM;AAC/B;AAMA,SAAgB,EAAO,GAAuB;CAC5C,AAAI,KAAkB,EAAQ,UAAU,SACtC,EAAQ,MAAM,CAAO,IAErB,EAAK,CAAO;AAEhB;AAKA,SAAgB,IAAe;CAC7B,IAAM,IAAU,GAAM,eAAe,QAAQ;CACxC,MACL,EAAQ,YAAY;AACtB;AAiBA,SAAgB,EAAU,GAAqB;CAG7C,AAFA,IAAS,GACT,EAAM,sBAAsB,CAAK,GACjC,IAAS;AACX;AAKA,SAAgB,IAAkB;CAChC,IAAI,CAAC,GAAM;CACX,IAAM,IAAQ;CAGd,AAFA,IAAS,GACT,EAAM,GAAM,MAAM,aAAa,EAAE,GACjC,IAAS;AACX;AAKA,SAAgB,IAAgB;CAC9B,IAAa;AACf;AAMA,SAAgB,IAAiB;CAC/B,IAAa;AACf;AAGA,SAAgB,EAAc,GAAqB;CAEjD,OAAO,EACJ,QAAQ,MAAM,OAAO,CAAC,CACtB,QAAQ,MAAM,MAAM,CAAC,CACrB,QAAQ,MAAM,MAAM;AACzB;AAGA,SAAgB,EAAc,GAAQ,GAAU;CAE9C,AADA,IAAU,GACV,IAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"messageArea.cjs.js","names":["solidLogicSingleton","rdf"],"sources":["../../src/lib/messageArea.js"],"sourcesContent":["// Common code for a discussion are a of messages about something\n//\n\nimport { icons } from './iconBase'\nimport * as login from '../login/login'\nimport { solidLogicSingleton } from 'solid-logic'\nimport ns from './ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport { style } from './style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\n\nconst UI = { icons, ns, rdf, style, widgets }\n\nexport function messageArea (dom, kb, subject, messageStore, options) {\n kb = kb || solidLogicSingleton.store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable // Shared by initial build and addMessageFromBindings\n\n let me\n\n const updater = solidLogicSingleton.store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n // Form for a new message\n //\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = kb.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n sts.push(\n new rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n sts.push(\n new rdf.Statement(\n message,\n ns.sioc('content'),\n kb.literal(field.value),\n messageStore\n )\n )\n sts.push(\n new rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': kb.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n function nick (person) {\n const s = solidLogicSingleton.store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n solidLogicSingleton.store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = kb.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n for (ele = messageTable.firstChild; ele;) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const deleteMessage = function (message) {\n const deletions = kb\n .statementsMatching(message)\n .concat(kb.statementsMatching(undefined, undefined, message))\n updater.update(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = function (message) {\n const bindings = {\n '?msg': message,\n '?creator': kb.any(message, ns.foaf('maker')),\n '?date': kb.any(message, DCT('created')),\n '?content': kb.any(message, ns.sioc('content'))\n }\n renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n deleteMessage(message)\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n kb.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"messageArea.cjs.js","names":["solidLogicSingleton","rdf"],"sources":["../../src/lib/messageArea.js"],"sourcesContent":["// Common code for a discussion are a of messages about something\n//\n\nimport { icons } from './iconBase'\nimport * as login from '../login/login'\nimport { solidLogicSingleton } from 'solid-logic'\nimport ns from './ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport { style } from './style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\n\nconst UI = { icons, ns, rdf, style, widgets }\n\nexport function messageArea (dom, kb, subject, messageStore, options) {\n kb = kb || solidLogicSingleton.store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable // Shared by initial build and addMessageFromBindings\n\n let me\n\n const updater = solidLogicSingleton.store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n // Form for a new message\n //\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = kb.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n sts.push(\n new rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n sts.push(\n new rdf.Statement(\n message,\n ns.sioc('content'),\n kb.literal(field.value),\n messageStore\n )\n )\n sts.push(\n new rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': kb.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n function nick (person) {\n const s = solidLogicSingleton.store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n solidLogicSingleton.store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = kb.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n for (ele = messageTable.firstChild; ele;) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const deleteMessage = function (message) {\n const deletions = kb\n .statementsMatching(message)\n .concat(kb.statementsMatching(undefined, undefined, message))\n updater.update(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = function (message) {\n const bindings = {\n '?msg': message,\n '?creator': kb.any(message, ns.foaf('maker')),\n '?date': kb.any(message, DCT('created')),\n '?content': kb.any(message, ns.sioc('content'))\n }\n renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n deleteMessage(message)\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n kb.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"messageArea.esm.js","names":["utils.label"],"sources":["../../src/lib/messageArea.js"],"sourcesContent":["// Common code for a discussion are a of messages about something\n//\n\nimport { icons } from './iconBase'\nimport * as login from '../login/login'\nimport { solidLogicSingleton } from 'solid-logic'\nimport ns from './ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport { style } from './style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\n\nconst UI = { icons, ns, rdf, style, widgets }\n\nexport function messageArea (dom, kb, subject, messageStore, options) {\n kb = kb || solidLogicSingleton.store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable // Shared by initial build and addMessageFromBindings\n\n let me\n\n const updater = solidLogicSingleton.store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n // Form for a new message\n //\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = kb.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n sts.push(\n new rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n sts.push(\n new rdf.Statement(\n message,\n ns.sioc('content'),\n kb.literal(field.value),\n messageStore\n )\n )\n sts.push(\n new rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': kb.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n function nick (person) {\n const s = solidLogicSingleton.store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n solidLogicSingleton.store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = kb.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n for (ele = messageTable.firstChild; ele;) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const deleteMessage = function (message) {\n const deletions = kb\n .statementsMatching(message)\n .concat(kb.statementsMatching(undefined, undefined, message))\n updater.update(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = function (message) {\n const bindings = {\n '?msg': message,\n '?creator': kb.any(message, ns.foaf('maker')),\n '?date': kb.any(message, DCT('created')),\n '?content': kb.any(message, ns.sioc('content'))\n }\n renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n deleteMessage(message)\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n kb.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"messageArea.esm.js","names":["utils.label"],"sources":["../../src/lib/messageArea.js"],"sourcesContent":["// Common code for a discussion are a of messages about something\n//\n\nimport { icons } from './iconBase'\nimport * as login from '../login/login'\nimport { solidLogicSingleton } from 'solid-logic'\nimport ns from './ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport { style } from './style'\nimport * as utils from '../utils'\nimport * as widgets from '../widgets'\n\nconst UI = { icons, ns, rdf, style, widgets }\n\nexport function messageArea (dom, kb, subject, messageStore, options) {\n kb = kb || solidLogicSingleton.store\n messageStore = messageStore.doc() // No hash\n const ns = UI.ns\n const WF = rdf.Namespace('http://www.w3.org/2005/01/wf/flow#')\n const DCT = rdf.Namespace('http://purl.org/dc/terms/')\n\n options = options || {}\n\n const newestFirst = !!options.newestFirst\n\n const messageBodyStyle =\n 'white-space: pre-wrap; width: 90%; font-size:100%; border: 0.07em solid #eee; padding: .2em 0.5em; margin: 0.1em 1em 0.1em 1em;'\n // 'font-size: 100%; margin: 0.1em 1em 0.1em 1em; background-color: white; white-space: pre-wrap; padding: 0.1em;'\n\n const div = dom.createElement('div')\n // eslint-disable-next-line prefer-const\n let messageTable // Shared by initial build and addMessageFromBindings\n\n let me\n\n const updater = solidLogicSingleton.store.updater\n\n const anchor = function (text, term) {\n // If there is no link return an element anyway\n const a = dom.createElement('a')\n if (term && term.uri) {\n a.setAttribute('href', term.uri)\n a.addEventListener('click', UI.widgets.openHrefInOutlineMode, true)\n a.setAttribute('style', 'color: #3B5998; text-decoration: none; ') // font-weight: bold\n }\n a.textContent = text\n return a\n }\n\n const mention = function mention (message, style) {\n const pre = dom.createElement('pre')\n pre.setAttribute('style', style || 'color: grey')\n div.appendChild(pre)\n pre.appendChild(dom.createTextNode(message))\n return pre\n }\n\n const announce = {\n log: function (message) {\n mention(message, 'color: #111;')\n },\n warn: function (message) {\n mention(message, 'color: #880;')\n },\n error: function (message) {\n mention(message, 'color: #800;')\n }\n }\n\n // Form for a new message\n //\n const newMessageForm = function () {\n const form = dom.createElement('tr')\n const lhs = dom.createElement('td')\n const middle = dom.createElement('td')\n const rhs = dom.createElement('td')\n form.appendChild(lhs)\n form.appendChild(middle)\n form.appendChild(rhs)\n form.AJAR_date = '9999-01-01T00:00:00Z' // ISO format for field sort\n\n const sendMessage = function () {\n // titlefield.setAttribute('class','pendingedit')\n // titlefield.disabled = true\n field.setAttribute('class', 'pendingedit')\n field.disabled = true\n const sts = []\n const now = new Date()\n const timestamp = '' + now.getTime()\n const dateStamp = rdf.term(now)\n // http://www.w3schools.com/jsref/jsref_obj_date.asp\n const message = kb.sym(messageStore.uri + '#' + 'Msg' + timestamp)\n\n sts.push(\n new rdf.Statement(subject, ns.wf('message'), message, messageStore)\n )\n sts.push(\n new rdf.Statement(\n message,\n ns.sioc('content'),\n kb.literal(field.value),\n messageStore\n )\n )\n sts.push(\n new rdf.Statement(message, DCT('created'), dateStamp, messageStore)\n )\n if (me) {\n sts.push(\n new rdf.Statement(message, ns.foaf('maker'), me, messageStore)\n )\n }\n\n const sendComplete = function (uri, success, body) {\n if (!success) {\n form.appendChild(\n UI.widgets.errorMessageBlock(dom, 'Error writing message: ' + body)\n )\n } else {\n const bindings = {\n '?msg': message,\n '?content': kb.literal(field.value),\n '?date': dateStamp,\n '?creator': me\n }\n renderMessage(bindings, false) // not green\n\n field.value = '' // clear from out for reuse\n field.setAttribute('class', '')\n field.disabled = false\n }\n }\n updater.update([], sts, sendComplete)\n }\n form.appendChild(dom.createElement('br'))\n\n let field, sendButton\n const turnOnInput = function () {\n creatorAndDate(lhs, me, '', null)\n\n field = dom.createElement('textarea')\n middle.innerHTML = ''\n middle.appendChild(field)\n field.rows = 3\n // field.cols = 40\n field.setAttribute('style', messageBodyStyle + 'background-color: #eef;')\n\n field.addEventListener(\n 'keyup',\n function (e) {\n // User preference?\n if (e.keyCode === 13) {\n if (!e.altKey) {\n // Alt-Enter just adds a new line\n sendMessage()\n }\n }\n },\n false\n )\n\n rhs.innerHTML = ''\n sendButton = UI.widgets.button(\n dom,\n UI.icons.iconBase + 'noun_383448.svg',\n 'Send'\n )\n sendButton.setAttribute('style', UI.style.buttonStyle + 'float: right;')\n sendButton.addEventListener('click', sendMessage, false)\n rhs.appendChild(sendButton)\n }\n\n const context = { div: middle, dom }\n login.ensureLoggedIn(context).then(context => {\n me = context.me\n turnOnInput()\n })\n\n return form\n }\n\n function nick (person) {\n const s = solidLogicSingleton.store.any(person, UI.ns.foaf('nick'))\n if (s) return '' + s.value\n return '' + utils.label(person)\n }\n\n function creatorAndDate (td1, creator, date, message) {\n const nickAnchor = td1.appendChild(anchor(nick(creator), creator))\n if (creator.uri) {\n solidLogicSingleton.store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (\n _ok,\n _body\n ) {\n nickAnchor.textContent = nick(creator)\n })\n }\n td1.appendChild(dom.createElement('br'))\n td1.appendChild(anchor(date, message))\n }\n\n // ///////////////////////////////////////////////////////////////////////\n\n function syncMessages (about, messageTable) {\n const displayed = {}\n let ele, ele2\n for (ele = messageTable.firstChild; ele; ele = ele.nextSibling) {\n if (ele.AJAR_subject) {\n displayed[ele.AJAR_subject.uri] = true\n }\n }\n const messages = kb.each(about, ns.wf('message'))\n const stored = {}\n messages.forEach(function (m) {\n stored[m.uri] = true\n if (!displayed[m.uri]) {\n addMessage(m)\n }\n })\n\n for (ele = messageTable.firstChild; ele;) {\n ele2 = ele.nextSibling\n if (ele.AJAR_subject && !stored[ele.AJAR_subject.uri]) {\n messageTable.removeChild(ele)\n }\n ele = ele2\n }\n }\n\n const deleteMessage = function (message) {\n const deletions = kb\n .statementsMatching(message)\n .concat(kb.statementsMatching(undefined, undefined, message))\n updater.update(deletions, [], function (uri, ok, body) {\n if (!ok) {\n announce.error('Cant delete messages:' + body)\n } else {\n syncMessages(subject, messageTable)\n }\n })\n }\n\n const addMessage = function (message) {\n const bindings = {\n '?msg': message,\n '?creator': kb.any(message, ns.foaf('maker')),\n '?date': kb.any(message, DCT('created')),\n '?content': kb.any(message, ns.sioc('content'))\n }\n renderMessage(bindings, true) // fresh from elsewhere\n }\n\n const renderMessage = function (bindings, fresh) {\n const creator = bindings['?creator']\n const message = bindings['?msg']\n const date = bindings['?date']\n const content = bindings['?content']\n\n const dateString = date.value\n const tr = dom.createElement('tr')\n tr.AJAR_date = dateString\n tr.AJAR_subject = message\n\n let done = false\n for (let ele = messageTable.firstChild; ; ele = ele.nextSibling) {\n if (!ele) {\n // empty\n break\n }\n if (\n (dateString > ele.AJAR_date && newestFirst) ||\n (dateString < ele.AJAR_date && !newestFirst)\n ) {\n messageTable.insertBefore(tr, ele)\n done = true\n break\n }\n }\n if (!done) {\n messageTable.appendChild(tr)\n }\n\n const td1 = dom.createElement('td')\n tr.appendChild(td1)\n creatorAndDate(td1, creator, UI.widgets.shortDate(dateString), message)\n\n const td2 = dom.createElement('td')\n tr.appendChild(td2)\n const pre = dom.createElement('p')\n pre.setAttribute(\n 'style',\n messageBodyStyle +\n (fresh ? 'background-color: #e8ffe8;' : 'background-color: #white;')\n )\n td2.appendChild(pre)\n pre.textContent = content.value\n\n const td3 = dom.createElement('td')\n tr.appendChild(td3)\n\n const delButton = dom.createElement('button')\n td3.appendChild(delButton)\n delButton.textContent = '-'\n\n tr.setAttribute('class', 'hoverControl') // See tabbedtab.css (sigh global CSS)\n delButton.setAttribute('class', 'hoverControlHide')\n delButton.setAttribute('style', 'color: red;')\n delButton.addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(delButton) // Ask -- are you sure?\n const cancelButton = dom.createElement('button')\n cancelButton.textContent = 'cancel'\n td3.appendChild(cancelButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n td3.appendChild(delButton)\n },\n false\n )\n const sureButton = dom.createElement('button')\n sureButton.textContent = 'Delete message'\n td3.appendChild(sureButton).addEventListener(\n 'click',\n function (_event) {\n td3.removeChild(sureButton)\n td3.removeChild(cancelButton)\n deleteMessage(message)\n },\n false\n )\n },\n false\n )\n }\n\n // Messages with date, author etc\n\n messageTable = dom.createElement('table')\n messageTable.fresh = false\n div.appendChild(messageTable)\n messageTable.setAttribute('style', 'width: 100%;') // fill that div!\n\n const tr = newMessageForm()\n if (newestFirst) {\n messageTable.insertBefore(tr, messageTable.firstChild) // If newestFirst\n } else {\n messageTable.appendChild(tr) // not newestFirst\n }\n\n let query\n // Do this with a live query to pull in messages from web\n if (options.query) {\n query = options.query\n } else {\n query = new rdf.Query('Messages')\n const v = {} // semicolon needed\n const vs = ['msg', 'date', 'creator', 'content']\n vs.forEach(function (x) {\n query.vars.push((v[x] = rdf.variable(x)))\n })\n query.pat.add(subject, WF('message'), v.msg)\n query.pat.add(v.msg, ns.dct('created'), v.date)\n query.pat.add(v.msg, ns.foaf('maker'), v.creator)\n query.pat.add(v.msg, ns.sioc('content'), v.content)\n }\n function doneQuery () {\n messageTable.fresh = true // any new are fresh and so will be greenish\n }\n kb.query(query, renderMessage, undefined, doneQuery)\n div.refresh = function () {\n syncMessages(subject, messageTable)\n }\n // syncMessages(subject, messageTable) // no the query will do this async\n return div\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ns.cjs.js","names":["$rdf"],"sources":["../../src/lib/ns.js"],"sourcesContent":["// Namespaces we commonly use and have common prefixes for around Solid\n\nimport solidNamespace from 'solid-namespace' // Delegate to this which takes RDFlib as param.\nimport * as $rdf from 'rdflib'\n\nexport default solidNamespace($rdf)\n"],"mappings":"+IAKA,IAAA,GAAA,EAAA,EAAA,SAA8BA,CAAI"}
1
+ {"version":3,"file":"ns.cjs.js","names":["$rdf"],"sources":["../../src/lib/ns.js"],"sourcesContent":["// Namespaces we commonly use and have common prefixes for around Solid\n\nimport solidNamespace from 'solid-namespace' // Delegate to this which takes RDFlib as param.\nimport * as $rdf from 'rdflib'\n\nexport default solidNamespace($rdf)\n"],"mappings":"+IAKA,IAAA,GAAA,EAAA,EAAA,QAAA,CAA8BA,CAAI"}
@@ -6,5 +6,5 @@ const e=require("../_virtual/_rolldown/runtime.cjs.js"),t=require("./ns.cjs.js")
6
6
  `}function c(e){for(;o>e;o--)i+=`</ul>
7
7
  `}return r.forEach(e=>{let r=n.anyJS(e,f(`indent`)),a=n.anyJS(e,t.default.sioc(`content`));if(!a)return;let o=g(a);if(r<0){c(0);let e=r>=-3?4+r:1;i+=`\n<h${e}>${o}</h${e}>\n`}else r>0?(c(r),s(r),i+=`<li>${o}</li>\n`):(c(r),i+=`<p>${o}</p>\n`)}),c(0),i+=` </body>
8
8
  </html>
9
- `,i}exports.lightColorHash=p,Object.defineProperty(exports,"pad_exports",{enumerable:!0,get:function(){return u}});
9
+ `,i}exports.getChunks=h,exports.lightColorHash=p,exports.manageParticipation=s.manageParticipation,exports.notepad=m,exports.notepadToHTML=_,Object.defineProperty(exports,"pad_exports",{enumerable:!0,get:function(){return u}}),exports.participationObject=s.participationObject,exports.recordParticipation=s.recordParticipation,exports.renderParticipants=s.renderParticipants,exports.xmlEncode=g;
10
10
  //# sourceMappingURL=pad.cjs.js.map