@pod-os/elements 0.26.1-rc.d6e1fef.0 → 0.26.1-rc.e49d800.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 (494) 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 +331 -473
  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 +5 -15
  27. package/dist/collection/components/pos-dialog/pos-dialog.js.map +1 -1
  28. package/dist/collection/components/pos-error-toast/pos-error-toast.js +1 -1
  29. package/dist/collection/components/pos-literals/pos-literals.js +1 -1
  30. package/dist/collection/components/pos-login/pos-login.js +13 -1
  31. package/dist/collection/components/pos-login/pos-login.js.map +1 -1
  32. package/dist/collection/components/pos-login-form/pos-login-form.js +1 -1
  33. package/dist/collection/components/pos-make-findable/pos-make-findable.css +7 -4
  34. package/dist/collection/components/pos-navigation/__test/typeToSearch.js +12 -0
  35. package/dist/collection/components/pos-navigation/__test/typeToSearch.js.map +1 -0
  36. package/dist/collection/components/pos-navigation/bar/pos-navigation-bar.css +38 -0
  37. package/dist/collection/components/pos-navigation/bar/pos-navigation-bar.js +105 -0
  38. package/dist/collection/components/pos-navigation/bar/pos-navigation-bar.js.map +1 -0
  39. package/dist/collection/components/pos-navigation/pos-navigation.css +115 -0
  40. package/dist/collection/components/{pos-navigation-bar/pos-navigation-bar.js → pos-navigation/pos-navigation.js} +75 -18
  41. package/dist/collection/components/pos-navigation/pos-navigation.js.map +1 -0
  42. package/dist/collection/components/pos-new-thing-form/pos-new-thing-form.js +1 -1
  43. package/dist/collection/components/pos-rich-link/pos-rich-link.css +1 -1
  44. package/dist/collection/components/pos-rich-link/pos-rich-link.js +2 -2
  45. package/dist/collection/components/pos-router/pos-router.css +1 -1
  46. package/dist/collection/components/pos-router/pos-router.js +1 -1
  47. package/dist/collection/components/pos-select-term/pos-select-term.js +1 -1
  48. package/dist/components/Subject.js +700 -0
  49. package/dist/components/Subject.js.map +1 -0
  50. package/dist/components/ion-searchbar.js +475 -1
  51. package/dist/components/ion-searchbar.js.map +1 -1
  52. package/dist/components/pos-add-new-thing2.js +2 -2
  53. package/dist/components/pos-add-new-thing2.js.map +1 -1
  54. package/dist/components/pos-app-browser.js +49 -40
  55. package/dist/components/pos-app-browser.js.map +1 -1
  56. package/dist/components/pos-app-generic.js +1 -1
  57. package/dist/components/pos-app-ldp-container.js +1 -1
  58. package/dist/components/pos-app-rdf-document.js +1 -1
  59. package/dist/components/pos-app-settings2.js +1 -1
  60. package/dist/components/pos-app2.js +2 -698
  61. package/dist/components/pos-app2.js.map +1 -1
  62. package/dist/components/pos-dialog2.js +3 -3
  63. package/dist/components/pos-dialog2.js.map +1 -1
  64. package/dist/components/pos-error-toast2.js +1 -1
  65. package/dist/components/pos-getting-started2.js +4 -3
  66. package/dist/components/pos-getting-started2.js.map +1 -1
  67. package/dist/components/pos-literals2.js +1 -1
  68. package/dist/components/pos-login-form2.js +1 -1
  69. package/dist/components/pos-login2.js +5 -2
  70. package/dist/components/pos-login2.js.map +1 -1
  71. package/dist/components/pos-make-findable2.js +1 -1
  72. package/dist/components/pos-make-findable2.js.map +1 -1
  73. package/dist/components/pos-navigation-bar2.js +24 -109
  74. package/dist/components/pos-navigation-bar2.js.map +1 -1
  75. package/dist/components/pos-navigation.d.ts +11 -0
  76. package/dist/components/pos-navigation.js +8 -0
  77. package/dist/components/pos-navigation.js.map +1 -0
  78. package/dist/components/pos-navigation2.js +394 -0
  79. package/dist/components/pos-navigation2.js.map +1 -0
  80. package/dist/components/pos-new-thing-form2.js +1 -1
  81. package/dist/components/pos-rich-link2.js +3 -3
  82. package/dist/components/pos-rich-link2.js.map +1 -1
  83. package/dist/components/pos-router2.js +2 -2
  84. package/dist/components/pos-router2.js.map +1 -1
  85. package/dist/components/pos-select-term2.js +1 -1
  86. package/dist/components/pos-setting-offline-cache2.js +1 -1
  87. package/dist/elements/elements.esm.js +1 -1
  88. package/dist/elements/elements.esm.js.map +1 -1
  89. package/dist/elements/{p-a6c03ce8.js → p-01adc2b7.js} +2 -2
  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-b80dbf24.entry.js +20 -0
  180. package/dist/elements/p-b80dbf24.entry.js.map +1 -0
  181. package/dist/elements/{p-dc709055.entry.js → p-b954a40f.entry.js} +2 -2
  182. package/dist/elements/{p-1fc8e557.js → p-bde7428a.js} +2 -2
  183. package/dist/elements/{p-734e5a97.js → p-bf5335d4.js} +2 -2
  184. package/dist/elements/p-c1df6af7.js +8 -0
  185. package/dist/elements/p-c27a94bc.entry.js +2 -0
  186. package/dist/elements/{p-cbae963d.js → p-c30eb80f.js} +3 -3
  187. package/dist/elements/{p-4c078751.entry.js → p-c4332c66.entry.js} +2 -2
  188. package/dist/elements/{p-36caf749.entry.js → p-c4894c44.entry.js} +2 -2
  189. package/dist/elements/{p-87c81685.entry.js → p-c4e1867e.entry.js} +2 -2
  190. package/dist/elements/{p-645632a8.entry.js → p-c7db2b55.entry.js} +5 -5
  191. package/dist/elements/p-cb3e5072.entry.js +2 -0
  192. package/dist/elements/{p-49fcec88.entry.js → p-d54d552d.entry.js} +6 -6
  193. package/dist/elements/{p-2a548485.entry.js → p-d7b597ed.entry.js} +2 -2
  194. package/dist/elements/p-da0c771e.js +5 -0
  195. package/dist/elements/{p-c9604122.entry.js → p-de6d7967.entry.js} +2 -2
  196. package/dist/elements/p-e05f218c.entry.js +2 -0
  197. package/dist/elements/{p-2f0509be.entry.js.map → p-e05f218c.entry.js.map} +1 -1
  198. package/dist/elements/{p-b5f6b322.entry.js → p-e15ff70c.entry.js} +2 -2
  199. package/dist/elements/p-e1957ea1.entry.js +2 -0
  200. package/dist/elements/p-e43d654c.js +5 -0
  201. package/dist/elements/{p-01981011.entry.js → p-e7fbd427.entry.js} +2 -2
  202. package/dist/elements/{p-d61d280b.js → p-e912617c.js} +3 -3
  203. package/dist/elements/{p-da0d920d.js → p-ebe1c8ca.js} +2 -2
  204. package/dist/elements/{p-d872fe3e.entry.js → p-ec283f66.entry.js} +2 -2
  205. package/dist/elements/p-ec7a6c44.js +2 -0
  206. package/dist/elements/{p-f40b3ec6.entry.js → p-ed22dcc0.entry.js} +2 -2
  207. package/dist/elements/{p-05fff093.entry.js → p-eeaffc3b.entry.js} +2 -2
  208. package/dist/elements/p-f2c0c8a9.js +5 -0
  209. package/dist/elements/{p-c186950b.entry.js → p-f3bf8ff7.entry.js} +2 -2
  210. package/dist/elements/{p-5441ae35.entry.js → p-fb740291.entry.js} +2 -2
  211. package/dist/elements/{p-5bf40440.entry.js → p-fbff274c.entry.js} +2 -2
  212. package/dist/elements/{p-266d2934.entry.js → p-fd84af22.entry.js} +2 -2
  213. package/dist/esm/{BrokenFile-d387a173.js → BrokenFile-0b9882ef.js} +2 -2
  214. package/dist/esm/{BrokenFile-d387a173.js.map → BrokenFile-0b9882ef.js.map} +1 -1
  215. package/dist/esm/{animation-43b39c85.js → animation-756697b9.js} +2 -2
  216. package/dist/esm/{animation-43b39c85.js.map → animation-756697b9.js.map} +1 -1
  217. package/dist/esm/{app-globals-f420d326.js → app-globals-31ecda4c.js} +2 -2
  218. package/dist/esm/{app-globals-f420d326.js.map → app-globals-31ecda4c.js.map} +1 -1
  219. package/dist/esm/elements.js +5 -5
  220. package/dist/esm/{form-controller-3b50bf52.js → form-controller-8a54002c.js} +2 -2
  221. package/dist/esm/{form-controller-3b50bf52.js.map → form-controller-8a54002c.js.map} +1 -1
  222. package/dist/esm/{framework-delegate-c5179013.js → framework-delegate-65b5c396.js} +2 -2
  223. package/dist/esm/{framework-delegate-c5179013.js.map → framework-delegate-65b5c396.js.map} +1 -1
  224. package/dist/esm/{hardware-back-button-12e771ad.js → hardware-back-button-87b1549b.js} +3 -3
  225. package/dist/esm/{hardware-back-button-12e771ad.js.map → hardware-back-button-87b1549b.js.map} +1 -1
  226. package/dist/esm/{helpers-c51da066.js → helpers-bc137989.js} +2 -2
  227. package/dist/esm/{helpers-c51da066.js.map → helpers-bc137989.js.map} +1 -1
  228. package/dist/esm/{index-9725d917.js → index-46d8987d.js} +2 -2
  229. package/dist/esm/{index-9725d917.js.map → index-46d8987d.js.map} +1 -1
  230. package/dist/esm/{index-12e18dab.js → index-81865f43.js} +2 -2
  231. package/dist/esm/{index-12e18dab.js.map → index-81865f43.js.map} +1 -1
  232. package/dist/esm/{index-9edae53a.js → index-a51d17dd.js} +2 -2
  233. package/dist/esm/{index-9edae53a.js.map → index-a51d17dd.js.map} +1 -1
  234. package/dist/esm/{index-7462d21e.js → index-cbb71797.js} +5 -5
  235. package/dist/esm/{index-7462d21e.js.map → index-cbb71797.js.map} +1 -1
  236. package/dist/esm/{index-842e2941.js → index-e7f761c9.js} +2 -2
  237. package/dist/esm/{index-842e2941.js.map → index-e7f761c9.js.map} +1 -1
  238. package/dist/esm/{index-ccbcf170.js → index-fa9f8152.js} +5 -5
  239. package/dist/esm/{index-ccbcf170.js.map → index-fa9f8152.js.map} +1 -1
  240. package/dist/esm/{input-shims-0cb1bad1.js → input-shims-10923fa6.js} +3 -3
  241. package/dist/esm/{input-shims-0cb1bad1.js.map → input-shims-10923fa6.js.map} +1 -1
  242. package/dist/esm/{input.utils-0e2bf61a.js → input.utils-5fe0312f.js} +2 -2
  243. package/dist/esm/{input.utils-0e2bf61a.js.map → input.utils-5fe0312f.js.map} +1 -1
  244. package/dist/esm/ion-accordion-group.entry.js +2 -2
  245. package/dist/esm/ion-accordion.entry.js +4 -4
  246. package/dist/esm/ion-action-sheet_3.entry.js +7 -7
  247. package/dist/esm/ion-app.entry.js +7 -7
  248. package/dist/esm/ion-avatar.entry.js +2 -2
  249. package/dist/esm/ion-back-button.entry.js +4 -4
  250. package/dist/esm/ion-backdrop.entry.js +2 -2
  251. package/dist/esm/ion-badge_5.entry.js +3 -3
  252. package/dist/esm/ion-breadcrumb.entry.js +4 -4
  253. package/dist/esm/ion-breadcrumbs.entry.js +2 -2
  254. package/dist/esm/ion-button_4.entry.js +3 -3
  255. package/dist/esm/ion-card-content.entry.js +2 -2
  256. package/dist/esm/ion-card-header.entry.js +2 -2
  257. package/dist/esm/ion-card-subtitle.entry.js +2 -2
  258. package/dist/esm/ion-card-title.entry.js +2 -2
  259. package/dist/esm/ion-card.entry.js +3 -3
  260. package/dist/esm/ion-checkbox_7.entry.js +5 -5
  261. package/dist/esm/ion-chip.entry.js +2 -2
  262. package/dist/esm/ion-col.entry.js +2 -2
  263. package/dist/esm/ion-content.entry.js +3 -3
  264. package/dist/esm/ion-datetime-button.entry.js +3 -3
  265. package/dist/esm/ion-datetime.entry.js +4 -4
  266. package/dist/esm/ion-fab-button.entry.js +4 -4
  267. package/dist/esm/ion-fab-list.entry.js +2 -2
  268. package/dist/esm/ion-fab.entry.js +2 -2
  269. package/dist/esm/ion-footer.entry.js +4 -4
  270. package/dist/esm/ion-grid.entry.js +2 -2
  271. package/dist/esm/ion-header.entry.js +4 -4
  272. package/dist/esm/ion-icon_31.entry.js +321 -463
  273. package/dist/esm/ion-icon_31.entry.js.map +1 -1
  274. package/dist/esm/ion-img.entry.js +3 -3
  275. package/dist/esm/ion-infinite-scroll-content.entry.js +2 -2
  276. package/dist/esm/ion-infinite-scroll.entry.js +4 -4
  277. package/dist/esm/ion-input.entry.js +7 -7
  278. package/dist/esm/ion-item-divider.entry.js +2 -2
  279. package/dist/esm/ion-item-group.entry.js +2 -2
  280. package/dist/esm/ion-item-option.entry.js +2 -2
  281. package/dist/esm/ion-item-options.entry.js +3 -3
  282. package/dist/esm/ion-item-sliding.entry.js +4 -4
  283. package/dist/esm/ion-loading.entry.js +7 -7
  284. package/dist/esm/ion-menu-button.entry.js +8 -8
  285. package/dist/esm/ion-menu-toggle.entry.js +7 -7
  286. package/dist/esm/ion-menu.entry.js +8 -8
  287. package/dist/esm/ion-modal.entry.js +9 -9
  288. package/dist/esm/ion-nav-link.entry.js +1 -1
  289. package/dist/esm/ion-nav.entry.js +6 -6
  290. package/dist/esm/ion-note.entry.js +2 -2
  291. package/dist/esm/ion-picker-column.entry.js +3 -3
  292. package/dist/esm/ion-picker.entry.js +7 -7
  293. package/dist/esm/ion-popover.entry.js +8 -8
  294. package/dist/esm/ion-range.entry.js +5 -5
  295. package/dist/esm/ion-refresher-content.entry.js +6 -6
  296. package/dist/esm/ion-refresher.entry.js +6 -6
  297. package/dist/esm/ion-reorder-group.entry.js +4 -4
  298. package/dist/esm/ion-reorder.entry.js +3 -3
  299. package/dist/esm/ion-route-redirect.entry.js +1 -1
  300. package/dist/esm/ion-route.entry.js +1 -1
  301. package/dist/esm/ion-router-link.entry.js +2 -2
  302. package/dist/esm/ion-router-outlet.entry.js +6 -6
  303. package/dist/esm/ion-router.entry.js +2 -2
  304. package/dist/esm/ion-row.entry.js +2 -2
  305. package/dist/{components/searchbar.js → esm/ion-searchbar.entry.js} +17 -70
  306. package/dist/esm/ion-searchbar.entry.js.map +1 -0
  307. package/dist/esm/ion-segment-button.entry.js +3 -3
  308. package/dist/esm/ion-segment.entry.js +3 -3
  309. package/dist/esm/ion-select-option.entry.js +2 -2
  310. package/dist/esm/ion-select.entry.js +9 -9
  311. package/dist/esm/ion-spinner.entry.js +2 -2
  312. package/dist/esm/ion-split-pane.entry.js +2 -2
  313. package/dist/esm/ion-tab-bar.entry.js +2 -2
  314. package/dist/esm/ion-tab-button.entry.js +3 -3
  315. package/dist/esm/ion-tab.entry.js +3 -3
  316. package/dist/esm/ion-tabs.entry.js +1 -1
  317. package/dist/esm/ion-text.entry.js +2 -2
  318. package/dist/esm/ion-textarea.entry.js +6 -6
  319. package/dist/esm/ion-thumbnail.entry.js +2 -2
  320. package/dist/esm/ion-title.entry.js +2 -2
  321. package/dist/esm/ion-toggle.entry.js +5 -5
  322. package/dist/esm/ion-toolbar.entry.js +2 -2
  323. package/dist/esm/{ionic-global-07f989af.js → ionic-global-dc58df6a.js} +2 -2
  324. package/dist/esm/{ionic-global-07f989af.js.map → ionic-global-dc58df6a.js.map} +1 -1
  325. package/dist/esm/{ios.transition-02b5b74a.js → ios.transition-cd6a57b8.js} +5 -5
  326. package/dist/esm/{ios.transition-02b5b74a.js.map → ios.transition-cd6a57b8.js.map} +1 -1
  327. package/dist/esm/loader.js +5 -5
  328. package/dist/esm/{md.transition-0e6cf607.js → md.transition-a2999731.js} +5 -5
  329. package/dist/esm/{md.transition-0e6cf607.js.map → md.transition-a2999731.js.map} +1 -1
  330. package/dist/esm/{menu-toggle-util-6257f7b5.js → menu-toggle-util-5d79b187.js} +2 -2
  331. package/dist/esm/{menu-toggle-util-6257f7b5.js.map → menu-toggle-util-5d79b187.js.map} +1 -1
  332. package/dist/esm/{notch-controller-79926902.js → notch-controller-ce206c7f.js} +2 -2
  333. package/dist/esm/{notch-controller-79926902.js.map → notch-controller-ce206c7f.js.map} +1 -1
  334. package/dist/esm/{overlays-ef03d5bd.js → overlays-d7fc4ce2.js} +5 -5
  335. package/dist/esm/{overlays-ef03d5bd.js.map → overlays-d7fc4ce2.js.map} +1 -1
  336. package/dist/esm/pos-app-document-viewer.entry.js +1 -1
  337. package/dist/esm/pos-app-generic.entry.js +2 -2
  338. package/dist/esm/pos-app-image-viewer.entry.js +1 -1
  339. package/dist/esm/pos-app-ldp-container.entry.js +2 -2
  340. package/dist/esm/pos-app-rdf-document.entry.js +2 -2
  341. package/dist/esm/pos-container-contents.entry.js +1 -1
  342. package/dist/esm/pos-container-item.entry.js +1 -1
  343. package/dist/esm/pos-document.entry.js +2 -2
  344. package/dist/esm/pos-list.entry.js +1 -1
  345. package/dist/esm/pos-relations_2.entry.js +1 -1
  346. package/dist/esm/pos-subjects.entry.js +1 -1
  347. package/dist/esm/pos-value.entry.js +1 -1
  348. package/dist/esm/{refresher.utils-d191622d.js → refresher.utils-e60a7dd8.js} +4 -4
  349. package/dist/esm/{refresher.utils-d191622d.js.map → refresher.utils-e60a7dd8.js.map} +1 -1
  350. package/dist/esm/{status-tap-cdf580e7.js → status-tap-a4c12279.js} +4 -4
  351. package/dist/esm/{status-tap-cdf580e7.js.map → status-tap-a4c12279.js.map} +1 -1
  352. package/dist/esm/{swipe-back-698e6532.js → swipe-back-c940b28a.js} +2 -2
  353. package/dist/esm/{swipe-back-698e6532.js.map → swipe-back-c940b28a.js.map} +1 -1
  354. package/dist/types/apps/pos-app-browser/pos-app-browser.d.ts +2 -1
  355. package/dist/types/apps/pos-app-dashboard/pos-getting-started/pos-getting-started.d.ts +2 -0
  356. package/dist/types/components/pos-dialog/pos-dialog.d.ts +2 -2
  357. package/dist/types/components/pos-login/pos-login.d.ts +1 -0
  358. package/dist/types/components/pos-navigation/__test/typeToSearch.d.ts +1 -0
  359. package/dist/types/components/pos-navigation/bar/pos-navigation-bar.d.ts +11 -0
  360. package/dist/types/components/pos-navigation/pos-navigation.d.ts +44 -0
  361. package/dist/types/components.d.ts +64 -7
  362. package/package.json +1 -1
  363. package/dist/collection/components/pos-navigation-bar/pos-navigation-bar.css +0 -51
  364. package/dist/collection/components/pos-navigation-bar/pos-navigation-bar.js.map +0 -1
  365. package/dist/elements/p-07773ed5.entry.js +0 -2
  366. package/dist/elements/p-250d4bf1.entry.js +0 -2
  367. package/dist/elements/p-2f0509be.entry.js +0 -2
  368. package/dist/elements/p-4c78c8c9.js +0 -5
  369. package/dist/elements/p-4ccdbcbf.entry.js +0 -2
  370. package/dist/elements/p-523432d1.js +0 -2
  371. package/dist/elements/p-627826b0.entry.js +0 -2
  372. package/dist/elements/p-66a58eb0.entry.js +0 -2
  373. package/dist/elements/p-7183a9ca.entry.js +0 -2
  374. package/dist/elements/p-7f53778f.entry.js +0 -2
  375. package/dist/elements/p-8f6d1cbe.entry.js +0 -2
  376. package/dist/elements/p-932de51e.js +0 -8
  377. package/dist/elements/p-95161a5d.entry.js +0 -2
  378. package/dist/elements/p-a06d93c7.entry.js +0 -2
  379. package/dist/elements/p-a08f0446.entry.js +0 -2
  380. package/dist/elements/p-a13569cf.entry.js +0 -2
  381. package/dist/elements/p-a37a2712.js +0 -5
  382. package/dist/elements/p-b34f1af4.entry.js +0 -20
  383. package/dist/elements/p-b34f1af4.entry.js.map +0 -1
  384. package/dist/elements/p-bca341ba.entry.js +0 -2
  385. package/dist/elements/p-bdea20c4.entry.js +0 -2
  386. package/dist/elements/p-c01a4a79.entry.js +0 -2
  387. package/dist/elements/p-c452a2e9.js +0 -5
  388. package/dist/elements/p-d1e7b393.js +0 -5
  389. package/dist/elements/p-d358565a.entry.js +0 -2
  390. package/dist/elements/p-eba70ed1.js +0 -6
  391. package/dist/elements/p-f67bba50.js +0 -5
  392. package/dist/types/components/pos-navigation-bar/pos-navigation-bar.d.ts +0 -25
  393. /package/dist/elements/{p-a6c03ce8.js.map → p-01adc2b7.js.map} +0 -0
  394. /package/dist/elements/{p-7190d53c.entry.js.map → p-09ff1516.entry.js.map} +0 -0
  395. /package/dist/elements/{p-307d1531.js.map → p-0a6631d5.js.map} +0 -0
  396. /package/dist/elements/{p-c698ab8e.entry.js.map → p-0b3d14ec.entry.js.map} +0 -0
  397. /package/dist/elements/{p-d8818bb3.entry.js.map → p-0d4f129d.entry.js.map} +0 -0
  398. /package/dist/elements/{p-07773ed5.entry.js.map → p-104fee38.entry.js.map} +0 -0
  399. /package/dist/elements/{p-6cc9961e.entry.js.map → p-11466af2.entry.js.map} +0 -0
  400. /package/dist/elements/{p-3e6ffc13.entry.js.map → p-11845ff3.entry.js.map} +0 -0
  401. /package/dist/elements/{p-a507d627.entry.js.map → p-151d1ec8.entry.js.map} +0 -0
  402. /package/dist/elements/{p-8e1c68eb.entry.js.map → p-178b3852.entry.js.map} +0 -0
  403. /package/dist/elements/{p-89aef852.js.map → p-1930ffd5.js.map} +0 -0
  404. /package/dist/elements/{p-aa7d93f1.entry.js.map → p-1a1222a3.entry.js.map} +0 -0
  405. /package/dist/elements/{p-4dd65d40.entry.js.map → p-1e05efd7.entry.js.map} +0 -0
  406. /package/dist/elements/{p-f50c3045.entry.js.map → p-1faf2d02.entry.js.map} +0 -0
  407. /package/dist/elements/{p-a421bbe5.entry.js.map → p-21e90439.entry.js.map} +0 -0
  408. /package/dist/elements/{p-552a9992.entry.js.map → p-22c21319.entry.js.map} +0 -0
  409. /package/dist/elements/{p-66973c59.entry.js.map → p-24d93ddd.entry.js.map} +0 -0
  410. /package/dist/elements/{p-8f6d1cbe.entry.js.map → p-258f2385.entry.js.map} +0 -0
  411. /package/dist/elements/{p-72a9cbdc.entry.js.map → p-27bd8113.entry.js.map} +0 -0
  412. /package/dist/elements/{p-c350af00.entry.js.map → p-2948d57b.entry.js.map} +0 -0
  413. /package/dist/elements/{p-7183a9ca.entry.js.map → p-2cda3231.entry.js.map} +0 -0
  414. /package/dist/elements/{p-41bb9792.entry.js.map → p-2cdaf88b.entry.js.map} +0 -0
  415. /package/dist/elements/{p-fa0be1d8.entry.js.map → p-2e08ee3a.entry.js.map} +0 -0
  416. /package/dist/elements/{p-239442f9.entry.js.map → p-2e0c20e7.entry.js.map} +0 -0
  417. /package/dist/elements/{p-627826b0.entry.js.map → p-2ec92ff9.entry.js.map} +0 -0
  418. /package/dist/elements/{p-8e8881a8.entry.js.map → p-30834f34.entry.js.map} +0 -0
  419. /package/dist/elements/{p-eba70ed1.js.map → p-30cd90ec.js.map} +0 -0
  420. /package/dist/elements/{p-ae984107.entry.js.map → p-3585f786.entry.js.map} +0 -0
  421. /package/dist/elements/{p-d08312dd.entry.js.map → p-35f84573.entry.js.map} +0 -0
  422. /package/dist/elements/{p-ffa8c481.entry.js.map → p-3f02cc92.entry.js.map} +0 -0
  423. /package/dist/elements/{p-71ee259b.js.map → p-3f316fc4.js.map} +0 -0
  424. /package/dist/elements/{p-bc675b21.entry.js.map → p-3f3b74e6.entry.js.map} +0 -0
  425. /package/dist/elements/{p-7f53778f.entry.js.map → p-40a2d567.entry.js.map} +0 -0
  426. /package/dist/elements/{p-e78cf007.entry.js.map → p-4dc7c524.entry.js.map} +0 -0
  427. /package/dist/elements/{p-c191e6df.js.map → p-4e8c31fa.js.map} +0 -0
  428. /package/dist/elements/{p-a45b1964.entry.js.map → p-5051d2a6.entry.js.map} +0 -0
  429. /package/dist/elements/{p-e0de7c6a.entry.js.map → p-5a061ddb.entry.js.map} +0 -0
  430. /package/dist/elements/{p-061819d1.js.map → p-5a8e7149.js.map} +0 -0
  431. /package/dist/elements/{p-4c78c8c9.js.map → p-5bf4c45a.js.map} +0 -0
  432. /package/dist/elements/{p-b9dcf3b2.js.map → p-5e8a3893.js.map} +0 -0
  433. /package/dist/elements/{p-300ec095.entry.js.map → p-602861f4.entry.js.map} +0 -0
  434. /package/dist/elements/{p-4a370bdc.entry.js.map → p-627d5e73.entry.js.map} +0 -0
  435. /package/dist/elements/{p-406df11a.entry.js.map → p-648dac6c.entry.js.map} +0 -0
  436. /package/dist/elements/{p-07d2bd5a.entry.js.map → p-650db824.entry.js.map} +0 -0
  437. /package/dist/elements/{p-cb550d04.entry.js.map → p-682dd0f9.entry.js.map} +0 -0
  438. /package/dist/elements/{p-59ec8b76.entry.js.map → p-689a5c54.entry.js.map} +0 -0
  439. /package/dist/elements/{p-d6394ee4.entry.js.map → p-6a701de0.entry.js.map} +0 -0
  440. /package/dist/elements/{p-f4035b4a.entry.js.map → p-6ca9bad7.entry.js.map} +0 -0
  441. /package/dist/elements/{p-25926b66.entry.js.map → p-6cae9207.entry.js.map} +0 -0
  442. /package/dist/elements/{p-6119b57a.entry.js.map → p-6e5c902a.entry.js.map} +0 -0
  443. /package/dist/elements/{p-0ddcbecd.entry.js.map → p-72ba182e.entry.js.map} +0 -0
  444. /package/dist/elements/{p-1b2d32c1.entry.js.map → p-8619a806.entry.js.map} +0 -0
  445. /package/dist/elements/{p-4383e1bb.entry.js.map → p-87af433a.entry.js.map} +0 -0
  446. /package/dist/elements/{p-f96384f2.entry.js.map → p-87eb06bc.entry.js.map} +0 -0
  447. /package/dist/elements/{p-e8268c7a.entry.js.map → p-8c13ce70.entry.js.map} +0 -0
  448. /package/dist/elements/{p-b64a85bf.entry.js.map → p-8f6d4374.entry.js.map} +0 -0
  449. /package/dist/elements/{p-949b115f.js.map → p-91025a2c.js.map} +0 -0
  450. /package/dist/elements/{p-71835d6f.entry.js.map → p-95036276.entry.js.map} +0 -0
  451. /package/dist/elements/{p-42169e41.js.map → p-97889672.js.map} +0 -0
  452. /package/dist/elements/{p-8b209e66.entry.js.map → p-9840f300.entry.js.map} +0 -0
  453. /package/dist/elements/{p-a37a2712.js.map → p-98b2844f.js.map} +0 -0
  454. /package/dist/elements/{p-fa19a3e9.entry.js.map → p-9d23baee.entry.js.map} +0 -0
  455. /package/dist/elements/{p-7e8b8df1.entry.js.map → p-9d6c94d3.entry.js.map} +0 -0
  456. /package/dist/elements/{p-41854c8f.entry.js.map → p-9d81c061.entry.js.map} +0 -0
  457. /package/dist/elements/{p-dadb557e.entry.js.map → p-a19fb8fa.entry.js.map} +0 -0
  458. /package/dist/elements/{p-9a4bf79e.entry.js.map → p-a7c9aa13.entry.js.map} +0 -0
  459. /package/dist/elements/{p-0ee8b7a7.js.map → p-acfa402f.js.map} +0 -0
  460. /package/dist/elements/{p-facc0ac5.entry.js.map → p-af03cfbe.entry.js.map} +0 -0
  461. /package/dist/elements/{p-b8bd7745.entry.js.map → p-af2b9ecb.entry.js.map} +0 -0
  462. /package/dist/elements/{p-cbf050d6.js.map → p-b110cb49.js.map} +0 -0
  463. /package/dist/elements/{p-09d80405.entry.js.map → p-b1292dde.entry.js.map} +0 -0
  464. /package/dist/elements/{p-a376351f.entry.js.map → p-b34203cd.entry.js.map} +0 -0
  465. /package/dist/elements/{p-dc709055.entry.js.map → p-b954a40f.entry.js.map} +0 -0
  466. /package/dist/elements/{p-1fc8e557.js.map → p-bde7428a.js.map} +0 -0
  467. /package/dist/elements/{p-734e5a97.js.map → p-bf5335d4.js.map} +0 -0
  468. /package/dist/elements/{p-932de51e.js.map → p-c1df6af7.js.map} +0 -0
  469. /package/dist/elements/{p-a08f0446.entry.js.map → p-c27a94bc.entry.js.map} +0 -0
  470. /package/dist/elements/{p-cbae963d.js.map → p-c30eb80f.js.map} +0 -0
  471. /package/dist/elements/{p-4c078751.entry.js.map → p-c4332c66.entry.js.map} +0 -0
  472. /package/dist/elements/{p-36caf749.entry.js.map → p-c4894c44.entry.js.map} +0 -0
  473. /package/dist/elements/{p-87c81685.entry.js.map → p-c4e1867e.entry.js.map} +0 -0
  474. /package/dist/elements/{p-645632a8.entry.js.map → p-c7db2b55.entry.js.map} +0 -0
  475. /package/dist/elements/{p-a13569cf.entry.js.map → p-cb3e5072.entry.js.map} +0 -0
  476. /package/dist/elements/{p-49fcec88.entry.js.map → p-d54d552d.entry.js.map} +0 -0
  477. /package/dist/elements/{p-2a548485.entry.js.map → p-d7b597ed.entry.js.map} +0 -0
  478. /package/dist/elements/{p-c452a2e9.js.map → p-da0c771e.js.map} +0 -0
  479. /package/dist/elements/{p-c9604122.entry.js.map → p-de6d7967.entry.js.map} +0 -0
  480. /package/dist/elements/{p-b5f6b322.entry.js.map → p-e15ff70c.entry.js.map} +0 -0
  481. /package/dist/elements/{p-4ccdbcbf.entry.js.map → p-e1957ea1.entry.js.map} +0 -0
  482. /package/dist/elements/{p-f67bba50.js.map → p-e43d654c.js.map} +0 -0
  483. /package/dist/elements/{p-01981011.entry.js.map → p-e7fbd427.entry.js.map} +0 -0
  484. /package/dist/elements/{p-d61d280b.js.map → p-e912617c.js.map} +0 -0
  485. /package/dist/elements/{p-da0d920d.js.map → p-ebe1c8ca.js.map} +0 -0
  486. /package/dist/elements/{p-d872fe3e.entry.js.map → p-ec283f66.entry.js.map} +0 -0
  487. /package/dist/elements/{p-523432d1.js.map → p-ec7a6c44.js.map} +0 -0
  488. /package/dist/elements/{p-f40b3ec6.entry.js.map → p-ed22dcc0.entry.js.map} +0 -0
  489. /package/dist/elements/{p-05fff093.entry.js.map → p-eeaffc3b.entry.js.map} +0 -0
  490. /package/dist/elements/{p-d1e7b393.js.map → p-f2c0c8a9.js.map} +0 -0
  491. /package/dist/elements/{p-c186950b.entry.js.map → p-f3bf8ff7.entry.js.map} +0 -0
  492. /package/dist/elements/{p-5441ae35.entry.js.map → p-fb740291.entry.js.map} +0 -0
  493. /package/dist/elements/{p-5bf40440.entry.js.map → p-fbff274c.entry.js.map} +0 -0
  494. /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;
