@pod-os/elements 0.17.1-fef97c9.0 → 0.18.1-a971174.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 (457) hide show
  1. package/dist/cjs/elements.cjs.js +1 -1
  2. package/dist/cjs/ion-app.cjs.entry.js +114 -0
  3. package/dist/cjs/ion-app.cjs.entry.js.map +1 -0
  4. package/dist/cjs/ion-badge_11.cjs.entry.js +1 -1
  5. package/dist/cjs/{ion-app_32.cjs.entry.js → ion-card_26.cjs.entry.js} +48 -1380
  6. package/dist/cjs/ion-card_26.cjs.entry.js.map +1 -0
  7. package/dist/cjs/ion-content.cjs.entry.js +416 -0
  8. package/dist/cjs/ion-content.cjs.entry.js.map +1 -0
  9. package/dist/cjs/ion-footer.cjs.entry.js +144 -0
  10. package/dist/cjs/ion-footer.cjs.entry.js.map +1 -0
  11. package/dist/cjs/ion-header.cjs.entry.js +346 -0
  12. package/dist/cjs/ion-header.cjs.entry.js.map +1 -0
  13. package/dist/cjs/ion-title.cjs.entry.js +58 -0
  14. package/dist/cjs/ion-title.cjs.entry.js.map +1 -0
  15. package/dist/cjs/ion-toolbar.cjs.entry.js +79 -0
  16. package/dist/cjs/ion-toolbar.cjs.entry.js.map +1 -0
  17. package/dist/cjs/loader.cjs.js +1 -1
  18. package/dist/cjs/pos-app-generic.cjs.entry.js +1 -1
  19. package/dist/cjs/pos-app-ldp-container.cjs.entry.js +1 -1
  20. package/dist/cjs/pos-app-rdf-document.cjs.entry.js +1 -1
  21. package/dist/collection/apps/pos-app-browser/pos-app-browser.css +64 -0
  22. package/dist/collection/apps/pos-app-browser/pos-app-browser.js +33 -2
  23. package/dist/collection/apps/pos-app-browser/pos-app-browser.js.map +1 -1
  24. package/dist/collection/apps/pos-app-generic/pos-app-generic.js +1 -1
  25. package/dist/collection/apps/pos-app-ldp-container/pos-app-ldp-container.js +1 -1
  26. package/dist/collection/apps/pos-app-rdf-document/pos-app-rdf-document.js +1 -1
  27. package/dist/collection/components/pos-add-new-thing/pos-add-new-thing.js +1 -1
  28. package/dist/collection/components/pos-app/pos-app.js +1 -1
  29. package/dist/collection/components/pos-dialog/pos-dialog.js +1 -1
  30. package/dist/collection/components/pos-error-toast/pos-error-toast.js +1 -1
  31. package/dist/collection/components/pos-literals/pos-literals.js +1 -1
  32. package/dist/collection/components/pos-login/pos-login.css +13 -9
  33. package/dist/collection/components/pos-login/pos-login.js +1 -1
  34. package/dist/collection/components/pos-login/pos-login.js.map +1 -1
  35. package/dist/collection/components/pos-login-form/pos-login-form.js +1 -1
  36. package/dist/collection/components/pos-navigation-bar/pos-navigation-bar.js +1 -1
  37. package/dist/collection/components/pos-new-thing-form/pos-new-thing-form.js +1 -1
  38. package/dist/collection/components/pos-rich-link/pos-rich-link.js +2 -2
  39. package/dist/collection/components/pos-router/pos-router.js +26 -2
  40. package/dist/collection/components/pos-router/pos-router.js.map +1 -1
  41. package/dist/collection/components/pos-select-term/pos-select-term.js +1 -1
  42. package/dist/components/ion-app.js +121 -1
  43. package/dist/components/ion-app.js.map +1 -1
  44. package/dist/components/ion-content.js +436 -1
  45. package/dist/components/ion-content.js.map +1 -1
  46. package/dist/components/ion-footer.js +150 -1
  47. package/dist/components/ion-footer.js.map +1 -1
  48. package/dist/components/ion-header.js +354 -1
  49. package/dist/components/ion-header.js.map +1 -1
  50. package/dist/components/ion-title.js +70 -1
  51. package/dist/components/ion-title.js.map +1 -1
  52. package/dist/components/ion-toolbar.js +88 -1
  53. package/dist/components/ion-toolbar.js.map +1 -1
  54. package/dist/components/pos-add-new-thing2.js +1 -1
  55. package/dist/components/pos-app-browser.js +40 -55
  56. package/dist/components/pos-app-browser.js.map +1 -1
  57. package/dist/components/pos-app-generic.js +1 -1
  58. package/dist/components/pos-app-ldp-container.js +1 -1
  59. package/dist/components/pos-app-rdf-document.js +1 -1
  60. package/dist/components/pos-app2.js +1 -1
  61. package/dist/components/pos-dialog2.js +1 -1
  62. package/dist/components/pos-error-toast2.js +1 -1
  63. package/dist/components/pos-literals2.js +1 -1
  64. package/dist/components/pos-login-form2.js +1 -1
  65. package/dist/components/pos-login2.js +2 -2
  66. package/dist/components/pos-login2.js.map +1 -1
  67. package/dist/components/pos-navigation-bar2.js +1 -1
  68. package/dist/components/pos-new-thing-form2.js +1 -1
  69. package/dist/components/pos-rich-link2.js +2 -2
  70. package/dist/components/pos-router2.js +6 -375
  71. package/dist/components/pos-router2.js.map +1 -1
  72. package/dist/components/pos-select-term2.js +1 -1
  73. package/dist/elements/elements.css +1 -1
  74. package/dist/elements/elements.esm.js +1 -1
  75. package/dist/elements/elements.esm.js.map +1 -1
  76. package/dist/elements/p-00ce08f0.entry.js +2 -0
  77. package/dist/elements/{p-546a0100.entry.js.map → p-00ce08f0.entry.js.map} +1 -1
  78. package/dist/elements/p-012387ef.js +5 -0
  79. package/dist/elements/{p-e06dbbcc.entry.js → p-0133f543.entry.js} +2 -2
  80. package/dist/elements/p-05e3c2f1.entry.js +2 -0
  81. package/dist/elements/{p-d5ff3d36.entry.js.map → p-05e3c2f1.entry.js.map} +1 -1
  82. package/dist/elements/{p-3aeb707f.entry.js → p-09a7b8e1.entry.js} +2 -2
  83. package/dist/elements/{p-86136480.entry.js → p-11ad53dd.entry.js} +2 -2
  84. package/dist/elements/{p-9365c31d.entry.js → p-122324d9.entry.js} +2 -2
  85. package/dist/elements/{p-530932bb.js → p-163e3e87.js} +2 -2
  86. package/dist/elements/{p-9b56d918.js → p-18d4a4f4.js} +3 -3
  87. package/dist/elements/{p-b90d29b6.entry.js → p-18d9c4f7.entry.js} +2 -2
  88. package/dist/elements/{p-69d9dbbf.entry.js → p-1a90b8bb.entry.js} +2 -2
  89. package/dist/elements/{p-02b4f408.entry.js → p-1f36a3c0.entry.js} +2 -2
  90. package/dist/elements/{p-c7ac1d8b.entry.js → p-200707c8.entry.js} +6 -6
  91. package/dist/elements/{p-78982008.entry.js → p-2072bd89.entry.js} +2 -2
  92. package/dist/elements/{p-170a54a2.js → p-20e2e8c1.js} +3 -3
  93. package/dist/elements/{p-9e7f0522.js → p-25270f1a.js} +2 -2
  94. package/dist/elements/p-27e8c19d.entry.js +2 -0
  95. package/dist/elements/{p-909f0d6e.entry.js.map → p-27e8c19d.entry.js.map} +1 -1
  96. package/dist/elements/p-27ec1e73.entry.js +2 -0
  97. package/dist/elements/{p-c4a822b5.entry.js → p-28b1f2dc.entry.js} +2 -2
  98. package/dist/elements/{p-4d47eeb5.js → p-2a17fd31.js} +2 -2
  99. package/dist/elements/{p-8d4278bb.entry.js → p-2adb9784.entry.js} +2 -2
  100. package/dist/elements/p-2f85baae.entry.js +2 -0
  101. package/dist/elements/{p-e3d72483.entry.js.map → p-2f85baae.entry.js.map} +1 -1
  102. package/dist/elements/{p-d212be68.entry.js → p-30685d32.entry.js} +2 -2
  103. package/dist/elements/{p-8e1e3e7d.js → p-359bfe6a.js} +2 -2
  104. package/dist/elements/p-382054bf.entry.js +2 -0
  105. package/dist/elements/p-382054bf.entry.js.map +1 -0
  106. package/dist/elements/{p-bba60e3b.entry.js → p-39cc0ada.entry.js} +2 -2
  107. package/dist/elements/p-4056decf.entry.js +2 -0
  108. package/dist/elements/p-4056decf.entry.js.map +1 -0
  109. package/dist/elements/p-4918fd10.entry.js +2 -0
  110. package/dist/elements/p-4918fd10.entry.js.map +1 -0
  111. package/dist/elements/{p-af43acbb.entry.js → p-4c0808b4.entry.js} +2 -2
  112. package/dist/elements/p-4cf87b24.entry.js +2 -0
  113. package/dist/elements/{p-0edf98c5.entry.js.map → p-4cf87b24.entry.js.map} +1 -1
  114. package/dist/elements/{p-b8ac0ee4.js → p-4d6e48bf.js} +2 -2
  115. package/dist/elements/{p-28ad7b6e.entry.js → p-5298b7a1.entry.js} +2 -2
  116. package/dist/elements/{p-0b1c92f2.entry.js → p-52c87099.entry.js} +2 -2
  117. package/dist/elements/{p-c0eb0e3d.entry.js → p-55fbf5f7.entry.js} +3 -3
  118. package/dist/elements/{p-c0eb0e3d.entry.js.map → p-55fbf5f7.entry.js.map} +1 -1
  119. package/dist/elements/{p-2428b6bf.js → p-592177e8.js} +2 -2
  120. package/dist/elements/{p-8b81a782.js → p-595c0a57.js} +2 -2
  121. package/dist/elements/{p-e32a52ee.js → p-5a248cff.js} +2 -2
  122. package/dist/elements/p-5b933f24.entry.js +2 -0
  123. package/dist/elements/p-5b933f24.entry.js.map +1 -0
  124. package/dist/elements/{p-cc62cb3d.entry.js → p-61a489ee.entry.js} +2 -2
  125. package/dist/elements/p-6ac0c71c.entry.js +2 -0
  126. package/dist/elements/{p-6c9053ed.entry.js → p-6bcba1f6.entry.js} +2 -2
  127. package/dist/elements/{p-ddc13326.entry.js → p-6e2a89ab.entry.js} +2 -2
  128. package/dist/elements/{p-565128c5.entry.js → p-74ebe432.entry.js} +2 -2
  129. package/dist/elements/p-76543de1.entry.js +2 -0
  130. package/dist/elements/{p-d7231d27.entry.js → p-76e7559c.entry.js} +2 -2
  131. package/dist/elements/{p-41e21640.entry.js → p-778d7821.entry.js} +6 -6
  132. package/dist/elements/{p-f941317f.entry.js → p-78ba7248.entry.js} +2 -2
  133. package/dist/elements/{p-6579450f.js → p-7a563988.js} +2 -2
  134. package/dist/elements/{p-3c2b721e.js → p-7f507bcb.js} +2 -2
  135. package/dist/elements/p-7fb554a5.entry.js +2 -0
  136. package/dist/elements/{p-cc274814.entry.js.map → p-7fb554a5.entry.js.map} +1 -1
  137. package/dist/elements/p-8206b1f1.js +6 -0
  138. package/dist/elements/{p-b097a0ac.entry.js → p-82fb9396.entry.js} +2 -2
  139. package/dist/elements/{p-d86e6e48.entry.js → p-8817e69b.entry.js} +2 -2
  140. package/dist/elements/p-8865cb08.entry.js +2 -0
  141. package/dist/elements/{p-0951f046.entry.js → p-8b9b339b.entry.js} +2 -2
  142. package/dist/elements/{p-553217d4.entry.js → p-8b9b7f79.entry.js} +2 -2
  143. package/dist/elements/{p-86eaec56.entry.js → p-8c32e0ab.entry.js} +2 -2
  144. package/dist/elements/p-8fe569b3.entry.js +2 -0
  145. package/dist/elements/p-9090e8dc.entry.js +2 -0
  146. package/dist/elements/p-90f99f85.entry.js +5 -0
  147. package/dist/elements/p-90f99f85.entry.js.map +1 -0
  148. package/dist/elements/{p-fb11bb27.entry.js → p-916a6612.entry.js} +2 -2
  149. package/dist/elements/{p-fa9aa28a.entry.js → p-a68e7901.entry.js} +2 -2
  150. package/dist/elements/p-a88c6bd6.entry.js +2 -0
  151. package/dist/elements/{p-f05a0cca.entry.js.map → p-a88c6bd6.entry.js.map} +1 -1
  152. package/dist/elements/{p-69410d36.js → p-a91046dc.js} +3 -3
  153. package/dist/elements/{p-325e5484.entry.js → p-aad12400.entry.js} +2 -2
  154. package/dist/elements/{p-58418838.entry.js → p-ab92e9ad.entry.js} +2 -2
  155. package/dist/elements/{p-d01e6782.entry.js → p-af3f8ab1.entry.js} +2 -2
  156. package/dist/elements/p-b11e8f77.entry.js +2 -0
  157. package/dist/elements/{p-77d82071.entry.js → p-b19890bd.entry.js} +2 -2
  158. package/dist/elements/p-b1d0e1fe.entry.js +5 -0
  159. package/dist/{components/header.js.map → elements/p-b1d0e1fe.entry.js.map} +1 -1
  160. package/dist/elements/{p-573b7dca.entry.js → p-b227f4a8.entry.js} +2 -2
  161. package/dist/elements/p-b8b9096d.entry.js +2 -0
  162. package/dist/elements/p-b8b9096d.entry.js.map +1 -0
  163. package/dist/elements/{p-134b66b6.js → p-bb3054a3.js} +6 -6
  164. package/dist/elements/p-bc5eefc4.entry.js +2 -0
  165. package/dist/elements/{p-b115ebcf.entry.js.map → p-bc5eefc4.entry.js.map} +1 -1
  166. package/dist/elements/{p-56bf9fdf.js → p-c2690129.js} +2 -2
  167. package/dist/elements/{p-8b0695a7.entry.js → p-c445f3ac.entry.js} +2 -2
  168. package/dist/elements/{p-2ba30f60.entry.js → p-c9faf4da.entry.js} +2 -2
  169. package/dist/elements/p-ca453b3d.js +8 -0
  170. package/dist/elements/p-cc23946c.entry.js +2 -0
  171. package/dist/elements/{p-4342e2ef.entry.js.map → p-cc23946c.entry.js.map} +1 -1
  172. package/dist/elements/{p-c23172a0.entry.js → p-cd9107d1.entry.js} +2 -2
  173. package/dist/elements/{p-9b369d09.js → p-cebe59d4.js} +2 -2
  174. package/dist/elements/{p-b67ce91f.entry.js → p-cfec477d.entry.js} +2 -2
  175. package/dist/elements/{p-1c69ca01.js → p-d0fcc589.js} +2 -2
  176. package/dist/elements/{p-257248f2.entry.js → p-d2458575.entry.js} +2 -2
  177. package/dist/elements/p-d2e7f4d4.entry.js +2 -0
  178. package/dist/elements/p-d65caf7a.entry.js +2 -0
  179. package/dist/elements/{p-acbfc962.entry.js.map → p-d65caf7a.entry.js.map} +1 -1
  180. package/dist/elements/{p-3505dfe2.js → p-d6769f21.js} +2 -2
  181. package/dist/elements/{p-a1a15808.entry.js → p-d6bf2b98.entry.js} +2 -2
  182. package/dist/elements/{p-75cbc833.entry.js → p-d86570da.entry.js} +2 -2
  183. package/dist/elements/p-d8e8bd9b.entry.js +2 -0
  184. package/dist/elements/p-d8fc8b11.js +2 -0
  185. package/dist/elements/{p-0ddd5da3.entry.js → p-da5f6dcd.entry.js} +3 -3
  186. package/dist/elements/{p-ab5544fc.entry.js → p-db793eec.entry.js} +2 -2
  187. package/dist/elements/p-db973275.js +5 -0
  188. package/dist/elements/{p-5f2c1e33.entry.js → p-e134ddc9.entry.js} +2 -2
  189. package/dist/elements/{p-0752ec21.entry.js → p-e3ae9b45.entry.js} +2 -2
  190. package/dist/elements/p-e5cefd56.entry.js +2 -0
  191. package/dist/elements/{p-64af0b46.entry.js.map → p-e5cefd56.entry.js.map} +1 -1
  192. package/dist/elements/{p-ad2273d6.js → p-ecdb52e8.js} +2 -2
  193. package/dist/elements/{p-2dddbb15.js → p-f1ef82a9.js} +4 -4
  194. package/dist/elements/p-f4440338.entry.js +2 -0
  195. package/dist/elements/{p-5bd948fa.entry.js → p-f981858f.entry.js} +2 -2
  196. package/dist/elements/{p-f6b92b3c.entry.js → p-fd200088.entry.js} +2 -2
  197. package/dist/elements/{p-b56ae71f.entry.js → p-fdeb6a78.entry.js} +3 -3
  198. package/dist/esm/{BrokenFile-0cbdf2f2.js → BrokenFile-660171a9.js} +2 -2
  199. package/dist/esm/{BrokenFile-0cbdf2f2.js.map → BrokenFile-660171a9.js.map} +1 -1
  200. package/dist/esm/{animation-0dedebd7.js → animation-8c622dae.js} +2 -2
  201. package/dist/esm/{animation-0dedebd7.js.map → animation-8c622dae.js.map} +1 -1
  202. package/dist/esm/{app-globals-8441b381.js → app-globals-a35b051d.js} +2 -2
  203. package/dist/esm/{app-globals-8441b381.js.map → app-globals-a35b051d.js.map} +1 -1
  204. package/dist/esm/{data-3bd275a7.js → data-cdc9b206.js} +2 -2
  205. package/dist/esm/{data-3bd275a7.js.map → data-cdc9b206.js.map} +1 -1
  206. package/dist/esm/elements.js +5 -5
  207. package/dist/esm/{form-controller-ba097a73.js → form-controller-1f70ed52.js} +2 -2
  208. package/dist/esm/{form-controller-ba097a73.js.map → form-controller-1f70ed52.js.map} +1 -1
  209. package/dist/esm/{framework-delegate-0ffa1682.js → framework-delegate-b5751311.js} +2 -2
  210. package/dist/esm/{framework-delegate-0ffa1682.js.map → framework-delegate-b5751311.js.map} +1 -1
  211. package/dist/esm/{hardware-back-button-80e72d27.js → hardware-back-button-e34ddb75.js} +3 -3
  212. package/dist/esm/{hardware-back-button-80e72d27.js.map → hardware-back-button-e34ddb75.js.map} +1 -1
  213. package/dist/esm/{helpers-ad2d8971.js → helpers-a93a8cd2.js} +2 -2
  214. package/dist/esm/{helpers-ad2d8971.js.map → helpers-a93a8cd2.js.map} +1 -1
  215. package/dist/esm/{index-141ce7d0.js → index-1e601862.js} +5 -5
  216. package/dist/esm/{index-141ce7d0.js.map → index-1e601862.js.map} +1 -1
  217. package/dist/esm/{index-38b2da1b.js → index-432e7c6f.js} +3 -3
  218. package/dist/esm/{index-38b2da1b.js.map → index-432e7c6f.js.map} +1 -1
  219. package/dist/esm/{index-46b2983b.js → index-538226d8.js} +2 -2
  220. package/dist/esm/{index-46b2983b.js.map → index-538226d8.js.map} +1 -1
  221. package/dist/esm/{index-049cf01c.js → index-e9b97538.js} +6 -6
  222. package/dist/esm/{index-049cf01c.js.map → index-e9b97538.js.map} +1 -1
  223. package/dist/esm/{index-c043b4c8.js → index-f69a875d.js} +2 -2
  224. package/dist/esm/{index-c043b4c8.js.map → index-f69a875d.js.map} +1 -1
  225. package/dist/esm/{index-bec78e8b.js → index-f7ac0403.js} +2 -2
  226. package/dist/esm/{index-bec78e8b.js.map → index-f7ac0403.js.map} +1 -1
  227. package/dist/esm/{input-shims-2246db96.js → input-shims-212ee02f.js} +4 -4
  228. package/dist/esm/{input-shims-2246db96.js.map → input-shims-212ee02f.js.map} +1 -1
  229. package/dist/esm/{input.utils-8550a81d.js → input.utils-d2c917c3.js} +3 -3
  230. package/dist/esm/{input.utils-8550a81d.js.map → input.utils-d2c917c3.js.map} +1 -1
  231. package/dist/esm/ion-accordion-group.entry.js +3 -3
  232. package/dist/esm/ion-accordion.entry.js +3 -3
  233. package/dist/esm/ion-action-sheet_3.entry.js +8 -8
  234. package/dist/{components/app.js → esm/ion-app.entry.js} +20 -35
  235. package/dist/esm/ion-app.entry.js.map +1 -0
  236. package/dist/esm/ion-avatar.entry.js +2 -2
  237. package/dist/esm/ion-back-button.entry.js +3 -3
  238. package/dist/esm/ion-backdrop.entry.js +2 -2
  239. package/dist/esm/ion-badge_11.entry.js +8 -8
  240. package/dist/esm/ion-breadcrumb.entry.js +3 -3
  241. package/dist/esm/ion-breadcrumbs.entry.js +2 -2
  242. package/dist/esm/ion-button_4.entry.js +4 -4
  243. package/dist/esm/ion-card-subtitle.entry.js +2 -2
  244. package/dist/esm/{ion-app_32.entry.js → ion-card_26.entry.js} +48 -1374
  245. package/dist/esm/ion-card_26.entry.js.map +1 -0
  246. package/dist/esm/ion-checkbox_4.entry.js +5 -5
  247. package/dist/esm/ion-chip.entry.js +2 -2
  248. package/dist/{components/content.js → esm/ion-content.entry.js} +14 -42
  249. package/dist/esm/ion-content.entry.js.map +1 -0
  250. package/dist/esm/ion-datetime-button.entry.js +5 -5
  251. package/dist/esm/ion-datetime.entry.js +5 -5
  252. package/dist/esm/ion-fab-button.entry.js +3 -3
  253. package/dist/esm/ion-fab-list.entry.js +2 -2
  254. package/dist/esm/ion-fab.entry.js +2 -2
  255. package/dist/{components/footer.js → esm/ion-footer.entry.js} +20 -34
  256. package/dist/esm/ion-footer.entry.js.map +1 -0
  257. package/dist/{components/header.js → esm/ion-header.entry.js} +17 -33
  258. package/dist/esm/ion-header.entry.js.map +1 -0
  259. package/dist/esm/ion-img.entry.js +3 -3
  260. package/dist/esm/ion-infinite-scroll-content.entry.js +2 -2
  261. package/dist/esm/ion-infinite-scroll.entry.js +5 -5
  262. package/dist/esm/ion-item-option.entry.js +2 -2
  263. package/dist/esm/ion-item-options.entry.js +3 -3
  264. package/dist/esm/ion-item-sliding.entry.js +5 -5
  265. package/dist/esm/ion-item_4.entry.js +4 -4
  266. package/dist/esm/ion-loading.entry.js +8 -8
  267. package/dist/esm/ion-menu-button.entry.js +8 -8
  268. package/dist/esm/ion-menu-toggle.entry.js +8 -8
  269. package/dist/esm/ion-menu.entry.js +9 -9
  270. package/dist/esm/ion-modal.entry.js +10 -10
  271. package/dist/esm/ion-nav-link.entry.js +1 -1
  272. package/dist/esm/ion-nav.entry.js +6 -6
  273. package/dist/esm/ion-picker-column.entry.js +3 -3
  274. package/dist/esm/ion-picker.entry.js +8 -8
  275. package/dist/esm/ion-popover.entry.js +9 -9
  276. package/dist/esm/ion-range.entry.js +6 -6
  277. package/dist/esm/ion-refresher-content.entry.js +5 -5
  278. package/dist/esm/ion-refresher.entry.js +7 -7
  279. package/dist/esm/ion-reorder-group.entry.js +5 -5
  280. package/dist/esm/ion-reorder.entry.js +2 -2
  281. package/dist/esm/ion-route-redirect.entry.js +1 -1
  282. package/dist/esm/ion-route.entry.js +1 -1
  283. package/dist/esm/ion-router-link.entry.js +2 -2
  284. package/dist/esm/ion-router-outlet.entry.js +6 -6
  285. package/dist/esm/ion-router.entry.js +2 -2
  286. package/dist/esm/ion-segment-button.entry.js +3 -3
  287. package/dist/esm/ion-segment.entry.js +3 -3
  288. package/dist/esm/ion-select-option.entry.js +2 -2
  289. package/dist/esm/ion-select.entry.js +9 -9
  290. package/dist/esm/ion-spinner.entry.js +2 -2
  291. package/dist/esm/ion-split-pane.entry.js +2 -2
  292. package/dist/esm/ion-tab-bar.entry.js +2 -2
  293. package/dist/esm/ion-tab-button.entry.js +3 -3
  294. package/dist/esm/ion-tab.entry.js +3 -3
  295. package/dist/esm/ion-tabs.entry.js +1 -1
  296. package/dist/esm/ion-text.entry.js +2 -2
  297. package/dist/esm/ion-textarea.entry.js +7 -7
  298. package/dist/esm/ion-thumbnail.entry.js +2 -2
  299. package/dist/{components/title.js → esm/ion-title.entry.js} +14 -34
  300. package/dist/esm/ion-title.entry.js.map +1 -0
  301. package/dist/esm/ion-toast.entry.js +8 -8
  302. package/dist/esm/ion-toggle.entry.js +5 -5
  303. package/dist/{components/toolbar.js → esm/ion-toolbar.entry.js} +14 -31
  304. package/dist/esm/ion-toolbar.entry.js.map +1 -0
  305. package/dist/esm/{ionic-global-006bfdaa.js → ionic-global-163eb7af.js} +2 -2
  306. package/dist/esm/{ionic-global-006bfdaa.js.map → ionic-global-163eb7af.js.map} +1 -1
  307. package/dist/esm/{ios.transition-e19293f7.js → ios.transition-0236708a.js} +5 -5
  308. package/dist/esm/{ios.transition-e19293f7.js.map → ios.transition-0236708a.js.map} +1 -1
  309. package/dist/esm/loader.js +5 -5
  310. package/dist/esm/{md.transition-d72e937f.js → md.transition-e93291da.js} +5 -5
  311. package/dist/esm/{md.transition-d72e937f.js.map → md.transition-e93291da.js.map} +1 -1
  312. package/dist/esm/{menu-toggle-util-dca4ccca.js → menu-toggle-util-a0afc829.js} +2 -2
  313. package/dist/esm/{menu-toggle-util-dca4ccca.js.map → menu-toggle-util-a0afc829.js.map} +1 -1
  314. package/dist/esm/{notch-controller-18232ec1.js → notch-controller-ae856621.js} +2 -2
  315. package/dist/esm/{notch-controller-18232ec1.js.map → notch-controller-ae856621.js.map} +1 -1
  316. package/dist/esm/{overlays-f768dabb.js → overlays-708b9a6f.js} +6 -6
  317. package/dist/esm/{overlays-f768dabb.js.map → overlays-708b9a6f.js.map} +1 -1
  318. package/dist/esm/pos-app-document-viewer.entry.js +1 -1
  319. package/dist/esm/pos-app-generic.entry.js +2 -2
  320. package/dist/esm/pos-app-image-viewer.entry.js +1 -1
  321. package/dist/esm/pos-app-ldp-container.entry.js +2 -2
  322. package/dist/esm/pos-app-rdf-document.entry.js +2 -2
  323. package/dist/esm/pos-container-contents.entry.js +1 -1
  324. package/dist/esm/pos-container-item.entry.js +1 -1
  325. package/dist/esm/pos-document.entry.js +2 -2
  326. package/dist/esm/pos-relations_2.entry.js +1 -1
  327. package/dist/esm/pos-subjects.entry.js +1 -1
  328. package/dist/esm/pos-value.entry.js +1 -1
  329. package/dist/esm/{refresher.utils-5cd2771a.js → refresher.utils-e3624272.js} +4 -4
  330. package/dist/esm/{refresher.utils-5cd2771a.js.map → refresher.utils-e3624272.js.map} +1 -1
  331. package/dist/esm/{status-tap-96ab3acb.js → status-tap-9b757300.js} +5 -5
  332. package/dist/esm/{status-tap-96ab3acb.js.map → status-tap-9b757300.js.map} +1 -1
  333. package/dist/esm/{swipe-back-44f8b09c.js → swipe-back-5993fe10.js} +2 -2
  334. package/dist/esm/{swipe-back-44f8b09c.js.map → swipe-back-5993fe10.js.map} +1 -1
  335. package/dist/types/apps/pos-app-browser/pos-app-browser.d.ts +1 -0
  336. package/dist/types/components/pos-router/pos-router.d.ts +10 -0
  337. package/dist/types/components.d.ts +39 -0
  338. package/package.json +1 -1
  339. package/dist/cjs/ion-app_32.cjs.entry.js.map +0 -1
  340. package/dist/components/app.js.map +0 -1
  341. package/dist/components/content.js.map +0 -1
  342. package/dist/components/footer.js.map +0 -1
  343. package/dist/components/title.js.map +0 -1
  344. package/dist/components/toolbar.js.map +0 -1
  345. package/dist/elements/p-089421d7.entry.js +0 -8
  346. package/dist/elements/p-089421d7.entry.js.map +0 -1
  347. package/dist/elements/p-0edf98c5.entry.js +0 -2
  348. package/dist/elements/p-0feec79b.js +0 -6
  349. package/dist/elements/p-118e0bed.entry.js +0 -2
  350. package/dist/elements/p-2fa5ecde.js +0 -8
  351. package/dist/elements/p-4342e2ef.entry.js +0 -2
  352. package/dist/elements/p-546a0100.entry.js +0 -2
  353. package/dist/elements/p-5f19bcb1.entry.js +0 -2
  354. package/dist/elements/p-64af0b46.entry.js +0 -2
  355. package/dist/elements/p-7e36887e.js +0 -5
  356. package/dist/elements/p-86f80c54.entry.js +0 -2
  357. package/dist/elements/p-89b3cdad.entry.js +0 -2
  358. package/dist/elements/p-8eb42424.entry.js +0 -2
  359. package/dist/elements/p-8f98459a.entry.js +0 -2
  360. package/dist/elements/p-909f0d6e.entry.js +0 -2
  361. package/dist/elements/p-963acf5e.entry.js +0 -2
  362. package/dist/elements/p-9b3608b6.entry.js +0 -2
  363. package/dist/elements/p-acbfc962.entry.js +0 -2
  364. package/dist/elements/p-b115ebcf.entry.js +0 -2
  365. package/dist/elements/p-cc274814.entry.js +0 -2
  366. package/dist/elements/p-d3a247bd.entry.js +0 -2
  367. package/dist/elements/p-d5ff3d36.entry.js +0 -2
  368. package/dist/elements/p-de267699.js +0 -2
  369. package/dist/elements/p-e3734616.entry.js +0 -2
  370. package/dist/elements/p-e3d72483.entry.js +0 -2
  371. package/dist/elements/p-f05a0cca.entry.js +0 -2
  372. package/dist/elements/p-f82feb40.js +0 -5
  373. package/dist/esm/ion-app_32.entry.js.map +0 -1
  374. /package/dist/elements/{p-f82feb40.js.map → p-012387ef.js.map} +0 -0
  375. /package/dist/elements/{p-e06dbbcc.entry.js.map → p-0133f543.entry.js.map} +0 -0
  376. /package/dist/elements/{p-3aeb707f.entry.js.map → p-09a7b8e1.entry.js.map} +0 -0
  377. /package/dist/elements/{p-86136480.entry.js.map → p-11ad53dd.entry.js.map} +0 -0
  378. /package/dist/elements/{p-9365c31d.entry.js.map → p-122324d9.entry.js.map} +0 -0
  379. /package/dist/elements/{p-530932bb.js.map → p-163e3e87.js.map} +0 -0
  380. /package/dist/elements/{p-9b56d918.js.map → p-18d4a4f4.js.map} +0 -0
  381. /package/dist/elements/{p-b90d29b6.entry.js.map → p-18d9c4f7.entry.js.map} +0 -0
  382. /package/dist/elements/{p-69d9dbbf.entry.js.map → p-1a90b8bb.entry.js.map} +0 -0
  383. /package/dist/elements/{p-02b4f408.entry.js.map → p-1f36a3c0.entry.js.map} +0 -0
  384. /package/dist/elements/{p-c7ac1d8b.entry.js.map → p-200707c8.entry.js.map} +0 -0
  385. /package/dist/elements/{p-78982008.entry.js.map → p-2072bd89.entry.js.map} +0 -0
  386. /package/dist/elements/{p-170a54a2.js.map → p-20e2e8c1.js.map} +0 -0
  387. /package/dist/elements/{p-9e7f0522.js.map → p-25270f1a.js.map} +0 -0
  388. /package/dist/elements/{p-5f19bcb1.entry.js.map → p-27ec1e73.entry.js.map} +0 -0
  389. /package/dist/elements/{p-c4a822b5.entry.js.map → p-28b1f2dc.entry.js.map} +0 -0
  390. /package/dist/elements/{p-4d47eeb5.js.map → p-2a17fd31.js.map} +0 -0
  391. /package/dist/elements/{p-8d4278bb.entry.js.map → p-2adb9784.entry.js.map} +0 -0
  392. /package/dist/elements/{p-d212be68.entry.js.map → p-30685d32.entry.js.map} +0 -0
  393. /package/dist/elements/{p-8e1e3e7d.js.map → p-359bfe6a.js.map} +0 -0
  394. /package/dist/elements/{p-bba60e3b.entry.js.map → p-39cc0ada.entry.js.map} +0 -0
  395. /package/dist/elements/{p-af43acbb.entry.js.map → p-4c0808b4.entry.js.map} +0 -0
  396. /package/dist/elements/{p-b8ac0ee4.js.map → p-4d6e48bf.js.map} +0 -0
  397. /package/dist/elements/{p-28ad7b6e.entry.js.map → p-5298b7a1.entry.js.map} +0 -0
  398. /package/dist/elements/{p-0b1c92f2.entry.js.map → p-52c87099.entry.js.map} +0 -0
  399. /package/dist/elements/{p-2428b6bf.js.map → p-592177e8.js.map} +0 -0
  400. /package/dist/elements/{p-8b81a782.js.map → p-595c0a57.js.map} +0 -0
  401. /package/dist/elements/{p-e32a52ee.js.map → p-5a248cff.js.map} +0 -0
  402. /package/dist/elements/{p-cc62cb3d.entry.js.map → p-61a489ee.entry.js.map} +0 -0
  403. /package/dist/elements/{p-118e0bed.entry.js.map → p-6ac0c71c.entry.js.map} +0 -0
  404. /package/dist/elements/{p-6c9053ed.entry.js.map → p-6bcba1f6.entry.js.map} +0 -0
  405. /package/dist/elements/{p-ddc13326.entry.js.map → p-6e2a89ab.entry.js.map} +0 -0
  406. /package/dist/elements/{p-565128c5.entry.js.map → p-74ebe432.entry.js.map} +0 -0
  407. /package/dist/elements/{p-89b3cdad.entry.js.map → p-76543de1.entry.js.map} +0 -0
  408. /package/dist/elements/{p-d7231d27.entry.js.map → p-76e7559c.entry.js.map} +0 -0
  409. /package/dist/elements/{p-41e21640.entry.js.map → p-778d7821.entry.js.map} +0 -0
  410. /package/dist/elements/{p-f941317f.entry.js.map → p-78ba7248.entry.js.map} +0 -0
  411. /package/dist/elements/{p-6579450f.js.map → p-7a563988.js.map} +0 -0
  412. /package/dist/elements/{p-3c2b721e.js.map → p-7f507bcb.js.map} +0 -0
  413. /package/dist/elements/{p-0feec79b.js.map → p-8206b1f1.js.map} +0 -0
  414. /package/dist/elements/{p-b097a0ac.entry.js.map → p-82fb9396.entry.js.map} +0 -0
  415. /package/dist/elements/{p-d86e6e48.entry.js.map → p-8817e69b.entry.js.map} +0 -0
  416. /package/dist/elements/{p-86f80c54.entry.js.map → p-8865cb08.entry.js.map} +0 -0
  417. /package/dist/elements/{p-0951f046.entry.js.map → p-8b9b339b.entry.js.map} +0 -0
  418. /package/dist/elements/{p-553217d4.entry.js.map → p-8b9b7f79.entry.js.map} +0 -0
  419. /package/dist/elements/{p-86eaec56.entry.js.map → p-8c32e0ab.entry.js.map} +0 -0
  420. /package/dist/elements/{p-8f98459a.entry.js.map → p-8fe569b3.entry.js.map} +0 -0
  421. /package/dist/elements/{p-e3734616.entry.js.map → p-9090e8dc.entry.js.map} +0 -0
  422. /package/dist/elements/{p-fb11bb27.entry.js.map → p-916a6612.entry.js.map} +0 -0
  423. /package/dist/elements/{p-fa9aa28a.entry.js.map → p-a68e7901.entry.js.map} +0 -0
  424. /package/dist/elements/{p-69410d36.js.map → p-a91046dc.js.map} +0 -0
  425. /package/dist/elements/{p-325e5484.entry.js.map → p-aad12400.entry.js.map} +0 -0
  426. /package/dist/elements/{p-58418838.entry.js.map → p-ab92e9ad.entry.js.map} +0 -0
  427. /package/dist/elements/{p-d01e6782.entry.js.map → p-af3f8ab1.entry.js.map} +0 -0
  428. /package/dist/elements/{p-8eb42424.entry.js.map → p-b11e8f77.entry.js.map} +0 -0
  429. /package/dist/elements/{p-77d82071.entry.js.map → p-b19890bd.entry.js.map} +0 -0
  430. /package/dist/elements/{p-573b7dca.entry.js.map → p-b227f4a8.entry.js.map} +0 -0
  431. /package/dist/elements/{p-134b66b6.js.map → p-bb3054a3.js.map} +0 -0
  432. /package/dist/elements/{p-56bf9fdf.js.map → p-c2690129.js.map} +0 -0
  433. /package/dist/elements/{p-8b0695a7.entry.js.map → p-c445f3ac.entry.js.map} +0 -0
  434. /package/dist/elements/{p-2ba30f60.entry.js.map → p-c9faf4da.entry.js.map} +0 -0
  435. /package/dist/elements/{p-2fa5ecde.js.map → p-ca453b3d.js.map} +0 -0
  436. /package/dist/elements/{p-c23172a0.entry.js.map → p-cd9107d1.entry.js.map} +0 -0
  437. /package/dist/elements/{p-9b369d09.js.map → p-cebe59d4.js.map} +0 -0
  438. /package/dist/elements/{p-b67ce91f.entry.js.map → p-cfec477d.entry.js.map} +0 -0
  439. /package/dist/elements/{p-1c69ca01.js.map → p-d0fcc589.js.map} +0 -0
  440. /package/dist/elements/{p-257248f2.entry.js.map → p-d2458575.entry.js.map} +0 -0
  441. /package/dist/elements/{p-9b3608b6.entry.js.map → p-d2e7f4d4.entry.js.map} +0 -0
  442. /package/dist/elements/{p-3505dfe2.js.map → p-d6769f21.js.map} +0 -0
  443. /package/dist/elements/{p-a1a15808.entry.js.map → p-d6bf2b98.entry.js.map} +0 -0
  444. /package/dist/elements/{p-75cbc833.entry.js.map → p-d86570da.entry.js.map} +0 -0
  445. /package/dist/elements/{p-963acf5e.entry.js.map → p-d8e8bd9b.entry.js.map} +0 -0
  446. /package/dist/elements/{p-de267699.js.map → p-d8fc8b11.js.map} +0 -0
  447. /package/dist/elements/{p-0ddd5da3.entry.js.map → p-da5f6dcd.entry.js.map} +0 -0
  448. /package/dist/elements/{p-ab5544fc.entry.js.map → p-db793eec.entry.js.map} +0 -0
  449. /package/dist/elements/{p-7e36887e.js.map → p-db973275.js.map} +0 -0
  450. /package/dist/elements/{p-5f2c1e33.entry.js.map → p-e134ddc9.entry.js.map} +0 -0
  451. /package/dist/elements/{p-0752ec21.entry.js.map → p-e3ae9b45.entry.js.map} +0 -0
  452. /package/dist/elements/{p-ad2273d6.js.map → p-ecdb52e8.js.map} +0 -0
  453. /package/dist/elements/{p-2dddbb15.js.map → p-f1ef82a9.js.map} +0 -0
  454. /package/dist/elements/{p-d3a247bd.entry.js.map → p-f4440338.entry.js.map} +0 -0
  455. /package/dist/elements/{p-5bd948fa.entry.js.map → p-f981858f.entry.js.map} +0 -0
  456. /package/dist/elements/{p-f6b92b3c.entry.js.map → p-fd200088.entry.js.map} +0 -0
  457. /package/dist/elements/{p-b56ae71f.entry.js.map → p-fdeb6a78.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"header.js","mappings":"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","names":[],"sources":["../node_modules/@ionic/core/dist/collection/components/header/header.utils.js","../node_modules/@ionic/core/dist/collection/components/header/header.ios.css?tag=ion-header&mode=ios","../node_modules/@ionic/core/dist/collection/components/header/header.md.css?tag=ion-header&mode=md","../node_modules/@ionic/core/dist/collection/components/header/header.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { readTask, writeTask } from \"@stencil/core\";\nimport { clamp } from \"../../utils/helpers\";\nconst TRANSITION = 'all 0.2s ease-in-out';\nexport const cloneElement = (tagName) => {\n const getCachedEl = document.querySelector(`${tagName}.ion-cloned-element`);\n if (getCachedEl !== null) {\n return getCachedEl;\n }\n const clonedEl = document.createElement(tagName);\n clonedEl.classList.add('ion-cloned-element');\n clonedEl.style.setProperty('display', 'none');\n document.body.appendChild(clonedEl);\n return clonedEl;\n};\nexport const createHeaderIndex = (headerEl) => {\n if (!headerEl) {\n return;\n }\n const toolbars = headerEl.querySelectorAll('ion-toolbar');\n return {\n el: headerEl,\n toolbars: Array.from(toolbars).map((toolbar) => {\n const ionTitleEl = toolbar.querySelector('ion-title');\n return {\n el: toolbar,\n background: toolbar.shadowRoot.querySelector('.toolbar-background'),\n ionTitleEl,\n innerTitleEl: ionTitleEl ? ionTitleEl.shadowRoot.querySelector('.toolbar-title') : null,\n ionButtonsEl: Array.from(toolbar.querySelectorAll('ion-buttons')),\n };\n }),\n };\n};\nexport const handleContentScroll = (scrollEl, scrollHeaderIndex, contentEl) => {\n readTask(() => {\n const scrollTop = scrollEl.scrollTop;\n const scale = clamp(1, 1 + -scrollTop / 500, 1.1);\n // Native refresher should not cause titles to scale\n const nativeRefresher = contentEl.querySelector('ion-refresher.refresher-native');\n if (nativeRefresher === null) {\n writeTask(() => {\n scaleLargeTitles(scrollHeaderIndex.toolbars, scale);\n });\n }\n });\n};\nexport const setToolbarBackgroundOpacity = (headerEl, opacity) => {\n /**\n * Fading in the backdrop opacity\n * should happen after the large title\n * has collapsed, so it is handled\n * by handleHeaderFade()\n */\n if (headerEl.collapse === 'fade') {\n return;\n }\n if (opacity === undefined) {\n headerEl.style.removeProperty('--opacity-scale');\n }\n else {\n headerEl.style.setProperty('--opacity-scale', opacity.toString());\n }\n};\nconst handleToolbarBorderIntersection = (ev, mainHeaderIndex, scrollTop) => {\n if (!ev[0].isIntersecting) {\n return;\n }\n /**\n * There is a bug in Safari where overflow scrolling on a non-body element\n * does not always reset the scrollTop position to 0 when letting go. It will\n * set to 1 once the rubber band effect has ended. This causes the background to\n * appear slightly on certain app setups.\n *\n * Additionally, we check if user is rubber banding (scrolling is negative)\n * as this can mean they are using pull to refresh. Once the refresher starts,\n * the content is transformed which can cause the intersection observer to erroneously\n * fire here as well.\n */\n const scale = ev[0].intersectionRatio > 0.9 || scrollTop <= 0 ? 0 : ((1 - ev[0].intersectionRatio) * 100) / 75;\n setToolbarBackgroundOpacity(mainHeaderIndex.el, scale === 1 ? undefined : scale);\n};\n/**\n * If toolbars are intersecting, hide the scrollable toolbar content\n * and show the primary toolbar content. If the toolbars are not intersecting,\n * hide the primary toolbar content and show the scrollable toolbar content\n */\nexport const handleToolbarIntersection = (ev, // TODO(FW-2832): type (IntersectionObserverEntry[] triggers errors which should be sorted)\nmainHeaderIndex, scrollHeaderIndex, scrollEl) => {\n writeTask(() => {\n const scrollTop = scrollEl.scrollTop;\n handleToolbarBorderIntersection(ev, mainHeaderIndex, scrollTop);\n const event = ev[0];\n const intersection = event.intersectionRect;\n const intersectionArea = intersection.width * intersection.height;\n const rootArea = event.rootBounds.width * event.rootBounds.height;\n const isPageHidden = intersectionArea === 0 && rootArea === 0;\n const leftDiff = Math.abs(intersection.left - event.boundingClientRect.left);\n const rightDiff = Math.abs(intersection.right - event.boundingClientRect.right);\n const isPageTransitioning = intersectionArea > 0 && (leftDiff >= 5 || rightDiff >= 5);\n if (isPageHidden || isPageTransitioning) {\n return;\n }\n if (event.isIntersecting) {\n setHeaderActive(mainHeaderIndex, false);\n setHeaderActive(scrollHeaderIndex);\n }\n else {\n /**\n * There is a bug with IntersectionObserver on Safari\n * where `event.isIntersecting === false` when cancelling\n * a swipe to go back gesture. Checking the intersection\n * x, y, width, and height provides a workaround. This bug\n * does not happen when using Safari + Web Animations,\n * only Safari + CSS Animations.\n */\n const hasValidIntersection = (intersection.x === 0 && intersection.y === 0) || (intersection.width !== 0 && intersection.height !== 0);\n if (hasValidIntersection && scrollTop > 0) {\n setHeaderActive(mainHeaderIndex);\n setHeaderActive(scrollHeaderIndex, false);\n setToolbarBackgroundOpacity(mainHeaderIndex.el);\n }\n }\n });\n};\nexport const setHeaderActive = (headerIndex, active = true) => {\n const headerEl = headerIndex.el;\n if (active) {\n headerEl.classList.remove('header-collapse-condense-inactive');\n headerEl.removeAttribute('aria-hidden');\n }\n else {\n headerEl.classList.add('header-collapse-condense-inactive');\n headerEl.setAttribute('aria-hidden', 'true');\n }\n};\nexport const scaleLargeTitles = (toolbars = [], scale = 1, transition = false) => {\n toolbars.forEach((toolbar) => {\n const ionTitle = toolbar.ionTitleEl;\n const titleDiv = toolbar.innerTitleEl;\n if (!ionTitle || ionTitle.size !== 'large') {\n return;\n }\n titleDiv.style.transition = transition ? TRANSITION : '';\n titleDiv.style.transform = `scale3d(${scale}, ${scale}, 1)`;\n });\n};\nexport const handleHeaderFade = (scrollEl, baseEl, condenseHeader) => {\n readTask(() => {\n const scrollTop = scrollEl.scrollTop;\n const baseElHeight = baseEl.clientHeight;\n const fadeStart = condenseHeader ? condenseHeader.clientHeight : 0;\n /**\n * If we are using fade header with a condense\n * header, then the toolbar backgrounds should\n * not begin to fade in until the condense\n * header has fully collapsed.\n *\n * Additionally, the main content should not\n * overflow out of the container until the\n * condense header has fully collapsed. When\n * using just the condense header the content\n * should overflow out of the container.\n */\n if (condenseHeader !== null && scrollTop < fadeStart) {\n baseEl.style.setProperty('--opacity-scale', '0');\n scrollEl.style.setProperty('clip-path', `inset(${baseElHeight}px 0px 0px 0px)`);\n return;\n }\n const distanceToStart = scrollTop - fadeStart;\n const fadeDuration = 10;\n const scale = clamp(0, distanceToStart / fadeDuration, 1);\n writeTask(() => {\n scrollEl.style.removeProperty('clip-path');\n baseEl.style.setProperty('--opacity-scale', scale.toString());\n });\n });\n};\n","/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\nion-header {\n display: block;\n position: relative;\n order: -1;\n width: 100%;\n z-index: 10;\n}\n\nion-header ion-toolbar:first-of-type {\n padding-top: var(--ion-safe-area-top, 0);\n}\n\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n.header-ios ion-toolbar:last-of-type {\n --border-width: 0 0 0.55px;\n}\n\n@supports (backdrop-filter: blur(0)) {\n .header-background {\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n position: absolute;\n backdrop-filter: saturate(180%) blur(20px);\n }\n .header-translucent-ios ion-toolbar {\n --opacity: .8;\n }\n /**\n * Disable the saturation otherwise it distorts the content\n * background color when large header is not collapsed\n */\n .header-collapse-condense-inactive .header-background {\n backdrop-filter: blur(20px);\n }\n}\n.header-ios.ion-no-border ion-toolbar:last-of-type {\n --border-width: 0;\n}\n\n.header-collapse-fade ion-toolbar {\n --opacity-scale: inherit;\n}\n\n.header-collapse-condense {\n z-index: 9;\n}\n\n.header-collapse-condense ion-toolbar {\n position: sticky;\n top: 0;\n}\n\n.header-collapse-condense ion-toolbar:first-of-type {\n /**\n * The toolbar that contains the collapsible\n * large title should not have safe area padding applied.\n */\n padding-top: 0px;\n z-index: 1;\n}\n\n/**\n * Large title toolbar should just use the content background\n * since it needs to blend in with the header above it.\n */\n.header-collapse-condense ion-toolbar {\n --background: var(--ion-background-color, #fff);\n z-index: 0;\n}\n\n.header-collapse-condense ion-toolbar:last-of-type {\n --border-width: 0px;\n}\n\n.header-collapse-condense ion-toolbar ion-searchbar {\n padding-top: 0px;\n padding-bottom: 13px;\n}\n\n.header-collapse-main {\n --opacity-scale: 1;\n}\n\n.header-collapse-main ion-toolbar {\n --opacity-scale: inherit;\n}\n\n.header-collapse-main ion-toolbar.in-toolbar ion-title,\n.header-collapse-main ion-toolbar.in-toolbar ion-buttons {\n transition: all 0.2s ease-in-out;\n}\n\n.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,\n.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse {\n opacity: 0;\n pointer-events: none;\n}\n\n/**\n * There is a bug in Safari where changing\n * the opacity of an element in a scrollable container\n * while rubber-banding causes the scroll position\n * to jump to the top\n */\n.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,\n.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse {\n visibility: hidden;\n}\n\n/**\n * The main header is only hidden once the collapsible large\n * title is configured. As a result, if the main header loads\n * before the collapsible large title is configured then the\n * main header will be visible briefly before being hidden\n * by the collapsible large title.\n *\n * The following selector ensures that any main header\n * on a page with a collapsible large title is hidden\n * before the collapsible large title is configured.\n * Once the collapsible large title is configured the main\n * header will have the \".header-collapse-main\" class, and\n * this selector will no longer apply.\n *\n * The :has(...) part of the selector ensures a couple things:\n * 1. This will only apply within a page view since the content\n * must be a subsequent-sibling of the header (~ ion-content).\n * 2. This will only apply when that content has a collapse header (ion-header[collapse=\"condense\"])\n *\n * We use opacity: 0 to avoid a layout shift.\n * We target both the attribute and the class in the event that the attribute\n * is not reflected on the host in some frameworks.\n *\n * Both headers should be scoped to iOS mode otherwise an MD app that uses an\n * iOS header may cause other MD headers to be unexpectedly hidden.\n */\nion-header.header-ios:not(.header-collapse-main):has(~ ion-content ion-header.header-ios[collapse=condense],\n~ ion-content ion-header.header-ios.header-collapse-condense) {\n opacity: 0;\n}","/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\nion-header {\n display: block;\n position: relative;\n order: -1;\n width: 100%;\n z-index: 10;\n}\n\nion-header ion-toolbar:first-of-type {\n padding-top: var(--ion-safe-area-top, 0);\n}\n\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n.header-md {\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n}\n\n.header-collapse-condense {\n display: none;\n}\n\n.header-md.ion-no-border {\n box-shadow: none;\n}","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { Host, h, writeTask } from \"@stencil/core\";\nimport { findIonContent, getScrollElement, printIonContentErrorMsg } from \"../../utils/content/index\";\nimport { inheritAriaAttributes } from \"../../utils/helpers\";\nimport { hostContext } from \"../../utils/theme\";\nimport { getIonMode } from \"../../global/ionic-global\";\nimport { cloneElement, createHeaderIndex, handleContentScroll, handleHeaderFade, handleToolbarIntersection, setHeaderActive, setToolbarBackgroundOpacity, } from \"./header.utils\";\n/**\n * @virtualProp {\"ios\" | \"md\"} mode - The mode determines which platform styles to use.\n */\nexport class Header {\n constructor() {\n this.inheritedAttributes = {};\n this.setupFadeHeader = async (contentEl, condenseHeader) => {\n const scrollEl = (this.scrollEl = await getScrollElement(contentEl));\n /**\n * Handle fading of toolbars on scroll\n */\n this.contentScrollCallback = () => {\n handleHeaderFade(this.scrollEl, this.el, condenseHeader);\n };\n scrollEl.addEventListener('scroll', this.contentScrollCallback);\n handleHeaderFade(this.scrollEl, this.el, condenseHeader);\n };\n this.collapse = undefined;\n this.translucent = false;\n }\n componentWillLoad() {\n this.inheritedAttributes = inheritAriaAttributes(this.el);\n }\n componentDidLoad() {\n this.checkCollapsibleHeader();\n }\n componentDidUpdate() {\n this.checkCollapsibleHeader();\n }\n disconnectedCallback() {\n this.destroyCollapsibleHeader();\n }\n async checkCollapsibleHeader() {\n const mode = getIonMode(this);\n if (mode !== 'ios') {\n return;\n }\n const { collapse } = this;\n const hasCondense = collapse === 'condense';\n const hasFade = collapse === 'fade';\n this.destroyCollapsibleHeader();\n if (hasCondense) {\n const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');\n const contentEl = pageEl ? findIonContent(pageEl) : null;\n // Cloned elements are always needed in iOS transition\n writeTask(() => {\n const title = cloneElement('ion-title');\n title.size = 'large';\n cloneElement('ion-back-button');\n });\n await this.setupCondenseHeader(contentEl, pageEl);\n }\n else if (hasFade) {\n const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');\n const contentEl = pageEl ? findIonContent(pageEl) : null;\n if (!contentEl) {\n printIonContentErrorMsg(this.el);\n return;\n }\n const condenseHeader = contentEl.querySelector('ion-header[collapse=\"condense\"]');\n await this.setupFadeHeader(contentEl, condenseHeader);\n }\n }\n destroyCollapsibleHeader() {\n if (this.intersectionObserver) {\n this.intersectionObserver.disconnect();\n this.intersectionObserver = undefined;\n }\n if (this.scrollEl && this.contentScrollCallback) {\n this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);\n this.contentScrollCallback = undefined;\n }\n if (this.collapsibleMainHeader) {\n this.collapsibleMainHeader.classList.remove('header-collapse-main');\n this.collapsibleMainHeader = undefined;\n }\n }\n async setupCondenseHeader(contentEl, pageEl) {\n if (!contentEl || !pageEl) {\n printIonContentErrorMsg(this.el);\n return;\n }\n if (typeof IntersectionObserver === 'undefined') {\n return;\n }\n this.scrollEl = await getScrollElement(contentEl);\n const headers = pageEl.querySelectorAll('ion-header');\n this.collapsibleMainHeader = Array.from(headers).find((header) => header.collapse !== 'condense');\n if (!this.collapsibleMainHeader) {\n return;\n }\n const mainHeaderIndex = createHeaderIndex(this.collapsibleMainHeader);\n const scrollHeaderIndex = createHeaderIndex(this.el);\n if (!mainHeaderIndex || !scrollHeaderIndex) {\n return;\n }\n setHeaderActive(mainHeaderIndex, false);\n setToolbarBackgroundOpacity(mainHeaderIndex.el, 0);\n /**\n * Handle interaction between toolbar collapse and\n * showing/hiding content in the primary ion-header\n * as well as progressively showing/hiding the main header\n * border as the top-most toolbar collapses or expands.\n */\n const toolbarIntersection = (ev) => {\n handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex, this.scrollEl);\n };\n this.intersectionObserver = new IntersectionObserver(toolbarIntersection, {\n root: contentEl,\n threshold: [0.25, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1],\n });\n this.intersectionObserver.observe(scrollHeaderIndex.toolbars[scrollHeaderIndex.toolbars.length - 1].el);\n /**\n * Handle scaling of large iOS titles and\n * showing/hiding border on last toolbar\n * in primary header\n */\n this.contentScrollCallback = () => {\n handleContentScroll(this.scrollEl, scrollHeaderIndex, contentEl);\n };\n this.scrollEl.addEventListener('scroll', this.contentScrollCallback);\n writeTask(() => {\n if (this.collapsibleMainHeader !== undefined) {\n this.collapsibleMainHeader.classList.add('header-collapse-main');\n }\n });\n }\n render() {\n const { translucent, inheritedAttributes } = this;\n const mode = getIonMode(this);\n const collapse = this.collapse || 'none';\n // banner role must be at top level, so remove role if inside a menu\n const roleType = hostContext('ion-menu', this.el) ? 'none' : 'banner';\n return (h(Host, Object.assign({ key: '9fa0af97b605f9fe98b13361bc3d1289745c549f', role: roleType, class: {\n [mode]: true,\n // Used internally for styling\n [`header-${mode}`]: true,\n [`header-translucent`]: this.translucent,\n [`header-collapse-${collapse}`]: true,\n [`header-translucent-${mode}`]: this.translucent,\n } }, inheritedAttributes), mode === 'ios' && translucent && h(\"div\", { key: '1a780d2625302f2465718e304bdd3794c89c9845', class: \"header-background\" }), h(\"slot\", { key: 'b2b8557b44be40c590bfcc362ac4350f9f8b889e' })));\n }\n static get is() { return \"ion-header\"; }\n static get originalStyleUrls() {\n return {\n \"ios\": [\"header.ios.scss\"],\n \"md\": [\"header.md.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"ios\": [\"header.ios.css\"],\n \"md\": [\"header.md.css\"]\n };\n }\n static get properties() {\n return {\n \"collapse\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'condense' | 'fade'\",\n \"resolved\": \"\\\"condense\\\" | \\\"fade\\\" | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Describes the scroll effect that will be applied to the header.\\nOnly applies in iOS mode.\\n\\nTypically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)\"\n },\n \"attribute\": \"collapse\",\n \"reflect\": false\n },\n \"translucent\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the header will be translucent.\\nOnly applies when the mode is `\\\"ios\\\"` and the device supports\\n[`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\\n\\nNote: In order to scroll content behind the header, the `fullscreen`\\nattribute needs to be set on the content.\"\n },\n \"attribute\": \"translucent\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n"],"version":3}
