voyager-ionic-core 8.7.11 → 8.7.13

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 (993) hide show
  1. package/components/action-sheet.js +186 -5
  2. package/components/content.js +13 -3
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-fab-button.js +1 -1
  5. package/components/ion-select.js +8 -3
  6. package/components/item.js +1 -1
  7. package/components/modal.js +97 -5
  8. package/components/overlays.js +11 -5
  9. package/components/popover.js +36 -2
  10. package/css/core.css +1 -1
  11. package/css/core.css.map +1 -1
  12. package/css/ionic.bundle.css +1 -1
  13. package/css/ionic.bundle.css.map +1 -1
  14. package/dist/cjs/index.cjs.js +1 -1
  15. package/dist/cjs/ion-action-sheet.cjs.entry.js +184 -5
  16. package/dist/cjs/ion-alert.cjs.entry.js +1 -1
  17. package/dist/cjs/ion-app_8.cjs.entry.js +12 -3
  18. package/dist/cjs/ion-datetime_3.cjs.entry.js +1 -1
  19. package/dist/cjs/ion-loading.cjs.entry.js +1 -1
  20. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  21. package/dist/cjs/ion-modal.cjs.entry.js +97 -6
  22. package/dist/cjs/ion-popover.cjs.entry.js +37 -3
  23. package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
  24. package/dist/cjs/ion-select_3.cjs.entry.js +9 -4
  25. package/dist/cjs/ion-toast.cjs.entry.js +1 -1
  26. package/dist/cjs/ionic.cjs.js +1 -1
  27. package/dist/cjs/loader.cjs.js +1 -1
  28. package/dist/cjs/{overlays-DxIZwUXI.js → overlays--dagG4QM.js} +11 -5
  29. package/dist/collection/components/accordion/accordion.js +3 -3
  30. package/dist/collection/components/action-sheet/action-sheet.js +199 -4
  31. package/dist/collection/components/content/content.js +32 -3
  32. package/dist/collection/components/fab-button/fab-button.js +3 -3
  33. package/dist/collection/components/item/item.js +3 -3
  34. package/dist/collection/components/modal/modal.js +97 -5
  35. package/dist/collection/components/popover/popover.js +36 -2
  36. package/dist/collection/components/select/select.js +8 -3
  37. package/dist/collection/utils/overlays.js +11 -5
  38. package/dist/docs.json +26 -20
  39. package/dist/esm/index.js +1 -1
  40. package/dist/esm/ion-action-sheet.entry.js +184 -5
  41. package/dist/esm/ion-alert.entry.js +1 -1
  42. package/dist/esm/ion-app_8.entry.js +12 -3
  43. package/dist/esm/ion-datetime_3.entry.js +1 -1
  44. package/dist/esm/ion-loading.entry.js +1 -1
  45. package/dist/esm/ion-menu_3.entry.js +1 -1
  46. package/dist/esm/ion-modal.entry.js +97 -6
  47. package/dist/esm/ion-popover.entry.js +37 -3
  48. package/dist/esm/ion-select-modal.entry.js +1 -1
  49. package/dist/esm/ion-select_3.entry.js +9 -4
  50. package/dist/esm/ion-toast.entry.js +1 -1
  51. package/dist/esm/ionic.js +1 -1
  52. package/dist/esm/loader.js +1 -1
  53. package/dist/esm/{overlays-BymNv-BL.js → overlays-DCabi1dI.js} +11 -5
  54. package/dist/ionic/index.esm.js +1 -1
  55. package/dist/ionic/ionic.esm.js +1 -1
  56. package/dist/ionic/p-071e8c1b.entry.js +4 -0
  57. package/dist/ionic/{p-7da39a4d.entry.js → p-07753df3.entry.js} +1 -1
  58. package/dist/ionic/{p-0b80d700.entry.js → p-0abeb0fc.entry.js} +1 -1
  59. package/dist/ionic/p-0bf76d0f.entry.js +4 -0
  60. package/dist/ionic/{p-cb93126d.entry.js → p-4b658a7c.entry.js} +1 -1
  61. package/dist/ionic/{p-98fc09eb.entry.js → p-576e0965.entry.js} +1 -1
  62. package/dist/ionic/p-60e0728c.entry.js +4 -0
  63. package/dist/ionic/p-75ae4733.entry.js +4 -0
  64. package/dist/ionic/p-C6F4hat2.js +4 -0
  65. package/dist/ionic/{p-83be404e.entry.js → p-a8ed848b.entry.js} +1 -1
  66. package/dist/ionic/p-c85a2127.entry.js +4 -0
  67. package/dist/ionic/{p-15193d01.entry.js → p-ec654c42.entry.js} +1 -1
  68. package/dist/ionic/svg/document-sharp.svg +1 -0
  69. package/dist/ionic/svg/document-text-outline.svg +1 -0
  70. package/dist/ionic/svg/document-text-sharp.svg +1 -0
  71. package/dist/ionic/svg/document-text.svg +1 -0
  72. package/dist/ionic/svg/document.svg +1 -0
  73. package/dist/ionic/svg/documents-outline.svg +1 -0
  74. package/dist/ionic/svg/documents-sharp.svg +1 -0
  75. package/dist/ionic/svg/documents.svg +1 -0
  76. package/dist/ionic/svg/download-outline.svg +1 -0
  77. package/dist/ionic/svg/download-sharp.svg +1 -0
  78. package/dist/ionic/svg/download.svg +1 -0
  79. package/dist/ionic/svg/duplicate-outline.svg +1 -0
  80. package/dist/ionic/svg/duplicate-sharp.svg +1 -0
  81. package/dist/ionic/svg/duplicate.svg +1 -0
  82. package/dist/ionic/svg/ear-outline.svg +1 -0
  83. package/dist/ionic/svg/ear-sharp.svg +1 -0
  84. package/dist/ionic/svg/ear.svg +1 -0
  85. package/dist/ionic/svg/earth-outline.svg +1 -0
  86. package/dist/ionic/svg/earth-sharp.svg +1 -0
  87. package/dist/ionic/svg/earth.svg +1 -0
  88. package/dist/ionic/svg/easel-outline.svg +1 -0
  89. package/dist/ionic/svg/easel-sharp.svg +1 -0
  90. package/dist/ionic/svg/easel.svg +1 -0
  91. package/dist/ionic/svg/egg-outline.svg +1 -0
  92. package/dist/ionic/svg/egg-sharp.svg +1 -0
  93. package/dist/ionic/svg/egg.svg +1 -0
  94. package/dist/ionic/svg/ellipse-outline.svg +1 -0
  95. package/dist/ionic/svg/ellipse-sharp.svg +1 -0
  96. package/dist/ionic/svg/ellipse.svg +1 -0
  97. package/dist/ionic/svg/ellipsis-horizontal-circle-outline.svg +1 -0
  98. package/dist/ionic/svg/ellipsis-horizontal-circle-sharp.svg +1 -0
  99. package/dist/ionic/svg/ellipsis-horizontal-circle.svg +1 -0
  100. package/dist/ionic/svg/ellipsis-horizontal-outline.svg +1 -0
  101. package/dist/ionic/svg/ellipsis-horizontal-sharp.svg +1 -0
  102. package/dist/ionic/svg/ellipsis-horizontal.svg +1 -0
  103. package/dist/ionic/svg/ellipsis-vertical-circle-outline.svg +1 -0
  104. package/dist/ionic/svg/ellipsis-vertical-circle-sharp.svg +1 -0
  105. package/dist/ionic/svg/ellipsis-vertical-circle.svg +1 -0
  106. package/dist/ionic/svg/ellipsis-vertical-outline.svg +1 -0
  107. package/dist/ionic/svg/ellipsis-vertical-sharp.svg +1 -0
  108. package/dist/ionic/svg/ellipsis-vertical.svg +1 -0
  109. package/dist/ionic/svg/enter-outline.svg +1 -0
  110. package/dist/ionic/svg/enter-sharp.svg +1 -0
  111. package/dist/ionic/svg/enter.svg +1 -0
  112. package/dist/ionic/svg/exit-outline.svg +1 -0
  113. package/dist/ionic/svg/exit-sharp.svg +1 -0
  114. package/dist/ionic/svg/exit.svg +1 -0
  115. package/dist/ionic/svg/expand-outline.svg +1 -0
  116. package/dist/ionic/svg/expand-sharp.svg +1 -0
  117. package/dist/ionic/svg/expand.svg +1 -0
  118. package/dist/ionic/svg/extension-puzzle-outline.svg +1 -0
  119. package/dist/ionic/svg/extension-puzzle-sharp.svg +1 -0
  120. package/dist/ionic/svg/extension-puzzle.svg +1 -0
  121. package/dist/ionic/svg/eye-off-outline.svg +1 -0
  122. package/dist/ionic/svg/eye-off-sharp.svg +1 -0
  123. package/dist/ionic/svg/eye-off.svg +1 -0
  124. package/dist/ionic/svg/eye-outline.svg +1 -0
  125. package/dist/ionic/svg/eye-sharp.svg +1 -0
  126. package/dist/ionic/svg/eye.svg +1 -0
  127. package/dist/ionic/svg/eyedrop-outline.svg +1 -0
  128. package/dist/ionic/svg/eyedrop-sharp.svg +1 -0
  129. package/dist/ionic/svg/eyedrop.svg +1 -0
  130. package/dist/ionic/svg/fast-food-outline.svg +1 -0
  131. package/dist/ionic/svg/fast-food-sharp.svg +1 -0
  132. package/dist/ionic/svg/fast-food.svg +1 -0
  133. package/dist/ionic/svg/female-outline.svg +1 -0
  134. package/dist/ionic/svg/female-sharp.svg +1 -0
  135. package/dist/ionic/svg/female.svg +1 -0
  136. package/dist/ionic/svg/file-tray-full-outline.svg +1 -0
  137. package/dist/ionic/svg/file-tray-full-sharp.svg +1 -0
  138. package/dist/ionic/svg/file-tray-full.svg +1 -0
  139. package/dist/ionic/svg/file-tray-outline.svg +1 -0
  140. package/dist/ionic/svg/file-tray-sharp.svg +1 -0
  141. package/dist/ionic/svg/file-tray-stacked-outline.svg +1 -0
  142. package/dist/ionic/svg/file-tray-stacked-sharp.svg +1 -0
  143. package/dist/ionic/svg/file-tray-stacked.svg +1 -0
  144. package/dist/ionic/svg/file-tray.svg +1 -0
  145. package/dist/ionic/svg/film-outline.svg +1 -0
  146. package/dist/ionic/svg/film-sharp.svg +1 -0
  147. package/dist/ionic/svg/film.svg +1 -0
  148. package/dist/ionic/svg/filter-circle-outline.svg +1 -0
  149. package/dist/ionic/svg/filter-circle-sharp.svg +1 -0
  150. package/dist/ionic/svg/filter-circle.svg +1 -0
  151. package/dist/ionic/svg/filter-outline.svg +1 -0
  152. package/dist/ionic/svg/filter-sharp.svg +1 -0
  153. package/dist/ionic/svg/filter.svg +1 -0
  154. package/dist/ionic/svg/finger-print-outline.svg +1 -0
  155. package/dist/ionic/svg/finger-print-sharp.svg +1 -0
  156. package/dist/ionic/svg/finger-print.svg +1 -0
  157. package/dist/ionic/svg/fish-outline.svg +1 -0
  158. package/dist/ionic/svg/fish-sharp.svg +1 -0
  159. package/dist/ionic/svg/fish.svg +1 -0
  160. package/dist/ionic/svg/fitness-outline.svg +1 -0
  161. package/dist/ionic/svg/fitness-sharp.svg +1 -0
  162. package/dist/ionic/svg/fitness.svg +1 -0
  163. package/dist/ionic/svg/flag-outline.svg +1 -0
  164. package/dist/ionic/svg/flag-sharp.svg +1 -0
  165. package/dist/ionic/svg/flag.svg +1 -0
  166. package/dist/ionic/svg/flame-outline.svg +1 -0
  167. package/dist/ionic/svg/flame-sharp.svg +1 -0
  168. package/dist/ionic/svg/flame.svg +1 -0
  169. package/dist/ionic/svg/flash-off-outline.svg +1 -0
  170. package/dist/ionic/svg/flash-off-sharp.svg +1 -0
  171. package/dist/ionic/svg/flash-off.svg +1 -0
  172. package/dist/ionic/svg/flash-outline.svg +1 -0
  173. package/dist/ionic/svg/flash-sharp.svg +1 -0
  174. package/dist/ionic/svg/flash.svg +1 -0
  175. package/dist/ionic/svg/flashlight-outline.svg +1 -0
  176. package/dist/ionic/svg/flashlight-sharp.svg +1 -0
  177. package/dist/ionic/svg/flashlight.svg +1 -0
  178. package/dist/ionic/svg/flask-outline.svg +1 -0
  179. package/dist/ionic/svg/flask-sharp.svg +1 -0
  180. package/dist/ionic/svg/flask.svg +1 -0
  181. package/dist/ionic/svg/flower-outline.svg +1 -0
  182. package/dist/ionic/svg/flower-sharp.svg +1 -0
  183. package/dist/ionic/svg/flower.svg +1 -0
  184. package/dist/ionic/svg/folder-open-outline.svg +1 -0
  185. package/dist/ionic/svg/folder-open-sharp.svg +1 -0
  186. package/dist/ionic/svg/folder-open.svg +1 -0
  187. package/dist/ionic/svg/folder-outline.svg +1 -0
  188. package/dist/ionic/svg/folder-sharp.svg +1 -0
  189. package/dist/ionic/svg/folder.svg +1 -0
  190. package/dist/ionic/svg/football-outline.svg +1 -0
  191. package/dist/ionic/svg/football-sharp.svg +1 -0
  192. package/dist/ionic/svg/football.svg +1 -0
  193. package/dist/ionic/svg/footsteps-outline.svg +1 -0
  194. package/dist/ionic/svg/footsteps-sharp.svg +1 -0
  195. package/dist/ionic/svg/footsteps.svg +1 -0
  196. package/dist/ionic/svg/funnel-outline.svg +1 -0
  197. package/dist/ionic/svg/funnel-sharp.svg +1 -0
  198. package/dist/ionic/svg/funnel.svg +1 -0
  199. package/dist/ionic/svg/game-controller-outline.svg +1 -0
  200. package/dist/ionic/svg/game-controller-sharp.svg +1 -0
  201. package/dist/ionic/svg/game-controller.svg +1 -0
  202. package/dist/ionic/svg/gift-outline.svg +1 -0
  203. package/dist/ionic/svg/gift-sharp.svg +1 -0
  204. package/dist/ionic/svg/gift.svg +1 -0
  205. package/dist/ionic/svg/git-branch-outline.svg +1 -0
  206. package/dist/ionic/svg/git-branch-sharp.svg +1 -0
  207. package/dist/ionic/svg/git-branch.svg +1 -0
  208. package/dist/ionic/svg/git-commit-outline.svg +1 -0
  209. package/dist/ionic/svg/git-commit-sharp.svg +1 -0
  210. package/dist/ionic/svg/git-commit.svg +1 -0
  211. package/dist/ionic/svg/git-compare-outline.svg +1 -0
  212. package/dist/ionic/svg/git-compare-sharp.svg +1 -0
  213. package/dist/ionic/svg/git-compare.svg +1 -0
  214. package/dist/ionic/svg/git-merge-outline.svg +1 -0
  215. package/dist/ionic/svg/git-merge-sharp.svg +1 -0
  216. package/dist/ionic/svg/git-merge.svg +1 -0
  217. package/dist/ionic/svg/git-network-outline.svg +1 -0
  218. package/dist/ionic/svg/git-network-sharp.svg +1 -0
  219. package/dist/ionic/svg/git-network.svg +1 -0
  220. package/dist/ionic/svg/git-pull-request-outline.svg +1 -0
  221. package/dist/ionic/svg/git-pull-request-sharp.svg +1 -0
  222. package/dist/ionic/svg/git-pull-request.svg +1 -0
  223. package/dist/ionic/svg/glasses-outline.svg +1 -0
  224. package/dist/ionic/svg/glasses-sharp.svg +1 -0
  225. package/dist/ionic/svg/glasses.svg +1 -0
  226. package/dist/ionic/svg/globe-outline.svg +1 -0
  227. package/dist/ionic/svg/globe-sharp.svg +1 -0
  228. package/dist/ionic/svg/globe.svg +1 -0
  229. package/dist/ionic/svg/golf-outline.svg +1 -0
  230. package/dist/ionic/svg/golf-sharp.svg +1 -0
  231. package/dist/ionic/svg/golf.svg +1 -0
  232. package/dist/ionic/svg/grid-outline.svg +1 -0
  233. package/dist/ionic/svg/grid-sharp.svg +1 -0
  234. package/dist/ionic/svg/grid.svg +1 -0
  235. package/dist/ionic/svg/hammer-outline.svg +1 -0
  236. package/dist/ionic/svg/hammer-sharp.svg +1 -0
  237. package/dist/ionic/svg/hammer.svg +1 -0
  238. package/dist/ionic/svg/hand-left-outline.svg +1 -0
  239. package/dist/ionic/svg/hand-left-sharp.svg +1 -0
  240. package/dist/ionic/svg/hand-left.svg +1 -0
  241. package/dist/ionic/svg/hand-right-outline.svg +1 -0
  242. package/dist/ionic/svg/hand-right-sharp.svg +1 -0
  243. package/dist/ionic/svg/hand-right.svg +1 -0
  244. package/dist/ionic/svg/happy-outline.svg +1 -0
  245. package/dist/ionic/svg/happy-sharp.svg +1 -0
  246. package/dist/ionic/svg/happy.svg +1 -0
  247. package/dist/ionic/svg/hardware-chip-outline.svg +1 -0
  248. package/dist/ionic/svg/hardware-chip-sharp.svg +1 -0
  249. package/dist/ionic/svg/hardware-chip.svg +1 -0
  250. package/dist/ionic/svg/headset-outline.svg +1 -0
  251. package/dist/ionic/svg/headset-sharp.svg +1 -0
  252. package/dist/ionic/svg/headset.svg +1 -0
  253. package/dist/ionic/svg/heart-circle-outline.svg +1 -0
  254. package/dist/ionic/svg/heart-circle-sharp.svg +1 -0
  255. package/dist/ionic/svg/heart-circle.svg +1 -0
  256. package/dist/ionic/svg/heart-dislike-circle-outline.svg +1 -0
  257. package/dist/ionic/svg/heart-dislike-circle-sharp.svg +1 -0
  258. package/dist/ionic/svg/heart-dislike-circle.svg +1 -0
  259. package/dist/ionic/svg/heart-dislike-outline.svg +1 -0
  260. package/dist/ionic/svg/heart-dislike-sharp.svg +1 -0
  261. package/dist/ionic/svg/heart-dislike.svg +1 -0
  262. package/dist/ionic/svg/heart-half-outline.svg +1 -0
  263. package/dist/ionic/svg/heart-half-sharp.svg +1 -0
  264. package/dist/ionic/svg/heart-half.svg +1 -0
  265. package/dist/ionic/svg/heart-outline.svg +1 -0
  266. package/dist/ionic/svg/heart-sharp.svg +1 -0
  267. package/dist/ionic/svg/heart.svg +1 -0
  268. package/dist/ionic/svg/help-buoy-outline.svg +1 -0
  269. package/dist/ionic/svg/help-buoy-sharp.svg +1 -0
  270. package/dist/ionic/svg/help-buoy.svg +1 -0
  271. package/dist/ionic/svg/help-circle-outline.svg +1 -0
  272. package/dist/ionic/svg/help-circle-sharp.svg +1 -0
  273. package/dist/ionic/svg/help-circle.svg +1 -0
  274. package/dist/ionic/svg/help-outline.svg +1 -0
  275. package/dist/ionic/svg/help-sharp.svg +1 -0
  276. package/dist/ionic/svg/help.svg +1 -0
  277. package/dist/ionic/svg/home-outline.svg +1 -0
  278. package/dist/ionic/svg/home-sharp.svg +1 -0
  279. package/dist/ionic/svg/home.svg +1 -0
  280. package/dist/ionic/svg/hourglass-outline.svg +1 -0
  281. package/dist/ionic/svg/hourglass-sharp.svg +1 -0
  282. package/dist/ionic/svg/hourglass.svg +1 -0
  283. package/dist/ionic/svg/ice-cream-outline.svg +1 -0
  284. package/dist/ionic/svg/ice-cream-sharp.svg +1 -0
  285. package/dist/ionic/svg/ice-cream.svg +1 -0
  286. package/dist/ionic/svg/id-card-outline.svg +1 -0
  287. package/dist/ionic/svg/id-card-sharp.svg +1 -0
  288. package/dist/ionic/svg/id-card.svg +1 -0
  289. package/dist/ionic/svg/image-outline.svg +1 -0
  290. package/dist/ionic/svg/image-sharp.svg +1 -0
  291. package/dist/ionic/svg/image.svg +1 -0
  292. package/dist/ionic/svg/images-outline.svg +1 -0
  293. package/dist/ionic/svg/images-sharp.svg +1 -0
  294. package/dist/ionic/svg/images.svg +1 -0
  295. package/dist/ionic/svg/infinite-outline.svg +1 -0
  296. package/dist/ionic/svg/infinite-sharp.svg +1 -0
  297. package/dist/ionic/svg/infinite.svg +1 -0
  298. package/dist/ionic/svg/information-circle-outline.svg +1 -0
  299. package/dist/ionic/svg/information-circle-sharp.svg +1 -0
  300. package/dist/ionic/svg/information-circle.svg +1 -0
  301. package/dist/ionic/svg/information-outline.svg +1 -0
  302. package/dist/ionic/svg/information-sharp.svg +1 -0
  303. package/dist/ionic/svg/information.svg +1 -0
  304. package/dist/ionic/svg/invert-mode-outline.svg +1 -0
  305. package/dist/ionic/svg/invert-mode-sharp.svg +1 -0
  306. package/dist/ionic/svg/invert-mode.svg +1 -0
  307. package/dist/ionic/svg/journal-outline.svg +1 -0
  308. package/dist/ionic/svg/journal-sharp.svg +1 -0
  309. package/dist/ionic/svg/journal.svg +1 -0
  310. package/dist/ionic/svg/key-outline.svg +1 -0
  311. package/dist/ionic/svg/key-sharp.svg +1 -0
  312. package/dist/ionic/svg/key.svg +1 -0
  313. package/dist/ionic/svg/keypad-outline.svg +1 -0
  314. package/dist/ionic/svg/keypad-sharp.svg +1 -0
  315. package/dist/ionic/svg/keypad.svg +1 -0
  316. package/dist/ionic/svg/language-outline.svg +1 -0
  317. package/dist/ionic/svg/language-sharp.svg +1 -0
  318. package/dist/ionic/svg/language.svg +1 -0
  319. package/dist/ionic/svg/laptop-outline.svg +1 -0
  320. package/dist/ionic/svg/laptop-sharp.svg +1 -0
  321. package/dist/ionic/svg/laptop.svg +1 -0
  322. package/dist/ionic/svg/layers-outline.svg +1 -0
  323. package/dist/ionic/svg/layers-sharp.svg +1 -0
  324. package/dist/ionic/svg/layers.svg +1 -0
  325. package/dist/ionic/svg/leaf-outline.svg +1 -0
  326. package/dist/ionic/svg/leaf-sharp.svg +1 -0
  327. package/dist/ionic/svg/leaf.svg +1 -0
  328. package/dist/ionic/svg/library-outline.svg +1 -0
  329. package/dist/ionic/svg/library-sharp.svg +1 -0
  330. package/dist/ionic/svg/library.svg +1 -0
  331. package/dist/ionic/svg/link-outline.svg +1 -0
  332. package/dist/ionic/svg/link-sharp.svg +1 -0
  333. package/dist/ionic/svg/link.svg +1 -0
  334. package/dist/ionic/svg/list-circle-outline.svg +1 -0
  335. package/dist/ionic/svg/list-circle-sharp.svg +1 -0
  336. package/dist/ionic/svg/list-circle.svg +1 -0
  337. package/dist/ionic/svg/list-outline.svg +1 -0
  338. package/dist/ionic/svg/list-sharp.svg +1 -0
  339. package/dist/ionic/svg/list.svg +1 -0
  340. package/dist/ionic/svg/locate-outline.svg +1 -0
  341. package/dist/ionic/svg/locate-sharp.svg +1 -0
  342. package/dist/ionic/svg/locate.svg +1 -0
  343. package/dist/ionic/svg/location-outline.svg +1 -0
  344. package/dist/ionic/svg/location-sharp.svg +1 -0
  345. package/dist/ionic/svg/location.svg +1 -0
  346. package/dist/ionic/svg/lock-closed-outline.svg +1 -0
  347. package/dist/ionic/svg/lock-closed-sharp.svg +1 -0
  348. package/dist/ionic/svg/lock-closed.svg +1 -0
  349. package/dist/ionic/svg/lock-open-outline.svg +1 -0
  350. package/dist/ionic/svg/lock-open-sharp.svg +1 -0
  351. package/dist/ionic/svg/lock-open.svg +1 -0
  352. package/dist/ionic/svg/log-in-outline.svg +1 -0
  353. package/dist/ionic/svg/log-in-sharp.svg +1 -0
  354. package/dist/ionic/svg/log-in.svg +1 -0
  355. package/dist/ionic/svg/log-out-outline.svg +1 -0
  356. package/dist/ionic/svg/log-out-sharp.svg +1 -0
  357. package/dist/ionic/svg/log-out.svg +1 -0
  358. package/dist/ionic/svg/logo-alipay.svg +1 -0
  359. package/dist/ionic/svg/logo-amazon.svg +1 -0
  360. package/dist/ionic/svg/logo-amplify.svg +1 -0
  361. package/dist/ionic/svg/logo-android.svg +1 -0
  362. package/dist/ionic/svg/logo-angular.svg +1 -0
  363. package/dist/ionic/svg/logo-appflow.svg +1 -0
  364. package/dist/ionic/svg/logo-apple-appstore.svg +1 -0
  365. package/dist/ionic/svg/logo-apple-ar.svg +1 -0
  366. package/dist/ionic/svg/logo-apple.svg +1 -0
  367. package/dist/ionic/svg/logo-behance.svg +1 -0
  368. package/dist/ionic/svg/logo-bitbucket.svg +1 -0
  369. package/dist/ionic/svg/logo-bitcoin.svg +1 -0
  370. package/dist/ionic/svg/logo-buffer.svg +1 -0
  371. package/dist/ionic/svg/logo-capacitor.svg +1 -0
  372. package/dist/ionic/svg/logo-chrome.svg +1 -0
  373. package/dist/ionic/svg/logo-closed-captioning.svg +1 -0
  374. package/dist/ionic/svg/logo-codepen.svg +1 -0
  375. package/dist/ionic/svg/logo-css3.svg +1 -0
  376. package/dist/ionic/svg/logo-designernews.svg +1 -0
  377. package/dist/ionic/svg/logo-deviantart.svg +1 -0
  378. package/dist/ionic/svg/logo-discord.svg +1 -0
  379. package/dist/ionic/svg/logo-docker.svg +1 -0
  380. package/dist/ionic/svg/logo-dribbble.svg +1 -0
  381. package/dist/ionic/svg/logo-dropbox.svg +1 -0
  382. package/dist/ionic/svg/logo-edge.svg +1 -0
  383. package/dist/ionic/svg/logo-electron.svg +1 -0
  384. package/dist/ionic/svg/logo-euro.svg +1 -0
  385. package/dist/ionic/svg/logo-facebook.svg +1 -0
  386. package/dist/ionic/svg/logo-figma.svg +1 -0
  387. package/dist/ionic/svg/logo-firebase.svg +1 -0
  388. package/dist/ionic/svg/logo-firefox.svg +1 -0
  389. package/dist/ionic/svg/logo-flickr.svg +1 -0
  390. package/dist/ionic/svg/logo-foursquare.svg +1 -0
  391. package/dist/ionic/svg/logo-github.svg +1 -0
  392. package/dist/ionic/svg/logo-gitlab.svg +1 -0
  393. package/dist/ionic/svg/logo-google-playstore.svg +1 -0
  394. package/dist/ionic/svg/logo-google.svg +1 -0
  395. package/dist/ionic/svg/logo-hackernews.svg +1 -0
  396. package/dist/ionic/svg/logo-html5.svg +1 -0
  397. package/dist/ionic/svg/logo-instagram.svg +1 -0
  398. package/dist/ionic/svg/logo-ionic.svg +1 -0
  399. package/dist/ionic/svg/logo-ionitron.svg +1 -0
  400. package/dist/ionic/svg/logo-javascript.svg +1 -0
  401. package/dist/ionic/svg/logo-laravel.svg +1 -0
  402. package/dist/ionic/svg/logo-linkedin.svg +1 -0
  403. package/dist/ionic/svg/logo-markdown.svg +1 -0
  404. package/dist/ionic/svg/logo-mastodon.svg +1 -0
  405. package/dist/ionic/svg/logo-medium.svg +1 -0
  406. package/dist/ionic/svg/logo-microsoft.svg +1 -0
  407. package/dist/ionic/svg/logo-no-smoking.svg +1 -0
  408. package/dist/ionic/svg/logo-nodejs.svg +1 -0
  409. package/dist/ionic/svg/logo-npm.svg +1 -0
  410. package/dist/ionic/svg/logo-octocat.svg +1 -0
  411. package/dist/ionic/svg/logo-paypal.svg +1 -0
  412. package/dist/ionic/svg/logo-pinterest.svg +1 -0
  413. package/dist/ionic/svg/logo-playstation.svg +1 -0
  414. package/dist/ionic/svg/logo-pwa.svg +1 -0
  415. package/dist/ionic/svg/logo-python.svg +1 -0
  416. package/dist/ionic/svg/logo-react.svg +1 -0
  417. package/dist/ionic/svg/logo-reddit.svg +1 -0
  418. package/dist/ionic/svg/logo-rss.svg +1 -0
  419. package/dist/ionic/svg/logo-sass.svg +1 -0
  420. package/dist/ionic/svg/logo-skype.svg +1 -0
  421. package/dist/ionic/svg/logo-slack.svg +1 -0
  422. package/dist/ionic/svg/logo-snapchat.svg +1 -0
  423. package/dist/ionic/svg/logo-soundcloud.svg +1 -0
  424. package/dist/ionic/svg/logo-stackoverflow.svg +1 -0
  425. package/dist/ionic/svg/logo-steam.svg +1 -0
  426. package/dist/ionic/svg/logo-stencil.svg +1 -0
  427. package/dist/ionic/svg/logo-tableau.svg +1 -0
  428. package/dist/ionic/svg/logo-threads.svg +1 -0
  429. package/dist/ionic/svg/logo-tiktok.svg +1 -0
  430. package/dist/ionic/svg/logo-trapeze.svg +1 -0
  431. package/dist/ionic/svg/logo-tumblr.svg +1 -0
  432. package/dist/ionic/svg/logo-tux.svg +1 -0
  433. package/dist/ionic/svg/logo-twitch.svg +1 -0
  434. package/dist/ionic/svg/logo-twitter.svg +1 -0
  435. package/dist/ionic/svg/logo-usd.svg +1 -0
  436. package/dist/ionic/svg/logo-venmo.svg +1 -0
  437. package/dist/ionic/svg/logo-vercel.svg +1 -0
  438. package/dist/ionic/svg/logo-vimeo.svg +1 -0
  439. package/dist/ionic/svg/logo-vk.svg +1 -0
  440. package/dist/ionic/svg/logo-vue.svg +1 -0
  441. package/dist/ionic/svg/logo-web-component.svg +1 -0
  442. package/dist/ionic/svg/logo-wechat.svg +1 -0
  443. package/dist/ionic/svg/logo-whatsapp.svg +1 -0
  444. package/dist/ionic/svg/logo-windows.svg +1 -0
  445. package/dist/ionic/svg/logo-wordpress.svg +1 -0
  446. package/dist/ionic/svg/logo-x.svg +1 -0
  447. package/dist/ionic/svg/logo-xbox.svg +1 -0
  448. package/dist/ionic/svg/logo-xing.svg +1 -0
  449. package/dist/ionic/svg/logo-yahoo.svg +1 -0
  450. package/dist/ionic/svg/logo-yen.svg +1 -0
  451. package/dist/ionic/svg/logo-youtube.svg +1 -0
  452. package/dist/ionic/svg/magnet-outline.svg +1 -0
  453. package/dist/ionic/svg/magnet-sharp.svg +1 -0
  454. package/dist/ionic/svg/magnet.svg +1 -0
  455. package/dist/ionic/svg/mail-open-outline.svg +1 -0
  456. package/dist/ionic/svg/mail-open-sharp.svg +1 -0
  457. package/dist/ionic/svg/mail-open.svg +1 -0
  458. package/dist/ionic/svg/mail-outline.svg +1 -0
  459. package/dist/ionic/svg/mail-sharp.svg +1 -0
  460. package/dist/ionic/svg/mail-unread-outline.svg +1 -0
  461. package/dist/ionic/svg/mail-unread-sharp.svg +1 -0
  462. package/dist/ionic/svg/mail-unread.svg +1 -0
  463. package/dist/ionic/svg/mail.svg +1 -0
  464. package/dist/ionic/svg/male-female-outline.svg +1 -0
  465. package/dist/ionic/svg/male-female-sharp.svg +1 -0
  466. package/dist/ionic/svg/male-female.svg +1 -0
  467. package/dist/ionic/svg/male-outline.svg +1 -0
  468. package/dist/ionic/svg/male-sharp.svg +1 -0
  469. package/dist/ionic/svg/male.svg +1 -0
  470. package/dist/ionic/svg/man-outline.svg +1 -0
  471. package/dist/ionic/svg/man-sharp.svg +1 -0
  472. package/dist/ionic/svg/man.svg +1 -0
  473. package/dist/ionic/svg/map-outline.svg +1 -0
  474. package/dist/ionic/svg/map-sharp.svg +1 -0
  475. package/dist/ionic/svg/map.svg +1 -0
  476. package/dist/ionic/svg/medal-outline.svg +1 -0
  477. package/dist/ionic/svg/medal-sharp.svg +1 -0
  478. package/dist/ionic/svg/medal.svg +1 -0
  479. package/dist/ionic/svg/medical-outline.svg +1 -0
  480. package/dist/ionic/svg/medical-sharp.svg +1 -0
  481. package/dist/ionic/svg/medical.svg +1 -0
  482. package/dist/ionic/svg/medkit-outline.svg +1 -0
  483. package/dist/ionic/svg/medkit-sharp.svg +1 -0
  484. package/dist/ionic/svg/medkit.svg +1 -0
  485. package/dist/ionic/svg/megaphone-outline.svg +1 -0
  486. package/dist/ionic/svg/megaphone-sharp.svg +1 -0
  487. package/dist/ionic/svg/megaphone.svg +1 -0
  488. package/dist/ionic/svg/menu-outline.svg +1 -0
  489. package/dist/ionic/svg/menu-sharp.svg +1 -0
  490. package/dist/ionic/svg/menu.svg +1 -0
  491. package/dist/ionic/svg/mic-circle-outline.svg +1 -0
  492. package/dist/ionic/svg/mic-circle-sharp.svg +1 -0
  493. package/dist/ionic/svg/mic-circle.svg +1 -0
  494. package/dist/ionic/svg/mic-off-circle-outline.svg +1 -0
  495. package/dist/ionic/svg/mic-off-circle-sharp.svg +1 -0
  496. package/dist/ionic/svg/mic-off-circle.svg +1 -0
  497. package/dist/ionic/svg/mic-off-outline.svg +1 -0
  498. package/dist/ionic/svg/mic-off-sharp.svg +1 -0
  499. package/dist/ionic/svg/mic-off.svg +1 -0
  500. package/dist/ionic/svg/mic-outline.svg +1 -0
  501. package/dist/ionic/svg/mic-sharp.svg +1 -0
  502. package/dist/ionic/svg/mic.svg +1 -0
  503. package/dist/ionic/svg/moon-outline.svg +1 -0
  504. package/dist/ionic/svg/moon-sharp.svg +1 -0
  505. package/dist/ionic/svg/moon.svg +1 -0
  506. package/dist/ionic/svg/move-outline.svg +1 -0
  507. package/dist/ionic/svg/move-sharp.svg +1 -0
  508. package/dist/ionic/svg/move.svg +1 -0
  509. package/dist/ionic/svg/musical-note-outline.svg +1 -0
  510. package/dist/ionic/svg/musical-note-sharp.svg +1 -0
  511. package/dist/ionic/svg/musical-note.svg +1 -0
  512. package/dist/ionic/svg/musical-notes-outline.svg +1 -0
  513. package/dist/ionic/svg/musical-notes-sharp.svg +1 -0
  514. package/dist/ionic/svg/musical-notes.svg +1 -0
  515. package/dist/ionic/svg/navigate-circle-outline.svg +1 -0
  516. package/dist/ionic/svg/navigate-circle-sharp.svg +1 -0
  517. package/dist/ionic/svg/navigate-circle.svg +1 -0
  518. package/dist/ionic/svg/navigate-outline.svg +1 -0
  519. package/dist/ionic/svg/navigate-sharp.svg +1 -0
  520. package/dist/ionic/svg/navigate.svg +1 -0
  521. package/dist/ionic/svg/newspaper-outline.svg +1 -0
  522. package/dist/ionic/svg/newspaper-sharp.svg +1 -0
  523. package/dist/ionic/svg/newspaper.svg +1 -0
  524. package/dist/ionic/svg/notifications-circle-outline.svg +1 -0
  525. package/dist/ionic/svg/notifications-circle-sharp.svg +1 -0
  526. package/dist/ionic/svg/notifications-circle.svg +1 -0
  527. package/dist/ionic/svg/notifications-off-circle-outline.svg +1 -0
  528. package/dist/ionic/svg/notifications-off-circle-sharp.svg +1 -0
  529. package/dist/ionic/svg/notifications-off-circle.svg +1 -0
  530. package/dist/ionic/svg/notifications-off-outline.svg +1 -0
  531. package/dist/ionic/svg/notifications-off-sharp.svg +1 -0
  532. package/dist/ionic/svg/notifications-off.svg +1 -0
  533. package/dist/ionic/svg/notifications-outline.svg +1 -0
  534. package/dist/ionic/svg/notifications-sharp.svg +1 -0
  535. package/dist/ionic/svg/notifications.svg +1 -0
  536. package/dist/ionic/svg/nuclear-outline.svg +1 -0
  537. package/dist/ionic/svg/nuclear-sharp.svg +1 -0
  538. package/dist/ionic/svg/nuclear.svg +1 -0
  539. package/dist/ionic/svg/nutrition-outline.svg +1 -0
  540. package/dist/ionic/svg/nutrition-sharp.svg +1 -0
  541. package/dist/ionic/svg/nutrition.svg +1 -0
  542. package/dist/ionic/svg/open-outline.svg +1 -0
  543. package/dist/ionic/svg/open-sharp.svg +1 -0
  544. package/dist/ionic/svg/open.svg +1 -0
  545. package/dist/ionic/svg/options-outline.svg +1 -0
  546. package/dist/ionic/svg/options-sharp.svg +1 -0
  547. package/dist/ionic/svg/options.svg +1 -0
  548. package/dist/ionic/svg/paper-plane-outline.svg +1 -0
  549. package/dist/ionic/svg/paper-plane-sharp.svg +1 -0
  550. package/dist/ionic/svg/paper-plane.svg +1 -0
  551. package/dist/ionic/svg/partly-sunny-outline.svg +1 -0
  552. package/dist/ionic/svg/partly-sunny-sharp.svg +1 -0
  553. package/dist/ionic/svg/partly-sunny.svg +1 -0
  554. package/dist/ionic/svg/pause-circle-outline.svg +1 -0
  555. package/dist/ionic/svg/pause-circle-sharp.svg +1 -0
  556. package/dist/ionic/svg/pause-circle.svg +1 -0
  557. package/dist/ionic/svg/pause-outline.svg +1 -0
  558. package/dist/ionic/svg/pause-sharp.svg +1 -0
  559. package/dist/ionic/svg/pause.svg +1 -0
  560. package/dist/ionic/svg/paw-outline.svg +1 -0
  561. package/dist/ionic/svg/paw-sharp.svg +1 -0
  562. package/dist/ionic/svg/paw.svg +1 -0
  563. package/dist/ionic/svg/pencil-outline.svg +1 -0
  564. package/dist/ionic/svg/pencil-sharp.svg +1 -0
  565. package/dist/ionic/svg/pencil.svg +1 -0
  566. package/dist/ionic/svg/people-circle-outline.svg +1 -0
  567. package/dist/ionic/svg/people-circle-sharp.svg +1 -0
  568. package/dist/ionic/svg/people-circle.svg +1 -0
  569. package/dist/ionic/svg/people-outline.svg +1 -0
  570. package/dist/ionic/svg/people-sharp.svg +1 -0
  571. package/dist/ionic/svg/people.svg +1 -0
  572. package/dist/ionic/svg/person-add-outline.svg +1 -0
  573. package/dist/ionic/svg/person-add-sharp.svg +1 -0
  574. package/dist/ionic/svg/person-add.svg +1 -0
  575. package/dist/ionic/svg/person-circle-outline.svg +1 -0
  576. package/dist/ionic/svg/person-circle-sharp.svg +1 -0
  577. package/dist/ionic/svg/person-circle.svg +1 -0
  578. package/dist/ionic/svg/person-outline.svg +1 -0
  579. package/dist/ionic/svg/person-remove-outline.svg +1 -0
  580. package/dist/ionic/svg/person-remove-sharp.svg +1 -0
  581. package/dist/ionic/svg/person-remove.svg +1 -0
  582. package/dist/ionic/svg/person-sharp.svg +1 -0
  583. package/dist/ionic/svg/person.svg +1 -0
  584. package/dist/ionic/svg/phone-landscape-outline.svg +1 -0
  585. package/dist/ionic/svg/phone-landscape-sharp.svg +1 -0
  586. package/dist/ionic/svg/phone-landscape.svg +1 -0
  587. package/dist/ionic/svg/phone-portrait-outline.svg +1 -0
  588. package/dist/ionic/svg/phone-portrait-sharp.svg +1 -0
  589. package/dist/ionic/svg/phone-portrait.svg +1 -0
  590. package/dist/ionic/svg/pie-chart-outline.svg +1 -0
  591. package/dist/ionic/svg/pie-chart-sharp.svg +1 -0
  592. package/dist/ionic/svg/pie-chart.svg +1 -0
  593. package/dist/ionic/svg/pin-outline.svg +1 -0
  594. package/dist/ionic/svg/pin-sharp.svg +1 -0
  595. package/dist/ionic/svg/pin.svg +1 -0
  596. package/dist/ionic/svg/pint-outline.svg +1 -0
  597. package/dist/ionic/svg/pint-sharp.svg +1 -0
  598. package/dist/ionic/svg/pint.svg +1 -0
  599. package/dist/ionic/svg/pizza-outline.svg +1 -0
  600. package/dist/ionic/svg/pizza-sharp.svg +1 -0
  601. package/dist/ionic/svg/pizza.svg +1 -0
  602. package/dist/ionic/svg/planet-outline.svg +1 -0
  603. package/dist/ionic/svg/planet-sharp.svg +1 -0
  604. package/dist/ionic/svg/planet.svg +1 -0
  605. package/dist/ionic/svg/play-back-circle-outline.svg +1 -0
  606. package/dist/ionic/svg/play-back-circle-sharp.svg +1 -0
  607. package/dist/ionic/svg/play-back-circle.svg +1 -0
  608. package/dist/ionic/svg/play-back-outline.svg +1 -0
  609. package/dist/ionic/svg/play-back-sharp.svg +1 -0
  610. package/dist/ionic/svg/play-back.svg +1 -0
  611. package/dist/ionic/svg/play-circle-outline.svg +1 -0
  612. package/dist/ionic/svg/play-circle-sharp.svg +1 -0
  613. package/dist/ionic/svg/play-circle.svg +1 -0
  614. package/dist/ionic/svg/play-forward-circle-outline.svg +1 -0
  615. package/dist/ionic/svg/play-forward-circle-sharp.svg +1 -0
  616. package/dist/ionic/svg/play-forward-circle.svg +1 -0
  617. package/dist/ionic/svg/play-forward-outline.svg +1 -0
  618. package/dist/ionic/svg/play-forward-sharp.svg +1 -0
  619. package/dist/ionic/svg/play-forward.svg +1 -0
  620. package/dist/ionic/svg/play-outline.svg +1 -0
  621. package/dist/ionic/svg/play-sharp.svg +1 -0
  622. package/dist/ionic/svg/play-skip-back-circle-outline.svg +1 -0
  623. package/dist/ionic/svg/play-skip-back-circle-sharp.svg +1 -0
  624. package/dist/ionic/svg/play-skip-back-circle.svg +1 -0
  625. package/dist/ionic/svg/play-skip-back-outline.svg +1 -0
  626. package/dist/ionic/svg/play-skip-back-sharp.svg +1 -0
  627. package/dist/ionic/svg/play-skip-back.svg +1 -0
  628. package/dist/ionic/svg/play-skip-forward-circle-outline.svg +1 -0
  629. package/dist/ionic/svg/play-skip-forward-circle-sharp.svg +1 -0
  630. package/dist/ionic/svg/play-skip-forward-circle.svg +1 -0
  631. package/dist/ionic/svg/play-skip-forward-outline.svg +1 -0
  632. package/dist/ionic/svg/play-skip-forward-sharp.svg +1 -0
  633. package/dist/ionic/svg/play-skip-forward.svg +1 -0
  634. package/dist/ionic/svg/play.svg +1 -0
  635. package/dist/ionic/svg/podium-outline.svg +1 -0
  636. package/dist/ionic/svg/podium-sharp.svg +1 -0
  637. package/dist/ionic/svg/podium.svg +1 -0
  638. package/dist/ionic/svg/power-outline.svg +1 -0
  639. package/dist/ionic/svg/power-sharp.svg +1 -0
  640. package/dist/ionic/svg/power.svg +1 -0
  641. package/dist/ionic/svg/pricetag-outline.svg +1 -0
  642. package/dist/ionic/svg/pricetag-sharp.svg +1 -0
  643. package/dist/ionic/svg/pricetag.svg +1 -0
  644. package/dist/ionic/svg/pricetags-outline.svg +1 -0
  645. package/dist/ionic/svg/pricetags-sharp.svg +1 -0
  646. package/dist/ionic/svg/pricetags.svg +1 -0
  647. package/dist/ionic/svg/print-outline.svg +1 -0
  648. package/dist/ionic/svg/print-sharp.svg +1 -0
  649. package/dist/ionic/svg/print.svg +1 -0
  650. package/dist/ionic/svg/prism-outline.svg +1 -0
  651. package/dist/ionic/svg/prism-sharp.svg +1 -0
  652. package/dist/ionic/svg/prism.svg +1 -0
  653. package/dist/ionic/svg/pulse-outline.svg +1 -0
  654. package/dist/ionic/svg/pulse-sharp.svg +1 -0
  655. package/dist/ionic/svg/pulse.svg +1 -0
  656. package/dist/ionic/svg/push-outline.svg +1 -0
  657. package/dist/ionic/svg/push-sharp.svg +1 -0
  658. package/dist/ionic/svg/push.svg +1 -0
  659. package/dist/ionic/svg/qr-code-outline.svg +1 -0
  660. package/dist/ionic/svg/qr-code-sharp.svg +1 -0
  661. package/dist/ionic/svg/qr-code.svg +1 -0
  662. package/dist/ionic/svg/radio-button-off-outline.svg +1 -0
  663. package/dist/ionic/svg/radio-button-off-sharp.svg +1 -0
  664. package/dist/ionic/svg/radio-button-off.svg +1 -0
  665. package/dist/ionic/svg/radio-button-on-outline.svg +1 -0
  666. package/dist/ionic/svg/radio-button-on-sharp.svg +1 -0
  667. package/dist/ionic/svg/radio-button-on.svg +1 -0
  668. package/dist/ionic/svg/radio-outline.svg +1 -0
  669. package/dist/ionic/svg/radio-sharp.svg +1 -0
  670. package/dist/ionic/svg/radio.svg +1 -0
  671. package/dist/ionic/svg/rainy-outline.svg +1 -0
  672. package/dist/ionic/svg/rainy-sharp.svg +1 -0
  673. package/dist/ionic/svg/rainy.svg +1 -0
  674. package/dist/ionic/svg/reader-outline.svg +1 -0
  675. package/dist/ionic/svg/reader-sharp.svg +1 -0
  676. package/dist/ionic/svg/reader.svg +1 -0
  677. package/dist/ionic/svg/receipt-outline.svg +1 -0
  678. package/dist/ionic/svg/receipt-sharp.svg +1 -0
  679. package/dist/ionic/svg/receipt.svg +1 -0
  680. package/dist/ionic/svg/recording-outline.svg +1 -0
  681. package/dist/ionic/svg/recording-sharp.svg +1 -0
  682. package/dist/ionic/svg/recording.svg +1 -0
  683. package/dist/ionic/svg/refresh-circle-outline.svg +1 -0
  684. package/dist/ionic/svg/refresh-circle-sharp.svg +1 -0
  685. package/dist/ionic/svg/refresh-circle.svg +1 -0
  686. package/dist/ionic/svg/refresh-outline.svg +1 -0
  687. package/dist/ionic/svg/refresh-sharp.svg +1 -0
  688. package/dist/ionic/svg/refresh.svg +1 -0
  689. package/dist/ionic/svg/reload-circle-outline.svg +1 -0
  690. package/dist/ionic/svg/reload-circle-sharp.svg +1 -0
  691. package/dist/ionic/svg/reload-circle.svg +1 -0
  692. package/dist/ionic/svg/reload-outline.svg +1 -0
  693. package/dist/ionic/svg/reload-sharp.svg +1 -0
  694. package/dist/ionic/svg/reload.svg +1 -0
  695. package/dist/ionic/svg/remove-circle-outline.svg +1 -0
  696. package/dist/ionic/svg/remove-circle-sharp.svg +1 -0
  697. package/dist/ionic/svg/remove-circle.svg +1 -0
  698. package/dist/ionic/svg/remove-outline.svg +1 -0
  699. package/dist/ionic/svg/remove-sharp.svg +1 -0
  700. package/dist/ionic/svg/remove.svg +1 -0
  701. package/dist/ionic/svg/reorder-four-outline.svg +1 -0
  702. package/dist/ionic/svg/reorder-four-sharp.svg +1 -0
  703. package/dist/ionic/svg/reorder-four.svg +1 -0
  704. package/dist/ionic/svg/reorder-three-outline.svg +1 -0
  705. package/dist/ionic/svg/reorder-three-sharp.svg +1 -0
  706. package/dist/ionic/svg/reorder-three.svg +1 -0
  707. package/dist/ionic/svg/reorder-two-outline.svg +1 -0
  708. package/dist/ionic/svg/reorder-two-sharp.svg +1 -0
  709. package/dist/ionic/svg/reorder-two.svg +1 -0
  710. package/dist/ionic/svg/repeat-outline.svg +1 -0
  711. package/dist/ionic/svg/repeat-sharp.svg +1 -0
  712. package/dist/ionic/svg/repeat.svg +1 -0
  713. package/dist/ionic/svg/resize-outline.svg +1 -0
  714. package/dist/ionic/svg/resize-sharp.svg +1 -0
  715. package/dist/ionic/svg/resize.svg +1 -0
  716. package/dist/ionic/svg/restaurant-outline.svg +1 -0
  717. package/dist/ionic/svg/restaurant-sharp.svg +1 -0
  718. package/dist/ionic/svg/restaurant.svg +1 -0
  719. package/dist/ionic/svg/return-down-back-outline.svg +1 -0
  720. package/dist/ionic/svg/return-down-back-sharp.svg +1 -0
  721. package/dist/ionic/svg/return-down-back.svg +1 -0
  722. package/dist/ionic/svg/return-down-forward-outline.svg +1 -0
  723. package/dist/ionic/svg/return-down-forward-sharp.svg +1 -0
  724. package/dist/ionic/svg/return-down-forward.svg +1 -0
  725. package/dist/ionic/svg/return-up-back-outline.svg +1 -0
  726. package/dist/ionic/svg/return-up-back-sharp.svg +1 -0
  727. package/dist/ionic/svg/return-up-back.svg +1 -0
  728. package/dist/ionic/svg/return-up-forward-outline.svg +1 -0
  729. package/dist/ionic/svg/return-up-forward-sharp.svg +1 -0
  730. package/dist/ionic/svg/return-up-forward.svg +1 -0
  731. package/dist/ionic/svg/ribbon-outline.svg +1 -0
  732. package/dist/ionic/svg/ribbon-sharp.svg +1 -0
  733. package/dist/ionic/svg/ribbon.svg +1 -0
  734. package/dist/ionic/svg/rocket-outline.svg +1 -0
  735. package/dist/ionic/svg/rocket-sharp.svg +1 -0
  736. package/dist/ionic/svg/rocket.svg +1 -0
  737. package/dist/ionic/svg/rose-outline.svg +1 -0
  738. package/dist/ionic/svg/rose-sharp.svg +1 -0
  739. package/dist/ionic/svg/rose.svg +1 -0
  740. package/dist/ionic/svg/sad-outline.svg +1 -0
  741. package/dist/ionic/svg/sad-sharp.svg +1 -0
  742. package/dist/ionic/svg/sad.svg +1 -0
  743. package/dist/ionic/svg/save-outline.svg +1 -0
  744. package/dist/ionic/svg/save-sharp.svg +1 -0
  745. package/dist/ionic/svg/save.svg +1 -0
  746. package/dist/ionic/svg/scale-outline.svg +1 -0
  747. package/dist/ionic/svg/scale-sharp.svg +1 -0
  748. package/dist/ionic/svg/scale.svg +1 -0
  749. package/dist/ionic/svg/scan-circle-outline.svg +1 -0
  750. package/dist/ionic/svg/scan-circle-sharp.svg +1 -0
  751. package/dist/ionic/svg/scan-circle.svg +1 -0
  752. package/dist/ionic/svg/scan-outline.svg +1 -0
  753. package/dist/ionic/svg/scan-sharp.svg +1 -0
  754. package/dist/ionic/svg/scan.svg +1 -0
  755. package/dist/ionic/svg/school-outline.svg +1 -0
  756. package/dist/ionic/svg/school-sharp.svg +1 -0
  757. package/dist/ionic/svg/school.svg +1 -0
  758. package/dist/ionic/svg/search-circle-outline.svg +1 -0
  759. package/dist/ionic/svg/search-circle-sharp.svg +1 -0
  760. package/dist/ionic/svg/search-circle.svg +1 -0
  761. package/dist/ionic/svg/search-outline.svg +1 -0
  762. package/dist/ionic/svg/search-sharp.svg +1 -0
  763. package/dist/ionic/svg/search.svg +1 -0
  764. package/dist/ionic/svg/send-outline.svg +1 -0
  765. package/dist/ionic/svg/send-sharp.svg +1 -0
  766. package/dist/ionic/svg/send.svg +1 -0
  767. package/dist/ionic/svg/server-outline.svg +1 -0
  768. package/dist/ionic/svg/server-sharp.svg +1 -0
  769. package/dist/ionic/svg/server.svg +1 -0
  770. package/dist/ionic/svg/settings-outline.svg +1 -0
  771. package/dist/ionic/svg/settings-sharp.svg +1 -0
  772. package/dist/ionic/svg/settings.svg +1 -0
  773. package/dist/ionic/svg/shapes-outline.svg +1 -0
  774. package/dist/ionic/svg/shapes-sharp.svg +1 -0
  775. package/dist/ionic/svg/shapes.svg +1 -0
  776. package/dist/ionic/svg/share-outline.svg +1 -0
  777. package/dist/ionic/svg/share-sharp.svg +1 -0
  778. package/dist/ionic/svg/share-social-outline.svg +1 -0
  779. package/dist/ionic/svg/share-social-sharp.svg +1 -0
  780. package/dist/ionic/svg/share-social.svg +1 -0
  781. package/dist/ionic/svg/share.svg +1 -0
  782. package/dist/ionic/svg/shield-checkmark-outline.svg +1 -0
  783. package/dist/ionic/svg/shield-checkmark-sharp.svg +1 -0
  784. package/dist/ionic/svg/shield-checkmark.svg +1 -0
  785. package/dist/ionic/svg/shield-half-outline.svg +1 -0
  786. package/dist/ionic/svg/shield-half-sharp.svg +1 -0
  787. package/dist/ionic/svg/shield-half.svg +1 -0
  788. package/dist/ionic/svg/shield-outline.svg +1 -0
  789. package/dist/ionic/svg/shield-sharp.svg +1 -0
  790. package/dist/ionic/svg/shield.svg +1 -0
  791. package/dist/ionic/svg/shirt-outline.svg +1 -0
  792. package/dist/ionic/svg/shirt-sharp.svg +1 -0
  793. package/dist/ionic/svg/shirt.svg +1 -0
  794. package/dist/ionic/svg/shuffle-outline.svg +1 -0
  795. package/dist/ionic/svg/shuffle-sharp.svg +1 -0
  796. package/dist/ionic/svg/shuffle.svg +1 -0
  797. package/dist/ionic/svg/skull-outline.svg +1 -0
  798. package/dist/ionic/svg/skull-sharp.svg +1 -0
  799. package/dist/ionic/svg/skull.svg +1 -0
  800. package/dist/ionic/svg/snow-outline.svg +1 -0
  801. package/dist/ionic/svg/snow-sharp.svg +1 -0
  802. package/dist/ionic/svg/snow.svg +1 -0
  803. package/dist/ionic/svg/sparkles-outline.svg +1 -0
  804. package/dist/ionic/svg/sparkles-sharp.svg +1 -0
  805. package/dist/ionic/svg/sparkles.svg +1 -0
  806. package/dist/ionic/svg/speedometer-outline.svg +1 -0
  807. package/dist/ionic/svg/speedometer-sharp.svg +1 -0
  808. package/dist/ionic/svg/speedometer.svg +1 -0
  809. package/dist/ionic/svg/square-outline.svg +1 -0
  810. package/dist/ionic/svg/square-sharp.svg +1 -0
  811. package/dist/ionic/svg/square.svg +1 -0
  812. package/dist/ionic/svg/star-half-outline.svg +1 -0
  813. package/dist/ionic/svg/star-half-sharp.svg +1 -0
  814. package/dist/ionic/svg/star-half.svg +1 -0
  815. package/dist/ionic/svg/star-outline.svg +1 -0
  816. package/dist/ionic/svg/star-sharp.svg +1 -0
  817. package/dist/ionic/svg/star.svg +1 -0
  818. package/dist/ionic/svg/stats-chart-outline.svg +1 -0
  819. package/dist/ionic/svg/stats-chart-sharp.svg +1 -0
  820. package/dist/ionic/svg/stats-chart.svg +1 -0
  821. package/dist/ionic/svg/stop-circle-outline.svg +1 -0
  822. package/dist/ionic/svg/stop-circle-sharp.svg +1 -0
  823. package/dist/ionic/svg/stop-circle.svg +1 -0
  824. package/dist/ionic/svg/stop-outline.svg +1 -0
  825. package/dist/ionic/svg/stop-sharp.svg +1 -0
  826. package/dist/ionic/svg/stop.svg +1 -0
  827. package/dist/ionic/svg/stopwatch-outline.svg +1 -0
  828. package/dist/ionic/svg/stopwatch-sharp.svg +1 -0
  829. package/dist/ionic/svg/stopwatch.svg +1 -0
  830. package/dist/ionic/svg/storefront-outline.svg +1 -0
  831. package/dist/ionic/svg/storefront-sharp.svg +1 -0
  832. package/dist/ionic/svg/storefront.svg +1 -0
  833. package/dist/ionic/svg/subway-outline.svg +1 -0
  834. package/dist/ionic/svg/subway-sharp.svg +1 -0
  835. package/dist/ionic/svg/subway.svg +1 -0
  836. package/dist/ionic/svg/sunny-outline.svg +1 -0
  837. package/dist/ionic/svg/sunny-sharp.svg +1 -0
  838. package/dist/ionic/svg/sunny.svg +1 -0
  839. package/dist/ionic/svg/swap-horizontal-outline.svg +1 -0
  840. package/dist/ionic/svg/swap-horizontal-sharp.svg +1 -0
  841. package/dist/ionic/svg/swap-horizontal.svg +1 -0
  842. package/dist/ionic/svg/swap-vertical-outline.svg +1 -0
  843. package/dist/ionic/svg/swap-vertical-sharp.svg +1 -0
  844. package/dist/ionic/svg/swap-vertical.svg +1 -0
  845. package/dist/ionic/svg/sync-circle-outline.svg +1 -0
  846. package/dist/ionic/svg/sync-circle-sharp.svg +1 -0
  847. package/dist/ionic/svg/sync-circle.svg +1 -0
  848. package/dist/ionic/svg/sync-outline.svg +1 -0
  849. package/dist/ionic/svg/sync-sharp.svg +1 -0
  850. package/dist/ionic/svg/sync.svg +1 -0
  851. package/dist/ionic/svg/tablet-landscape-outline.svg +1 -0
  852. package/dist/ionic/svg/tablet-landscape-sharp.svg +1 -0
  853. package/dist/ionic/svg/tablet-landscape.svg +1 -0
  854. package/dist/ionic/svg/tablet-portrait-outline.svg +1 -0
  855. package/dist/ionic/svg/tablet-portrait-sharp.svg +1 -0
  856. package/dist/ionic/svg/tablet-portrait.svg +1 -0
  857. package/dist/ionic/svg/telescope-outline.svg +1 -0
  858. package/dist/ionic/svg/telescope-sharp.svg +1 -0
  859. package/dist/ionic/svg/telescope.svg +1 -0
  860. package/dist/ionic/svg/tennisball-outline.svg +1 -0
  861. package/dist/ionic/svg/tennisball-sharp.svg +1 -0
  862. package/dist/ionic/svg/tennisball.svg +1 -0
  863. package/dist/ionic/svg/terminal-outline.svg +1 -0
  864. package/dist/ionic/svg/terminal-sharp.svg +1 -0
  865. package/dist/ionic/svg/terminal.svg +1 -0
  866. package/dist/ionic/svg/text-outline.svg +1 -0
  867. package/dist/ionic/svg/text-sharp.svg +1 -0
  868. package/dist/ionic/svg/text.svg +1 -0
  869. package/dist/ionic/svg/thermometer-outline.svg +1 -0
  870. package/dist/ionic/svg/thermometer-sharp.svg +1 -0
  871. package/dist/ionic/svg/thermometer.svg +1 -0
  872. package/dist/ionic/svg/thumbs-down-outline.svg +1 -0
  873. package/dist/ionic/svg/thumbs-down-sharp.svg +1 -0
  874. package/dist/ionic/svg/thumbs-down.svg +1 -0
  875. package/dist/ionic/svg/thumbs-up-outline.svg +1 -0
  876. package/dist/ionic/svg/thumbs-up-sharp.svg +1 -0
  877. package/dist/ionic/svg/thumbs-up.svg +1 -0
  878. package/dist/ionic/svg/thunderstorm-outline.svg +1 -0
  879. package/dist/ionic/svg/thunderstorm-sharp.svg +1 -0
  880. package/dist/ionic/svg/thunderstorm.svg +1 -0
  881. package/dist/ionic/svg/ticket-outline.svg +1 -0
  882. package/dist/ionic/svg/ticket-sharp.svg +1 -0
  883. package/dist/ionic/svg/ticket.svg +1 -0
  884. package/dist/ionic/svg/time-outline.svg +1 -0
  885. package/dist/ionic/svg/time-sharp.svg +1 -0
  886. package/dist/ionic/svg/time.svg +1 -0
  887. package/dist/ionic/svg/timer-outline.svg +1 -0
  888. package/dist/ionic/svg/timer-sharp.svg +1 -0
  889. package/dist/ionic/svg/timer.svg +1 -0
  890. package/dist/ionic/svg/today-outline.svg +1 -0
  891. package/dist/ionic/svg/today-sharp.svg +1 -0
  892. package/dist/ionic/svg/today.svg +1 -0
  893. package/dist/ionic/svg/toggle-outline.svg +1 -0
  894. package/dist/ionic/svg/toggle-sharp.svg +1 -0
  895. package/dist/ionic/svg/toggle.svg +1 -0
  896. package/dist/ionic/svg/trail-sign-outline.svg +1 -0
  897. package/dist/ionic/svg/trail-sign-sharp.svg +1 -0
  898. package/dist/ionic/svg/trail-sign.svg +1 -0
  899. package/dist/ionic/svg/train-outline.svg +1 -0
  900. package/dist/ionic/svg/train-sharp.svg +1 -0
  901. package/dist/ionic/svg/train.svg +1 -0
  902. package/dist/ionic/svg/transgender-outline.svg +1 -0
  903. package/dist/ionic/svg/transgender-sharp.svg +1 -0
  904. package/dist/ionic/svg/transgender.svg +1 -0
  905. package/dist/ionic/svg/trash-bin-outline.svg +1 -0
  906. package/dist/ionic/svg/trash-bin-sharp.svg +1 -0
  907. package/dist/ionic/svg/trash-bin.svg +1 -0
  908. package/dist/ionic/svg/trash-outline.svg +1 -0
  909. package/dist/ionic/svg/trash-sharp.svg +1 -0
  910. package/dist/ionic/svg/trash.svg +1 -0
  911. package/dist/ionic/svg/trending-down-outline.svg +1 -0
  912. package/dist/ionic/svg/trending-down-sharp.svg +1 -0
  913. package/dist/ionic/svg/trending-down.svg +1 -0
  914. package/dist/ionic/svg/trending-up-outline.svg +1 -0
  915. package/dist/ionic/svg/trending-up-sharp.svg +1 -0
  916. package/dist/ionic/svg/trending-up.svg +1 -0
  917. package/dist/ionic/svg/triangle-outline.svg +1 -0
  918. package/dist/ionic/svg/triangle-sharp.svg +1 -0
  919. package/dist/ionic/svg/triangle.svg +1 -0
  920. package/dist/ionic/svg/trophy-outline.svg +1 -0
  921. package/dist/ionic/svg/trophy-sharp.svg +1 -0
  922. package/dist/ionic/svg/trophy.svg +1 -0
  923. package/dist/ionic/svg/tv-outline.svg +1 -0
  924. package/dist/ionic/svg/tv-sharp.svg +1 -0
  925. package/dist/ionic/svg/tv.svg +1 -0
  926. package/dist/ionic/svg/umbrella-outline.svg +1 -0
  927. package/dist/ionic/svg/umbrella-sharp.svg +1 -0
  928. package/dist/ionic/svg/umbrella.svg +1 -0
  929. package/dist/ionic/svg/unlink-outline.svg +1 -0
  930. package/dist/ionic/svg/unlink-sharp.svg +1 -0
  931. package/dist/ionic/svg/unlink.svg +1 -0
  932. package/dist/ionic/svg/videocam-off-outline.svg +1 -0
  933. package/dist/ionic/svg/videocam-off-sharp.svg +1 -0
  934. package/dist/ionic/svg/videocam-off.svg +1 -0
  935. package/dist/ionic/svg/videocam-outline.svg +1 -0
  936. package/dist/ionic/svg/videocam-sharp.svg +1 -0
  937. package/dist/ionic/svg/videocam.svg +1 -0
  938. package/dist/ionic/svg/volume-high-outline.svg +1 -0
  939. package/dist/ionic/svg/volume-high-sharp.svg +1 -0
  940. package/dist/ionic/svg/volume-high.svg +1 -0
  941. package/dist/ionic/svg/volume-low-outline.svg +1 -0
  942. package/dist/ionic/svg/volume-low-sharp.svg +1 -0
  943. package/dist/ionic/svg/volume-low.svg +1 -0
  944. package/dist/ionic/svg/volume-medium-outline.svg +1 -0
  945. package/dist/ionic/svg/volume-medium-sharp.svg +1 -0
  946. package/dist/ionic/svg/volume-medium.svg +1 -0
  947. package/dist/ionic/svg/volume-mute-outline.svg +1 -0
  948. package/dist/ionic/svg/volume-mute-sharp.svg +1 -0
  949. package/dist/ionic/svg/volume-mute.svg +1 -0
  950. package/dist/ionic/svg/volume-off-outline.svg +1 -0
  951. package/dist/ionic/svg/volume-off-sharp.svg +1 -0
  952. package/dist/ionic/svg/volume-off.svg +1 -0
  953. package/dist/ionic/svg/walk-outline.svg +1 -0
  954. package/dist/ionic/svg/walk-sharp.svg +1 -0
  955. package/dist/ionic/svg/walk.svg +1 -0
  956. package/dist/ionic/svg/wallet-outline.svg +1 -0
  957. package/dist/ionic/svg/wallet-sharp.svg +1 -0
  958. package/dist/ionic/svg/wallet.svg +1 -0
  959. package/dist/ionic/svg/warning-outline.svg +1 -0
  960. package/dist/ionic/svg/warning-sharp.svg +1 -0
  961. package/dist/ionic/svg/warning.svg +1 -0
  962. package/dist/ionic/svg/watch-outline.svg +1 -0
  963. package/dist/ionic/svg/watch-sharp.svg +1 -0
  964. package/dist/ionic/svg/watch.svg +1 -0
  965. package/dist/ionic/svg/water-outline.svg +1 -0
  966. package/dist/ionic/svg/water-sharp.svg +1 -0
  967. package/dist/ionic/svg/water.svg +1 -0
  968. package/dist/ionic/svg/wifi-outline.svg +1 -0
  969. package/dist/ionic/svg/wifi-sharp.svg +1 -0
  970. package/dist/ionic/svg/wifi.svg +1 -0
  971. package/dist/ionic/svg/wine-outline.svg +1 -0
  972. package/dist/ionic/svg/wine-sharp.svg +1 -0
  973. package/dist/ionic/svg/wine.svg +1 -0
  974. package/dist/ionic/svg/woman-outline.svg +1 -0
  975. package/dist/ionic/svg/woman-sharp.svg +1 -0
  976. package/dist/ionic/svg/woman.svg +1 -0
  977. package/dist/types/components/accordion/accordion.d.ts +1 -1
  978. package/dist/types/components/action-sheet/action-sheet.d.ts +37 -0
  979. package/dist/types/components/content/content.d.ts +7 -0
  980. package/dist/types/components/fab-button/fab-button.d.ts +1 -1
  981. package/dist/types/components/item/item.d.ts +1 -1
  982. package/dist/types/components/modal/modal.d.ts +14 -0
  983. package/dist/types/components/popover/popover.d.ts +7 -0
  984. package/dist/types/components.d.ts +10 -6
  985. package/hydrate/index.js +353 -26
  986. package/hydrate/index.mjs +353 -26
  987. package/package.json +9 -5
  988. package/dist/ionic/p-510d86e1.entry.js +0 -4
  989. package/dist/ionic/p-5fb517e4.entry.js +0 -4
  990. package/dist/ionic/p-7380261c.entry.js +0 -4
  991. package/dist/ionic/p-95bddd49.entry.js +0 -4
  992. package/dist/ionic/p-D87hU-Ly.js +0 -4
  993. package/dist/ionic/p-e16b69e1.entry.js +0 -4
