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.js CHANGED
@@ -4451,7 +4451,7 @@ class Accordion {
4451
4451
  "value": [1],
4452
4452
  "disabled": [4],
4453
4453
  "readonly": [4],
4454
- "toggleIcon": [8, "toggle-icon"],
4454
+ "toggleIcon": [1, "toggle-icon"],
4455
4455
  "toggleIconSlot": [1, "toggle-icon-slot"],
4456
4456
  "state": [32],
4457
4457
  "isNext": [32],
@@ -5851,6 +5851,14 @@ const CoreDelegate = () => {
5851
5851
  let lastOverlayIndex = 0;
5852
5852
  let lastId = 0;
5853
5853
  const activeAnimations = new WeakMap();
5854
+ /**
5855
+ * Determines if the overlay's backdrop is always blocking (no background interaction).
5856
+ * Returns false if showBackdrop=false or backdropBreakpoint > 0.
5857
+ */
5858
+ const isBackdropAlwaysBlocking = (el) => {
5859
+ var _a;
5860
+ return el.showBackdrop !== false && !(((_a = el.backdropBreakpoint) !== null && _a !== void 0 ? _a : 0) > 0);
5861
+ };
5854
5862
  const createController = (tagName) => {
5855
5863
  return {
5856
5864
  create(options) {
@@ -6288,9 +6296,7 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
6288
6296
  */
6289
6297
  const overlayEl = overlay.el;
6290
6298
  const shouldTrapFocus = overlayEl.tagName !== 'ION-TOAST' && overlayEl.focusTrap !== false;
6291
- // Only lock out root content when backdrop is active. Developers relying on showBackdrop=false
6292
- // expect background interaction to remain enabled.
6293
- const shouldLockRoot = shouldTrapFocus && overlayEl.showBackdrop !== false;
6299
+ const shouldLockRoot = shouldTrapFocus && isBackdropAlwaysBlocking(overlayEl);
6294
6300
  overlay.presented = true;
6295
6301
  overlay.willPresent.emit();
6296
6302
  if (shouldLockRoot) {
@@ -6406,10 +6412,10 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
6406
6412
  */
6407
6413
  const overlaysLockingRoot = presentedOverlays.filter((o) => {
6408
6414
  const el = o;
6409
- return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && el.showBackdrop !== false;
6415
+ return el.tagName !== 'ION-TOAST' && el.focusTrap !== false && isBackdropAlwaysBlocking(el);
6410
6416
  });
6411
6417
  const overlayEl = overlay.el;
6412
- const locksRoot = overlayEl.tagName !== 'ION-TOAST' && overlayEl.focusTrap !== false && overlayEl.showBackdrop !== false;
6418
+ const locksRoot = overlayEl.tagName !== 'ION-TOAST' && overlayEl.focusTrap !== false && isBackdropAlwaysBlocking(overlayEl);
6413
6419
  /**
6414
6420
  * If this is the last visible overlay that is trapping focus
6415
6421
  * then we want to re-add the root to the accessibility tree.
@@ -7613,6 +7619,7 @@ class ActionSheet {
7613
7619
  this.delegateController = createDelegateController(this);
7614
7620
  this.lockController = createLockController();
7615
7621
  this.triggerController = createTriggerController();
7622
+ this.hasRadioButtons = false;
7616
7623
  this.presented = false;
7617
7624
  /** @internal */
7618
7625
  this.hasController = false;
@@ -7657,6 +7664,19 @@ class ActionSheet {
7657
7664
  }
7658
7665
  };
7659
7666
  }
7667
+ buttonsChanged() {
7668
+ const radioButtons = this.getRadioButtons();
7669
+ this.hasRadioButtons = radioButtons.length > 0;
7670
+ // Initialize activeRadioId when buttons change
7671
+ if (this.hasRadioButtons) {
7672
+ const checkedButton = radioButtons.find((b) => { var _a; return ((_a = b.htmlAttributes) === null || _a === void 0 ? void 0 : _a['aria-checked']) === 'true'; });
7673
+ if (checkedButton) {
7674
+ const allButtons = this.getButtons();
7675
+ const checkedIndex = allButtons.indexOf(checkedButton);
7676
+ this.activeRadioId = this.getButtonId(checkedButton, checkedIndex);
7677
+ }
7678
+ }
7679
+ }
7660
7680
  onIsOpenChange(newValue, oldValue) {
7661
7681
  if (newValue === true && oldValue === false) {
7662
7682
  this.present();
@@ -7737,11 +7757,122 @@ class ActionSheet {
7737
7757
  }
7738
7758
  return true;
7739
7759
  }
7760
+ /**
7761
+ * Get all buttons regardless of role.
7762
+ */
7740
7763
  getButtons() {
7741
7764
  return this.buttons.map((b) => {
7742
7765
  return typeof b === 'string' ? { text: b } : b;
7743
7766
  });
7744
7767
  }
7768
+ /**
7769
+ * Get all radio buttons (buttons with role="radio").
7770
+ */
7771
+ getRadioButtons() {
7772
+ return this.getButtons().filter((b) => {
7773
+ var _a;
7774
+ const role = (_a = b.htmlAttributes) === null || _a === void 0 ? void 0 : _a.role;
7775
+ return role === 'radio' && !isCancel(role);
7776
+ });
7777
+ }
7778
+ /**
7779
+ * Handle radio button selection and update aria-checked state.
7780
+ *
7781
+ * @param button The radio button that was selected.
7782
+ */
7783
+ selectRadioButton(button) {
7784
+ const buttonId = this.getButtonId(button);
7785
+ // Set the active radio ID (this will trigger a re-render and update aria-checked)
7786
+ this.activeRadioId = buttonId;
7787
+ }
7788
+ /**
7789
+ * Get or generate an ID for a button.
7790
+ *
7791
+ * @param button The button for which to get the ID.
7792
+ * @param index Optional index of the button in the buttons array.
7793
+ * @returns The ID of the button.
7794
+ */
7795
+ getButtonId(button, index) {
7796
+ if (button.id) {
7797
+ return button.id;
7798
+ }
7799
+ const allButtons = this.getButtons();
7800
+ const buttonIndex = index !== undefined ? index : allButtons.indexOf(button);
7801
+ return `action-sheet-button-${this.overlayIndex}-${buttonIndex}`;
7802
+ }
7803
+ /**
7804
+ * When the action sheet has radio buttons, we want to follow the
7805
+ * keyboard navigation pattern for radio groups:
7806
+ * - Arrow Down/Right: Move to the next radio button (wrap to first if at end)
7807
+ * - Arrow Up/Left: Move to the previous radio button (wrap to last if at start)
7808
+ * - Space/Enter: Select the focused radio button and trigger its handler
7809
+ */
7810
+ onKeydown(ev) {
7811
+ // Only handle keyboard navigation if we have radio buttons
7812
+ if (!this.hasRadioButtons || !this.presented) {
7813
+ return;
7814
+ }
7815
+ const target = ev.target;
7816
+ // Ignore if the target element is not within the action sheet or not a radio button
7817
+ if (!this.el.contains(target) ||
7818
+ !target.classList.contains('action-sheet-button') ||
7819
+ target.getAttribute('role') !== 'radio') {
7820
+ return;
7821
+ }
7822
+ // Get all radio button elements and filter out disabled ones
7823
+ const radios = Array.from(this.el.querySelectorAll('.action-sheet-button[role="radio"]')).filter((el) => !el.disabled);
7824
+ const currentIndex = radios.findIndex((radio) => radio.id === target.id);
7825
+ if (currentIndex === -1) {
7826
+ return;
7827
+ }
7828
+ const allButtons = this.getButtons();
7829
+ const radioButtons = this.getRadioButtons();
7830
+ /**
7831
+ * Build a map of button element IDs to their ActionSheetButton
7832
+ * config objects.
7833
+ * This allows us to quickly look up which button config corresponds
7834
+ * to a DOM element when handling keyboard navigation
7835
+ * (e.g., whenuser presses Space/Enter or arrow keys).
7836
+ * The key is the ID that was set on the DOM element during render,
7837
+ * and the value is the ActionSheetButton config that contains the
7838
+ * handler and other properties.
7839
+ */
7840
+ const buttonIdMap = new Map();
7841
+ radioButtons.forEach((b) => {
7842
+ const allIndex = allButtons.indexOf(b);
7843
+ const buttonId = this.getButtonId(b, allIndex);
7844
+ buttonIdMap.set(buttonId, b);
7845
+ });
7846
+ let nextEl;
7847
+ if (['ArrowDown', 'ArrowRight'].includes(ev.key)) {
7848
+ ev.preventDefault();
7849
+ ev.stopPropagation();
7850
+ nextEl = currentIndex === radios.length - 1 ? radios[0] : radios[currentIndex + 1];
7851
+ }
7852
+ else if (['ArrowUp', 'ArrowLeft'].includes(ev.key)) {
7853
+ ev.preventDefault();
7854
+ ev.stopPropagation();
7855
+ nextEl = currentIndex === 0 ? radios[radios.length - 1] : radios[currentIndex - 1];
7856
+ }
7857
+ else if (ev.key === ' ' || ev.key === 'Enter') {
7858
+ ev.preventDefault();
7859
+ ev.stopPropagation();
7860
+ const button = buttonIdMap.get(target.id);
7861
+ if (button) {
7862
+ this.selectRadioButton(button);
7863
+ this.buttonClick(button);
7864
+ }
7865
+ return;
7866
+ }
7867
+ // Focus the next radio button
7868
+ if (nextEl) {
7869
+ const button = buttonIdMap.get(nextEl.id);
7870
+ if (button) {
7871
+ this.selectRadioButton(button);
7872
+ nextEl.focus();
7873
+ }
7874
+ }
7875
+ }
7745
7876
  connectedCallback() {
7746
7877
  prepareOverlay(this.el);
7747
7878
  this.triggerChanged();
@@ -7758,6 +7889,8 @@ class ActionSheet {
7758
7889
  if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
7759
7890
  setOverlayId(this.el);
7760
7891
  }
7892
+ // Initialize activeRadioId for radio buttons
7893
+ this.buttonsChanged();
7761
7894
  }
7762
7895
  componentDidLoad() {
7763
7896
  /**
@@ -7795,22 +7928,74 @@ class ActionSheet {
7795
7928
  */
7796
7929
  this.triggerChanged();
7797
7930
  }
7931
+ renderActionSheetButtons(filteredButtons) {
7932
+ const mode = getIonMode$1(this);
7933
+ const { activeRadioId } = this;
7934
+ return filteredButtons.map((b, index) => {
7935
+ var _a;
7936
+ const isRadio = ((_a = b.htmlAttributes) === null || _a === void 0 ? void 0 : _a.role) === 'radio';
7937
+ const buttonId = this.getButtonId(b, index);
7938
+ const radioButtons = this.getRadioButtons();
7939
+ const isActiveRadio = isRadio && buttonId === activeRadioId;
7940
+ const isFirstRadio = isRadio && b === radioButtons[0];
7941
+ // For radio buttons, set tabindex: 0 for the active one, -1 for others
7942
+ // For non-radio buttons, use default tabindex (undefined, which means 0)
7943
+ /**
7944
+ * For radio buttons, set tabindex based on activeRadioId
7945
+ * - If the button is the active radio, tabindex is 0
7946
+ * - If no radio is active, the first radio button should have tabindex 0
7947
+ * - All other radio buttons have tabindex -1
7948
+ * For non-radio buttons, use default tabindex (undefined, which means 0)
7949
+ */
7950
+ let tabIndex;
7951
+ if (isRadio) {
7952
+ // Focus on the active radio button
7953
+ if (isActiveRadio) {
7954
+ tabIndex = 0;
7955
+ }
7956
+ else if (!activeRadioId && isFirstRadio) {
7957
+ // No active radio, first radio gets focus
7958
+ tabIndex = 0;
7959
+ }
7960
+ else {
7961
+ // All other radios are not focusable
7962
+ tabIndex = -1;
7963
+ }
7964
+ }
7965
+ else {
7966
+ tabIndex = undefined;
7967
+ }
7968
+ // For radio buttons, set aria-checked based on activeRadioId
7969
+ // Otherwise, use the value from htmlAttributes if provided
7970
+ const htmlAttrs = Object.assign({}, b.htmlAttributes);
7971
+ if (isRadio) {
7972
+ htmlAttrs['aria-checked'] = isActiveRadio ? 'true' : 'false';
7973
+ }
7974
+ 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: () => {
7975
+ if (isRadio) {
7976
+ this.selectRadioButton(b);
7977
+ }
7978
+ this.buttonClick(b);
7979
+ }, 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)));
7980
+ });
7981
+ }
7798
7982
  render() {
7799
- const { header, htmlAttributes, overlayIndex } = this;
7983
+ const { header, htmlAttributes, overlayIndex, hasRadioButtons } = this;
7800
7984
  const mode = getIonMode$1(this);
7801
7985
  const allButtons = this.getButtons();
7802
7986
  const cancelButton = allButtons.find((b) => b.role === 'cancel');
7803
7987
  const buttons = allButtons.filter((b) => b.role !== 'cancel');
7804
7988
  const headerID = `action-sheet-${overlayIndex}-header`;
7805
- return (hAsync(Host, Object.assign({ key: '9fef156b2a1f09ca4a6c1fe1f37c374139bde03c', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
7989
+ return (hAsync(Host, Object.assign({ key: '173fcff5b1da7c33c267de4667591c946b8c8d03', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
7806
7990
  zIndex: `${20000 + this.overlayIndex}`,
7807
- }, 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: {
7991
+ }, 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: {
7808
7992
  'action-sheet-title': true,
7809
7993
  'action-sheet-has-sub-title': this.subHeader !== undefined,
7810
- } }, 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" })));
7994
+ } }, 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" })));
7811
7995
  }
7812
7996
  get el() { return getElement(this); }
7813
7997
  static get watchers() { return {
7998
+ "buttons": ["buttonsChanged"],
7814
7999
  "isOpen": ["onIsOpenChange"],
7815
8000
  "trigger": ["triggerChanged"]
7816
8001
  }; }
@@ -7838,12 +8023,13 @@ class ActionSheet {
7838
8023
  "htmlAttributes": [16],
7839
8024
  "isOpen": [4, "is-open"],
7840
8025
  "trigger": [1],
8026
+ "activeRadioId": [32],
7841
8027
  "present": [64],
7842
8028
  "dismiss": [64],
7843
8029
  "onDidDismiss": [64],
7844
8030
  "onWillDismiss": [64]
7845
8031
  },
7846
- "$listeners$": undefined,
8032
+ "$listeners$": [[0, "keydown", "onKeydown"]],
7847
8033
  "$lazyBundleId$": "-",
7848
8034
  "$attrsToReflect$": []
7849
8035
  }; }
@@ -10483,6 +10669,15 @@ class Content {
10483
10669
  }
10484
10670
  resize() {
10485
10671
  }
10672
+ /**
10673
+ * Recalculate content dimensions. Called by overlays (e.g., popover) when
10674
+ * sibling elements like headers or footers have finished rendering and their
10675
+ * heights are available, ensuring accurate offset-top calculations.
10676
+ * @internal
10677
+ */
10678
+ async recalculateDimensions() {
10679
+ readTask(() => this.readDimensions());
10680
+ }
10486
10681
  readDimensions() {
10487
10682
  const page = getPageElement(this.el);
10488
10683
  const top = Math.max(this.el.offsetTop, 0);
@@ -10651,7 +10846,7 @@ class Content {
10651
10846
  const forceOverscroll = this.shouldForceOverscroll();
10652
10847
  const transitionShadow = mode === 'ios';
10653
10848
  this.resize();
10654
- return (hAsync(Host, Object.assign({ key: 'f2a24aa66dbf5c76f9d4b06f708eb73cadc239df', role: isMainContent ? 'main' : undefined, class: createColorClasses$1(this.color, {
10849
+ return (hAsync(Host, Object.assign({ key: 'cd8781f848d8dc926fe66f43d43c49564425a507', role: isMainContent ? 'main' : undefined, class: createColorClasses$1(this.color, {
10655
10850
  [mode]: true,
10656
10851
  'content-sizing': hostContext('ion-popover', this.el),
10657
10852
  overscroll: forceOverscroll,
@@ -10659,12 +10854,12 @@ class Content {
10659
10854
  }), style: {
10660
10855
  '--offset-top': `${this.cTop}px`,
10661
10856
  '--offset-bottom': `${this.cBottom}px`,
10662
- } }, 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: {
10857
+ } }, 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: {
10663
10858
  'inner-scroll': true,
10664
10859
  'scroll-x': scrollX,
10665
10860
  'scroll-y': scrollY,
10666
10861
  overscroll: (scrollX || scrollY) && forceOverscroll,
10667
- }, 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));
10862
+ }, 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));
10668
10863
  }
10669
10864
  get el() { return getElement(this); }
10670
10865
  static get style() { return contentCss; }
@@ -10679,6 +10874,7 @@ class Content {
10679
10874
  "scrollX": [4, "scroll-x"],
10680
10875
  "scrollY": [4, "scroll-y"],
10681
10876
  "scrollEvents": [4, "scroll-events"],
10877
+ "recalculateDimensions": [64],
10682
10878
  "getScrollElement": [64],
10683
10879
  "getBackgroundElement": [64],
10684
10880
  "scrollToTop": [64],
@@ -14996,7 +15192,7 @@ class FabButton {
14996
15192
  "translucent": [4],
14997
15193
  "type": [1],
14998
15194
  "size": [1],
14999
- "closeIcon": [8, "close-icon"]
15195
+ "closeIcon": [1, "close-icon"]
15000
15196
  },
15001
15197
  "$listeners$": undefined,
15002
15198
  "$lazyBundleId$": "-",
@@ -18281,7 +18477,7 @@ class Item {
18281
18477
  "color": [513],
18282
18478
  "button": [4],
18283
18479
  "detail": [4],
18284
- "detailIcon": [8, "detail-icon"],
18480
+ "detailIcon": [1, "detail-icon"],
18285
18481
  "disabled": [516],
18286
18482
  "download": [1],
18287
18483
  "href": [1],
@@ -23017,7 +23213,13 @@ class Modal {
23017
23213
  };
23018
23214
  window.addEventListener(KEYBOARD_DID_OPEN, this.keyboardOpenCallback);
23019
23215
  }
23020
- if (this.isSheetModal) {
23216
+ /**
23217
+ * Recalculate isSheetModal because framework bindings (e.g., Angular)
23218
+ * may not have been applied when componentWillLoad ran.
23219
+ */
23220
+ const isSheetModal = this.breakpoints !== undefined && this.initialBreakpoint !== undefined;
23221
+ this.isSheetModal = isSheetModal;
23222
+ if (isSheetModal) {
23021
23223
  this.initSheetGesture();
23022
23224
  }
23023
23225
  else if (hasCardModal) {
@@ -23099,6 +23301,79 @@ class Modal {
23099
23301
  this.gesture = gesture;
23100
23302
  this.moveSheetToBreakpoint = moveSheetToBreakpoint;
23101
23303
  this.gesture.enable(true);
23304
+ /**
23305
+ * When backdrop interaction is allowed, nested router outlets from child routes
23306
+ * may block pointer events to parent content. Apply passthrough styles only when
23307
+ * the modal was the sole content of a child route page.
23308
+ * See https://github.com/ionic-team/ionic-framework/issues/30700
23309
+ */
23310
+ const backdropNotBlocking = this.showBackdrop === false || this.focusTrap === false || backdropBreakpoint > 0;
23311
+ if (backdropNotBlocking) {
23312
+ this.setupChildRoutePassthrough();
23313
+ }
23314
+ }
23315
+ /**
23316
+ * For sheet modals that allow background interaction, sets up pointer-events
23317
+ * passthrough on child route page wrappers and nested router outlets.
23318
+ */
23319
+ setupChildRoutePassthrough() {
23320
+ var _a;
23321
+ // Cache the page parent for cleanup
23322
+ this.cachedPageParent = this.getOriginalPageParent();
23323
+ const pageParent = this.cachedPageParent;
23324
+ // Skip ion-app (controller modals) and pages with visible sibling content next to the modal
23325
+ if (!pageParent || pageParent.tagName === 'ION-APP') {
23326
+ return;
23327
+ }
23328
+ const hasVisibleContent = Array.from(pageParent.children).some((child) => {
23329
+ var _a;
23330
+ return child !== this.el &&
23331
+ !(child instanceof HTMLElement && window.getComputedStyle(child).display === 'none') &&
23332
+ child.tagName !== 'TEMPLATE' &&
23333
+ child.tagName !== 'SLOT' &&
23334
+ !(child.nodeType === Node.TEXT_NODE && !((_a = child.textContent) === null || _a === void 0 ? void 0 : _a.trim()));
23335
+ });
23336
+ if (hasVisibleContent) {
23337
+ return;
23338
+ }
23339
+ // Child route case: page only contained the modal
23340
+ pageParent.classList.add('ion-page-overlay-passthrough');
23341
+ // Also make nested router outlets passthrough
23342
+ const routerOutlet = pageParent.parentElement;
23343
+ 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') {
23344
+ routerOutlet.style.setProperty('pointer-events', 'none');
23345
+ routerOutlet.setAttribute('data-overlay-passthrough', 'true');
23346
+ }
23347
+ }
23348
+ /**
23349
+ * Finds the ion-page ancestor of the modal's original parent location.
23350
+ */
23351
+ getOriginalPageParent() {
23352
+ if (!this.cachedOriginalParent) {
23353
+ return null;
23354
+ }
23355
+ let pageParent = this.cachedOriginalParent;
23356
+ while (pageParent && !pageParent.classList.contains('ion-page')) {
23357
+ pageParent = pageParent.parentElement;
23358
+ }
23359
+ return pageParent;
23360
+ }
23361
+ /**
23362
+ * Removes passthrough styles added by setupChildRoutePassthrough.
23363
+ */
23364
+ cleanupChildRoutePassthrough() {
23365
+ const pageParent = this.cachedPageParent;
23366
+ if (!pageParent) {
23367
+ return;
23368
+ }
23369
+ pageParent.classList.remove('ion-page-overlay-passthrough');
23370
+ const routerOutlet = pageParent.parentElement;
23371
+ if (routerOutlet === null || routerOutlet === void 0 ? void 0 : routerOutlet.hasAttribute('data-overlay-passthrough')) {
23372
+ routerOutlet.style.removeProperty('pointer-events');
23373
+ routerOutlet.removeAttribute('data-overlay-passthrough');
23374
+ }
23375
+ // Clear the cached reference
23376
+ this.cachedPageParent = undefined;
23102
23377
  }
23103
23378
  sheetOnDismiss() {
23104
23379
  /**
@@ -23188,6 +23463,7 @@ class Modal {
23188
23463
  }
23189
23464
  this.cleanupViewTransitionListener();
23190
23465
  this.cleanupParentRemovalObserver();
23466
+ this.cleanupChildRoutePassthrough();
23191
23467
  }
23192
23468
  this.currentBreakpoint = undefined;
23193
23469
  this.animation = undefined;
@@ -23384,6 +23660,17 @@ class Modal {
23384
23660
  this.cachedOriginalParent.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
23385
23661
  return;
23386
23662
  }
23663
+ /**
23664
+ * Don't observe for controller-based modals or when the parent is the
23665
+ * app root (document.body or ion-app). These parents won't be removed,
23666
+ * and observing document.body with subtree: true causes performance
23667
+ * issues with frameworks like Angular during change detection.
23668
+ */
23669
+ if (this.hasController ||
23670
+ this.cachedOriginalParent === document.body ||
23671
+ this.cachedOriginalParent.tagName === 'ION-APP') {
23672
+ return;
23673
+ }
23387
23674
  this.parentRemovalObserver = new MutationObserver((mutations) => {
23388
23675
  mutations.forEach((mutation) => {
23389
23676
  if (mutation.type === 'childList' && mutation.removedNodes.length > 0) {
@@ -23425,20 +23712,20 @@ class Modal {
23425
23712
  const isCardModal = presentingElement !== undefined && mode === 'ios';
23426
23713
  const isHandleCycle = handleBehavior === 'cycle';
23427
23714
  const isSheetModalWithHandle = isSheetModal && showHandle;
23428
- return (hAsync(Host, Object.assign({ key: '9e9a7bd591eb17a225a00b4fa2e379e94601d17f', "no-router": true,
23715
+ return (hAsync(Host, Object.assign({ key: '9a75095a13de0cfc96f1fa69fd92777d25da8daa', "no-router": true,
23429
23716
  // Allow the modal to be navigable when the handle is focusable
23430
23717
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
23431
23718
  zIndex: `${20000 + this.overlayIndex}`,
23432
- }, 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',
23719
+ }, 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',
23433
23720
  /*
23434
23721
  role and aria-modal must be used on the
23435
23722
  same element. They must also be set inside the
23436
23723
  shadow DOM otherwise ion-button will not be highlighted
23437
23724
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
23438
23725
  */
23439
- 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",
23726
+ 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",
23440
23727
  // Prevents the handle from receiving keyboard focus when it does not cycle
23441
- 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 }))));
23728
+ 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 }))));
23442
23729
  }
23443
23730
  get el() { return getElement(this); }
23444
23731
  static get watchers() { return {
@@ -23478,6 +23765,7 @@ class Modal {
23478
23765
  "keepContentsMounted": [4, "keep-contents-mounted"],
23479
23766
  "focusTrap": [4, "focus-trap"],
23480
23767
  "canDismiss": [4, "can-dismiss"],
23768
+ "isSheetModal": [32],
23481
23769
  "presented": [32],
23482
23770
  "present": [64],
23483
23771
  "dismiss": [64],
@@ -27545,6 +27833,10 @@ class Popover {
27545
27833
  if (destroyTriggerInteraction) {
27546
27834
  destroyTriggerInteraction();
27547
27835
  }
27836
+ if (this.headerResizeObserver) {
27837
+ this.headerResizeObserver.disconnect();
27838
+ this.headerResizeObserver = undefined;
27839
+ }
27548
27840
  }
27549
27841
  componentWillLoad() {
27550
27842
  var _a, _b;
@@ -27647,6 +27939,7 @@ class Popover {
27647
27939
  */
27648
27940
  this.ionMount.emit();
27649
27941
  this.usersElement = await attachComponent(delegate, el, this.component, ['popover-viewport'], this.componentProps, inline);
27942
+ this.recalculateContentOnHeaderReady();
27650
27943
  if (!this.keyboardEvents) {
27651
27944
  this.configureKeyboardInteraction();
27652
27945
  }
@@ -27692,6 +27985,35 @@ class Popover {
27692
27985
  }
27693
27986
  unlock();
27694
27987
  }
27988
+ /**
27989
+ * Watch the header for height changes and trigger content dimension
27990
+ * recalculation when the header has a height > 0. This sets the offset-top
27991
+ * of the content to the height of the header correctly.
27992
+ */
27993
+ recalculateContentOnHeaderReady() {
27994
+ var _a;
27995
+ const popoverContent = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.popover-content');
27996
+ if (!popoverContent) {
27997
+ return;
27998
+ }
27999
+ const contentContainer = this.usersElement || popoverContent;
28000
+ const header = contentContainer.querySelector('ion-header');
28001
+ const contentElements = contentContainer.querySelectorAll('ion-content');
28002
+ if (!header || contentElements.length === 0) {
28003
+ return;
28004
+ }
28005
+ this.headerResizeObserver = new ResizeObserver(async () => {
28006
+ var _a;
28007
+ if (header.offsetHeight > 0) {
28008
+ (_a = this.headerResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
28009
+ this.headerResizeObserver = undefined;
28010
+ for (const contentEl of contentElements) {
28011
+ await contentEl.recalculateDimensions();
28012
+ }
28013
+ }
28014
+ });
28015
+ this.headerResizeObserver.observe(header);
28016
+ }
27695
28017
  /**
27696
28018
  * Dismiss the popover overlay after it has been presented.
27697
28019
  * This is a no-op if the overlay has not been presented yet. If you want
@@ -27753,9 +28075,9 @@ class Popover {
27753
28075
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
27754
28076
  const desktop = isPlatform('desktop');
27755
28077
  const enableArrow = arrow && !parentPopover;
27756
- return (hAsync(Host, Object.assign({ key: '16866c02534968c982cf4730d2936d03a5107c8b', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
28078
+ return (hAsync(Host, Object.assign({ key: '42863f748c93f709d433931d969230137b37d42d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
27757
28079
  zIndex: `${20000 + this.overlayIndex}`,
27758
- }, 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' })))));
28080
+ }, 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' })))));
27759
28081
  }
27760
28082
  get el() { return getElement(this); }
27761
28083
  static get watchers() { return {
@@ -33627,13 +33949,18 @@ class Select {
33627
33949
  .filter((cls) => cls !== 'hydrated')
33628
33950
  .join(' ');
33629
33951
  const optClass = `${OPTION_CLASS} ${copyClasses}`;
33952
+ const isSelected = isOptionSelected(selectValue, value, this.compareWith);
33630
33953
  return {
33631
- role: isOptionSelected(selectValue, value, this.compareWith) ? 'selected' : '',
33954
+ role: isSelected ? 'selected' : '',
33632
33955
  text: option.textContent,
33633
33956
  cssClass: optClass,
33634
33957
  handler: () => {
33635
33958
  this.setValue(value);
33636
33959
  },
33960
+ htmlAttributes: {
33961
+ 'aria-checked': isSelected ? 'true' : 'false',
33962
+ role: 'radio',
33963
+ },
33637
33964
  };
33638
33965
  });
33639
33966
  // Add "cancel" button
@@ -34014,7 +34341,7 @@ class Select {
34014
34341
  * TODO(FW-5592): Remove hasStartEndSlots condition
34015
34342
  */
34016
34343
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
34017
- return (hAsync(Host, { key: '35b5e18e6f79a802ff2d46d1242e80ff755cc0b9', onClick: this.onClick, class: createColorClasses$1(this.color, {
34344
+ return (hAsync(Host, { key: 'd8026835993d0e6dce747098f741a06ae4e4f54d', onClick: this.onClick, class: createColorClasses$1(this.color, {
34018
34345
  [mode]: true,
34019
34346
  'in-item': inItem,
34020
34347
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -34032,7 +34359,7 @@ class Select {
34032
34359
  [`select-justify-${justify}`]: justifyEnabled,
34033
34360
  [`select-shape-${shape}`]: shape !== undefined,
34034
34361
  [`select-label-placement-${labelPlacement}`]: true,
34035
- }) }, 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()));
34362
+ }) }, 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()));
34036
34363
  }
34037
34364
  get el() { return getElement(this); }
34038
34365
  static get watchers() { return {