@pod-os/elements 0.26.0 → 0.26.1-rc.52f6cf9.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 (453) hide show
  1. package/dist/cjs/elements.cjs.js +1 -1
  2. package/dist/cjs/ion-icon_31.cjs.entry.js +306 -461
  3. package/dist/cjs/ion-icon_31.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ion-searchbar.cjs.entry.js +430 -0
  5. package/dist/cjs/ion-searchbar.cjs.entry.js.map +1 -0
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/collection/apps/pos-app-browser/pos-app-browser.css +8 -15
  8. package/dist/collection/apps/pos-app-browser/pos-app-browser.js +12 -3
  9. package/dist/collection/apps/pos-app-browser/pos-app-browser.js.map +1 -1
  10. package/dist/collection/collection-manifest.json +2 -1
  11. package/dist/collection/components/pos-add-new-thing/pos-add-new-thing.css +2 -2
  12. package/dist/collection/components/pos-make-findable/pos-make-findable.css +7 -4
  13. package/dist/collection/components/pos-navigation/__test/typeToSearch.js +12 -0
  14. package/dist/collection/components/pos-navigation/__test/typeToSearch.js.map +1 -0
  15. package/dist/collection/components/pos-navigation/bar/pos-navigation-bar.css +28 -0
  16. package/dist/collection/components/pos-navigation/bar/pos-navigation-bar.js +87 -0
  17. package/dist/collection/components/pos-navigation/bar/pos-navigation-bar.js.map +1 -0
  18. package/dist/collection/components/pos-navigation/pos-navigation.css +115 -0
  19. package/dist/collection/components/{pos-navigation-bar/pos-navigation-bar.js → pos-navigation/pos-navigation.js} +75 -18
  20. package/dist/collection/components/pos-navigation/pos-navigation.js.map +1 -0
  21. package/dist/collection/components/pos-new-thing-form/pos-new-thing-form.js +1 -1
  22. package/dist/collection/components/pos-rich-link/pos-rich-link.css +1 -1
  23. package/dist/collection/components/pos-rich-link/pos-rich-link.js +2 -2
  24. package/dist/collection/components/pos-router/pos-router.css +1 -1
  25. package/dist/collection/components/pos-router/pos-router.js +1 -1
  26. package/dist/collection/components/pos-select-term/pos-select-term.js +1 -1
  27. package/dist/components/Subject.js +700 -0
  28. package/dist/components/Subject.js.map +1 -0
  29. package/dist/components/ion-searchbar.js +475 -1
  30. package/dist/components/ion-searchbar.js.map +1 -1
  31. package/dist/components/pos-add-new-thing2.js +1 -1
  32. package/dist/components/pos-add-new-thing2.js.map +1 -1
  33. package/dist/components/pos-app-browser.js +49 -40
  34. package/dist/components/pos-app-browser.js.map +1 -1
  35. package/dist/components/pos-app2.js +1 -697
  36. package/dist/components/pos-app2.js.map +1 -1
  37. package/dist/components/pos-make-findable2.js +1 -1
  38. package/dist/components/pos-make-findable2.js.map +1 -1
  39. package/dist/components/pos-navigation-bar2.js +17 -111
  40. package/dist/components/pos-navigation-bar2.js.map +1 -1
  41. package/dist/components/pos-navigation.d.ts +11 -0
  42. package/dist/components/pos-navigation.js +8 -0
  43. package/dist/components/pos-navigation.js.map +1 -0
  44. package/dist/components/pos-navigation2.js +394 -0
  45. package/dist/components/pos-navigation2.js.map +1 -0
  46. package/dist/components/pos-new-thing-form2.js +1 -1
  47. package/dist/components/pos-rich-link2.js +3 -3
  48. package/dist/components/pos-rich-link2.js.map +1 -1
  49. package/dist/components/pos-router2.js +2 -2
  50. package/dist/components/pos-router2.js.map +1 -1
  51. package/dist/components/pos-select-term2.js +1 -1
  52. package/dist/elements/elements.esm.js +1 -1
  53. package/dist/elements/elements.esm.js.map +1 -1
  54. package/dist/elements/{p-a6c03ce8.js → p-01adc2b7.js} +2 -2
  55. package/dist/elements/{p-7190d53c.entry.js → p-09ff1516.entry.js} +2 -2
  56. package/dist/elements/{p-307d1531.js → p-0a6631d5.js} +2 -2
  57. package/dist/elements/{p-c698ab8e.entry.js → p-0b3d14ec.entry.js} +3 -3
  58. package/dist/elements/{p-d8818bb3.entry.js → p-0d4f129d.entry.js} +2 -2
  59. package/dist/elements/p-104fee38.entry.js +2 -0
  60. package/dist/elements/p-111699ee.entry.js +20 -0
  61. package/dist/elements/p-111699ee.entry.js.map +1 -0
  62. package/dist/elements/{p-6cc9961e.entry.js → p-11466af2.entry.js} +2 -2
  63. package/dist/elements/{p-3e6ffc13.entry.js → p-11845ff3.entry.js} +2 -2
  64. package/dist/elements/p-13b1d6fe.entry.js +2 -0
  65. package/dist/elements/{p-d358565a.entry.js.map → p-13b1d6fe.entry.js.map} +1 -1
  66. package/dist/elements/p-14bf4c7a.entry.js +2 -0
  67. package/dist/elements/{p-66a58eb0.entry.js.map → p-14bf4c7a.entry.js.map} +1 -1
  68. package/dist/elements/{p-a507d627.entry.js → p-151d1ec8.entry.js} +2 -2
  69. package/dist/elements/{p-89aef852.js → p-1930ffd5.js} +2 -2
  70. package/dist/elements/{p-aa7d93f1.entry.js → p-1a1222a3.entry.js} +2 -2
  71. package/dist/elements/{p-4dd65d40.entry.js → p-1e05efd7.entry.js} +2 -2
  72. package/dist/elements/{p-f50c3045.entry.js → p-1faf2d02.entry.js} +2 -2
  73. package/dist/elements/{p-a421bbe5.entry.js → p-21e90439.entry.js} +2 -2
  74. package/dist/elements/p-220cce23.entry.js +2 -0
  75. package/dist/{components/searchbar.js.map → elements/p-220cce23.entry.js.map} +1 -1
  76. package/dist/elements/{p-552a9992.entry.js → p-22c21319.entry.js} +2 -2
  77. package/dist/elements/{p-66973c59.entry.js → p-24d93ddd.entry.js} +2 -2
  78. package/dist/elements/p-2551eb06.entry.js +2 -0
  79. package/dist/elements/{p-bca341ba.entry.js.map → p-2551eb06.entry.js.map} +1 -1
  80. package/dist/elements/p-258f2385.entry.js +2 -0
  81. package/dist/elements/{p-72a9cbdc.entry.js → p-27bd8113.entry.js} +2 -2
  82. package/dist/elements/{p-c350af00.entry.js → p-2948d57b.entry.js} +2 -2
  83. package/dist/elements/{p-41bb9792.entry.js → p-2cdaf88b.entry.js} +2 -2
  84. package/dist/elements/{p-fa0be1d8.entry.js → p-2e08ee3a.entry.js} +2 -2
  85. package/dist/elements/{p-239442f9.entry.js → p-2e0c20e7.entry.js} +2 -2
  86. package/dist/elements/p-2ec92ff9.entry.js +2 -0
  87. package/dist/elements/p-2f3623f1.entry.js +2 -0
  88. package/dist/elements/{p-c01a4a79.entry.js.map → p-2f3623f1.entry.js.map} +1 -1
  89. package/dist/elements/{p-8e8881a8.entry.js → p-30834f34.entry.js} +2 -2
  90. package/dist/elements/p-30cd90ec.js +6 -0
  91. package/dist/elements/{p-ae984107.entry.js → p-3585f786.entry.js} +2 -2
  92. package/dist/elements/{p-d08312dd.entry.js → p-35f84573.entry.js} +2 -2
  93. package/dist/elements/p-3e130681.entry.js +2 -0
  94. package/dist/elements/{p-bdea20c4.entry.js.map → p-3e130681.entry.js.map} +1 -1
  95. package/dist/elements/{p-ffa8c481.entry.js → p-3f02cc92.entry.js} +2 -2
  96. package/dist/elements/{p-71ee259b.js → p-3f316fc4.js} +2 -2
  97. package/dist/elements/{p-bc675b21.entry.js → p-3f3b74e6.entry.js} +2 -2
  98. package/dist/elements/p-40a2d567.entry.js +2 -0
  99. package/dist/elements/{p-e78cf007.entry.js → p-4dc7c524.entry.js} +2 -2
  100. package/dist/elements/{p-c191e6df.js → p-4e8c31fa.js} +8 -8
  101. package/dist/elements/{p-a45b1964.entry.js → p-5051d2a6.entry.js} +2 -2
  102. package/dist/elements/{p-e0de7c6a.entry.js → p-5a061ddb.entry.js} +2 -2
  103. package/dist/elements/{p-061819d1.js → p-5a8e7149.js} +3 -3
  104. package/dist/elements/p-5bf4c45a.js +5 -0
  105. package/dist/elements/{p-b9dcf3b2.js → p-5e8a3893.js} +2 -2
  106. package/dist/elements/{p-300ec095.entry.js → p-602861f4.entry.js} +3 -3
  107. package/dist/elements/{p-4a370bdc.entry.js → p-627d5e73.entry.js} +2 -2
  108. package/dist/elements/{p-406df11a.entry.js → p-648dac6c.entry.js} +2 -2
  109. package/dist/elements/{p-07d2bd5a.entry.js → p-650db824.entry.js} +2 -2
  110. package/dist/elements/{p-cb550d04.entry.js → p-682dd0f9.entry.js} +2 -2
  111. package/dist/elements/{p-59ec8b76.entry.js → p-689a5c54.entry.js} +3 -3
  112. package/dist/elements/{p-d6394ee4.entry.js → p-6a701de0.entry.js} +2 -2
  113. package/dist/elements/{p-f4035b4a.entry.js → p-6ca9bad7.entry.js} +2 -2
  114. package/dist/elements/{p-25926b66.entry.js → p-6cae9207.entry.js} +2 -2
  115. package/dist/elements/{p-6119b57a.entry.js → p-6e5c902a.entry.js} +2 -2
  116. package/dist/elements/{p-0ddcbecd.entry.js → p-72ba182e.entry.js} +2 -2
  117. package/dist/elements/{p-1b2d32c1.entry.js → p-8619a806.entry.js} +2 -2
  118. package/dist/elements/{p-4383e1bb.entry.js → p-87af433a.entry.js} +2 -2
  119. package/dist/elements/{p-f96384f2.entry.js → p-87eb06bc.entry.js} +2 -2
  120. package/dist/elements/p-8a691722.entry.js +2 -0
  121. package/dist/elements/{p-95161a5d.entry.js.map → p-8a691722.entry.js.map} +1 -1
  122. package/dist/elements/{p-e8268c7a.entry.js → p-8c13ce70.entry.js} +2 -2
  123. package/dist/elements/{p-b64a85bf.entry.js → p-8f6d4374.entry.js} +2 -2
  124. package/dist/elements/{p-949b115f.js → p-91025a2c.js} +3 -3
  125. package/dist/elements/{p-71835d6f.entry.js → p-95036276.entry.js} +2 -2
  126. package/dist/elements/{p-42169e41.js → p-97889672.js} +2 -2
  127. package/dist/elements/p-97fa472f.entry.js +2 -0
  128. package/dist/elements/{p-a06d93c7.entry.js.map → p-97fa472f.entry.js.map} +1 -1
  129. package/dist/elements/{p-8b209e66.entry.js → p-9840f300.entry.js} +2 -2
  130. package/dist/elements/p-98b2844f.js +5 -0
  131. package/dist/elements/{p-fa19a3e9.entry.js → p-9d23baee.entry.js} +2 -2
  132. package/dist/elements/{p-7e8b8df1.entry.js → p-9d6c94d3.entry.js} +2 -2
  133. package/dist/elements/{p-41854c8f.entry.js → p-9d81c061.entry.js} +2 -2
  134. package/dist/elements/{p-dadb557e.entry.js → p-a19fb8fa.entry.js} +4 -4
  135. package/dist/elements/{p-9a4bf79e.entry.js → p-a7c9aa13.entry.js} +2 -2
  136. package/dist/elements/{p-0ee8b7a7.js → p-acfa402f.js} +2 -2
  137. package/dist/elements/{p-facc0ac5.entry.js → p-af03cfbe.entry.js} +2 -2
  138. package/dist/elements/{p-b8bd7745.entry.js → p-af2b9ecb.entry.js} +2 -2
  139. package/dist/elements/{p-cbf050d6.js → p-b110cb49.js} +2 -2
  140. package/dist/elements/{p-09d80405.entry.js → p-b1292dde.entry.js} +2 -2
  141. package/dist/elements/{p-4ccdbcbf.entry.js → p-b1de75a4.entry.js} +2 -2
  142. package/dist/elements/p-b2c94853.entry.js +2 -0
  143. package/dist/elements/{p-250d4bf1.entry.js.map → p-b2c94853.entry.js.map} +1 -1
  144. package/dist/elements/{p-a376351f.entry.js → p-b34203cd.entry.js} +2 -2
  145. package/dist/elements/{p-dc709055.entry.js → p-b954a40f.entry.js} +2 -2
  146. package/dist/elements/{p-1fc8e557.js → p-bde7428a.js} +2 -2
  147. package/dist/elements/{p-734e5a97.js → p-bf5335d4.js} +2 -2
  148. package/dist/elements/p-c1df6af7.js +8 -0
  149. package/dist/elements/{p-cbae963d.js → p-c30eb80f.js} +3 -3
  150. package/dist/elements/{p-4c078751.entry.js → p-c4332c66.entry.js} +2 -2
  151. package/dist/elements/{p-8e1c68eb.entry.js → p-c466d5bf.entry.js} +2 -2
  152. package/dist/elements/{p-36caf749.entry.js → p-c4894c44.entry.js} +2 -2
  153. package/dist/elements/{p-87c81685.entry.js → p-c4e1867e.entry.js} +2 -2
  154. package/dist/elements/{p-645632a8.entry.js → p-c7db2b55.entry.js} +5 -5
  155. package/dist/elements/p-cb3e5072.entry.js +2 -0
  156. package/dist/elements/{p-49fcec88.entry.js → p-d54d552d.entry.js} +6 -6
  157. package/dist/elements/{p-2a548485.entry.js → p-d7b597ed.entry.js} +2 -2
  158. package/dist/elements/p-da0c771e.js +5 -0
  159. package/dist/elements/{p-7183a9ca.entry.js → p-dbb94429.entry.js} +2 -2
  160. package/dist/elements/{p-c9604122.entry.js → p-de6d7967.entry.js} +2 -2
  161. package/dist/elements/p-e05f218c.entry.js +2 -0
  162. package/dist/elements/{p-2f0509be.entry.js.map → p-e05f218c.entry.js.map} +1 -1
  163. package/dist/elements/{p-b5f6b322.entry.js → p-e15ff70c.entry.js} +2 -2
  164. package/dist/elements/p-e43d654c.js +5 -0
  165. package/dist/elements/{p-01981011.entry.js → p-e7fbd427.entry.js} +2 -2
  166. package/dist/elements/{p-d61d280b.js → p-e912617c.js} +3 -3
  167. package/dist/elements/{p-da0d920d.js → p-ebe1c8ca.js} +2 -2
  168. package/dist/elements/{p-d872fe3e.entry.js → p-ec283f66.entry.js} +2 -2
  169. package/dist/elements/p-ec7a6c44.js +2 -0
  170. package/dist/elements/{p-f40b3ec6.entry.js → p-ed22dcc0.entry.js} +2 -2
  171. package/dist/elements/{p-05fff093.entry.js → p-eeaffc3b.entry.js} +2 -2
  172. package/dist/elements/p-f2c0c8a9.js +5 -0
  173. package/dist/elements/{p-c186950b.entry.js → p-f3bf8ff7.entry.js} +2 -2
  174. package/dist/elements/{p-5441ae35.entry.js → p-fb740291.entry.js} +2 -2
  175. package/dist/elements/{p-5bf40440.entry.js → p-fbff274c.entry.js} +2 -2
  176. package/dist/elements/{p-266d2934.entry.js → p-fd84af22.entry.js} +2 -2
  177. package/dist/elements/{p-a08f0446.entry.js → p-ff684bff.entry.js} +2 -2
  178. package/dist/esm/{BrokenFile-d387a173.js → BrokenFile-0b9882ef.js} +2 -2
  179. package/dist/esm/{BrokenFile-d387a173.js.map → BrokenFile-0b9882ef.js.map} +1 -1
  180. package/dist/esm/{animation-43b39c85.js → animation-756697b9.js} +2 -2
  181. package/dist/esm/{animation-43b39c85.js.map → animation-756697b9.js.map} +1 -1
  182. package/dist/esm/{app-globals-f420d326.js → app-globals-31ecda4c.js} +2 -2
  183. package/dist/esm/{app-globals-f420d326.js.map → app-globals-31ecda4c.js.map} +1 -1
  184. package/dist/esm/elements.js +5 -5
  185. package/dist/esm/{form-controller-3b50bf52.js → form-controller-8a54002c.js} +2 -2
  186. package/dist/esm/{form-controller-3b50bf52.js.map → form-controller-8a54002c.js.map} +1 -1
  187. package/dist/esm/{framework-delegate-c5179013.js → framework-delegate-65b5c396.js} +2 -2
  188. package/dist/esm/{framework-delegate-c5179013.js.map → framework-delegate-65b5c396.js.map} +1 -1
  189. package/dist/esm/{hardware-back-button-12e771ad.js → hardware-back-button-87b1549b.js} +3 -3
  190. package/dist/esm/{hardware-back-button-12e771ad.js.map → hardware-back-button-87b1549b.js.map} +1 -1
  191. package/dist/esm/{helpers-c51da066.js → helpers-bc137989.js} +2 -2
  192. package/dist/esm/{helpers-c51da066.js.map → helpers-bc137989.js.map} +1 -1
  193. package/dist/esm/{index-9725d917.js → index-46d8987d.js} +2 -2
  194. package/dist/esm/{index-9725d917.js.map → index-46d8987d.js.map} +1 -1
  195. package/dist/esm/{index-12e18dab.js → index-81865f43.js} +2 -2
  196. package/dist/esm/{index-12e18dab.js.map → index-81865f43.js.map} +1 -1
  197. package/dist/esm/{index-9edae53a.js → index-a51d17dd.js} +2 -2
  198. package/dist/esm/{index-9edae53a.js.map → index-a51d17dd.js.map} +1 -1
  199. package/dist/esm/{index-7462d21e.js → index-cbb71797.js} +5 -5
  200. package/dist/esm/{index-7462d21e.js.map → index-cbb71797.js.map} +1 -1
  201. package/dist/esm/{index-842e2941.js → index-e7f761c9.js} +2 -2
  202. package/dist/esm/{index-842e2941.js.map → index-e7f761c9.js.map} +1 -1
  203. package/dist/esm/{index-ccbcf170.js → index-fa9f8152.js} +5 -5
  204. package/dist/esm/{index-ccbcf170.js.map → index-fa9f8152.js.map} +1 -1
  205. package/dist/esm/{input-shims-0cb1bad1.js → input-shims-10923fa6.js} +3 -3
  206. package/dist/esm/{input-shims-0cb1bad1.js.map → input-shims-10923fa6.js.map} +1 -1
  207. package/dist/esm/{input.utils-0e2bf61a.js → input.utils-5fe0312f.js} +2 -2
  208. package/dist/esm/{input.utils-0e2bf61a.js.map → input.utils-5fe0312f.js.map} +1 -1
  209. package/dist/esm/ion-accordion-group.entry.js +2 -2
  210. package/dist/esm/ion-accordion.entry.js +4 -4
  211. package/dist/esm/ion-action-sheet_3.entry.js +7 -7
  212. package/dist/esm/ion-app.entry.js +7 -7
  213. package/dist/esm/ion-avatar.entry.js +2 -2
  214. package/dist/esm/ion-back-button.entry.js +4 -4
  215. package/dist/esm/ion-backdrop.entry.js +2 -2
  216. package/dist/esm/ion-badge_5.entry.js +2 -2
  217. package/dist/esm/ion-breadcrumb.entry.js +4 -4
  218. package/dist/esm/ion-breadcrumbs.entry.js +2 -2
  219. package/dist/esm/ion-button_4.entry.js +3 -3
  220. package/dist/esm/ion-card-content.entry.js +2 -2
  221. package/dist/esm/ion-card-header.entry.js +2 -2
  222. package/dist/esm/ion-card-subtitle.entry.js +2 -2
  223. package/dist/esm/ion-card-title.entry.js +2 -2
  224. package/dist/esm/ion-card.entry.js +3 -3
  225. package/dist/esm/ion-checkbox_7.entry.js +5 -5
  226. package/dist/esm/ion-chip.entry.js +2 -2
  227. package/dist/esm/ion-col.entry.js +2 -2
  228. package/dist/esm/ion-content.entry.js +3 -3
  229. package/dist/esm/ion-datetime-button.entry.js +3 -3
  230. package/dist/esm/ion-datetime.entry.js +4 -4
  231. package/dist/esm/ion-fab-button.entry.js +4 -4
  232. package/dist/esm/ion-fab-list.entry.js +2 -2
  233. package/dist/esm/ion-fab.entry.js +2 -2
  234. package/dist/esm/ion-footer.entry.js +4 -4
  235. package/dist/esm/ion-grid.entry.js +2 -2
  236. package/dist/esm/ion-header.entry.js +4 -4
  237. package/dist/esm/ion-icon_31.entry.js +296 -451
  238. package/dist/esm/ion-icon_31.entry.js.map +1 -1
  239. package/dist/esm/ion-img.entry.js +3 -3
  240. package/dist/esm/ion-infinite-scroll-content.entry.js +2 -2
  241. package/dist/esm/ion-infinite-scroll.entry.js +4 -4
  242. package/dist/esm/ion-input.entry.js +7 -7
  243. package/dist/esm/ion-item-divider.entry.js +2 -2
  244. package/dist/esm/ion-item-group.entry.js +2 -2
  245. package/dist/esm/ion-item-option.entry.js +2 -2
  246. package/dist/esm/ion-item-options.entry.js +3 -3
  247. package/dist/esm/ion-item-sliding.entry.js +4 -4
  248. package/dist/esm/ion-loading.entry.js +7 -7
  249. package/dist/esm/ion-menu-button.entry.js +8 -8
  250. package/dist/esm/ion-menu-toggle.entry.js +7 -7
  251. package/dist/esm/ion-menu.entry.js +8 -8
  252. package/dist/esm/ion-modal.entry.js +9 -9
  253. package/dist/esm/ion-nav-link.entry.js +1 -1
  254. package/dist/esm/ion-nav.entry.js +6 -6
  255. package/dist/esm/ion-note.entry.js +2 -2
  256. package/dist/esm/ion-picker-column.entry.js +3 -3
  257. package/dist/esm/ion-picker.entry.js +7 -7
  258. package/dist/esm/ion-popover.entry.js +8 -8
  259. package/dist/esm/ion-range.entry.js +5 -5
  260. package/dist/esm/ion-refresher-content.entry.js +6 -6
  261. package/dist/esm/ion-refresher.entry.js +6 -6
  262. package/dist/esm/ion-reorder-group.entry.js +4 -4
  263. package/dist/esm/ion-reorder.entry.js +3 -3
  264. package/dist/esm/ion-route-redirect.entry.js +1 -1
  265. package/dist/esm/ion-route.entry.js +1 -1
  266. package/dist/esm/ion-router-link.entry.js +2 -2
  267. package/dist/esm/ion-router-outlet.entry.js +6 -6
  268. package/dist/esm/ion-router.entry.js +2 -2
  269. package/dist/esm/ion-row.entry.js +2 -2
  270. package/dist/{components/searchbar.js → esm/ion-searchbar.entry.js} +17 -70
  271. package/dist/esm/ion-searchbar.entry.js.map +1 -0
  272. package/dist/esm/ion-segment-button.entry.js +3 -3
  273. package/dist/esm/ion-segment.entry.js +3 -3
  274. package/dist/esm/ion-select-option.entry.js +2 -2
  275. package/dist/esm/ion-select.entry.js +9 -9
  276. package/dist/esm/ion-spinner.entry.js +2 -2
  277. package/dist/esm/ion-split-pane.entry.js +2 -2
  278. package/dist/esm/ion-tab-bar.entry.js +2 -2
  279. package/dist/esm/ion-tab-button.entry.js +3 -3
  280. package/dist/esm/ion-tab.entry.js +3 -3
  281. package/dist/esm/ion-tabs.entry.js +1 -1
  282. package/dist/esm/ion-text.entry.js +2 -2
  283. package/dist/esm/ion-textarea.entry.js +6 -6
  284. package/dist/esm/ion-thumbnail.entry.js +2 -2
  285. package/dist/esm/ion-title.entry.js +2 -2
  286. package/dist/esm/ion-toggle.entry.js +5 -5
  287. package/dist/esm/ion-toolbar.entry.js +2 -2
  288. package/dist/esm/{ionic-global-07f989af.js → ionic-global-dc58df6a.js} +2 -2
  289. package/dist/esm/{ionic-global-07f989af.js.map → ionic-global-dc58df6a.js.map} +1 -1
  290. package/dist/esm/{ios.transition-02b5b74a.js → ios.transition-cd6a57b8.js} +5 -5
  291. package/dist/esm/{ios.transition-02b5b74a.js.map → ios.transition-cd6a57b8.js.map} +1 -1
  292. package/dist/esm/loader.js +5 -5
  293. package/dist/esm/{md.transition-0e6cf607.js → md.transition-a2999731.js} +5 -5
  294. package/dist/esm/{md.transition-0e6cf607.js.map → md.transition-a2999731.js.map} +1 -1
  295. package/dist/esm/{menu-toggle-util-6257f7b5.js → menu-toggle-util-5d79b187.js} +2 -2
  296. package/dist/esm/{menu-toggle-util-6257f7b5.js.map → menu-toggle-util-5d79b187.js.map} +1 -1
  297. package/dist/esm/{notch-controller-79926902.js → notch-controller-ce206c7f.js} +2 -2
  298. package/dist/esm/{notch-controller-79926902.js.map → notch-controller-ce206c7f.js.map} +1 -1
  299. package/dist/esm/{overlays-ef03d5bd.js → overlays-d7fc4ce2.js} +5 -5
  300. package/dist/esm/{overlays-ef03d5bd.js.map → overlays-d7fc4ce2.js.map} +1 -1
  301. package/dist/esm/pos-app-document-viewer.entry.js +1 -1
  302. package/dist/esm/pos-app-generic.entry.js +1 -1
  303. package/dist/esm/pos-app-image-viewer.entry.js +1 -1
  304. package/dist/esm/pos-app-ldp-container.entry.js +1 -1
  305. package/dist/esm/pos-app-rdf-document.entry.js +1 -1
  306. package/dist/esm/pos-container-contents.entry.js +1 -1
  307. package/dist/esm/pos-container-item.entry.js +1 -1
  308. package/dist/esm/pos-document.entry.js +2 -2
  309. package/dist/esm/pos-list.entry.js +1 -1
  310. package/dist/esm/pos-relations_2.entry.js +1 -1
  311. package/dist/esm/pos-subjects.entry.js +1 -1
  312. package/dist/esm/pos-value.entry.js +1 -1
  313. package/dist/esm/{refresher.utils-d191622d.js → refresher.utils-e60a7dd8.js} +4 -4
  314. package/dist/esm/{refresher.utils-d191622d.js.map → refresher.utils-e60a7dd8.js.map} +1 -1
  315. package/dist/esm/{status-tap-cdf580e7.js → status-tap-a4c12279.js} +4 -4
  316. package/dist/esm/{status-tap-cdf580e7.js.map → status-tap-a4c12279.js.map} +1 -1
  317. package/dist/esm/{swipe-back-698e6532.js → swipe-back-c940b28a.js} +2 -2
  318. package/dist/esm/{swipe-back-698e6532.js.map → swipe-back-c940b28a.js.map} +1 -1
  319. package/dist/types/apps/pos-app-browser/pos-app-browser.d.ts +2 -1
  320. package/dist/types/components/pos-navigation/__test/typeToSearch.d.ts +1 -0
  321. package/dist/types/components/pos-navigation/bar/pos-navigation-bar.d.ts +9 -0
  322. package/dist/types/components/pos-navigation/pos-navigation.d.ts +44 -0
  323. package/dist/types/components.d.ts +48 -7
  324. package/package.json +1 -1
  325. package/dist/collection/components/pos-navigation-bar/pos-navigation-bar.css +0 -51
  326. package/dist/collection/components/pos-navigation-bar/pos-navigation-bar.js.map +0 -1
  327. package/dist/elements/p-07773ed5.entry.js +0 -2
  328. package/dist/elements/p-250d4bf1.entry.js +0 -2
  329. package/dist/elements/p-2f0509be.entry.js +0 -2
  330. package/dist/elements/p-4c78c8c9.js +0 -5
  331. package/dist/elements/p-523432d1.js +0 -2
  332. package/dist/elements/p-627826b0.entry.js +0 -2
  333. package/dist/elements/p-66a58eb0.entry.js +0 -2
  334. package/dist/elements/p-7f53778f.entry.js +0 -2
  335. package/dist/elements/p-8f6d1cbe.entry.js +0 -2
  336. package/dist/elements/p-932de51e.js +0 -8
  337. package/dist/elements/p-95161a5d.entry.js +0 -2
  338. package/dist/elements/p-a06d93c7.entry.js +0 -2
  339. package/dist/elements/p-a13569cf.entry.js +0 -2
  340. package/dist/elements/p-a37a2712.js +0 -5
  341. package/dist/elements/p-b34f1af4.entry.js +0 -20
  342. package/dist/elements/p-b34f1af4.entry.js.map +0 -1
  343. package/dist/elements/p-bca341ba.entry.js +0 -2
  344. package/dist/elements/p-bdea20c4.entry.js +0 -2
  345. package/dist/elements/p-c01a4a79.entry.js +0 -2
  346. package/dist/elements/p-c452a2e9.js +0 -5
  347. package/dist/elements/p-d1e7b393.js +0 -5
  348. package/dist/elements/p-d358565a.entry.js +0 -2
  349. package/dist/elements/p-eba70ed1.js +0 -6
  350. package/dist/elements/p-f67bba50.js +0 -5
  351. package/dist/types/components/pos-navigation-bar/pos-navigation-bar.d.ts +0 -25
  352. /package/dist/elements/{p-a6c03ce8.js.map → p-01adc2b7.js.map} +0 -0
  353. /package/dist/elements/{p-7190d53c.entry.js.map → p-09ff1516.entry.js.map} +0 -0
  354. /package/dist/elements/{p-307d1531.js.map → p-0a6631d5.js.map} +0 -0
  355. /package/dist/elements/{p-c698ab8e.entry.js.map → p-0b3d14ec.entry.js.map} +0 -0
  356. /package/dist/elements/{p-d8818bb3.entry.js.map → p-0d4f129d.entry.js.map} +0 -0
  357. /package/dist/elements/{p-07773ed5.entry.js.map → p-104fee38.entry.js.map} +0 -0
  358. /package/dist/elements/{p-6cc9961e.entry.js.map → p-11466af2.entry.js.map} +0 -0
  359. /package/dist/elements/{p-3e6ffc13.entry.js.map → p-11845ff3.entry.js.map} +0 -0
  360. /package/dist/elements/{p-a507d627.entry.js.map → p-151d1ec8.entry.js.map} +0 -0
  361. /package/dist/elements/{p-89aef852.js.map → p-1930ffd5.js.map} +0 -0
  362. /package/dist/elements/{p-aa7d93f1.entry.js.map → p-1a1222a3.entry.js.map} +0 -0
  363. /package/dist/elements/{p-4dd65d40.entry.js.map → p-1e05efd7.entry.js.map} +0 -0
  364. /package/dist/elements/{p-f50c3045.entry.js.map → p-1faf2d02.entry.js.map} +0 -0
  365. /package/dist/elements/{p-a421bbe5.entry.js.map → p-21e90439.entry.js.map} +0 -0
  366. /package/dist/elements/{p-552a9992.entry.js.map → p-22c21319.entry.js.map} +0 -0
  367. /package/dist/elements/{p-66973c59.entry.js.map → p-24d93ddd.entry.js.map} +0 -0
  368. /package/dist/elements/{p-8f6d1cbe.entry.js.map → p-258f2385.entry.js.map} +0 -0
  369. /package/dist/elements/{p-72a9cbdc.entry.js.map → p-27bd8113.entry.js.map} +0 -0
  370. /package/dist/elements/{p-c350af00.entry.js.map → p-2948d57b.entry.js.map} +0 -0
  371. /package/dist/elements/{p-41bb9792.entry.js.map → p-2cdaf88b.entry.js.map} +0 -0
  372. /package/dist/elements/{p-fa0be1d8.entry.js.map → p-2e08ee3a.entry.js.map} +0 -0
  373. /package/dist/elements/{p-239442f9.entry.js.map → p-2e0c20e7.entry.js.map} +0 -0
  374. /package/dist/elements/{p-627826b0.entry.js.map → p-2ec92ff9.entry.js.map} +0 -0
  375. /package/dist/elements/{p-8e8881a8.entry.js.map → p-30834f34.entry.js.map} +0 -0
  376. /package/dist/elements/{p-eba70ed1.js.map → p-30cd90ec.js.map} +0 -0
  377. /package/dist/elements/{p-ae984107.entry.js.map → p-3585f786.entry.js.map} +0 -0
  378. /package/dist/elements/{p-d08312dd.entry.js.map → p-35f84573.entry.js.map} +0 -0
  379. /package/dist/elements/{p-ffa8c481.entry.js.map → p-3f02cc92.entry.js.map} +0 -0
  380. /package/dist/elements/{p-71ee259b.js.map → p-3f316fc4.js.map} +0 -0
  381. /package/dist/elements/{p-bc675b21.entry.js.map → p-3f3b74e6.entry.js.map} +0 -0
  382. /package/dist/elements/{p-7f53778f.entry.js.map → p-40a2d567.entry.js.map} +0 -0
  383. /package/dist/elements/{p-e78cf007.entry.js.map → p-4dc7c524.entry.js.map} +0 -0
  384. /package/dist/elements/{p-c191e6df.js.map → p-4e8c31fa.js.map} +0 -0
  385. /package/dist/elements/{p-a45b1964.entry.js.map → p-5051d2a6.entry.js.map} +0 -0
  386. /package/dist/elements/{p-e0de7c6a.entry.js.map → p-5a061ddb.entry.js.map} +0 -0
  387. /package/dist/elements/{p-061819d1.js.map → p-5a8e7149.js.map} +0 -0
  388. /package/dist/elements/{p-4c78c8c9.js.map → p-5bf4c45a.js.map} +0 -0
  389. /package/dist/elements/{p-b9dcf3b2.js.map → p-5e8a3893.js.map} +0 -0
  390. /package/dist/elements/{p-300ec095.entry.js.map → p-602861f4.entry.js.map} +0 -0
  391. /package/dist/elements/{p-4a370bdc.entry.js.map → p-627d5e73.entry.js.map} +0 -0
  392. /package/dist/elements/{p-406df11a.entry.js.map → p-648dac6c.entry.js.map} +0 -0
  393. /package/dist/elements/{p-07d2bd5a.entry.js.map → p-650db824.entry.js.map} +0 -0
  394. /package/dist/elements/{p-cb550d04.entry.js.map → p-682dd0f9.entry.js.map} +0 -0
  395. /package/dist/elements/{p-59ec8b76.entry.js.map → p-689a5c54.entry.js.map} +0 -0
  396. /package/dist/elements/{p-d6394ee4.entry.js.map → p-6a701de0.entry.js.map} +0 -0
  397. /package/dist/elements/{p-f4035b4a.entry.js.map → p-6ca9bad7.entry.js.map} +0 -0
  398. /package/dist/elements/{p-25926b66.entry.js.map → p-6cae9207.entry.js.map} +0 -0
  399. /package/dist/elements/{p-6119b57a.entry.js.map → p-6e5c902a.entry.js.map} +0 -0
  400. /package/dist/elements/{p-0ddcbecd.entry.js.map → p-72ba182e.entry.js.map} +0 -0
  401. /package/dist/elements/{p-1b2d32c1.entry.js.map → p-8619a806.entry.js.map} +0 -0
  402. /package/dist/elements/{p-4383e1bb.entry.js.map → p-87af433a.entry.js.map} +0 -0
  403. /package/dist/elements/{p-f96384f2.entry.js.map → p-87eb06bc.entry.js.map} +0 -0
  404. /package/dist/elements/{p-e8268c7a.entry.js.map → p-8c13ce70.entry.js.map} +0 -0
  405. /package/dist/elements/{p-b64a85bf.entry.js.map → p-8f6d4374.entry.js.map} +0 -0
  406. /package/dist/elements/{p-949b115f.js.map → p-91025a2c.js.map} +0 -0
  407. /package/dist/elements/{p-71835d6f.entry.js.map → p-95036276.entry.js.map} +0 -0
  408. /package/dist/elements/{p-42169e41.js.map → p-97889672.js.map} +0 -0
  409. /package/dist/elements/{p-8b209e66.entry.js.map → p-9840f300.entry.js.map} +0 -0
  410. /package/dist/elements/{p-a37a2712.js.map → p-98b2844f.js.map} +0 -0
  411. /package/dist/elements/{p-fa19a3e9.entry.js.map → p-9d23baee.entry.js.map} +0 -0
  412. /package/dist/elements/{p-7e8b8df1.entry.js.map → p-9d6c94d3.entry.js.map} +0 -0
  413. /package/dist/elements/{p-41854c8f.entry.js.map → p-9d81c061.entry.js.map} +0 -0
  414. /package/dist/elements/{p-dadb557e.entry.js.map → p-a19fb8fa.entry.js.map} +0 -0
  415. /package/dist/elements/{p-9a4bf79e.entry.js.map → p-a7c9aa13.entry.js.map} +0 -0
  416. /package/dist/elements/{p-0ee8b7a7.js.map → p-acfa402f.js.map} +0 -0
  417. /package/dist/elements/{p-facc0ac5.entry.js.map → p-af03cfbe.entry.js.map} +0 -0
  418. /package/dist/elements/{p-b8bd7745.entry.js.map → p-af2b9ecb.entry.js.map} +0 -0
  419. /package/dist/elements/{p-cbf050d6.js.map → p-b110cb49.js.map} +0 -0
  420. /package/dist/elements/{p-09d80405.entry.js.map → p-b1292dde.entry.js.map} +0 -0
  421. /package/dist/elements/{p-4ccdbcbf.entry.js.map → p-b1de75a4.entry.js.map} +0 -0
  422. /package/dist/elements/{p-a376351f.entry.js.map → p-b34203cd.entry.js.map} +0 -0
  423. /package/dist/elements/{p-dc709055.entry.js.map → p-b954a40f.entry.js.map} +0 -0
  424. /package/dist/elements/{p-1fc8e557.js.map → p-bde7428a.js.map} +0 -0
  425. /package/dist/elements/{p-734e5a97.js.map → p-bf5335d4.js.map} +0 -0
  426. /package/dist/elements/{p-932de51e.js.map → p-c1df6af7.js.map} +0 -0
  427. /package/dist/elements/{p-cbae963d.js.map → p-c30eb80f.js.map} +0 -0
  428. /package/dist/elements/{p-4c078751.entry.js.map → p-c4332c66.entry.js.map} +0 -0
  429. /package/dist/elements/{p-8e1c68eb.entry.js.map → p-c466d5bf.entry.js.map} +0 -0
  430. /package/dist/elements/{p-36caf749.entry.js.map → p-c4894c44.entry.js.map} +0 -0
  431. /package/dist/elements/{p-87c81685.entry.js.map → p-c4e1867e.entry.js.map} +0 -0
  432. /package/dist/elements/{p-645632a8.entry.js.map → p-c7db2b55.entry.js.map} +0 -0
  433. /package/dist/elements/{p-a13569cf.entry.js.map → p-cb3e5072.entry.js.map} +0 -0
  434. /package/dist/elements/{p-49fcec88.entry.js.map → p-d54d552d.entry.js.map} +0 -0
  435. /package/dist/elements/{p-2a548485.entry.js.map → p-d7b597ed.entry.js.map} +0 -0
  436. /package/dist/elements/{p-c452a2e9.js.map → p-da0c771e.js.map} +0 -0
  437. /package/dist/elements/{p-7183a9ca.entry.js.map → p-dbb94429.entry.js.map} +0 -0
  438. /package/dist/elements/{p-c9604122.entry.js.map → p-de6d7967.entry.js.map} +0 -0
  439. /package/dist/elements/{p-b5f6b322.entry.js.map → p-e15ff70c.entry.js.map} +0 -0
  440. /package/dist/elements/{p-f67bba50.js.map → p-e43d654c.js.map} +0 -0
  441. /package/dist/elements/{p-01981011.entry.js.map → p-e7fbd427.entry.js.map} +0 -0
  442. /package/dist/elements/{p-d61d280b.js.map → p-e912617c.js.map} +0 -0
  443. /package/dist/elements/{p-da0d920d.js.map → p-ebe1c8ca.js.map} +0 -0
  444. /package/dist/elements/{p-d872fe3e.entry.js.map → p-ec283f66.entry.js.map} +0 -0
  445. /package/dist/elements/{p-523432d1.js.map → p-ec7a6c44.js.map} +0 -0
  446. /package/dist/elements/{p-f40b3ec6.entry.js.map → p-ed22dcc0.entry.js.map} +0 -0
  447. /package/dist/elements/{p-05fff093.entry.js.map → p-eeaffc3b.entry.js.map} +0 -0
  448. /package/dist/elements/{p-d1e7b393.js.map → p-f2c0c8a9.js.map} +0 -0
  449. /package/dist/elements/{p-c186950b.entry.js.map → p-f3bf8ff7.entry.js.map} +0 -0
  450. /package/dist/elements/{p-5441ae35.entry.js.map → p-fb740291.entry.js.map} +0 -0
  451. /package/dist/elements/{p-5bf40440.entry.js.map → p-fbff274c.entry.js.map} +0 -0
  452. /package/dist/elements/{p-266d2934.entry.js.map → p-fd84af22.entry.js.map} +0 -0
  453. /package/dist/elements/{p-a08f0446.entry.js.map → p-ff684bff.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 {
@@ -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));
@@ -3145,7 +2919,7 @@ const PosApp = class {
3145
2919
  }
