@pod-os/elements 0.0.1 → 0.0.2-c322656

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 (483) hide show
  1. package/dist/cjs/{animation-bd89cfc5.js → animation-5840e4df.js} +1 -1
  2. package/dist/cjs/{app-globals-01ad6c72.js → app-globals-8793f3b5.js} +1 -1
  3. package/dist/cjs/{button-active-e6ddc8af.js → button-active-dc62e864.js} +3 -3
  4. package/dist/cjs/{cubic-bezier-24e309bf.js → cubic-bezier-dcb7bfef.js} +0 -0
  5. package/dist/cjs/elements.cjs.js +5 -5
  6. package/dist/cjs/{focus-visible-1583bc8e.js → focus-visible-16c98640.js} +0 -0
  7. package/dist/cjs/{framework-delegate-0a2d58a6.js → framework-delegate-c45292a3.js} +1 -1
  8. package/dist/cjs/{gesture-controller-e824cfb3.js → gesture-controller-fbbe9a65.js} +0 -0
  9. package/dist/cjs/{haptic-415dac5b.js → haptic-09e73337.js} +0 -0
  10. package/dist/cjs/{hardware-back-button-ca468aae.js → hardware-back-button-01027575.js} +0 -0
  11. package/dist/cjs/{helpers-ff618d5e.js → helpers-398ced09.js} +67 -0
  12. package/dist/cjs/{index-6bf2cd3d.js → index-0aae2825.js} +121 -79
  13. package/dist/cjs/{index-427d03fb.js → index-6bbae9b1.js} +0 -0
  14. package/dist/cjs/{index-5663f42c.js → index-b8164b0b.js} +4 -4
  15. package/dist/cjs/{index-5571e89c.js → index-d01d9183.js} +1 -1
  16. package/dist/cjs/{index-b29012b2.js → index-fdf96391.js} +4 -4
  17. package/dist/cjs/{input-shims-23510d35.js → input-shims-e959d9e2.js} +1 -1
  18. package/dist/cjs/ion-action-sheet.cjs.entry.js +13 -13
  19. package/dist/cjs/ion-alert.cjs.entry.js +12 -12
  20. package/dist/cjs/{ion-app_32.cjs.entry.js → ion-app_34.cjs.entry.js} +475 -64
  21. package/dist/cjs/ion-avatar.cjs.entry.js +2 -2
  22. package/dist/cjs/ion-back-button.cjs.entry.js +9 -5
  23. package/dist/cjs/ion-backdrop.cjs.entry.js +3 -3
  24. package/dist/cjs/ion-badge.cjs.entry.js +3 -3
  25. package/dist/cjs/ion-buttons.cjs.entry.js +2 -2
  26. package/dist/cjs/ion-card-subtitle.cjs.entry.js +30 -0
  27. package/dist/cjs/ion-checkbox.cjs.entry.js +4 -4
  28. package/dist/cjs/ion-chip.cjs.entry.js +3 -3
  29. package/dist/cjs/ion-datetime.cjs.entry.js +6 -6
  30. package/dist/cjs/ion-fab-button.cjs.entry.js +3 -3
  31. package/dist/cjs/ion-fab-list.cjs.entry.js +2 -2
  32. package/dist/cjs/ion-fab.cjs.entry.js +2 -2
  33. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  34. package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +3 -3
  35. package/dist/cjs/ion-infinite-scroll.cjs.entry.js +2 -2
  36. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  37. package/dist/cjs/ion-item-option.cjs.entry.js +3 -3
  38. package/dist/cjs/ion-item-options.cjs.entry.js +3 -3
  39. package/dist/cjs/ion-item-sliding.cjs.entry.js +4 -4
  40. package/dist/cjs/ion-list-header_3.cjs.entry.js +4 -4
  41. package/dist/cjs/ion-loading.cjs.entry.js +8 -8
  42. package/dist/cjs/ion-menu-button.cjs.entry.js +9 -9
  43. package/dist/cjs/ion-menu-toggle.cjs.entry.js +7 -7
  44. package/dist/cjs/ion-menu.cjs.entry.js +117 -13
  45. package/dist/cjs/ion-modal.cjs.entry.js +12 -12
  46. package/dist/cjs/ion-nav-link.cjs.entry.js +1 -1
  47. package/dist/cjs/ion-nav.cjs.entry.js +7 -7
  48. package/dist/cjs/ion-note.cjs.entry.js +3 -3
  49. package/dist/cjs/ion-picker-column.cjs.entry.js +5 -5
  50. package/dist/cjs/ion-picker.cjs.entry.js +7 -7
  51. package/dist/cjs/ion-popover.cjs.entry.js +11 -11
  52. package/dist/cjs/ion-range.cjs.entry.js +6 -6
  53. package/dist/cjs/ion-refresher-content.cjs.entry.js +4 -4
  54. package/dist/cjs/ion-refresher.cjs.entry.js +9 -9
  55. package/dist/cjs/ion-reorder-group.cjs.entry.js +4 -4
  56. package/dist/cjs/ion-reorder.cjs.entry.js +2 -2
  57. package/dist/cjs/ion-route-redirect.cjs.entry.js +1 -1
  58. package/dist/cjs/ion-route.cjs.entry.js +1 -1
  59. package/dist/cjs/ion-router-link.cjs.entry.js +3 -3
  60. package/dist/cjs/ion-router-outlet.cjs.entry.js +7 -7
  61. package/dist/cjs/ion-router.cjs.entry.js +48 -8
  62. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  63. package/dist/cjs/ion-segment-button.cjs.entry.js +4 -4
  64. package/dist/cjs/ion-segment.cjs.entry.js +5 -5
  65. package/dist/cjs/ion-select-option.cjs.entry.js +2 -2
  66. package/dist/cjs/ion-select-popover.cjs.entry.js +6 -6
  67. package/dist/cjs/ion-select.cjs.entry.js +6 -6
  68. package/dist/cjs/ion-skeleton-text.cjs.entry.js +3 -3
  69. package/dist/cjs/ion-slide.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-slides.cjs.entry.js +8 -27
  71. package/dist/cjs/ion-spinner.cjs.entry.js +4 -4
  72. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  73. package/dist/cjs/ion-tab-bar.cjs.entry.js +3 -3
  74. package/dist/cjs/ion-tab-button.cjs.entry.js +2 -2
  75. package/dist/cjs/ion-tab.cjs.entry.js +3 -3
  76. package/dist/cjs/ion-tabs.cjs.entry.js +1 -1
  77. package/dist/cjs/ion-text.cjs.entry.js +3 -3
  78. package/dist/cjs/ion-textarea.cjs.entry.js +5 -5
  79. package/dist/cjs/ion-thumbnail.cjs.entry.js +2 -2
  80. package/dist/cjs/ion-toast.cjs.entry.js +8 -8
  81. package/dist/cjs/ion-toggle.cjs.entry.js +6 -6
  82. package/dist/cjs/ion-virtual-scroll.cjs.entry.js +2 -2
  83. package/dist/cjs/{ionic-global-167e590d.js → ionic-global-a6599940.js} +1 -1
  84. package/dist/cjs/{ios.transition-2250af96.js → ios.transition-b6fe660c.js} +4 -4
  85. package/dist/cjs/{keyboard-1dcbde6c.js → keyboard-9e8103e4.js} +0 -0
  86. package/dist/cjs/loader.cjs.js +5 -5
  87. package/dist/cjs/{md.transition-e801e09e.js → md.transition-af65cb42.js} +4 -4
  88. package/dist/cjs/{menu-toggle-util-48d3b587.js → menu-toggle-util-e66c2545.js} +1 -1
  89. package/dist/cjs/{overlays-0c3389b6.js → overlays-7d879e64.js} +3 -3
  90. package/dist/cjs/{spinner-configs-559523fd.js → spinner-configs-fb16b986.js} +0 -0
  91. package/dist/cjs/{status-tap-da644888.js → status-tap-869e1b97.js} +2 -2
  92. package/dist/cjs/{swipe-back-a15422cc.js → swipe-back-c4a778df.js} +3 -3
  93. package/dist/cjs/{swiper.bundle-8c897c07.js → swiper.bundle-bcbafede.js} +0 -0
  94. package/dist/cjs/{tap-click-9c4dcea3.js → tap-click-f24cb477.js} +1 -1
  95. package/dist/cjs/{theme-98ccfc24.js → theme-2259d0f5.js} +0 -0
  96. package/dist/collection/apps/pos-app-generic/pos-app-generic.js +21 -0
  97. package/dist/collection/collection-manifest.json +6 -3
  98. package/dist/collection/components/pos-app/pos-app.js +6 -6
  99. package/dist/collection/components/pos-demo-app/pos-demo-app.js +3 -34
  100. package/dist/collection/components/pos-login/pos-login.js +7 -7
  101. package/dist/collection/components/pos-resource/pos-resource.js +6 -3
  102. package/dist/collection/components/pos-reverse-relations/pos-reverse-relations.js +43 -0
  103. package/dist/collection/components/pos-rich-link/pos-rich-link.js +1 -1
  104. package/dist/collection/components/pos-router/pos-router.js +38 -0
  105. package/dist/collection/store/session.js +2 -2
  106. package/dist/collection/test/mockPodOS.js +15 -1
  107. package/dist/custom-elements/index.d.ts +18 -0
  108. package/dist/custom-elements/index.js +879 -242
  109. package/dist/elements/elements.css +1 -1
  110. package/dist/elements/elements.esm.js +1 -1
  111. package/dist/elements/{p-252ee244.entry.js → p-025c9a9b.entry.js} +1 -1
  112. package/dist/elements/p-039fd555.js +1 -0
  113. package/dist/elements/{p-f2660943.js → p-03bda390.js} +0 -0
  114. package/dist/elements/{p-4ea63d49.entry.js → p-03cde843.entry.js} +1 -1
  115. package/dist/elements/p-0452fb27.entry.js +1 -0
  116. package/dist/elements/{p-2bb4eed0.entry.js → p-0931b188.entry.js} +1 -1
  117. package/dist/elements/p-0addb25c.entry.js +1 -0
  118. package/dist/elements/p-10e4ca40.entry.js +1 -0
  119. package/dist/elements/p-12094a99.entry.js +1 -0
  120. package/dist/elements/{p-22c3fe84.js → p-16427279.js} +1 -1
  121. package/dist/elements/{p-35ae10a1.entry.js → p-17758df3.entry.js} +1 -1
  122. package/dist/elements/p-1aa0e849.js +1 -0
  123. package/dist/elements/{p-1672bb59.js → p-1bb1a7ba.js} +1 -1
  124. package/dist/elements/{p-c563b4de.js → p-1d4a2c61.js} +0 -0
  125. package/dist/elements/p-1d8e7db1.entry.js +1 -0
  126. package/dist/elements/{p-073c4b46.entry.js → p-1f6a9d65.entry.js} +1 -1
  127. package/dist/elements/{p-c9c31823.entry.js → p-2145cf89.entry.js} +1 -1
  128. package/dist/elements/{p-d3820644.entry.js → p-22fc3a24.entry.js} +1 -1
  129. package/dist/elements/p-2c2ae808.js +1 -0
  130. package/dist/elements/p-30ceacb9.entry.js +1 -0
  131. package/dist/elements/{p-7dbfc316.js → p-312e6979.js} +0 -0
  132. package/dist/elements/{p-8f72be08.js → p-37de7110.js} +0 -0
  133. package/dist/elements/{p-5dcf40ab.entry.js → p-387aff19.entry.js} +1 -1
  134. package/dist/elements/{p-21a76883.js → p-38bde1d3.js} +1 -1
  135. package/dist/elements/{p-10a1d53e.entry.js → p-3a26e7e5.entry.js} +1 -1
  136. package/dist/elements/{p-b41e0ead.entry.js → p-3e6db2fa.entry.js} +1 -1
  137. package/dist/elements/p-46221508.entry.js +1 -0
  138. package/dist/elements/{p-3bf3b9ee.entry.js → p-4b8b50f2.entry.js} +1 -1
  139. package/dist/elements/{p-b85f2273.entry.js → p-51c7cb3f.entry.js} +1 -1
  140. package/dist/elements/{p-44da9fdb.entry.js → p-5628f80d.entry.js} +1 -1
  141. package/dist/elements/{p-52b26eb1.entry.js → p-57f7c0c2.entry.js} +1 -1
  142. package/dist/elements/{p-37fb0153.entry.js → p-58625104.entry.js} +1 -1
  143. package/dist/elements/p-66bbe62d.entry.js +1 -0
  144. package/dist/elements/{p-7748825d.entry.js → p-671b4546.entry.js} +1 -1
  145. package/dist/elements/p-675e436c.js +1 -0
  146. package/dist/elements/{p-adaf489e.entry.js → p-6e905d35.entry.js} +1 -1
  147. package/dist/elements/p-7003c175.entry.js +1 -0
  148. package/dist/elements/p-7010f947.entry.js +1 -0
  149. package/dist/elements/p-70f5d1c1.entry.js +1 -0
  150. package/dist/elements/p-735719e4.js +1 -0
  151. package/dist/elements/{p-9ab5469e.entry.js → p-78cd25d1.entry.js} +1 -1
  152. package/dist/elements/{p-762052a8.entry.js → p-80adc18b.entry.js} +1 -1
  153. package/dist/elements/{p-58fde612.entry.js → p-8544ef1b.entry.js} +1 -1
  154. package/dist/elements/p-854dbdf1.js +1 -0
  155. package/dist/elements/{p-6428a29b.entry.js → p-856e2a7d.entry.js} +1 -1
  156. package/dist/elements/{p-8fc9298a.js → p-874c2b44.js} +0 -0
  157. package/dist/elements/{p-6c8effa6.entry.js → p-8aaf51be.entry.js} +1 -1
  158. package/dist/elements/{p-cf929f00.entry.js → p-8b372444.entry.js} +1 -1
  159. package/dist/elements/{p-c2396e45.js → p-8d1d6062.js} +1 -1
  160. package/dist/elements/{p-6d0e7670.entry.js → p-8d8e018a.entry.js} +1 -1
  161. package/dist/elements/{p-894597a1.entry.js → p-90ab8eff.entry.js} +1 -1
  162. package/dist/elements/{p-2e4e8117.js → p-91fe653f.js} +0 -0
  163. package/dist/elements/p-92a0735b.js +1 -0
  164. package/dist/elements/{p-f5849699.js → p-98c79eda.js} +1 -1
  165. package/dist/elements/{p-c6685d24.entry.js → p-99837f0d.entry.js} +1 -1
  166. package/dist/elements/{p-0bbdf7ee.entry.js → p-9a05c749.entry.js} +1 -1
  167. package/dist/elements/{p-c358ebf9.entry.js → p-9b2ff01b.entry.js} +1 -1
  168. package/dist/elements/p-9b903903.js +1 -0
  169. package/dist/elements/{p-677eed6e.entry.js → p-a08b2157.entry.js} +1 -1
  170. package/dist/elements/{p-627c2a27.entry.js → p-a0ee39e8.entry.js} +1 -1
  171. package/dist/elements/{p-c46ee782.entry.js → p-a5b00718.entry.js} +1 -1
  172. package/dist/elements/p-a712c2f6.js +2 -0
  173. package/dist/elements/p-a9dafdf2.entry.js +1 -0
  174. package/dist/elements/{p-aef0bba0.js → p-aab0f63c.js} +0 -0
  175. package/dist/elements/{p-670281d8.entry.js → p-b04936a5.entry.js} +1 -1
  176. package/dist/elements/{p-69104d78.entry.js → p-b4ab884c.entry.js} +1 -1
  177. package/dist/elements/{p-559e271a.entry.js → p-b7cd6fef.entry.js} +1 -1
  178. package/dist/elements/p-b84ab0eb.js +1 -0
  179. package/dist/elements/{p-89d2245e.entry.js → p-bcc3c37c.entry.js} +1 -1
  180. package/dist/elements/p-bf5cd642.entry.js +1 -0
  181. package/dist/elements/{p-111520a0.js → p-c1e7fbfb.js} +0 -0
  182. package/dist/elements/p-c3e16816.entry.js +1 -0
  183. package/dist/elements/p-c67ec320.js +1 -0
  184. package/dist/elements/{p-3d2c1009.entry.js → p-c6dbdd06.entry.js} +1 -1
  185. package/dist/elements/{p-73a89fc4.entry.js → p-c7feb66f.entry.js} +1 -1
  186. package/dist/elements/{p-258f83d6.entry.js → p-c8663562.entry.js} +1 -1
  187. package/dist/elements/{p-0773b39d.entry.js → p-c94f01cf.entry.js} +1 -1
  188. package/dist/elements/{p-051e7d1c.entry.js → p-c96b5885.entry.js} +1 -1
  189. package/dist/elements/p-ca395368.entry.js +1 -0
  190. package/dist/elements/{p-417a8dd6.js → p-ca69d6c9.js} +0 -0
  191. package/dist/elements/{p-8f9f5815.entry.js → p-cf79afd2.entry.js} +1 -1
  192. package/dist/elements/{p-7840618d.js → p-cfc0e54d.js} +0 -0
  193. package/dist/elements/{p-20488e32.entry.js → p-d4ac974f.entry.js} +1 -1
  194. package/dist/elements/{p-3d052ec7.entry.js → p-d6012b74.entry.js} +1 -1
  195. package/dist/elements/{p-b5c94073.entry.js → p-d82c8102.entry.js} +1 -1
  196. package/dist/elements/{p-996d272b.entry.js → p-d9570980.entry.js} +1 -1
  197. package/dist/elements/{p-e4cd9daa.entry.js → p-da1d4d15.entry.js} +1 -1
  198. package/dist/elements/p-e8b8da88.entry.js +1 -0
  199. package/dist/elements/{p-7735ce2a.js → p-ec47a369.js} +1 -1
  200. package/dist/elements/{p-39e69ceb.entry.js → p-f35bc63b.entry.js} +1 -1
  201. package/dist/elements/{p-d7bc38e3.entry.js → p-f4120adc.entry.js} +1 -1
  202. package/dist/elements/p-f5b9742c.js +1 -0
  203. package/dist/elements/{p-5e6fdd4f.entry.js → p-f91f59f9.entry.js} +1 -1
  204. package/dist/esm/{animation-23699cc5.js → animation-cb124ae5.js} +1 -1
  205. package/dist/esm/{app-globals-b3330c28.js → app-globals-6c3cceb6.js} +1 -1
  206. package/dist/esm/{button-active-8918719c.js → button-active-1cd0f291.js} +3 -3
  207. package/dist/esm/{cubic-bezier-ed243a9b.js → cubic-bezier-108b8579.js} +0 -0
  208. package/dist/esm/elements.js +5 -5
  209. package/dist/esm/{focus-visible-abf04ce3.js → focus-visible-edb28f19.js} +0 -0
  210. package/dist/esm/{framework-delegate-0a271c52.js → framework-delegate-ef487ffc.js} +1 -1
  211. package/dist/esm/{gesture-controller-604336b7.js → gesture-controller-8f35af24.js} +0 -0
  212. package/dist/esm/{haptic-67928174.js → haptic-c424e670.js} +0 -0
  213. package/dist/esm/{hardware-back-button-508e48cf.js → hardware-back-button-bb4c578a.js} +0 -0
  214. package/dist/esm/{helpers-dffac6f7.js → helpers-af16fc18.js} +67 -1
  215. package/dist/esm/{index-82f710ea.js → index-082b47ce.js} +121 -79
  216. package/dist/esm/{index-f910ce2c.js → index-178a7a06.js} +4 -4
  217. package/dist/esm/{index-51ec9e66.js → index-3a1bd803.js} +2 -2
  218. package/dist/esm/{index-cc97b114.js → index-8d682224.js} +0 -0
  219. package/dist/esm/{index-db7c08b4.js → index-edb45c26.js} +4 -4
  220. package/dist/esm/{input-shims-9c0b3bc9.js → input-shims-dbfbbeff.js} +1 -1
  221. package/dist/esm/ion-action-sheet.entry.js +13 -13
  222. package/dist/esm/ion-alert.entry.js +12 -12
  223. package/dist/esm/{ion-app_32.entry.js → ion-app_34.entry.js} +471 -62
  224. package/dist/esm/ion-avatar.entry.js +2 -2
  225. package/dist/esm/ion-back-button.entry.js +9 -5
  226. package/dist/esm/ion-backdrop.entry.js +3 -3
  227. package/dist/esm/ion-badge.entry.js +3 -3
  228. package/dist/esm/ion-buttons.entry.js +2 -2
  229. package/dist/esm/ion-card-subtitle.entry.js +26 -0
  230. package/dist/esm/ion-checkbox.entry.js +4 -4
  231. package/dist/esm/ion-chip.entry.js +3 -3
  232. package/dist/esm/ion-datetime.entry.js +6 -6
  233. package/dist/esm/ion-fab-button.entry.js +3 -3
  234. package/dist/esm/ion-fab-list.entry.js +2 -2
  235. package/dist/esm/ion-fab.entry.js +2 -2
  236. package/dist/esm/ion-img.entry.js +2 -2
  237. package/dist/esm/ion-infinite-scroll-content.entry.js +3 -3
  238. package/dist/esm/ion-infinite-scroll.entry.js +2 -2
  239. package/dist/esm/ion-input.entry.js +5 -5
  240. package/dist/esm/ion-item-option.entry.js +3 -3
  241. package/dist/esm/ion-item-options.entry.js +3 -3
  242. package/dist/esm/ion-item-sliding.entry.js +4 -4
  243. package/dist/esm/ion-list-header_3.entry.js +4 -4
  244. package/dist/esm/ion-loading.entry.js +8 -8
  245. package/dist/esm/ion-menu-button.entry.js +9 -9
  246. package/dist/esm/ion-menu-toggle.entry.js +7 -7
  247. package/dist/esm/ion-menu.entry.js +117 -13
  248. package/dist/esm/ion-modal.entry.js +12 -12
  249. package/dist/esm/ion-nav-link.entry.js +1 -1
  250. package/dist/esm/ion-nav.entry.js +7 -7
  251. package/dist/esm/ion-note.entry.js +3 -3
  252. package/dist/esm/ion-picker-column.entry.js +5 -5
  253. package/dist/esm/ion-picker.entry.js +7 -7
  254. package/dist/esm/ion-popover.entry.js +11 -11
  255. package/dist/esm/ion-range.entry.js +6 -6
  256. package/dist/esm/ion-refresher-content.entry.js +4 -4
  257. package/dist/esm/ion-refresher.entry.js +9 -9
  258. package/dist/esm/ion-reorder-group.entry.js +4 -4
  259. package/dist/esm/ion-reorder.entry.js +2 -2
  260. package/dist/esm/ion-route-redirect.entry.js +1 -1
  261. package/dist/esm/ion-route.entry.js +1 -1
  262. package/dist/esm/ion-router-link.entry.js +3 -3
  263. package/dist/esm/ion-router-outlet.entry.js +7 -7
  264. package/dist/esm/ion-router.entry.js +48 -8
  265. package/dist/esm/ion-searchbar.entry.js +4 -4
  266. package/dist/esm/ion-segment-button.entry.js +4 -4
  267. package/dist/esm/ion-segment.entry.js +5 -5
  268. package/dist/esm/ion-select-option.entry.js +2 -2
  269. package/dist/esm/ion-select-popover.entry.js +6 -6
  270. package/dist/esm/ion-select.entry.js +6 -6
  271. package/dist/esm/ion-skeleton-text.entry.js +3 -3
  272. package/dist/esm/ion-slide.entry.js +2 -2
  273. package/dist/esm/ion-slides.entry.js +8 -27
  274. package/dist/esm/ion-spinner.entry.js +4 -4
  275. package/dist/esm/ion-split-pane.entry.js +2 -2
  276. package/dist/esm/ion-tab-bar.entry.js +3 -3
  277. package/dist/esm/ion-tab-button.entry.js +2 -2
  278. package/dist/esm/ion-tab.entry.js +3 -3
  279. package/dist/esm/ion-tabs.entry.js +1 -1
  280. package/dist/esm/ion-text.entry.js +3 -3
  281. package/dist/esm/ion-textarea.entry.js +5 -5
  282. package/dist/esm/ion-thumbnail.entry.js +2 -2
  283. package/dist/esm/ion-toast.entry.js +8 -8
  284. package/dist/esm/ion-toggle.entry.js +6 -6
  285. package/dist/esm/ion-virtual-scroll.entry.js +2 -2
  286. package/dist/esm/{ionic-global-fadc16f8.js → ionic-global-b8056dd2.js} +1 -1
  287. package/dist/esm/{ios.transition-dd5b9636.js → ios.transition-ab339f2c.js} +4 -4
  288. package/dist/esm/{keyboard-06906eac.js → keyboard-e6abcb80.js} +0 -0
  289. package/dist/esm/loader.js +5 -5
  290. package/dist/esm/{md.transition-6a0a5df0.js → md.transition-1ed7c8eb.js} +4 -4
  291. package/dist/esm/{menu-toggle-util-0e5e4140.js → menu-toggle-util-d2db3453.js} +1 -1
  292. package/dist/esm/{overlays-6a09f1ef.js → overlays-423fcd0a.js} +3 -3
  293. package/dist/esm/polyfills/core-js.js +0 -0
  294. package/dist/esm/polyfills/css-shim.js +1 -1
  295. package/dist/esm/polyfills/dom.js +0 -0
  296. package/dist/esm/polyfills/es5-html-element.js +0 -0
  297. package/dist/esm/polyfills/index.js +0 -0
  298. package/dist/esm/polyfills/system.js +0 -0
  299. package/dist/esm/{spinner-configs-9536fae2.js → spinner-configs-aaf2a1a9.js} +0 -0
  300. package/dist/esm/{status-tap-54b1c888.js → status-tap-3e0a5551.js} +2 -2
  301. package/dist/esm/{swipe-back-5459ab3a.js → swipe-back-7e655479.js} +3 -3
  302. package/dist/esm/{swiper.bundle-b6a959de.js → swiper.bundle-2dd16264.js} +0 -0
  303. package/dist/esm/{tap-click-e0215d5a.js → tap-click-faa3d392.js} +1 -1
  304. package/dist/esm/{theme-12606872.js → theme-d21826a7.js} +0 -0
  305. package/dist/types/apps/pos-app-generic/pos-app-generic.d.ts +3 -0
  306. package/dist/types/components/pos-app/pos-app.d.ts +2 -2
  307. package/dist/types/components/pos-demo-app/pos-demo-app.d.ts +0 -2
  308. package/dist/types/components/pos-login/pos-login.d.ts +1 -1
  309. package/dist/types/components/pos-resource/pos-resource.d.ts +1 -1
  310. package/dist/types/components/pos-reverse-relations/pos-reverse-relations.d.ts +8 -0
  311. package/dist/types/components/pos-rich-link/pos-rich-link.d.ts +1 -1
  312. package/dist/types/components/pos-router/pos-router.d.ts +8 -0
  313. package/dist/types/components.d.ts +79 -7
  314. package/dist/types/stencil-public-runtime.d.ts +6 -4
  315. package/dist/types/store/session.d.ts +3 -3
  316. package/dist/types/test/mockPodOS.d.ts +1 -0
  317. package/loader/index.d.ts +0 -1
  318. package/package.json +19 -10
  319. package/readme.md +9 -64
  320. package/dist/elements/p-0ce985f2.entry.js +0 -1
  321. package/dist/elements/p-2ae62ee2.entry.js +0 -1
  322. package/dist/elements/p-3783db21.entry.js +0 -1
  323. package/dist/elements/p-3eb3ceda.js +0 -1
  324. package/dist/elements/p-4261cf00.entry.js +0 -1
  325. package/dist/elements/p-4e81f5a3.js +0 -1
  326. package/dist/elements/p-4f428fec.js +0 -1
  327. package/dist/elements/p-514a156e.entry.js +0 -1
  328. package/dist/elements/p-64fbf059.entry.js +0 -1
  329. package/dist/elements/p-6f125c33.entry.js +0 -1
  330. package/dist/elements/p-7e4727c5.entry.js +0 -1
  331. package/dist/elements/p-825cd4a4.js +0 -1
  332. package/dist/elements/p-8e7bb098.js +0 -1
  333. package/dist/elements/p-94ccf933.js +0 -1
  334. package/dist/elements/p-974e28d1.entry.js +0 -1
  335. package/dist/elements/p-a856c740.entry.js +0 -1
  336. package/dist/elements/p-aae3bbd8.js +0 -1
  337. package/dist/elements/p-bc8ab428.entry.js +0 -1
  338. package/dist/elements/p-cb3dd05c.entry.js +0 -1
  339. package/dist/elements/p-cd151f5b.js +0 -1
  340. package/dist/elements/p-cd981ec5.js +0 -1
  341. package/dist/elements/p-d9cf0163.js +0 -1
  342. package/dist/elements/p-db2e69b4.js +0 -1
  343. package/dist/elements/p-deec7dde.entry.js +0 -1
  344. package/dist/elements/p-e110bbef.entry.js +0 -1
  345. package/dist/elements/p-f8e7eda0.js +0 -1
  346. package/dist/elements/p-fba364fd.entry.js +0 -1
  347. package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.ios.css +0 -371
  348. package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.md.css +0 -287
  349. package/dist/node_modules/@ionic/core/dist/collection/components/alert/alert.ios.css +0 -494
  350. package/dist/node_modules/@ionic/core/dist/collection/components/alert/alert.md.css +0 -502
  351. package/dist/node_modules/@ionic/core/dist/collection/components/app/app.css +0 -17
  352. package/dist/node_modules/@ionic/core/dist/collection/components/avatar/avatar.ios.css +0 -22
  353. package/dist/node_modules/@ionic/core/dist/collection/components/avatar/avatar.md.css +0 -22
  354. package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.ios.css +0 -281
  355. package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.md.css +0 -309
  356. package/dist/node_modules/@ionic/core/dist/collection/components/backdrop/backdrop.ios.css +0 -26
  357. package/dist/node_modules/@ionic/core/dist/collection/components/backdrop/backdrop.md.css +0 -26
  358. package/dist/node_modules/@ionic/core/dist/collection/components/badge/badge.ios.css +0 -58
  359. package/dist/node_modules/@ionic/core/dist/collection/components/badge/badge.md.css +0 -62
  360. package/dist/node_modules/@ionic/core/dist/collection/components/button/button.ios.css +0 -439
  361. package/dist/node_modules/@ionic/core/dist/collection/components/button/button.md.css +0 -428
  362. package/dist/node_modules/@ionic/core/dist/collection/components/buttons/buttons.ios.css +0 -128
  363. package/dist/node_modules/@ionic/core/dist/collection/components/buttons/buttons.md.css +0 -151
  364. package/dist/node_modules/@ionic/core/dist/collection/components/card/card.ios.css +0 -101
  365. package/dist/node_modules/@ionic/core/dist/collection/components/card/card.md.css +0 -95
  366. package/dist/node_modules/@ionic/core/dist/collection/components/card-content/card-content.ios.css +0 -61
  367. package/dist/node_modules/@ionic/core/dist/collection/components/card-content/card-content.md.css +0 -63
  368. package/dist/node_modules/@ionic/core/dist/collection/components/card-header/card-header.ios.css +0 -37
  369. package/dist/node_modules/@ionic/core/dist/collection/components/card-header/card-header.md.css +0 -35
  370. package/dist/node_modules/@ionic/core/dist/collection/components/card-subtitle/card-subtitle.ios.css +0 -28
  371. package/dist/node_modules/@ionic/core/dist/collection/components/card-subtitle/card-subtitle.md.css +0 -26
  372. package/dist/node_modules/@ionic/core/dist/collection/components/card-title/card-title.ios.css +0 -27
  373. package/dist/node_modules/@ionic/core/dist/collection/components/card-title/card-title.md.css +0 -27
  374. package/dist/node_modules/@ionic/core/dist/collection/components/checkbox/checkbox.ios.css +0 -169
  375. package/dist/node_modules/@ionic/core/dist/collection/components/checkbox/checkbox.md.css +0 -172
  376. package/dist/node_modules/@ionic/core/dist/collection/components/chip/chip.ios.css +0 -200
  377. package/dist/node_modules/@ionic/core/dist/collection/components/chip/chip.md.css +0 -200
  378. package/dist/node_modules/@ionic/core/dist/collection/components/col/col.css +0 -108
  379. package/dist/node_modules/@ionic/core/dist/collection/components/content/content.css +0 -184
  380. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.ios.css +0 -106
  381. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.md.css +0 -106
  382. package/dist/node_modules/@ionic/core/dist/collection/components/fab/fab.css +0 -61
  383. package/dist/node_modules/@ionic/core/dist/collection/components/fab-button/fab-button.ios.css +0 -338
  384. package/dist/node_modules/@ionic/core/dist/collection/components/fab-button/fab-button.md.css +0 -307
  385. package/dist/node_modules/@ionic/core/dist/collection/components/fab-list/fab-list.css +0 -116
  386. package/dist/node_modules/@ionic/core/dist/collection/components/footer/footer.ios.css +0 -33
  387. package/dist/node_modules/@ionic/core/dist/collection/components/footer/footer.md.css +0 -37
  388. package/dist/node_modules/@ionic/core/dist/collection/components/grid/grid.css +0 -151
  389. package/dist/node_modules/@ionic/core/dist/collection/components/header/header.ios.css +0 -92
  390. package/dist/node_modules/@ionic/core/dist/collection/components/header/header.md.css +0 -40
  391. package/dist/node_modules/@ionic/core/dist/collection/components/img/img.css +0 -12
  392. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll/infinite-scroll.css +0 -8
  393. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +0 -54
  394. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +0 -54
  395. package/dist/node_modules/@ionic/core/dist/collection/components/input/input.ios.css +0 -185
  396. package/dist/node_modules/@ionic/core/dist/collection/components/input/input.md.css +0 -185
  397. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.ios.css +0 -580
  398. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.md.css +0 -654
  399. package/dist/node_modules/@ionic/core/dist/collection/components/item-divider/item-divider.ios.css +0 -204
  400. package/dist/node_modules/@ionic/core/dist/collection/components/item-divider/item-divider.md.css +0 -297
  401. package/dist/node_modules/@ionic/core/dist/collection/components/item-group/item-group.ios.css +0 -3
  402. package/dist/node_modules/@ionic/core/dist/collection/components/item-group/item-group.md.css +0 -3
  403. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.ios.css +0 -186
  404. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.md.css +0 -180
  405. package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.ios.css +0 -88
  406. package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.md.css +0 -85
  407. package/dist/node_modules/@ionic/core/dist/collection/components/item-sliding/item-sliding.css +0 -42
  408. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.ios.css +0 -156
  409. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.md.css +0 -172
  410. package/dist/node_modules/@ionic/core/dist/collection/components/list/list.ios.css +0 -91
  411. package/dist/node_modules/@ionic/core/dist/collection/components/list/list.md.css +0 -114
  412. package/dist/node_modules/@ionic/core/dist/collection/components/list-header/list-header.ios.css +0 -118
  413. package/dist/node_modules/@ionic/core/dist/collection/components/list-header/list-header.md.css +0 -94
  414. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.ios.css +0 -114
  415. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.md.css +0 -105
  416. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.ios.css +0 -131
  417. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.md.css +0 -127
  418. package/dist/node_modules/@ionic/core/dist/collection/components/menu-button/menu-button.ios.css +0 -175
  419. package/dist/node_modules/@ionic/core/dist/collection/components/menu-button/menu-button.md.css +0 -178
  420. package/dist/node_modules/@ionic/core/dist/collection/components/menu-toggle/menu-toggle.css +0 -3
  421. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.ios.css +0 -159
  422. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.md.css +0 -105
  423. package/dist/node_modules/@ionic/core/dist/collection/components/nav/nav.css +0 -10
  424. package/dist/node_modules/@ionic/core/dist/collection/components/note/note.ios.css +0 -16
  425. package/dist/node_modules/@ionic/core/dist/collection/components/note/note.md.css +0 -17
  426. package/dist/node_modules/@ionic/core/dist/collection/components/picker/picker.ios.css +0 -217
  427. package/dist/node_modules/@ionic/core/dist/collection/components/picker/picker.md.css +0 -204
  428. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column/picker-column.ios.css +0 -122
  429. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column/picker-column.md.css +0 -123
  430. package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.ios.css +0 -118
  431. package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.md.css +0 -83
  432. package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.ios.css +0 -206
  433. package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.md.css +0 -206
  434. package/dist/node_modules/@ionic/core/dist/collection/components/radio/radio.ios.css +0 -177
  435. package/dist/node_modules/@ionic/core/dist/collection/components/radio/radio.md.css +0 -178
  436. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.ios.css +0 -275
  437. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.md.css +0 -320
  438. package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.ios.css +0 -177
  439. package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.md.css +0 -210
  440. package/dist/node_modules/@ionic/core/dist/collection/components/reorder/reorder.ios.css +0 -15
  441. package/dist/node_modules/@ionic/core/dist/collection/components/reorder/reorder.md.css +0 -15
  442. package/dist/node_modules/@ionic/core/dist/collection/components/reorder-group/reorder-group.css +0 -33
  443. package/dist/node_modules/@ionic/core/dist/collection/components/ripple-effect/ripple-effect.css +0 -58
  444. package/dist/node_modules/@ionic/core/dist/collection/components/router-link/router-link.css +0 -29
  445. package/dist/node_modules/@ionic/core/dist/collection/components/router-outlet/route-outlet.css +0 -10
  446. package/dist/node_modules/@ionic/core/dist/collection/components/row/row.css +0 -4
  447. package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.ios.css +0 -348
  448. package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.md.css +0 -279
  449. package/dist/node_modules/@ionic/core/dist/collection/components/segment/segment.ios.css +0 -65
  450. package/dist/node_modules/@ionic/core/dist/collection/components/segment/segment.md.css +0 -36
  451. package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.ios.css +0 -446
  452. package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.md.css +0 -424
  453. package/dist/node_modules/@ionic/core/dist/collection/components/select/select.ios.css +0 -145
  454. package/dist/node_modules/@ionic/core/dist/collection/components/select/select.md.css +0 -149
  455. package/dist/node_modules/@ionic/core/dist/collection/components/select-option/select-option.css +0 -3
  456. package/dist/node_modules/@ionic/core/dist/collection/components/select-popover/select-popover.css +0 -14
  457. package/dist/node_modules/@ionic/core/dist/collection/components/skeleton-text/skeleton-text.css +0 -53
  458. package/dist/node_modules/@ionic/core/dist/collection/components/slide/slide.css +0 -31
  459. package/dist/node_modules/@ionic/core/dist/collection/components/slides/slides.ios.css +0 -764
  460. package/dist/node_modules/@ionic/core/dist/collection/components/slides/slides.md.css +0 -764
  461. package/dist/node_modules/@ionic/core/dist/collection/components/spinner/spinner.css +0 -154
  462. package/dist/node_modules/@ionic/core/dist/collection/components/split-pane/split-pane.ios.css +0 -108
  463. package/dist/node_modules/@ionic/core/dist/collection/components/split-pane/split-pane.md.css +0 -108
  464. package/dist/node_modules/@ionic/core/dist/collection/components/tab/tab.css +0 -4
  465. package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.ios.css +0 -97
  466. package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.md.css +0 -82
  467. package/dist/node_modules/@ionic/core/dist/collection/components/tab-button/tab-button.ios.css +0 -308
  468. package/dist/node_modules/@ionic/core/dist/collection/components/tab-button/tab-button.md.css +0 -331
  469. package/dist/node_modules/@ionic/core/dist/collection/components/tabs/tabs.css +0 -19
  470. package/dist/node_modules/@ionic/core/dist/collection/components/text/text.css +0 -3
  471. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.ios.css +0 -158
  472. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.md.css +0 -162
  473. package/dist/node_modules/@ionic/core/dist/collection/components/thumbnail/thumbnail.css +0 -21
  474. package/dist/node_modules/@ionic/core/dist/collection/components/title/title.ios.css +0 -122
  475. package/dist/node_modules/@ionic/core/dist/collection/components/title/title.md.css +0 -55
  476. package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.ios.css +0 -250
  477. package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.md.css +0 -283
  478. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.ios.css +0 -237
  479. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.md.css +0 -234
  480. package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.ios.css +0 -174
  481. package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.md.css +0 -167
  482. package/dist/node_modules/@ionic/core/dist/collection/components/virtual-scroll/virtual-scroll.css +0 -21
  483. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +0 -101
