@pod-os/elements 0.26.1-rc.d4c6cc6.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 (493) 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 +321 -472
  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 +1 -1
  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 +39 -39
  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 +311 -462
  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-dashboard/pos-getting-started/pos-getting-started.d.ts +2 -0
  355. package/dist/types/components/pos-dialog/pos-dialog.d.ts +2 -2
  356. package/dist/types/components/pos-login/pos-login.d.ts +1 -0
  357. package/dist/types/components/pos-navigation/__test/typeToSearch.d.ts +1 -0
  358. package/dist/types/components/pos-navigation/bar/pos-navigation-bar.d.ts +11 -0
  359. package/dist/types/components/pos-navigation/pos-navigation.d.ts +44 -0
  360. package/dist/types/components.d.ts +62 -5
  361. package/package.json +1 -1
  362. package/dist/collection/components/pos-navigation-bar/pos-navigation-bar.css +0 -51
  363. package/dist/collection/components/pos-navigation-bar/pos-navigation-bar.js.map +0 -1
  364. package/dist/elements/p-02068369.entry.js +0 -20
  365. package/dist/elements/p-02068369.entry.js.map +0 -1
  366. package/dist/elements/p-07773ed5.entry.js +0 -2
  367. package/dist/elements/p-250d4bf1.entry.js +0 -2
  368. package/dist/elements/p-2f0509be.entry.js +0 -2
  369. package/dist/elements/p-4c78c8c9.js +0 -5
  370. package/dist/elements/p-4ccdbcbf.entry.js +0 -2
  371. package/dist/elements/p-523432d1.js +0 -2
  372. package/dist/elements/p-627826b0.entry.js +0 -2
  373. package/dist/elements/p-66a58eb0.entry.js +0 -2
  374. package/dist/elements/p-7183a9ca.entry.js +0 -2
  375. package/dist/elements/p-7f53778f.entry.js +0 -2
  376. package/dist/elements/p-8f6d1cbe.entry.js +0 -2
  377. package/dist/elements/p-932de51e.js +0 -8
  378. package/dist/elements/p-95161a5d.entry.js +0 -2
  379. package/dist/elements/p-a06d93c7.entry.js +0 -2
  380. package/dist/elements/p-a08f0446.entry.js +0 -2
  381. package/dist/elements/p-a13569cf.entry.js +0 -2
  382. package/dist/elements/p-a37a2712.js +0 -5
  383. package/dist/elements/p-bca341ba.entry.js +0 -2
  384. package/dist/elements/p-bdea20c4.entry.js +0 -2
  385. package/dist/elements/p-c01a4a79.entry.js +0 -2
  386. package/dist/elements/p-c452a2e9.js +0 -5
  387. package/dist/elements/p-d1e7b393.js +0 -5
  388. package/dist/elements/p-d358565a.entry.js +0 -2
  389. package/dist/elements/p-eba70ed1.js +0 -6
  390. package/dist/elements/p-f67bba50.js +0 -5
  391. package/dist/types/components/pos-navigation-bar/pos-navigation-bar.d.ts +0 -25
  392. /package/dist/elements/{p-a6c03ce8.js.map → p-01adc2b7.js.map} +0 -0
  393. /package/dist/elements/{p-7190d53c.entry.js.map → p-09ff1516.entry.js.map} +0 -0
  394. /package/dist/elements/{p-307d1531.js.map → p-0a6631d5.js.map} +0 -0
  395. /package/dist/elements/{p-c698ab8e.entry.js.map → p-0b3d14ec.entry.js.map} +0 -0
  396. /package/dist/elements/{p-d8818bb3.entry.js.map → p-0d4f129d.entry.js.map} +0 -0
  397. /package/dist/elements/{p-07773ed5.entry.js.map → p-104fee38.entry.js.map} +0 -0
  398. /package/dist/elements/{p-6cc9961e.entry.js.map → p-11466af2.entry.js.map} +0 -0
  399. /package/dist/elements/{p-3e6ffc13.entry.js.map → p-11845ff3.entry.js.map} +0 -0
  400. /package/dist/elements/{p-a507d627.entry.js.map → p-151d1ec8.entry.js.map} +0 -0
  401. /package/dist/elements/{p-8e1c68eb.entry.js.map → p-178b3852.entry.js.map} +0 -0
  402. /package/dist/elements/{p-89aef852.js.map → p-1930ffd5.js.map} +0 -0
  403. /package/dist/elements/{p-aa7d93f1.entry.js.map → p-1a1222a3.entry.js.map} +0 -0
  404. /package/dist/elements/{p-4dd65d40.entry.js.map → p-1e05efd7.entry.js.map} +0 -0
  405. /package/dist/elements/{p-f50c3045.entry.js.map → p-1faf2d02.entry.js.map} +0 -0
  406. /package/dist/elements/{p-a421bbe5.entry.js.map → p-21e90439.entry.js.map} +0 -0
  407. /package/dist/elements/{p-552a9992.entry.js.map → p-22c21319.entry.js.map} +0 -0
  408. /package/dist/elements/{p-66973c59.entry.js.map → p-24d93ddd.entry.js.map} +0 -0
  409. /package/dist/elements/{p-8f6d1cbe.entry.js.map → p-258f2385.entry.js.map} +0 -0
  410. /package/dist/elements/{p-72a9cbdc.entry.js.map → p-27bd8113.entry.js.map} +0 -0
  411. /package/dist/elements/{p-c350af00.entry.js.map → p-2948d57b.entry.js.map} +0 -0
  412. /package/dist/elements/{p-7183a9ca.entry.js.map → p-2cda3231.entry.js.map} +0 -0
  413. /package/dist/elements/{p-41bb9792.entry.js.map → p-2cdaf88b.entry.js.map} +0 -0
  414. /package/dist/elements/{p-fa0be1d8.entry.js.map → p-2e08ee3a.entry.js.map} +0 -0
  415. /package/dist/elements/{p-239442f9.entry.js.map → p-2e0c20e7.entry.js.map} +0 -0
  416. /package/dist/elements/{p-627826b0.entry.js.map → p-2ec92ff9.entry.js.map} +0 -0
  417. /package/dist/elements/{p-8e8881a8.entry.js.map → p-30834f34.entry.js.map} +0 -0
  418. /package/dist/elements/{p-eba70ed1.js.map → p-30cd90ec.js.map} +0 -0
  419. /package/dist/elements/{p-ae984107.entry.js.map → p-3585f786.entry.js.map} +0 -0
  420. /package/dist/elements/{p-d08312dd.entry.js.map → p-35f84573.entry.js.map} +0 -0
  421. /package/dist/elements/{p-ffa8c481.entry.js.map → p-3f02cc92.entry.js.map} +0 -0
  422. /package/dist/elements/{p-71ee259b.js.map → p-3f316fc4.js.map} +0 -0
  423. /package/dist/elements/{p-bc675b21.entry.js.map → p-3f3b74e6.entry.js.map} +0 -0
  424. /package/dist/elements/{p-7f53778f.entry.js.map → p-40a2d567.entry.js.map} +0 -0
  425. /package/dist/elements/{p-e78cf007.entry.js.map → p-4dc7c524.entry.js.map} +0 -0
  426. /package/dist/elements/{p-c191e6df.js.map → p-4e8c31fa.js.map} +0 -0
  427. /package/dist/elements/{p-a45b1964.entry.js.map → p-5051d2a6.entry.js.map} +0 -0
  428. /package/dist/elements/{p-e0de7c6a.entry.js.map → p-5a061ddb.entry.js.map} +0 -0
  429. /package/dist/elements/{p-061819d1.js.map → p-5a8e7149.js.map} +0 -0
  430. /package/dist/elements/{p-4c78c8c9.js.map → p-5bf4c45a.js.map} +0 -0
  431. /package/dist/elements/{p-b9dcf3b2.js.map → p-5e8a3893.js.map} +0 -0
  432. /package/dist/elements/{p-300ec095.entry.js.map → p-602861f4.entry.js.map} +0 -0
  433. /package/dist/elements/{p-4a370bdc.entry.js.map → p-627d5e73.entry.js.map} +0 -0
  434. /package/dist/elements/{p-406df11a.entry.js.map → p-648dac6c.entry.js.map} +0 -0
  435. /package/dist/elements/{p-07d2bd5a.entry.js.map → p-650db824.entry.js.map} +0 -0
  436. /package/dist/elements/{p-cb550d04.entry.js.map → p-682dd0f9.entry.js.map} +0 -0
  437. /package/dist/elements/{p-59ec8b76.entry.js.map → p-689a5c54.entry.js.map} +0 -0
  438. /package/dist/elements/{p-d6394ee4.entry.js.map → p-6a701de0.entry.js.map} +0 -0
  439. /package/dist/elements/{p-f4035b4a.entry.js.map → p-6ca9bad7.entry.js.map} +0 -0
  440. /package/dist/elements/{p-25926b66.entry.js.map → p-6cae9207.entry.js.map} +0 -0
  441. /package/dist/elements/{p-6119b57a.entry.js.map → p-6e5c902a.entry.js.map} +0 -0
  442. /package/dist/elements/{p-0ddcbecd.entry.js.map → p-72ba182e.entry.js.map} +0 -0
  443. /package/dist/elements/{p-1b2d32c1.entry.js.map → p-8619a806.entry.js.map} +0 -0
  444. /package/dist/elements/{p-4383e1bb.entry.js.map → p-87af433a.entry.js.map} +0 -0
  445. /package/dist/elements/{p-f96384f2.entry.js.map → p-87eb06bc.entry.js.map} +0 -0
  446. /package/dist/elements/{p-e8268c7a.entry.js.map → p-8c13ce70.entry.js.map} +0 -0
  447. /package/dist/elements/{p-b64a85bf.entry.js.map → p-8f6d4374.entry.js.map} +0 -0
  448. /package/dist/elements/{p-949b115f.js.map → p-91025a2c.js.map} +0 -0
  449. /package/dist/elements/{p-71835d6f.entry.js.map → p-95036276.entry.js.map} +0 -0
  450. /package/dist/elements/{p-42169e41.js.map → p-97889672.js.map} +0 -0
  451. /package/dist/elements/{p-8b209e66.entry.js.map → p-9840f300.entry.js.map} +0 -0
  452. /package/dist/elements/{p-a37a2712.js.map → p-98b2844f.js.map} +0 -0
  453. /package/dist/elements/{p-fa19a3e9.entry.js.map → p-9d23baee.entry.js.map} +0 -0
  454. /package/dist/elements/{p-7e8b8df1.entry.js.map → p-9d6c94d3.entry.js.map} +0 -0
  455. /package/dist/elements/{p-41854c8f.entry.js.map → p-9d81c061.entry.js.map} +0 -0
  456. /package/dist/elements/{p-dadb557e.entry.js.map → p-a19fb8fa.entry.js.map} +0 -0
  457. /package/dist/elements/{p-9a4bf79e.entry.js.map → p-a7c9aa13.entry.js.map} +0 -0
  458. /package/dist/elements/{p-0ee8b7a7.js.map → p-acfa402f.js.map} +0 -0
  459. /package/dist/elements/{p-facc0ac5.entry.js.map → p-af03cfbe.entry.js.map} +0 -0
  460. /package/dist/elements/{p-b8bd7745.entry.js.map → p-af2b9ecb.entry.js.map} +0 -0
  461. /package/dist/elements/{p-cbf050d6.js.map → p-b110cb49.js.map} +0 -0
  462. /package/dist/elements/{p-09d80405.entry.js.map → p-b1292dde.entry.js.map} +0 -0
  463. /package/dist/elements/{p-a376351f.entry.js.map → p-b34203cd.entry.js.map} +0 -0
  464. /package/dist/elements/{p-dc709055.entry.js.map → p-b954a40f.entry.js.map} +0 -0
  465. /package/dist/elements/{p-1fc8e557.js.map → p-bde7428a.js.map} +0 -0
  466. /package/dist/elements/{p-734e5a97.js.map → p-bf5335d4.js.map} +0 -0
  467. /package/dist/elements/{p-932de51e.js.map → p-c1df6af7.js.map} +0 -0
  468. /package/dist/elements/{p-a08f0446.entry.js.map → p-c27a94bc.entry.js.map} +0 -0
  469. /package/dist/elements/{p-cbae963d.js.map → p-c30eb80f.js.map} +0 -0
  470. /package/dist/elements/{p-4c078751.entry.js.map → p-c4332c66.entry.js.map} +0 -0
  471. /package/dist/elements/{p-36caf749.entry.js.map → p-c4894c44.entry.js.map} +0 -0
  472. /package/dist/elements/{p-87c81685.entry.js.map → p-c4e1867e.entry.js.map} +0 -0
  473. /package/dist/elements/{p-645632a8.entry.js.map → p-c7db2b55.entry.js.map} +0 -0
  474. /package/dist/elements/{p-a13569cf.entry.js.map → p-cb3e5072.entry.js.map} +0 -0
  475. /package/dist/elements/{p-49fcec88.entry.js.map → p-d54d552d.entry.js.map} +0 -0
  476. /package/dist/elements/{p-2a548485.entry.js.map → p-d7b597ed.entry.js.map} +0 -0
  477. /package/dist/elements/{p-c452a2e9.js.map → p-da0c771e.js.map} +0 -0
  478. /package/dist/elements/{p-c9604122.entry.js.map → p-de6d7967.entry.js.map} +0 -0
  479. /package/dist/elements/{p-b5f6b322.entry.js.map → p-e15ff70c.entry.js.map} +0 -0
  480. /package/dist/elements/{p-4ccdbcbf.entry.js.map → p-e1957ea1.entry.js.map} +0 -0
  481. /package/dist/elements/{p-f67bba50.js.map → p-e43d654c.js.map} +0 -0
  482. /package/dist/elements/{p-01981011.entry.js.map → p-e7fbd427.entry.js.map} +0 -0
  483. /package/dist/elements/{p-d61d280b.js.map → p-e912617c.js.map} +0 -0
  484. /package/dist/elements/{p-da0d920d.js.map → p-ebe1c8ca.js.map} +0 -0
  485. /package/dist/elements/{p-d872fe3e.entry.js.map → p-ec283f66.entry.js.map} +0 -0
  486. /package/dist/elements/{p-523432d1.js.map → p-ec7a6c44.js.map} +0 -0
  487. /package/dist/elements/{p-f40b3ec6.entry.js.map → p-ed22dcc0.entry.js.map} +0 -0
  488. /package/dist/elements/{p-05fff093.entry.js.map → p-eeaffc3b.entry.js.map} +0 -0
  489. /package/dist/elements/{p-d1e7b393.js.map → p-f2c0c8a9.js.map} +0 -0
  490. /package/dist/elements/{p-c186950b.entry.js.map → p-f3bf8ff7.entry.js.map} +0 -0
  491. /package/dist/elements/{p-5441ae35.entry.js.map → p-fb740291.entry.js.map} +0 -0
  492. /package/dist/elements/{p-5bf40440.entry.js.map → p-fbff274c.entry.js.map} +0 -0
  493. /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 {
@@ -3162,7 +2936,7 @@ const PosAppBrowser = class {
3162
2936
  this.uri = '';
3163
2937
  }
3164
2938
  render() {
3165
- 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-bar", { key: '7cfa339b537b62240d5f2bbe7397107e8a1a7e8f', uri: this.uri === 'pod-os:dashboard' ? '' : this.uri }), index.h("pos-login", { key: 'c72bcdc0fdaa31a7e324dbbccc2e0e50125d021c' })), index.h("main", { key: 'a02ba7b0060f53346e49f10a85a856bf91a2d694' }, this.mainContent()), index.h("footer", { key: 'bf1dd2d6bc955fb7b84697ba8c3265146e537dd2' }, index.h(Logo, { key: 'ede51e21902c8f9c7c14fd41acd152536e65be79' }), index.h("span", { key: 'ab72f5096bb7049eb8e6d434ddd6e7f5ac2bc2f4' }, "PodOS Browser"), index.h("span", { key: '0beba45e269eeec9e9c85f058023174820962c3c' }, "|"), index.h("a", { key: 'f57e94eee1df69da8d61b5c8afe47caf921f428b', 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")))))));
3166
2940
  }
