@ionic/core 8.7.18-dev.11771020096.1ca03a6d → 8.7.18-dev.11771365900.125bf49c

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 (338) hide show
  1. package/components/index.js +13 -14
  2. package/components/ion-accordion-group.js +3 -4
  3. package/components/ion-accordion.js +6 -7
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +11 -12
  7. package/components/ion-avatar.js +3 -3
  8. package/components/ion-back-button.js +8 -9
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +4 -4
  11. package/components/ion-breadcrumb.js +7 -7
  12. package/components/ion-breadcrumbs.js +4 -4
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +3 -3
  16. package/components/ion-card-header.js +4 -4
  17. package/components/ion-card-subtitle.js +4 -4
  18. package/components/ion-card-title.js +4 -4
  19. package/components/ion-card.js +6 -6
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +5 -5
  22. package/components/ion-col.js +3 -3
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +7 -8
  25. package/components/ion-datetime.js +19 -20
  26. package/components/ion-fab-button.js +8 -8
  27. package/components/ion-fab-list.js +3 -3
  28. package/components/ion-fab.js +3 -3
  29. package/components/ion-footer.js +6 -6
  30. package/components/ion-grid.js +3 -3
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-icon.js +1 -1
  33. package/components/ion-img.js +4 -4
  34. package/components/ion-infinite-scroll-content.js +5 -6
  35. package/components/ion-infinite-scroll.js +4 -4
  36. package/components/ion-input-otp.js +6 -7
  37. package/components/ion-input-password-toggle.js +8 -9
  38. package/components/ion-input.js +13 -13
  39. package/components/ion-item-divider.js +6 -6
  40. package/components/ion-item-group.js +4 -4
  41. package/components/ion-item-option.js +7 -7
  42. package/components/ion-item-options.js +5 -5
  43. package/components/ion-item-sliding.js +8 -9
  44. package/components/ion-item.js +1 -1
  45. package/components/ion-label.js +1 -1
  46. package/components/ion-list-header.js +1 -1
  47. package/components/ion-list.js +1 -1
  48. package/components/ion-loading.js +13 -14
  49. package/components/ion-menu-button.js +12 -13
  50. package/components/ion-menu-toggle.js +7 -7
  51. package/components/ion-menu.js +14 -18
  52. package/components/ion-modal.js +1 -1
  53. package/components/ion-nav-link.js +3 -3
  54. package/components/ion-nav.js +9 -14
  55. package/components/ion-note.js +6 -6
  56. package/components/ion-picker-column-option.js +1 -1
  57. package/components/ion-picker-column.js +1 -1
  58. package/components/ion-picker-legacy-column.js +1 -1
  59. package/components/ion-picker-legacy.js +12 -13
  60. package/components/ion-picker.js +1 -1
  61. package/components/ion-popover.js +1 -1
  62. package/components/ion-progress-bar.js +6 -7
  63. package/components/ion-radio-group.js +1 -1
  64. package/components/ion-radio.js +1 -1
  65. package/components/ion-range.js +11 -12
  66. package/components/ion-refresher-content.js +9 -10
  67. package/components/ion-refresher.js +12 -13
  68. package/components/ion-reorder-group.js +8 -8
  69. package/components/ion-reorder.js +6 -6
  70. package/components/ion-ripple-effect.js +1 -1
  71. package/components/ion-route-redirect.js +2 -2
  72. package/components/ion-route.js +2 -2
  73. package/components/ion-router-link.js +6 -6
  74. package/components/ion-router-outlet.js +10 -11
  75. package/components/ion-router.js +3 -4
  76. package/components/ion-row.js +4 -4
  77. package/components/ion-searchbar.js +12 -13
  78. package/components/ion-segment-button.js +8 -9
  79. package/components/ion-segment-content.js +3 -3
  80. package/components/ion-segment-view.js +5 -5
  81. package/components/ion-segment.js +9 -9
  82. package/components/ion-select-modal.js +1 -1
  83. package/components/ion-select-option.js +4 -4
  84. package/components/ion-select-popover.js +1 -1
  85. package/components/ion-select.js +36 -37
  86. package/components/ion-skeleton-text.js +6 -7
  87. package/components/ion-spinner.js +1 -1
  88. package/components/ion-split-pane.js +5 -12
  89. package/components/ion-tab-bar.js +7 -7
  90. package/components/ion-tab-button.js +7 -8
  91. package/components/ion-tab.js +5 -14
  92. package/components/ion-tabs.js +3 -4
  93. package/components/ion-text.js +6 -6
  94. package/components/ion-textarea.js +13 -13
  95. package/components/ion-thumbnail.js +4 -4
  96. package/components/ion-title.js +1 -1
  97. package/components/ion-toast.js +17 -20
  98. package/components/ion-toggle.js +15 -16
  99. package/components/ion-toolbar.js +1 -1
  100. package/components/{list.js → p-B25GjpND.js} +3 -3
  101. package/components/{buttons.js → p-BBFQmhcD.js} +3 -3
  102. package/components/{index5.js → p-BC-awmYt.js} +6 -6
  103. package/components/{picker.js → p-BHbOsu99.js} +3 -3
  104. package/components/{title.js → p-BTlwXR9e.js} +6 -6
  105. package/components/{alert.js → p-BcazQttQ.js} +12 -13
  106. package/components/{spinner.js → p-BdGshsIJ.js} +5 -6
  107. package/components/{input.utils.js → p-BfS7vSpC.js} +3 -3
  108. package/components/{ios.transition.js → p-BhRFCLuX.js} +2 -2
  109. package/components/{backdrop.js → p-Bhnhnzjz.js} +3 -3
  110. package/components/{notch-controller.js → p-BmcqD0EN.js} +2 -2
  111. package/components/{radio-group.js → p-BnpDIASH.js} +7 -7
  112. package/components/{hardware-back-button.js → p-Boi6hecl.js} +2 -2
  113. package/components/{radio.js → p-Bt_moUyl.js} +8 -8
  114. package/components/{ionic-global.js → p-Bxl5etF4.js} +1 -2
  115. package/components/{picker-column-option.js → p-ByjmWt3s.js} +7 -7
  116. package/components/{md.transition.js → p-C04oPyjT.js} +2 -2
  117. package/components/{capacitor.js → p-CIGNaXM1.js} +1 -1
  118. package/components/{config.js → p-CIJwkzL6.js} +1 -1
  119. package/components/{select-modal.js → p-CJrGvZ1Z.js} +19 -19
  120. package/components/{animation.js → p-CL12ApCQ.js} +2 -2
  121. package/components/{label.js → p-CUfY9DTD.js} +6 -6
  122. package/components/{action-sheet.js → p-CXJR56Oq.js} +12 -12
  123. package/components/{index3.js → p-Cl0B-RWe.js} +1 -1
  124. package/components/{keyboard-controller.js → p-CtWGkNnJ.js} +2 -2
  125. package/components/{index7.js → p-Cyd00tgZ.js} +2 -2
  126. package/components/{picker-column2.js → p-CzAJ3ArC.js} +9 -9
  127. package/components/{menu-toggle-util.js → p-CzW34QBh.js} +1 -1
  128. package/components/{refresher.utils.js → p-D0zXRwcr.js} +3 -3
  129. package/components/{keyboard2.js → p-D13Eaw-8.js} +1 -1
  130. package/components/{select-popover.js → p-D3KEyQ8e.js} +15 -15
  131. package/components/{helpers.js → p-D5hF6rwn.js} +1 -1
  132. package/components/{keyboard.js → p-D6Ynv7Xh.js} +1 -1
  133. package/components/{button-active.js → p-D8eD2iBA.js} +3 -3
  134. package/components/{button.js → p-DK2Bn1Mc.js} +6 -7
  135. package/components/{picker-column.js → p-DKRQWlK2.js} +7 -7
  136. package/components/{index8.js → p-DNDUsygf.js} +2 -2
  137. package/components/{content.js → p-DPm73mCi.js} +7 -7
  138. package/components/{popover.js → p-DRHwNkVo.js} +43 -166
  139. package/components/{index2.js → p-DTWZF6wg.js} +4 -5
  140. package/components/p-DWoUQeZ3.js +3012 -0
  141. package/components/{header.js → p-DX0w75a9.js} +6 -6
  142. package/components/{toolbar.js → p-Dt8zaCLQ.js} +6 -6
  143. package/components/{checkbox.js → p-DyFBFrV7.js} +7 -7
  144. package/components/{status-tap.js → p-DyHPCMyn.js} +3 -3
  145. package/components/{modal.js → p-IHgAGzvW.js} +35 -345
  146. package/components/{ripple-effect.js → p-LgLeKTkH.js} +4 -4
  147. package/components/{list-header.js → p-NhiRFRn9.js} +6 -6
  148. package/components/{input-shims.js → p-OuiHmXO5.js} +4 -4
  149. package/components/{icon.js → p-Wro9IPHE.js} +6 -6
  150. package/components/{item.js → p-aIWC4ZEV.js} +8 -8
  151. package/components/{overlays.js → p-c-XJ9XhZ.js} +7 -7
  152. package/components/{haptic.js → p-cyNmxje6.js} +1 -1
  153. package/components/{swipe-back.js → p-fVuFT3Wd.js} +3 -3
  154. package/components/{framework-delegate.js → p-l_lso3Zl.js} +1 -1
  155. package/components/{data.js → p-mQp4lwQD.js} +2 -2
  156. package/dist/cjs/ion-app_8.cjs.entry.js +5 -5
  157. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  158. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  159. package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
  160. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  161. package/dist/cjs/ion-item_8.cjs.entry.js +11 -11
  162. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  163. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  164. package/dist/cjs/ion-modal.cjs.entry.js +17 -326
  165. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  166. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  167. package/dist/cjs/ion-popover.cjs.entry.js +32 -154
  168. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  169. package/dist/cjs/ion-radio_2.cjs.entry.js +4 -4
  170. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  171. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  172. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  173. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  174. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  175. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  176. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  177. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  178. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  179. package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
  180. package/dist/cjs/ion-select_3.cjs.entry.js +4 -4
  181. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  182. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  183. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  184. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  185. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  186. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  187. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  188. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  189. package/dist/collection/components/item-divider/item-divider.js +2 -2
  190. package/dist/collection/components/item-group/item-group.js +1 -1
  191. package/dist/collection/components/item-option/item-option.js +2 -2
  192. package/dist/collection/components/item-options/item-options.js +1 -1
  193. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  194. package/dist/collection/components/label/label.js +2 -2
  195. package/dist/collection/components/list-header/list-header.js +2 -2
  196. package/dist/collection/components/loading/loading.js +2 -2
  197. package/dist/collection/components/menu/menu.js +2 -2
  198. package/dist/collection/components/menu-button/menu-button.js +2 -2
  199. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  200. package/dist/collection/components/modal/modal.ios.css +5 -6
  201. package/dist/collection/components/modal/modal.js +15 -164
  202. package/dist/collection/components/modal/modal.md.css +5 -6
  203. package/dist/collection/components/nav/nav.js +1 -1
  204. package/dist/collection/components/nav-link/nav-link.js +1 -1
  205. package/dist/collection/components/note/note.js +2 -2
  206. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  207. package/dist/collection/components/picker-legacy/picker.js +2 -2
  208. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  209. package/dist/collection/components/popover/animations/ios.enter.js +8 -33
  210. package/dist/collection/components/popover/animations/md.enter.js +6 -26
  211. package/dist/collection/components/popover/popover.js +2 -2
  212. package/dist/collection/components/popover/utils.js +19 -96
  213. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  214. package/dist/collection/components/radio/radio.js +3 -3
  215. package/dist/collection/components/radio-group/radio-group.js +1 -1
  216. package/dist/collection/components/range/range.js +3 -3
  217. package/dist/collection/components/refresher/refresher.js +1 -1
  218. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  219. package/dist/collection/components/reorder/reorder.js +1 -1
  220. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  221. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  222. package/dist/collection/components/router-link/router-link.js +2 -2
  223. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  224. package/dist/collection/components/row/row.js +1 -1
  225. package/dist/collection/components/searchbar/searchbar.js +4 -4
  226. package/dist/collection/components/segment/segment.js +2 -2
  227. package/dist/collection/components/segment-button/segment-button.js +2 -2
  228. package/dist/collection/components/segment-content/segment-content.js +1 -1
  229. package/dist/collection/components/segment-view/segment-view.js +2 -2
  230. package/dist/collection/components/select/select.js +2 -2
  231. package/dist/collection/components/select-modal/select-modal.js +1 -1
  232. package/dist/collection/components/select-option/select-option.js +1 -1
  233. package/dist/collection/components/select-popover/select-popover.js +1 -1
  234. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  235. package/dist/collection/components/spinner/spinner.js +1 -1
  236. package/dist/collection/components/split-pane/split-pane.js +2 -2
  237. package/dist/collection/components/tab/tab.js +2 -2
  238. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  239. package/dist/collection/components/tab-button/tab-button.js +2 -2
  240. package/dist/collection/components/tabs/tabs.js +1 -1
  241. package/dist/collection/components/text/text.js +2 -2
  242. package/dist/collection/components/textarea/textarea.js +2 -2
  243. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  244. package/dist/collection/components/title/title.js +2 -2
  245. package/dist/collection/components/toast/toast.js +2 -2
  246. package/dist/collection/components/toggle/toggle.js +3 -3
  247. package/dist/collection/components/toolbar/toolbar.js +2 -2
  248. package/dist/docs.json +1 -1
  249. package/dist/esm/ion-app_8.entry.js +5 -5
  250. package/dist/esm/ion-avatar_3.entry.js +1 -1
  251. package/dist/esm/ion-col_3.entry.js +1 -1
  252. package/dist/esm/ion-datetime_3.entry.js +4 -4
  253. package/dist/esm/ion-item-option_3.entry.js +4 -4
  254. package/dist/esm/ion-item_8.entry.js +11 -11
  255. package/dist/esm/ion-loading.entry.js +2 -2
  256. package/dist/esm/ion-menu_3.entry.js +6 -6
  257. package/dist/esm/ion-modal.entry.js +17 -326
  258. package/dist/esm/ion-nav_2.entry.js +2 -2
  259. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  260. package/dist/esm/ion-popover.entry.js +32 -154
  261. package/dist/esm/ion-progress-bar.entry.js +1 -1
  262. package/dist/esm/ion-radio_2.entry.js +4 -4
  263. package/dist/esm/ion-range.entry.js +3 -3
  264. package/dist/esm/ion-refresher_2.entry.js +2 -2
  265. package/dist/esm/ion-reorder_2.entry.js +2 -2
  266. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  267. package/dist/esm/ion-route_4.entry.js +2 -2
  268. package/dist/esm/ion-searchbar.entry.js +4 -4
  269. package/dist/esm/ion-segment-content.entry.js +1 -1
  270. package/dist/esm/ion-segment-view.entry.js +2 -2
  271. package/dist/esm/ion-segment_2.entry.js +4 -4
  272. package/dist/esm/ion-select-modal.entry.js +1 -1
  273. package/dist/esm/ion-select_3.entry.js +4 -4
  274. package/dist/esm/ion-spinner.entry.js +1 -1
  275. package/dist/esm/ion-split-pane.entry.js +2 -2
  276. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  277. package/dist/esm/ion-tab_2.entry.js +3 -3
  278. package/dist/esm/ion-text.entry.js +2 -2
  279. package/dist/esm/ion-textarea.entry.js +2 -2
  280. package/dist/esm/ion-toast.entry.js +2 -2
  281. package/dist/esm/ion-toggle.entry.js +3 -3
  282. package/dist/ionic/ionic.esm.js +1 -1
  283. package/dist/ionic/{p-074839fc.entry.js → p-01e27965.entry.js} +1 -1
  284. package/dist/ionic/p-0ca0fe9c.entry.js +4 -0
  285. package/dist/ionic/{p-316c0420.entry.js → p-221a3d8c.entry.js} +1 -1
  286. package/dist/ionic/{p-3a6caca9.entry.js → p-2668188b.entry.js} +1 -1
  287. package/dist/ionic/{p-d3014190.entry.js → p-2bd1ea35.entry.js} +1 -1
  288. package/dist/ionic/{p-a127bee2.entry.js → p-30333874.entry.js} +1 -1
  289. package/dist/ionic/{p-0e8c8a10.entry.js → p-31db96da.entry.js} +1 -1
  290. package/dist/ionic/{p-1647c46c.entry.js → p-363d1209.entry.js} +1 -1
  291. package/dist/ionic/p-3ec563c1.entry.js +4 -0
  292. package/dist/ionic/{p-c19af093.entry.js → p-42db6404.entry.js} +1 -1
  293. package/dist/ionic/{p-db82892c.entry.js → p-46a38cfd.entry.js} +1 -1
  294. package/dist/ionic/{p-eb024a5b.entry.js → p-4eec1a5e.entry.js} +1 -1
  295. package/dist/ionic/{p-0dfa5a37.entry.js → p-530fcd71.entry.js} +1 -1
  296. package/dist/ionic/{p-72c38b88.entry.js → p-5c8f7253.entry.js} +1 -1
  297. package/dist/ionic/{p-172a579f.entry.js → p-5d6fb6e3.entry.js} +1 -1
  298. package/dist/ionic/{p-dbbe606a.entry.js → p-652318c3.entry.js} +1 -1
  299. package/dist/ionic/{p-2a939845.entry.js → p-6f37536a.entry.js} +1 -1
  300. package/dist/ionic/{p-4e41ea20.entry.js → p-72af946b.entry.js} +1 -1
  301. package/dist/ionic/p-7f98e710.entry.js +4 -0
  302. package/dist/ionic/{p-6d070558.entry.js → p-82d5bb3d.entry.js} +1 -1
  303. package/dist/ionic/p-906bb44d.entry.js +4 -0
  304. package/dist/ionic/{p-2dbb90cb.entry.js → p-97eb0812.entry.js} +1 -1
  305. package/dist/ionic/{p-31f7095f.entry.js → p-a4a9f5ae.entry.js} +1 -1
  306. package/dist/ionic/{p-86f53961.entry.js → p-b8551510.entry.js} +1 -1
  307. package/dist/ionic/p-bc293244.entry.js +4 -0
  308. package/dist/ionic/{p-d126e8d3.entry.js → p-bce86e56.entry.js} +1 -1
  309. package/dist/ionic/{p-02d76786.entry.js → p-be263062.entry.js} +1 -1
  310. package/dist/ionic/{p-639dd543.entry.js → p-c175d792.entry.js} +1 -1
  311. package/dist/ionic/{p-020af078.entry.js → p-cc2a9936.entry.js} +1 -1
  312. package/dist/ionic/{p-1ccd6829.entry.js → p-e338f669.entry.js} +1 -1
  313. package/dist/ionic/{p-6241ce47.entry.js → p-eaf3f5ff.entry.js} +1 -1
  314. package/dist/ionic/{p-f8f22cc0.entry.js → p-fb0271ae.entry.js} +1 -1
  315. package/dist/ionic/{p-370e4237.entry.js → p-fbb00634.entry.js} +1 -1
  316. package/dist/types/components/modal/modal.d.ts +0 -35
  317. package/dist/types/components/popover/utils.d.ts +1 -23
  318. package/hydrate/index.js +137 -568
  319. package/hydrate/index.mjs +137 -568
  320. package/package.json +1 -1
  321. package/components/index4.js +0 -121
  322. package/dist/collection/components/modal/safe-area-utils.js +0 -165
  323. package/dist/ionic/p-3e69999d.entry.js +0 -4
  324. package/dist/ionic/p-51a60e0f.entry.js +0 -4
  325. package/dist/ionic/p-94de5cfa.entry.js +0 -4
  326. package/dist/ionic/p-cc3446d5.entry.js +0 -4
  327. package/dist/ionic/p-dd1aef77.entry.js +0 -4
  328. package/dist/types/components/modal/safe-area-utils.d.ts +0 -66
  329. /package/components/{lock-controller.js → p-B-hirT0v.js} +0 -0
  330. /package/components/{gesture-controller.js → p-BTEOs1at.js} +0 -0
  331. /package/components/{focus-visible.js → p-BmVRXR1y.js} +0 -0
  332. /package/components/{dir.js → p-C53feagD.js} +0 -0
  333. /package/components/{index6.js → p-CO7fmmxt.js} +0 -0
  334. /package/components/{validity.js → p-DJztqcrH.js} +0 -0
  335. /package/components/{theme.js → p-DiVJyqlX.js} +0 -0
  336. /package/components/{watch-options.js → p-Dtdm8lKC.js} +0 -0
  337. /package/components/{index9.js → p-ZjP4CjeZ.js} +0 -0
  338. /package/components/{cubic-bezier.js → p-hHmYLOfE.js} +0 -0