3146
2920
  };
3147
2921
 
3148
- const posAppBrowserCss = "pos-router {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\npos-navigation-bar {\n max-width: var(--width-lg);\n margin: 0;\n}\n\npos-add-new-thing,\npos-login {\n flex: 0 1 auto; /* Behält die Breite des Inhalts bei */\n}\n\nheader,\nfooter {\n display: flex;\n gap: var(--size-1);\n height: auto;\n justify-content: center;\n align-items: center;\n padding: var(--size-1);\n}\n\nfooter svg {\n width: var(--size-5);\n height: var(--size-5);\n}\n\nfooter {\n font-size: var(--scale-fluid-000);\n\n .settings {\n padding: 0 var(--size-1);\n text-decoration: none;\n background-color: var(--pos-background-color);\n border: 1px solid var(--pos-secondary-border-color);\n color: var(--pos-secondary-border-color);\n border-radius: var(--radius-xs);\n\n &:hover {\n background-color: var(--pos-secondary-border-color);\n color: var(--pos-background-color);\n }\n }\n}\n\nheader {\n flex-wrap: wrap;\n padding: 0 var(--size-8);\n}\n\nmain {\n flex: 1;\n max-height: 100vh;\n overflow: auto;\n}\n\n@media (max-width: 640px) {\n header {\n padding: 0 var(--size-1) var(--size-1);\n justify-content: space-between;\n }\n\n pos-navigation-bar {\n flex-basis: 100%;\n order: 0;\n }\n\n pos-add-new-thing,\n pos-login {\n order: 1;\n }\n}\n";
2922
+ const posAppBrowserCss = "pos-router {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\npos-navigation {\n max-width: var(--width-lg);\n margin: 0;\n min-width: var(--size-32);\n flex-shrink: 1; /* Ensure navigation can shrink */\n}\n\npos-add-new-thing,\npos-login {\n flex: 0 1 auto;\n flex-shrink: 0; /* Ensure those items don't shrink */\n}\n\nheader,\nfooter {\n display: flex;\n gap: var(--size-1);\n height: auto;\n justify-content: center;\n align-items: center;\n padding: var(--size-1);\n}\n\nfooter svg {\n width: var(--size-5);\n height: var(--size-5);\n}\n\nfooter {\n font-size: var(--scale-fluid-000);\n\n .settings {\n padding: 0 var(--size-1);\n text-decoration: none;\n background-color: var(--pos-background-color);\n border: 1px solid var(--pos-secondary-border-color);\n color: var(--pos-secondary-border-color);\n border-radius: var(--radius-xs);\n\n &:hover {\n background-color: var(--pos-secondary-border-color);\n color: var(--pos-background-color);\n }\n }\n}\n\nheader {\n flex-wrap: nowrap;\n padding: var(--size-1) var(--size-8);\n}\n\nmain {\n flex: 1;\n max-height: 100vh;\n overflow: auto;\n}\n\n@media (max-width: 640px) {\n header {\n padding: var(--size-1);\n justify-content: space-between;\n }\n}\n";
3149
2923
  const PosAppBrowserStyle0 = posAppBrowserCss;