3167
2941
  mainContent() {
3168
2942
  if (this.uri === '') {
@@ -3212,7 +2986,7 @@ const PosAppSettings = class {
3212
2986
  index.registerInstance(this, hostRef);
3213
2987
  }
3214
2988
  render() {
3215
- return index.h("pos-setting-offline-cache", { key: 'f065206f6291089773a19045243f04b6ce35eeb9' });
2989
+ return index.h("pos-setting-offline-cache", { key: '0da588136a4c7c4238e0387bfe0649464ccd1c7d' });
3216
2990
  }
3217
2991
  };
3218
2992
  PosAppSettings.style = PosAppSettingsStyle0;
@@ -3240,14 +3014,14 @@ const PosDialog = class {
3240
3014
  constructor(hostRef) {
3241
3015
  index.registerInstance(this, hostRef);
3242
3016
  }
3243
- async showModal() {
3017
+ showModal() {
3244
3018
  this.dialog.showModal();
3245
3019
  }
3246
- async close() {
3020
+ close() {
3247
3021
  this.dialog.close();
3248
3022
  }
3249
3023
  render() {
3250
- 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" }))));
3251
3025
  }
3252
3026
  };
3253
3027
  PosDialog.style = PosDialogStyle0;
@@ -3282,7 +3056,7 @@ const PosErrorToast = class {
3282
3056
  await toast.present();
3283
3057
  }
3284
3058
  render() {
3285
- 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' })));
3286
3060
  }
3287
3061
  };
3288
3062
 
@@ -3299,15 +3073,16 @@ const PosExampleResources = class {
3299
3073
  };
3300
3074
  PosExampleResources.style = PosExampleResourcesStyle0;
3301
3075
 
3302
- 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}";
3303
3077
  const PosGettingStartedStyle0 = posGettingStartedCss;
3304
3078
 
3305
3079
  const PosGettingStarted = class {
3306
3080
  constructor(hostRef) {
3307
3081
  index.registerInstance(this, hostRef);
3082
+ this.login = index.createEvent(this, "pod-os:login", 7);
3308
3083
  }
3309
3084
  render() {
3310
- 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")))));
3311
3086
  }
3312
3087
  };
3313
3088
  PosGettingStarted.style = PosGettingStartedStyle0;
@@ -3433,11 +3208,14 @@ const PosLogin = class {
3433
3208
  logout() {
3434
3209
  this.os.logout();
3435
3210
  }
3211
+ onLogin() {
3212
+ this.openDialog();
3213
+ }
3436
3214
  openDialog() {
3437
3215
  this.dialog.showModal();
3438
3216
  }
3439
3217
  render() {
3440
- 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" }))));
3441
3219
  }
3442
3220
  };
3443
3221
  PosLogin.style = PosLoginStyle0;
@@ -3456,7 +3234,7 @@ const PosLoginForm = class {
3456
3234
  this.canSubmit = Boolean(this.idpUrl);
3457
3235
  }
3458
3236
  render() {
3459
- 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 })));
3460
3238
  }