@@ -3231,14 +3014,14 @@ const PosDialog = class {
3231
3014
  constructor(hostRef) {
3232
3015
  index.registerInstance(this, hostRef);
3233
3016
  }
3234
- async showModal() {
3017
+ showModal() {
3235
3018
  this.dialog.showModal();
3236
3019
  }
3237
- async close() {
3020
+ close() {
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: '52b46535cab915321a93f84fa8b2f662d2e8e4ea' }, index.h("dialog", { key: 'e6c57b54805f48084c0a0ef2fa32fda9938f4c17', ref: el => (this.dialog = el) }, index.h("header", { key: 'aee8b90512a18b8e87084009433e963d1a9b3fd1' }, index.h("slot", { key: '3aa5a212f5774316ffaf0b9a1a04607690a2bcac', name: "title" }), index.h("button", { key: 'f3da0669f952023cfcc792b2b801670c94e49400', tabindex: -1, id: "close", title: "Close", onClick: () => this.close() }, index.h("ion-icon", { key: '90b5835a6f79c587c651d1d5e599fa9079a1d1e9', name: "close-outline" }))), index.h("slot", { key: '9fa7fa1e7f6077aca2a6eb40d806b1d7b9237eef', 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;
@@ -3424,11 +3208,14 @@ const PosLogin = class {
3424
3208
  logout() {
3425
3209
  this.os.logout();
3426
3210
  }
3211
+ onLogin() {
3212
+ this.openDialog();
3213
+ }
3427
3214
  openDialog() {
3428
3215
  this.dialog.showModal();
3429
3216
  }
3430
3217
  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" }))));
3218
+ return (index.h(index.Host, { key: '3a9b64d2fde82e4067095067d852f3a793c9c6a2' }, index.h("div", { key: '36ce0bb0f9d85b90f5faf9dc47c64c8d0dcf88e9', 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: '228a4dd94d2497acc6f3ecd13f70e2ff40daf8dc', id: "login", onClick: () => this.openDialog() }, "Login")), BrokenFile.store.state.isLoggedIn && (index.h("button", { key: '2212c8e0c939656179a66c2b3ff74227dab42476', id: "logout", onClick: () => this.logout() }, "Logout"))), index.h("pos-dialog", { key: '2cd9a1060b1494606848d3dcaea21cad2ede8103', ref: el => (this.dialog = el) }, index.h("span", { key: '4852dc345b9271c6aca71d4615627d76985d548d', slot: "title" }, "Sign in to your Pod"), index.h("pos-login-form", { key: 'f6919d6a8863d3c8535ba786a5334741550bc8a5', "onPod-os:idp-url-selected": ev => this.login(ev), slot: "content" }))));
3432
3219
  }
3433
3220
  };
3434
3221
  PosLogin.style = PosLoginStyle0;
@@ -3447,7 +3234,7 @@ const PosLoginForm = class {
3447
3234
  this.canSubmit = Boolean(this.idpUrl);
3448
3235
  }
3449
3236
  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 })));
