@pod-os/elements 0.26.0 → 0.26.1-rc.2988a4e.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/dist/cjs/elements.cjs.js +1 -1
  2. package/dist/cjs/ion-badge_5.cjs.entry.js +1 -1
  3. package/dist/cjs/ion-icon_31.cjs.entry.js +341 -471
  4. package/dist/cjs/ion-icon_31.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ion-searchbar.cjs.entry.js +430 -0
  6. package/dist/cjs/ion-searchbar.cjs.entry.js.map +1 -0
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/pos-app-generic.cjs.entry.js +1 -1
  9. package/dist/cjs/pos-app-ldp-container.cjs.entry.js +1 -1
  10. package/dist/cjs/pos-app-rdf-document.cjs.entry.js +1 -1
  11. package/dist/collection/apps/pos-app-browser/pos-app-browser.css +8 -15
  12. package/dist/collection/apps/pos-app-browser/pos-app-browser.js +12 -3
  13. package/dist/collection/apps/pos-app-browser/pos-app-browser.js.map +1 -1
  14. package/dist/collection/apps/pos-app-dashboard/pos-getting-started/pos-getting-started.css +12 -0
  15. package/dist/collection/apps/pos-app-dashboard/pos-getting-started/pos-getting-started.js +19 -1
  16. package/dist/collection/apps/pos-app-dashboard/pos-getting-started/pos-getting-started.js.map +1 -1
  17. package/dist/collection/apps/pos-app-generic/pos-app-generic.js +1 -1
  18. package/dist/collection/apps/pos-app-ldp-container/pos-app-ldp-container.js +1 -1
  19. package/dist/collection/apps/pos-app-rdf-document/pos-app-rdf-document.js +1 -1
  20. package/dist/collection/apps/pos-app-settings/pos-app-settings.js +1 -1
  21. package/dist/collection/apps/pos-app-settings/pos-setting-offline-cache/pos-setting-offline-cache.js +1 -1
  22. package/dist/collection/collection-manifest.json +2 -1
  23. package/dist/collection/components/pos-add-new-thing/pos-add-new-thing.css +2 -2
  24. package/dist/collection/components/pos-add-new-thing/pos-add-new-thing.js +1 -1
  25. package/dist/collection/components/pos-app/pos-app.js +1 -1
  26. package/dist/collection/components/pos-dialog/pos-dialog.js +1 -1
  27. package/dist/collection/components/pos-error-toast/pos-error-toast.js +1 -1
  28. package/dist/collection/components/pos-literals/pos-literals.js +1 -1
  29. package/dist/collection/components/pos-login/pos-login.js +33 -2
  30. package/dist/collection/components/pos-login/pos-login.js.map +1 -1
  31. package/dist/collection/components/pos-login-form/pos-login-form.js +1 -1
  32. package/dist/collection/components/pos-make-findable/pos-make-findable.css +7 -4
  33. package/dist/collection/components/pos-navigation/__test/typeToSearch.js +12 -0
  34. package/dist/collection/components/pos-navigation/__test/typeToSearch.js.map +1 -0
  35. package/dist/collection/components/pos-navigation/bar/pos-navigation-bar.css +38 -0
  36. package/dist/collection/components/pos-navigation/bar/pos-navigation-bar.js +105 -0
  37. package/dist/collection/components/pos-navigation/bar/pos-navigation-bar.js.map +1 -0
  38. package/dist/collection/components/pos-navigation/pos-navigation.css +115 -0
  39. package/dist/collection/components/{pos-navigation-bar/pos-navigation-bar.js → pos-navigation/pos-navigation.js} +75 -18
  40. package/dist/collection/components/pos-navigation/pos-navigation.js.map +1 -0
  41. package/dist/collection/components/pos-new-thing-form/pos-new-thing-form.js +1 -1
  42. package/dist/collection/components/pos-rich-link/pos-rich-link.css +1 -1
  43. package/dist/collection/components/pos-rich-link/pos-rich-link.js +2 -2
  44. package/dist/collection/components/pos-router/pos-router.css +1 -1
  45. package/dist/collection/components/pos-router/pos-router.js +1 -1
  46. package/dist/collection/components/pos-select-term/pos-select-term.js +1 -1
  47. package/dist/components/Subject.js +700 -0
  48. package/dist/components/Subject.js.map +1 -0
  49. package/dist/components/ion-searchbar.js +475 -1
  50. package/dist/components/ion-searchbar.js.map +1 -1
  51. package/dist/components/pos-add-new-thing2.js +2 -2
  52. package/dist/components/pos-add-new-thing2.js.map +1 -1
  53. package/dist/components/pos-app-browser.js +49 -40
  54. package/dist/components/pos-app-browser.js.map +1 -1
  55. package/dist/components/pos-app-generic.js +1 -1
  56. package/dist/components/pos-app-ldp-container.js +1 -1
  57. package/dist/components/pos-app-rdf-document.js +1 -1
  58. package/dist/components/pos-app-settings2.js +1 -1
  59. package/dist/components/pos-app2.js +2 -698
  60. package/dist/components/pos-app2.js.map +1 -1
  61. package/dist/components/pos-dialog2.js +1 -1
  62. package/dist/components/pos-error-toast2.js +1 -1
  63. package/dist/components/pos-getting-started2.js +4 -3
  64. package/dist/components/pos-getting-started2.js.map +1 -1
  65. package/dist/components/pos-literals2.js +1 -1
  66. package/dist/components/pos-login-form2.js +1 -1
  67. package/dist/components/pos-login2.js +19 -3
  68. package/dist/components/pos-login2.js.map +1 -1
  69. package/dist/components/pos-make-findable2.js +1 -1
  70. package/dist/components/pos-make-findable2.js.map +1 -1
  71. package/dist/components/pos-navigation-bar2.js +24 -109
  72. package/dist/components/pos-navigation-bar2.js.map +1 -1
  73. package/dist/components/pos-navigation.d.ts +11 -0
  74. package/dist/components/pos-navigation.js +8 -0
  75. package/dist/components/pos-navigation.js.map +1 -0
  76. package/dist/components/pos-navigation2.js +394 -0
  77. package/dist/components/pos-navigation2.js.map +1 -0
  78. package/dist/components/pos-new-thing-form2.js +1 -1
  79. package/dist/components/pos-rich-link2.js +3 -3
  80. package/dist/components/pos-rich-link2.js.map +1 -1
  81. package/dist/components/pos-router2.js +2 -2
  82. package/dist/components/pos-router2.js.map +1 -1
  83. package/dist/components/pos-select-term2.js +1 -1
  84. package/dist/components/pos-setting-offline-cache2.js +1 -1
  85. package/dist/elements/elements.esm.js +1 -1
  86. package/dist/elements/elements.esm.js.map +1 -1
  87. package/dist/elements/{p-a6c03ce8.js → p-01adc2b7.js} +2 -2
  88. package/dist/elements/p-0802c77b.entry.js +20 -0
  89. package/dist/elements/p-0802c77b.entry.js.map +1 -0
  90. package/dist/elements/{p-7190d53c.entry.js → p-09ff1516.entry.js} +2 -2
  91. package/dist/elements/{p-307d1531.js → p-0a6631d5.js} +2 -2
  92. package/dist/elements/{p-c698ab8e.entry.js → p-0b3d14ec.entry.js} +3 -3
  93. package/dist/elements/{p-d8818bb3.entry.js → p-0d4f129d.entry.js} +2 -2
  94. package/dist/elements/p-104fee38.entry.js +2 -0
  95. package/dist/elements/{p-6cc9961e.entry.js → p-11466af2.entry.js} +2 -2
  96. package/dist/elements/{p-3e6ffc13.entry.js → p-11845ff3.entry.js} +2 -2
  97. package/dist/elements/p-13b1d6fe.entry.js +2 -0
  98. package/dist/elements/{p-d358565a.entry.js.map → p-13b1d6fe.entry.js.map} +1 -1
  99. package/dist/elements/p-14bf4c7a.entry.js +2 -0
  100. package/dist/elements/{p-66a58eb0.entry.js.map → p-14bf4c7a.entry.js.map} +1 -1
  101. package/dist/elements/{p-a507d627.entry.js → p-151d1ec8.entry.js} +2 -2
  102. package/dist/elements/{p-8e1c68eb.entry.js → p-178b3852.entry.js} +2 -2
  103. package/dist/elements/{p-89aef852.js → p-1930ffd5.js} +2 -2
  104. package/dist/elements/{p-aa7d93f1.entry.js → p-1a1222a3.entry.js} +2 -2
  105. package/dist/elements/{p-4dd65d40.entry.js → p-1e05efd7.entry.js} +2 -2
  106. package/dist/elements/{p-f50c3045.entry.js → p-1faf2d02.entry.js} +2 -2
  107. package/dist/elements/{p-a421bbe5.entry.js → p-21e90439.entry.js} +2 -2
  108. package/dist/elements/p-220cce23.entry.js +2 -0
  109. package/dist/{components/searchbar.js.map → elements/p-220cce23.entry.js.map} +1 -1
  110. package/dist/elements/{p-552a9992.entry.js → p-22c21319.entry.js} +2 -2
  111. package/dist/elements/{p-66973c59.entry.js → p-24d93ddd.entry.js} +2 -2
  112. package/dist/elements/p-2551eb06.entry.js +2 -0
  113. package/dist/elements/{p-bca341ba.entry.js.map → p-2551eb06.entry.js.map} +1 -1
  114. package/dist/elements/p-258f2385.entry.js +2 -0
  115. package/dist/elements/{p-72a9cbdc.entry.js → p-27bd8113.entry.js} +2 -2
  116. package/dist/elements/{p-c350af00.entry.js → p-2948d57b.entry.js} +2 -2
  117. package/dist/elements/p-2cda3231.entry.js +2 -0
  118. package/dist/elements/{p-41bb9792.entry.js → p-2cdaf88b.entry.js} +2 -2
  119. package/dist/elements/{p-fa0be1d8.entry.js → p-2e08ee3a.entry.js} +2 -2
  120. package/dist/elements/{p-239442f9.entry.js → p-2e0c20e7.entry.js} +2 -2
  121. package/dist/elements/p-2ec92ff9.entry.js +2 -0
  122. package/dist/elements/p-2f3623f1.entry.js +2 -0
  123. package/dist/elements/{p-c01a4a79.entry.js.map → p-2f3623f1.entry.js.map} +1 -1
  124. package/dist/elements/{p-8e8881a8.entry.js → p-30834f34.entry.js} +2 -2
  125. package/dist/elements/p-30cd90ec.js +6 -0
  126. package/dist/elements/{p-ae984107.entry.js → p-3585f786.entry.js} +2 -2
  127. package/dist/elements/{p-d08312dd.entry.js → p-35f84573.entry.js} +2 -2
  128. package/dist/elements/p-3e130681.entry.js +2 -0
  129. package/dist/elements/{p-bdea20c4.entry.js.map → p-3e130681.entry.js.map} +1 -1
  130. package/dist/elements/{p-ffa8c481.entry.js → p-3f02cc92.entry.js} +2 -2
  131. package/dist/elements/{p-71ee259b.js → p-3f316fc4.js} +2 -2
  132. package/dist/elements/{p-bc675b21.entry.js → p-3f3b74e6.entry.js} +2 -2
  133. package/dist/elements/p-40a2d567.entry.js +2 -0
  134. package/dist/elements/{p-e78cf007.entry.js → p-4dc7c524.entry.js} +2 -2
  135. package/dist/elements/{p-c191e6df.js → p-4e8c31fa.js} +8 -8
  136. package/dist/elements/{p-a45b1964.entry.js → p-5051d2a6.entry.js} +2 -2
  137. package/dist/elements/{p-e0de7c6a.entry.js → p-5a061ddb.entry.js} +2 -2
  138. package/dist/elements/{p-061819d1.js → p-5a8e7149.js} +3 -3
  139. package/dist/elements/p-5bf4c45a.js +5 -0
  140. package/dist/elements/{p-b9dcf3b2.js → p-5e8a3893.js} +2 -2
  141. package/dist/elements/{p-300ec095.entry.js → p-602861f4.entry.js} +3 -3
  142. package/dist/elements/{p-4a370bdc.entry.js → p-627d5e73.entry.js} +2 -2
  143. package/dist/elements/{p-406df11a.entry.js → p-648dac6c.entry.js} +2 -2
  144. package/dist/elements/{p-07d2bd5a.entry.js → p-650db824.entry.js} +2 -2
  145. package/dist/elements/{p-cb550d04.entry.js → p-682dd0f9.entry.js} +2 -2
  146. package/dist/elements/{p-59ec8b76.entry.js → p-689a5c54.entry.js} +3 -3
  147. package/dist/elements/{p-d6394ee4.entry.js → p-6a701de0.entry.js} +2 -2
  148. package/dist/elements/{p-f4035b4a.entry.js → p-6ca9bad7.entry.js} +2 -2
  149. package/dist/elements/{p-25926b66.entry.js → p-6cae9207.entry.js} +2 -2
  150. package/dist/elements/{p-6119b57a.entry.js → p-6e5c902a.entry.js} +2 -2
  151. package/dist/elements/{p-0ddcbecd.entry.js → p-72ba182e.entry.js} +2 -2
  152. package/dist/elements/{p-1b2d32c1.entry.js → p-8619a806.entry.js} +2 -2
  153. package/dist/elements/{p-4383e1bb.entry.js → p-87af433a.entry.js} +2 -2
  154. package/dist/elements/{p-f96384f2.entry.js → p-87eb06bc.entry.js} +2 -2
  155. package/dist/elements/p-8a691722.entry.js +2 -0
  156. package/dist/elements/{p-95161a5d.entry.js.map → p-8a691722.entry.js.map} +1 -1
  157. package/dist/elements/{p-e8268c7a.entry.js → p-8c13ce70.entry.js} +2 -2
  158. package/dist/elements/{p-b64a85bf.entry.js → p-8f6d4374.entry.js} +2 -2
  159. package/dist/elements/{p-949b115f.js → p-91025a2c.js} +3 -3
  160. package/dist/elements/{p-71835d6f.entry.js → p-95036276.entry.js} +2 -2
  161. package/dist/elements/{p-42169e41.js → p-97889672.js} +2 -2
  162. package/dist/elements/p-97fa472f.entry.js +2 -0
  163. package/dist/elements/{p-a06d93c7.entry.js.map → p-97fa472f.entry.js.map} +1 -1
  164. package/dist/elements/{p-8b209e66.entry.js → p-9840f300.entry.js} +2 -2
  165. package/dist/elements/p-98b2844f.js +5 -0
  166. package/dist/elements/{p-fa19a3e9.entry.js → p-9d23baee.entry.js} +2 -2
  167. package/dist/elements/{p-7e8b8df1.entry.js → p-9d6c94d3.entry.js} +2 -2
  168. package/dist/elements/{p-41854c8f.entry.js → p-9d81c061.entry.js} +2 -2
  169. package/dist/elements/{p-dadb557e.entry.js → p-a19fb8fa.entry.js} +4 -4
  170. package/dist/elements/{p-9a4bf79e.entry.js → p-a7c9aa13.entry.js} +2 -2
  171. package/dist/elements/{p-0ee8b7a7.js → p-acfa402f.js} +2 -2
  172. package/dist/elements/{p-facc0ac5.entry.js → p-af03cfbe.entry.js} +2 -2
  173. package/dist/elements/{p-b8bd7745.entry.js → p-af2b9ecb.entry.js} +2 -2
  174. package/dist/elements/{p-cbf050d6.js → p-b110cb49.js} +2 -2
  175. package/dist/elements/{p-09d80405.entry.js → p-b1292dde.entry.js} +2 -2
  176. package/dist/elements/p-b2c94853.entry.js +2 -0
  177. package/dist/elements/{p-250d4bf1.entry.js.map → p-b2c94853.entry.js.map} +1 -1
  178. package/dist/elements/{p-a376351f.entry.js → p-b34203cd.entry.js} +2 -2
  179. package/dist/elements/{p-dc709055.entry.js → p-b954a40f.entry.js} +2 -2
  180. package/dist/elements/{p-1fc8e557.js → p-bde7428a.js} +2 -2
  181. package/dist/elements/{p-734e5a97.js → p-bf5335d4.js} +2 -2
  182. package/dist/elements/p-c1df6af7.js +8 -0
  183. package/dist/elements/p-c27a94bc.entry.js +2 -0
  184. package/dist/elements/{p-cbae963d.js → p-c30eb80f.js} +3 -3
  185. package/dist/elements/{p-4c078751.entry.js → p-c4332c66.entry.js} +2 -2
  186. package/dist/elements/{p-36caf749.entry.js → p-c4894c44.entry.js} +2 -2
  187. package/dist/elements/{p-87c81685.entry.js → p-c4e1867e.entry.js} +2 -2
  188. package/dist/elements/{p-645632a8.entry.js → p-c7db2b55.entry.js} +5 -5
  189. package/dist/elements/p-cb3e5072.entry.js +2 -0
  190. package/dist/elements/{p-49fcec88.entry.js → p-d54d552d.entry.js} +6 -6
  191. package/dist/elements/{p-2a548485.entry.js → p-d7b597ed.entry.js} +2 -2
  192. package/dist/elements/p-da0c771e.js +5 -0
  193. package/dist/elements/{p-c9604122.entry.js → p-de6d7967.entry.js} +2 -2
  194. package/dist/elements/p-e05f218c.entry.js +2 -0
  195. package/dist/elements/{p-2f0509be.entry.js.map → p-e05f218c.entry.js.map} +1 -1
  196. package/dist/elements/{p-b5f6b322.entry.js → p-e15ff70c.entry.js} +2 -2
  197. package/dist/elements/p-e1957ea1.entry.js +2 -0
  198. package/dist/elements/p-e43d654c.js +5 -0
  199. package/dist/elements/{p-01981011.entry.js → p-e7fbd427.entry.js} +2 -2
  200. package/dist/elements/{p-d61d280b.js → p-e912617c.js} +3 -3
  201. package/dist/elements/{p-da0d920d.js → p-ebe1c8ca.js} +2 -2
  202. package/dist/elements/{p-d872fe3e.entry.js → p-ec283f66.entry.js} +2 -2
  203. package/dist/elements/p-ec7a6c44.js +2 -0
  204. package/dist/elements/{p-f40b3ec6.entry.js → p-ed22dcc0.entry.js} +2 -2
  205. package/dist/elements/{p-05fff093.entry.js → p-eeaffc3b.entry.js} +2 -2
  206. package/dist/elements/p-f2c0c8a9.js +5 -0
  207. package/dist/elements/{p-c186950b.entry.js → p-f3bf8ff7.entry.js} +2 -2
  208. package/dist/elements/{p-5441ae35.entry.js → p-fb740291.entry.js} +2 -2
  209. package/dist/elements/{p-5bf40440.entry.js → p-fbff274c.entry.js} +2 -2
  210. package/dist/elements/{p-266d2934.entry.js → p-fd84af22.entry.js} +2 -2
  211. package/dist/esm/{BrokenFile-d387a173.js → BrokenFile-0b9882ef.js} +2 -2
  212. package/dist/esm/{BrokenFile-d387a173.js.map → BrokenFile-0b9882ef.js.map} +1 -1
  213. package/dist/esm/{animation-43b39c85.js → animation-756697b9.js} +2 -2
  214. package/dist/esm/{animation-43b39c85.js.map → animation-756697b9.js.map} +1 -1
  215. package/dist/esm/{app-globals-f420d326.js → app-globals-31ecda4c.js} +2 -2
  216. package/dist/esm/{app-globals-f420d326.js.map → app-globals-31ecda4c.js.map} +1 -1
  217. package/dist/esm/elements.js +5 -5
  218. package/dist/esm/{form-controller-3b50bf52.js → form-controller-8a54002c.js} +2 -2
  219. package/dist/esm/{form-controller-3b50bf52.js.map → form-controller-8a54002c.js.map} +1 -1
  220. package/dist/esm/{framework-delegate-c5179013.js → framework-delegate-65b5c396.js} +2 -2
  221. package/dist/esm/{framework-delegate-c5179013.js.map → framework-delegate-65b5c396.js.map} +1 -1
  222. package/dist/esm/{hardware-back-button-12e771ad.js → hardware-back-button-87b1549b.js} +3 -3
  223. package/dist/esm/{hardware-back-button-12e771ad.js.map → hardware-back-button-87b1549b.js.map} +1 -1
  224. package/dist/esm/{helpers-c51da066.js → helpers-bc137989.js} +2 -2
  225. package/dist/esm/{helpers-c51da066.js.map → helpers-bc137989.js.map} +1 -1
  226. package/dist/esm/{index-9725d917.js → index-46d8987d.js} +2 -2
  227. package/dist/esm/{index-9725d917.js.map → index-46d8987d.js.map} +1 -1
  228. package/dist/esm/{index-12e18dab.js → index-81865f43.js} +2 -2
  229. package/dist/esm/{index-12e18dab.js.map → index-81865f43.js.map} +1 -1
  230. package/dist/esm/{index-9edae53a.js → index-a51d17dd.js} +2 -2
  231. package/dist/esm/{index-9edae53a.js.map → index-a51d17dd.js.map} +1 -1
  232. package/dist/esm/{index-7462d21e.js → index-cbb71797.js} +5 -5
  233. package/dist/esm/{index-7462d21e.js.map → index-cbb71797.js.map} +1 -1
  234. package/dist/esm/{index-842e2941.js → index-e7f761c9.js} +2 -2
  235. package/dist/esm/{index-842e2941.js.map → index-e7f761c9.js.map} +1 -1
  236. package/dist/esm/{index-ccbcf170.js → index-fa9f8152.js} +5 -5
  237. package/dist/esm/{index-ccbcf170.js.map → index-fa9f8152.js.map} +1 -1
  238. package/dist/esm/{input-shims-0cb1bad1.js → input-shims-10923fa6.js} +3 -3
  239. package/dist/esm/{input-shims-0cb1bad1.js.map → input-shims-10923fa6.js.map} +1 -1
  240. package/dist/esm/{input.utils-0e2bf61a.js → input.utils-5fe0312f.js} +2 -2
  241. package/dist/esm/{input.utils-0e2bf61a.js.map → input.utils-5fe0312f.js.map} +1 -1
  242. package/dist/esm/ion-accordion-group.entry.js +2 -2
  243. package/dist/esm/ion-accordion.entry.js +4 -4
  244. package/dist/esm/ion-action-sheet_3.entry.js +7 -7
  245. package/dist/esm/ion-app.entry.js +7 -7
  246. package/dist/esm/ion-avatar.entry.js +2 -2
  247. package/dist/esm/ion-back-button.entry.js +4 -4
  248. package/dist/esm/ion-backdrop.entry.js +2 -2
  249. package/dist/esm/ion-badge_5.entry.js +3 -3
  250. package/dist/esm/ion-breadcrumb.entry.js +4 -4
  251. package/dist/esm/ion-breadcrumbs.entry.js +2 -2
  252. package/dist/esm/ion-button_4.entry.js +3 -3
  253. package/dist/esm/ion-card-content.entry.js +2 -2
  254. package/dist/esm/ion-card-header.entry.js +2 -2
  255. package/dist/esm/ion-card-subtitle.entry.js +2 -2
  256. package/dist/esm/ion-card-title.entry.js +2 -2
  257. package/dist/esm/ion-card.entry.js +3 -3
  258. package/dist/esm/ion-checkbox_7.entry.js +5 -5
  259. package/dist/esm/ion-chip.entry.js +2 -2
  260. package/dist/esm/ion-col.entry.js +2 -2
  261. package/dist/esm/ion-content.entry.js +3 -3
  262. package/dist/esm/ion-datetime-button.entry.js +3 -3
  263. package/dist/esm/ion-datetime.entry.js +4 -4
  264. package/dist/esm/ion-fab-button.entry.js +4 -4
  265. package/dist/esm/ion-fab-list.entry.js +2 -2
  266. package/dist/esm/ion-fab.entry.js +2 -2
  267. package/dist/esm/ion-footer.entry.js +4 -4
  268. package/dist/esm/ion-grid.entry.js +2 -2
  269. package/dist/esm/ion-header.entry.js +4 -4
  270. package/dist/esm/ion-icon_31.entry.js +331 -461
  271. package/dist/esm/ion-icon_31.entry.js.map +1 -1
  272. package/dist/esm/ion-img.entry.js +3 -3
  273. package/dist/esm/ion-infinite-scroll-content.entry.js +2 -2
  274. package/dist/esm/ion-infinite-scroll.entry.js +4 -4
  275. package/dist/esm/ion-input.entry.js +7 -7
  276. package/dist/esm/ion-item-divider.entry.js +2 -2
  277. package/dist/esm/ion-item-group.entry.js +2 -2
  278. package/dist/esm/ion-item-option.entry.js +2 -2
  279. package/dist/esm/ion-item-options.entry.js +3 -3
  280. package/dist/esm/ion-item-sliding.entry.js +4 -4
  281. package/dist/esm/ion-loading.entry.js +7 -7
  282. package/dist/esm/ion-menu-button.entry.js +8 -8
  283. package/dist/esm/ion-menu-toggle.entry.js +7 -7
  284. package/dist/esm/ion-menu.entry.js +8 -8
  285. package/dist/esm/ion-modal.entry.js +9 -9
  286. package/dist/esm/ion-nav-link.entry.js +1 -1
  287. package/dist/esm/ion-nav.entry.js +6 -6
  288. package/dist/esm/ion-note.entry.js +2 -2
  289. package/dist/esm/ion-picker-column.entry.js +3 -3
  290. package/dist/esm/ion-picker.entry.js +7 -7
  291. package/dist/esm/ion-popover.entry.js +8 -8
  292. package/dist/esm/ion-range.entry.js +5 -5
  293. package/dist/esm/ion-refresher-content.entry.js +6 -6
  294. package/dist/esm/ion-refresher.entry.js +6 -6
  295. package/dist/esm/ion-reorder-group.entry.js +4 -4
  296. package/dist/esm/ion-reorder.entry.js +3 -3
  297. package/dist/esm/ion-route-redirect.entry.js +1 -1
  298. package/dist/esm/ion-route.entry.js +1 -1
  299. package/dist/esm/ion-router-link.entry.js +2 -2
  300. package/dist/esm/ion-router-outlet.entry.js +6 -6
  301. package/dist/esm/ion-router.entry.js +2 -2
  302. package/dist/esm/ion-row.entry.js +2 -2
  303. package/dist/{components/searchbar.js → esm/ion-searchbar.entry.js} +17 -70
  304. package/dist/esm/ion-searchbar.entry.js.map +1 -0
  305. package/dist/esm/ion-segment-button.entry.js +3 -3
  306. package/dist/esm/ion-segment.entry.js +3 -3
  307. package/dist/esm/ion-select-option.entry.js +2 -2
  308. package/dist/esm/ion-select.entry.js +9 -9
  309. package/dist/esm/ion-spinner.entry.js +2 -2
  310. package/dist/esm/ion-split-pane.entry.js +2 -2
  311. package/dist/esm/ion-tab-bar.entry.js +2 -2
  312. package/dist/esm/ion-tab-button.entry.js +3 -3
  313. package/dist/esm/ion-tab.entry.js +3 -3
  314. package/dist/esm/ion-tabs.entry.js +1 -1
  315. package/dist/esm/ion-text.entry.js +2 -2
  316. package/dist/esm/ion-textarea.entry.js +6 -6
  317. package/dist/esm/ion-thumbnail.entry.js +2 -2
  318. package/dist/esm/ion-title.entry.js +2 -2
  319. package/dist/esm/ion-toggle.entry.js +5 -5
  320. package/dist/esm/ion-toolbar.entry.js +2 -2
  321. package/dist/esm/{ionic-global-07f989af.js → ionic-global-dc58df6a.js} +2 -2
  322. package/dist/esm/{ionic-global-07f989af.js.map → ionic-global-dc58df6a.js.map} +1 -1
  323. package/dist/esm/{ios.transition-02b5b74a.js → ios.transition-cd6a57b8.js} +5 -5
  324. package/dist/esm/{ios.transition-02b5b74a.js.map → ios.transition-cd6a57b8.js.map} +1 -1
  325. package/dist/esm/loader.js +5 -5
  326. package/dist/esm/{md.transition-0e6cf607.js → md.transition-a2999731.js} +5 -5
  327. package/dist/esm/{md.transition-0e6cf607.js.map → md.transition-a2999731.js.map} +1 -1
  328. package/dist/esm/{menu-toggle-util-6257f7b5.js → menu-toggle-util-5d79b187.js} +2 -2
  329. package/dist/esm/{menu-toggle-util-6257f7b5.js.map → menu-toggle-util-5d79b187.js.map} +1 -1
  330. package/dist/esm/{notch-controller-79926902.js → notch-controller-ce206c7f.js} +2 -2
  331. package/dist/esm/{notch-controller-79926902.js.map → notch-controller-ce206c7f.js.map} +1 -1
  332. package/dist/esm/{overlays-ef03d5bd.js → overlays-d7fc4ce2.js} +5 -5
  333. package/dist/esm/{overlays-ef03d5bd.js.map → overlays-d7fc4ce2.js.map} +1 -1
  334. package/dist/esm/pos-app-document-viewer.entry.js +1 -1
  335. package/dist/esm/pos-app-generic.entry.js +2 -2
  336. package/dist/esm/pos-app-image-viewer.entry.js +1 -1
  337. package/dist/esm/pos-app-ldp-container.entry.js +2 -2
  338. package/dist/esm/pos-app-rdf-document.entry.js +2 -2
  339. package/dist/esm/pos-container-contents.entry.js +1 -1
  340. package/dist/esm/pos-container-item.entry.js +1 -1
  341. package/dist/esm/pos-document.entry.js +2 -2
  342. package/dist/esm/pos-list.entry.js +1 -1
  343. package/dist/esm/pos-relations_2.entry.js +1 -1
  344. package/dist/esm/pos-subjects.entry.js +1 -1
  345. package/dist/esm/pos-value.entry.js +1 -1
  346. package/dist/esm/{refresher.utils-d191622d.js → refresher.utils-e60a7dd8.js} +4 -4
  347. package/dist/esm/{refresher.utils-d191622d.js.map → refresher.utils-e60a7dd8.js.map} +1 -1
  348. package/dist/esm/{status-tap-cdf580e7.js → status-tap-a4c12279.js} +4 -4
  349. package/dist/esm/{status-tap-cdf580e7.js.map → status-tap-a4c12279.js.map} +1 -1
  350. package/dist/esm/{swipe-back-698e6532.js → swipe-back-c940b28a.js} +2 -2
  351. package/dist/esm/{swipe-back-698e6532.js.map → swipe-back-c940b28a.js.map} +1 -1
  352. package/dist/types/apps/pos-app-browser/pos-app-browser.d.ts +2 -1
  353. package/dist/types/apps/pos-app-dashboard/pos-getting-started/pos-getting-started.d.ts +2 -0
  354. package/dist/types/components/pos-login/pos-login.d.ts +5 -0
  355. package/dist/types/components/pos-navigation/__test/typeToSearch.d.ts +1 -0
  356. package/dist/types/components/pos-navigation/bar/pos-navigation-bar.d.ts +11 -0
  357. package/dist/types/components/pos-navigation/pos-navigation.d.ts +44 -0
  358. package/dist/types/components.d.ts +64 -7
  359. package/package.json +1 -1
  360. package/dist/collection/components/pos-navigation-bar/pos-navigation-bar.css +0 -51
  361. package/dist/collection/components/pos-navigation-bar/pos-navigation-bar.js.map +0 -1
  362. package/dist/elements/p-07773ed5.entry.js +0 -2
  363. package/dist/elements/p-250d4bf1.entry.js +0 -2
  364. package/dist/elements/p-2f0509be.entry.js +0 -2
  365. package/dist/elements/p-4c78c8c9.js +0 -5
  366. package/dist/elements/p-4ccdbcbf.entry.js +0 -2
  367. package/dist/elements/p-523432d1.js +0 -2
  368. package/dist/elements/p-627826b0.entry.js +0 -2
  369. package/dist/elements/p-66a58eb0.entry.js +0 -2
  370. package/dist/elements/p-7183a9ca.entry.js +0 -2
  371. package/dist/elements/p-7f53778f.entry.js +0 -2
  372. package/dist/elements/p-8f6d1cbe.entry.js +0 -2
  373. package/dist/elements/p-932de51e.js +0 -8
  374. package/dist/elements/p-95161a5d.entry.js +0 -2
  375. package/dist/elements/p-a06d93c7.entry.js +0 -2
  376. package/dist/elements/p-a08f0446.entry.js +0 -2
  377. package/dist/elements/p-a13569cf.entry.js +0 -2
  378. package/dist/elements/p-a37a2712.js +0 -5
  379. package/dist/elements/p-b34f1af4.entry.js +0 -20
  380. package/dist/elements/p-b34f1af4.entry.js.map +0 -1
  381. package/dist/elements/p-bca341ba.entry.js +0 -2
  382. package/dist/elements/p-bdea20c4.entry.js +0 -2
  383. package/dist/elements/p-c01a4a79.entry.js +0 -2
  384. package/dist/elements/p-c452a2e9.js +0 -5
  385. package/dist/elements/p-d1e7b393.js +0 -5
  386. package/dist/elements/p-d358565a.entry.js +0 -2
  387. package/dist/elements/p-eba70ed1.js +0 -6
  388. package/dist/elements/p-f67bba50.js +0 -5
  389. package/dist/types/components/pos-navigation-bar/pos-navigation-bar.d.ts +0 -25
  390. /package/dist/elements/{p-a6c03ce8.js.map → p-01adc2b7.js.map} +0 -0
  391. /package/dist/elements/{p-7190d53c.entry.js.map → p-09ff1516.entry.js.map} +0 -0
  392. /package/dist/elements/{p-307d1531.js.map → p-0a6631d5.js.map} +0 -0
  393. /package/dist/elements/{p-c698ab8e.entry.js.map → p-0b3d14ec.entry.js.map} +0 -0
  394. /package/dist/elements/{p-d8818bb3.entry.js.map → p-0d4f129d.entry.js.map} +0 -0
  395. /package/dist/elements/{p-07773ed5.entry.js.map → p-104fee38.entry.js.map} +0 -0
  396. /package/dist/elements/{p-6cc9961e.entry.js.map → p-11466af2.entry.js.map} +0 -0
  397. /package/dist/elements/{p-3e6ffc13.entry.js.map → p-11845ff3.entry.js.map} +0 -0
  398. /package/dist/elements/{p-a507d627.entry.js.map → p-151d1ec8.entry.js.map} +0 -0
  399. /package/dist/elements/{p-8e1c68eb.entry.js.map → p-178b3852.entry.js.map} +0 -0
  400. /package/dist/elements/{p-89aef852.js.map → p-1930ffd5.js.map} +0 -0
  401. /package/dist/elements/{p-aa7d93f1.entry.js.map → p-1a1222a3.entry.js.map} +0 -0
  402. /package/dist/elements/{p-4dd65d40.entry.js.map → p-1e05efd7.entry.js.map} +0 -0
  403. /package/dist/elements/{p-f50c3045.entry.js.map → p-1faf2d02.entry.js.map} +0 -0
  404. /package/dist/elements/{p-a421bbe5.entry.js.map → p-21e90439.entry.js.map} +0 -0
  405. /package/dist/elements/{p-552a9992.entry.js.map → p-22c21319.entry.js.map} +0 -0
  406. /package/dist/elements/{p-66973c59.entry.js.map → p-24d93ddd.entry.js.map} +0 -0
  407. /package/dist/elements/{p-8f6d1cbe.entry.js.map → p-258f2385.entry.js.map} +0 -0
  408. /package/dist/elements/{p-72a9cbdc.entry.js.map → p-27bd8113.entry.js.map} +0 -0
  409. /package/dist/elements/{p-c350af00.entry.js.map → p-2948d57b.entry.js.map} +0 -0
  410. /package/dist/elements/{p-7183a9ca.entry.js.map → p-2cda3231.entry.js.map} +0 -0
  411. /package/dist/elements/{p-41bb9792.entry.js.map → p-2cdaf88b.entry.js.map} +0 -0
  412. /package/dist/elements/{p-fa0be1d8.entry.js.map → p-2e08ee3a.entry.js.map} +0 -0
  413. /package/dist/elements/{p-239442f9.entry.js.map → p-2e0c20e7.entry.js.map} +0 -0
  414. /package/dist/elements/{p-627826b0.entry.js.map → p-2ec92ff9.entry.js.map} +0 -0
  415. /package/dist/elements/{p-8e8881a8.entry.js.map → p-30834f34.entry.js.map} +0 -0
  416. /package/dist/elements/{p-eba70ed1.js.map → p-30cd90ec.js.map} +0 -0
  417. /package/dist/elements/{p-ae984107.entry.js.map → p-3585f786.entry.js.map} +0 -0
  418. /package/dist/elements/{p-d08312dd.entry.js.map → p-35f84573.entry.js.map} +0 -0
  419. /package/dist/elements/{p-ffa8c481.entry.js.map → p-3f02cc92.entry.js.map} +0 -0
  420. /package/dist/elements/{p-71ee259b.js.map → p-3f316fc4.js.map} +0 -0
  421. /package/dist/elements/{p-bc675b21.entry.js.map → p-3f3b74e6.entry.js.map} +0 -0
  422. /package/dist/elements/{p-7f53778f.entry.js.map → p-40a2d567.entry.js.map} +0 -0
  423. /package/dist/elements/{p-e78cf007.entry.js.map → p-4dc7c524.entry.js.map} +0 -0
  424. /package/dist/elements/{p-c191e6df.js.map → p-4e8c31fa.js.map} +0 -0
  425. /package/dist/elements/{p-a45b1964.entry.js.map → p-5051d2a6.entry.js.map} +0 -0
  426. /package/dist/elements/{p-e0de7c6a.entry.js.map → p-5a061ddb.entry.js.map} +0 -0
  427. /package/dist/elements/{p-061819d1.js.map → p-5a8e7149.js.map} +0 -0
  428. /package/dist/elements/{p-4c78c8c9.js.map → p-5bf4c45a.js.map} +0 -0
  429. /package/dist/elements/{p-b9dcf3b2.js.map → p-5e8a3893.js.map} +0 -0
  430. /package/dist/elements/{p-300ec095.entry.js.map → p-602861f4.entry.js.map} +0 -0
  431. /package/dist/elements/{p-4a370bdc.entry.js.map → p-627d5e73.entry.js.map} +0 -0
  432. /package/dist/elements/{p-406df11a.entry.js.map → p-648dac6c.entry.js.map} +0 -0
  433. /package/dist/elements/{p-07d2bd5a.entry.js.map → p-650db824.entry.js.map} +0 -0
  434. /package/dist/elements/{p-cb550d04.entry.js.map → p-682dd0f9.entry.js.map} +0 -0
  435. /package/dist/elements/{p-59ec8b76.entry.js.map → p-689a5c54.entry.js.map} +0 -0
  436. /package/dist/elements/{p-d6394ee4.entry.js.map → p-6a701de0.entry.js.map} +0 -0
  437. /package/dist/elements/{p-f4035b4a.entry.js.map → p-6ca9bad7.entry.js.map} +0 -0
  438. /package/dist/elements/{p-25926b66.entry.js.map → p-6cae9207.entry.js.map} +0 -0
  439. /package/dist/elements/{p-6119b57a.entry.js.map → p-6e5c902a.entry.js.map} +0 -0
  440. /package/dist/elements/{p-0ddcbecd.entry.js.map → p-72ba182e.entry.js.map} +0 -0
  441. /package/dist/elements/{p-1b2d32c1.entry.js.map → p-8619a806.entry.js.map} +0 -0
  442. /package/dist/elements/{p-4383e1bb.entry.js.map → p-87af433a.entry.js.map} +0 -0
  443. /package/dist/elements/{p-f96384f2.entry.js.map → p-87eb06bc.entry.js.map} +0 -0
  444. /package/dist/elements/{p-e8268c7a.entry.js.map → p-8c13ce70.entry.js.map} +0 -0
  445. /package/dist/elements/{p-b64a85bf.entry.js.map → p-8f6d4374.entry.js.map} +0 -0
  446. /package/dist/elements/{p-949b115f.js.map → p-91025a2c.js.map} +0 -0
  447. /package/dist/elements/{p-71835d6f.entry.js.map → p-95036276.entry.js.map} +0 -0
  448. /package/dist/elements/{p-42169e41.js.map → p-97889672.js.map} +0 -0
  449. /package/dist/elements/{p-8b209e66.entry.js.map → p-9840f300.entry.js.map} +0 -0
  450. /package/dist/elements/{p-a37a2712.js.map → p-98b2844f.js.map} +0 -0
  451. /package/dist/elements/{p-fa19a3e9.entry.js.map → p-9d23baee.entry.js.map} +0 -0
  452. /package/dist/elements/{p-7e8b8df1.entry.js.map → p-9d6c94d3.entry.js.map} +0 -0
  453. /package/dist/elements/{p-41854c8f.entry.js.map → p-9d81c061.entry.js.map} +0 -0
  454. /package/dist/elements/{p-dadb557e.entry.js.map → p-a19fb8fa.entry.js.map} +0 -0
  455. /package/dist/elements/{p-9a4bf79e.entry.js.map → p-a7c9aa13.entry.js.map} +0 -0
  456. /package/dist/elements/{p-0ee8b7a7.js.map → p-acfa402f.js.map} +0 -0
  457. /package/dist/elements/{p-facc0ac5.entry.js.map → p-af03cfbe.entry.js.map} +0 -0
  458. /package/dist/elements/{p-b8bd7745.entry.js.map → p-af2b9ecb.entry.js.map} +0 -0
  459. /package/dist/elements/{p-cbf050d6.js.map → p-b110cb49.js.map} +0 -0
  460. /package/dist/elements/{p-09d80405.entry.js.map → p-b1292dde.entry.js.map} +0 -0
  461. /package/dist/elements/{p-a376351f.entry.js.map → p-b34203cd.entry.js.map} +0 -0
  462. /package/dist/elements/{p-dc709055.entry.js.map → p-b954a40f.entry.js.map} +0 -0
  463. /package/dist/elements/{p-1fc8e557.js.map → p-bde7428a.js.map} +0 -0
  464. /package/dist/elements/{p-734e5a97.js.map → p-bf5335d4.js.map} +0 -0
  465. /package/dist/elements/{p-932de51e.js.map → p-c1df6af7.js.map} +0 -0
  466. /package/dist/elements/{p-a08f0446.entry.js.map → p-c27a94bc.entry.js.map} +0 -0
  467. /package/dist/elements/{p-cbae963d.js.map → p-c30eb80f.js.map} +0 -0
  468. /package/dist/elements/{p-4c078751.entry.js.map → p-c4332c66.entry.js.map} +0 -0
  469. /package/dist/elements/{p-36caf749.entry.js.map → p-c4894c44.entry.js.map} +0 -0
  470. /package/dist/elements/{p-87c81685.entry.js.map → p-c4e1867e.entry.js.map} +0 -0
  471. /package/dist/elements/{p-645632a8.entry.js.map → p-c7db2b55.entry.js.map} +0 -0
  472. /package/dist/elements/{p-a13569cf.entry.js.map → p-cb3e5072.entry.js.map} +0 -0
  473. /package/dist/elements/{p-49fcec88.entry.js.map → p-d54d552d.entry.js.map} +0 -0
  474. /package/dist/elements/{p-2a548485.entry.js.map → p-d7b597ed.entry.js.map} +0 -0
  475. /package/dist/elements/{p-c452a2e9.js.map → p-da0c771e.js.map} +0 -0
  476. /package/dist/elements/{p-c9604122.entry.js.map → p-de6d7967.entry.js.map} +0 -0
  477. /package/dist/elements/{p-b5f6b322.entry.js.map → p-e15ff70c.entry.js.map} +0 -0
  478. /package/dist/elements/{p-4ccdbcbf.entry.js.map → p-e1957ea1.entry.js.map} +0 -0
  479. /package/dist/elements/{p-f67bba50.js.map → p-e43d654c.js.map} +0 -0
  480. /package/dist/elements/{p-01981011.entry.js.map → p-e7fbd427.entry.js.map} +0 -0
  481. /package/dist/elements/{p-d61d280b.js.map → p-e912617c.js.map} +0 -0
  482. /package/dist/elements/{p-da0d920d.js.map → p-ebe1c8ca.js.map} +0 -0
  483. /package/dist/elements/{p-d872fe3e.entry.js.map → p-ec283f66.entry.js.map} +0 -0
  484. /package/dist/elements/{p-523432d1.js.map → p-ec7a6c44.js.map} +0 -0
  485. /package/dist/elements/{p-f40b3ec6.entry.js.map → p-ed22dcc0.entry.js.map} +0 -0
  486. /package/dist/elements/{p-05fff093.entry.js.map → p-eeaffc3b.entry.js.map} +0 -0
  487. /package/dist/elements/{p-d1e7b393.js.map → p-f2c0c8a9.js.map} +0 -0
  488. /package/dist/elements/{p-c186950b.entry.js.map → p-f3bf8ff7.entry.js.map} +0 -0
  489. /package/dist/elements/{p-5441ae35.entry.js.map → p-fb740291.entry.js.map} +0 -0
  490. /package/dist/elements/{p-5bf40440.entry.js.map → p-fbff274c.entry.js.map} +0 -0
  491. /package/dist/elements/{p-266d2934.entry.js.map → p-fd84af22.entry.js.map} +0 -0