3461
3239
  handleChange(event) {
3462
3240
  this.validate();
@@ -3472,7 +3250,7 @@ const PosLoginForm = class {
3472
3250
  };
3473
3251
  PosLoginForm.style = PosLoginFormStyle0;
3474
3252
 
3475
- 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";
3476
3254
  const PosMakeFindableStyle0 = posMakeFindableCss;
3477
3255
 
3478
3256
  const PosMakeFindable = class {
@@ -3520,7 +3298,7 @@ const PosMakeFindable = class {
3520
3298
  }
3521
3299
  getLabelIndexes(profile) {
3522
3300
  if (profile) {
3523
- 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));
3524
3302
  this.isIndexed = this.checkIfIndexed(this.uri);
3525
3303
  }
3526
3304
  }
@@ -3579,25 +3357,44 @@ const IconMakeFindable = () => (index.h("svg", { role: "presentation", xmlns: "h
3579
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" })));
3580
3358
  PosMakeFindable.style = PosMakeFindableStyle0;
3581
3359
 
3582
- 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";
3583
- 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;
3584
3362
 
3585
- const PosNavigationBar = class {
3363
+ const PosNavigation = class {
3586
3364
  constructor(hostRef) {
3587
3365
  index.registerInstance(this, hostRef);
3588
3366
  this.subscribePodOs = index.createEvent(this, "pod-os:init", 7);
3589
3367
  this.linkEmitter = index.createEvent(this, "pod-os:link", 7);
3368
+ /**
3369
+ * Initial value of the navigation bar
3370
+ */
3590
3371
  this.uri = '';
3591
- this.value = this.uri;
3372
+ /**
3373
+ * Current value of the input field
3374
+ */
3375
+ this.inputValue = this.uri;
3592
3376
  this.searchIndex = undefined;
3593
3377
  this.suggestions = [];
3594
3378
  this.selectedIndex = -1;
3379
+ this.resource = null;
3380
+ this.changeEvents = new Subject();
3381
+ this.debouncedSearch = null;
3595
3382
  this.receivePodOs = async (os) => {
3596
3383
  this.os = os;
3597
3384
  };
3598
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
+ }
3599
3395
  componentWillLoad() {
3600
3396
  PodOsAware.subscribePodOs(this);
3397
+ this.updateResource();
3601
3398
  BrokenFile.store.onChange('isLoggedIn', async (isLoggedIn) => {
3602
3399
  if (isLoggedIn) {
3603
3400
  await this.buildSearchIndex();
@@ -3606,6 +3403,11 @@ const PosNavigationBar = class {
3606
3403
  this.clearSearchIndex();
3607
3404
  }
3608
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();
3609
3411
  }
3610
3412
  async buildSearchIndex() {
3611
3413
  this.searchIndex = await this.os.buildSearchIndex(BrokenFile.store.state.profile);
@@ -3613,16 +3415,33 @@ const PosNavigationBar = class {
3613
3415
  rebuildSearchIndex() {
3614
3416
  this.searchIndex.rebuild();
3615
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
+ }
3616
3428
  clearSearchIndex() {
3617
3429
  var _a;
3618
3430
  (_a = this.searchIndex) === null || _a === void 0 ? void 0 : _a.clear();
3619
3431
  }
3620
3432
  onChange(event) {
3621
- this.value = event.detail.value;
3622
- 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;
3623
3440
  }
3624
3441
  clearSuggestions() {
3442
+ var _a;
3625
3443
  this.suggestions = [];
3444
+ (_a = this.dialogRef) === null || _a === void 0 ? void 0 : _a.close();
3626
3445
  this.selectedIndex = -1;
3627
3446
  }
3628
3447
  onClickSelf(event) {
@@ -3630,7 +3449,7 @@ const PosNavigationBar = class {
3630
3449
  }
3631
3450
  handleKeyDown(ev) {
3632
3451
  if (ev.key === 'Escape') {
3633
- this.clearSuggestions();
3452
+ this.closeDialog();
3634
3453
  }
3635
3454
  else if (ev.key === 'ArrowDown') {
3636
3455
  ev.preventDefault();
@@ -3643,20 +3462,50 @@ const PosNavigationBar = class {
3643
3462
  }
3644
3463
  search() {
3645
3464
  if (this.searchIndex) {
3646
- this.suggestions = this.value ? this.searchIndex.search(this.value) : [];
3465
+ this.suggestions = this.inputValue ? this.searchIndex.search(this.inputValue) : [];
3647
3466
  }
3648
3467
  }
3649
- onSubmit(event) {
3650
- event.preventDefault();
3468
+ onSubmit() {
3651
3469
  if (this.suggestions && this.selectedIndex > -1) {
3652
3470
  this.linkEmitter.emit(this.suggestions[this.selectedIndex].ref);
3653
3471
  }
3654
3472
  else {
3655
- this.linkEmitter.emit(this.value);
3473
+ this.linkEmitter.emit(this.inputValue);
3474
+ }
3475
+ }
3476
+ render() {
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);
3656
3501
  }
3657
3502
  }
3658
3503
  render() {
3659
- 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)));
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" })));
3660
3509
  }
3661
3510
  };
3662
3511
  PosNavigationBar.style = PosNavigationBarStyle0;
@@ -3682,7 +3531,7 @@ const PosNewThingForm = class {
3682
3531
  PodOsAware.subscribePodOs(this);
3683
3532
  }
3684
3533
  render() {
3685
- 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 })));
3686
3535
  }
3687
3536
  handleChange(event) {
3688
3537
  this.name = event.target.value;
@@ -3812,7 +3661,7 @@ const PosResource = class {
3812
3661
  };
3813
3662
  PosResource.style = PosResourceStyle0;
3814
3663
 
3815
- 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";
3816
3665
  const PosRichLinkStyle0 = posRichLinkCss;
3817
3666
 
3818
3667
  const PosRichLink = class {
@@ -3821,10 +3670,10 @@ const PosRichLink = class {
3821
3670
  this.linkEmitter = index.createEvent(this, "pod-os:link", 7);
3822
3671
  }
3823
3672
  render() {
3824
- 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 => {
3825
3674
  e.preventDefault();
3826
3675
  this.linkEmitter.emit(this.uri);
3827
- } }, 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' }))));
3828
3677
  }
3829
3678
  };
3830
3679
  PosRichLink.style = PosRichLinkStyle0;
@@ -4117,7 +3966,7 @@ const DEFAULT_PARSE_URL = (url) => {
4117
3966
  return url.pathname.toLowerCase();
4118
3967
  };
4119
3968
 
4120
- 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}";
4121
3970
  const PosRouterStyle0 = posRouterCss;
4122
3971
 
4123
3972
  const Router = createRouter();
@@ -4155,7 +4004,7 @@ const PosRouter = class {
4155
4004
  this.routeChanged.emit(this.uri);
4156
4005
  }
4157
4006
  render() {
4158
- return index.h("slot", { key: '221db70a52ce7ebc7e9c171142dcf94f252fa985' });
4007
+ return index.h("slot", { key: '2775fc2835158ccd8d540e4f27edfd497eafe7a9' });
4159
4008
  }
4160
4009
  };
4161
4010
  PosRouter.style = PosRouterStyle0;
@@ -4185,7 +4034,7 @@ const PosSelectTerm = class {
4185
4034
  this.termSelected.emit({ uri: event.target.value });
4186
4035
  }
4187
4036
  render() {
4188
- 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))))));
4189
4038
  }