@@ -1,70 +1,17 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
5
- import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as focusFirstDescendant, g as dismiss, h as eventMethod, F as FOCUS_TRAP_DISABLE_CLASS } from './overlays.js';
6
- import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './framework-delegate.js';
7
- import { g as getElementRoot, r as raf, a as addEventListener, k as hasLazyBuild } from './helpers.js';
8
- import { c as createLockController } from './lock-controller.js';
9
- import { p as printIonWarning } from './index4.js';
10
- import { b as getIonMode, a as isPlatform } from './ionic-global.js';
11
- import { g as getClassMap } from './theme.js';
12
- import { e as deepReady, w as waitForMount } from './index2.js';
13
- import { c as createAnimation } from './animation.js';
14
- import { d as defineCustomElement$1 } from './backdrop.js';
4
+ import { p as proxyCustomElement, H, e as createEvent, f as printIonWarning, h, d as Host } from './p-DWoUQeZ3.js';
5
+ import { B as BACKDROP, j as prepareOverlay, k as setOverlayId, f as present, n as focusFirstDescendant, g as dismiss, h as eventMethod, F as FOCUS_TRAP_DISABLE_CLASS } from './p-c-XJ9XhZ.js';
6
+ import { C as CoreDelegate, a as attachComponent, d as detachComponent } from './p-l_lso3Zl.js';
7
+ import { g as getElementRoot, r as raf, a as addEventListener, k as hasLazyBuild } from './p-D5hF6rwn.js';
8
+ import { c as createLockController } from './p-B-hirT0v.js';
9
+ import { b as getIonMode, a as isPlatform } from './p-Bxl5etF4.js';
10
+ import { g as getClassMap } from './p-DiVJyqlX.js';
11
+ import { e as deepReady, w as waitForMount } from './p-DTWZF6wg.js';
12
+ import { c as createAnimation } from './p-CL12ApCQ.js';
13
+ import { d as defineCustomElement$1 } from './p-Bhnhnzjz.js';
15
14
 