@@ -6,17 +6,15 @@ const index = require('./index-45dd971c.js');
6
6
  const helpers = require('./helpers-95c22e6d.js');
7
7
  const theme = require('./theme-187bbc7d.js');
8
8
  const ionicGlobal = require('./ionic-global-c7ac1ce0.js');
9
- const dir = require('./dir-e6b438e6.js');
10
- const index$1 = require('./index-3129b55a.js');
11
- const index$5 = require('./index-60f1e8e6.js');
9
+ const index$4 = require('./index-60f1e8e6.js');
12
10
  const lockController = require('./lock-controller-63fc03ed.js');
13
- const index$3 = require('./index-5fa17650.js');
11
+ const index$2 = require('./index-5fa17650.js');
14
12
  const overlays = require('./overlays-b8b12de8.js');
15
13
  const animation = require('./animation-7c90c75b.js');
16
- const index$2 = require('./index-957a289d.js');
17
- const index$4 = require('./index-f0c9b0af.js');
14
+ const index$1 = require('./index-957a289d.js');
15
+ const index$3 = require('./index-f0c9b0af.js');
18
16
  const BrokenFile = require('./BrokenFile-26f83028.js');
19
- const index$6 = require('./index-f7ca7362.js');
17
+ const index$5 = require('./index-f7ca7362.js');
20
18
  const ResourceAware = require('./ResourceAware-7b6501ae.js');