4190
4039
  static get delegatesFocus() { return true; }
4191
4040
  static get watchers() { return {
@@ -4202,7 +4051,7 @@ const PosSettingOfflineCache = class {
4202
4051
  index.registerInstance(this, hostRef);
4203
4052
  }
4204
4053
  render() {
4205
- 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"))));
4206
4055
  }
4207
4056
  };
4208
4057
  PosSettingOfflineCache.style = PosSettingOfflineCacheStyle0;
@@ -4263,7 +4112,6 @@ const PosTypeRouter = class {
4263
4112
  exports.ion_icon = Icon;
4264
4113
  exports.ion_progress_bar = ProgressBar;
4265
4114
  exports.ion_ripple_effect = RippleEffect;
4266
- exports.ion_searchbar = Searchbar;
4267
4115
  exports.ion_skeleton_text = SkeletonText;
4268
4116
  exports.ion_toast = Toast;
4269
4117
  exports.pos_add_new_thing = PosAddNewThing;
@@ -4282,6 +4130,7 @@ exports.pos_label = PosLabel;
4282
4130
  exports.pos_login = PosLogin;
4283
4131
  exports.pos_login_form = PosLoginForm;
4284
4132
  exports.pos_make_findable = PosMakeFindable;
4133
+ exports.pos_navigation = PosNavigation;
4285
4134
  exports.pos_navigation_bar = PosNavigationBar;
4286
4135
  exports.pos_new_thing_form = PosNewThingForm;
4287
4136
  exports.pos_picture = PosPicture;