package/hydrate/index.mjs CHANGED
@@ -4449,7 +4449,7 @@ class Accordion {
4449
4449
  "value": [1],
4450
4450
  "disabled": [4],
4451
4451
  "readonly": [4],
4452
- "toggleIcon": [8, "toggle-icon"],
4452
+ "toggleIcon": [1, "toggle-icon"],
4453
4453
  "toggleIconSlot": [1, "toggle-icon-slot"],
4454
4454
  "state": [32],
4455
4455
  "isNext": [32],
@@ -5849,6 +5849,14 @@ const CoreDelegate = () => {
5849
5849
  let lastOverlayIndex = 0;
5850
5850
  let lastId = 0;
5851
5851
  const activeAnimations = new WeakMap();
5852
+ /**
5853
+ * Determines if the overlay's backdrop is always blocking (no background interaction).
5854
+ * Returns false if showBackdrop=false or backdropBreakpoint > 0.
5855
+ */
5856
+ const isBackdropAlwaysBlocking = (el) => {
5857
+ var _a;
5858
+ return el.showBackdrop !== false && !(((_a = el.backdropBreakpoint) !== null && _a !== void 0 ? _a : 0) > 0);
5859
+ };
5852
5860
  const createController = (tagName) => {
5853
5861
  return {
5854
5862
  create(options) {
@@ -6286,9 +6294,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
6286
6294
  */
6287
6295
  const overlayEl = overlay.el;
6288
6296
  const shouldTrapFocus = overlayEl.tagName !== 'ION-TOAST' && overlayEl.focusTrap !== false;
6289
- // Only lock out root content when backdrop is active. Developers relying on showBackdrop=false
6290
- // expect background interaction to remain enabled.
6291
- const shouldLockRoot = shouldTrapFocus && overlayEl.showBackdrop !== false;
6297
+ const shouldLockRoot = shouldTrapFocus && isBackdropAlwaysBlocking(overlayEl);
6292
6298
  overlay.presented = true;
6293
6299
  overlay.willPresent.emit();
6294
6300
  if (shouldLockRoot) {
@@ -6404,10 +6410,10 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
6404
6410
  */
6405
6411
  const overlaysLockingRoot = presentedOverlays.filter((o) => {
6406
6412
  const el = o;
6407
- return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && el.showBackdrop !== false;
6413
+ return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
6408
6414
  });
6409
6415
  const overlayEl = overlay.el;
6410
- const locksRoot = overlayEl.tagName !== 'ION-TOAST' && overlayEl.focusTrap !== false && overlayEl.showBackdrop !== false;
6416
+ const locksRoot = overlayEl.tagName !== 'ION-TOAST' && overlayEl.focusTrap !== false && isBackdropAlwaysBlocking(overlayEl);
6411
6417
  /**
6412
6418
  * If this is the last visible overlay that is trapping focus
6413
6419
  * then we want to re-add the root to the accessibility tree.
@@ -7611,6 +7617,7 @@ class ActionSheet {
7611
7617
  this.delegateController = createDelegateController(this);
7612
7618
  this.lockController = createLockController();
7613
7619
  this.triggerController = createTriggerController();
7620
+ this.hasRadioButtons = false;
7614
7621
  this.presented = false;
7615
7622
  /** @internal */
7616
7623
  this.hasController = false;
@@ -7655,6 +7662,19 @@ class ActionSheet {
7655
7662
  }
7656
7663
  };
7657
7664
  }
7665
+ buttonsChanged() {
7666
+ const radioButtons = this.getRadioButtons();
7667
+ this.hasRadioButtons = radioButtons.length > 0;
7668
+ // Initialize activeRadioId when buttons change
7669
+ if (this.hasRadioButtons) {
7670
+ const checkedButton = radioButtons.find((b) => { var _a; return ((_a = b.htmlAttributes) === null || _a === void 0 ? void 0 : _a['aria-checked']) === 'true'; });
7671
+ if (checkedButton) {
7672
+ const allButtons = this.getButtons();
7673
+ const checkedIndex = allButtons.indexOf(checkedButton);
7674
+ this.activeRadioId = this.getButtonId(checkedButton, checkedIndex);
7675
+ }
7676
+ }
7677
+ }
7658
7678
  onIsOpenChange(newValue, oldValue) {
7659
7679
  if (newValue === true && oldValue === false) {
7660
7680
  this.present();
@@ -7735,11 +7755,122 @@ class ActionSheet {
7735
7755
  }
7736
7756
  return true;
7737
7757
  }
7758
+ /**
7759
+ * Get all buttons regardless of role.
7760
+ */
7738
7761
  getButtons() {
7739
7762
  return this.buttons.map((b) => {
7740
7763
  return typeof b === 'string' ? { text: b } : b;
7741
7764
  });
7742
7765
  }
7766
+ /**
7767
+ * Get all radio buttons (buttons with role="radio").
7768
+ */
7769
+ getRadioButtons() {
7770
+ return this.getButtons().filter((b) => {
7771
+ var _a;
7772
+ const role = (_a = b.htmlAttributes) === null || _a === void 0 ? void 0 : _a.role;
7773
+ return role === 'radio' && !isCancel(role);
7774
+ });
7775
+ }
7776
+ /**
7777
+ * Handle radio button selection and update aria-checked state.
7778
+ *
7779
+ * @param button The radio button that was selected.
7780
+ */
7781
+ selectRadioButton(button) {
7782
+ const buttonId = this.getButtonId(button);
7783
+ // Set the active radio ID (this will trigger a re-render and update aria-checked)
7784
+ this.activeRadioId = buttonId;
7785
+ }
7786
+ /**
7787
+ * Get or generate an ID for a button.
7788
+ *
7789
+ * @param button The button for which to get the ID.
7790
+ * @param index Optional index of the button in the buttons array.
7791
+ * @returns The ID of the button.
7792
+ */
7793
+ getButtonId(button, index) {
7794
+ if (button.id) {
7795
+ return button.id;
7796
+ }
7797
+ const allButtons = this.getButtons();
7798
+ const buttonIndex = index !== undefined ? index : allButtons.indexOf(button);
7799
+ return `action-sheet-button-${this.overlayIndex}-${buttonIndex}`;
7800
+ }
7801
+ /**
7802
+ * When the action sheet has radio buttons, we want to follow the
7803
+ * keyboard navigation pattern for radio groups:
7804
+ * - Arrow Down/Right: Move to the next radio button (wrap to first if at end)
7805
+ * - Arrow Up/Left: Move to the previous radio button (wrap to last if at start)
7806
+ * - Space/Enter: Select the focused radio button and trigger its handler
7807
+ */
7808
+ onKeydown(ev) {
7809
+ // Only handle keyboard navigation if we have radio buttons
7810
+ if (!this.hasRadioButtons || !this.presented) {
7811
+ return;
7812
+ }
7813
+ const target = ev.target;
7814
+ // Ignore if the target element is not within the action sheet or not a radio button
7815
+ if (!this.el.contains(target) ||
7816
+ !target.classList.contains('action-sheet-button') ||
7817
+ target.getAttribute('role') !== 'radio') {
7818
+ return;
7819
+ }
7820
+ // Get all radio button elements and filter out disabled ones
7821
+ const radios = Array.from(this.el.querySelectorAll('.action-sheet-button[role="radio"]')).filter((el) => !el.disabled);
7822
+ const currentIndex = radios.findIndex((radio) => radio.id === target.id);
7823
+ if (currentIndex === -1) {
7824
+ return;
7825
+ }
7826
+ const allButtons = this.getButtons();
7827
+ const radioButtons = this.getRadioButtons();
7828
+ /**
7829
+ * Build a map of button element IDs to their ActionSheetButton
7830
+ * config objects.
7831
+ * This allows us to quickly look up which button config corresponds
7832
+ * to a DOM element when handling keyboard navigation
7833
+ * (e.g., whenuser presses Space/Enter or arrow keys).
7834
+ * The key is the ID that was set on the DOM element during render,
7835
+ * and the value is the ActionSheetButton config that contains the
7836
+ * handler and other properties.
7837
+ */
7838
+ const buttonIdMap = new Map();
7839
+ radioButtons.forEach((b) => {
7840
+ const allIndex = allButtons.indexOf(b);
7841
+ const buttonId = this.getButtonId(b, allIndex);
7842
+ buttonIdMap.set(buttonId, b);
7843
+ });
7844
+ let nextEl;
7845
+ if (['ArrowDown', 'ArrowRight'].includes(ev.key)) {
7846
+ ev.preventDefault();
7847
+ ev.stopPropagation();
7848
+ nextEl = currentIndex === radios.length - 1 ? radios[0] : radios[currentIndex + 1];
7849
+ }
7850
+ else if (['ArrowUp', 'ArrowLeft'].includes(ev.key)) {
7851
+ ev.preventDefault();
7852
+ ev.stopPropagation();
7853
+ nextEl = currentIndex === 0 ? radios[radios.length - 1] : radios[currentIndex - 1];
7854
+ }
7855
+ else if (ev.key === ' ' || ev.key === 'Enter') {
7856
+ ev.preventDefault();
7857
+ ev.stopPropagation();
7858
+ const button = buttonIdMap.get(target.id);
7859
+ if (button) {
7860
+ this.selectRadioButton(button);
7861
+ this.buttonClick(button);
7862
+ }
7863
+ return;
7864
+ }
7865
+ // Focus the next radio button
7866
+ if (nextEl) {
7867
+ const button = buttonIdMap.get(nextEl.id);
7868
+ if (button) {
7869
+ this.selectRadioButton(button);
7870
+ nextEl.focus();
7871
+ }
7872
+ }
7873
+ }
7743
7874
  connectedCallback() {
7744
7875
  prepareOverlay(this.el);
7745
7876
  this.triggerChanged();
@@ -7756,6 +7887,8 @@ class ActionSheet {
7756
7887
  if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
7757
7888
  setOverlayId(this.el);
7758
7889
  }
7890
+ // Initialize activeRadioId for radio buttons
7891
+ this.buttonsChanged();
7759
7892
  }
7760
7893
  componentDidLoad() {
7761
7894
  /**
@@ -7793,22 +7926,74 @@ class ActionSheet {
7793
7926
  */
7794
7927
  this.triggerChanged();
7795
7928
  }
7929
+ renderActionSheetButtons(filteredButtons) {
7930
+ const mode = getIonMode$1(this);
7931
+ const { activeRadioId } = this;
7932
+ return filteredButtons.map((b, index) => {
7933
+ var _a;
7934
+ const isRadio = ((_a = b.htmlAttributes) === null || _a === void 0 ? void 0 : _a.role) === 'radio';
7935
+ const buttonId = this.getButtonId(b, index);
7936
+ const radioButtons = this.getRadioButtons();
7937
+ const isActiveRadio = isRadio && buttonId === activeRadioId;
7938
+ const isFirstRadio = isRadio && b === radioButtons[0];
7939
+ // For radio buttons, set tabindex: 0 for the active one, -1 for others
7940
+ // For non-radio buttons, use default tabindex (undefined, which means 0)
7941
+ /**
7942
+ * For radio buttons, set tabindex based on activeRadioId
7943
+ * - If the button is the active radio, tabindex is 0
7944
+ * - If no radio is active, the first radio button should have tabindex 0
7945
+ * - All other radio buttons have tabindex -1
7946
+ * For non-radio buttons, use default tabindex (undefined, which means 0)
7947
+ */
7948
+ let tabIndex;
7949
+ if (isRadio) {
7950
+ // Focus on the active radio button
7951
+ if (isActiveRadio) {
7952
+ tabIndex = 0;
7953
+ }
7954
+ else if (!activeRadioId && isFirstRadio) {
7955
+ // No active radio, first radio gets focus
7956
+ tabIndex = 0;
7957
+ }
7958
+ else {
7959
+ // All other radios are not focusable
7960
+ tabIndex = -1;
7961
+ }
7962
+ }
7963
+ else {
7964
+ tabIndex = undefined;
7965
+ }
7966
+ // For radio buttons, set aria-checked based on activeRadioId
7967
+ // Otherwise, use the value from htmlAttributes if provided
7968
+ const htmlAttrs = Object.assign({}, b.htmlAttributes);
7969
+ if (isRadio) {
7970
+ htmlAttrs['aria-checked'] = isActiveRadio ? 'true' : 'false';
7971
+ }
7972
+ return (hAsync("button", Object.assign({}, htmlAttrs, { role: isRadio ? 'radio' : undefined, type: "button", id: buttonId, class: Object.assign(Object.assign({}, buttonClass$3(b)), { 'action-sheet-selected': isActiveRadio }), onClick: () => {
7973
+ if (isRadio) {
7974
+ this.selectRadioButton(b);
7975
+ }
7976
+ this.buttonClick(b);
7977
+ }, disabled: b.disabled, tabIndex: tabIndex }), hAsync("span", { class: "action-sheet-button-inner" }, b.icon && hAsync("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && hAsync("ion-ripple-effect", null)));
7978
+ });
7979
+ }
7796
7980
  render() {
7797
- const { header, htmlAttributes, overlayIndex } = this;
7981
+ const { header, htmlAttributes, overlayIndex, hasRadioButtons } = this;
7798
7982
  const mode = getIonMode$1(this);
7799
7983
  const allButtons = this.getButtons();
7800
7984
  const cancelButton = allButtons.find((b) => b.role === 'cancel');
7801
7985
  const buttons = allButtons.filter((b) => b.role !== 'cancel');
7802
7986
  const headerID = `action-sheet-${overlayIndex}-header`;
7803
- return (hAsync(Host, Object.assign({ key: '9fef156b2a1f09ca4a6c1fe1f37c374139bde03c', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
7987
+ return (hAsync(Host, Object.assign({ key: '173fcff5b1da7c33c267de4667591c946b8c8d03', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
7804
7988
  zIndex: `${20000 + this.overlayIndex}`,
7805
- }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '81cf3f7d19864e041813987b46d2d115b8466819', tappable: this.backdropDismiss }), hAsync("div", { key: '791c6a976683646fc306a42c15c5078b6f06a45f', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'a350b489ef7852eab9dc2227ce6d92da27dd9bf9', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '69ba51ee13510c1a411d87cb4845b11b7302a36f', class: "action-sheet-container" }, hAsync("div", { key: 'bded15b8306c36591e526f0f99e1eeabcbab3915', class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, header !== undefined && (hAsync("div", { key: '06b5147c0f6d9180fe8f12e75c9b4a0310226adc', id: headerID, class: {
7989
+ }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), hAsync("ion-backdrop", { key: '521ede659f747864f6c974e09016436eceb7158c', tappable: this.backdropDismiss }), hAsync("div", { key: '7a7946fc434bc444f16a70638f5e948c69d33fcd', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'bcff39a580489dbafa255842e57aa8602c6d0f18', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, hAsync("div", { key: '84bba13ce14261f0f0daa3f9c77648c9e7f36e0e', class: "action-sheet-container" }, hAsync("div", { key: 'd9c8ac404fd6719a7adf8cb36549f67616f9a0c4', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (hAsync("div", { key: '180433a8ad03ef5c54728a1a8f34715b6921d658', id: headerID, class: {
7806
7990
  'action-sheet-title': true,
7807
7991
  'action-sheet-has-sub-title': this.subHeader !== undefined,
7808
- } }, header, this.subHeader && hAsync("div", { key: '54874362a75c679aba803bf4f8768f5404d2dd28', class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (hAsync("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass$3(b), onClick: () => this.buttonClick(b), disabled: b.disabled }), hAsync("span", { class: "action-sheet-button-inner" }, b.icon && hAsync("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && hAsync("ion-ripple-effect", null))))), cancelButton && (hAsync("div", { key: '67b0de298eb424f3dea846a841b7a06d70e3930d', class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({ key: 'e7e3f9a5495eea9b97dbf885ef36944f2e420eff' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass$3(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { key: 'f889d29ed6c3d14bbc1d805888351d87f5122377', class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { key: '7c05cf424b38c37fd40aaeb42a494387291571fb', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", { key: 'bed927b477dc2708a5123ef560274fca9819b3d6' })))))), hAsync("div", { key: 'c5df1b11dc15a93892d57065d3dd5fbe02e43b39', tabindex: "0", "aria-hidden": "true" })));
7992
+ } }, header, this.subHeader && hAsync("div", { key: '7138e79e61b1a8f42bc5a9175c57fa2f15d7ec5a', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (hAsync("div", { key: 'b617c722f5b8028d73ed34b69310f312c65f34a7', class: "action-sheet-group action-sheet-group-cancel" }, hAsync("button", Object.assign({ key: 'd0dd876fc48815df3710413c201c0b445a8e16c0' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass$3(cancelButton), onClick: () => this.buttonClick(cancelButton) }), hAsync("span", { key: 'e7b960157cc6fc5fe92a12090b2be55e8ae072e4', class: "action-sheet-button-inner" }, cancelButton.icon && (hAsync("ion-icon", { key: '05498ffc60cab911dbff0ecbc6168dea59ada9a5', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && hAsync("ion-ripple-effect", { key: '3d401346cea301be4ca03671f7370f6f4b0b6bde' })))))), hAsync("div", { key: '971f3c5fcc07f36c28eb469a47ec0290c692e139', tabindex: "0", "aria-hidden": "true" })));
7809
7993
  }
7810
7994
  get el() { return getElement(this); }
7811
7995
  static get watchers() { return {
7996
+ "buttons": ["buttonsChanged"],
7812
7997
  "isOpen": ["onIsOpenChange"],
7813
7998
  "trigger": ["triggerChanged"]
7814
7999
  }; }
@@ -7836,12 +8021,13 @@ class ActionSheet {
7836
8021
  "htmlAttributes": [16],
7837
8022
  "isOpen": [4, "is-open"],
7838
8023
  "trigger": [1],
8024
+ "activeRadioId": [32],
7839
8025
  "present": [64],
7840
8026
  "dismiss": [64],
7841
8027
  "onDidDismiss": [64],
7842
8028
  "onWillDismiss": [64]
7843
8029
  },
7844
- "$listeners$": undefined,
8030
+ "$listeners$": [[0, "keydown", "onKeydown"]],
7845
8031
  "$lazyBundleId$": "-",
7846
8032
  "$attrsToReflect$": []
7847
8033
  }; }
@@ -10481,6 +10667,15 @@ class Content {
10481
10667
  }
10482
10668
  resize() {
10483
10669
  }
10670
+ /**
10671
+ * Recalculate content dimensions. Called by overlays (e.g., popover) when
10672
+ * sibling elements like headers or footers have finished rendering and their
10673
+ * heights are available, ensuring accurate offset-top calculations.
10674
+ * @internal
10675
+ */
10676
+ async recalculateDimensions() {
10677
+ readTask(() => this.readDimensions());
10678
+ }
10484
10679
  readDimensions() {
10485
10680
  const page = getPageElement(this.el);
10486
10681
  const top = Math.max(this.el.offsetTop, 0);
@@ -10649,7 +10844,7 @@ class Content {
10649
10844
  const forceOverscroll = this.shouldForceOverscroll();
10650
10845
  const transitionShadow = mode === 'ios';
10651
10846
  this.resize();
10652
- return (hAsync(Host, Object.assign({ key: 'f2a24aa66dbf5c76f9d4b06f708eb73cadc239df', role: isMainContent ? 'main' : undefined, class: createColorClasses$1(this.color, {
10847
+ return (hAsync(Host, Object.assign({ key: 'cd8781f848d8dc926fe66f43d43c49564425a507', role: isMainContent ? 'main' : undefined, class: createColorClasses$1(this.color, {
10653
10848
  [mode]: true,
10654
10849
  'content-sizing': hostContext('ion-popover', this.el),
10655
10850
  overscroll: forceOverscroll,
@@ -10657,12 +10852,12 @@ class Content {
10657
10852
  }), style: {
10658
10853
  '--offset-top': `${this.cTop}px`,
10659
10854
  '--offset-bottom': `${this.cBottom}px`,
10660
- } }, inheritedAttributes), hAsync("div", { key: '6480ca7648b278abb36477b3838bccbcd4995e2a', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? hAsync("slot", { name: "fixed" }) : null, hAsync("div", { key: '29a23b663f5f0215bb000820c01e1814c0d55985', class: {
10855
+ } }, inheritedAttributes), hAsync("div", { key: '95b112d7cae30f22ef778ceffb88edb4d941c170', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? hAsync("slot", { name: "fixed" }) : null, hAsync("div", { key: '2fdfcbc39fb66f11b6191911f2941c660f4c12e5', class: {
10661
10856
  'inner-scroll': true,
10662
10857
  'scroll-x': scrollX,
10663
10858
  'scroll-y': scrollY,
10664
10859
  overscroll: (scrollX || scrollY) && forceOverscroll,
10665
- }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, hAsync("slot", { key: '0fe1bd05609a4b88ae2ce9addf5d5dc5dc1806f0' })), transitionShadow ? (hAsync("div", { class: "transition-effect" }, hAsync("div", { class: "transition-cover" }), hAsync("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? hAsync("slot", { name: "fixed" }) : null));
10860
+ }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, hAsync("slot", { key: '6bc77e0054ec8e21635a7f2abfe0ca46e0962e03' })), transitionShadow ? (hAsync("div", { class: "transition-effect" }, hAsync("div", { class: "transition-cover" }), hAsync("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? hAsync("slot", { name: "fixed" }) : null));
10666
10861
  }
10667
10862
  get el() { return getElement(this); }
10668
10863
  static get style() { return contentCss; }
@@ -10677,6 +10872,7 @@ class Content {
10677
10872
  "scrollX": [4, "scroll-x"],
10678
10873
  "scrollY": [4, "scroll-y"],
10679
10874
  "scrollEvents": [4, "scroll-events"],
10875
+ "recalculateDimensions": [64],
10680
10876
  "getScrollElement": [64],
10681
10877
  "getBackgroundElement": [64],
10682
10878
  "scrollToTop": [64],
@@ -14994,7 +15190,7 @@ class FabButton {
14994
15190
  "translucent": [4],
14995
15191
  "type": [1],
14996
15192
  "size": [1],
14997
- "closeIcon": [8, "close-icon"]
15193
+ "closeIcon": [1, "close-icon"]
14998
15194
  },
14999
15195
  "$listeners$": undefined,
15000
15196
  "$lazyBundleId$": "-",
@@ -18279,7 +18475,7 @@ class Item {
18279
18475
  "color": [513],
18280
18476
  "button": [4],
18281
18477
  "detail": [4],
18282
- "detailIcon": [8, "detail-icon"],
18478
+ "detailIcon": [1, "detail-icon"],
18283
18479
  "disabled": [516],
18284
18480
  "download": [1],
18285
18481
  "href": [1],
@@ -23015,7 +23211,13 @@ class Modal {
23015
23211
  };
23016
23212
  window.addEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
23017
23213
  }
23018
- if (this.isSheetModal) {
23214
+ /**
23215
+ * Recalculate isSheetModal because framework bindings (e.g., Angular)
23216
+ * may not have been applied when componentWillLoad ran.
23217
+ */
23218
+ const isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
23219
+ this.isSheetModal = isSheetModal;
23220
+ if (isSheetModal) {
23019
23221
  this.initSheetGesture();
23020
23222
  }
23021
23223
  else if (hasCardModal) {
@@ -23097,6 +23299,79 @@ class Modal {
23097
23299
  this.gesture = gesture;
23098
23300
  this.moveSheetToBreakpoint = moveSheetToBreakpoint;
23099
23301
  this.gesture.enable(true);
23302
+ /**
23303
+ * When backdrop interaction is allowed, nested router outlets from child routes
23304
+ * may block pointer events to parent content. Apply passthrough styles only when
23305
+ * the modal was the sole content of a child route page.
23306
+ * See https://github.com/ionic-team/ionic-framework/issues/30700
23307
+ */
23308
+ const backdropNotBlocking = this.showBackdrop === false || this.focusTrap === false || backdropBreakpoint > 0;
23309
+ if (backdropNotBlocking) {
23310
+ this.setupChildRoutePassthrough();
23311
+ }
23312
+ }
23313
+ /**
23314
+ * For sheet modals that allow background interaction, sets up pointer-events
23315
+ * passthrough on child route page wrappers and nested router outlets.
23316
+ */
23317
+ setupChildRoutePassthrough() {
23318
+ var _a;
23319
+ // Cache the page parent for cleanup
23320
+ this.cachedPageParent = this.getOriginalPageParent();
23321
+ const pageParent = this.cachedPageParent;
23322
+ // Skip ion-app (controller modals) and pages with visible sibling content next to the modal
23323
+ if (!pageParent || pageParent.tagName === 'ION-APP') {
23324
+ return;
23325
+ }
23326
+ const hasVisibleContent = Array.from(pageParent.children).some((child) => {
23327
+ var _a;
23328
+ return child !== this.el &&
23329
+ !(child instanceof HTMLElement && window.getComputedStyle(child).display === 'none') &&
23330
+ child.tagName !== 'TEMPLATE' &&
23331
+ child.tagName !== 'SLOT' &&
23332
+ !(child.nodeType === Node.TEXT_NODE && !((_a = child.textContent) === null || _a === void 0 ? void 0 : _a.trim()));
23333
+ });
23334
+ if (hasVisibleContent) {
23335
+ return;
23336
+ }
23337
+ // Child route case: page only contained the modal
23338
+ pageParent.classList.add('ion-page-overlay-passthrough');
23339
+ // Also make nested router outlets passthrough
23340
+ const routerOutlet = pageParent.parentElement;
23341
+ if ((routerOutlet === null || routerOutlet === void 0 ? void 0 : routerOutlet.tagName) === 'ION-ROUTER-OUTLET' && ((_a = routerOutlet.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) !== 'ION-APP') {
23342
+ routerOutlet.style.setProperty('pointer-events', 'none');
23343
+ routerOutlet.setAttribute('data-overlay-passthrough', 'true');
23344
+ }
23345
+ }
23346
+ /**
23347
+ * Finds the ion-page ancestor of the modal's original parent location.
23348
+ */
23349
+ getOriginalPageParent() {
23350
+ if (!this.cachedOriginalParent) {
23351
+ return null;
23352
+ }
23353
+ let pageParent = this.cachedOriginalParent;
23354
+ while (pageParent && !pageParent.classList.contains('ion-page')) {
23355
+ pageParent = pageParent.parentElement;
23356
+ }
23357
+ return pageParent;
23358
+ }
23359
+ /**
23360
+ * Removes passthrough styles added by setupChildRoutePassthrough.
23361
+ */
23362
+ cleanupChildRoutePassthrough() {
23363
+ const pageParent = this.cachedPageParent;
23364
+ if (!pageParent) {
23365
+ return;
23366
+ }
23367
+ pageParent.classList.remove('ion-page-overlay-passthrough');
23368
+ const routerOutlet = pageParent.parentElement;
23369
+ if (routerOutlet === null || routerOutlet === void 0 ? void 0 : routerOutlet.hasAttribute('data-overlay-passthrough')) {
23370
+ routerOutlet.style.removeProperty('pointer-events');
23371
+ routerOutlet.removeAttribute('data-overlay-passthrough');
23372
+ }
23373
+ // Clear the cached reference
23374
+ this.cachedPageParent = undefined;
23100
23375
  }
23101
23376
  sheetOnDismiss() {
23102
23377
  /**
@@ -23186,6 +23461,7 @@ class Modal {
23186
23461
  }
23187
23462
  this.cleanupViewTransitionListener();
23188
23463
  this.cleanupParentRemovalObserver();
23464
+ this.cleanupChildRoutePassthrough();
23189
23465
  }
23190
23466
  this.currentBreakpoint = undefined;
23191
23467
  this.animation = undefined;
@@ -23382,6 +23658,17 @@ class Modal {
23382
23658
  this.cachedOriginalParent.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
23383
23659
  return;
23384
23660
  }
23661
+ /**
23662
+ * Don't observe for controller-based modals or when the parent is the
23663
+ * app root (document.body or ion-app). These parents won't be removed,
23664
+ * and observing document.body with subtree: true causes performance
23665
+ * issues with frameworks like Angular during change detection.
23666
+ */
23667
+ if (this.hasController ||
23668
+ this.cachedOriginalParent === document.body ||
23669
+ this.cachedOriginalParent.tagName === 'ION-APP') {
23670
+ return;
23671
+ }
23385
23672
  this.parentRemovalObserver = new MutationObserver((mutations) => {
23386
23673
  mutations.forEach((mutation) => {
23387
23674
  if (mutation.type === 'childList' && mutation.removedNodes.length > 0) {
@@ -23423,20 +23710,20 @@ class Modal {
23423
23710
  const isCardModal = presentingElement !== undefined && mode === 'ios';
23424
23711
  const isHandleCycle = handleBehavior === 'cycle';
23425
23712
  const isSheetModalWithHandle = isSheetModal && showHandle;
23426
- return (hAsync(Host, Object.assign({ key: '9e9a7bd591eb17a225a00b4fa2e379e94601d17f', "no-router": true,
23713
+ return (hAsync(Host, Object.assign({ key: '9a75095a13de0cfc96f1fa69fd92777d25da8daa', "no-router": true,
23427
23714
  // Allow the modal to be navigable when the handle is focusable
23428
23715
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
23429
23716
  zIndex: `${20000 + this.overlayIndex}`,
23430
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: 'e5eae2c14f830f75e308fcd7f4c10c86fac5b962', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: 'e268f9cd310c3cf4e051b5b92524ce4fb70d005e', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '9c380f36c18144c153077b15744d1c3346bce63e',
23717
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), hAsync("ion-backdrop", { key: 'd02612d8063ef20f59f173ff47795f71cdaaf63e', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '708761b70a93e34c08faae079569f444c7416a4c', class: "modal-shadow" }), hAsync("div", Object.assign({ key: 'a72226ff1a98229f9bfd9207b98fc57e02baa430',
23431
23718
  /*
23432
23719
  role and aria-modal must be used on the
23433
23720
  same element. They must also be set inside the
23434
23721
  shadow DOM otherwise ion-button will not be highlighted
23435
23722
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
23436
23723
  */
23437
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '2d5ee6d5959d97309c306e8ce72eb0f2c19be144', class: "modal-handle",
23724
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '0547f32323882660221385d84d492929caa77c6b', class: "modal-handle",
23438
23725
  // Prevents the handle from receiving keyboard focus when it does not cycle
23439
- 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) })), hAsync("slot", { key: '5590434c35ea04c42fc006498bc189038e15a298', onSlotchange: this.onSlotChange }))));
23726
+ 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) })), hAsync("slot", { key: 'fccbd64518b6fa22f9e874deb6b4ba55d8d89c3b', onSlotchange: this.onSlotChange }))));
23440
23727
  }
23441
23728
  get el() { return getElement(this); }
23442
23729
  static get watchers() { return {
@@ -23476,6 +23763,7 @@ class Modal {
23476
23763
  "keepContentsMounted": [4, "keep-contents-mounted"],
23477
23764
  "focusTrap": [4, "focus-trap"],
23478
23765
  "canDismiss": [4, "can-dismiss"],
23766
+ "isSheetModal": [32],
23479
23767
  "presented": [32],
23480
23768
  "present": [64],
23481
23769
  "dismiss": [64],
@@ -27543,6 +27831,10 @@ class Popover {
27543
27831
  if (destroyTriggerInteraction) {
27544
27832
  destroyTriggerInteraction();
27545
27833
  }
27834
+ if (this.headerResizeObserver) {
27835
+ this.headerResizeObserver.disconnect();
27836
+ this.headerResizeObserver = undefined;
27837
+ }
27546
27838
  }
27547
27839
  componentWillLoad() {
27548
27840
  var _a, _b;
@@ -27645,6 +27937,7 @@ class Popover {
27645
27937
  */
27646
27938
  this.ionMount.emit();
27647
27939
  this.usersElement = await attachComponent(delegate, el, this.component, ['popover-viewport'], this.componentProps, inline);
27940
+ this.recalculateContentOnHeaderReady();
27648
27941
  if (!this.keyboardEvents) {
27649
27942
  this.configureKeyboardInteraction();
27650
27943
  }
@@ -27690,6 +27983,35 @@ class Popover {
27690
27983
  }
27691
27984
  unlock();
27692
27985
  }
27986
+ /**
27987
+ * Watch the header for height changes and trigger content dimension
27988
+ * recalculation when the header has a height > 0. This sets the offset-top
27989
+ * of the content to the height of the header correctly.
27990
+ */
27991
+ recalculateContentOnHeaderReady() {
27992
+ var _a;
27993
+ const popoverContent = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.popover-content');
27994
+ if (!popoverContent) {
27995
+ return;
27996
+ }
27997
+ const contentContainer = this.usersElement || popoverContent;
27998
+ const header = contentContainer.querySelector('ion-header');
27999
+ const contentElements = contentContainer.querySelectorAll('ion-content');
28000
+ if (!header || contentElements.length === 0) {
28001
+ return;
28002
+ }
28003
+ this.headerResizeObserver = new ResizeObserver(async () => {
28004
+ var _a;
28005
+ if (header.offsetHeight > 0) {
28006
+ (_a = this.headerResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
28007
+ this.headerResizeObserver = undefined;
28008
+ for (const contentEl of contentElements) {
28009
+ await contentEl.recalculateDimensions();
28010
+ }
28011
+ }
28012
+ });
28013
+ this.headerResizeObserver.observe(header);
28014
+ }
27693
28015
  /**
27694
28016
  * Dismiss the popover overlay after it has been presented.
27695
28017
  * This is a no-op if the overlay has not been presented yet. If you want
@@ -27751,9 +28073,9 @@ class Popover {
27751
28073
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
27752
28074
  const desktop = isPlatform('desktop');
27753
28075
  const enableArrow = arrow && !parentPopover;
27754
- return (hAsync(Host, Object.assign({ key: '16866c02534968c982cf4730d2936d03a5107c8b', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
28076
+ return (hAsync(Host, Object.assign({ key: '42863f748c93f709d433931d969230137b37d42d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
27755
28077
  zIndex: `${20000 + this.overlayIndex}`,
27756
- }, 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 && hAsync("ion-backdrop", { key: '0df258601a4d30df3c27aa8234a7d5e056c3ecbb', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'f94e80ed996b957b5cd09b826472b4f60e8fcc78', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '185ce22f6386e8444a9cc7b8818dbfc16c463c99', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '206202b299404e110de5397b229678cca18568d3', class: "popover-content", part: "content" }, hAsync("slot", { key: 'ee543a0b92d6e35a837c0a0e4617c7b0fc4ad0b0' })))));
28078
+ }, 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 && hAsync("ion-backdrop", { key: '22b6d82178b52158b76ab3fd9a7dd738fd6e4bbf', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: 'b76335c64e992a964ed3fb91d17a992c3474b4cd', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '018c846c32e7ff7fa010528e6b37a17e5f03c84c', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '350c468c80052da3a07768bceab98fe159c35a43', class: "popover-content", part: "content" }, hAsync("slot", { key: '686443c17ac9873d33905c1cdb67e6d6da675282' })))));
27757
28079
  }
27758
28080
  get el() { return getElement(this); }
27759
28081
  static get watchers() { return {
@@ -33625,13 +33947,18 @@ class Select {
33625
33947
  .filter((cls) => cls !== 'hydrated')
33626
33948
  .join(' ');
33627
33949
  const optClass = `${OPTION_CLASS} ${copyClasses}`;
33950
+ const isSelected = isOptionSelected(selectValue, value, this.compareWith);
33628
33951
  return {
33629
- role: isOptionSelected(selectValue, value, this.compareWith) ? 'selected' : '',
33952
+ role: isSelected ? 'selected' : '',
33630
33953
  text: option.textContent,
33631
33954
  cssClass: optClass,
33632
33955
  handler: () => {
33633
33956
  this.setValue(value);
33634
33957
  },
33958
+ htmlAttributes: {
33959
+ 'aria-checked': isSelected ? 'true' : 'false',
33960
+ role: 'radio',
33961
+ },
33635
33962
  };
33636
33963
  });
33637
33964
  // Add "cancel" button
@@ -34012,7 +34339,7 @@ class Select {
34012
34339
  * TODO(FW-5592): Remove hasStartEndSlots condition
34013
34340
  */
34014
34341
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
34015
- return (hAsync(Host, { key: '35b5e18e6f79a802ff2d46d1242e80ff755cc0b9', onClick: this.onClick, class: createColorClasses$1(this.color, {
34342
+ return (hAsync(Host, { key: 'd8026835993d0e6dce747098f741a06ae4e4f54d', onClick: this.onClick, class: createColorClasses$1(this.color, {
34016
34343
  [mode]: true,
34017
34344
  'in-item': inItem,
34018
34345
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -34030,7 +34357,7 @@ class Select {
34030
34357
  [`select-justify-${justify}`]: justifyEnabled,
34031
34358
  [`select-shape-${shape}`]: shape !== undefined,
34032
34359
  [`select-label-placement-${labelPlacement}`]: true,
34033
- }) }, hAsync("label", { key: '6005b34a0c50bc4d7653a4276bc232ecd02e083c', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: 'c7e07aa81ae856c057f16275dd058f37c5670a47', class: "select-wrapper-inner" }, hAsync("slot", { key: '7fc2deefe0424404caacdbbd9e08ed43ba55d28a', name: "start" }), hAsync("div", { key: '157d74ee717b1bc30b5f1c233a09b0c8456aa68e', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: 'ea66db304528b82bf9317730b6dce3db2612f235', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: '786eb1530b7476f0615d4e7c0bf4e7e4dc66509c', class: "select-highlight" })), this.renderBottomContent()));
34360
+ }) }, hAsync("label", { key: 'fcfb40209d6d07d49c7fdca4884b31abf6ac2567', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick }, this.renderLabelContainer(), hAsync("div", { key: 'f191664f2290c3890bde1156157c83a6ff17dbe2', class: "select-wrapper-inner" }, hAsync("slot", { key: '317a28d1115b4214f291e228ce0fe6fc782e57d5', name: "start" }), hAsync("div", { key: 'db68e18abd5ca3a1023d7c7b58bf89893ae18073', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '4274e042267c2234a198b0f65c89477898d08130', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: '2e2eb1ee2b2791e0683d9afb186fde6e938ca59c', class: "select-highlight" })), this.renderBottomContent()));
34034
34361
  }
34035
34362
  get el() { return getElement(this); }
34036
34363
  static get watchers() { return {