@ionic/core 8.8.14-dev.11783984044.10eaba06 → 8.8.14-dev.11784037956.17449639

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 (349) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-action-sheet.js +1 -1
  3. package/components/ion-alert.js +1 -1
  4. package/components/ion-back-button.js +1 -1
  5. package/components/ion-button.js +1 -1
  6. package/components/ion-card.js +1 -1
  7. package/components/ion-chip.js +1 -1
  8. package/components/ion-datetime-button.js +1 -1
  9. package/components/ion-datetime.js +1 -1
  10. package/components/ion-fab-button.js +1 -1
  11. package/components/ion-img.js +1 -1
  12. package/components/ion-infinite-scroll-content.js +1 -1
  13. package/components/ion-input-password-toggle.js +1 -1
  14. package/components/ion-input.js +1 -1
  15. package/components/ion-item-option.js +1 -1
  16. package/components/ion-item.js +1 -1
  17. package/components/ion-loading.js +1 -1
  18. package/components/ion-menu-button.js +1 -1
  19. package/components/ion-menu.js +1 -1
  20. package/components/ion-modal.js +1 -1
  21. package/components/ion-picker-legacy-column.d.ts +11 -0
  22. package/components/ion-picker-legacy-column.js +4 -0
  23. package/components/ion-picker-legacy.d.ts +11 -0
  24. package/components/ion-picker-legacy.js +4 -0
  25. package/components/ion-popover.js +1 -1
  26. package/components/ion-progress-bar.js +1 -1
  27. package/components/ion-radio.js +1 -1
  28. package/components/ion-range.js +1 -1
  29. package/components/ion-refresher-content.js +1 -1
  30. package/components/ion-refresher.js +1 -1
  31. package/components/ion-reorder-group.js +1 -1
  32. package/components/ion-reorder.js +1 -1
  33. package/components/ion-ripple-effect.js +1 -1
  34. package/components/ion-router-link.js +1 -1
  35. package/components/ion-router-outlet.js +1 -1
  36. package/components/ion-row.js +1 -1
  37. package/components/ion-searchbar.js +1 -1
  38. package/components/ion-segment-button.js +1 -1
  39. package/components/ion-segment-content.js +1 -1
  40. package/components/ion-segment-view.js +1 -1
  41. package/components/ion-segment.js +1 -1
  42. package/components/ion-select-modal.js +1 -1
  43. package/components/ion-select-option.js +1 -1
  44. package/components/ion-select-popover.js +1 -1
  45. package/components/ion-select.js +1 -1
  46. package/components/ion-skeleton-text.js +1 -1
  47. package/components/ion-spinner.js +1 -1
  48. package/components/ion-split-pane.js +1 -1
  49. package/components/ion-tab-bar.js +1 -1
  50. package/components/ion-tab-button.js +1 -1
  51. package/components/ion-tab.js +1 -1
  52. package/components/ion-tabs.js +1 -1
  53. package/components/ion-text.js +1 -1
  54. package/components/ion-textarea.js +1 -1
  55. package/components/ion-thumbnail.js +1 -1
  56. package/components/ion-title.js +1 -1
  57. package/components/ion-toast.js +1 -1
  58. package/components/ion-toggle.js +1 -1
  59. package/components/ion-toolbar.js +1 -1
  60. package/components/{p-DpV-p5Xs.js → p-5bE_Wz4Y.js} +1 -1
  61. package/components/p-B1BWKArA.js +4 -0
  62. package/components/p-B4PlLGHT.js +4 -0
  63. package/components/{p-r0aq7dpt.js → p-B60hm8Qv.js} +1 -1
  64. package/components/p-BFsEcwW9.js +4 -0
  65. package/components/{p-Buf_7zcy.js → p-BHrrc-3d.js} +1 -1
  66. package/components/{p-XJWMAP8m.js → p-BLmJ0zRm.js} +1 -1
  67. package/components/{p-DhkITZ-y.js → p-BSEgsdFI.js} +1 -1
  68. package/components/p-CFRyvUvJ.js +4 -0
  69. package/components/p-CU5rbWAW.js +4 -0
  70. package/components/{p-Dz74mwlk.js → p-Cfx4M1Bn.js} +1 -1
  71. package/components/p-CgLiHbz0.js +4 -0
  72. package/components/p-MLyEeL3Q.js +4 -0
  73. package/components/p-PgMVWD8U.js +4 -0
  74. package/components/p-k_E4tX5Z.js +4 -0
  75. package/components/{p-wk2QqrAo.js → p-rCa2eL0j.js} +1 -1
  76. package/dist/cjs/config-xninhj0J.js +201 -0
  77. package/dist/cjs/index.cjs.js +6 -6
  78. package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -27
  79. package/dist/cjs/ion-alert.cjs.entry.js +25 -64
  80. package/dist/cjs/ion-app_8.cjs.entry.js +9 -23
  81. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  82. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  83. package/dist/cjs/{ion-datetime.cjs.entry.js → ion-datetime_3.cjs.entry.js} +639 -1
  84. package/dist/cjs/ion-img.cjs.entry.js +1 -3
  85. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -3
  86. package/dist/cjs/ion-input.cjs.entry.js +4 -4
  87. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  88. package/dist/cjs/ion-loading.cjs.entry.js +5 -10
  89. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  90. package/dist/cjs/ion-modal.cjs.entry.js +33 -23
  91. package/dist/cjs/ion-popover.cjs.entry.js +5 -9
  92. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  93. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -3
  94. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  95. package/dist/cjs/ion-refresher_2.cjs.entry.js +5 -6
  96. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  97. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  98. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  99. package/dist/cjs/ion-searchbar.cjs.entry.js +5 -5
  100. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  101. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  102. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  103. package/dist/cjs/ion-select-modal.cjs.entry.js +30 -84
  104. package/dist/cjs/ion-select_3.cjs.entry.js +49 -407
  105. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  106. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  107. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  108. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  109. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  110. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  111. package/dist/cjs/ion-toast.cjs.entry.js +5 -6
  112. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  113. package/dist/cjs/ionic.cjs.js +1 -1
  114. package/dist/cjs/loader.cjs.js +1 -1
  115. package/dist/cjs/{overlays-DSmSrd_4.js → overlays-B9UiYZ4R.js} +30 -27
  116. package/dist/collection/collection-manifest.json +10 -6
  117. package/dist/collection/components/action-sheet/action-sheet.ios.css +2 -229
  118. package/dist/collection/components/action-sheet/action-sheet.js +5 -24
  119. package/dist/collection/components/action-sheet/action-sheet.md.css +2 -175
  120. package/dist/collection/components/alert/alert.ios.css +10 -280
  121. package/dist/collection/components/alert/alert.js +21 -59
  122. package/dist/collection/components/alert/alert.md.css +20 -269
  123. package/dist/collection/components/img/img.js +1 -6
  124. package/dist/collection/components/input/input.js +8 -8
  125. package/dist/collection/components/loading/loading.js +3 -7
  126. package/dist/collection/components/modal/gestures/sheet.js +8 -0
  127. package/dist/collection/components/modal/gestures/swipe-to-close.js +8 -0
  128. package/dist/collection/components/modal/modal.ios.css +8 -0
  129. package/dist/collection/components/modal/modal.js +17 -23
  130. package/dist/collection/components/modal/modal.md.css +8 -0
  131. package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
  132. package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
  133. package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
  134. package/dist/collection/components/picker-legacy/picker.ios.css +300 -0
  135. package/dist/collection/components/picker-legacy/picker.js +890 -0
  136. package/dist/collection/components/picker-legacy/picker.md.css +287 -0
  137. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +231 -0
  138. package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
  139. package/dist/collection/components/picker-legacy-column/picker-column.md.css +222 -0
  140. package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
  141. package/dist/collection/components/popover/popover.ios.css +0 -15
  142. package/dist/collection/components/popover/popover.js +3 -7
  143. package/dist/collection/components/popover/popover.md.css +0 -15
  144. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  145. package/dist/collection/components/radio/radio.js +4 -4
  146. package/dist/collection/components/range/range.js +3 -3
  147. package/dist/collection/components/refresher/refresher.js +1 -1
  148. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  149. package/dist/collection/components/reorder/reorder.js +1 -1
  150. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  151. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  152. package/dist/collection/components/router-link/router-link.js +2 -2
  153. package/dist/collection/components/router-outlet/router-outlet.js +5 -38
  154. package/dist/collection/components/row/row.js +1 -1
  155. package/dist/collection/components/searchbar/searchbar.js +9 -9
  156. package/dist/collection/components/segment/segment.js +2 -2
  157. package/dist/collection/components/segment-button/segment-button.js +2 -2
  158. package/dist/collection/components/segment-content/segment-content.js +1 -1
  159. package/dist/collection/components/segment-view/segment-view.js +2 -2
  160. package/dist/collection/components/select/select.ios.css +0 -33
  161. package/dist/collection/components/select/select.js +16 -323
  162. package/dist/collection/components/select/select.md.css +0 -33
  163. package/dist/collection/components/select-modal/select-modal.ios.css +0 -219
  164. package/dist/collection/components/select-modal/select-modal.js +26 -79
  165. package/dist/collection/components/select-modal/select-modal.md.css +0 -165
  166. package/dist/collection/components/select-option/select-option.js +3 -67
  167. package/dist/collection/components/select-popover/select-popover.ios.css +0 -219
  168. package/dist/collection/components/select-popover/select-popover.js +26 -78
  169. package/dist/collection/components/select-popover/select-popover.md.css +0 -165
  170. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  171. package/dist/collection/components/spinner/spinner.js +1 -1
  172. package/dist/collection/components/split-pane/split-pane.js +2 -2
  173. package/dist/collection/components/tab/tab.js +2 -2
  174. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  175. package/dist/collection/components/tab-button/tab-button.js +2 -2
  176. package/dist/collection/components/tabs/tabs.js +1 -1
  177. package/dist/collection/components/text/text.js +2 -2
  178. package/dist/collection/components/textarea/textarea.js +2 -2
  179. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  180. package/dist/collection/components/title/title.js +2 -2
  181. package/dist/collection/components/toast/toast.js +2 -2
  182. package/dist/collection/components/toggle/toggle.js +3 -3
  183. package/dist/collection/components/toolbar/toolbar.js +2 -2
  184. package/dist/collection/index.js +1 -1
  185. package/dist/collection/utils/overlays.js +29 -26
  186. package/dist/collection/utils/sanitization/index.js +18 -274
  187. package/dist/docs.json +1177 -485
  188. package/dist/esm/config-DQCONYYp.js +195 -0
  189. package/dist/esm/{index-AlrZKoWR.js → index-DV3sJJW8.js} +1 -1
  190. package/dist/esm/index.js +2 -3
  191. package/dist/esm/ion-accordion_2.entry.js +1 -1
  192. package/dist/esm/ion-action-sheet.entry.js +7 -27
  193. package/dist/esm/ion-alert.entry.js +24 -63
  194. package/dist/esm/ion-app_8.entry.js +9 -23
  195. package/dist/esm/ion-avatar_3.entry.js +1 -1
  196. package/dist/esm/ion-back-button.entry.js +1 -1
  197. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  198. package/dist/esm/ion-col_3.entry.js +1 -1
  199. package/dist/esm/{ion-datetime.entry.js → ion-datetime_3.entry.js} +641 -5
  200. package/dist/esm/ion-fab_3.entry.js +1 -1
  201. package/dist/esm/ion-img.entry.js +2 -4
  202. package/dist/esm/ion-infinite-scroll_2.entry.js +1 -2
  203. package/dist/esm/ion-input-password-toggle.entry.js +1 -1
  204. package/dist/esm/ion-input.entry.js +5 -5
  205. package/dist/esm/ion-item_8.entry.js +3 -3
  206. package/dist/esm/ion-loading.entry.js +4 -9
  207. package/dist/esm/ion-menu_3.entry.js +2 -2
  208. package/dist/esm/ion-modal.entry.js +33 -23
  209. package/dist/esm/ion-popover.entry.js +5 -9
  210. package/dist/esm/ion-progress-bar.entry.js +1 -1
  211. package/dist/esm/ion-radio_2.entry.js +3 -3
  212. package/dist/esm/ion-range.entry.js +3 -3
  213. package/dist/esm/ion-refresher_2.entry.js +4 -5
  214. package/dist/esm/ion-reorder_2.entry.js +3 -3
  215. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  216. package/dist/esm/ion-route_4.entry.js +2 -2
  217. package/dist/esm/ion-searchbar.entry.js +6 -6
  218. package/dist/esm/ion-segment-content.entry.js +1 -1
  219. package/dist/esm/ion-segment-view.entry.js +2 -2
  220. package/dist/esm/ion-segment_2.entry.js +4 -4
  221. package/dist/esm/ion-select-modal.entry.js +30 -84
  222. package/dist/esm/ion-select_3.entry.js +52 -410
  223. package/dist/esm/ion-spinner.entry.js +1 -1
  224. package/dist/esm/ion-split-pane.entry.js +2 -2
  225. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  226. package/dist/esm/ion-tab_2.entry.js +3 -3
  227. package/dist/esm/ion-text.entry.js +2 -2
  228. package/dist/esm/ion-textarea.entry.js +2 -2
  229. package/dist/esm/ion-toast.entry.js +4 -5
  230. package/dist/esm/ion-toggle.entry.js +4 -4
  231. package/dist/esm/ionic.js +1 -1
  232. package/dist/esm/loader.js +1 -1
  233. package/dist/esm/{overlays-DLNOHWNc.js → overlays-Bmfhux69.js} +31 -28
  234. package/dist/html.html-data.json +79 -51
  235. package/dist/ionic/index.esm.js +1 -1
  236. package/dist/ionic/ionic.esm.js +1 -1
  237. package/dist/ionic/p-01f81ea5.entry.js +4 -0
  238. package/dist/ionic/p-02473803.entry.js +4 -0
  239. package/dist/ionic/{p-fe4aa1db.entry.js → p-0fa9c382.entry.js} +1 -1
  240. package/dist/ionic/p-20b1a044.entry.js +4 -0
  241. package/dist/ionic/p-21eb76d5.entry.js +4 -0
  242. package/dist/ionic/p-27d30585.entry.js +4 -0
  243. package/dist/ionic/p-2bb2cb18.entry.js +4 -0
  244. package/dist/ionic/p-2f529a55.entry.js +4 -0
  245. package/dist/ionic/{p-80b44b3c.entry.js → p-3353c229.entry.js} +1 -1
  246. package/dist/ionic/{p-a7628bc7.entry.js → p-37e720da.entry.js} +1 -1
  247. package/dist/ionic/{p-9177f4ac.entry.js → p-390ca786.entry.js} +1 -1
  248. package/dist/ionic/{p-259d0d98.entry.js → p-3a126bca.entry.js} +1 -1
  249. package/dist/ionic/{p-4502a274.entry.js → p-3a7d1e91.entry.js} +1 -1
  250. package/dist/ionic/{p-627fabd9.entry.js → p-3ae5f277.entry.js} +1 -1
  251. package/dist/ionic/{p-a5213260.entry.js → p-4858af1f.entry.js} +1 -1
  252. package/dist/ionic/p-485fda23.entry.js +4 -0
  253. package/dist/ionic/p-48fa7fb1.entry.js +4 -0
  254. package/dist/ionic/p-4baa5b82.entry.js +4 -0
  255. package/dist/ionic/p-4d9181c7.entry.js +4 -0
  256. package/dist/ionic/p-50e1194a.entry.js +4 -0
  257. package/dist/ionic/p-532eb373.entry.js +4 -0
  258. package/dist/ionic/{p-76e92a84.entry.js → p-5d1da0a2.entry.js} +1 -1
  259. package/dist/ionic/{p-d2c7f046.entry.js → p-75dc25ba.entry.js} +1 -1
  260. package/dist/ionic/{p-b9ac1fe0.entry.js → p-84d5ce05.entry.js} +1 -1
  261. package/dist/ionic/{p-51cd1643.entry.js → p-874b4bd8.entry.js} +1 -1
  262. package/dist/ionic/{p-ef93ca92.entry.js → p-8eb8ee76.entry.js} +1 -1
  263. package/dist/ionic/{p-14095ba5.entry.js → p-8fce95d5.entry.js} +1 -1
  264. package/dist/ionic/{p-db1b6738.entry.js → p-9a65ac7f.entry.js} +1 -1
  265. package/dist/ionic/{p-7a37b3ce.entry.js → p-9f1103ce.entry.js} +1 -1
  266. package/dist/ionic/p-B0zdMdR0.js +4 -0
  267. package/dist/ionic/{p-AlrZKoWR.js → p-DV3sJJW8.js} +1 -1
  268. package/dist/ionic/p-DzWaWHGc.js +4 -0
  269. package/dist/ionic/p-a21add2f.entry.js +4 -0
  270. package/dist/ionic/p-ab60b48a.entry.js +4 -0
  271. package/dist/ionic/{p-d8387b99.entry.js → p-c4d8641b.entry.js} +1 -1
  272. package/dist/ionic/{p-c93553d2.entry.js → p-cf91e738.entry.js} +1 -1
  273. package/dist/ionic/{p-629e4703.entry.js → p-e0be05c5.entry.js} +1 -1
  274. package/dist/ionic/p-ec090e0a.entry.js +4 -0
  275. package/dist/ionic/{p-b1599fca.entry.js → p-ef4c3bee.entry.js} +1 -1
  276. package/dist/ionic/p-f994dc44.entry.js +4 -0
  277. package/dist/ionic/{p-341032b3.entry.js → p-fabcce6c.entry.js} +1 -1
  278. package/dist/ionic/p-fd76f647.entry.js +4 -0
  279. package/dist/ionic/p-fda60562.entry.js +4 -0
  280. package/dist/types/components/img/img.d.ts +0 -2
  281. package/dist/types/components/input/input.d.ts +1 -1
  282. package/dist/types/components/modal/modal.d.ts +4 -11
  283. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
  284. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
  285. package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
  286. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  287. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  288. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
  289. package/dist/types/components/router-outlet/router-outlet.d.ts +0 -7
  290. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  291. package/dist/types/components/select/select-interface.d.ts +0 -31
  292. package/dist/types/components/select/select.d.ts +0 -18
  293. package/dist/types/components/select-option/select-option.d.ts +1 -42
  294. package/dist/types/components.d.ts +288 -72
  295. package/dist/types/index.d.ts +1 -1
  296. package/dist/types/interface.d.ts +1 -0
  297. package/dist/types/utils/config.d.ts +8 -0
  298. package/dist/types/utils/overlays.d.ts +9 -11
  299. package/dist/types/utils/sanitization/index.d.ts +2 -58
  300. package/hydrate/index.js +1188 -1407
  301. package/hydrate/index.mjs +1188 -1407
  302. package/package.json +5 -37
  303. package/components/p-279dFMvg.js +0 -4
  304. package/components/p-BSQPZ79H.js +0 -4
  305. package/components/p-BwKpO3Is.js +0 -4
  306. package/components/p-C-Rx1zny.js +0 -4
  307. package/components/p-CHzfYZbv.js +0 -4
  308. package/components/p-D4h1H_hh.js +0 -4
  309. package/components/p-LMGfIvTf.js +0 -4
  310. package/components/p-_lHSumhG.js +0 -4
  311. package/components/p-j9Da6cYO.js +0 -4
  312. package/components/p-jOtMJMv8.js +0 -4
  313. package/components/p-uTR_dEqg.js +0 -4
  314. package/dist/cjs/config-DWdFbSNK.js +0 -35
  315. package/dist/cjs/index-Cueg3U4w.js +0 -429
  316. package/dist/cjs/overlay-control-label-D2sdL2O8.js +0 -50
  317. package/dist/cjs/select-option-render-DTF50t5r.js +0 -124
  318. package/dist/collection/utils/overlay-control-label.js +0 -45
  319. package/dist/collection/utils/select-option-render.js +0 -119
  320. package/dist/esm/config-BwKpO3Is.js +0 -31
  321. package/dist/esm/index-DQSkZyOJ.js +0 -424
  322. package/dist/esm/overlay-control-label-BSQPZ79H.js +0 -47
  323. package/dist/esm/select-option-render-B8nWZRnd.js +0 -122
  324. package/dist/ionic/p-038eb991.entry.js +0 -4
  325. package/dist/ionic/p-4621c387.entry.js +0 -4
  326. package/dist/ionic/p-4ace7762.entry.js +0 -4
  327. package/dist/ionic/p-4bb3eb60.entry.js +0 -4
  328. package/dist/ionic/p-4e9ec5c5.entry.js +0 -4
  329. package/dist/ionic/p-5c3ec490.entry.js +0 -4
  330. package/dist/ionic/p-5d1ac2c7.entry.js +0 -4
  331. package/dist/ionic/p-700795f6.entry.js +0 -4
  332. package/dist/ionic/p-79a36078.entry.js +0 -4
  333. package/dist/ionic/p-913b218a.entry.js +0 -4
  334. package/dist/ionic/p-BDtODLZ4.js +0 -4
  335. package/dist/ionic/p-BSQPZ79H.js +0 -4
  336. package/dist/ionic/p-BwKpO3Is.js +0 -4
  337. package/dist/ionic/p-Cg5-OQYy.js +0 -4
  338. package/dist/ionic/p-DCOvXkOm.js +0 -4
  339. package/dist/ionic/p-a9a33367.entry.js +0 -4
  340. package/dist/ionic/p-ad728198.entry.js +0 -4
  341. package/dist/ionic/p-bfc8c629.entry.js +0 -4
  342. package/dist/ionic/p-c08e666a.entry.js +0 -4
  343. package/dist/ionic/p-ce7992c4.entry.js +0 -4
  344. package/dist/ionic/p-ed797c72.entry.js +0 -4
  345. package/dist/ionic/p-f09f9642.entry.js +0 -4
  346. package/dist/ionic/p-f1c06f82.entry.js +0 -4
  347. package/dist/ionic/p-f718fccb.entry.js +0 -4
  348. package/dist/types/utils/overlay-control-label.d.ts +0 -32
  349. package/dist/types/utils/select-option-render.d.ts +0 -53