16
- /**
17
- * Shared per-frame cache for safe-area insets. Avoids creating a temporary
18
- * DOM element and forcing a synchronous reflow on every call within the same
19
- * frame (e.g., multiple popovers presenting simultaneously). Invalidated
20
- * after the next animation frame so values stay fresh across orientation
21
- * changes and viewport resizes.
22
- */
23
- let cachedInsets = null;
24
- let cacheInvalidationScheduled = false;
25
- /**
26
- * Resolves the current --ion-safe-area-* CSS custom property values
27
- * to actual pixel numbers. A temporary element is needed because
28
- * getComputedStyle on :root returns the declared value of custom
29
- * properties (e.g. "env(safe-area-inset-top)") rather than a
30
- * resolved number. By assigning them to standard padding properties,
31
- * the browser resolves the value.
32
- *
33
- * Results are cached for the current frame to avoid repeated reflows.
34
- */
35
- const getSafeAreaInsets = (doc) => {
36
- if (cachedInsets !== null) {
37
- return cachedInsets;
38
- }
39
- if (doc.body === null) {
40
- return { top: 0, bottom: 0, left: 0, right: 0 };
41
- }
42
- const el = doc.createElement('div');
43
- el.style.cssText =
44
- 'position:fixed;visibility:hidden;pointer-events:none;top:0;left:0;' +
45
- 'padding-top:var(--ion-safe-area-top,0px);' +
46
- 'padding-bottom:var(--ion-safe-area-bottom,0px);' +
47
- 'padding-left:var(--ion-safe-area-left,0px);' +
48
- 'padding-right:var(--ion-safe-area-right,0px);';
49
- doc.body.appendChild(el);
50
- const style = getComputedStyle(el);
51
- const insets = {
52
- top: parseFloat(style.paddingTop) || 0,
53
- bottom: parseFloat(style.paddingBottom) || 0,
54
- left: parseFloat(style.paddingLeft) || 0,
55
- right: parseFloat(style.paddingRight) || 0,
56
- };
57
- el.remove();
58
- cachedInsets = insets;
59
- if (!cacheInvalidationScheduled) {
60
- cacheInvalidationScheduled = true;
61
- raf(() => {
62
- cachedInsets = null;
63
- cacheInvalidationScheduled = false;
64
- });
65
- }
66
- return insets;
67
- };
68
15
  /**
69
16
  * Returns the dimensions of the popover
70
17
  * arrow on `ios` mode. If arrow is disabled
@@ -700,10 +647,8 @@ const calculatePopoverCenterAlign = (side, triggerBoundingBox, contentWidth, con
700
647
  * Adjusts popover positioning coordinates
701
648
  * such that popover does not appear offscreen
702
649
  * or overlapping safe area bounds.
703
- *
704
- * @internal - This is not part of the public API.
705
650
  */