3150
2924
 
3151
2925
  const PosAppBrowser = class {
@@ -3155,14 +2929,23 @@ const PosAppBrowser = class {
3155
2929
  /**
3156
2930
  * The mode the app is running in:
3157
2931
  *
3158
- * - standalone: use this when you deploy it as a standalone web application
2932
+ * - standalone: use this when you deploy it as a standalone web application
3159
2933
  * - pod: use this when you host this app as a default interface for you pod
3160
2934
  */
3161
2935
  this.mode = 'standalone';
3162
2936
  this.uri = '';
3163
2937
  }
3164
2938
  render() {
3165
- return (index.h(index.Host, { key: '50b6e91f4e98be29cfa37552eb799883aeb49c9e' }, index.h("pos-app", { key: '652617d5eaf3653caeb58b9e93dff09810a587a3', restorePreviousSession: this.restorePreviousSession }, index.h("pos-error-toast", { key: 'f4a29b30c2a4caece50c0da046426bc50a3b402e' }, index.h("pos-router", { key: 'd3f2307db47406c4d84c9b27ac767d263ae81c32', mode: this.mode, "onPod-os:route-changed": e => (this.uri = e.detail) }, index.h("header", { key: '521c8469dae209a27780d62a5922f8a15d393e07' }, index.h("pos-add-new-thing", { key: '2fdd9716da4b3590fb0983a4b50f8c63eca26dce', referenceUri: this.uri }), index.h("pos-navigation-bar", { key: '6add9651de9ff5ca8496470c0df1341927683001', uri: this.uri === 'pod-os:dashboard' ? '' : this.uri }), index.h("pos-login", { key: '87a60cc03fc63a2ca68b294726e7e44a09bdc835' })), index.h("main", { key: 'dd2b3de09ca7f8957b240b030cafeeac37e76c1b' }, this.uri.startsWith('pod-os:') ? (index.h("pos-internal-router", { uri: this.uri })) : (index.h("pos-resource", { key: this.uri, uri: this.uri }, index.h("pos-type-router", null)))), index.h("footer", { key: 'ea1444713656c8740d81c5ac777b72bb6e287729' }, index.h(Logo, { key: '1bba3eec9e30c30f9132a6524e00ec212169f402' }), index.h("span", { key: '3b38a5e1704559f271075b60a27d8334f41a09dc' }, "PodOS Browser"), index.h("span", { key: '848dd110da12d70ec7798bfcf042638af8f7b121' }, "|"), index.h("a", { key: '8b748b91e4ae5351d0b2081dcb2af09867a00aee', class: "settings", href: "?uri=pod-os%3Asettings" }, "\u2699 Settings")))))));
2939
+ return (index.h(index.Host, { key: 'd2c863f8abf790352cdf9c830a1baa8d7aee95a8' }, index.h("pos-app", { key: '163415bea00a0a18f5e97f5cb7f3e5b9f5910f61', restorePreviousSession: this.restorePreviousSession }, index.h("pos-error-toast", { key: '799735b00aff86946259013132079814520ced7e' }, index.h("pos-router", { key: 'bdb89d03d93937399ec38b0b2c1d695feea248b9', mode: this.mode, "onPod-os:route-changed": e => (this.uri = e.detail) }, index.h("header", { key: 'e828af57fa2d8842c058197a826ac488cbb2a968' }, index.h("pos-add-new-thing", { key: '28eed0a89a4e554e88ea4fce13b2dd59c5ce0149', referenceUri: this.uri }), index.h("pos-navigation", { key: '16a06ae6aea6ac316cacc4ffa52442b3ada62d62', uri: this.uri === 'pod-os:dashboard' ? '' : this.uri }), index.h("pos-login", { key: '9577c4aa8a18af341715b6e51946dbb4481ef963' })), index.h("main", { key: '73dc7ba162440c5198a31f5a4b060dc2c2d1c70a' }, this.mainContent()), index.h("footer", { key: 'cb18c8eb3abc1ee62426db39a61e650df2906241' }, index.h(Logo, { key: 'e9205f06faa7153310a17470f55b97a423cf6691' }), index.h("span", { key: '7be0a255d0ca50d961f122fdfc9fd3bb3fdfd624' }, "PodOS Browser"), index.h("span", { key: '3ed17bc88faffbcfa973278c76f63a2a199ec026' }, "|"), index.h("a", { key: 'ab88d3e93e59b918dd21b8cd42b70522dc532730', class: "settings", href: "?uri=pod-os%3Asettings" }, "\u2699 Settings")))))));
2940
+ }
2941
+ mainContent() {
2942
+ if (this.uri === '') {
2943
+ return null;
2944
+ }
2945
+ if (this.uri.startsWith('pod-os:')) {
2946
+ return index.h("pos-internal-router", { uri: this.uri });
2947
+ }
2948
+ return (index.h("pos-resource", { key: this.uri, uri: this.uri }, index.h("pos-type-router", null)));
3166
2949
  }
3167
2950
  };