3237
+ return (index.h("form", { key: '6c54aa03972bf5af3779c1e3f874b99574232821', method: "dialog", onSubmit: () => this.handleSubmit() }, index.h("label", { key: 'a5def7569abeb0a2591886d48fa0deb2c7f6039c', htmlFor: "idpUrl" }, "Please enter your Identity Provider"), index.h("input", { key: '1da8575dccea9a777f00cb8a7f96435654a582bc', id: "idpUrl", type: "url", value: this.idpUrl, required: true, onInput: e => this.handleChange(e), list: "suggestedIssuers", placeholder: "Type to search..." }), index.h("datalist", { key: '1818988df2f8a825194eb3503979d6c6adac3619', id: "suggestedIssuers" }, index.h("option", { key: '25e1b3fd84610e0664c25c3ca9cd535bf7558357', value: "https://solidcommunity.net" }, "solidcommunity.net"), index.h("option", { key: '5635e434dc4bf406a3664cf5cb28489b5b9218fc', value: "https://solidweb.org" }, "solidweb.org"), index.h("option", { key: 'd4d301023b40f84b5f445d14290ef3bc589cff56', value: "https://solidweb.me" }, "solidweb.me"), index.h("option", { key: '39f968af206347c83e4271724e9090543fcec43e', value: "https://inrupt.net" }, "inrupt.net"), index.h("option", { key: '381767d06a60e16b9323cb15b4298db2eac71d82', value: "https://login.inrupt.com" }, "Inrupt PodSpaces"), index.h("option", { key: 'd4461d0bb2bfba0ec97f276951b6534dee1ffd51', value: "https://trinpod.us" }, "trinpod.us"), index.h("option", { key: '80aa0ef7de3ec8dd53d06402c116a6c97747a24f', value: "https://use.id" }, "use.id"), index.h("option", { key: '794bee3c5a2b29738f25bb67bfb918754fe016ef', value: "https://solid.redpencil.io" }, "redpencil.io"), index.h("option", { key: '88e27225e7252c90bfb24f21a72bd70c9e3408f4', value: "https://datapod.grant.io" }, "Data Pod (grant.io)"), index.h("option", { key: '033b75773e898b4fed2507c5064686fb0ad56e03', value: "https://teamid.live" }, "teamid.live")), index.h("input", { key: 'c8dc41c5d6a892e623d42f5b1839af2728929abd', id: "login", type: "submit", value: "Login", disabled: !this.canSubmit })));
3451
3238
  }