@@ -126,6 +126,14 @@ ion-backdrop {
126
126
  z-index: 10;
127
127
  }
128
128
 
129
+ /**
130
+ * The wrapper receives programmatic focus for screen readers but should not
131
+ * show a visible focus ring, which is meant only for keyboard navigation.
132
+ */
133
+ .modal-wrapper {
134
+ outline: none;
135
+ }
136
+
129
137
  .modal-shadow {
130
138
  position: absolute;
131
139
  background: transparent;
@@ -8,7 +8,7 @@ import { raf, inheritAttributes, hasLazyBuild, getElementRoot } from "../../util
8
8
  import { createLockController } from "../../utils/lock-controller";
9
9
  import { printIonWarning } from "../../utils/logging/index";
10
10
  import { Style as StatusBarStyle, StatusBar } from "../../utils/native/status-bar";
11
- import { BACKDROP, cleanupRootFocusTrapAccessibility, createTriggerController, dismiss, eventMethod, FOCUS_TRAP_DISABLE_CLASS, GESTURE, prepareOverlay, present, setOverlayId, } from "../../utils/overlays";
11
+ import { GESTURE, BACKDROP, dismiss, eventMethod, prepareOverlay, present, createTriggerController, setOverlayId, FOCUS_TRAP_DISABLE_CLASS, } from "../../utils/overlays";
12
12
  import { getClassMap } from "../../utils/theme";
13
13
  import { deepReady, waitForMount } from "../../utils/transition/index";
14
14
  import { config } from "../../global/config";
@@ -77,20 +77,13 @@ export class Modal {
77
77
  /**
78
78
  * The interaction behavior for the sheet modal when the handle is pressed.
79
79
  *
80
- * Handle behavior is unavailable when the `handle` property is set to
81
- * `false` or when the `breakpoints` property is not set (using a
82
- * fullscreen or card modal).
80
+ * Defaults to `"none"`, which means the modal will not change size or position when the handle is pressed.
81
+ * Set to `"cycle"` to let the modal cycle between available breakpoints when pressed.
83
82
  *
84
- * Set to `"cycle"` to make the handle focusable and let the sheet modal
85
- * cycle between available breakpoints when pressed. This keeps the sheet
86
- * operable with assistive technology.
87
- *
88
- * Set to `"none"` to make the handle purely decorative when pressed and
89
- * removed from the tab order.
90
- *
91
- * Defaults to `"cycle"`.
83
+ * Handle behavior is unavailable when the `handle` property is set to `false` or
84
+ * when the `breakpoints` property is not set (using a fullscreen or card modal).
92
85
  */
93
- this.handleBehavior = 'cycle';
86
+ this.handleBehavior = 'none';
94
87
  /**
95
88
  * If `true`, the modal will be dismissed when the backdrop is clicked.
96
89
  */
@@ -282,10 +275,6 @@ export class Modal {
282
275
  // Also called in dismiss() — intentional dual cleanup covers both
283
276
  // dismiss-then-remove and direct DOM removal without dismiss.
284
277
  this.cleanupSafeAreaOverrides();
285
- // Clean up aria-hidden if removed without dismiss() being called
286
- if (this.presented) {
287
- cleanupRootFocusTrapAccessibility();
288
- }
289
278
  }
290
279
  componentWillLoad() {
291
280
  var _a;
@@ -1173,20 +1162,25 @@ export class Modal {
1173
1162
  const isCardModal = presentingElement !== undefined && mode === 'ios';
1174
1163
  const isHandleCycle = handleBehavior === 'cycle';
1175
1164
  const isSheetModalWithHandle = isSheetModal && showHandle;
1176
- return (h(Host, Object.assign({ key: '528f9e354f470e22563938e7531e3f23a97e4200', "no-router": true,
1165
+ return (h(Host, Object.assign({ key: 'ab93657f4a5b4c97168d292b398d975e4b5b4af4', "no-router": true,
1177
1166
  // Allow the modal to be navigable when the handle is focusable
1178
1167
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
1179
1168
  zIndex: `${20000 + this.overlayIndex}`,
1180
- }, 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 }), h("ion-backdrop", { key: '53983c96bc6b30df89986c8d9c978a8e6f78fe80', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: '34288a7343b7c47fed00d3abc73957f45f06d2fd', class: "modal-shadow" }), h("div", Object.assign({ key: 'f9b37f547bd5c61037bbad1a71bfed80ba8c630b',
1169
+ }, 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 }), h("ion-backdrop", { key: '5ba6315c7c8c64fa04c62f85fd493da5275b2cbd', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { key: 'a76c48d41c67f86c18a7481e980e6925e614f85d', class: "modal-shadow" }), h("div", Object.assign({ key: '871a7ba7389f477acb011fc3b1c0a27760d0bfa7',
1181
1170
  /*
1182
1171
  role and aria-modal must be used on the
1183
1172
  same element. They must also be set inside the
1184
1173
  shadow DOM otherwise ion-button will not be highlighted
1185
1174
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
1175
+
1176
+ tabIndex={-1} is required so present() can move focus to this
1177
+ element (which carries the dialog role) instead of the role-less
1178
+ host. role="dialog" alone does not make an element focusable, so
1179
+ without the tabindex focus() would be a no-op.
1186
1180
  */
1187
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: 'b8741594108d3ea681ff41ff8f2241a4119578b1', class: "modal-handle",
1181
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", tabIndex: -1, class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '44017261773bc2593d451d2dc805ae83923e679c', class: "modal-handle",
1188
1182
  // Prevents the handle from receiving keyboard focus when it does not cycle
1189
- 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) })), h("slot", { key: 'bcc7960fae3fed09076c704d08c3afc46caa0738', onSlotchange: this.onSlotChange }))));
1183
+ 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) })), h("slot", { key: '006de71db3e69911ce6f4b10550ddb8aa0353997', onSlotchange: this.onSlotChange }))));
1190
1184
  }