21
19
  require('./gesture-controller-85b9b0a5.js');
22
20
  const PodOsAware = require('./PodOsAware-a16ddb44.js');
@@ -499,422 +497,6 @@ const PADDING = 10;
499
497
  const INITIAL_ORIGIN_SCALE = 0.5;
500
498
  RippleEffect.style = IonRippleEffectStyle0;
501
499
 
502
- const searchbarIosCss = ".sc-ion-searchbar-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:0.6;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);box-sizing:border-box}.ion-color.sc-ion-searchbar-ios-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:inherit}.searchbar-search-icon.sc-ion-searchbar-ios{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-ios{display:block;position:relative;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-ios{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;min-height:inherit;border:0;outline:none;background:var(--background);font-family:inherit;box-shadow:var(--box-shadow);box-sizing:border-box;appearance:none}.searchbar-input.sc-ion-searchbar-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-ios::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-ios>div.sc-ion-searchbar-ios{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);appearance:none}.searchbar-clear-button.sc-ion-searchbar-ios:focus{opacity:0.5}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{display:block}.searchbar-disabled.sc-ion-searchbar-ios-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-ios-h{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.07);--border-radius:10px;--box-shadow:none;--cancel-button-color:var(--ion-color-primary, #3880ff);--clear-button-color:var(--ion-color-step-600, #666666);--color:var(--ion-text-color, #000);--icon-color:var(--ion-color-step-600, #666666);-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:12px;padding-bottom:12px;min-height:60px;contain:content}.searchbar-input-container.sc-ion-searchbar-ios{min-height:36px}.searchbar-search-icon.sc-ion-searchbar-ios{-webkit-margin-start:calc(50% - 60px);margin-inline-start:calc(50% - 60px);top:0;position:absolute;width:1.375rem;height:100%;contain:strict}@supports (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{inset-inline-start:5px}}@supports not (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{left:5px}[dir=rtl].sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}[dir=rtl].sc-ion-searchbar-ios .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}@supports selector(:dir(rtl)){.searchbar-search-icon.sc-ion-searchbar-ios:dir(rtl){left:unset;right:unset;right:5px}}}.searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:6px;padding-bottom:6px;height:100%;font-size:1.0625rem;font-weight:400;contain:strict}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:1.75rem;padding-inline-start:1.75rem;-webkit-padding-end:1.75rem;padding-inline-end:1.75rem}.searchbar-clear-button.sc-ion-searchbar-ios{top:0;background-position:center;position:absolute;width:1.875rem;height:100%;border:0;background-color:transparent}@supports (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-ios{inset-inline-end:0}}@supports not (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-ios{right:0}[dir=rtl].sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}[dir=rtl].sc-ion-searchbar-ios .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}@supports selector(:dir(rtl)){.searchbar-clear-button.sc-ion-searchbar-ios:dir(rtl){left:unset;right:unset;left:0}}}.searchbar-clear-icon.sc-ion-searchbar-ios{width:1.125rem;height:100%}.searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;flex-shrink:0;background-color:transparent;font-size:16px}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{-webkit-margin-start:0;margin-inline-start:0}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:1.875rem;padding-inline-start:1.875rem}.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{display:block}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{transition:all 300ms ease}.searchbar-animated.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{opacity:1;pointer-events:auto}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-margin-end:-100%;margin-inline-end:-100%;transform:translate3d(0, 0, 0);transition:all 300ms ease;opacity:0;pointer-events:none}.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{transition-duration:0ms}.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{color:var(--ion-color-base)}@media (any-hover: hover){.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios:hover{color:var(--ion-color-tint)}}ion-toolbar.sc-ion-searchbar-ios-h,ion-toolbar .sc-ion-searchbar-ios-h{padding-top:1px;padding-bottom:15px;min-height:52px}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color),ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color){color:inherit}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios{color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios{background:rgba(var(--ion-color-contrast-rgb), 0.07);color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}";
503
- const IonSearchbarIosStyle0 = searchbarIosCss;
504
-
505
- const searchbarMdCss = ".sc-ion-searchbar-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:0.6;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);box-sizing:border-box}.ion-color.sc-ion-searchbar-md-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{color:inherit}.searchbar-search-icon.sc-ion-searchbar-md{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-md{display:block;position:relative;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-md{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;min-height:inherit;border:0;outline:none;background:var(--background);font-family:inherit;box-shadow:var(--box-shadow);box-sizing:border-box;appearance:none}.searchbar-input.sc-ion-searchbar-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-md::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-md>div.sc-ion-searchbar-md{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);appearance:none}.searchbar-clear-button.sc-ion-searchbar-md:focus{opacity:0.5}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{display:block}.searchbar-disabled.sc-ion-searchbar-md-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-md-h{--background:var(--ion-background-color, #fff);--border-radius:2px;--box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);--cancel-button-color:var(--ion-color-step-900, #1a1a1a);--clear-button-color:initial;--color:var(--ion-color-step-850, #262626);--icon-color:var(--ion-color-step-600, #666666);-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;background:inherit}.searchbar-search-icon.sc-ion-searchbar-md{top:11px;width:1.3125rem;height:1.3125rem}@supports (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-md{inset-inline-start:16px}}@supports not (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-md{left:16px}[dir=rtl].sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{left:unset;right:unset;right:16px}[dir=rtl].sc-ion-searchbar-md .searchbar-search-icon.sc-ion-searchbar-md{left:unset;right:unset;right:16px}@supports selector(:dir(rtl)){.searchbar-search-icon.sc-ion-searchbar-md:dir(rtl){left:unset;right:unset;right:16px}}}.searchbar-cancel-button.sc-ion-searchbar-md{top:0;background-color:transparent;font-size:1.5em}@supports (inset-inline-start: 0){.searchbar-cancel-button.sc-ion-searchbar-md{inset-inline-start:9px}}@supports not (inset-inline-start: 0){.searchbar-cancel-button.sc-ion-searchbar-md{left:9px}[dir=rtl].sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{left:unset;right:unset;right:9px}[dir=rtl].sc-ion-searchbar-md .searchbar-cancel-button.sc-ion-searchbar-md{left:unset;right:unset;right:9px}@supports selector(:dir(rtl)){.searchbar-cancel-button.sc-ion-searchbar-md:dir(rtl){left:unset;right:unset;right:9px}}}.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-cancel-button.sc-ion-searchbar-md{position:absolute}.searchbar-search-icon.ion-activated.sc-ion-searchbar-md,.searchbar-cancel-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-input.sc-ion-searchbar-md{-webkit-padding-start:3.4375rem;padding-inline-start:3.4375rem;-webkit-padding-end:3.4375rem;padding-inline-end:3.4375rem;padding-top:0.375rem;padding-bottom:0.375rem;background-position:left 8px center;height:auto;font-size:1rem;font-weight:400;line-height:30px}[dir=rtl].sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background-position:right 8px center}[dir=rtl].sc-ion-searchbar-md .searchbar-input.sc-ion-searchbar-md{background-position:right 8px center}@supports selector(:dir(rtl)){.searchbar-input.sc-ion-searchbar-md:dir(rtl){background-position:right 8px center}}.searchbar-clear-button.sc-ion-searchbar-md{top:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;position:absolute;height:100%;border:0;background-color:transparent}@supports (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-md{inset-inline-end:13px}}@supports not (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-md{right:13px}[dir=rtl].sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{left:unset;right:unset;left:13px}[dir=rtl].sc-ion-searchbar-md .searchbar-clear-button.sc-ion-searchbar-md{left:unset;right:unset;left:13px}@supports selector(:dir(rtl)){.searchbar-clear-button.sc-ion-searchbar-md:dir(rtl){left:unset;right:unset;left:13px}}}.searchbar-clear-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-clear-icon.sc-ion-searchbar-md{width:1.375rem;height:100%}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md{display:none}ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px;padding-top:3px;padding-bottom:3px}";
506
- const IonSearchbarMdStyle0 = searchbarMdCss;
507
-
508
- const Searchbar = class {
509
- constructor(hostRef) {
510
- index.registerInstance(this, hostRef);
511
- this.ionInput = index.createEvent(this, "ionInput", 7);
512
- this.ionChange = index.createEvent(this, "ionChange", 7);
513
- this.ionCancel = index.createEvent(this, "ionCancel", 7);
514
- this.ionClear = index.createEvent(this, "ionClear", 7);
515
- this.ionBlur = index.createEvent(this, "ionBlur", 7);
516
- this.ionFocus = index.createEvent(this, "ionFocus", 7);
517
- this.ionStyle = index.createEvent(this, "ionStyle", 7);
518
- this.isCancelVisible = false;
519
- this.shouldAlignLeft = true;
520
- this.inputId = `ion-searchbar-${searchbarIds++}`;
521
- this.inheritedAttributes = {};
522
- /**
523
- * Clears the input field and triggers the control change.
524
- */
525
- this.onClearInput = async (shouldFocus) => {
526
- this.ionClear.emit();
527
- return new Promise((resolve) => {
528
- // setTimeout() fixes https://github.com/ionic-team/ionic/issues/7527
529
- // wait for 4 frames
530
- setTimeout(() => {
531
- const value = this.getValue();
532
- if (value !== '') {
533
- this.value = '';
534
- this.emitInputChange();
535
- /**
536
- * When tapping clear button
537
- * ensure input is focused after
538
- * clearing input so users
539
- * can quickly start typing.
540
- */
541
- if (shouldFocus && !this.focused) {
542
- this.setFocus();
543
- /**
544
- * The setFocus call above will clear focusedValue,
545
- * but ionChange will never have gotten a chance to
546
- * fire. Manually revert focusedValue so onBlur can
547
- * compare against what was in the box before the clear.
548
- */
549
- this.focusedValue = value;
550
- }
551
- }
552
- resolve();
553
- }, 16 * 4);
554
- });
555
- };
556
- /**
557
- * Clears the input field and tells the input to blur since
558
- * the clearInput function doesn't want the input to blur
559
- * then calls the custom cancel function if the user passed one in.
560
- */
561
- this.onCancelSearchbar = async (ev) => {
562
- if (ev) {
563
- ev.preventDefault();
564
- ev.stopPropagation();
565
- }
566
- this.ionCancel.emit();
567
- // get cached values before clearing the input
568
- const value = this.getValue();
569
- const focused = this.focused;
570
- await this.onClearInput();
571
- /**
572
- * If there used to be something in the box, and we weren't focused
573
- * beforehand (meaning no blur fired that would already handle this),
574
- * manually fire ionChange.
575
- */
576
- if (value && !focused) {
577
- this.emitValueChange(ev);
578
- }
579
- if (this.nativeInput) {
580
- this.nativeInput.blur();
581
- }
582
- };
583
- /**
584
- * Update the Searchbar input value when the input changes
585
- */
586
- this.onInput = (ev) => {
587
- const input = ev.target;
588
- if (input) {
589
- this.value = input.value;
590
- }
591
- this.emitInputChange(ev);
592
- };
593
- this.onChange = (ev) => {
594
- this.emitValueChange(ev);
595
- };
596
- /**
597
- * Sets the Searchbar to not focused and checks if it should align left
598
- * based on whether there is a value in the searchbar or not.
599
- */
600
- this.onBlur = (ev) => {
601
- this.focused = false;
602
- this.ionBlur.emit();
603
- this.positionElements();
604
- if (this.focusedValue !== this.value) {
605
- this.emitValueChange(ev);
606
- }
607
- this.focusedValue = undefined;
608
- };
609
- /**
610
- * Sets the Searchbar to focused and active on input focus.
611
- */
612
- this.onFocus = () => {
613
- this.focused = true;
614
- this.focusedValue = this.value;
615
- this.ionFocus.emit();
616
- this.positionElements();
617
- };
618
- this.focused = false;
619
- this.noAnimate = true;
620
- this.color = undefined;
621
- this.animated = false;
622
- this.autocapitalize = 'default';
623
- this.autocomplete = 'off';
624
- this.autocorrect = 'off';
625
- this.cancelButtonIcon = ionicGlobal.config.get('backButtonIcon', index$1.arrowBackSharp);
626
- this.cancelButtonText = 'Cancel';
627
- this.clearIcon = undefined;
628
- this.debounce = undefined;
629
- this.disabled = false;
630
- this.inputmode = undefined;
631
- this.enterkeyhint = undefined;
632
- this.maxlength = undefined;
633
- this.minlength = undefined;
634
- this.name = this.inputId;
635
- this.placeholder = 'Search';
636
- this.searchIcon = undefined;
637
- this.showCancelButton = 'never';
638
- this.showClearButton = 'always';
639
- this.spellcheck = false;
640
- this.type = 'search';
641
- this.value = '';
642
- }
643
- /**
644
- * lang and dir are globally enumerated attributes.
645
- * As a result, creating these as properties
646
- * can have unintended side effects. Instead, we
647
- * listen for attribute changes and inherit them
648
- * to the inner `<input>` element.
649
- */
650
- onLangChanged(newValue) {
651
- this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { lang: newValue });
652
- index.forceUpdate(this);
653
- }
654
- onDirChanged(newValue) {
655
- this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { dir: newValue });
656
- index.forceUpdate(this);
657
- }
658
- debounceChanged() {
659
- const { ionInput, debounce, originalIonInput } = this;
660
- /**
661
- * If debounce is undefined, we have to manually revert the ionInput emitter in case
662
- * debounce used to be set to a number. Otherwise, the event would stay debounced.
663
- */
664
- this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : helpers.debounceEvent(ionInput, debounce);
665
- }
666
- valueChanged() {
667
- const inputEl = this.nativeInput;
668
- const value = this.getValue();
669
- if (inputEl && inputEl.value !== value) {
670
- inputEl.value = value;
671
- }
672
- }
673
- showCancelButtonChanged() {
674
- requestAnimationFrame(() => {
675
- this.positionElements();
676
- index.forceUpdate(this);
677
- });
678
- }
679
- connectedCallback() {
680
- this.emitStyle();
681
- }
682
- componentWillLoad() {
683
- this.inheritedAttributes = Object.assign({}, helpers.inheritAttributes(this.el, ['lang', 'dir']));
684
- }
685
- componentDidLoad() {
686
- this.originalIonInput = this.ionInput;
687
- this.positionElements();
688
- this.debounceChanged();
689
- setTimeout(() => {
690
- this.noAnimate = false;
691
- }, 300);
692
- }
693
- emitStyle() {
694
- this.ionStyle.emit({
695
- searchbar: true,
696
- });
697
- }
698
- /**
699
- * Sets focus on the native `input` in `ion-searchbar`. Use this method instead of the global
700
- * `input.focus()`.
701
- *
702
- * Developers who wish to focus an input when a page enters
703
- * should call `setFocus()` in the `ionViewDidEnter()` lifecycle method.
704
- *
705
- * Developers who wish to focus an input when an overlay is presented
706
- * should call `setFocus` after `didPresent` has resolved.
707
- *
708
- * See [managing focus](/docs/developing/managing-focus) for more information.
709
- */
710
- async setFocus() {
711
- if (this.nativeInput) {
712
- this.nativeInput.focus();
713
- }
714
- }
715
- /**
716
- * Returns the native `<input>` element used under the hood.
717
- */
718
- async getInputElement() {
719
- /**
720
- * If this gets called in certain early lifecycle hooks (ex: Vue onMounted),
721
- * nativeInput won't be defined yet with the custom elements build, so wait for it to load in.
722
- */
723
- if (!this.nativeInput) {
724
- await new Promise((resolve) => helpers.componentOnReady(this.el, resolve));
725
- }
726
- return Promise.resolve(this.nativeInput);
727
- }
728
- /**
729
- * Emits an `ionChange` event.
730
- *
731
- * This API should be called for user committed changes.
732
- * This API should not be used for external value changes.
733
- */
734
- emitValueChange(event) {
735
- const { value } = this;
736
- // Checks for both null and undefined values
737
- const newValue = value == null ? value : value.toString();
738
- // Emitting a value change should update the internal state for tracking the focused value
739
- this.focusedValue = newValue;
740
- this.ionChange.emit({ value: newValue, event });
741
- }
742
- /**
743
- * Emits an `ionInput` event.
744
- */
745
- emitInputChange(event) {
746
- const { value } = this;
747
- this.ionInput.emit({ value, event });
748
- }
749
- /**
750
- * Positions the input search icon, placeholder, and the cancel button
751
- * based on the input value and if it is focused. (ios only)
752
- */
753
- positionElements() {
754
- const value = this.getValue();
755
- const prevAlignLeft = this.shouldAlignLeft;
756
- const mode = ionicGlobal.getIonMode(this);
757
- const shouldAlignLeft = !this.animated || value.trim() !== '' || !!this.focused;
758
- this.shouldAlignLeft = shouldAlignLeft;
759
- if (mode !== 'ios') {
760
- return;
761
- }
762
- if (prevAlignLeft !== shouldAlignLeft) {
763
- this.positionPlaceholder();
764
- }
765
- if (this.animated) {
766
- this.positionCancelButton();
767
- }
768
- }
769
- /**
770
- * Positions the input placeholder
771
- */
772
- positionPlaceholder() {
773
- const inputEl = this.nativeInput;
774
- if (!inputEl) {
775
- return;
776
- }
777
- const rtl = dir.isRTL(this.el);
778
- const iconEl = (this.el.shadowRoot || this.el).querySelector('.searchbar-search-icon');
779
- if (this.shouldAlignLeft) {
780
- inputEl.removeAttribute('style');
781
- iconEl.removeAttribute('style');
782
- }
783
- else {
784
- // Create a dummy span to get the placeholder width
785
- const doc = document;
786
- const tempSpan = doc.createElement('span');
787
- tempSpan.innerText = this.placeholder || '';
788
- doc.body.appendChild(tempSpan);
789
- // Get the width of the span then remove it
790
- helpers.raf(() => {
791
- const textWidth = tempSpan.offsetWidth;
792
- tempSpan.remove();
793
- // Calculate the input padding
794
- const inputLeft = 'calc(50% - ' + textWidth / 2 + 'px)';
795
- // Calculate the icon margin
796
- /**
797
- * We take the icon width to account
798
- * for any text scales applied to the icon
799
- * such as Dynamic Type on iOS as well as 8px
800
- * of padding.
801
- */
802
- const iconLeft = 'calc(50% - ' + (textWidth / 2 + iconEl.clientWidth + 8) + 'px)';
803
- // Set the input padding start and icon margin start
804
- if (rtl) {
805
- inputEl.style.paddingRight = inputLeft;
806
- iconEl.style.marginRight = iconLeft;
807
- }
808
- else {
809
- inputEl.style.paddingLeft = inputLeft;
810
- iconEl.style.marginLeft = iconLeft;
811
- }
812
- });
813
- }
814
- }
815
- /**
816
- * Show the iOS Cancel button on focus, hide it offscreen otherwise
817
- */
818
- positionCancelButton() {
819
- const rtl = dir.isRTL(this.el);
820
- const cancelButton = (this.el.shadowRoot || this.el).querySelector('.searchbar-cancel-button');
821
- const shouldShowCancel = this.shouldShowCancelButton();
822
- if (cancelButton !== null && shouldShowCancel !== this.isCancelVisible) {
823
- const cancelStyle = cancelButton.style;
824
- this.isCancelVisible = shouldShowCancel;
825
- if (shouldShowCancel) {
826
- if (rtl) {
827
- cancelStyle.marginLeft = '0';
828
- }
829
- else {
830
- cancelStyle.marginRight = '0';
831
- }
832
- }
833
- else {
834
- const offset = cancelButton.offsetWidth;
835
- if (offset > 0) {
836
- if (rtl) {
837
- cancelStyle.marginLeft = -offset + 'px';
838
- }
839
- else {
840
- cancelStyle.marginRight = -offset + 'px';
841
- }
842
- }
843
- }
844
- }
845
- }
846
- getValue() {
847
- return this.value || '';
848
- }
849
- hasValue() {
850
- return this.getValue() !== '';
851
- }
852
- /**
853
- * Determines whether or not the cancel button should be visible onscreen.
854
- * Cancel button should be shown if one of two conditions applies:
855
- * 1. `showCancelButton` is set to `always`.
856
- * 2. `showCancelButton` is set to `focus`, and the searchbar has been focused.
857
- */
858
- shouldShowCancelButton() {
859
- if (this.showCancelButton === 'never' || (this.showCancelButton === 'focus' && !this.focused)) {
860
- return false;
861
- }
862
- return true;
863
- }
864
- /**
865
- * Determines whether or not the clear button should be visible onscreen.
866
- * Clear button should be shown if one of two conditions applies:
867
- * 1. `showClearButton` is set to `always`.
868
- * 2. `showClearButton` is set to `focus`, and the searchbar has been focused.
869
- */
870
- shouldShowClearButton() {
871
- if (this.showClearButton === 'never' || (this.showClearButton === 'focus' && !this.focused)) {
872
- return false;
873
- }
874
- return true;
875
- }
876
- render() {
877
- const { cancelButtonText, autocapitalize } = this;
878
- const animated = this.animated && ionicGlobal.config.getBoolean('animated', true);
879
- const mode = ionicGlobal.getIonMode(this);
880
- const clearIcon = this.clearIcon || (mode === 'ios' ? index$1.closeCircle : index$1.closeSharp);
881
- const searchIcon = this.searchIcon || (mode === 'ios' ? index$1.searchOutline : index$1.searchSharp);
882
- const shouldShowCancelButton = this.shouldShowCancelButton();
883
- const cancelButton = this.showCancelButton !== 'never' && (index.h("button", { key: '9c7b4d2e86d9bcd12e57c9a96723d3da598a3773', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, index.h("div", { key: '1c25268a776134cccd29eb752898cb8ac0eed30f', "aria-hidden": "true" }, mode === 'md' ? (index.h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
884
- return (index.h(index.Host, { key: 'feef9fc7e405656e134a76dc037aaaa1a4ce36b4', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: theme.createColorClasses(this.color, {
885
- [mode]: true,
886
- 'searchbar-animated': animated,
887
- 'searchbar-disabled': this.disabled,
888
- 'searchbar-no-animate': animated && this.noAnimate,
889
- 'searchbar-has-value': this.hasValue(),
890
- 'searchbar-left-aligned': this.shouldAlignLeft,
891
- 'searchbar-has-focus': this.focused,
892
- 'searchbar-should-show-clear': this.shouldShowClearButton(),
893
- 'searchbar-should-show-cancel': this.shouldShowCancelButton(),
894
- }) }, index.h("div", { key: '92e3925dc0de468e5665705902153837105dfa57', class: "searchbar-input-container" }, index.h("input", Object.assign({ key: 'fb74faf81b347a62338ccdac981525df1c52b322', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, index.h("ion-icon", { key: 'd58c3636dac1d2e4135989f4c07dc95c51492e60', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), index.h("button", { key: '1cece7c63ca5ca4b8799e15ee6d2bac100ef0d5e', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
895
- /**
896
- * This prevents mobile browsers from
897
- * blurring the input when the clear
898
- * button is activated.
899
- */
900
- ev.preventDefault();
901
- }, onClick: () => this.onClearInput(true) }, index.h("ion-icon", { key: 'fe3c2b9cac29002f69e95a89b554c7504e2df050', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
902
- }
903
- get el() { return index.getElement(this); }
904
- static get watchers() { return {
905
- "lang": ["onLangChanged"],
906
- "dir": ["onDirChanged"],
907
- "debounce": ["debounceChanged"],
908
- "value": ["valueChanged"],
909
- "showCancelButton": ["showCancelButtonChanged"]
910
- }; }
911
- };
912
- let searchbarIds = 0;
913
- Searchbar.style = {
914
- ios: IonSearchbarIosStyle0,
915
- md: IonSearchbarMdStyle0
916
- };
917
-
918
500
  const skeletonTextCss = ":host{--background:rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065);border-radius:var(--border-radius, inherit);display:block;width:100%;height:inherit;margin-top:4px;margin-bottom:4px;background:var(--background);line-height:10px;user-select:none;pointer-events:none}span{display:inline-block}:host(.in-media){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;height:100%}:host(.skeleton-text-animated){position:relative;background:linear-gradient(to right, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 8%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.135) 18%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 33%);background-size:800px 104px;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:shimmer;animation-timing-function:linear}@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}";
919
501
  const IonSkeletonTextStyle0 = skeletonTextCss;
920
502
 
@@ -988,7 +570,7 @@ function getAnimationPosition(position, positionAnchor, mode, toast) {
988
570
  * bottom anchor edge is targeted. For position="bottom", the top
989
571
  * anchor edge is targeted.
990
572
  */
991
- if (positionAnchor && index$2.win) {
573
+ if (positionAnchor && index$1.win) {
992
574
  warnIfAnchorIsHidden(positionAnchor, toast);
993
575
  const box = positionAnchor.getBoundingClientRect();
994
576
  if (position === 'top') {
@@ -1000,7 +582,7 @@ function getAnimationPosition(position, positionAnchor, mode, toast) {
1000
582
  * to the top edge of the anchor. We want to calculate from the
1001
583
  * bottom edge of the screen instead.
1002
584
  */
1003
- offset -= index$2.win.innerHeight - box.top;
585
+ offset -= index$1.win.innerHeight - box.top;
1004
586
  }
1005
587
  /**
1006
588
  * We don't include safe area here because that should already be
@@ -1025,7 +607,7 @@ function getAnimationPosition(position, positionAnchor, mode, toast) {
1025
607
  */
1026
608
  function warnIfAnchorIsHidden(positionAnchor, toast) {
1027
609
  if (positionAnchor.offsetParent === null) {
1028
- index$3.printIonWarning('The positionAnchor element for ion-toast was found in the DOM, but appears to be hidden. This may lead to unexpected positioning of the toast.', toast);
610
+ index$2.printIonWarning('The positionAnchor element for ion-toast was found in the DOM, but appears to be hidden. This may lead to unexpected positioning of the toast.', toast);
1029
611
  }
1030
612
  }
1031
613
  /**
@@ -1386,7 +968,7 @@ const createSwipeToDismissGesture = (el, toastPosition, onDismiss) => {
1386
968
  }, { oneTimeCallback: true })
1387
969
  .progressEnd(playTo, step, duration);
1388
970
  };
1389
- const gesture = index$4.createGesture({
971
+ const gesture = index$3.createGesture({
1390
972
  el: wrapperEl,
1391
973
  gestureName: 'toast-swipe-to-dismiss',
1392
974
  gesturePriority: overlays.OVERLAY_GESTURE_PRIORITY,
@@ -1422,7 +1004,7 @@ const Toast = class {
1422
1004
  this.delegateController = overlays.createDelegateController(this);
1423
1005
  this.lockController = lockController.createLockController();
1424
1006
  this.triggerController = overlays.createTriggerController();
1425
- this.customHTMLEnabled = ionicGlobal.config.get('innerHTMLTemplatesEnabled', index$5.ENABLE_HTML_CONTENT_DEFAULT);
1007
+ this.customHTMLEnabled = ionicGlobal.config.get('innerHTMLTemplatesEnabled', index$4.ENABLE_HTML_CONTENT_DEFAULT);
1426
1008
  this.presented = false;
1427
1009
  this.dispatchCancelHandler = (ev) => {
1428
1010
  const role = ev.detail.role;
@@ -1677,7 +1259,7 @@ const Toast = class {
1677
1259
  return;
1678
1260
  }
1679
1261
  if (position === 'middle' && positionAnchor !== undefined) {
1680
- index$3.printIonWarning('The positionAnchor property is ignored when using position="middle".', this.el);
1262
+ index$2.printIonWarning('The positionAnchor property is ignored when using position="middle".', this.el);
1681
1263
  return undefined;
1682
1264
  }
1683
1265
  if (typeof positionAnchor === 'string') {
@@ -1689,7 +1271,7 @@ const Toast = class {
1689
1271
  */
1690
1272
  const foundEl = document.getElementById(positionAnchor);
1691
1273
  if (foundEl === null) {
1692
- index$3.printIonWarning(`An anchor element with an ID of "${positionAnchor}" was not found in the DOM.`, el);
1274
+ index$2.printIonWarning(`An anchor element with an ID of "${positionAnchor}" was not found in the DOM.`, el);
1693
1275
  return undefined;
1694
1276
  }
1695
1277
  return foundEl;
@@ -1697,7 +1279,7 @@ const Toast = class {
1697
1279
  if (positionAnchor instanceof HTMLElement) {
1698
1280
  return positionAnchor;
1699
1281
  }
1700
- index$3.printIonWarning('Invalid positionAnchor value:', positionAnchor, el);
1282
+ index$2.printIonWarning('Invalid positionAnchor value:', positionAnchor, el);
1701
1283
  return undefined;
1702
1284
  }
1703
1285
  async buttonClick(button) {
@@ -1747,7 +1329,7 @@ const Toast = class {
1747
1329
  renderToastMessage(key, ariaHidden = null) {
1748
1330
  const { customHTMLEnabled, message } = this;
1749
1331
  if (customHTMLEnabled) {
1750
- return (index.h("div", { key: key, "aria-hidden": ariaHidden, class: "toast-message", part: "message", innerHTML: index$5.sanitizeDOMString(message) }));
1332
+ return (index.h("div", { key: key, "aria-hidden": ariaHidden, class: "toast-message", part: "message", innerHTML: index$4.sanitizeDOMString(message) }));
1751
1333
  }
1752
1334
  return (index.h("div", { key: key, "aria-hidden": ariaHidden, class: "toast-message", part: "message" }, message));
1753
1335
  }
@@ -1775,7 +1357,7 @@ const Toast = class {
1775
1357
  * used with one type of button.
1776
1358
  */
1777
1359
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
1778
- index$3.printIonWarning('This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
1360
+ index$2.printIonWarning('This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
1779
1361
  }
1780
1362
  return (index.h(index.Host, Object.assign({ key: '23803334fb668f6ce7044d3a321cb84bc753bd16', tabindex: "-1" }, this.htmlAttributes, { style: {
1781
1363
  zIndex: `${60000 + this.overlayIndex}`,
@@ -1799,7 +1381,7 @@ Toast.style = {
1799
1381
  md: IonToastMdStyle0
1800
1382
  };
1801
1383
 
1802
- const posAddNewThingCss = ":host{font-family:var(--font-sans);display:block}button#new{cursor:pointer;display:flex;align-items:center;justify-content:center;border:none;width:var(--scale-5);height:var(--scale-5);background-color:var(--pos-primary-color);color:var(--pos-primary-text-color);font-size:var(--scale-6);border-radius:var(--radius-xs)}button#new:hover,button#new:focus{outline:none;filter:brightness(110%);box-shadow:var(--shadow-sm)}pos-new-thing-form{margin:var(--scale-3)}";
1384
+ const posAddNewThingCss = ":host{font-family:var(--font-sans);display:block}button#new{cursor:pointer;display:flex;align-items:center;justify-content:center;border:none;width:var(--size-10);height:var(--size-10);background-color:var(--pos-primary-color);color:var(--pos-primary-text-color);font-size:var(--scale-6);border-radius:var(--radius-xs)}button#new:hover,button#new:focus{outline:none;filter:brightness(110%);box-shadow:var(--shadow-sm)}pos-new-thing-form{margin:var(--scale-3)}";
1803
1385
  const PosAddNewThingStyle0 = posAddNewThingCss;
1804
1386
 
1805
1387
  const PosAddNewThing = class {
@@ -1810,7 +1392,7 @@ const PosAddNewThing = class {
1810
1392
  this.dialog.showModal();
1811
1393
  }
1812
1394
  render() {
1813
- return (index.h(index.Host, { key: '6142a141ef03ca93a362a6b00ebe8d515c3a677a' }, index.h("button", { key: '72ecf353cd3a7d2d68f9ef28eb1bbe7fdb88b700', id: "new", title: "Add a new thing", onClick: () => this.openDialog() }, index.h("ion-icon", { key: 'bd05d75c42c10de6df519575787fc66eafb22930', name: "add-circle-outline" })), index.h("pos-dialog", { key: '23cf0118149704dfca16758970e4f4658e87e946', ref: el => (this.dialog = el) }, index.h("span", { key: '5af7b7f618cc20684c39134b5ea295400e651cb6', slot: "title" }, "Add a new thing"), index.h("pos-new-thing-form", { key: '895496c2f6ede3c8677d9d918e0b13582090baed', slot: "content", referenceUri: this.referenceUri }))));
1395
+ return (index.h(index.Host, { key: '5ed3ba3982467778ed2b9b02090c230acb6b1762' }, index.h("button", { key: '96ff5dbd0ba4ca4d8c1d25045efa06fea062e9cf', id: "new", title: "Add a new thing", onClick: () => this.openDialog() }, index.h("ion-icon", { key: '201a19c8ecb39e0e913d3fb8cf1ebee06bc41df5', name: "add-circle-outline" })), index.h("pos-dialog", { key: '421da81e6faf52119fe600cc388663299eab67ec', ref: el => (this.dialog = el) }, index.h("span", { key: '454e6e05dc478e9c1b378cb3308f006fab4d8738', slot: "title" }, "Add a new thing"), index.h("pos-new-thing-form", { key: 'a469379848776a4c7e9f8e3f94da76ba048d7fab', slot: "content", referenceUri: this.referenceUri }))));
1814
1396
  }
1815
1397
  };
1816
1398
  PosAddNewThing.style = PosAddNewThingStyle0;
@@ -2168,8 +1750,8 @@ class NavigatorOnlineStatus {
2168
1750
  }
2169
1751
 
2170
1752
  const createPodOS = (settings) => {
2171
- return new index$6.PodOS({
2172
- offlineCache: settings.offlineCache ? new IndexedDbOfflineCache() : new index$6.NoOfflineCache(),
1753
+ return new index$5.PodOS({
1754
+ offlineCache: settings.offlineCache ? new IndexedDbOfflineCache() : new index$5.NoOfflineCache(),
2173
1755
  onlineStatus: new NavigatorOnlineStatus(),
2174
1756
  });
2175
1757
  };
@@ -2871,6 +2453,158 @@ class AnonymousSubject extends Subject {
2871
2453
  }
2872
2454
  }
2873
2455
 
2456
+ const dateTimestampProvider = {
2457
+ now() {
2458
+ return (dateTimestampProvider.delegate || Date).now();
2459
+ },
2460
+ delegate: undefined,
2461
+ };
2462
+
2463
+ class Action extends Subscription {
2464
+ constructor(scheduler, work) {
2465
+ super();
2466
+ }
2467
+ schedule(state, delay = 0) {
2468
+ return this;
2469
+ }
2470
+ }
2471
+
2472
+ const intervalProvider = {
2473
+ setInterval(handler, timeout, ...args) {
2474
+ const { delegate } = intervalProvider;
2475
+ if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {
2476
+ return delegate.setInterval(handler, timeout, ...args);
2477
+ }
2478
+ return setInterval(handler, timeout, ...args);
2479
+ },
2480
+ clearInterval(handle) {
2481
+ const { delegate } = intervalProvider;
2482
+ return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);
2483
+ },
2484
+ delegate: undefined,
2485
+ };
2486
+
2487
+ class AsyncAction extends Action {
2488
+ constructor(scheduler, work) {
2489
+ super(scheduler, work);
2490
+ this.scheduler = scheduler;
2491
+ this.work = work;
2492
+ this.pending = false;
2493
+ }
2494
+ schedule(state, delay = 0) {
2495
+ var _a;
2496
+ if (this.closed) {
2497
+ return this;
2498
+ }
2499
+ this.state = state;
2500
+ const id = this.id;
2501
+ const scheduler = this.scheduler;
2502
+ if (id != null) {
2503
+ this.id = this.recycleAsyncId(scheduler, id, delay);
2504
+ }
2505
+ this.pending = true;
2506
+ this.delay = delay;
2507
+ this.id = (_a = this.id) !== null && _a !== void 0 ? _a : this.requestAsyncId(scheduler, this.id, delay);
2508
+ return this;
2509
+ }
2510
+ requestAsyncId(scheduler, _id, delay = 0) {
2511
+ return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);
2512
+ }
2513
+ recycleAsyncId(_scheduler, id, delay = 0) {
2514
+ if (delay != null && this.delay === delay && this.pending === false) {
2515
+ return id;
2516
+ }
2517
+ if (id != null) {
2518
+ intervalProvider.clearInterval(id);
2519
+ }
2520
+ return undefined;
2521
+ }
2522
+ execute(state, delay) {
2523
+ if (this.closed) {
2524
+ return new Error('executing a cancelled action');
2525
+ }
2526
+ this.pending = false;
2527
+ const error = this._execute(state, delay);
2528
+ if (error) {
2529
+ return error;
2530
+ }
2531
+ else if (this.pending === false && this.id != null) {
2532
+ this.id = this.recycleAsyncId(this.scheduler, this.id, null);
2533
+ }
2534
+ }
2535
+ _execute(state, _delay) {
2536
+ let errored = false;
2537
+ let errorValue;
2538
+ try {
2539
+ this.work(state);
2540
+ }
2541
+ catch (e) {
2542
+ errored = true;
2543
+ errorValue = e ? e : new Error('Scheduled action threw falsy error');
2544
+ }
2545
+ if (errored) {
2546
+ this.unsubscribe();
2547
+ return errorValue;
2548
+ }
2549
+ }
2550
+ unsubscribe() {
2551
+ if (!this.closed) {
2552
+ const { id, scheduler } = this;
2553
+ const { actions } = scheduler;
2554
+ this.work = this.state = this.scheduler = null;
2555
+ this.pending = false;
2556
+ arrRemove(actions, this);
2557
+ if (id != null) {
2558
+ this.id = this.recycleAsyncId(scheduler, id, null);
2559
+ }
2560
+ this.delay = null;
2561
+ super.unsubscribe();
2562
+ }
2563
+ }
2564
+ }
2565
+
2566
+ class Scheduler {
2567
+ constructor(schedulerActionCtor, now = Scheduler.now) {
2568
+ this.schedulerActionCtor = schedulerActionCtor;
2569
+ this.now = now;
2570
+ }
2571
+ schedule(work, delay = 0, state) {
2572
+ return new this.schedulerActionCtor(this, work).schedule(state, delay);
2573
+ }
2574
+ }
2575
+ Scheduler.now = dateTimestampProvider.now;
2576
+
2577
+ class AsyncScheduler extends Scheduler {
2578
+ constructor(SchedulerAction, now = Scheduler.now) {
2579
+ super(SchedulerAction, now);
2580
+ this.actions = [];
2581
+ this._active = false;
2582
+ }
2583
+ flush(action) {
2584
+ const { actions } = this;
2585
+ if (this._active) {
2586
+ actions.push(action);
2587
+ return;
2588
+ }
2589
+ let error;
2590
+ this._active = true;
2591
+ do {
2592
+ if ((error = action.execute(action.state, action.delay))) {
2593
+ break;
2594
+ }
2595
+ } while ((action = actions.shift()));
2596
+ this._active = false;
2597
+ if (error) {
2598
+ while ((action = actions.shift())) {
2599
+ action.unsubscribe();
2600
+ }
2601
+ throw error;
2602
+ }
2603
+ }
2604
+ }
2605
+
2606
+ const asyncScheduler = new AsyncScheduler(AsyncAction);
2607
+
2874
2608
  /******************************************************************************
2875
2609
  Copyright (c) Microsoft Corporation.
2876
2610
 
@@ -3086,6 +2820,46 @@ function process(asyncIterable, subscriber) {
3086
2820
  });
3087
2821
  }
3088
2822
 
2823
+ function debounceTime(dueTime, scheduler = asyncScheduler) {
2824
+ return operate((source, subscriber) => {
2825
+ let activeTask = null;
2826
+ let lastValue = null;
2827
+ let lastTime = null;
2828
+ const emit = () => {
2829
+ if (activeTask) {
2830
+ activeTask.unsubscribe();
2831
+ activeTask = null;
2832
+ const value = lastValue;
2833
+ lastValue = null;
2834
+ subscriber.next(value);
2835
+ }
2836
+ };
2837
+ function emitWhenIdle() {
2838
+ const targetTime = lastTime + dueTime;
2839
+ const now = scheduler.now();
2840
+ if (now < targetTime) {
2841
+ activeTask = this.schedule(undefined, targetTime - now);
2842
+ subscriber.add(activeTask);
2843
+ return;
2844
+ }
2845
+ emit();
2846
+ }
2847
+ source.subscribe(createOperatorSubscriber(subscriber, (value) => {
2848
+ lastValue = value;
2849
+ lastTime = scheduler.now();
2850
+ if (!activeTask) {
2851
+ activeTask = scheduler.schedule(emitWhenIdle, dueTime);
2852
+ subscriber.add(activeTask);
2853
+ }
2854
+ }, () => {
2855
+ emit();
2856
+ subscriber.complete();
2857
+ }, undefined, () => {
2858
+ lastValue = activeTask = null;
2859
+ }));
2860
+ });
2861
+ }
2862
+
3089
2863
  function takeUntil(notifier) {
3090
2864
  return operate((source, subscriber) => {
3091
2865
  innerFrom(notifier).subscribe(createOperatorSubscriber(subscriber, () => subscriber.complete(), noop));
@@ -3141,11 +2915,11 @@ const PosApp = class {
3141
2915
  }
3142
2916
  }
3143
2917
  render() {
3144
- return index.h("slot", { key: '988c393af75e8bd0f4ff2b4c04fe33b1ed686fa7' });
2918
+ return index.h("slot", { key: '402887f3383b6053da157df211c28977720db8e2' });
3145
2919
  }
3146
2920
  };
3147
2921
 
3148
- const posAppBrowserCss = "pos-router {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\npos-navigation-bar {\n max-width: var(--width-lg);\n margin: 0;\n}\n\npos-add-new-thing,\npos-login {\n flex: 0 1 auto; /* Behält die Breite des Inhalts bei */\n}\n\nheader,\nfooter {\n display: flex;\n gap: var(--size-1);\n height: auto;\n justify-content: center;\n align-items: center;\n padding: var(--size-1);\n}\n\nfooter svg {\n width: var(--size-5);\n height: var(--size-5);\n}\n\nfooter {\n font-size: var(--scale-fluid-000);\n\n .settings {\n padding: 0 var(--size-1);\n text-decoration: none;\n background-color: var(--pos-background-color);\n border: 1px solid var(--pos-secondary-border-color);\n color: var(--pos-secondary-border-color);\n border-radius: var(--radius-xs);\n\n &:hover {\n background-color: var(--pos-secondary-border-color);\n color: var(--pos-background-color);\n }\n }\n}\n\nheader {\n flex-wrap: wrap;\n padding: 0 var(--size-8);\n}\n\nmain {\n flex: 1;\n max-height: 100vh;\n overflow: auto;\n}\n\n@media (max-width: 640px) {\n header {\n padding: 0 var(--size-1) var(--size-1);\n justify-content: space-between;\n }\n\n pos-navigation-bar {\n flex-basis: 100%;\n order: 0;\n }\n\n pos-add-new-thing,\n pos-login {\n order: 1;\n }\n}\n";
2922
+ const posAppBrowserCss = "pos-router {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\npos-navigation {\n max-width: var(--width-lg);\n margin: 0;\n min-width: var(--size-32);\n flex-shrink: 1; /* Ensure navigation can shrink */\n}\n\npos-add-new-thing,\npos-login {\n flex: 0 1 auto;\n flex-shrink: 0; /* Ensure those items don't shrink */\n}\n\nheader,\nfooter {\n display: flex;\n gap: var(--size-1);\n height: auto;\n justify-content: center;\n align-items: center;\n padding: var(--size-1);\n}\n\nfooter svg {\n width: var(--size-5);\n height: var(--size-5);\n}\n\nfooter {\n font-size: var(--scale-fluid-000);\n\n .settings {\n padding: 0 var(--size-1);\n text-decoration: none;\n background-color: var(--pos-background-color);\n border: 1px solid var(--pos-secondary-border-color);\n color: var(--pos-secondary-border-color);\n border-radius: var(--radius-xs);\n\n &:hover {\n background-color: var(--pos-secondary-border-color);\n color: var(--pos-background-color);\n }\n }\n}\n\nheader {\n flex-wrap: nowrap;\n padding: var(--size-1) var(--size-8);\n}\n\nmain {\n flex: 1;\n max-height: 100vh;\n overflow: auto;\n}\n\n@media (max-width: 640px) {\n header {\n padding: var(--size-1);\n justify-content: space-between;\n }\n}\n";
3149
2923
  const PosAppBrowserStyle0 = posAppBrowserCss;
3150
2924
 
3151
2925
  const PosAppBrowser = class {
@@ -3155,14 +2929,23 @@ const PosAppBrowser = class {
3155
2929
  /**
3156
2930
  * The mode the app is running in:
3157
2931
  *
3158
- * - standalone: use this when you deploy it as a standalone web application
2932
+ * - standalone: use this when you deploy it as a standalone web application
3159
2933
  * - pod: use this when you host this app as a default interface for you pod
3160
2934
  */
3161
2935
  this.mode = 'standalone';
3162
2936
  this.uri = '';
3163
2937
  }
3164
2938
  render() {
3165
- return (index.h(index.Host, { key: '50b6e91f4e98be29cfa37552eb799883aeb49c9e' }, index.h("pos-app", { key: '652617d5eaf3653caeb58b9e93dff09810a587a3', restorePreviousSession: this.restorePreviousSession }, index.h("pos-error-toast", { key: 'f4a29b30c2a4caece50c0da046426bc50a3b402e' }, index.h("pos-router", { key: 'd3f2307db47406c4d84c9b27ac767d263ae81c32', mode: this.mode, "onPod-os:route-changed": e => (this.uri = e.detail) }, index.h("header", { key: '521c8469dae209a27780d62a5922f8a15d393e07' }, index.h("pos-add-new-thing", { key: '2fdd9716da4b3590fb0983a4b50f8c63eca26dce', referenceUri: this.uri }), index.h("pos-navigation-bar", { key: '6add9651de9ff5ca8496470c0df1341927683001', uri: this.uri === 'pod-os:dashboard' ? '' : this.uri }), index.h("pos-login", { key: '87a60cc03fc63a2ca68b294726e7e44a09bdc835' })), index.h("main", { key: 'dd2b3de09ca7f8957b240b030cafeeac37e76c1b' }, this.uri.startsWith('pod-os:') ? (index.h("pos-internal-router", { uri: this.uri })) : (index.h("pos-resource", { key: this.uri, uri: this.uri }, index.h("pos-type-router", null)))), index.h("footer", { key: 'ea1444713656c8740d81c5ac777b72bb6e287729' }, index.h(Logo, { key: '1bba3eec9e30c30f9132a6524e00ec212169f402' }), index.h("span", { key: '3b38a5e1704559f271075b60a27d8334f41a09dc' }, "PodOS Browser"), index.h("span", { key: '848dd110da12d70ec7798bfcf042638af8f7b121' }, "|"), index.h("a", { key: '8b748b91e4ae5351d0b2081dcb2af09867a00aee', class: "settings", href: "?uri=pod-os%3Asettings" }, "\u2699 Settings")))))));
2939
+ return (index.h(index.Host, { key: 'd2c863f8abf790352cdf9c830a1baa8d7aee95a8' }, index.h("pos-app", { key: '163415bea00a0a18f5e97f5cb7f3e5b9f5910f61', restorePreviousSession: this.restorePreviousSession }, index.h("pos-error-toast", { key: '799735b00aff86946259013132079814520ced7e' }, index.h("pos-router", { key: 'bdb89d03d93937399ec38b0b2c1d695feea248b9', mode: this.mode, "onPod-os:route-changed": e => (this.uri = e.detail) }, index.h("header", { key: 'e828af57fa2d8842c058197a826ac488cbb2a968' }, index.h("pos-add-new-thing", { key: '28eed0a89a4e554e88ea4fce13b2dd59c5ce0149', referenceUri: this.uri }), index.h("pos-navigation", { key: '16a06ae6aea6ac316cacc4ffa52442b3ada62d62', uri: this.uri === 'pod-os:dashboard' ? '' : this.uri }), index.h("pos-login", { key: '9577c4aa8a18af341715b6e51946dbb4481ef963' })), index.h("main", { key: '73dc7ba162440c5198a31f5a4b060dc2c2d1c70a' }, this.mainContent()), index.h("footer", { key: 'cb18c8eb3abc1ee62426db39a61e650df2906241' }, index.h(Logo, { key: 'e9205f06faa7153310a17470f55b97a423cf6691' }), index.h("span", { key: '7be0a255d0ca50d961f122fdfc9fd3bb3fdfd624' }, "PodOS Browser"), index.h("span", { key: '3ed17bc88faffbcfa973278c76f63a2a199ec026' }, "|"), index.h("a", { key: 'ab88d3e93e59b918dd21b8cd42b70522dc532730', class: "settings", href: "?uri=pod-os%3Asettings" }, "\u2699 Settings")))))));
2940
+ }
2941
+ mainContent() {
2942
+ if (this.uri === '') {
2943
+ return null;
2944
+ }
2945
+ if (this.uri.startsWith('pod-os:')) {
2946
+ return index.h("pos-internal-router", { uri: this.uri });
2947
+ }
2948
+ return (index.h("pos-resource", { key: this.uri, uri: this.uri }, index.h("pos-type-router", null)));
3166
2949
  }
3167
2950
  };
3168
2951
  const Logo = () => {
@@ -3203,7 +2986,7 @@ const PosAppSettings = class {
3203
2986
  index.registerInstance(this, hostRef);
3204
2987
  }
3205
2988
  render() {
3206
- return index.h("pos-setting-offline-cache", { key: 'f065206f6291089773a19045243f04b6ce35eeb9' });
2989
+ return index.h("pos-setting-offline-cache", { key: '0da588136a4c7c4238e0387bfe0649464ccd1c7d' });
3207
2990
  }
3208
2991
  };
3209
2992
  PosAppSettings.style = PosAppSettingsStyle0;
@@ -3238,7 +3021,7 @@ const PosDialog = class {
3238
3021
  this.dialog.close();
3239
3022
  }
3240
3023
  render() {
3241
- return (index.h(index.Host, { key: '168dc7d1cf3feabd5f9b2b3f9add6b04467b36ef' }, index.h("dialog", { key: '8bbfb245d9ff066d111c116c1715be25b0907403', ref: el => (this.dialog = el) }, index.h("header", { key: '94e28eb2b8147cb6b2aedda0d8e6a5158117788e' }, index.h("slot", { key: 'a40c2d397b9f54056d4fd8089fdfcc1e446b6d61', name: "title" }), index.h("button", { key: 'f0f64f5aaafc331f9e3d0fb6201c453600157db1', tabindex: -1, id: "close", title: "Close", onClick: () => this.close() }, index.h("ion-icon", { key: 'd94a0cf3d19d7caa3717690004101e3ff4748760', name: "close-outline" }))), index.h("slot", { key: '3181fafe55869add4a587bf4726226055e98588d', name: "content" }))));
3024
+ return (index.h(index.Host, { key: '307e23d3f92eae595a6bb9fd3e2487387d9b02c2' }, index.h("dialog", { key: '4c21714a0e2e84d809fe46b75d875c961ff8240c', ref: el => (this.dialog = el) }, index.h("header", { key: '0b9276c31a8deffa524a65b744d0ced04a753c1b' }, index.h("slot", { key: 'f4bcf72fcb25ea2619a0d7a40f524a10a91c0ca6', name: "title" }), index.h("button", { key: '8afb0911e29f8b4c81ff31f498266b398125327a', tabindex: -1, id: "close", title: "Close", onClick: () => this.close() }, index.h("ion-icon", { key: '464669b8a7f2aa1a1d274f933bb394a61abffc99', name: "close-outline" }))), index.h("slot", { key: 'f9fa43f73f8c295b6c728b4c7e7e3bf5c3be8948', name: "content" }))));
3242
3025
  }
3243
3026
  };
3244
3027
  PosDialog.style = PosDialogStyle0;
@@ -3273,7 +3056,7 @@ const PosErrorToast = class {
3273
3056
  await toast.present();
3274
3057
  }
3275
3058
  render() {
3276
- return (index.h(index.Host, { key: 'c1ee5f8a19177c79a3fe377fa27e4a32ffa9db9f' }, index.h("ion-toast", { key: '8759a3436a5caa16a11a2900a5f67d0dd205d097', trigger: "never", message: "Workarround to preload ion-toast and ion-ripple-effect to be able to show errors while offline", duration: 0 }, index.h("ion-ripple-effect", { key: '990aa24f2a18750ec5307498acda539b784c86c4' })), index.h("slot", { key: 'bea0650cc211dc2a161e7c634825adc045647d84' })));
3059
+ return (index.h(index.Host, { key: '0dce513e04101d3b9011c635f5aab8897a246385' }, index.h("ion-toast", { key: '956224c61589fca317f8143055344c857aa894cf', trigger: "never", message: "Workarround to preload ion-toast and ion-ripple-effect to be able to show errors while offline", duration: 0 }, index.h("ion-ripple-effect", { key: 'e96e65e2f06b61970e241639e7c429a90404517e' })), index.h("slot", { key: '8869125c64fb97f9736e30df0a748c9ce6aec1da' })));
3277
3060
  }
3278
3061
  };
3279
3062
 
@@ -3290,15 +3073,16 @@ const PosExampleResources = class {
3290
3073
  };
3291
3074
  PosExampleResources.style = PosExampleResourcesStyle0;
3292
3075
 
3293
- const posGettingStartedCss = ":host{border:var(--size-px) solid var(--pos-border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--size-8);max-width:var(--size-96);background:var(--pos-card-background)}.question{font-weight:var(--weight-semibold)}a{font-weight:var(--weight-bold);color:var(--pos-primary-color)}";
3076
+ const posGettingStartedCss = ":host{border:var(--size-px) solid var(--pos-border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--size-8);max-width:var(--size-96);background:var(--pos-card-background)}.question{font-weight:var(--weight-semibold)}a{font-weight:var(--weight-bold);color:var(--pos-primary-color)}button.login{background:none;color:var(--pos-primary-color);display:inline;text-decoration:underline;border:none;padding:0;margin:0;cursor:pointer;font-size:unset}";
3294
3077
  const PosGettingStartedStyle0 = posGettingStartedCss;
3295
3078
 
3296
3079
  const PosGettingStarted = class {
3297
3080
  constructor(hostRef) {
3298
3081
  index.registerInstance(this, hostRef);
3082
+ this.login = index.createEvent(this, "pod-os:login", 7);
3299
3083
  }
3300
3084
  render() {
3301
- return (index.h(index.Host, { key: 'a31a64545a5960ce8e34f0c612d2755e465c1131' }, index.h("div", { key: '29ec2c449fd5334e47199dece7c01c2a71ab6d98' }, index.h("h2", { key: 'e680003831826c8cd4615de083f9f9c305513c29' }, "Getting started \uD83D\uDE80"), index.h("p", { key: '8e80305087bee4c8ec05ac7cb16096caf0c61ad0' }, "\uD83D\uDD0E Enter a URL into the above navigation bar to browse through the web of data. "), index.h("p", { key: '4d7ba95047694e636934cb7a03c291adb0678bb6' }, "\uD83D\uDD10 Sign in to access private resources on your Solid Pod or those of your friends or coworkers.")), index.h("div", { key: '167ac903fa88b9be6cf00f2f5bfea23d8dfd14c9' }, index.h("p", { key: 'a0b06f944e534b889502a96c935686a3b7f349d0', class: "question" }, "New to Solid?"), index.h("p", { key: '8c26c4d20d0fcdb075ad4c0ea5ff012d22dee081' }, index.h("a", { key: 'd9bc5b7bfd213012078729e25e42b4ea8b970573', href: "https://solidproject.org/for-developers#hosted-pod-services" }, "Get a Pod \u2192"))), index.h("div", { key: '223f171699e3acf5f1c5c4819621bddc49db41f1' }, index.h("p", { key: 'e83cfd2b01c5abaf30f0053ef261c68ae0919f0a', class: "question" }, "Want to dig deeper into PodOS?"), index.h("p", { key: '8ccdbd60a250850c4105e99545f09755109ced86' }, index.h("a", { key: 'f72a83533b846bd8e8e798b0dd71cfc585a8d104', href: "http://pod-os.org" }, "Learn more \u2192")))));
3085
+ return (index.h(index.Host, { key: '963476081378811bc5623921ca7f4dc5ac18b9f7' }, index.h("div", { key: 'df6a7a5bab3c026d1960c03a4d008f8bff0b1c9d' }, index.h("h2", { key: '9e7a1e2c081f87275641fe99afb72c1f8ef65115' }, "Getting started \uD83D\uDE80"), index.h("p", { key: 'dac8ca58a733d66ab80fa79ef59d62a254b3b83f' }, "\uD83D\uDD0E Enter a URL into the above navigation bar to browse through the web of data. "), index.h("p", { key: 'c90fbc4f7c09893f6ded65befe4c77f673df6db2' }, "\uD83D\uDD10", ' ', index.h("button", { key: '2688b10503c6d518a7a48601f35e1f20741d71c7', class: "login", onClick: () => this.login.emit() }, "Sign in"), ' ', "to access private resources on your Solid Pod or those of your friends or coworkers.")), index.h("div", { key: '5990c65adc978df16ec7b73c3be2b6b4b3a48ce3' }, index.h("p", { key: '8fd4cb0941da30c3b438338a557a6d4fb9d7ff33', class: "question" }, "New to Solid?"), index.h("p", { key: 'd6b06063acaac1d55dc0aea86c3d80f4e7c8ca6f' }, index.h("a", { key: 'b0a49b4e170c89f736cf9bd2dd567cfafbcec31c', href: "https://solidproject.org/for-developers#hosted-pod-services" }, "Get a Pod \u2192"))), index.h("div", { key: '7c88ea4bb3982346343cf10e6196d2d07057a24e' }, index.h("p", { key: '22cfb601fada05ca7b5f274f0b6a81d360344764', class: "question" }, "Want to dig deeper into PodOS?"), index.h("p", { key: 'fb03d0f84714feb53b1b053390a5e7b9686e610e' }, index.h("a", { key: '1681d6d1c860589ca1624abc3c05121ccde3f951', href: "http://pod-os.org" }, "Learn more \u2192")))));
3302
3086
  }
3303
3087
  };
3304
3088
  PosGettingStarted.style = PosGettingStartedStyle0;
@@ -3410,11 +3194,13 @@ const PosLogin = class {
3410
3194
  constructor(hostRef) {
3411
3195
  index.registerInstance(this, hostRef);
3412
3196
  this.initializeOsEmitter = index.createEvent(this, "pod-os:init", 7);
3197
+ this.customLoggedInComponent = false;
3413
3198
  this.setOs = async (os) => {
3414
3199
  this.os = os;
3415
3200
  };
3416
3201
  }
3417
3202
  componentWillLoad() {
3203
+ this.customLoggedInComponent = !!this.host.querySelector('[slot="if-logged-in"]');
3418
3204
  this.initializeOsEmitter.emit(this.setOs);
3419
3205
  }
3420
3206
  login(event) {
@@ -3424,12 +3210,25 @@ const PosLogin = class {
3424
3210
  logout() {
3425
3211
  this.os.logout();
3426
3212
  }
3213
+ onLogin() {
3214
+ this.openDialog();
3215
+ }
3427
3216
  openDialog() {
3428
3217
  this.dialog.showModal();
3429
3218
  }
3430
3219
  render() {
3431
- return (index.h(index.Host, { key: '6349e0939fb22cddc9a6e47d424ce2badd518dcd' }, index.h("div", { key: '940d720ae5a7b951fe4a1bf411e463add43d93d0', class: "container" }, BrokenFile.store.state.isLoggedIn ? (index.h("pos-resource", { uri: BrokenFile.store.state.webId }, index.h("span", { class: "user-data" }, index.h("pos-picture", null), index.h("pos-label", null)))) : (''), !BrokenFile.store.state.isLoggedIn && (index.h("button", { key: '40aeea2f9686c9792c3952f8b899f9e819895bae', id: "login", onClick: () => this.openDialog() }, "Login")), BrokenFile.store.state.isLoggedIn && (index.h("button", { key: 'dd8129f4ae6b590231c33d072f4094b7bfc99da5', id: "logout", onClick: () => this.logout() }, "Logout"))), index.h("pos-dialog", { key: '33278d394f830f5c6040c3c22dc720440dd9d75c', ref: el => (this.dialog = el) }, index.h("span", { key: '96d3c645cacb1b38bd9adca8562ae4068eeabe11', slot: "title" }, "Sign in to your Pod"), index.h("pos-login-form", { key: '0c296b68774e4e2c1ed6091c305348b36e80178f', "onPod-os:idp-url-selected": ev => this.login(ev), slot: "content" }))));
3220
+ return (index.h(index.Host, { key: '5919c664924fc9020d2003b286178bbaadcbc749' }, index.h("div", { key: '7a4dbc59b515c9e7834a506795c51aaba1a95d4c', class: "container" }, !BrokenFile.store.state.isLoggedIn ? (index.h("button", { id: "login", onClick: () => this.openDialog() }, "Login")) : (this.loggedInComponents())), index.h("pos-dialog", { key: 'fb0a021cc751223a3bd3bf3b7ef4efd8e14e24af', ref: el => (this.dialog = el) }, index.h("span", { key: '0b652f2575bb2d037e05dbdbbaade37c3229e4f9', slot: "title" }, "Sign in to your Pod"), index.h("pos-login-form", { key: '4927ad17b14afd59509126ae5620fc34a381829e', "onPod-os:idp-url-selected": ev => this.login(ev), slot: "content" }))));
3432
3221
  }
3222
+ loggedInComponents() {
3223
+ return this.customLoggedInComponent ? index.h("slot", { name: "if-logged-in" }) : this.defaultLoggedInComponents();
3224
+ }
3225
+ defaultLoggedInComponents() {
3226
+ return [
3227
+ index.h("pos-resource", { uri: BrokenFile.store.state.webId }, index.h("span", { class: "user-data" }, index.h("pos-picture", null), index.h("pos-label", null))),
3228
+ index.h("button", { id: "logout", onClick: () => this.logout() }, "Logout"),
3229
+ ];
3230
+ }
3231
+ get host() { return index.getElement(this); }
3433
3232
  };
3434
3233
  PosLogin.style = PosLoginStyle0;
3435
3234
 
@@ -3447,7 +3246,7 @@ const PosLoginForm = class {
3447
3246
  this.canSubmit = Boolean(this.idpUrl);
3448
3247
  }
3449
3248
  render() {
3450
- return (index.h("form", { key: '193d3790329d1480fd6b14fd55a0d8cee8ce61dd', method: "dialog", onSubmit: () => this.handleSubmit() }, index.h("label", { key: 'd85ea6b508c9f229e1125f8cc97092335458b94a', htmlFor: "idpUrl" }, "Please enter your Identity Provider"), index.h("input", { key: 'a2f5e9955b27a8c1fab14c8f087fab167a19dc9a', id: "idpUrl", type: "url", value: this.idpUrl, required: true, onInput: e => this.handleChange(e), list: "suggestedIssuers", placeholder: "Type to search..." }), index.h("datalist", { key: 'fa0924b31e1a4fcdc794931dd2073022ab4ce95b', id: "suggestedIssuers" }, index.h("option", { key: 'c3495be7c2a98494ac3ca7fe504edd4b1b232394', value: "https://solidcommunity.net" }, "solidcommunity.net"), index.h("option", { key: '7fd17434388ed31468df8682dcfc2b4263c27ccb', value: "https://solidweb.org" }, "solidweb.org"), index.h("option", { key: '4c2a5854fc2499198b289181136cbd0a2fd9c1e1', value: "https://solidweb.me" }, "solidweb.me"), index.h("option", { key: '02a81104db23c62e0d42b8b45b95eccbd16fc108', value: "https://inrupt.net" }, "inrupt.net"), index.h("option", { key: 'd7c15dca86800cafc5a974920e40bd117fa50194', value: "https://login.inrupt.com" }, "Inrupt PodSpaces"), index.h("option", { key: '93ff71136f1775098fda80db5d437f37b51c496f', value: "https://trinpod.us" }, "trinpod.us"), index.h("option", { key: '481f1630526e324cb24b38c0077b1aeb496b4690', value: "https://use.id" }, "use.id"), index.h("option", { key: 'abd85ffba7532ba488bf0a4c18a2da2f3dc481ee', value: "https://solid.redpencil.io" }, "redpencil.io"), index.h("option", { key: '339562d277c4af2e10344f385d00aa4cc37375fa', value: "https://datapod.grant.io" }, "Data Pod (grant.io)"), index.h("option", { key: '918224ac5af806666a7b77bc8049dcf79800ab8c', value: "https://teamid.live" }, "teamid.live")), index.h("input", { key: '1ad3ef7998237d30c5eaf5bc9eebe55ede09d0a8', id: "login", type: "submit", value: "Login", disabled: !this.canSubmit })));
3249
+ return (index.h("form", { key: 'ddd05b4f905b65b2b5da556b3e9562bbff1812b0', method: "dialog", onSubmit: () => this.handleSubmit() }, index.h("label", { key: 'a23f430387db8339efe42d680d0659122b4503c2', htmlFor: "idpUrl" }, "Please enter your Identity Provider"), index.h("input", { key: '23c7209c3a4ecd79f305dc23961508f41ede85d3', id: "idpUrl", type: "url", value: this.idpUrl, required: true, onInput: e => this.handleChange(e), list: "suggestedIssuers", placeholder: "Type to search..." }), index.h("datalist", { key: '663730bddeb65eb5c58116ea329e00eee4b64a0f', id: "suggestedIssuers" }, index.h("option", { key: '71f0b94980ae6b38732f5f4319e1a5d4dad36f77', value: "https://solidcommunity.net" }, "solidcommunity.net"), index.h("option", { key: 'a18600e5fd7c6892f64b1b8e70480d564e9c39f6', value: "https://solidweb.org" }, "solidweb.org"), index.h("option", { key: '5528ee847f979c29d8d9725a13d51f7ae88cb82c', value: "https://solidweb.me" }, "solidweb.me"), index.h("option", { key: '9f1b85fbc78dc9870112053c61ece17d20dd89ec', value: "https://inrupt.net" }, "inrupt.net"), index.h("option", { key: '6bdaac53eae2b6830a2146e980542565dead33b7', value: "https://login.inrupt.com" }, "Inrupt PodSpaces"), index.h("option", { key: 'd5f243d1e7656bbca35b1c9920d4e2b867abed68', value: "https://trinpod.us" }, "trinpod.us"), index.h("option", { key: '1a9f2aab20d25a09b31ae47858c638e065ac27b5', value: "https://use.id" }, "use.id"), index.h("option", { key: 'f275d341b26be71158d6e5bd44ed138f54da823e', value: "https://solid.redpencil.io" }, "redpencil.io"), index.h("option", { key: '0945f4829972e9bdb37deb406d24d63e5bf30e8f', value: "https://datapod.grant.io" }, "Data Pod (grant.io)"), index.h("option", { key: '4cce12430b365c241a126ece63865c8dfa6e195e', value: "https://teamid.live" }, "teamid.live")), index.h("input", { key: 'd46215b8314e845b4ba6df750537ec6c8a14f8ed', id: "login", type: "submit", value: "Login", disabled: !this.canSubmit })));
3451
3250
  }
3452
3251
  handleChange(event) {
3453
3252
  this.validate();
@@ -3463,7 +3262,7 @@ const PosLoginForm = class {
3463
3262
  };
3464
3263
  PosLoginForm.style = PosLoginFormStyle0;
3465
3264
 
3466
- const posMakeFindableCss = "button.main {\n display: flex;\n transition:\n width 200ms,\n background-color 500ms,\n color 500ms,\n border-color 500ms;\n max-width: var(--size-40);\n flex-direction: row;\n overflow: hidden;\n height: var(--size-8);\n width: var(--size-8);\n align-items: center;\n justify-content: center;\n border-radius: var(--radius-xs);\n color: var(--pos-subtle-text-color);\n border: var(--size-px) dashed var(--pos-subtle-text-color);\n background-color: var(--pos-background-color);\n\n p {\n padding: 0;\n margin: 0;\n display: none;\n white-space: nowrap;\n }\n\n &.success {\n color: var(--color-green-700);\n border-color: var(--color-green-700);\n border-style: solid;\n background-color: var(--color-green-100);\n }\n\n &:active {\n transform: scale(0.99);\n filter: brightness(90%);\n }\n}\n\n.options {\n position: absolute;\n animation: fadeIn 300ms;\n padding: 0;\n margin-top: var(--size-1);\n z-index: var(--layer-top);\n\n ol {\n display: flex;\n flex-direction: column;\n box-shadow: var(--shadow-md);\n backdrop-filter: var(--blur-md);\n border-radius: var(--radius-xs);\n overflow: hidden;\n color: var(--color-grey-900);\n background-color: var(--color-grey-200);\n padding: 0;\n margin: 0;\n list-style: none;\n label {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n transition: all 300ms var(--ease-in-out-sine);\n margin: 0;\n border: none;\n outline: none;\n padding: var(--size-2);\n width: var(--size-full);\n\n &:hover,\n &:focus {\n filter: brightness(80%);\n }\n\n &:active {\n filter: brightness(90%);\n }\n }\n }\n label:has(input:checked) {\n background-color: var(--color-green-100);\n }\n}\n\nsvg {\n display: inline-block;\n height: var(--size-6);\n flex-shrink: 0;\n flex-grow: 0;\n width: var(--size-6);\n}\n\nbutton.main:hover,\nbutton.open {\n &.success {\n background: var(--color-green-200);\n }\n width: var(--size-full);\n height: var(--size-8);\n background: var(--pos-background-color);\n color: var(--pos-normal-text-color);\n\n p {\n display: inline-block;\n }\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n";
3265
+ const posMakeFindableCss = "button.main {\n display: flex;\n transition:\n width 200ms,\n background-color 500ms,\n color 500ms,\n border-color 500ms;\n max-width: var(--size-40);\n flex-direction: row;\n overflow: hidden;\n height: var(--pos-navigation-bar-height);\n width: var(--pos-navigation-bar-height);\n align-items: center;\n justify-content: center;\n border-radius: var(--radius-md);\n color: var(--pos-subtle-text-color);\n border: var(--size-px) dashed var(--pos-subtle-text-color);\n background-color: var(--pos-background-color);\n\n p {\n padding: 0;\n margin: 0;\n display: none;\n white-space: nowrap;\n }\n\n &.success {\n color: var(--color-green-700);\n border-color: var(--color-green-700);\n border-style: solid;\n background-color: var(--color-green-100);\n }\n\n &:active {\n transform: scale(0.99);\n filter: brightness(90%);\n }\n &:focus {\n outline: var(--pos-input-focus-outline);\n }\n}\n\n.options {\n position: absolute;\n animation: fadeIn 300ms;\n padding: 0;\n margin-top: var(--size-1);\n z-index: var(--layer-top);\n\n ol {\n display: flex;\n flex-direction: column;\n box-shadow: var(--shadow-md);\n backdrop-filter: var(--blur-md);\n border-radius: var(--radius-xs);\n overflow: hidden;\n color: var(--color-grey-900);\n background-color: var(--color-grey-200);\n padding: 0;\n margin: 0;\n list-style: none;\n label {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n transition: all 300ms var(--ease-in-out-sine);\n margin: 0;\n border: none;\n outline: none;\n padding: var(--size-2);\n width: var(--size-full);\n\n &:hover,\n &:focus {\n filter: brightness(80%);\n }\n\n &:active {\n filter: brightness(90%);\n }\n }\n }\n label:has(input:checked) {\n background-color: var(--color-green-100);\n }\n}\n\nsvg {\n display: inline-block;\n height: var(--size-6);\n flex-shrink: 0;\n flex-grow: 0;\n width: var(--size-6);\n}\n\nbutton.main:hover,\nbutton.open {\n &.success {\n background: var(--color-green-200);\n }\n width: var(--size-full);\n height: var(--pos-navigation-bar-height);\n background: var(--pos-background-color);\n color: var(--pos-normal-text-color);\n\n p {\n display: inline-block;\n }\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n";
3467
3266
  const PosMakeFindableStyle0 = posMakeFindableCss;
3468
3267
 
3469
3268
  const PosMakeFindable = class {
@@ -3511,7 +3310,7 @@ const PosMakeFindable = class {
3511
3310
  }
3512
3311
  getLabelIndexes(profile) {
3513
3312
  if (profile) {
3514
- this.indexes = profile.getPrivateLabelIndexes().map(it => this.os.store.get(it).assume(index$6.LabelIndex));
3313
+ this.indexes = profile.getPrivateLabelIndexes().map(it => this.os.store.get(it).assume(index$5.LabelIndex));
3515
3314
  this.isIndexed = this.checkIfIndexed(this.uri);
3516
3315
  }
3517
3316
  }
@@ -3570,25 +3369,44 @@ const IconMakeFindable = () => (index.h("svg", { role: "presentation", xmlns: "h
3570
3369
  const IconSuccess = () => (index.h("svg", { role: "presentation", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M10.125 2.25h-4.5c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125v-9M10.125 2.25h.375a9 9 0 0 1 9 9v.375M10.125 2.25A3.375 3.375 0 0 1 13.5 5.625v1.5c0 .621.504 1.125 1.125 1.125h1.5a3.375 3.375 0 0 1 3.375 3.375M9 15l2.25 2.25L15 12" })));
3571
3370
  PosMakeFindable.style = PosMakeFindableStyle0;
3572
3371
 
3573
- const posNavigationBarCss = ".suggestions ol {\n border: 1px solid var(--pos-border-color);\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 position: relative;\n li {\n padding: 1rem;\n background-color: var(--pos-background-color);\n pos-rich-link {\n --background-color: inherit;\n }\n &.selected {\n background-color: var(--pos-primary-color);\n &:hover {\n background-color: var(--pos-primary-color);\n }\n }\n &:hover {\n background-color: var(--pos-border-color);\n }\n }\n}\n\n.suggestions li.selected pos-rich-link {\n --label-color: white;\n --description-color: var(--pos-border-color);\n --uri-color: var(--pos-subtle-text-color);\n}\n\nion-searchbar {\n width: 100%;\n}\n\nform {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.bar {\n flex-grow: 1;\n}\n";
3574
- const PosNavigationBarStyle0 = posNavigationBarCss;
3372
+ const posNavigationCss = ":host {\n --pos-navigation-bar-height: var(--size-10);\n}\n\nsearch {\n position: relative;\n}\n\n.suggestions ol {\n border: 1px solid var(--pos-border-color);\n display: flex;\n flex-direction: column;\n margin: 0;\n padding: 0;\n list-style-type: none;\n}\n\n.suggestions {\n width: 100%;\n overflow-y: auto;\n max-height: 90dvh;\n li {\n padding: 1rem;\n background-color: var(--pos-background-color);\n pos-rich-link {\n --background-color: inherit;\n }\n &[aria-selected='true'] {\n background-color: var(--pos-primary-color);\n &:hover {\n background-color: var(--pos-primary-color);\n }\n }\n &:hover {\n background-color: var(--pos-border-color);\n }\n }\n}\n\n.suggestions li.selected pos-rich-link {\n --label-color: white;\n --description-color: var(--pos-border-color);\n --uri-color: var(--pos-subtle-text-color);\n}\n\ndialog {\n position: absolute;\n margin-top: calc(-1 * var(--pos-navigation-bar-height));\n padding: 0;\n width: 100%;\n max-width: 100%;\n min-width: 100%;\n overflow: hidden;\n max-height: 100dvh;\n background-color: var(--pos-background-color);\n color: var(--pos-normal-text-color);\n border: var(--pos-border-color);\n border-radius: var(--radius-md);\n box-shadow: var(--shadow-md);\n form {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n align-items: center;\n input {\n display: flex;\n font-size: var(--scale-1);\n height: var(--pos-navigation-bar-height);\n border-top-left-radius: var(--radius-md);\n border-top-right-radius: var(--radius-md);\n padding-left: var(--size-2);\n width: 100%;\n border: none;\n outline: none;\n color: var(--pos-normal-text-color);\n background-color: var(--pos-input-background-color);\n box-sizing: border-box;\n }\n }\n}\n\ndialog[open] {\n display: flex;\n z-index: var(--layer-top);\n animation: slideIn 100ms ease-out;\n}\n\n@media (max-width: 640px) {\n search {\n position: unset;\n }\n dialog {\n margin-top: var(--size-1);\n top: 0;\n width: 95dvw;\n max-width: unset;\n min-width: unset;\n form {\n input {\n height: var(--size-12);\n font-size: var(--scale-fluid-3);\n }\n }\n }\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n";
3373
+ const PosNavigationStyle0 = posNavigationCss;
3575
3374
 
3576
- const PosNavigationBar = class {
3375
+ const PosNavigation = class {
3577
3376
  constructor(hostRef) {
3578
3377
  index.registerInstance(this, hostRef);
3579
3378
  this.subscribePodOs = index.createEvent(this, "pod-os:init", 7);
3580
3379
  this.linkEmitter = index.createEvent(this, "pod-os:link", 7);
3380
+ /**
3381
+ * Initial value of the navigation bar
3382
+ */
3581
3383
  this.uri = '';
3582
- this.value = this.uri;
3384
+ /**
3385
+ * Current value of the input field
3386
+ */
3387
+ this.inputValue = this.uri;
3583
3388
  this.searchIndex = undefined;
3584
3389
  this.suggestions = [];
3585
3390
  this.selectedIndex = -1;
3391
+ this.resource = null;
3392
+ this.changeEvents = new Subject();
3393
+ this.debouncedSearch = null;
3586
3394
  this.receivePodOs = async (os) => {
3587
3395
  this.os = os;
3588
3396
  };
3589
3397
  }
3398
+ updateResource() {
3399
+ var _a;
3400
+ try {
3401
+ this.resource = this.uri ? (_a = this.os) === null || _a === void 0 ? void 0 : _a.store.get(this.uri) : null;
3402
+ }
3403
+ catch (_b) {
3404
+ this.resource = null;
3405
+ }
3406
+ }
3590
3407
  componentWillLoad() {
3591
3408
  PodOsAware.subscribePodOs(this);
3409
+ this.updateResource();
3592
3410
  BrokenFile.store.onChange('isLoggedIn', async (isLoggedIn) => {
3593
3411
  if (isLoggedIn) {
3594
3412
  await this.buildSearchIndex();
@@ -3597,6 +3415,11 @@ const PosNavigationBar = class {
3597
3415
  this.clearSearchIndex();
3598
3416
  }
3599
3417
  });
3418
+ this.debouncedSearch = this.changeEvents.pipe(debounceTime(300)).subscribe(() => this.search());
3419
+ }
3420
+ disconnectedCallback() {
3421
+ var _a;
3422
+ (_a = this.debouncedSearch) === null || _a === void 0 ? void 0 : _a.unsubscribe();
3600
3423
  }
3601
3424
  async buildSearchIndex() {
3602
3425
  this.searchIndex = await this.os.buildSearchIndex(BrokenFile.store.state.profile);
@@ -3604,16 +3427,33 @@ const PosNavigationBar = class {
3604
3427
  rebuildSearchIndex() {
3605
3428
  this.searchIndex.rebuild();
3606
3429
  }
3430
+ openNavigationDialog(e) {
3431
+ var _a, _b;
3432
+ this.resource = e.detail;
3433
+ if (e.detail) {
3434
+ this.inputValue = e.detail.uri;
3435
+ this.search();
3436
+ }
3437
+ (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.select();
3438
+ (_b = this.dialogRef) === null || _b === void 0 ? void 0 : _b.show();
3439
+ }
3607
3440
  clearSearchIndex() {
3608
3441
  var _a;
3609
3442
  (_a = this.searchIndex) === null || _a === void 0 ? void 0 : _a.clear();
3610
3443
  }
3611
3444
  onChange(event) {
3612
- this.value = event.detail.value;
3613
- this.search();
3445
+ this.inputValue = event.target.value;
3446
+ this.changeEvents.next();
3447
+ }
3448
+ closeDialog() {
3449
+ var _a;
3450
+ (_a = this.dialogRef) === null || _a === void 0 ? void 0 : _a.close();
3451
+ this.selectedIndex = -1;
3614
3452
  }
3615
3453
  clearSuggestions() {
3454
+ var _a;
3616
3455
  this.suggestions = [];
3456
+ (_a = this.dialogRef) === null || _a === void 0 ? void 0 : _a.close();
3617
3457
  this.selectedIndex = -1;
3618
3458
  }
3619
3459
  onClickSelf(event) {
@@ -3621,7 +3461,7 @@ const PosNavigationBar = class {
3621
3461
  }
3622
3462
  handleKeyDown(ev) {
3623
3463
  if (ev.key === 'Escape') {
3624
- this.clearSuggestions();
3464
+ this.closeDialog();
3625
3465
  }
3626
3466
  else if (ev.key === 'ArrowDown') {
3627
3467
  ev.preventDefault();
@@ -3634,20 +3474,50 @@ const PosNavigationBar = class {
3634
3474
  }
3635
3475
  search() {
3636
3476
  if (this.searchIndex) {
3637
- this.suggestions = this.value ? this.searchIndex.search(this.value) : [];
3477
+ this.suggestions = this.inputValue ? this.searchIndex.search(this.inputValue) : [];
3638
3478
  }
3639
3479
  }
3640
- onSubmit(event) {
3641
- event.preventDefault();
3480
+ onSubmit() {
3642
3481
  if (this.suggestions && this.selectedIndex > -1) {
3643
3482
  this.linkEmitter.emit(this.suggestions[this.selectedIndex].ref);
3644
3483
  }
3645
3484
  else {
3646
- this.linkEmitter.emit(this.value);
3485
+ this.linkEmitter.emit(this.inputValue);
3647
3486
  }
3648
3487
  }
3649
3488
  render() {
3650
- return (index.h("form", { key: 'e92382c2024642ea5c0b5abb00f1759003f74c78', onSubmit: e => this.onSubmit(e) }, this.searchIndex && this.uri ? index.h("pos-make-findable", { uri: this.uri }) : '', index.h("div", { key: 'c32607860e8aa1fe6d6d182c0e2a056f40b6f1b7', class: "bar" }, index.h("ion-searchbar", { key: '6f281c307640200da6c57a0660e27901f55d375d', enterkeyhint: "search", placeholder: "Search or enter URI", value: this.uri, debounce: 300, onIonChange: e => this.onChange(e), onIonInput: e => this.onChange(e) }), this.suggestions.length > 0 ? (index.h("div", { class: "suggestions" }, index.h("ol", null, this.suggestions.map((it, index$1) => (index.h("li", { class: index$1 === this.selectedIndex ? 'selected' : '' }, index.h("pos-rich-link", { uri: it.ref }))))))) : null)));
3489
+ return (index.h("nav", { key: '5c6c07b6b2f9ccb0e45bd59b5e477d8ed3d52c2d' }, index.h("search", { key: '19997ad34212d679547ad5e1bb2f5ea53e576361' }, index.h("pos-navigation-bar", { key: '2d1c073b2c53ba8cd5afbb595cc95015e5a50e5b', searchIndexReady: this.searchIndex !== undefined, current: this.resource }), index.h("dialog", { key: '55de5a58604feaf54426b643b434560dbc55a9a1', ref: el => (this.dialogRef = el) }, index.h("form", { key: '50c064938ec275b53bde81d9bb6c86e0c708a625', method: "dialog", onSubmit: () => this.onSubmit() }, index.h("input", { key: 'ca06fd69e8346cb8bb0868560f39987b4545c8f5', ref: el => (this.inputRef = el), enterkeyhint: "search", "aria-label": "Search or enter URI", placeholder: "Search or enter URI", value: this.uri, onChange: e => this.onChange(e), onInput: e => this.onChange(e), role: "combobox", "aria-autocomplete": "list", "aria-expanded": this.suggestions.length > 0, "aria-controls": "suggestions-list", "aria-activedescendant": this.selectedIndex >= 0 ? `option-${this.selectedIndex}` : null }), this.suggestions.length > 0 ? (index.h("div", { class: "suggestions" }, index.h("ol", { id: "suggestions-list", role: "listbox", "aria-label": "Search results" }, this.suggestions.map((it, index$1) => (index.h("li", { id: `option-${index$1}`, role: "option", "aria-selected": index$1 === this.selectedIndex ? 'true' : 'false' }, index.h("pos-rich-link", { uri: it.ref }))))))) : null)))));
3490
+ }
3491
+ static get watchers() { return {
3492
+ "uri": ["updateResource"],
3493
+ "os": ["updateResource"]
3494
+ }; }
3495
+ };
3496
+ PosNavigation.style = PosNavigationStyle0;
3497
+
3498
+ const posNavigationBarCss = "section.current {\n display: flex;\n height: var(--pos-navigation-bar-height);\n flex-grow: 1;\n gap: 0;\n background-color: var(--pos-input-background-color);\n border-radius: var(--radius-md);\n width: 100%;\n &:focus-within {\n outline: var(--pos-input-focus-outline);\n }\n}\n\nsection.current button {\n cursor: pointer;\n font-size: var(--scale-1);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n background: none;\n color: var(--pos-normal-text-color);\n outline: none;\n border: none;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n &:focus {\n text-decoration: underline;\n }\n :first-child {\n flex-grow: 1;\n }\n svg {\n width: var(--size-6);\n color: var(--pos-subtle-text-color);\n }\n}\n";
3499
+ const PosNavigationBarStyle0 = posNavigationBarCss;
3500
+
3501
+ const PosNavigationBar = class {
3502
+ constructor(hostRef) {
3503
+ index.registerInstance(this, hostRef);
3504
+ this.navigate = index.createEvent(this, "pod-os:navigate", 7);
3505
+ }
3506
+ onClick() {
3507
+ this.navigate.emit(this.current);
3508
+ }
3509
+ activate(e) {
3510
+ if ((e.ctrlKey || e.metaKey) && e.key === 'k') {
3511
+ e.preventDefault();
3512
+ this.navigate.emit(this.current);
3513
+ }
3514
+ }
3515
+ render() {
3516
+ const ariaLabel = this.current ? `${this.current.label()} (Click to search or enter URI)` : 'Search or enter URI';
3517
+ return (index.h("section", { key: '1b507d50bd24f257023fe980f1ffdb3abe903577', class: "current" }, this.current && this.searchIndexReady && index.h("pos-make-findable", { key: 'e96559f40418154a26350705ae6e3dbf8057a424', uri: this.current.uri }), index.h("button", { key: '2ac476bd89918e71ca10cc945952f8c9905865df', "aria-label": ariaLabel, onClick: () => this.onClick() }, index.h("div", { key: 'd34b73e2090f08cab8533d03a7b206d420bfa8c2' }, this.current ? this.current.label() : 'Search or enter URI'), this.icon())));
3518
+ }
3519
+ icon() {
3520
+ return (index.h("svg", { "aria-hidden": "true", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z" })));
3651
3521
  }
3652
3522
  };
3653
3523
  PosNavigationBar.style = PosNavigationBarStyle0;
@@ -3673,7 +3543,7 @@ const PosNewThingForm = class {
3673
3543
  PodOsAware.subscribePodOs(this);
3674
3544
  }
3675
3545
  render() {
3676
- return (index.h("form", { key: '9ee9d0ab4f31bfc55865ef697d410b37977b1051', method: "dialog", onSubmit: e => this.handleSubmit(e) }, index.h("label", { key: 'a6f807d2034d55e5218c01375c4ff36564924bfb', htmlFor: "type" }, "Type"), index.h("pos-select-term", { key: 'f6001d6801bee97c03121d57742a595c8d5d5bd7', id: "type", placeholder: "", value: this.selectedTypeUri, "onPod-os:term-selected": e => this.onTermSelected(e) }), index.h("label", { key: '9365561d47d72e0153bb743f4fdf5ca7a1b5dcc0', htmlFor: "name" }, "Name"), index.h("input", { key: 'c93de873370a1123441a33d27c53c954bcc5f5ce', id: "name", type: "text", value: this.name, onInput: e => this.handleChange(e) }), this.newUri ? (index.h("div", { id: "new-uri", title: "This will be the URI of the new thing" }, this.newUri)) : null, index.h("input", { key: '9fc1fb39f7c582a069876642cc17678303c7d72b', id: "create", type: "submit", value: "Create", disabled: !this.canSubmit })));
3546
+ return (index.h("form", { key: '6d8a76b95abc98ab382b425b2dd8894983bb9522', method: "dialog", onSubmit: e => this.handleSubmit(e) }, index.h("label", { key: '6fe391ac186c0b0a8e6bb3265e66469dac3ab187', htmlFor: "type" }, "Type"), index.h("pos-select-term", { key: '33b50596c8cd22d8ce2b1af114277fa9bfd80355', id: "type", placeholder: "", value: this.selectedTypeUri, "onPod-os:term-selected": e => this.onTermSelected(e) }), index.h("label", { key: '8681f29f0c20d59c2be10a1f49cc38dea6abd19d', htmlFor: "name" }, "Name"), index.h("input", { key: 'f5905d871b55821f7019134d972e1f156c55f49e', id: "name", type: "text", value: this.name, onInput: e => this.handleChange(e) }), this.newUri ? (index.h("div", { id: "new-uri", title: "This will be the URI of the new thing" }, this.newUri)) : null, index.h("input", { key: 'dade4834abecd9bf2fc8eb5bca0b1f60784287a4', id: "create", type: "submit", value: "Create", disabled: !this.canSubmit })));
3677
3547
  }
3678
3548
  handleChange(event) {
3679
3549
  this.name = event.target.value;
@@ -3803,7 +3673,7 @@ const PosResource = class {
3803
3673
  };
3804
3674
  PosResource.style = PosResourceStyle0;
3805
3675
 
3806
- const posRichLinkCss = ":host {\n --background-color: inherit;\n --label-color: var(--pos-normal-text-color);\n --description-color: var(--pos-normal-text-color);\n --uri-color: var(--pos-subtle-text-color);\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(--pos-subtle-text-color);\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";
3676
+ const posRichLinkCss = ":host {\n --background-color: inherit;\n --label-color: var(--pos-normal-text-color);\n --description-color: var(--pos-normal-text-color);\n --uri-color: var(--pos-subtle-text-color);\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(--pos-subtle-text-color);\n }\n}\n\na {\n color: var(--label-color);\n max-width: min(100%, 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";
3807
3677
  const PosRichLinkStyle0 = posRichLinkCss;
3808
3678
 
3809
3679
  const PosRichLink = class {
@@ -3812,10 +3682,10 @@ const PosRichLink = class {
3812
3682
  this.linkEmitter = index.createEvent(this, "pod-os:link", 7);
3813
3683
  }
3814
3684
  render() {
3815
- return (index.h("pos-resource", { key: '0a794cc8287b13f163a813dc6a4f87b2f00e028b', lazy: true, uri: this.uri }, index.h("p", { key: 'b7a44482a82cd69228f144b04e9ec20b84410339', class: "content" }, index.h("a", { key: '0d218d4d5c1991c767b66f0d37c5476038e7a0fb', href: this.uri, onClick: e => {
3685
+ return (index.h("pos-resource", { key: '389fb8817f5a7ff77965a8bb9924f48af15c528c', lazy: true, uri: this.uri }, index.h("p", { key: '1946deeff38a510800ef1558fd6374f65d72cd7f', class: "content" }, index.h("a", { key: '776c99ca32c7cd7fac30ab1f18b1c024b234d85f', href: this.uri, onClick: e => {
3816
3686
  e.preventDefault();
3817
3687
  this.linkEmitter.emit(this.uri);
3818
- } }, index.h("pos-label", { key: 'd04048986a7a4da138608f187a2f27e6313d9a6e' })), index.h("span", { key: '53a05023aa2fec4725e1d7e59acee9888476ecac', class: "url" }, new URL(this.uri).host), index.h("pos-description", { key: 'a73de2d208b684a9f555cda312e94df4282afba0' }))));
3688
+ } }, index.h("pos-label", { key: '0ddb22c414f2e4d61cf1beabb301b723b78235e1' })), index.h("span", { key: 'd2730c1fcc1c1521a7527bdb7a63c091ff49746c', class: "url" }, new URL(this.uri).host), index.h("pos-description", { key: '53867e57b7403aed46e94a5f3df0b8389bc68244' }))));
3819
3689
  }
3820
3690
  };
3821
3691
  PosRichLink.style = PosRichLinkStyle0;
@@ -4108,7 +3978,7 @@ const DEFAULT_PARSE_URL = (url) => {
4108
3978
  return url.pathname.toLowerCase();
4109
3979
  };
4110
3980
 
4111
- const posRouterCss = ".toolbar{display:flex;flex-direction:row;gap:0;align-items:center;margin-left:0.5rem}pos-navigation-bar{flex-grow:1}";
3981
+ const posRouterCss = ".toolbar{display:flex;flex-direction:row;gap:0;align-items:center;margin-left:0.5rem}pos-navigation{flex-grow:1}";
4112
3982
  const PosRouterStyle0 = posRouterCss;
4113
3983
 
4114
3984
  const Router = createRouter();
@@ -4146,7 +4016,7 @@ const PosRouter = class {
4146
4016
  this.routeChanged.emit(this.uri);
4147
4017
  }
4148
4018
  render() {
4149
- return index.h("slot", { key: '221db70a52ce7ebc7e9c171142dcf94f252fa985' });
4019
+ return index.h("slot", { key: 'a5a451a8ddf4a30c6e5cbb2faf61d44f5a286df9' });
4150
4020
  }
4151
4021
  };
4152
4022
  PosRouter.style = PosRouterStyle0;
@@ -4176,7 +4046,7 @@ const PosSelectTerm = class {
4176
4046
  this.termSelected.emit({ uri: event.target.value });
4177
4047
  }
4178
4048
  render() {
4179
- return (index.h(index.Host, { key: '7a548735e2a0478fa1e63e2a880ca61f0f43d91c' }, index.h("input", { key: '9549691026f4bf42a3048f2af3a78bd71536b160', part: "input", list: "terms", placeholder: this.placeholder, value: this.value, onChange: ev => this.handleChange(ev) }), index.h("datalist", { key: 'adfd77a001389d6cc092e3b054ef12e45d562d54', part: "terms", id: "terms" }, this.terms.map(term => (index.h("option", { value: term.uri }, term.shorthand))))));
4049
+ return (index.h(index.Host, { key: '7f7d48443893800bb818e67865fccdbe1d10d44a' }, index.h("input", { key: 'ee24690418d5a4d6e357154e12685fa9975754f9', part: "input", list: "terms", placeholder: this.placeholder, value: this.value, onChange: ev => this.handleChange(ev) }), index.h("datalist", { key: '78fde7ccb4e0750e902da139b02810c15c21db3e', part: "terms", id: "terms" }, this.terms.map(term => (index.h("option", { value: term.uri }, term.shorthand))))));
4180
4050
  }
4181
4051
  static get delegatesFocus() { return true; }
4182
4052
  static get watchers() { return {
@@ -4193,7 +4063,7 @@ const PosSettingOfflineCache = class {
4193
4063
  index.registerInstance(this, hostRef);
4194
4064
  }
4195
4065
  render() {
4196
- return (index.h(index.Host, { key: 'f024e7d542cfc87a4dc0a1f22694b664086ebd60' }, index.h("div", { key: 'e88e694cefa4a2361ca8c67f1bd023fda1b70f2a' }, index.h("h2", { key: 'c4b2e6270f26a2eb7f62e5076b40834903fc10e4' }, index.h("svg", { key: 'd63643c1ed908c6fe9ab4ff6c47b13848c714c32', xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor" }, index.h("path", { key: '78f055556bb175ea17d0db1ccf78c16343d67d3f', "stroke-linecap": "round", "stroke-linejoin": "round", d: "M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125" })), "Cache Settings"), index.h("p", { key: '3045ae3214b9e91feb34857ce45a3db6529f2959', class: "info" }, "\u2139 Enable offline cache to be able to access previously loaded data while offline."), index.h("p", { key: '9987c1cb59b62e1eb06c67a9c646a9a2f125529a', class: "warn" }, "\u26A0 Private data may be stored on this device. Only enable it, if you trust this device."), index.h("label", { key: '55dd3c0fa7ece9a59437e7818d6cfa9b0e9eb5bf' }, index.h("input", { key: '22874f8a39b5016b71818fa1d6226bf66ff969c3', type: "checkbox", checked: localSettings.state.offlineCache, onChange: ev => (localSettings.state.offlineCache = ev.target.checked) }), "Enable offline cache"))));
4066
+ return (index.h(index.Host, { key: 'b598a0dbe21fe9e7f1aa0f51f0b53c270feb8add' }, index.h("div", { key: '5cec10cc63203c8421bbb627643f1365899cc850' }, index.h("h2", { key: '094528da7d8567e8a2ba6e82fb1c05b2f4dc7b22' }, index.h("svg", { key: '3d3e8b17420ba7352877eb1c6bca17d3791b1bd6', xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor" }, index.h("path", { key: '065bc78382b03bd2bcc3c812a71e9f27c4e3251c', "stroke-linecap": "round", "stroke-linejoin": "round", d: "M20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125" })), "Cache Settings"), index.h("p", { key: '5e5d2ec497039791f82a857a709157e6b97efdfe', class: "info" }, "\u2139 Enable offline cache to be able to access previously loaded data while offline."), index.h("p", { key: 'd4ff4a3a17df1e5ed7ce076abbf98def4ebdac7d', class: "warn" }, "\u26A0 Private data may be stored on this device. Only enable it, if you trust this device."), index.h("label", { key: '1d1aa4f7b4b5fa53080cc5635a20ccee3faee29d' }, index.h("input", { key: '4223888802ea51dec26a3d23abdd9c28098de5aa', type: "checkbox", checked: localSettings.state.offlineCache, onChange: ev => (localSettings.state.offlineCache = ev.target.checked) }), "Enable offline cache"))));
4197
4067
  }
4198
4068
  };
4199
4069
  PosSettingOfflineCache.style = PosSettingOfflineCacheStyle0;
@@ -4254,7 +4124,6 @@ const PosTypeRouter = class {
4254
4124
  exports.ion_icon = Icon;
4255
4125
  exports.ion_progress_bar = ProgressBar;
4256
4126
  exports.ion_ripple_effect = RippleEffect;
4257
- exports.ion_searchbar = Searchbar;
4258
4127
  exports.ion_skeleton_text = SkeletonText;
4259
4128
  exports.ion_toast = Toast;
4260
4129
  exports.pos_add_new_thing = PosAddNewThing;
@@ -4273,6 +4142,7 @@ exports.pos_label = PosLabel;
4273
4142
  exports.pos_login = PosLogin;
4274
4143
  exports.pos_login_form = PosLoginForm;
4275
4144
  exports.pos_make_findable = PosMakeFindable;
4145
+ exports.pos_navigation = PosNavigation;
4276
4146
  exports.pos_navigation_bar = PosNavigationBar;
4277
4147
  exports.pos_new_thing_form = PosNewThingForm;
4278
4148
  exports.pos_picture = PosPicture;