voyager-ionic-core 8.8.17 → 9.0.1

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 (794) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-fab-button.js +1 -1
  27. package/components/ion-fab-list.js +1 -1
  28. package/components/ion-fab.js +1 -1
  29. package/components/ion-footer.js +1 -1
  30. package/components/ion-grid.js +1 -1
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-icon.js +1 -1
  33. package/components/ion-img.js +1 -1
  34. package/components/ion-infinite-scroll-content.js +1 -1
  35. package/components/ion-infinite-scroll.js +1 -1
  36. package/components/ion-input-otp.js +1 -1
  37. package/components/ion-input-password-toggle.js +1 -1
  38. package/components/ion-input.js +1 -1
  39. package/components/ion-item-divider.js +1 -1
  40. package/components/ion-item-group.js +1 -1
  41. package/components/ion-item-option.js +1 -1
  42. package/components/ion-item-options.js +1 -1
  43. package/components/ion-item-sliding.js +1 -1
  44. package/components/ion-item.js +1 -1
  45. package/components/ion-label.js +1 -1
  46. package/components/ion-list-header.js +1 -1
  47. package/components/ion-list.js +1 -1
  48. package/components/ion-loading.js +1 -1
  49. package/components/ion-menu-button.js +1 -1
  50. package/components/ion-menu-toggle.js +1 -1
  51. package/components/ion-menu.js +1 -1
  52. package/components/ion-modal.js +1 -1
  53. package/components/ion-nav-link.js +1 -1
  54. package/components/ion-nav.js +1 -1
  55. package/components/ion-note.js +1 -1
  56. package/components/ion-picker-column-option.js +1 -1
  57. package/components/ion-picker-column.js +1 -1
  58. package/components/ion-picker.js +1 -1
  59. package/components/ion-popover.js +1 -1
  60. package/components/ion-progress-bar.js +1 -1
  61. package/components/ion-radio-group.js +1 -1
  62. package/components/ion-radio.js +1 -1
  63. package/components/ion-range.js +1 -1
  64. package/components/ion-refresher-content.js +1 -1
  65. package/components/ion-refresher.js +1 -1
  66. package/components/ion-reorder-group.js +1 -1
  67. package/components/ion-reorder.js +1 -1
  68. package/components/ion-ripple-effect.js +1 -1
  69. package/components/ion-route-redirect.js +1 -1
  70. package/components/ion-route.js +1 -1
  71. package/components/ion-router-link.js +1 -1
  72. package/components/ion-router-outlet.js +1 -1
  73. package/components/ion-router.js +1 -1
  74. package/components/ion-row.js +1 -1
  75. package/components/ion-searchbar.js +1 -1
  76. package/components/ion-segment-button.js +1 -1
  77. package/components/ion-segment-content.js +1 -1
  78. package/components/ion-segment-view.js +1 -1
  79. package/components/ion-segment.js +1 -1
  80. package/components/ion-select-modal.js +1 -1
  81. package/components/ion-select-option.js +1 -1
  82. package/components/ion-select-popover.js +1 -1
  83. package/components/ion-select.js +1 -1
  84. package/components/ion-skeleton-text.js +1 -1
  85. package/components/ion-spinner.js +1 -1
  86. package/components/ion-split-pane.js +1 -1
  87. package/components/ion-tab-bar.js +1 -1
  88. package/components/ion-tab-button.js +1 -1
  89. package/components/ion-tab.js +1 -1
  90. package/components/ion-tabs.js +1 -1
  91. package/components/ion-text.js +1 -1
  92. package/components/ion-textarea.js +1 -1
  93. package/components/ion-thumbnail.js +1 -1
  94. package/components/ion-title.js +1 -1
  95. package/components/ion-toast.js +1 -1
  96. package/components/ion-toggle.js +1 -1
  97. package/components/ion-toolbar.js +1 -1
  98. package/components/p-1sJ0ZDPe.js +4 -0
  99. package/components/p-5ldEpNdG.js +4 -0
  100. package/components/p-6ZLn6K5e.js +4 -0
  101. package/components/p-B4lxwJ8N.js +4 -0
  102. package/components/{p-rCa2eL0j.js → p-BF48Oc0v.js} +1 -1
  103. package/components/p-BJr2B5hZ.js +4 -0
  104. package/components/p-BMPN55of.js +4 -0
  105. package/components/p-BNBnVi_1.js +4 -0
  106. package/components/{p-ChIZKXUu.js → p-BQyuFxYc.js} +1 -1
  107. package/components/p-BSQPZ79H.js +4 -0
  108. package/components/p-BT9-hMMz.js +4 -0
  109. package/components/p-BWoa-cki.js +4 -0
  110. package/components/p-BYJRZKHa.js +4 -0
  111. package/components/p-B_gJaBk0.js +4 -0
  112. package/components/p-BgkOsq-d.js +4 -0
  113. package/components/p-BhamHSw3.js +4 -0
  114. package/components/p-Bi-it1EH.js +4 -0
  115. package/components/p-C-NbvXu4.js +4 -0
  116. package/components/p-C0493tbX.js +4 -0
  117. package/components/p-C09TXohi.js +4 -0
  118. package/components/p-C4VpVfrJ.js +4 -0
  119. package/components/p-CEW4RXZO.js +4 -0
  120. package/components/p-CG_zZq_I.js +4 -0
  121. package/components/{p-B9jFTlwE.js → p-CJgnoKcN.js} +1 -1
  122. package/components/p-CMRYD_yR.js +4 -0
  123. package/components/{p-BMI53wYL.js → p-CNLioZ3B.js} +1 -1
  124. package/components/{p--JUspHvy.js → p-COO0eJOA.js} +1 -1
  125. package/components/p-CWAks_S_.js +4 -0
  126. package/{dist/ionic/p-KjNvRoEp.js → components/p-Cd1WaN-0.js} +1 -1
  127. package/components/p-CqbGBmqb.js +4 -0
  128. package/components/p-CrAKlX71.js +4 -0
  129. package/components/p-Cw6WocLJ.js +4 -0
  130. package/components/p-D0YpjgON.js +4 -0
  131. package/components/{p-DJZp0KTQ.js → p-D5w_FlVa.js} +1 -1
  132. package/components/p-D7-vHX0A.js +4 -0
  133. package/components/p-D7wDJdFn.js +4 -0
  134. package/components/p-DFLJvuRK.js +4 -0
  135. package/components/p-DGPjJNOU.js +4 -0
  136. package/components/p-DJR0R0e1.js +4 -0
  137. package/components/p-DL13ieTa.js +4 -0
  138. package/components/{p-DqLB8yFQ.js → p-DM1gJSMP.js} +1 -1
  139. package/components/p-DMBiAyOR.js +4 -0
  140. package/components/p-DWCzVL3Y.js +4 -0
  141. package/components/p-DZRZic9C.js +4 -0
  142. package/components/{p-C_hpsif8.js → p-DhNuxvJH.js} +1 -1
  143. package/components/p-DiuOa1vw.js +4 -0
  144. package/components/p-Dj40C8gm.js +4 -0
  145. package/components/p-Djmz-ssp.js +4 -0
  146. package/components/p-DnBNYc7u.js +4 -0
  147. package/components/p-DngGb-NV.js +4 -0
  148. package/components/p-Dojwmvde.js +4 -0
  149. package/components/p-DwSXbQSz.js +4 -0
  150. package/components/p-DxhHlJln.js +4 -0
  151. package/components/{p-DqZAXv2t.js → p-GGbIHyEF.js} +1 -1
  152. package/components/{p-j5IxBIan.js → p-Hp8t4RMX.js} +1 -1
  153. package/components/p-M34T2gyX.js +4 -0
  154. package/components/p-TWw4e4sO.js +4 -0
  155. package/components/{p-Cfx4M1Bn.js → p-YjMkHuvH.js} +1 -1
  156. package/components/p-byZM6qHV.js +4 -0
  157. package/components/p-cEN43Ahr.js +4 -0
  158. package/components/p-qAXsfUff.js +4 -0
  159. package/dist/cjs/{animation-BJq0kcy2.js → animation-Kd1N7WTN.js} +4 -4
  160. package/dist/cjs/{app-globals-BlqrqKTN.js → app-globals-b1G4t26O.js} +1 -1
  161. package/dist/cjs/{button-active-0mPOKmV2.js → button-active-CQCFubJJ.js} +3 -3
  162. package/dist/cjs/config-CjUbvdPW.js +36 -0
  163. package/dist/cjs/dir-zwDPRE5K.js +30 -0
  164. package/dist/cjs/{format-PxvGiOik.js → format-bHU8N1g5.js} +40 -30
  165. package/dist/cjs/{framework-delegate-BtICZDHr.js → framework-delegate-d-fWfeI6.js} +5 -7
  166. package/dist/cjs/{gesture-controller-dtqlP_q4.js → gesture-controller-CeJslptU.js} +1 -2
  167. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-Ch-X4gRx.js} +2 -3
  168. package/dist/cjs/{hardware-back-button-iUuF_76h.js → hardware-back-button-Bu4Dzw8l.js} +4 -4
  169. package/dist/cjs/{helpers-Cv23MFHM.js → helpers-7wzdhdeg.js} +15 -11
  170. package/dist/cjs/index-BbqUBe2T.js +429 -0
  171. package/dist/cjs/{index-D81eLYUM.js → index-C74Q3t6a.js} +3 -2
  172. package/dist/cjs/{index-BERfRao3.js → index-CQfEIyLK.js} +5 -5
  173. package/dist/cjs/{index-aC4x3Fk3.js → index-DFNrCX7M.js} +6 -7
  174. package/dist/cjs/{index-CAvQ7Tka.js → index-DRPqwSvU.js} +13 -30
  175. package/dist/cjs/{index-Ct7gcRif.js → index-DXoo08JC.js} +321 -26
  176. package/dist/cjs/{index-CIrkNXqJ.js → index-DtvKGwdh.js} +34 -2
  177. package/dist/cjs/{index-DqmRDbxg.js → index-wOmugbdg.js} +1 -1
  178. package/dist/cjs/index.cjs.js +19 -18
  179. package/dist/cjs/{input-shims-CFLg7uzj.js → input-shims-VJIiKBKv.js} +10 -11
  180. package/dist/cjs/input.utils-EHVE2RK_.js +35 -0
  181. package/dist/cjs/ion-accordion_2.cjs.entry.js +12 -12
  182. package/dist/cjs/ion-action-sheet.cjs.entry.js +92 -44
  183. package/dist/cjs/ion-alert.cjs.entry.js +144 -65
  184. package/dist/cjs/ion-app_8.cjs.entry.js +112 -40
  185. package/dist/cjs/ion-avatar_3.cjs.entry.js +4 -4
  186. package/dist/cjs/ion-back-button.cjs.entry.js +6 -5
  187. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  188. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +8 -7
  189. package/dist/cjs/ion-button_2.cjs.entry.js +12 -8
  190. package/dist/cjs/ion-card_5.cjs.entry.js +6 -5
  191. package/dist/cjs/ion-checkbox.cjs.entry.js +10 -7
  192. package/dist/cjs/ion-chip.cjs.entry.js +3 -3
  193. package/dist/cjs/ion-col_3.cjs.entry.js +10 -6
  194. package/dist/cjs/ion-datetime-button.cjs.entry.js +22 -25
  195. package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +182 -746
  196. package/dist/cjs/ion-fab_3.cjs.entry.js +7 -6
  197. package/dist/cjs/ion-img.cjs.entry.js +7 -4
  198. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +8 -6
  199. package/dist/cjs/ion-input-otp.cjs.entry.js +20 -29
  200. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +9 -10
  201. package/dist/cjs/ion-input.cjs.entry.js +58 -70
  202. package/dist/cjs/ion-item-option_3.cjs.entry.js +21 -24
  203. package/dist/cjs/ion-item_8.cjs.entry.js +38 -34
  204. package/dist/cjs/ion-loading.cjs.entry.js +29 -15
  205. package/dist/cjs/ion-menu_3.cjs.entry.js +23 -24
  206. package/dist/cjs/ion-modal.cjs.entry.js +283 -161
  207. package/dist/cjs/ion-nav_2.cjs.entry.js +30 -138
  208. package/dist/cjs/ion-picker-column-option.cjs.entry.js +8 -13
  209. package/dist/cjs/ion-picker-column.cjs.entry.js +218 -62
  210. package/dist/cjs/ion-picker.cjs.entry.js +4 -4
  211. package/dist/cjs/ion-popover.cjs.entry.js +50 -30
  212. package/dist/cjs/ion-progress-bar.cjs.entry.js +6 -5
  213. package/dist/cjs/ion-radio_2.cjs.entry.js +12 -11
  214. package/dist/cjs/ion-range.cjs.entry.js +30 -25
  215. package/dist/cjs/ion-refresher_2.cjs.entry.js +34 -26
  216. package/dist/cjs/ion-reorder_2.cjs.entry.js +10 -9
  217. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  218. package/dist/cjs/ion-route_4.cjs.entry.js +36 -30
  219. package/dist/cjs/ion-searchbar.cjs.entry.js +27 -22
  220. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  221. package/dist/cjs/ion-segment-view.cjs.entry.js +5 -6
  222. package/dist/cjs/ion-segment_2.cjs.entry.js +30 -26
  223. package/dist/cjs/ion-select-modal.cjs.entry.js +93 -38
  224. package/dist/cjs/ion-select_3.cjs.entry.js +495 -126
  225. package/dist/cjs/ion-spinner.cjs.entry.js +5 -6
  226. package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
  227. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +15 -12
  228. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -8
  229. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  230. package/dist/cjs/ion-textarea.cjs.entry.js +56 -65
  231. package/dist/cjs/ion-toast.cjs.entry.js +26 -21
  232. package/dist/cjs/ion-toggle.cjs.entry.js +15 -13
  233. package/dist/cjs/{ionic-global-B-cA6LkY.js → ionic-global-CYJNT-2P.js} +13 -8
  234. package/dist/cjs/ionic.cjs.js +5 -5
  235. package/dist/cjs/{ios.transition-BOSWOaiK.js → ios.transition-DYGiD6gM.js} +14 -17
  236. package/dist/cjs/{item-multiple-inputs-D-gyg57c.js → item-multiple-inputs-Dv6qrMhm.js} +1 -1
  237. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-Cix5TVkD.js} +2 -2
  238. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-cHxZlTyz.js} +2 -2
  239. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-PtZoN2GS.js} +6 -6
  240. package/dist/cjs/loader.cjs.js +4 -4
  241. package/dist/cjs/{md.transition-B8-wBZqt.js → md.transition-CrSkaoz6.js} +8 -8
  242. package/dist/cjs/overlay-control-label-D2sdL2O8.js +50 -0
  243. package/dist/cjs/{overlays-DdtIYQUH.js → overlays-BR21NUIG.js} +98 -58
  244. package/dist/cjs/select-option-render-CrbLc-1j.js +123 -0
  245. package/dist/cjs/slot-mutation-controller-D6IjSEIh.js +397 -0
  246. package/dist/cjs/{status-tap-BXX8H8_Y.js → status-tap-CNP5eD1R.js} +4 -3
  247. package/dist/cjs/{swipe-back-CCMaNiP2.js → swipe-back-CSIJQfu5.js} +5 -5
  248. package/dist/cjs/{theme-CeDs6Hcv.js → theme-Bw0rpaNN.js} +6 -1
  249. package/dist/collection/collection-manifest.json +7 -11
  250. package/dist/collection/components/accordion/accordion.js +5 -6
  251. package/dist/collection/components/accordion-group/accordion-group.js +2 -2
  252. package/dist/collection/components/action-sheet/action-sheet.ios.css +228 -2
  253. package/dist/collection/components/action-sheet/action-sheet.js +77 -31
  254. package/dist/collection/components/action-sheet/action-sheet.md.css +174 -2
  255. package/dist/collection/components/alert/alert.ios.css +279 -10
  256. package/dist/collection/components/alert/alert.js +127 -50
  257. package/dist/collection/components/alert/alert.md.css +268 -20
  258. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
  259. package/dist/collection/components/breadcrumbs/breadcrumbs.js +1 -1
  260. package/dist/collection/components/button/button.js +5 -2
  261. package/dist/collection/components/card/card.js +1 -1
  262. package/dist/collection/components/checkbox/checkbox.js +4 -2
  263. package/dist/collection/components/col/col.js +7 -3
  264. package/dist/collection/components/content/content.js +56 -6
  265. package/dist/collection/components/datetime/datetime.ios.css +42 -2
  266. package/dist/collection/components/datetime/datetime.js +146 -77
  267. package/dist/collection/components/datetime/datetime.md.css +42 -1
  268. package/dist/collection/components/datetime/utils/data.js +13 -14
  269. package/dist/collection/components/datetime/utils/format.js +21 -11
  270. package/dist/collection/components/datetime/utils/manipulation.js +8 -8
  271. package/dist/collection/components/datetime/utils/parse.js +10 -10
  272. package/dist/collection/components/datetime/utils/state.js +8 -2
  273. package/dist/collection/components/datetime/utils/validate.js +4 -5
  274. package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
  275. package/dist/collection/components/datetime-button/datetime-button.js +15 -20
  276. package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
  277. package/dist/collection/components/fab-button/fab-button.js +1 -1
  278. package/dist/collection/components/footer/footer.js +1 -1
  279. package/dist/collection/components/header/header.js +2 -2
  280. package/dist/collection/components/img/img.js +6 -1
  281. package/dist/collection/components/input/input.ios.css +57 -26
  282. package/dist/collection/components/input/input.js +51 -64
  283. package/dist/collection/components/input/input.md.css +79 -43
  284. package/dist/collection/components/input-otp/input-otp.js +15 -24
  285. package/dist/collection/components/input-password-toggle/input-password-toggle.js +5 -6
  286. package/dist/collection/components/item/item.js +19 -16
  287. package/dist/collection/components/item-divider/item-divider.js +2 -2
  288. package/dist/collection/components/item-group/item-group.js +1 -1
  289. package/dist/collection/components/item-option/item-option.js +2 -2
  290. package/dist/collection/components/item-options/item-options.js +1 -1
  291. package/dist/collection/components/item-sliding/item-sliding.js +12 -16
  292. package/dist/collection/components/label/label.js +2 -2
  293. package/dist/collection/components/list/list.js +2 -2
  294. package/dist/collection/components/list-header/list-header.js +2 -2
  295. package/dist/collection/components/loading/loading.js +17 -5
  296. package/dist/collection/components/menu/menu.js +6 -8
  297. package/dist/collection/components/menu-button/menu-button.js +2 -2
  298. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  299. package/dist/collection/components/modal/animations/ios.enter.js +1 -1
  300. package/dist/collection/components/modal/animations/md.enter.js +1 -1
  301. package/dist/collection/components/modal/gestures/sheet.js +42 -34
  302. package/dist/collection/components/modal/gestures/swipe-to-close.js +18 -35
  303. package/dist/collection/components/modal/gestures/utils.js +17 -0
  304. package/dist/collection/components/modal/modal.js +146 -65
  305. package/dist/collection/components/modal/safe-area-utils.js +39 -5
  306. package/dist/collection/components/nav/nav.js +24 -235
  307. package/dist/collection/components/nav-link/nav-link.js +1 -1
  308. package/dist/collection/components/note/note.js +2 -2
  309. package/dist/collection/components/picker/picker.js +1 -2
  310. package/dist/collection/components/picker-column/picker-column.css +3 -0
  311. package/dist/collection/components/picker-column/picker-column.js +212 -58
  312. package/dist/collection/components/picker-column-option/picker-column-option.js +3 -10
  313. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
  314. package/dist/collection/components/popover/animations/ios.enter.js +1 -2
  315. package/dist/collection/components/popover/animations/md.enter.js +1 -2
  316. package/dist/collection/components/popover/popover.ios.css +15 -0
  317. package/dist/collection/components/popover/popover.js +32 -9
  318. package/dist/collection/components/popover/popover.md.css +15 -0
  319. package/dist/collection/components/popover/utils.js +4 -6
  320. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  321. package/dist/collection/components/radio/radio.js +5 -5
  322. package/dist/collection/components/radio-group/radio-group.js +2 -2
  323. package/dist/collection/components/range/range.js +24 -19
  324. package/dist/collection/components/refresher/refresher.js +19 -13
  325. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  326. package/dist/collection/components/reorder/reorder.js +1 -1
  327. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  328. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  329. package/dist/collection/components/route/route.js +1 -1
  330. package/dist/collection/components/router/router.js +2 -6
  331. package/dist/collection/components/router/utils/dom.js +25 -7
  332. package/dist/collection/components/router/utils/matching.js +6 -9
  333. package/dist/collection/components/router/utils/parser.js +1 -1
  334. package/dist/collection/components/router/utils/path.js +0 -1
  335. package/dist/collection/components/router-link/router-link.js +2 -2
  336. package/dist/collection/components/router-outlet/router-outlet.js +49 -10
  337. package/dist/collection/components/row/row.js +1 -1
  338. package/dist/collection/components/searchbar/searchbar.js +25 -20
  339. package/dist/collection/components/segment/segment.js +9 -11
  340. package/dist/collection/components/segment-button/segment-button.js +15 -9
  341. package/dist/collection/components/segment-content/segment-content.js +1 -1
  342. package/dist/collection/components/segment-view/segment-view.js +3 -4
  343. package/dist/collection/components/select/select.ios.css +96 -69
  344. package/dist/collection/components/select/select.js +405 -92
  345. package/dist/collection/components/select/select.md.css +118 -85
  346. package/dist/collection/components/select-modal/select-modal.ios.css +218 -0
  347. package/dist/collection/components/select-modal/select-modal.js +80 -27
  348. package/dist/collection/components/select-modal/select-modal.md.css +164 -0
  349. package/dist/collection/components/select-option/select-option.js +67 -3
  350. package/dist/collection/components/select-popover/select-popover.ios.css +218 -0
  351. package/dist/collection/components/select-popover/select-popover.js +78 -26
  352. package/dist/collection/components/select-popover/select-popover.md.css +164 -0
  353. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  354. package/dist/collection/components/spinner/spinner.js +2 -3
  355. package/dist/collection/components/split-pane/split-pane.js +2 -2
  356. package/dist/collection/components/tab/tab.js +2 -2
  357. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  358. package/dist/collection/components/tab-button/tab-button.js +6 -4
  359. package/dist/collection/components/tabs/tabs.js +2 -3
  360. package/dist/collection/components/text/text.js +2 -2
  361. package/dist/collection/components/textarea/textarea.ios.css +94 -62
  362. package/dist/collection/components/textarea/textarea.js +47 -57
  363. package/dist/collection/components/textarea/textarea.md.css +103 -77
  364. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  365. package/dist/collection/components/title/title.js +2 -2
  366. package/dist/collection/components/toast/toast.js +12 -9
  367. package/dist/collection/components/toggle/toggle.js +6 -4
  368. package/dist/collection/components/toolbar/toolbar.js +7 -4
  369. package/dist/collection/global/config.js +3 -3
  370. package/dist/collection/global/ionic-global.js +8 -2
  371. package/dist/collection/index.js +1 -1
  372. package/dist/collection/utils/animation/animation.js +3 -3
  373. package/dist/collection/utils/config.js +5 -4
  374. package/dist/collection/utils/content/index.js +30 -0
  375. package/dist/collection/utils/focus-controller/index.js +1 -1
  376. package/dist/collection/utils/focus-trap.js +3 -3
  377. package/dist/collection/utils/forms/index.js +1 -0
  378. package/dist/collection/utils/forms/start-container-controller.js +132 -0
  379. package/dist/collection/utils/framework-delegate.js +4 -6
  380. package/dist/collection/utils/gesture/gesture-controller.js +1 -2
  381. package/dist/collection/utils/gesture/index.js +10 -2
  382. package/dist/collection/utils/gesture/listener.js +4 -27
  383. package/dist/collection/utils/hardware-back-button.js +3 -3
  384. package/dist/collection/utils/helpers.js +14 -10
  385. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +4 -5
  386. package/dist/collection/utils/input-shims/hacks/scroll-data.js +1 -2
  387. package/dist/collection/utils/keyboard/keyboard-controller.js +5 -5
  388. package/dist/collection/utils/keyboard/keyboard.js +1 -1
  389. package/dist/collection/utils/logging/index.js +23 -4
  390. package/dist/collection/utils/menu-controller/index.js +1 -2
  391. package/dist/collection/utils/native/haptic.js +2 -3
  392. package/dist/collection/utils/native/keyboard.js +2 -2
  393. package/dist/collection/utils/native/status-bar.js +1 -1
  394. package/dist/collection/utils/overlay-control-label.js +45 -0
  395. package/dist/collection/utils/overlays.js +87 -48
  396. package/dist/collection/utils/platform.js +4 -5
  397. package/dist/collection/utils/rtl/dir.js +17 -7
  398. package/dist/collection/utils/sanitization/index.js +275 -20
  399. package/dist/collection/utils/select-option-render.js +118 -0
  400. package/dist/collection/utils/slot-mutation-controller.js +1 -2
  401. package/dist/collection/utils/test/late-props/late-props.js +69 -0
  402. package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
  403. package/dist/collection/utils/test/playwright/detach-reattach.js +23 -0
  404. package/dist/collection/utils/test/playwright/drag-element.js +2 -3
  405. package/dist/collection/utils/test/playwright/generator.js +3 -4
  406. package/dist/collection/utils/test/playwright/index.js +1 -0
  407. package/dist/collection/utils/test/playwright/page/event-spy.js +2 -4
  408. package/dist/collection/utils/test/playwright/page/utils/goto.js +4 -5
  409. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
  410. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +2 -3
  411. package/dist/collection/utils/test/press-keys.js +6 -16
  412. package/dist/collection/utils/theme.js +6 -1
  413. package/dist/collection/utils/transition/ios.transition.js +9 -13
  414. package/dist/collection/utils/transition/md.transition.js +3 -4
  415. package/dist/docs.json +933 -1402
  416. package/dist/esm/{animation-DLJpuoEz.js → animation-BFNVlYum.js} +4 -4
  417. package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-BgX0BGL1.js} +1 -1
  418. package/dist/esm/{button-active-BSpTQmS9.js → button-active-BfOvDr3b.js} +3 -3
  419. package/dist/esm/config-DWCzVL3Y.js +32 -0
  420. package/dist/esm/dir-Dojwmvde.js +28 -0
  421. package/dist/esm/{format-CAmvpAez.js → format-DDFE9jM5.js} +41 -31
  422. package/dist/esm/{framework-delegate-FnPGymXL.js → framework-delegate-BwNhx9NR.js} +5 -7
  423. package/dist/esm/{gesture-controller-BTEOs1at.js → gesture-controller-B_gJaBk0.js} +1 -2
  424. package/dist/esm/{haptic-DzAMWJuk.js → haptic-Cq4UAeka.js} +2 -3
  425. package/dist/esm/{hardware-back-button-B93Gru0Y.js → hardware-back-button-DmkiRgOT.js} +4 -4
  426. package/dist/esm/{helpers-HEqiOzXb.js → helpers-BSmc0nst.js} +15 -11
  427. package/dist/esm/{index-CfgBF1SE.js → index-BmLuEdV7.js} +13 -30
  428. package/dist/esm/{index-Q6UPU0Ay.js → index-BuPaALjU.js} +6 -7
  429. package/dist/esm/{index-DV3sJJW8.js → index-BvabGprD.js} +2 -2
  430. package/dist/esm/{index-MEDq2S8l.js → index-C1b9CLFg.js} +33 -3
  431. package/dist/esm/{index-tcQvqkiX.js → index-C23AVPx9.js} +303 -26
  432. package/dist/esm/{index-BRHzoo00.js → index-CJln0gS3.js} +3 -2
  433. package/dist/esm/index-CqoUoxgG.js +423 -0
  434. package/dist/esm/{index-B_dQk_WE.js → index-DnA_7Bnx.js} +5 -5
  435. package/dist/esm/index.js +17 -15
  436. package/dist/esm/{input-shims-D10mwcw1.js → input-shims-Dqk-Ou25.js} +10 -11
  437. package/dist/esm/input.utils-rqoH22pW.js +33 -0
  438. package/dist/esm/ion-accordion_2.entry.js +12 -12
  439. package/dist/esm/ion-action-sheet.entry.js +92 -44
  440. package/dist/esm/ion-alert.entry.js +143 -64
  441. package/dist/esm/ion-app_8.entry.js +112 -40
  442. package/dist/esm/ion-avatar_3.entry.js +4 -4
  443. package/dist/esm/ion-back-button.entry.js +6 -5
  444. package/dist/esm/ion-backdrop.entry.js +2 -2
  445. package/dist/esm/ion-breadcrumb_2.entry.js +8 -7
  446. package/dist/esm/ion-button_2.entry.js +12 -8
  447. package/dist/esm/ion-card_5.entry.js +6 -5
  448. package/dist/esm/ion-checkbox.entry.js +10 -7
  449. package/dist/esm/ion-chip.entry.js +3 -3
  450. package/dist/esm/ion-col_3.entry.js +10 -6
  451. package/dist/esm/ion-datetime-button.entry.js +22 -25
  452. package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +183 -745
  453. package/dist/esm/ion-fab_3.entry.js +7 -6
  454. package/dist/esm/ion-img.entry.js +7 -4
  455. package/dist/esm/ion-infinite-scroll_2.entry.js +7 -5
  456. package/dist/esm/ion-input-otp.entry.js +20 -29
  457. package/dist/esm/ion-input-password-toggle.entry.js +9 -10
  458. package/dist/esm/ion-input.entry.js +56 -68
  459. package/dist/esm/ion-item-option_3.entry.js +21 -24
  460. package/dist/esm/ion-item_8.entry.js +38 -34
  461. package/dist/esm/ion-loading.entry.js +28 -14
  462. package/dist/esm/ion-menu_3.entry.js +23 -24
  463. package/dist/esm/ion-modal.entry.js +271 -149
  464. package/dist/esm/ion-nav_2.entry.js +30 -138
  465. package/dist/esm/ion-picker-column-option.entry.js +8 -13
  466. package/dist/esm/ion-picker-column.entry.js +218 -62
  467. package/dist/esm/ion-picker.entry.js +4 -4
  468. package/dist/esm/ion-popover.entry.js +50 -30
  469. package/dist/esm/ion-progress-bar.entry.js +6 -5
  470. package/dist/esm/ion-radio_2.entry.js +12 -11
  471. package/dist/esm/ion-range.entry.js +30 -25
  472. package/dist/esm/ion-refresher_2.entry.js +32 -24
  473. package/dist/esm/ion-reorder_2.entry.js +10 -9
  474. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  475. package/dist/esm/ion-route_4.entry.js +36 -30
  476. package/dist/esm/ion-searchbar.entry.js +27 -22
  477. package/dist/esm/ion-segment-content.entry.js +2 -2
  478. package/dist/esm/ion-segment-view.entry.js +5 -6
  479. package/dist/esm/ion-segment_2.entry.js +30 -26
  480. package/dist/esm/ion-select-modal.entry.js +93 -38
  481. package/dist/esm/ion-select_3.entry.js +495 -126
  482. package/dist/esm/ion-spinner.entry.js +5 -6
  483. package/dist/esm/ion-split-pane.entry.js +4 -4
  484. package/dist/esm/ion-tab-bar_2.entry.js +15 -12
  485. package/dist/esm/ion-tab_2.entry.js +8 -8
  486. package/dist/esm/ion-text.entry.js +5 -5
  487. package/dist/esm/ion-textarea.entry.js +55 -64
  488. package/dist/esm/ion-toast.entry.js +25 -20
  489. package/dist/esm/ion-toggle.entry.js +15 -13
  490. package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-ZXjCXKH0.js} +13 -8
  491. package/dist/esm/ionic.js +6 -6
  492. package/dist/esm/{ios.transition-ClFrsIrS.js → ios.transition-CWAgfQ1r.js} +14 -17
  493. package/dist/esm/{item-multiple-inputs-DlNuqNJm.js → item-multiple-inputs-DZnIiOO_.js} +1 -1
  494. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-Cj8mLJeq.js} +2 -2
  495. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-DAF8GNJ9.js} +2 -2
  496. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-DEwoa1ev.js} +6 -6
  497. package/dist/esm/loader.js +5 -5
  498. package/dist/esm/{md.transition-D0msQmzI.js → md.transition-ZuqDDdDW.js} +8 -8
  499. package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
  500. package/dist/esm/{overlays-Dg0q2_tJ.js → overlays-DKE0DgvE.js} +97 -58
  501. package/dist/esm/select-option-render-1W6W9pbC.js +121 -0
  502. package/dist/esm/slot-mutation-controller-B5NpUZ-N.js +393 -0
  503. package/dist/esm/{status-tap-Kan2W7sh.js → status-tap-Cv9gb3ja.js} +4 -3
  504. package/dist/esm/{swipe-back-ZUWwA-KF.js → swipe-back-De5HlmeM.js} +5 -5
  505. package/dist/esm/{theme-DiVJyqlX.js → theme-byZM6qHV.js} +6 -1
  506. package/dist/html.html-data.json +54 -82
  507. package/dist/ionic/index.esm.js +1 -1
  508. package/dist/ionic/ionic.esm.js +1 -1
  509. package/dist/ionic/p-06c6b540.entry.js +4 -0
  510. package/dist/ionic/p-099b7f9f.entry.js +4 -0
  511. package/dist/ionic/p-0dcb7bb6.entry.js +4 -0
  512. package/dist/ionic/p-1347880c.entry.js +4 -0
  513. package/dist/ionic/p-191a651e.entry.js +4 -0
  514. package/dist/ionic/p-1f24cb24.entry.js +4 -0
  515. package/dist/ionic/p-271c3640.entry.js +4 -0
  516. package/dist/ionic/p-2c52fe3e.entry.js +4 -0
  517. package/dist/ionic/p-2ea4bb36.entry.js +4 -0
  518. package/dist/ionic/p-338a02e0.entry.js +4 -0
  519. package/dist/ionic/p-38b9375b.entry.js +4 -0
  520. package/dist/ionic/p-3bba83ee.entry.js +4 -0
  521. package/dist/ionic/p-4712a8a9.entry.js +4 -0
  522. package/dist/ionic/p-4c3e50f8.entry.js +4 -0
  523. package/dist/ionic/p-4e2fef42.entry.js +4 -0
  524. package/dist/ionic/p-54cbb0a7.entry.js +4 -0
  525. package/dist/ionic/{p-2bb2cb18.entry.js → p-561af487.entry.js} +1 -1
  526. package/dist/ionic/p-5906ea6f.entry.js +4 -0
  527. package/dist/ionic/p-5cc09b40.entry.js +4 -0
  528. package/dist/ionic/p-5d9094ac.entry.js +4 -0
  529. package/dist/ionic/p-612ea3b1.entry.js +4 -0
  530. package/dist/ionic/p-66f150ec.entry.js +4 -0
  531. package/dist/ionic/p-68cc89a6.entry.js +4 -0
  532. package/dist/ionic/{p-dfa8d673.entry.js → p-6e386853.entry.js} +1 -1
  533. package/dist/ionic/p-77c96e08.entry.js +4 -0
  534. package/dist/ionic/p-7bfeccb3.entry.js +4 -0
  535. package/dist/ionic/p-7e394cc3.entry.js +4 -0
  536. package/dist/ionic/{p-0fa9c382.entry.js → p-7fbb3319.entry.js} +1 -1
  537. package/dist/ionic/p-837db1b9.entry.js +4 -0
  538. package/dist/ionic/p-85599fe3.entry.js +4 -0
  539. package/dist/ionic/p-8b80d9f9.entry.js +4 -0
  540. package/dist/ionic/p-90f50a65.entry.js +4 -0
  541. package/dist/ionic/p-9595e305.entry.js +4 -0
  542. package/dist/ionic/p-9c5f2691.entry.js +4 -0
  543. package/dist/ionic/p-BMPN55of.js +4 -0
  544. package/dist/ionic/p-BSQPZ79H.js +4 -0
  545. package/dist/ionic/p-BY6BzzPF.js +4 -0
  546. package/dist/ionic/p-B_gJaBk0.js +4 -0
  547. package/dist/ionic/p-BaeKWZ-a.js +4 -0
  548. package/dist/ionic/p-Bd72UYI2.js +4 -0
  549. package/dist/ionic/p-BgOvhHy_.js +4 -0
  550. package/dist/ionic/p-BhamHSw3.js +4 -0
  551. package/dist/ionic/p-BijjLYjT.js +4 -0
  552. package/dist/ionic/{p-DV3sJJW8.js → p-BvabGprD.js} +1 -1
  553. package/dist/ionic/p-C23AVPx9.js +6 -0
  554. package/dist/ionic/p-C8XilMh0.js +4 -0
  555. package/dist/ionic/p-CER8qW8Y.js +4 -0
  556. package/dist/ionic/p-CFuOr1Tu.js +4 -0
  557. package/dist/ionic/p-CM5OBjTW.js +4 -0
  558. package/dist/ionic/p-CMZYmFb4.js +4 -0
  559. package/dist/ionic/p-CkxVYPtX.js +4 -0
  560. package/dist/ionic/p-CmXuiRT6.js +4 -0
  561. package/dist/ionic/p-D0YpjgON.js +4 -0
  562. package/dist/ionic/p-D4OrdtJf.js +4 -0
  563. package/dist/ionic/p-D5t_-oMk.js +4 -0
  564. package/dist/ionic/p-D6rHcCvc.js +4 -0
  565. package/dist/ionic/p-DLM95R4x.js +4 -0
  566. package/dist/ionic/p-DTxBioUO.js +4 -0
  567. package/dist/ionic/p-DWCzVL3Y.js +4 -0
  568. package/dist/ionic/p-DYUjHcuH.js +4 -0
  569. package/{components/p-BkKAANMJ.js → dist/ionic/p-DZ6Hmc-8.js} +1 -1
  570. package/dist/ionic/p-D_gb-kdd.js +4 -0
  571. package/dist/ionic/p-DajLgJ4d.js +4 -0
  572. package/dist/ionic/p-Do3zTvCA.js +4 -0
  573. package/dist/ionic/p-Dojwmvde.js +4 -0
  574. package/dist/ionic/p-T71k3C35.js +4 -0
  575. package/dist/ionic/p-a1cc2861.entry.js +4 -0
  576. package/dist/ionic/p-a20a2ebe.entry.js +4 -0
  577. package/dist/ionic/p-a8ff2489.entry.js +4 -0
  578. package/dist/ionic/p-b3532b8d.entry.js +4 -0
  579. package/dist/ionic/p-b80c86c4.entry.js +4 -0
  580. package/dist/ionic/p-b9b4e85d.entry.js +4 -0
  581. package/dist/ionic/p-byZM6qHV.js +4 -0
  582. package/dist/ionic/p-c57fc396.entry.js +4 -0
  583. package/dist/ionic/{p-c6e49f3f.entry.js → p-ca1b8865.entry.js} +1 -1
  584. package/dist/ionic/p-cc4320d3.entry.js +4 -0
  585. package/dist/ionic/p-d6755739.entry.js +4 -0
  586. package/dist/ionic/p-d8c138d9.entry.js +4 -0
  587. package/dist/ionic/p-db449915.entry.js +4 -0
  588. package/dist/ionic/p-dd01be0a.entry.js +4 -0
  589. package/dist/ionic/p-ec00fd0d.entry.js +4 -0
  590. package/dist/ionic/p-ee09ac9d.entry.js +4 -0
  591. package/dist/ionic/{p-37e720da.entry.js → p-efc0cf82.entry.js} +1 -1
  592. package/dist/ionic/p-f0fb23c1.entry.js +4 -0
  593. package/dist/ionic/p-f83b3e0c.entry.js +4 -0
  594. package/dist/ionic/p-fU3rOYad.js +4 -0
  595. package/dist/ionic/p-zWf7R2xV.js +4 -0
  596. package/dist/types/components/action-sheet/action-sheet.d.ts +10 -0
  597. package/dist/types/components/alert/alert.d.ts +7 -0
  598. package/dist/types/components/content/content.d.ts +12 -0
  599. package/dist/types/components/datetime/datetime.d.ts +5 -1
  600. package/dist/types/components/img/img.d.ts +2 -0
  601. package/dist/types/components/input/input.d.ts +12 -6
  602. package/dist/types/components/modal/gestures/sheet.d.ts +1 -0
  603. package/dist/types/components/modal/gestures/utils.d.ts +11 -0
  604. package/dist/types/components/modal/modal-interface.d.ts +9 -0
  605. package/dist/types/components/modal/modal.d.ts +25 -7
  606. package/dist/types/components/modal/safe-area-utils.d.ts +6 -0
  607. package/dist/types/components/nav/nav-interface.d.ts +0 -1
  608. package/dist/types/components/nav/nav.d.ts +2 -22
  609. package/dist/types/components/picker-column/picker-column.d.ts +42 -0
  610. package/dist/types/components/range/range.d.ts +4 -1
  611. package/dist/types/components/refresher/refresher.d.ts +7 -0
  612. package/dist/types/components/route/route.d.ts +1 -1
  613. package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
  614. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  615. package/dist/types/components/select/select-interface.d.ts +31 -0
  616. package/dist/types/components/select/select.d.ts +30 -6
  617. package/dist/types/components/select-option/select-option.d.ts +42 -1
  618. package/dist/types/components/textarea/textarea.d.ts +12 -5
  619. package/dist/types/components.d.ts +79 -316
  620. package/dist/types/index.d.ts +1 -1
  621. package/dist/types/interface.d.ts +0 -1
  622. package/dist/types/stencil-public-runtime.d.ts +12 -0
  623. package/dist/types/utils/config.d.ts +1 -8
  624. package/dist/types/utils/content/index.d.ts +12 -0
  625. package/dist/types/utils/forms/index.d.ts +1 -0
  626. package/dist/types/utils/forms/start-container-controller.d.ts +34 -0
  627. package/dist/types/utils/helpers.d.ts +8 -5
  628. package/dist/types/utils/logging/index.d.ts +2 -1
  629. package/dist/types/utils/overlay-control-label.d.ts +32 -0
  630. package/dist/types/utils/overlays.d.ts +20 -9
  631. package/dist/types/utils/rtl/dir.d.ts +10 -4
  632. package/dist/types/utils/sanitization/index.d.ts +58 -2
  633. package/dist/types/utils/select-option-render.d.ts +53 -0
  634. package/dist/types/utils/test/playwright/detach-reattach.d.ts +13 -0
  635. package/dist/types/utils/test/playwright/index.d.ts +1 -0
  636. package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
  637. package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
  638. package/hydrate/index.js +2996 -2155
  639. package/hydrate/index.mjs +2996 -2155
  640. package/loader/index.d.ts +1 -1
  641. package/package.json +57 -13
  642. package/components/ion-picker-legacy-column.d.ts +0 -11
  643. package/components/ion-picker-legacy-column.js +0 -4
  644. package/components/ion-picker-legacy.d.ts +0 -11
  645. package/components/ion-picker-legacy.js +0 -4
  646. package/components/p-A3O24YmY.js +0 -4
  647. package/components/p-ABkNVeU9.js +0 -4
  648. package/components/p-B-JJgYSG.js +0 -4
  649. package/components/p-BB42Mlnr.js +0 -4
  650. package/components/p-BLmJ0zRm.js +0 -4
  651. package/components/p-BSEgsdFI.js +0 -4
  652. package/components/p-BTEOs1at.js +0 -4
  653. package/components/p-BlIAuGv2.js +0 -4
  654. package/components/p-Bnsn6KaP.js +0 -4
  655. package/components/p-BsBCoGa-.js +0 -4
  656. package/components/p-Bz0dSlXZ.js +0 -4
  657. package/components/p-C53feagD.js +0 -4
  658. package/components/p-CHqRYvYm.js +0 -4
  659. package/components/p-CQGnMY3n.js +0 -4
  660. package/components/p-CSZf8_j0.js +0 -4
  661. package/components/p-C_xFdyXe.js +0 -4
  662. package/components/p-Cf2jSDS8.js +0 -4
  663. package/components/p-CkMSOsFF.js +0 -4
  664. package/components/p-Cl0B-RWe.js +0 -4
  665. package/components/p-CmR5uXej.js +0 -4
  666. package/components/p-CsNJ1ULL.js +0 -4
  667. package/components/p-CtWGkNnJ.js +0 -4
  668. package/components/p-CzCbeKys.js +0 -4
  669. package/components/p-D-aHdMxW.js +0 -4
  670. package/components/p-D0d8qTwj.js +0 -4
  671. package/components/p-D13Eaw-8.js +0 -4
  672. package/components/p-D3xo7hqU.js +0 -4
  673. package/components/p-D6Ynv7Xh.js +0 -4
  674. package/components/p-DCnGU1fF.js +0 -4
  675. package/components/p-DGZpx6KJ.js +0 -4
  676. package/components/p-DGvrK8dD.js +0 -4
  677. package/components/p-DHTSTb52.js +0 -4
  678. package/components/p-DOFCbuQR.js +0 -4
  679. package/components/p-DRugphUN.js +0 -4
  680. package/components/p-DV5mPYQS.js +0 -4
  681. package/components/p-DWkAgceV.js +0 -4
  682. package/components/p-DiVJyqlX.js +0 -4
  683. package/components/p-KEFO0w3i.js +0 -4
  684. package/components/p-Osve4qkc.js +0 -4
  685. package/components/p-SLS1rDZM.js +0 -4
  686. package/components/p-VWbRkLT7.js +0 -4
  687. package/components/p-aJ6PBUvj.js +0 -4
  688. package/components/p-cyNmxje6.js +0 -4
  689. package/components/p-k_E4tX5Z.js +0 -4
  690. package/components/p-oD4kcBRX.js +0 -4
  691. package/components/p-scxfI1Dd.js +0 -4
  692. package/components/p-yzCsOZE2.js +0 -4
  693. package/dist/cjs/config-xninhj0J.js +0 -201
  694. package/dist/cjs/dir-Cn0z1rJH.js +0 -20
  695. package/dist/cjs/input.utils-DetjmtH2.js +0 -150
  696. package/dist/cjs/notch-controller-18PzRGXd.js +0 -155
  697. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  698. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  699. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  700. package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
  701. package/dist/collection/components/picker-legacy/picker.js +0 -890
  702. package/dist/collection/components/picker-legacy/picker.md.css +0 -287
  703. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
  704. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  705. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
  706. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  707. package/dist/esm/config-DQCONYYp.js +0 -195
  708. package/dist/esm/dir-C53feagD.js +0 -18
  709. package/dist/esm/input.utils-Y6NgW8bw.js +0 -147
  710. package/dist/esm/notch-controller-DKDjU_O7.js +0 -153
  711. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  712. package/dist/ionic/p-06c232a4.entry.js +0 -4
  713. package/dist/ionic/p-0dc33652.entry.js +0 -4
  714. package/dist/ionic/p-10e833ef.entry.js +0 -4
  715. package/dist/ionic/p-20b1a044.entry.js +0 -4
  716. package/dist/ionic/p-21eb76d5.entry.js +0 -4
  717. package/dist/ionic/p-2394a9a6.entry.js +0 -4
  718. package/dist/ionic/p-27d30585.entry.js +0 -4
  719. package/dist/ionic/p-2a05aa64.entry.js +0 -4
  720. package/dist/ionic/p-2b204c59.entry.js +0 -4
  721. package/dist/ionic/p-2fa58e80.entry.js +0 -4
  722. package/dist/ionic/p-3353c229.entry.js +0 -4
  723. package/dist/ionic/p-33704f20.entry.js +0 -4
  724. package/dist/ionic/p-34586ead.entry.js +0 -4
  725. package/dist/ionic/p-390ca786.entry.js +0 -4
  726. package/dist/ionic/p-3ae5f277.entry.js +0 -4
  727. package/dist/ionic/p-4654ae1c.entry.js +0 -4
  728. package/dist/ionic/p-4745f534.entry.js +0 -4
  729. package/dist/ionic/p-4858af1f.entry.js +0 -4
  730. package/dist/ionic/p-4ac4f3d6.entry.js +0 -4
  731. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  732. package/dist/ionic/p-4e92a11f.entry.js +0 -4
  733. package/dist/ionic/p-5018dfc8.entry.js +0 -4
  734. package/dist/ionic/p-50e1194a.entry.js +0 -4
  735. package/dist/ionic/p-5d1da0a2.entry.js +0 -4
  736. package/dist/ionic/p-5eb8e86d.entry.js +0 -4
  737. package/dist/ionic/p-65ebdf1b.entry.js +0 -4
  738. package/dist/ionic/p-75dc25ba.entry.js +0 -4
  739. package/dist/ionic/p-7c319341.entry.js +0 -4
  740. package/dist/ionic/p-829367ed.entry.js +0 -4
  741. package/dist/ionic/p-84d5ce05.entry.js +0 -4
  742. package/dist/ionic/p-874b4bd8.entry.js +0 -4
  743. package/dist/ionic/p-8eb8ee76.entry.js +0 -4
  744. package/dist/ionic/p-8fce95d5.entry.js +0 -4
  745. package/dist/ionic/p-9eeaBrnk.js +0 -4
  746. package/dist/ionic/p-9f1103ce.entry.js +0 -4
  747. package/dist/ionic/p-9f9db3a2.entry.js +0 -4
  748. package/dist/ionic/p-BGqMS-oh.js +0 -4
  749. package/dist/ionic/p-BTEOs1at.js +0 -4
  750. package/dist/ionic/p-BUFIpxKM.js +0 -4
  751. package/dist/ionic/p-C0eMdTCW.js +0 -4
  752. package/dist/ionic/p-C53feagD.js +0 -4
  753. package/dist/ionic/p-CFlfIb2g.js +0 -4
  754. package/dist/ionic/p-CKvCXMs9.js +0 -4
  755. package/dist/ionic/p-Cl0B-RWe.js +0 -4
  756. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  757. package/dist/ionic/p-CwdymDLH.js +0 -4
  758. package/dist/ionic/p-Cx3IXROA.js +0 -4
  759. package/dist/ionic/p-D-3ycHmd.js +0 -4
  760. package/dist/ionic/p-D13Eaw-8.js +0 -4
  761. package/dist/ionic/p-DC3RagnA.js +0 -4
  762. package/dist/ionic/p-DIuEbVLu.js +0 -4
  763. package/dist/ionic/p-DSG2s2Eb.js +0 -4
  764. package/dist/ionic/p-Dfbt-q2k.js +0 -4
  765. package/dist/ionic/p-DiVJyqlX.js +0 -4
  766. package/dist/ionic/p-DoJvtrbw.js +0 -4
  767. package/dist/ionic/p-DqN5EA2O.js +0 -4
  768. package/dist/ionic/p-DzWaWHGc.js +0 -4
  769. package/dist/ionic/p-Nqf6uvGh.js +0 -4
  770. package/dist/ionic/p-SNAkTDfm.js +0 -4
  771. package/dist/ionic/p-VAemlbDS.js +0 -4
  772. package/dist/ionic/p-Wk5HzclC.js +0 -4
  773. package/dist/ionic/p-a3bdcae6.entry.js +0 -4
  774. package/dist/ionic/p-aaeedb6b.entry.js +0 -4
  775. package/dist/ionic/p-bfc9bb0f.entry.js +0 -4
  776. package/dist/ionic/p-c0fb8edd.entry.js +0 -4
  777. package/dist/ionic/p-c38b648e.entry.js +0 -4
  778. package/dist/ionic/p-c4d8641b.entry.js +0 -4
  779. package/dist/ionic/p-ca2ab74d.entry.js +0 -4
  780. package/dist/ionic/p-d889ff6d.entry.js +0 -4
  781. package/dist/ionic/p-e0be05c5.entry.js +0 -4
  782. package/dist/ionic/p-ef4c3bee.entry.js +0 -4
  783. package/dist/ionic/p-fd7eebc4.entry.js +0 -4
  784. package/dist/ionic/p-mjKAFv89.js +0 -4
  785. package/dist/ionic/p-tcQvqkiX.js +0 -5
  786. package/dist/ionic/p-viFHDgRs.js +0 -4
  787. package/dist/ionic/p-xWb6fgfq.js +0 -4
  788. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  789. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  790. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  791. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  792. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  793. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
  794. /package/components/{p-CO7fmmxt.js → p-LpMHEu3v.js} +0 -0