1191
1185
  static get is() { return "ion-modal"; }
1192
1186
  static get encapsulation() { return "shadow"; }
@@ -1458,13 +1452,13 @@ export class Modal {
1458
1452
  "optional": true,
1459
1453
  "docs": {
1460
1454
  "tags": [],
1461
- "text": "The interaction behavior for the sheet modal when the handle is pressed.\n\nHandle behavior is unavailable when the `handle` property is set to\n`false` or when the `breakpoints` property is not set (using a\nfullscreen or card modal).\n\nSet to `\"cycle\"` to make the handle focusable and let the sheet modal\ncycle between available breakpoints when pressed. This keeps the sheet\noperable with assistive technology.\n\nSet to `\"none\"` to make the handle purely decorative when pressed and\nremoved from the tab order.\n\nDefaults to `\"cycle\"`."
1455
+ "text": "The interaction behavior for the sheet modal when the handle is pressed.\n\nDefaults to `\"none\"`, which means the modal will not change size or position when the handle is pressed.\nSet to `\"cycle\"` to let the modal cycle between available breakpoints when pressed.\n\nHandle behavior is unavailable when the `handle` property is set to `false` or\nwhen the `breakpoints` property is not set (using a fullscreen or card modal)."
1462
1456
  },
1463
1457
  "getter": false,
1464
1458
  "setter": false,
1465
1459
  "reflect": false,
1466
1460
  "attribute": "handle-behavior",
1467
- "defaultValue": "'cycle'"
1461
+ "defaultValue": "'none'"
1468
1462
  },
