@pod-os/elements 0.21.1-aba77d3.0 → 0.22.1

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 (612) hide show
  1. package/dist/cjs/{BrokenFile-218eee3c.js → BrokenFile-769cb073.js} +2 -2
  2. package/dist/cjs/{BrokenFile-218eee3c.js.map → BrokenFile-769cb073.js.map} +1 -1
  3. package/dist/cjs/{app-globals-7d75ac41.js → app-globals-615a2199.js} +2 -2
  4. package/dist/cjs/{app-globals-7d75ac41.js.map → app-globals-615a2199.js.map} +1 -1
  5. package/dist/cjs/elements.cjs.js +5 -5
  6. package/dist/cjs/elements.cjs.js.map +1 -1
  7. package/dist/cjs/{hardware-back-button-5dc20979.js → hardware-back-button-a38cd954.js} +3 -3
  8. package/dist/cjs/{hardware-back-button-5dc20979.js.map → hardware-back-button-a38cd954.js.map} +1 -1
  9. package/dist/cjs/{index-a85b94d0.js → index-15e156fd.js} +4 -4
  10. package/dist/cjs/{index-a85b94d0.js.map → index-15e156fd.js.map} +1 -1
  11. package/dist/cjs/{index-04be1ada.js → index-a9463486.js} +3 -3
  12. package/dist/cjs/{index-04be1ada.js.map → index-a9463486.js.map} +1 -1
  13. package/dist/cjs/{index-84f24f31.js → index-df9f178c.js} +149 -119
  14. package/dist/cjs/index-df9f178c.js.map +1 -0
  15. package/dist/cjs/ion-accordion-group.cjs.entry.js +2 -2
  16. package/dist/cjs/ion-accordion.cjs.entry.js +2 -2
  17. package/dist/cjs/ion-action-sheet_3.cjs.entry.js +4 -4
  18. package/dist/cjs/ion-app.cjs.entry.js +5 -5
  19. package/dist/cjs/ion-avatar.cjs.entry.js +2 -2
  20. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  21. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  22. package/dist/cjs/ion-badge_8.cjs.entry.js +6 -10
  23. package/dist/cjs/ion-badge_8.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ion-breadcrumb.cjs.entry.js +2 -2
  25. package/dist/cjs/ion-breadcrumbs.cjs.entry.js +2 -2
  26. package/dist/cjs/ion-button_4.cjs.entry.js +2 -2
  27. package/dist/cjs/ion-card-subtitle.cjs.entry.js +2 -2
  28. package/dist/cjs/ion-card_30.cjs.entry.js +39 -48
  29. package/dist/cjs/ion-card_30.cjs.entry.js.map +1 -1
  30. package/dist/cjs/{ion-checkbox_4.cjs.entry.js → ion-checkbox_6.cjs.entry.js} +125 -3
  31. package/dist/cjs/ion-checkbox_6.cjs.entry.js.map +1 -0
  32. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  33. package/dist/cjs/ion-content.cjs.entry.js +2 -2
  34. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  35. package/dist/cjs/ion-datetime.cjs.entry.js +2 -2
  36. package/dist/cjs/ion-fab-button.cjs.entry.js +2 -2
  37. package/dist/cjs/ion-fab-list.cjs.entry.js +2 -2
  38. package/dist/cjs/ion-fab.cjs.entry.js +2 -2
  39. package/dist/cjs/ion-footer.cjs.entry.js +2 -2
  40. package/dist/cjs/ion-header.cjs.entry.js +2 -2
  41. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  42. package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +2 -2
  43. package/dist/cjs/ion-infinite-scroll.cjs.entry.js +2 -2
  44. package/dist/cjs/ion-input_2.cjs.entry.js +2 -4
  45. package/dist/cjs/ion-input_2.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ion-item-divider.cjs.entry.js +2 -2
  47. package/dist/cjs/ion-item-group.cjs.entry.js +2 -2
  48. package/dist/cjs/ion-item-option.cjs.entry.js +2 -2
  49. package/dist/cjs/ion-item-options.cjs.entry.js +2 -2
  50. package/dist/cjs/ion-item-sliding.cjs.entry.js +2 -2
  51. package/dist/cjs/{ion-item_3.cjs.entry.js → ion-item_2.cjs.entry.js} +14 -112
  52. package/dist/cjs/ion-item_2.cjs.entry.js.map +1 -0
  53. package/dist/cjs/ion-loading.cjs.entry.js +4 -4
  54. package/dist/cjs/ion-menu-button.cjs.entry.js +5 -5
  55. package/dist/cjs/ion-menu-toggle.cjs.entry.js +5 -5
  56. package/dist/cjs/ion-menu.cjs.entry.js +5 -5
  57. package/dist/cjs/ion-modal.cjs.entry.js +5 -5
  58. package/dist/cjs/ion-nav-link.cjs.entry.js +1 -1
  59. package/dist/cjs/ion-nav.cjs.entry.js +3 -3
  60. package/dist/cjs/ion-picker-column.cjs.entry.js +2 -2
  61. package/dist/cjs/ion-picker.cjs.entry.js +4 -4
  62. package/dist/cjs/ion-popover.cjs.entry.js +5 -5
  63. package/dist/cjs/ion-range.cjs.entry.js +2 -2
  64. package/dist/cjs/ion-refresher-content.cjs.entry.js +3 -3
  65. package/dist/cjs/ion-refresher.cjs.entry.js +3 -3
  66. package/dist/cjs/ion-reorder-group.cjs.entry.js +2 -2
  67. package/dist/cjs/ion-reorder.cjs.entry.js +2 -2
  68. package/dist/cjs/ion-route-redirect.cjs.entry.js +1 -1
  69. package/dist/cjs/ion-route.cjs.entry.js +1 -1
  70. package/dist/cjs/ion-router-link.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-router-outlet.cjs.entry.js +3 -3
  72. package/dist/cjs/ion-router.cjs.entry.js +1 -1
  73. package/dist/cjs/ion-segment-button.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-segment.cjs.entry.js +2 -2
  75. package/dist/cjs/ion-select-option.cjs.entry.js +2 -2
  76. package/dist/cjs/ion-select.cjs.entry.js +4 -4
  77. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  78. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  79. package/dist/cjs/ion-tab-bar.cjs.entry.js +2 -2
  80. package/dist/cjs/ion-tab-button.cjs.entry.js +2 -2
  81. package/dist/cjs/ion-tab.cjs.entry.js +1 -1
  82. package/dist/cjs/ion-tabs.cjs.entry.js +1 -1
  83. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  84. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  85. package/dist/cjs/ion-thumbnail.cjs.entry.js +2 -2
  86. package/dist/cjs/ion-title.cjs.entry.js +2 -2
  87. package/dist/cjs/ion-toast.cjs.entry.js +4 -4
  88. package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
  89. package/dist/cjs/ion-toolbar.cjs.entry.js +2 -2
  90. package/dist/cjs/{ionic-global-c0341cea.js → ionic-global-d1c24b81.js} +2 -2
  91. package/dist/cjs/{ionic-global-c0341cea.js.map → ionic-global-d1c24b81.js.map} +1 -1
  92. package/dist/cjs/{ios.transition-587012ee.js → ios.transition-61e8eeef.js} +3 -3
  93. package/dist/cjs/{ios.transition-587012ee.js.map → ios.transition-61e8eeef.js.map} +1 -1
  94. package/dist/cjs/loader.cjs.js +4 -4
  95. package/dist/cjs/{md.transition-043fd228.js → md.transition-0987adce.js} +3 -3
  96. package/dist/cjs/{md.transition-043fd228.js.map → md.transition-0987adce.js.map} +1 -1
  97. package/dist/cjs/{menu-toggle-util-6e54e64e.js → menu-toggle-util-6839335b.js} +2 -2
  98. package/dist/cjs/{menu-toggle-util-6e54e64e.js.map → menu-toggle-util-6839335b.js.map} +1 -1
  99. package/dist/cjs/{overlays-71da6168.js → overlays-c1b43779.js} +3 -3
  100. package/dist/cjs/{overlays-71da6168.js.map → overlays-c1b43779.js.map} +1 -1
  101. package/dist/cjs/pos-app-document-viewer.cjs.entry.js +2 -3
  102. package/dist/cjs/pos-app-document-viewer.cjs.entry.js.map +1 -1
  103. package/dist/cjs/pos-app-generic.cjs.entry.js +1 -1
  104. package/dist/cjs/pos-app-image-viewer.cjs.entry.js +3 -4
  105. package/dist/cjs/pos-app-image-viewer.cjs.entry.js.map +1 -1
  106. package/dist/cjs/pos-app-ldp-container.cjs.entry.js +2 -2
  107. package/dist/cjs/pos-app-ldp-container.cjs.entry.js.map +1 -1
  108. package/dist/cjs/pos-app-rdf-document.cjs.entry.js +2 -2
  109. package/dist/cjs/pos-app-rdf-document.cjs.entry.js.map +1 -1
  110. package/dist/cjs/pos-container-contents.cjs.entry.js +9 -5
  111. package/dist/cjs/pos-container-contents.cjs.entry.js.map +1 -1
  112. package/dist/cjs/pos-container-item.cjs.entry.js +1 -2
  113. package/dist/cjs/pos-container-item.cjs.entry.js.map +1 -1
  114. package/dist/cjs/pos-document.cjs.entry.js +3 -9
  115. package/dist/cjs/pos-document.cjs.entry.js.map +1 -1
  116. package/dist/cjs/pos-relations_2.cjs.entry.js +3 -3
  117. package/dist/cjs/pos-relations_2.cjs.entry.js.map +1 -1
  118. package/dist/cjs/pos-subjects.cjs.entry.js +2 -2
  119. package/dist/cjs/pos-subjects.cjs.entry.js.map +1 -1
  120. package/dist/cjs/pos-value.cjs.entry.js +1 -3
  121. package/dist/cjs/pos-value.cjs.entry.js.map +1 -1
  122. package/dist/cjs/{refresher.utils-846f7c9a.js → refresher.utils-17641cba.js} +2 -2
  123. package/dist/cjs/{refresher.utils-846f7c9a.js.map → refresher.utils-17641cba.js.map} +1 -1
  124. package/dist/cjs/{status-tap-e4358494.js → status-tap-b02a43e7.js} +2 -2
  125. package/dist/cjs/{status-tap-e4358494.js.map → status-tap-b02a43e7.js.map} +1 -1
  126. package/dist/collection/apps/pos-app-browser/pos-app-browser.css +1 -1
  127. package/dist/collection/apps/pos-app-browser/pos-app-browser.js +6 -0
  128. package/dist/collection/apps/pos-app-browser/pos-app-browser.js.map +1 -1
  129. package/dist/collection/apps/pos-app-document-viewer/pos-app-document-viewer.js +1 -2
  130. package/dist/collection/apps/pos-app-document-viewer/pos-app-document-viewer.js.map +1 -1
  131. package/dist/collection/apps/pos-app-image-viewer/pos-app-image-viewer.js +2 -3
  132. package/dist/collection/apps/pos-app-image-viewer/pos-app-image-viewer.js.map +1 -1
  133. package/dist/collection/apps/pos-app-ldp-container/pos-app-ldp-container.js +1 -1
  134. package/dist/collection/apps/pos-app-ldp-container/pos-app-ldp-container.js.map +1 -1
  135. package/dist/collection/apps/pos-app-rdf-document/pos-app-rdf-document.js +1 -1
  136. package/dist/collection/apps/pos-app-rdf-document/pos-app-rdf-document.js.map +1 -1
  137. package/dist/collection/collection-manifest.json +1 -1
  138. package/dist/collection/components/pos-add-literal-value/pos-add-literal-value.js +0 -4
  139. package/dist/collection/components/pos-add-literal-value/pos-add-literal-value.js.map +1 -1
  140. package/dist/collection/components/pos-add-new-thing/pos-add-new-thing.js +0 -3
  141. package/dist/collection/components/pos-add-new-thing/pos-add-new-thing.js.map +1 -1
  142. package/dist/collection/components/pos-app/pos-app.js +1 -2
  143. package/dist/collection/components/pos-app/pos-app.js.map +1 -1
  144. package/dist/collection/components/pos-container-contents/pos-container-contents.css +10 -0
  145. package/dist/collection/components/pos-container-contents/pos-container-contents.js +14 -4
  146. package/dist/collection/components/pos-container-contents/pos-container-contents.js.map +1 -1
  147. package/dist/collection/components/pos-container-contents/pos-container-item.js +0 -1
  148. package/dist/collection/components/pos-container-contents/pos-container-item.js.map +1 -1
  149. package/dist/collection/components/pos-description/pos-description.js +0 -1
  150. package/dist/collection/components/pos-description/pos-description.js.map +1 -1
  151. package/dist/collection/components/pos-document/pos-document.js +1 -7
  152. package/dist/collection/components/pos-document/pos-document.js.map +1 -1
  153. package/dist/collection/components/pos-image/pos-image.js +5 -9
  154. package/dist/collection/components/pos-image/pos-image.js.map +1 -1
  155. package/dist/collection/components/pos-internal-router/pos-internal-router.js.map +1 -1
  156. package/dist/collection/components/pos-label/pos-label.js +0 -1
  157. package/dist/collection/components/pos-label/pos-label.js.map +1 -1
  158. package/dist/collection/components/pos-literals/pos-literals.js +1 -1
  159. package/dist/collection/components/pos-literals/pos-literals.js.map +1 -1
  160. package/dist/collection/components/pos-login/pos-login.js +0 -1
  161. package/dist/collection/components/pos-login/pos-login.js.map +1 -1
  162. package/dist/collection/components/pos-login-form/pos-login-form.js.map +1 -1
  163. package/dist/collection/components/pos-navigation-bar/pos-navigation-bar.js +3 -4
  164. package/dist/collection/components/pos-navigation-bar/pos-navigation-bar.js.map +1 -1
  165. package/dist/collection/components/pos-new-thing-form/pos-new-thing-form.js +1 -6
  166. package/dist/collection/components/pos-new-thing-form/pos-new-thing-form.js.map +1 -1
  167. package/dist/collection/components/pos-picture/pos-picture.js +4 -2
  168. package/dist/collection/components/pos-picture/pos-picture.js.map +1 -1
  169. package/dist/collection/components/pos-predicate/pos-predicate.js +0 -2
  170. package/dist/collection/components/pos-predicate/pos-predicate.js.map +1 -1
  171. package/dist/collection/components/pos-relations/pos-relations.js +1 -1
  172. package/dist/collection/components/pos-relations/pos-relations.js.map +1 -1
  173. package/dist/collection/components/pos-resource/pos-resource.js +3 -7
  174. package/dist/collection/components/pos-resource/pos-resource.js.map +1 -1
  175. package/dist/collection/components/pos-reverse-relations/pos-reverse-relations.js +1 -1
  176. package/dist/collection/components/pos-reverse-relations/pos-reverse-relations.js.map +1 -1
  177. package/dist/collection/components/pos-rich-link/pos-rich-link.css +18 -3
  178. package/dist/collection/components/pos-rich-link/pos-rich-link.js +0 -3
  179. package/dist/collection/components/pos-rich-link/pos-rich-link.js.map +1 -1
  180. package/dist/collection/components/pos-router/pos-router.js +6 -1
  181. package/dist/collection/components/pos-router/pos-router.js.map +1 -1
  182. package/dist/collection/components/pos-select-term/pos-select-term.js +3 -4
  183. package/dist/collection/components/pos-select-term/pos-select-term.js.map +1 -1
  184. package/dist/collection/components/pos-subjects/pos-subjects.js +1 -1
  185. package/dist/collection/components/pos-subjects/pos-subjects.js.map +1 -1
  186. package/dist/collection/components/pos-type-badges/pos-type-badges.js +3 -3
  187. package/dist/collection/components/pos-type-badges/pos-type-badges.js.map +1 -1
  188. package/dist/collection/components/pos-type-router/pos-type-router.js +0 -1
  189. package/dist/collection/components/pos-type-router/pos-type-router.js.map +1 -1
  190. package/dist/collection/components/pos-value/pos-value.js +0 -2
  191. package/dist/collection/components/pos-value/pos-value.js.map +1 -1
  192. package/dist/components/pos-add-literal-value2.js +0 -4
  193. package/dist/components/pos-add-literal-value2.js.map +1 -1
  194. package/dist/components/pos-add-new-thing2.js +0 -1
  195. package/dist/components/pos-add-new-thing2.js.map +1 -1
  196. package/dist/components/pos-app-browser.js +7 -1
  197. package/dist/components/pos-app-browser.js.map +1 -1
  198. package/dist/components/pos-app-document-viewer.js +1 -2
  199. package/dist/components/pos-app-document-viewer.js.map +1 -1
  200. package/dist/components/pos-app-image-viewer.js +2 -3
  201. package/dist/components/pos-app-image-viewer.js.map +1 -1
  202. package/dist/components/pos-app-ldp-container.js +21 -33
  203. package/dist/components/pos-app-ldp-container.js.map +1 -1
  204. package/dist/components/pos-app-rdf-document.js +1 -1
  205. package/dist/components/pos-app-rdf-document.js.map +1 -1
  206. package/dist/components/pos-app2.js +1 -2
  207. package/dist/components/pos-app2.js.map +1 -1
  208. package/dist/components/pos-container-contents2.js +18 -26
  209. package/dist/components/pos-container-contents2.js.map +1 -1
  210. package/dist/components/pos-container-item2.js +0 -1
  211. package/dist/components/pos-container-item2.js.map +1 -1
  212. package/dist/components/pos-description2.js +0 -1
  213. package/dist/components/pos-description2.js.map +1 -1
  214. package/dist/components/pos-document2.js +1 -7
  215. package/dist/components/pos-document2.js.map +1 -1
  216. package/dist/components/pos-image2.js +5 -9
  217. package/dist/components/pos-image2.js.map +1 -1
  218. package/dist/components/pos-internal-router2.js.map +1 -1
  219. package/dist/components/pos-label2.js +0 -1
  220. package/dist/components/pos-label2.js.map +1 -1
  221. package/dist/components/pos-literals2.js +1 -1
  222. package/dist/components/pos-literals2.js.map +1 -1
  223. package/dist/components/pos-login-form2.js.map +1 -1
  224. package/dist/components/pos-login2.js +0 -1
  225. package/dist/components/pos-login2.js.map +1 -1
  226. package/dist/components/pos-navigation-bar2.js +3 -4
  227. package/dist/components/pos-navigation-bar2.js.map +1 -1
  228. package/dist/components/pos-new-thing-form2.js +1 -6
  229. package/dist/components/pos-new-thing-form2.js.map +1 -1
  230. package/dist/components/pos-picture2.js +4 -2
  231. package/dist/components/pos-picture2.js.map +1 -1
  232. package/dist/components/pos-predicate2.js +0 -2
  233. package/dist/components/pos-predicate2.js.map +1 -1
  234. package/dist/components/pos-relations2.js +1 -1
  235. package/dist/components/pos-relations2.js.map +1 -1
  236. package/dist/components/pos-resource2.js +3 -7
  237. package/dist/components/pos-resource2.js.map +1 -1
  238. package/dist/components/pos-reverse-relations2.js +1 -1
  239. package/dist/components/pos-reverse-relations2.js.map +1 -1
  240. package/dist/components/pos-rich-link2.js +1 -2
  241. package/dist/components/pos-rich-link2.js.map +1 -1
  242. package/dist/components/pos-router2.js +6 -1
  243. package/dist/components/pos-router2.js.map +1 -1
  244. package/dist/components/pos-select-term2.js +3 -4
  245. package/dist/components/pos-select-term2.js.map +1 -1
  246. package/dist/components/pos-subjects2.js +1 -1
  247. package/dist/components/pos-subjects2.js.map +1 -1
  248. package/dist/components/pos-type-badges2.js +3 -3
  249. package/dist/components/pos-type-badges2.js.map +1 -1
  250. package/dist/components/pos-type-router2.js +0 -1
  251. package/dist/components/pos-type-router2.js.map +1 -1
  252. package/dist/components/pos-value.js +0 -2
  253. package/dist/components/pos-value.js.map +1 -1
  254. package/dist/elements/elements.css +1 -1
  255. package/dist/elements/elements.esm.js +1 -1
  256. package/dist/elements/elements.esm.js.map +1 -1
  257. package/dist/elements/{p-1a93174c.entry.js → p-01f70528.entry.js} +2 -2
  258. package/dist/elements/{p-1a93174c.entry.js.map → p-01f70528.entry.js.map} +1 -1
  259. package/dist/elements/{p-018502b5.entry.js → p-041c326f.entry.js} +2 -2
  260. package/dist/elements/{p-8020b187.entry.js → p-08c3bf36.entry.js} +2 -2
  261. package/dist/elements/{p-7bf8e699.entry.js → p-0db58c25.entry.js} +2 -2
  262. package/dist/elements/{p-f0cd02a0.entry.js → p-115f979d.entry.js} +2 -2
  263. package/dist/elements/{p-2403d825.entry.js → p-1373820a.entry.js} +2 -2
  264. package/dist/elements/p-1b2ae868.entry.js +2 -0
  265. package/dist/elements/p-1b2ae868.entry.js.map +1 -0
  266. package/dist/elements/{p-d4f5a630.entry.js → p-1ceb8455.entry.js} +2 -2
  267. package/dist/elements/{p-efa2e207.entry.js → p-1fda6062.entry.js} +2 -2
  268. package/dist/elements/{p-e0863294.entry.js → p-221b09f9.entry.js} +2 -2
  269. package/dist/elements/{p-75dbbea4.entry.js → p-235880b8.entry.js} +2 -2
  270. package/dist/elements/{p-677a4ed8.entry.js → p-2746793b.entry.js} +2 -2
  271. package/dist/elements/{p-3011f5c2.js → p-278bf69e.js} +2 -2
  272. package/dist/elements/{p-92dab01d.entry.js → p-291e7f80.entry.js} +2 -2
  273. package/dist/elements/{p-f719c93c.entry.js → p-29e6fe38.entry.js} +2 -2
  274. package/dist/elements/{p-296205f8.js → p-31154993.js} +3 -3
  275. package/dist/elements/{p-8125346c.entry.js → p-312eed76.entry.js} +2 -2
  276. package/dist/elements/{p-8db57797.js → p-32e68ba0.js} +3 -3
  277. package/dist/elements/p-3552b7fb.entry.js +2 -0
  278. package/dist/elements/p-3697b57c.entry.js +2 -0
  279. package/dist/elements/p-3697b57c.entry.js.map +1 -0
  280. package/dist/elements/{p-915160b3.entry.js → p-3959669d.entry.js} +2 -2
  281. package/dist/elements/{p-1348479f.entry.js → p-3a1faa69.entry.js} +2 -2
  282. package/dist/elements/{p-c4611c16.entry.js → p-3c3af820.entry.js} +2 -2
  283. package/dist/elements/{p-5110bef7.entry.js → p-3e923987.entry.js} +2 -2
  284. package/dist/elements/{p-36a367fb.js → p-45d6f60d.js} +2 -2
  285. package/dist/elements/{p-bac76cd0.entry.js → p-48e68a6a.entry.js} +2 -2
  286. package/dist/elements/{p-ac4e7dc3.entry.js → p-49547bbe.entry.js} +2 -2
  287. package/dist/elements/{p-01d3e98c.entry.js → p-4afd6982.entry.js} +2 -2
  288. package/dist/elements/{p-01d3e98c.entry.js.map → p-4afd6982.entry.js.map} +1 -1
  289. package/dist/elements/p-4b87a344.entry.js +2 -0
  290. package/dist/elements/{p-1b2beb49.entry.js.map → p-4b87a344.entry.js.map} +1 -1
  291. package/dist/elements/{p-85072c74.js → p-4ccc1b59.js} +2 -2
  292. package/dist/elements/{p-7fb5107a.entry.js → p-4da973b2.entry.js} +4 -4
  293. package/dist/elements/p-4e2d793c.entry.js +2 -0
  294. package/dist/elements/p-4e2d793c.entry.js.map +1 -0
  295. package/dist/elements/p-50ad1338.entry.js +2 -0
  296. package/dist/elements/p-50ad1338.entry.js.map +1 -0
  297. package/dist/elements/{p-22e2c3b4.entry.js → p-5526dfb2.entry.js} +2 -2
  298. package/dist/elements/{p-f97bc7f3.entry.js → p-598d58c5.entry.js} +2 -2
  299. package/dist/elements/{p-c3c90208.entry.js → p-5f96db6d.entry.js} +2 -2
  300. package/dist/elements/{p-7c7a6762.entry.js → p-5fe28d2b.entry.js} +2 -2
  301. package/dist/elements/{p-58302c25.entry.js → p-633affa1.entry.js} +2 -2
  302. package/dist/elements/{p-fe7391a1.entry.js → p-63ae80d6.entry.js} +2 -2
  303. package/dist/elements/{p-4b06200c.entry.js → p-664d8d87.entry.js} +2 -2
  304. package/dist/elements/{p-8e28bc90.entry.js → p-68f966f4.entry.js} +2 -2
  305. package/dist/elements/p-6e8f36b0.js +5 -0
  306. package/dist/elements/{p-7a46774a.entry.js → p-75a42daf.entry.js} +2 -2
  307. package/dist/elements/{p-3b47189b.js → p-7a33ba37.js} +2 -2
  308. package/dist/elements/p-7a6a7690.js +3 -0
  309. package/dist/elements/p-7a6a7690.js.map +1 -0
  310. package/dist/elements/{p-9d43870b.entry.js → p-7a6d7fbf.entry.js} +2 -2
  311. package/dist/elements/{p-434c2964.entry.js → p-80405105.entry.js} +2 -2
  312. package/dist/elements/p-815f28f7.entry.js +2 -0
  313. package/dist/elements/p-815f28f7.entry.js.map +1 -0
  314. package/dist/elements/{p-2d74c423.entry.js → p-838beabe.entry.js} +2 -2
  315. package/dist/elements/{p-49248534.js → p-866a6047.js} +2 -2
  316. package/dist/elements/{p-408da6b0.entry.js → p-8b390c68.entry.js} +2 -2
  317. package/dist/elements/p-8cd84c9a.entry.js +2 -0
  318. package/dist/elements/p-8cd84c9a.entry.js.map +1 -0
  319. package/dist/elements/{p-be0eb65d.entry.js → p-8ce18637.entry.js} +2 -2
  320. package/dist/elements/{p-6e3e86f0.entry.js → p-936f4a0b.entry.js} +2 -2
  321. package/dist/elements/{p-29d5e823.entry.js → p-93ce6770.entry.js} +2 -2
  322. package/dist/elements/{p-7c5e7d91.entry.js → p-941c0312.entry.js} +2 -2
  323. package/dist/elements/{p-c70080f5.entry.js → p-97d96e68.entry.js} +9 -9
  324. package/dist/elements/{p-e9c5cbaa.entry.js → p-98e68594.entry.js} +2 -2
  325. package/dist/elements/{p-8166aac0.entry.js → p-9bc9ef56.entry.js} +2 -2
  326. package/dist/elements/p-9bc9ef56.entry.js.map +1 -0
  327. package/dist/elements/{p-6e400276.entry.js → p-9e9af6bd.entry.js} +2 -2
  328. package/dist/elements/p-a1fbbc32.entry.js +2 -0
  329. package/dist/elements/p-a1fbbc32.entry.js.map +1 -0
  330. package/dist/elements/{p-c7db2592.entry.js → p-a5035312.entry.js} +2 -2
  331. package/dist/elements/{p-bc847c79.entry.js → p-a593bddc.entry.js} +2 -2
  332. package/dist/elements/p-a72adfeb.entry.js +2 -0
  333. package/dist/elements/p-a72adfeb.entry.js.map +1 -0
  334. package/dist/elements/{p-b0797aa5.entry.js → p-a8bb3a76.entry.js} +2 -2
  335. package/dist/elements/{p-0944a37c.entry.js → p-aa0b9f74.entry.js} +2 -2
  336. package/dist/elements/p-acc5f44b.entry.js +2 -0
  337. package/dist/elements/{p-04148971.entry.js → p-ad163306.entry.js} +2 -2
  338. package/dist/elements/{p-d2ee3af1.entry.js → p-ad1ec152.entry.js} +3 -3
  339. package/dist/elements/{p-d2ee3af1.entry.js.map → p-ad1ec152.entry.js.map} +1 -1
  340. package/dist/elements/{p-5223a84a.entry.js → p-ae1c554b.entry.js} +2 -2
  341. package/dist/elements/{p-7fcca8ce.entry.js → p-b097b4f2.entry.js} +2 -2
  342. package/dist/elements/{p-807a85ab.entry.js → p-b2cf25cf.entry.js} +2 -2
  343. package/dist/elements/{p-05f13904.entry.js → p-b6bcd3b9.entry.js} +2 -2
  344. package/dist/elements/p-c1b7a349.entry.js +2 -0
  345. package/dist/elements/p-c1b7a349.entry.js.map +1 -0
  346. package/dist/elements/{p-ecfc833c.entry.js → p-c326d285.entry.js} +2 -2
  347. package/dist/elements/p-c7b331ce.entry.js +2 -0
  348. package/dist/elements/p-c7b331ce.entry.js.map +1 -0
  349. package/dist/elements/{p-5be76399.entry.js → p-c8d37af8.entry.js} +2 -2
  350. package/dist/elements/p-c8d37af8.entry.js.map +1 -0
  351. package/dist/elements/{p-9e6d7065.js → p-c9ac254b.js} +2 -2
  352. package/dist/elements/{p-6dfc688c.entry.js → p-cbdd24e1.entry.js} +2 -2
  353. package/dist/elements/{p-c5558057.js → p-cf6c3e72.js} +2 -2
  354. package/dist/elements/{p-a696f249.entry.js → p-cfb700d7.entry.js} +2 -2
  355. package/dist/elements/{p-f3dcf138.entry.js → p-d5042962.entry.js} +2 -2
  356. package/dist/elements/{p-19079977.entry.js → p-d6872ebb.entry.js} +2 -2
  357. package/dist/elements/{p-7ace1754.entry.js → p-db7ecd54.entry.js} +2 -2
  358. package/dist/elements/p-dd3d50d8.entry.js +2 -0
  359. package/dist/elements/{p-d4361959.entry.js → p-de53ac95.entry.js} +2 -2
  360. package/dist/elements/{p-829dc594.entry.js → p-e2f2c3dc.entry.js} +2 -2
  361. package/dist/elements/{p-6b3d7f22.entry.js → p-e577cff6.entry.js} +2 -2
  362. package/dist/elements/{p-59ae70b1.entry.js → p-e5b454f5.entry.js} +2 -2
  363. package/dist/elements/{p-a99bcb93.entry.js → p-e9e7bcf0.entry.js} +2 -2
  364. package/dist/elements/p-ec85f9ab.js +2 -0
  365. package/dist/elements/{p-d39b336c.entry.js → p-f31a399b.entry.js} +2 -2
  366. package/dist/elements/{p-cdde0009.entry.js → p-f3305475.entry.js} +2 -2
  367. package/dist/elements/{p-72af5420.js → p-f49a12b4.js} +2 -2
  368. package/dist/esm/{BrokenFile-5a916f58.js → BrokenFile-5180c05c.js} +2 -2
  369. package/dist/esm/{BrokenFile-5a916f58.js.map → BrokenFile-5180c05c.js.map} +1 -1
  370. package/dist/esm/{app-globals-0a6f197b.js → app-globals-d4d04aba.js} +2 -2
  371. package/dist/esm/{app-globals-0a6f197b.js.map → app-globals-d4d04aba.js.map} +1 -1
  372. package/dist/esm/elements.js +6 -6
  373. package/dist/esm/elements.js.map +1 -1
  374. package/dist/esm/{hardware-back-button-5d2a180e.js → hardware-back-button-33f7798e.js} +3 -3
  375. package/dist/esm/{hardware-back-button-5d2a180e.js.map → hardware-back-button-33f7798e.js.map} +1 -1
  376. package/dist/esm/{index-fb61689c.js → index-1b4a6190.js} +4 -4
  377. package/dist/esm/{index-fb61689c.js.map → index-1b4a6190.js.map} +1 -1
  378. package/dist/esm/{index-93d1d43f.js → index-599f4e29.js} +3 -3
  379. package/dist/esm/{index-93d1d43f.js.map → index-599f4e29.js.map} +1 -1
  380. package/dist/esm/{index-f63198f8.js → index-6cbbcaf9.js} +149 -119
  381. package/dist/esm/index-6cbbcaf9.js.map +1 -0
  382. package/dist/esm/ion-accordion-group.entry.js +2 -2
  383. package/dist/esm/ion-accordion.entry.js +2 -2
  384. package/dist/esm/ion-action-sheet_3.entry.js +4 -4
  385. package/dist/esm/ion-app.entry.js +5 -5
  386. package/dist/esm/ion-avatar.entry.js +2 -2
  387. package/dist/esm/ion-back-button.entry.js +2 -2
  388. package/dist/esm/ion-backdrop.entry.js +2 -2
  389. package/dist/esm/ion-badge_8.entry.js +6 -10
  390. package/dist/esm/ion-badge_8.entry.js.map +1 -1
  391. package/dist/esm/ion-breadcrumb.entry.js +2 -2
  392. package/dist/esm/ion-breadcrumbs.entry.js +2 -2
  393. package/dist/esm/ion-button_4.entry.js +2 -2
  394. package/dist/esm/ion-card-subtitle.entry.js +2 -2
  395. package/dist/esm/ion-card_30.entry.js +39 -48
  396. package/dist/esm/ion-card_30.entry.js.map +1 -1
  397. package/dist/esm/{ion-checkbox_4.entry.js → ion-checkbox_6.entry.js} +124 -4
  398. package/dist/esm/ion-checkbox_6.entry.js.map +1 -0
  399. package/dist/esm/ion-chip.entry.js +2 -2
  400. package/dist/esm/ion-content.entry.js +2 -2
  401. package/dist/esm/ion-datetime-button.entry.js +2 -2
  402. package/dist/esm/ion-datetime.entry.js +2 -2
  403. package/dist/esm/ion-fab-button.entry.js +2 -2
  404. package/dist/esm/ion-fab-list.entry.js +2 -2
  405. package/dist/esm/ion-fab.entry.js +2 -2
  406. package/dist/esm/ion-footer.entry.js +2 -2
  407. package/dist/esm/ion-header.entry.js +2 -2
  408. package/dist/esm/ion-img.entry.js +2 -2
  409. package/dist/esm/ion-infinite-scroll-content.entry.js +2 -2
  410. package/dist/esm/ion-infinite-scroll.entry.js +2 -2
  411. package/dist/esm/ion-input_2.entry.js +2 -4
  412. package/dist/esm/ion-input_2.entry.js.map +1 -1
  413. package/dist/esm/ion-item-divider.entry.js +2 -2
  414. package/dist/esm/ion-item-group.entry.js +2 -2
  415. package/dist/esm/ion-item-option.entry.js +2 -2
  416. package/dist/esm/ion-item-options.entry.js +2 -2
  417. package/dist/esm/ion-item-sliding.entry.js +2 -2
  418. package/dist/esm/{ion-item_3.entry.js → ion-item_2.entry.js} +14 -111
  419. package/dist/esm/ion-item_2.entry.js.map +1 -0
  420. package/dist/esm/ion-loading.entry.js +4 -4
  421. package/dist/esm/ion-menu-button.entry.js +5 -5
  422. package/dist/esm/ion-menu-toggle.entry.js +5 -5
  423. package/dist/esm/ion-menu.entry.js +5 -5
  424. package/dist/esm/ion-modal.entry.js +5 -5
  425. package/dist/esm/ion-nav-link.entry.js +1 -1
  426. package/dist/esm/ion-nav.entry.js +3 -3
  427. package/dist/esm/ion-picker-column.entry.js +2 -2
  428. package/dist/esm/ion-picker.entry.js +4 -4
  429. package/dist/esm/ion-popover.entry.js +5 -5
  430. package/dist/esm/ion-range.entry.js +2 -2
  431. package/dist/esm/ion-refresher-content.entry.js +3 -3
  432. package/dist/esm/ion-refresher.entry.js +3 -3
  433. package/dist/esm/ion-reorder-group.entry.js +2 -2
  434. package/dist/esm/ion-reorder.entry.js +2 -2
  435. package/dist/esm/ion-route-redirect.entry.js +1 -1
  436. package/dist/esm/ion-route.entry.js +1 -1
  437. package/dist/esm/ion-router-link.entry.js +2 -2
  438. package/dist/esm/ion-router-outlet.entry.js +3 -3
  439. package/dist/esm/ion-router.entry.js +1 -1
  440. package/dist/esm/ion-segment-button.entry.js +2 -2
  441. package/dist/esm/ion-segment.entry.js +2 -2
  442. package/dist/esm/ion-select-option.entry.js +2 -2
  443. package/dist/esm/ion-select.entry.js +4 -4
  444. package/dist/esm/ion-spinner.entry.js +2 -2
  445. package/dist/esm/ion-split-pane.entry.js +2 -2
  446. package/dist/esm/ion-tab-bar.entry.js +2 -2
  447. package/dist/esm/ion-tab-button.entry.js +2 -2
  448. package/dist/esm/ion-tab.entry.js +1 -1
  449. package/dist/esm/ion-tabs.entry.js +1 -1
  450. package/dist/esm/ion-text.entry.js +2 -2
  451. package/dist/esm/ion-textarea.entry.js +2 -2
  452. package/dist/esm/ion-thumbnail.entry.js +2 -2
  453. package/dist/esm/ion-title.entry.js +2 -2
  454. package/dist/esm/ion-toast.entry.js +4 -4
  455. package/dist/esm/ion-toggle.entry.js +2 -2
  456. package/dist/esm/ion-toolbar.entry.js +2 -2
  457. package/dist/esm/{ionic-global-211574b8.js → ionic-global-0cc6dd62.js} +2 -2
  458. package/dist/esm/{ionic-global-211574b8.js.map → ionic-global-0cc6dd62.js.map} +1 -1
  459. package/dist/esm/{ios.transition-c3e510ee.js → ios.transition-7e6bd676.js} +3 -3
  460. package/dist/esm/{ios.transition-c3e510ee.js.map → ios.transition-7e6bd676.js.map} +1 -1
  461. package/dist/esm/loader.js +5 -5
  462. package/dist/esm/{md.transition-3134f2d5.js → md.transition-41b32cb4.js} +3 -3
  463. package/dist/esm/{md.transition-3134f2d5.js.map → md.transition-41b32cb4.js.map} +1 -1
  464. package/dist/esm/{menu-toggle-util-95f59baf.js → menu-toggle-util-8f37a693.js} +2 -2
  465. package/dist/esm/{menu-toggle-util-95f59baf.js.map → menu-toggle-util-8f37a693.js.map} +1 -1
  466. package/dist/esm/{overlays-2db27d2c.js → overlays-45738544.js} +3 -3
  467. package/dist/esm/{overlays-2db27d2c.js.map → overlays-45738544.js.map} +1 -1
  468. package/dist/esm/pos-app-document-viewer.entry.js +2 -3
  469. package/dist/esm/pos-app-document-viewer.entry.js.map +1 -1
  470. package/dist/esm/pos-app-generic.entry.js +1 -1
  471. package/dist/esm/pos-app-image-viewer.entry.js +3 -4
  472. package/dist/esm/pos-app-image-viewer.entry.js.map +1 -1
  473. package/dist/esm/pos-app-ldp-container.entry.js +2 -2
  474. package/dist/esm/pos-app-ldp-container.entry.js.map +1 -1
  475. package/dist/esm/pos-app-rdf-document.entry.js +2 -2
  476. package/dist/esm/pos-app-rdf-document.entry.js.map +1 -1
  477. package/dist/esm/pos-container-contents.entry.js +9 -5
  478. package/dist/esm/pos-container-contents.entry.js.map +1 -1
  479. package/dist/esm/pos-container-item.entry.js +1 -2
  480. package/dist/esm/pos-container-item.entry.js.map +1 -1
  481. package/dist/esm/pos-document.entry.js +3 -9
  482. package/dist/esm/pos-document.entry.js.map +1 -1
  483. package/dist/esm/pos-relations_2.entry.js +3 -3
  484. package/dist/esm/pos-relations_2.entry.js.map +1 -1
  485. package/dist/esm/pos-subjects.entry.js +2 -2
  486. package/dist/esm/pos-subjects.entry.js.map +1 -1
  487. package/dist/esm/pos-value.entry.js +1 -3
  488. package/dist/esm/pos-value.entry.js.map +1 -1
  489. package/dist/esm/{refresher.utils-343e5e1c.js → refresher.utils-c4687464.js} +2 -2
  490. package/dist/esm/{refresher.utils-343e5e1c.js.map → refresher.utils-c4687464.js.map} +1 -1
  491. package/dist/esm/{status-tap-5188d5f7.js → status-tap-73ccafe6.js} +2 -2
  492. package/dist/esm/{status-tap-5188d5f7.js.map → status-tap-73ccafe6.js.map} +1 -1
  493. package/package.json +2 -2
  494. package/dist/cjs/index-84f24f31.js.map +0 -1
  495. package/dist/cjs/ion-checkbox_4.cjs.entry.js.map +0 -1
  496. package/dist/cjs/ion-item_3.cjs.entry.js.map +0 -1
  497. package/dist/cjs/ion-note.cjs.entry.js +0 -34
  498. package/dist/cjs/ion-note.cjs.entry.js.map +0 -1
  499. package/dist/elements/p-0aaa9e2e.entry.js +0 -2
  500. package/dist/elements/p-0aaa9e2e.entry.js.map +0 -1
  501. package/dist/elements/p-1b2beb49.entry.js +0 -2
  502. package/dist/elements/p-4228fd9f.entry.js +0 -2
  503. package/dist/elements/p-45babdec.entry.js +0 -2
  504. package/dist/elements/p-45babdec.entry.js.map +0 -1
  505. package/dist/elements/p-54881499.entry.js +0 -2
  506. package/dist/elements/p-54881499.entry.js.map +0 -1
  507. package/dist/elements/p-5be76399.entry.js.map +0 -1
  508. package/dist/elements/p-7e022e77.entry.js +0 -2
  509. package/dist/elements/p-7e022e77.entry.js.map +0 -1
  510. package/dist/elements/p-8166aac0.entry.js.map +0 -1
  511. package/dist/elements/p-9873e898.entry.js +0 -2
  512. package/dist/elements/p-9873e898.entry.js.map +0 -1
  513. package/dist/elements/p-a6130a4a.entry.js +0 -2
  514. package/dist/elements/p-a6130a4a.entry.js.map +0 -1
  515. package/dist/elements/p-ad02efc1.entry.js +0 -2
  516. package/dist/elements/p-ad02efc1.entry.js.map +0 -1
  517. package/dist/elements/p-b0848217.entry.js +0 -2
  518. package/dist/elements/p-b0848217.entry.js.map +0 -1
  519. package/dist/elements/p-b3ecf051.entry.js +0 -2
  520. package/dist/elements/p-b6fbcf6a.entry.js +0 -2
  521. package/dist/elements/p-b9a079d7.entry.js +0 -2
  522. package/dist/elements/p-b9a079d7.entry.js.map +0 -1
  523. package/dist/elements/p-c427a5e9.js +0 -3
  524. package/dist/elements/p-c427a5e9.js.map +0 -1
  525. package/dist/elements/p-c481e369.js +0 -5
  526. package/dist/elements/p-cde6c2e2.entry.js +0 -2
  527. package/dist/elements/p-cde6c2e2.entry.js.map +0 -1
  528. package/dist/elements/p-dbdd5b2d.entry.js +0 -2
  529. package/dist/elements/p-dbdd5b2d.entry.js.map +0 -1
  530. package/dist/elements/p-f1807e7c.js +0 -2
  531. package/dist/esm/index-f63198f8.js.map +0 -1
  532. package/dist/esm/ion-checkbox_4.entry.js.map +0 -1
  533. package/dist/esm/ion-item_3.entry.js.map +0 -1
  534. package/dist/esm/ion-note.entry.js +0 -30
  535. package/dist/esm/ion-note.entry.js.map +0 -1
  536. /package/dist/elements/{p-018502b5.entry.js.map → p-041c326f.entry.js.map} +0 -0
  537. /package/dist/elements/{p-8020b187.entry.js.map → p-08c3bf36.entry.js.map} +0 -0
  538. /package/dist/elements/{p-7bf8e699.entry.js.map → p-0db58c25.entry.js.map} +0 -0
  539. /package/dist/elements/{p-f0cd02a0.entry.js.map → p-115f979d.entry.js.map} +0 -0
  540. /package/dist/elements/{p-2403d825.entry.js.map → p-1373820a.entry.js.map} +0 -0
  541. /package/dist/elements/{p-d4f5a630.entry.js.map → p-1ceb8455.entry.js.map} +0 -0
  542. /package/dist/elements/{p-efa2e207.entry.js.map → p-1fda6062.entry.js.map} +0 -0
  543. /package/dist/elements/{p-e0863294.entry.js.map → p-221b09f9.entry.js.map} +0 -0
  544. /package/dist/elements/{p-75dbbea4.entry.js.map → p-235880b8.entry.js.map} +0 -0
  545. /package/dist/elements/{p-677a4ed8.entry.js.map → p-2746793b.entry.js.map} +0 -0
  546. /package/dist/elements/{p-3011f5c2.js.map → p-278bf69e.js.map} +0 -0
  547. /package/dist/elements/{p-92dab01d.entry.js.map → p-291e7f80.entry.js.map} +0 -0
  548. /package/dist/elements/{p-f719c93c.entry.js.map → p-29e6fe38.entry.js.map} +0 -0
  549. /package/dist/elements/{p-296205f8.js.map → p-31154993.js.map} +0 -0
  550. /package/dist/elements/{p-8125346c.entry.js.map → p-312eed76.entry.js.map} +0 -0
  551. /package/dist/elements/{p-8db57797.js.map → p-32e68ba0.js.map} +0 -0
  552. /package/dist/elements/{p-b6fbcf6a.entry.js.map → p-3552b7fb.entry.js.map} +0 -0
  553. /package/dist/elements/{p-915160b3.entry.js.map → p-3959669d.entry.js.map} +0 -0
  554. /package/dist/elements/{p-1348479f.entry.js.map → p-3a1faa69.entry.js.map} +0 -0
  555. /package/dist/elements/{p-c4611c16.entry.js.map → p-3c3af820.entry.js.map} +0 -0
  556. /package/dist/elements/{p-5110bef7.entry.js.map → p-3e923987.entry.js.map} +0 -0
  557. /package/dist/elements/{p-36a367fb.js.map → p-45d6f60d.js.map} +0 -0
  558. /package/dist/elements/{p-bac76cd0.entry.js.map → p-48e68a6a.entry.js.map} +0 -0
  559. /package/dist/elements/{p-ac4e7dc3.entry.js.map → p-49547bbe.entry.js.map} +0 -0
  560. /package/dist/elements/{p-85072c74.js.map → p-4ccc1b59.js.map} +0 -0
  561. /package/dist/elements/{p-7fb5107a.entry.js.map → p-4da973b2.entry.js.map} +0 -0
  562. /package/dist/elements/{p-22e2c3b4.entry.js.map → p-5526dfb2.entry.js.map} +0 -0
  563. /package/dist/elements/{p-f97bc7f3.entry.js.map → p-598d58c5.entry.js.map} +0 -0
  564. /package/dist/elements/{p-c3c90208.entry.js.map → p-5f96db6d.entry.js.map} +0 -0
  565. /package/dist/elements/{p-7c7a6762.entry.js.map → p-5fe28d2b.entry.js.map} +0 -0
  566. /package/dist/elements/{p-58302c25.entry.js.map → p-633affa1.entry.js.map} +0 -0
  567. /package/dist/elements/{p-fe7391a1.entry.js.map → p-63ae80d6.entry.js.map} +0 -0
  568. /package/dist/elements/{p-4b06200c.entry.js.map → p-664d8d87.entry.js.map} +0 -0
  569. /package/dist/elements/{p-8e28bc90.entry.js.map → p-68f966f4.entry.js.map} +0 -0
  570. /package/dist/elements/{p-c481e369.js.map → p-6e8f36b0.js.map} +0 -0
  571. /package/dist/elements/{p-7a46774a.entry.js.map → p-75a42daf.entry.js.map} +0 -0
  572. /package/dist/elements/{p-3b47189b.js.map → p-7a33ba37.js.map} +0 -0
  573. /package/dist/elements/{p-9d43870b.entry.js.map → p-7a6d7fbf.entry.js.map} +0 -0
  574. /package/dist/elements/{p-434c2964.entry.js.map → p-80405105.entry.js.map} +0 -0
  575. /package/dist/elements/{p-2d74c423.entry.js.map → p-838beabe.entry.js.map} +0 -0
  576. /package/dist/elements/{p-49248534.js.map → p-866a6047.js.map} +0 -0
  577. /package/dist/elements/{p-408da6b0.entry.js.map → p-8b390c68.entry.js.map} +0 -0
  578. /package/dist/elements/{p-be0eb65d.entry.js.map → p-8ce18637.entry.js.map} +0 -0
  579. /package/dist/elements/{p-6e3e86f0.entry.js.map → p-936f4a0b.entry.js.map} +0 -0
  580. /package/dist/elements/{p-29d5e823.entry.js.map → p-93ce6770.entry.js.map} +0 -0
  581. /package/dist/elements/{p-7c5e7d91.entry.js.map → p-941c0312.entry.js.map} +0 -0
  582. /package/dist/elements/{p-c70080f5.entry.js.map → p-97d96e68.entry.js.map} +0 -0
  583. /package/dist/elements/{p-e9c5cbaa.entry.js.map → p-98e68594.entry.js.map} +0 -0
  584. /package/dist/elements/{p-6e400276.entry.js.map → p-9e9af6bd.entry.js.map} +0 -0
  585. /package/dist/elements/{p-c7db2592.entry.js.map → p-a5035312.entry.js.map} +0 -0
  586. /package/dist/elements/{p-bc847c79.entry.js.map → p-a593bddc.entry.js.map} +0 -0
  587. /package/dist/elements/{p-b0797aa5.entry.js.map → p-a8bb3a76.entry.js.map} +0 -0
  588. /package/dist/elements/{p-0944a37c.entry.js.map → p-aa0b9f74.entry.js.map} +0 -0
  589. /package/dist/elements/{p-b3ecf051.entry.js.map → p-acc5f44b.entry.js.map} +0 -0
  590. /package/dist/elements/{p-04148971.entry.js.map → p-ad163306.entry.js.map} +0 -0
  591. /package/dist/elements/{p-5223a84a.entry.js.map → p-ae1c554b.entry.js.map} +0 -0
  592. /package/dist/elements/{p-7fcca8ce.entry.js.map → p-b097b4f2.entry.js.map} +0 -0
  593. /package/dist/elements/{p-807a85ab.entry.js.map → p-b2cf25cf.entry.js.map} +0 -0
  594. /package/dist/elements/{p-05f13904.entry.js.map → p-b6bcd3b9.entry.js.map} +0 -0
  595. /package/dist/elements/{p-ecfc833c.entry.js.map → p-c326d285.entry.js.map} +0 -0
  596. /package/dist/elements/{p-9e6d7065.js.map → p-c9ac254b.js.map} +0 -0
  597. /package/dist/elements/{p-6dfc688c.entry.js.map → p-cbdd24e1.entry.js.map} +0 -0
  598. /package/dist/elements/{p-c5558057.js.map → p-cf6c3e72.js.map} +0 -0
  599. /package/dist/elements/{p-a696f249.entry.js.map → p-cfb700d7.entry.js.map} +0 -0
  600. /package/dist/elements/{p-f3dcf138.entry.js.map → p-d5042962.entry.js.map} +0 -0
  601. /package/dist/elements/{p-19079977.entry.js.map → p-d6872ebb.entry.js.map} +0 -0
  602. /package/dist/elements/{p-7ace1754.entry.js.map → p-db7ecd54.entry.js.map} +0 -0
  603. /package/dist/elements/{p-4228fd9f.entry.js.map → p-dd3d50d8.entry.js.map} +0 -0
  604. /package/dist/elements/{p-d4361959.entry.js.map → p-de53ac95.entry.js.map} +0 -0
  605. /package/dist/elements/{p-829dc594.entry.js.map → p-e2f2c3dc.entry.js.map} +0 -0
  606. /package/dist/elements/{p-6b3d7f22.entry.js.map → p-e577cff6.entry.js.map} +0 -0
  607. /package/dist/elements/{p-59ae70b1.entry.js.map → p-e5b454f5.entry.js.map} +0 -0
  608. /package/dist/elements/{p-a99bcb93.entry.js.map → p-e9e7bcf0.entry.js.map} +0 -0
  609. /package/dist/elements/{p-f1807e7c.js.map → p-ec85f9ab.js.map} +0 -0
  610. /package/dist/elements/{p-d39b336c.entry.js.map → p-f31a399b.entry.js.map} +0 -0
  611. /package/dist/elements/{p-cdde0009.entry.js.map → p-f3305475.entry.js.map} +0 -0
  612. /package/dist/elements/{p-72af5420.js.map → p-f49a12b4.js.map} +0 -0