706
- const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyWidth, bodyHeight, contentWidth, contentHeight, safeArea, contentOriginX, contentOriginY, triggerCoordinates, coordArrowTop = 0, coordArrowLeft = 0, arrowHeight = 0) => {
651
+ const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyWidth, bodyHeight, contentWidth, contentHeight, safeAreaMargin, contentOriginX, contentOriginY, triggerCoordinates, coordArrowTop = 0, coordArrowLeft = 0, arrowHeight = 0) => {
707
652
  let arrowTop = coordArrowTop;
708
653
  const arrowLeft = coordArrowLeft;
709
654
  let left = coordLeft;
@@ -713,19 +658,16 @@ const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyW
713
658
  let originY = contentOriginY;
714
659
  let checkSafeAreaLeft = false;
715
660
  let checkSafeAreaRight = false;
716
- let checkSafeAreaTop = false;
717
- let checkSafeAreaBottom = false;
718
661
  const triggerTop = triggerCoordinates
719
662
  ? triggerCoordinates.top + triggerCoordinates.height
720
663
  : bodyHeight / 2 - contentHeight / 2;
721
664
  const triggerHeight = triggerCoordinates ? triggerCoordinates.height : 0;
722
665
  let addPopoverBottomClass = false;
723
- const hideArrow = false;
724
666
  /**
725
667
  * Adjust popover so it does not
726
668
  * go off the left of the screen.
727
669
  */
728
- if (left < bodyPadding + safeArea.left) {
670
+ if (left < bodyPadding + safeAreaMargin) {
729
671
  left = bodyPadding;
730
672
  checkSafeAreaLeft = true;
731
673
  originX = 'left';
@@ -734,58 +676,41 @@ const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyW
734
676
  * go off the right of the screen.
735
677
  */
736
678
  }
737
- else if (contentWidth + bodyPadding + left + safeArea.right > bodyWidth) {
679
+ else if (contentWidth + bodyPadding + left + safeAreaMargin > bodyWidth) {
738
680
  checkSafeAreaRight = true;
739
681
  left = bodyWidth - contentWidth - bodyPadding;
740
682
  originX = 'right';
741
683
  }
742
684
  /**
743
685
  * Adjust popover so it does not
744
- * go off the bottom of the screen
745
- * or overlap the bottom safe area.
686
+ * go off the top of the screen.
746
687
  * If popover is on the left or the right of
747
688
  * the trigger, then we should not adjust top
748
689
  * margins.
749
690
  */
750
- if (triggerTop + triggerHeight + contentHeight > bodyHeight - safeArea.bottom &&
751
- (side === 'top' || side === 'bottom')) {
752
- /**
753
- * Calculate where the popover top would be if flipped
754
- * above the trigger. Check whether that position clears
755
- * the top safe area with room for bodyPadding.
756
- */
757
- const idealFlipTop = triggerTop - contentHeight - triggerHeight - (arrowHeight - 1);
758
- if (idealFlipTop >= safeArea.top + bodyPadding) {
691
+ if (triggerTop + triggerHeight + contentHeight > bodyHeight && (side === 'top' || side === 'bottom')) {
692
+ if (triggerTop - contentHeight > 0) {
759
693
  /**
760
- * Popover fits above the trigger without overlapping
761
- * the top safe area. Use the ideal position directly —
762
- * no safe-area CSS vars needed since it clears both edges.
694
+ * While we strive to align the popover with the trigger
695
+ * on smaller screens this is not always possible. As a result,
696
+ * we adjust the popover up so that it does not hang
697
+ * off the bottom of the screen. However, we do not want to move
698
+ * the popover up so much that it goes off the top of the screen.
699
+ *
700
+ * We chose 12 here so that the popover position looks a bit nicer as
701
+ * it is not right up against the edge of the screen.
763
702
  */
764
- top = idealFlipTop;
703
+ top = Math.max(12, triggerTop - contentHeight - triggerHeight - (arrowHeight - 1));
765
704
  arrowTop = top + contentHeight;
766
705
  originY = 'bottom';
767
706
  addPopoverBottomClass = true;
768
- }
769
- else {
770
707
  /**
771
- * Can't flip above the trigger. Constrain the bottom
772
- * edge while keeping the top near the trigger. This
773
- * creates a scrollable area anchored to the trigger.
708
+ * If not enough room for popover to appear
709
+ * above trigger, then cut it off.
774
710
  */
711
+ }
712
+ else {
775
713
  bottom = bodyPadding;
776
- checkSafeAreaBottom = true;
777
- /**
778
- * When the trigger is near the bottom of the screen,
779
- * the calculated top may be at or past the bottom
780
- * constraint, leaving zero visible height. In that
781
- * case, pull top up to the top safe area so the
782
- * popover fills the available space between safe areas.
783
- */
784
- const bottomEdge = bodyHeight - safeArea.bottom - bodyPadding;
785
- if (top >= bottomEdge) {
786
- top = safeArea.top + bodyPadding;
787
- checkSafeAreaTop = true;
788
- }
789
714
  }
790
715
  }
791
716
  return {
@@ -796,12 +721,9 @@ const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyW
796
721
  originY,
797
722
  checkSafeAreaLeft,
798
723
  checkSafeAreaRight,
799
- checkSafeAreaTop,
800
- checkSafeAreaBottom,
801
724
  arrowTop,
802
725
  arrowLeft,
803
726
  addPopoverBottomClass,
804
- hideArrow,
805
727
  };
806
728
  };
807
729
  const shouldShowArrow = (side, didAdjustBounds = false, ev, trigger) => {
@@ -831,15 +753,6 @@ const shouldShowArrow = (side, didAdjustBounds = false, ev, trigger) => {
831
753
  };
832
754
 
833
755
  const POPOVER_IOS_BODY_PADDING = 5;
834
- /**
835
- * Minimum edge margin for iOS popovers ensures visual spacing from screen
836
- * edges on devices without safe areas (e.g., older iPhones without notches).
837
- * Previously this was a hardcoded `safeAreaMargin = 25` that served dual
838
- * purpose: safe-area avoidance AND visual spacing. Now that actual safe-area
839
- * insets are read dynamically, this floor preserves the visual spacing when
840
- * safe-area values are 0.
841
- */
842
- const POPOVER_IOS_MIN_EDGE_MARGIN = 25;
843
756
  /**
844
757
  * iOS Popover Enter Animation
845
758
  */
@@ -865,16 +778,8 @@ const iosEnterAnimation = (baseEl, opts) => {
865
778
  };
866
779
  const results = getPopoverPosition(isRTL, contentWidth, contentHeight, arrowWidth, arrowHeight, reference, side, align, defaultPosition, trigger, ev);
867
780
  const padding = size === 'cover' ? 0 : POPOVER_IOS_BODY_PADDING;
868
- const rawSafeArea = getSafeAreaInsets(doc);
869
- const safeArea = size === 'cover'
870
- ? { top: 0, bottom: 0, left: 0, right: 0 }
871
- : {
872
- top: Math.max(rawSafeArea.top, POPOVER_IOS_MIN_EDGE_MARGIN),
873
- bottom: Math.max(rawSafeArea.bottom, POPOVER_IOS_MIN_EDGE_MARGIN),
874
- left: Math.max(rawSafeArea.left, POPOVER_IOS_MIN_EDGE_MARGIN),
875
- right: Math.max(rawSafeArea.right, POPOVER_IOS_MIN_EDGE_MARGIN),
876
- };
877
- const { originX, originY, top, left, bottom, checkSafeAreaLeft, checkSafeAreaRight, checkSafeAreaTop, checkSafeAreaBottom, arrowTop, arrowLeft, addPopoverBottomClass} = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, safeArea, results.originX, results.originY, results.referenceCoordinates, results.arrowTop, results.arrowLeft, arrowHeight);
781
+ const margin = size === 'cover' ? 0 : 25;
782
+ const { originX, originY, top, left, bottom, checkSafeAreaLeft, checkSafeAreaRight, arrowTop, arrowLeft, addPopoverBottomClass, } = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, margin, results.originX, results.originY, results.referenceCoordinates, results.arrowTop, results.arrowLeft, arrowHeight);
878
783
  const baseAnimation = createAnimation();
879
784
  const backdropAnimation = createAnimation();
880
785
  const contentAnimation = createAnimation();
@@ -905,14 +810,10 @@ const iosEnterAnimation = (baseEl, opts) => {
905
810
  baseEl.classList.add('popover-bottom');
906
811
  }
907
812
  if (bottom !== undefined) {
908
- let bottomValue = `${bottom}px`;
909
- if (checkSafeAreaBottom) {
910
- bottomValue = `${bottom}px + var(--ion-safe-area-bottom, 0px)`;
911
- }
912
- contentEl.style.setProperty('bottom', `calc(${bottomValue})`);
813
+ contentEl.style.setProperty('bottom', `${bottom}px`);
913
814
  }
914
- const safeAreaLeft = ' + var(--ion-safe-area-left, 0px)';
915
- const safeAreaRight = ' - var(--ion-safe-area-right, 0px)';
815
+ const safeAreaLeft = ' + var(--ion-safe-area-left, 0)';
816
+ const safeAreaRight = ' - var(--ion-safe-area-right, 0)';
916
817
  let leftValue = `${left}px`;
917
818
  if (checkSafeAreaLeft) {
918
819
  leftValue = `${left}px${safeAreaLeft}`;
@@ -920,11 +821,7 @@ const iosEnterAnimation = (baseEl, opts) => {
920
821
  if (checkSafeAreaRight) {
921
822
  leftValue = `${left}px${safeAreaRight}`;
922
823
  }
923
- let topValue = `${top}px`;
924
- if (checkSafeAreaTop) {
925
- topValue = `${top}px + var(--ion-safe-area-top, 0px)`;
926
- }
927
- contentEl.style.setProperty('top', `calc(${topValue} + var(--offset-y, 0))`);
824
+ contentEl.style.setProperty('top', `calc(${top}px + var(--offset-y, 0))`);
928
825
  contentEl.style.setProperty('left', `calc(${leftValue} + var(--offset-x, 0))`);
929
826
  contentEl.style.setProperty('transform-origin', `${originY} ${originX}`);
930
827
  if (arrowEl !== null) {
@@ -1000,23 +897,7 @@ const mdEnterAnimation = (baseEl, opts) => {
1000
897
  };
1001
898
  const results = getPopoverPosition(isRTL, contentWidth, contentHeight, 0, 0, reference, side, align, defaultPosition, trigger, ev);
1002
899
  const padding = size === 'cover' ? 0 : POPOVER_MD_BODY_PADDING;
1003
- // MD mode now applies safe-area insets (previously passed 0, ignoring all safe areas).
1004
- // This is needed for Android edge-to-edge (API 36+) where system bars overlap content.
1005
- const safeArea = size === 'cover' ? { top: 0, bottom: 0, left: 0, right: 0 } : getSafeAreaInsets(doc);
1006
- const { originX, originY, top, left, bottom, checkSafeAreaLeft, checkSafeAreaRight, checkSafeAreaTop, checkSafeAreaBottom, addPopoverBottomClass, } = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, safeArea, results.originX, results.originY, results.referenceCoordinates);
1007
- const safeAreaLeftCalc = ' + var(--ion-safe-area-left, 0px)';
1008
- const safeAreaRightCalc = ' - var(--ion-safe-area-right, 0px)';
1009
- let leftValue = `${left}px`;
1010
- if (checkSafeAreaLeft) {
1011
- leftValue = `${left}px${safeAreaLeftCalc}`;
1012
- }
1013
- if (checkSafeAreaRight) {
1014
- leftValue = `${left}px${safeAreaRightCalc}`;
1015
- }
1016
- let topValue = `${top}px`;
1017
- if (checkSafeAreaTop) {
1018
- topValue = `${top}px + var(--ion-safe-area-top, 0px)`;
1019
- }
900
+ const { originX, originY, top, left, bottom } = calculateWindowAdjustment(side, results.top, results.left, padding, bodyWidth, bodyHeight, contentWidth, contentHeight, 0, results.originX, results.originY, results.referenceCoordinates);
1020
901
  const baseAnimation = createAnimation();
1021
902
  const backdropAnimation = createAnimation();
1022
903
  const wrapperAnimation = createAnimation();
@@ -1033,17 +914,13 @@ const mdEnterAnimation = (baseEl, opts) => {
1033
914
  contentAnimation
1034
915
  .addElement(contentEl)
1035
916
  .beforeStyles({
1036
- top: `calc(${topValue} + var(--offset-y, 0px))`,
1037
- left: `calc(${leftValue} + var(--offset-x, 0px))`,
917
+ top: `calc(${top}px + var(--offset-y, 0px))`,
918
+ left: `calc(${left}px + var(--offset-x, 0px))`,
1038
919
  'transform-origin': `${originY} ${originX}`,
1039
920
  })
1040
921
  .beforeAddWrite(() => {
1041
922
  if (bottom !== undefined) {
1042
- let bottomValue = `${bottom}px`;
1043
- if (checkSafeAreaBottom) {
1044
- bottomValue = `${bottom}px + var(--ion-safe-area-bottom, 0px)`;
1045
- }
1046
- contentEl.style.setProperty('bottom', `calc(${bottomValue})`);
923
+ contentEl.style.setProperty('bottom', `${bottom}px`);
1047
924
  }
1048
925
  })
1049
926
  .fromTo('transform', 'scale(0.8)', 'scale(1)');
@@ -1055,7 +932,7 @@ const mdEnterAnimation = (baseEl, opts) => {
1055
932
  if (size === 'cover') {
1056
933
  baseEl.style.setProperty('--width', `${contentWidth}px`);
1057
934
  }
1058
- if (addPopoverBottomClass) {
935
+ if (originY === 'bottom') {
1059
936
  baseEl.classList.add('popover-bottom');
1060
937
  }
1061
938
  })
@@ -1091,7 +968,7 @@ const popoverIosCss = ":host{--background:var(--ion-background-color, #fff);--mi
1091
968
 
1092
969
  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}";
1093
970
 
1094
- const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends HTMLElement {
971
+ const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends H {
1095
972
  constructor(registerHost) {
1096
973
  super();
1097
974
  if (registerHost !== false) {
@@ -1545,9 +1422,9 @@ const Popover = /*@__PURE__*/ proxyCustomElement(class Popover extends HTMLEleme
1545
1422
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
1546
1423
  const desktop = isPlatform('desktop');
1547
1424
  const enableArrow = arrow && !parentPopover;
1548
- return (h(Host, Object.assign({ key: '42863f748c93f709d433931d969230137b37d42d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1425
+ return (h(Host, Object.assign({ key: '2edd8333c630efbce59071f8a383e4326e928dbc', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1549
1426
  zIndex: `${20000 + this.overlayIndex}`,
1550
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: '22b6d82178b52158b76ab3fd9a7dd738fd6e4bbf', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: 'b76335c64e992a964ed3fb91d17a992c3474b4cd', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '018c846c32e7ff7fa010528e6b37a17e5f03c84c', class: "popover-arrow", part: "arrow" }), h("div", { key: '350c468c80052da3a07768bceab98fe159c35a43', class: "popover-content", part: "content" }, h("slot", { key: '686443c17ac9873d33905c1cdb67e6d6da675282' })))));
1427
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: 'aac4e68b08197534375e8ea3f8c9ea0c10ab2af4', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: 'b7f4ebf57d4148b32856b0075d286f454be8de5d', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '607d94c28d73e8e957175a7c0f6e8a99ec4dcd53', class: "popover-arrow", part: "arrow" }), h("div", { key: '4366a5a5de550c09895e923f345583508e1ec30c', class: "popover-content", part: "content" }, h("slot", { key: 'eb7886fbc99c15b667b7d825d24f1c12d9380f03' })))));
1551
1428
  }
1552
1429
  get el() { return this; }
1553
1430
  static get watchers() { return {
@@ -1,9 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as config, p as printIonWarning } from './index4.js';
5
- import { writeTask, Build } from '@stencil/core/internal/client';
6
- import { r as raf } from './helpers.js';
4
+ import { c as config, f as printIonWarning, w as writeTask, B as Build } from './p-DWoUQeZ3.js';
5
+ import { r as raf } from './p-D5hF6rwn.js';
7
6
 
8
7
  const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
9
8
  const LIFECYCLE_DID_ENTER = 'ionViewDidEnter';
@@ -119,8 +118,8 @@ const createFocusController = () => {
119
118
  };
120
119
  const LAST_FOCUS = 'ion-last-focus';
121
120
 
122
- const iosTransitionAnimation = () => import('./ios.transition.js');
123
- const mdTransitionAnimation = () => import('./md.transition.js');
121
+ const iosTransitionAnimation = () => import('./p-BhRFCLuX.js');
122
+ const mdTransitionAnimation = () => import('./p-C04oPyjT.js');
124
123
  const focusController = createFocusController();
125
124
  // TODO(FW-2832): types
126
125
  /**