3452
3239
  handleChange(event) {
3453
3240
  this.validate();
@@ -3463,7 +3250,7 @@ const PosLoginForm = class {
3463
3250
  };
3464
3251
  PosLoginForm.style = PosLoginFormStyle0;
3465
3252
 
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";
3253
+ 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
3254
  const PosMakeFindableStyle0 = posMakeFindableCss;
3468
3255
 
3469
3256
  const PosMakeFindable = class {
@@ -3511,7 +3298,7 @@ const PosMakeFindable = class {
3511
3298
  }
3512
3299
  getLabelIndexes(profile) {
3513
3300
  if (profile) {
3514
- this.indexes = profile.getPrivateLabelIndexes().map(it => this.os.store.get(it).assume(index$6.LabelIndex));
3301
+ this.indexes = profile.getPrivateLabelIndexes().map(it => this.os.store.get(it).assume(index$5.LabelIndex));
3515
3302
  this.isIndexed = this.checkIfIndexed(this.uri);
3516
3303
  }
3517
3304
  }
@@ -3570,25 +3357,44 @@ const IconMakeFindable = () => (index.h("svg", { role: "presentation", xmlns: "h
3570
3357
  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
3358
  PosMakeFindable.style = PosMakeFindableStyle0;
3572
3359
 
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;
3360
+ 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";
3361
+ const PosNavigationStyle0 = posNavigationCss;
3575
3362
 
3576
- const PosNavigationBar = class {
3363
+ const PosNavigation = class {
3577
3364
  constructor(hostRef) {
3578
3365
  index.registerInstance(this, hostRef);
3579
3366
  this.subscribePodOs = index.createEvent(this, "pod-os:init", 7);
3580
3367
  this.linkEmitter = index.createEvent(this, "pod-os:link", 7);
3368
+ /**
3369
+ * Initial value of the navigation bar
3370
+ */
3581
3371
  this.uri = '';
3582
- this.value = this.uri;
3372
+ /**
3373
+ * Current value of the input field
3374
+ */
3375
+ this.inputValue = this.uri;
3583
3376
  this.searchIndex = undefined;
3584
3377
  this.suggestions = [];
3585
3378
  this.selectedIndex = -1;
3379
+ this.resource = null;
3380
+ this.changeEvents = new Subject();
3381
+ this.debouncedSearch = null;
3586
3382
  this.receivePodOs = async (os) => {
3587
3383
  this.os = os;
3588
3384
  };
3589
3385
  }
3386
+ updateResource() {
3387
+ var _a;
3388
+ try {
3389
+ this.resource = this.uri ? (_a = this.os) === null || _a === void 0 ? void 0 : _a.store.get(this.uri) : null;
3390
+ }
3391
+ catch (_b) {
3392
+ this.resource = null;
3393
+ }
3394
+ }
3590
3395
  componentWillLoad() {
3591
3396
  PodOsAware.subscribePodOs(this);
3397
+ this.updateResource();
3592
3398
  BrokenFile.store.onChange('isLoggedIn', async (isLoggedIn) => {
3593
3399
  if (isLoggedIn) {
3594
3400
  await this.buildSearchIndex();
@@ -3597,6 +3403,11 @@ const PosNavigationBar = class {
3597
3403
  this.clearSearchIndex();
3598
3404
  }
3599
3405
  });
3406
+ this.debouncedSearch = this.changeEvents.pipe(debounceTime(300)).subscribe(() => this.search());
3407
+ }
3408
+ disconnectedCallback() {
3409
+ var _a;
3410
+ (_a = this.debouncedSearch) === null || _a === void 0 ? void 0 : _a.unsubscribe();
3600
3411
  }
3601
3412
  async buildSearchIndex() {
3602
3413
  this.searchIndex = await this.os.buildSearchIndex(BrokenFile.store.state.profile);
@@ -3604,16 +3415,33 @@ const PosNavigationBar = class {
3604
3415
  rebuildSearchIndex() {
3605
3416
  this.searchIndex.rebuild();
3606
3417
  }
3418
+ openNavigationDialog(e) {
3419
+ var _a, _b;
3420
+ this.resource = e.detail;
3421
+ if (e.detail) {
3422
+ this.inputValue = e.detail.uri;
3423
+ this.search();
3424
+ }
3425
+ (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.select();
3426
+ (_b = this.dialogRef) === null || _b === void 0 ? void 0 : _b.show();
3427
+ }
3607
3428
  clearSearchIndex() {
3608
3429
  var _a;
3609
3430
  (_a = this.searchIndex) === null || _a === void 0 ? void 0 : _a.clear();
3610
3431
  }
3611
3432
  onChange(event) {
3612
- this.value = event.detail.value;
3613
- this.search();
3433
+ this.inputValue = event.target.value;
3434
+ this.changeEvents.next();
3435
+ }
3436
+ closeDialog() {
3437
+ var _a;
3438
+ (_a = this.dialogRef) === null || _a === void 0 ? void 0 : _a.close();
3439
+ this.selectedIndex = -1;
3614
3440
  }
3615
3441
  clearSuggestions() {
3442
+ var _a;
3616
3443
  this.suggestions = [];
3444
+ (_a = this.dialogRef) === null || _a === void 0 ? void 0 : _a.close();
3617
3445
  this.selectedIndex = -1;
3618
3446
  }
3619
3447
  onClickSelf(event) {
@@ -3621,7 +3449,7 @@ const PosNavigationBar = class {
3621
3449
  }
3622
3450
  handleKeyDown(ev) {
3623
3451
  if (ev.key === 'Escape') {
3624
- this.clearSuggestions();
3452
+ this.closeDialog();
3625
3453
  }
3626
3454
  else if (ev.key === 'ArrowDown') {
3627
3455
  ev.preventDefault();
@@ -3634,20 +3462,50 @@ const PosNavigationBar = class {
3634
3462
  }
3635
3463
  search() {
3636
3464
  if (this.searchIndex) {
3637
- this.suggestions = this.value ? this.searchIndex.search(this.value) : [];
3465
+ this.suggestions = this.inputValue ? this.searchIndex.search(this.inputValue) : [];
3638
3466
  }
3639
3467
  }
3640
- onSubmit(event) {
3641
- event.preventDefault();
3468
+ onSubmit() {
3642
3469
  if (this.suggestions && this.selectedIndex > -1) {
3643
3470
  this.linkEmitter.emit(this.suggestions[this.selectedIndex].ref);
3644
3471
  }
3645
3472
  else {
3646
- this.linkEmitter.emit(this.value);
3473
+ this.linkEmitter.emit(this.inputValue);
3647
3474
  }
3648
3475
  }
3649
3476
  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)));
3477
+ return (index.h("nav", { key: '311e48ae67c07f4e04bbd0c78ae85103c937a2d6' }, index.h("search", { key: 'd39bad3a0e6fdd3eabb5fc019fbe9c311dc9adea' }, index.h("pos-navigation-bar", { key: '032bf46e40d5f857c6ce597f6c43875f054c65e7', searchIndexReady: this.searchIndex !== undefined, current: this.resource }), index.h("dialog", { key: '5e54d2658efb7b494fc585456e3b7c72782c8938', ref: el => (this.dialogRef = el) }, index.h("form", { key: '59d12120091dc9f343d006d7e01fde90c1e2e3ea', method: "dialog", onSubmit: () => this.onSubmit() }, index.h("input", { key: '5d415b87143ab28c8db0a003e235db63305d3094', 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)))));
3478
+ }
3479
+ static get watchers() { return {
3480
+ "uri": ["updateResource"],
3481
+ "os": ["updateResource"]
3482
+ }; }
3483
+ };
3484
+ PosNavigation.style = PosNavigationStyle0;
3485
+
3486
+ 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";
3487
+ const PosNavigationBarStyle0 = posNavigationBarCss;
3488
+
3489
+ const PosNavigationBar = class {
3490
+ constructor(hostRef) {
3491
+ index.registerInstance(this, hostRef);
3492
+ this.navigate = index.createEvent(this, "pod-os:navigate", 7);
3493
+ }
3494
+ onClick() {
3495
+ this.navigate.emit(this.current);
3496
+ }
3497
+ activate(e) {
3498
+ if ((e.ctrlKey || e.metaKey) && e.key === 'k') {
3499
+ e.preventDefault();
3500
+ this.navigate.emit(this.current);
3501
+ }
3502
+ }
3503
+ render() {
3504
+ const ariaLabel = this.current ? `${this.current.label()} (Click to search or enter URI)` : 'Search or enter URI';
3505
+ return (index.h("section", { key: '3bdf8dfb639a32796ffec2e5f8b65d553ea7bf60', class: "current" }, this.current && this.searchIndexReady && index.h("pos-make-findable", { key: '4cb1e1c567be23d856564e3a7404b1be73cda8d7', uri: this.current.uri }), index.h("button", { key: '0b29bcc329bc9f5d053ff711109b1c06b368c33e', "aria-label": ariaLabel, onClick: () => this.onClick() }, index.h("div", { key: '48c7c2f062a87f8e5f7742f5839e351d56ff2c13' }, this.current ? this.current.label() : 'Search or enter URI'), this.icon())));
3506
+ }
3507
+ icon() {
3508
+ 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
3509
  }
3652
3510
  };
3653
3511
  PosNavigationBar.style = PosNavigationBarStyle0;
@@ -3673,7 +3531,7 @@ const PosNewThingForm = class {
3673
3531
  PodOsAware.subscribePodOs(this);
3674
3532
  }
3675
3533
  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 })));
3534
+ return (index.h("form", { key: '1091c0db993d79f6d1f0c9ac9003c544b2894709', method: "dialog", onSubmit: e => this.handleSubmit(e) }, index.h("label", { key: 'cce3f98c89a7e820556e18ea28553774324a01a1', htmlFor: "type" }, "Type"), index.h("pos-select-term", { key: '72708f95553609006df33b02047421599d0167f0', id: "type", placeholder: "", value: this.selectedTypeUri, "onPod-os:term-selected": e => this.onTermSelected(e) }), index.h("label", { key: 'a1344f66396ec7b9a0a6a298694f832e62329ce3', htmlFor: "name" }, "Name"), index.h("input", { key: '5f006bac7be0734dbd39edbad0f30d392bf09bad', 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: '91c88406fd206ba0211e75d01cca16434fe7f74a', id: "create", type: "submit", value: "Create", disabled: !this.canSubmit })));
3677
3535
  }
3678
3536
  handleChange(event) {
3679
3537
  this.name = event.target.value;
@@ -3803,7 +3661,7 @@ const PosResource = class {
3803
3661
  };
3804
3662
  PosResource.style = PosResourceStyle0;
3805
3663
 
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";
3664
+ 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
3665
  const PosRichLinkStyle0 = posRichLinkCss;
3808
3666
 
3809
3667
  const PosRichLink = class {
@@ -3812,10 +3670,10 @@ const PosRichLink = class {
3812
3670
  this.linkEmitter = index.createEvent(this, "pod-os:link", 7);
3813
3671
  }
3814
3672
  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 => {
3673
+ return (index.h("pos-resource", { key: '95aa9fbc121e27b106845f4c6de96088f7538310', lazy: true, uri: this.uri }, index.h("p", { key: 'a277291f4c795c7c2e9c9e41ab899fe660ec67a9', class: "content" }, index.h("a", { key: 'b83e27d371214673bc8fe740573b4b65b2479af8', href: this.uri, onClick: e => {
3816
3674
  e.preventDefault();
3817
3675
  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' }))));
3676
+ } }, index.h("pos-label", { key: '5c4dacc2f5b0dc18664ef5e04bc024efb2547e34' })), index.h("span", { key: '35cb283d89ce6f631c5e3fde3035244a0374daa0', class: "url" }, new URL(this.uri).host), index.h("pos-description", { key: '12d5833f05f5759c16d579d5a62742b871ff964f' }))));
3819
3677
  }
3820
3678
  };
3821
3679
  PosRichLink.style = PosRichLinkStyle0;
@@ -4108,7 +3966,7 @@ const DEFAULT_PARSE_URL = (url) => {
4108
3966
  return url.pathname.toLowerCase();
4109
3967
  };
4110
3968
 
4111
- const posRouterCss = ".toolbar{display:flex;flex-direction:row;gap:0;align-items:center;margin-left:0.5rem}pos-navigation-bar{flex-grow:1}";
3969
+ const posRouterCss = ".toolbar{display:flex;flex-direction:row;gap:0;align-items:center;margin-left:0.5rem}pos-navigation{flex-grow:1}";
4112
3970
  const PosRouterStyle0 = posRouterCss;
4113
3971
 
4114
3972
  const Router = createRouter();
@@ -4146,7 +4004,7 @@ const PosRouter = class {
4146
4004
  this.routeChanged.emit(this.uri);
4147
4005
  }
4148
4006
  render() {
4149
- return index.h("slot", { key: '221db70a52ce7ebc7e9c171142dcf94f252fa985' });
4007
+ return index.h("slot", { key: '2775fc2835158ccd8d540e4f27edfd497eafe7a9' });
4150
4008
  }
4151
4009
  };
4152
4010
  PosRouter.style = PosRouterStyle0;
@@ -4176,7 +4034,7 @@ const PosSelectTerm = class {
4176
4034
  this.termSelected.emit({ uri: event.target.value });
4177
4035
  }
4178
4036
  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))))));
4037
+ return (index.h(index.Host, { key: '87e4eddf409058ee5fc4c3da0d26f06b10814baa' }, index.h("input", { key: 'b7c3c9644cfd438806263a1f5cc721f8409cfe45', part: "input", list: "terms", placeholder: this.placeholder, value: this.value, onChange: ev => this.handleChange(ev) }), index.h("datalist", { key: '834ad0a974db76a5295501ba7231bd190d57b98b', part: "terms", id: "terms" }, this.terms.map(term => (index.h("option", { value: term.uri }, term.shorthand))))));
4180
4038
  }