@@ -14,16 +14,10 @@ const PosDocument = /*@__PURE__*/ proxyCustomElement(class PosDocument extends H
14
14
  this.__attachShadow();
15
15
  this.initializeOsEmitter = createEvent(this, "pod-os:init", 7);
16
16
  this.resourceLoadedEmitter = createEvent(this, "pod-os:resource-loaded", 7);
17
+ this.loading = true;
17
18
  this.setOs = async (os) => {
18
19
  this.os = os;
19
20
  };
20
- this.src = undefined;
21
- this.alt = undefined;
22
- this.os = undefined;
23
- this.dataUri = undefined;
24
- this.brokenFile = undefined;
25
- this.error = undefined;
26
- this.loading = true;
27
21
  }
28
22
  componentWillLoad() {
29
23
  store.onChange('isLoggedIn', () => this.fetchBlob());
@@ -1 +1 @@
1
- {"file":"pos-document2.js","mappings":";;;;;;AAAA,MAAM,cAAc,GAAG,2lBAA2lB,CAAC;AACnnB,0BAAe,cAAc;;MCShB,WAAW;;;;;;;QA+BtB,UAAK,GAAG,OAAO,EAAS;YACtB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd,CAAC;;;;;;;uBAhByB,IAAI;;IAS/B,iBAAiB;QACfA,KAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3C;IAQD,MAAM,SAAS;QACb,IAAI;YACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;gBACf,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;aACnB;iBAAM;gBACL,IAAI,CAAC,UAAU,GAAG,IAAsB,CAAC;aAC1C;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;SAClB;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,yBAAmB,QAAQ,EAAE,IAAI,GAAsB,CAAC;SAChE;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,WAAK,KAAK,EAAC,OAAO,IAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAO,CAAC;SACtD;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO,EAAC,UAAU,IAAC,IAAI,EAAE,IAAI,CAAC,UAAU,GAAI,CAAC;SAC9C;QACD,OAAO,cAAQ,GAAG,EAAE,IAAI,CAAC,OAAO,GAAW,CAAC;KAC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["session"],"sources":["src/components/pos-document/pos-document.css?tag=pos-document&encapsulation=shadow","src/components/pos-document/pos-document.tsx"],"sourcesContent":["\n:host {\n}\n\niframe {\n width: 100%;\n height: 100vh;\n}\n\n/* consolidate with styles from pos-image */\n.error {\n display: flex;\n opacity: 0.8;\n background: repeating-linear-gradient( -45deg, rgba(150, 0, 0, 0.1), rgba(150, 0, 0, 0.1) 10px, #fff 5px, #fff 25px );\n flex-direction: column;\n border: 1px solid red;\n color: black;\n align-items: center;\n justify-content: center;\n word-break: break-all;\n padding: 1rem;\n box-sizing: border-box;\n}\n\n.error ion-icon {\n color: #282828;\n --ionicon-stroke-width: calc(var(--width) / 5) ;\n font-size: calc(var(--width) / 2)\n}\n\na {\n text-decoration: none;\n width: var(--width);\n height: var(--height);\n}\n\n.code {\n font-weight: bold;\n font-size: calc(var(--width) / 8);\n}\n\n.text {\n font-size: calc(var(--width) / 20)\n}\n","import { PodOS, BrokenFile as BrokenFileData } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\nimport session from '../../store/session';\nimport { BrokenFile } from '../broken-file/BrokenFile';\n\n@Component({\n tag: 'pos-document',\n styleUrl: 'pos-document.css',\n shadow: true,\n})\nexport class PosDocument {\n @Prop() src: string;\n\n @Prop() alt: string;\n\n @State() os: PodOS;\n\n @State()\n private dataUri: string;\n\n @State()\n private brokenFile: BrokenFileData;\n\n @State()\n private error: Error;\n\n @State()\n private loading: boolean = true;\n\n @Event({ eventName: 'pod-os:init' }) initializeOsEmitter: EventEmitter;\n\n /**\n * Indicates that the resource given in `src` property has been loaded.\n */\n @Event({ eventName: 'pod-os:resource-loaded' }) resourceLoadedEmitter: EventEmitter<string>;\n\n componentWillLoad() {\n session.onChange('isLoggedIn', () => this.fetchBlob());\n this.initializeOsEmitter.emit(this.setOs);\n }\n\n setOs = async (os: PodOS) => {\n this.os = os;\n };\n\n @Watch('os')\n @Watch('src')\n async fetchBlob() {\n try {\n this.loading = true;\n const file = await this.os.fetchFile(this.src);\n this.resourceLoadedEmitter.emit(this.src);\n if (file.blob()) {\n this.dataUri = URL.createObjectURL(file.blob());\n this.error = null;\n } else {\n this.brokenFile = file as BrokenFileData;\n }\n } catch (err) {\n this.error = err;\n } finally {\n this.loading = false;\n }\n }\n\n render() {\n if (this.loading) {\n return <ion-skeleton-text animated={true}></ion-skeleton-text>;\n }\n if (this.error) {\n return <div class=\"error\">{this.error.message}</div>;\n }\n if (this.brokenFile) {\n return <BrokenFile file={this.brokenFile} />;\n }\n return <iframe src={this.dataUri}></iframe>;\n }\n}\n"],"version":3}
1
+ {"file":"pos-document2.js","mappings":";;;;;;AAAA,MAAM,cAAc,GAAG,2lBAA2lB,CAAC;AACnnB,0BAAe,cAAc;;MCShB,WAAW;IALxB;;;;;;QAsBU,YAAO,GAAY,IAAI,CAAC;QAchC,UAAK,GAAG,OAAO,EAAS;YACtB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd,CAAC;KAkCH;IAzCC,iBAAiB;QACfA,KAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3C;IAQD,MAAM,SAAS;QACb,IAAI;YACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;gBACf,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;aACnB;iBAAM;gBACL,IAAI,CAAC,UAAU,GAAG,IAAsB,CAAC;aAC1C;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;SAClB;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,yBAAmB,QAAQ,EAAE,IAAI,GAAsB,CAAC;SAChE;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,WAAK,KAAK,EAAC,OAAO,IAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAO,CAAC;SACtD;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,OAAO,EAAC,UAAU,IAAC,IAAI,EAAE,IAAI,CAAC,UAAU,GAAI,CAAC;SAC9C;QACD,OAAO,cAAQ,GAAG,EAAE,IAAI,CAAC,OAAO,GAAW,CAAC;KAC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["session"],"sources":["src/components/pos-document/pos-document.css?tag=pos-document&encapsulation=shadow","src/components/pos-document/pos-document.tsx"],"sourcesContent":["\n:host {\n}\n\niframe {\n width: 100%;\n height: 100vh;\n}\n\n/* consolidate with styles from pos-image */\n.error {\n display: flex;\n opacity: 0.8;\n background: repeating-linear-gradient( -45deg, rgba(150, 0, 0, 0.1), rgba(150, 0, 0, 0.1) 10px, #fff 5px, #fff 25px );\n flex-direction: column;\n border: 1px solid red;\n color: black;\n align-items: center;\n justify-content: center;\n word-break: break-all;\n padding: 1rem;\n box-sizing: border-box;\n}\n\n.error ion-icon {\n color: #282828;\n --ionicon-stroke-width: calc(var(--width) / 5) ;\n font-size: calc(var(--width) / 2)\n}\n\na {\n text-decoration: none;\n width: var(--width);\n height: var(--height);\n}\n\n.code {\n font-weight: bold;\n font-size: calc(var(--width) / 8);\n}\n\n.text {\n font-size: calc(var(--width) / 20)\n}\n","import { PodOS, BrokenFile as BrokenFileData } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\nimport session from '../../store/session';\nimport { BrokenFile } from '../broken-file/BrokenFile';\n\n@Component({\n tag: 'pos-document',\n styleUrl: 'pos-document.css',\n shadow: true,\n})\nexport class PosDocument {\n @Prop() src: string;\n\n @Prop() alt: string;\n\n @State() os: PodOS;\n\n @State()\n private dataUri: string;\n\n @State()\n private brokenFile: BrokenFileData;\n\n @State()\n private error: Error;\n\n @State()\n private loading: boolean = true;\n\n @Event({ eventName: 'pod-os:init' }) initializeOsEmitter: EventEmitter;\n\n /**\n * Indicates that the resource given in `src` property has been loaded.\n */\n @Event({ eventName: 'pod-os:resource-loaded' }) resourceLoadedEmitter: EventEmitter<string>;\n\n componentWillLoad() {\n session.onChange('isLoggedIn', () => this.fetchBlob());\n this.initializeOsEmitter.emit(this.setOs);\n }\n\n setOs = async (os: PodOS) => {\n this.os = os;\n };\n\n @Watch('os')\n @Watch('src')\n async fetchBlob() {\n try {\n this.loading = true;\n const file = await this.os.fetchFile(this.src);\n this.resourceLoadedEmitter.emit(this.src);\n if (file.blob()) {\n this.dataUri = URL.createObjectURL(file.blob());\n this.error = null;\n } else {\n this.brokenFile = file as BrokenFileData;\n }\n } catch (err) {\n this.error = err;\n } finally {\n this.loading = false;\n }\n }\n\n render() {\n if (this.loading) {\n return <ion-skeleton-text animated={true}></ion-skeleton-text>;\n }\n if (this.error) {\n return <div class=\"error\">{this.error.message}</div>;\n }\n if (this.brokenFile) {\n return <BrokenFile file={this.brokenFile} />;\n }\n return <iframe src={this.dataUri}></iframe>;\n }\n}\n"],"version":3}
@@ -14,18 +14,14 @@ const PosImage = /*@__PURE__*/ proxyCustomElement(class PosImage extends HTMLEle
14
14
  this.__attachShadow();
15
15
  this.initializeOsEmitter = createEvent(this, "pod-os:init", 7);
16
16
  this.resourceLoadedEmitter = createEvent(this, "pod-os:resource-loaded", 7);
17
+ /**
18
+ * Use a blurred version of the image as its own background, if the image is scaled down to fit into the container.
19
+ */
20
+ this.blurredBackground = false;
21
+ this.loading = true;
17
22
  this.setOs = async (os) => {
18
23
  this.os = os;
19
24
  };
20
- this.src = undefined;
21
- this.alt = undefined;
22
- this.blurredBackground = false;
23
- this.os = undefined;
24
- this.dataUri = undefined;
25
- this.brokenFile = undefined;
26
- this.networkError = undefined;
27
- this.imageError = undefined;
28
- this.loading = true;
29
25
  }
30
26
  componentWillLoad() {
31
27
  store.onChange('isLoggedIn', () => this.fetchBlob());
@@ -1 +1 @@
1
- {"file":"pos-image2.js","mappings":";;;;;;AAAA,MAAM,WAAW,GAAG,y5BAAy5B,CAAC;AAC96B,uBAAe,WAAW;;MCcb,QAAQ;;;;;;;QAuCnB,UAAK,GAAG,OAAO,EAAS;YACtB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd,CAAC;;;iCAjCmC,KAAK;;;;;;uBAiBf,IAAI;;IAS/B,iBAAiB;QACfA,KAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3C;IAQD,MAAM,SAAS;QACb,IAAI;YACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;gBACf,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;aACjD;iBAAM;gBACL,IAAI,CAAC,UAAU,GAAG,IAAsB,CAAC;aAC1C;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;SACzB;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;IAED,YAAY,CAAC,GAAU;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;KACvB;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,yBAAmB,QAAQ,EAAE,IAAI,GAAsB,CAAC;SAChE;QACD,IAAI,IAAI,CAAC,YAAY,EAAE;;YAErB,OAAO,WAAK,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAI,CAAC;SACtF;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;;YAEnB,OAAO,EAAC,UAAU,IAAC,IAAI,EAAE,IAAI,CAAC,UAAU,GAAI,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;;YAEnB,QACE,WAAK,KAAK,EAAC,OAAO,IAChB,SAAG,IAAI,EAAE,IAAI,CAAC,GAAG,IAAG,IAAI,CAAC,GAAG,CAAK,CAC7B,EACN;SACH;QAED,QACE,EAAC,IAAI,IACH,KAAK,EAAE;gBACL,eAAe,EAAE,IAAI,CAAC,iBAAiB,GAAG,QAAQ,IAAI,CAAC,OAAO,IAAI,GAAG,IAAI;aAC1E,IAED,WAAK,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAI,CACpC,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["session"],"sources":["src/components/pos-image/pos-image.css?tag=pos-image&encapsulation=shadow","src/components/pos-image/pos-image.tsx"],"sourcesContent":[":host {\n /**\n * @prop --width: Width of the image\n * @prop --height: Height of the image\n * @prop --border-radius: Border radius of the image\n * @prop --max-width: Maximum width of the image\n * @prop --max-height: Maximum height of the image\n * @prop --object-fit: CSS object-fit of the image\n */\n display: flex;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n border-radius: inherit;\n}\n\nimg,\nion-skeleton-text,\ndiv.error {\n border-radius: var(--border-radius);\n width: var(--width);\n height: var(--height);\n max-width: var(--max-width);\n max-height: var(--max-height);\n object-fit: var(--object-fit);\n}\n\nimg {\n backdrop-filter: var(--blur-xl);\n}\n\n.error {\n display: flex;\n opacity: 0.8;\n background: repeating-linear-gradient(-45deg, rgba(150, 0, 0, 0.1), rgba(150, 0, 0, 0.1) 10px, #fff 5px, #fff 25px);\n flex-direction: column;\n border: 1px solid red;\n color: black;\n align-items: center;\n justify-content: center;\n word-break: break-all;\n padding: 1rem;\n box-sizing: border-box;\n}\n\n.error ion-icon {\n color: #282828;\n --ionicon-stroke-width: calc(var(--width) / 5);\n font-size: calc(var(--width) / 2);\n}\n\na.error {\n text-decoration: none;\n width: var(--width);\n height: var(--height);\n}\n\n.code {\n font-weight: bold;\n font-size: calc(var(--width) / 8);\n}\n\n.text {\n font-size: calc(var(--width) / 20);\n}\n","import { BrokenFile as BrokenFileData, PodOS } from '@pod-os/core';\nimport { BrokenFile } from '../broken-file/BrokenFile';\nimport { Component, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core';\nimport session from '../../store/session';\n\n/**\n * Tries fetch an image with the solid authentication, and can visualize http errors like 403 or 404 if this fails.\n * Falls back to classic <img src=\"...\"> on network errors like CORS.\n * Renders a normal link if even this fails.\n */\n@Component({\n tag: 'pos-image',\n styleUrl: 'pos-image.css',\n shadow: true,\n})\nexport class PosImage {\n @Prop() src: string;\n\n @Prop() alt: string;\n\n /**\n * Use a blurred version of the image as its own background, if the image is scaled down to fit into the container.\n */\n @Prop() blurredBackground: boolean = false;\n\n @State() os: PodOS;\n\n @State()\n private dataUri: string;\n\n @State()\n private brokenFile: BrokenFileData;\n\n @State()\n private networkError: Error;\n\n @State()\n private imageError: Event;\n\n @State()\n private loading: boolean = true;\n\n @Event({ eventName: 'pod-os:init' }) initializeOsEmitter: EventEmitter;\n\n /**\n * Indicates that the resource given in `src` property has been loaded.\n */\n @Event({ eventName: 'pod-os:resource-loaded' }) resourceLoadedEmitter: EventEmitter<string>;\n\n componentWillLoad() {\n session.onChange('isLoggedIn', () => this.fetchBlob());\n this.initializeOsEmitter.emit(this.setOs);\n }\n\n setOs = async (os: PodOS) => {\n this.os = os;\n };\n\n @Watch('os')\n @Watch('src')\n async fetchBlob() {\n try {\n this.loading = true;\n this.imageError = null;\n this.networkError = null;\n this.brokenFile = null;\n const file = await this.os.fetchFile(this.src);\n this.resourceLoadedEmitter.emit(this.src);\n if (file.blob()) {\n this.dataUri = URL.createObjectURL(file.blob());\n } else {\n this.brokenFile = file as BrokenFileData;\n }\n } catch (err) {\n this.networkError = err;\n } finally {\n this.loading = false;\n }\n }\n\n onImageError(err: Event) {\n this.networkError = null;\n this.imageError = err;\n }\n\n render() {\n if (this.loading) {\n return <ion-skeleton-text animated={true}></ion-skeleton-text>;\n }\n if (this.networkError) {\n // probably a CORS error\n return <img alt={this.alt} src={this.src} onError={err => this.onImageError(err)} />;\n }\n if (this.brokenFile) {\n // fetching worked, but HTTP response was not ok\n return <BrokenFile file={this.brokenFile} />;\n }\n if (this.imageError) {\n // if even the loading via classic <img src=\"...\"> failed, render a link\n return (\n <div class=\"error\">\n <a href={this.src}>{this.src}</a>\n </div>\n );\n }\n\n return (\n <Host\n style={{\n backgroundImage: this.blurredBackground ? `url('${this.dataUri}')` : null,\n }}\n >\n <img src={this.dataUri} alt={this.alt} />\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pos-image2.js","mappings":";;;;;;AAAA,MAAM,WAAW,GAAG,y5BAAy5B,CAAC;AAC96B,uBAAe,WAAW;;MCcb,QAAQ;IALrB;;;;;;;;;QAaU,sBAAiB,GAAY,KAAK,CAAC;QAiBnC,YAAO,GAAY,IAAI,CAAC;QAchC,UAAK,GAAG,OAAO,EAAS;YACtB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd,CAAC;KA4DH;IAnEC,iBAAiB;QACfA,KAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3C;IAQD,MAAM,SAAS;QACb,IAAI;YACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;gBACf,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;aACjD;iBAAM;gBACL,IAAI,CAAC,UAAU,GAAG,IAAsB,CAAC;aAC1C;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;SACzB;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;IAED,YAAY,CAAC,GAAU;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;KACvB;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,yBAAmB,QAAQ,EAAE,IAAI,GAAsB,CAAC;SAChE;QACD,IAAI,IAAI,CAAC,YAAY,EAAE;;YAErB,OAAO,WAAK,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAI,CAAC;SACtF;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;;YAEnB,OAAO,EAAC,UAAU,IAAC,IAAI,EAAE,IAAI,CAAC,UAAU,GAAI,CAAC;SAC9C;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;;YAEnB,QACE,WAAK,KAAK,EAAC,OAAO,IAChB,SAAG,IAAI,EAAE,IAAI,CAAC,GAAG,IAAG,IAAI,CAAC,GAAG,CAAK,CAC7B,EACN;SACH;QAED,QACE,EAAC,IAAI,IACH,KAAK,EAAE;gBACL,eAAe,EAAE,IAAI,CAAC,iBAAiB,GAAG,QAAQ,IAAI,CAAC,OAAO,IAAI,GAAG,IAAI;aAC1E,IAED,WAAK,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAI,CACpC,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["session"],"sources":["src/components/pos-image/pos-image.css?tag=pos-image&encapsulation=shadow","src/components/pos-image/pos-image.tsx"],"sourcesContent":[":host {\n /**\n * @prop --width: Width of the image\n * @prop --height: Height of the image\n * @prop --border-radius: Border radius of the image\n * @prop --max-width: Maximum width of the image\n * @prop --max-height: Maximum height of the image\n * @prop --object-fit: CSS object-fit of the image\n */\n display: flex;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n border-radius: inherit;\n}\n\nimg,\nion-skeleton-text,\ndiv.error {\n border-radius: var(--border-radius);\n width: var(--width);\n height: var(--height);\n max-width: var(--max-width);\n max-height: var(--max-height);\n object-fit: var(--object-fit);\n}\n\nimg {\n backdrop-filter: var(--blur-xl);\n}\n\n.error {\n display: flex;\n opacity: 0.8;\n background: repeating-linear-gradient(-45deg, rgba(150, 0, 0, 0.1), rgba(150, 0, 0, 0.1) 10px, #fff 5px, #fff 25px);\n flex-direction: column;\n border: 1px solid red;\n color: black;\n align-items: center;\n justify-content: center;\n word-break: break-all;\n padding: 1rem;\n box-sizing: border-box;\n}\n\n.error ion-icon {\n color: #282828;\n --ionicon-stroke-width: calc(var(--width) / 5);\n font-size: calc(var(--width) / 2);\n}\n\na.error {\n text-decoration: none;\n width: var(--width);\n height: var(--height);\n}\n\n.code {\n font-weight: bold;\n font-size: calc(var(--width) / 8);\n}\n\n.text {\n font-size: calc(var(--width) / 20);\n}\n","import { BrokenFile as BrokenFileData, PodOS } from '@pod-os/core';\nimport { BrokenFile } from '../broken-file/BrokenFile';\nimport { Component, Event, EventEmitter, h, Host, Prop, State, Watch } from '@stencil/core';\nimport session from '../../store/session';\n\n/**\n * Tries fetch an image with the solid authentication, and can visualize http errors like 403 or 404 if this fails.\n * Falls back to classic <img src=\"...\"> on network errors like CORS.\n * Renders a normal link if even this fails.\n */\n@Component({\n tag: 'pos-image',\n styleUrl: 'pos-image.css',\n shadow: true,\n})\nexport class PosImage {\n @Prop() src: string;\n\n @Prop() alt: string;\n\n /**\n * Use a blurred version of the image as its own background, if the image is scaled down to fit into the container.\n */\n @Prop() blurredBackground: boolean = false;\n\n @State() os: PodOS;\n\n @State()\n private dataUri: string;\n\n @State()\n private brokenFile: BrokenFileData;\n\n @State()\n private networkError: Error;\n\n @State()\n private imageError: Event;\n\n @State()\n private loading: boolean = true;\n\n @Event({ eventName: 'pod-os:init' }) initializeOsEmitter: EventEmitter;\n\n /**\n * Indicates that the resource given in `src` property has been loaded.\n */\n @Event({ eventName: 'pod-os:resource-loaded' }) resourceLoadedEmitter: EventEmitter<string>;\n\n componentWillLoad() {\n session.onChange('isLoggedIn', () => this.fetchBlob());\n this.initializeOsEmitter.emit(this.setOs);\n }\n\n setOs = async (os: PodOS) => {\n this.os = os;\n };\n\n @Watch('os')\n @Watch('src')\n async fetchBlob() {\n try {\n this.loading = true;\n this.imageError = null;\n this.networkError = null;\n this.brokenFile = null;\n const file = await this.os.fetchFile(this.src);\n this.resourceLoadedEmitter.emit(this.src);\n if (file.blob()) {\n this.dataUri = URL.createObjectURL(file.blob());\n } else {\n this.brokenFile = file as BrokenFileData;\n }\n } catch (err) {\n this.networkError = err;\n } finally {\n this.loading = false;\n }\n }\n\n onImageError(err: Event) {\n this.networkError = null;\n this.imageError = err;\n }\n\n render() {\n if (this.loading) {\n return <ion-skeleton-text animated={true}></ion-skeleton-text>;\n }\n if (this.networkError) {\n // probably a CORS error\n return <img alt={this.alt} src={this.src} onError={err => this.onImageError(err)} />;\n }\n if (this.brokenFile) {\n // fetching worked, but HTTP response was not ok\n return <BrokenFile file={this.brokenFile} />;\n }\n if (this.imageError) {\n // if even the loading via classic <img src=\"...\"> failed, render a link\n return (\n <div class=\"error\">\n <a href={this.src}>{this.src}</a>\n </div>\n );\n }\n\n return (\n <Host\n style={{\n backgroundImage: this.blurredBackground ? `url('${this.dataUri}')` : null,\n }}\n >\n <img src={this.dataUri} alt={this.alt} />\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"pos-internal-router2.js","mappings":";;;;;;;;;;;;;;MAKa,iBAAiB;;;;mBAEd,kBAAkB;;IAEhC,MAAM;QACJ,OAAO,2EAAuC,CAAC;KAChD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-internal-router/pos-internal-router.tsx"],"sourcesContent":["import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'pos-internal-router',\n})\nexport class PosInternalRouter {\n @Prop()\n uri: string = 'pod-os:dashboard';\n\n render() {\n return <pos-app-dashboard></pos-app-dashboard>;\n }\n}\n"],"version":3}
1
+ {"file":"pos-internal-router2.js","mappings":";;;;;;;;;;;;;;MAKa,iBAAiB;IAH9B;;;QAKE,QAAG,GAAW,kBAAkB,CAAC;KAKlC;IAHC,MAAM;QACJ,OAAO,2EAAuC,CAAC;KAChD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-internal-router/pos-internal-router.tsx"],"sourcesContent":["import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'pos-internal-router',\n})\nexport class PosInternalRouter {\n @Prop()\n uri: string = 'pod-os:dashboard';\n\n render() {\n return <pos-app-dashboard></pos-app-dashboard>;\n }\n}\n"],"version":3}
@@ -10,7 +10,6 @@ const PosLabel = /*@__PURE__*/ proxyCustomElement(class PosLabel extends HTMLEle
10
10
  this.receiveResource = (resource) => {
11
11
  this.resource = resource;
12
12
  };
13
- this.resource = undefined;
14
13
  }
15
14
  componentWillLoad() {
16
15
  subscribeResource(this);
@@ -1 +1 @@
1
- {"file":"pos-label2.js","mappings":";;;MAQa,QAAQ;;;;;;QAUnB,oBAAe,GAAG,CAAC,QAAe;YAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B,CAAC;;;IANF,iBAAiB;QACf,iBAAiB,CAAC,IAAI,CAAC,CAAC;KACzB;IAMD,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;KACrD;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-label/pos-label.tsx"],"sourcesContent":["import { Thing } from '@pod-os/core';\nimport { Component, Event, State } from '@stencil/core';\nimport { ResourceAware, ResourceEventEmitter, subscribeResource } from '../events/ResourceAware';\n\n@Component({\n tag: 'pos-label',\n shadow: true,\n})\nexport class PosLabel implements ResourceAware {\n @State() resource: Thing;\n\n @Event({ eventName: 'pod-os:resource' })\n subscribeResource: ResourceEventEmitter;\n\n componentWillLoad() {\n subscribeResource(this);\n }\n\n receiveResource = (resource: Thing) => {\n this.resource = resource;\n };\n\n render() {\n return this.resource ? this.resource.label() : null;\n }\n}\n"],"version":3}
1
+ {"file":"pos-label2.js","mappings":";;;MAQa,QAAQ;IAJrB;;;;;QAcE,oBAAe,GAAG,CAAC,QAAe;YAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B,CAAC;KAKH;IAXC,iBAAiB;QACf,iBAAiB,CAAC,IAAI,CAAC,CAAC;KACzB;IAMD,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;KACrD;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-label/pos-label.tsx"],"sourcesContent":["import { Thing } from '@pod-os/core';\nimport { Component, Event, State } from '@stencil/core';\nimport { ResourceAware, ResourceEventEmitter, subscribeResource } from '../events/ResourceAware';\n\n@Component({\n tag: 'pos-label',\n shadow: true,\n})\nexport class PosLabel implements ResourceAware {\n @State() resource: Thing;\n\n @Event({ eventName: 'pod-os:resource' })\n subscribeResource: ResourceEventEmitter;\n\n componentWillLoad() {\n subscribeResource(this);\n }\n\n receiveResource = (resource: Thing) => {\n this.resource = resource;\n };\n\n render() {\n return this.resource ? this.resource.label() : null;\n }\n}\n"],"version":3}
@@ -15,10 +15,10 @@ const PosLiterals = /*@__PURE__*/ proxyCustomElement(class PosLiterals extends H
15
15
  this.__registerHost();
16
16
  this.__attachShadow();
17
17
  this.subscribeResource = createEvent(this, "pod-os:resource", 7);
18
+ this.data = [];
18
19
  this.receiveResource = (resource) => {
19
20
  this.data = resource.literals();
20
21
  };
21
- this.data = [];
22
22
  }
23
23
  componentWillLoad() {
24
24
  subscribeResource(this);
@@ -1 +1 @@
1
- {"file":"pos-literals2.js","mappings":";;;;;;;;AAAA,MAAM,cAAc,GAAG,85BAA85B,CAAC;AACt7B,0BAAe,cAAc;;MCQhB,WAAW;;;;;;QAUtB,oBAAe,GAAG,CAAC,QAAe;YAChC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACjC,CAAC;oBAXyB,EAAE;;IAK7B,iBAAiB;QACf,iBAAiB,CAAC,IAAI,CAAC,CAAC;KACzB;IAMD,iBAAiB,CAAC,UAAmB;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC;QAE7E,IAAI,CAAC,QAAQ,EAAE;YACb,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAC1B,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;sBACtC;wBACE,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;qBACnD;sBACD,EAAE,CAAC;aACR,CAAC,CAAC;SACJ;KACF;IAED,MAAM;QACJ,QACE,EAAC,IAAI,uDACF,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IACnB,cACG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KACf,WAAK,KAAK,EAAC,kBAAkB,IAC3B,cACE,qBAAe,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAI,CAClD,EACL,WAAK,KAAK,EAAC,QAAQ,IAChB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAClB,cAAK,KAAK,CAAM,CACjB,CAAC,CACE,CACF,CACP,CAAC,CACC,IACH,IAAI,EACR,8GAAqD,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,GAAI,CACjG,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-literals/pos-literals.css?tag=pos-literals&encapsulation=shadow","src/components/pos-literals/pos-literals.tsx"],"sourcesContent":[":host {\n --background-base-color: var(--color-grey-200);\n --background-color-even: hsl(from var(--background-base-color) h s calc(l + 7));\n --background-color-odd: hsl(from var(--background-base-color) h s calc(l + 10));\n --border-color: var(--background-base-color);\n}\n\ndd {\n padding: 0;\n margin: 0;\n}\n\ndl {\n padding: 0;\n margin: 0;\n display: flex;\n flex-direction: column;\n gap: var(--size-1);\n}\n\ndt {\n margin-bottom: var(--size-1);\n}\n\n.predicate-values:nth-child(odd) {\n background-color: var(--background-color-odd);\n}\n\n.predicate-values:nth-child(even) {\n background-color: var(--background-color-even);\n}\n\n.predicate-values {\n display: flex;\n flex-direction: column;\n border: var(--size-px) solid var(--border-color);\n padding: var(--size-2);\n gap: var(--size-1);\n\n .values {\n display: flex;\n flex-direction: column;\n gap: var(--size-2);\n }\n}\n","import { Literal, Thing } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, Host, State } from '@stencil/core';\nimport { ResourceAware, subscribeResource } from '../events/ResourceAware';\n\n@Component({\n tag: 'pos-literals',\n styleUrl: './pos-literals.css',\n shadow: true,\n})\nexport class PosLiterals implements ResourceAware {\n @State() data: Literal[] = [];\n\n @Event({ eventName: 'pod-os:resource' })\n subscribeResource: EventEmitter;\n\n componentWillLoad() {\n subscribeResource(this);\n }\n\n receiveResource = (resource: Thing) => {\n this.data = resource.literals();\n };\n\n literalValueAdded(newLiteral: Literal) {\n const existing = this.data.find(it => it.predicate === newLiteral.predicate);\n\n if (!existing) {\n this.data = [...this.data, newLiteral];\n } else {\n this.data = this.data.map(it => {\n return it.predicate === existing.predicate\n ? {\n predicate: existing.predicate,\n label: existing.label,\n values: [...existing.values, ...newLiteral.values],\n }\n : it;\n });\n }\n }\n\n render() {\n return (\n <Host>\n {this.data.length > 0 ? (\n <dl>\n {this.data.map(it => (\n <div class=\"predicate-values\">\n <dt>\n <pos-predicate uri={it.predicate} label={it.label} />\n </dt>\n <div class=\"values\">\n {it.values.map(value => (\n <dd>{value}</dd>\n ))}\n </div>\n </div>\n ))}\n </dl>\n ) : null}\n <pos-add-literal-value onPod-os:added-literal-value={event => this.literalValueAdded(event.detail)} />\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pos-literals2.js","mappings":";;;;;;;;AAAA,MAAM,cAAc,GAAG,85BAA85B,CAAC;AACt7B,0BAAe,cAAc;;MCQhB,WAAW;IALxB;;;;;QAMW,SAAI,GAAc,EAAE,CAAC;QAS9B,oBAAe,GAAG,CAAC,QAAe;YAChC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;SACjC,CAAC;KA2CH;IAjDC,iBAAiB;QACf,iBAAiB,CAAC,IAAI,CAAC,CAAC;KACzB;IAMD,iBAAiB,CAAC,UAAmB;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC;QAE7E,IAAI,CAAC,QAAQ,EAAE;YACb,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAC1B,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;sBACtC;wBACE,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK;wBACrB,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;qBACnD;sBACD,EAAE,CAAC;aACR,CAAC,CAAC;SACJ;KACF;IAED,MAAM;QACJ,QACE,EAAC,IAAI,uDACF,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IACnB,cACG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KACf,WAAK,KAAK,EAAC,kBAAkB,IAC3B,cACE,qBAAe,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAI,CAClD,EACL,WAAK,KAAK,EAAC,QAAQ,IAChB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAClB,cAAK,KAAK,CAAM,CACjB,CAAC,CACE,CACF,CACP,CAAC,CACC,IACH,IAAI,EACR,8GAAqD,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,GAAI,CACjG,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-literals/pos-literals.css?tag=pos-literals&encapsulation=shadow","src/components/pos-literals/pos-literals.tsx"],"sourcesContent":[":host {\n --background-base-color: var(--color-grey-200);\n --background-color-even: hsl(from var(--background-base-color) h s calc(l + 7));\n --background-color-odd: hsl(from var(--background-base-color) h s calc(l + 10));\n --border-color: var(--background-base-color);\n}\n\ndd {\n padding: 0;\n margin: 0;\n}\n\ndl {\n padding: 0;\n margin: 0;\n display: flex;\n flex-direction: column;\n gap: var(--size-1);\n}\n\ndt {\n margin-bottom: var(--size-1);\n}\n\n.predicate-values:nth-child(odd) {\n background-color: var(--background-color-odd);\n}\n\n.predicate-values:nth-child(even) {\n background-color: var(--background-color-even);\n}\n\n.predicate-values {\n display: flex;\n flex-direction: column;\n border: var(--size-px) solid var(--border-color);\n padding: var(--size-2);\n gap: var(--size-1);\n\n .values {\n display: flex;\n flex-direction: column;\n gap: var(--size-2);\n }\n}\n","import { Literal, Thing } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, Host, State } from '@stencil/core';\nimport { ResourceAware, subscribeResource } from '../events/ResourceAware';\n\n@Component({\n tag: 'pos-literals',\n styleUrl: './pos-literals.css',\n shadow: true,\n})\nexport class PosLiterals implements ResourceAware {\n @State() data: Literal[] = [];\n\n @Event({ eventName: 'pod-os:resource' })\n subscribeResource: EventEmitter;\n\n componentWillLoad() {\n subscribeResource(this);\n }\n\n receiveResource = (resource: Thing) => {\n this.data = resource.literals();\n };\n\n literalValueAdded(newLiteral: Literal) {\n const existing = this.data.find(it => it.predicate === newLiteral.predicate);\n\n if (!existing) {\n this.data = [...this.data, newLiteral];\n } else {\n this.data = this.data.map(it => {\n return it.predicate === existing.predicate\n ? {\n predicate: existing.predicate,\n label: existing.label,\n values: [...existing.values, ...newLiteral.values],\n }\n : it;\n });\n }\n }\n\n render() {\n return (\n <Host>\n {this.data.length > 0 ? (\n <dl>\n {this.data.map(it => (\n <div class=\"predicate-values\">\n <dt>\n <pos-predicate uri={it.predicate} label={it.label} />\n </dt>\n <div class=\"values\">\n {it.values.map(value => (\n <dd>{value}</dd>\n ))}\n </div>\n </div>\n ))}\n </dl>\n ) : null}\n <pos-add-literal-value onPod-os:added-literal-value={event => this.literalValueAdded(event.detail)} />\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"pos-login-form2.js","mappings":";;AAAA,MAAM,eAAe,GAAG,wqBAAwqB,CAAC;AACjsB,2BAAe,eAAe;;MCQjB,YAAY;;;;;;sBACG,EAAE;yBAEE,KAAK;;IAQnC,QAAQ;QACN,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACvC;IAED,MAAM;QACJ,QACE,6DAAM,MAAM,EAAC,QAAQ,EAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,IACvD,8DAAO,OAAO,EAAC,QAAQ,0CAA4C,EACnE,8DACE,EAAE,EAAC,QAAQ,EACX,IAAI,EAAC,KAAK,EACV,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,QAAQ,EAAE,IAAI,EACd,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAClC,IAAI,EAAC,kBAAkB,EACvB,WAAW,EAAC,mBAAmB,GAC/B,EACF,iEAAU,EAAE,EAAC,kBAAkB,IAC7B,+DAAQ,KAAK,EAAC,4BAA4B,yBAA4B,EACtE,+DAAQ,KAAK,EAAC,sBAAsB,mBAAsB,EAC1D,+DAAQ,KAAK,EAAC,qBAAqB,kBAAqB,EACxD,+DAAQ,KAAK,EAAC,oBAAoB,iBAAoB,EACtD,+DAAQ,KAAK,EAAC,0BAA0B,uBAA0B,EAClE,+DAAQ,KAAK,EAAC,oBAAoB,iBAAoB,EACtD,+DAAQ,KAAK,EAAC,gBAAgB,aAAgB,EAC9C,+DAAQ,KAAK,EAAC,4BAA4B,mBAAsB,EAChE,+DAAQ,KAAK,EAAC,0BAA0B,0BAA6B,EACrE,+DAAQ,KAAK,EAAC,qBAAqB,kBAAqB,CAC/C,EACX,8DAAO,EAAE,EAAC,OAAO,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,OAAO,EAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,GAAI,CACtE,EACP;KACH;IAED,YAAY,CAAC,KAAK;QAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;KAClC;IAED,MAAM,YAAY;QAChB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-login-form/pos-login-form.css?tag=pos-login-form&encapsulation=shadow","src/components/pos-login-form/pos-login-form.tsx"],"sourcesContent":[":host {\n display: block;\n margin: 0\n}\n\nform {\n display: flex;\n flex-direction: column;\n gap: var(--size-4);\n}\n\ninput {\n outline: var(--pos-input-outline);\n padding: var(--scale-000);\n border: none;\n border-radius: var(--radius-xs);\n width: var(--size-full);\n box-sizing: border-box;\n}\n\ninput:focus-within {\n outline: var(--pos-input-focus-outline);\n}\n\ninput#login {\n outline: none;\n box-shadow: var(--shadow-sm);\n cursor: pointer;\n color: var(--pos-primary-text-color);\n background-color: var(--pos-primary-color);\n}\n\ninput#login:disabled {\n cursor: default;\n color: var(--pos-disabled-text-color);\n background-color: var(--pos-disabled-color);\n box-shadow: none\n}\n\ninput#login:hover:not(:disabled), input#login:focus {\n filter: brightness(110%);\n box-shadow: var(--shadow-md);\n}\n","import { Component, Event, EventEmitter, h, State, Watch } from '@stencil/core';\n\n@Component({\n tag: 'pos-login-form',\n shadow: {\n delegatesFocus: true,\n },\n styleUrl: 'pos-login-form.css',\n})\nexport class PosLoginForm {\n @State() idpUrl: string = '';\n\n @State() canSubmit: boolean = false;\n\n /**\n * Emits the selected IDP URL to use for login\n */\n @Event({ eventName: 'pod-os:idp-url-selected' }) idpUrlSelected: EventEmitter;\n\n @Watch('idpUrl')\n validate() {\n this.canSubmit = Boolean(this.idpUrl);\n }\n\n render(): any {\n return (\n <form method=\"dialog\" onSubmit={() => this.handleSubmit()}>\n <label htmlFor=\"idpUrl\">Please enter your Identity Provider</label>\n <input\n id=\"idpUrl\"\n type=\"url\"\n value={this.idpUrl}\n required={true}\n onInput={e => this.handleChange(e)}\n list=\"suggestedIssuers\"\n placeholder=\"Type to search...\"\n />\n <datalist id=\"suggestedIssuers\">\n <option value=\"https://solidcommunity.net\">solidcommunity.net</option>\n <option value=\"https://solidweb.org\">solidweb.org</option>\n <option value=\"https://solidweb.me\">solidweb.me</option>\n <option value=\"https://inrupt.net\">inrupt.net</option>\n <option value=\"https://login.inrupt.com\">Inrupt PodSpaces</option>\n <option value=\"https://trinpod.us\">trinpod.us</option>\n <option value=\"https://use.id\">use.id</option>\n <option value=\"https://solid.redpencil.io\">redpencil.io</option>\n <option value=\"https://datapod.grant.io\">Data Pod (grant.io)</option>\n <option value=\"https://teamid.live\">teamid.live</option>\n </datalist>\n <input id=\"login\" type=\"submit\" value=\"Login\" disabled={!this.canSubmit} />\n </form>\n );\n }\n\n handleChange(event) {\n this.validate();\n this.idpUrl = event.target.value;\n }\n\n async handleSubmit() {\n this.idpUrlSelected.emit(this.idpUrl);\n }\n}\n"],"version":3}
1
+ {"file":"pos-login-form2.js","mappings":";;AAAA,MAAM,eAAe,GAAG,wqBAAwqB,CAAC;AACjsB,2BAAe,eAAe;;MCQjB,YAAY;IAPzB;;;;;QAQW,WAAM,GAAW,EAAE,CAAC;QAEpB,cAAS,GAAY,KAAK,CAAC;KAkDrC;IA1CC,QAAQ;QACN,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACvC;IAED,MAAM;QACJ,QACE,6DAAM,MAAM,EAAC,QAAQ,EAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,IACvD,8DAAO,OAAO,EAAC,QAAQ,0CAA4C,EACnE,8DACE,EAAE,EAAC,QAAQ,EACX,IAAI,EAAC,KAAK,EACV,KAAK,EAAE,IAAI,CAAC,MAAM,EAClB,QAAQ,EAAE,IAAI,EACd,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAClC,IAAI,EAAC,kBAAkB,EACvB,WAAW,EAAC,mBAAmB,GAC/B,EACF,iEAAU,EAAE,EAAC,kBAAkB,IAC7B,+DAAQ,KAAK,EAAC,4BAA4B,yBAA4B,EACtE,+DAAQ,KAAK,EAAC,sBAAsB,mBAAsB,EAC1D,+DAAQ,KAAK,EAAC,qBAAqB,kBAAqB,EACxD,+DAAQ,KAAK,EAAC,oBAAoB,iBAAoB,EACtD,+DAAQ,KAAK,EAAC,0BAA0B,uBAA0B,EAClE,+DAAQ,KAAK,EAAC,oBAAoB,iBAAoB,EACtD,+DAAQ,KAAK,EAAC,gBAAgB,aAAgB,EAC9C,+DAAQ,KAAK,EAAC,4BAA4B,mBAAsB,EAChE,+DAAQ,KAAK,EAAC,0BAA0B,0BAA6B,EACrE,+DAAQ,KAAK,EAAC,qBAAqB,kBAAqB,CAC/C,EACX,8DAAO,EAAE,EAAC,OAAO,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,OAAO,EAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,GAAI,CACtE,EACP;KACH;IAED,YAAY,CAAC,KAAK;QAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;KAClC;IAED,MAAM,YAAY;QAChB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-login-form/pos-login-form.css?tag=pos-login-form&encapsulation=shadow","src/components/pos-login-form/pos-login-form.tsx"],"sourcesContent":[":host {\n display: block;\n margin: 0\n}\n\nform {\n display: flex;\n flex-direction: column;\n gap: var(--size-4);\n}\n\ninput {\n outline: var(--pos-input-outline);\n padding: var(--scale-000);\n border: none;\n border-radius: var(--radius-xs);\n width: var(--size-full);\n box-sizing: border-box;\n}\n\ninput:focus-within {\n outline: var(--pos-input-focus-outline);\n}\n\ninput#login {\n outline: none;\n box-shadow: var(--shadow-sm);\n cursor: pointer;\n color: var(--pos-primary-text-color);\n background-color: var(--pos-primary-color);\n}\n\ninput#login:disabled {\n cursor: default;\n color: var(--pos-disabled-text-color);\n background-color: var(--pos-disabled-color);\n box-shadow: none\n}\n\ninput#login:hover:not(:disabled), input#login:focus {\n filter: brightness(110%);\n box-shadow: var(--shadow-md);\n}\n","import { Component, Event, EventEmitter, h, State, Watch } from '@stencil/core';\n\n@Component({\n tag: 'pos-login-form',\n shadow: {\n delegatesFocus: true,\n },\n styleUrl: 'pos-login-form.css',\n})\nexport class PosLoginForm {\n @State() idpUrl: string = '';\n\n @State() canSubmit: boolean = false;\n\n /**\n * Emits the selected IDP URL to use for login\n */\n @Event({ eventName: 'pod-os:idp-url-selected' }) idpUrlSelected: EventEmitter;\n\n @Watch('idpUrl')\n validate() {\n this.canSubmit = Boolean(this.idpUrl);\n }\n\n render(): any {\n return (\n <form method=\"dialog\" onSubmit={() => this.handleSubmit()}>\n <label htmlFor=\"idpUrl\">Please enter your Identity Provider</label>\n <input\n id=\"idpUrl\"\n type=\"url\"\n value={this.idpUrl}\n required={true}\n onInput={e => this.handleChange(e)}\n list=\"suggestedIssuers\"\n placeholder=\"Type to search...\"\n />\n <datalist id=\"suggestedIssuers\">\n <option value=\"https://solidcommunity.net\">solidcommunity.net</option>\n <option value=\"https://solidweb.org\">solidweb.org</option>\n <option value=\"https://solidweb.me\">solidweb.me</option>\n <option value=\"https://inrupt.net\">inrupt.net</option>\n <option value=\"https://login.inrupt.com\">Inrupt PodSpaces</option>\n <option value=\"https://trinpod.us\">trinpod.us</option>\n <option value=\"https://use.id\">use.id</option>\n <option value=\"https://solid.redpencil.io\">redpencil.io</option>\n <option value=\"https://datapod.grant.io\">Data Pod (grant.io)</option>\n <option value=\"https://teamid.live\">teamid.live</option>\n </datalist>\n <input id=\"login\" type=\"submit\" value=\"Login\" disabled={!this.canSubmit} />\n </form>\n );\n }\n\n handleChange(event) {\n this.validate();\n this.idpUrl = event.target.value;\n }\n\n async handleSubmit() {\n this.idpUrlSelected.emit(this.idpUrl);\n }\n}\n"],"version":3}
@@ -26,7 +26,6 @@ const PosLogin = /*@__PURE__*/ proxyCustomElement(class PosLogin extends HTMLEle
26
26
  this.setOs = async (os) => {
27
27
  this.os = os;
28
28
  };
29
- this.os = undefined;
30
29
  }
31
30
  componentWillLoad() {
32
31
  this.initializeOsEmitter.emit(this.setOs);
@@ -1 +1 @@
1
- {"file":"pos-login2.js","mappings":";;;;;;;;;;;;;;;;AAAA,MAAM,WAAW,GAAG,2wBAA2wB,CAAC;AAChyB,uBAAe,WAAW;;MCSb,QAAQ;;;;;;QASnB,UAAK,GAAG,OAAO,EAAS;YACtB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd,CAAC;;;IANF,iBAAiB;QACf,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3C;IAMD,KAAK,CAAC,KAA0B;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACvB;IAED,MAAM;QACJ,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;KAClB;IAID,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;KACzB;IAED,MAAM;QACJ,QACE,EAAC,IAAI,uDACH,4DAAK,KAAK,EAAC,WAAW,IACnBA,KAAO,CAAC,KAAK,CAAC,UAAU,IACvB,oBAAc,GAAG,EAAEA,KAAO,CAAC,KAAK,CAAC,KAAK,IACpC,YAAM,KAAK,EAAC,WAAW,IACrB,sBAAe,EACf,oBAAa,CACR,CACM,KAEf,EAAE,CACH,EACA,CAACA,KAAO,CAAC,KAAK,CAAC,UAAU,KACxB,+DAAQ,EAAE,EAAC,OAAO,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,YAE1C,CACV,EACAA,KAAO,CAAC,KAAK,CAAC,UAAU,KACvB,+DAAQ,EAAE,EAAC,QAAQ,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,aAEvC,CACV,CACG,EACN,mEAAY,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,MAAM,GAAG,EAA0B,CAAC,IAC/D,6DAAM,IAAI,EAAC,OAAO,0BAA2B,EAC7C,oGAA2C,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,EAAC,SAAS,GAAG,CACvE,CACR,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["session"],"sources":["src/components/pos-login/pos-login.css?tag=pos-login&encapsulation=shadow","src/components/pos-login/pos-login.tsx"],"sourcesContent":[".container {\n display: flex;\n align-items: center;\n gap: var(--size-2);\n}\n.user-data {\n align-items: center;\n display: inline-flex;\n gap: 10px;\n}\n.user-data pos-picture {\n --width: 40px;\n --height: 40px;\n --border-radius: 50%;\n}\n\npos-login-form {\n margin: var(--size-2);\n}\n\ndialog {\n margin-top: var(--size-10);\n}\n\nbutton#login,\nbutton#logout {\n outline: none;\n font-weight: var(--weight-bold);\n letter-spacing: var(--letter-xl);\n border: none;\n box-sizing: border-box;\n border-radius: var(--radius-xs);\n padding: var(--size-2);\n box-shadow: var(--shadow-sm);\n color: var(--pos-primary-text-color);\n background-color: var(--pos-primary-color);\n}\n\nbutton#login:focus-within,\nbutton#logout:focus-within {\n outline: var(--pos-input-focus-outline);\n}\n\nbutton#login:focus,\nbutton#login:hover,\nbutton#logout:focus,\nbutton#logout:hover {\n filter: brightness(110%);\n box-shadow: var(--shadow-md);\n}\n","import { PodOS } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, Host, State } from '@stencil/core';\n\nimport session from '../../store/session';\n\n@Component({\n tag: 'pos-login',\n shadow: true,\n styleUrl: 'pos-login.css',\n})\nexport class PosLogin {\n @Event({ eventName: 'pod-os:init' }) initializeOsEmitter: EventEmitter;\n\n @State() os: PodOS;\n\n componentWillLoad() {\n this.initializeOsEmitter.emit(this.setOs);\n }\n\n setOs = async (os: PodOS) => {\n this.os = os;\n };\n\n login(event: CustomEvent<string>) {\n const idpUrl = event.detail;\n this.os.login(idpUrl);\n }\n\n logout() {\n this.os.logout();\n }\n\n private dialog: HTMLPosDialogElement;\n\n openDialog() {\n this.dialog.showModal();\n }\n\n render() {\n return (\n <Host>\n <div class=\"container\">\n {session.state.isLoggedIn ? (\n <pos-resource uri={session.state.webId}>\n <span class=\"user-data\">\n <pos-picture />\n <pos-label />\n </span>\n </pos-resource>\n ) : (\n ''\n )}\n {!session.state.isLoggedIn && (\n <button id=\"login\" onClick={() => this.openDialog()}>\n Login\n </button>\n )}\n {session.state.isLoggedIn && (\n <button id=\"logout\" onClick={() => this.logout()}>\n Logout\n </button>\n )}\n </div>\n <pos-dialog ref={el => (this.dialog = el as HTMLPosDialogElement)}>\n <span slot=\"title\">Sign in to your Pod</span>\n <pos-login-form onPod-os:idp-url-selected={ev => this.login(ev)} slot=\"content\" />\n </pos-dialog>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pos-login2.js","mappings":";;;;;;;;;;;;;;;;AAAA,MAAM,WAAW,GAAG,2wBAA2wB,CAAC;AAChyB,uBAAe,WAAW;;MCSb,QAAQ;IALrB;;;;;QAcE,UAAK,GAAG,OAAO,EAAS;YACtB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd,CAAC;KAiDH;IAvDC,iBAAiB;QACf,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3C;IAMD,KAAK,CAAC,KAA0B;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACvB;IAED,MAAM;QACJ,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;KAClB;IAID,UAAU;QACR,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;KACzB;IAED,MAAM;QACJ,QACE,EAAC,IAAI,uDACH,4DAAK,KAAK,EAAC,WAAW,IACnBA,KAAO,CAAC,KAAK,CAAC,UAAU,IACvB,oBAAc,GAAG,EAAEA,KAAO,CAAC,KAAK,CAAC,KAAK,IACpC,YAAM,KAAK,EAAC,WAAW,IACrB,sBAAe,EACf,oBAAa,CACR,CACM,KAEf,EAAE,CACH,EACA,CAACA,KAAO,CAAC,KAAK,CAAC,UAAU,KACxB,+DAAQ,EAAE,EAAC,OAAO,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE,YAE1C,CACV,EACAA,KAAO,CAAC,KAAK,CAAC,UAAU,KACvB,+DAAQ,EAAE,EAAC,QAAQ,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,aAEvC,CACV,CACG,EACN,mEAAY,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,MAAM,GAAG,EAA0B,CAAC,IAC/D,6DAAM,IAAI,EAAC,OAAO,0BAA2B,EAC7C,oGAA2C,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI,EAAC,SAAS,GAAG,CACvE,CACR,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["session"],"sources":["src/components/pos-login/pos-login.css?tag=pos-login&encapsulation=shadow","src/components/pos-login/pos-login.tsx"],"sourcesContent":[".container {\n display: flex;\n align-items: center;\n gap: var(--size-2);\n}\n.user-data {\n align-items: center;\n display: inline-flex;\n gap: 10px;\n}\n.user-data pos-picture {\n --width: 40px;\n --height: 40px;\n --border-radius: 50%;\n}\n\npos-login-form {\n margin: var(--size-2);\n}\n\ndialog {\n margin-top: var(--size-10);\n}\n\nbutton#login,\nbutton#logout {\n outline: none;\n font-weight: var(--weight-bold);\n letter-spacing: var(--letter-xl);\n border: none;\n box-sizing: border-box;\n border-radius: var(--radius-xs);\n padding: var(--size-2);\n box-shadow: var(--shadow-sm);\n color: var(--pos-primary-text-color);\n background-color: var(--pos-primary-color);\n}\n\nbutton#login:focus-within,\nbutton#logout:focus-within {\n outline: var(--pos-input-focus-outline);\n}\n\nbutton#login:focus,\nbutton#login:hover,\nbutton#logout:focus,\nbutton#logout:hover {\n filter: brightness(110%);\n box-shadow: var(--shadow-md);\n}\n","import { PodOS } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, Host, State } from '@stencil/core';\n\nimport session from '../../store/session';\n\n@Component({\n tag: 'pos-login',\n shadow: true,\n styleUrl: 'pos-login.css',\n})\nexport class PosLogin {\n @Event({ eventName: 'pod-os:init' }) initializeOsEmitter: EventEmitter;\n\n @State() os: PodOS;\n\n componentWillLoad() {\n this.initializeOsEmitter.emit(this.setOs);\n }\n\n setOs = async (os: PodOS) => {\n this.os = os;\n };\n\n login(event: CustomEvent<string>) {\n const idpUrl = event.detail;\n this.os.login(idpUrl);\n }\n\n logout() {\n this.os.logout();\n }\n\n private dialog: HTMLPosDialogElement;\n\n openDialog() {\n this.dialog.showModal();\n }\n\n render() {\n return (\n <Host>\n <div class=\"container\">\n {session.state.isLoggedIn ? (\n <pos-resource uri={session.state.webId}>\n <span class=\"user-data\">\n <pos-picture />\n <pos-label />\n </span>\n </pos-resource>\n ) : (\n ''\n )}\n {!session.state.isLoggedIn && (\n <button id=\"login\" onClick={() => this.openDialog()}>\n Login\n </button>\n )}\n {session.state.isLoggedIn && (\n <button id=\"logout\" onClick={() => this.logout()}>\n Logout\n </button>\n )}\n </div>\n <pos-dialog ref={el => (this.dialog = el as HTMLPosDialogElement)}>\n <span slot=\"title\">Sign in to your Pod</span>\n <pos-login-form onPod-os:idp-url-selected={ev => this.login(ev)} slot=\"content\" />\n </pos-dialog>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -23,15 +23,14 @@ const PosNavigationBar = /*@__PURE__*/ proxyCustomElement(class PosNavigationBar
23
23
  this.__attachShadow();
24
24
  this.subscribePodOs = createEvent(this, "pod-os:init", 7);
25
25
  this.linkEmitter = createEvent(this, "pod-os:link", 7);
26
- this.receivePodOs = async (os) => {
27
- this.os = os;
28
- };
29
- this.os = undefined;
30
26
  this.uri = '';
31
27
  this.value = this.uri;
32
28
  this.searchIndex = undefined;
33
29
  this.suggestions = [];
34
30
  this.selectedIndex = -1;
31
+ this.receivePodOs = async (os) => {
32
+ this.os = os;
33
+ };
35
34
  }
36
35
  componentWillLoad() {
37
36
  subscribePodOs(this);
@@ -1 +1 @@
1
- {"file":"pos-navigation-bar2.js","mappings":";;;;;;;;;;;;;;;AAAA,MAAM,mBAAmB,GAAG,i0BAAi0B,CAAC;AAC91B,+BAAe,mBAAmB;;MCUrB,gBAAgB;;;;;;;QA2B3B,iBAAY,GAAG,OAAO,EAAS;YAC7B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd,CAAC;;mBAzBoB,EAAE;qBAEC,IAAI,CAAC,GAAG;2BAII,SAAS;2BAEvB,EAAE;6BAEA,CAAC,CAAC;;IAE3B,iBAAiB;QACf,cAAc,CAAC,IAAI,CAAC,CAAC;QACrBA,KAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAM,UAAU;;YAC7C,IAAI,UAAU,EAAE;gBACd,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAACA,KAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1E;iBAAM;gBACL,MAAA,IAAI,CAAC,WAAW,0CAAE,KAAK,EAAE,CAAC;aAC3B;SACF,CAAC,CAAC;KACJ;IAMO,QAAQ,CAAC,KAAK;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAID,gBAAgB;QACd,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;KACzB;IAGD,WAAW,CAAC,KAAK;QACf,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;IAGD,OAAO;QACL,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAGD,aAAa,CAAC,EAAiB;QAC7B,IAAI,EAAE,CAAC,GAAG,KAAK,QAAQ,EAAE;YACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aAAM,IAAI,EAAE,CAAC,GAAG,KAAK,WAAW,EAAE;YACjC,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACpF;aAAM,IAAI,EAAE,CAAC,GAAG,KAAK,SAAS,EAAE;YAC/B,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;SAC1D;KACF;IAEO,MAAM;QACZ,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;SAC1E;KACF;IAEO,QAAQ,CAAC,KAAK;QACpB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE;YAC/C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC;SACjE;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnC;KACF;IAED,MAAM;QACJ,QACE,6DAAM,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IACnC,sEACE,YAAY,EAAC,QAAQ,EACrB,WAAW,EAAC,qBAAqB,EACjC,KAAK,EAAE,IAAI,CAAC,GAAG,EACf,QAAQ,EAAE,GAAG,EACb,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAClC,UAAU,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GACjC,EACD,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAC1B,WAAK,KAAK,EAAC,aAAa,IACtB,cACG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,MAC9B,UAAI,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,aAAa,GAAG,UAAU,GAAG,EAAE,IACvD,qBAAe,GAAG,EAAE,EAAE,CAAC,GAAG,GAAkB,CACzC,CACN,CAAC,CACC,CACD,IACJ,IAAI,CACH,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["session"],"sources":["src/components/pos-navigation-bar/pos-navigation-bar.css?tag=pos-navigation-bar&encapsulation=shadow","src/components/pos-navigation-bar/pos-navigation-bar.tsx"],"sourcesContent":[":host {\n}\n\n.suggestions {\n position: relative;\n}\n\n.suggestions ol {\n border: 1px solid var(--color-grey-200);\n display: flex;\n flex-direction: column;\n position: absolute;\n margin: 0;\n padding: 0;\n z-index: var(--layer-top);\n list-style-type: none;\n box-shadow: var(--shadow-xl);\n}\n\n.suggestions {\n li {\n padding: 1rem;\n background-color: white;\n pos-rich-link {\n --background-color: inherit;\n }\n &.selected {\n background-color: var(--color-blue);\n &:hover {\n background-color: var(--color-blue-700);\n }\n }\n &:hover {\n background-color: var(--color-grey-200);\n }\n }\n}\n\n.suggestions li.selected pos-rich-link {\n --label-color: white;\n --description-color: var(--color-grey-200);\n --uri-color: var(--color-grey-200);\n}\n","import { PodOS, SearchIndex } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, Listen, Prop, State } from '@stencil/core';\n\nimport session from '../../store/session';\nimport { PodOsAware, PodOsEventEmitter, subscribePodOs } from '../events/PodOsAware';\n\n@Component({\n tag: 'pos-navigation-bar',\n shadow: true,\n styleUrl: 'pos-navigation-bar.css',\n})\nexport class PosNavigationBar implements PodOsAware {\n @State() os: PodOS;\n\n @Event({ eventName: 'pod-os:init' }) subscribePodOs: PodOsEventEmitter;\n @Prop() uri: string = '';\n\n @State() value: string = this.uri;\n\n @Event({ eventName: 'pod-os:link' }) linkEmitter: EventEmitter;\n\n @State() searchIndex?: SearchIndex = undefined;\n\n @State() suggestions = [];\n\n @State() selectedIndex = -1;\n\n componentWillLoad() {\n subscribePodOs(this);\n session.onChange('isLoggedIn', async isLoggedIn => {\n if (isLoggedIn) {\n this.searchIndex = await this.os.buildSearchIndex(session.state.profile);\n } else {\n this.searchIndex?.clear();\n }\n });\n }\n\n receivePodOs = async (os: PodOS) => {\n this.os = os;\n };\n\n private onChange(event) {\n this.value = event.detail.value;\n this.search();\n }\n\n @Listen('click', { target: 'document' })\n @Listen('pod-os:link')\n clearSuggestions() {\n this.suggestions = [];\n this.selectedIndex = -1;\n }\n\n @Listen('click')\n onClickSelf(event) {\n event.stopPropagation();\n }\n\n @Listen('focus')\n onFocus() {\n this.search();\n }\n\n @Listen('keydown')\n handleKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'Escape') {\n this.clearSuggestions();\n } else if (ev.key === 'ArrowDown') {\n ev.preventDefault();\n this.selectedIndex = Math.min(this.selectedIndex + 1, this.suggestions.length - 1);\n } else if (ev.key === 'ArrowUp') {\n ev.preventDefault();\n this.selectedIndex = Math.max(this.selectedIndex - 1, 0);\n }\n }\n\n private search() {\n if (this.searchIndex) {\n this.suggestions = this.value ? this.searchIndex.search(this.value) : [];\n }\n }\n\n private onSubmit(event) {\n event.preventDefault();\n if (this.suggestions && this.selectedIndex > -1) {\n this.linkEmitter.emit(this.suggestions[this.selectedIndex].ref);\n } else {\n this.linkEmitter.emit(this.value);\n }\n }\n\n render() {\n return (\n <form onSubmit={e => this.onSubmit(e)}>\n <ion-searchbar\n enterkeyhint=\"search\"\n placeholder=\"Search or enter URI\"\n value={this.uri}\n debounce={300}\n onIonChange={e => this.onChange(e)}\n onIonInput={e => this.onChange(e)}\n />\n {this.suggestions.length > 0 ? (\n <div class=\"suggestions\">\n <ol>\n {this.suggestions.map((it, index) => (\n <li class={index === this.selectedIndex ? 'selected' : ''}>\n <pos-rich-link uri={it.ref}></pos-rich-link>\n </li>\n ))}\n </ol>\n </div>\n ) : null}\n </form>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pos-navigation-bar2.js","mappings":";;;;;;;;;;;;;;;AAAA,MAAM,mBAAmB,GAAG,i0BAAi0B,CAAC;AAC91B,+BAAe,mBAAmB;;MCUrB,gBAAgB;IAL7B;;;;;;QASU,QAAG,GAAW,EAAE,CAAC;QAEhB,UAAK,GAAW,IAAI,CAAC,GAAG,CAAC;QAIzB,gBAAW,GAAiB,SAAS,CAAC;QAEtC,gBAAW,GAAG,EAAE,CAAC;QAEjB,kBAAa,GAAG,CAAC,CAAC,CAAC;QAa5B,iBAAY,GAAG,OAAO,EAAS;YAC7B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd,CAAC;KA6EH;IA1FC,iBAAiB;QACf,cAAc,CAAC,IAAI,CAAC,CAAC;QACrBA,KAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAM,UAAU;;YAC7C,IAAI,UAAU,EAAE;gBACd,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAACA,KAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1E;iBAAM;gBACL,MAAA,IAAI,CAAC,WAAW,0CAAE,KAAK,EAAE,CAAC;aAC3B;SACF,CAAC,CAAC;KACJ;IAMO,QAAQ,CAAC,KAAK;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAID,gBAAgB;QACd,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;KACzB;IAGD,WAAW,CAAC,KAAK;QACf,KAAK,CAAC,eAAe,EAAE,CAAC;KACzB;IAGD,OAAO;QACL,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAGD,aAAa,CAAC,EAAiB;QAC7B,IAAI,EAAE,CAAC,GAAG,KAAK,QAAQ,EAAE;YACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aAAM,IAAI,EAAE,CAAC,GAAG,KAAK,WAAW,EAAE;YACjC,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACpF;aAAM,IAAI,EAAE,CAAC,GAAG,KAAK,SAAS,EAAE;YAC/B,EAAE,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;SAC1D;KACF;IAEO,MAAM;QACZ,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;SAC1E;KACF;IAEO,QAAQ,CAAC,KAAK;QACpB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE;YAC/C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC;SACjE;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnC;KACF;IAED,MAAM;QACJ,QACE,6DAAM,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IACnC,sEACE,YAAY,EAAC,QAAQ,EACrB,WAAW,EAAC,qBAAqB,EACjC,KAAK,EAAE,IAAI,CAAC,GAAG,EACf,QAAQ,EAAE,GAAG,EACb,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAClC,UAAU,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GACjC,EACD,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAC1B,WAAK,KAAK,EAAC,aAAa,IACtB,cACG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,MAC9B,UAAI,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,aAAa,GAAG,UAAU,GAAG,EAAE,IACvD,qBAAe,GAAG,EAAE,EAAE,CAAC,GAAG,GAAkB,CACzC,CACN,CAAC,CACC,CACD,IACJ,IAAI,CACH,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["session"],"sources":["src/components/pos-navigation-bar/pos-navigation-bar.css?tag=pos-navigation-bar&encapsulation=shadow","src/components/pos-navigation-bar/pos-navigation-bar.tsx"],"sourcesContent":[":host {\n}\n\n.suggestions {\n position: relative;\n}\n\n.suggestions ol {\n border: 1px solid var(--color-grey-200);\n display: flex;\n flex-direction: column;\n position: absolute;\n margin: 0;\n padding: 0;\n z-index: var(--layer-top);\n list-style-type: none;\n box-shadow: var(--shadow-xl);\n}\n\n.suggestions {\n li {\n padding: 1rem;\n background-color: white;\n pos-rich-link {\n --background-color: inherit;\n }\n &.selected {\n background-color: var(--color-blue);\n &:hover {\n background-color: var(--color-blue-700);\n }\n }\n &:hover {\n background-color: var(--color-grey-200);\n }\n }\n}\n\n.suggestions li.selected pos-rich-link {\n --label-color: white;\n --description-color: var(--color-grey-200);\n --uri-color: var(--color-grey-200);\n}\n","import { PodOS, SearchIndex } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, Listen, Prop, State } from '@stencil/core';\n\nimport session from '../../store/session';\nimport { PodOsAware, PodOsEventEmitter, subscribePodOs } from '../events/PodOsAware';\n\n@Component({\n tag: 'pos-navigation-bar',\n shadow: true,\n styleUrl: 'pos-navigation-bar.css',\n})\nexport class PosNavigationBar implements PodOsAware {\n @State() os: PodOS;\n\n @Event({ eventName: 'pod-os:init' }) subscribePodOs: PodOsEventEmitter;\n @Prop() uri: string = '';\n\n @State() value: string = this.uri;\n\n @Event({ eventName: 'pod-os:link' }) linkEmitter: EventEmitter;\n\n @State() searchIndex?: SearchIndex = undefined;\n\n @State() suggestions = [];\n\n @State() selectedIndex = -1;\n\n componentWillLoad() {\n subscribePodOs(this);\n session.onChange('isLoggedIn', async isLoggedIn => {\n if (isLoggedIn) {\n this.searchIndex = await this.os.buildSearchIndex(session.state.profile);\n } else {\n this.searchIndex?.clear();\n }\n });\n }\n\n receivePodOs = async (os: PodOS) => {\n this.os = os;\n };\n\n private onChange(event) {\n this.value = event.detail.value;\n this.search();\n }\n\n @Listen('click', { target: 'document' })\n @Listen('pod-os:link')\n clearSuggestions() {\n this.suggestions = [];\n this.selectedIndex = -1;\n }\n\n @Listen('click')\n onClickSelf(event) {\n event.stopPropagation();\n }\n\n @Listen('focus')\n onFocus() {\n this.search();\n }\n\n @Listen('keydown')\n handleKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'Escape') {\n this.clearSuggestions();\n } else if (ev.key === 'ArrowDown') {\n ev.preventDefault();\n this.selectedIndex = Math.min(this.selectedIndex + 1, this.suggestions.length - 1);\n } else if (ev.key === 'ArrowUp') {\n ev.preventDefault();\n this.selectedIndex = Math.max(this.selectedIndex - 1, 0);\n }\n }\n\n private search() {\n if (this.searchIndex) {\n this.suggestions = this.value ? this.searchIndex.search(this.value) : [];\n }\n }\n\n private onSubmit(event) {\n event.preventDefault();\n if (this.suggestions && this.selectedIndex > -1) {\n this.linkEmitter.emit(this.suggestions[this.selectedIndex].ref);\n } else {\n this.linkEmitter.emit(this.value);\n }\n }\n\n render() {\n return (\n <form onSubmit={e => this.onSubmit(e)}>\n <ion-searchbar\n enterkeyhint=\"search\"\n placeholder=\"Search or enter URI\"\n value={this.uri}\n debounce={300}\n onIonChange={e => this.onChange(e)}\n onIonInput={e => this.onChange(e)}\n />\n {this.suggestions.length > 0 ? (\n <div class=\"suggestions\">\n <ol>\n {this.suggestions.map((it, index) => (\n <li class={index === this.selectedIndex ? 'selected' : ''}>\n <pos-rich-link uri={it.ref}></pos-rich-link>\n </li>\n ))}\n </ol>\n </div>\n ) : null}\n </form>\n );\n }\n}\n"],"version":3}
@@ -13,15 +13,10 @@ const PosNewThingForm = /*@__PURE__*/ proxyCustomElement(class PosNewThingForm e
13
13
  this.linkEmitter = createEvent(this, "pod-os:link", 7);
14
14
  this.errorEmitter = createEvent(this, "pod-os:error", 7);
15
15
  this.subscribePodOs = createEvent(this, "pod-os:init", 7);
16
+ this.canSubmit = false;
16
17
  this.receivePodOs = async (os) => {
17
18
  this.os = os;
18
19
  };
19
- this.referenceUri = undefined;
20
- this.os = undefined;
21
- this.newUri = undefined;
22
- this.name = undefined;
23
- this.selectedTypeUri = undefined;
24
- this.canSubmit = false;
25
20
  }
26
21
  validate() {
27
22
  this.canSubmit = Boolean(this.name && this.selectedTypeUri);
@@ -1 +1 @@
1
- {"file":"pos-new-thing-form2.js","mappings":";;;;AAAA,MAAM,kBAAkB,GAAG,qlCAAqlC,CAAC;AACjnC,8BAAe,kBAAkB;;MCUpB,eAAe;;;;;;;;QAsB1B,iBAAY,GAAG,OAAO,EAAS;YAC7B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd,CAAC;;;;;;yBAhB4B,KAAK;;IAOnC,QAAQ;QACN,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC;KAC7D;IAED,iBAAiB;QACf,cAAc,CAAC,IAAI,CAAC,CAAC;KACtB;IAOD,MAAM;QACJ,QACE,6DAAM,MAAM,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IACvD,8DAAO,OAAO,EAAC,MAAM,WAAa,EAClC,wEACE,EAAE,EAAC,MAAM,EACT,WAAW,EAAC,EAAE,EACd,KAAK,EAAE,IAAI,CAAC,eAAe,4BACH,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GACnD,EACF,8DAAO,OAAO,EAAC,MAAM,WAAa,EAClC,8DAAO,EAAE,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAI,EACpF,IAAI,CAAC,MAAM,IACV,WAAK,EAAE,EAAC,SAAS,EAAC,KAAK,EAAC,uCAAuC,IAC5D,IAAI,CAAC,MAAM,CACR,IACJ,IAAI,EACR,8DAAO,EAAE,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,GAAI,CACxE,EACP;KACH;IAED,YAAY,CAAC,KAAK;QAChB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3E;IAED,cAAc,CAAC,KAAK;QAClB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;KACzC;IAED,MAAM,YAAY,CAAC,KAAK;QACtB,IAAI;YACF,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACxE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;QAAC,OAAO,KAAK,EAAE;YACd,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B;KACF;IAEO,KAAK;QACX,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;KAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-new-thing-form/pos-new-thing-form.css?tag=pos-new-thing-form&encapsulation=shadow","src/components/pos-new-thing-form/pos-new-thing-form.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\nform {\n display: grid;\n grid-template-columns: var(--size-16) 1fr;\n grid-gap: var(--scale-0);\n}\n\nlabel {\n grid-column: 1 / 2;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n\ninput,\npos-select-term,\nbutton {\n grid-column: 2 / 3;\n}\n\ninput, pos-select-term::part(input) {\n outline: var(--pos-input-outline);\n padding: var(--scale-000);\n border: none;\n border-radius: var(--radius-xs);\n width: var(--size-full);\n box-sizing: border-box;\n}\n\ninput:focus-within, pos-select-term::part(input):focus-within {\n outline: var(--pos-input-focus-outline);\n}\n\n#new-uri {\n grid-column: 1/3;\n cursor: default;\n word-break: break-all;\n color: var(--color-grey-800);\n font-weight: var(--weight-light);\n background: var(--color-grey-100);\n padding: var(--scale-000);\n border-radius: var(--radius-xs);\n}\n\ninput#create {\n outline: none;\n box-shadow: var(--shadow-sm);\n cursor: pointer;\n color: var(--pos-primary-text-color);\n background-color: var(--pos-primary-color);\n}\n\ninput#create:disabled {\n cursor: default;\n color: var(--pos-disabled-text-color);\n background-color: var(--pos-disabled-color);\n box-shadow: none\n}\n\ninput#create:hover:not(:disabled), input#create:focus {\n filter: brightness(110%);\n box-shadow: var(--shadow-md);\n}\n","import { PodOS } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\nimport { PodOsAware, PodOsEventEmitter, subscribePodOs } from '../events/PodOsAware';\n\n@Component({\n tag: 'pos-new-thing-form',\n styleUrl: 'pos-new-thing-form.css',\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class PosNewThingForm implements PodOsAware {\n @Prop() referenceUri!: string;\n @State() os: PodOS;\n\n @State() newUri: string;\n @State() name: string;\n @State() selectedTypeUri: string;\n\n @State() canSubmit: boolean = false;\n\n @Event({ eventName: 'pod-os:link' }) linkEmitter: EventEmitter;\n @Event({ eventName: 'pod-os:error' }) errorEmitter: EventEmitter;\n\n @Watch('name')\n @Watch('selectedTypeUri')\n validate() {\n this.canSubmit = Boolean(this.name && this.selectedTypeUri);\n }\n\n componentWillLoad() {\n subscribePodOs(this);\n }\n receivePodOs = async (os: PodOS) => {\n this.os = os;\n };\n\n @Event({ eventName: 'pod-os:init' }) subscribePodOs: PodOsEventEmitter;\n\n render() {\n return (\n <form method=\"dialog\" onSubmit={e => this.handleSubmit(e)}>\n <label htmlFor=\"type\">Type</label>\n <pos-select-term\n id=\"type\"\n placeholder=\"\"\n value={this.selectedTypeUri}\n onPod-os:term-selected={e => this.onTermSelected(e)}\n />\n <label htmlFor=\"name\">Name</label>\n <input id=\"name\" type=\"text\" value={this.name} onInput={e => this.handleChange(e)} />\n {this.newUri ? (\n <div id=\"new-uri\" title=\"This will be the URI of the new thing\">\n {this.newUri}\n </div>\n ) : null}\n <input id=\"create\" type=\"submit\" value=\"Create\" disabled={!this.canSubmit} />\n </form>\n );\n }\n\n handleChange(event) {\n this.name = event.target.value;\n this.newUri = this.os.proposeUriForNewThing(this.referenceUri, this.name);\n }\n\n onTermSelected(event) {\n this.selectedTypeUri = event.detail.uri;\n }\n\n async handleSubmit(event) {\n try {\n await this.os.addNewThing(this.newUri, this.name, this.selectedTypeUri);\n this.linkEmitter.emit(this.newUri);\n this.reset();\n } catch (error) {\n event.preventDefault();\n this.errorEmitter.emit(error);\n }\n }\n\n private reset() {\n this.name = '';\n this.newUri = '';\n this.selectedTypeUri = '';\n }\n}\n"],"version":3}
1
+ {"file":"pos-new-thing-form2.js","mappings":";;;;AAAA,MAAM,kBAAkB,GAAG,qlCAAqlC,CAAC;AACjnC,8BAAe,kBAAkB;;MCUpB,eAAe;IAP5B;;;;;;;QAeW,cAAS,GAAY,KAAK,CAAC;QAcpC,iBAAY,GAAG,OAAO,EAAS;YAC7B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd,CAAC;KAmDH;IA5DC,QAAQ;QACN,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC;KAC7D;IAED,iBAAiB;QACf,cAAc,CAAC,IAAI,CAAC,CAAC;KACtB;IAOD,MAAM;QACJ,QACE,6DAAM,MAAM,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IACvD,8DAAO,OAAO,EAAC,MAAM,WAAa,EAClC,wEACE,EAAE,EAAC,MAAM,EACT,WAAW,EAAC,EAAE,EACd,KAAK,EAAE,IAAI,CAAC,eAAe,4BACH,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GACnD,EACF,8DAAO,OAAO,EAAC,MAAM,WAAa,EAClC,8DAAO,EAAE,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAI,EACpF,IAAI,CAAC,MAAM,IACV,WAAK,EAAE,EAAC,SAAS,EAAC,KAAK,EAAC,uCAAuC,IAC5D,IAAI,CAAC,MAAM,CACR,IACJ,IAAI,EACR,8DAAO,EAAE,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,GAAI,CACxE,EACP;KACH;IAED,YAAY,CAAC,KAAK;QAChB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3E;IAED,cAAc,CAAC,KAAK;QAClB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;KACzC;IAED,MAAM,YAAY,CAAC,KAAK;QACtB,IAAI;YACF,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACxE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;QAAC,OAAO,KAAK,EAAE;YACd,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B;KACF;IAEO,KAAK;QACX,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;KAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-new-thing-form/pos-new-thing-form.css?tag=pos-new-thing-form&encapsulation=shadow","src/components/pos-new-thing-form/pos-new-thing-form.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\nform {\n display: grid;\n grid-template-columns: var(--size-16) 1fr;\n grid-gap: var(--scale-0);\n}\n\nlabel {\n grid-column: 1 / 2;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n\ninput,\npos-select-term,\nbutton {\n grid-column: 2 / 3;\n}\n\ninput, pos-select-term::part(input) {\n outline: var(--pos-input-outline);\n padding: var(--scale-000);\n border: none;\n border-radius: var(--radius-xs);\n width: var(--size-full);\n box-sizing: border-box;\n}\n\ninput:focus-within, pos-select-term::part(input):focus-within {\n outline: var(--pos-input-focus-outline);\n}\n\n#new-uri {\n grid-column: 1/3;\n cursor: default;\n word-break: break-all;\n color: var(--color-grey-800);\n font-weight: var(--weight-light);\n background: var(--color-grey-100);\n padding: var(--scale-000);\n border-radius: var(--radius-xs);\n}\n\ninput#create {\n outline: none;\n box-shadow: var(--shadow-sm);\n cursor: pointer;\n color: var(--pos-primary-text-color);\n background-color: var(--pos-primary-color);\n}\n\ninput#create:disabled {\n cursor: default;\n color: var(--pos-disabled-text-color);\n background-color: var(--pos-disabled-color);\n box-shadow: none\n}\n\ninput#create:hover:not(:disabled), input#create:focus {\n filter: brightness(110%);\n box-shadow: var(--shadow-md);\n}\n","import { PodOS } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, Prop, State, Watch } from '@stencil/core';\nimport { PodOsAware, PodOsEventEmitter, subscribePodOs } from '../events/PodOsAware';\n\n@Component({\n tag: 'pos-new-thing-form',\n styleUrl: 'pos-new-thing-form.css',\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class PosNewThingForm implements PodOsAware {\n @Prop() referenceUri!: string;\n @State() os: PodOS;\n\n @State() newUri: string;\n @State() name: string;\n @State() selectedTypeUri: string;\n\n @State() canSubmit: boolean = false;\n\n @Event({ eventName: 'pod-os:link' }) linkEmitter: EventEmitter;\n @Event({ eventName: 'pod-os:error' }) errorEmitter: EventEmitter;\n\n @Watch('name')\n @Watch('selectedTypeUri')\n validate() {\n this.canSubmit = Boolean(this.name && this.selectedTypeUri);\n }\n\n componentWillLoad() {\n subscribePodOs(this);\n }\n receivePodOs = async (os: PodOS) => {\n this.os = os;\n };\n\n @Event({ eventName: 'pod-os:init' }) subscribePodOs: PodOsEventEmitter;\n\n render() {\n return (\n <form method=\"dialog\" onSubmit={e => this.handleSubmit(e)}>\n <label htmlFor=\"type\">Type</label>\n <pos-select-term\n id=\"type\"\n placeholder=\"\"\n value={this.selectedTypeUri}\n onPod-os:term-selected={e => this.onTermSelected(e)}\n />\n <label htmlFor=\"name\">Name</label>\n <input id=\"name\" type=\"text\" value={this.name} onInput={e => this.handleChange(e)} />\n {this.newUri ? (\n <div id=\"new-uri\" title=\"This will be the URI of the new thing\">\n {this.newUri}\n </div>\n ) : null}\n <input id=\"create\" type=\"submit\" value=\"Create\" disabled={!this.canSubmit} />\n </form>\n );\n }\n\n handleChange(event) {\n this.name = event.target.value;\n this.newUri = this.os.proposeUriForNewThing(this.referenceUri, this.name);\n }\n\n onTermSelected(event) {\n this.selectedTypeUri = event.detail.uri;\n }\n\n async handleSubmit(event) {\n try {\n await this.os.addNewThing(this.newUri, this.name, this.selectedTypeUri);\n this.linkEmitter.emit(this.newUri);\n this.reset();\n } catch (error) {\n event.preventDefault();\n this.errorEmitter.emit(error);\n }\n }\n\n private reset() {\n this.name = '';\n this.newUri = '';\n this.selectedTypeUri = '';\n }\n}\n"],"version":3}
@@ -13,11 +13,13 @@ const PosPicture = /*@__PURE__*/ proxyCustomElement(class PosPicture extends HTM
13
13
  this.__registerHost();
14
14
  this.__attachShadow();
15
15
  this.subscribeResource = createEvent(this, "pod-os:resource", 7);
16
+ /**
17
+ * Use a blurred version of the image as its own background, if the image is scaled down to fit into the container.
18
+ */
19
+ this.blurredBackground = false;
16
20
  this.receiveResource = (resource) => {
17
21
  this.resource = resource;
18
22
  };
19
- this.blurredBackground = false;
20
- this.resource = undefined;
21
23
  }
22
24
  componentWillLoad() {
23
25
  subscribeResource(this);
@@ -1 +1 @@
1
- {"file":"pos-picture2.js","mappings":";;;;;;AAAA,MAAM,aAAa,GAAG,mHAAmH,CAAC;AAC1I,yBAAe,aAAa;;MCQf,UAAU;;;;;;QAcrB,oBAAe,GAAG,CAAC,QAAe;YAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B,CAAC;iCAZmC,KAAK;;;IAM1C,iBAAiB;QACf,iBAAiB,CAAC,IAAI,CAAC,CAAC;KACzB;IAMD,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;QAC3D,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,iBAAW,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAc,CAAC;KACrH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-picture/pos-picture.css?tag=pos-picture&encapsulation=shadow","src/components/pos-picture/pos-picture.tsx"],"sourcesContent":[":host {\n /**\n * @prop --width: Width of the picture\n * @prop --height: Height of the picture\n * @prop --border-radius: Border radius of the picture\n * @prop --object-fit: CSS object-fit of the picture\n */\n --width: 300px;\n --height: 300px;\n --border-radius: var(--border-radius, 0);\n --object-fit: var(--object-fit, cover);\n}\n","import { Component, Event, EventEmitter, State, h, Prop } from '@stencil/core';\nimport { Thing } from '@pod-os/core';\nimport { ResourceAware, subscribeResource } from '../events/ResourceAware';\n\n@Component({\n tag: 'pos-picture',\n shadow: true,\n styleUrl: 'pos-picture.css',\n})\nexport class PosPicture implements ResourceAware {\n /**\n * Use a blurred version of the image as its own background, if the image is scaled down to fit into the container.\n */\n @Prop() blurredBackground: boolean = false;\n\n @State() resource: Thing;\n\n @Event({ eventName: 'pod-os:resource' }) subscribeResource: EventEmitter;\n\n componentWillLoad() {\n subscribeResource(this);\n }\n\n receiveResource = (resource: Thing) => {\n this.resource = resource;\n };\n\n render() {\n const pic = this.resource ? this.resource.picture() : null;\n if (!pic) return null;\n return <pos-image blurredBackground={this.blurredBackground} src={pic.url} alt={this.resource.label()}></pos-image>;\n }\n}\n"],"version":3}
1
+ {"file":"pos-picture2.js","mappings":";;;;;;AAAA,MAAM,aAAa,GAAG,mHAAmH,CAAC;AAC1I,yBAAe,aAAa;;MCQf,UAAU;IALvB;;;;;;;;QASU,sBAAiB,GAAY,KAAK,CAAC;QAU3C,oBAAe,GAAG,CAAC,QAAe;YAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B,CAAC;KAOH;IAbC,iBAAiB;QACf,iBAAiB,CAAC,IAAI,CAAC,CAAC;KACzB;IAMD,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;QAC3D,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,iBAAW,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAc,CAAC;KACrH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-picture/pos-picture.css?tag=pos-picture&encapsulation=shadow","src/components/pos-picture/pos-picture.tsx"],"sourcesContent":[":host {\n /**\n * @prop --width: Width of the picture\n * @prop --height: Height of the picture\n * @prop --border-radius: Border radius of the picture\n * @prop --object-fit: CSS object-fit of the picture\n */\n --width: 300px;\n --height: 300px;\n --border-radius: var(--border-radius, 0);\n --object-fit: var(--object-fit, cover);\n}\n","import { Component, Event, EventEmitter, State, h, Prop } from '@stencil/core';\nimport { Thing } from '@pod-os/core';\nimport { ResourceAware, subscribeResource } from '../events/ResourceAware';\n\n@Component({\n tag: 'pos-picture',\n shadow: true,\n styleUrl: 'pos-picture.css',\n})\nexport class PosPicture implements ResourceAware {\n /**\n * Use a blurred version of the image as its own background, if the image is scaled down to fit into the container.\n */\n @Prop() blurredBackground: boolean = false;\n\n @State() resource: Thing;\n\n @Event({ eventName: 'pod-os:resource' }) subscribeResource: EventEmitter;\n\n componentWillLoad() {\n subscribeResource(this);\n }\n\n receiveResource = (resource: Thing) => {\n this.resource = resource;\n };\n\n render() {\n const pic = this.resource ? this.resource.picture() : null;\n if (!pic) return null;\n return <pos-image blurredBackground={this.blurredBackground} src={pic.url} alt={this.resource.label()}></pos-image>;\n }\n}\n"],"version":3}
@@ -9,8 +9,6 @@ const PosPredicate = /*@__PURE__*/ proxyCustomElement(class PosPredicate extends
9
9
  super();
10
10
  this.__registerHost();
11
11
  this.__attachShadow();
12
- this.uri = undefined;
13
- this.label = undefined;
14
12
  this.expanded = false;
15
13
  }
16
14
  render() {
@@ -1 +1 @@
1
- {"file":"pos-predicate2.js","mappings":";;;AAAA,MAAM,eAAe,GAAG,gcAAgc,CAAC;AACzd,2BAAe,eAAe;;MCMjB,YAAY;;;;;;;wBAQH,KAAK;;IAEzB,MAAM;QACJ,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,QACE,WAAK,KAAK,EAAC,WAAW,IACpB,SAAG,IAAI,EAAE,IAAI,CAAC,GAAG,IAAG,IAAI,CAAC,GAAG,CAAK,EACjC,4BAAoB,mBAAmB,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IACzF,gBAAU,IAAI,EAAC,6BAA6B,GAAY,CACjD,CACL,EACN;SACH;aAAM;YACL,QACE,cAAQ,OAAO,EAAE,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,IAC3D,IAAI,CAAC,KAAK,CACJ,EACT;SACH;KACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-predicate/pos-predicate.css?tag=pos-predicate&encapsulation=shadow","src/components/pos-predicate/pos-predicate.tsx"],"sourcesContent":[":host {\n --text-color: var(--pos-primary-color);\n font-family: var(--font-sans);\n}\n\nbutton {\n line-height: var(--scale-0);\n font-family: inherit;\n margin: 0;\n padding: 0;\n display: flex;\n background: none;\n border: none;\n cursor: pointer;\n}\n\nbutton,\na {\n color: var(--text-color);\n font-weight: var(--weight-light);\n line-height: var(--scale-0);\n font-size: var(--scale-0);\n font-family: inherit;\n}\n\n.container {\n display: flex;\n gap: var(--size-1);\n flex-direction: row;\n align-items: center;\n line-height: var(--scale-0);\n}\n","import { Component, h, Prop, State } from '@stencil/core';\n\n@Component({\n tag: 'pos-predicate',\n shadow: true,\n styleUrl: './pos-predicate.css',\n})\nexport class PosPredicate {\n @Prop()\n uri: string;\n\n @Prop()\n label: string;\n\n @State()\n expanded: boolean = false;\n\n render() {\n if (this.expanded) {\n return (\n <div class=\"container\">\n <a href={this.uri}>{this.uri}</a>\n <button aria-label={`collapse URI to ${this.label}`} onClick={() => (this.expanded = false)}>\n <ion-icon name=\"chevron-back-circle-outline\"></ion-icon>\n </button>\n </div>\n );\n } else {\n return (\n <button onClick={() => (this.expanded = true)} title={this.uri}>\n {this.label}\n </button>\n );\n }\n }\n}\n"],"version":3}
1
+ {"file":"pos-predicate2.js","mappings":";;;AAAA,MAAM,eAAe,GAAG,gcAAgc,CAAC;AACzd,2BAAe,eAAe;;MCMjB,YAAY;IALzB;;;;QAaE,aAAQ,GAAY,KAAK,CAAC;KAoB3B;IAlBC,MAAM;QACJ,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,QACE,WAAK,KAAK,EAAC,WAAW,IACpB,SAAG,IAAI,EAAE,IAAI,CAAC,GAAG,IAAG,IAAI,CAAC,GAAG,CAAK,EACjC,4BAAoB,mBAAmB,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IACzF,gBAAU,IAAI,EAAC,6BAA6B,GAAY,CACjD,CACL,EACN;SACH;aAAM;YACL,QACE,cAAQ,OAAO,EAAE,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,IAC3D,IAAI,CAAC,KAAK,CACJ,EACT;SACH;KACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-predicate/pos-predicate.css?tag=pos-predicate&encapsulation=shadow","src/components/pos-predicate/pos-predicate.tsx"],"sourcesContent":[":host {\n --text-color: var(--pos-primary-color);\n font-family: var(--font-sans);\n}\n\nbutton {\n line-height: var(--scale-0);\n font-family: inherit;\n margin: 0;\n padding: 0;\n display: flex;\n background: none;\n border: none;\n cursor: pointer;\n}\n\nbutton,\na {\n color: var(--text-color);\n font-weight: var(--weight-light);\n line-height: var(--scale-0);\n font-size: var(--scale-0);\n font-family: inherit;\n}\n\n.container {\n display: flex;\n gap: var(--size-1);\n flex-direction: row;\n align-items: center;\n line-height: var(--scale-0);\n}\n","import { Component, h, Prop, State } from '@stencil/core';\n\n@Component({\n tag: 'pos-predicate',\n shadow: true,\n styleUrl: './pos-predicate.css',\n})\nexport class PosPredicate {\n @Prop()\n uri: string;\n\n @Prop()\n label: string;\n\n @State()\n expanded: boolean = false;\n\n render() {\n if (this.expanded) {\n return (\n <div class=\"container\">\n <a href={this.uri}>{this.uri}</a>\n <button aria-label={`collapse URI to ${this.label}`} onClick={() => (this.expanded = false)}>\n <ion-icon name=\"chevron-back-circle-outline\"></ion-icon>\n </button>\n </div>\n );\n } else {\n return (\n <button onClick={() => (this.expanded = true)} title={this.uri}>\n {this.label}\n </button>\n );\n }\n }\n}\n"],"version":3}
@@ -21,10 +21,10 @@ const PosRelations = /*@__PURE__*/ proxyCustomElement(class PosRelations extends
21
21
  this.__registerHost();
22
22
  this.__attachShadow();
23
23
  this.subscribeResource = createEvent(this, "pod-os:resource", 7);
24
+ this.data = [];
24
25
  this.receiveResource = (resource) => {
25
26
  this.data = resource.relations();
26
27
  };
27
- this.data = [];
28
28
  }
29
29
  componentWillLoad() {
30
30
  subscribeResource(this);
@@ -1 +1 @@
1
- {"file":"pos-relations2.js","mappings":";;;;;;;;;;;;;;AAAA,MAAM,eAAe,GAAG,o9BAAo9B,CAAC;AAC7+B,2BAAe,eAAe;;MCQjB,YAAY;;;;;;QAUvB,oBAAe,GAAG,CAAC,QAAe;YAChC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;SAClC,CAAC;oBAX0B,EAAE;;IAK9B,iBAAiB;QACf,iBAAiB,CAAC,IAAI,CAAC,CAAC;KACzB;IAMD,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAC5B,WAAK,KAAK,EAAC,kBAAkB,IAC3B,cACE,qBAAe,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAI,CAClD,EACL,WAAK,KAAK,EAAC,QAAQ,IAChB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KACd,cACE,qBAAe,GAAG,EAAE,GAAG,GAAI,CACxB,CACN,CAAC,CACE,CACF,CACP,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,cAAK,KAAK,CAAM,GAAG,IAAI,CAAC;KACvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-relations/pos-relations.css?tag=pos-relations&encapsulation=shadow","src/components/pos-relations/pos-relations.tsx"],"sourcesContent":[":host {\n --background-base-color: var(--color-grey-200);\n --background-color-even: hsl(from var(--background-base-color) h s calc(l + 7));\n --background-color-odd: hsl(from var(--background-base-color) h s calc(l + 10));\n --border-color: var(--background-base-color);\n}\n\ndd {\n padding: 0;\n margin: 0;\n}\n\ndl {\n display: flex;\n flex-direction: column;\n gap: var(--size-1);\n padding: 0;\n margin: 0;\n}\n\ndt {\n margin-bottom: var(--size-1);\n}\n\n.predicate-values:nth-child(odd) {\n background-color: var(--background-color-odd);\n}\n\n.predicate-values:nth-child(even) {\n background-color: var(--background-color-even);\n}\n\n.predicate-values {\n display: flex;\n flex-direction: column;\n border: var(--size-px) solid var(--border-color);\n padding: var(--size-2);\n gap: var(--size-1);\n\n .values {\n display: flex;\n flex-direction: column;\n gap: var(--size-3);\n }\n}\n\npos-rich-link {\n --background-color: inherit;\n}\n","import { Relation, Thing } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, State } from '@stencil/core';\nimport { ResourceAware, subscribeResource } from '../events/ResourceAware';\n\n@Component({\n tag: 'pos-relations',\n shadow: true,\n styleUrl: 'pos-relations.css',\n})\nexport class PosRelations implements ResourceAware {\n @State() data: Relation[] = [];\n\n @Event({ eventName: 'pod-os:resource' })\n subscribeResource: EventEmitter;\n\n componentWillLoad() {\n subscribeResource(this);\n }\n\n receiveResource = (resource: Thing) => {\n this.data = resource.relations();\n };\n\n render() {\n const items = this.data.map(it => (\n <div class=\"predicate-values\">\n <dt>\n <pos-predicate uri={it.predicate} label={it.label} />\n </dt>\n <div class=\"values\">\n {it.uris.map(uri => (\n <dd>\n <pos-rich-link uri={uri} />\n </dd>\n ))}\n </div>\n </div>\n ));\n return this.data.length > 0 ? <dl>{items}</dl> : null;\n }\n}\n"],"version":3}
1
+ {"file":"pos-relations2.js","mappings":";;;;;;;;;;;;;;AAAA,MAAM,eAAe,GAAG,o9BAAo9B,CAAC;AAC7+B,2BAAe,eAAe;;MCQjB,YAAY;IALzB;;;;;QAMW,SAAI,GAAe,EAAE,CAAC;QAS/B,oBAAe,GAAG,CAAC,QAAe;YAChC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;SAClC,CAAC;KAmBH;IAzBC,iBAAiB;QACf,iBAAiB,CAAC,IAAI,CAAC,CAAC;KACzB;IAMD,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAC5B,WAAK,KAAK,EAAC,kBAAkB,IAC3B,cACE,qBAAe,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAI,CAClD,EACL,WAAK,KAAK,EAAC,QAAQ,IAChB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KACd,cACE,qBAAe,GAAG,EAAE,GAAG,GAAI,CACxB,CACN,CAAC,CACE,CACF,CACP,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,cAAK,KAAK,CAAM,GAAG,IAAI,CAAC;KACvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-relations/pos-relations.css?tag=pos-relations&encapsulation=shadow","src/components/pos-relations/pos-relations.tsx"],"sourcesContent":[":host {\n --background-base-color: var(--color-grey-200);\n --background-color-even: hsl(from var(--background-base-color) h s calc(l + 7));\n --background-color-odd: hsl(from var(--background-base-color) h s calc(l + 10));\n --border-color: var(--background-base-color);\n}\n\ndd {\n padding: 0;\n margin: 0;\n}\n\ndl {\n display: flex;\n flex-direction: column;\n gap: var(--size-1);\n padding: 0;\n margin: 0;\n}\n\ndt {\n margin-bottom: var(--size-1);\n}\n\n.predicate-values:nth-child(odd) {\n background-color: var(--background-color-odd);\n}\n\n.predicate-values:nth-child(even) {\n background-color: var(--background-color-even);\n}\n\n.predicate-values {\n display: flex;\n flex-direction: column;\n border: var(--size-px) solid var(--border-color);\n padding: var(--size-2);\n gap: var(--size-1);\n\n .values {\n display: flex;\n flex-direction: column;\n gap: var(--size-3);\n }\n}\n\npos-rich-link {\n --background-color: inherit;\n}\n","import { Relation, Thing } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, State } from '@stencil/core';\nimport { ResourceAware, subscribeResource } from '../events/ResourceAware';\n\n@Component({\n tag: 'pos-relations',\n shadow: true,\n styleUrl: 'pos-relations.css',\n})\nexport class PosRelations implements ResourceAware {\n @State() data: Relation[] = [];\n\n @Event({ eventName: 'pod-os:resource' })\n subscribeResource: EventEmitter;\n\n componentWillLoad() {\n subscribeResource(this);\n }\n\n receiveResource = (resource: Thing) => {\n this.data = resource.relations();\n };\n\n render() {\n const items = this.data.map(it => (\n <div class=\"predicate-values\">\n <dt>\n <pos-predicate uri={it.predicate} label={it.label} />\n </dt>\n <div class=\"values\">\n {it.uris.map(uri => (\n <dd>\n <pos-rich-link uri={uri} />\n </dd>\n ))}\n </div>\n </div>\n ));\n return this.data.length > 0 ? <dl>{items}</dl> : null;\n }\n}\n"],"version":3}
@@ -14,16 +14,12 @@ const PosResource = /*@__PURE__*/ proxyCustomElement(class PosResource extends H
14
14
  this.__attachShadow();
15
15
  this.subscribePodOs = createEvent(this, "pod-os:init", 7);
16
16
  this.resourceLoadedEmitter = createEvent(this, "pod-os:resource-loaded", 7);
17
- this.receivePodOs = async (os) => {
18
- this.os = os;
19
- };
20
- this.os = undefined;
21
- this.resource = undefined;
22
17
  this.consumers = [];
23
- this.uri = undefined;
24
18
  this.lazy = false;
25
- this.error = undefined;
26
19
  this.loading = true;
20
+ this.receivePodOs = async (os) => {
21
+ this.os = os;
22
+ };
27
23
  }
28
24
  componentWillLoad() {
29
25
  store.onChange('isLoggedIn', () => this.loadResource());
@@ -1 +1 @@
1
- {"file":"pos-resource2.js","mappings":";;;;;;;;;MAea,WAAW;;;;;;;QA4BtB,iBAAY,GAAG,OAAO,EAAS;YAC7B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd,CAAC;;;yBA1B6C,EAAE;;oBAIzB,KAAK;;uBAaF,IAAI;;IAE/B,iBAAiB;QACfA,KAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC1D,cAAc,CAAC,IAAI,CAAC,CAAC;KACtB;IAOD,MAAM,eAAe,CAAC,KAA6B;QACjD,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC7B;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;IAID,MAAM,YAAY;QAChB,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACpC;IAGD,MAAM,KAAK;QACT,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KAC9B;IAEO,MAAM,WAAW,CAAC,QAAiB,KAAK;QAC9C,IAAI;YACF,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC3C;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ;gBAC7B,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAChC,CAAC,CAAC;SACJ;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;SAClB;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,wBAAkB,IAAI,EAAC,eAAe,GAAG,CAAC;SAClD;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,QACE,oBACE,2BACE,2CAAkC,EAClC;;YAII,IAAI,CAAC,KAAK,CAAC,MAAM,CAEjB,EACJ,mBAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAW,CACvB,EAClB,4BACE,2DAAkD,EAClD,SAAG,IAAI,EAAE,IAAI,CAAC,GAAG,IAAG,IAAI,CAAC,GAAG,CAAK,CAChB,CACV,EACX;SACH;QACD,OAAO,eAAQ,CAAC;KACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["session"],"sources":["src/components/pos-resource/pos-resource.tsx"],"sourcesContent":["import { PodOS, Thing } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport session from '../../store/session';\nimport { PodOsAware, PodOsEventEmitter, subscribePodOs } from '../events/PodOsAware';\nimport { ResourceReceiver } from '../events/ResourceAware';\n\ninterface SubscribeResourceEvent extends CustomEvent {\n detail: ResourceReceiver;\n}\n\n@Component({\n tag: 'pos-resource',\n shadow: true,\n})\nexport class PosResource implements PodOsAware {\n @State() os: PodOS;\n\n @State() resource: Thing;\n @State() consumers: SubscribeResourceEvent[] = [];\n\n @Prop() uri: string;\n\n @Prop() lazy: boolean = false;\n\n @Event({ eventName: 'pod-os:init' }) subscribePodOs: PodOsEventEmitter;\n\n /**\n * Indicates that the resource given in `uri` property has been loaded.\n */\n @Event({ eventName: 'pod-os:resource-loaded' }) resourceLoadedEmitter: EventEmitter;\n\n @State()\n private error: Error;\n\n @State()\n private loading: boolean = true;\n\n componentWillLoad() {\n session.onChange('isLoggedIn', () => this.loadResource());\n subscribePodOs(this);\n }\n\n receivePodOs = async (os: PodOS) => {\n this.os = os;\n };\n\n @Listen('pod-os:resource')\n async provideResource(event: SubscribeResourceEvent) {\n event.stopPropagation();\n if (this.resource) {\n event.detail(this.resource);\n }\n this.consumers.push(event);\n }\n\n @Watch('os')\n @Watch('uri')\n async loadResource() {\n await this.getResource(!this.lazy);\n }\n\n @Method()\n async fetch() {\n await this.getResource(true);\n }\n\n private async getResource(fetch: boolean = false) {\n try {\n if (fetch) {\n this.loading = true;\n await this.os.fetch(this.uri);\n this.resourceLoadedEmitter.emit(this.uri);\n }\n this.resource = this.os.store.get(this.uri);\n this.error = null;\n this.consumers.forEach(consumer => {\n consumer.detail(this.resource);\n });\n } catch (err) {\n this.error = err;\n } finally {\n this.loading = false;\n }\n }\n\n render() {\n if (this.loading) {\n return <ion-progress-bar type=\"indeterminate\" />;\n }\n if (this.error) {\n return (\n <ion-card>\n <ion-card-header>\n <p>Sorry, something went wrong</p>\n <p>\n Status:\n {\n // @ts-ignore\n this.error.status\n }\n </p>\n <details>{this.error.message}</details>\n </ion-card-header>\n <ion-card-content>\n <p>You can try to open the link outside PodOS:</p>\n <a href={this.uri}>{this.uri}</a>\n </ion-card-content>\n </ion-card>\n );\n }\n return <slot />;\n }\n}\n"],"version":3}
1
+ {"file":"pos-resource2.js","mappings":";;;;;;;;;MAea,WAAW;IAJxB;;;;;;QAQW,cAAS,GAA6B,EAAE,CAAC;QAI1C,SAAI,GAAY,KAAK,CAAC;QAatB,YAAO,GAAY,IAAI,CAAC;QAOhC,iBAAY,GAAG,OAAO,EAAS;YAC7B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;SACd,CAAC;KAoEH;IA3EC,iBAAiB;QACfA,KAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QAC1D,cAAc,CAAC,IAAI,CAAC,CAAC;KACtB;IAOD,MAAM,eAAe,CAAC,KAA6B;QACjD,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC7B;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;IAID,MAAM,YAAY;QAChB,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACpC;IAGD,MAAM,KAAK;QACT,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KAC9B;IAEO,MAAM,WAAW,CAAC,QAAiB,KAAK;QAC9C,IAAI;YACF,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC3C;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ;gBAC7B,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAChC,CAAC,CAAC;SACJ;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;SAClB;gBAAS;YACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;KACF;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO,wBAAkB,IAAI,EAAC,eAAe,GAAG,CAAC;SAClD;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,QACE,oBACE,2BACE,2CAAkC,EAClC;;YAII,IAAI,CAAC,KAAK,CAAC,MAAM,CAEjB,EACJ,mBAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAW,CACvB,EAClB,4BACE,2DAAkD,EAClD,SAAG,IAAI,EAAE,IAAI,CAAC,GAAG,IAAG,IAAI,CAAC,GAAG,CAAK,CAChB,CACV,EACX;SACH;QACD,OAAO,eAAQ,CAAC;KACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["session"],"sources":["src/components/pos-resource/pos-resource.tsx"],"sourcesContent":["import { PodOS, Thing } from '@pod-os/core';\nimport { Component, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport session from '../../store/session';\nimport { PodOsAware, PodOsEventEmitter, subscribePodOs } from '../events/PodOsAware';\nimport { ResourceReceiver } from '../events/ResourceAware';\n\ninterface SubscribeResourceEvent extends CustomEvent {\n detail: ResourceReceiver;\n}\n\n@Component({\n tag: 'pos-resource',\n shadow: true,\n})\nexport class PosResource implements PodOsAware {\n @State() os: PodOS;\n\n @State() resource: Thing;\n @State() consumers: SubscribeResourceEvent[] = [];\n\n @Prop() uri: string;\n\n @Prop() lazy: boolean = false;\n\n @Event({ eventName: 'pod-os:init' }) subscribePodOs: PodOsEventEmitter;\n\n /**\n * Indicates that the resource given in `uri` property has been loaded.\n */\n @Event({ eventName: 'pod-os:resource-loaded' }) resourceLoadedEmitter: EventEmitter;\n\n @State()\n private error: Error;\n\n @State()\n private loading: boolean = true;\n\n componentWillLoad() {\n session.onChange('isLoggedIn', () => this.loadResource());\n subscribePodOs(this);\n }\n\n receivePodOs = async (os: PodOS) => {\n this.os = os;\n };\n\n @Listen('pod-os:resource')\n async provideResource(event: SubscribeResourceEvent) {\n event.stopPropagation();\n if (this.resource) {\n event.detail(this.resource);\n }\n this.consumers.push(event);\n }\n\n @Watch('os')\n @Watch('uri')\n async loadResource() {\n await this.getResource(!this.lazy);\n }\n\n @Method()\n async fetch() {\n await this.getResource(true);\n }\n\n private async getResource(fetch: boolean = false) {\n try {\n if (fetch) {\n this.loading = true;\n await this.os.fetch(this.uri);\n this.resourceLoadedEmitter.emit(this.uri);\n }\n this.resource = this.os.store.get(this.uri);\n this.error = null;\n this.consumers.forEach(consumer => {\n consumer.detail(this.resource);\n });\n } catch (err) {\n this.error = err;\n } finally {\n this.loading = false;\n }\n }\n\n render() {\n if (this.loading) {\n return <ion-progress-bar type=\"indeterminate\" />;\n }\n if (this.error) {\n return (\n <ion-card>\n <ion-card-header>\n <p>Sorry, something went wrong</p>\n <p>\n Status:\n {\n // @ts-ignore\n this.error.status\n }\n </p>\n <details>{this.error.message}</details>\n </ion-card-header>\n <ion-card-content>\n <p>You can try to open the link outside PodOS:</p>\n <a href={this.uri}>{this.uri}</a>\n </ion-card-content>\n </ion-card>\n );\n }\n return <slot />;\n }\n}\n"],"version":3}
@@ -21,10 +21,10 @@ const PosReverseRelations = /*@__PURE__*/ proxyCustomElement(class PosReverseRel
21
21
  this.__registerHost();
22
22
  this.__attachShadow();
23
23
  this.subscribeResource = createEvent(this, "pod-os:resource", 7);
24
+ this.data = [];
24
25
  this.receiveResource = (resource) => {
25
26
  this.data = resource.reverseRelations();
26
27
  };
27
- this.data = [];
28
28
  }
29
29
  componentWillLoad() {
30
30
  subscribeResource(this);
@@ -1 +1 @@
1
- {"file":"pos-reverse-relations2.js","mappings":";;;;;;;;;;;;;;AAAA,MAAM,sBAAsB,GAAG,k9BAAk9B,CAAC;AACl/B,kCAAe,sBAAsB;;MCQxB,mBAAmB;;;;;;QAS9B,oBAAe,GAAG,CAAC,QAAe;YAChC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;SACzC,CAAC;oBAV0B,EAAE;;IAI9B,iBAAiB;QACf,iBAAiB,CAAC,IAAI,CAAC,CAAC;KACzB;IAMD,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAC5B,WAAK,KAAK,EAAC,kBAAkB,IAC3B,cACE,qBAAe,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,KAAK,GAAI,CAC7D,EACL,WAAK,KAAK,EAAC,QAAQ,IAChB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KACd,cACE,qBAAe,GAAG,EAAE,GAAG,GAAI,CACxB,CACN,CAAC,CACE,CACF,CACP,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,cAAK,KAAK,CAAM,GAAG,IAAI,CAAC;KACvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-reverse-relations/pos-reverse-relations.css?tag=pos-reverse-relations&encapsulation=shadow","src/components/pos-reverse-relations/pos-reverse-relations.tsx"],"sourcesContent":[":host {\n --background-base-color: var(--color-grey-200);\n --background-color-even: hsl(from var(--background-base-color) h s calc(l + 7));\n --background-color-odd: hsl(from var(--background-base-color) h s calc(l + 10));\n --border-color: var(--background-base-color);\n}\n\ndd {\n padding: 0;\n margin: 0;\n}\n\ndl {\n display: flex;\n flex-direction: column;\n gap: var(--size-1);\n padding: 0;\n margin: 0;\n}\n\ndt {\n margin-bottom: var(--size-1);\n}\n\n.predicate-values:nth-child(odd) {\n background-color: var(--background-color-odd);\n}\n\n.predicate-values:nth-child(even) {\n background-color: var(--background-color-even);\n}\n\n.predicate-values {\n display: flex;\n flex-direction: column;\n border: var(--size-px) solid var(--border-color);\n padding: var(--size-2);\n gap: var(--size-1);\n .values {\n display: flex;\n flex-direction: column;\n gap: var(--size-3);\n }\n}\n\npos-rich-link {\n --background-color: inherit;\n}\n","import { Relation, Thing } from '@pod-os/core';\nimport { Component, h, Event, EventEmitter, State } from '@stencil/core';\nimport { ResourceAware, subscribeResource } from '../events/ResourceAware';\n\n@Component({\n tag: 'pos-reverse-relations',\n shadow: true,\n styleUrl: 'pos-reverse-relations.css',\n})\nexport class PosReverseRelations implements ResourceAware {\n @State() data: Relation[] = [];\n\n @Event({ eventName: 'pod-os:resource' }) subscribeResource: EventEmitter;\n\n componentWillLoad() {\n subscribeResource(this);\n }\n\n receiveResource = (resource: Thing) => {\n this.data = resource.reverseRelations();\n };\n\n render() {\n const items = this.data.map(it => (\n <div class=\"predicate-values\">\n <dt>\n <pos-predicate uri={it.predicate} label={`is ${it.label} of`} />\n </dt>\n <div class=\"values\">\n {it.uris.map(uri => (\n <dd>\n <pos-rich-link uri={uri} />\n </dd>\n ))}\n </div>\n </div>\n ));\n return this.data.length > 0 ? <dl>{items}</dl> : null;\n }\n}\n"],"version":3}
1
+ {"file":"pos-reverse-relations2.js","mappings":";;;;;;;;;;;;;;AAAA,MAAM,sBAAsB,GAAG,k9BAAk9B,CAAC;AACl/B,kCAAe,sBAAsB;;MCQxB,mBAAmB;IALhC;;;;;QAMW,SAAI,GAAe,EAAE,CAAC;QAQ/B,oBAAe,GAAG,CAAC,QAAe;YAChC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;SACzC,CAAC;KAmBH;IAzBC,iBAAiB;QACf,iBAAiB,CAAC,IAAI,CAAC,CAAC;KACzB;IAMD,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAC5B,WAAK,KAAK,EAAC,kBAAkB,IAC3B,cACE,qBAAe,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,KAAK,GAAI,CAC7D,EACL,WAAK,KAAK,EAAC,QAAQ,IAChB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KACd,cACE,qBAAe,GAAG,EAAE,GAAG,GAAI,CACxB,CACN,CAAC,CACE,CACF,CACP,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,cAAK,KAAK,CAAM,GAAG,IAAI,CAAC;KACvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-reverse-relations/pos-reverse-relations.css?tag=pos-reverse-relations&encapsulation=shadow","src/components/pos-reverse-relations/pos-reverse-relations.tsx"],"sourcesContent":[":host {\n --background-base-color: var(--color-grey-200);\n --background-color-even: hsl(from var(--background-base-color) h s calc(l + 7));\n --background-color-odd: hsl(from var(--background-base-color) h s calc(l + 10));\n --border-color: var(--background-base-color);\n}\n\ndd {\n padding: 0;\n margin: 0;\n}\n\ndl {\n display: flex;\n flex-direction: column;\n gap: var(--size-1);\n padding: 0;\n margin: 0;\n}\n\ndt {\n margin-bottom: var(--size-1);\n}\n\n.predicate-values:nth-child(odd) {\n background-color: var(--background-color-odd);\n}\n\n.predicate-values:nth-child(even) {\n background-color: var(--background-color-even);\n}\n\n.predicate-values {\n display: flex;\n flex-direction: column;\n border: var(--size-px) solid var(--border-color);\n padding: var(--size-2);\n gap: var(--size-1);\n .values {\n display: flex;\n flex-direction: column;\n gap: var(--size-3);\n }\n}\n\npos-rich-link {\n --background-color: inherit;\n}\n","import { Relation, Thing } from '@pod-os/core';\nimport { Component, h, Event, EventEmitter, State } from '@stencil/core';\nimport { ResourceAware, subscribeResource } from '../events/ResourceAware';\n\n@Component({\n tag: 'pos-reverse-relations',\n shadow: true,\n styleUrl: 'pos-reverse-relations.css',\n})\nexport class PosReverseRelations implements ResourceAware {\n @State() data: Relation[] = [];\n\n @Event({ eventName: 'pod-os:resource' }) subscribeResource: EventEmitter;\n\n componentWillLoad() {\n subscribeResource(this);\n }\n\n receiveResource = (resource: Thing) => {\n this.data = resource.reverseRelations();\n };\n\n render() {\n const items = this.data.map(it => (\n <div class=\"predicate-values\">\n <dt>\n <pos-predicate uri={it.predicate} label={`is ${it.label} of`} />\n </dt>\n <div class=\"values\">\n {it.uris.map(uri => (\n <dd>\n <pos-rich-link uri={uri} />\n </dd>\n ))}\n </div>\n </div>\n ));\n return this.data.length > 0 ? <dl>{items}</dl> : null;\n }\n}\n"],"version":3}
@@ -8,7 +8,7 @@ import { d as defineCustomElement$3 } from './pos-description2.js';
8
8
  import { d as defineCustomElement$2 } from './pos-label2.js';
9
9
  import { d as defineCustomElement$1 } from './pos-resource2.js';
10
10
 
11
- const posRichLinkCss = ":host {\n --background-color: inherit;\n --label-color: var(--color-grey-900);\n --description-color: var(--color-grey-900);\n --uri-color: var(--color-grey-600);\n --font-family: var(--font-sans);\n}\n\np.content {\n background-color: var(--background-color);\n line-height: var(--line-xs);\n margin: 0;\n display: flex;\n flex-direction: column;\n align-items: baseline;\n gap: var(--size-1);\n\n .url {\n font-size: var(--scale-000);\n color: var(--color-grey-500);\n }\n}\n\na {\n color: var(--label-color);\n max-width: var(--prose-lg);\n text-decoration: underline;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-decoration-thickness: var(--size-px);\n}\n\npos-label {\n color: var(--label-color);\n font-size: var(--scale-fluid-0);\n margin-bottom: var(--size-1);\n}\n\npos-description {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n text-overflow: ellipsis;\n overflow: hidden;\n font-weight: var(--weight-light);\n color: var(--description-color);\n font-size: var(--scale-fluid-0);\n}\n";
11
+ const posRichLinkCss = ":host {\n --background-color: inherit;\n --label-color: var(--color-grey-900);\n --description-color: var(--color-grey-900);\n --uri-color: var(--color-grey-600);\n --font-family: var(--font-sans);\n}\n\np.content {\n background-color: var(--background-color);\n line-height: var(--line-xs);\n margin: 0;\n display: flex;\n flex-direction: column;\n align-items: baseline;\n gap: var(--size-1);\n\n .url {\n font-size: var(--scale-fluid-1);\n color: var(--color-grey-500);\n }\n}\n\na {\n color: var(--label-color);\n max-width: var(--prose-lg);\n text-decoration: underline;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-decoration-thickness: var(--size-px);\n}\n\npos-label {\n color: var(--label-color);\n font-size: var(--scale-fluid-2);\n margin-bottom: var(--size-1);\n}\n\npos-description {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n text-overflow: ellipsis;\n overflow: hidden;\n font-weight: var(--weight-light);\n color: var(--description-color);\n font-size: var(--scale-fluid-2);\n}\n\n@media (min-width: 640px) {\n pos-label {\n font-size: var(--scale-fluid-0);\n }\n pos-description {\n font-size: var(--scale-fluid-1);\n }\n\n p.content {\n .url {\n font-size: var(--scale-fluid-000);\n }\n }\n}\n";
12
12
  const PosRichLinkStyle0 = posRichLinkCss;
13
13
 
14
14
  const PosRichLink = /*@__PURE__*/ proxyCustomElement(class PosRichLink extends HTMLElement {
@@ -17,7 +17,6 @@ const PosRichLink = /*@__PURE__*/ proxyCustomElement(class PosRichLink extends H
17
17
  this.__registerHost();
18
18
  this.__attachShadow();
19
19
  this.linkEmitter = createEvent(this, "pod-os:link", 7);
20
- this.uri = undefined;
21
20
  }
22
21
  render() {
23
22
  return (h("pos-resource", { key: 'f9ee2a2e6403733db429593ccc0900efa39efc9f', lazy: true, uri: this.uri }, h("p", { key: '8d8d575619fb66ee28a357c0a1fbcd7e25fd23c3', class: "content" }, h("a", { key: '3c517a107acbbd56865172f90a226f77bcfd052c', href: this.uri, onClick: e => {
@@ -1 +1 @@
1
- {"file":"pos-rich-link2.js","mappings":";;;;;;;;;;AAAA,MAAM,cAAc,GAAG,+kCAA+kC,CAAC;AACvmC,0BAAe,cAAc;;MCMhB,WAAW;;;;;;;;IAKtB,MAAM;QACJ,QACE,qEAAc,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IACrC,0DAAG,KAAK,EAAC,SAAS,IAChB,0DACE,IAAI,EAAE,IAAI,CAAC,GAAG,EACd,OAAO,EAAE,CAAC;gBACR,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACjC,IAED,mEAAa,CACX,EACJ,6DAAM,KAAK,EAAC,KAAK,IAAE,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAQ,EACjD,yEAAmB,CACjB,CACS,EACf;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-rich-link/pos-rich-link.css?tag=pos-rich-link&encapsulation=shadow","src/components/pos-rich-link/pos-rich-link.tsx"],"sourcesContent":[":host {\n --background-color: inherit;\n --label-color: var(--color-grey-900);\n --description-color: var(--color-grey-900);\n --uri-color: var(--color-grey-600);\n --font-family: var(--font-sans);\n}\n\np.content {\n background-color: var(--background-color);\n line-height: var(--line-xs);\n margin: 0;\n display: flex;\n flex-direction: column;\n align-items: baseline;\n gap: var(--size-1);\n\n .url {\n font-size: var(--scale-000);\n color: var(--color-grey-500);\n }\n}\n\na {\n color: var(--label-color);\n max-width: var(--prose-lg);\n text-decoration: underline;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-decoration-thickness: var(--size-px);\n}\n\npos-label {\n color: var(--label-color);\n font-size: var(--scale-fluid-0);\n margin-bottom: var(--size-1);\n}\n\npos-description {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n text-overflow: ellipsis;\n overflow: hidden;\n font-weight: var(--weight-light);\n color: var(--description-color);\n font-size: var(--scale-fluid-0);\n}\n","import { Component, Event, EventEmitter, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'pos-rich-link',\n shadow: true,\n styleUrl: 'pos-rich-link.css',\n})\nexport class PosRichLink {\n @Prop() uri: string;\n\n @Event({ eventName: 'pod-os:link' }) linkEmitter: EventEmitter;\n\n render() {\n return (\n <pos-resource lazy={true} uri={this.uri}>\n <p class=\"content\">\n <a\n href={this.uri}\n onClick={e => {\n e.preventDefault();\n this.linkEmitter.emit(this.uri);\n }}\n >\n <pos-label />\n </a>\n <span class=\"url\">{new URL(this.uri).host}</span>\n <pos-description />\n </p>\n </pos-resource>\n );\n }\n}\n"],"version":3}
1
+ {"file":"pos-rich-link2.js","mappings":";;;;;;;;;;AAAA,MAAM,cAAc,GAAG,k0CAAk0C,CAAC;AAC11C,0BAAe,cAAc;;MCMhB,WAAW;;;;;;;IAKtB,MAAM;QACJ,QACE,qEAAc,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IACrC,0DAAG,KAAK,EAAC,SAAS,IAChB,0DACE,IAAI,EAAE,IAAI,CAAC,GAAG,EACd,OAAO,EAAE,CAAC;gBACR,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACjC,IAED,mEAAa,CACX,EACJ,6DAAM,KAAK,EAAC,KAAK,IAAE,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAQ,EACjD,yEAAmB,CACjB,CACS,EACf;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/pos-rich-link/pos-rich-link.css?tag=pos-rich-link&encapsulation=shadow","src/components/pos-rich-link/pos-rich-link.tsx"],"sourcesContent":[":host {\n --background-color: inherit;\n --label-color: var(--color-grey-900);\n --description-color: var(--color-grey-900);\n --uri-color: var(--color-grey-600);\n --font-family: var(--font-sans);\n}\n\np.content {\n background-color: var(--background-color);\n line-height: var(--line-xs);\n margin: 0;\n display: flex;\n flex-direction: column;\n align-items: baseline;\n gap: var(--size-1);\n\n .url {\n font-size: var(--scale-fluid-1);\n color: var(--color-grey-500);\n }\n}\n\na {\n color: var(--label-color);\n max-width: var(--prose-lg);\n text-decoration: underline;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-decoration-thickness: var(--size-px);\n}\n\npos-label {\n color: var(--label-color);\n font-size: var(--scale-fluid-2);\n margin-bottom: var(--size-1);\n}\n\npos-description {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n text-overflow: ellipsis;\n overflow: hidden;\n font-weight: var(--weight-light);\n color: var(--description-color);\n font-size: var(--scale-fluid-2);\n}\n\n@media (min-width: 640px) {\n pos-label {\n font-size: var(--scale-fluid-0);\n }\n pos-description {\n font-size: var(--scale-fluid-1);\n }\n\n p.content {\n .url {\n font-size: var(--scale-fluid-000);\n }\n }\n}\n","import { Component, Event, EventEmitter, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'pos-rich-link',\n shadow: true,\n styleUrl: 'pos-rich-link.css',\n})\nexport class PosRichLink {\n @Prop() uri: string;\n\n @Event({ eventName: 'pod-os:link' }) linkEmitter: EventEmitter;\n\n render() {\n return (\n <pos-resource lazy={true} uri={this.uri}>\n <p class=\"content\">\n <a\n href={this.uri}\n onClick={e => {\n e.preventDefault();\n this.linkEmitter.emit(this.uri);\n }}\n >\n <pos-label />\n </a>\n <span class=\"url\">{new URL(this.uri).host}</span>\n <pos-description />\n </p>\n </pos-resource>\n );\n }\n}\n"],"version":3}
@@ -297,8 +297,13 @@ const PosRouter = /*@__PURE__*/ proxyCustomElement(class PosRouter extends HTMLE
297
297
  super();
298
298
  this.__registerHost();
299
299
  this.routeChanged = createEvent(this, "pod-os:route-changed", 7);
300
+ /**
301
+ * The mode defines what default URI will be used, if no URI param is given
302
+ *
303
+ * - standalone: reroute to pod-os:dashboard
304
+ * - pod: reroute to the URI that is shown in the actual browser
305
+ */
300
306
  this.mode = 'standalone';
301
- this.uri = undefined;
302
307
  }
303
308
  linkClicked(e) {
304
309
  this.navigate(e.detail);