3168
2951
  const Logo = () => {
@@ -3463,7 +3246,7 @@ const PosLoginForm = class {
3463
3246
  };
3464
3247
  PosLoginForm.style = PosLoginFormStyle0;
3465
3248
 
3466
- const posMakeFindableCss = "button.main {\n display: flex;\n transition:\n width 200ms,\n background-color 500ms,\n color 500ms,\n border-color 500ms;\n max-width: var(--size-40);\n flex-direction: row;\n overflow: hidden;\n height: var(--size-8);\n width: var(--size-8);\n align-items: center;\n justify-content: center;\n border-radius: var(--radius-xs);\n color: var(--pos-subtle-text-color);\n border: var(--size-px) dashed var(--pos-subtle-text-color);\n background-color: var(--pos-background-color);\n\n p {\n padding: 0;\n margin: 0;\n display: none;\n white-space: nowrap;\n }\n\n &.success {\n color: var(--color-green-700);\n border-color: var(--color-green-700);\n border-style: solid;\n background-color: var(--color-green-100);\n }\n\n &:active {\n transform: scale(0.99);\n filter: brightness(90%);\n }\n}\n\n.options {\n position: absolute;\n animation: fadeIn 300ms;\n padding: 0;\n margin-top: var(--size-1);\n z-index: var(--layer-top);\n\n ol {\n display: flex;\n flex-direction: column;\n box-shadow: var(--shadow-md);\n backdrop-filter: var(--blur-md);\n border-radius: var(--radius-xs);\n overflow: hidden;\n color: var(--color-grey-900);\n background-color: var(--color-grey-200);\n padding: 0;\n margin: 0;\n list-style: none;\n label {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n transition: all 300ms var(--ease-in-out-sine);\n margin: 0;\n border: none;\n outline: none;\n padding: var(--size-2);\n width: var(--size-full);\n\n &:hover,\n &:focus {\n filter: brightness(80%);\n }\n\n &:active {\n filter: brightness(90%);\n }\n }\n }\n label:has(input:checked) {\n background-color: var(--color-green-100);\n }\n}\n\nsvg {\n display: inline-block;\n height: var(--size-6);\n flex-shrink: 0;\n flex-grow: 0;\n width: var(--size-6);\n}\n\nbutton.main:hover,\nbutton.open {\n &.success {\n background: var(--color-green-200);\n }\n width: var(--size-full);\n height: var(--size-8);\n background: var(--pos-background-color);\n color: var(--pos-normal-text-color);\n\n p {\n display: inline-block;\n }\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n";
3249
+ const posMakeFindableCss = "button.main {\n display: flex;\n transition:\n width 200ms,\n background-color 500ms,\n color 500ms,\n border-color 500ms;\n max-width: var(--size-40);\n flex-direction: row;\n overflow: hidden;\n height: var(--pos-navigation-bar-height);\n width: var(--pos-navigation-bar-height);\n align-items: center;\n justify-content: center;\n border-radius: var(--radius-md);\n color: var(--pos-subtle-text-color);\n border: var(--size-px) dashed var(--pos-subtle-text-color);\n background-color: var(--pos-background-color);\n\n p {\n padding: 0;\n margin: 0;\n display: none;\n white-space: nowrap;\n }\n\n &.success {\n color: var(--color-green-700);\n border-color: var(--color-green-700);\n border-style: solid;\n background-color: var(--color-green-100);\n }\n\n &:active {\n transform: scale(0.99);\n filter: brightness(90%);\n }\n &:focus {\n outline: var(--pos-input-focus-outline);\n }\n}\n\n.options {\n position: absolute;\n animation: fadeIn 300ms;\n padding: 0;\n margin-top: var(--size-1);\n z-index: var(--layer-top);\n\n ol {\n display: flex;\n flex-direction: column;\n box-shadow: var(--shadow-md);\n backdrop-filter: var(--blur-md);\n border-radius: var(--radius-xs);\n overflow: hidden;\n color: var(--color-grey-900);\n background-color: var(--color-grey-200);\n padding: 0;\n margin: 0;\n list-style: none;\n label {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n transition: all 300ms var(--ease-in-out-sine);\n margin: 0;\n border: none;\n outline: none;\n padding: var(--size-2);\n width: var(--size-full);\n\n &:hover,\n &:focus {\n filter: brightness(80%);\n }\n\n &:active {\n filter: brightness(90%);\n }\n }\n }\n label:has(input:checked) {\n background-color: var(--color-green-100);\n }\n}\n\nsvg {\n display: inline-block;\n height: var(--size-6);\n flex-shrink: 0;\n flex-grow: 0;\n width: var(--size-6);\n}\n\nbutton.main:hover,\nbutton.open {\n &.success {\n background: var(--color-green-200);\n }\n width: var(--size-full);\n height: var(--pos-navigation-bar-height);\n background: var(--pos-background-color);\n color: var(--pos-normal-text-color);\n\n p {\n display: inline-block;\n }\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n";
3467
3250
  const PosMakeFindableStyle0 = posMakeFindableCss;
3468
3251
 
3469
3252
  const PosMakeFindable = class {
@@ -3511,7 +3294,7 @@ const PosMakeFindable = class {
3511
3294
  }
3512
3295
  getLabelIndexes(profile) {
3513
3296
  if (profile) {
3514
- this.indexes = profile.getPrivateLabelIndexes().map(it => this.os.store.get(it).assume(index$6.LabelIndex));
3297
+ this.indexes = profile.getPrivateLabelIndexes().map(it => this.os.store.get(it).assume(index$5.LabelIndex));
3515
3298
  this.isIndexed = this.checkIfIndexed(this.uri);
3516
3299
  }
3517
3300
  }
@@ -3570,25 +3353,44 @@ const IconMakeFindable = () => (index.h("svg", { role: "presentation", xmlns: "h
3570
3353
  const IconSuccess = () => (index.h("svg", { role: "presentation", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor" }, index.h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M10.125 2.25h-4.5c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125v-9M10.125 2.25h.375a9 9 0 0 1 9 9v.375M10.125 2.25A3.375 3.375 0 0 1 13.5 5.625v1.5c0 .621.504 1.125 1.125 1.125h1.5a3.375 3.375 0 0 1 3.375 3.375M9 15l2.25 2.25L15 12" })));
3571
3354
  PosMakeFindable.style = PosMakeFindableStyle0;
3572
3355
 
3573
- const posNavigationBarCss = ".suggestions ol {\n border: 1px solid var(--pos-border-color);\n display: flex;\n flex-direction: column;\n position: absolute;\n margin: 0;\n padding: 0;\n z-index: var(--layer-top);\n list-style-type: none;\n box-shadow: var(--shadow-xl);\n}\n\n.suggestions {\n position: relative;\n li {\n padding: 1rem;\n background-color: var(--pos-background-color);\n pos-rich-link {\n --background-color: inherit;\n }\n &.selected {\n background-color: var(--pos-primary-color);\n &:hover {\n background-color: var(--pos-primary-color);\n }\n }\n &:hover {\n background-color: var(--pos-border-color);\n }\n }\n}\n\n.suggestions li.selected pos-rich-link {\n --label-color: white;\n --description-color: var(--pos-border-color);\n --uri-color: var(--pos-subtle-text-color);\n}\n\nion-searchbar {\n width: 100%;\n}\n\nform {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.bar {\n flex-grow: 1;\n}\n";
3574
- const PosNavigationBarStyle0 = posNavigationBarCss;
3356
+ 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 &.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\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";
3357
+ const PosNavigationStyle0 = posNavigationCss;
3575
3358
 
3576
- const PosNavigationBar = class {
3359
+ const PosNavigation = class {
3577
3360
  constructor(hostRef) {
3578
3361
  index.registerInstance(this, hostRef);
3579
3362
  this.subscribePodOs = index.createEvent(this, "pod-os:init", 7);
3580
3363
  this.linkEmitter = index.createEvent(this, "pod-os:link", 7);
3364
+ /**
3365
+ * Initial value of the navigation bar
3366
+ */
3581
3367
  this.uri = '';
3582
- this.value = this.uri;
3368
+ /**
3369
+ * Current value of the input field
3370
+ */
3371
+ this.inputValue = this.uri;
3583
3372
  this.searchIndex = undefined;
3584
3373
  this.suggestions = [];
3585
3374
  this.selectedIndex = -1;
3375
+ this.resource = null;
3376
+ this.changeEvents = new Subject();
3377
+ this.debouncedSearch = null;
3586
3378
  this.receivePodOs = async (os) => {
3587
3379
  this.os = os;
3588
3380
  };
3589
3381
  }
3382
+ updateResource() {
3383
+ var _a;
3384
+ try {
3385
+ this.resource = this.uri ? (_a = this.os) === null || _a === void 0 ? void 0 : _a.store.get(this.uri) : null;
3386
+ }
3387
+ catch (_b) {
3388
+ this.resource = null;
3389
+ }
3390
+ }
3590
3391
  componentWillLoad() {
3591
3392
  PodOsAware.subscribePodOs(this);
3393
+ this.updateResource();
3592
3394
  BrokenFile.store.onChange('isLoggedIn', async (isLoggedIn) => {
3593
3395
  if (isLoggedIn) {
3594
3396
  await this.buildSearchIndex();
@@ -3597,6 +3399,11 @@ const PosNavigationBar = class {
3597
3399
  this.clearSearchIndex();
3598
3400
  }
3599
3401
  });
3402
+ this.debouncedSearch = this.changeEvents.pipe(debounceTime(300)).subscribe(() => this.search());
3403
+ }
3404
+ disconnectedCallback() {
3405
+ var _a;
3406
+ (_a = this.debouncedSearch) === null || _a === void 0 ? void 0 : _a.unsubscribe();
3600
3407
  }
3601
3408
  async buildSearchIndex() {
3602
3409
  this.searchIndex = await this.os.buildSearchIndex(BrokenFile.store.state.profile);
@@ -3604,16 +3411,33 @@ const PosNavigationBar = class {
3604
3411
  rebuildSearchIndex() {
3605
3412
  this.searchIndex.rebuild();
3606
3413
  }
3414
+ openNavigationDialog(e) {
3415
+ var _a, _b;
3416
+ this.resource = e.detail;
3417
+ if (e.detail) {
3418
+ this.inputValue = e.detail.uri;
3419
+ this.search();
3420
+ }
3421
+ (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.select();
3422
+ (_b = this.dialogRef) === null || _b === void 0 ? void 0 : _b.show();
3423
+ }
3607
3424
  clearSearchIndex() {
3608
3425
  var _a;
3609
3426
  (_a = this.searchIndex) === null || _a === void 0 ? void 0 : _a.clear();
3610
3427
  }
3611
3428
  onChange(event) {
3612
- this.value = event.detail.value;
3613
- this.search();
3429
+ this.inputValue = event.target.value;
3430
+ this.changeEvents.next();
3431
+ }
3432
+ closeDialog() {
3433
+ var _a;
3434
+ (_a = this.dialogRef) === null || _a === void 0 ? void 0 : _a.close();
3435
+ this.selectedIndex = -1;
3614
3436
  }
3615
3437
  clearSuggestions() {
3438
+ var _a;
3616
3439
  this.suggestions = [];
3440
+ (_a = this.dialogRef) === null || _a === void 0 ? void 0 : _a.close();
3617
3441
  this.selectedIndex = -1;
3618
3442
  }
3619
3443
  onClickSelf(event) {
@@ -3621,7 +3445,7 @@ const PosNavigationBar = class {
3621
3445
  }
3622
3446
  handleKeyDown(ev) {
3623
3447
  if (ev.key === 'Escape') {
3624
- this.clearSuggestions();
3448
+ this.closeDialog();
3625
3449
  }
3626
3450
  else if (ev.key === 'ArrowDown') {
3627
3451
  ev.preventDefault();
@@ -3634,20 +3458,41 @@ const PosNavigationBar = class {
3634
3458
  }
3635
3459
  search() {
3636
3460
  if (this.searchIndex) {
3637
- this.suggestions = this.value ? this.searchIndex.search(this.value) : [];
3461
+ this.suggestions = this.inputValue ? this.searchIndex.search(this.inputValue) : [];
3638
3462
  }
3639
3463
  }
3640
- onSubmit(event) {
3641
- event.preventDefault();
3464
+ onSubmit() {
3642
3465
  if (this.suggestions && this.selectedIndex > -1) {
3643
3466
  this.linkEmitter.emit(this.suggestions[this.selectedIndex].ref);
3644
3467
  }
3645
3468
  else {
3646
- this.linkEmitter.emit(this.value);
3469
+ this.linkEmitter.emit(this.inputValue);
3647
3470
  }
3648
3471
  }
3649
3472
  render() {
3650
- return (index.h("form", { key: 'e92382c2024642ea5c0b5abb00f1759003f74c78', onSubmit: e => this.onSubmit(e) }, this.searchIndex && this.uri ? index.h("pos-make-findable", { uri: this.uri }) : '', index.h("div", { key: 'c32607860e8aa1fe6d6d182c0e2a056f40b6f1b7', class: "bar" }, index.h("ion-searchbar", { key: '6f281c307640200da6c57a0660e27901f55d375d', enterkeyhint: "search", placeholder: "Search or enter URI", value: this.uri, debounce: 300, onIonChange: e => this.onChange(e), onIonInput: e => this.onChange(e) }), this.suggestions.length > 0 ? (index.h("div", { class: "suggestions" }, index.h("ol", null, this.suggestions.map((it, index$1) => (index.h("li", { class: index$1 === this.selectedIndex ? 'selected' : '' }, index.h("pos-rich-link", { uri: it.ref }))))))) : null)));
3473
+ return (index.h("nav", { key: 'f09437fdd0bdfc5912af62658f1f32ab54c439c8' }, index.h("search", { key: 'fa09fec64bacfe1460a1fad256e509a480dd6a01' }, index.h("pos-navigation-bar", { key: '8dcd35cad5858da049ae942152f3cebe884aa761', searchIndexReady: this.searchIndex !== undefined, current: this.resource }), index.h("dialog", { key: '3ad61d48a6c5fcd0b010950c702e9488a9fd5160', ref: el => (this.dialogRef = el) }, index.h("form", { key: '1c23af28daf15f635d4c36002ca6fe153e33b48e', method: "dialog", onSubmit: () => this.onSubmit() }, index.h("input", { key: 'f11ff492c9333e5f6110630b9b6b3f3b5c127660', ref: el => (this.inputRef = el), enterkeyhint: "search", placeholder: "Search or enter URI", value: this.uri, onChange: e => this.onChange(e), onInput: 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)))));
3474
+ }
3475
+ static get watchers() { return {
3476
+ "uri": ["updateResource"],
3477
+ "os": ["updateResource"]
3478
+ }; }
3479
+ };
3480
+ PosNavigation.style = PosNavigationStyle0;
3481
+
3482
+ 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 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}\n";
3483
+ const PosNavigationBarStyle0 = posNavigationBarCss;
3484
+
3485
+ const PosNavigationBar = class {
3486
+ constructor(hostRef) {
3487
+ index.registerInstance(this, hostRef);
3488
+ this.navigate = index.createEvent(this, "pod-os:navigate", 7);
3489
+ }
3490
+ onClick() {
3491
+ this.navigate.emit(this.current);
3492
+ }
3493
+ render() {
3494
+ const ariaLabel = this.current ? `${this.current.label()} (Click to search or enter URI)` : 'Search or enter URI';
3495
+ return (index.h("section", { key: '86e206e0b8f0e5b75cf291fd18174dc01d825cf5', class: "current" }, this.current && this.searchIndexReady && index.h("pos-make-findable", { key: 'cf9952ce503150224911abcb7ffe592dc6bb2f90', uri: this.current.uri }), index.h("button", { key: '2f70fe39855f4e1e28113c019bb8f071127743d0', "aria-label": ariaLabel, onClick: () => this.onClick() }, this.current ? this.current.label() : 'Search or enter URI')));
3651
3496
  }
3652
3497
  };
3653
3498
  PosNavigationBar.style = PosNavigationBarStyle0;
@@ -3673,7 +3518,7 @@ const PosNewThingForm = class {
3673
3518
  PodOsAware.subscribePodOs(this);
3674
3519
  }
3675
3520
  render() {
3676
- return (index.h("form", { key: '9ee9d0ab4f31bfc55865ef697d410b37977b1051', method: "dialog", onSubmit: e => this.handleSubmit(e) }, index.h("label", { key: 'a6f807d2034d55e5218c01375c4ff36564924bfb', htmlFor: "type" }, "Type"), index.h("pos-select-term", { key: 'f6001d6801bee97c03121d57742a595c8d5d5bd7', id: "type", placeholder: "", value: this.selectedTypeUri, "onPod-os:term-selected": e => this.onTermSelected(e) }), index.h("label", { key: '9365561d47d72e0153bb743f4fdf5ca7a1b5dcc0', htmlFor: "name" }, "Name"), index.h("input", { key: 'c93de873370a1123441a33d27c53c954bcc5f5ce', id: "name", type: "text", value: this.name, onInput: e => this.handleChange(e) }), this.newUri ? (index.h("div", { id: "new-uri", title: "This will be the URI of the new thing" }, this.newUri)) : null, index.h("input", { key: '9fc1fb39f7c582a069876642cc17678303c7d72b', id: "create", type: "submit", value: "Create", disabled: !this.canSubmit })));
3521
+ return (index.h("form", { key: '6d8a76b95abc98ab382b425b2dd8894983bb9522', method: "dialog", onSubmit: e => this.handleSubmit(e) }, index.h("label", { key: '6fe391ac186c0b0a8e6bb3265e66469dac3ab187', htmlFor: "type" }, "Type"), index.h("pos-select-term", { key: '33b50596c8cd22d8ce2b1af114277fa9bfd80355', id: "type", placeholder: "", value: this.selectedTypeUri, "onPod-os:term-selected": e => this.onTermSelected(e) }), index.h("label", { key: '8681f29f0c20d59c2be10a1f49cc38dea6abd19d', htmlFor: "name" }, "Name"), index.h("input", { key: 'f5905d871b55821f7019134d972e1f156c55f49e', id: "name", type: "text", value: this.name, onInput: e => this.handleChange(e) }), this.newUri ? (index.h("div", { id: "new-uri", title: "This will be the URI of the new thing" }, this.newUri)) : null, index.h("input", { key: 'dade4834abecd9bf2fc8eb5bca0b1f60784287a4', id: "create", type: "submit", value: "Create", disabled: !this.canSubmit })));
3677
3522
  }
3678
3523
  handleChange(event) {
3679
3524
  this.name = event.target.value;
@@ -3803,7 +3648,7 @@ const PosResource = class {
3803
3648
  };
3804
3649
  PosResource.style = PosResourceStyle0;
3805
3650
 
3806
- const posRichLinkCss = ":host {\n --background-color: inherit;\n --label-color: var(--pos-normal-text-color);\n --description-color: var(--pos-normal-text-color);\n --uri-color: var(--pos-subtle-text-color);\n --font-family: var(--font-sans);\n}\n\np.content {\n background-color: var(--background-color);\n line-height: var(--line-xs);\n margin: 0;\n display: flex;\n flex-direction: column;\n align-items: baseline;\n gap: var(--size-1);\n\n .url {\n font-size: var(--scale-fluid-1);\n color: var(--pos-subtle-text-color);\n }\n}\n\na {\n color: var(--label-color);\n max-width: var(--prose-lg);\n text-decoration: underline;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-decoration-thickness: var(--size-px);\n}\n\npos-label {\n color: var(--label-color);\n font-size: var(--scale-fluid-2);\n margin-bottom: var(--size-1);\n}\n\npos-description {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n text-overflow: ellipsis;\n overflow: hidden;\n font-weight: var(--weight-light);\n color: var(--description-color);\n font-size: var(--scale-fluid-2);\n}\n\n@media (min-width: 640px) {\n pos-label {\n font-size: var(--scale-fluid-0);\n }\n pos-description {\n font-size: var(--scale-fluid-1);\n }\n\n p.content {\n .url {\n font-size: var(--scale-fluid-000);\n }\n }\n}\n";
3651
+ const posRichLinkCss = ":host {\n --background-color: inherit;\n --label-color: var(--pos-normal-text-color);\n --description-color: var(--pos-normal-text-color);\n --uri-color: var(--pos-subtle-text-color);\n --font-family: var(--font-sans);\n}\n\np.content {\n background-color: var(--background-color);\n line-height: var(--line-xs);\n margin: 0;\n display: flex;\n flex-direction: column;\n align-items: baseline;\n gap: var(--size-1);\n\n .url {\n font-size: var(--scale-fluid-1);\n color: var(--pos-subtle-text-color);\n }\n}\n\na {\n color: var(--label-color);\n max-width: min(100%, var(--prose-lg));\n text-decoration: underline;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-decoration-thickness: var(--size-px);\n}\n\npos-label {\n color: var(--label-color);\n font-size: var(--scale-fluid-2);\n margin-bottom: var(--size-1);\n}\n\npos-description {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n text-overflow: ellipsis;\n overflow: hidden;\n font-weight: var(--weight-light);\n color: var(--description-color);\n font-size: var(--scale-fluid-2);\n}\n\n@media (min-width: 640px) {\n pos-label {\n font-size: var(--scale-fluid-0);\n }\n pos-description {\n font-size: var(--scale-fluid-1);\n }\n\n p.content {\n .url {\n font-size: var(--scale-fluid-000);\n }\n }\n}\n";
3807
3652
  const PosRichLinkStyle0 = posRichLinkCss;
3808
3653
 
3809
3654
  const PosRichLink = class {
@@ -3812,10 +3657,10 @@ const PosRichLink = class {
3812
3657
  this.linkEmitter = index.createEvent(this, "pod-os:link", 7);
3813
3658
  }
3814
3659
  render() {
3815
- return (index.h("pos-resource", { key: '0a794cc8287b13f163a813dc6a4f87b2f00e028b', lazy: true, uri: this.uri }, index.h("p", { key: 'b7a44482a82cd69228f144b04e9ec20b84410339', class: "content" }, index.h("a", { key: '0d218d4d5c1991c767b66f0d37c5476038e7a0fb', href: this.uri, onClick: e => {
3660
+ return (index.h("pos-resource", { key: '389fb8817f5a7ff77965a8bb9924f48af15c528c', lazy: true, uri: this.uri }, index.h("p", { key: '1946deeff38a510800ef1558fd6374f65d72cd7f', class: "content" }, index.h("a", { key: '776c99ca32c7cd7fac30ab1f18b1c024b234d85f', href: this.uri, onClick: e => {
3816
3661
  e.preventDefault();
3817
3662
  this.linkEmitter.emit(this.uri);
3818
- } }, index.h("pos-label", { key: 'd04048986a7a4da138608f187a2f27e6313d9a6e' })), index.h("span", { key: '53a05023aa2fec4725e1d7e59acee9888476ecac', class: "url" }, new URL(this.uri).host), index.h("pos-description", { key: 'a73de2d208b684a9f555cda312e94df4282afba0' }))));
3663
+ } }, index.h("pos-label", { key: '0ddb22c414f2e4d61cf1beabb301b723b78235e1' })), index.h("span", { key: 'd2730c1fcc1c1521a7527bdb7a63c091ff49746c', class: "url" }, new URL(this.uri).host), index.h("pos-description", { key: '53867e57b7403aed46e94a5f3df0b8389bc68244' }))));
3819
3664
  }
3820
3665
  };
3821
3666
  PosRichLink.style = PosRichLinkStyle0;
@@ -4108,7 +3953,7 @@ const DEFAULT_PARSE_URL = (url) => {
4108
3953
  return url.pathname.toLowerCase();
4109
3954
  };
4110
3955
 
4111
- const posRouterCss = ".toolbar{display:flex;flex-direction:row;gap:0;align-items:center;margin-left:0.5rem}pos-navigation-bar{flex-grow:1}";
3956
+ const posRouterCss = ".toolbar{display:flex;flex-direction:row;gap:0;align-items:center;margin-left:0.5rem}pos-navigation{flex-grow:1}";
4112
3957
  const PosRouterStyle0 = posRouterCss;
4113
3958
 
4114
3959
  const Router = createRouter();
@@ -4146,7 +3991,7 @@ const PosRouter = class {
4146
3991
  this.routeChanged.emit(this.uri);
4147
3992
  }
4148
3993
  render() {
4149
- return index.h("slot", { key: '221db70a52ce7ebc7e9c171142dcf94f252fa985' });
3994
+ return index.h("slot", { key: 'a5a451a8ddf4a30c6e5cbb2faf61d44f5a286df9' });
4150
3995
  }
4151
3996
  };
4152
3997
  PosRouter.style = PosRouterStyle0;
@@ -4176,7 +4021,7 @@ const PosSelectTerm = class {
4176
4021
  this.termSelected.emit({ uri: event.target.value });
4177
4022
  }
4178
4023
  render() {
4179
- return (index.h(index.Host, { key: '7a548735e2a0478fa1e63e2a880ca61f0f43d91c' }, index.h("input", { key: '9549691026f4bf42a3048f2af3a78bd71536b160', part: "input", list: "terms", placeholder: this.placeholder, value: this.value, onChange: ev => this.handleChange(ev) }), index.h("datalist", { key: 'adfd77a001389d6cc092e3b054ef12e45d562d54', part: "terms", id: "terms" }, this.terms.map(term => (index.h("option", { value: term.uri }, term.shorthand))))));
4024
+ return (index.h(index.Host, { key: '7f7d48443893800bb818e67865fccdbe1d10d44a' }, index.h("input", { key: 'ee24690418d5a4d6e357154e12685fa9975754f9', part: "input", list: "terms", placeholder: this.placeholder, value: this.value, onChange: ev => this.handleChange(ev) }), index.h("datalist", { key: '78fde7ccb4e0750e902da139b02810c15c21db3e', part: "terms", id: "terms" }, this.terms.map(term => (index.h("option", { value: term.uri }, term.shorthand))))));
4180
4025
  }
4181
4026
  static get delegatesFocus() { return true; }
4182
4027
  static get watchers() { return {
@@ -4254,7 +4099,6 @@ const PosTypeRouter = class {
4254
4099
  exports.ion_icon = Icon;
4255
4100
  exports.ion_progress_bar = ProgressBar;
4256
4101
  exports.ion_ripple_effect = RippleEffect;
4257
- exports.ion_searchbar = Searchbar;
4258
4102
  exports.ion_skeleton_text = SkeletonText;
4259
4103
  exports.ion_toast = Toast;
4260
4104
  exports.pos_add_new_thing = PosAddNewThing;
@@ -4273,6 +4117,7 @@ exports.pos_label = PosLabel;
4273
4117
  exports.pos_login = PosLogin;
4274
4118
  exports.pos_login_form = PosLoginForm;
4275
4119
  exports.pos_make_findable = PosMakeFindable;
4120
+ exports.pos_navigation = PosNavigation;
4276
4121
  exports.pos_navigation_bar = PosNavigationBar;
4277
4122
  exports.pos_new_thing_form = PosNewThingForm;
4278
4123
  exports.pos_picture = PosPicture;