1
+ {"version":3,"names":["TRANSITION","cloneElement","tagName","getCachedEl","document","querySelector","clonedEl","createElement","classList","add","style","setProperty","body","appendChild","createHeaderIndex","headerEl","toolbars","querySelectorAll","el","Array","from","map","toolbar","ionTitleEl","background","shadowRoot","innerTitleEl","ionButtonsEl","handleContentScroll","scrollEl","scrollHeaderIndex","contentEl","readTask","scrollTop","scale","clamp","nativeRefresher","writeTask","scaleLargeTitles","setToolbarBackgroundOpacity","opacity","collapse","undefined","removeProperty","toString","handleToolbarBorderIntersection","ev","mainHeaderIndex","isIntersecting","intersectionRatio","handleToolbarIntersection","event","intersection","intersectionRect","intersectionArea","width","height","rootArea","rootBounds","isPageHidden","leftDiff","Math","abs","left","boundingClientRect","rightDiff","right","isPageTransitioning","setHeaderActive","hasValidIntersection","x","y","headerIndex","active","remove","removeAttribute","setAttribute","transition","forEach","ionTitle","titleDiv","size","transform","handleHeaderFade","baseEl","condenseHeader","baseElHeight","clientHeight","fadeStart","distanceToStart","fadeDuration","headerIosCss","IonHeaderIosStyle0","headerMdCss","IonHeaderMdStyle0","Header","constructor","hostRef","this","inheritedAttributes","setupFadeHeader","async","getScrollElement","contentScrollCallback","addEventListener","translucent","componentWillLoad","inheritAriaAttributes","componentDidLoad","checkCollapsibleHeader","componentDidUpdate","disconnectedCallback","destroyCollapsibleHeader","mode","getIonMode","hasCondense","hasFade","pageEl","closest","findIonContent","title","setupCondenseHeader","printIonContentErrorMsg","intersectionObserver","disconnect","removeEventListener","collapsibleMainHeader","IntersectionObserver","headers","find","header","toolbarIntersection","root","threshold","observe","length","render","roleType","hostContext","h","Host","Object","assign","key","role","class"],"sources":["../node_modules/@ionic/core/dist/collection/components/header/header.utils.js","../node_modules/@ionic/core/dist/collection/components/header/header.ios.css?tag=ion-header&mode=ios","../node_modules/@ionic/core/dist/collection/components/header/header.md.css?tag=ion-header&mode=md","../node_modules/@ionic/core/dist/collection/components/header/header.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { readTask, writeTask } from \"@stencil/core\";\nimport { clamp } from \"../../utils/helpers\";\nconst TRANSITION = 'all 0.2s ease-in-out';\nexport const cloneElement = (tagName) => {\n const getCachedEl = document.querySelector(`${tagName}.ion-cloned-element`);\n if (getCachedEl !== null) {\n return getCachedEl;\n }\n const clonedEl = document.createElement(tagName);\n clonedEl.classList.add('ion-cloned-element');\n clonedEl.style.setProperty('display', 'none');\n document.body.appendChild(clonedEl);\n return clonedEl;\n};\nexport const createHeaderIndex = (headerEl) => {\n if (!headerEl) {\n return;\n }\n const toolbars = headerEl.querySelectorAll('ion-toolbar');\n return {\n el: headerEl,\n toolbars: Array.from(toolbars).map((toolbar) => {\n const ionTitleEl = toolbar.querySelector('ion-title');\n return {\n el: toolbar,\n background: toolbar.shadowRoot.querySelector('.toolbar-background'),\n ionTitleEl,\n innerTitleEl: ionTitleEl ? ionTitleEl.shadowRoot.querySelector('.toolbar-title') : null,\n ionButtonsEl: Array.from(toolbar.querySelectorAll('ion-buttons')),\n };\n }),\n };\n};\nexport const handleContentScroll = (scrollEl, scrollHeaderIndex, contentEl) => {\n readTask(() => {\n const scrollTop = scrollEl.scrollTop;\n const scale = clamp(1, 1 + -scrollTop / 500, 1.1);\n // Native refresher should not cause titles to scale\n const nativeRefresher = contentEl.querySelector('ion-refresher.refresher-native');\n if (nativeRefresher === null) {\n writeTask(() => {\n scaleLargeTitles(scrollHeaderIndex.toolbars, scale);\n });\n }\n });\n};\nexport const setToolbarBackgroundOpacity = (headerEl, opacity) => {\n /**\n * Fading in the backdrop opacity\n * should happen after the large title\n * has collapsed, so it is handled\n * by handleHeaderFade()\n */\n if (headerEl.collapse === 'fade') {\n return;\n }\n if (opacity === undefined) {\n headerEl.style.removeProperty('--opacity-scale');\n }\n else {\n headerEl.style.setProperty('--opacity-scale', opacity.toString());\n }\n};\nconst handleToolbarBorderIntersection = (ev, mainHeaderIndex, scrollTop) => {\n if (!ev[0].isIntersecting) {\n return;\n }\n /**\n * There is a bug in Safari where overflow scrolling on a non-body element\n * does not always reset the scrollTop position to 0 when letting go. It will\n * set to 1 once the rubber band effect has ended. This causes the background to\n * appear slightly on certain app setups.\n *\n * Additionally, we check if user is rubber banding (scrolling is negative)\n * as this can mean they are using pull to refresh. Once the refresher starts,\n * the content is transformed which can cause the intersection observer to erroneously\n * fire here as well.\n */\n const scale = ev[0].intersectionRatio > 0.9 || scrollTop <= 0 ? 0 : ((1 - ev[0].intersectionRatio) * 100) / 75;\n setToolbarBackgroundOpacity(mainHeaderIndex.el, scale === 1 ? undefined : scale);\n};\n/**\n * If toolbars are intersecting, hide the scrollable toolbar content\n * and show the primary toolbar content. If the toolbars are not intersecting,\n * hide the primary toolbar content and show the scrollable toolbar content\n */\nexport const handleToolbarIntersection = (ev, // TODO(FW-2832): type (IntersectionObserverEntry[] triggers errors which should be sorted)\nmainHeaderIndex, scrollHeaderIndex, scrollEl) => {\n writeTask(() => {\n const scrollTop = scrollEl.scrollTop;\n handleToolbarBorderIntersection(ev, mainHeaderIndex, scrollTop);\n const event = ev[0];\n const intersection = event.intersectionRect;\n const intersectionArea = intersection.width * intersection.height;\n const rootArea = event.rootBounds.width * event.rootBounds.height;\n const isPageHidden = intersectionArea === 0 && rootArea === 0;\n const leftDiff = Math.abs(intersection.left - event.boundingClientRect.left);\n const rightDiff = Math.abs(intersection.right - event.boundingClientRect.right);\n const isPageTransitioning = intersectionArea > 0 && (leftDiff >= 5 || rightDiff >= 5);\n if (isPageHidden || isPageTransitioning) {\n return;\n }\n if (event.isIntersecting) {\n setHeaderActive(mainHeaderIndex, false);\n setHeaderActive(scrollHeaderIndex);\n }\n else {\n /**\n * There is a bug with IntersectionObserver on Safari\n * where `event.isIntersecting === false` when cancelling\n * a swipe to go back gesture. Checking the intersection\n * x, y, width, and height provides a workaround. This bug\n * does not happen when using Safari + Web Animations,\n * only Safari + CSS Animations.\n */\n const hasValidIntersection = (intersection.x === 0 && intersection.y === 0) || (intersection.width !== 0 && intersection.height !== 0);\n if (hasValidIntersection && scrollTop > 0) {\n setHeaderActive(mainHeaderIndex);\n setHeaderActive(scrollHeaderIndex, false);\n setToolbarBackgroundOpacity(mainHeaderIndex.el);\n }\n }\n });\n};\nexport const setHeaderActive = (headerIndex, active = true) => {\n const headerEl = headerIndex.el;\n if (active) {\n headerEl.classList.remove('header-collapse-condense-inactive');\n headerEl.removeAttribute('aria-hidden');\n }\n else {\n headerEl.classList.add('header-collapse-condense-inactive');\n headerEl.setAttribute('aria-hidden', 'true');\n }\n};\nexport const scaleLargeTitles = (toolbars = [], scale = 1, transition = false) => {\n toolbars.forEach((toolbar) => {\n const ionTitle = toolbar.ionTitleEl;\n const titleDiv = toolbar.innerTitleEl;\n if (!ionTitle || ionTitle.size !== 'large') {\n return;\n }\n titleDiv.style.transition = transition ? TRANSITION : '';\n titleDiv.style.transform = `scale3d(${scale}, ${scale}, 1)`;\n });\n};\nexport const handleHeaderFade = (scrollEl, baseEl, condenseHeader) => {\n readTask(() => {\n const scrollTop = scrollEl.scrollTop;\n const baseElHeight = baseEl.clientHeight;\n const fadeStart = condenseHeader ? condenseHeader.clientHeight : 0;\n /**\n * If we are using fade header with a condense\n * header, then the toolbar backgrounds should\n * not begin to fade in until the condense\n * header has fully collapsed.\n *\n * Additionally, the main content should not\n * overflow out of the container until the\n * condense header has fully collapsed. When\n * using just the condense header the content\n * should overflow out of the container.\n */\n if (condenseHeader !== null && scrollTop < fadeStart) {\n baseEl.style.setProperty('--opacity-scale', '0');\n scrollEl.style.setProperty('clip-path', `inset(${baseElHeight}px 0px 0px 0px)`);\n return;\n }\n const distanceToStart = scrollTop - fadeStart;\n const fadeDuration = 10;\n const scale = clamp(0, distanceToStart / fadeDuration, 1);\n writeTask(() => {\n scrollEl.style.removeProperty('clip-path');\n baseEl.style.setProperty('--opacity-scale', scale.toString());\n });\n });\n};\n","/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\nion-header {\n display: block;\n position: relative;\n order: -1;\n width: 100%;\n z-index: 10;\n}\n\nion-header ion-toolbar:first-of-type {\n padding-top: var(--ion-safe-area-top, 0);\n}\n\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n.header-ios ion-toolbar:last-of-type {\n --border-width: 0 0 0.55px;\n}\n\n@supports (backdrop-filter: blur(0)) {\n .header-background {\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n position: absolute;\n backdrop-filter: saturate(180%) blur(20px);\n }\n .header-translucent-ios ion-toolbar {\n --opacity: .8;\n }\n /**\n * Disable the saturation otherwise it distorts the content\n * background color when large header is not collapsed\n */\n .header-collapse-condense-inactive .header-background {\n backdrop-filter: blur(20px);\n }\n}\n.header-ios.ion-no-border ion-toolbar:last-of-type {\n --border-width: 0;\n}\n\n.header-collapse-fade ion-toolbar {\n --opacity-scale: inherit;\n}\n\n.header-collapse-condense {\n z-index: 9;\n}\n\n.header-collapse-condense ion-toolbar {\n position: sticky;\n top: 0;\n}\n\n.header-collapse-condense ion-toolbar:first-of-type {\n /**\n * The toolbar that contains the collapsible\n * large title should not have safe area padding applied.\n */\n padding-top: 0px;\n z-index: 1;\n}\n\n/**\n * Large title toolbar should just use the content background\n * since it needs to blend in with the header above it.\n */\n.header-collapse-condense ion-toolbar {\n --background: var(--ion-background-color, #fff);\n z-index: 0;\n}\n\n.header-collapse-condense ion-toolbar:last-of-type {\n --border-width: 0px;\n}\n\n.header-collapse-condense ion-toolbar ion-searchbar {\n padding-top: 0px;\n padding-bottom: 13px;\n}\n\n.header-collapse-main {\n --opacity-scale: 1;\n}\n\n.header-collapse-main ion-toolbar {\n --opacity-scale: inherit;\n}\n\n.header-collapse-main ion-toolbar.in-toolbar ion-title,\n.header-collapse-main ion-toolbar.in-toolbar ion-buttons {\n transition: all 0.2s ease-in-out;\n}\n\n.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,\n.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse {\n opacity: 0;\n pointer-events: none;\n}\n\n/**\n * There is a bug in Safari where changing\n * the opacity of an element in a scrollable container\n * while rubber-banding causes the scroll position\n * to jump to the top\n */\n.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,\n.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse {\n visibility: hidden;\n}\n\n/**\n * The main header is only hidden once the collapsible large\n * title is configured. As a result, if the main header loads\n * before the collapsible large title is configured then the\n * main header will be visible briefly before being hidden\n * by the collapsible large title.\n *\n * The following selector ensures that any main header\n * on a page with a collapsible large title is hidden\n * before the collapsible large title is configured.\n * Once the collapsible large title is configured the main\n * header will have the \".header-collapse-main\" class, and\n * this selector will no longer apply.\n *\n * The :has(...) part of the selector ensures a couple things:\n * 1. This will only apply within a page view since the content\n * must be a subsequent-sibling of the header (~ ion-content).\n * 2. This will only apply when that content has a collapse header (ion-header[collapse=\"condense\"])\n *\n * We use opacity: 0 to avoid a layout shift.\n * We target both the attribute and the class in the event that the attribute\n * is not reflected on the host in some frameworks.\n *\n * Both headers should be scoped to iOS mode otherwise an MD app that uses an\n * iOS header may cause other MD headers to be unexpectedly hidden.\n */\nion-header.header-ios:not(.header-collapse-main):has(~ ion-content ion-header.header-ios[collapse=condense],\n~ ion-content ion-header.header-ios.header-collapse-condense) {\n opacity: 0;\n}","/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\nion-header {\n display: block;\n position: relative;\n order: -1;\n width: 100%;\n z-index: 10;\n}\n\nion-header ion-toolbar:first-of-type {\n padding-top: var(--ion-safe-area-top, 0);\n}\n\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n.header-md {\n box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);\n}\n\n.header-collapse-condense {\n display: none;\n}\n\n.header-md.ion-no-border {\n box-shadow: none;\n}","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { Host, h, writeTask } from \"@stencil/core\";\nimport { findIonContent, getScrollElement, printIonContentErrorMsg } from \"../../utils/content/index\";\nimport { inheritAriaAttributes } from \"../../utils/helpers\";\nimport { hostContext } from \"../../utils/theme\";\nimport { getIonMode } from \"../../global/ionic-global\";\nimport { cloneElement, createHeaderIndex, handleContentScroll, handleHeaderFade, handleToolbarIntersection, setHeaderActive, setToolbarBackgroundOpacity, } from \"./header.utils\";\n/**\n * @virtualProp {\"ios\" | \"md\"} mode - The mode determines which platform styles to use.\n */\nexport class Header {\n constructor() {\n this.inheritedAttributes = {};\n this.setupFadeHeader = async (contentEl, condenseHeader) => {\n const scrollEl = (this.scrollEl = await getScrollElement(contentEl));\n /**\n * Handle fading of toolbars on scroll\n */\n this.contentScrollCallback = () => {\n handleHeaderFade(this.scrollEl, this.el, condenseHeader);\n };\n scrollEl.addEventListener('scroll', this.contentScrollCallback);\n handleHeaderFade(this.scrollEl, this.el, condenseHeader);\n };\n this.collapse = undefined;\n this.translucent = false;\n }\n componentWillLoad() {\n this.inheritedAttributes = inheritAriaAttributes(this.el);\n }\n componentDidLoad() {\n this.checkCollapsibleHeader();\n }\n componentDidUpdate() {\n this.checkCollapsibleHeader();\n }\n disconnectedCallback() {\n this.destroyCollapsibleHeader();\n }\n async checkCollapsibleHeader() {\n const mode = getIonMode(this);\n if (mode !== 'ios') {\n return;\n }\n const { collapse } = this;\n const hasCondense = collapse === 'condense';\n const hasFade = collapse === 'fade';\n this.destroyCollapsibleHeader();\n if (hasCondense) {\n const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');\n const contentEl = pageEl ? findIonContent(pageEl) : null;\n // Cloned elements are always needed in iOS transition\n writeTask(() => {\n const title = cloneElement('ion-title');\n title.size = 'large';\n cloneElement('ion-back-button');\n });\n await this.setupCondenseHeader(contentEl, pageEl);\n }\n else if (hasFade) {\n const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');\n const contentEl = pageEl ? findIonContent(pageEl) : null;\n if (!contentEl) {\n printIonContentErrorMsg(this.el);\n return;\n }\n const condenseHeader = contentEl.querySelector('ion-header[collapse=\"condense\"]');\n await this.setupFadeHeader(contentEl, condenseHeader);\n }\n }\n destroyCollapsibleHeader() {\n if (this.intersectionObserver) {\n this.intersectionObserver.disconnect();\n this.intersectionObserver = undefined;\n }\n if (this.scrollEl && this.contentScrollCallback) {\n this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);\n this.contentScrollCallback = undefined;\n }\n if (this.collapsibleMainHeader) {\n this.collapsibleMainHeader.classList.remove('header-collapse-main');\n this.collapsibleMainHeader = undefined;\n }\n }\n async setupCondenseHeader(contentEl, pageEl) {\n if (!contentEl || !pageEl) {\n printIonContentErrorMsg(this.el);\n return;\n }\n if (typeof IntersectionObserver === 'undefined') {\n return;\n }\n this.scrollEl = await getScrollElement(contentEl);\n const headers = pageEl.querySelectorAll('ion-header');\n this.collapsibleMainHeader = Array.from(headers).find((header) => header.collapse !== 'condense');\n if (!this.collapsibleMainHeader) {\n return;\n }\n const mainHeaderIndex = createHeaderIndex(this.collapsibleMainHeader);\n const scrollHeaderIndex = createHeaderIndex(this.el);\n if (!mainHeaderIndex || !scrollHeaderIndex) {\n return;\n }\n setHeaderActive(mainHeaderIndex, false);\n setToolbarBackgroundOpacity(mainHeaderIndex.el, 0);\n /**\n * Handle interaction between toolbar collapse and\n * showing/hiding content in the primary ion-header\n * as well as progressively showing/hiding the main header\n * border as the top-most toolbar collapses or expands.\n */\n const toolbarIntersection = (ev) => {\n handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex, this.scrollEl);\n };\n this.intersectionObserver = new IntersectionObserver(toolbarIntersection, {\n root: contentEl,\n threshold: [0.25, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1],\n });\n this.intersectionObserver.observe(scrollHeaderIndex.toolbars[scrollHeaderIndex.toolbars.length - 1].el);\n /**\n * Handle scaling of large iOS titles and\n * showing/hiding border on last toolbar\n * in primary header\n */\n this.contentScrollCallback = () => {\n handleContentScroll(this.scrollEl, scrollHeaderIndex, contentEl);\n };\n this.scrollEl.addEventListener('scroll', this.contentScrollCallback);\n writeTask(() => {\n if (this.collapsibleMainHeader !== undefined) {\n this.collapsibleMainHeader.classList.add('header-collapse-main');\n }\n });\n }\n render() {\n const { translucent, inheritedAttributes } = this;\n const mode = getIonMode(this);\n const collapse = this.collapse || 'none';\n // banner role must be at top level, so remove role if inside a menu\n const roleType = hostContext('ion-menu', this.el) ? 'none' : 'banner';\n return (h(Host, Object.assign({ key: '9fa0af97b605f9fe98b13361bc3d1289745c549f', role: roleType, class: {\n [mode]: true,\n // Used internally for styling\n [`header-${mode}`]: true,\n [`header-translucent`]: this.translucent,\n [`header-collapse-${collapse}`]: true,\n [`header-translucent-${mode}`]: this.translucent,\n } }, inheritedAttributes), mode === 'ios' && translucent && h(\"div\", { key: '1a780d2625302f2465718e304bdd3794c89c9845', class: \"header-background\" }), h(\"slot\", { key: 'b2b8557b44be40c590bfcc362ac4350f9f8b889e' })));\n }\n static get is() { return \"ion-header\"; }\n static get originalStyleUrls() {\n return {\n \"ios\": [\"header.ios.scss\"],\n \"md\": [\"header.md.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"ios\": [\"header.ios.css\"],\n \"md\": [\"header.md.css\"]\n };\n }\n static get properties() {\n return {\n \"collapse\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'condense' | 'fade'\",\n \"resolved\": \"\\\"condense\\\" | \\\"fade\\\" | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Describes the scroll effect that will be applied to the header.\\nOnly applies in iOS mode.\\n\\nTypically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)\"\n },\n \"attribute\": \"collapse\",\n \"reflect\": false\n },\n \"translucent\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the header will be translucent.\\nOnly applies when the mode is `\\\"ios\\\"` and the device supports\\n[`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).\\n\\nNote: In order to scroll content behind the header, the `fullscreen`\\nattribute needs to be set on the content.\"\n },\n \"attribute\": \"translucent\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,h as e,H as i,d as a}from"./p-3c2b721e.js";import{a as s}from"./p-0feec79b.js";import"./p-9e7f0522.js";const n=":host(.tab-hidden){display:none !important}";const r=n;const o=class{constructor(e){t(this,e);this.loaded=false;this.active=false;this.delegate=undefined;this.tab=undefined;this.component=undefined}async componentWillLoad(){if(this.active){await this.setActive()}}async setActive(){await this.prepareLazyLoaded();this.active=true}changeActive(t){if(t){this.prepareLazyLoaded()}}prepareLazyLoaded(){if(!this.loaded&&this.component!=null){this.loaded=true;try{return s(this.delegate,this.el,this.component,["ion-page"])}catch(t){console.error(t)}}return Promise.resolve(undefined)}render(){const{tab:t,active:a,component:s}=this;return e(i,{key:"4fe50fa809503794be2ef91383e49b72cad6fa82",role:"tabpanel","aria-hidden":!a?"true":null,"aria-labelledby":`tab-button-${t}`,class:{"ion-page":s===undefined,"tab-hidden":!a}},e("slot",{key:"937777a826936d6b399329a926a704008339803e"}))}get el(){return a(this)}static get watchers(){return{active:["changeActive"]}}};o.style=r;export{o as ion_tab};
2
- //# sourceMappingURL=p-573b7dca.entry.js.map
1
+ import{r as t,h as e,H as a,d as i}from"./p-7f507bcb.js";import{a as s}from"./p-8206b1f1.js";import"./p-25270f1a.js";const n=":host(.tab-hidden){display:none !important}";const r=n;const o=class{constructor(e){t(this,e);this.loaded=false;this.active=false;this.delegate=undefined;this.tab=undefined;this.component=undefined}async componentWillLoad(){if(this.active){await this.setActive()}}async setActive(){await this.prepareLazyLoaded();this.active=true}changeActive(t){if(t){this.prepareLazyLoaded()}}prepareLazyLoaded(){if(!this.loaded&&this.component!=null){this.loaded=true;try{return s(this.delegate,this.el,this.component,["ion-page"])}catch(t){console.error(t)}}return Promise.resolve(undefined)}render(){const{tab:t,active:i,component:s}=this;return e(a,{key:"4fe50fa809503794be2ef91383e49b72cad6fa82",role:"tabpanel","aria-hidden":!i?"true":null,"aria-labelledby":`tab-button-${t}`,class:{"ion-page":s===undefined,"tab-hidden":!i}},e("slot",{key:"937777a826936d6b399329a926a704008339803e"}))}get el(){return i(this)}static get watchers(){return{active:["changeActive"]}}};o.style=r;export{o as ion_tab};
2
+ //# sourceMappingURL=p-b227f4a8.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as t,h as e,H as o,d as s}from"./p-7f507bcb.js";import{shouldUseCloseWatcher as i}from"./p-cebe59d4.js";import{p as a}from"./p-d6769f21.js";import{g as n,c as r,a as p}from"./p-f1ef82a9.js";import"./p-7efd6867.js";const c="html.plt-mobile ion-app{user-select:none}html.plt-mobile ion-app [contenteditable]{user-select:text}ion-app.force-statusbar-padding{--ion-safe-area-top:20px}";const d=c;const f=class{constructor(e){t(this,e)}componentDidLoad(){{m((async()=>{const t=p(window,"hybrid");if(!r.getBoolean("_testing")){import("./p-163e3e87.js").then((t=>t.startTapClick(r)))}if(r.getBoolean("statusTap",t)){import("./p-012387ef.js").then((t=>t.startStatusTap()))}if(r.getBoolean("inputShims",u())){const t=p(window,"ios")?"ios":"android";import("./p-bb3054a3.js").then((e=>e.startInputShims(r,t)))}const e=await import("./p-cebe59d4.js");const o=t||i();if(r.getBoolean("hardwareBackButton",o)){e.startHardwareBackButton()}else{if(i()){a("experimentalCloseWatcher was set to `true`, but hardwareBackButton was set to `false`. Both config options must be `true` for the Close Watcher API to be used.")}e.blockHardwareBackButton()}if(typeof window!=="undefined"){import("./p-20f265c7.js").then((t=>t.startKeyboardAssist(window)))}import("./p-6cdaf5e6.js").then((t=>this.focusVisible=t.startFocusVisible()))}))}}async setFocus(t){if(this.focusVisible){this.focusVisible.setFocus(t)}}render(){const t=n(this);return e(o,{key:"6d7c57453b4be454690e8f1a0721f1e3da8f92aa",class:{[t]:true,"ion-page":true,"force-statusbar-padding":r.getBoolean("_forceStatusbarPadding")}})}get el(){return s(this)}};const u=()=>{const t=p(window,"ios")&&p(window,"mobile");if(t){return true}const e=p(window,"android")&&p(window,"mobileweb");if(e){return true}return false};const m=t=>{if("requestIdleCallback"in window){window.requestIdleCallback(t)}else{setTimeout(t,32)}};f.style=d;export{f as ion_app};
2
+ //# sourceMappingURL=p-b8b9096d.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["appCss","IonAppStyle0","App","componentDidLoad","rIC","async","isHybrid","isPlatform","window","config","getBoolean","import","then","module","startTapClick","startStatusTap","needInputShims","platform","startInputShims","hardwareBackButtonModule","supportsHardwareBackButtonEvents","shouldUseCloseWatcher","startHardwareBackButton","printIonWarning","blockHardwareBackButton","startKeyboardAssist","this","focusVisible","startFocusVisible","setFocus","elements","render","mode","getIonMode","h","Host","key","class","needsShimsIOS","isAndroidMobileWeb","callback","requestIdleCallback","setTimeout"],"sources":["../node_modules/@ionic/core/dist/collection/components/app/app.css?tag=ion-app","../node_modules/@ionic/core/dist/collection/components/app/app.js"],"sourcesContent":["html.plt-mobile ion-app {\n user-select: none;\n}\n\n/**\n * This works around a WebKit issue\n * where user-select: none was causing\n * contenteditable to not be selectable,\n * even though inputs and textareas are selectable.\n */\nhtml.plt-mobile ion-app [contenteditable] {\n user-select: text;\n}\n\nion-app.force-statusbar-padding {\n --ion-safe-area-top: 20px;\n}","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { Build, Host, h } from \"@stencil/core\";\nimport { shouldUseCloseWatcher } from \"../../utils/hardware-back-button\";\nimport { printIonWarning } from \"../../utils/logging/index\";\nimport { isPlatform } from \"../../utils/platform\";\nimport { config } from \"../../global/config\";\nimport { getIonMode } from \"../../global/ionic-global\";\nexport class App {\n componentDidLoad() {\n if (Build.isBrowser) {\n rIC(async () => {\n const isHybrid = isPlatform(window, 'hybrid');\n if (!config.getBoolean('_testing')) {\n import('../../utils/tap-click').then((module) => module.startTapClick(config));\n }\n if (config.getBoolean('statusTap', isHybrid)) {\n import('../../utils/status-tap').then((module) => module.startStatusTap());\n }\n if (config.getBoolean('inputShims', needInputShims())) {\n /**\n * needInputShims() ensures that only iOS and Android\n * platforms proceed into this block.\n */\n const platform = isPlatform(window, 'ios') ? 'ios' : 'android';\n import('../../utils/input-shims/input-shims').then((module) => module.startInputShims(config, platform));\n }\n const hardwareBackButtonModule = await import('../../utils/hardware-back-button');\n const supportsHardwareBackButtonEvents = isHybrid || shouldUseCloseWatcher();\n if (config.getBoolean('hardwareBackButton', supportsHardwareBackButtonEvents)) {\n hardwareBackButtonModule.startHardwareBackButton();\n }\n else {\n /**\n * If an app sets hardwareBackButton: false and experimentalCloseWatcher: true\n * then the close watcher will not be used.\n */\n if (shouldUseCloseWatcher()) {\n printIonWarning('experimentalCloseWatcher was set to `true`, but hardwareBackButton was set to `false`. Both config options must be `true` for the Close Watcher API to be used.');\n }\n hardwareBackButtonModule.blockHardwareBackButton();\n }\n if (typeof window !== 'undefined') {\n import('../../utils/keyboard/keyboard').then((module) => module.startKeyboardAssist(window));\n }\n import('../../utils/focus-visible').then((module) => (this.focusVisible = module.startFocusVisible()));\n });\n }\n }\n /**\n * @internal\n * Used to set focus on an element that uses `ion-focusable`.\n * Do not use this if focusing the element as a result of a keyboard\n * event as the focus utility should handle this for us. This method\n * should be used when we want to programmatically focus an element as\n * a result of another user action. (Ex: We focus the first element\n * inside of a popover when the user presents it, but the popover is not always\n * presented as a result of keyboard action.)\n */\n async setFocus(elements) {\n if (this.focusVisible) {\n this.focusVisible.setFocus(elements);\n }\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { key: '6d7c57453b4be454690e8f1a0721f1e3da8f92aa', class: {\n [mode]: true,\n 'ion-page': true,\n 'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),\n } }));\n }\n static get is() { return \"ion-app\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"app.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"app.css\"]\n };\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"(elements: HTMLElement[]) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"elements\",\n \"type\": \"HTMLElement[]\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Used to set focus on an element that uses `ion-focusable`.\\nDo not use this if focusing the element as a result of a keyboard\\nevent as the focus utility should handle this for us. This method\\nshould be used when we want to programmatically focus an element as\\na result of another user action. (Ex: We focus the first element\\ninside of a popover when the user presents it, but the popover is not always\\npresented as a result of keyboard action.)\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\nconst needInputShims = () => {\n /**\n * iOS always needs input shims\n */\n const needsShimsIOS = isPlatform(window, 'ios') && isPlatform(window, 'mobile');\n if (needsShimsIOS) {\n return true;\n }\n /**\n * Android only needs input shims when running\n * in the browser and only if the browser is using the\n * new Chrome 108+ resize behavior: https://developer.chrome.com/blog/viewport-resize-behavior/\n */\n const isAndroidMobileWeb = isPlatform(window, 'android') && isPlatform(window, 'mobileweb');\n if (isAndroidMobileWeb) {\n return true;\n }\n return false;\n};\nconst rIC = (callback) => {\n if ('requestIdleCallback' in window) {\n window.requestIdleCallback(callback);\n }\n else {\n setTimeout(callback, 32);\n }\n};\n"],"mappings":"+NAAA,MAAMA,EAAS,gKACf,MAAAC,EAAeD,E,MCQFE,EAAG,M,yBACZ,gBAAAC,GACyB,CACjBC,GAAIC,UACA,MAAMC,EAAWC,EAAWC,OAAQ,UACpC,IAAKC,EAAOC,WAAW,YAAa,CAChCC,OAAO,mBAAyBC,MAAMC,GAAWA,EAAOC,cAAcL,I,CAE1E,GAAIA,EAAOC,WAAW,YAAaJ,GAAW,CAC1CK,OAAO,mBAA0BC,MAAMC,GAAWA,EAAOE,kB,CAE7D,GAAIN,EAAOC,WAAW,aAAcM,KAAmB,CAKnD,MAAMC,EAAWV,EAAWC,OAAQ,OAAS,MAAQ,UACrDG,OAAO,mBAAuCC,MAAMC,GAAWA,EAAOK,gBAAgBT,EAAQQ,I,CAElG,MAAME,QAAiCR,OAAO,mBAC9C,MAAMS,EAAmCd,GAAYe,IACrD,GAAIZ,EAAOC,WAAW,qBAAsBU,GAAmC,CAC3ED,EAAyBG,yB,KAExB,CAKD,GAAID,IAAyB,CACzBE,EAAgB,kK,CAEpBJ,EAAyBK,yB,CAE7B,UAAWhB,SAAW,YAAa,CAC/BG,OAAO,mBAAiCC,MAAMC,GAAWA,EAAOY,oBAAoBjB,S,CAExFG,OAAO,mBAA6BC,MAAMC,GAAYa,KAAKC,aAAed,EAAOe,qBAAqB,G,EAclH,cAAMC,CAASC,GACX,GAAIJ,KAAKC,aAAc,CACnBD,KAAKC,aAAaE,SAASC,E,EAGnC,MAAAC,GACI,MAAMC,EAAOC,EAAWP,MACxB,OAAQQ,EAAEC,EAAM,CAAEC,IAAK,2CAA4CC,MAAO,CAClEL,CAACA,GAAO,KACR,WAAY,KACZ,0BAA2BvB,EAAOC,WAAW,4B,2BAgD7D,MAAMM,EAAiB,KAInB,MAAMsB,EAAgB/B,EAAWC,OAAQ,QAAUD,EAAWC,OAAQ,UACtE,GAAI8B,EAAe,CACf,OAAO,I,CAOX,MAAMC,EAAqBhC,EAAWC,OAAQ,YAAcD,EAAWC,OAAQ,aAC/E,GAAI+B,EAAoB,CACpB,OAAO,I,CAEX,OAAO,KAAK,EAEhB,MAAMnC,EAAOoC,IACT,GAAI,wBAAyBhC,OAAQ,CACjCA,OAAOiC,oBAAoBD,E,KAE1B,CACDE,WAAWF,EAAU,G","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import{w as o,d as t}from"./p-7efd6867.js";import{g as n,c as s,a as e}from"./p-170a54a2.js";import{e as i,g as c,r,c as a}from"./p-9e7f0522.js";import{a as f,K as u}from"./p-67b68c5d.js";import"./p-3505dfe2.js";import"./p-21b22219.js";
1
+ import{w as o,d as t}from"./p-7efd6867.js";import{g as n,c as s,a as e}from"./p-20e2e8c1.js";import{b as i,e as c,r,a}from"./p-25270f1a.js";import{a as f,K as u}from"./p-67b68c5d.js";import"./p-d6769f21.js";import"./p-21b22219.js";
2
2
  /*!
3
3
  * (C) Ionic http://ionicframework.com - MIT License
4
4
  */const l=new WeakMap;const d=(o,t,n,s=0,e=false)=>{if(l.has(o)===n){return}if(n){p(o,t,s,e)}else{m(o,t)}};const w=o=>o===o.getRootNode().activeElement;const p=(o,t,n,s=false)=>{const e=t.parentNode;const i=t.cloneNode(false);i.classList.add("cloned-input");i.tabIndex=-1;if(s){i.disabled=true}e.appendChild(i);l.set(o,i);const c=o.ownerDocument;const r=c.dir==="rtl"?9999:-9999;o.style.pointerEvents="none";t.style.transform=`translate3d(${r}px,${n}px,0) scale(0)`};const m=(o,t)=>{const n=l.get(o);if(n){l.delete(o);n.remove()}o.style.pointerEvents="";t.style.transform=""};const S=50;
@@ -7,17 +7,17 @@ import{w as o,d as t}from"./p-7efd6867.js";import{g as n,c as s,a as e}from"./p-
7
7
  */const h=(o,t,n)=>{if(!n||!t){return()=>{}}const s=n=>{if(w(t)){d(o,t,n)}};const e=()=>d(o,t,false);const r=()=>s(true);const a=()=>s(false);i(n,"ionScrollStart",r);i(n,"ionScrollEnd",a);t.addEventListener("blur",e);return()=>{c(n,"ionScrollStart",r);c(n,"ionScrollEnd",a);t.removeEventListener("blur",e)}};
8
8
  /*!
9
9
  * (C) Ionic http://ionicframework.com - MIT License
10
- */const y="input, textarea, [no-blur], [contenteditable]";const b=()=>{let o=true;let t=false;const n=document;const s=()=>{t=true};const e=()=>{o=true};const r=s=>{if(t){t=false;return}const e=n.activeElement;if(!e){return}if(e.matches(y)){return}const i=s.target;if(i===e){return}if(i.matches(y)||i.closest(y)){return}o=false;setTimeout((()=>{if(!o){e.blur()}}),50)};i(n,"ionScrollStart",s);n.addEventListener("focusin",e,true);n.addEventListener("touchend",r,false);return()=>{c(n,"ionScrollStart",s,true);n.removeEventListener("focusin",e,true);n.removeEventListener("touchend",r,false)}};
10
+ */const b="input, textarea, [no-blur], [contenteditable]";const y=()=>{let o=true;let t=false;const n=document;const s=()=>{t=true};const e=()=>{o=true};const r=s=>{if(t){t=false;return}const e=n.activeElement;if(!e){return}if(e.matches(b)){return}const i=s.target;if(i===e){return}if(i.matches(b)||i.closest(b)){return}o=false;setTimeout((()=>{if(!o){e.blur()}}),50)};i(n,"ionScrollStart",s);n.addEventListener("focusin",e,true);n.addEventListener("touchend",r,false);return()=>{c(n,"ionScrollStart",s,true);n.removeEventListener("focusin",e,true);n.removeEventListener("touchend",r,false)}};
11
11
  /*!
12
12
  * (C) Ionic http://ionicframework.com - MIT License
13
13
  */const D=.3;const K=(o,t,n,s)=>{var e;const i=(e=o.closest("ion-item,[ion-item]"))!==null&&e!==void 0?e:o;return M(i.getBoundingClientRect(),t.getBoundingClientRect(),n,s)};const M=(o,t,n,s)=>{const e=o.top;const i=o.bottom;const c=t.top;const r=Math.min(t.bottom,s-n);const a=c+15;const f=r-S;const u=f-i;const l=a-e;const d=Math.round(u<0?-u:l>0?-l:0);const w=Math.min(d,e-c);const p=Math.abs(w);const m=p/D;const h=Math.min(400,Math.max(150,m));return{scrollAmount:w,scrollDuration:h,scrollPadding:n,inputSafeY:-(e-a)+4}};
14
14
  /*!
15
15
  * (C) Ionic http://ionicframework.com - MIT License
16
- */const v="$ionPaddingTimer";const x=(o,t,n)=>{const s=o[v];if(s){clearTimeout(s)}if(t>0){o.style.setProperty("--keyboard-offset",`${t}px`)}else{o[v]=setTimeout((()=>{o.style.setProperty("--keyboard-offset","0px");if(n){n()}}),120)}};const g=(o,t,n)=>{const s=()=>{if(t){x(t,0,n)}};o.addEventListener("focusout",s,{once:true})};
16
+ */const v="$ionPaddingTimer";const x=(o,t,n)=>{const s=o[v];if(s){clearTimeout(s)}if(t>0){o.style.setProperty("--keyboard-offset",`${t}px`)}else{o[v]=setTimeout((()=>{o.style.setProperty("--keyboard-offset","0px");if(n){n()}}),120)}};const k=(o,t,n)=>{const s=()=>{if(t){x(t,0,n)}};o.addEventListener("focusout",s,{once:true})};
17
17
  /*!
18
18
  * (C) Ionic http://ionicframework.com - MIT License
19
- */let k=0;const j="data-ionic-skip-scroll-assist";const T=(t,n,s,e,i,c,r,a=false)=>{const u=c&&(r===undefined||r.mode===f.None);let l=false;const d=o!==undefined?o.innerHeight:0;const w=o=>{if(l===false){l=true;return}$(t,n,s,e,o.detail.keyboardHeight,u,a,d,false)};const p=()=>{l=false;o===null||o===void 0?void 0:o.removeEventListener("ionKeyboardDidShow",w);t.removeEventListener("focusout",p)};const m=async()=>{if(n.hasAttribute(j)){n.removeAttribute(j);return}$(t,n,s,e,i,u,a,d);o===null||o===void 0?void 0:o.addEventListener("ionKeyboardDidShow",w);t.addEventListener("focusout",p)};t.addEventListener("focusin",m);return()=>{t.removeEventListener("focusin",m);o===null||o===void 0?void 0:o.removeEventListener("ionKeyboardDidShow",w);t.removeEventListener("focusout",p)}};const P=o=>{if(document.activeElement===o){return}o.setAttribute(j,"true");o.focus()};const $=async(o,t,e,i,c,a,f=false,u=0,l=true)=>{if(!e&&!i){return}const w=K(o,e||i,c,u);if(e&&Math.abs(w.scrollAmount)<4){P(t);if(a&&e!==null){x(e,k);g(t,e,(()=>k=0))}return}d(o,t,true,w.inputSafeY,f);P(t);r((()=>o.click()));if(a&&e){k=w.scrollPadding;x(e,k)}if(typeof window!=="undefined"){let i;const c=async()=>{if(i!==undefined){clearTimeout(i)}window.removeEventListener("ionKeyboardDidShow",r);window.removeEventListener("ionKeyboardDidShow",c);if(e){await s(e,0,w.scrollAmount,w.scrollDuration)}d(o,t,false,w.inputSafeY);P(t);if(a){g(t,e,(()=>k=0))}};const r=()=>{window.removeEventListener("ionKeyboardDidShow",r);window.addEventListener("ionKeyboardDidShow",c)};if(e){const o=await n(e);const s=o.scrollHeight-o.clientHeight;if(l&&w.scrollAmount>s-o.scrollTop){if(t.type==="password"){w.scrollAmount+=S;window.addEventListener("ionKeyboardDidShow",r)}else{window.addEventListener("ionKeyboardDidShow",c)}i=setTimeout(c,1e3);return}}c()}};
19
+ */let g=0;const j="data-ionic-skip-scroll-assist";const T=(t,n,s,e,i,c,r,a=false)=>{const u=c&&(r===undefined||r.mode===f.None);let l=false;const d=o!==undefined?o.innerHeight:0;const w=o=>{if(l===false){l=true;return}$(t,n,s,e,o.detail.keyboardHeight,u,a,d,false)};const p=()=>{l=false;o===null||o===void 0?void 0:o.removeEventListener("ionKeyboardDidShow",w);t.removeEventListener("focusout",p)};const m=async()=>{if(n.hasAttribute(j)){n.removeAttribute(j);return}$(t,n,s,e,i,u,a,d);o===null||o===void 0?void 0:o.addEventListener("ionKeyboardDidShow",w);t.addEventListener("focusout",p)};t.addEventListener("focusin",m);return()=>{t.removeEventListener("focusin",m);o===null||o===void 0?void 0:o.removeEventListener("ionKeyboardDidShow",w);t.removeEventListener("focusout",p)}};const P=o=>{if(document.activeElement===o){return}o.setAttribute(j,"true");o.focus()};const $=async(o,t,e,i,c,a,f=false,u=0,l=true)=>{if(!e&&!i){return}const w=K(o,e||i,c,u);if(e&&Math.abs(w.scrollAmount)<4){P(t);if(a&&e!==null){x(e,g);k(t,e,(()=>g=0))}return}d(o,t,true,w.inputSafeY,f);P(t);r((()=>o.click()));if(a&&e){g=w.scrollPadding;x(e,g)}if(typeof window!=="undefined"){let i;const c=async()=>{if(i!==undefined){clearTimeout(i)}window.removeEventListener("ionKeyboardDidShow",r);window.removeEventListener("ionKeyboardDidShow",c);if(e){await s(e,0,w.scrollAmount,w.scrollDuration)}d(o,t,false,w.inputSafeY);P(t);if(a){k(t,e,(()=>g=0))}};const r=()=>{window.removeEventListener("ionKeyboardDidShow",r);window.addEventListener("ionKeyboardDidShow",c)};if(e){const o=await n(e);const s=o.scrollHeight-o.clientHeight;if(l&&w.scrollAmount>s-o.scrollTop){if(t.type==="password"){w.scrollAmount+=S;window.addEventListener("ionKeyboardDidShow",r)}else{window.addEventListener("ionKeyboardDidShow",c)}i=setTimeout(c,1e3);return}}c()}};
20
20
  /*!
21
21
  * (C) Ionic http://ionicframework.com - MIT License
22
- */const A=true;const W=async(o,n)=>{if(t===undefined){return}const s=n==="ios";const i=n==="android";const c=o.getNumber("keyboardHeight",290);const r=o.getBoolean("scrollAssist",true);const f=o.getBoolean("hideCaretOnScroll",s);const l=o.getBoolean("inputBlurring",s);const d=o.getBoolean("scrollPadding",true);const w=Array.from(t.querySelectorAll("ion-input, ion-textarea"));const p=new WeakMap;const m=new WeakMap;const S=await u.getResizeMode();const y=async o=>{await new Promise((t=>a(o,t)));const t=o.shadowRoot||o;const n=t.querySelector("input")||t.querySelector("textarea");const s=e(o);const u=!s?o.closest("ion-footer"):null;if(!n){return}if(!!s&&f&&!p.has(o)){const t=h(o,n,s);p.set(o,t)}const l=n.type==="date"||n.type==="datetime-local";if(!l&&(!!s||!!u)&&r&&!m.has(o)){const t=T(o,n,s,u,c,d,S,i);m.set(o,t)}};const D=o=>{if(f){const t=p.get(o);if(t){t()}p.delete(o)}if(r){const t=m.get(o);if(t){t()}m.delete(o)}};if(l&&A){b()}for(const o of w){y(o)}t.addEventListener("ionInputDidLoad",(o=>{y(o.detail)}));t.addEventListener("ionInputDidUnload",(o=>{D(o.detail)}))};export{W as startInputShims};
23
- //# sourceMappingURL=p-134b66b6.js.map
22
+ */const A=true;const W=async(o,n)=>{if(t===undefined){return}const s=n==="ios";const i=n==="android";const c=o.getNumber("keyboardHeight",290);const r=o.getBoolean("scrollAssist",true);const f=o.getBoolean("hideCaretOnScroll",s);const l=o.getBoolean("inputBlurring",s);const d=o.getBoolean("scrollPadding",true);const w=Array.from(t.querySelectorAll("ion-input, ion-textarea"));const p=new WeakMap;const m=new WeakMap;const S=await u.getResizeMode();const b=async o=>{await new Promise((t=>a(o,t)));const t=o.shadowRoot||o;const n=t.querySelector("input")||t.querySelector("textarea");const s=e(o);const u=!s?o.closest("ion-footer"):null;if(!n){return}if(!!s&&f&&!p.has(o)){const t=h(o,n,s);p.set(o,t)}const l=n.type==="date"||n.type==="datetime-local";if(!l&&(!!s||!!u)&&r&&!m.has(o)){const t=T(o,n,s,u,c,d,S,i);m.set(o,t)}};const D=o=>{if(f){const t=p.get(o);if(t){t()}p.delete(o)}if(r){const t=m.get(o);if(t){t()}m.delete(o)}};if(l&&A){y()}for(const o of w){b(o)}t.addEventListener("ionInputDidLoad",(o=>{b(o.detail)}));t.addEventListener("ionInputDidUnload",(o=>{D(o.detail)}))};export{W as startInputShims};
23
+ //# sourceMappingURL=p-bb3054a3.js.map
@@ -0,0 +1,2 @@
1
+ import{r as t,i as e,h as o,H as a,d as i}from"./p-7f507bcb.js";import{c as n}from"./p-c2690129.js";import{h as r,k as l,n as g}from"./p-25270f1a.js";import{p as s}from"./p-d6769f21.js";import{d as c}from"./p-c8020dbc.js";import{i as h}from"./p-4d0cb38d.js";import{c as d,h as p}from"./p-669fab6c.js";import{u as m,v as b,w}from"./p-0ee8b7a7.js";import{c as x,g as f}from"./p-f1ef82a9.js";import"./p-21b22219.js";import"./p-7efd6867.js";const u=":host{box-sizing:content-box !important;display:inline-block;position:relative;max-width:100%;outline:none;cursor:pointer;user-select:none;z-index:2}:host(.in-item:not(.legacy-toggle)){width:100%;height:100%}:host([slot=start]:not(.legacy-toggle)),:host([slot=end]:not(.legacy-toggle)){width:auto}:host(.legacy-toggle){contain:content;touch-action:none}:host(.ion-focused) input{border:2px solid #5e9ed6}:host(.toggle-disabled){pointer-events:none}:host(.legacy-toggle) label{top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;appearance:none;outline:none;display:flex;align-items:center;opacity:0;pointer-events:none}@supports (inset-inline-start: 0){:host(.legacy-toggle) label{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host(.legacy-toggle) label{left:0}:host-context([dir=rtl]):host(.legacy-toggle) label,:host-context([dir=rtl]).legacy-toggle label{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(.legacy-toggle:dir(rtl)) label{left:unset;right:unset;right:0}}}:host(.legacy-toggle) label::-moz-focus-inner{border:0}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.toggle-wrapper{display:flex;position:relative;flex-grow:1;height:inherit;transition:background-color 15ms linear;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item:not(.legacy-toggle)) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.toggle-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.toggle-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:flex;align-items:center}:host(.toggle-justify-space-between) .toggle-wrapper{justify-content:space-between}:host(.toggle-justify-start) .toggle-wrapper{justify-content:start}:host(.toggle-justify-end) .toggle-wrapper{justify-content:end}:host(.toggle-alignment-start) .toggle-wrapper{align-items:start}:host(.toggle-alignment-center) .toggle-wrapper{align-items:center}:host(.toggle-label-placement-start) .toggle-wrapper{flex-direction:row}:host(.toggle-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-end) .toggle-wrapper{flex-direction:row-reverse}:host(.toggle-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.toggle-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-fixed) .label-text-wrapper{flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.toggle-label-placement-stacked) .toggle-wrapper{flex-direction:column}:host(.toggle-label-placement-stacked) .label-text-wrapper{transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper{transform-origin:left top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-start .label-text-wrapper{transform-origin:right top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-start:dir(rtl)) .label-text-wrapper{transform-origin:right top}}:host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper{transform-origin:center top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-center .label-text-wrapper{transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-center:dir(rtl)) .label-text-wrapper{transform-origin:calc(100% - center) top}}.toggle-icon-wrapper{display:flex;position:relative;align-items:center;width:100%;height:100%;transition:var(--handle-transition);will-change:transform}.toggle-icon{border-radius:var(--border-radius);display:block;position:relative;width:100%;height:100%;background:var(--track-background);overflow:inherit}:host(.toggle-checked) .toggle-icon{background:var(--track-background-checked)}.toggle-inner{border-radius:var(--handle-border-radius);position:absolute;left:var(--handle-spacing);width:var(--handle-width);height:var(--handle-height);max-height:var(--handle-max-height);transition:var(--handle-transition);background:var(--handle-background);box-shadow:var(--handle-box-shadow);contain:strict}:host(.toggle-ltr) .toggle-inner{left:var(--handle-spacing)}:host(.toggle-rtl) .toggle-inner{right:var(--handle-spacing)}:host(.toggle-ltr.toggle-checked) .toggle-icon-wrapper{transform:translate3d(calc(100% - var(--handle-width)), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-icon-wrapper{transform:translate3d(calc(-100% + var(--handle-width)), 0, 0)}:host(.toggle-checked) .toggle-inner{background:var(--handle-background-checked)}:host(.toggle-ltr.toggle-checked) .toggle-inner{transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-inner{transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0)}:host{--track-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.088);--track-background-checked:var(--ion-color-primary, #3880ff);--border-radius:16px;--handle-background:#ffffff;--handle-background-checked:#ffffff;--handle-border-radius:25.5px;--handle-box-shadow:0 3px 12px rgba(0, 0, 0, 0.16), 0 3px 1px rgba(0, 0, 0, 0.1);--handle-height:calc(32px - (2px * 2));--handle-max-height:calc(100% - var(--handle-spacing) * 2);--handle-width:calc(32px - (2px * 2));--handle-spacing:2px;--handle-transition:transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms, right 110ms ease-in-out 80ms}:host(.legacy-toggle){width:51px;height:32px;contain:strict;overflow:hidden}.native-wrapper .toggle-icon{width:51px;height:32px;overflow:hidden}:host(.ion-color.toggle-checked) .toggle-icon{background:var(--ion-color-base)}:host(.toggle-activated) .toggle-switch-icon{opacity:0}.toggle-icon{transform:translate3d(0, 0, 0);transition:background-color 300ms}.toggle-inner{will-change:transform}.toggle-switch-icon{position:absolute;top:50%;width:11px;height:11px;transform:translateY(-50%);transition:opacity 300ms, color 300ms}.toggle-switch-icon{position:absolute;color:var(--ion-color-dark)}:host(.toggle-ltr) .toggle-switch-icon{right:6px}:host(.toggle-rtl) .toggle-switch-icon{right:initial;left:6px;}:host(.toggle-checked) .toggle-switch-icon.toggle-switch-icon-checked{color:var(--ion-color-contrast, #fff)}:host(.toggle-checked) .toggle-switch-icon:not(.toggle-switch-icon-checked){opacity:0}.toggle-switch-icon-checked{position:absolute;width:15px;height:15px;transform:translateY(-50%) rotate(90deg)}:host(.toggle-ltr) .toggle-switch-icon-checked{right:initial;left:4px;}:host(.toggle-rtl) .toggle-switch-icon-checked{right:4px}:host(.toggle-activated) .toggle-icon::before,:host(.toggle-checked) .toggle-icon::before{transform:scale3d(0, 0, 0)}:host(.toggle-activated.toggle-checked) .toggle-inner::before{transform:scale3d(0, 0, 0)}:host(.toggle-activated) .toggle-inner{width:calc(var(--handle-width) + 6px)}:host(.toggle-ltr.toggle-activated.toggle-checked) .toggle-icon-wrapper{transform:translate3d(calc(100% - var(--handle-width) - 6px), 0, 0)}:host(.toggle-rtl.toggle-activated.toggle-checked) .toggle-icon-wrapper{transform:translate3d(calc(-100% + var(--handle-width) + 6px), 0, 0)}:host(.toggle-disabled){opacity:0.3}:host(.in-item.legacy-toggle){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:0;padding-inline-end:0;padding-top:6px;padding-bottom:5px}:host(.in-item.legacy-toggle[slot=start]){-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:6px;padding-bottom:5px}";const k=u;const v=":host{box-sizing:content-box !important;display:inline-block;position:relative;max-width:100%;outline:none;cursor:pointer;user-select:none;z-index:2}:host(.in-item:not(.legacy-toggle)){width:100%;height:100%}:host([slot=start]:not(.legacy-toggle)),:host([slot=end]:not(.legacy-toggle)){width:auto}:host(.legacy-toggle){contain:content;touch-action:none}:host(.ion-focused) input{border:2px solid #5e9ed6}:host(.toggle-disabled){pointer-events:none}:host(.legacy-toggle) label{top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;appearance:none;outline:none;display:flex;align-items:center;opacity:0;pointer-events:none}@supports (inset-inline-start: 0){:host(.legacy-toggle) label{inset-inline-start:0}}@supports not (inset-inline-start: 0){:host(.legacy-toggle) label{left:0}:host-context([dir=rtl]):host(.legacy-toggle) label,:host-context([dir=rtl]).legacy-toggle label{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){:host(.legacy-toggle:dir(rtl)) label{left:unset;right:unset;right:0}}}:host(.legacy-toggle) label::-moz-focus-inner{border:0}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.toggle-wrapper{display:flex;position:relative;flex-grow:1;height:inherit;transition:background-color 15ms linear;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item:not(.legacy-toggle)) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.toggle-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.toggle-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:flex;align-items:center}:host(.toggle-justify-space-between) .toggle-wrapper{justify-content:space-between}:host(.toggle-justify-start) .toggle-wrapper{justify-content:start}:host(.toggle-justify-end) .toggle-wrapper{justify-content:end}:host(.toggle-alignment-start) .toggle-wrapper{align-items:start}:host(.toggle-alignment-center) .toggle-wrapper{align-items:center}:host(.toggle-label-placement-start) .toggle-wrapper{flex-direction:row}:host(.toggle-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-end) .toggle-wrapper{flex-direction:row-reverse}:host(.toggle-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.toggle-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-fixed) .label-text-wrapper{flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.toggle-label-placement-stacked) .toggle-wrapper{flex-direction:column}:host(.toggle-label-placement-stacked) .label-text-wrapper{transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper{transform-origin:left top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-start .label-text-wrapper{transform-origin:right top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-start:dir(rtl)) .label-text-wrapper{transform-origin:right top}}:host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper{transform-origin:center top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-center .label-text-wrapper{transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-center:dir(rtl)) .label-text-wrapper{transform-origin:calc(100% - center) top}}.toggle-icon-wrapper{display:flex;position:relative;align-items:center;width:100%;height:100%;transition:var(--handle-transition);will-change:transform}.toggle-icon{border-radius:var(--border-radius);display:block;position:relative;width:100%;height:100%;background:var(--track-background);overflow:inherit}:host(.toggle-checked) .toggle-icon{background:var(--track-background-checked)}.toggle-inner{border-radius:var(--handle-border-radius);position:absolute;left:var(--handle-spacing);width:var(--handle-width);height:var(--handle-height);max-height:var(--handle-max-height);transition:var(--handle-transition);background:var(--handle-background);box-shadow:var(--handle-box-shadow);contain:strict}:host(.toggle-ltr) .toggle-inner{left:var(--handle-spacing)}:host(.toggle-rtl) .toggle-inner{right:var(--handle-spacing)}:host(.toggle-ltr.toggle-checked) .toggle-icon-wrapper{transform:translate3d(calc(100% - var(--handle-width)), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-icon-wrapper{transform:translate3d(calc(-100% + var(--handle-width)), 0, 0)}:host(.toggle-checked) .toggle-inner{background:var(--handle-background-checked)}:host(.toggle-ltr.toggle-checked) .toggle-inner{transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-inner{transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0)}:host{--track-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.39);--track-background-checked:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.5);--border-radius:14px;--handle-background:#ffffff;--handle-background-checked:var(--ion-color-primary, #3880ff);--handle-border-radius:50%;--handle-box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);--handle-width:20px;--handle-height:20px;--handle-max-height:calc(100% + 6px);--handle-spacing:0;--handle-transition:transform 160ms cubic-bezier(0.4, 0, 0.2, 1), background-color 160ms cubic-bezier(0.4, 0, 0.2, 1)}:host(.legacy-toggle){-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:12px;padding-bottom:12px;width:36px;height:14px;contain:strict}.native-wrapper .toggle-icon{width:36px;height:14px}:host(.ion-color.toggle-checked) .toggle-icon{background:rgba(var(--ion-color-base-rgb), 0.5)}:host(.ion-color.toggle-checked) .toggle-inner{background:var(--ion-color-base)}:host(.toggle-checked) .toggle-inner{color:var(--ion-color-contrast, #fff)}.toggle-icon{transition:background-color 160ms}.toggle-inner{will-change:background-color, transform;display:flex;align-items:center;justify-content:center;color:#000}.toggle-inner .toggle-switch-icon{-webkit-padding-start:1px;padding-inline-start:1px;-webkit-padding-end:1px;padding-inline-end:1px;padding-top:1px;padding-bottom:1px;width:100%;height:100%}:host(.toggle-disabled){opacity:0.38}:host(.in-item.legacy-toggle){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:0;padding-inline-end:0;padding-top:12px;padding-bottom:12px;cursor:pointer}:host(.in-item.legacy-toggle[slot=start]){-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:18px;padding-inline-end:18px;padding-top:12px;padding-bottom:12px}";const y=v;const j=class{constructor(o){t(this,o);this.ionChange=e(this,"ionChange",7);this.ionFocus=e(this,"ionFocus",7);this.ionBlur=e(this,"ionBlur",7);this.ionStyle=e(this,"ionStyle",7);this.inputId=`ion-tg-${C++}`;this.lastDrag=0;this.inheritedAttributes={};this.didLoad=false;this.hasLoggedDeprecationWarning=false;this.setupGesture=async()=>{const{toggleTrack:t}=this;if(t){this.gesture=(await import("./p-b943833e.js")).createGesture({el:t,gestureName:"toggle",gesturePriority:100,threshold:5,passive:false,onStart:()=>this.onStart(),onMove:t=>this.onMove(t),onEnd:t=>this.onEnd(t)});this.disabledChanged()}};this.onClick=t=>{if(this.disabled){return}t.preventDefault();if(this.lastDrag+300<Date.now()){this.toggleChecked()}};this.onFocus=()=>{this.ionFocus.emit()};this.onBlur=()=>{this.ionBlur.emit()};this.getSwitchLabelIcon=(t,e)=>{if(t==="md"){return e?m:b}return e?b:w};this.activated=false;this.color=undefined;this.name=this.inputId;this.checked=false;this.disabled=false;this.value="on";this.enableOnOffLabels=x.get("toggleOnOffLabels");this.labelPlacement="start";this.legacy=undefined;this.justify="space-between";this.alignment="center"}disabledChanged(){this.emitStyle();if(this.gesture){this.gesture.enable(!this.disabled)}}toggleChecked(){const{checked:t,value:e}=this;const o=!t;this.checked=o;this.ionChange.emit({checked:o,value:e})}async connectedCallback(){this.legacyFormController=n(this.el);if(this.didLoad){this.setupGesture()}}componentDidLoad(){this.setupGesture();this.didLoad=true}disconnectedCallback(){if(this.gesture){this.gesture.destroy();this.gesture=undefined}}componentWillLoad(){this.emitStyle();if(!this.legacyFormController.hasLegacyControl()){this.inheritedAttributes=Object.assign({},r(this.el))}}emitStyle(){if(this.legacyFormController.hasLegacyControl()){this.ionStyle.emit({"interactive-disabled":this.disabled,legacy:!!this.legacy})}}onStart(){this.activated=true;this.setFocus()}onMove(t){if(z(h(this.el),this.checked,t.deltaX,-10)){this.toggleChecked();c()}}onEnd(t){this.activated=false;this.lastDrag=Date.now();t.event.preventDefault();t.event.stopImmediatePropagation()}getValue(){return this.value||""}setFocus(){if(this.focusEl){this.focusEl.focus()}}renderOnOffSwitchLabels(t,e){const a=this.getSwitchLabelIcon(t,e);return o("ion-icon",{class:{"toggle-switch-icon":true,"toggle-switch-icon-checked":e},icon:a,"aria-hidden":"true"})}renderToggleControl(){const t=f(this);const{enableOnOffLabels:e,checked:a}=this;return o("div",{class:"toggle-icon",part:"track",ref:t=>this.toggleTrack=t},e&&t==="ios"&&[this.renderOnOffSwitchLabels(t,true),this.renderOnOffSwitchLabels(t,false)],o("div",{class:"toggle-icon-wrapper"},o("div",{class:"toggle-inner",part:"handle"},e&&t==="md"&&this.renderOnOffSwitchLabels(t,a))))}get hasLabel(){return this.el.textContent!==""}render(){const{legacyFormController:t}=this;return t.hasLegacyControl()?this.renderLegacyToggle():this.renderToggle()}renderToggle(){const{activated:t,color:e,checked:i,disabled:n,el:r,justify:g,labelPlacement:s,inputId:c,name:m,alignment:b}=this;const w=f(this);const x=this.getValue();const u=h(r)?"rtl":"ltr";l(true,r,m,i?x:"",n);return o(a,{onClick:this.onClick,class:d(e,{[w]:true,"in-item":p("ion-item",r),"toggle-activated":t,"toggle-checked":i,"toggle-disabled":n,[`toggle-justify-${g}`]:true,[`toggle-alignment-${b}`]:true,[`toggle-label-placement-${s}`]:true,[`toggle-${u}`]:true})},o("label",{class:"toggle-wrapper"},o("input",Object.assign({type:"checkbox",role:"switch","aria-checked":`${i}`,checked:i,disabled:n,id:c,onFocus:()=>this.onFocus(),onBlur:()=>this.onBlur(),ref:t=>this.focusEl=t},this.inheritedAttributes)),o("div",{class:{"label-text-wrapper":true,"label-text-wrapper-hidden":!this.hasLabel},part:"label"},o("slot",null)),o("div",{class:"native-wrapper"},this.renderToggleControl())))}renderLegacyToggle(){if(!this.hasLoggedDeprecationWarning){s(`ion-toggle now requires providing a label with either the default slot or the "aria-label" attribute. To migrate, remove any usage of "ion-label" and pass the label text to either the component or the "aria-label" attribute.\n\nExample: <ion-toggle>Email</ion-toggle>\nExample with aria-label: <ion-toggle aria-label="Email"></ion-toggle>\n\nDevelopers can use the "legacy" property to continue using the legacy form markup. This property will be removed in an upcoming major release of Ionic where this form control will use the modern form markup.`,this.el);if(this.legacy){s(`ion-toggle is being used with the "legacy" property enabled which will forcibly enable the legacy form markup. This property will be removed in an upcoming major release of Ionic where this form control will use the modern form markup.\n\nDevelopers can dismiss this warning by removing their usage of the "legacy" property and using the new toggle syntax.`,this.el)}this.hasLoggedDeprecationWarning=true}const{activated:t,color:e,checked:i,disabled:n,el:r,inputId:c,name:m}=this;const b=f(this);const{label:w,labelId:x,labelText:u}=g(r,c);const k=this.getValue();const v=h(r)?"rtl":"ltr";l(true,r,m,i?k:"",n);return o(a,{onClick:this.onClick,"aria-labelledby":w?x:null,"aria-checked":`${i}`,"aria-hidden":n?"true":null,role:"switch",class:d(e,{[b]:true,"in-item":p("ion-item",r),"toggle-activated":t,"toggle-checked":i,"toggle-disabled":n,"legacy-toggle":true,interactive:true,[`toggle-${v}`]:true})},this.renderToggleControl(),o("label",{htmlFor:c},u),o("input",{type:"checkbox",role:"switch","aria-checked":`${i}`,disabled:n,id:c,onFocus:()=>this.onFocus(),onBlur:()=>this.onBlur(),ref:t=>this.focusEl=t}))}get el(){return i(this)}static get watchers(){return{disabled:["disabledChanged"]}}};const z=(t,e,o,a)=>{if(e){return!t&&a>o||t&&-a<o}else{return!t&&-a<o||t&&a>o}};let C=0;j.style={ios:k,md:y};export{j as ion_toggle};
2
+ //# sourceMappingURL=p-bc5eefc4.entry.js.map