1469
1463
  "component": {
1470
1464
  "type": "string",
@@ -126,6 +126,14 @@ ion-backdrop {
126
126
  z-index: 10;
127
127
  }
128
128
 
129
+ /**
130
+ * The wrapper receives programmatic focus for screen readers but should not
131
+ * show a visible focus ring, which is meant only for keyboard navigation.
132
+ */
133
+ .modal-wrapper {
134
+ outline: none;
135
+ }
136
+
129
137
  .modal-shadow {
130
138
  position: absolute;
131
139
  background: transparent;
@@ -0,0 +1,27 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { createAnimation } from "../../../utils/animation/animation";
5
+ /**
6
+ * iOS Picker Enter Animation
7
+ */
8
+ export const iosEnterAnimation = (baseEl) => {
9
+ const baseAnimation = createAnimation();
10
+ const backdropAnimation = createAnimation();
11
+ const wrapperAnimation = createAnimation();
12
+ backdropAnimation
13
+ .addElement(baseEl.querySelector('ion-backdrop'))
14
+ .fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
15
+ .beforeStyles({
16
+ 'pointer-events': 'none',
17
+ })
18
+ .afterClearStyles(['pointer-events']);
19
+ wrapperAnimation
20
+ .addElement(baseEl.querySelector('.picker-wrapper'))
21
+ .fromTo('transform', 'translateY(100%)', 'translateY(0%)');
22
+ return baseAnimation
23
+ .addElement(baseEl)
24
+ .easing('cubic-bezier(.36,.66,.04,1)')
25
+ .duration(400)
26
+ .addAnimation([backdropAnimation, wrapperAnimation]);
27
+ };
@@ -0,0 +1,23 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { createAnimation } from "../../../utils/animation/animation";
5
+ /**
6
+ * iOS Picker Leave Animation
7
+ */
8
+ export const iosLeaveAnimation = (baseEl) => {
9
+ const baseAnimation = createAnimation();
10
+ const backdropAnimation = createAnimation();
11
+ const wrapperAnimation = createAnimation();
12
+ backdropAnimation
13
+ .addElement(baseEl.querySelector('ion-backdrop'))
14
+ .fromTo('opacity', 'var(--backdrop-opacity)', 0.01);
15
+ wrapperAnimation
16
+ .addElement(baseEl.querySelector('.picker-wrapper'))
17
+ .fromTo('transform', 'translateY(0%)', 'translateY(100%)');
18
+ return baseAnimation
19
+ .addElement(baseEl)
20
+ .easing('cubic-bezier(.36,.66,.04,1)')
21
+ .duration(400)
22
+ .addAnimation([backdropAnimation, wrapperAnimation]);
23
+ };
@@ -0,0 +1,300 @@
1
+ /**
2
+ * Convert a font size to a dynamic font size.
3
+ * Fonts that participate in Dynamic Type should use
4
+ * dynamic font sizes.
5
+ * @param size - The initial font size including the unit (i.e. px or pt)
6
+ * @param unit (optional) - The unit to convert to. Use this if you want to
7
+ * convert to a unit other than $baselineUnit.
8
+ */
9
+ /**
10
+ * Convert a font size to a dynamic font size but impose
11
+ * a maximum font size.
12
+ * @param size - The initial font size including the unit (i.e. px or pt)
13
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
+ * convert to a unit other than $baselineUnit.
16
+ */
17
+ /**
18
+ * Convert a font size to a dynamic font size but impose
19
+ * a minimum font size.
20
+ * @param size - The initial font size including the unit (i.e. px or pt)
21
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
+ * convert to a unit other than $baselineUnit.
24
+ */
25
+ /**
26
+ * Convert a font size to a dynamic font size but impose
27
+ * maximum and minimum font sizes.
28
+ * @param size - The initial font size including the unit (i.e. px or pt)
29
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
+ * convert to a unit other than $baselineUnit.
33
+ */
34
+ /**
35
+ * A heuristic that applies CSS to tablet
36
+ * viewports.
37
+ *
38
+ * Usage:
39
+ * @include tablet-viewport() {
40
+ * :host {
41
+ * background-color: green;
42
+ * }
43
+ * }
44
+ */
45
+ /**
46
+ * A heuristic that applies CSS to mobile
47
+ * viewports (i.e. phones, not tablets).
48
+ *
49
+ * Usage:
50
+ * @include mobile-viewport() {
51
+ * :host {
52
+ * background-color: blue;
53
+ * }
54
+ * }
55
+ */
56
+ :host {
57
+ /**
58
+ * @prop --background: Background of the picker
59
+ * @prop --background-rgb: Background of the picker in rgb format
60
+ *
61
+ * @prop --border-radius: Border radius of the picker
62
+ * @prop --border-color: Border color of the picker
63
+ * @prop --border-width: Border width of the picker
64
+ * @prop --border-style: Border style of the picker
65
+ *
66
+ * @prop --min-width: Minimum width of the picker
67
+ * @prop --width: Width of the picker
68
+ * @prop --max-width: Maximum width of the picker
69
+ *
70
+ * @prop --min-height: Minimum height of the picker
71
+ * @prop --height: Height of the picker
72
+ * @prop --max-height: Maximum height of the picker
73
+ *
74
+ * @prop --backdrop-opacity: Opacity of the backdrop
75
+ */
76
+ --border-radius: 0;
77
+ --border-style: solid;
78
+ --min-width: auto;
79
+ --width: 100%;
80
+ --max-width: 500px;
81
+ --min-height: auto;
82
+ --max-height: auto;
83
+ -moz-osx-font-smoothing: grayscale;
84
+ -webkit-font-smoothing: antialiased;
85
+ top: 0;
86
+ display: block;
87
+ position: absolute;
88
+ width: 100%;
89
+ height: 100%;
90
+ outline: none;
91
+ font-family: var(--ion-font-family, inherit);
92
+ contain: strict;
93
+ user-select: none;
94
+ z-index: 1001;
95
+ }
96
+ :host {
97
+ inset-inline-start: 0;
98
+ }
99
+
100
+ :host(.overlay-hidden) {
101
+ display: none;
102
+ }
103
+
104
+ .picker-wrapper {
105
+ border-radius: var(--border-radius);
106
+ left: 0;
107
+ right: 0;
108
+ bottom: 0;
109
+ -webkit-margin-start: auto;
110
+ margin-inline-start: auto;
111
+ -webkit-margin-end: auto;
112
+ margin-inline-end: auto;
113
+ margin-top: auto;
114
+ margin-bottom: auto;
115
+ transform: translate3d(0, 100%, 0);
116
+ display: flex;
117
+ position: absolute;
118
+ flex-direction: column;
119
+ width: var(--width);
120
+ min-width: var(--min-width);
121
+ max-width: var(--max-width);
122
+ height: var(--height);
123
+ min-height: var(--min-height);
124
+ max-height: var(--max-height);
125
+ border-width: var(--border-width);
126
+ border-style: var(--border-style);
127
+ border-color: var(--border-color);
128
+ background: var(--background);
129
+ contain: strict;
130
+ overflow: hidden;
131
+ z-index: 10;
132
+ }
133
+
134
+ .picker-toolbar {
135
+ width: 100%;
136
+ background: transparent;
137
+ contain: strict;
138
+ z-index: 1;
139
+ }
140
+
141
+ .picker-button {
142
+ border: 0;
143
+ font-family: inherit;
144
+ }
145
+
146
+ .picker-button:active, .picker-button:focus {
147
+ outline: none;
148
+ }
149
+
150
+ .picker-columns {
151
+ display: flex;
152
+ position: relative;
153
+ justify-content: center;
154
+ margin-bottom: var(--ion-safe-area-bottom, 0);
155
+ contain: strict;
156
+ overflow: hidden;
157
+ }
158
+
159
+ .picker-above-highlight,
160
+ .picker-below-highlight {
161
+ display: none;
162
+ pointer-events: none;
163
+ }
164
+
165
+ /**
166
+ * Convert a font size to a dynamic font size.
167
+ * Fonts that participate in Dynamic Type should use
168
+ * dynamic font sizes.
169
+ * @param size - The initial font size including the unit (i.e. px or pt)
170
+ * @param unit (optional) - The unit to convert to. Use this if you want to
171
+ * convert to a unit other than $baselineUnit.
172
+ */
173
+ /**
174
+ * Convert a font size to a dynamic font size but impose
175
+ * a maximum font size.
176
+ * @param size - The initial font size including the unit (i.e. px or pt)
177
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
178
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
179
+ * convert to a unit other than $baselineUnit.
180
+ */
181
+ /**
182
+ * Convert a font size to a dynamic font size but impose
183
+ * a minimum font size.
184
+ * @param size - The initial font size including the unit (i.e. px or pt)
185
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
186
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
187
+ * convert to a unit other than $baselineUnit.
188
+ */
189
+ /**
190
+ * Convert a font size to a dynamic font size but impose
191
+ * maximum and minimum font sizes.
192
+ * @param size - The initial font size including the unit (i.e. px or pt)
193
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
194
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
195
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
196
+ * convert to a unit other than $baselineUnit.
197
+ */
198
+ /**
199
+ * A heuristic that applies CSS to tablet
200
+ * viewports.
201
+ *
202
+ * Usage:
203
+ * @include tablet-viewport() {
204
+ * :host {
205
+ * background-color: green;
206
+ * }
207
+ * }
208
+ */
209
+ /**
210
+ * A heuristic that applies CSS to mobile
211
+ * viewports (i.e. phones, not tablets).
212
+ *
213
+ * Usage:
214
+ * @include mobile-viewport() {
215
+ * :host {
216
+ * background-color: blue;
217
+ * }
218
+ * }
219
+ */
220
+ :host {
221
+ --background: var(--ion-background-color, #fff);
222
+ --border-width: 1px 0 0;
223
+ --border-color: var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));
224
+ --height: 260px;
225
+ --backdrop-opacity: var(--ion-backdrop-opacity, 0.26);
226
+ color: var(--ion-item-color, var(--ion-text-color, #000));
227
+ }
228
+
229
+ .picker-toolbar {
230
+ display: flex;
231
+ height: 44px;
232
+ border-bottom: 0.55px solid var(--border-color);
233
+ }
234
+
235
+ .picker-toolbar-button {
236
+ flex: 1;
237
+ text-align: end;
238
+ }
239
+
240
+ .picker-toolbar-button:last-child .picker-button {
241
+ font-weight: 600;
242
+ }
243
+
244
+ .picker-toolbar-button:first-child {
245
+ font-weight: normal;
246
+ text-align: start;
247
+ }
248
+
249
+ .picker-button,
250
+ .picker-button.ion-activated {
251
+ margin-left: 0;
252
+ margin-right: 0;
253
+ margin-top: 0;
254
+ margin-bottom: 0;
255
+ -webkit-padding-start: 1em;
256
+ padding-inline-start: 1em;
257
+ -webkit-padding-end: 1em;
258
+ padding-inline-end: 1em;
259
+ padding-top: 0;
260
+ padding-bottom: 0;
261
+ height: 44px;
262
+ background: transparent;
263
+ color: var(--ion-color-primary, #0054e9);
264
+ font-size: 16px;
265
+ }
266
+
267
+ .picker-columns {
268
+ height: 215px;
269
+ perspective: 1000px;
270
+ }
271
+
272
+ .picker-above-highlight {
273
+ top: 0;
274
+ transform: translate3d(0, 0, 90px);
275
+ display: block;
276
+ position: absolute;
277
+ width: 100%;
278
+ height: 81px;
279
+ border-bottom: 1px solid var(--border-color);
280
+ background: linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);
281
+ z-index: 10;
282
+ }
283
+ .picker-above-highlight {
284
+ inset-inline-start: 0;
285
+ }
286
+
287
+ .picker-below-highlight {
288
+ top: 115px;
289
+ transform: translate3d(0, 0, 90px);
290
+ display: block;
291
+ position: absolute;
292
+ width: 100%;
293
+ height: 119px;
294
+ border-top: 1px solid var(--border-color);
295
+ background: linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);
296
+ z-index: 11;
297
+ }
298
+ .picker-below-highlight {
299
+ inset-inline-start: 0;
300
+ }