@@ -1,4 +1,4 @@
1
- import { getMode, Context, setMode, writeTask, createEvent, readTask, h, Host, forceUpdate, Build, attachShadow, getAssetPath, getRenderingRef, proxyCustomElement } from '@stencil/core/internal/client';
1
+ import { getMode, Context, setMode, writeTask, HTMLElement as HTMLElement$1, createEvent, readTask, h, Host, forceUpdate, Build, getAssetPath, getRenderingRef, proxyCustomElement } from '@stencil/core/internal/client';
2
2
  export { setAssetPath, setPlatformOptions } from '@stencil/core/internal/client';
3
3
 
4
4
  const getPlatforms = (win) => setupPlatforms(win);
@@ -1131,6 +1131,72 @@ const inheritAttributes = (el, attributes = []) => {
1131
1131
  });
1132
1132
  return attributeObject;
1133
1133
  };
1134
+ /**
1135
+ * List of available ARIA attributes + `role`.
1136
+ * Removed deprecated attributes.
1137
+ * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes
1138
+ */
1139
+ const ariaAttributes = [
1140
+ 'role',
1141
+ 'aria-activedescendant',
1142
+ 'aria-atomic',
1143
+ 'aria-autocomplete',
1144
+ 'aria-braillelabel',
1145
+ 'aria-brailleroledescription',
1146
+ 'aria-busy',
1147
+ 'aria-checked',
1148
+ 'aria-colcount',
1149
+ 'aria-colindex',
1150
+ 'aria-colindextext',
1151
+ 'aria-colspan',
1152
+ 'aria-controls',
1153
+ 'aria-current',
1154
+ 'aria-describedby',
1155
+ 'aria-description',
1156
+ 'aria-details',
1157
+ 'aria-disabled',
1158
+ 'aria-errormessage',
1159
+ 'aria-expanded',
1160
+ 'aria-flowto',
1161
+ 'aria-haspopup',
1162
+ 'aria-hidden',
1163
+ 'aria-invalid',
1164
+ 'aria-keyshortcuts',
1165
+ 'aria-label',
1166
+ 'aria-labelledby',
1167
+ 'aria-level',
1168
+ 'aria-live',
1169
+ 'aria-multiline',
1170
+ 'aria-multiselectable',
1171
+ 'aria-orientation',
1172
+ 'aria-owns',
1173
+ 'aria-placeholder',
1174
+ 'aria-posinset',
1175
+ 'aria-pressed',
1176
+ 'aria-readonly',
1177
+ 'aria-relevant',
1178
+ 'aria-required',
1179
+ 'aria-roledescription',
1180
+ 'aria-rowcount',
1181
+ 'aria-rowindex',
1182
+ 'aria-rowindextext',
1183
+ 'aria-rowspan',
1184
+ 'aria-selected',
1185
+ 'aria-setsize',
1186
+ 'aria-sort',
1187
+ 'aria-valuemax',
1188
+ 'aria-valuemin',
1189
+ 'aria-valuenow',
1190
+ 'aria-valuetext',
1191
+ ];
1192
+ /**
1193
+ * Returns an array of aria attributes that should be copied from
1194
+ * the shadow host element to a target within the light DOM.
1195
+ * @param el The element that the attributes should be copied from.
1196
+ */
1197
+ const inheritAriaAttributes = (el) => {
1198
+ return inheritAttributes(el, ariaAttributes);
1199
+ };
1134
1200
  const addEventListener = (el, eventName, callback, opts) => {
1135
1201
  if (typeof window !== 'undefined') {
1136
1202
  const win = window;
@@ -1380,10 +1446,10 @@ const createOverlay = (tagName, opts) => {
1380
1446
  }
1381
1447
  return Promise.resolve();
1382
1448
  };
1383
- const focusableQueryString = '[tabindex]:not([tabindex^="-"]), input:not([type=hidden]):not([tabindex^="-"]), textarea:not([tabindex^="-"]), button:not([tabindex^="-"]), select:not([tabindex^="-"]), .ion-focusable:not([tabindex^="-"])';
1449
+ const focusableQueryString$1 = '[tabindex]:not([tabindex^="-"]), input:not([type=hidden]):not([tabindex^="-"]), textarea:not([tabindex^="-"]), button:not([tabindex^="-"]), select:not([tabindex^="-"]), .ion-focusable:not([tabindex^="-"])';
1384
1450
  const innerFocusableQueryString = 'input:not([type=hidden]), textarea, button, select';
1385
1451
  const focusFirstDescendant = (ref, overlay) => {
1386
- let firstInput = ref.querySelector(focusableQueryString);
1452
+ let firstInput = ref.querySelector(focusableQueryString$1);
1387
1453
  const shadowRoot = firstInput && firstInput.shadowRoot;
1388
1454
  if (shadowRoot) {
1389
1455
  // If there are no inner focusable elements, just focus the host element.
@@ -1398,7 +1464,7 @@ const focusFirstDescendant = (ref, overlay) => {
1398
1464
  }
1399
1465
  };
1400
1466
  const focusLastDescendant = (ref, overlay) => {
1401
- const inputs = Array.from(ref.querySelectorAll(focusableQueryString));
1467
+ const inputs = Array.from(ref.querySelectorAll(focusableQueryString$1));
1402
1468
  let lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
1403
1469
  const shadowRoot = lastInput && lastInput.shadowRoot;
1404
1470
  if (shadowRoot) {
@@ -2793,11 +2859,11 @@ const mdLeaveAnimation$5 = (baseEl) => {
2793
2859
  .addAnimation([backdropAnimation, wrapperAnimation]);
2794
2860
  };
2795
2861
 
2796
- const actionSheetIosCss = ".sc-ion-action-sheet-ios-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:100%;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);touch-action:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-ios-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-ios{left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;transform:translate3d(0, 100%, 0);display:block;position:absolute;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);z-index:10;pointer-events:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-button.sc-ion-action-sheet-ios{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button-inner.sc-ion-action-sheet-ios{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-ios{display:flex;flex-flow:column;justify-content:flex-end;height:100%;max-height:100%}.action-sheet-group.sc-ion-action-sheet-ios{flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}.action-sheet-group.sc-ion-action-sheet-ios::-webkit-scrollbar{display:none}.action-sheet-group-cancel.sc-ion-action-sheet-ios{flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.action-sheet-selected.sc-ion-action-sheet-ios{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-ios:hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-ios:hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, #f9f9f9));--backdrop-opacity:var(--ion-backdrop-opacity, 0.4);--button-background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent;--button-background-activated:var(--ion-text-color, #000);--button-background-activated-opacity:.08;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-background-selected:var(--ion-color-step-150, var(--ion-background-color, #fff));--button-background-selected-opacity:1;--button-color:var(--ion-color-primary, #3880ff);--color:var(--ion-color-step-400, #999999);text-align:center}.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:auto;margin-right:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:var(--ion-safe-area-bottom, 0)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-container.sc-ion-action-sheet-ios{padding-left:8px;padding-right:8px;padding-top:0;padding-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-container.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.action-sheet-group.sc-ion-action-sheet-ios{border-radius:13px;margin-bottom:8px}.action-sheet-group.sc-ion-action-sheet-ios:first-child{margin-top:10px}.action-sheet-group.sc-ion-action-sheet-ios:last-child{margin-bottom:10px}@supports (backdrop-filter: blur(0)){.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-group.sc-ion-action-sheet-ios{background-color:transparent;backdrop-filter:saturate(280%) blur(20px)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-title.sc-ion-action-sheet-ios,.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.sc-ion-action-sheet-ios{background-color:transparent;background-image:linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%), linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4) 50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 50%);background-repeat:no-repeat;background-position:top, bottom;background-size:100% calc(100% - 1px), 100% 1px;backdrop-filter:saturate(120%)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.ion-activated.sc-ion-action-sheet-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.7);background-image:none}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-cancel.sc-ion-action-sheet-ios{background:var(--button-background-selected)}}.action-sheet-title.sc-ion-action-sheet-ios{background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent}.action-sheet-title.sc-ion-action-sheet-ios{padding-left:10px;padding-right:10px;padding-top:14px;padding-bottom:13px;color:var(--color, var(--ion-color-step-400, #999999));font-size:13px;font-weight:400;text-align:center}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-title.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}.action-sheet-title.action-sheet-has-sub-title.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-sub-title.sc-ion-action-sheet-ios{padding-left:0;padding-right:0;padding-top:6px;padding-bottom:0;font-size:13px;font-weight:400}.action-sheet-button.sc-ion-action-sheet-ios{padding-left:18px;padding-right:18px;padding-top:18px;padding-bottom:18px;height:56px;font-size:20px;contain:strict}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:18px;padding-inline-start:18px;-webkit-padding-end:18px;padding-inline-end:18px}}.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{margin-right:0.3em;font-size:28px;pointer-events:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.action-sheet-button.sc-ion-action-sheet-ios:last-child{background-image:none}.action-sheet-selected.sc-ion-action-sheet-ios{font-weight:bold}.action-sheet-cancel.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-cancel.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-destructive.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-activated.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-focused.sc-ion-action-sheet-ios{color:var(--ion-color-danger, #eb445a)}@media (any-hover: hover){.action-sheet-destructive.sc-ion-action-sheet-ios:hover{color:var(--ion-color-danger, #eb445a)}}";
2862
+ const actionSheetIosCss = ".sc-ion-action-sheet-ios-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:100%;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);touch-action:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-ios-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-ios{left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:var(--ion-safe-area-bottom, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);z-index:10;pointer-events:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-button.sc-ion-action-sheet-ios{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button-inner.sc-ion-action-sheet-ios{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-ios{display:flex;flex-flow:column;justify-content:flex-end;height:100%;max-height:100%}.action-sheet-group.sc-ion-action-sheet-ios{flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}.action-sheet-group.sc-ion-action-sheet-ios::-webkit-scrollbar{display:none}.action-sheet-group-cancel.sc-ion-action-sheet-ios{flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-ios::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.action-sheet-selected.sc-ion-action-sheet-ios{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-ios::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-ios::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-ios:hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-ios:hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-ios-h{--background:var(--ion-overlay-background-color, var(--ion-color-step-100, #f9f9f9));--backdrop-opacity:var(--ion-backdrop-opacity, 0.4);--button-background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent;--button-background-activated:var(--ion-text-color, #000);--button-background-activated-opacity:.08;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-background-selected:var(--ion-color-step-150, var(--ion-background-color, #fff));--button-background-selected-opacity:1;--button-color:var(--ion-color-primary, #3880ff);--color:var(--ion-color-step-400, #999999);text-align:center}.action-sheet-container.sc-ion-action-sheet-ios{padding-left:8px;padding-right:8px;padding-top:0;padding-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-container.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.action-sheet-group.sc-ion-action-sheet-ios{border-radius:13px;margin-bottom:8px}.action-sheet-group.sc-ion-action-sheet-ios:first-child{margin-top:10px}.action-sheet-group.sc-ion-action-sheet-ios:last-child{margin-bottom:10px}@supports (backdrop-filter: blur(0)){.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-group.sc-ion-action-sheet-ios{background-color:transparent;backdrop-filter:saturate(280%) blur(20px)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-title.sc-ion-action-sheet-ios,.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.sc-ion-action-sheet-ios{background-color:transparent;background-image:linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%), linear-gradient(0deg, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4), rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.4) 50%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 50%);background-repeat:no-repeat;background-position:top, bottom;background-size:100% calc(100% - 1px), 100% 1px;backdrop-filter:saturate(120%)}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-button.ion-activated.sc-ion-action-sheet-ios{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.7);background-image:none}.action-sheet-translucent.sc-ion-action-sheet-ios-h .action-sheet-cancel.sc-ion-action-sheet-ios{background:var(--button-background-selected)}}.action-sheet-title.sc-ion-action-sheet-ios{background:linear-gradient(0deg, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08), rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08) 50%, transparent 50%) bottom/100% 1px no-repeat transparent}.action-sheet-title.sc-ion-action-sheet-ios{padding-left:10px;padding-right:10px;padding-top:14px;padding-bottom:13px;color:var(--color, var(--ion-color-step-400, #999999));font-size:13px;font-weight:400;text-align:center}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-title.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}.action-sheet-title.action-sheet-has-sub-title.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-sub-title.sc-ion-action-sheet-ios{padding-left:0;padding-right:0;padding-top:6px;padding-bottom:0;font-size:13px;font-weight:400}.action-sheet-button.sc-ion-action-sheet-ios{padding-left:18px;padding-right:18px;padding-top:18px;padding-bottom:18px;height:56px;font-size:20px;contain:strict}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:18px;padding-inline-start:18px;-webkit-padding-end:18px;padding-inline-end:18px}}.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{margin-right:0.3em;font-size:28px;pointer-events:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-ios .action-sheet-icon.sc-ion-action-sheet-ios{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.action-sheet-button.sc-ion-action-sheet-ios:last-child{background-image:none}.action-sheet-selected.sc-ion-action-sheet-ios{font-weight:bold}.action-sheet-cancel.sc-ion-action-sheet-ios{font-weight:600}.action-sheet-cancel.sc-ion-action-sheet-ios::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-destructive.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-activated.sc-ion-action-sheet-ios,.action-sheet-destructive.ion-focused.sc-ion-action-sheet-ios{color:var(--ion-color-danger, #eb445a)}@media (any-hover: hover){.action-sheet-destructive.sc-ion-action-sheet-ios:hover{color:var(--ion-color-danger, #eb445a)}}";
2797
2863
 
2798
- const actionSheetMdCss = ".sc-ion-action-sheet-md-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:100%;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);touch-action:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-md-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-md{left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;transform:translate3d(0, 100%, 0);display:block;position:absolute;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);z-index:10;pointer-events:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-md{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-button.sc-ion-action-sheet-md{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button-inner.sc-ion-action-sheet-md{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-md{display:flex;flex-flow:column;justify-content:flex-end;height:100%;max-height:100%}.action-sheet-group.sc-ion-action-sheet-md{flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}.action-sheet-group.sc-ion-action-sheet-md::-webkit-scrollbar{display:none}.action-sheet-group-cancel.sc-ion-action-sheet-md{flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.action-sheet-selected.sc-ion-action-sheet-md{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-md::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-md:hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-md:hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);--button-background:transparent;--button-background-selected:currentColor;--button-background-selected-opacity:0;--button-background-activated:transparent;--button-background-activated-opacity:0;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-color:var(--ion-color-step-850, #262626);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}.action-sheet-title.sc-ion-action-sheet-md{padding-left:16px;padding-right:16px;padding-top:20px;padding-bottom:17px;min-height:60px;color:var(--color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54));font-size:16px;text-align:start}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-title.sc-ion-action-sheet-md{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.action-sheet-sub-title.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:16px;padding-bottom:0;font-size:14px}.action-sheet-group.sc-ion-action-sheet-md:first-child{padding-top:0}.action-sheet-group.sc-ion-action-sheet-md:last-child{padding-bottom:0}.action-sheet-button.sc-ion-action-sheet-md{padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:0;position:relative;height:52px;font-size:16px;text-align:start;contain:strict;overflow:hidden}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-md{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.action-sheet-icon.sc-ion-action-sheet-md{padding-bottom:4px;margin-left:0;margin-right:32px;margin-top:0;margin-bottom:0;color:var(--color);font-size:24px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-icon.sc-ion-action-sheet-md{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:32px;margin-inline-end:32px}}.action-sheet-button-inner.sc-ion-action-sheet-md{justify-content:flex-start}.action-sheet-selected.sc-ion-action-sheet-md{font-weight:bold}";
2864
+ const actionSheetMdCss = ".sc-ion-action-sheet-md-h{--color:initial;--button-color-activated:var(--button-color);--button-color-focused:var(--button-color);--button-color-hover:var(--button-color);--button-color-selected:var(--button-color);--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--height:100%;--max-height:calc(100% - (var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:block;position:fixed;outline:none;font-family:var(--ion-font-family, inherit);touch-action:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-action-sheet-md-h{display:none}.action-sheet-wrapper.sc-ion-action-sheet-md{left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:var(--ion-safe-area-top, 0);margin-bottom:var(--ion-safe-area-bottom, 0);transform:translate3d(0, 100%, 0);display:block;position:absolute;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);z-index:10;pointer-events:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-wrapper.sc-ion-action-sheet-md{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.action-sheet-button.sc-ion-action-sheet-md{display:block;position:relative;width:100%;border:0;outline:none;background:var(--button-background);color:var(--button-color);font-family:inherit;overflow:hidden}.action-sheet-button-inner.sc-ion-action-sheet-md{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;pointer-events:none;width:100%;height:100%;z-index:1}.action-sheet-container.sc-ion-action-sheet-md{display:flex;flex-flow:column;justify-content:flex-end;height:100%;max-height:100%}.action-sheet-group.sc-ion-action-sheet-md{flex-shrink:2;overscroll-behavior-y:contain;overflow-y:auto;-webkit-overflow-scrolling:touch;pointer-events:all;background:var(--background)}.action-sheet-group.sc-ion-action-sheet-md::-webkit-scrollbar{display:none}.action-sheet-group-cancel.sc-ion-action-sheet-md{flex-shrink:0;overflow:hidden}.action-sheet-button.sc-ion-action-sheet-md::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.action-sheet-selected.sc-ion-action-sheet-md{color:var(--button-color-selected)}.action-sheet-selected.sc-ion-action-sheet-md::after{background:var(--button-background-selected);opacity:var(--button-background-selected-opacity)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md{color:var(--button-color-activated)}.action-sheet-button.ion-activated.sc-ion-action-sheet-md::after{background:var(--button-background-activated);opacity:var(--button-background-activated-opacity)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md{color:var(--button-color-focused)}.action-sheet-button.ion-focused.sc-ion-action-sheet-md::after{background:var(--button-background-focused);opacity:var(--button-background-focused-opacity)}@media (any-hover: hover){.action-sheet-button.sc-ion-action-sheet-md:hover{color:var(--button-color-hover)}.action-sheet-button.sc-ion-action-sheet-md:hover::after{background:var(--button-background-hover);opacity:var(--button-background-hover-opacity)}}.sc-ion-action-sheet-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);--button-background:transparent;--button-background-selected:currentColor;--button-background-selected-opacity:0;--button-background-activated:transparent;--button-background-activated-opacity:0;--button-background-hover:currentColor;--button-background-hover-opacity:.04;--button-background-focused:currentColor;--button-background-focused-opacity:.12;--button-color:var(--ion-color-step-850, #262626);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54)}.action-sheet-title.sc-ion-action-sheet-md{padding-left:16px;padding-right:16px;padding-top:20px;padding-bottom:17px;min-height:60px;color:var(--color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54));font-size:16px;text-align:start}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-title.sc-ion-action-sheet-md{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.action-sheet-sub-title.sc-ion-action-sheet-md{padding-left:0;padding-right:0;padding-top:16px;padding-bottom:0;font-size:14px}.action-sheet-group.sc-ion-action-sheet-md:first-child{padding-top:0}.action-sheet-group.sc-ion-action-sheet-md:last-child{padding-bottom:0}.action-sheet-button.sc-ion-action-sheet-md{padding-left:16px;padding-right:16px;padding-top:0;padding-bottom:0;position:relative;height:52px;font-size:16px;text-align:start;contain:strict;overflow:hidden}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-button.sc-ion-action-sheet-md{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.action-sheet-icon.sc-ion-action-sheet-md{padding-bottom:4px;margin-left:0;margin-right:32px;margin-top:0;margin-bottom:0;color:var(--color);font-size:24px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.action-sheet-icon.sc-ion-action-sheet-md{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:32px;margin-inline-end:32px}}.action-sheet-button-inner.sc-ion-action-sheet-md{justify-content:flex-start}.action-sheet-selected.sc-ion-action-sheet-md{font-weight:bold}";
2799
2865
 
2800
- const ActionSheet = class extends HTMLElement {
2866
+ const ActionSheet = class extends HTMLElement$1 {
2801
2867
  constructor() {
2802
2868
  super();
2803
2869
  this.__registerHost();
@@ -3187,7 +3253,7 @@ const alertIosCss = ".sc-ion-alert-ios-h{--min-width:250px;--width:auto;--min-he
3187
3253
 
3188
3254
  const alertMdCss = ".sc-ion-alert-md-h{--min-width:250px;--width:auto;--min-height:auto;--height:auto;--max-height:90%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:flex;position:absolute;align-items:center;justify-content:center;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;touch-action:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-alert-md-h{display:none}.alert-top.sc-ion-alert-md-h{padding-top:50px;align-items:flex-start}.alert-wrapper.sc-ion-alert-md{display:flex;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:content;opacity:0;z-index:10}.alert-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-sub-title.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-weight:normal}.alert-message.sc-ion-alert-md{box-sizing:border-box;-webkit-overflow-scrolling:touch;overflow-y:auto;overscroll-behavior-y:contain}.alert-checkbox-group.sc-ion-alert-md::-webkit-scrollbar,.alert-radio-group.sc-ion-alert-md::-webkit-scrollbar,.alert-message.sc-ion-alert-md::-webkit-scrollbar{display:none}.alert-input.sc-ion-alert-md{padding-left:0;padding-right:0;padding-top:10px;padding-bottom:10px;width:100%;border:0;background:inherit;font:inherit;box-sizing:border-box}.alert-button-group.sc-ion-alert-md{display:flex;flex-direction:row;width:100%}.alert-button-group-vertical.sc-ion-alert-md{flex-direction:column;flex-wrap:nowrap}.alert-button.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;border:0;font-size:14px;line-height:20px;z-index:0}.alert-button.ion-focused.sc-ion-alert-md,.alert-tappable.ion-focused.sc-ion-alert-md{background:var(--ion-color-step-100, #e6e6e6)}.alert-button-inner.sc-ion-alert-md{display:flex;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%}.alert-input-disabled.sc-ion-alert-md,.alert-checkbox-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md,.alert-radio-button-disabled.sc-ion-alert-md .alert-button-inner.sc-ion-alert-md{cursor:default;opacity:0.5;pointer-events:none}.alert-tappable.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:flex;width:100%;border:0;background:transparent;font-size:inherit;line-height:initial;text-align:start;appearance:none;contain:strict}.alert-button.sc-ion-alert-md,.alert-checkbox.sc-ion-alert-md,.alert-input.sc-ion-alert-md,.alert-radio.sc-ion-alert-md{outline:none}.alert-radio-icon.sc-ion-alert-md,.alert-checkbox-icon.sc-ion-alert-md,.alert-checkbox-inner.sc-ion-alert-md{box-sizing:border-box}textarea.alert-input.sc-ion-alert-md{min-height:37px;resize:none}.sc-ion-alert-md-h{--background:var(--ion-overlay-background-color, var(--ion-background-color, #fff));--max-width:280px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);font-size:14px}.alert-wrapper.sc-ion-alert-md{border-radius:4px;box-shadow:0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12)}.alert-head.sc-ion-alert-md{padding-left:23px;padding-right:23px;padding-top:20px;padding-bottom:15px;text-align:start}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.alert-head.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:23px;padding-inline-start:23px;-webkit-padding-end:23px;padding-inline-end:23px}}.alert-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:20px;font-weight:500}.alert-sub-title.sc-ion-alert-md{color:var(--ion-text-color, #000);font-size:16px}.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{padding-left:24px;padding-right:24px;padding-top:20px;padding-bottom:20px;color:var(--ion-color-step-550, #737373)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.alert-message.sc-ion-alert-md,.alert-input-group.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px}}.alert-message.sc-ion-alert-md{max-height:266px;font-size:16px}.alert-message.sc-ion-alert-md:empty{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}.alert-head.sc-ion-alert-md+.alert-message.sc-ion-alert-md{padding-top:0}.alert-input.sc-ion-alert-md{margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px;border-bottom:1px solid var(--ion-color-step-150, #d9d9d9);color:var(--ion-text-color, #000)}.alert-input.sc-ion-alert-md::placeholder{color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));font-family:inherit;font-weight:inherit}.alert-input.sc-ion-alert-md::-ms-clear{display:none}.alert-input.sc-ion-alert-md:focus{margin-bottom:4px;border-bottom:2px solid var(--ion-color-primary, #3880ff)}.alert-radio-group.sc-ion-alert-md,.alert-checkbox-group.sc-ion-alert-md{position:relative;max-height:266px;border-top:1px solid var(--ion-color-step-150, #d9d9d9);border-bottom:1px solid var(--ion-color-step-150, #d9d9d9);overflow:auto}.alert-tappable.sc-ion-alert-md{position:relative;height:48px;overflow:hidden}.alert-radio-label.sc-ion-alert-md{padding-left:52px;padding-right:26px;padding-top:13px;padding-bottom:13px;flex:1;color:var(--ion-color-step-850, #262626);font-size:16px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.alert-radio-label.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:52px;padding-inline-start:52px;-webkit-padding-end:26px;padding-inline-end:26px}}.alert-radio-icon.sc-ion-alert-md{left:26px;top:0;border-radius:50%;display:block;position:relative;width:20px;height:20px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, #737373)}[dir=rtl].sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h .alert-radio-icon.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h .alert-radio-icon.sc-ion-alert-md{left:unset;right:unset;right:26px}.alert-radio-inner.sc-ion-alert-md{left:3px;top:3px;border-radius:50%;position:absolute;width:10px;height:10px;transform:scale3d(0, 0, 0);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background-color:var(--ion-color-primary, #3880ff)}[dir=rtl].sc-ion-alert-md .alert-radio-inner.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h .alert-radio-inner.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h .alert-radio-inner.sc-ion-alert-md{left:unset;right:unset;right:3px}[aria-checked=true].sc-ion-alert-md .alert-radio-label.sc-ion-alert-md{color:var(--ion-color-step-850, #262626)}[aria-checked=true].sc-ion-alert-md .alert-radio-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #3880ff)}[aria-checked=true].sc-ion-alert-md .alert-radio-inner.sc-ion-alert-md{transform:scale3d(1, 1, 1)}.alert-checkbox-label.sc-ion-alert-md{padding-left:53px;padding-right:26px;padding-top:13px;padding-bottom:13px;flex:1;color:var(--ion-color-step-850, #262626);font-size:16px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.alert-checkbox-label.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:53px;padding-inline-start:53px;-webkit-padding-end:26px;padding-inline-end:26px}}.alert-checkbox-icon.sc-ion-alert-md{left:26px;top:0;border-radius:2px;position:relative;width:16px;height:16px;border-width:2px;border-style:solid;border-color:var(--ion-color-step-550, #737373);contain:strict}[dir=rtl].sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h .alert-checkbox-icon.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h .alert-checkbox-icon.sc-ion-alert-md{left:unset;right:unset;right:26px}[aria-checked=true].sc-ion-alert-md .alert-checkbox-icon.sc-ion-alert-md{border-color:var(--ion-color-primary, #3880ff);background-color:var(--ion-color-primary, #3880ff)}[aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{left:3px;top:0;position:absolute;width:6px;height:10px;transform:rotate(45deg);border-width:2px;border-top-width:0;border-left-width:0;border-style:solid;border-color:var(--ion-color-primary-contrast, #fff)}[dir=rtl].sc-ion-alert-md [aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md,[dir=rtl].sc-ion-alert-md-h [aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md,[dir=rtl] .sc-ion-alert-md-h [aria-checked=true].sc-ion-alert-md .alert-checkbox-inner.sc-ion-alert-md{left:unset;right:unset;right:3px}.alert-button-group.sc-ion-alert-md{padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;box-sizing:border-box;flex-wrap:wrap-reverse;justify-content:flex-end}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.alert-button-group.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.alert-button.sc-ion-alert-md{border-radius:2px;margin-left:0;margin-right:8px;margin-top:0;margin-bottom:0;padding-left:10px;padding-right:10px;padding-top:10px;padding-bottom:10px;position:relative;background-color:transparent;color:var(--ion-color-primary, #3880ff);font-weight:500;text-align:end;text-transform:uppercase;overflow:hidden}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.alert-button.sc-ion-alert-md{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.alert-button.sc-ion-alert-md{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}.alert-button-inner.sc-ion-alert-md{justify-content:flex-end}";
3189
3255
 
3190
- const Alert = class extends HTMLElement {
3256
+ const Alert = class extends HTMLElement$1 {
3191
3257
  constructor() {
3192
3258
  super();
3193
3259
  this.__registerHost();
@@ -3527,7 +3593,7 @@ const buttonClass$2 = (button) => {
3527
3593
 
3528
3594
  const appCss = "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}";
3529
3595
 
3530
- const App = class extends HTMLElement {
3596
+ const App = class extends HTMLElement$1 {
3531
3597
  constructor() {
3532
3598
  super();
3533
3599
  this.__registerHost();
@@ -3586,11 +3652,11 @@ const avatarIosCss = ":host{border-radius:var(--border-radius);display:block}::s
3586
3652
 
3587
3653
  const avatarMdCss = ":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;object-fit:cover;overflow:hidden}:host{--border-radius:50%;width:64px;height:64px}";
3588
3654
 
3589
- const Avatar = class extends HTMLElement {
3655
+ const Avatar = class extends HTMLElement$1 {
3590
3656
  constructor() {
3591
3657
  super();
3592
3658
  this.__registerHost();
3593
- attachShadow(this);
3659
+ this.__attachShadow();
3594
3660
  }
3595
3661
  render() {
3596
3662
  return (h(Host, { class: getIonMode$1(this) }, h("slot", null)));
@@ -3605,11 +3671,12 @@ const backButtonIosCss = ":host{--background:transparent;--color-focused:current
3605
3671
 
3606
3672
  const backButtonMdCss = ":host{--background:transparent;--color-focused:currentColor;--color-hover:currentColor;--icon-margin-top:0;--icon-margin-bottom:0;--icon-padding-top:0;--icon-padding-end:0;--icon-padding-bottom:0;--icon-padding-start:0;--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--min-width:auto;--min-height:auto;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--opacity:1;--ripple-color:currentColor;--transition:background-color, opacity 100ms linear;display:none;min-width:var(--min-width);min-height:var(--min-height);color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;user-select:none;font-kerning:none}ion-ripple-effect{color:var(--ripple-color)}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.show-back-button){display:block}:host(.back-button-disabled){cursor:default;opacity:0.5;pointer-events:none}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:var(--margin-start);margin-right:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;min-height:inherit;transition:var(--transition);border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;opacity:var(--opacity);overflow:hidden;user-select:none;z-index:0;appearance:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.button-native{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end)}}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-inner{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{padding-left:var(--icon-padding-start);padding-right:var(--icon-padding-end);padding-top:var(--icon-padding-top);padding-bottom:var(--icon-padding-bottom);margin-left:var(--icon-margin-start);margin-right:var(--icon-margin-end);margin-top:var(--icon-margin-top);margin-bottom:var(--icon-margin-bottom);display:inherit;font-size:var(--icon-font-size);font-weight:var(--icon-font-weight);pointer-events:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-icon{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--icon-padding-start);padding-inline-start:var(--icon-padding-start);-webkit-padding-end:var(--icon-padding-end);padding-inline-end:var(--icon-padding-end)}}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--icon-margin-start);margin-inline-start:var(--icon-margin-start);-webkit-margin-end:var(--icon-margin-end);margin-inline-end:var(--icon-margin-end)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-base)}}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--border-radius:4px;--background-focused:currentColor;--background-focused-opacity:.12;--background-hover:currentColor;--background-hover-opacity:0.04;--color:currentColor;--icon-margin-end:0;--icon-margin-start:0;--icon-font-size:24px;--icon-font-weight:normal;--min-height:32px;--min-width:44px;--padding-start:12px;--padding-end:12px;font-size:14px;font-weight:500;text-transform:uppercase}:host(.back-button-has-icon-only){--border-radius:50%;min-width:48px;height:48px}.button-native{box-shadow:none}.button-text{padding-left:4px;padding-right:4px;padding-top:0;padding-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.button-text{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px}}ion-icon{line-height:0.67;text-align:start}@media (any-hover: hover){:host(.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-base)}";
3607
3673
 
3608
- const BackButton = class extends HTMLElement {
3674
+ const BackButton = class extends HTMLElement$1 {
3609
3675
  constructor() {
3610
3676
  super();
3611
3677
  this.__registerHost();
3612
- attachShadow(this);
3678
+ this.__attachShadow();
3679
+ this.inheritedAttributes = {};
3613
3680
  /**
3614
3681
  * If `true`, the user cannot interact with the button.
3615
3682
  */
@@ -3628,6 +3695,7 @@ const BackButton = class extends HTMLElement {
3628
3695
  };
3629
3696
  }
3630
3697
  componentWillLoad() {
3698
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
3631
3699
  if (this.defaultHref === undefined) {
3632
3700
  this.defaultHref = config.get('backButtonDefaultHref');
3633
3701
  }
@@ -3661,9 +3729,10 @@ const BackButton = class extends HTMLElement {
3661
3729
  return 'bounded';
3662
3730
  }
3663
3731
  render() {
3664
- const { color, defaultHref, disabled, type, hasIconOnly, backButtonIcon, backButtonText } = this;
3732
+ const { color, defaultHref, disabled, type, hasIconOnly, backButtonIcon, backButtonText, inheritedAttributes } = this;
3665
3733
  const showBackButton = defaultHref !== undefined;
3666
3734
  const mode = getIonMode$1(this);
3735
+ const ariaLabel = inheritedAttributes['aria-label'] || backButtonText || 'back';
3667
3736
  return (h(Host, { onClick: this.onClick, class: createColorClasses$1(color, {
3668
3737
  [mode]: true,
3669
3738
  'button': true,
@@ -3674,7 +3743,7 @@ const BackButton = class extends HTMLElement {
3674
3743
  'ion-activatable': true,
3675
3744
  'ion-focusable': true,
3676
3745
  'show-back-button': showBackButton
3677
- }) }, h("button", { type: type, disabled: disabled, class: "button-native", part: "native", "aria-label": backButtonText || 'back' }, h("span", { class: "button-inner" }, backButtonIcon && h("ion-icon", { part: "icon", icon: backButtonIcon, "aria-hidden": "true", lazy: false }), backButtonText && h("span", { part: "text", "aria-hidden": "true", class: "button-text" }, backButtonText)), mode === 'md' && h("ion-ripple-effect", { type: this.rippleType }))));
3746
+ }) }, h("button", { type: type, disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }, h("span", { class: "button-inner" }, backButtonIcon && h("ion-icon", { part: "icon", icon: backButtonIcon, "aria-hidden": "true", lazy: false }), backButtonText && h("span", { part: "text", "aria-hidden": "true", class: "button-text" }, backButtonText)), mode === 'md' && h("ion-ripple-effect", { type: this.rippleType }))));
3678
3747
  }
3679
3748
  get el() { return this; }
3680
3749
  static get style() { return {
@@ -3687,11 +3756,11 @@ const backdropIosCss = ":host{left:0;right:0;top:0;bottom:0;display:block;positi
3687
3756
 
3688
3757
  const backdropMdCss = ":host{left:0;right:0;top:0;bottom:0;display:block;position:absolute;transform:translateZ(0);contain:strict;cursor:pointer;opacity:0.01;touch-action:none;z-index:2}:host(.backdrop-hide){background:transparent}:host(.backdrop-no-tappable){cursor:auto}:host{background-color:var(--ion-backdrop-color, #000)}";
3689
3758
 
3690
- const Backdrop = class extends HTMLElement {
3759
+ const Backdrop = class extends HTMLElement$1 {
3691
3760
  constructor() {
3692
3761
  super();
3693
3762
  this.__registerHost();
3694
- attachShadow(this);
3763
+ this.__attachShadow();
3695
3764
  this.ionBackdropTap = createEvent(this, "ionBackdropTap", 7);
3696
3765
  this.blocker = GESTURE_CONTROLLER.createBlocker({
3697
3766
  disableScroll: true
@@ -3747,11 +3816,11 @@ const badgeIosCss = ":host{--background:var(--ion-color-primary, #3880ff);--colo
3747
3816
 
3748
3817
  const badgeMdCss = ":host{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff);--padding-top:3px;--padding-end:8px;--padding-bottom:3px;--padding-start:8px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:inline-block;min-width:10px;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);font-size:13px;font-weight:bold;line-height:1;text-align:center;white-space:nowrap;contain:content;vertical-align:baseline}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(:empty){display:none}:host{--padding-top:3px;--padding-end:4px;--padding-bottom:4px;--padding-start:4px;border-radius:4px}";
3749
3818
 
3750
- const Badge = class extends HTMLElement {
3819
+ const Badge = class extends HTMLElement$1 {
3751
3820
  constructor() {
3752
3821
  super();
3753
3822
  this.__registerHost();
3754
- attachShadow(this);
3823
+ this.__attachShadow();
3755
3824
  }
3756
3825
  render() {
3757
3826
  const mode = getIonMode$1(this);
@@ -3769,11 +3838,11 @@ const buttonIosCss = ":host{--overflow:hidden;--ripple-color:currentColor;--bord
3769
3838
 
3770
3839
  const buttonMdCss = ":host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--ion-color-primary, #3880ff);--background:transparent;--color:var(--ion-color-primary, #3880ff)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--ion-color-primary, #3880ff)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;display:block;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;display:block;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;box-sizing:border-box;appearance:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-native::-moz-focus-inner{border:0}.button-inner{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}::slotted(ion-icon){font-size:1.4em;pointer-events:none}::slotted(ion-icon[slot=start]){margin-left:-0.3em;margin-right:0.3em;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}::slotted(ion-icon[slot=end]){margin-left:0.3em;margin-right:-0.2em;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em}}::slotted(ion-icon[slot=icon-only]){font-size:1.8em}ion-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}:host(.ion-activated){color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.button-solid.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.button-outline.ion-color) .button-native{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}:host(.button-clear.ion-color) .button-native{background:transparent;color:var(--ion-color-base)}:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{color:var(--ion-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}:host{--border-radius:4px;--padding-top:0;--padding-bottom:0;--padding-start:1.1em;--padding-end:1.1em;--transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1),\n background-color 15ms linear,\n color 15ms linear;margin-left:2px;margin-right:2px;margin-top:4px;margin-bottom:4px;height:36px;font-size:14px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}:host(.button-solid){--background-activated:transparent;--background-hover:var(--ion-color-primary-contrast, #fff);--background-focused:var(--ion-color-primary-contrast, #fff);--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--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)}:host(.button-solid.ion-activated){--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12)}:host(.button-outline){--border-width:2px;--border-style:solid;--box-shadow:none;--background-activated:transparent;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:var(--ion-color-primary, #3880ff);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}:host(.button-outline.ion-activated.ion-color) .button-native{background:transparent}:host(.button-clear){--background-activated:transparent;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:var(--ion-color-primary, #3880ff);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}:host(.button-round){--border-radius:64px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}:host(.button-large){--padding-top:0;--padding-start:1em;--padding-end:1em;--padding-bottom:0;height:2.8em;font-size:20px}:host(.button-small){--padding-top:0;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:0;height:2.1em;font-size:13px}:host(.button-strong){font-weight:bold}::slotted(ion-icon[slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host(.button-solid.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.button-clear.ion-color.ion-focused) .button-native::after,:host(.button-outline.ion-color.ion-focused) .button-native::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.button-solid.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}:host(.button-clear.ion-color:hover) .button-native::after,:host(.button-outline.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}";
3771
3840
 
3772
- const Button = class extends HTMLElement {
3841
+ const Button = class extends HTMLElement$1 {
3773
3842
  constructor() {
3774
3843
  super();
3775
3844
  this.__registerHost();
3776
- attachShadow(this);
3845
+ this.__attachShadow();
3777
3846
  this.ionFocus = createEvent(this, "ionFocus", 7);
3778
3847
  this.ionBlur = createEvent(this, "ionBlur", 7);
3779
3848
  this.inItem = false;
@@ -3832,7 +3901,7 @@ const Button = class extends HTMLElement {
3832
3901
  this.inToolbar = !!this.el.closest('ion-buttons');
3833
3902
  this.inListHeader = !!this.el.closest('ion-list-header');
3834
3903
  this.inItem = !!this.el.closest('ion-item') || !!this.el.closest('ion-item-divider');
3835
- this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);
3904
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
3836
3905
  }
3837
3906
  get hasIconOnly() {
3838
3907
  return !!this.el.querySelector('[slot="icon-only"]');
@@ -3890,7 +3959,7 @@ const buttonsIosCss = ".sc-ion-buttons-ios-h{display:flex;align-items:center;tra
3890
3959
 
3891
3960
  const buttonsMdCss = ".sc-ion-buttons-md-h{display:flex;align-items:center;transform:translateZ(0);z-index:99}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;--padding-start:8px;--padding-end:8px;--box-shadow:none;margin-left:2px;margin-right:2px;height:32px;font-size:14px;font-weight:500}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-md-s ion-button:not(.button-round){--border-radius:2px}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button{--color:initial;--color-focused:var(--ion-color-contrast);--color-hover:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-contrast);--background-hover:var(--ion-color-contrast)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-solid,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-solid{--background:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-shade);--background-hover:var(--ion-color-base);--color:var(--ion-color-base);--color-focused:var(--ion-color-base);--color-hover:var(--ion-color-base)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-outline,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-outline{--border-color:var(--ion-color-contrast)}.sc-ion-buttons-md-s .button-has-icon-only.button-clear{--padding-top:12px;--padding-end:12px;--padding-bottom:12px;--padding-start:12px;--border-radius:50%;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:48px;height:48px}.sc-ion-buttons-md-s .button{--background-hover:currentColor}.sc-ion-buttons-md-s .button-solid{--color:var(--ion-toolbar-background, var(--ion-background-color, #fff));--background:var(--ion-toolbar-color, var(--ion-text-color, #424242));--background-activated:transparent;--background-focused:currentColor}.sc-ion-buttons-md-s .button-outline{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--border-color:currentColor}.sc-ion-buttons-md-s .button-clear{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor}.sc-ion-buttons-md-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:1.4em}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:1.4em}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-md-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.8em}";
3892
3961
 
3893
- const Buttons = class extends HTMLElement {
3962
+ const Buttons = class extends HTMLElement$1 {
3894
3963
  constructor() {
3895
3964
  super();
3896
3965
  this.__registerHost();
@@ -3925,11 +3994,11 @@ const cardIosCss = ":host{--ion-safe-area-left:0px;--ion-safe-area-right:0px;-mo
3925
3994
 
3926
3995
  const cardMdCss = ":host{--ion-safe-area-left:0px;--ion-safe-area-right:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.card-disabled){cursor:default;opacity:0.3;pointer-events:none}.card-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:100%;min-height:var(--min-height);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:inherit}.card-native::-moz-focus-inner{border:0}button,a{cursor:pointer;user-select:none;-webkit-user-drag:none}ion-ripple-effect{color:var(--ripple-color)}:host{--background:var(--ion-card-background, var(--ion-item-background, var(--ion-background-color, #fff)));--color:var(--ion-card-color, var(--ion-item-color, var(--ion-color-step-550, #737373)));margin-left:10px;margin-right:10px;margin-top:10px;margin-bottom:10px;border-radius:4px;font-size:14px;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)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}";
3927
3996
 
3928
- const Card = class extends HTMLElement {
3997
+ const Card = class extends HTMLElement$1 {
3929
3998
  constructor() {
3930
3999
  super();
3931
4000
  this.__registerHost();
3932
- attachShadow(this);
4001
+ this.__attachShadow();
3933
4002
  /**
3934
4003
  * If `true`, a button tag will be rendered and the card will be tappable.
3935
4004
  */
@@ -3988,7 +4057,7 @@ const cardContentIosCss = "ion-card-content{display:block;position:relative}.car
3988
4057
 
3989
4058
  const cardContentMdCss = "ion-card-content{display:block;position:relative}.card-content-md{padding-left:16px;padding-right:16px;padding-top:13px;padding-bottom:13px;font-size:14px;line-height:1.5}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.card-content-md{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.card-content-md h1{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}.card-content-md h2{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:16px;font-weight:normal}.card-content-md h3,.card-content-md h4,.card-content-md h5,.card-content-md h6{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:14px;font-weight:normal}.card-content-md p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:14px;font-weight:normal;line-height:1.5}ion-card-header+.card-content-md{padding-top:0}";
3990
4059
 
3991
- const CardContent = class extends HTMLElement {
4060
+ const CardContent = class extends HTMLElement$1 {
3992
4061
  constructor() {
3993
4062
  super();
3994
4063
  this.__registerHost();
@@ -4011,11 +4080,11 @@ const cardHeaderIosCss = ":host{--background:transparent;--color:inherit;display
4011
4080
 
4012
4081
  const cardHeaderMdCss = ":host{--background:transparent;--color:inherit;display:block;position:relative;background:var(--background);color:var(--color)}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{padding-left:16px;padding-right:16px;padding-top:16px;padding-bottom:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}::slotted(ion-card-title:not(:first-child)),::slotted(ion-card-subtitle:not(:first-child)){margin-top:8px}";
4013
4082
 
4014
- const CardHeader = class extends HTMLElement {
4083
+ const CardHeader = class extends HTMLElement$1 {
4015
4084
  constructor() {
4016
4085
  super();
4017
4086
  this.__registerHost();
4018
- attachShadow(this);
4087
+ this.__attachShadow();
4019
4088
  /**
4020
4089
  * If `true`, the card header will be translucent.
4021
4090
  * Only applies when the mode is `"ios"` and the device supports
@@ -4041,11 +4110,11 @@ const cardSubtitleIosCss = ":host{display:block;position:relative;color:var(--co
4041
4110
 
4042
4111
  const cardSubtitleMdCss = ":host{display:block;position:relative;color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-550, #737373);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-size:14px;font-weight:500}";
4043
4112
 
4044
- const CardSubtitle = class extends HTMLElement {
4113
+ const CardSubtitle = class extends HTMLElement$1 {
4045
4114
  constructor() {
4046
4115
  super();
4047
4116
  this.__registerHost();
4048
- attachShadow(this);
4117
+ this.__attachShadow();
4049
4118
  }
4050
4119
  render() {
4051
4120
  const mode = getIonMode$1(this);
@@ -4064,11 +4133,11 @@ const cardTitleIosCss = ":host{display:block;position:relative;color:var(--color
4064
4133
 
4065
4134
  const cardTitleMdCss = ":host{display:block;position:relative;color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-850, #262626);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-size:20px;font-weight:500;line-height:1.2}";
4066
4135
 
4067
- const CardTitle = class extends HTMLElement {
4136
+ const CardTitle = class extends HTMLElement$1 {
4068
4137
  constructor() {
4069
4138
  super();
4070
4139
  this.__registerHost();
4071
- attachShadow(this);
4140
+ this.__attachShadow();
4072
4141
  }
4073
4142
  render() {
4074
4143
  const mode = getIonMode$1(this);
@@ -4087,11 +4156,11 @@ const checkboxIosCss = ":host{--background-checked:var(--ion-color-primary, #388
4087
4156
 
4088
4157
  const checkboxMdCss = ":host{--background-checked:var(--ion-color-primary, #3880ff);--border-color-checked:var(--ion-color-primary, #3880ff);--checkmark-color:var(--ion-color-primary-contrast, #fff);--checkmark-width:1;--transition:none;display:inline-block;position:relative;user-select:none;z-index:2}:host(.ion-color){--background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}label{left:0;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}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}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}.checkbox-icon{border-radius:var(--border-radius);display:block;position:relative;width:100%;height:100%;transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);box-sizing:border-box}.checkbox-icon path{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}:host(.checkbox-checked) .checkbox-icon,:host(.checkbox-indeterminate) .checkbox-icon{border-color:var(--border-color-checked);background:var(--background-checked)}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{opacity:1}:host(.checkbox-disabled){pointer-events:none}:host{--border-radius:calc(var(--size) * .125);--border-width:2px;--border-style:solid;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.51);--checkmark-width:3;--background:var(--ion-item-background, var(--ion-background-color, #fff));--transition:background 180ms cubic-bezier(0.4, 0, 0.2, 1);--size:18px;width:var(--size);height:var(--size)}.checkbox-icon path{stroke-dasharray:30;stroke-dashoffset:30}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{stroke-dashoffset:0;transition:stroke-dashoffset 90ms linear 90ms}:host(.checkbox-disabled){opacity:0.3}:host(.in-item){margin-left:0;margin-right:0;margin-top:18px;margin-bottom:18px;display:block;position:static}:host(.in-item[slot=start]){margin-left:4px;margin-right:36px;margin-top:18px;margin-bottom:18px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:36px;margin-inline-end:36px}}";
4089
4158
 
4090
- const Checkbox = class extends HTMLElement {
4159
+ const Checkbox = class extends HTMLElement$1 {
4091
4160
  constructor() {
4092
4161
  super();
4093
4162
  this.__registerHost();
4094
- attachShadow(this);
4163
+ this.__attachShadow();
4095
4164
  this.ionChange = createEvent(this, "ionChange", 7);
4096
4165
  this.ionFocus = createEvent(this, "ionFocus", 7);
4097
4166
  this.ionBlur = createEvent(this, "ionBlur", 7);
@@ -4196,11 +4265,11 @@ const chipIosCss = ":host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0),
4196
4265
 
4197
4266
  const chipMdCss = ":host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.12);--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.87);border-radius:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:4px;margin-right:4px;margin-top:4px;margin-bottom:4px;padding-left:12px;padding-right:12px;padding-top:7px;padding-bottom:7px;display:inline-flex;position:relative;align-items:center;height:32px;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);font-size:14px;line-height:1;cursor:pointer;overflow:hidden;vertical-align:middle;box-sizing:border-box}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:4px;margin-inline-end:4px}}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}:host(.chip-disabled){cursor:default;opacity:0.4;pointer-events:none}:host(.ion-color){background:rgba(var(--ion-color-base-rgb), 0.08);color:var(--ion-color-shade)}:host(.ion-color:focus){background:rgba(var(--ion-color-base-rgb), 0.12)}:host(.ion-color.ion-activated){background:rgba(var(--ion-color-base-rgb), 0.16)}:host(.chip-outline){border-width:1px;border-style:solid}:host(.chip-outline){border-color:rgba(0, 0, 0, 0.32);background:transparent}:host(.chip-outline.ion-color){border-color:rgba(var(--ion-color-base-rgb), 0.32)}:host(.chip-outline:not(.ion-color):focus){background:rgba(0, 0, 0, 0.04)}:host(.chip-outline.ion-activated:not(.ion-color)){background:rgba(0, 0, 0, 0.08)}::slotted(ion-icon){font-size:20px}:host(:not(.ion-color)) ::slotted(ion-icon){color:rgba(0, 0, 0, 0.54)}::slotted(ion-icon:first-child){margin-left:-4px;margin-right:8px;margin-top:-4px;margin-bottom:-4px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-icon:first-child){margin-left:unset;margin-right:unset;-webkit-margin-start:-4px;margin-inline-start:-4px;-webkit-margin-end:8px;margin-inline-end:8px}}::slotted(ion-icon:last-child){margin-left:8px;margin-right:-4px;margin-top:-4px;margin-bottom:-4px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-icon:last-child){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:-4px;margin-inline-end:-4px}}::slotted(ion-avatar){width:24px;height:24px}::slotted(ion-avatar:first-child){margin-left:-8px;margin-right:8px;margin-top:-4px;margin-bottom:-4px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-avatar:first-child){margin-left:unset;margin-right:unset;-webkit-margin-start:-8px;margin-inline-start:-8px;-webkit-margin-end:8px;margin-inline-end:8px}}::slotted(ion-avatar:last-child){margin-left:8px;margin-right:-8px;margin-top:-4px;margin-bottom:-4px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-avatar:last-child){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:-8px;margin-inline-end:-8px}}:host(:focus){outline:none}:host(:focus){--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.16)}:host(.ion-activated){--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2)}@media (any-hover: hover){:host(:hover){--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.16)}:host(.ion-color:hover){background:rgba(var(--ion-color-base-rgb), 0.12)}:host(.chip-outline:not(.ion-color):hover){background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.04)}}";
4198
4267
 
4199
- const Chip = class extends HTMLElement {
4268
+ const Chip = class extends HTMLElement$1 {
4200
4269
  constructor() {
4201
4270
  super();
4202
4271
  this.__registerHost();
4203
- attachShadow(this);
4272
+ this.__attachShadow();
4204
4273
  /**
4205
4274
  * Display an outline style button.
4206
4275
  */
@@ -4251,11 +4320,11 @@ const colCss = ":host{padding-left:var(--ion-grid-column-padding-xs, var(--ion-g
4251
4320
  const win = window;
4252
4321
  const SUPPORTS_VARS = !!(win.CSS && win.CSS.supports && win.CSS.supports('--a: 0'));
4253
4322
  const BREAKPOINTS = ['', 'xs', 'sm', 'md', 'lg', 'xl'];
4254
- const Col = class extends HTMLElement {
4323
+ const Col = class extends HTMLElement$1 {
4255
4324
  constructor() {
4256
4325
  super();
4257
4326
  this.__registerHost();
4258
- attachShadow(this);
4327
+ this.__attachShadow();
4259
4328
  }
4260
4329
  onResize() {
4261
4330
  forceUpdate(this);
@@ -4337,13 +4406,13 @@ const Col = class extends HTMLElement {
4337
4406
  static get style() { return colCss; }
4338
4407
  };
4339
4408
 
4340
- const contentCss = ":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.outer-content){--background:var(--ion-color-step-50, #f2f2f2)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);box-sizing:border-box;overflow:hidden}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.inner-scroll{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{touch-action:pan-y;overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{touch-action:pan-x;overflow-x:var(--overflow);overscroll-behavior-x:contain}.scroll-x.scroll-y{touch-action:auto}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:\"\"}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){contain:none}:host(.content-sizing) .inner-scroll{position:relative}.transition-effect{display:none;position:absolute;left:-100%;width:100%;height:100vh;opacity:0;pointer-events:none}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;right:0;width:10px;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3MDgzRkQ5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3MDgzRkU5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTcwODNGQjlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTcwODNGQzlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmePEuQAAABNSURBVHjaYvz//z8DIxAwMDAwATGMhmFmPDQuOSZks0AMmoJBaQHjkPfB0Lfg/2gQjVow+HPy/yHvg9GiYjQfjMbBqAWjFgy/4hogwADYqwdzxy5BuwAAAABJRU5ErkJggg==);background-repeat:repeat-y;background-size:10px 16px}::slotted([slot=fixed]){position:absolute}";
4409
+ const contentCss = ":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.outer-content){--background:var(--ion-color-step-50, #f2f2f2)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);box-sizing:border-box;overflow:hidden}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.inner-scroll{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{touch-action:pan-y;overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{touch-action:pan-x;overflow-x:var(--overflow);overscroll-behavior-x:contain}.scroll-x.scroll-y{touch-action:auto}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:\"\"}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){display:flex;flex-direction:column;min-height:0;contain:none}:host(.content-sizing) .inner-scroll{position:relative;top:0;bottom:0;margin-top:calc(var(--offset-top) * -1);margin-bottom:calc(var(--offset-bottom) * -1)}.transition-effect{display:none;position:absolute;left:-100%;width:100%;height:100vh;opacity:0;pointer-events:none}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;right:0;width:10px;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3MDgzRkQ5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3MDgzRkU5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTcwODNGQjlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTcwODNGQzlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmePEuQAAABNSURBVHjaYvz//z8DIxAwMDAwATGMhmFmPDQuOSZks0AMmoJBaQHjkPfB0Lfg/2gQjVow+HPy/yHvg9GiYjQfjMbBqAWjFgy/4hogwADYqwdzxy5BuwAAAABJRU5ErkJggg==);background-repeat:repeat-y;background-size:10px 16px}::slotted([slot=fixed]){position:absolute;transform:translateZ(0)}";
4341
4410
 
4342
- const Content = class extends HTMLElement {
4411
+ const Content = class extends HTMLElement$1 {
4343
4412
  constructor() {
4344
4413
  super();
4345
4414
  this.__registerHost();
4346
- attachShadow(this);
4415
+ this.__attachShadow();
4347
4416
  this.ionScrollStart = createEvent(this, "ionScrollStart", 7);
4348
4417
  this.ionScroll = createEvent(this, "ionScroll", 7);
4349
4418
  this.ionScrollEnd = createEvent(this, "ionScrollEnd", 7);
@@ -4403,12 +4472,6 @@ const Content = class extends HTMLElement {
4403
4472
  onAppLoad() {
4404
4473
  this.resize();
4405
4474
  }
4406
- onClick(ev) {
4407
- if (this.isScrolling) {
4408
- ev.preventDefault();
4409
- ev.stopPropagation();
4410
- }
4411
- }
4412
4475
  shouldForceOverscroll() {
4413
4476
  const { forceOverscroll } = this;
4414
4477
  const mode = getIonMode$1(this);
@@ -4608,7 +4671,12 @@ const getPageElement = (el) => {
4608
4671
  if (tabs) {
4609
4672
  return tabs;
4610
4673
  }
4611
- const page = el.closest('ion-app,ion-page,.ion-page,page-inner');
4674
+ /**
4675
+ * If we're in a popover, we need to use its wrapper so we can account for space
4676
+ * between the popover and the edges of the screen. But if the popover contains
4677
+ * its own page element, we should use that instead.
4678
+ */
4679
+ const page = el.closest('ion-app, ion-page, .ion-page, page-inner, .popover-content');
4612
4680
  if (page) {
4613
4681
  return page;
4614
4682
  }
@@ -5201,11 +5269,11 @@ const datetimeIosCss = ":host{padding-left:var(--padding-start);padding-right:va
5201
5269
 
5202
5270
  const datetimeMdCss = ":host{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:flex;position:relative;min-width:16px;min-height:1.2em;font-family:var(--ion-font-family, inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;z-index:2}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}:host(.in-item){position:static}:host(.datetime-placeholder){color:var(--placeholder-color)}:host(.datetime-disabled){opacity:0.3;pointer-events:none}:host(.datetime-readonly){pointer-events:none}button{left:0;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}[dir=rtl] button,:host-context([dir=rtl]) button{left:unset;right:unset;right:0}button::-moz-focus-inner{border:0}.datetime-text{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;flex:1;min-height:inherit;direction:ltr;overflow:inherit}[dir=rtl] .datetime-text,:host-context([dir=rtl]) .datetime-text{direction:rtl}:host{--placeholder-color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));--padding-top:10px;--padding-end:0;--padding-bottom:11px;--padding-start:16px}";
5203
5271
 
5204
- const Datetime = class extends HTMLElement {
5272
+ const Datetime = class extends HTMLElement$1 {
5205
5273
  constructor() {
5206
5274
  super();
5207
5275
  this.__registerHost();
5208
- attachShadow(this);
5276
+ this.__attachShadow();
5209
5277
  this.ionCancel = createEvent(this, "ionCancel", 7);
5210
5278
  this.ionChange = createEvent(this, "ionChange", 7);
5211
5279
  this.ionFocus = createEvent(this, "ionFocus", 7);
@@ -5627,11 +5695,11 @@ let datetimeIds = 0;
5627
5695
 
5628
5696
  const fabCss = ":host{position:absolute;z-index:999}:host(.fab-horizontal-center){left:50%;margin-left:-28px}:host-context([dir=rtl]):host(.fab-horizontal-center),:host-context([dir=rtl]).fab-horizontal-center{left:unset;right:unset;right:50%}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.fab-horizontal-center){margin-left:unset;-webkit-margin-start:-28px;margin-inline-start:-28px}}:host(.fab-horizontal-start){left:calc(10px + var(--ion-safe-area-left, 0px))}:host-context([dir=rtl]):host(.fab-horizontal-start),:host-context([dir=rtl]).fab-horizontal-start{left:unset;right:unset;right:calc(10px + var(--ion-safe-area-left, 0px))}:host(.fab-horizontal-end){right:calc(10px + var(--ion-safe-area-right, 0px))}:host-context([dir=rtl]):host(.fab-horizontal-end),:host-context([dir=rtl]).fab-horizontal-end{left:unset;right:unset;left:calc(10px + var(--ion-safe-area-right, 0px))}:host(.fab-vertical-top){top:10px}:host(.fab-vertical-top.fab-edge){top:-28px}:host(.fab-vertical-bottom){bottom:10px}:host(.fab-vertical-bottom.fab-edge){bottom:-28px}:host(.fab-vertical-center){margin-top:-28px;top:50%}";
5629
5697
 
5630
- const Fab = class extends HTMLElement {
5698
+ const Fab = class extends HTMLElement$1 {
5631
5699
  constructor() {
5632
5700
  super();
5633
5701
  this.__registerHost();
5634
- attachShadow(this);
5702
+ this.__attachShadow();
5635
5703
  /**
5636
5704
  * If `true`, the fab will display on the edge of the header if
5637
5705
  * `vertical` is `"top"`, and on the edge of the footer if
@@ -5697,11 +5765,11 @@ const fabButtonIosCss = ":host{--color-activated:var(--color);--color-focused:va
5697
5765
 
5698
5766
  const fabButtonMdCss = ":host{--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--background-hover:var(--ion-color-primary-contrast, #fff);--background-hover-opacity:.08;--transition:background-color, opacity 100ms linear;--ripple-color:currentColor;--border-radius:50%;--border-width:0;--border-style:none;--border-color:initial;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;width:56px;height:56px;font-size:14px;text-align:center;text-overflow:ellipsis;text-transform:none;white-space:nowrap;font-kerning:none}.button-native{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;transform:var(--transform);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);background-clip:padding-box;color:var(--color);box-shadow:var(--box-shadow);contain:strict;cursor:pointer;overflow:hidden;z-index:0;appearance:none;box-sizing:border-box}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}::slotted(ion-icon){line-height:1}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{left:0;right:0;top:0;display:flex;position:absolute;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;height:100%;transition:all ease-in-out 300ms;transition-property:transform, opacity;z-index:1}:host(.fab-button-disabled){cursor:default;opacity:0.5;pointer-events:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-activated) .button-native{color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}::slotted(ion-icon){line-height:1}:host(.fab-button-small){margin-left:8px;margin-right:8px;margin-top:8px;margin-bottom:8px;width:40px;height:40px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.fab-button-small){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px}}.close-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;top:0;position:absolute;height:100%;transform:scale(0.4) rotateZ(-45deg);transition:all ease-in-out 300ms;transition-property:transform, opacity;font-size:var(--close-icon-font-size);opacity:0;z-index:1}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.close-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.fab-button-close-active) .close-icon{transform:scale(1) rotateZ(0deg);opacity:1}:host(.fab-button-close-active) .button-inner{transform:scale(0.4) rotateZ(45deg);opacity:0}ion-ripple-effect{color:var(--ripple-color)}@supports (backdrop-filter: blur(0)){:host(.fab-button-translucent) .button-native{backdrop-filter:var(--backdrop-filter)}}:host(.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host{--background:var(--ion-color-primary, #3880ff);--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--color:var(--ion-color-primary-contrast, #fff);--box-shadow:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);--transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), background-color 280ms cubic-bezier(0.4, 0, 0.2, 1), color 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 15ms linear 30ms, transform 270ms cubic-bezier(0, 0, 0.2, 1) 0ms;--close-icon-font-size:24px}:host(.ion-activated){--box-shadow:0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12)}::slotted(ion-icon){font-size:24px}:host(.fab-button-in-list){--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-activated:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);--color-focused:var(--color-activated);--background:var(--ion-color-light, #f4f5f8);--background-activated:transparent;--background-focused:var(--ion-color-light-shade, #d7d8da);--background-hover:var(--ion-color-light-tint, #f5f6f9)}:host(.fab-button-in-list) ::slotted(ion-icon){font-size:18px}:host(.ion-color.ion-focused) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activated) .button-native::after{background:transparent}@media (any-hover: hover){:host(.ion-color:hover) .button-native{color:var(--ion-color-contrast)}:host(.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}}";
5699
5767
 
5700
- const FabButton = class extends HTMLElement {
5768
+ const FabButton = class extends HTMLElement$1 {
5701
5769
  constructor() {
5702
5770
  super();
5703
5771
  this.__registerHost();
5704
- attachShadow(this);
5772
+ this.__attachShadow();
5705
5773
  this.ionFocus = createEvent(this, "ionFocus", 7);
5706
5774
  this.ionBlur = createEvent(this, "ionBlur", 7);
5707
5775
  /**
@@ -5779,11 +5847,11 @@ const FabButton = class extends HTMLElement {
5779
5847
 
5780
5848
  const fabListCss = ":host{margin-left:0;margin-right:0;margin-top:66px;margin-bottom:66px;display:none;position:absolute;top:0;flex-direction:column;align-items:center;min-width:56px;min-height:56px}:host(.fab-list-active){display:flex}::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:8px;margin-bottom:8px;width:40px;height:40px;transform:scale(0);opacity:0;visibility:hidden}:host(.fab-list-side-top) ::slotted(.fab-button-in-list),:host(.fab-list-side-bottom) ::slotted(.fab-button-in-list){margin-left:0;margin-right:0;margin-top:5px;margin-bottom:5px}:host(.fab-list-side-start) ::slotted(.fab-button-in-list),:host(.fab-list-side-end) ::slotted(.fab-button-in-list){margin-left:5px;margin-right:5px;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.fab-list-side-start) ::slotted(.fab-button-in-list),:host(.fab-list-side-end) ::slotted(.fab-button-in-list){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted(.fab-button-in-list.fab-button-show){transform:scale(1);opacity:1;visibility:visible}:host(.fab-list-side-top){top:auto;bottom:0;flex-direction:column-reverse}:host(.fab-list-side-start){margin-left:66px;margin-right:66px;margin-top:0;margin-bottom:0;right:0;flex-direction:row-reverse}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.fab-list-side-start){margin-left:unset;margin-right:unset;-webkit-margin-start:66px;margin-inline-start:66px;-webkit-margin-end:66px;margin-inline-end:66px}}:host-context([dir=rtl]):host(.fab-list-side-start),:host-context([dir=rtl]).fab-list-side-start{left:unset;right:unset;left:0}:host(.fab-list-side-end){margin-left:66px;margin-right:66px;margin-top:0;margin-bottom:0;left:0;flex-direction:row}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.fab-list-side-end){margin-left:unset;margin-right:unset;-webkit-margin-start:66px;margin-inline-start:66px;-webkit-margin-end:66px;margin-inline-end:66px}}:host-context([dir=rtl]):host(.fab-list-side-end),:host-context([dir=rtl]).fab-list-side-end{left:unset;right:unset;right:0}";
5781
5849
 
5782
- const FabList = class extends HTMLElement {
5850
+ const FabList = class extends HTMLElement$1 {
5783
5851
  constructor() {
5784
5852
  super();
5785
5853
  this.__registerHost();
5786
- attachShadow(this);
5854
+ this.__attachShadow();
5787
5855
  /**
5788
5856
  * If `true`, the fab list will show all fab buttons in the list.
5789
5857
  */
@@ -5820,7 +5888,7 @@ const footerIosCss = "ion-footer{display:block;position:relative;order:1;width:1
5820
5888
 
5821
5889
  const footerMdCss = "ion-footer{display:block;position:relative;order:1;width:100%;z-index:10}ion-footer ion-toolbar:last-of-type{padding-bottom:var(--ion-safe-area-bottom, 0)}.footer-md::before{left:0;top:-2px;bottom:auto;background-position:left 0 top 0;position:absolute;width:100%;height:2px;background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==\");background-repeat:repeat-x;content:\"\"}[dir=rtl] .footer-md::before,:host-context([dir=rtl]) .footer-md::before{left:unset;right:unset;right:0}[dir=rtl] .footer-md::before,:host-context([dir=rtl]) .footer-md::before{background-position:right 0 top 0}.footer-md.ion-no-border::before{display:none}";
5822
5890
 
5823
- const Footer = class extends HTMLElement {
5891
+ const Footer = class extends HTMLElement$1 {
5824
5892
  constructor() {
5825
5893
  super();
5826
5894
  this.__registerHost();
@@ -5854,11 +5922,11 @@ const Footer = class extends HTMLElement {
5854
5922
 
5855
5923
  const gridCss = ":host{padding-left:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));margin-left:auto;margin-right:auto;display:block;flex:1}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-xs, var(--ion-grid-padding, 5px))}}@media (min-width: 576px){:host{padding-left:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px))}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-sm, var(--ion-grid-padding, 5px))}}}@media (min-width: 768px){:host{padding-left:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px))}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-md, var(--ion-grid-padding, 5px))}}}@media (min-width: 992px){:host{padding-left:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px))}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-lg, var(--ion-grid-padding, 5px))}}}@media (min-width: 1200px){:host{padding-left:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-right:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-top:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-bottom:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px))}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-inline-start:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));-webkit-padding-end:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px));padding-inline-end:var(--ion-grid-padding-xl, var(--ion-grid-padding, 5px))}}}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.grid-fixed){width:var(--ion-grid-width-xs, var(--ion-grid-width, 100%));max-width:100%}@media (min-width: 576px){:host(.grid-fixed){width:var(--ion-grid-width-sm, var(--ion-grid-width, 540px))}}@media (min-width: 768px){:host(.grid-fixed){width:var(--ion-grid-width-md, var(--ion-grid-width, 720px))}}@media (min-width: 992px){:host(.grid-fixed){width:var(--ion-grid-width-lg, var(--ion-grid-width, 960px))}}@media (min-width: 1200px){:host(.grid-fixed){width:var(--ion-grid-width-xl, var(--ion-grid-width, 1140px))}}:host(.ion-no-padding){--ion-grid-column-padding:0;--ion-grid-column-padding-xs:0;--ion-grid-column-padding-sm:0;--ion-grid-column-padding-md:0;--ion-grid-column-padding-lg:0;--ion-grid-column-padding-xl:0}";
5856
5924
 
5857
- const Grid = class extends HTMLElement {
5925
+ const Grid = class extends HTMLElement$1 {
5858
5926
  constructor() {
5859
5927
  super();
5860
5928
  this.__registerHost();
5861
- attachShadow(this);
5929
+ this.__attachShadow();
5862
5930
  /**
5863
5931
  * If `true`, the grid will have a fixed width based on the screen size.
5864
5932
  */
@@ -6012,7 +6080,7 @@ const headerIosCss = "ion-header{display:block;position:relative;order:-1;width:
6012
6080
 
6013
6081
  const headerMdCss = "ion-header{display:block;position:relative;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-md::after{left:0;bottom:-5px;background-position:left 0 top -2px;position:absolute;width:100%;height:5px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==);background-repeat:repeat-x;content:\"\"}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{left:unset;right:unset;right:0}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{background-position:right 0 top -2px}.header-collapse-condense{display:none}.header-md.ion-no-border::after{display:none}";
6014
6082
 
6015
- const Header = class extends HTMLElement {
6083
+ const Header = class extends HTMLElement$1 {
6016
6084
  constructor() {
6017
6085
  super();
6018
6086
  this.__registerHost();
@@ -6029,7 +6097,7 @@ const Header = class extends HTMLElement {
6029
6097
  this.translucent = false;
6030
6098
  }
6031
6099
  componentWillLoad() {
6032
- this.inheritedAttributes = inheritAttributes(this.el, ['role']);
6100
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
6033
6101
  }
6034
6102
  async componentDidLoad() {
6035
6103
  await this.checkCollapsibleHeader();
@@ -6123,7 +6191,9 @@ const Header = class extends HTMLElement {
6123
6191
  const { translucent, inheritedAttributes } = this;
6124
6192
  const mode = getIonMode$1(this);
6125
6193
  const collapse = this.collapse || 'none';
6126
- return (h(Host, Object.assign({ role: "banner", class: {
6194
+ // banner role must be at top level, so remove role if inside a menu
6195
+ const roleType = hostContext('ion-menu', this.el) ? 'none' : 'banner';
6196
+ return (h(Host, Object.assign({ role: roleType, class: {
6127
6197
  [mode]: true,
6128
6198
  // Used internally for styling
6129
6199
  [`header-${mode}`]: true,
@@ -6300,11 +6370,11 @@ const getSvgContent = (url, sanitize) => {
6300
6370
 
6301
6371
  const iconCss = ":host{display:inline-block;width:1em;height:1em;contain:strict;fill:currentColor;box-sizing:content-box !important}:host .ionicon{stroke:currentColor}.ionicon-fill-none{fill:none}.ionicon-stroke-width{stroke-width:32px;stroke-width:var(--ionicon-stroke-width, 32px)}.icon-inner,.ionicon,svg{display:block;height:100%;width:100%}:host(.flip-rtl) .icon-inner{transform:scaleX(-1)}:host(.icon-small){font-size:18px !important}:host(.icon-large){font-size:32px !important}:host(.ion-color){color:var(--ion-color-base) !important}:host(.ion-color-primary){--ion-color-base:var(--ion-color-primary, #3880ff)}:host(.ion-color-secondary){--ion-color-base:var(--ion-color-secondary, #0cd1e8)}:host(.ion-color-tertiary){--ion-color-base:var(--ion-color-tertiary, #f4a942)}:host(.ion-color-success){--ion-color-base:var(--ion-color-success, #10dc60)}:host(.ion-color-warning){--ion-color-base:var(--ion-color-warning, #ffce00)}:host(.ion-color-danger){--ion-color-base:var(--ion-color-danger, #f14141)}:host(.ion-color-light){--ion-color-base:var(--ion-color-light, #f4f5f8)}:host(.ion-color-medium){--ion-color-base:var(--ion-color-medium, #989aa2)}:host(.ion-color-dark){--ion-color-base:var(--ion-color-dark, #222428)}";
6302
6372
 
6303
- const Icon = class extends HTMLElement {
6373
+ const Icon = class extends HTMLElement$1 {
6304
6374
  constructor() {
6305
6375
  super();
6306
6376
  this.__registerHost();
6307
- attachShadow(this);
6377
+ this.__attachShadow();
6308
6378
  this.iconName = null;
6309
6379
  this.isVisible = false;
6310
6380
  /**
@@ -6409,11 +6479,11 @@ const createColorClasses = (color) => {
6409
6479
 
6410
6480
  const imgCss = ":host{display:block;object-fit:contain}img{display:block;width:100%;height:100%;object-fit:inherit;object-position:inherit}";
6411
6481
 
6412
- const Img = class extends HTMLElement {
6482
+ const Img = class extends HTMLElement$1 {
6413
6483
  constructor() {
6414
6484
  super();
6415
6485
  this.__registerHost();
6416
- attachShadow(this);
6486
+ this.__attachShadow();
6417
6487
  this.ionImgWillLoad = createEvent(this, "ionImgWillLoad", 7);
6418
6488
  this.ionImgDidLoad = createEvent(this, "ionImgDidLoad", 7);
6419
6489
  this.ionError = createEvent(this, "ionError", 7);
@@ -6480,7 +6550,7 @@ const Img = class extends HTMLElement {
6480
6550
 
6481
6551
  const infiniteScrollCss = "ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}";
6482
6552
 
6483
- const InfiniteScroll = class extends HTMLElement {
6553
+ const InfiniteScroll = class extends HTMLElement$1 {
6484
6554
  constructor() {
6485
6555
  super();
6486
6556
  this.__registerHost();
@@ -6681,7 +6751,7 @@ const infiniteScrollContentIosCss = "ion-infinite-scroll-content{display:flex;fl
6681
6751
 
6682
6752
  const infiniteScrollContentMdCss = "ion-infinite-scroll-content{display:flex;flex-direction:column;justify-content:center;min-height:84px;text-align:center;user-select:none}.infinite-loading{margin-left:0;margin-right:0;margin-top:0;margin-bottom:32px;display:none;width:100%}.infinite-loading-text{margin-left:32px;margin-right:32px;margin-top:4px;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.infinite-loading-text{margin-left:unset;margin-right:unset;-webkit-margin-start:32px;margin-inline-start:32px;-webkit-margin-end:32px;margin-inline-end:32px}}.infinite-scroll-loading ion-infinite-scroll-content>.infinite-loading{display:block}.infinite-scroll-content-md .infinite-loading-text{color:var(--ion-color-step-600, #666666)}.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-lines-small-md line,.infinite-scroll-content-md .infinite-loading-spinner .spinner-crescent circle{stroke:var(--ion-color-step-600, #666666)}.infinite-scroll-content-md .infinite-loading-spinner .spinner-bubbles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-circles circle,.infinite-scroll-content-md .infinite-loading-spinner .spinner-dots circle{fill:var(--ion-color-step-600, #666666)}";
6683
6753
 
6684
- const InfiniteScrollContent = class extends HTMLElement {
6754
+ const InfiniteScrollContent = class extends HTMLElement$1 {
6685
6755
  constructor() {
6686
6756
  super();
6687
6757
  this.__registerHost();
@@ -6710,7 +6780,7 @@ const inputIosCss = ".sc-ion-input-ios-h{--placeholder-color:initial;--placehold
6710
6780
 
6711
6781
  const inputMdCss = ".sc-ion-input-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--background:transparent;--color:initial;display:flex;position:relative;flex:1;align-items:center;width:100%;padding:0 !important;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2}ion-item.sc-ion-input-md-h:not(.item-label),ion-item:not(.item-label) .sc-ion-input-md-h{--padding-start:0}.ion-color.sc-ion-input-md-h{color:var(--ion-color-base)}.native-input.sc-ion-input-md{border-radius:var(--border-radius);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:inline-block;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;box-sizing:border-box;appearance:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.native-input.sc-ion-input-md{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.native-input.sc-ion-input-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-md:invalid{box-shadow:none}.native-input.sc-ion-input-md::-ms-clear{display:none}.native-input[disabled].sc-ion-input-md{opacity:0.4}.cloned-input.sc-ion-input-md{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-input-md .cloned-input.sc-ion-input-md,[dir=rtl].sc-ion-input-md-h .cloned-input.sc-ion-input-md,[dir=rtl] .sc-ion-input-md-h .cloned-input.sc-ion-input-md{left:unset;right:unset;right:0}.input-clear-icon.sc-ion-input-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;background-position:center;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;visibility:hidden;appearance:none}.input-clear-icon.sc-ion-input-md:focus{opacity:0.5}.has-value.sc-ion-input-md-h .input-clear-icon.sc-ion-input-md{visibility:visible}.has-focus.sc-ion-input-md-h{pointer-events:none}.has-focus.sc-ion-input-md-h input.sc-ion-input-md,.has-focus.sc-ion-input-md-h a.sc-ion-input-md,.has-focus.sc-ion-input-md-h button.sc-ion-input-md{pointer-events:auto}.item-label-floating.item-has-placeholder.sc-ion-input-md-h:not(.item-has-value),.item-label-floating.item-has-placeholder:not(.item-has-value) .sc-ion-input-md-h{opacity:0}.item-label-floating.item-has-placeholder.sc-ion-input-md-h:not(.item-has-value).item-has-focus,.item-label-floating.item-has-placeholder:not(.item-has-value).item-has-focus .sc-ion-input-md-h{transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);opacity:1}.sc-ion-input-md-h{--padding-top:10px;--padding-end:0;--padding-bottom:10px;--padding-start:8px;font-size:inherit}.item-label-stacked.sc-ion-input-md-h,.item-label-stacked .sc-ion-input-md-h,.item-label-floating.sc-ion-input-md-h,.item-label-floating .sc-ion-input-md-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0}.input-clear-icon.sc-ion-input-md{background-image:url(\"data:image/svg+xml;charset=utf-8,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'><polygon%20fill='var(--ion-color-step-600,%20%23666666)'%20points='405,136.798%20375.202,107%20256,226.202%20136.798,107%20107,136.798%20226.202,256%20107,375.202%20136.798,405%20256,285.798%20375.202,405%20405,375.202%20285.798,256'/></svg>\");width:30px;height:30px;background-size:22px}";
6712
6782
 
6713
- const Input = class extends HTMLElement {
6783
+ const Input = class extends HTMLElement$1 {
6714
6784
  constructor() {
6715
6785
  super();
6716
6786
  this.__registerHost();
@@ -6863,7 +6933,7 @@ const Input = class extends HTMLElement {
6863
6933
  this.ionChange.emit({ value: this.value == null ? this.value : this.value.toString() });
6864
6934
  }
6865
6935
  componentWillLoad() {
6866
- this.inheritedAttributes = inheritAttributes(this.el, ['aria-label', 'tabindex', 'title']);
6936
+ this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, ['tabindex', 'title']));
6867
6937
  }
6868
6938
  connectedCallback() {
6869
6939
  this.emitStyle();
@@ -6967,14 +7037,15 @@ const itemIosCss = ":host{--border-radius:0px;--border-width:0px;--border-style:
6967
7037
 
6968
7038
  const itemMdCss = ":host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--show-full-highlight:0;--show-inset-highlight:0;--detail-icon-color:initial;--detail-icon-font-size:20px;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;align-items:center;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;box-sizing:border-box}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:flex;position:relative;align-items:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;box-sizing:border-box;z-index:1}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.item-native{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0;transition:var(--transition);z-index:-1}button,a{cursor:pointer;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:flex;position:relative;flex:1;flex-direction:inherit;align-items:inherit;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);box-shadow:var(--inner-box-shadow);overflow:inherit;box-sizing:border-box}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.item-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-detail-icon{color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label:not([slot=end])){flex:1}:host(.item-input){align-items:center}.input-wrapper{display:flex;flex:1;flex-direction:inherit;align-items:inherit;align-self:stretch;text-overflow:ellipsis;overflow:inherit;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{flex:1;flex-direction:column}.item-highlight,.item-inner-highlight{left:0;right:0;bottom:0;position:absolute;background:var(--highlight-background);z-index:1}.item-highlight{height:var(--full-highlight-height)}.item-inner-highlight{height:var(--inset-highlight-height)}:host(.item-interactive.item-has-focus),:host(.item-interactive.ion-touched.ion-invalid){--full-highlight-height:calc(var(--highlight-height) * var(--show-full-highlight));--inset-highlight-height:calc(var(--highlight-height) * var(--show-inset-highlight))}:host(.item-interactive.item-has-focus){--highlight-background:var(--highlight-color-focused)}:host(.item-interactive.ion-valid){--highlight-background:var(--highlight-color-valid)}:host(.item-interactive.ion-invalid){--highlight-background:var(--highlight-color-invalid)}:host(:not(.item-label)) ::slotted(ion-select){--padding-start:0;max-width:none}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0;align-self:stretch;width:100%;max-width:100%}:host(:not(.item-label)) ::slotted(ion-datetime){--padding-start:0}:host(.item-label-stacked) ::slotted(ion-datetime),:host(.item-label-floating) ::slotted(ion-datetime){--padding-start:0;width:100%}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio),:host(.item-multiple-inputs) ::slotted(ion-select){position:relative}:host(.item-textarea){align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:48px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--color:var(--ion-item-color, var(--ion-text-color, #000));--transition:opacity 15ms linear, background-color 15ms linear;--padding-start:16px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--inner-padding-end:16px;--inner-border-width:0 0 1px 0;--highlight-height:2px;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);font-size:16px;font-weight:normal;text-transform:none}:host(.ion-color.ion-activated) .item-native::after{background:transparent}:host(.item-interactive){--border-width:0 0 1px 0;--inner-border-width:0;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-full){--border-width:0 0 1px 0;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-inset){--inner-border-width:0 0 1px 0;--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0;--show-full-highlight:0}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0;--show-inset-highlight:0}:host(.item-multi-line) ::slotted([slot=start]),:host(.item-multi-line) ::slotted([slot=end]){margin-top:16px;margin-bottom:16px;align-self:flex-start}::slotted([slot=start]){margin-right:32px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted([slot=end]){margin-left:32px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;-webkit-margin-start:32px;margin-inline-start:32px}}::slotted(ion-icon){color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);font-size:24px}:host(.ion-color) ::slotted(ion-icon){color:var(--ion-color-contrast)}::slotted(ion-icon[slot]){margin-top:12px;margin-bottom:12px}::slotted(ion-icon[slot=start]){margin-right:32px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted(ion-icon[slot=end]){margin-left:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}::slotted(ion-note){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;align-self:flex-start;font-size:11px}::slotted(ion-note[slot]){padding-left:0;padding-right:0;padding-top:18px;padding-bottom:10px}::slotted(ion-note[slot=start]){padding-right:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-note[slot=start]){padding-right:unset;-webkit-padding-end:16px;padding-inline-end:16px}}::slotted(ion-note[slot=end]){padding-left:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-note[slot=end]){padding-left:unset;-webkit-padding-start:16px;padding-inline-start:16px}}::slotted(ion-avatar){width:40px;height:40px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar),::slotted(ion-thumbnail){margin-top:8px;margin-bottom:8px}::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:unset;-webkit-margin-end:16px;margin-inline-end:16px}}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:11px;margin-bottom:10px}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}:host(.item-label-fixed) ::slotted(ion-select),:host(.item-label-fixed) ::slotted(ion-datetime){--padding-start:8px}:host(.item-toggle) ::slotted(ion-label),:host(.item-radio) ::slotted(ion-label){margin-left:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.item-toggle) ::slotted(ion-label),:host(.item-radio) ::slotted(ion-label){margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}::slotted(.button-small){--padding-top:0;--padding-bottom:0;--padding-start:.6em;--padding-end:.6em;height:25px;font-size:12px}:host(.item-label-floating),:host(.item-label-stacked){--min-height:55px}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0}:host(.item-has-focus:not(.ion-color)) ::slotted(.label-stacked),:host(.item-has-focus:not(.ion-color)) ::slotted(.label-floating){color:var(--ion-color-primary, #3880ff)}:host(.ion-color){--highlight-color-focused:var(--ion-color-contrast)}:host(.item-label-color){--highlight-color-focused:var(--ion-color-base)}";
6969
7039
 
6970
- const Item = class extends HTMLElement {
7040
+ const Item = class extends HTMLElement$1 {
6971
7041
  constructor() {
6972
7042
  super();
6973
7043
  this.__registerHost();
6974
- attachShadow(this);
7044
+ this.__attachShadow();
6975
7045
  this.labelColorStyles = {};
6976
7046
  this.itemStyles = new Map();
6977
7047
  this.multipleInputs = false;
7048
+ this.focusable = true;
6978
7049
  /**
6979
7050
  * If `true`, a button tag will be rendered and the item will be tappable.
6980
7051
  */
@@ -7048,7 +7119,10 @@ const Item = class extends HTMLElement {
7048
7119
  }
7049
7120
  }
7050
7121
  componentDidLoad() {
7051
- raf(() => this.setMultipleInputs());
7122
+ raf(() => {
7123
+ this.setMultipleInputs();
7124
+ this.focusable = this.isFocusable();
7125
+ });
7052
7126
  }
7053
7127
  // If the item contains multiple clickable elements and/or inputs, then the item
7054
7128
  // should not have a clickable input cover over the entire item to prevent
@@ -7084,6 +7158,10 @@ const Item = class extends HTMLElement {
7084
7158
  canActivate() {
7085
7159
  return (this.isClickable() || this.hasCover());
7086
7160
  }
7161
+ isFocusable() {
7162
+ const focusableChild = this.el.querySelector('.ion-focusable');
7163
+ return (this.canActivate() || focusableChild !== null);
7164
+ }
7087
7165
  getFirstInput() {
7088
7166
  const inputs = this.el.querySelectorAll('ion-input, ion-textarea');
7089
7167
  return inputs[0];
@@ -7145,7 +7223,7 @@ const Item = class extends HTMLElement {
7145
7223
  'in-list': hostContext('ion-list', this.el),
7146
7224
  'item-multiple-inputs': this.multipleInputs,
7147
7225
  'ion-activatable': canActivate,
7148
- 'ion-focusable': true,
7226
+ 'ion-focusable': this.focusable
7149
7227
  })) }, h(TagType, Object.assign({}, attrs, { class: "item-native", part: "native", disabled: disabled }, clickFn), h("slot", { name: "start" }), h("div", { class: "item-inner" }, h("div", { class: "input-wrapper" }, h("slot", null)), h("slot", { name: "end" }), showDetail && h("ion-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true" }), h("div", { class: "item-inner-highlight" })), canActivate && mode === 'md' && h("ion-ripple-effect", null)), h("div", { class: "item-highlight" })));
7150
7228
  }
7151
7229
  static get delegatesFocus() { return true; }
@@ -7160,11 +7238,11 @@ const itemDividerIosCss = ":host{--padding-top:0px;--padding-end:0px;--padding-b
7160
7238
 
7161
7239
  const itemDividerMdCss = ":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--inner-padding-top:0px;--inner-padding-end:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:100;box-sizing:border-box}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.item-divider-sticky){position:sticky;top:0}.item-divider-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:flex;flex:1;flex-direction:inherit;align-items:inherit;align-self:stretch;min-height:inherit;border:0;overflow:hidden}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.item-divider-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-divider-wrapper{display:flex;flex:1;flex-direction:inherit;align-items:inherit;align-self:stretch;text-overflow:ellipsis;overflow:hidden}:host{--background:var(--ion-background-color, #fff);--color:var(--ion-color-step-400, #999999);--padding-start:16px;--inner-padding-end:0;min-height:30px;border-bottom:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));font-size:14px}::slotted([slot=start]){margin-right:32px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted([slot=end]){margin-left:32px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;-webkit-margin-start:32px;margin-inline-start:32px}}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:13px;margin-bottom:10px}::slotted(ion-icon){color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);font-size:24px}:host(.ion-color) ::slotted(ion-icon){color:var(--ion-color-contrast)}::slotted(ion-icon[slot]){margin-top:12px;margin-bottom:12px}::slotted(ion-icon[slot=start]){margin-right:32px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted(ion-icon[slot=end]){margin-left:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-note){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;align-self:flex-start;font-size:11px}::slotted(ion-note[slot]){padding-left:0;padding-right:0;padding-top:18px;padding-bottom:10px}::slotted(ion-note[slot=start]){padding-right:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-note[slot=start]){padding-right:unset;-webkit-padding-end:16px;padding-inline-end:16px}}::slotted(ion-note[slot=end]){padding-left:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-note[slot=end]){padding-left:unset;-webkit-padding-start:16px;padding-inline-start:16px}}::slotted(ion-avatar){width:40px;height:40px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar),::slotted(ion-thumbnail){margin-top:8px;margin-bottom:8px}::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:unset;-webkit-margin-end:16px;margin-inline-end:16px}}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(h1){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}::slotted(h2){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:16px;font-weight:normal}::slotted(h3,h4,h5,h6){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:14px;font-weight:normal;line-height:normal}::slotted(p){margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;color:var(--ion-color-step-600, #666666);font-size:14px;line-height:normal;text-overflow:inherit;overflow:inherit}";
7162
7240
 
7163
- const ItemDivider = class extends HTMLElement {
7241
+ const ItemDivider = class extends HTMLElement$1 {
7164
7242
  constructor() {
7165
7243
  super();
7166
7244
  this.__registerHost();
7167
- attachShadow(this);
7245
+ this.__attachShadow();
7168
7246
  /**
7169
7247
  * When it's set to `true`, the item-divider will stay visible when it reaches the top
7170
7248
  * of the viewport until the next `ion-item-divider` replaces it.
@@ -7193,7 +7271,7 @@ const itemGroupIosCss = "ion-item-group{display:block}";
7193
7271
 
7194
7272
  const itemGroupMdCss = "ion-item-group{display:block}";
7195
7273
 
7196
- const ItemGroup = class extends HTMLElement {
7274
+ const ItemGroup = class extends HTMLElement$1 {
7197
7275
  constructor() {
7198
7276
  super();
7199
7277
  this.__registerHost();
@@ -7217,11 +7295,11 @@ const itemOptionIosCss = ":host{--background:var(--ion-color-primary, #3880ff);-
7217
7295
 
7218
7296
  const itemOptionMdCss = ":host{--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}:host(.in-list.item-options-end:last-child){padding-right:calc(.7em + var(--ion-safe-area-right))}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.in-list.item-options-end:last-child){padding-right:unset;-webkit-padding-end:calc(.7em + var(--ion-safe-area-right));padding-inline-end:calc(.7em + var(--ion-safe-area-right))}}:host(.in-list.item-options-start:first-child){padding-left:calc(.7em + var(--ion-safe-area-left))}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.in-list.item-options-start:first-child){padding-left:unset;-webkit-padding-start:calc(.7em + var(--ion-safe-area-left));padding-inline-start:calc(.7em + var(--ion-safe-area-left))}}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-left:0.7em;padding-right:0.7em;padding-top:0;padding-bottom:0;display:inline-block;position:relative;width:100%;height:100%;border:0;outline:none;background:transparent;cursor:pointer;appearance:none;box-sizing:border-box}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end:0.7em}}.button-inner{display:flex;flex-flow:column nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%}.horizontal-wrapper{display:flex;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%}::slotted(*){flex-shrink:0}::slotted([slot=start]){margin-left:0;margin-right:5px;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}::slotted([slot=end]){margin-left:5px;margin-right:0;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0}}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:10px;margin-right:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted([slot=icon-only]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-option-expandable){flex-shrink:0;transition-duration:0;transition-property:none;transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1)}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;opacity:0.5;pointer-events:none}:host{font-size:14px;font-weight:500;text-transform:uppercase}";
7219
7297
 
7220
- const ItemOption = class extends HTMLElement {
7298
+ const ItemOption = class extends HTMLElement$1 {
7221
7299
  constructor() {
7222
7300
  super();
7223
7301
  this.__registerHost();
7224
- attachShadow(this);
7302
+ this.__attachShadow();
7225
7303
  /**
7226
7304
  * If `true`, the user cannot interact with the item option.
7227
7305
  */
@@ -7270,7 +7348,7 @@ const itemOptionsIosCss = "ion-item-options{top:0;right:0;justify-content:flex-e
7270
7348
 
7271
7349
  const itemOptionsMdCss = "ion-item-options{top:0;right:0;justify-content:flex-end;display:none;position:absolute;height:100%;font-size:14px;user-select:none;z-index:1}[dir=rtl] ion-item-options,:host-context([dir=rtl]) ion-item-options{justify-content:flex-start}[dir=rtl] ion-item-options:not(.item-options-end),:host-context([dir=rtl]) ion-item-options:not(.item-options-end){right:auto;left:0;justify-content:flex-end}.item-options-start{right:auto;left:0;justify-content:flex-start}[dir=rtl] .item-options-start,:host-context([dir=rtl]) .item-options-start{justify-content:flex-end}.item-options-start ion-item-option:first-child{padding-right:var(--ion-safe-area-left)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.item-options-start ion-item-option:first-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-left);padding-inline-end:var(--ion-safe-area-left)}}.item-options-end ion-item-option:last-child{padding-right:var(--ion-safe-area-right)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.item-options-end ion-item-option:last-child{padding-right:unset;-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}[dir=rtl] .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end),:host-context([dir=rtl]) .item-sliding-active-slide.item-sliding-active-options-start ion-item-options:not(.item-options-end){width:100%;visibility:visible}.item-sliding-active-slide ion-item-options{display:flex;visibility:hidden}.item-sliding-active-slide.item-sliding-active-options-start .item-options-start,.item-sliding-active-slide.item-sliding-active-options-end ion-item-options:not(.item-options-start){width:100%;visibility:visible}.item-options-md{border-bottom-width:0;border-bottom-style:solid;border-bottom-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))))}.list-md-lines-none .item-options-md{border-bottom-width:0}.list-md-lines-full .item-options-md,.list-md-lines-inset .item-options-md.item-options-end{border-bottom-width:1px}";
7272
7350
 
7273
- const ItemOptions = class extends HTMLElement {
7351
+ const ItemOptions = class extends HTMLElement$1 {
7274
7352
  constructor() {
7275
7353
  super();
7276
7354
  this.__registerHost();
@@ -7310,7 +7388,7 @@ const itemSlidingCss = "ion-item-sliding{display:block;position:relative;width:1
7310
7388
  const SWIPE_MARGIN = 30;
7311
7389
  const ELASTIC_FACTOR = 0.55;
7312
7390
  let openSlidingItem;
7313
- const ItemSliding = class extends HTMLElement {
7391
+ const ItemSliding = class extends HTMLElement$1 {
7314
7392
  constructor() {
7315
7393
  super();
7316
7394
  this.__registerHost();
@@ -7704,7 +7782,7 @@ const labelIosCss = ".item.sc-ion-label-ios-h,.item .sc-ion-label-ios-h{--color:
7704
7782
 
7705
7783
  const labelMdCss = ".item.sc-ion-label-md-h,.item .sc-ion-label-md-h{--color:initial;display:block;color:var(--color);font-family:var(--ion-font-family, inherit);font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;box-sizing:border-box}.ion-color.sc-ion-label-md-h{color:var(--ion-color-base)}.ion-text-wrap.sc-ion-label-md-h,[text-wrap].sc-ion-label-md-h{white-space:normal}.item-interactive-disabled.sc-ion-label-md-h:not(.item-multiple-inputs),.item-interactive-disabled:not(.item-multiple-inputs) .sc-ion-label-md-h{cursor:default;opacity:0.3;pointer-events:none}.item-input.sc-ion-label-md-h,.item-input .sc-ion-label-md-h{flex:initial;max-width:200px;pointer-events:none}.item-textarea.sc-ion-label-md-h,.item-textarea .sc-ion-label-md-h{align-self:baseline}.label-fixed.sc-ion-label-md-h{flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-bottom:0;align-self:stretch;width:auto;max-width:100%}.label-no-animate.label-floating.sc-ion-label-md-h{transition:none}.sc-ion-label-md-s h1,.sc-ion-label-md-s h2,.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{text-overflow:inherit;overflow:inherit}.ion-text-wrap.sc-ion-label-md-h,[text-wrap].sc-ion-label-md-h{line-height:1.5}.label-stacked.sc-ion-label-md-h{transform-origin:left top;transform:translateY(50%) scale(0.75);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1)}[dir=rtl].sc-ion-label-md-h -no-combinator.label-stacked.sc-ion-label-md-h,[dir=rtl] .sc-ion-label-md-h -no-combinator.label-stacked.sc-ion-label-md-h,[dir=rtl].label-stacked.sc-ion-label-md-h,[dir=rtl] .label-stacked.sc-ion-label-md-h{transform-origin:right top}.label-floating.sc-ion-label-md-h{transform:translateY(96%);transform-origin:left top;transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1)}[dir=rtl].sc-ion-label-md-h -no-combinator.label-floating.sc-ion-label-md-h,[dir=rtl] .sc-ion-label-md-h -no-combinator.label-floating.sc-ion-label-md-h,[dir=rtl].label-floating.sc-ion-label-md-h,[dir=rtl] .label-floating.sc-ion-label-md-h{transform-origin:right top}.item-textarea.label-floating.sc-ion-label-md-h,.item-textarea .label-floating.sc-ion-label-md-h{transform:translateY(185%)}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.item-has-focus.label-floating.sc-ion-label-md-h,.item-has-focus .label-floating.sc-ion-label-md-h,.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating,.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h,.item-has-value.label-floating.sc-ion-label-md-h,.item-has-value .label-floating.sc-ion-label-md-h{transform:translateY(50%) scale(0.75)}.item-has-focus.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-primary, #3880ff)}.item-has-focus.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-contrast)}.sc-ion-label-md-s h1{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}.sc-ion-label-md-s h2{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:16px;font-weight:normal}.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:14px;font-weight:normal;line-height:normal}.sc-ion-label-md-s p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:14px;line-height:20px;text-overflow:inherit;overflow:inherit}.sc-ion-label-md-s>p{color:var(--ion-color-step-600, #666666)}.sc-ion-label-md-h.in-item-color.sc-ion-label-md-s>p{color:inherit}";
7706
7784
 
7707
- const Label = class extends HTMLElement {
7785
+ const Label = class extends HTMLElement$1 {
7708
7786
  constructor() {
7709
7787
  super();
7710
7788
  this.__registerHost();
@@ -7776,7 +7854,7 @@ const listIosCss = "ion-list{margin-left:0;margin-right:0;margin-top:0;margin-bo
7776
7854
 
7777
7855
  const listMdCss = "ion-list{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;contain:content;list-style-type:none}ion-list.list-inset{transform:translateZ(0);overflow:hidden}.list-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;background:var(--ion-item-background, var(--ion-background-color, #fff))}.list-md>.input:last-child::after{left:0}[dir=rtl] .list-md>.input:last-child::after,:host-context([dir=rtl]) .list-md>.input:last-child::after{left:unset;right:unset;right:0}.list-md.list-inset{margin-left:16px;margin-right:16px;margin-top:16px;margin-bottom:16px;border-radius:2px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.list-md.list-inset{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}.list-md.list-inset ion-item:first-child{--border-radius:2px 2px 0 0;--border-width:0 0 1px 0}.list-md.list-inset ion-item:last-child{--border-radius:0 0 2px, 2px;--border-width:0}.list-md.list-inset .item-interactive{--padding-start:0;--padding-end:0}.list-md.list-inset+ion-list.list-inset{margin-top:0}.list-md-lines-none .item{--border-width:0;--inner-border-width:0}.list-md-lines-full .item,.list-md .item-lines-full{--border-width:0 0 1px 0}.list-md-lines-full .item{--inner-border-width:0}.list-md-lines-inset .item,.list-md .item-lines-inset{--inner-border-width:0 0 1px 0}.list-md .item-lines-inset{--border-width:0}.list-md .item-lines-full{--inner-border-width:0}.list-md .item-lines-none{--border-width:0;--inner-border-width:0}ion-card .list-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}";
7778
7856
 
7779
- const List = class extends HTMLElement {
7857
+ const List = class extends HTMLElement$1 {
7780
7858
  constructor() {
7781
7859
  super();
7782
7860
  this.__registerHost();
@@ -7821,11 +7899,11 @@ const listHeaderIosCss = ":host{--border-style:solid;--border-width:0;--inner-bo
7821
7899
 
7822
7900
  const listHeaderMdCss = ":host{--border-style:solid;--border-width:0;--inner-border-width:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:40px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);color:var(--color);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.list-header-inner{display:flex;position:relative;flex:1;flex-direction:inherit;align-items:inherit;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);overflow:inherit;box-sizing:border-box}::slotted(ion-label){flex:1 1 auto}:host(.list-header-lines-inset),:host(.list-header-lines-none){--border-width:0}:host(.list-header-lines-full),:host(.list-header-lines-none){--inner-border-width:0}:host{--background:transparent;--color:var(--ion-text-color, #000);--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));padding-left:calc(var(--ion-safe-area-left, 0) + 16px);min-height:45px;font-size:14px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;-webkit-padding-start:calc(var(--ion-safe-area-left, 0) + 16px);padding-inline-start:calc(var(--ion-safe-area-left, 0) + 16px)}}:host(.list-header-lines-full){--border-width:0 0 1px 0}:host(.list-header-lines-inset){--inner-border-width:0 0 1px 0}";
7823
7901
 
7824
- const ListHeader = class extends HTMLElement {
7902
+ const ListHeader = class extends HTMLElement$1 {
7825
7903
  constructor() {
7826
7904
  super();
7827
7905
  this.__registerHost();
7828
- attachShadow(this);
7906
+ this.__attachShadow();
7829
7907
  }
7830
7908
  render() {
7831
7909
  const { lines } = this;
@@ -7945,7 +8023,7 @@ const loadingIosCss = ".sc-ion-loading-ios-h{--min-width:auto;--width:auto;--min
7945
8023
 
7946
8024
  const loadingMdCss = ".sc-ion-loading-md-h{--min-width:auto;--width:auto;--min-height:auto;--height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;right:0;top:0;bottom:0;display:flex;position:fixed;align-items:center;justify-content:center;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;touch-action:none;user-select:none;z-index:1001}.overlay-hidden.sc-ion-loading-md-h{display:none}.loading-wrapper.sc-ion-loading-md{display:flex;align-items:inherit;justify-content:inherit;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);opacity:0;z-index:10}.spinner-lines.sc-ion-loading-md,.spinner-lines-small.sc-ion-loading-md,.spinner-bubbles.sc-ion-loading-md,.spinner-circles.sc-ion-loading-md,.spinner-crescent.sc-ion-loading-md,.spinner-dots.sc-ion-loading-md{color:var(--spinner-color)}.sc-ion-loading-md-h{--background:var(--ion-color-step-50, #f2f2f2);--max-width:280px;--max-height:90%;--spinner-color:var(--ion-color-primary, #3880ff);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32);color:var(--ion-color-step-850, #262626);font-size:14px}.loading-wrapper.sc-ion-loading-md{border-radius:2px;padding-left:24px;padding-right:24px;padding-top:24px;padding-bottom:24px;box-shadow:0 16px 20px rgba(0, 0, 0, 0.4)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.loading-wrapper.sc-ion-loading-md{padding-left:unset;padding-right:unset;-webkit-padding-start:24px;padding-inline-start:24px;-webkit-padding-end:24px;padding-inline-end:24px}}.loading-spinner.sc-ion-loading-md+.loading-content.sc-ion-loading-md{margin-left:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.loading-spinner.sc-ion-loading-md+.loading-content.sc-ion-loading-md{margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}";
7947
8025
 
7948
- const Loading = class extends HTMLElement {
8026
+ const Loading = class extends HTMLElement$1 {
7949
8027
  constructor() {
7950
8028
  super();
7951
8029
  this.__registerHost();
@@ -8439,11 +8517,12 @@ const iosEasing = 'cubic-bezier(0.32,0.72,0,1)';
8439
8517
  const mdEasing = 'cubic-bezier(0.0,0.0,0.2,1)';
8440
8518
  const iosEasingReverse = 'cubic-bezier(1, 0, 0.68, 0.28)';
8441
8519
  const mdEasingReverse = 'cubic-bezier(0.4, 0, 0.6, 1)';
8442
- const Menu = class extends HTMLElement {
8520
+ const focusableQueryString = '[tabindex]:not([tabindex^="-"]), input:not([type=hidden]):not([tabindex^="-"]), textarea:not([tabindex^="-"]), button:not([tabindex^="-"]), select:not([tabindex^="-"]), .ion-focusable:not([tabindex^="-"])';
8521
+ const Menu = class extends HTMLElement$1 {
8443
8522
  constructor() {
8444
8523
  super();
8445
8524
  this.__registerHost();
8446
- attachShadow(this);
8525
+ this.__attachShadow();
8447
8526
  this.ionWillOpen = createEvent(this, "ionWillOpen", 7);
8448
8527
  this.ionWillClose = createEvent(this, "ionWillClose", 7);
8449
8528
  this.ionDidOpen = createEvent(this, "ionDidOpen", 7);
@@ -8453,6 +8532,8 @@ const Menu = class extends HTMLElement {
8453
8532
  this.blocker = GESTURE_CONTROLLER.createBlocker({ disableScroll: true });
8454
8533
  this.isAnimating = false;
8455
8534
  this._isOpen = false;
8535
+ this.inheritedAttributes = {};
8536
+ this.handleFocus = (ev) => this.trapKeyboardFocus(ev, document);
8456
8537
  this.isPaneVisible = false;
8457
8538
  this.isEndSide = false;
8458
8539
  /**
@@ -8551,6 +8632,9 @@ AFTER:
8551
8632
  });
8552
8633
  this.updateState();
8553
8634
  }
8635
+ componentWillLoad() {
8636
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
8637
+ }
8554
8638
  async componentDidLoad() {
8555
8639
  this.ionMenuChange.emit({ disabled: this.disabled, open: this._isOpen });
8556
8640
  this.updateState();
@@ -8584,6 +8668,11 @@ AFTER:
8584
8668
  }
8585
8669
  }
8586
8670
  }
8671
+ onKeydown(ev) {
8672
+ if (ev.key === 'Escape') {
8673
+ this.close();
8674
+ }
8675
+ }
8587
8676
  /**
8588
8677
  * Returns `true` is the menu is open.
8589
8678
  */
@@ -8627,6 +8716,62 @@ AFTER:
8627
8716
  setOpen(shouldOpen, animated = true) {
8628
8717
  return menuController._setOpen(this, shouldOpen, animated);
8629
8718
  }
8719
+ focusFirstDescendant() {
8720
+ const { el } = this;
8721
+ const firstInput = el.querySelector(focusableQueryString);
8722
+ if (firstInput) {
8723
+ firstInput.focus();
8724
+ }
8725
+ else {
8726
+ el.focus();
8727
+ }
8728
+ }
8729
+ focusLastDescendant() {
8730
+ const { el } = this;
8731
+ const inputs = Array.from(el.querySelectorAll(focusableQueryString));
8732
+ const lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
8733
+ if (lastInput) {
8734
+ lastInput.focus();
8735
+ }
8736
+ else {
8737
+ el.focus();
8738
+ }
8739
+ }
8740
+ trapKeyboardFocus(ev, doc) {
8741
+ const target = ev.target;
8742
+ if (!target) {
8743
+ return;
8744
+ }
8745
+ /**
8746
+ * If the target is inside the menu contents, let the browser
8747
+ * focus as normal and keep a log of the last focused element.
8748
+ */
8749
+ if (this.el.contains(target)) {
8750
+ this.lastFocus = target;
8751
+ }
8752
+ else {
8753
+ /**
8754
+ * Otherwise, we are about to have focus go out of the menu.
8755
+ * Wrap the focus to either the first or last element.
8756
+ */
8757
+ /**
8758
+ * Once we call `focusFirstDescendant`, another focus event
8759
+ * will fire, which will cause `lastFocus` to be updated
8760
+ * before we can run the code after that. We cache the value
8761
+ * here to avoid that.
8762
+ */
8763
+ this.focusFirstDescendant();
8764
+ /**
8765
+ * If the cached last focused element is the same as the now-
8766
+ * active element, that means the user was on the first element
8767
+ * already and pressed Shift + Tab, so we need to wrap to the
8768
+ * last descendant.
8769
+ */
8770
+ if (this.lastFocus === doc.activeElement) {
8771
+ this.focusLastDescendant();
8772
+ }
8773
+ }
8774
+ }
8630
8775
  async _setOpen(shouldOpen, animated = true) {
8631
8776
  // If the menu is disabled or it is currently being animated, let's do nothing
8632
8777
  if (!this._isActive() || this.isAnimating || shouldOpen === this._isOpen) {
@@ -8771,6 +8916,15 @@ AFTER:
8771
8916
  // this places the menu into the correct location before it animates in
8772
8917
  // this css class doesn't actually kick off any animations
8773
8918
  this.el.classList.add(SHOW_MENU);
8919
+ /**
8920
+ * We add a tabindex here so that focus trapping
8921
+ * still works even if the menu does not have
8922
+ * any focusable elements slotted inside. The
8923
+ * focus trapping utility will fallback to focusing
8924
+ * the menu so focus does not leave when the menu
8925
+ * is open.
8926
+ */
8927
+ this.el.setAttribute('tabindex', '0');
8774
8928
  if (this.backdropEl) {
8775
8929
  this.backdropEl.classList.add(SHOW_BACKDROP);
8776
8930
  }
@@ -8795,18 +8949,44 @@ AFTER:
8795
8949
  this.blocker.unblock();
8796
8950
  }
8797
8951
  if (isOpen) {
8798
- // add css class
8952
+ // add css class and hide content behind menu from screen readers
8799
8953
  if (this.contentEl) {
8800
8954
  this.contentEl.classList.add(MENU_CONTENT_OPEN);
8955
+ /**
8956
+ * When the menu is open and overlaying the main
8957
+ * content, the main content should not be announced
8958
+ * by the screenreader as the menu is the main
8959
+ * focus. This is useful with screenreaders that have
8960
+ * "read from top" gestures that read the entire
8961
+ * page from top to bottom when activated.
8962
+ */
8963
+ this.contentEl.setAttribute('aria-hidden', 'true');
8801
8964
  }
8802
8965
  // emit open event
8803
8966
  this.ionDidOpen.emit();
8967
+ // focus menu content for screen readers
8968
+ if (this.menuInnerEl) {
8969
+ this.focusFirstDescendant();
8970
+ }
8971
+ // setup focus trapping
8972
+ document.addEventListener('focus', this.handleFocus, true);
8804
8973
  }
8805
8974
  else {
8806
- // remove css classes
8975
+ // remove css classes and unhide content from screen readers
8807
8976
  this.el.classList.remove(SHOW_MENU);
8977
+ /**
8978
+ * Remove tabindex from the menu component
8979
+ * so that is cannot be tabbed to.
8980
+ */
8981
+ this.el.removeAttribute('tabindex');
8808
8982
  if (this.contentEl) {
8809
8983
  this.contentEl.classList.remove(MENU_CONTENT_OPEN);
8984
+ /**
8985
+ * Remove aria-hidden so screen readers
8986
+ * can announce the main content again
8987
+ * now that the menu is not the main focus.
8988
+ */
8989
+ this.contentEl.removeAttribute('aria-hidden');
8810
8990
  }
8811
8991
  if (this.backdropEl) {
8812
8992
  this.backdropEl.classList.remove(SHOW_BACKDROP);
@@ -8816,6 +8996,8 @@ AFTER:
8816
8996
  }
8817
8997
  // emit close event
8818
8998
  this.ionDidClose.emit();
8999
+ // undo focus trapping so multiple menus don't collide
9000
+ document.removeEventListener('focus', this.handleFocus, true);
8819
9001
  }
8820
9002
  }
8821
9003
  updateState() {
@@ -8841,9 +9023,9 @@ AFTER:
8841
9023
  this.afterAnimation(false);
8842
9024
  }
8843
9025
  render() {
8844
- const { isEndSide, type, disabled, isPaneVisible } = this;
9026
+ const { isEndSide, type, disabled, isPaneVisible, inheritedAttributes } = this;
8845
9027
  const mode = getIonMode$1(this);
8846
- return (h(Host, { role: "navigation", class: {
9028
+ return (h(Host, { role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
8847
9029
  [mode]: true,
8848
9030
  [`menu-type-${type}`]: true,
8849
9031
  'menu-enabled': !disabled,
@@ -8889,11 +9071,11 @@ const menuButtonIosCss = ":host{--background:transparent;--color-focused:current
8889
9071
 
8890
9072
  const menuButtonMdCss = ":host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;user-select:none;z-index:0;appearance:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-inner{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.12;--background-hover:currentColor;--background-hover-opacity:.04;--border-radius:50%;--color:initial;--padding-start:8px;--padding-end:8px;width:48px;height:48px;font-size:24px}:host(.ion-color.ion-focused)::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}";
8891
9073
 
8892
- const MenuButton = class extends HTMLElement {
9074
+ const MenuButton = class extends HTMLElement$1 {
8893
9075
  constructor() {
8894
9076
  super();
8895
9077
  this.__registerHost();
8896
- attachShadow(this);
9078
+ this.__attachShadow();
8897
9079
  this.inheritedAttributes = {};
8898
9080
  this.visible = false;
8899
9081
  /**
@@ -8913,7 +9095,7 @@ const MenuButton = class extends HTMLElement {
8913
9095
  };
8914
9096
  }
8915
9097
  componentWillLoad() {
8916
- this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);
9098
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
8917
9099
  }
8918
9100
  componentDidLoad() {
8919
9101
  this.visibilityChanged();
@@ -8950,11 +9132,11 @@ const MenuButton = class extends HTMLElement {
8950
9132
 
8951
9133
  const menuToggleCss = ":host(.menu-toggle-hidden){display:none}";
8952
9134
 
8953
- const MenuToggle = class extends HTMLElement {
9135
+ const MenuToggle = class extends HTMLElement$1 {
8954
9136
  constructor() {
8955
9137
  super();
8956
9138
  this.__registerHost();
8957
- attachShadow(this);
9139
+ this.__attachShadow();
8958
9140
  this.visible = false;
8959
9141
  /**
8960
9142
  * Automatically hides the content when the corresponding menu is not active.
@@ -9524,7 +9706,7 @@ const modalIosCss = ".sc-ion-modal-ios-h{--width:100%;--min-width:auto;--max-wid
9524
9706
 
9525
9707
  const modalMdCss = ".sc-ion-modal-md-h{--width:100%;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--overflow:hidden;--border-radius:0;--border-width:0;--border-style:none;--border-color:transparent;--background:var(--ion-background-color, #fff);--box-shadow:none;--backdrop-opacity:0;left:0;right:0;top:0;bottom:0;display:flex;position:absolute;align-items:center;justify-content:center;outline:none;contain:strict}.overlay-hidden.sc-ion-modal-md-h{display:none}.modal-wrapper.sc-ion-modal-md,.modal-shadow.sc-ion-modal-md{border-radius:var(--border-radius);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow.sc-ion-modal-md{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-md-h{--width:600px;--height:500px;--ion-safe-area-top:0px;--ion-safe-area-bottom:0px;--ion-safe-area-right:0px;--ion-safe-area-left:0px}}@media only screen and (min-width: 768px) and (min-height: 768px){.sc-ion-modal-md-h{--width:600px;--height:600px}}.sc-ion-modal-md-h:first-of-type{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){.sc-ion-modal-md-h{--border-radius:2px}.sc-ion-modal-md-h:first-of-type{--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper.sc-ion-modal-md{transform:translate3d(0, 40px, 0);opacity:0.01}";
9526
9708
 
9527
- const Modal = class extends HTMLElement {
9709
+ const Modal = class extends HTMLElement$1 {
9528
9710
  constructor() {
9529
9711
  super();
9530
9712
  this.__registerHost();
@@ -9786,11 +9968,11 @@ const convertToViews = (pages) => {
9786
9968
 
9787
9969
  const navCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}";
9788
9970
 
9789
- const Nav = class extends HTMLElement {
9971
+ const Nav = class extends HTMLElement$1 {
9790
9972
  constructor() {
9791
9973
  super();
9792
9974
  this.__registerHost();
9793
- attachShadow(this);
9975
+ this.__attachShadow();
9794
9976
  this.ionNavWillLoad = createEvent(this, "ionNavWillLoad", 7);
9795
9977
  this.ionNavWillChange = createEvent(this, "ionNavWillChange", 3);
9796
9978
  this.ionNavDidChange = createEvent(this, "ionNavDidChange", 3);
@@ -10565,7 +10747,7 @@ const navLink = (el, routerDirection, component, componentProps, routerAnimation
10565
10747
  return Promise.resolve(false);
10566
10748
  };
10567
10749
 
10568
- const NavLink = class extends HTMLElement {
10750
+ const NavLink = class extends HTMLElement$1 {
10569
10751
  constructor() {
10570
10752
  super();
10571
10753
  this.__registerHost();
@@ -10587,11 +10769,11 @@ const noteIosCss = ":host{color:var(--color);font-family:var(--ion-font-family,
10587
10769
 
10588
10770
  const noteMdCss = ":host{color:var(--color);font-family:var(--ion-font-family, inherit);box-sizing:border-box}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-600, #666666);font-size:14px}";
10589
10771
 
10590
- const Note = class extends HTMLElement {
10772
+ const Note = class extends HTMLElement$1 {
10591
10773
  constructor() {
10592
10774
  super();
10593
10775
  this.__registerHost();
10594
- attachShadow(this);
10776
+ this.__attachShadow();
10595
10777
  }
10596
10778
  render() {
10597
10779
  const mode = getIonMode$1(this);
@@ -10653,7 +10835,7 @@ const pickerIosCss = ".sc-ion-picker-ios-h{--border-radius:0;--border-style:soli
10653
10835
 
10654
10836
  const pickerMdCss = ".sc-ion-picker-md-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;left:0;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;user-select:none;z-index:1001}[dir=rtl].sc-ion-picker-md-h,[dir=rtl] .sc-ion-picker-md-h{left:unset;right:unset;right:0}.overlay-hidden.sc-ion-picker-md-h{display:none}.picker-wrapper.sc-ion-picker-md{border-radius:var(--border-radius);left:0;right:0;bottom:0;margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;transform:translate3d(0, 100%, 0);display:flex;position:absolute;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;overflow:hidden;z-index:10}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.picker-wrapper.sc-ion-picker-md{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.picker-toolbar.sc-ion-picker-md{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-md{border:0;font-family:inherit}.picker-button.sc-ion-picker-md:active,.picker-button.sc-ion-picker-md:focus{outline:none}.picker-columns.sc-ion-picker-md{display:flex;position:relative;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;direction:ltr;overflow:hidden}.picker-above-highlight.sc-ion-picker-md,.picker-below-highlight.sc-ion-picker-md{display:none;pointer-events:none}.sc-ion-picker-md-h{--background:var(--ion-background-color, #fff);--border-width:0.55px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-md{display:flex;justify-content:flex-end;height:44px}.picker-button.sc-ion-picker-md,.picker-button.ion-activated.sc-ion-picker-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:1.1em;padding-right:1.1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #3880ff);font-size:14px;font-weight:500;text-transform:uppercase;box-shadow:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.picker-button.sc-ion-picker-md,.picker-button.ion-activated.sc-ion-picker-md{padding-left:unset;padding-right:unset;-webkit-padding-start:1.1em;padding-inline-start:1.1em;-webkit-padding-end:1.1em;padding-inline-end:1.1em}}.picker-columns.sc-ion-picker-md{height:216px;perspective:1800px}.picker-above-highlight.sc-ion-picker-md{left:0;top:0;transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:81px;border-bottom:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));background:linear-gradient(to bottom, var(--ion-background-color, #fff) 20%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:10}[dir=rtl].sc-ion-picker-md .picker-above-highlight.sc-ion-picker-md,[dir=rtl].sc-ion-picker-md-h .picker-above-highlight.sc-ion-picker-md,[dir=rtl] .sc-ion-picker-md-h .picker-above-highlight.sc-ion-picker-md{left:unset;right:unset;right:0}.picker-below-highlight.sc-ion-picker-md{left:0;top:115px;transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:119px;border-top:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));background:linear-gradient(to top, var(--ion-background-color, #fff) 30%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:11}[dir=rtl].sc-ion-picker-md .picker-below-highlight.sc-ion-picker-md,[dir=rtl].sc-ion-picker-md-h .picker-below-highlight.sc-ion-picker-md,[dir=rtl] .sc-ion-picker-md-h .picker-below-highlight.sc-ion-picker-md{left:unset;right:unset;right:0}";
10655
10837
 
10656
- const Picker = class extends HTMLElement {
10838
+ const Picker = class extends HTMLElement$1 {
10657
10839
  constructor() {
10658
10840
  super();
10659
10841
  this.__registerHost();
@@ -10814,7 +10996,7 @@ const pickerColumnIosCss = ".picker-col{display:flex;position:relative;flex:1;ju
10814
10996
 
10815
10997
  const pickerColumnMdCss = ".picker-col{display:flex;position:relative;flex:1;justify-content:center;height:100%;box-sizing:content-box;contain:content}.picker-opts{position:relative;flex:1;max-width:100%}.picker-opt{left:0;top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{justify-content:flex-start}.picker-opts-right{justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;flex:1;text-align:start;white-space:nowrap}.picker-col{padding-left:8px;padding-right:8px;padding-top:0;padding-bottom:0;transform-style:preserve-3d}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.picker-col{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.picker-prefix,.picker-suffix,.picker-opts{top:77px;transform-style:preserve-3d;color:inherit;font-size:22px;line-height:42px;pointer-events:none}.picker-opt{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;height:43px;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:22px;line-height:42px;backface-visibility:hidden;pointer-events:auto}.picker-prefix,.picker-suffix,.picker-opt.picker-opt-selected{color:var(--ion-color-primary, #3880ff)}";
10816
10998
 
10817
- const PickerColumnCmp = class extends HTMLElement {
10999
+ const PickerColumnCmp = class extends HTMLElement$1 {
10818
11000
  constructor() {
10819
11001
  super();
10820
11002
  this.__registerHost();
@@ -11365,11 +11547,11 @@ const mdLeaveAnimation$1 = (baseEl) => {
11365
11547
  .addAnimation([backdropAnimation, wrapperAnimation]);
11366
11548
  };
11367
11549
 
11368
- const popoverIosCss = ".sc-ion-popover-ios-h{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;left:0;right:0;top:0;bottom:0;display:flex;position:fixed;align-items:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}.overlay-hidden.sc-ion-popover-ios-h{display:none}.popover-wrapper.sc-ion-popover-ios{opacity:0;z-index:10}.popover-content.sc-ion-popover-ios{display:flex;position:absolute;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);box-shadow:var(--box-shadow);overflow:auto;z-index:10}.popover-viewport.sc-ion-popover-ios{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px}.sc-ion-popover-ios-h{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}.popover-content.sc-ion-popover-ios{border-radius:10px}.popover-arrow.sc-ion-popover-ios{display:block;position:absolute;width:20px;height:10px;overflow:hidden}.popover-arrow.sc-ion-popover-ios::after{left:3px;top:3px;border-radius:3px;position:absolute;width:14px;height:14px;transform:rotate(45deg);background:var(--background);content:\"\";z-index:10}[dir=rtl].sc-ion-popover-ios .popover-arrow.sc-ion-popover-ios::after,[dir=rtl].sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after,[dir=rtl] .sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{left:unset;right:unset;right:3px}.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{top:auto;bottom:-10px}.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{top:-6px}@supports (backdrop-filter: blur(0)){.popover-translucent.sc-ion-popover-ios-h .popover-content.sc-ion-popover-ios,.popover-translucent.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);backdrop-filter:saturate(180%) blur(20px)}}";
11550
+ const popoverIosCss = ".sc-ion-popover-ios-h{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;left:0;right:0;top:0;bottom:0;display:flex;position:fixed;align-items:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}.overlay-hidden.sc-ion-popover-ios-h{display:none}.popover-wrapper.sc-ion-popover-ios{opacity:0;z-index:10}.popover-content.sc-ion-popover-ios{display:flex;position:absolute;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);box-shadow:var(--box-shadow);overflow:auto;z-index:10}.popover-viewport.sc-ion-popover-ios{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:flex;flex-direction:column;overflow:hidden}.sc-ion-popover-ios-h{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}.popover-content.sc-ion-popover-ios{border-radius:10px}.popover-arrow.sc-ion-popover-ios{display:block;position:absolute;width:20px;height:10px;overflow:hidden}.popover-arrow.sc-ion-popover-ios::after{left:3px;top:3px;border-radius:3px;position:absolute;width:14px;height:14px;transform:rotate(45deg);background:var(--background);content:\"\";z-index:10}[dir=rtl].sc-ion-popover-ios .popover-arrow.sc-ion-popover-ios::after,[dir=rtl].sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after,[dir=rtl] .sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{left:unset;right:unset;right:3px}.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios{top:auto;bottom:-10px}.popover-bottom.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{top:-6px}@supports (backdrop-filter: blur(0)){.popover-translucent.sc-ion-popover-ios-h .popover-content.sc-ion-popover-ios,.popover-translucent.sc-ion-popover-ios-h .popover-arrow.sc-ion-popover-ios::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);backdrop-filter:saturate(180%) blur(20px)}}";
11369
11551
 
11370
- const popoverMdCss = ".sc-ion-popover-md-h{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;left:0;right:0;top:0;bottom:0;display:flex;position:fixed;align-items:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}.overlay-hidden.sc-ion-popover-md-h{display:none}.popover-wrapper.sc-ion-popover-md{opacity:0;z-index:10}.popover-content.sc-ion-popover-md{display:flex;position:absolute;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);box-shadow:var(--box-shadow);overflow:auto;z-index:10}.popover-viewport.sc-ion-popover-md{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px}.sc-ion-popover-md-h{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content.sc-ion-popover-md{border-radius:4px;transform-origin:left top}[dir=rtl].sc-ion-popover-md .popover-content.sc-ion-popover-md,[dir=rtl].sc-ion-popover-md-h .popover-content.sc-ion-popover-md,[dir=rtl] .sc-ion-popover-md-h .popover-content.sc-ion-popover-md{transform-origin:right top}.popover-viewport.sc-ion-popover-md{transition-delay:100ms}";
11552
+ const popoverMdCss = ".sc-ion-popover-md-h{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;left:0;right:0;top:0;bottom:0;display:flex;position:fixed;align-items:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}.overlay-hidden.sc-ion-popover-md-h{display:none}.popover-wrapper.sc-ion-popover-md{opacity:0;z-index:10}.popover-content.sc-ion-popover-md{display:flex;position:absolute;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);box-shadow:var(--box-shadow);overflow:auto;z-index:10}.popover-viewport.sc-ion-popover-md{--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:flex;flex-direction:column;overflow:hidden}.sc-ion-popover-md-h{--width:250px;--max-height:90%;--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}.popover-content.sc-ion-popover-md{border-radius:4px;transform-origin:left top}[dir=rtl].sc-ion-popover-md .popover-content.sc-ion-popover-md,[dir=rtl].sc-ion-popover-md-h .popover-content.sc-ion-popover-md,[dir=rtl] .sc-ion-popover-md-h .popover-content.sc-ion-popover-md{transform-origin:right top}.popover-viewport.sc-ion-popover-md{transition-delay:100ms}";
11371
11553
 
11372
- const Popover = class extends HTMLElement {
11554
+ const Popover = class extends HTMLElement$1 {
11373
11555
  constructor() {
11374
11556
  super();
11375
11557
  this.__registerHost();
@@ -11489,11 +11671,11 @@ const progressBarIosCss = ":host{--background:rgba(var(--ion-color-primary-rgb,
11489
11671
 
11490
11672
  const progressBarMdCss = ":host{--background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.3);--progress-background:var(--ion-color-primary, #3880ff);--buffer-background:var(--background);display:block;position:relative;width:100%;contain:strict;direction:ltr;overflow:hidden}.progress,.progress-indeterminate,.indeterminate-bar-primary,.indeterminate-bar-secondary,.progress-buffer-bar{left:0;right:0;top:0;bottom:0;position:absolute;width:100%;height:100%}.buffer-circles-container,.buffer-circles{left:0;right:0;top:0;bottom:0;position:absolute}.buffer-circles{right:-10px;left:-10px;}.progress,.progress-buffer-bar,.buffer-circles-container{transform-origin:left top;transition:transform 150ms linear}.progress,.progress-indeterminate{background:var(--progress-background);z-index:2}.progress-buffer-bar{background:var(--buffer-background);z-index:1}.buffer-circles-container{overflow:hidden}.indeterminate-bar-primary{top:0;right:0;bottom:0;left:-145.166611%;animation:primary-indeterminate-translate 2s infinite linear}.indeterminate-bar-primary .progress-indeterminate{animation:primary-indeterminate-scale 2s infinite linear;animation-play-state:inherit}.indeterminate-bar-secondary{top:0;right:0;bottom:0;left:-54.888891%;animation:secondary-indeterminate-translate 2s infinite linear}.indeterminate-bar-secondary .progress-indeterminate{animation:secondary-indeterminate-scale 2s infinite linear;animation-play-state:inherit}.buffer-circles{background-image:radial-gradient(ellipse at center, var(--buffer-background) 0%, var(--buffer-background) 30%, transparent 30%);background-repeat:repeat-x;background-position:5px center;background-size:10px 10px;z-index:0;animation:buffering 450ms infinite linear}:host(.progress-bar-reversed){transform:scaleX(-1)}:host(.progress-paused) .indeterminate-bar-secondary,:host(.progress-paused) .indeterminate-bar-primary,:host(.progress-paused) .buffer-circles{animation-play-state:paused}:host(.ion-color) .progress-buffer-bar{background:rgba(var(--ion-color-base-rgb), 0.3)}:host(.ion-color) .buffer-circles{background-image:radial-gradient(ellipse at center, rgba(var(--ion-color-base-rgb), 0.3) 0%, rgba(var(--ion-color-base-rgb), 0.3) 30%, transparent 30%)}:host(.ion-color) .progress,:host(.ion-color) .progress-indeterminate{background:var(--ion-color-base)}@keyframes primary-indeterminate-translate{0%{transform:translateX(0)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(83.67142%)}100%{transform:translateX(200.611057%)}}@keyframes primary-indeterminate-scale{0%{transform:scaleX(0.08)}36.65%{animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);transform:scaleX(0.08)}69.15%{animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);transform:scaleX(0.661479)}100%{transform:scaleX(0.08)}}@keyframes secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(37.651913%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(84.386165%)}100%{transform:translateX(160.277782%)}}@keyframes secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);transform:scaleX(0.08)}19.15%{animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.004315);transform:scaleX(0.457104)}44.15%{animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);transform:scaleX(0.72796)}100%{transform:scaleX(0.08)}}@keyframes buffering{to{transform:translateX(-10px)}}:host{height:4px}";
11491
11673
 
11492
- const ProgressBar = class extends HTMLElement {
11674
+ const ProgressBar = class extends HTMLElement$1 {
11493
11675
  constructor() {
11494
11676
  super();
11495
11677
  this.__registerHost();
11496
- attachShadow(this);
11678
+ this.__attachShadow();
11497
11679
  /**
11498
11680
  * The state of the progress bar, based on if the time the process takes is known or not.
11499
11681
  * Default options are: `"determinate"` (no animation), `"indeterminate"` (animate from left to right).
@@ -11557,11 +11739,11 @@ const radioIosCss = ":host{--inner-border-radius:50%;display:inline-block;positi
11557
11739
 
11558
11740
  const radioMdCss = ":host{--inner-border-radius:50%;display:inline-block;position:relative;box-sizing:border-box;user-select:none;z-index:2}:host(.radio-disabled){pointer-events:none}.radio-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;contain:layout size style}.radio-icon,.radio-inner{box-sizing:border-box}label{left:0;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}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}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}:host(:focus){outline:none}:host{--color:var(--ion-color-step-400, #999999);--color-checked:var(--ion-color-primary, #3880ff);--border-width:2px;--border-style:solid;--border-radius:50%;width:20px;height:20px}:host(.ion-color) .radio-inner{background:var(--ion-color-base)}:host(.ion-color.radio-checked) .radio-icon{border-color:var(--ion-color-base)}.radio-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--color)}.radio-inner{border-radius:var(--inner-border-radius);width:calc(50% + var(--border-width));height:calc(50% + var(--border-width));transform:scale3d(0, 0, 0);transition:transform 280ms cubic-bezier(0.4, 0, 0.2, 1);background:var(--color-checked)}:host(.radio-checked) .radio-icon{border-color:var(--color-checked)}:host(.radio-checked) .radio-inner{transform:scale3d(1, 1, 1)}:host(.radio-disabled){opacity:0.3}:host(.ion-focused) .radio-icon::after{border-radius:var(--inner-border-radius);left:-12px;top:-12px;display:block;position:absolute;width:36px;height:36px;background:var(--ion-color-primary-tint, #4c8dff);content:\"\";opacity:0.2}:host-context([dir=rtl]):host(.ion-focused) .radio-icon::after,:host-context([dir=rtl]).ion-focused .radio-icon::after{left:unset;right:unset;right:-12px}:host(.in-item){margin-left:0;margin-right:0;margin-top:9px;margin-bottom:9px;display:block;position:static}:host(.in-item[slot=start]){margin-left:4px;margin-right:36px;margin-top:11px;margin-bottom:10px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:36px;margin-inline-end:36px}}";
11559
11741
 
11560
- const Radio = class extends HTMLElement {
11742
+ const Radio = class extends HTMLElement$1 {
11561
11743
  constructor() {
11562
11744
  super();
11563
11745
  this.__registerHost();
11564
- attachShadow(this);
11746
+ this.__attachShadow();
11565
11747
  this.ionStyle = createEvent(this, "ionStyle", 7);
11566
11748
  this.ionFocus = createEvent(this, "ionFocus", 7);
11567
11749
  this.ionBlur = createEvent(this, "ionBlur", 7);
@@ -11657,7 +11839,7 @@ const Radio = class extends HTMLElement {
11657
11839
  };
11658
11840
  let radioButtonIds = 0;
11659
11841
 
11660
- const RadioGroup = class extends HTMLElement {
11842
+ const RadioGroup = class extends HTMLElement$1 {
11661
11843
  constructor() {
11662
11844
  super();
11663
11845
  this.__registerHost();
@@ -11785,11 +11967,11 @@ const rangeIosCss = ":host{--knob-handle-size:calc(var(--knob-size) * 2);display
11785
11967
 
11786
11968
  const rangeMdCss = ":host{--knob-handle-size:calc(var(--knob-size) * 2);display:flex;position:relative;flex:3;align-items:center;font-family:var(--ion-font-family, inherit);user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:grab;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;box-sizing:border-box}.range-knob-handle{left:0;top:calc((var(--height) - var(--knob-handle-size)) / 2);margin-left:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.range-knob-handle{margin-left:unset;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2)}}[dir=rtl] .range-knob-handle,:host-context([dir=rtl]) .range-knob-handle{left:unset}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar{border-radius:var(--bar-border-radius);left:0;top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset;right:unset;right:0}[dir=rtl] .range-bar,:host-context([dir=rtl]) .range-bar{left:unset}.range-knob{border-radius:var(--knob-border-radius);left:calc(50% - var(--knob-size) / 2);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob,:host-context([dir=rtl]) .range-knob{left:unset}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host(.in-item) ::slotted(ion-label){align-self:center}:host{--knob-border-radius:50%;--knob-background:var(--bar-background-active);--knob-box-shadow:none;--knob-size:18px;--bar-height:2px;--bar-background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.26);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:0;--height:42px;--pin-background:var(--ion-color-primary, #3880ff);--pin-color:var(--ion-color-primary-contrast, #fff);padding-left:14px;padding-right:14px;padding-top:8px;padding-bottom:8px;font-size:12px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px}}:host(.ion-color) .range-bar{background:rgba(var(--ion-color-base-rgb), 0.26)}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-knob,:host(.ion-color) .range-pin,:host(.ion-color) .range-pin::before,:host(.ion-color) .range-tick{background:var(--ion-color-base);color:var(--ion-color-contrast)}::slotted([slot=start]){margin-left:0;margin-right:14px;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px}}::slotted([slot=end]){margin-left:14px;margin-right:0;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0}}:host(.range-has-pin){padding-top:28px}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-knob{transform:scale(0.67);transition-duration:120ms;transition-property:transform, background-color, border;transition-timing-function:ease;z-index:2}.range-tick{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick-active{background:transparent}.range-pin{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;border-radius:50%;transform:translate3d(0, 0, 0) scale(0.01);display:inline-block;position:relative;min-width:28px;height:28px;transition:transform 120ms ease, background 120ms ease;background:var(--pin-background);color:var(--pin-color);text-align:center}.range-pin::before{left:50%;top:3px;margin-left:-13px;border-radius:50% 50% 50% 0;position:absolute;width:26px;height:26px;transform:rotate(-45deg);transition:background 120ms ease;background:var(--pin-background);content:\"\";z-index:-1}[dir=rtl] .range-pin::before,:host-context([dir=rtl]) .range-pin::before{left:unset;right:unset;right:50%}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.range-pin::before{margin-left:unset;-webkit-margin-start:-13px;margin-inline-start:-13px}}[dir=rtl] .range-pin::before,:host-context([dir=rtl]) .range-pin::before{left:unset}.range-knob-pressed .range-pin{transform:translate3d(0, -24px, 0) scale(1)}:host(:not(.range-has-pin)) .range-knob-pressed .range-knob{transform:scale(1)}:host(.range-disabled) .range-bar-active,:host(.range-disabled) .range-bar,:host(.range-disabled) .range-tick{background-color:var(--ion-color-step-250, #bfbfbf)}:host(.range-disabled) .range-knob{transform:scale(0.55);outline:5px solid #fff;background-color:var(--ion-color-step-250, #bfbfbf)}";
11787
11969
 
11788
- const Range = class extends HTMLElement {
11970
+ const Range = class extends HTMLElement$1 {
11789
11971
  constructor() {
11790
11972
  super();
11791
11973
  this.__registerHost();
11792
- attachShadow(this);
11974
+ this.__attachShadow();
11793
11975
  this.ionChange = createEvent(this, "ionChange", 7);
11794
11976
  this.ionStyle = createEvent(this, "ionStyle", 7);
11795
11977
  this.ionFocus = createEvent(this, "ionFocus", 7);
@@ -11941,7 +12123,7 @@ const Range = class extends HTMLElement {
11941
12123
  * not assign the default incrementing ID.
11942
12124
  */
11943
12125
  this.rangeId = (this.el.hasAttribute('id')) ? this.el.getAttribute('id') : `ion-r-${rangeIds++}`;
11944
- this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);
12126
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
11945
12127
  }
11946
12128
  componentDidLoad() {
11947
12129
  this.setupGesture();
@@ -12410,7 +12592,7 @@ const refresherIosCss = "ion-refresher{left:0;top:0;display:none;position:absolu
12410
12592
 
12411
12593
  const refresherMdCss = "ion-refresher{left:0;top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}[dir=rtl] ion-refresher,:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:flex;flex-direction:column;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{transform-origin:center;transition:200ms;font-size:30px;text-align:center}[dir=rtl] .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{transform-origin:calc(100% - center)}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-md .refresher-pulling-icon,.refresher-md .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-md .refresher-pulling-text,.refresher-md .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-lines-md line,.refresher-md .refresher-refreshing .spinner-lines-small-md line,.refresher-md .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-bubbles circle,.refresher-md .refresher-refreshing .spinner-circles circle,.refresher-md .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;width:24px;height:24px;color:var(--ion-color-primary, #3880ff)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-refresher.refresher-native ion-spinner{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}ion-refresher.refresher-native .spinner-arrow-container{display:inherit}ion-refresher.refresher-native .arrow-container{display:block;position:absolute;width:24px;height:24px}ion-refresher.refresher-native .arrow-container ion-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;bottom:-4px;position:absolute;color:var(--ion-color-primary, #3880ff);font-size:12px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-refresher.refresher-native .arrow-container ion-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}ion-refresher.refresher-native.refresher-pulling ion-refresher-content .refresher-pulling,ion-refresher.refresher-native.refresher-ready ion-refresher-content .refresher-pulling{display:flex}ion-refresher.refresher-native.refresher-refreshing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-cancelling ion-refresher-content .refresher-refreshing{display:flex}ion-refresher.refresher-native .refresher-pulling-icon{transform:translateY(calc(-100% - 10px))}ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;border-radius:100%;padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;display:flex;border:1px solid var(--ion-color-step-200, #ececec);background:var(--ion-color-step-250, #ffffff);box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}";
12412
12594
 
12413
- const Refresher = class extends HTMLElement {
12595
+ const Refresher = class extends HTMLElement$1 {
12414
12596
  constructor() {
12415
12597
  super();
12416
12598
  this.__registerHost();
@@ -13110,7 +13292,7 @@ const spinners = {
13110
13292
  };
13111
13293
  const SPINNERS = spinners;
13112
13294
 
13113
- const RefresherContent = class extends HTMLElement {
13295
+ const RefresherContent = class extends HTMLElement$1 {
13114
13296
  constructor() {
13115
13297
  super();
13116
13298
  this.__registerHost();
@@ -13145,11 +13327,11 @@ const reorderIosCss = ":host([slot]){display:none;line-height:0;z-index:100}.reo
13145
13327
 
13146
13328
  const reorderMdCss = ":host([slot]){display:none;line-height:0;z-index:100}.reorder-icon{display:block;font-size:22px}.reorder-icon{font-size:31px;opacity:0.3}";
13147
13329
 
13148
- const Reorder = class extends HTMLElement {
13330
+ const Reorder = class extends HTMLElement$1 {
13149
13331
  constructor() {
13150
13332
  super();
13151
13333
  this.__registerHost();
13152
- attachShadow(this);
13334
+ this.__attachShadow();
13153
13335
  }
13154
13336
  onClick(ev) {
13155
13337
  const reorderGroup = this.el.closest('ion-reorder-group');
@@ -13174,7 +13356,7 @@ const Reorder = class extends HTMLElement {
13174
13356
 
13175
13357
  const reorderGroupCss = ".reorder-list-active>*{transition:transform 300ms;will-change:transform}.reorder-enabled{user-select:none}.reorder-enabled ion-reorder{display:block;cursor:grab;pointer-events:all;touch-action:none}.reorder-selected,.reorder-selected ion-reorder{cursor:grabbing}.reorder-selected{position:relative;transition:none !important;box-shadow:0 0 10px rgba(0, 0, 0, 0.4);opacity:0.8;z-index:100}.reorder-visible ion-reorder .reorder-icon{transform:translate3d(0, 0, 0)}";
13176
13358
 
13177
- const ReorderGroup = class extends HTMLElement {
13359
+ const ReorderGroup = class extends HTMLElement$1 {
13178
13360
  constructor() {
13179
13361
  super();
13180
13362
  this.__registerHost();
@@ -13446,11 +13628,11 @@ const reorderArray = (array, from, to) => {
13446
13628
 
13447
13629
  const rippleEffectCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:strict;pointer-events:none}:host(.unbounded){contain:layout size style}.ripple-effect{border-radius:50%;position:absolute;background-color:currentColor;color:inherit;contain:strict;opacity:0;animation:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;will-change:transform, opacity;pointer-events:none}.fade-out{transform:translate(var(--translate-end)) scale(var(--final-scale, 1));animation:150ms fadeOutAnimation forwards}@keyframes rippleAnimation{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:scale(1)}to{transform:translate(var(--translate-end)) scale(var(--final-scale, 1))}}@keyframes fadeInAnimation{from{animation-timing-function:linear;opacity:0}to{opacity:0.16}}@keyframes fadeOutAnimation{from{animation-timing-function:linear;opacity:0.16}to{opacity:0}}";
13448
13630
 
13449
- const RippleEffect = class extends HTMLElement {
13631
+ const RippleEffect = class extends HTMLElement$1 {
13450
13632
  constructor() {
13451
13633
  super();
13452
13634
  this.__registerHost();
13453
- attachShadow(this);
13635
+ this.__attachShadow();
13454
13636
  /**
13455
13637
  * Sets the type of ripple-effect:
13456
13638
  *
@@ -13531,7 +13713,7 @@ const removeRipple = (ripple) => {
13531
13713
  const PADDING = 10;
13532
13714
  const INITIAL_ORIGIN_SCALE = 0.5;
13533
13715
 
13534
- const Route = class extends HTMLElement {
13716
+ const Route$1 = class extends HTMLElement$1 {
13535
13717
  constructor() {
13536
13718
  super();
13537
13719
  this.__registerHost();
@@ -13574,7 +13756,7 @@ const Route = class extends HTMLElement {
13574
13756
  }; }
13575
13757
  };
13576
13758
 
13577
- const RouteRedirect = class extends HTMLElement {
13759
+ const RouteRedirect = class extends HTMLElement$1 {
13578
13760
  constructor() {
13579
13761
  super();
13580
13762
  this.__registerHost();
@@ -13815,13 +13997,54 @@ const findRouteRedirect = (path, redirects) => {
13815
13997
  };
13816
13998
  const matchesIDs = (ids, chain) => {
13817
13999
  const len = Math.min(ids.length, chain.length);
13818
- let i = 0;
13819
- for (; i < len; i++) {
13820
- if (ids[i].toLowerCase() !== chain[i].id) {
14000
+ let score = 0;
14001
+ for (let i = 0; i < len; i++) {
14002
+ const routeId = ids[i];
14003
+ const routeChain = chain[i];
14004
+ // Skip results where the route id does not match the chain at the same index
14005
+ if (routeId.id.toLowerCase() !== routeChain.id) {
13821
14006
  break;
13822
14007
  }
14008
+ if (routeId.params) {
14009
+ const routeIdParams = Object.keys(routeId.params);
14010
+ /**
14011
+ * Only compare routes with the chain that have the same number of parameters.
14012
+ */
14013
+ if (routeIdParams.length === routeChain.path.length) {
14014
+ /**
14015
+ * Maps the route's params into a path based on the path variable names,
14016
+ * to compare against the route chain format.
14017
+ *
14018
+ * Before:
14019
+ * ```ts
14020
+ * {
14021
+ * params: {
14022
+ * s1: 'a',
14023
+ * s2: 'b'
14024
+ * }
14025
+ * }
14026
+ * ```
14027
+ *
14028
+ * After:
14029
+ * ```ts
14030
+ * [':s1',':s2']
14031
+ * ```
14032
+ */
14033
+ const pathWithParams = routeIdParams.map(key => `:${key}`);
14034
+ for (let j = 0; j < pathWithParams.length; j++) {
14035
+ // Skip results where the path variable is not a match
14036
+ if (pathWithParams[j].toLowerCase() !== routeChain.path[j]) {
14037
+ break;
14038
+ }
14039
+ // Weight path matches for the same index higher.
14040
+ score++;
14041
+ }
14042
+ }
14043
+ }
14044
+ // Weight id matches
14045
+ score++;
13823
14046
  }
13824
- return i;
14047
+ return score;
13825
14048
  };
13826
14049
  const matchesPath = (inputPath, chain) => {
13827
14050
  const segments = new RouterSegments(inputPath);
@@ -13876,9 +14099,8 @@ const mergeParams = (a, b) => {
13876
14099
  const routerIDsToChain = (ids, chains) => {
13877
14100
  let match = null;
13878
14101
  let maxMatches = 0;
13879
- const plainIDs = ids.map(i => i.id);
13880
14102
  for (const chain of chains) {
13881
- const score = matchesIDs(plainIDs, chain);
14103
+ const score = matchesIDs(ids, chain);
13882
14104
  if (score > maxMatches) {
13883
14105
  match = chain;
13884
14106
  maxMatches = score;
@@ -13999,7 +14221,7 @@ const flattenNode = (chain, chains, node) => {
13999
14221
  }
14000
14222
  };
14001
14223
 
14002
- const Router = class extends HTMLElement {
14224
+ const Router$1 = class extends HTMLElement$1 {
14003
14225
  constructor() {
14004
14226
  super();
14005
14227
  this.__registerHost();
@@ -14281,11 +14503,11 @@ const Router = class extends HTMLElement {
14281
14503
 
14282
14504
  const routerLinkCss = ":host{--background:transparent;--color:var(--ion-color-primary, #3880ff);background:var(--background);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}a{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit}";
14283
14505
 
14284
- const RouterLink = class extends HTMLElement {
14506
+ const RouterLink = class extends HTMLElement$1 {
14285
14507
  constructor() {
14286
14508
  super();
14287
14509
  this.__registerHost();
14288
- attachShadow(this);
14510
+ this.__attachShadow();
14289
14511
  /**
14290
14512
  * When using a router, it specifies the transition direction when navigating to
14291
14513
  * another page using `href`.
@@ -14312,11 +14534,11 @@ const RouterLink = class extends HTMLElement {
14312
14534
 
14313
14535
  const routeOutletCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;overflow:hidden;z-index:0}";
14314
14536
 
14315
- const RouterOutlet = class extends HTMLElement {
14537
+ const RouterOutlet = class extends HTMLElement$1 {
14316
14538
  constructor() {
14317
14539
  super();
14318
14540
  this.__registerHost();
14319
- attachShadow(this);
14541
+ this.__attachShadow();
14320
14542
  this.ionNavWillLoad = createEvent(this, "ionNavWillLoad", 7);
14321
14543
  this.ionNavWillChange = createEvent(this, "ionNavWillChange", 3);
14322
14544
  this.ionNavDidChange = createEvent(this, "ionNavDidChange", 3);
@@ -14498,11 +14720,11 @@ const RouterOutlet = class extends HTMLElement {
14498
14720
 
14499
14721
  const rowCss = ":host{display:flex;flex-wrap:wrap}";
14500
14722
 
14501
- const Row = class extends HTMLElement {
14723
+ const Row = class extends HTMLElement$1 {
14502
14724
  constructor() {
14503
14725
  super();
14504
14726
  this.__registerHost();
14505
- attachShadow(this);
14727
+ this.__attachShadow();
14506
14728
  }
14507
14729
  render() {
14508
14730
  return (h(Host, { class: getIonMode$1(this) }, h("slot", null)));
@@ -14514,7 +14736,7 @@ const searchbarIosCss = ".sc-ion-searchbar-ios-h{--placeholder-color:initial;--p
14514
14736
 
14515
14737
  const searchbarMdCss = ".sc-ion-searchbar-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);box-sizing:border-box}.ion-color.sc-ion-searchbar-md-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{color:inherit}.searchbar-search-icon.sc-ion-searchbar-md{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-md{display:block;position:relative;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-md{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;border:0;outline:none;background:var(--background);font-family:inherit;box-shadow:var(--box-shadow);box-sizing:border-box;appearance:none}.searchbar-input.sc-ion-searchbar-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-md::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-md>div.sc-ion-searchbar-md{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);appearance:none}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{display:block}.searchbar-disabled.sc-ion-searchbar-md-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-md-h{--background:var(--ion-background-color, #fff);--border-radius:2px;--box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);--cancel-button-color:var(--ion-color-step-900, #1a1a1a);--clear-button-color:initial;--color:var(--ion-color-step-850, #262626);--icon-color:var(--ion-color-step-600, #666666);padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;background:inherit}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.sc-ion-searchbar-md-h{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.searchbar-search-icon.sc-ion-searchbar-md{left:16px;top:11px;width:21px;height:21px}[dir=rtl].sc-ion-searchbar-md .searchbar-search-icon.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{left:unset;right:unset;right:16px}.searchbar-cancel-button.sc-ion-searchbar-md{left:5px;top:0;background-color:transparent;font-size:1.6em}[dir=rtl].sc-ion-searchbar-md .searchbar-cancel-button.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{left:unset;right:unset;right:5px}.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-cancel-button.sc-ion-searchbar-md{position:absolute}.searchbar-search-icon.ion-activated.sc-ion-searchbar-md,.searchbar-cancel-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-input.sc-ion-searchbar-md{padding-left:55px;padding-right:55px;padding-top:6px;padding-bottom:6px;background-position:left 8px center;height:auto;font-size:16px;font-weight:400;line-height:30px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.searchbar-input.sc-ion-searchbar-md{padding-left:unset;padding-right:unset;-webkit-padding-start:55px;padding-inline-start:55px;-webkit-padding-end:55px;padding-inline-end:55px}}[dir=rtl].sc-ion-searchbar-md .searchbar-input.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background-position:right 8px center}.searchbar-clear-button.sc-ion-searchbar-md{right:13px;top:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;position:absolute;height:100%;border:0;background-color:transparent}[dir=rtl].sc-ion-searchbar-md .searchbar-clear-button.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{left:unset;right:unset;left:13px}.searchbar-clear-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-clear-icon.sc-ion-searchbar-md{width:22px;height:100%}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md{display:none}ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{padding-left:7px;padding-right:7px;padding-top:3px;padding-bottom:3px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{padding-left:unset;padding-right:unset;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px}}";
14516
14738
 
14517
- const Searchbar = class extends HTMLElement {
14739
+ const Searchbar = class extends HTMLElement$1 {
14518
14740
  constructor() {
14519
14741
  super();
14520
14742
  this.__registerHost();
@@ -14875,11 +15097,11 @@ const segmentIosCss = ":host{--ripple-color:currentColor;-moz-osx-font-smoothing
14875
15097
 
14876
15098
  const segmentMdCss = ":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:stretch;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;user-select:none}:host(.segment-scrollable){justify-content:start;width:auto;overflow-x:auto}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:transparent}:host(.segment-scrollable) ::slotted(ion-segment-button){min-width:auto}";
14877
15099
 
14878
- const Segment = class extends HTMLElement {
15100
+ const Segment = class extends HTMLElement$1 {
14879
15101
  constructor() {
14880
15102
  super();
14881
15103
  this.__registerHost();
14882
- attachShadow(this);
15104
+ this.__attachShadow();
14883
15105
  this.ionChange = createEvent(this, "ionChange", 7);
14884
15106
  this.ionSelect = createEvent(this, "ionSelect", 7);
14885
15107
  this.ionStyle = createEvent(this, "ionStyle", 7);
@@ -15208,11 +15430,11 @@ const segmentButtonIosCss = ":host{--color:initial;--color-hover:var(--color);--
15208
15430
  const segmentButtonMdCss = ":host{--color:initial;--color-hover:var(--color);--color-checked:var(--color);--color-disabled:var(--color);--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;border-radius:var(--border-radius);display:flex;position:relative;flex:1 1 auto;flex-direction:column;height:auto;background:var(--background);color:var(--color);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;font-kerning:none;cursor:pointer}.button-native{border-radius:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:var(--margin-start);margin-right:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);transform:translate3d(0, 0, 0);display:flex;position:relative;flex-direction:inherit;flex-grow:1;align-items:center;justify-content:center;width:100%;min-width:inherit;max-width:inherit;height:auto;min-height:inherit;max-height:inherit;transition:var(--transition);border:none;outline:none;background:transparent;contain:content;pointer-events:none;overflow:hidden;z-index:2}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.button-native{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end)}}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{display:flex;position:relative;flex-flow:inherit;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.segment-button-checked){background:var(--background-checked);color:var(--color-checked)}:host(.segment-button-disabled){cursor:default;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(:focus){outline:none}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.segment-button-checked:hover) .button-native{color:var(--color-checked)}}::slotted(ion-icon){flex-shrink:0;order:-1;pointer-events:none}::slotted(ion-label){display:block;align-self:center;line-height:22px;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;pointer-events:none}:host(.segment-button-layout-icon-top) .button-native{flex-direction:column}:host(.segment-button-layout-icon-start) .button-native{flex-direction:row}:host(.segment-button-layout-icon-end) .button-native{flex-direction:row-reverse}:host(.segment-button-layout-icon-bottom) .button-native{flex-direction:column-reverse}:host(.segment-button-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.segment-button-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color, var(--color-checked))}.segment-button-indicator{transform-origin:left;position:absolute;opacity:0;box-sizing:border-box;will-change:transform, opacity;pointer-events:none}.segment-button-indicator-background{width:100%;height:var(--indicator-height);transform:var(--indicator-transform);box-shadow:var(--indicator-box-shadow);pointer-events:none}.segment-button-indicator-animated{transition:var(--indicator-transition)}:host(.segment-button-checked) .segment-button-indicator{opacity:1}@media (prefers-reduced-motion: reduce){.segment-button-indicator-background{transform:none}.segment-button-indicator-animated{transition:none}}:host{--background:none;--background-checked:none;--background-hover:var(--color-checked);--background-focused:var(--color-checked);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04;--color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--color-checked:var(--ion-color-primary, #3880ff);--indicator-box-shadow:none;--indicator-color:var(--color-checked);--indicator-height:2px;--indicator-transition:transform 250ms cubic-bezier(0.4, 0, 0.2, 1);--indicator-transform:none;--padding-top:0;--padding-end:16px;--padding-bottom:0;--padding-start:16px;--transition:color 0.15s linear 0s, opacity 0.15s linear 0s;min-width:90px;max-width:360px;min-height:48px;border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);font-size:14px;font-weight:500;letter-spacing:0.06em;line-height:40px;text-transform:uppercase}:host(.segment-button-disabled){opacity:0.3}:host(.in-segment-color){background:none;color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6)}:host(.in-segment-color) ion-ripple-effect{color:var(--ion-color-base)}:host(.in-segment-color) .segment-button-indicator-background{background:var(--ion-color-base)}:host(.in-segment-color.segment-button-checked) .button-native{color:var(--ion-color-base)}:host(.in-segment-color.ion-focused) .button-native::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.in-segment-color:hover) .button-native{color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6)}:host(.in-segment-color:hover) .button-native::after{background:var(--ion-color-base)}:host(.in-segment-color.segment-button-checked:hover) .button-native{color:var(--ion-color-base)}}:host(.in-toolbar:not(.in-segment-color)){--background:var(--ion-toolbar-segment-background, none);--background-checked:var(--ion-toolbar-segment-background-checked, none);--color:var(--ion-toolbar-segment-color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.6));--color-checked:var(--ion-toolbar-segment-color-checked, var(--ion-color-primary, #3880ff));--indicator-color:var(--ion-toolbar-segment-color-checked, var(--color-checked))}:host(.in-toolbar-color:not(.in-segment-color)) .button-native{color:rgba(var(--ion-color-contrast-rgb), 0.6)}:host(.in-toolbar-color.segment-button-checked:not(.in-segment-color)) .button-native{color:var(--ion-color-contrast)}@media (any-hover: hover){:host(.in-toolbar-color:not(.in-segment-color)) .button-native::after{background:var(--ion-color-contrast)}}::slotted(ion-icon){margin-top:12px;margin-bottom:12px;font-size:24px}::slotted(ion-label){margin-top:12px;margin-bottom:12px}:host(.segment-button-layout-icon-top) ::slotted(ion-label),:host(.segment-button-layout-icon-bottom) ::slotted(ion-icon){margin-top:0}:host(.segment-button-layout-icon-top) ::slotted(ion-icon),:host(.segment-button-layout-icon-bottom) ::slotted(ion-label){margin-bottom:0}:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:8px;margin-right:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-start) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:0;margin-inline-end:0}}:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:0;margin-right:8px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.segment-button-layout-icon-end) ::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}:host(.segment-button-has-icon-only) ::slotted(ion-icon){margin-top:12px;margin-bottom:12px}:host(.segment-button-has-label-only) ::slotted(ion-label){margin-top:12px;margin-bottom:12px}.segment-button-indicator{left:0;right:0;bottom:0}.segment-button-indicator-background{background:var(--indicator-color)}:host(.in-toolbar:not(.in-segment-color)) .segment-button-indicator-background{background:var(--ion-toolbar-segment-indicator-color, var(--indicator-color))}:host(.in-toolbar-color:not(.in-segment-color)) .segment-button-indicator-background{background:var(--ion-color-contrast)}";
15209
15431
 
15210
15432
  let ids = 0;
15211
- const SegmentButton = class extends HTMLElement {
15433
+ const SegmentButton = class extends HTMLElement$1 {
15212
15434
  constructor() {
15213
15435
  super();
15214
15436
  this.__registerHost();
15215
- attachShadow(this);
15437
+ this.__attachShadow();
15216
15438
  this.segmentEl = null;
15217
15439
  this.checked = false;
15218
15440
  /**
@@ -15342,11 +15564,11 @@ const selectIosCss = ":host{--placeholder-color:currentColor;--placeholder-opaci
15342
15564
 
15343
15565
  const selectMdCss = ":host{--placeholder-color:currentColor;--placeholder-opacity:0.33;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:flex;position:relative;align-items:center;font-family:var(--ion-font-family, inherit);overflow:hidden;z-index:2}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}:host(.in-item){position:static;max-width:45%}:host(.select-disabled){opacity:0.4;pointer-events:none}:host(.ion-focused) button{border:2px solid #5e9ed6}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}label{left:0;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}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}label::-moz-focus-inner{border:0}button{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}.select-icon{position:relative;opacity:0.33}.select-text{flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-icon-inner{left:5px;top:50%;margin-top:-2px;position:absolute;width:0;height:0;border-top:5px solid;border-right:5px solid transparent;border-left:5px solid transparent;color:currentColor;pointer-events:none}[dir=rtl] .select-icon-inner,:host-context([dir=rtl]) .select-icon-inner{left:unset;right:unset;right:5px}:host{--padding-top:10px;--padding-end:0;--padding-bottom:10px;--padding-start:16px}.select-icon{width:19px;height:19px}:host-context(.item-label-floating) .select-icon{transform:translate3d(0, -9px, 0)}";
15344
15566
 
15345
- const Select = class extends HTMLElement {
15567
+ const Select = class extends HTMLElement$1 {
15346
15568
  constructor() {
15347
15569
  super();
15348
15570
  this.__registerHost();
15349
- attachShadow(this);
15571
+ this.__attachShadow();
15350
15572
  this.ionChange = createEvent(this, "ionChange", 7);
15351
15573
  this.ionCancel = createEvent(this, "ionCancel", 7);
15352
15574
  this.ionFocus = createEvent(this, "ionFocus", 7);
@@ -15740,11 +15962,11 @@ const OPTION_CLASS = 'select-interface-option';
15740
15962
 
15741
15963
  const selectOptionCss = ":host{display:none}";
15742
15964
 
15743
- const SelectOption = class extends HTMLElement {
15965
+ const SelectOption = class extends HTMLElement$1 {
15744
15966
  constructor() {
15745
15967
  super();
15746
15968
  this.__registerHost();
15747
- attachShadow(this);
15969
+ this.__attachShadow();
15748
15970
  this.inputId = `ion-selopt-${selectOptionIds++}`;
15749
15971
  /**
15750
15972
  * If `true`, the user cannot interact with the select option. This property does not apply when `interface="action-sheet"` as `ion-action-sheet` does not allow for disabled buttons.
@@ -15761,7 +15983,7 @@ let selectOptionIds = 0;
15761
15983
 
15762
15984
  const selectPopoverCss = ".sc-ion-select-popover-h ion-list.sc-ion-select-popover{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-select-popover-h ion-list-header.sc-ion-select-popover,.sc-ion-select-popover-h ion-label.sc-ion-select-popover{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}";
15763
15985
 
15764
- const SelectPopover = class extends HTMLElement {
15986
+ const SelectPopover = class extends HTMLElement$1 {
15765
15987
  constructor() {
15766
15988
  super();
15767
15989
  this.__registerHost();
@@ -15785,11 +16007,11 @@ const SelectPopover = class extends HTMLElement {
15785
16007
 
15786
16008
  const skeletonTextCss = ":host{--background:rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065);border-radius:var(--border-radius, inherit);display:block;width:100%;height:inherit;margin-top:4px;margin-bottom:4px;background:var(--background);line-height:10px;user-select:none;pointer-events:none}span{display:inline-block}:host(.in-media){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;height:100%}:host(.skeleton-text-animated){position:relative;background:linear-gradient(to right, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 8%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.135) 18%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 33%);background-size:800px 104px;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:shimmer;animation-timing-function:linear}@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}";
15787
16009
 
15788
- const SkeletonText = class extends HTMLElement {
16010
+ const SkeletonText = class extends HTMLElement$1 {
15789
16011
  constructor() {
15790
16012
  super();
15791
16013
  this.__registerHost();
15792
- attachShadow(this);
16014
+ this.__attachShadow();
15793
16015
  /**
15794
16016
  * If `true`, the skeleton text will animate.
15795
16017
  */
@@ -15811,7 +16033,7 @@ const SkeletonText = class extends HTMLElement {
15811
16033
 
15812
16034
  const slideCss = "ion-slide{display:block;width:100%;height:100%}.slide-zoom{display:block;width:100%;text-align:center}.swiper-slide{display:flex;position:relative;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;font-size:18px;text-align:center;box-sizing:border-box}.swiper-slide img{width:auto;max-width:100%;height:auto;max-height:100%}";
15813
16035
 
15814
- const Slide = class extends HTMLElement {
16036
+ const Slide = class extends HTMLElement$1 {
15815
16037
  constructor() {
15816
16038
  super();
15817
16039
  this.__registerHost();
@@ -15831,7 +16053,7 @@ const slidesIosCss = ".swiper-container{margin:0 auto;position:relative;overflow
15831
16053
 
15832
16054
  const slidesMdCss = ".swiper-container{margin:0 auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical{height:100%}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform;-webkit-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0px, 0, 0);transform:translate3d(0px, 0, 0)}.swiper-container-multirow>.swiper-wrapper{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;height:100%;position:relative;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform, -webkit-transform}.swiper-invisible-blank-slide{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:height, -webkit-transform;transition-property:height, -webkit-transform;-o-transition-property:transform, height;transition-property:transform, height;transition-property:transform, height, -webkit-transform}.swiper-container-3d{-webkit-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-wrapper,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-cube-shadow{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));background-image:-webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:-o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-container-wp8-horizontal,.swiper-container-wp8-horizontal>.swiper-wrapper{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-container-wp8-vertical,.swiper-container-wp8-vertical>.swiper-wrapper{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-prev,.swiper-button-next{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled{opacity:0.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\");left:10px;right:auto}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E\");right:10px;left:auto}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E\")}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:300ms opacity;-o-transition:300ms opacity;transition:300ms opacity;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-container-horizontal>.swiper-pagination-bullets{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{-webkit-transform:scale(0.66);-ms-transform:scale(0.66);transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{-webkit-transform:scale(0.33);-ms-transform:scale(0.33);transform:scale(0.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:0.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0px, -50%, 0);transform:translate3d(0px, -50%, 0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;-webkit-transition:200ms top, 200ms -webkit-transform;transition:200ms top, 200ms -webkit-transform;-o-transition:200ms transform, 200ms top;transition:200ms transform, 200ms top;transition:200ms transform, 200ms top, 200ms -webkit-transform}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms left, 200ms -webkit-transform;transition:200ms left, 200ms -webkit-transform;-o-transition:200ms transform, 200ms left;transition:200ms transform, 200ms left;transition:200ms transform, 200ms left, 200ms -webkit-transform}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{-webkit-transition:200ms right, 200ms -webkit-transform;transition:200ms right, 200ms -webkit-transform;-o-transition:200ms transform, 200ms right;transition:200ms transform, 200ms right;transition:200ms transform, 200ms right, 200ms -webkit-transform}.swiper-pagination-progressbar{background:rgba(0, 0, 0, 0.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progressbar,.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:4px;height:100%;left:0;top:0}.swiper-pagination-white .swiper-pagination-bullet-active{background:#ffffff}.swiper-pagination-progressbar.swiper-pagination-white{background:rgba(255, 255, 255, 0.25)}.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill{background:#ffffff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000000}.swiper-pagination-progressbar.swiper-pagination-black{background:rgba(0, 0, 0, 0.25)}.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill{background:#000000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0, 0, 0, 0.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0, 0, 0, 0.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;text-align:center}.swiper-zoom-container>img,.swiper-zoom-container>svg,.swiper-zoom-container>canvas{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-ms-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12, end) infinite;animation:swiper-preloader-spin 1s steps(12, end) infinite}.swiper-lazy-preloader:after{display:block;content:\"\";width:100%;height:100%;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\");background-position:50%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E\")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-prev,.swiper-container-cube .swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:0.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-coverflow .swiper-wrapper{-ms-perspective:1200px}ion-slides{display:block;user-select:none}.swiper-pagination-bullet{background:var(--bullet-background)}.swiper-pagination-bullet-active{background:var(--bullet-background-active)}.swiper-pagination-progressbar{background:var(--progress-bar-background)}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--progress-bar-background-active)}.swiper-scrollbar{background:var(--scroll-bar-background)}.swiper-scrollbar-drag{background:var(--scroll-bar-background-active)}.slides-md{--bullet-background:var(--ion-color-step-200, #cccccc);--bullet-background-active:var(--ion-color-primary, #3880ff);--progress-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.25);--progress-bar-background-active:var(--ion-color-primary-shade, #3171e0);--scroll-bar-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.1);--scroll-bar-background-active:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.5)}";
15833
16055
 
15834
- const Slides = class extends HTMLElement {
16056
+ const Slides = class extends HTMLElement$1 {
15835
16057
  constructor() {
15836
16058
  super();
15837
16059
  this.__registerHost();
@@ -15853,7 +16075,6 @@ const Slides = class extends HTMLElement {
15853
16075
  this.ionSlideTouchEnd = createEvent(this, "ionSlideTouchEnd", 7);
15854
16076
  this.swiperReady = false;
15855
16077
  this.swiper = new Promise(resolve => { this.readySwiper = resolve; });
15856
- this.didInit = false;
15857
16078
  /**
15858
16079
  * Options to pass to the swiper instance.
15859
16080
  * See http://idangero.us/swiper/api/ for valid options
@@ -15881,8 +16102,7 @@ const Slides = class extends HTMLElement {
15881
16102
  console.warn(`[Deprecation Warning]: ion-slides has been deprecated and will be removed in Ionic Framework v7.0. We recommend using the framework-specific integrations that Swiper.js provides, allowing for faster bug fixes and an improved developer experience. See https://ionicframework.com/docs/api/slides#migration for more information including migration steps.`);
15882
16103
  }
15883
16104
  connectedCallback() {
15884
- // tslint:disable-next-line: strict-type-predicates
15885
- if (typeof MutationObserver !== 'undefined') {
16105
+ if (Build.isBrowser) {
15886
16106
  const mut = this.mutationO = new MutationObserver(() => {
15887
16107
  if (this.swiperReady) {
15888
16108
  this.update();
@@ -15893,10 +16113,7 @@ const Slides = class extends HTMLElement {
15893
16113
  subtree: true
15894
16114
  });
15895
16115
  componentOnReady(this.el, () => {
15896
- if (!this.didInit) {
15897
- this.didInit = true;
15898
- this.initSwiper();
15899
- }
16116
+ this.initSwiper();
15900
16117
  });
15901
16118
  }
15902
16119
  }
@@ -15905,21 +16122,6 @@ const Slides = class extends HTMLElement {
15905
16122
  this.mutationO.disconnect();
15906
16123
  this.mutationO = undefined;
15907
16124
  }
15908
- /**
15909
- * We need to synchronously destroy
15910
- * swiper otherwise it is possible
15911
- * that it will be left in a
15912
- * destroyed state if connectedCallback
15913
- * is called multiple times
15914
- */
15915
- const swiper = this.syncSwiper;
15916
- if (swiper !== undefined) {
15917
- swiper.destroy(true, true);
15918
- this.swiper = new Promise(resolve => { this.readySwiper = resolve; });
15919
- this.swiperReady = false;
15920
- this.syncSwiper = undefined;
15921
- }
15922
- this.didInit = false;
15923
16125
  }
15924
16126
  /**
15925
16127
  * Update the underlying slider implementation. Call this if you've added or removed
@@ -16071,7 +16273,6 @@ const Slides = class extends HTMLElement {
16071
16273
  await waitForSlides(this.el);
16072
16274
  const swiper = new Swiper(this.el, finalOptions);
16073
16275
  this.swiperReady = true;
16074
- this.syncSwiper = swiper;
16075
16276
  this.readySwiper(swiper);
16076
16277
  }
16077
16278
  normalizeOptions() {
@@ -16181,6 +16382,8 @@ const Slides = class extends HTMLElement {
16181
16382
  init: () => {
16182
16383
  setTimeout(() => {
16183
16384
  this.ionSlidesDidLoad.emit();
16385
+ // Forces the swiper instance to update after initializing.
16386
+ this.update();
16184
16387
  }, 20);
16185
16388
  },
16186
16389
  slideChangeTransitionStart: this.ionSlideWillChange.emit,
@@ -16231,11 +16434,11 @@ const waitForSlides = (el) => {
16231
16434
 
16232
16435
  const spinnerCss = ":host{display:inline-block;position:relative;width:28px;height:28px;color:var(--color);user-select:none}:host(.ion-color){color:var(--ion-color-base)}svg{left:0;top:0;transform-origin:center;position:absolute;width:100%;height:100%;transform:translateZ(0)}[dir=rtl] svg,:host-context([dir=rtl]) svg{left:unset;right:unset;right:0}[dir=rtl] svg,:host-context([dir=rtl]) svg{transform-origin:calc(100% - center)}:host(.spinner-lines) line,:host(.spinner-lines-small) line{stroke-width:4px;stroke-linecap:round;stroke:currentColor}:host(.spinner-lines) svg,:host(.spinner-lines-small) svg{animation:spinner-fade-out 1s linear infinite}:host(.spinner-bubbles) svg{animation:spinner-scale-out 1s linear infinite;fill:currentColor}:host(.spinner-circles) svg{animation:spinner-fade-out 1s linear infinite;fill:currentColor}:host(.spinner-crescent) circle{fill:transparent;stroke-width:4px;stroke-dasharray:128px;stroke-dashoffset:82px;stroke:currentColor}:host(.spinner-crescent) svg{animation:spinner-rotate 1s linear infinite}:host(.spinner-dots) circle{stroke-width:0;fill:currentColor}:host(.spinner-dots) svg{animation:spinner-dots 1s linear infinite}:host(.spinner-circular){animation:spinner-circular linear infinite}:host(.spinner-circular) circle{animation:spinner-circular-inner ease-in-out infinite;stroke:currentColor;stroke-dasharray:80px, 200px;stroke-dashoffset:0px;stroke-width:5.6;fill:none}:host(.spinner-paused),:host(.spinner-paused) svg,:host(.spinner-paused) circle{animation-play-state:paused}@keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes spinner-scale-out{0%{transform:scale(1, 1)}100%{transform:scale(0, 0)}}@keyframes spinner-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes spinner-dots{0%{transform:scale(1, 1);opacity:0.9}50%{transform:scale(0.4, 0.4);opacity:0.3}100%{transform:scale(1, 1);opacity:0.9}}@keyframes spinner-circular{100%{transform:rotate(360deg)}}@keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}";
16233
16436
 
16234
- const Spinner = class extends HTMLElement {
16437
+ const Spinner = class extends HTMLElement$1 {
16235
16438
  constructor() {
16236
16439
  super();
16237
16440
  this.__registerHost();
16238
- attachShadow(this);
16441
+ this.__attachShadow();
16239
16442
  /**
16240
16443
  * If `true`, the spinner's animation will be paused.
16241
16444
  */
@@ -16299,11 +16502,11 @@ const QUERY = {
16299
16502
  'xl': '(min-width: 1200px)',
16300
16503
  'never': ''
16301
16504
  };
16302
- const SplitPane = class extends HTMLElement {
16505
+ const SplitPane = class extends HTMLElement$1 {
16303
16506
  constructor() {
16304
16507
  super();
16305
16508
  this.__registerHost();
16306
- attachShadow(this);
16509
+ this.__attachShadow();
16307
16510
  this.ionSplitPaneVisible = createEvent(this, "ionSplitPaneVisible", 7);
16308
16511
  this.visible = false;
16309
16512
  /**
@@ -16437,11 +16640,11 @@ const setPaneClass = (el, isMain) => {
16437
16640
 
16438
16641
  const tabCss = ":host(.tab-hidden){display:none !important}";
16439
16642
 
16440
- const Tab = class extends HTMLElement {
16643
+ const Tab = class extends HTMLElement$1 {
16441
16644
  constructor() {
16442
16645
  super();
16443
16646
  this.__registerHost();
16444
- attachShadow(this);
16647
+ this.__attachShadow();
16445
16648
  this.loaded = false;
16446
16649
  /** @internal */
16447
16650
  this.active = false;
@@ -16499,11 +16702,11 @@ const tabBarIosCss = ":host{padding-left:var(--ion-safe-area-left);padding-right
16499
16702
 
16500
16703
  const tabBarMdCss = ":host{padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:flex;align-items:center;justify-content:center;width:auto;padding-bottom:var(--ion-safe-area-bottom, 0);border-top:var(--border);background:var(--background);color:var(--color);text-align:center;contain:strict;user-select:none;z-index:10;box-sizing:content-box !important}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color) ::slotted(ion-tab-button){--background-focused:var(--ion-color-shade);--color-selected:var(--ion-color-contrast)}:host(.ion-color) ::slotted(.tab-selected){color:var(--ion-color-contrast)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){color:rgba(var(--ion-color-contrast-rgb), 0.7)}:host(.ion-color),:host(.ion-color) ::slotted(ion-tab-button){background:var(--ion-color-base)}:host(.ion-color) ::slotted(ion-tab-button.ion-focused),:host(.tab-bar-translucent) ::slotted(ion-tab-button.ion-focused){background:var(--background-focused)}:host(.tab-bar-translucent) ::slotted(ion-tab-button){background:transparent}:host([slot=top]){padding-top:var(--ion-safe-area-top, 0);padding-bottom:0;border-top:0;border-bottom:var(--border)}:host(.tab-bar-hidden){display:none !important}:host{--background:var(--ion-tab-bar-background, var(--ion-background-color, #fff));--background-focused:var(--ion-tab-bar-background-focused, #e0e0e0);--border:1px solid var(--ion-tab-bar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.07))));--color:var(--ion-tab-bar-color, var(--ion-color-step-600, #666666));--color-selected:var(--ion-tab-bar-color-selected, var(--ion-color-primary, #3880ff));height:56px}";
16501
16704
 
16502
- const TabBar = class extends HTMLElement {
16705
+ const TabBar = class extends HTMLElement$1 {
16503
16706
  constructor() {
16504
16707
  super();
16505
16708
  this.__registerHost();
16506
- attachShadow(this);
16709
+ this.__attachShadow();
16507
16710
  this.ionTabBarChanged = createEvent(this, "ionTabBarChanged", 7);
16508
16711
  this.keyboardVisible = false;
16509
16712
  /**
@@ -16567,11 +16770,11 @@ const tabButtonIosCss = ":host{--ripple-color:var(--color-selected);--background
16567
16770
 
16568
16771
  const tabButtonMdCss = ":host{--ripple-color:var(--color-selected);--background-focused-opacity:1;flex:1;flex-direction:column;align-items:center;justify-content:center;height:100%;outline:none;background:var(--background);color:var(--color)}.button-native{border-radius:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:flex;position:relative;flex-direction:inherit;align-items:inherit;justify-content:inherit;width:100%;height:100%;border:0;outline:none;background:transparent;text-decoration:none;cursor:pointer;overflow:hidden;box-sizing:border-box;-webkit-user-drag:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}.button-inner{display:flex;position:relative;flex-flow:inherit;align-items:inherit;justify-content:inherit;width:100%;height:100%;z-index:1}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){a:hover{color:var(--color-selected)}}:host(.tab-selected){color:var(--color-selected)}:host(.tab-hidden){display:none !important}:host(.tab-disabled){pointer-events:none;opacity:0.4}::slotted(ion-label),::slotted(ion-icon){display:block;align-self:center;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;box-sizing:border-box}::slotted(ion-label){order:0}::slotted(ion-icon){order:-1;height:1em}:host(.tab-has-label-only) ::slotted(ion-label){white-space:normal}::slotted(ion-badge){box-sizing:border-box;position:absolute;z-index:1}:host(.tab-layout-icon-start){flex-direction:row}:host(.tab-layout-icon-end){flex-direction:row-reverse}:host(.tab-layout-icon-bottom){flex-direction:column-reverse}:host(.tab-layout-icon-hide) ::slotted(ion-icon){display:none}:host(.tab-layout-label-hide) ::slotted(ion-label){display:none}ion-ripple-effect{color:var(--ripple-color)}:host{--padding-top:0;--padding-end:12px;--padding-bottom:0;--padding-start:12px;max-width:168px;font-size:12px;font-weight:normal;letter-spacing:0.03em}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;text-transform:none}::slotted(ion-icon){margin-left:0;margin-right:0;margin-top:16px;margin-bottom:16px;transform-origin:center center;font-size:22px}[dir=rtl] ::slotted(ion-icon),:host-context([dir=rtl]) ::slotted(ion-icon){transform-origin:calc(100% - center) center}::slotted(ion-badge){border-radius:8px;padding-left:2px;padding-right:2px;padding-top:3px;padding-bottom:2px;left:calc(50% + 6px);top:8px;min-width:12px;font-size:8px;font-weight:normal}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-badge){padding-left:unset;padding-right:unset;-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:2px;padding-inline-end:2px}}[dir=rtl] ::slotted(ion-badge),:host-context([dir=rtl]) ::slotted(ion-badge){left:unset;right:unset;right:calc(50% + 6px)}::slotted(ion-badge:empty){display:block;min-width:8px;height:8px}:host(.tab-layout-icon-top) ::slotted(ion-icon){margin-top:6px;margin-bottom:2px}:host(.tab-layout-icon-top) ::slotted(ion-label){margin-top:0;margin-bottom:6px}:host(.tab-layout-icon-bottom) ::slotted(ion-badge){left:70%;top:8px}:host-context([dir=rtl]):host(.tab-layout-icon-bottom) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-bottom ::slotted(ion-badge){left:unset;right:unset;right:70%}:host(.tab-layout-icon-bottom) ::slotted(ion-icon){margin-top:0;margin-bottom:6px}:host(.tab-layout-icon-bottom) ::slotted(ion-label){margin-top:6px;margin-bottom:0}:host(.tab-layout-icon-start) ::slotted(ion-badge),:host(.tab-layout-icon-end) ::slotted(ion-badge){left:80%;top:16px}:host-context([dir=rtl]):host(.tab-layout-icon-start) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-start ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-layout-icon-end) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-end ::slotted(ion-badge){left:unset;right:unset;right:80%}:host(.tab-layout-icon-start) ::slotted(ion-icon){margin-right:6px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.tab-layout-icon-start) ::slotted(ion-icon){margin-right:unset;-webkit-margin-end:6px;margin-inline-end:6px}}:host(.tab-layout-icon-end) ::slotted(ion-icon){margin-left:6px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.tab-layout-icon-end) ::slotted(ion-icon){margin-left:unset;-webkit-margin-start:6px;margin-inline-start:6px}}:host(.tab-layout-icon-hide) ::slotted(ion-badge),:host(.tab-has-label-only) ::slotted(ion-badge){left:70%;top:16px}:host-context([dir=rtl]):host(.tab-layout-icon-hide) ::slotted(ion-badge),:host-context([dir=rtl]).tab-layout-icon-hide ::slotted(ion-badge),:host-context([dir=rtl]):host(.tab-has-label-only) ::slotted(ion-badge),:host-context([dir=rtl]).tab-has-label-only ::slotted(ion-badge){left:unset;right:unset;right:70%}:host(.tab-layout-icon-hide) ::slotted(ion-label),:host(.tab-has-label-only) ::slotted(ion-label){margin-top:0;margin-bottom:0}:host(.tab-layout-label-hide) ::slotted(ion-badge),:host(.tab-has-icon-only) ::slotted(ion-badge){top:16px}:host(.tab-layout-label-hide) ::slotted(ion-icon),:host(.tab-has-icon-only) ::slotted(ion-icon){margin-top:0;margin-bottom:0;font-size:24px}";
16569
16772
 
16570
- const TabButton = class extends HTMLElement {
16773
+ const TabButton = class extends HTMLElement$1 {
16571
16774
  constructor() {
16572
16775
  super();
16573
16776
  this.__registerHost();
16574
- attachShadow(this);
16777
+ this.__attachShadow();
16575
16778
  this.ionTabButtonClick = createEvent(this, "ionTabButtonClick", 7);
16576
16779
  /**
16577
16780
  * If `true`, the user cannot interact with the tab button.
@@ -16662,11 +16865,11 @@ const TabButton = class extends HTMLElement {
16662
16865
 
16663
16866
  const tabsCss = ":host{left:0;right:0;top:0;bottom:0;display:flex;position:absolute;flex-direction:column;width:100%;height:100%;contain:layout size style;z-index:0}.tabs-inner{position:relative;flex:1;contain:layout size style}";
16664
16867
 
16665
- const Tabs = class extends HTMLElement {
16868
+ const Tabs = class extends HTMLElement$1 {
16666
16869
  constructor() {
16667
16870
  super();
16668
16871
  this.__registerHost();
16669
- attachShadow(this);
16872
+ this.__attachShadow();
16670
16873
  this.ionNavWillLoad = createEvent(this, "ionNavWillLoad", 7);
16671
16874
  this.ionTabsWillChange = createEvent(this, "ionTabsWillChange", 3);
16672
16875
  this.ionTabsDidChange = createEvent(this, "ionTabsDidChange", 3);
@@ -16812,11 +17015,11 @@ const getTab = (tabs, tab) => {
16812
17015
 
16813
17016
  const textCss = ":host(.ion-color){color:var(--ion-color-base)}";
16814
17017
 
16815
- const Text = class extends HTMLElement {
17018
+ const Text = class extends HTMLElement$1 {
16816
17019
  constructor() {
16817
17020
  super();
16818
17021
  this.__registerHost();
16819
- attachShadow(this);
17022
+ this.__attachShadow();
16820
17023
  }
16821
17024
  render() {
16822
17025
  const mode = getIonMode$1(this);
@@ -16831,7 +17034,7 @@ const textareaIosCss = ".sc-ion-textarea-ios-h{--background:initial;--color:init
16831
17034
 
16832
17035
  const textareaMdCss = ".sc-ion-textarea-md-h{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--border-radius:0;display:block;position:relative;flex:1;width:100%;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);white-space:pre-wrap;z-index:2;box-sizing:border-box}.ion-color.sc-ion-textarea-md-h{background:initial}.ion-color.sc-ion-textarea-md-h{color:var(--ion-color-base)}ion-item.sc-ion-textarea-md-h,ion-item .sc-ion-textarea-md-h{align-self:baseline}ion-item.sc-ion-textarea-md-h:not(.item-label),ion-item:not(.item-label) .sc-ion-textarea-md-h{--padding-start:0}.textarea-wrapper.sc-ion-textarea-md{min-width:inherit;max-width:inherit;min-height:inherit;max-height:inherit}.native-textarea.sc-ion-textarea-md{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;box-sizing:border-box;resize:none;appearance:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.native-textarea.sc-ion-textarea-md{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.native-textarea.sc-ion-textarea-md::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea[disabled].sc-ion-textarea-md{opacity:0.4}.cloned-input.sc-ion-textarea-md{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-textarea-md .cloned-input.sc-ion-textarea-md,[dir=rtl].sc-ion-textarea-md-h .cloned-input.sc-ion-textarea-md,[dir=rtl] .sc-ion-textarea-md-h .cloned-input.sc-ion-textarea-md{left:unset;right:unset;right:0}.item-label-floating.item-has-placeholder.sc-ion-textarea-md-h:not(.item-has-value),.item-label-floating.item-has-placeholder:not(.item-has-value) .sc-ion-textarea-md-h{opacity:0}.item-label-floating.item-has-placeholder.sc-ion-textarea-md-h:not(.item-has-value).item-has-focus,.item-label-floating.item-has-placeholder:not(.item-has-value).item-has-focus .sc-ion-textarea-md-h{transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);opacity:1}.sc-ion-textarea-md-h{--padding-top:10px;--padding-end:0;--padding-bottom:11px;--padding-start:8px;margin-left:0;margin-right:0;margin-top:8px;margin-bottom:0;font-size:inherit}.item-label-stacked.sc-ion-textarea-md-h,.item-label-stacked .sc-ion-textarea-md-h,.item-label-floating.sc-ion-textarea-md-h,.item-label-floating .sc-ion-textarea-md-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0}";
16833
17036
 
16834
- const Textarea = class extends HTMLElement {
17037
+ const Textarea = class extends HTMLElement$1 {
16835
17038
  constructor() {
16836
17039
  super();
16837
17040
  this.__registerHost();
@@ -16958,7 +17161,7 @@ const Textarea = class extends HTMLElement {
16958
17161
  }
16959
17162
  }
16960
17163
  componentWillLoad() {
16961
- this.inheritedAttributes = inheritAttributes(this.el, ['title']);
17164
+ this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, ['title']));
16962
17165
  }
16963
17166
  componentDidLoad() {
16964
17167
  raf(() => this.runAutoGrow());
@@ -17066,11 +17269,11 @@ let textareaIds = 0;
17066
17269
 
17067
17270
  const thumbnailCss = ":host{--size:48px;--border-radius:0;border-radius:var(--border-radius);display:block;width:var(--size);height:var(--size)}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;object-fit:cover;overflow:hidden}";
17068
17271
 
17069
- const Thumbnail = class extends HTMLElement {
17272
+ const Thumbnail = class extends HTMLElement$1 {
17070
17273
  constructor() {
17071
17274
  super();
17072
17275
  this.__registerHost();
17073
- attachShadow(this);
17276
+ this.__attachShadow();
17074
17277
  }
17075
17278
  render() {
17076
17279
  return (h(Host, { class: getIonMode$1(this) }, h("slot", null)));
@@ -17082,11 +17285,11 @@ const titleIosCss = ":host{--color:initial;display:flex;flex:1;align-items:cente
17082
17285
 
17083
17286
  const titleMdCss = ":host{--color:initial;display:flex;flex:1;align-items:center;transform:translateZ(0);color:var(--color)}:host(.ion-color){color:var(--ion-color-base)}.toolbar-title{display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;pointer-events:auto}:host(.title-small) .toolbar-title{white-space:normal}:host{padding-left:20px;padding-right:20px;padding-top:0;padding-bottom:0;font-size:20px;font-weight:500;letter-spacing:0.0125em}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px}}:host(.title-small){width:100%;height:100%;font-size:15px;font-weight:normal}";
17084
17287
 
17085
- const ToolbarTitle = class extends HTMLElement {
17288
+ const ToolbarTitle = class extends HTMLElement$1 {
17086
17289
  constructor() {
17087
17290
  super();
17088
17291
  this.__registerHost();
17089
- attachShadow(this);
17292
+ this.__attachShadow();
17090
17293
  this.ionStyle = createEvent(this, "ionStyle", 7);
17091
17294
  }
17092
17295
  sizeChanged() {
@@ -17238,11 +17441,11 @@ const toastIosCss = ":host{--border-width:0;--border-style:none;--border-color:i
17238
17441
 
17239
17442
  const toastMdCss = ":host{--border-width:0;--border-style:none;--border-color:initial;--box-shadow:none;--min-width:auto;--width:auto;--min-height:auto;--height:auto;--max-height:auto;--white-space:pre-wrap;left:0;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);contain:strict;z-index:1001;pointer-events:none}:host-context([dir=rtl]){left:unset;right:unset;right:0}:host(.overlay-hidden){display:none}:host(.ion-color){--button-color:inherit;color:var(--ion-color-contrast)}:host(.ion-color) .toast-button-cancel{color:inherit}:host(.ion-color) .toast-wrapper{background:var(--ion-color-base)}.toast-wrapper{border-radius:var(--border-radius);left:var(--start);right:var(--end);width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);box-shadow:var(--box-shadow)}[dir=rtl] .toast-wrapper,:host-context([dir=rtl]) .toast-wrapper{left:unset;right:unset;left:var(--end);right:var(--start)}.toast-container{display:flex;align-items:center;pointer-events:auto;height:inherit;min-height:inherit;max-height:inherit;contain:content}.toast-content{display:flex;flex:1;flex-direction:column;justify-content:center}.toast-message{flex:1;white-space:var(--white-space)}.toast-button-group{display:flex}.toast-button{border:0;outline:none;color:var(--button-color);z-index:0}.toast-icon{font-size:1.4em}.toast-button-inner{display:flex;align-items:center}@media (any-hover: hover){.toast-button:hover{cursor:pointer}}:host{--background:var(--ion-color-step-800, #333333);--border-radius:4px;--box-shadow:0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);--button-color:var(--ion-color-primary, #3880ff);--color:var(--ion-color-step-50, #f2f2f2);--max-width:700px;--start:8px;--end:8px;font-size:14px}.toast-wrapper{margin-left:auto;margin-right:auto;margin-top:auto;margin-bottom:auto;display:block;position:absolute;opacity:0.01;z-index:10}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.toast-wrapper{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.toast-content{padding-left:16px;padding-right:16px;padding-top:14px;padding-bottom:14px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.toast-content{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.toast-header{margin-bottom:2px;font-weight:500;line-height:20px}.toast-message{line-height:20px}.toast-button-group-start{margin-left:8px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.toast-button-group-start{margin-left:unset;-webkit-margin-start:8px;margin-inline-start:8px}}.toast-button-group-end{margin-right:8px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.toast-button-group-end{margin-right:unset;-webkit-margin-end:8px;margin-inline-end:8px}}.toast-button{padding-left:15px;padding-right:15px;padding-top:10px;padding-bottom:10px;position:relative;background-color:transparent;font-family:var(--ion-font-family);font-size:14px;font-weight:500;letter-spacing:0.84px;text-transform:uppercase;overflow:hidden}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.toast-button{padding-left:unset;padding-right:unset;-webkit-padding-start:15px;padding-inline-start:15px;-webkit-padding-end:15px;padding-inline-end:15px}}.toast-button-cancel{color:var(--ion-color-step-100, #e6e6e6)}.toast-button-icon-only{border-radius:50%;padding-left:9px;padding-right:9px;padding-top:9px;padding-bottom:9px;width:36px;height:36px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.toast-button-icon-only{padding-left:unset;padding-right:unset;-webkit-padding-start:9px;padding-inline-start:9px;-webkit-padding-end:9px;padding-inline-end:9px}}@media (any-hover: hover){.toast-button:hover{background-color:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.08)}.toast-button-cancel:hover{background-color:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.08)}}";
17240
17443
 
17241
- const Toast = class extends HTMLElement {
17444
+ const Toast = class extends HTMLElement$1 {
17242
17445
  constructor() {
17243
17446
  super();
17244
17447
  this.__registerHost();
17245
- attachShadow(this);
17448
+ this.__attachShadow();
17246
17449
  this.didPresent = createEvent(this, "ionToastDidPresent", 7);
17247
17450
  this.willPresent = createEvent(this, "ionToastWillPresent", 7);
17248
17451
  this.willDismiss = createEvent(this, "ionToastWillDismiss", 7);
@@ -17398,11 +17601,11 @@ const toggleIosCss = ":host{box-sizing:content-box !important;display:inline-blo
17398
17601
 
17399
17602
  const toggleMdCss = ":host{box-sizing:content-box !important;display:inline-block;position:relative;outline:none;contain:content;cursor:pointer;touch-action:none;user-select:none;z-index:2}:host(.ion-focused) input{border:2px solid #5e9ed6}:host(.toggle-disabled){pointer-events:none}label{left:0;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}[dir=rtl] label,:host-context([dir=rtl]) label{left:unset;right:unset;right:0}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-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(--background);pointer-events:none;overflow:inherit}:host(.toggle-checked) .toggle-icon{background:var(--background-checked)}.toggle-inner{left:var(--handle-spacing);border-radius:var(--handle-border-radius);position:absolute;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}[dir=rtl] .toggle-inner,:host-context([dir=rtl]) .toggle-inner{left:unset;right:unset;right:var(--handle-spacing)}:host(.toggle-checked) .toggle-icon-wrapper{transform:translate3d(calc(100% - var(--handle-width)), 0, 0)}:host-context([dir=rtl]):host(.toggle-checked) .toggle-icon-wrapper,:host-context([dir=rtl]).toggle-checked .toggle-icon-wrapper{transform:translate3d(calc(-100% + var(--handle-width)), 0, 0)}:host(.toggle-checked) .toggle-inner{transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0);background:var(--handle-background-checked)}:host-context([dir=rtl]):host(.toggle-checked) .toggle-inner,:host-context([dir=rtl]).toggle-checked .toggle-inner{transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0)}:host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.39);--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);padding-left:12px;padding-right:12px;padding-top:12px;padding-bottom:12px;width:36px;height:14px;contain:strict}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}: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)}.toggle-icon{transition:background-color 160ms}.toggle-inner{will-change:background-color, transform}:host(.toggle-disabled){opacity:0.3}:host(.in-item[slot]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:16px;padding-right:0;padding-top:12px;padding-bottom:12px;cursor:pointer}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.in-item[slot]){padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:0;padding-inline-end:0}}:host(.in-item[slot=start]){padding-left:2px;padding-right:18px;padding-top:12px;padding-bottom:12px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){padding-left:unset;padding-right:unset;-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:18px;padding-inline-end:18px}}";
17400
17603
 
17401
- const Toggle = class extends HTMLElement {
17604
+ const Toggle = class extends HTMLElement$1 {
17402
17605
  constructor() {
17403
17606
  super();
17404
17607
  this.__registerHost();
17405
- attachShadow(this);
17608
+ this.__attachShadow();
17406
17609
  this.ionChange = createEvent(this, "ionChange", 7);
17407
17610
  this.ionFocus = createEvent(this, "ionFocus", 7);
17408
17611
  this.ionBlur = createEvent(this, "ionBlur", 7);
@@ -17549,11 +17752,11 @@ const toolbarIosCss = ":host{--border-width:0;--border-style:solid;--opacity:1;-
17549
17752
 
17550
17753
  const toolbarMdCss = ":host{--border-width:0;--border-style:solid;--opacity:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;box-sizing:border-box}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:flex;position:relative;flex-direction:row;align-items:center;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;box-sizing:border-box}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.toolbar-container{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:var(--opacity);z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-background-color, #fff));--color:var(--ion-toolbar-color, var(--ion-text-color, #424242));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, #c1c4cd)));--padding-top:0;--padding-bottom:0;--padding-start:0;--padding-end:0;--min-height:56px}.toolbar-content{flex:1;order:3;min-width:0;max-width:100%}::slotted(ion-segment){min-height:var(--min-height)}::slotted(.buttons-first-slot){margin-left:4px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(.buttons-first-slot){margin-left:unset;-webkit-margin-start:4px;margin-inline-start:4px}}::slotted(.buttons-last-slot){margin-right:4px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(.buttons-last-slot){margin-right:unset;-webkit-margin-end:4px;margin-inline-end:4px}}::slotted([slot=start]){order:2}::slotted([slot=secondary]){order:4}::slotted([slot=primary]){order:5;text-align:end}::slotted([slot=end]){order:6;text-align:end}";
17551
17754
 
17552
- const Toolbar = class extends HTMLElement {
17755
+ const Toolbar = class extends HTMLElement$1 {
17553
17756
  constructor() {
17554
17757
  super();
17555
17758
  this.__registerHost();
17556
- attachShadow(this);
17759
+ this.__attachShadow();
17557
17760
  this.childrenStyles = new Map();
17558
17761
  }
17559
17762
  componentWillLoad() {
@@ -17865,7 +18068,7 @@ const positionForIndex = (index, cells, heightIndex) => {
17865
18068
 
17866
18069
  const virtualScrollCss = "ion-virtual-scroll{display:block;position:relative;width:100%;contain:strict;user-select:none}ion-virtual-scroll>.virtual-loading{opacity:0}ion-virtual-scroll>.virtual-item{position:absolute !important;top:0 !important;right:0 !important;left:0 !important;transition-duration:0ms;will-change:transform}";
17867
18070
 
17868
- const VirtualScroll = class extends HTMLElement {
18071
+ const VirtualScroll = class extends HTMLElement$1 {
17869
18072
  constructor() {
17870
18073
  super();
17871
18074
  this.__registerHost();
@@ -18339,7 +18542,7 @@ const createStore = (defaultState, shouldUpdate) => {
18339
18542
 
18340
18543
  const getIdpUrl = () => prompt('Please enter your Identity Provider URL', 'http://localhost:3000');
18341
18544
 
18342
- const { state } = createStore({
18545
+ const store = createStore({
18343
18546
  getIdpUrl,
18344
18547
  isLoggedIn: false,
18345
18548
  webId: '',
@@ -18350,7 +18553,7 @@ const createPodOS = () => {
18350
18553
  return window.PodOS ? new window.PodOS.PodOS() : new Error('PodOS missing');
18351
18554
  };
18352
18555
 
18353
- const PosApp$1 = class extends HTMLElement {
18556
+ const PosApp$1 = class extends HTMLElement$1 {
18354
18557
  constructor() {
18355
18558
  super();
18356
18559
  this.__registerHost();
@@ -18359,11 +18562,11 @@ const PosApp$1 = class extends HTMLElement {
18359
18562
  this.os = createPodOS();
18360
18563
  this.os.handleIncomingRedirect();
18361
18564
  this.os.trackSession(sessionInfo => {
18362
- state.isLoggedIn = sessionInfo.isLoggedIn;
18363
- state.webId = sessionInfo.webId;
18565
+ store.state.isLoggedIn = sessionInfo.isLoggedIn;
18566
+ store.state.webId = sessionInfo.webId;
18364
18567
  });
18365
18568
  }
18366
- async consumeOs(event) {
18569
+ async initializeOs(event) {
18367
18570
  event.stopPropagation();
18368
18571
  event.detail(this.os);
18369
18572
  }
@@ -18372,25 +18575,31 @@ const PosApp$1 = class extends HTMLElement {
18372
18575
  }
18373
18576
  };
18374
18577
 
18375
- const PosDemoApp$1 = class extends HTMLElement {
18578
+ const PosAppGeneric$1 = class extends HTMLElement$1 {
18376
18579
  constructor() {
18377
18580
  super();
18378
18581
  this.__registerHost();
18379
- this.url = 'http://localhost:3000/alice/games/minecraft#it';
18380
18582
  }
18381
- linkClicked(e) {
18382
- this.url = e.detail;
18583
+ render() {
18584
+ return (h("ion-grid", null, h("ion-row", null, h("ion-col", { size: "12", "size-sm": true }, h("ion-card", null, h("ion-card-header", null, h("img", { src: "https://dummyimage.com/250/ffffff/000000" }), h("ion-card-title", null, h("pos-label", null))), h("ion-card-content", null, h("pos-description", null)))), h("ion-col", { size: "12", "size-sm": true }, h("pos-literals", null)), h("ion-col", { size: "12", "size-sm": true }, h("pos-relations", null), h("pos-reverse-relations", null)))));
18585
+ }
18586
+ };
18587
+
18588
+ const PosDemoApp$1 = class extends HTMLElement$1 {
18589
+ constructor() {
18590
+ super();
18591
+ this.__registerHost();
18383
18592
  }
18384
18593
  render() {
18385
- return (h("pos-app", null, h("ion-header", null, h("ion-toolbar", null, h("ion-title", { slot: "start" }, "pod os"), h("pos-login", null))), h("ion-content", { class: "ion-padding" }, h("pos-resource", { uri: this.url }, h("ion-grid", null, h("ion-row", null, h("ion-col", { size: "12", "size-sm": true }, h("ion-card", null, h("ion-card-header", null, h("img", { src: "https://upload.wikimedia.org/wikipedia/de/5/57/Minecraft_logo-SVG.svg" }), h("ion-card-subtitle", null, "VideoGame"), h("ion-card-title", null, h("pos-label", null))), h("ion-card-content", null, h("pos-description", null)))), h("ion-col", { size: "12", "size-sm": true }, h("pos-literals", null)), h("ion-col", { size: "12", "size-sm": true }, h("pos-relations", null)))))), h("ion-footer", null, h("ion-toolbar", null, h("ion-title", null, "Footer")))));
18594
+ return (h("pos-app", null, h("ion-header", null, h("ion-toolbar", null, h("ion-title", { slot: "start" }, "pod os"), h("pos-login", null))), h("ion-content", null, h("pos-router", null)), h("ion-footer", null, h("ion-toolbar", null, h("ion-title", null, "Footer")))));
18386
18595
  }
18387
18596
  };
18388
18597
 
18389
- const PosDescription$1 = class extends HTMLElement {
18598
+ const PosDescription$1 = class extends HTMLElement$1 {
18390
18599
  constructor() {
18391
18600
  super();
18392
18601
  this.__registerHost();
18393
- attachShadow(this);
18602
+ this.__attachShadow();
18394
18603
  this.getResource = createEvent(this, "pod-os:resource", 7);
18395
18604
  this.setResource = async (resource) => {
18396
18605
  this.resource = resource;
@@ -18404,11 +18613,11 @@ const PosDescription$1 = class extends HTMLElement {
18404
18613
  }
18405
18614
  };
18406
18615
 
18407
- const PosLabel$2 = class extends HTMLElement {
18616
+ const PosLabel$1 = class extends HTMLElement$1 {
18408
18617
  constructor() {
18409
18618
  super();
18410
18619
  this.__registerHost();
18411
- attachShadow(this);
18620
+ this.__attachShadow();
18412
18621
  this.getResource = createEvent(this, "pod-os:resource", 7);
18413
18622
  this.setResource = async (resource) => {
18414
18623
  this.resource = resource;
@@ -18422,11 +18631,11 @@ const PosLabel$2 = class extends HTMLElement {
18422
18631
  }
18423
18632
  };
18424
18633
 
18425
- const PosLiterals$1 = class extends HTMLElement {
18634
+ const PosLiterals$1 = class extends HTMLElement$1 {
18426
18635
  constructor() {
18427
18636
  super();
18428
18637
  this.__registerHost();
18429
- attachShadow(this);
18638
+ this.__attachShadow();
18430
18639
  this.getResource = createEvent(this, "pod-os:resource", 7);
18431
18640
  this.data = [];
18432
18641
  this.setResource = async (resource) => {
@@ -18442,35 +18651,35 @@ const PosLiterals$1 = class extends HTMLElement {
18442
18651
  }
18443
18652
  };
18444
18653
 
18445
- const PosLogin$1 = class extends HTMLElement {
18654
+ const PosLogin$1 = class extends HTMLElement$1 {
18446
18655
  constructor() {
18447
18656
  super();
18448
18657
  this.__registerHost();
18449
- this.consumeOsEmitter = createEvent(this, "consumeOs", 7);
18658
+ this.initializeOsEmitter = createEvent(this, "pod-os:init", 7);
18450
18659
  this.setOs = async (os) => {
18451
18660
  this.os = os;
18452
18661
  };
18453
18662
  }
18454
18663
  componentWillLoad() {
18455
- this.consumeOsEmitter.emit(this.setOs);
18664
+ this.initializeOsEmitter.emit(this.setOs);
18456
18665
  }
18457
18666
  login() {
18458
- const idp = state.getIdpUrl();
18667
+ const idp = store.state.getIdpUrl();
18459
18668
  this.os.login(idp);
18460
18669
  }
18461
18670
  logout() {
18462
18671
  this.os.logout();
18463
18672
  }
18464
18673
  render() {
18465
- return (h(Host, null, state.isLoggedIn ? (h("pos-resource", { uri: state.webId }, h("pos-label", null))) : (''), !state.isLoggedIn && h("ion-button", { onClick: () => this.login() }, "Login"), state.isLoggedIn && h("ion-button", { onClick: () => this.logout() }, "Logout")));
18674
+ return (h(Host, null, store.state.isLoggedIn ? (h("pos-resource", { uri: store.state.webId }, h("pos-label", null))) : (''), !store.state.isLoggedIn && h("ion-button", { onClick: () => this.login() }, "Login"), store.state.isLoggedIn && h("ion-button", { onClick: () => this.logout() }, "Logout")));
18466
18675
  }
18467
18676
  };
18468
18677
 
18469
- const PosRelations$1 = class extends HTMLElement {
18678
+ const PosRelations$1 = class extends HTMLElement$1 {
18470
18679
  constructor() {
18471
18680
  super();
18472
18681
  this.__registerHost();
18473
- attachShadow(this);
18682
+ this.__attachShadow();
18474
18683
  this.getResource = createEvent(this, "pod-os:resource", 7);
18475
18684
  this.data = [];
18476
18685
  this.setResource = async (resource) => {
@@ -18486,12 +18695,12 @@ const PosRelations$1 = class extends HTMLElement {
18486
18695
  }
18487
18696
  };
18488
18697
 
18489
- const PosResource$1 = class extends HTMLElement {
18698
+ const PosResource$1 = class extends HTMLElement$1 {
18490
18699
  constructor() {
18491
18700
  super();
18492
18701
  this.__registerHost();
18493
- attachShadow(this);
18494
- this.consumeOsEmitter = createEvent(this, "consumeOs", 7);
18702
+ this.__attachShadow();
18703
+ this.initializeOsEmitter = createEvent(this, "pod-os:init", 7);
18495
18704
  this.consumers = [];
18496
18705
  this.lazy = false;
18497
18706
  this.loading = true;
@@ -18500,7 +18709,8 @@ const PosResource$1 = class extends HTMLElement {
18500
18709
  };
18501
18710
  }
18502
18711
  componentWillLoad() {
18503
- this.consumeOsEmitter.emit(this.setOs);
18712
+ store.onChange('isLoggedIn', () => this.loadResource());
18713
+ this.initializeOsEmitter.emit(this.setOs);
18504
18714
  }
18505
18715
  async provideResource(event) {
18506
18716
  event.stopPropagation();
@@ -18522,6 +18732,7 @@ const PosResource$1 = class extends HTMLElement {
18522
18732
  await this.os.fetch(this.uri);
18523
18733
  }
18524
18734
  this.resource = this.os.store.get(this.uri);
18735
+ this.error = null;
18525
18736
  this.consumers.forEach(consumer => {
18526
18737
  consumer.detail(this.resource);
18527
18738
  });
@@ -18548,11 +18759,31 @@ const PosResource$1 = class extends HTMLElement {
18548
18759
  }; }
18549
18760
  };
18550
18761
 
18551
- const PosLabel$1 = class extends HTMLElement {
18762
+ const PosReverseRelations$1 = class extends HTMLElement$1 {
18552
18763
  constructor() {
18553
18764
  super();
18554
18765
  this.__registerHost();
18555
- attachShadow(this);
18766
+ this.__attachShadow();
18767
+ this.getResource = createEvent(this, "pod-os:resource", 7);
18768
+ this.data = [];
18769
+ this.setResource = async (resource) => {
18770
+ this.data = resource.reverseRelations();
18771
+ };
18772
+ }
18773
+ componentWillLoad() {
18774
+ this.getResource.emit(this.setResource);
18775
+ }
18776
+ render() {
18777
+ const items = this.data.map(it => (h("ion-item-group", null, h("ion-item-divider", null, h("ion-label", null, "is ", it.predicate, " of")), it.uris.map(uri => (h("pos-rich-link", { uri: uri }))))));
18778
+ return this.data.length > 0 ? h("ion-list", null, items) : null;
18779
+ }
18780
+ };
18781
+
18782
+ const PosRichLink$1 = class extends HTMLElement$1 {
18783
+ constructor() {
18784
+ super();
18785
+ this.__registerHost();
18786
+ this.__attachShadow();
18556
18787
  this.linkEmitter = createEvent(this, "pod-os:link", 7);
18557
18788
  }
18558
18789
  render() {
@@ -18563,6 +18794,406 @@ const PosLabel$1 = class extends HTMLElement {
18563
18794
  }
18564
18795
  };
18565
18796
 
18797
+ const createRouter = (opts) => {
18798
+ var _a;
18799
+ const win = window;
18800
+ const url = new URL(win.location.href);
18801
+ const parseURL = (_a = opts === null || opts === void 0 ? void 0 : opts.parseURL) !== null && _a !== void 0 ? _a : DEFAULT_PARSE_URL;
18802
+ const { state, onChange, dispose } = createStore({
18803
+ url,
18804
+ activePath: parseURL(url)
18805
+ }, (newV, oldV, prop) => {
18806
+ if (prop === 'url') {
18807
+ return newV.href !== oldV.href;
18808
+ }
18809
+ return newV !== oldV;
18810
+ });
18811
+ const push = (href) => {
18812
+ history.pushState(null, null, href);
18813
+ const url = new URL(href, document.baseURI);
18814
+ state.url = url;
18815
+ state.activePath = parseURL(url);
18816
+ };
18817
+ const match = (routes) => {
18818
+ const { activePath } = state;
18819
+ for (let route of routes) {
18820
+ const params = matchPath(activePath, route.path);
18821
+ if (params) {
18822
+ if (route.to != null) {
18823
+ const to = (typeof route.to === 'string')
18824
+ ? route.to
18825
+ : route.to(activePath);
18826
+ push(to);
18827
+ return match(routes);
18828
+ }
18829
+ else {
18830
+ return { params, route };
18831
+ }
18832
+ }
18833
+ }
18834
+ return undefined;
18835
+ };
18836
+ const navigationChanged = () => {
18837
+ const url = new URL(win.location.href);
18838
+ state.url = url;
18839
+ state.activePath = parseURL(url);
18840
+ };
18841
+ const Switch = (_, childrenRoutes) => {
18842
+ const result = match(childrenRoutes);
18843
+ if (result) {
18844
+ if (typeof result.route.jsx === 'function') {
18845
+ return result.route.jsx(result.params);
18846
+ }
18847
+ else {
18848
+ return result.route.jsx;
18849
+ }
18850
+ }
18851
+ };
18852
+ const disposeRouter = () => {
18853
+ win.removeEventListener('popstate', navigationChanged);
18854
+ dispose();
18855
+ };
18856
+ const router = {
18857
+ Switch,
18858
+ get url() {
18859
+ return state.url;
18860
+ },
18861
+ get activePath() {
18862
+ return state.activePath;
18863
+ },
18864
+ push,
18865
+ onChange: onChange,
18866
+ dispose: disposeRouter,
18867
+ };
18868
+ // Initial update
18869
+ navigationChanged();
18870
+ // Listen URL changes
18871
+ win.addEventListener('popstate', navigationChanged);
18872
+ return router;
18873
+ };
18874
+ const Route = (props, children) => {
18875
+ var _a;
18876
+ if ('to' in props) {
18877
+ return {
18878
+ path: props.path,
18879
+ to: props.to,
18880
+ };
18881
+ }
18882
+ if (Build.isDev && props.render && children.length > 0) {
18883
+ console.warn('Route: if `render` is provided, the component should not have any children');
18884
+ }
18885
+ return {
18886
+ path: props.path,
18887
+ id: props.id,
18888
+ jsx: (_a = props.render) !== null && _a !== void 0 ? _a : children,
18889
+ };
18890
+ };
18891
+ const matchPath = (pathname, path) => {
18892
+ if (typeof path === 'string') {
18893
+ if (path === pathname) {
18894
+ return {};
18895
+ }
18896
+ }
18897
+ else if (typeof path === 'function') {
18898
+ const params = path(pathname);
18899
+ if (params) {
18900
+ return params === true
18901
+ ? {}
18902
+ : { ...params };
18903
+ }
18904
+ }
18905
+ else {
18906
+ const results = path.exec(pathname);
18907
+ if (results) {
18908
+ path.lastIndex = 0;
18909
+ return { ...results };
18910
+ }
18911
+ }
18912
+ return undefined;
18913
+ };
18914
+ const DEFAULT_PARSE_URL = (url) => {
18915
+ return url.pathname.toLowerCase();
18916
+ };
18917
+
18918
+ /**
18919
+ * TS adaption of https://github.com/pillarjs/path-to-regexp/blob/master/index.js
18920
+ */
18921
+ /**
18922
+ * Default configs.
18923
+ */
18924
+ const DEFAULT_DELIMITER = '/';
18925
+ const DEFAULT_DELIMITERS = './';
18926
+ /**
18927
+ * The main path matching regexp utility.
18928
+ */
18929
+ const PATH_REGEXP = new RegExp([
18930
+ // Match escaped characters that would otherwise appear in future matches.
18931
+ // This allows the user to escape special characters that won't transform.
18932
+ '(\\\\.)',
18933
+ // Match Express-style parameters and un-named parameters with a prefix
18934
+ // and optional suffixes. Matches appear as:
18935
+ //
18936
+ // "/:test(\\d+)?" => ["/", "test", "\d+", undefined, "?"]
18937
+ // "/route(\\d+)" => [undefined, undefined, undefined, "\d+", undefined]
18938
+ '(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?'
18939
+ ].join('|'), 'g');
18940
+ /**
18941
+ * Parse a string for the raw tokens.
18942
+ */
18943
+ const parse = (str, options) => {
18944
+ var tokens = [];
18945
+ var key = 0;
18946
+ var index = 0;
18947
+ var path = '';
18948
+ var defaultDelimiter = (options && options.delimiter) || DEFAULT_DELIMITER;
18949
+ var delimiters = (options && options.delimiters) || DEFAULT_DELIMITERS;
18950
+ var pathEscaped = false;
18951
+ var res;
18952
+ while ((res = PATH_REGEXP.exec(str)) !== null) {
18953
+ var m = res[0];
18954
+ var escaped = res[1];
18955
+ var offset = res.index;
18956
+ path += str.slice(index, offset);
18957
+ index = offset + m.length;
18958
+ // Ignore already escaped sequences.
18959
+ if (escaped) {
18960
+ path += escaped[1];
18961
+ pathEscaped = true;
18962
+ continue;
18963
+ }
18964
+ var prev = '';
18965
+ var next = str[index];
18966
+ var name = res[2];
18967
+ var capture = res[3];
18968
+ var group = res[4];
18969
+ var modifier = res[5];
18970
+ if (!pathEscaped && path.length) {
18971
+ var k = path.length - 1;
18972
+ if (delimiters.indexOf(path[k]) > -1) {
18973
+ prev = path[k];
18974
+ path = path.slice(0, k);
18975
+ }
18976
+ }
18977
+ // Push the current path onto the tokens.
18978
+ if (path) {
18979
+ tokens.push(path);
18980
+ path = '';
18981
+ pathEscaped = false;
18982
+ }
18983
+ var partial = prev !== '' && next !== undefined && next !== prev;
18984
+ var repeat = modifier === '+' || modifier === '*';
18985
+ var optional = modifier === '?' || modifier === '*';
18986
+ var delimiter = prev || defaultDelimiter;
18987
+ var pattern = capture || group;
18988
+ tokens.push({
18989
+ name: name || key++,
18990
+ prefix: prev,
18991
+ delimiter: delimiter,
18992
+ optional: optional,
18993
+ repeat: repeat,
18994
+ partial: partial,
18995
+ pattern: pattern ? escapeGroup(pattern) : '[^' + escapeString(delimiter) + ']+?'
18996
+ });
18997
+ }
18998
+ // Push any remaining characters.
18999
+ if (path || index < str.length) {
19000
+ tokens.push(path + str.substr(index));
19001
+ }
19002
+ return tokens;
19003
+ };
19004
+ /**
19005
+ * Escape a regular expression string.
19006
+ */
19007
+ const escapeString = (str) => {
19008
+ return str.replace(/([.+*?=^!:${}()[\]|/\\])/g, '\\$1');
19009
+ };
19010
+ /**
19011
+ * Escape the capturing group by escaping special characters and meaning.
19012
+ */
19013
+ const escapeGroup = (group) => {
19014
+ return group.replace(/([=!:$/()])/g, '\\$1');
19015
+ };
19016
+ /**
19017
+ * Get the flags for a regexp from the options.
19018
+ */
19019
+ const flags = (options) => {
19020
+ return options && options.sensitive ? '' : 'i';
19021
+ };
19022
+ /**
19023
+ * Pull out keys from a regexp.
19024
+ */
19025
+ const regexpToRegexp = (path, keys) => {
19026
+ if (!keys)
19027
+ return path;
19028
+ // Use a negative lookahead to match only capturing groups.
19029
+ var groups = path.source.match(/\((?!\?)/g);
19030
+ if (groups) {
19031
+ for (var i = 0; i < groups.length; i++) {
19032
+ keys.push({
19033
+ name: i,
19034
+ prefix: null,
19035
+ delimiter: null,
19036
+ optional: false,
19037
+ repeat: false,
19038
+ partial: false,
19039
+ pattern: null
19040
+ });
19041
+ }
19042
+ }
19043
+ return path;
19044
+ };
19045
+ /**
19046
+ * Transform an array into a regexp.
19047
+ */
19048
+ const arrayToRegexp = (path, keys, options) => {
19049
+ var parts = [];
19050
+ for (var i = 0; i < path.length; i++) {
19051
+ parts.push(pathToRegexp(path[i], keys, options).source);
19052
+ }
19053
+ return new RegExp('(?:' + parts.join('|') + ')', flags(options));
19054
+ };
19055
+ /**
19056
+ * Create a path regexp from string input.
19057
+ */
19058
+ const stringToRegexp = (path, keys, options) => {
19059
+ return tokensToRegExp(parse(path, options), keys, options);
19060
+ };
19061
+ /**
19062
+ * Expose a function for taking tokens and returning a RegExp.
19063
+ */
19064
+ const tokensToRegExp = (tokens, keys, options) => {
19065
+ options = options || {};
19066
+ var strict = options.strict;
19067
+ var end = options.end !== false;
19068
+ var delimiter = escapeString(options.delimiter || DEFAULT_DELIMITER);
19069
+ var delimiters = options.delimiters || DEFAULT_DELIMITERS;
19070
+ var endsWith = [].concat(options.endsWith || []).map(escapeString).concat('$').join('|');
19071
+ var route = '';
19072
+ var isEndDelimited = false;
19073
+ // Iterate over the tokens and create our regexp string.
19074
+ for (var i = 0; i < tokens.length; i++) {
19075
+ var token = tokens[i];
19076
+ if (typeof token === 'string') {
19077
+ route += escapeString(token);
19078
+ isEndDelimited = i === tokens.length - 1 && delimiters.indexOf(token[token.length - 1]) > -1;
19079
+ }
19080
+ else {
19081
+ var prefix = escapeString(token.prefix || '');
19082
+ var capture = token.repeat
19083
+ ? '(?:' + token.pattern + ')(?:' + prefix + '(?:' + token.pattern + '))*'
19084
+ : token.pattern;
19085
+ if (keys)
19086
+ keys.push(token);
19087
+ if (token.optional) {
19088
+ if (token.partial) {
19089
+ route += prefix + '(' + capture + ')?';
19090
+ }
19091
+ else {
19092
+ route += '(?:' + prefix + '(' + capture + '))?';
19093
+ }
19094
+ }
19095
+ else {
19096
+ route += prefix + '(' + capture + ')';
19097
+ }
19098
+ }
19099
+ }
19100
+ if (end) {
19101
+ if (!strict)
19102
+ route += '(?:' + delimiter + ')?';
19103
+ route += endsWith === '$' ? '$' : '(?=' + endsWith + ')';
19104
+ }
19105
+ else {
19106
+ if (!strict)
19107
+ route += '(?:' + delimiter + '(?=' + endsWith + '))?';
19108
+ if (!isEndDelimited)
19109
+ route += '(?=' + delimiter + '|' + endsWith + ')';
19110
+ }
19111
+ return new RegExp('^' + route, flags(options));
19112
+ };
19113
+ /**
19114
+ * Normalize the given path string, returning a regular expression.
19115
+ *
19116
+ * An empty array can be passed in for the keys, which will hold the
19117
+ * placeholder key descriptions. For example, using `/user/:id`, `keys` will
19118
+ * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.
19119
+ */
19120
+ const pathToRegexp = (path, keys, options) => {
19121
+ if (path instanceof RegExp) {
19122
+ return regexpToRegexp(path, keys);
19123
+ }
19124
+ if (Array.isArray(path)) {
19125
+ return arrayToRegexp(path, keys, options);
19126
+ }
19127
+ return stringToRegexp(path, keys, options);
19128
+ };
19129
+
19130
+ let cacheCount = 0;
19131
+ const patternCache = {};
19132
+ const cacheLimit = 10000;
19133
+ // Memoized function for creating the path match regex
19134
+ const compilePath = (pattern, options) => {
19135
+ const cacheKey = `${options.end}${options.strict}`;
19136
+ const cache = patternCache[cacheKey] || (patternCache[cacheKey] = {});
19137
+ const cachePattern = JSON.stringify(pattern);
19138
+ if (cache[cachePattern]) {
19139
+ return cache[cachePattern];
19140
+ }
19141
+ const keys = [];
19142
+ const re = pathToRegexp(pattern, keys, options);
19143
+ const compiledPattern = { re, keys };
19144
+ if (cacheCount < cacheLimit) {
19145
+ cache[cachePattern] = compiledPattern;
19146
+ cacheCount += 1;
19147
+ }
19148
+ return compiledPattern;
19149
+ };
19150
+ const match = (pathname, options = {}) => {
19151
+ const { exact = false, strict = false } = options;
19152
+ const { re, keys } = compilePath(pathname, { end: exact, strict });
19153
+ return (path) => {
19154
+ const match = re.exec(path);
19155
+ if (!match) {
19156
+ return undefined;
19157
+ }
19158
+ const [url, ...values] = match;
19159
+ const isExact = path === url;
19160
+ if (exact && !isExact) {
19161
+ return undefined;
19162
+ }
19163
+ return keys.reduce((memo, key, index) => {
19164
+ memo[key.name] = values[index];
19165
+ return memo;
19166
+ }, {});
19167
+ };
19168
+ };
19169
+
19170
+ const Router = createRouter();
19171
+ const PosRouter$1 = class extends HTMLElement$1 {
19172
+ constructor() {
19173
+ super();
19174
+ this.__registerHost();
19175
+ }
19176
+ linkClicked(e) {
19177
+ this.navigate(e.detail);
19178
+ }
19179
+ componentWillLoad() {
19180
+ this.updateUri();
19181
+ Router.onChange('url', () => {
19182
+ this.updateUri();
19183
+ });
19184
+ }
19185
+ navigate(uri) {
19186
+ Router.push('?uri=' + encodeURIComponent(uri));
19187
+ }
19188
+ updateUri() {
19189
+ this.uri = new URLSearchParams(window.location.search).get('uri') || window.location.href;
19190
+ }
19191
+ render() {
19192
+ console.log('render router', this.uri);
19193
+ return (h(Router.Switch, null, h(Route, { path: match('', { exact: false }) }, h("pos-resource", { key: this.uri, uri: this.uri }, h("pos-app-generic", null)))));
19194
+ }
19195
+ };
19196
+
18566
19197
  globalScripts();
18567
19198
  const IonActionSheet = /*@__PURE__*/proxyCustomElement(ActionSheet, [34,"ion-action-sheet",{"overlayIndex":[2,"overlay-index"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16],"leaveAnimation":[16],"buttons":[16],"cssClass":[1,"css-class"],"backdropDismiss":[4,"backdrop-dismiss"],"header":[1],"subHeader":[1,"sub-header"],"translucent":[4],"animated":[4],"htmlAttributes":[16]}]);
18568
19199
  const IonAlert = /*@__PURE__*/proxyCustomElement(Alert, [34,"ion-alert",{"overlayIndex":[2,"overlay-index"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16],"leaveAnimation":[16],"cssClass":[1,"css-class"],"header":[1],"subHeader":[1,"sub-header"],"message":[1],"buttons":[16],"inputs":[1040],"backdropDismiss":[4,"backdrop-dismiss"],"translucent":[4],"animated":[4],"htmlAttributes":[16]},[[4,"keydown","onKeydown"]]]);
@@ -18581,7 +19212,7 @@ const IonCardTitle = /*@__PURE__*/proxyCustomElement(CardTitle, [33,"ion-card-ti
18581
19212
  const IonCheckbox = /*@__PURE__*/proxyCustomElement(Checkbox, [33,"ion-checkbox",{"color":[513],"name":[1],"checked":[1028],"indeterminate":[1028],"disabled":[4],"value":[1]}]);
18582
19213
  const IonChip = /*@__PURE__*/proxyCustomElement(Chip, [33,"ion-chip",{"color":[513],"outline":[4],"disabled":[4]}]);
18583
19214
  const IonCol = /*@__PURE__*/proxyCustomElement(Col, [1,"ion-col",{"offset":[1],"offsetXs":[1,"offset-xs"],"offsetSm":[1,"offset-sm"],"offsetMd":[1,"offset-md"],"offsetLg":[1,"offset-lg"],"offsetXl":[1,"offset-xl"],"pull":[1],"pullXs":[1,"pull-xs"],"pullSm":[1,"pull-sm"],"pullMd":[1,"pull-md"],"pullLg":[1,"pull-lg"],"pullXl":[1,"pull-xl"],"push":[1],"pushXs":[1,"push-xs"],"pushSm":[1,"push-sm"],"pushMd":[1,"push-md"],"pushLg":[1,"push-lg"],"pushXl":[1,"push-xl"],"size":[1],"sizeXs":[1,"size-xs"],"sizeSm":[1,"size-sm"],"sizeMd":[1,"size-md"],"sizeLg":[1,"size-lg"],"sizeXl":[1,"size-xl"]},[[9,"resize","onResize"]]]);
18584
- const IonContent = /*@__PURE__*/proxyCustomElement(Content, [1,"ion-content",{"color":[513],"fullscreen":[4],"forceOverscroll":[1028,"force-overscroll"],"scrollX":[4,"scroll-x"],"scrollY":[4,"scroll-y"],"scrollEvents":[4,"scroll-events"]},[[8,"appload","onAppLoad"],[2,"click","onClick"]]]);
19215
+ const IonContent = /*@__PURE__*/proxyCustomElement(Content, [1,"ion-content",{"color":[513],"fullscreen":[4],"forceOverscroll":[1028,"force-overscroll"],"scrollX":[4,"scroll-x"],"scrollY":[4,"scroll-y"],"scrollEvents":[4,"scroll-events"]},[[8,"appload","onAppLoad"]]]);
18585
19216
  const IonDatetime = /*@__PURE__*/proxyCustomElement(Datetime, [33,"ion-datetime",{"name":[1],"disabled":[4],"readonly":[4],"min":[1025],"max":[1025],"displayFormat":[1,"display-format"],"displayTimezone":[1,"display-timezone"],"pickerFormat":[1,"picker-format"],"cancelText":[1,"cancel-text"],"doneText":[1,"done-text"],"yearValues":[8,"year-values"],"monthValues":[8,"month-values"],"dayValues":[8,"day-values"],"hourValues":[8,"hour-values"],"minuteValues":[8,"minute-values"],"monthNames":[1,"month-names"],"monthShortNames":[1,"month-short-names"],"dayNames":[1,"day-names"],"dayShortNames":[1,"day-short-names"],"pickerOptions":[16],"placeholder":[1],"value":[1025],"isExpanded":[32]}]);
18586
19217
  const IonFab = /*@__PURE__*/proxyCustomElement(Fab, [1,"ion-fab",{"horizontal":[1],"vertical":[1],"edge":[4],"activated":[1028]}]);
18587
19218
  const IonFabButton = /*@__PURE__*/proxyCustomElement(FabButton, [33,"ion-fab-button",{"color":[513],"activated":[4],"disabled":[4],"download":[1],"href":[1],"rel":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16],"target":[1],"show":[4],"translucent":[4],"type":[1],"size":[1],"closeIcon":[1,"close-icon"]}]);
@@ -18594,7 +19225,7 @@ const IonImg = /*@__PURE__*/proxyCustomElement(Img, [1,"ion-img",{"alt":[1],"src
18594
19225
  const IonInfiniteScroll = /*@__PURE__*/proxyCustomElement(InfiniteScroll, [0,"ion-infinite-scroll",{"threshold":[1],"disabled":[4],"position":[1],"isLoading":[32]}]);
18595
19226
  const IonInfiniteScrollContent = /*@__PURE__*/proxyCustomElement(InfiniteScrollContent, [32,"ion-infinite-scroll-content",{"loadingSpinner":[1025,"loading-spinner"],"loadingText":[1,"loading-text"]}]);
18596
19227
  const IonInput = /*@__PURE__*/proxyCustomElement(Input, [34,"ion-input",{"fireFocusEvents":[4,"fire-focus-events"],"color":[513],"accept":[1],"autocapitalize":[1],"autocomplete":[1],"autocorrect":[1],"autofocus":[4],"clearInput":[4,"clear-input"],"clearOnEdit":[4,"clear-on-edit"],"debounce":[2],"disabled":[4],"enterkeyhint":[1],"inputmode":[1],"max":[1],"maxlength":[2],"min":[1],"minlength":[2],"multiple":[4],"name":[1],"pattern":[1],"placeholder":[1],"readonly":[4],"required":[4],"spellcheck":[4],"step":[1],"size":[2],"type":[1],"value":[1032],"hasFocus":[32]}]);
18597
- const IonItem = /*@__PURE__*/proxyCustomElement(Item, [49,"ion-item",{"color":[513],"button":[4],"detail":[4],"detailIcon":[1,"detail-icon"],"disabled":[4],"download":[1],"href":[1],"rel":[1],"lines":[1],"routerAnimation":[16],"routerDirection":[1,"router-direction"],"target":[1],"type":[1],"multipleInputs":[32]},[[0,"ionColor","labelColorChanged"],[0,"ionStyle","itemStyle"]]]);
19228
+ const IonItem = /*@__PURE__*/proxyCustomElement(Item, [49,"ion-item",{"color":[513],"button":[4],"detail":[4],"detailIcon":[1,"detail-icon"],"disabled":[4],"download":[1],"href":[1],"rel":[1],"lines":[1],"routerAnimation":[16],"routerDirection":[1,"router-direction"],"target":[1],"type":[1],"multipleInputs":[32],"focusable":[32]},[[0,"ionColor","labelColorChanged"],[0,"ionStyle","itemStyle"]]]);
18598
19229
  const IonItemDivider = /*@__PURE__*/proxyCustomElement(ItemDivider, [33,"ion-item-divider",{"color":[513],"sticky":[4]}]);
18599
19230
  const IonItemGroup = /*@__PURE__*/proxyCustomElement(ItemGroup, [32,"ion-item-group"]);
18600
19231
  const IonItemOption = /*@__PURE__*/proxyCustomElement(ItemOption, [33,"ion-item-option",{"color":[513],"disabled":[4],"download":[1],"expandable":[4],"href":[1],"rel":[1],"target":[1],"type":[1]}]);
@@ -18604,7 +19235,7 @@ const IonLabel = /*@__PURE__*/proxyCustomElement(Label, [34,"ion-label",{"color"
18604
19235
  const IonList = /*@__PURE__*/proxyCustomElement(List, [32,"ion-list",{"lines":[1],"inset":[4]}]);
18605
19236
  const IonListHeader = /*@__PURE__*/proxyCustomElement(ListHeader, [33,"ion-list-header",{"color":[513],"lines":[1]}]);
18606
19237
  const IonLoading = /*@__PURE__*/proxyCustomElement(Loading, [34,"ion-loading",{"overlayIndex":[2,"overlay-index"],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16],"leaveAnimation":[16],"message":[1],"cssClass":[1,"css-class"],"duration":[2],"backdropDismiss":[4,"backdrop-dismiss"],"showBackdrop":[4,"show-backdrop"],"spinner":[1025],"translucent":[4],"animated":[4],"htmlAttributes":[16]}]);
18607
- const IonMenu = /*@__PURE__*/proxyCustomElement(Menu, [33,"ion-menu",{"contentId":[513,"content-id"],"menuId":[513,"menu-id"],"type":[1025],"disabled":[1028],"side":[513],"swipeGesture":[4,"swipe-gesture"],"maxEdgeStart":[2,"max-edge-start"],"isPaneVisible":[32],"isEndSide":[32]},[[16,"ionSplitPaneVisible","onSplitPaneChanged"],[2,"click","onBackdropClick"]]]);
19238
+ const IonMenu = /*@__PURE__*/proxyCustomElement(Menu, [33,"ion-menu",{"contentId":[513,"content-id"],"menuId":[513,"menu-id"],"type":[1025],"disabled":[1028],"side":[513],"swipeGesture":[4,"swipe-gesture"],"maxEdgeStart":[2,"max-edge-start"],"isPaneVisible":[32],"isEndSide":[32]},[[16,"ionSplitPaneVisible","onSplitPaneChanged"],[2,"click","onBackdropClick"],[0,"keydown","onKeydown"]]]);
18608
19239
  const IonMenuButton = /*@__PURE__*/proxyCustomElement(MenuButton, [33,"ion-menu-button",{"color":[513],"disabled":[4],"menu":[1],"autoHide":[4,"auto-hide"],"type":[1],"visible":[32]},[[16,"ionMenuChange","visibilityChanged"],[16,"ionSplitPaneVisible","visibilityChanged"]]]);
18609
19240
  const IonMenuToggle = /*@__PURE__*/proxyCustomElement(MenuToggle, [1,"ion-menu-toggle",{"menu":[1],"autoHide":[4,"auto-hide"],"visible":[32]},[[16,"ionMenuChange","visibilityChanged"],[16,"ionSplitPaneVisible","visibilityChanged"]]]);
18610
19241
  const IonModal = /*@__PURE__*/proxyCustomElement(Modal, [34,"ion-modal",{"overlayIndex":[2,"overlay-index"],"delegate":[16],"keyboardClose":[4,"keyboard-close"],"enterAnimation":[16],"leaveAnimation":[16],"component":[1],"componentProps":[16],"cssClass":[1,"css-class"],"backdropDismiss":[4,"backdrop-dismiss"],"showBackdrop":[4,"show-backdrop"],"animated":[4],"swipeToClose":[4,"swipe-to-close"],"presentingElement":[16],"htmlAttributes":[16]}]);
@@ -18623,9 +19254,9 @@ const IonRefresherContent = /*@__PURE__*/proxyCustomElement(RefresherContent, [0
18623
19254
  const IonReorder = /*@__PURE__*/proxyCustomElement(Reorder, [33,"ion-reorder",null,[[2,"click","onClick"]]]);
18624
19255
  const IonReorderGroup = /*@__PURE__*/proxyCustomElement(ReorderGroup, [0,"ion-reorder-group",{"disabled":[4],"state":[32]}]);
18625
19256
  const IonRippleEffect = /*@__PURE__*/proxyCustomElement(RippleEffect, [1,"ion-ripple-effect",{"type":[1]}]);
18626
- const IonRoute = /*@__PURE__*/proxyCustomElement(Route, [0,"ion-route",{"url":[1],"component":[1],"componentProps":[16],"beforeLeave":[16],"beforeEnter":[16]}]);
19257
+ const IonRoute = /*@__PURE__*/proxyCustomElement(Route$1, [0,"ion-route",{"url":[1],"component":[1],"componentProps":[16],"beforeLeave":[16],"beforeEnter":[16]}]);
18627
19258
  const IonRouteRedirect = /*@__PURE__*/proxyCustomElement(RouteRedirect, [0,"ion-route-redirect",{"from":[1],"to":[1]}]);
18628
- const IonRouter = /*@__PURE__*/proxyCustomElement(Router, [0,"ion-router",{"root":[1],"useHash":[4,"use-hash"]},[[8,"popstate","onPopState"],[4,"ionBackButton","onBackButton"]]]);
19259
+ const IonRouter = /*@__PURE__*/proxyCustomElement(Router$1, [0,"ion-router",{"root":[1],"useHash":[4,"use-hash"]},[[8,"popstate","onPopState"],[4,"ionBackButton","onBackButton"]]]);
18629
19260
  const IonRouterLink = /*@__PURE__*/proxyCustomElement(RouterLink, [1,"ion-router-link",{"color":[513],"href":[1],"rel":[1],"routerDirection":[1,"router-direction"],"routerAnimation":[16],"target":[1]}]);
18630
19261
  const IonRouterOutlet = /*@__PURE__*/proxyCustomElement(RouterOutlet, [1,"ion-router-outlet",{"mode":[1025],"delegate":[16],"animated":[4],"animation":[16],"swipeHandler":[16]}]);
18631
19262
  const IonRow = /*@__PURE__*/proxyCustomElement(Row, [1,"ion-row"]);
@@ -18652,15 +19283,18 @@ const IonToast = /*@__PURE__*/proxyCustomElement(Toast, [33,"ion-toast",{"overla
18652
19283
  const IonToggle = /*@__PURE__*/proxyCustomElement(Toggle, [33,"ion-toggle",{"color":[513],"name":[1],"checked":[1028],"disabled":[4],"value":[1],"activated":[32]}]);
18653
19284
  const IonToolbar = /*@__PURE__*/proxyCustomElement(Toolbar, [33,"ion-toolbar",{"color":[513]},[[0,"ionStyle","childrenStyle"]]]);
18654
19285
  const IonVirtualScroll = /*@__PURE__*/proxyCustomElement(VirtualScroll, [0,"ion-virtual-scroll",{"approxItemHeight":[2,"approx-item-height"],"approxHeaderHeight":[2,"approx-header-height"],"approxFooterHeight":[2,"approx-footer-height"],"headerFn":[16],"footerFn":[16],"items":[16],"itemHeight":[16],"headerHeight":[16],"footerHeight":[16],"renderItem":[16],"renderHeader":[16],"renderFooter":[16],"nodeRender":[16],"domRender":[16],"totalHeight":[32]},[[9,"resize","onResize"]]]);
18655
- const PosApp = /*@__PURE__*/proxyCustomElement(PosApp$1, [4,"pos-app",{"os":[32]},[[0,"consumeOs","consumeOs"]]]);
18656
- const PosDemoApp = /*@__PURE__*/proxyCustomElement(PosDemoApp$1, [0,"pos-demo-app",{"url":[32]},[[0,"pod-os:link","linkClicked"]]]);
19286
+ const PosApp = /*@__PURE__*/proxyCustomElement(PosApp$1, [4,"pos-app",{"os":[32]},[[0,"pod-os:init","initializeOs"]]]);
19287
+ const PosAppGeneric = /*@__PURE__*/proxyCustomElement(PosAppGeneric$1, [0,"pos-app-generic"]);
19288
+ const PosDemoApp = /*@__PURE__*/proxyCustomElement(PosDemoApp$1, [0,"pos-demo-app"]);
18657
19289
  const PosDescription = /*@__PURE__*/proxyCustomElement(PosDescription$1, [1,"pos-description",{"resource":[32]}]);
18658
- const PosLabel = /*@__PURE__*/proxyCustomElement(PosLabel$2, [1,"pos-label",{"resource":[32]}]);
19290
+ const PosLabel = /*@__PURE__*/proxyCustomElement(PosLabel$1, [1,"pos-label",{"resource":[32]}]);
18659
19291
  const PosLiterals = /*@__PURE__*/proxyCustomElement(PosLiterals$1, [1,"pos-literals",{"data":[32]}]);
18660
19292
  const PosLogin = /*@__PURE__*/proxyCustomElement(PosLogin$1, [0,"pos-login",{"os":[32]}]);
18661
19293
  const PosRelations = /*@__PURE__*/proxyCustomElement(PosRelations$1, [1,"pos-relations",{"data":[32]}]);
18662
19294
  const PosResource = /*@__PURE__*/proxyCustomElement(PosResource$1, [1,"pos-resource",{"uri":[1],"lazy":[4],"os":[32],"resource":[32],"consumers":[32],"error":[32],"loading":[32]},[[0,"pod-os:resource","provideResource"]]]);
18663
- const PosRichLink = /*@__PURE__*/proxyCustomElement(PosLabel$1, [1,"pos-rich-link",{"uri":[1]}]);
19295
+ const PosReverseRelations = /*@__PURE__*/proxyCustomElement(PosReverseRelations$1, [1,"pos-reverse-relations",{"data":[32]}]);
19296
+ const PosRichLink = /*@__PURE__*/proxyCustomElement(PosRichLink$1, [1,"pos-rich-link",{"uri":[1]}]);
19297
+ const PosRouter = /*@__PURE__*/proxyCustomElement(PosRouter$1, [0,"pos-router",{"uri":[32]},[[0,"pod-os:link","linkClicked"]]]);
18664
19298
  const defineCustomElements = (opts) => {
18665
19299
  if (typeof customElements !== 'undefined') {
18666
19300
  [
@@ -18753,6 +19387,7 @@ const defineCustomElements = (opts) => {
18753
19387
  IonToolbar,
18754
19388
  IonVirtualScroll,
18755
19389
  PosApp,
19390
+ PosAppGeneric,
18756
19391
  PosDemoApp,
18757
19392
  PosDescription,
18758
19393
  PosLabel,
@@ -18760,7 +19395,9 @@ const defineCustomElements = (opts) => {
18760
19395
  PosLogin,
18761
19396
  PosRelations,
18762
19397
  PosResource,
18763
- PosRichLink
19398
+ PosReverseRelations,
19399
+ PosRichLink,
19400
+ PosRouter
18764
19401
  ].forEach(cmp => {
18765
19402
  if (!customElements.get(cmp.is)) {
18766
19403
  customElements.define(cmp.is, cmp, opts);
@@ -18769,4 +19406,4 @@ const defineCustomElements = (opts) => {
18769
19406
  }
18770
19407
  };
18771
19408
 
18772
- export { IonActionSheet, IonAlert, IonApp, IonAvatar, IonBackButton, IonBackdrop, IonBadge, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, IonList, IonListHeader, IonLoading, IonMenu, IonMenuButton, IonMenuToggle, IonModal, IonNav, IonNavLink, IonNote, IonPicker, IonPickerColumn, IonPopover, IonProgressBar, IonRadio, IonRadioGroup, IonRange, IonRefresher, IonRefresherContent, IonReorder, IonReorderGroup, IonRippleEffect, IonRoute, IonRouteRedirect, IonRouter, IonRouterLink, IonRouterOutlet, IonRow, IonSearchbar, IonSegment, IonSegmentButton, IonSelect, IonSelectOption, IonSelectPopover, IonSkeletonText, IonSlide, IonSlides, IonSpinner, IonSplitPane, IonTab, IonTabBar, IonTabButton, IonTabs, IonText, IonTextarea, IonThumbnail, IonTitle, IonToast, IonToggle, IonToolbar, IonVirtualScroll, PosApp, PosDemoApp, PosDescription, PosLabel, PosLiterals, PosLogin, PosRelations, PosResource, PosRichLink, addEventListener as a, raf as b, componentOnReady as c, createGesture as d, defineCustomElements, clamp as e, createAnimation as f, getIonPageElement as g, now as n, pointerCoord as p, removeEventListener as r };
19409
+ export { IonActionSheet, IonAlert, IonApp, IonAvatar, IonBackButton, IonBackdrop, IonBadge, IonButton, IonButtons, IonCard, IonCardContent, IonCardHeader, IonCardSubtitle, IonCardTitle, IonCheckbox, IonChip, IonCol, IonContent, IonDatetime, IonFab, IonFabButton, IonFabList, IonFooter, IonGrid, IonHeader, IonIcon, IonImg, IonInfiniteScroll, IonInfiniteScrollContent, IonInput, IonItem, IonItemDivider, IonItemGroup, IonItemOption, IonItemOptions, IonItemSliding, IonLabel, IonList, IonListHeader, IonLoading, IonMenu, IonMenuButton, IonMenuToggle, IonModal, IonNav, IonNavLink, IonNote, IonPicker, IonPickerColumn, IonPopover, IonProgressBar, IonRadio, IonRadioGroup, IonRange, IonRefresher, IonRefresherContent, IonReorder, IonReorderGroup, IonRippleEffect, IonRoute, IonRouteRedirect, IonRouter, IonRouterLink, IonRouterOutlet, IonRow, IonSearchbar, IonSegment, IonSegmentButton, IonSelect, IonSelectOption, IonSelectPopover, IonSkeletonText, IonSlide, IonSlides, IonSpinner, IonSplitPane, IonTab, IonTabBar, IonTabButton, IonTabs, IonText, IonTextarea, IonThumbnail, IonTitle, IonToast, IonToggle, IonToolbar, IonVirtualScroll, PosApp, PosAppGeneric, PosDemoApp, PosDescription, PosLabel, PosLiterals, PosLogin, PosRelations, PosResource, PosReverseRelations, PosRichLink, PosRouter, addEventListener as a, raf as b, componentOnReady as c, createGesture as d, defineCustomElements, clamp as e, createAnimation as f, getIonPageElement as g, now as n, pointerCoord as p, removeEventListener as r };