4181
4039
  static get delegatesFocus() { return true; }
4182
4040
  static get watchers() { return {
@@ -4193,7 +4051,7 @@ const PosSettingOfflineCache = class {
4193
4051
  index.registerInstance(this, hostRef);
4194
4052
  }
4195
4053
  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"))));
4054
+ 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
4055
  }
4198
4056
  };
4199
4057
  PosSettingOfflineCache.style = PosSettingOfflineCacheStyle0;
@@ -4254,7 +4112,6 @@ const PosTypeRouter = class {
4254
4112
  exports.ion_icon = Icon;
4255
4113
  exports.ion_progress_bar = ProgressBar;
4256
4114
  exports.ion_ripple_effect = RippleEffect;
4257
- exports.ion_searchbar = Searchbar;
4258
4115
  exports.ion_skeleton_text = SkeletonText;
4259
4116
  exports.ion_toast = Toast;
4260
4117
  exports.pos_add_new_thing = PosAddNewThing;
@@ -4273,6 +4130,7 @@ exports.pos_label = PosLabel;
4273
4130
  exports.pos_login = PosLogin;
4274
4131
  exports.pos_login_form = PosLoginForm;
4275
4132
  exports.pos_make_findable = PosMakeFindable;
4133
+ exports.pos_navigation = PosNavigation;
4276
4134
  exports.pos_navigation_bar = PosNavigationBar;
4277
4135
  exports.pos_new_thing_form = PosNewThingForm;
4278
4136
  exports.pos_picture = PosPicture;