@ionic/core 8.8.14-dev.11784216165.1ecbf364 → 8.8.14-dev.11784238294.131cd99d

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 (363) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-action-sheet.js +1 -1
  3. package/components/ion-alert.js +1 -1
  4. package/components/ion-back-button.js +1 -1
  5. package/components/ion-button.js +1 -1
  6. package/components/ion-card.js +1 -1
  7. package/components/ion-chip.js +1 -1
  8. package/components/ion-datetime-button.js +1 -1
  9. package/components/ion-datetime.js +1 -1
  10. package/components/ion-fab-button.js +1 -1
  11. package/components/ion-img.js +1 -1
  12. package/components/ion-infinite-scroll-content.js +1 -1
  13. package/components/ion-input-password-toggle.js +1 -1
  14. package/components/ion-input.js +1 -1
  15. package/components/ion-item-option.js +1 -1
  16. package/components/ion-item.js +1 -1
  17. package/components/ion-loading.js +1 -1
  18. package/components/ion-menu-button.js +1 -1
  19. package/components/ion-menu.js +1 -1
  20. package/components/ion-modal.js +1 -1
  21. package/components/ion-nav.js +1 -1
  22. package/components/ion-picker-legacy-column.d.ts +11 -0
  23. package/components/ion-picker-legacy-column.js +4 -0
  24. package/components/ion-picker-legacy.d.ts +11 -0
  25. package/components/ion-picker-legacy.js +4 -0
  26. package/components/ion-popover.js +1 -1
  27. package/components/ion-progress-bar.js +1 -1
  28. package/components/ion-radio.js +1 -1
  29. package/components/ion-range.js +1 -1
  30. package/components/ion-refresher-content.js +1 -1
  31. package/components/ion-refresher.js +1 -1
  32. package/components/ion-reorder-group.js +1 -1
  33. package/components/ion-reorder.js +1 -1
  34. package/components/ion-ripple-effect.js +1 -1
  35. package/components/ion-router-link.js +1 -1
  36. package/components/ion-router-outlet.js +1 -1
  37. package/components/ion-router.js +1 -1
  38. package/components/ion-row.js +1 -1
  39. package/components/ion-searchbar.js +1 -1
  40. package/components/ion-segment-button.js +1 -1
  41. package/components/ion-segment-content.js +1 -1
  42. package/components/ion-segment-view.js +1 -1
  43. package/components/ion-segment.js +1 -1
  44. package/components/ion-select-modal.js +1 -1
  45. package/components/ion-select-option.js +1 -1
  46. package/components/ion-select-popover.js +1 -1
  47. package/components/ion-select.js +1 -1
  48. package/components/ion-skeleton-text.js +1 -1
  49. package/components/ion-spinner.js +1 -1
  50. package/components/ion-split-pane.js +1 -1
  51. package/components/ion-tab-bar.js +1 -1
  52. package/components/ion-tab-button.js +1 -1
  53. package/components/ion-tab.js +1 -1
  54. package/components/ion-tabs.js +1 -1
  55. package/components/ion-text.js +1 -1
  56. package/components/ion-textarea.js +1 -1
  57. package/components/ion-thumbnail.js +1 -1
  58. package/components/ion-title.js +1 -1
  59. package/components/ion-toast.js +1 -1
  60. package/components/ion-toggle.js +1 -1
  61. package/components/ion-toolbar.js +1 -1
  62. package/components/{p-DpV-p5Xs.js → p-5bE_Wz4Y.js} +1 -1
  63. package/components/{p-r0aq7dpt.js → p-B60hm8Qv.js} +1 -1
  64. package/components/{p-Buf_7zcy.js → p-BHrrc-3d.js} +1 -1
  65. package/components/p-BIPPbW0M.js +4 -0
  66. package/components/{p-XJWMAP8m.js → p-BLmJ0zRm.js} +1 -1
  67. package/components/{p-DhkITZ-y.js → p-BSEgsdFI.js} +1 -1
  68. package/components/p-BUYFy35a.js +4 -0
  69. package/components/p-BWEZufiK.js +4 -0
  70. package/components/p-BqpciLfi.js +4 -0
  71. package/components/p-BsQPAqo9.js +4 -0
  72. package/components/p-CRNiQiYf.js +4 -0
  73. package/components/p-CU5rbWAW.js +4 -0
  74. package/components/{p-Dz74mwlk.js → p-Cfx4M1Bn.js} +1 -1
  75. package/components/p-k_E4tX5Z.js +4 -0
  76. package/components/p-nyXeHk23.js +4 -0
  77. package/components/{p-wk2QqrAo.js → p-rCa2eL0j.js} +1 -1
  78. package/dist/cjs/config-xninhj0J.js +201 -0
  79. package/dist/cjs/index.cjs.js +6 -6
  80. package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -27
  81. package/dist/cjs/ion-alert.cjs.entry.js +25 -64
  82. package/dist/cjs/ion-app_8.cjs.entry.js +9 -23
  83. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  84. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  85. package/dist/cjs/{ion-datetime.cjs.entry.js → ion-datetime_3.cjs.entry.js} +639 -1
  86. package/dist/cjs/ion-img.cjs.entry.js +1 -3
  87. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -3
  88. package/dist/cjs/ion-input.cjs.entry.js +4 -4
  89. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  90. package/dist/cjs/ion-loading.cjs.entry.js +5 -10
  91. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  92. package/dist/cjs/ion-modal.cjs.entry.js +32 -23
  93. package/dist/cjs/ion-nav_2.cjs.entry.js +115 -2
  94. package/dist/cjs/ion-popover.cjs.entry.js +5 -9
  95. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  96. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
  97. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  98. package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -6
  99. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  100. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  101. package/dist/cjs/ion-route_4.cjs.entry.js +4 -18
  102. package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
  103. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  104. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  105. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  106. package/dist/cjs/ion-select-modal.cjs.entry.js +30 -84
  107. package/dist/cjs/ion-select_3.cjs.entry.js +49 -407
  108. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  109. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  110. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  111. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  112. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  113. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  114. package/dist/cjs/ion-toast.cjs.entry.js +5 -6
  115. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  116. package/dist/cjs/ionic.cjs.js +1 -1
  117. package/dist/cjs/loader.cjs.js +1 -1
  118. package/dist/cjs/{overlays-DSmSrd_4.js → overlays-DdtIYQUH.js} +31 -27
  119. package/dist/collection/collection-manifest.json +10 -6
  120. package/dist/collection/components/action-sheet/action-sheet.ios.css +2 -229
  121. package/dist/collection/components/action-sheet/action-sheet.js +5 -24
  122. package/dist/collection/components/action-sheet/action-sheet.md.css +2 -175
  123. package/dist/collection/components/alert/alert.ios.css +10 -280
  124. package/dist/collection/components/alert/alert.js +21 -59
  125. package/dist/collection/components/alert/alert.md.css +20 -269
  126. package/dist/collection/components/img/img.js +1 -6
  127. package/dist/collection/components/input/input.js +8 -8
  128. package/dist/collection/components/loading/loading.js +3 -7
  129. package/dist/collection/components/modal/gestures/sheet.js +7 -0
  130. package/dist/collection/components/modal/gestures/swipe-to-close.js +7 -0
  131. package/dist/collection/components/modal/modal.ios.css +8 -0
  132. package/dist/collection/components/modal/modal.js +18 -23
  133. package/dist/collection/components/modal/modal.md.css +8 -0
  134. package/dist/collection/components/nav/nav.js +219 -4
  135. package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
  136. package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
  137. package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
  138. package/dist/collection/components/picker-legacy/picker.ios.css +300 -0
  139. package/dist/collection/components/picker-legacy/picker.js +890 -0
  140. package/dist/collection/components/picker-legacy/picker.md.css +287 -0
  141. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +231 -0
  142. package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
  143. package/dist/collection/components/picker-legacy-column/picker-column.md.css +222 -0
  144. package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
  145. package/dist/collection/components/popover/popover.ios.css +0 -15
  146. package/dist/collection/components/popover/popover.js +3 -7
  147. package/dist/collection/components/popover/popover.md.css +0 -15
  148. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  149. package/dist/collection/components/radio/radio.js +4 -4
  150. package/dist/collection/components/range/range.js +3 -3
  151. package/dist/collection/components/refresher/refresher.js +1 -1
  152. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  153. package/dist/collection/components/reorder/reorder.js +1 -1
  154. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  155. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  156. package/dist/collection/components/route/route.js +1 -1
  157. package/dist/collection/components/router/utils/dom.js +3 -22
  158. package/dist/collection/components/router-link/router-link.js +2 -2
  159. package/dist/collection/components/router-outlet/router-outlet.js +5 -38
  160. package/dist/collection/components/row/row.js +1 -1
  161. package/dist/collection/components/searchbar/searchbar.js +9 -9
  162. package/dist/collection/components/segment/segment.js +2 -2
  163. package/dist/collection/components/segment-button/segment-button.js +2 -2
  164. package/dist/collection/components/segment-content/segment-content.js +1 -1
  165. package/dist/collection/components/segment-view/segment-view.js +2 -2
  166. package/dist/collection/components/select/select.ios.css +0 -33
  167. package/dist/collection/components/select/select.js +16 -323
  168. package/dist/collection/components/select/select.md.css +0 -33
  169. package/dist/collection/components/select-modal/select-modal.ios.css +0 -219
  170. package/dist/collection/components/select-modal/select-modal.js +26 -79
  171. package/dist/collection/components/select-modal/select-modal.md.css +0 -165
  172. package/dist/collection/components/select-option/select-option.js +3 -67
  173. package/dist/collection/components/select-popover/select-popover.ios.css +0 -219
  174. package/dist/collection/components/select-popover/select-popover.js +26 -78
  175. package/dist/collection/components/select-popover/select-popover.md.css +0 -165
  176. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  177. package/dist/collection/components/spinner/spinner.js +1 -1
  178. package/dist/collection/components/split-pane/split-pane.js +2 -2
  179. package/dist/collection/components/tab/tab.js +2 -2
  180. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  181. package/dist/collection/components/tab-button/tab-button.js +2 -2
  182. package/dist/collection/components/tabs/tabs.js +1 -1
  183. package/dist/collection/components/text/text.js +2 -2
  184. package/dist/collection/components/textarea/textarea.js +2 -2
  185. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  186. package/dist/collection/components/title/title.js +2 -2
  187. package/dist/collection/components/toast/toast.js +2 -2
  188. package/dist/collection/components/toggle/toggle.js +3 -3
  189. package/dist/collection/components/toolbar/toolbar.js +2 -2
  190. package/dist/collection/index.js +1 -1
  191. package/dist/collection/utils/overlays.js +30 -26
  192. package/dist/collection/utils/sanitization/index.js +18 -274
  193. package/dist/collection/utils/test/playwright/drag-element.js +5 -0
  194. package/dist/docs.json +1189 -497
  195. package/dist/esm/config-DQCONYYp.js +195 -0
  196. package/dist/esm/{index-AlrZKoWR.js → index-DV3sJJW8.js} +1 -1
  197. package/dist/esm/index.js +2 -3
  198. package/dist/esm/ion-accordion_2.entry.js +1 -1
  199. package/dist/esm/ion-action-sheet.entry.js +7 -27
  200. package/dist/esm/ion-alert.entry.js +24 -63
  201. package/dist/esm/ion-app_8.entry.js +9 -23
  202. package/dist/esm/ion-avatar_3.entry.js +1 -1
  203. package/dist/esm/ion-back-button.entry.js +1 -1
  204. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  205. package/dist/esm/ion-col_3.entry.js +1 -1
  206. package/dist/esm/{ion-datetime.entry.js → ion-datetime_3.entry.js} +641 -5
  207. package/dist/esm/ion-fab_3.entry.js +1 -1
  208. package/dist/esm/ion-img.entry.js +2 -4
  209. package/dist/esm/ion-infinite-scroll_2.entry.js +1 -2
  210. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  211. package/dist/esm/ion-input.entry.js +5 -5
  212. package/dist/esm/ion-item_8.entry.js +3 -3
  213. package/dist/esm/ion-loading.entry.js +4 -9
  214. package/dist/esm/ion-menu_3.entry.js +2 -2
  215. package/dist/esm/ion-modal.entry.js +32 -23
  216. package/dist/esm/ion-nav_2.entry.js +116 -3
  217. package/dist/esm/ion-popover.entry.js +5 -9
  218. package/dist/esm/ion-progress-bar.entry.js +1 -1
  219. package/dist/esm/ion-radio_2.entry.js +3 -3
  220. package/dist/esm/ion-range.entry.js +3 -3
  221. package/dist/esm/ion-refresher_2.entry.js +4 -5
  222. package/dist/esm/ion-reorder_2.entry.js +3 -3
  223. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  224. package/dist/esm/ion-route_4.entry.js +4 -18
  225. package/dist/esm/ion-searchbar.entry.js +6 -6
  226. package/dist/esm/ion-segment-content.entry.js +1 -1
  227. package/dist/esm/ion-segment-view.entry.js +2 -2
  228. package/dist/esm/ion-segment_2.entry.js +4 -4
  229. package/dist/esm/ion-select-modal.entry.js +30 -84
  230. package/dist/esm/ion-select_3.entry.js +52 -410
  231. package/dist/esm/ion-spinner.entry.js +1 -1
  232. package/dist/esm/ion-split-pane.entry.js +2 -2
  233. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  234. package/dist/esm/ion-tab_2.entry.js +3 -3
  235. package/dist/esm/ion-text.entry.js +2 -2
  236. package/dist/esm/ion-textarea.entry.js +2 -2
  237. package/dist/esm/ion-toast.entry.js +4 -5
  238. package/dist/esm/ion-toggle.entry.js +4 -4
  239. package/dist/esm/ionic.js +1 -1
  240. package/dist/esm/loader.js +1 -1
  241. package/dist/esm/{overlays-DLNOHWNc.js → overlays-Dg0q2_tJ.js} +32 -28
  242. package/dist/html.html-data.json +80 -52
  243. package/dist/ionic/index.esm.js +1 -1
  244. package/dist/ionic/ionic.esm.js +1 -1
  245. package/dist/ionic/p-01f81ea5.entry.js +4 -0
  246. package/dist/ionic/p-0dc33652.entry.js +4 -0
  247. package/dist/ionic/{p-fe4aa1db.entry.js → p-0fa9c382.entry.js} +1 -1
  248. package/dist/ionic/p-20b1a044.entry.js +4 -0
  249. package/dist/ionic/p-21eb76d5.entry.js +4 -0
  250. package/dist/ionic/p-27d30585.entry.js +4 -0
  251. package/dist/ionic/p-2a05aa64.entry.js +4 -0
  252. package/dist/ionic/p-2bb2cb18.entry.js +4 -0
  253. package/dist/ionic/{p-80b44b3c.entry.js → p-3353c229.entry.js} +1 -1
  254. package/dist/ionic/{p-c93553d2.entry.js → p-34586ead.entry.js} +1 -1
  255. package/dist/ionic/{p-a7628bc7.entry.js → p-37e720da.entry.js} +1 -1
  256. package/dist/ionic/{p-9177f4ac.entry.js → p-390ca786.entry.js} +1 -1
  257. package/dist/ionic/{p-259d0d98.entry.js → p-3a126bca.entry.js} +1 -1
  258. package/dist/ionic/{p-4502a274.entry.js → p-3a7d1e91.entry.js} +1 -1
  259. package/dist/ionic/{p-627fabd9.entry.js → p-3ae5f277.entry.js} +1 -1
  260. package/dist/ionic/{p-a5213260.entry.js → p-4858af1f.entry.js} +1 -1
  261. package/dist/ionic/p-485fda23.entry.js +4 -0
  262. package/dist/ionic/p-4baa5b82.entry.js +4 -0
  263. package/dist/ionic/p-5018dfc8.entry.js +4 -0
  264. package/dist/ionic/p-50e1194a.entry.js +4 -0
  265. package/dist/ionic/{p-76e92a84.entry.js → p-5d1da0a2.entry.js} +1 -1
  266. package/dist/ionic/p-5eb8e86d.entry.js +4 -0
  267. package/dist/ionic/p-65ebdf1b.entry.js +4 -0
  268. package/dist/ionic/p-6ebdbebe.entry.js +4 -0
  269. package/dist/ionic/{p-d2c7f046.entry.js → p-75dc25ba.entry.js} +1 -1
  270. package/dist/ionic/{p-b9ac1fe0.entry.js → p-84d5ce05.entry.js} +1 -1
  271. package/dist/ionic/{p-51cd1643.entry.js → p-874b4bd8.entry.js} +1 -1
  272. package/dist/ionic/{p-ef93ca92.entry.js → p-8eb8ee76.entry.js} +1 -1
  273. package/dist/ionic/p-8fce95d5.entry.js +4 -0
  274. package/dist/ionic/{p-db1b6738.entry.js → p-9a65ac7f.entry.js} +1 -1
  275. package/dist/ionic/{p-7a37b3ce.entry.js → p-9f1103ce.entry.js} +1 -1
  276. package/dist/ionic/p-9f9db3a2.entry.js +4 -0
  277. package/dist/ionic/p-D-3ycHmd.js +4 -0
  278. package/dist/ionic/{p-AlrZKoWR.js → p-DV3sJJW8.js} +1 -1
  279. package/dist/ionic/p-DzWaWHGc.js +4 -0
  280. package/dist/ionic/p-a21add2f.entry.js +4 -0
  281. package/dist/ionic/{p-d8387b99.entry.js → p-c4d8641b.entry.js} +1 -1
  282. package/dist/ionic/p-ca2ab74d.entry.js +4 -0
  283. package/dist/ionic/{p-629e4703.entry.js → p-e0be05c5.entry.js} +1 -1
  284. package/dist/ionic/p-e6a4bb56.entry.js +4 -0
  285. package/dist/ionic/p-ec090e0a.entry.js +4 -0
  286. package/dist/ionic/{p-b1599fca.entry.js → p-ef4c3bee.entry.js} +1 -1
  287. package/dist/ionic/p-f386f6ae.entry.js +4 -0
  288. package/dist/ionic/{p-341032b3.entry.js → p-fabcce6c.entry.js} +1 -1
  289. package/dist/types/components/img/img.d.ts +0 -2
  290. package/dist/types/components/input/input.d.ts +1 -1
  291. package/dist/types/components/modal/modal.d.ts +4 -11
  292. package/dist/types/components/nav/nav-interface.d.ts +1 -0
  293. package/dist/types/components/nav/nav.d.ts +22 -2
  294. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
  295. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
  296. package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
  297. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  298. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  299. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
  300. package/dist/types/components/route/route.d.ts +1 -1
  301. package/dist/types/components/router-outlet/router-outlet.d.ts +0 -7
  302. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  303. package/dist/types/components/select/select-interface.d.ts +0 -31
  304. package/dist/types/components/select/select.d.ts +0 -18
  305. package/dist/types/components/select-option/select-option.d.ts +1 -42
  306. package/dist/types/components.d.ts +303 -74
  307. package/dist/types/index.d.ts +1 -1
  308. package/dist/types/interface.d.ts +1 -0
  309. package/dist/types/utils/config.d.ts +8 -0
  310. package/dist/types/utils/overlays.d.ts +9 -11
  311. package/dist/types/utils/sanitization/index.d.ts +2 -58
  312. package/hydrate/index.js +1296 -1414
  313. package/hydrate/index.mjs +1296 -1414
  314. package/package.json +5 -37
  315. package/components/p-279dFMvg.js +0 -4
  316. package/components/p-BSQPZ79H.js +0 -4
  317. package/components/p-BwKpO3Is.js +0 -4
  318. package/components/p-C-Rx1zny.js +0 -4
  319. package/components/p-CHzfYZbv.js +0 -4
  320. package/components/p-D4h1H_hh.js +0 -4
  321. package/components/p-LMGfIvTf.js +0 -4
  322. package/components/p-_lHSumhG.js +0 -4
  323. package/components/p-j9Da6cYO.js +0 -4
  324. package/components/p-jOtMJMv8.js +0 -4
  325. package/components/p-uTR_dEqg.js +0 -4
  326. package/dist/cjs/config-DWdFbSNK.js +0 -35
  327. package/dist/cjs/index-Cueg3U4w.js +0 -429
  328. package/dist/cjs/overlay-control-label-D2sdL2O8.js +0 -50
  329. package/dist/cjs/select-option-render-DTF50t5r.js +0 -124
  330. package/dist/collection/utils/overlay-control-label.js +0 -45
  331. package/dist/collection/utils/select-option-render.js +0 -119
  332. package/dist/esm/config-BwKpO3Is.js +0 -31
  333. package/dist/esm/index-DQSkZyOJ.js +0 -424
  334. package/dist/esm/overlay-control-label-BSQPZ79H.js +0 -47
  335. package/dist/esm/select-option-render-B8nWZRnd.js +0 -122
  336. package/dist/ionic/p-038eb991.entry.js +0 -4
  337. package/dist/ionic/p-4621c387.entry.js +0 -4
  338. package/dist/ionic/p-4ace7762.entry.js +0 -4
  339. package/dist/ionic/p-4bb3eb60.entry.js +0 -4
  340. package/dist/ionic/p-4e9ec5c5.entry.js +0 -4
  341. package/dist/ionic/p-5c3ec490.entry.js +0 -4
  342. package/dist/ionic/p-5d1ac2c7.entry.js +0 -4
  343. package/dist/ionic/p-700795f6.entry.js +0 -4
  344. package/dist/ionic/p-79a36078.entry.js +0 -4
  345. package/dist/ionic/p-913b218a.entry.js +0 -4
  346. package/dist/ionic/p-BDtODLZ4.js +0 -4
  347. package/dist/ionic/p-BSQPZ79H.js +0 -4
  348. package/dist/ionic/p-BwKpO3Is.js +0 -4
  349. package/dist/ionic/p-Cg5-OQYy.js +0 -4
  350. package/dist/ionic/p-DCOvXkOm.js +0 -4
  351. package/dist/ionic/p-a18dcb3c.entry.js +0 -4
  352. package/dist/ionic/p-a9a33367.entry.js +0 -4
  353. package/dist/ionic/p-ad728198.entry.js +0 -4
  354. package/dist/ionic/p-bfc8c629.entry.js +0 -4
  355. package/dist/ionic/p-c08e666a.entry.js +0 -4
  356. package/dist/ionic/p-c474f471.entry.js +0 -4
  357. package/dist/ionic/p-ce7992c4.entry.js +0 -4
  358. package/dist/ionic/p-ed797c72.entry.js +0 -4
  359. package/dist/ionic/p-f09f9642.entry.js +0 -4
  360. package/dist/ionic/p-f1c06f82.entry.js +0 -4
  361. package/dist/ionic/p-f718fccb.entry.js +0 -4
  362. package/dist/types/utils/overlay-control-label.d.ts +0 -32
  363. package/dist/types/utils/select-option-render.d.ts +0 -53