@@ -218,6 +218,10 @@
218
218
  justify-content: space-between;
219
219
  }
220
220
 
221
+ :host .datetime-action-buttons ion-button {
222
+ --color: var(--ion-color-primary, #0054e9);
223
+ }
224
+
221
225
  /**
222
226
  * The confirm and clear buttons are grouped in a
223
227
  * container so that they appear on the end opposite
@@ -372,6 +376,11 @@
372
376
  }
373
377
 
374
378
  .calendar-day:not(.calendar-day-adjacent-day):focus {
379
+ background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
380
+ box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
381
+ }
382
+
383
+ :host(.ion-color) .calendar-day:not(.calendar-day-adjacent-day):focus {
375
384
  background: rgba(var(--ion-color-base-rgb), 0.2);
376
385
  box-shadow: 0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);
377
386
  }
@@ -416,6 +425,10 @@
416
425
  }
417
426
 
418
427
  :host .time-body-active {
428
+ color: var(--ion-color-primary, #0054e9);
429
+ }
430
+
431
+ :host(.ion-color) .time-body-active {
419
432
  color: var(--ion-color-base);
420
433
  }
421
434
 
@@ -424,6 +437,10 @@
424
437
  }
425
438
 
426
439
  :host(.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
440
+ color: var(--ion-color-primary, #0054e9);
441
+ }
442
+
443
+ :host(.ion-color.show-month-and-year) .calendar-action-buttons .calendar-month-year-toggle {
427
444
  color: var(--ion-color-base);
428
445
  }
429
446
 
@@ -603,6 +620,11 @@ ion-picker {
603
620
 
604
621
  :host .calendar-action-buttons .calendar-month-year-toggle ion-icon,
605
622
  :host .calendar-action-buttons ion-buttons ion-button {
623
+ color: var(--ion-color-primary, #0054e9);
624
+ }
625
+
626
+ :host(.ion-color) .calendar-action-buttons .calendar-month-year-toggle ion-icon,
627
+ :host(.ion-color) .calendar-action-buttons ion-buttons ion-button {
606
628
  color: var(--ion-color-base);
607
629
  }
608
630
 
@@ -768,15 +790,23 @@ ion-picker {
768
790
  }
769
791
 
770
792
  .calendar-day.calendar-day-active {
771
- background: rgba(var(--ion-color-base-rgb), 0.2);
793
+ background: rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.2);
772
794
  font-size: min(1.375rem, 35.2px);
773
795
  }
774
796
 
797
+ :host(.ion-color) .calendar-day.calendar-day-active {
798
+ background: rgba(var(--ion-color-base-rgb), 0.2);
799
+ }
800
+
775
801
  /**
776
802
  * Day that today but not selected
777
803
  * should have ion-color for text color.
778
804
  */
779
805
  :host .calendar-day.calendar-day-today {
806
+ color: var(--ion-color-primary, #0054e9);
807
+ }
808
+
809
+ :host(.ion-color) .calendar-day.calendar-day-today {
780
810
  color: var(--ion-color-base);
781
811
  }
782
812
 
@@ -787,16 +817,26 @@ ion-picker {
787
817
  */
788
818
  :host .calendar-day.calendar-day-active,
789
819
  :host .calendar-day.calendar-day-adjacent-day.calendar-day-active {
790
- color: var(--ion-color-base);
820
+ color: var(--ion-color-primary, #0054e9);
791
821
  font-weight: 600;
792
822
  }
793
823
 
824
+ :host(.ion-color) .calendar-day.calendar-day-active,
825
+ :host(.ion-color) .calendar-day.calendar-day-adjacent-day.calendar-day-active {
826
+ color: var(--ion-color-base);
827
+ }
828
+
794
829
  /**
795
830
  * Day that is selected and is today
796
831
  * should have base background color
797
832
  * with contrast text.
798
833
  */
799
834
  :host .calendar-day.calendar-day-today.calendar-day-active {
835
+ background: var(--ion-color-primary, #0054e9);
836
+ color: var(--ion-color-primary-contrast, #fff);
837
+ }
838
+
839
+ :host(.ion-color) .calendar-day.calendar-day-today.calendar-day-active {
800
840
  background: var(--ion-color-base);
801
841
  color: var(--ion-color-contrast);
802
842
  }
@@ -60,6 +60,10 @@ export class Datetime {
60
60
  * Set true only by `visibleCallback`. Lets `hiddenCallback` ignore the
61
61
  * synthetic "not intersecting" entry IntersectionObserver fires on
62
62
  * `observe()` when the host mounts offscreen.
63
+ *
64
+ * Don't reset this in `disconnectedCallback`. Overlays disconnect and
65
+ * reconnect the host without re-creating the observers, so a reset there
66
+ * makes `hiddenCallback` miss the dismissal.
63
67
  */
64
68
  this.hasBeenIntersecting = false;
65
69
  this.prevPresentation = null;
@@ -75,12 +79,6 @@ export class Datetime {
75
79
  isAdjacentDay: false,
76
80
  };
77
81
  this.isTimePopoverOpen = false;
78
- /**
79
- * The color to use from your application's color palette.
80
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
81
- * For more information on colors, see [theming](/docs/theming/basics).
82
- */
83
- this.color = 'primary';
84
82
  /**
85
83
  * The name of the control, which is submitted with the form data.
86
84
  */
@@ -219,9 +217,8 @@ export class Datetime {
219
217
  * is selected.
220
218
  */
221
219
  this.getActivePartsWithFallback = () => {
222
- var _a;
223
220
  const { defaultParts } = this;
224
- return (_a = this.getActivePart()) !== null && _a !== void 0 ? _a : defaultParts;
221
+ return this.getActivePart() ?? defaultParts;
225
222
  };
226
223
  this.getActivePart = () => {
227
224
  const { activeParts } = this;
@@ -234,7 +231,9 @@ export class Datetime {
234
231
  }
235
232
  };
236
233
  this.setWorkingParts = (parts) => {
237
- this.workingParts = Object.assign({}, parts);
234
+ this.workingParts = {
235
+ ...parts,
236
+ };
238
237
  };
239
238
  this.setActiveParts = (parts, removeDate = false) => {
240
239
  /** if the datetime component is in readonly mode,
@@ -267,7 +266,9 @@ export class Datetime {
267
266
  }
268
267
  }
269
268
  else {
270
- this.activeParts = Object.assign({}, validatedParts);
269
+ this.activeParts = {
270
+ ...validatedParts,
271
+ };
271
272
  }
272
273
  const hasSlottedButtons = this.el.querySelector('[slot="buttons"]') !== null;
273
274
  if (hasSlottedButtons || this.showDefaultButtons) {
@@ -293,7 +294,6 @@ export class Datetime {
293
294
  * Tab should jump between bodies of selectable content.
294
295
  */
295
296
  const checkCalendarBodyFocus = (ev) => {
296
- var _a;
297
297
  const record = ev[0];
298
298
  /**
299
299
  * If calendar body was already focused
@@ -301,7 +301,7 @@ export class Datetime {
301
301
  * if not currently focused, we should not re-focus
302
302
  * the inner day.
303
303
  */
304
- if (((_a = record.oldValue) === null || _a === void 0 ? void 0 : _a.includes('ion-focused')) || !calendarBodyRef.classList.contains('ion-focused')) {
304
+ if (record.oldValue?.includes('ion-focused') || !calendarBodyRef.classList.contains('ion-focused')) {
305
305
  return;
306
306
  }
307
307
  this.focusWorkingDay(currentMonth);
@@ -309,7 +309,7 @@ export class Datetime {
309
309
  const mo = new MutationObserver(checkCalendarBodyFocus);
310
310
  mo.observe(calendarBodyRef, { attributeFilter: ['class'], attributeOldValue: true });
311
311
  this.destroyKeyboardMO = () => {
312
- mo === null || mo === void 0 ? void 0 : mo.disconnect();
312
+ mo?.disconnect();
313
313
  };
314
314
  /**
315
315
  * We must use keydown not keyup as we want
@@ -371,7 +371,10 @@ export class Datetime {
371
371
  if (isDayDisabled(partsToFocus, this.minParts, this.maxParts)) {
372
372
  return;
373
373
  }
374
- this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), partsToFocus));
374
+ this.setWorkingParts({
375
+ ...this.workingParts,
376
+ ...partsToFocus,
377
+ });
375
378
  /**
376
379
  * Give view a chance to re-render
377
380
  * then move focus to the new working day
@@ -522,8 +525,8 @@ export class Datetime {
522
525
  return;
523
526
  const { month, day, year } = newDate;
524
527
  if (isMonthDisabled({ month, year, day: null }, {
525
- minParts: Object.assign(Object.assign({}, this.minParts), { day: null }),
526
- maxParts: Object.assign(Object.assign({}, this.maxParts), { day: null }),
528
+ minParts: { ...this.minParts, day: null },
529
+ maxParts: { ...this.maxParts, day: null },
527
530
  })) {
528
531
  return;
529
532
  }
@@ -543,8 +546,12 @@ export class Datetime {
543
546
  * if we did not do this.
544
547
  */
545
548
  writeTask(() => {
546
- var _a;
547
- this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), { month, day: day, year }));
549
+ this.setWorkingParts({
550
+ ...this.workingParts,
551
+ month,
552
+ day: day,
553
+ year,
554
+ });
548
555
  calendarBodyRef.scrollLeft = workingMonth.clientWidth * (isRTL(this.el) ? -1 : 1);
549
556
  calendarBodyRef.style.removeProperty('overflow');
550
557
  if (this.resolveForceDateScrolling) {
@@ -552,7 +559,7 @@ export class Datetime {
552
559
  }
553
560
  const activeEl = this.el.shadowRoot.activeElement;
554
561
  if (activeEl && activeEl.classList.contains('calendar-day')) {
555
- (_a = activeEl.closest('.calendar-body')) === null || _a === void 0 ? void 0 : _a.focus();
562
+ activeEl.closest('.calendar-body')?.focus();
556
563
  }
557
564
  });
558
565
  };
@@ -943,7 +950,6 @@ export class Datetime {
943
950
  this.clearFocusVisible = undefined;
944
951
  }
945
952
  this.loadTimeoutCleanup();
946
- this.hasBeenIntersecting = false;
947
953
  }
948
954
  initializeListeners() {
949
955
  this.initializeCalendarListener();
@@ -973,7 +979,7 @@ export class Datetime {
973
979
  * could cause the datetime to start at a visibility of 0, erroneously
974
980
  * triggering the `hiddenIO` observer below.
975
981
  */
976
- raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(intersectionTrackerRef));
982
+ raf(() => visibleIO?.observe(intersectionTrackerRef));
977
983
  /**
978
984
  * TODO(FW-6931): Remove this fallback upon solving the root cause
979
985
  * Fallback: If IntersectionObserver never reports that the
@@ -1019,7 +1025,7 @@ export class Datetime {
1019
1025
  });
1020
1026
  };
1021
1027
  const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0, root: el });
1022
- raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(intersectionTrackerRef));
1028
+ raf(() => hiddenIO?.observe(intersectionTrackerRef));
1023
1029
  /**
1024
1030
  * Datetime uses Ionic components that emit
1025
1031
  * ionFocus and ionBlur. These events are
@@ -1200,7 +1206,6 @@ export class Datetime {
1200
1206
  }
1201
1207
  renderCombinedDatePickerColumn() {
1202
1208
  const { defaultParts, disabled, workingParts, locale, minParts, maxParts, todayParts, isDateEnabled } = this;
1203
- const activePart = this.getActivePartsWithFallback();
1204
1209
  /**
1205
1210
  * By default, generate a range of 3 months:
1206
1211
  * Previous month, current month, and next month
@@ -1240,7 +1245,10 @@ export class Datetime {
1240
1245
  catch (e) {
1241
1246
  printIonError('[ion-datetime] - Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
1242
1247
  }
1243
- return Object.assign(Object.assign({}, itemObject), { disabled });
1248
+ return {
1249
+ ...itemObject,
1250
+ disabled,
1251
+ };
1244
1252
  });
1245
1253
  }
1246
1254
  /**
@@ -1253,10 +1261,18 @@ export class Datetime {
1253
1261
  return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a date", class: "date-column", color: this.color, disabled: disabled, value: todayString, onIonChange: (ev) => {
1254
1262
  const { value } = ev.detail;
1255
1263
  const findPart = parts.find(({ month, day, year }) => value === `${year}-${month}-${day}`);
1256
- this.setWorkingParts(Object.assign(Object.assign({}, workingParts), findPart));
1257
- this.setActiveParts(Object.assign(Object.assign({}, activePart), findPart));
1264
+ // Read live so parts a sibling column just committed are included.
1265
+ const activePart = this.getActivePartsWithFallback();
1266
+ this.setWorkingParts({
1267
+ ...this.workingParts,
1268
+ ...findPart,
1269
+ });
1270
+ this.setActiveParts({
1271
+ ...activePart,
1272
+ ...findPart,
1273
+ });
1258
1274
  ev.stopPropagation();
1259
- } }, items.map((item) => (h("ion-picker-column-option", { part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
1275
+ } }, items.map((item) => (h("ion-picker-column-option", { color: this.color, part: item.value === todayString ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: item.value, disabled: item.disabled, value: item.value }, item.text)))));
1260
1276
  }
1261
1277
  renderIndividualDatePickerColumns(forcePresentation) {
1262
1278
  const { workingParts, isDateEnabled } = this;
@@ -1289,7 +1305,10 @@ export class Datetime {
1289
1305
  catch (e) {
1290
1306
  printIonError('[ion-datetime] - Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
1291
1307
  }
1292
- return Object.assign(Object.assign({}, dayObject), { disabled });
1308
+ return {
1309
+ ...dayObject,
1310
+ disabled,
1311
+ };
1293
1312
  });
1294
1313
  }
1295
1314
  const shouldRenderYears = forcePresentation !== 'month' && forcePresentation !== 'time';
@@ -1318,48 +1337,68 @@ export class Datetime {
1318
1337
  return renderArray;
1319
1338
  }
1320
1339
  renderDayPickerColumn(days) {
1321
- var _a;
1322
1340
  if (days.length === 0) {
1323
1341
  return [];
1324
1342
  }
1325
1343
  const { disabled, workingParts } = this;
1326
- const activePart = this.getActivePartsWithFallback();
1327
- const pickerColumnValue = (_a = (workingParts.day !== null ? workingParts.day : this.defaultParts.day)) !== null && _a !== void 0 ? _a : undefined;
1344
+ const pickerColumnValue = (workingParts.day !== null ? workingParts.day : this.defaultParts.day) ?? undefined;
1328
1345
  return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a day", class: "day-column", color: this.color, disabled: disabled, value: pickerColumnValue, onIonChange: (ev) => {
1329
- this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { day: ev.detail.value }));
1330
- this.setActiveParts(Object.assign(Object.assign({}, activePart), { day: ev.detail.value }));
1346
+ // Read live so parts a sibling column just committed are included.
1347
+ const activePart = this.getActivePartsWithFallback();
1348
+ this.setWorkingParts({
1349
+ ...this.workingParts,
1350
+ day: ev.detail.value,
1351
+ });
1352
+ this.setActiveParts({
1353
+ ...activePart,
1354
+ day: ev.detail.value,
1355
+ });
1331
1356
  ev.stopPropagation();
1332
- } }, days.map((day) => (h("ion-picker-column-option", { part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
1357
+ } }, days.map((day) => (h("ion-picker-column-option", { color: this.color, part: day.value === pickerColumnValue ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: day.value, disabled: day.disabled, value: day.value }, day.text)))));
1333
1358
  }
1334
1359
  renderMonthPickerColumn(months) {
1335
1360
  if (months.length === 0) {
1336
1361
  return [];
1337
1362
  }
1338
1363
  const { disabled, workingParts } = this;
1339
- const activePart = this.getActivePartsWithFallback();
1340
1364
  return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a month", class: "month-column", color: this.color, disabled: disabled, value: workingParts.month, onIonChange: (ev) => {
1341
- this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { month: ev.detail.value }));
1365
+ // Read live so parts a sibling column just committed are included.
1366
+ const activePart = this.getActivePartsWithFallback();
1367
+ this.setWorkingParts({
1368
+ ...this.workingParts,
1369
+ month: ev.detail.value,
1370
+ });
1342
1371
  // Month wheel is navigation-only in multi-select mode as a fix for https://github.com/ionic-team/ionic-framework/issues/29673
1343
1372
  if (!this.multiple) {
1344
- this.setActiveParts(Object.assign(Object.assign({}, activePart), { month: ev.detail.value }));
1373
+ this.setActiveParts({
1374
+ ...activePart,
1375
+ month: ev.detail.value,
1376
+ });
1345
1377
  }
1346
1378
  ev.stopPropagation();
1347
- } }, months.map((month) => (h("ion-picker-column-option", { part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
1379
+ } }, months.map((month) => (h("ion-picker-column-option", { color: this.color, part: month.value === workingParts.month ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: month.value, disabled: month.disabled, value: month.value }, month.text)))));
1348
1380
  }
1349
1381
  renderYearPickerColumn(years) {
1350
1382
  if (years.length === 0) {
1351
1383
  return [];
1352
1384
  }
1353
1385
  const { disabled, workingParts } = this;
1354
- const activePart = this.getActivePartsWithFallback();
1355
1386
  return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a year", class: "year-column", color: this.color, disabled: disabled, value: workingParts.year, onIonChange: (ev) => {
1356
- this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { year: ev.detail.value }));
1387
+ // Read live so parts a sibling column just committed are included.
1388
+ const activePart = this.getActivePartsWithFallback();
1389
+ this.setWorkingParts({
1390
+ ...this.workingParts,
1391
+ year: ev.detail.value,
1392
+ });
1357
1393
  // Year wheel is navigation-only in multi-select mode as a fix for https://github.com/ionic-team/ionic-framework/issues/29673
1358
1394
  if (!this.multiple) {
1359
- this.setActiveParts(Object.assign(Object.assign({}, activePart), { year: ev.detail.value }));
1395
+ this.setActiveParts({
1396
+ ...activePart,
1397
+ year: ev.detail.value,
1398
+ });
1360
1399
  }
1361
1400
  ev.stopPropagation();
1362
- } }, years.map((year) => (h("ion-picker-column-option", { part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
1401
+ } }, years.map((year) => (h("ion-picker-column-option", { color: this.color, part: year.value === workingParts.year ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: year.value, disabled: year.disabled, value: year.value }, year.text)))));
1363
1402
  }
1364
1403
  renderTimePickerColumns(forcePresentation) {
1365
1404
  if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
@@ -1384,40 +1423,64 @@ export class Datetime {
1384
1423
  ];
1385
1424
  }
1386
1425
  renderHourPickerColumn(hoursData) {
1387
- const { disabled, workingParts } = this;
1426
+ const { disabled } = this;
1388
1427
  if (hoursData.length === 0)
1389
1428
  return [];
1390
1429
  const activePart = this.getActivePartsWithFallback();
1391
1430
  return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select an hour", color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
1392
- this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
1393
- this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { hour: ev.detail.value }));
1431
+ // Read live so parts a sibling column just committed are included.
1432
+ this.setWorkingParts({
1433
+ ...this.workingParts,
1434
+ hour: ev.detail.value,
1435
+ });
1436
+ this.setActiveParts({
1437
+ ...this.getActivePartsWithFallback(),
1438
+ hour: ev.detail.value,
1439
+ });
1394
1440
  ev.stopPropagation();
1395
- } }, hoursData.map((hour) => (h("ion-picker-column-option", { part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
1441
+ } }, hoursData.map((hour) => (h("ion-picker-column-option", { color: this.color, part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
1396
1442
  }
1397
1443
  renderMinutePickerColumn(minutesData) {
1398
- const { disabled, workingParts } = this;
1444
+ const { disabled } = this;
1399
1445
  if (minutesData.length === 0)
1400
1446
  return [];
1401
1447
  const activePart = this.getActivePartsWithFallback();
1402
1448
  return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a minute", color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
1403
- this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
1404
- this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { minute: ev.detail.value }));
1449
+ // Read live so parts a sibling column just committed are included.
1450
+ this.setWorkingParts({
1451
+ ...this.workingParts,
1452
+ minute: ev.detail.value,
1453
+ });
1454
+ this.setActiveParts({
1455
+ ...this.getActivePartsWithFallback(),
1456
+ minute: ev.detail.value,
1457
+ });
1405
1458
  ev.stopPropagation();
1406
- } }, minutesData.map((minute) => (h("ion-picker-column-option", { part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
1459
+ } }, minutesData.map((minute) => (h("ion-picker-column-option", { color: this.color, part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
1407
1460
  }
1408
1461
  renderDayPeriodPickerColumn(dayPeriodData) {
1409
- const { disabled, workingParts } = this;
1462
+ const { disabled } = this;
1410
1463
  if (dayPeriodData.length === 0) {
1411
1464
  return [];
1412
1465
  }
1413
1466
  const activePart = this.getActivePartsWithFallback();
1414
1467
  const isDayPeriodRTL = isLocaleDayPeriodRTL(this.locale);
1415
1468
  return (h("ion-picker-column", { part: WHEEL_PART, "aria-label": "Select a day period", style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
1416
- const hour = calculateHourFromAMPM(workingParts, ev.detail.value);
1417
- this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
1418
- this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { ampm: ev.detail.value, hour }));
1469
+ // Read live so parts a sibling column just committed are included.
1470
+ const currentParts = this.workingParts;
1471
+ const hour = calculateHourFromAMPM(currentParts, ev.detail.value);
1472
+ this.setWorkingParts({
1473
+ ...currentParts,
1474
+ ampm: ev.detail.value,
1475
+ hour,
1476
+ });
1477
+ this.setActiveParts({
1478
+ ...this.getActivePartsWithFallback(),
1479
+ ampm: ev.detail.value,
1480
+ hour,
1481
+ });
1419
1482
  ev.stopPropagation();
1420
- } }, dayPeriodData.map((dayPeriod) => (h("ion-picker-column-option", { part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
1483
+ } }, dayPeriodData.map((dayPeriod) => (h("ion-picker-column-option", { color: this.color, part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
1421
1484
  }
1422
1485
  renderWheelView(forcePresentation) {
1423
1486
  const { locale } = this;
@@ -1461,8 +1524,8 @@ export class Datetime {
1461
1524
  // The day is not used when checking if a month is disabled.
1462
1525
  // Users should be able to access the min or max month, even if the
1463
1526
  // min/max date is out of bounds (e.g. min is set to Feb 15, Feb should not be disabled).
1464
- minParts: Object.assign(Object.assign({}, this.minParts), { day: null }),
1465
- maxParts: Object.assign(Object.assign({}, this.maxParts), { day: null }),
1527
+ minParts: { ...this.minParts, day: null },
1528
+ maxParts: { ...this.maxParts, day: null },
1466
1529
  });
1467
1530
  // The working month should never have swipe disabled.
1468
1531
  // Otherwise the CSS scroll snap will not work and the user
@@ -1571,18 +1634,24 @@ export class Datetime {
1571
1634
  if (isAdjacentDay) {
1572
1635
  // The user selected a day outside the current month. Ignore this button, as the month will be re-rendered.
1573
1636
  this.el.blur();
1574
- this.activeParts = Object.assign(Object.assign({}, activePart), referenceParts);
1637
+ this.activeParts = { ...activePart, ...referenceParts };
1575
1638
  this.animateToDate(referenceParts);
1576
1639
  this.confirm();
1577
1640
  }
1578
1641
  else {
1579
- this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), referenceParts));
1642
+ this.setWorkingParts({
1643
+ ...this.workingParts,
1644
+ ...referenceParts,
1645
+ });
1580
1646
  // Multiple only needs date info so we can wipe out other fields like time.
1581
1647
  if (multiple) {
1582
1648
  this.setActiveParts(referenceParts, isActive);
1583
1649
  }
1584
1650
  else {
1585
- this.setActiveParts(Object.assign(Object.assign({}, activePart), referenceParts));
1651
+ this.setActiveParts({
1652
+ ...activePart,
1653
+ ...referenceParts,
1654
+ });
1586
1655
  }
1587
1656
  }
1588
1657
  }
@@ -1625,7 +1694,7 @@ export class Datetime {
1625
1694
  await popoverRef.onWillDismiss();
1626
1695
  this.isTimePopoverOpen = false;
1627
1696
  }
1628
- } }, getLocalizedTime(locale, activePart, computedHourCycle, formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time)),
1697
+ } }, getLocalizedTime(locale, activePart, computedHourCycle, formatOptions?.time)),
1629
1698
  h("ion-popover", { alignment: "center", translucent: true, overlayIndex: 1, arrow: false, onWillPresent: (ev) => {
1630
1699
  /**
1631
1700
  * Intersection Observers do not consistently fire between Blink and Webkit
@@ -1648,7 +1717,6 @@ export class Datetime {
1648
1717
  ];
1649
1718
  }
1650
1719
  getHeaderSelectedDateText() {
1651
- var _a;
1652
1720
  const { activeParts, formatOptions, multiple, titleSelectedDatesFormatter } = this;
1653
1721
  const isArray = Array.isArray(activeParts);
1654
1722
  let headerText;
@@ -1665,7 +1733,7 @@ export class Datetime {
1665
1733
  }
1666
1734
  else {
1667
1735
  // for exactly 1 day selected (multiple set or not), show a formatted version of that
1668
- headerText = getLocalizedDateTime(this.locale, this.getActivePartsWithFallback(), (_a = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) !== null && _a !== void 0 ? _a : { weekday: 'short', month: 'short', day: 'numeric' });
1736
+ headerText = getLocalizedDateTime(this.locale, this.getActivePartsWithFallback(), formatOptions?.date ?? { weekday: 'short', month: 'short', day: 'numeric' });
1669
1737
  }
1670
1738
  return headerText;
1671
1739
  }
@@ -1754,17 +1822,19 @@ export class Datetime {
1754
1822
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1755
1823
  const hasWheelVariant = hasDatePresentation && preferWheel;
1756
1824
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1757
- return (h(Host, { key: '5e0b83cb88a87945eaae2f9402751819b75452ee', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1758
- [mode]: true,
1759
- ['datetime-readonly']: readonly,
1760
- ['datetime-disabled']: disabled,
1761
- 'show-month-and-year': shouldShowMonthAndYear,
1762
- 'month-year-picker-open': monthYearPickerOpen,
1763
- [`datetime-presentation-${presentation}`]: true,
1764
- [`datetime-size-${size}`]: true,
1765
- [`datetime-prefer-wheel`]: hasWheelVariant,
1766
- [`datetime-grid`]: isGridStyle,
1767
- })) }, h("div", { key: '9f9ba72e9879525961b00abe342a7891492ca0ff', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1825
+ return (h(Host, { key: '4e0b529a70924b065bcc6191e08550428b5a52a0', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: {
1826
+ ...createColorClasses(color, {
1827
+ [mode]: true,
1828
+ ['datetime-readonly']: readonly,
1829
+ ['datetime-disabled']: disabled,
1830
+ 'show-month-and-year': shouldShowMonthAndYear,
1831
+ 'month-year-picker-open': monthYearPickerOpen,
1832
+ [`datetime-presentation-${presentation}`]: true,
1833
+ [`datetime-size-${size}`]: true,
1834
+ [`datetime-prefer-wheel`]: hasWheelVariant,
1835
+ [`datetime-grid`]: isGridStyle,
1836
+ }),
1837
+ } }, h("div", { key: 'cc9d1b92f960984cb0466d0003a240ace67da243', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1768
1838
  }
1769
1839
  static get is() { return "ion-datetime"; }
1770
1840
  static get encapsulation() { return "shadow"; }
@@ -1801,13 +1871,12 @@ export class Datetime {
1801
1871
  "optional": true,
1802
1872
  "docs": {
1803
1873
  "tags": [],
1804
- "text": "The color to use from your application's color palette.\nDefault options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\nFor more information on colors, see [theming](/docs/theming/basics)."
1874
+ "text": "The color to use from your application's color palette.\nDefault options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\nFor more information on colors, refer to [theming](/docs/theming/basics)."
1805
1875
  },
1806
1876
  "getter": false,
1807
1877
  "setter": false,
1808
1878
  "reflect": false,
1809
- "attribute": "color",
1810
- "defaultValue": "'primary'"
1879
+ "attribute": "color"
1811
1880
  },
1812
1881
  "name": {
1813
1882
  "type": "string",