@@ -30,8 +30,6 @@ const Img = class {
30
30
  this.inheritedAttributes = helpers.inheritAttributes(this.el, ['draggable']);
31
31
  }
32
32
  componentDidLoad() {
33
- index.printIonWarning('[ion-img] - This component is deprecated and will be removed in Ionic v10. ' +
34
- 'Use a native <img> with the loading="lazy" attribute instead.', this.el);
35
33
  this.addIO();
36
34
  }
37
35
  disconnectedCallback() {
@@ -84,7 +82,7 @@ const Img = class {
84
82
  render() {
85
83
  const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
86
84
  const { draggable } = inheritedAttributes;
87
- return (index.h(index.Host, { key: '57bfb44d9850381fe7b6fcf0c9019b03f7ef86ec', class: ionicGlobal.getIonMode(this) }, index.h("img", { key: '888ec06a266fa2751fc0147ede6a567f4e2b29a6', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
85
+ return (index.h(index.Host, { key: '9bfaa659b0680189fd29f3acb2fdce7f70be6060', class: ionicGlobal.getIonMode(this) }, index.h("img", { key: 'd484beae0d5cbe0406958bfad40cdd6c05625340', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
88
86
  }
89
87
  get el() { return index.getElement(this); }
90
88
  static get watchers() { return {
@@ -6,8 +6,7 @@
6
6
  var index = require('./index-Ct7gcRif.js');
7
7
  var index$1 = require('./index-CIrkNXqJ.js');
8
8
  var ionicGlobal = require('./ionic-global-B-cA6LkY.js');
9
- var config = require('./config-DWdFbSNK.js');
10
- var index$2 = require('./index-Cueg3U4w.js');
9
+ var config = require('./config-xninhj0J.js');
11
10
  require('./helpers-Cv23MFHM.js');
12
11
 
13
12
  const infiniteScrollCss = () => `ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}`;
@@ -235,7 +234,7 @@ const InfiniteScrollContent = class {
235
234
  renderLoadingText() {
236
235
  const { customHTMLEnabled, loadingText } = this;
237
236
  if (customHTMLEnabled) {
238
- return index.h("div", { class: "infinite-loading-text", innerHTML: index$2.sanitizeDOMString(loadingText) });
237
+ return index.h("div", { class: "infinite-loading-text", innerHTML: config.sanitizeDOMString(loadingText) });
239
238
  }
240
239
  return index.h("div", { class: "infinite-loading-text" }, this.loadingText);
241
240
  }
@@ -62,7 +62,7 @@ const Input = class {
62
62
  /**
63
63
  * Whether auto correction should be enabled when the user is entering/editing the text value.
64
64
  */
65
- this.autocorrect = false;
65
+ this.autocorrect = 'off';
66
66
  /**
67
67
  * Sets the [`autofocus` attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autofocus) on the native input element.
68
68
  *
@@ -546,7 +546,7 @@ const Input = class {
546
546
  * TODO(FW-5592): Remove hasStartEndSlots condition
547
547
  */
548
548
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
549
- return (index.h(index.Host, { key: '6a05f61339d8045285d5820c2508296cc842c210', class: theme.createColorClasses(this.color, {
549
+ return (index.h(index.Host, { key: '9ba9cf425b573d2ca9ac34455a0e6b8474c4de6d', class: theme.createColorClasses(this.color, {
550
550
  [mode]: true,
551
551
  'has-value': hasValue,
552
552
  'has-focus': hasFocus,
@@ -557,14 +557,14 @@ const Input = class {
557
557
  'in-item': inItem,
558
558
  'in-item-color': theme.hostContext('ion-item.ion-color', this.el),
559
559
  'input-disabled': disabled,
560
- }) }, index.h("label", { key: 'b546d66f53ea25082494e3a4cb0ce7532ee649d7', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), index.h("div", { key: '6af832f2b25fadee7a49adb999166dbc97565e2d', class: "native-wrapper", onClick: this.onLabelClick }, index.h("slot", { key: 'e7a8895038a8d2503f646acfda20c6c1a99c2839', name: "start" }), index.h("input", Object.assign({ key: 'ce85703e0434a6322bb4275a924e3cd91c79fa20', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect ? 'on' : 'off', autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (index.h("button", { key: '1e59589fc89a37d7830dc915b4c19d26a8f568c7', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
560
+ }) }, index.h("label", { key: '74b989d0aa5ab38f29f952519868f05119df6005', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), index.h("div", { key: '47f2b42e2f74ea866b4f871026e08ab375d7a726', class: "native-wrapper", onClick: this.onLabelClick }, index.h("slot", { key: 'eaabe5a4a329a356cac3294d15c087d0d131fff2', name: "start" }), index.h("input", Object.assign({ key: 'c821a984a8a9b7f96f30892c06d8deda093ff24b', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (index.h("button", { key: '62069c11016ee190dc46ab941372e1c4ad8a36ed', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
561
561
  /**
562
562
  * This prevents mobile browsers from
563
563
  * blurring the input when the clear
564
564
  * button is activated.
565
565
  */
566
566
  ev.preventDefault();
567
- }, onClick: this.clearTextInput }, index.h("ion-icon", { key: '7d443c5061bf6436d3b77a2444676c679b3e62e4', "aria-hidden": "true", icon: clearIconData }))), index.h("slot", { key: '5516f88d46886348217570ec1fadda0b79b63c01', name: "end" })), shouldRenderHighlight && index.h("div", { key: '2a1fdb7e7c974654dfbb3afb4fbfd9204e9d9092', class: "input-highlight" })), this.renderBottomContent()));
567
+ }, onClick: this.clearTextInput }, index.h("ion-icon", { key: 'dd75a516d32110d85382b664c663bd41f177ce12', "aria-hidden": "true", icon: clearIconData }))), index.h("slot", { key: '330d4b9389f2c62223a5ee24003e96ef3e6b2473', name: "end" })), shouldRenderHighlight && index.h("div", { key: '8e442bed130ddc84976ab70fd3f8578d6bcc6316', class: "input-highlight" })), this.renderBottomContent()));
568
568
  }
569
569
  get el() { return index.getElement(this); }
570
570
  static get watchers() { return {
@@ -506,11 +506,11 @@ const SkeletonText = class {
506
506
  const animated = this.animated && index.config.getBoolean('animated', true);
507
507
  const inMedia = theme.hostContext('ion-avatar', this.el) || theme.hostContext('ion-thumbnail', this.el);
508
508
  const mode = ionicGlobal.getIonMode(this);
509
- return (index.h(index.Host, { key: '887d958d982345ce610730ab5c9ae35010430f75', class: {
509
+ return (index.h(index.Host, { key: 'cb8da9aba121811b9a4ffdae60ed88105897cb3c', class: {
510
510
  [mode]: true,
511
511
  'skeleton-text-animated': animated,
512
512
  'in-media': inMedia,
513
- } }, index.h("span", { key: 'a184f4b9780a2aada0a16729109ac81436e9c9e1' }, "\u00A0")));
513
+ } }, index.h("span", { key: '5379deee3c76d46d615be0cba14b4f60129ffa25' }, "\u00A0")));
514
514
  }
515
515
  get el() { return index.getElement(this); }
516
516
  };
@@ -4,11 +4,10 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-Ct7gcRif.js');
7
- var config = require('./config-DWdFbSNK.js');
7
+ var config = require('./config-xninhj0J.js');
8
8
  var helpers = require('./helpers-Cv23MFHM.js');
9
9
  var lockController = require('./lock-controller-aDB9wrEf.js');
10
- var overlays = require('./overlays-DSmSrd_4.js');
11
- var index$1 = require('./index-Cueg3U4w.js');
10
+ var overlays = require('./overlays-DdtIYQUH.js');
12
11
  var theme = require('./theme-CeDs6Hcv.js');
13
12
  var ionicGlobal = require('./ionic-global-B-cA6LkY.js');
14
13
  var animation = require('./animation-BJq0kcy2.js');
@@ -214,10 +213,6 @@ const Loading = class {
214
213
  }
215
214
  disconnectedCallback() {
216
215
  this.triggerController.removeClickListener();
217
- // Clean up aria-hidden if removed without dismiss() being called
218
- if (this.presented) {
219
- overlays.cleanupRootFocusTrapAccessibility();
220
- }
221
216
  }
222
217
  /**
223
218
  * Present the loading overlay after it has been created.
@@ -270,7 +265,7 @@ const Loading = class {
270
265
  renderLoadingMessage(msgId) {
271
266
  const { customHTMLEnabled, message } = this;
272
267
  if (customHTMLEnabled) {
273
- return index.h("div", { class: "loading-content", id: msgId, innerHTML: index$1.sanitizeDOMString(message) });
268
+ return index.h("div", { class: "loading-content", id: msgId, innerHTML: config.sanitizeDOMString(message) });
274
269
  }
275
270
  return (index.h("div", { class: "loading-content", id: msgId }, message));
276
271
  }
@@ -283,9 +278,9 @@ const Loading = class {
283
278
  * Otherwise, don't set aria-labelledby.
284
279
  */
285
280
  const ariaLabelledBy = message !== undefined ? msgId : null;
286
- return (index.h(index.Host, Object.assign({ key: 'ab48bfcee8f7e3e33847a2f262fdc08b9ea804ca', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
281
+ return (index.h(index.Host, Object.assign({ key: 'f86ddbc600cb5c396b7de38fb5f49625388c3c3f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
287
282
  zIndex: `${40000 + this.overlayIndex}`,
288
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), index.h("ion-backdrop", { key: '41baccc7fb6474389a3a3431c208e829ef738b75', visible: this.showBackdrop, tappable: this.backdropDismiss }), index.h("div", { key: '7b7290974abbe8db8739b19835aca9f8b5c271c2', tabindex: "0", "aria-hidden": "true" }), index.h("div", { key: 'e32466abfcc92aaad47ea03b1dcb49f66abe4b63', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (index.h("div", { key: 'c5e6e6f9e3f39dba0225d08d7dd2c1b96a1d83c7', class: "loading-spinner" }, index.h("ion-spinner", { key: 'f428038959d879404ea898011363aac0b807ad11', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), index.h("div", { key: '490e531367b86c319fa4260722dcff4dd631fa88', tabindex: "0", "aria-hidden": "true" })));
283
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), index.h("ion-backdrop", { key: 'b53727aaddc37ef3c685fcc150c6d5193290a847', visible: this.showBackdrop, tappable: this.backdropDismiss }), index.h("div", { key: '4c61bede8e0a4e47daa6f1f9d0f364ef6aec0bc3', tabindex: "0", "aria-hidden": "true" }), index.h("div", { key: '84e51ceb07118f1eaeb757df28801c255496931b', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (index.h("div", { key: 'fc97f1912e0fc558b7c309a5bc084415f5f620b2', class: "loading-spinner" }, index.h("ion-spinner", { key: '6e186d856cd3f10f22c3e317ef00f31b4216459c', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), index.h("div", { key: 'dcbe9d9a619daa1c08174e73827bdabeb59dde92', tabindex: "0", "aria-hidden": "true" })));
289
284
  }
290
285
  get el() { return index.getElement(this); }
291
286
  static get watchers() { return {
@@ -5,7 +5,7 @@
5
5
 
6
6
  var index = require('./index-Ct7gcRif.js');
7
7
  var cubicBezier = require('./cubic-bezier-DAjy1V-e.js');
8
- var overlays = require('./overlays-DSmSrd_4.js');
8
+ var overlays = require('./overlays-DdtIYQUH.js');
9
9
  var gestureController = require('./gesture-controller-dtqlP_q4.js');
10
10
  var hardwareBackButton = require('./hardware-back-button-iUuF_76h.js');
11
11
  var helpers = require('./helpers-Cv23MFHM.js');
@@ -9,7 +9,7 @@ var frameworkDelegate = require('./framework-delegate-BtICZDHr.js');
9
9
  var helpers = require('./helpers-Cv23MFHM.js');
10
10
  var lockController = require('./lock-controller-aDB9wrEf.js');
11
11
  var capacitor = require('./capacitor-DmA66EwP.js');
12
- var overlays = require('./overlays-DSmSrd_4.js');
12
+ var overlays = require('./overlays-DdtIYQUH.js');
13
13
  var theme = require('./theme-CeDs6Hcv.js');
14
14
  var index$4 = require('./index-BERfRao3.js');
15
15
  var ionicGlobal = require('./ionic-global-B-cA6LkY.js');
@@ -333,7 +333,14 @@ const createSwipeToCloseGesture = (el, animation, statusBarStyle, onDismiss, onD
333
333
  return false;
334
334
  };
335
335
  const onStart = (detail) => {
336
+ var _a;
336
337
  const { deltaY } = detail;
338
+ /**
339
+ * Firefox automatically selects the header text during drag
340
+ * due to the focusable wrapper (tabindex="-1"). Remove any
341
+ * selection that may have occurred.
342
+ */
343
+ (_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.removeAllRanges();
337
344
  /**
338
345
  * Get the initial scrollY value so
339
346
  * that we can correctly reset the scrollY
@@ -1219,6 +1226,13 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
1219
1226
  return true;
1220
1227
  };
1221
1228
  const onStart = (detail) => {
1229
+ var _a;
1230
+ /**
1231
+ * Firefox automatically selects the header text during drag
1232
+ * due to the focusable wrapper (tabindex="-1"). Remove any
1233
+ * selection that may have occurred.
1234
+ */
1235
+ (_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.removeAllRanges();
1222
1236
  /**
1223
1237
  * If canDismiss is anything other than `true`
1224
1238
  * then users should be able to swipe down
@@ -1821,9 +1835,9 @@ const clearSafeAreaOverrides = (hostEl) => {
1821
1835
  hostEl.style.removeProperty('--ion-safe-area-right');
1822
1836
  };
1823
1837
 
1824
- const modalIosCss = () => `:host{--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:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
1838
+ const modalIosCss = () => `:host{--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:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.4)}:host(.modal-card),:host(.modal-sheet){--border-radius:10px}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:10px}}.modal-wrapper{-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0)}@media screen and (max-width: 767px){@supports (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - max(30px, var(--ion-safe-area-top)) - 10px)}}@supports not (width: max(0px, 1px)){:host(.modal-card){--height:calc(100% - 40px)}}:host(.modal-card) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}:host(.modal-card){--backdrop-opacity:0;--width:100%;-ms-flex-align:end;align-items:flex-end}:host(.modal-card) .modal-shadow{display:none}:host(.modal-card) ion-backdrop{pointer-events:none}}@media screen and (min-width: 768px){:host(.modal-card){--width:calc(100% - 120px);--height:calc(100% - (120px + var(--ion-safe-area-top) + var(--ion-safe-area-bottom)));--max-width:720px;--max-height:1000px;--backdrop-opacity:0;--box-shadow:0px 0px 30px 10px rgba(0, 0, 0, 0.1);-webkit-transition:all 0.5s ease-in-out;transition:all 0.5s ease-in-out}:host(.modal-card) .modal-wrapper{-webkit-box-shadow:none;box-shadow:none}:host(.modal-card) .modal-shadow{-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow)}}:host(.modal-sheet) .modal-wrapper{border-start-start-radius:var(--border-radius);border-start-end-radius:var(--border-radius);border-end-end-radius:0;border-end-start-radius:0}`;
1825
1839
 
1826
- const modalMdCss = () => `:host{--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:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
1840
+ const modalMdCss = () => `:host{--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:-ms-flexbox;display:flex;position:absolute;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);contain:strict}.modal-wrapper,ion-backdrop{pointer-events:auto}:host(.overlay-hidden){display:none}.modal-wrapper,.modal-shadow{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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:var(--overflow);z-index:10}.modal-wrapper{outline:none}.modal-shadow{position:absolute;background:transparent}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--width:600px;--height:500px}}@media only screen and (min-width: 768px) and (min-height: 768px){:host{--width:600px;--height:600px}}.modal-handle{left:0px;right:0px;top:5px;border-radius:8px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;position:absolute;width:36px;height:5px;-webkit-transform:translateZ(0);transform:translateZ(0);border:0;background:var(--ion-color-step-350, var(--ion-background-color-step-350, #c0c0be));cursor:pointer;z-index:11}.modal-handle::before{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:36px;height:5px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:""}:host(.modal-sheet){--height:calc(100% - (var(--ion-modal-offset-top, 0px) + 10px))}:host(.modal-sheet) .modal-wrapper,:host(.modal-sheet) .modal-shadow{position:absolute;bottom:0}:host(.modal-sheet.modal-no-expand-scroll) ion-footer{position:absolute;bottom:0;width:var(--width)}:host{--backdrop-opacity:var(--ion-backdrop-opacity, 0.32)}@media only screen and (min-width: 768px) and (min-height: 600px){:host{--border-radius:2px;--box-shadow:0 28px 48px rgba(0, 0, 0, 0.4)}}.modal-wrapper{-webkit-transform:translate3d(0, 40px, 0);transform:translate3d(0, 40px, 0);opacity:0.01}`;
1827
1841
 
1828
1842
  const Modal = class {
1829
1843
  constructor(hostRef) {
@@ -1883,20 +1897,13 @@ const Modal = class {
1883
1897
  /**
1884
1898
  * The interaction behavior for the sheet modal when the handle is pressed.
1885
1899
  *
1886
- * Handle behavior is unavailable when the `handle` property is set to
1887
- * `false` or when the `breakpoints` property is not set (using a
1888
- * fullscreen or card modal).
1889
- *
1890
- * Set to `"cycle"` to make the handle focusable and let the sheet modal
1891
- * cycle between available breakpoints when pressed. This keeps the sheet
1892
- * operable with assistive technology.
1893
- *
1894
- * Set to `"none"` to make the handle purely decorative when pressed and
1895
- * removed from the tab order.
1900
+ * Defaults to `"none"`, which means the modal will not change size or position when the handle is pressed.
1901
+ * Set to `"cycle"` to let the modal cycle between available breakpoints when pressed.
1896
1902
  *
1897
- * Defaults to `"cycle"`.
1903
+ * Handle behavior is unavailable when the `handle` property is set to `false` or
1904
+ * when the `breakpoints` property is not set (using a fullscreen or card modal).
1898
1905
  */
1899
- this.handleBehavior = 'cycle';
1906
+ this.handleBehavior = 'none';
1900
1907
  /**
1901
1908
  * If `true`, the modal will be dismissed when the backdrop is clicked.
1902
1909
  */
@@ -2088,10 +2095,6 @@ const Modal = class {
2088
2095
  // Also called in dismiss() — intentional dual cleanup covers both
2089
2096
  // dismiss-then-remove and direct DOM removal without dismiss.
2090
2097
  this.cleanupSafeAreaOverrides();
2091
- // Clean up aria-hidden if removed without dismiss() being called
2092
- if (this.presented) {
2093
- overlays.cleanupRootFocusTrapAccessibility();
2094
- }
2095
2098
  }
2096
2099
  componentWillLoad() {
2097
2100
  var _a;
@@ -2971,20 +2974,26 @@ const Modal = class {
2971
2974
  const isCardModal = presentingElement !== undefined && mode === 'ios';
2972
2975
  const isHandleCycle = handleBehavior === 'cycle';
2973
2976
  const isSheetModalWithHandle = isSheetModal && showHandle;
2974
- return (index$3.h(index$3.Host, Object.assign({ key: '528f9e354f470e22563938e7531e3f23a97e4200', "no-router": true,
2977
+ return (index$3.h(index$3.Host, Object.assign({ key: 'ab93657f4a5b4c97168d292b398d975e4b5b4af4', "no-router": true,
2975
2978
  // Allow the modal to be navigable when the handle is focusable
2976
2979
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
2977
2980
  zIndex: `${20000 + this.overlayIndex}`,
2978
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$3.h("ion-backdrop", { key: '53983c96bc6b30df89986c8d9c978a8e6f78fe80', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: '34288a7343b7c47fed00d3abc73957f45f06d2fd', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: 'f9b37f547bd5c61037bbad1a71bfed80ba8c630b',
2981
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), index$3.h("ion-backdrop", { key: '5ba6315c7c8c64fa04c62f85fd493da5275b2cbd', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && index$3.h("div", { key: 'a76c48d41c67f86c18a7481e980e6925e614f85d', class: "modal-shadow" }), index$3.h("div", Object.assign({ key: 'dccf3c774355429bc0ea7461d9b1ef941ea91902',
2979
2982
  /*
2980
2983
  role and aria-modal must be used on the
2981
2984
  same element. They must also be set inside the
2982
2985
  shadow DOM otherwise ion-button will not be highlighted
2983
2986
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
2987
+
2988
+ tabIndex={-1} is required so present() can move focus to this
2989
+ element (which carries the dialog role) instead of the role-less
2990
+ host. role="dialog" alone does not make an element focusable, so
2991
+ without the tabindex focus() would be a no-op and screen readers
2992
+ may not properly announce the dialog and its content when it opens.
2984
2993
  */
2985
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: 'b8741594108d3ea681ff41ff8f2241a4119578b1', class: "modal-handle",
2994
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (index$3.h("button", { key: 'ba4ebd6364faba46ac8532d1c83cb655ae873a14', class: "modal-handle",
2986
2995
  // Prevents the handle from receiving keyboard focus when it does not cycle
2987
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), index$3.h("slot", { key: 'bcc7960fae3fed09076c704d08c3afc46caa0738', onSlotchange: this.onSlotChange }))));
2996
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), index$3.h("slot", { key: '11d5921a8ebbcd0017d4f28a33d68049253f63f0', onSlotchange: this.onSlotChange }))));
2988
2997
  }
2989
2998
  get el() { return index$3.getElement(this); }
2990
2999
  static get watchers() { return {
@@ -45,6 +45,15 @@ class ViewController {
45
45
  this.state = VIEW_STATE_DESTROYED;
46
46
  }
47
47
  }
48
+ const matches = (view, id, params) => {
49
+ if (!view) {
50
+ return false;
51
+ }
52
+ if (view.component !== id) {
53
+ return false;
54
+ }
55
+ return helpers.shallowEqualStringMap(view.params, params);
56
+ };
48
57
  const convertToView = (page, params) => {
49
58
  if (!page) {
50
59
  return null;
@@ -78,6 +87,7 @@ const Nav = class {
78
87
  this.ionNavDidChange = index.createEvent(this, "ionNavDidChange", 3);
79
88
  this.transInstr = [];
80
89
  this.gestureOrAnimationInProgress = false;
90
+ this.useRouter = false;
81
91
  this.isTransitioning = false;
82
92
  this.destroyed = false;
83
93
  this.views = [];
@@ -103,9 +113,14 @@ const Nav = class {
103
113
  */
104
114
  return;
105
115
  }
106
- this.setRoot(this.root, this.rootParams);
116
+ if (!this.useRouter) {
117
+ if (this.root !== undefined) {
118
+ this.setRoot(this.root, this.rootParams);
119
+ }
120
+ }
107
121
  }
108
122
  componentWillLoad() {
123
+ this.useRouter = document.querySelector('ion-router') !== null && this.el.closest('[no-router]') === null;
109
124
  if (this.swipeGesture === undefined) {
110
125
  const mode = ionicGlobal.getIonMode(this);
111
126
  this.swipeGesture = index.config.getBoolean('swipeBackEnabled', mode === 'ios');
@@ -270,6 +285,78 @@ const Nav = class {
270
285
  opts,
271
286
  }, done);
272
287
  }
288
+ /**
289
+ * Called by the router to update the view.
290
+ *
291
+ * @param id The component tag.
292
+ * @param params The component params.
293
+ * @param direction A direction hint.
294
+ * @param animation an AnimationBuilder.
295
+ *
296
+ * @return the status.
297
+ * @internal
298
+ */
299
+ setRouteId(id, params, direction, animation) {
300
+ const active = this.getActiveSync();
301
+ if (matches(active, id, params)) {
302
+ return Promise.resolve({
303
+ changed: false,
304
+ element: active.element,
305
+ });
306
+ }
307
+ let resolve;
308
+ const promise = new Promise((r) => (resolve = r));
309
+ let finish;
310
+ const commonOpts = {
311
+ updateURL: false,
312
+ viewIsReady: (enteringEl) => {
313
+ let mark;
314
+ const p = new Promise((r) => (mark = r));
315
+ resolve({
316
+ changed: true,
317
+ element: enteringEl,
318
+ markVisible: async () => {
319
+ mark();
320
+ await finish;
321
+ },
322
+ });
323
+ return p;
324
+ },
325
+ };
326
+ if (direction === 'root') {
327
+ finish = this.setRoot(id, params, commonOpts);
328
+ }
329
+ else {
330
+ // Look for a view matching the target in the view stack.
331
+ const viewController = this.views.find((v) => matches(v, id, params));
332
+ if (viewController) {
333
+ finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation }));
334
+ }
335
+ else if (direction === 'forward') {
336
+ finish = this.push(id, params, Object.assign(Object.assign({}, commonOpts), { animationBuilder: animation }));
337
+ }
338
+ else if (direction === 'back') {
339
+ finish = this.setRoot(id, params, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animated: true, animationBuilder: animation }));
340
+ }
341
+ }
342
+ return promise;
343
+ }
344
+ /**
345
+ * Called by <ion-router> to retrieve the current component.
346
+ *
347
+ * @internal
348
+ */
349
+ async getRouteId() {
350
+ const active = this.getActiveSync();
351
+ if (active) {
352
+ return {
353
+ id: active.element.tagName,
354
+ params: active.params,
355
+ element: active.element,
356
+ };
357
+ }
358
+ return undefined;
359
+ }
273
360
  /**
274
361
  * Get the active view.
275
362
  */
@@ -335,6 +422,25 @@ const Nav = class {
335
422
  ti.reject = reject;
336
423
  });
337
424
  ti.done = done;
425
+ /**
426
+ * If using router, check to see if navigation hooks
427
+ * will allow us to perform this transition. This
428
+ * is required in order for hooks to work with
429
+ * the ion-back-button or swipe to go back.
430
+ */
431
+ if (ti.opts && ti.opts.updateURL !== false && this.useRouter) {
432
+ const router = document.querySelector('ion-router');
433
+ if (router) {
434
+ const canTransition = await router.canTransition();
435
+ if (canTransition === false) {
436
+ return false;
437
+ }
438
+ if (typeof canTransition === 'string') {
439
+ router.push(canTransition, ti.opts.direction || 'back');
440
+ return false;
441
+ }
442
+ }
443
+ }
338
444
  // Normalize empty
339
445
  if (((_b = ti.insertViews) === null || _b === void 0 ? void 0 : _b.length) === 0) {
340
446
  ti.insertViews = undefined;
@@ -355,6 +461,13 @@ const Nav = class {
355
461
  ti.done(result.hasCompleted, result.requiresTransition, result.enteringView, result.leavingView, result.direction);
356
462
  }
357
463
  ti.resolve(result.hasCompleted);
464
+ if (ti.opts.updateURL !== false && this.useRouter) {
465
+ const router = document.querySelector('ion-router');
466
+ if (router) {
467
+ const direction = result.direction === 'back' ? 'back' : 'forward';
468
+ router.navChanged(direction);
469
+ }
470
+ }
358
471
  }
359
472
  failed(rejectReason, ti) {
360
473
  if (this.destroyed) {
@@ -784,7 +897,7 @@ const Nav = class {
784
897
  }
785
898
  }
786
899
  render() {
787
- return index.h("slot", { key: 'bb4a201a3a8079548f5474ff42293b28fc7599fb' });
900
+ return index.h("slot", { key: 'a549286b51b1bb23c9ef51f71148452228d0ab14' });
788
901
  }
789
902
  get el() { return index.getElement(this); }
790
903
  static get watchers() { return {
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  var index = require('./index-Ct7gcRif.js');
7
- var overlays = require('./overlays-DSmSrd_4.js');
7
+ var overlays = require('./overlays-DdtIYQUH.js');
8
8
  var frameworkDelegate = require('./framework-delegate-BtICZDHr.js');
9
9
  var helpers = require('./helpers-Cv23MFHM.js');
10
10
  var lockController = require('./lock-controller-aDB9wrEf.js');
@@ -1090,9 +1090,9 @@ const mdLeaveAnimation = (baseEl) => {
1090
1090
  .addAnimation([backdropAnimation, wrapperAnimation]);
1091
1091
  };
1092
1092
 
1093
- const popoverIosCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.select-popover-rich-content){--width:clamp(250px, calc(100vw - 40px), 400px)}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}`;
1093
+ const popoverIosCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--width:200px;--max-height:90%;--box-shadow:none;--backdrop-opacity:var(--ion-backdrop-opacity, 0.08)}:host(.popover-desktop){--box-shadow:0px 4px 16px 0px rgba(0, 0, 0, 0.12)}.popover-content{border-radius:10px}:host(.popover-desktop) .popover-content{border:0.5px solid var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.popover-arrow{display:block;position:absolute;width:20px;height:10px;overflow:hidden;z-index:11}.popover-arrow::after{top:3px;border-radius:3px;position:absolute;width:14px;height:14px;-webkit-transform:rotate(45deg);transform:rotate(45deg);background:var(--background);content:"";z-index:10}.popover-arrow::after{inset-inline-start:3px}:host(.popover-bottom) .popover-arrow{top:auto;bottom:-10px}:host(.popover-bottom) .popover-arrow::after{top:-6px}:host(.popover-side-left) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host(.popover-side-right) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host(.popover-side-top) .popover-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host(.popover-side-start) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}:host-context([dir=rtl]):host(.popover-side-start) .popover-arrow,:host-context([dir=rtl]).popover-side-start .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}@supports selector(:dir(rtl)){:host(.popover-side-start:dir(rtl)) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}:host(.popover-side-end) .popover-arrow{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}:host-context([dir=rtl]):host(.popover-side-end) .popover-arrow,:host-context([dir=rtl]).popover-side-end .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@supports selector(:dir(rtl)){:host(.popover-side-end:dir(rtl)) .popover-arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}.popover-arrow,.popover-content{opacity:0}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){:host(.popover-translucent) .popover-content,:host(.popover-translucent) .popover-arrow::after{background:rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}}`;
1094
1094
 
1095
- const popoverMdCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host(.select-popover-rich-content){--width:clamp(250px, calc(100vw - 40px), 400px)}:host{--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{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}`;
1095
+ const popoverMdCss = () => `:host{--background:var(--ion-background-color, #fff);--min-width:0;--min-height:0;--max-width:auto;--height:auto;--offset-x:0px;--offset-y:0px;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:fixed;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;outline:none;color:var(--ion-text-color, #000);z-index:1001}:host(.popover-nested){pointer-events:none}:host(.popover-nested) .popover-wrapper{pointer-events:auto}:host(.overlay-hidden){display:none}.popover-wrapper{z-index:10}.popover-content{display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;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);-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);overflow:auto;z-index:10}::slotted(.popover-viewport){--ion-safe-area-top:0px;--ion-safe-area-right:0px;--ion-safe-area-bottom:0px;--ion-safe-area-left:0px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}:host(.popover-nested.popover-side-left){--offset-x:5px}:host(.popover-nested.popover-side-right){--offset-x:-5px}:host(.popover-nested.popover-side-start){--offset-x:5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-start),:host-context([dir=rtl]).popover-nested.popover-side-start{--offset-x:-5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-start:dir(rtl)){--offset-x:-5px}}:host(.popover-nested.popover-side-end){--offset-x:-5px}:host-context([dir=rtl]):host(.popover-nested.popover-side-end),:host-context([dir=rtl]).popover-nested.popover-side-end{--offset-x:5px}@supports selector(:dir(rtl)){:host(.popover-nested.popover-side-end:dir(rtl)){--offset-x:5px}}:host{--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{border-radius:4px;-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]) .popover-content{-webkit-transform-origin:right top;transform-origin:right top}[dir=rtl] .popover-content{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.popover-content:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}.popover-viewport{-webkit-transition-delay:100ms;transition-delay:100ms}.popover-wrapper{opacity:0}`;
1096
1096
 
1097
1097
  const Popover = class {
1098
1098
  constructor(hostRef) {
@@ -1306,10 +1306,6 @@ const Popover = class {
1306
1306
  this.headerResizeObserver.disconnect();
1307
1307
  this.headerResizeObserver = undefined;
1308
1308
  }
1309
- // Clean up aria-hidden if removed without dismiss() being called
1310
- if (this.presented) {
1311
- overlays.cleanupRootFocusTrapAccessibility();
1312
- }
1313
1309
  }
1314
1310
  componentWillLoad() {
1315
1311
  var _a, _b;
@@ -1548,9 +1544,9 @@ const Popover = class {
1548
1544
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
1549
1545
  const desktop = ionicGlobal.isPlatform('desktop');
1550
1546
  const enableArrow = arrow && !parentPopover;
1551
- return (index.h(index.Host, Object.assign({ key: 'd7f3aa2c2fa93a93585e3eda9e4a6d0daaa541be', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1547
+ return (index.h(index.Host, Object.assign({ key: '2edd8333c630efbce59071f8a383e4326e928dbc', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1552
1548
  zIndex: `${20000 + this.overlayIndex}`,
1553
- }, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && index.h("ion-backdrop", { key: 'b87be2ef14219997b9c47dcbaf904eb770d0e057', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), index.h("div", { key: 'e6243572faf1b871ae2b34923410b2a6638469f0', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && index.h("div", { key: '3d4938c9d0764a644398e0e7a4361106da1bd926', class: "popover-arrow", part: "arrow" }), index.h("div", { key: '24ad6d777828aad2881d56595693e6022fc9cb8e', class: "popover-content", part: "content" }, index.h("slot", { key: '79f83df74a5c5e3dd7650f15c1aa50795b90a345' })))));
1549
+ }, class: Object.assign(Object.assign({}, theme.getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [overlays.FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && index.h("ion-backdrop", { key: 'aac4e68b08197534375e8ea3f8c9ea0c10ab2af4', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), index.h("div", { key: 'b7f4ebf57d4148b32856b0075d286f454be8de5d', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && index.h("div", { key: '607d94c28d73e8e957175a7c0f6e8a99ec4dcd53', class: "popover-arrow", part: "arrow" }), index.h("div", { key: '4366a5a5de550c09895e923f345583508e1ec30c', class: "popover-content", part: "content" }, index.h("slot", { key: 'eb7886fbc99c15b667b7d825d24f1c12d9380f03' })))));
1554
1550
  }
1555
1551
  get el() { return index.getElement(this); }
1556
1552
  static get watchers() { return {
@@ -42,7 +42,7 @@ const ProgressBar = class {
42
42
  const mode = ionicGlobal.getIonMode(this);
43
43
  // If the progress is displayed as a solid bar.
44
44
  const progressSolid = buffer === 1;
45
- return (index.h(index.Host, { key: 'd7476268ce53b6a4f425b7bc9f01d6935eb411c3', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: theme.createColorClasses(color, {
45
+ return (index.h(index.Host, { key: 'c859e48f3d24a458239e36d925e5dc003ed07c6b', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: theme.createColorClasses(color, {
46
46
  [mode]: true,
47
47
  [`progress-bar-${type}`]: true,
48
48
  'progress-paused': paused,
@@ -138,7 +138,7 @@ const Radio = class {
138
138
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
139
139
  const mode = ionicGlobal.getIonMode(this);
140
140
  const inItem = theme.hostContext('ion-item', el);
141
- return (index.h(index.Host, { key: 'd9425b252ed38086420d91d5c680421d121c99f4', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: theme.createColorClasses(color, {
141
+ return (index.h(index.Host, { key: 'af5dc59ed528150872e907ed1036e3e2decba939', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: theme.createColorClasses(color, {
142
142
  [mode]: true,
143
143
  'in-item': inItem,
144
144
  'radio-checked': checked,
@@ -149,10 +149,10 @@ const Radio = class {
149
149
  // Focus and active styling should not apply when the radio is in an item
150
150
  'ion-activatable': !inItem,
151
151
  'ion-focusable': !inItem,
152
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, index.h("label", { key: 'de391fca2aa0b681af5c1d089121596c46e68271', class: "radio-wrapper" }, index.h("div", { key: '44e4c71645f86a9e73ad58c0e8b41c0558b920f6', class: {
152
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, index.h("label", { key: '1312aba3259a87fe23a6911cdfa477e309469c8b', class: "radio-wrapper" }, index.h("div", { key: 'b342aa27e240a300836d2a135658d346b95daf09', class: {
153
153
  'label-text-wrapper': true,
154
154
  'label-text-wrapper-hidden': !hasLabel,
155
- }, part: "label" }, index.h("slot", { key: '589d7c1b45a1918b5811663daa8f30788e7729f8' })), index.h("div", { key: '0f61a17b195582d6c9a0c597cd40e6629256e479', class: "native-wrapper" }, this.renderRadioControl()))));
155
+ }, part: "label" }, index.h("slot", { key: '0a4613d29aa783d1882cf889377f7e4fd4fea51d' })), index.h("div", { key: '191faea79dc4cd8befc4b873f5bd9f5af8ca2acc', class: "native-wrapper" }, this.renderRadioControl()))));
156
156
  }
157
157
  get el() { return index.getElement(this); }
158
158
  static get watchers() { return {
@@ -794,7 +794,7 @@ const Range = class {
794
794
  const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
795
795
  const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
796
796
  helpers.renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
797
- return (index.h(index.Host, { key: 'cd26f0187c0d37c7eb9df923f75c8a0f57c19ab6', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: theme.createColorClasses(this.color, {
797
+ return (index.h(index.Host, { key: 'f8063d1234fb113fe55a7902845dd4b4da8b1edb', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: theme.createColorClasses(this.color, {
798
798
  [mode]: true,
799
799
  'in-item': inItem,
800
800
  'range-disabled': disabled,
@@ -808,10 +808,10 @@ const Range = class {
808
808
  'range-item-end-adjustment': needsEndAdjustment,
809
809
  'range-value-min': valueAtMin,
810
810
  'range-value-max': valueAtMax,
811
- }) }, index.h("label", { key: '90224fd24b0e625a17e7972feff73a0ac31e093d', class: "range-wrapper", id: "range-label" }, index.h("div", { key: 'e07b9fa10983249c425eec26b741f0f628daf2b2', class: {
811
+ }) }, index.h("label", { key: 'beead65ab01e3b18e4be59c0ee8ac6ebf32aad7c', class: "range-wrapper", id: "range-label" }, index.h("div", { key: '03633c689d9d2e4c50a2131bcd560329df49e314', class: {
812
812
  'label-text-wrapper': true,
813
813
  'label-text-wrapper-hidden': !hasLabel,
814
- }, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: '9e252f1190838fbae46e724bf665f9b1943600a4', class: "native-wrapper" }, index.h("slot", { key: '950697dd9636da340de659812daa91fff50e5345', name: "start" }), this.renderRangeSlider(), index.h("slot", { key: 'd3fce46b29db275af71e6149e725967839ec12b0', name: "end" })))));
814
+ }, part: "label" }, label !== undefined ? index.h("div", { class: "label-text" }, label) : index.h("slot", { name: "label" })), index.h("div", { key: 'c066804263ab6ae7393f8dcc51184b7198844ffa', class: "native-wrapper" }, index.h("slot", { key: '7e8ea224d72b3e965dd948bee7e45c1a096b6899', name: "start" }), this.renderRangeSlider(), index.h("slot", { key: '21f242f6f60ff3adce6a2d90b2d4dac1ceaf6624', name: "end" })))));
815
815
  }
816
816
  get el() { return index.getElement(this); }
817
817
  static get watchers() { return {