voyager-ionic-core 8.8.12 → 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 (812) 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-C4t5ymfq.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-lE_JGpHD.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-BirPFsRD.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-DNQI6d-L.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/{data-DLTUw-KF.js → format-bHU8N1g5.js} +48 -562
  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 +18 -10
  190. package/dist/cjs/ion-card_5.cjs.entry.js +6 -5
  191. package/dist/cjs/ion-checkbox.cjs.entry.js +25 -12
  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 +29 -30
  195. package/dist/cjs/{ion-datetime_3.cjs.entry.js → ion-datetime.cjs.entry.js} +773 -796
  196. package/dist/cjs/ion-fab_3.cjs.entry.js +93 -14
  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 +117 -33
  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 +307 -159
  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 +24 -14
  214. package/dist/cjs/ion-range.cjs.entry.js +30 -25
  215. package/dist/cjs/ion-refresher_2.cjs.entry.js +61 -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 -125
  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 +26 -19
  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 +36 -15
  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-Dv6qrMhm.js +38 -0
  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-TbKsuC-K.js → overlays-BR21NUIG.js} +120 -57
  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 +11 -4
  261. package/dist/collection/components/card/card.js +1 -1
  262. package/dist/collection/components/checkbox/checkbox.ios.css +18 -0
  263. package/dist/collection/components/checkbox/checkbox.js +19 -8
  264. package/dist/collection/components/checkbox/checkbox.md.css +18 -0
  265. package/dist/collection/components/col/col.js +7 -3
  266. package/dist/collection/components/content/content.js +56 -6
  267. package/dist/collection/components/datetime/datetime.ios.css +42 -2
  268. package/dist/collection/components/datetime/datetime.js +193 -79
  269. package/dist/collection/components/datetime/datetime.md.css +42 -1
  270. package/dist/collection/components/datetime/utils/data.js +13 -14
  271. package/dist/collection/components/datetime/utils/format.js +21 -11
  272. package/dist/collection/components/datetime/utils/manipulation.js +8 -8
  273. package/dist/collection/components/datetime/utils/parse.js +10 -10
  274. package/dist/collection/components/datetime/utils/state.js +8 -2
  275. package/dist/collection/components/datetime/utils/validate.js +4 -5
  276. package/dist/collection/components/datetime-button/datetime-button.ios.css +5 -0
  277. package/dist/collection/components/datetime-button/datetime-button.js +21 -25
  278. package/dist/collection/components/datetime-button/datetime-button.md.css +5 -0
  279. package/dist/collection/components/fab-button/fab-button.js +114 -10
  280. package/dist/collection/components/footer/footer.js +1 -1
  281. package/dist/collection/components/header/header.js +2 -2
  282. package/dist/collection/components/img/img.js +6 -1
  283. package/dist/collection/components/input/input.ios.css +57 -26
  284. package/dist/collection/components/input/input.js +51 -64
  285. package/dist/collection/components/input/input.md.css +79 -43
  286. package/dist/collection/components/input-otp/input-otp.js +15 -24
  287. package/dist/collection/components/input-password-toggle/input-password-toggle.js +5 -6
  288. package/dist/collection/components/item/item.ios.css +11 -0
  289. package/dist/collection/components/item/item.js +99 -15
  290. package/dist/collection/components/item/item.md.css +11 -0
  291. package/dist/collection/components/item-divider/item-divider.js +2 -2
  292. package/dist/collection/components/item-group/item-group.js +1 -1
  293. package/dist/collection/components/item-option/item-option.js +2 -2
  294. package/dist/collection/components/item-options/item-options.js +1 -1
  295. package/dist/collection/components/item-sliding/item-sliding.js +12 -16
  296. package/dist/collection/components/label/label.js +2 -2
  297. package/dist/collection/components/list/list.js +2 -2
  298. package/dist/collection/components/list-header/list-header.js +2 -2
  299. package/dist/collection/components/loading/loading.js +17 -5
  300. package/dist/collection/components/menu/menu.js +6 -8
  301. package/dist/collection/components/menu-button/menu-button.js +2 -2
  302. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  303. package/dist/collection/components/modal/animations/ios.enter.js +1 -1
  304. package/dist/collection/components/modal/animations/md.enter.js +1 -1
  305. package/dist/collection/components/modal/gestures/sheet.js +47 -32
  306. package/dist/collection/components/modal/gestures/swipe-to-close.js +23 -33
  307. package/dist/collection/components/modal/gestures/utils.js +17 -0
  308. package/dist/collection/components/modal/modal.ios.css +8 -0
  309. package/dist/collection/components/modal/modal.js +158 -65
  310. package/dist/collection/components/modal/modal.md.css +8 -0
  311. package/dist/collection/components/modal/safe-area-utils.js +39 -5
  312. package/dist/collection/components/nav/nav.js +24 -235
  313. package/dist/collection/components/nav-link/nav-link.js +1 -1
  314. package/dist/collection/components/note/note.js +2 -2
  315. package/dist/collection/components/picker/picker.js +1 -2
  316. package/dist/collection/components/picker-column/picker-column.css +3 -0
  317. package/dist/collection/components/picker-column/picker-column.js +212 -58
  318. package/dist/collection/components/picker-column-option/picker-column-option.js +3 -10
  319. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -1
  320. package/dist/collection/components/popover/animations/ios.enter.js +1 -2
  321. package/dist/collection/components/popover/animations/md.enter.js +1 -2
  322. package/dist/collection/components/popover/popover.ios.css +15 -0
  323. package/dist/collection/components/popover/popover.js +32 -9
  324. package/dist/collection/components/popover/popover.md.css +15 -0
  325. package/dist/collection/components/popover/utils.js +4 -6
  326. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  327. package/dist/collection/components/radio/radio.ios.css +11 -15
  328. package/dist/collection/components/radio/radio.js +17 -9
  329. package/dist/collection/components/radio/radio.md.css +11 -11
  330. package/dist/collection/components/radio-group/radio-group.js +2 -2
  331. package/dist/collection/components/range/range.js +24 -19
  332. package/dist/collection/components/refresher/refresher.js +49 -16
  333. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  334. package/dist/collection/components/reorder/reorder.js +1 -1
  335. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  336. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  337. package/dist/collection/components/route/route.js +1 -1
  338. package/dist/collection/components/router/router.js +2 -6
  339. package/dist/collection/components/router/utils/dom.js +25 -7
  340. package/dist/collection/components/router/utils/matching.js +6 -9
  341. package/dist/collection/components/router/utils/parser.js +1 -1
  342. package/dist/collection/components/router/utils/path.js +0 -1
  343. package/dist/collection/components/router-link/router-link.js +2 -2
  344. package/dist/collection/components/router-outlet/router-outlet.js +49 -10
  345. package/dist/collection/components/row/row.js +1 -1
  346. package/dist/collection/components/searchbar/searchbar.js +25 -20
  347. package/dist/collection/components/segment/segment.js +9 -11
  348. package/dist/collection/components/segment-button/segment-button.js +15 -9
  349. package/dist/collection/components/segment-content/segment-content.js +1 -1
  350. package/dist/collection/components/segment-view/segment-view.js +3 -4
  351. package/dist/collection/components/select/select.ios.css +96 -69
  352. package/dist/collection/components/select/select.js +405 -91
  353. package/dist/collection/components/select/select.md.css +118 -85
  354. package/dist/collection/components/select-modal/select-modal.ios.css +218 -0
  355. package/dist/collection/components/select-modal/select-modal.js +80 -27
  356. package/dist/collection/components/select-modal/select-modal.md.css +164 -0
  357. package/dist/collection/components/select-option/select-option.js +67 -3
  358. package/dist/collection/components/select-popover/select-popover.ios.css +218 -0
  359. package/dist/collection/components/select-popover/select-popover.js +78 -26
  360. package/dist/collection/components/select-popover/select-popover.md.css +164 -0
  361. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  362. package/dist/collection/components/spinner/spinner.js +2 -3
  363. package/dist/collection/components/split-pane/split-pane.js +2 -2
  364. package/dist/collection/components/tab/tab.js +20 -13
  365. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  366. package/dist/collection/components/tab-button/tab-button.js +6 -4
  367. package/dist/collection/components/tabs/tabs.js +2 -3
  368. package/dist/collection/components/text/text.js +2 -2
  369. package/dist/collection/components/textarea/textarea.ios.css +94 -62
  370. package/dist/collection/components/textarea/textarea.js +47 -57
  371. package/dist/collection/components/textarea/textarea.md.css +103 -77
  372. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  373. package/dist/collection/components/title/title.js +2 -2
  374. package/dist/collection/components/toast/toast.js +12 -9
  375. package/dist/collection/components/toggle/toggle.ios.css +12 -4
  376. package/dist/collection/components/toggle/toggle.js +27 -7
  377. package/dist/collection/components/toggle/toggle.md.css +42 -5
  378. package/dist/collection/components/toolbar/toolbar.js +7 -4
  379. package/dist/collection/global/config.js +3 -3
  380. package/dist/collection/global/ionic-global.js +8 -2
  381. package/dist/collection/index.js +1 -1
  382. package/dist/collection/utils/animation/animation.js +3 -3
  383. package/dist/collection/utils/config.js +5 -4
  384. package/dist/collection/utils/content/index.js +30 -0
  385. package/dist/collection/utils/focus-controller/index.js +1 -1
  386. package/dist/collection/utils/focus-trap.js +3 -3
  387. package/dist/collection/utils/forms/index.js +2 -0
  388. package/dist/collection/utils/forms/item-multiple-inputs.js +33 -0
  389. package/dist/collection/utils/forms/start-container-controller.js +132 -0
  390. package/dist/collection/utils/framework-delegate.js +4 -6
  391. package/dist/collection/utils/gesture/gesture-controller.js +1 -2
  392. package/dist/collection/utils/gesture/index.js +10 -2
  393. package/dist/collection/utils/gesture/listener.js +4 -27
  394. package/dist/collection/utils/hardware-back-button.js +3 -3
  395. package/dist/collection/utils/helpers.js +14 -10
  396. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +4 -5
  397. package/dist/collection/utils/input-shims/hacks/scroll-data.js +1 -2
  398. package/dist/collection/utils/keyboard/keyboard-controller.js +5 -5
  399. package/dist/collection/utils/keyboard/keyboard.js +1 -1
  400. package/dist/collection/utils/logging/index.js +23 -4
  401. package/dist/collection/utils/menu-controller/index.js +1 -2
  402. package/dist/collection/utils/native/haptic.js +2 -3
  403. package/dist/collection/utils/native/keyboard.js +2 -2
  404. package/dist/collection/utils/native/status-bar.js +1 -1
  405. package/dist/collection/utils/overlay-control-label.js +45 -0
  406. package/dist/collection/utils/overlays.js +109 -47
  407. package/dist/collection/utils/platform.js +4 -5
  408. package/dist/collection/utils/rtl/dir.js +17 -7
  409. package/dist/collection/utils/sanitization/index.js +275 -20
  410. package/dist/collection/utils/select-option-render.js +118 -0
  411. package/dist/collection/utils/slot-mutation-controller.js +1 -2
  412. package/dist/collection/utils/test/late-props/late-props.js +69 -0
  413. package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +25 -0
  414. package/dist/collection/utils/test/playwright/detach-reattach.js +23 -0
  415. package/dist/collection/utils/test/playwright/drag-element.js +14 -0
  416. package/dist/collection/utils/test/playwright/generator.js +3 -4
  417. package/dist/collection/utils/test/playwright/index.js +2 -0
  418. package/dist/collection/utils/test/playwright/page/event-spy.js +2 -4
  419. package/dist/collection/utils/test/playwright/page/utils/goto.js +4 -5
  420. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
  421. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +2 -3
  422. package/dist/collection/utils/test/press-keys.js +6 -16
  423. package/dist/collection/utils/theme.js +6 -1
  424. package/dist/collection/utils/transition/ios.transition.js +9 -13
  425. package/dist/collection/utils/transition/md.transition.js +3 -4
  426. package/dist/docs.json +972 -1402
  427. package/dist/esm/{animation-DLJpuoEz.js → animation-BFNVlYum.js} +4 -4
  428. package/dist/esm/{app-globals-D0C5S4hU.js → app-globals-BgX0BGL1.js} +1 -1
  429. package/dist/esm/{button-active-BSpTQmS9.js → button-active-BfOvDr3b.js} +3 -3
  430. package/dist/esm/config-DWCzVL3Y.js +32 -0
  431. package/dist/esm/dir-Dojwmvde.js +28 -0
  432. package/dist/esm/{data-DZI70dKr.js → format-DDFE9jM5.js} +41 -554
  433. package/dist/esm/{framework-delegate-FnPGymXL.js → framework-delegate-BwNhx9NR.js} +5 -7
  434. package/dist/esm/{gesture-controller-BTEOs1at.js → gesture-controller-B_gJaBk0.js} +1 -2
  435. package/dist/esm/{haptic-DzAMWJuk.js → haptic-Cq4UAeka.js} +2 -3
  436. package/dist/esm/{hardware-back-button-B93Gru0Y.js → hardware-back-button-DmkiRgOT.js} +4 -4
  437. package/dist/esm/{helpers-HEqiOzXb.js → helpers-BSmc0nst.js} +15 -11
  438. package/dist/esm/{index-CfgBF1SE.js → index-BmLuEdV7.js} +13 -30
  439. package/dist/esm/{index-Q6UPU0Ay.js → index-BuPaALjU.js} +6 -7
  440. package/dist/esm/{index-DV3sJJW8.js → index-BvabGprD.js} +2 -2
  441. package/dist/esm/{index-MEDq2S8l.js → index-C1b9CLFg.js} +33 -3
  442. package/dist/esm/{index-tcQvqkiX.js → index-C23AVPx9.js} +303 -26
  443. package/dist/esm/{index-BRHzoo00.js → index-CJln0gS3.js} +3 -2
  444. package/dist/esm/index-CqoUoxgG.js +423 -0
  445. package/dist/esm/{index-B_dQk_WE.js → index-DnA_7Bnx.js} +5 -5
  446. package/dist/esm/index.js +17 -15
  447. package/dist/esm/{input-shims-D10mwcw1.js → input-shims-Dqk-Ou25.js} +10 -11
  448. package/dist/esm/input.utils-rqoH22pW.js +33 -0
  449. package/dist/esm/ion-accordion_2.entry.js +12 -12
  450. package/dist/esm/ion-action-sheet.entry.js +92 -44
  451. package/dist/esm/ion-alert.entry.js +143 -64
  452. package/dist/esm/ion-app_8.entry.js +112 -40
  453. package/dist/esm/ion-avatar_3.entry.js +4 -4
  454. package/dist/esm/ion-back-button.entry.js +6 -5
  455. package/dist/esm/ion-backdrop.entry.js +2 -2
  456. package/dist/esm/ion-breadcrumb_2.entry.js +8 -7
  457. package/dist/esm/ion-button_2.entry.js +18 -10
  458. package/dist/esm/ion-card_5.entry.js +6 -5
  459. package/dist/esm/ion-checkbox.entry.js +25 -12
  460. package/dist/esm/ion-chip.entry.js +3 -3
  461. package/dist/esm/ion-col_3.entry.js +10 -6
  462. package/dist/esm/ion-datetime-button.entry.js +28 -29
  463. package/dist/esm/{ion-datetime_3.entry.js → ion-datetime.entry.js} +712 -733
  464. package/dist/esm/ion-fab_3.entry.js +93 -14
  465. package/dist/esm/ion-img.entry.js +7 -4
  466. package/dist/esm/ion-infinite-scroll_2.entry.js +7 -5
  467. package/dist/esm/ion-input-otp.entry.js +20 -29
  468. package/dist/esm/ion-input-password-toggle.entry.js +9 -10
  469. package/dist/esm/ion-input.entry.js +56 -68
  470. package/dist/esm/ion-item-option_3.entry.js +21 -24
  471. package/dist/esm/ion-item_8.entry.js +117 -33
  472. package/dist/esm/ion-loading.entry.js +28 -14
  473. package/dist/esm/ion-menu_3.entry.js +23 -24
  474. package/dist/esm/ion-modal.entry.js +295 -147
  475. package/dist/esm/ion-nav_2.entry.js +30 -138
  476. package/dist/esm/ion-picker-column-option.entry.js +8 -13
  477. package/dist/esm/ion-picker-column.entry.js +218 -62
  478. package/dist/esm/ion-picker.entry.js +4 -4
  479. package/dist/esm/ion-popover.entry.js +50 -30
  480. package/dist/esm/ion-progress-bar.entry.js +6 -5
  481. package/dist/esm/ion-radio_2.entry.js +24 -14
  482. package/dist/esm/ion-range.entry.js +30 -25
  483. package/dist/esm/ion-refresher_2.entry.js +59 -24
  484. package/dist/esm/ion-reorder_2.entry.js +10 -9
  485. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  486. package/dist/esm/ion-route_4.entry.js +36 -30
  487. package/dist/esm/ion-searchbar.entry.js +27 -22
  488. package/dist/esm/ion-segment-content.entry.js +2 -2
  489. package/dist/esm/ion-segment-view.entry.js +5 -6
  490. package/dist/esm/ion-segment_2.entry.js +30 -26
  491. package/dist/esm/ion-select-modal.entry.js +93 -38
  492. package/dist/esm/ion-select_3.entry.js +495 -125
  493. package/dist/esm/ion-spinner.entry.js +5 -6
  494. package/dist/esm/ion-split-pane.entry.js +4 -4
  495. package/dist/esm/ion-tab-bar_2.entry.js +15 -12
  496. package/dist/esm/ion-tab_2.entry.js +26 -19
  497. package/dist/esm/ion-text.entry.js +5 -5
  498. package/dist/esm/ion-textarea.entry.js +55 -64
  499. package/dist/esm/ion-toast.entry.js +25 -20
  500. package/dist/esm/ion-toggle.entry.js +36 -15
  501. package/dist/esm/{ionic-global-Cp_eT4sZ.js → ionic-global-ZXjCXKH0.js} +13 -8
  502. package/dist/esm/ionic.js +6 -6
  503. package/dist/esm/{ios.transition-ClFrsIrS.js → ios.transition-CWAgfQ1r.js} +14 -17
  504. package/dist/esm/item-multiple-inputs-DZnIiOO_.js +36 -0
  505. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-Cj8mLJeq.js} +2 -2
  506. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-DAF8GNJ9.js} +2 -2
  507. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-DEwoa1ev.js} +6 -6
  508. package/dist/esm/loader.js +5 -5
  509. package/dist/esm/{md.transition-D0msQmzI.js → md.transition-ZuqDDdDW.js} +8 -8
  510. package/dist/esm/overlay-control-label-BSQPZ79H.js +47 -0
  511. package/dist/esm/{overlays-TbiM4mdr.js → overlays-DKE0DgvE.js} +119 -57
  512. package/dist/esm/select-option-render-1W6W9pbC.js +121 -0
  513. package/dist/esm/slot-mutation-controller-B5NpUZ-N.js +393 -0
  514. package/dist/esm/{status-tap-Kan2W7sh.js → status-tap-Cv9gb3ja.js} +4 -3
  515. package/dist/esm/{swipe-back-ZUWwA-KF.js → swipe-back-De5HlmeM.js} +5 -5
  516. package/dist/esm/{theme-DiVJyqlX.js → theme-byZM6qHV.js} +6 -1
  517. package/dist/html.html-data.json +58 -82
  518. package/dist/ionic/index.esm.js +1 -1
  519. package/dist/ionic/ionic.esm.js +1 -1
  520. package/dist/ionic/p-06c6b540.entry.js +4 -0
  521. package/dist/ionic/p-099b7f9f.entry.js +4 -0
  522. package/dist/ionic/p-0dcb7bb6.entry.js +4 -0
  523. package/dist/ionic/p-1347880c.entry.js +4 -0
  524. package/dist/ionic/p-191a651e.entry.js +4 -0
  525. package/dist/ionic/p-1f24cb24.entry.js +4 -0
  526. package/dist/ionic/p-271c3640.entry.js +4 -0
  527. package/dist/ionic/p-2c52fe3e.entry.js +4 -0
  528. package/dist/ionic/p-2ea4bb36.entry.js +4 -0
  529. package/dist/ionic/p-338a02e0.entry.js +4 -0
  530. package/dist/ionic/p-38b9375b.entry.js +4 -0
  531. package/dist/ionic/p-3bba83ee.entry.js +4 -0
  532. package/dist/ionic/p-4712a8a9.entry.js +4 -0
  533. package/dist/ionic/p-4c3e50f8.entry.js +4 -0
  534. package/dist/ionic/p-4e2fef42.entry.js +4 -0
  535. package/dist/ionic/p-54cbb0a7.entry.js +4 -0
  536. package/dist/ionic/{p-2bb2cb18.entry.js → p-561af487.entry.js} +1 -1
  537. package/dist/ionic/p-5906ea6f.entry.js +4 -0
  538. package/dist/ionic/p-5cc09b40.entry.js +4 -0
  539. package/dist/ionic/p-5d9094ac.entry.js +4 -0
  540. package/dist/ionic/p-612ea3b1.entry.js +4 -0
  541. package/dist/ionic/p-66f150ec.entry.js +4 -0
  542. package/dist/ionic/p-68cc89a6.entry.js +4 -0
  543. package/dist/ionic/{p-dfa8d673.entry.js → p-6e386853.entry.js} +1 -1
  544. package/dist/ionic/p-77c96e08.entry.js +4 -0
  545. package/dist/ionic/p-7bfeccb3.entry.js +4 -0
  546. package/dist/ionic/p-7e394cc3.entry.js +4 -0
  547. package/dist/ionic/{p-0fa9c382.entry.js → p-7fbb3319.entry.js} +1 -1
  548. package/dist/ionic/p-837db1b9.entry.js +4 -0
  549. package/dist/ionic/p-85599fe3.entry.js +4 -0
  550. package/dist/ionic/p-8b80d9f9.entry.js +4 -0
  551. package/dist/ionic/p-90f50a65.entry.js +4 -0
  552. package/dist/ionic/p-9595e305.entry.js +4 -0
  553. package/dist/ionic/p-9c5f2691.entry.js +4 -0
  554. package/dist/ionic/p-BMPN55of.js +4 -0
  555. package/dist/ionic/p-BSQPZ79H.js +4 -0
  556. package/dist/ionic/p-BY6BzzPF.js +4 -0
  557. package/dist/ionic/p-B_gJaBk0.js +4 -0
  558. package/dist/ionic/p-BaeKWZ-a.js +4 -0
  559. package/dist/ionic/p-Bd72UYI2.js +4 -0
  560. package/dist/ionic/p-BgOvhHy_.js +4 -0
  561. package/dist/ionic/p-BhamHSw3.js +4 -0
  562. package/dist/ionic/p-BijjLYjT.js +4 -0
  563. package/dist/ionic/{p-DV3sJJW8.js → p-BvabGprD.js} +1 -1
  564. package/dist/ionic/p-C23AVPx9.js +6 -0
  565. package/dist/ionic/p-C8XilMh0.js +4 -0
  566. package/dist/ionic/p-CER8qW8Y.js +4 -0
  567. package/dist/ionic/p-CFuOr1Tu.js +4 -0
  568. package/dist/ionic/p-CM5OBjTW.js +4 -0
  569. package/dist/ionic/p-CMZYmFb4.js +4 -0
  570. package/dist/ionic/p-CkxVYPtX.js +4 -0
  571. package/dist/ionic/p-CmXuiRT6.js +4 -0
  572. package/dist/ionic/p-D0YpjgON.js +4 -0
  573. package/dist/ionic/p-D4OrdtJf.js +4 -0
  574. package/dist/ionic/p-D5t_-oMk.js +4 -0
  575. package/dist/ionic/p-D6rHcCvc.js +4 -0
  576. package/dist/ionic/p-DLM95R4x.js +4 -0
  577. package/dist/ionic/p-DTxBioUO.js +4 -0
  578. package/dist/ionic/p-DWCzVL3Y.js +4 -0
  579. package/dist/ionic/p-DYUjHcuH.js +4 -0
  580. package/dist/ionic/p-DZ6Hmc-8.js +4 -0
  581. package/dist/ionic/p-D_gb-kdd.js +4 -0
  582. package/dist/ionic/p-DajLgJ4d.js +4 -0
  583. package/dist/ionic/p-Do3zTvCA.js +4 -0
  584. package/dist/ionic/p-Dojwmvde.js +4 -0
  585. package/dist/ionic/p-T71k3C35.js +4 -0
  586. package/dist/ionic/p-a1cc2861.entry.js +4 -0
  587. package/dist/ionic/p-a20a2ebe.entry.js +4 -0
  588. package/dist/ionic/p-a8ff2489.entry.js +4 -0
  589. package/dist/ionic/p-b3532b8d.entry.js +4 -0
  590. package/dist/ionic/p-b80c86c4.entry.js +4 -0
  591. package/dist/ionic/p-b9b4e85d.entry.js +4 -0
  592. package/dist/ionic/p-byZM6qHV.js +4 -0
  593. package/dist/ionic/p-c57fc396.entry.js +4 -0
  594. package/dist/ionic/{p-c6e49f3f.entry.js → p-ca1b8865.entry.js} +1 -1
  595. package/dist/ionic/p-cc4320d3.entry.js +4 -0
  596. package/dist/ionic/p-d6755739.entry.js +4 -0
  597. package/dist/ionic/p-d8c138d9.entry.js +4 -0
  598. package/dist/ionic/p-db449915.entry.js +4 -0
  599. package/dist/ionic/p-dd01be0a.entry.js +4 -0
  600. package/dist/ionic/p-ec00fd0d.entry.js +4 -0
  601. package/dist/ionic/p-ee09ac9d.entry.js +4 -0
  602. package/dist/ionic/{p-37e720da.entry.js → p-efc0cf82.entry.js} +1 -1
  603. package/dist/ionic/p-f0fb23c1.entry.js +4 -0
  604. package/dist/ionic/p-f83b3e0c.entry.js +4 -0
  605. package/dist/ionic/p-fU3rOYad.js +4 -0
  606. package/dist/ionic/p-zWf7R2xV.js +4 -0
  607. package/dist/types/components/action-sheet/action-sheet.d.ts +10 -0
  608. package/dist/types/components/alert/alert.d.ts +7 -0
  609. package/dist/types/components/checkbox/checkbox.d.ts +1 -0
  610. package/dist/types/components/content/content.d.ts +12 -0
  611. package/dist/types/components/datetime/datetime.d.ts +13 -1
  612. package/dist/types/components/fab-button/fab-button.d.ts +15 -0
  613. package/dist/types/components/img/img.d.ts +2 -0
  614. package/dist/types/components/input/input.d.ts +12 -6
  615. package/dist/types/components/item/item.d.ts +19 -0
  616. package/dist/types/components/modal/gestures/sheet.d.ts +1 -0
  617. package/dist/types/components/modal/gestures/utils.d.ts +11 -0
  618. package/dist/types/components/modal/modal-interface.d.ts +9 -0
  619. package/dist/types/components/modal/modal.d.ts +25 -7
  620. package/dist/types/components/modal/safe-area-utils.d.ts +6 -0
  621. package/dist/types/components/nav/nav-interface.d.ts +0 -1
  622. package/dist/types/components/nav/nav.d.ts +2 -22
  623. package/dist/types/components/picker-column/picker-column.d.ts +42 -0
  624. package/dist/types/components/radio/radio.d.ts +1 -0
  625. package/dist/types/components/range/range.d.ts +4 -1
  626. package/dist/types/components/refresher/refresher.d.ts +7 -0
  627. package/dist/types/components/route/route.d.ts +1 -1
  628. package/dist/types/components/router-outlet/router-outlet.d.ts +7 -0
  629. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  630. package/dist/types/components/select/select-interface.d.ts +31 -0
  631. package/dist/types/components/select/select.d.ts +30 -6
  632. package/dist/types/components/select-option/select-option.d.ts +42 -1
  633. package/dist/types/components/tab/tab.d.ts +1 -1
  634. package/dist/types/components/textarea/textarea.d.ts +12 -5
  635. package/dist/types/components/toggle/toggle.d.ts +1 -0
  636. package/dist/types/components.d.ts +94 -318
  637. package/dist/types/index.d.ts +1 -1
  638. package/dist/types/interface.d.ts +0 -1
  639. package/dist/types/stencil-public-runtime.d.ts +12 -0
  640. package/dist/types/utils/config.d.ts +1 -8
  641. package/dist/types/utils/content/index.d.ts +12 -0
  642. package/dist/types/utils/forms/index.d.ts +2 -0
  643. package/dist/types/utils/forms/item-multiple-inputs.d.ts +13 -0
  644. package/dist/types/utils/forms/start-container-controller.d.ts +34 -0
  645. package/dist/types/utils/helpers.d.ts +8 -5
  646. package/dist/types/utils/logging/index.d.ts +2 -1
  647. package/dist/types/utils/overlay-control-label.d.ts +32 -0
  648. package/dist/types/utils/overlays.d.ts +20 -9
  649. package/dist/types/utils/rtl/dir.d.ts +10 -4
  650. package/dist/types/utils/sanitization/index.d.ts +58 -2
  651. package/dist/types/utils/select-option-render.d.ts +53 -0
  652. package/dist/types/utils/test/playwright/apply-keyboard-focus.d.ts +16 -0
  653. package/dist/types/utils/test/playwright/detach-reattach.d.ts +13 -0
  654. package/dist/types/utils/test/playwright/index.d.ts +2 -0
  655. package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
  656. package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
  657. package/hydrate/index.js +3341 -2197
  658. package/hydrate/index.mjs +3341 -2197
  659. package/loader/index.d.ts +1 -1
  660. package/package.json +61 -17
  661. package/components/ion-picker-legacy-column.d.ts +0 -11
  662. package/components/ion-picker-legacy-column.js +0 -4
  663. package/components/ion-picker-legacy.d.ts +0 -11
  664. package/components/ion-picker-legacy.js +0 -4
  665. package/components/p-0NRupjzW.js +0 -4
  666. package/components/p-5bE_Wz4Y.js +0 -4
  667. package/components/p-B60hm8Qv.js +0 -4
  668. package/components/p-BAYYcg3o.js +0 -4
  669. package/components/p-BLmJ0zRm.js +0 -4
  670. package/components/p-BSEgsdFI.js +0 -4
  671. package/components/p-BTEOs1at.js +0 -4
  672. package/components/p-BTPfOxsU.js +0 -4
  673. package/components/p-BT_5jSqG.js +0 -4
  674. package/components/p-Baq1XyAy.js +0 -4
  675. package/components/p-BjfgFSSR.js +0 -4
  676. package/components/p-BjoEPDW5.js +0 -4
  677. package/components/p-BnqQlm7c.js +0 -4
  678. package/components/p-BsPelv04.js +0 -4
  679. package/components/p-Bth-EzJ0.js +0 -4
  680. package/components/p-Bz0dSlXZ.js +0 -4
  681. package/components/p-C1aScSTo.js +0 -4
  682. package/components/p-C2lKgrXx.js +0 -4
  683. package/components/p-C53feagD.js +0 -4
  684. package/components/p-CHqRYvYm.js +0 -4
  685. package/components/p-CI3ncNZm.js +0 -4
  686. package/components/p-CSZf8_j0.js +0 -4
  687. package/components/p-CU5rbWAW.js +0 -4
  688. package/components/p-C_xFdyXe.js +0 -4
  689. package/components/p-Ciz1-FuE.js +0 -4
  690. package/components/p-Cl0B-RWe.js +0 -4
  691. package/components/p-CmR5uXej.js +0 -4
  692. package/components/p-CtWGkNnJ.js +0 -4
  693. package/components/p-CtukzcyX.js +0 -4
  694. package/components/p-D13Eaw-8.js +0 -4
  695. package/components/p-D5Ubpm7D.js +0 -4
  696. package/components/p-D6Ynv7Xh.js +0 -4
  697. package/components/p-D7bSXQD3.js +0 -4
  698. package/components/p-DDWp95gH.js +0 -4
  699. package/components/p-DIE4pXMl.js +0 -4
  700. package/components/p-DOFCbuQR.js +0 -4
  701. package/components/p-DiVJyqlX.js +0 -4
  702. package/components/p-DnL1c9_X.js +0 -4
  703. package/components/p-W5nO8mX_.js +0 -4
  704. package/components/p-W9CZ2mWX.js +0 -4
  705. package/components/p-XlSIJDJ-.js +0 -4
  706. package/components/p-cyNmxje6.js +0 -4
  707. package/components/p-dhLYXa7A.js +0 -4
  708. package/components/p-ijF0iCrA.js +0 -4
  709. package/components/p-k_E4tX5Z.js +0 -4
  710. package/components/p-nQi4oKcG.js +0 -4
  711. package/components/p-ryqmO0B-.js +0 -4
  712. package/dist/cjs/config-xninhj0J.js +0 -201
  713. package/dist/cjs/dir-Cn0z1rJH.js +0 -20
  714. package/dist/cjs/input.utils-DetjmtH2.js +0 -150
  715. package/dist/cjs/notch-controller-18PzRGXd.js +0 -155
  716. package/dist/collection/components/picker-legacy/animations/ios.enter.js +0 -27
  717. package/dist/collection/components/picker-legacy/animations/ios.leave.js +0 -23
  718. package/dist/collection/components/picker-legacy/picker-interface.js +0 -1
  719. package/dist/collection/components/picker-legacy/picker.ios.css +0 -300
  720. package/dist/collection/components/picker-legacy/picker.js +0 -890
  721. package/dist/collection/components/picker-legacy/picker.md.css +0 -287
  722. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +0 -231
  723. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -422
  724. package/dist/collection/components/picker-legacy-column/picker-column.md.css +0 -222
  725. package/dist/collection/components/picker-legacy-column/test/test.utils.js +0 -43
  726. package/dist/esm/config-DQCONYYp.js +0 -195
  727. package/dist/esm/dir-C53feagD.js +0 -18
  728. package/dist/esm/input.utils-Y6NgW8bw.js +0 -147
  729. package/dist/esm/notch-controller-DKDjU_O7.js +0 -153
  730. package/dist/ionic/p-00dbb17e.entry.js +0 -4
  731. package/dist/ionic/p-01f81ea5.entry.js +0 -4
  732. package/dist/ionic/p-06c232a4.entry.js +0 -4
  733. package/dist/ionic/p-0d005398.entry.js +0 -4
  734. package/dist/ionic/p-1ae21e4c.entry.js +0 -4
  735. package/dist/ionic/p-20b1a044.entry.js +0 -4
  736. package/dist/ionic/p-21eb76d5.entry.js +0 -4
  737. package/dist/ionic/p-2394a9a6.entry.js +0 -4
  738. package/dist/ionic/p-27d30585.entry.js +0 -4
  739. package/dist/ionic/p-2f55dc1a.entry.js +0 -4
  740. package/dist/ionic/p-30bf9737.entry.js +0 -4
  741. package/dist/ionic/p-3353c229.entry.js +0 -4
  742. package/dist/ionic/p-33704f20.entry.js +0 -4
  743. package/dist/ionic/p-390ca786.entry.js +0 -4
  744. package/dist/ionic/p-3a126bca.entry.js +0 -4
  745. package/dist/ionic/p-3a541154.entry.js +0 -4
  746. package/dist/ionic/p-3a7d1e91.entry.js +0 -4
  747. package/dist/ionic/p-3ae5f277.entry.js +0 -4
  748. package/dist/ionic/p-4745f534.entry.js +0 -4
  749. package/dist/ionic/p-4858af1f.entry.js +0 -4
  750. package/dist/ionic/p-4baa5b82.entry.js +0 -4
  751. package/dist/ionic/p-4dc1c33c.entry.js +0 -4
  752. package/dist/ionic/p-4e92a11f.entry.js +0 -4
  753. package/dist/ionic/p-50e1194a.entry.js +0 -4
  754. package/dist/ionic/p-5d1da0a2.entry.js +0 -4
  755. package/dist/ionic/p-75dc25ba.entry.js +0 -4
  756. package/dist/ionic/p-81ea5652.entry.js +0 -4
  757. package/dist/ionic/p-84d5ce05.entry.js +0 -4
  758. package/dist/ionic/p-874b4bd8.entry.js +0 -4
  759. package/dist/ionic/p-8c8eee7d.entry.js +0 -4
  760. package/dist/ionic/p-8eb8ee76.entry.js +0 -4
  761. package/dist/ionic/p-8fce95d5.entry.js +0 -4
  762. package/dist/ionic/p-94f2a736.entry.js +0 -4
  763. package/dist/ionic/p-9a65ac7f.entry.js +0 -4
  764. package/dist/ionic/p-9eeaBrnk.js +0 -4
  765. package/dist/ionic/p-9f1103ce.entry.js +0 -4
  766. package/dist/ionic/p-BGqMS-oh.js +0 -4
  767. package/dist/ionic/p-BTEOs1at.js +0 -4
  768. package/dist/ionic/p-BUFIpxKM.js +0 -4
  769. package/dist/ionic/p-C53feagD.js +0 -4
  770. package/dist/ionic/p-CFlfIb2g.js +0 -4
  771. package/dist/ionic/p-CKvCXMs9.js +0 -4
  772. package/dist/ionic/p-Cl0B-RWe.js +0 -4
  773. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  774. package/dist/ionic/p-CwdymDLH.js +0 -4
  775. package/dist/ionic/p-Cx3IXROA.js +0 -4
  776. package/dist/ionic/p-D13Eaw-8.js +0 -4
  777. package/dist/ionic/p-DAAFkPFT.js +0 -4
  778. package/dist/ionic/p-DC3RagnA.js +0 -4
  779. package/dist/ionic/p-DIuEbVLu.js +0 -4
  780. package/dist/ionic/p-DSG2s2Eb.js +0 -4
  781. package/dist/ionic/p-Dfbt-q2k.js +0 -4
  782. package/dist/ionic/p-DiVJyqlX.js +0 -4
  783. package/dist/ionic/p-DoJvtrbw.js +0 -4
  784. package/dist/ionic/p-DzWaWHGc.js +0 -4
  785. package/dist/ionic/p-Nqf6uvGh.js +0 -4
  786. package/dist/ionic/p-SNAkTDfm.js +0 -4
  787. package/dist/ionic/p-VAemlbDS.js +0 -4
  788. package/dist/ionic/p-Wk5HzclC.js +0 -4
  789. package/dist/ionic/p-a21add2f.entry.js +0 -4
  790. package/dist/ionic/p-a3bdcae6.entry.js +0 -4
  791. package/dist/ionic/p-aa5d6b8f.entry.js +0 -4
  792. package/dist/ionic/p-c0fb8edd.entry.js +0 -4
  793. package/dist/ionic/p-c4d8641b.entry.js +0 -4
  794. package/dist/ionic/p-e0be05c5.entry.js +0 -4
  795. package/dist/ionic/p-e847a888.entry.js +0 -4
  796. package/dist/ionic/p-ec090e0a.entry.js +0 -4
  797. package/dist/ionic/p-ef4c3bee.entry.js +0 -4
  798. package/dist/ionic/p-fabcce6c.entry.js +0 -4
  799. package/dist/ionic/p-facfde02.entry.js +0 -4
  800. package/dist/ionic/p-fd7eebc4.entry.js +0 -4
  801. package/dist/ionic/p-mjKAFv89.js +0 -4
  802. package/dist/ionic/p-tcQvqkiX.js +0 -5
  803. package/dist/ionic/p-viFHDgRs.js +0 -4
  804. package/dist/ionic/p-xOfi7-Zn.js +0 -4
  805. package/dist/ionic/p-xWb6fgfq.js +0 -4
  806. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +0 -5
  807. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +0 -5
  808. package/dist/types/components/picker-legacy/picker-interface.d.ts +0 -52
  809. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  810. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  811. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +0 -9
  812. /package/components/{p-CO7fmmxt.js → p-LpMHEu3v.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { f as printIonWarning } from './index-tcQvqkiX.js';
4
+ import { f as printIonWarning } from './index-C23AVPx9.js';
5
5
 
6
6
  /**
7
7
  * Returns true if the selected day is equal to the reference day
@@ -311,19 +311,19 @@ const parseMaxParts = (max, todayParts) => {
311
311
  * so that the correct initial value can be selected. As a result,
312
312
  * we need to fill in any omitted data with the min or max values.
313
313
  */
314
- const yearValue = year !== null && year !== void 0 ? year : todayParts.year;
315
- const monthValue = month !== null && month !== void 0 ? month : 12;
314
+ const yearValue = year ?? todayParts.year;
315
+ const monthValue = month ?? 12;
316
316
  return {
317
317
  month: monthValue,
318
- day: day !== null && day !== void 0 ? day : getNumDaysInMonth(monthValue, yearValue),
318
+ day: day ?? getNumDaysInMonth(monthValue, yearValue),
319
319
  /**
320
320
  * Passing in "HH:mm" is a valid ISO-8601
321
321
  * string, so we just default to the current year
322
322
  * in this case.
323
323
  */
324
324
  year: yearValue,
325
- hour: hour !== null && hour !== void 0 ? hour : 23,
326
- minute: minute !== null && minute !== void 0 ? minute : 59,
325
+ hour: hour ?? 23,
326
+ minute: minute ?? 59,
327
327
  };
328
328
  };
329
329
  /**
@@ -352,16 +352,16 @@ const parseMinParts = (min, todayParts) => {
352
352
  * we need to fill in any omitted data with the min or max values.
353
353
  */
354
354
  return {
355
- month: month !== null && month !== void 0 ? month : 1,
356
- day: day !== null && day !== void 0 ? day : 1,
355
+ month: month ?? 1,
356
+ day: day ?? 1,
357
357
  /**
358
358
  * Passing in "HH:mm" is a valid ISO-8601
359
359
  * string, so we just default to the current year
360
360
  * in this case.
361
361
  */
362
- year: year !== null && year !== void 0 ? year : todayParts.year,
363
- hour: hour !== null && hour !== void 0 ? hour : 0,
364
- minute: minute !== null && minute !== void 0 ? minute : 0,
362
+ year: year ?? todayParts.year,
363
+ hour: hour ?? 0,
364
+ minute: minute ?? 0,
365
365
  };
366
366
  };
367
367
 
@@ -643,7 +643,7 @@ const calculateHourFromAMPM = (currentParts, newAMPM) => {
643
643
  */
644
644
  const validateParts = (parts, minParts, maxParts) => {
645
645
  const { month, day, year } = parts;
646
- const partsCopy = clampDate(Object.assign({}, parts), minParts, maxParts);
646
+ const partsCopy = clampDate({ ...parts }, minParts, maxParts);
647
647
  const numDays = getNumDaysInMonth(month, year);
648
648
  /**
649
649
  * If the max number of days
@@ -719,7 +719,7 @@ const validateParts = (parts, minParts, maxParts) => {
719
719
  */
720
720
  const getClosestValidDate = ({ refParts, monthValues, dayValues, yearValues, hourValues, minuteValues, minParts, maxParts, }) => {
721
721
  const { hour, minute, day, month, year } = refParts;
722
- const copyParts = Object.assign(Object.assign({}, refParts), { dayOfWeek: undefined });
722
+ const copyParts = { ...refParts, dayOfWeek: undefined };
723
723
  if (yearValues !== undefined) {
724
724
  // Filters out years that are out of the min/max bounds
725
725
  const filteredYears = yearValues.filter((year) => {
@@ -750,10 +750,10 @@ const getClosestValidDate = ({ refParts, monthValues, dayValues, yearValues, hou
750
750
  if (day !== null && dayValues !== undefined) {
751
751
  // Filters out days that are out of the min/max bounds
752
752
  const filteredDays = dayValues.filter((day) => {
753
- if (minParts !== undefined && isBefore(Object.assign(Object.assign({}, copyParts), { day }), minParts)) {
753
+ if (minParts !== undefined && isBefore({ ...copyParts, day }, minParts)) {
754
754
  return false;
755
755
  }
756
- if (maxParts !== undefined && isAfter(Object.assign(Object.assign({}, copyParts), { day }), maxParts)) {
756
+ if (maxParts !== undefined && isAfter({ ...copyParts, day }, maxParts)) {
757
757
  return false;
758
758
  }
759
759
  return true;
@@ -763,10 +763,10 @@ const getClosestValidDate = ({ refParts, monthValues, dayValues, yearValues, hou
763
763
  if (hour !== undefined && hourValues !== undefined) {
764
764
  // Filters out hours that are out of the min/max bounds
765
765
  const filteredHours = hourValues.filter((hour) => {
766
- if ((minParts === null || minParts === void 0 ? void 0 : minParts.hour) !== undefined && isSameDay(copyParts, minParts) && hour < minParts.hour) {
766
+ if (minParts?.hour !== undefined && isSameDay(copyParts, minParts) && hour < minParts.hour) {
767
767
  return false;
768
768
  }
769
- if ((maxParts === null || maxParts === void 0 ? void 0 : maxParts.hour) !== undefined && isSameDay(copyParts, maxParts) && hour > maxParts.hour) {
769
+ if (maxParts?.hour !== undefined && isSameDay(copyParts, maxParts) && hour > maxParts.hour) {
770
770
  return false;
771
771
  }
772
772
  return true;
@@ -777,13 +777,13 @@ const getClosestValidDate = ({ refParts, monthValues, dayValues, yearValues, hou
777
777
  if (minute !== undefined && minuteValues !== undefined) {
778
778
  // Filters out minutes that are out of the min/max bounds
779
779
  const filteredMinutes = minuteValues.filter((minute) => {
780
- if ((minParts === null || minParts === void 0 ? void 0 : minParts.minute) !== undefined &&
780
+ if (minParts?.minute !== undefined &&
781
781
  isSameDay(copyParts, minParts) &&
782
782
  copyParts.hour === minParts.hour &&
783
783
  minute < minParts.minute) {
784
784
  return false;
785
785
  }
786
- if ((maxParts === null || maxParts === void 0 ? void 0 : maxParts.minute) !== undefined &&
786
+ if (maxParts?.minute !== undefined &&
787
787
  isSameDay(copyParts, maxParts) &&
788
788
  copyParts.hour === maxParts.hour &&
789
789
  minute > maxParts.minute) {
@@ -838,7 +838,8 @@ const getFormattedDayPeriod = (dayPeriod) => {
838
838
  * confusion.
839
839
  */
840
840
  const stripTimeZone = (formatOptions) => {
841
- return Object.assign(Object.assign({}, formatOptions), {
841
+ return {
842
+ ...formatOptions,
842
843
  /**
843
844
  * Setting the time zone to UTC ensures that the value shown is always the
844
845
  * same as what was selected and safeguards against older Safari bugs with
@@ -848,8 +849,8 @@ const stripTimeZone = (formatOptions) => {
848
849
  /**
849
850
  * We do not want to display the time zone name
850
851
  */
851
- timeZoneName: undefined
852
- });
852
+ timeZoneName: undefined,
853
+ };
853
854
  };
854
855
  const getLocalizedTime = (locale, refParts, hourCycle, formatOptions = { hour: 'numeric', minute: 'numeric' }) => {
855
856
  const timeParts = {
@@ -859,13 +860,20 @@ const getLocalizedTime = (locale, refParts, hourCycle, formatOptions = { hour: '
859
860
  if (timeParts.hour === undefined || timeParts.minute === undefined) {
860
861
  return 'Invalid Time';
861
862
  }
862
- return new Intl.DateTimeFormat(locale, Object.assign(Object.assign({}, stripTimeZone(formatOptions)), {
863
+ return new Intl.DateTimeFormat(locale, {
864
+ ...stripTimeZone(formatOptions),
863
865
  /**
864
866
  * We use hourCycle here instead of hour12 due to:
865
867
  * https://bugs.chromium.org/p/chromium/issues/detail?id=1347316&q=hour12&can=2
866
868
  */
867
- hourCycle
868
- })).format(new Date(convertDataToISO(Object.assign({
869
+ hourCycle,
870
+ /**
871
+ * Setting Z at the end indicates that this
872
+ * date string is in the UTC time zone. This
873
+ * prevents new Date from adding the time zone
874
+ * offset when getting the ISO string.
875
+ */
876
+ }).format(new Date(convertDataToISO({
869
877
  /**
870
878
  * JS uses a simplified ISO 8601 format which allows for
871
879
  * date-only formats and date-time formats, but not
@@ -877,8 +885,11 @@ const getLocalizedTime = (locale, refParts, hourCycle, formatOptions = { hour: '
877
885
  * values, so passing these date values should have no impact
878
886
  * on the time output.
879
887
  */
880
- year: 2023, day: 1, month: 1
881
- }, timeParts)) + 'Z'));
888
+ year: 2023,
889
+ day: 1,
890
+ month: 1,
891
+ ...timeParts,
892
+ }) + 'Z'));
882
893
  };
883
894
  /**
884
895
  * Adds padding to a time value so
@@ -987,7 +998,6 @@ const getYear = (locale, refParts) => {
987
998
  * with a normalized time.
988
999
  */
989
1000
  const getNormalizedDate = (refParts) => {
990
- var _a, _b, _c;
991
1001
  const timeString = refParts.hour !== undefined && refParts.minute !== undefined ? ` ${refParts.hour}:${refParts.minute}` : '';
992
1002
  /**
993
1003
  * We use / notation here for the date
@@ -999,7 +1009,7 @@ const getNormalizedDate = (refParts) => {
999
1009
  * account for this and still return a valid date. However,
1000
1010
  * this is not a consistent behavior across all browsers.
1001
1011
  */
1002
- return new Date(`${(_a = refParts.month) !== null && _a !== void 0 ? _a : 1}/${(_b = refParts.day) !== null && _b !== void 0 ? _b : 1}/${(_c = refParts.year) !== null && _c !== void 0 ? _c : 2023}${timeString} GMT+0000`);
1012
+ return new Date(`${refParts.month ?? 1}/${refParts.day ?? 1}/${refParts.year ?? 2023}${timeString} GMT+0000`);
1003
1013
  };
1004
1014
  /**
1005
1015
  * Given a locale, DatetimeParts, and options
@@ -1030,7 +1040,7 @@ const getLocalizedDateTimeParts = (locale, refParts, options) => {
1030
1040
  * with Intl.DateTimeFormat.
1031
1041
  */
1032
1042
  const getDateTimeFormat = (locale, options) => {
1033
- return new Intl.DateTimeFormat(locale, Object.assign(Object.assign({}, options), { timeZone: 'UTC' }));
1043
+ return new Intl.DateTimeFormat(locale, { ...options, timeZone: 'UTC' });
1034
1044
  };
1035
1045
  /**
1036
1046
  * Gets a localized version of "Today"
@@ -1112,527 +1122,4 @@ const formatValue = (value) => {
1112
1122
  return Array.isArray(value) ? value.join(',') : value;
1113
1123
  };
1114
1124
 
1115
- /**
1116
- * Returns the current date as
1117
- * an ISO string in the user's
1118
- * time zone.
1119
- */
1120
- const getToday = () => {
1121
- /**
1122
- * ion-datetime intentionally does not
1123
- * parse time zones/do automatic time zone
1124
- * conversion when accepting user input.
1125
- * However when we get today's date string,
1126
- * we want it formatted relative to the user's
1127
- * time zone.
1128
- *
1129
- * When calling toISOString(), the browser
1130
- * will convert the date to UTC time by either adding
1131
- * or subtracting the time zone offset.
1132
- * To work around this, we need to either add
1133
- * or subtract the time zone offset to the Date
1134
- * object prior to calling toISOString().
1135
- * This allows us to get an ISO string
1136
- * that is in the user's time zone.
1137
- */
1138
- return removeDateTzOffset(new Date()).toISOString();
1139
- };
1140
- const minutes = [
1141
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1142
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1143
- ];
1144
- // h11 hour system uses 0-11. Midnight starts at 0:00am.
1145
- const hour11 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
1146
- // h12 hour system uses 0-12. Midnight starts at 12:00am.
1147
- const hour12 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
1148
- // h23 hour system uses 0-23. Midnight starts at 0:00.
1149
- const hour23 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23];
1150
- // h24 hour system uses 1-24. Midnight starts at 24:00.
1151
- const hour24 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 0];
1152
- /**
1153
- * Given a locale and a mode,
1154
- * return an array with formatted days
1155
- * of the week. iOS should display days
1156
- * such as "Mon" or "Tue".
1157
- * MD should display days such as "M"
1158
- * or "T".
1159
- */
1160
- const getDaysOfWeek = (locale, mode, firstDayOfWeek = 0) => {
1161
- /**
1162
- * Nov 1st, 2020 starts on a Sunday.
1163
- * ion-datetime assumes weeks start on Sunday,
1164
- * but is configurable via `firstDayOfWeek`.
1165
- */
1166
- const weekdayFormat = mode === 'ios' ? 'short' : 'narrow';
1167
- const intl = new Intl.DateTimeFormat(locale, { weekday: weekdayFormat });
1168
- const startDate = new Date('11/01/2020');
1169
- const daysOfWeek = [];
1170
- /**
1171
- * For each day of the week,
1172
- * get the day name.
1173
- */
1174
- for (let i = firstDayOfWeek; i < firstDayOfWeek + 7; i++) {
1175
- const currentDate = new Date(startDate);
1176
- currentDate.setDate(currentDate.getDate() + i);
1177
- daysOfWeek.push(intl.format(currentDate));
1178
- }
1179
- return daysOfWeek;
1180
- };
1181
- /**
1182
- * Returns an array containing all of the
1183
- * days in a month for a given year. Values are
1184
- * aligned with a week calendar starting on
1185
- * the firstDayOfWeek value (Sunday by default)
1186
- * using null values.
1187
- */
1188
- const getDaysOfMonth = (month, year, firstDayOfWeek, showAdjacentDays = false) => {
1189
- const numDays = getNumDaysInMonth(month, year);
1190
- let previousNumDays; //previous month number of days
1191
- if (month === 1) {
1192
- // If the current month is January, the previous month should be December of the previous year.
1193
- previousNumDays = getNumDaysInMonth(12, year - 1);
1194
- }
1195
- else {
1196
- // Otherwise, the previous month should be the current month - 1 of the same year.
1197
- previousNumDays = getNumDaysInMonth(month - 1, year);
1198
- }
1199
- const firstOfMonth = new Date(`${month}/1/${year}`).getDay();
1200
- /**
1201
- * To get the first day of the month aligned on the correct
1202
- * day of the week, we need to determine how many "filler" days
1203
- * to generate. These filler days as empty/disabled buttons
1204
- * that fill the space of the days of the week before the first
1205
- * of the month.
1206
- *
1207
- * There are two cases here:
1208
- *
1209
- * 1. If firstOfMonth = 4, firstDayOfWeek = 0 then the offset
1210
- * is (4 - (0 + 1)) = 3. Since the offset loop goes from 0 to 3 inclusive,
1211
- * this will generate 4 filler days (0, 1, 2, 3), and then day of week 4 will have
1212
- * the first day of the month.
1213
- *
1214
- * 2. If firstOfMonth = 2, firstDayOfWeek = 4 then the offset
1215
- * is (6 - (4 - 2)) = 4. Since the offset loop goes from 0 to 4 inclusive,
1216
- * this will generate 5 filler days (0, 1, 2, 3, 4), and then day of week 5 will have
1217
- * the first day of the month.
1218
- */
1219
- const offset = firstOfMonth >= firstDayOfWeek ? firstOfMonth - (firstDayOfWeek + 1) : 6 - (firstDayOfWeek - firstOfMonth);
1220
- let days = [];
1221
- for (let i = 1; i <= numDays; i++) {
1222
- days.push({ day: i, dayOfWeek: (offset + i) % 7, isAdjacentDay: false });
1223
- }
1224
- if (showAdjacentDays) {
1225
- for (let i = 0; i <= offset; i++) {
1226
- // Using offset create previous month adjacent day, starting from last day
1227
- days = [{ day: previousNumDays - i, dayOfWeek: (previousNumDays - i) % 7, isAdjacentDay: true }, ...days];
1228
- }
1229
- // Calculate positiveOffset
1230
- // The calendar will display 42 days (6 rows of 7 columns)
1231
- // Knowing this the offset is 41 (we start at index 0)
1232
- // minus (the previous offset + the current month days)
1233
- const positiveOffset = 41 - (numDays + offset);
1234
- for (let i = 0; i < positiveOffset; i++) {
1235
- days.push({ day: i + 1, dayOfWeek: (numDays + offset + i) % 7, isAdjacentDay: true });
1236
- }
1237
- }
1238
- else {
1239
- for (let i = 0; i <= offset; i++) {
1240
- days = [{ day: null, dayOfWeek: null, isAdjacentDay: false }, ...days];
1241
- }
1242
- }
1243
- return days;
1244
- };
1245
- /**
1246
- * Returns an array of pre-defined hour
1247
- * values based on the provided hourCycle.
1248
- */
1249
- const getHourData = (hourCycle) => {
1250
- switch (hourCycle) {
1251
- case 'h11':
1252
- return hour11;
1253
- case 'h12':
1254
- return hour12;
1255
- case 'h23':
1256
- return hour23;
1257
- case 'h24':
1258
- return hour24;
1259
- default:
1260
- throw new Error(`Invalid hour cycle "${hourCycle}"`);
1261
- }
1262
- };
1263
- /**
1264
- * Given a local, reference datetime parts and option
1265
- * max/min bound datetime parts, calculate the acceptable
1266
- * hour and minute values according to the bounds and locale.
1267
- */
1268
- const generateTime = (locale, refParts, hourCycle = 'h12', minParts, maxParts, hourValues, minuteValues) => {
1269
- const computedHourCycle = getHourCycle(locale, hourCycle);
1270
- const use24Hour = is24Hour(computedHourCycle);
1271
- let processedHours = getHourData(computedHourCycle);
1272
- let processedMinutes = minutes;
1273
- let isAMAllowed = true;
1274
- let isPMAllowed = true;
1275
- if (hourValues) {
1276
- processedHours = processedHours.filter((hour) => hourValues.includes(hour));
1277
- }
1278
- if (minuteValues) {
1279
- processedMinutes = processedMinutes.filter((minute) => minuteValues.includes(minute));
1280
- }
1281
- if (minParts) {
1282
- /**
1283
- * If ref day is the same as the
1284
- * minimum allowed day, filter hour/minute
1285
- * values according to min hour and minute.
1286
- */
1287
- if (isSameDay(refParts, minParts)) {
1288
- /**
1289
- * Users may not always set the hour/minute for
1290
- * min value (i.e. 2021-06-02) so we should allow
1291
- * all hours/minutes in that case.
1292
- */
1293
- if (minParts.hour !== undefined) {
1294
- processedHours = processedHours.filter((hour) => {
1295
- const convertedHour = refParts.ampm === 'pm' ? (hour + 12) % 24 : hour;
1296
- return (use24Hour ? hour : convertedHour) >= minParts.hour;
1297
- });
1298
- isAMAllowed = minParts.hour < 13;
1299
- }
1300
- if (minParts.minute !== undefined) {
1301
- /**
1302
- * The minimum minute range should not be enforced when
1303
- * the hour is greater than the min hour.
1304
- *
1305
- * For example with a minimum range of 09:30, users
1306
- * should be able to select 10:00-10:29 and beyond.
1307
- */
1308
- let isPastMinHour = false;
1309
- if (minParts.hour !== undefined && refParts.hour !== undefined) {
1310
- if (refParts.hour > minParts.hour) {
1311
- isPastMinHour = true;
1312
- }
1313
- }
1314
- processedMinutes = processedMinutes.filter((minute) => {
1315
- if (isPastMinHour) {
1316
- return true;
1317
- }
1318
- return minute >= minParts.minute;
1319
- });
1320
- }
1321
- /**
1322
- * If ref day is before minimum
1323
- * day do not render any hours/minute values
1324
- */
1325
- }
1326
- else if (isBefore(refParts, minParts)) {
1327
- processedHours = [];
1328
- processedMinutes = [];
1329
- isAMAllowed = isPMAllowed = false;
1330
- }
1331
- }
1332
- if (maxParts) {
1333
- /**
1334
- * If ref day is the same as the
1335
- * maximum allowed day, filter hour/minute
1336
- * values according to max hour and minute.
1337
- */
1338
- if (isSameDay(refParts, maxParts)) {
1339
- /**
1340
- * Users may not always set the hour/minute for
1341
- * max value (i.e. 2021-06-02) so we should allow
1342
- * all hours/minutes in that case.
1343
- */
1344
- if (maxParts.hour !== undefined) {
1345
- processedHours = processedHours.filter((hour) => {
1346
- const convertedHour = refParts.ampm === 'pm' ? (hour + 12) % 24 : hour;
1347
- return (use24Hour ? hour : convertedHour) <= maxParts.hour;
1348
- });
1349
- isPMAllowed = maxParts.hour >= 12;
1350
- }
1351
- if (maxParts.minute !== undefined && refParts.hour === maxParts.hour) {
1352
- // The available minutes should only be filtered when the hour is the same as the max hour.
1353
- // For example if the max hour is 10:30 and the current hour is 10:00,
1354
- // users should be able to select 00-30 minutes.
1355
- // If the current hour is 09:00, users should be able to select 00-60 minutes.
1356
- processedMinutes = processedMinutes.filter((minute) => minute <= maxParts.minute);
1357
- }
1358
- /**
1359
- * If ref day is after minimum
1360
- * day do not render any hours/minute values
1361
- */
1362
- }
1363
- else if (isAfter(refParts, maxParts)) {
1364
- processedHours = [];
1365
- processedMinutes = [];
1366
- isAMAllowed = isPMAllowed = false;
1367
- }
1368
- }
1369
- return {
1370
- hours: processedHours,
1371
- minutes: processedMinutes,
1372
- am: isAMAllowed,
1373
- pm: isPMAllowed,
1374
- };
1375
- };
1376
- /**
1377
- * Given DatetimeParts, generate the previous,
1378
- * current, and and next months.
1379
- */
1380
- const generateMonths = (refParts, forcedDate) => {
1381
- const current = { month: refParts.month, year: refParts.year, day: refParts.day };
1382
- /**
1383
- * If we're forcing a month to appear, and it's different from the current month,
1384
- * ensure it appears by replacing the next or previous month as appropriate.
1385
- */
1386
- if (forcedDate !== undefined && (refParts.month !== forcedDate.month || refParts.year !== forcedDate.year)) {
1387
- const forced = { month: forcedDate.month, year: forcedDate.year, day: forcedDate.day };
1388
- const forcedMonthIsBefore = isBefore(forced, current);
1389
- return forcedMonthIsBefore
1390
- ? [forced, current, getNextMonth(refParts)]
1391
- : [getPreviousMonth(refParts), current, forced];
1392
- }
1393
- return [getPreviousMonth(refParts), current, getNextMonth(refParts)];
1394
- };
1395
- const getMonthColumnData = (locale, refParts, minParts, maxParts, monthValues, formatOptions = {
1396
- month: 'long',
1397
- }) => {
1398
- const { year } = refParts;
1399
- const months = [];
1400
- if (monthValues !== undefined) {
1401
- let processedMonths = monthValues;
1402
- if ((maxParts === null || maxParts === void 0 ? void 0 : maxParts.month) !== undefined) {
1403
- processedMonths = processedMonths.filter((month) => month <= maxParts.month);
1404
- }
1405
- if ((minParts === null || minParts === void 0 ? void 0 : minParts.month) !== undefined) {
1406
- processedMonths = processedMonths.filter((month) => month >= minParts.month);
1407
- }
1408
- processedMonths.forEach((processedMonth) => {
1409
- const date = new Date(`${processedMonth}/1/${year} GMT+0000`);
1410
- const monthString = new Intl.DateTimeFormat(locale, Object.assign(Object.assign({}, formatOptions), { timeZone: 'UTC' })).format(date);
1411
- months.push({ text: monthString, value: processedMonth });
1412
- });
1413
- }
1414
- else {
1415
- const maxMonth = maxParts && maxParts.year === year ? maxParts.month : 12;
1416
- const minMonth = minParts && minParts.year === year ? minParts.month : 1;
1417
- for (let i = minMonth; i <= maxMonth; i++) {
1418
- /**
1419
- *
1420
- * There is a bug on iOS 14 where
1421
- * Intl.DateTimeFormat takes into account
1422
- * the local timezone offset when formatting dates.
1423
- *
1424
- * Forcing the timezone to 'UTC' fixes the issue. However,
1425
- * we should keep this workaround as it is safer. In the event
1426
- * this breaks in another browser, we will not be impacted
1427
- * because all dates will be interpreted in UTC.
1428
- *
1429
- * Example:
1430
- * new Intl.DateTimeFormat('en-US', { month: 'long' }).format(new Date('Sat Apr 01 2006 00:00:00 GMT-0400 (EDT)')) // "March"
1431
- * new Intl.DateTimeFormat('en-US', { month: 'long', timeZone: 'UTC' }).format(new Date('Sat Apr 01 2006 00:00:00 GMT-0400 (EDT)')) // "April"
1432
- *
1433
- * In certain timezones, iOS 14 shows the wrong
1434
- * date for .toUTCString(). To combat this, we
1435
- * force all of the timezones to GMT+0000 (UTC).
1436
- *
1437
- * Example:
1438
- * Time Zone: Central European Standard Time
1439
- * new Date('1/1/1992').toUTCString() // "Tue, 31 Dec 1991 23:00:00 GMT"
1440
- * new Date('1/1/1992 GMT+0000').toUTCString() // "Wed, 01 Jan 1992 00:00:00 GMT"
1441
- */
1442
- const date = new Date(`${i}/1/${year} GMT+0000`);
1443
- const monthString = new Intl.DateTimeFormat(locale, Object.assign(Object.assign({}, formatOptions), { timeZone: 'UTC' })).format(date);
1444
- months.push({ text: monthString, value: i });
1445
- }
1446
- }
1447
- return months;
1448
- };
1449
- /**
1450
- * Returns information regarding
1451
- * selectable dates (i.e 1st, 2nd, 3rd, etc)
1452
- * within a reference month.
1453
- * @param locale The locale to format the date with
1454
- * @param refParts The reference month/year to generate dates for
1455
- * @param minParts The minimum bound on the date that can be returned
1456
- * @param maxParts The maximum bound on the date that can be returned
1457
- * @param dayValues The allowed date values
1458
- * @returns Date data to be used in ion-picker-column
1459
- */
1460
- const getDayColumnData = (locale, refParts, minParts, maxParts, dayValues, formatOptions = {
1461
- day: 'numeric',
1462
- }) => {
1463
- const { month, year } = refParts;
1464
- const days = [];
1465
- /**
1466
- * If we have max/min bounds that in the same
1467
- * month/year as the refParts, we should
1468
- * use the define day as the max/min day.
1469
- * Otherwise, fallback to the max/min days in a month.
1470
- */
1471
- const numDaysInMonth = getNumDaysInMonth(month, year);
1472
- const maxDay = (maxParts === null || maxParts === void 0 ? void 0 : maxParts.day) !== null && (maxParts === null || maxParts === void 0 ? void 0 : maxParts.day) !== undefined && maxParts.year === year && maxParts.month === month
1473
- ? maxParts.day
1474
- : numDaysInMonth;
1475
- const minDay = (minParts === null || minParts === void 0 ? void 0 : minParts.day) !== null && (minParts === null || minParts === void 0 ? void 0 : minParts.day) !== undefined && minParts.year === year && minParts.month === month
1476
- ? minParts.day
1477
- : 1;
1478
- if (dayValues !== undefined) {
1479
- let processedDays = dayValues;
1480
- processedDays = processedDays.filter((day) => day >= minDay && day <= maxDay);
1481
- processedDays.forEach((processedDay) => {
1482
- const date = new Date(`${month}/${processedDay}/${year} GMT+0000`);
1483
- const dayString = new Intl.DateTimeFormat(locale, Object.assign(Object.assign({}, formatOptions), { timeZone: 'UTC' })).format(date);
1484
- days.push({ text: dayString, value: processedDay });
1485
- });
1486
- }
1487
- else {
1488
- for (let i = minDay; i <= maxDay; i++) {
1489
- const date = new Date(`${month}/${i}/${year} GMT+0000`);
1490
- const dayString = new Intl.DateTimeFormat(locale, Object.assign(Object.assign({}, formatOptions), { timeZone: 'UTC' })).format(date);
1491
- days.push({ text: dayString, value: i });
1492
- }
1493
- }
1494
- return days;
1495
- };
1496
- const getYearColumnData = (locale, refParts, minParts, maxParts, yearValues) => {
1497
- var _a, _b;
1498
- let processedYears = [];
1499
- if (yearValues !== undefined) {
1500
- processedYears = yearValues;
1501
- if ((maxParts === null || maxParts === void 0 ? void 0 : maxParts.year) !== undefined) {
1502
- processedYears = processedYears.filter((year) => year <= maxParts.year);
1503
- }
1504
- if ((minParts === null || minParts === void 0 ? void 0 : minParts.year) !== undefined) {
1505
- processedYears = processedYears.filter((year) => year >= minParts.year);
1506
- }
1507
- }
1508
- else {
1509
- const { year } = refParts;
1510
- const maxYear = (_a = maxParts === null || maxParts === void 0 ? void 0 : maxParts.year) !== null && _a !== void 0 ? _a : year;
1511
- const minYear = (_b = minParts === null || minParts === void 0 ? void 0 : minParts.year) !== null && _b !== void 0 ? _b : year - 100;
1512
- for (let i = minYear; i <= maxYear; i++) {
1513
- processedYears.push(i);
1514
- }
1515
- }
1516
- return processedYears.map((year) => ({
1517
- text: getYear(locale, { year, month: refParts.month, day: refParts.day }),
1518
- value: year,
1519
- }));
1520
- };
1521
- /**
1522
- * Given a starting date and an upper bound,
1523
- * this functions returns an array of all
1524
- * month objects in that range.
1525
- */
1526
- const getAllMonthsInRange = (currentParts, maxParts) => {
1527
- if (currentParts.month === maxParts.month && currentParts.year === maxParts.year) {
1528
- return [currentParts];
1529
- }
1530
- return [currentParts, ...getAllMonthsInRange(getNextMonth(currentParts), maxParts)];
1531
- };
1532
- /**
1533
- * Creates and returns picker items
1534
- * that represent the days in a month.
1535
- * Example: "Thu, Jun 2"
1536
- */
1537
- const getCombinedDateColumnData = (locale, todayParts, minParts, maxParts, dayValues, monthValues) => {
1538
- let items = [];
1539
- let parts = [];
1540
- /**
1541
- * Get all month objects from the min date
1542
- * to the max date. Note: Do not use getMonthColumnData
1543
- * as that function only generates dates within a
1544
- * single year.
1545
- */
1546
- let months = getAllMonthsInRange(minParts, maxParts);
1547
- /**
1548
- * Filter out any disallowed month values.
1549
- */
1550
- if (monthValues) {
1551
- months = months.filter(({ month }) => monthValues.includes(month));
1552
- }
1553
- /**
1554
- * Get all of the days in the month.
1555
- * From there, generate an array where
1556
- * each item has the month, date, and day
1557
- * of work as the text.
1558
- */
1559
- months.forEach((monthObject) => {
1560
- const referenceMonth = { month: monthObject.month, day: null, year: monthObject.year };
1561
- const monthDays = getDayColumnData(locale, referenceMonth, minParts, maxParts, dayValues, {
1562
- month: 'short',
1563
- day: 'numeric',
1564
- weekday: 'short',
1565
- });
1566
- const dateParts = [];
1567
- const dateColumnItems = [];
1568
- monthDays.forEach((dayObject) => {
1569
- const isToday = isSameDay(Object.assign(Object.assign({}, referenceMonth), { day: dayObject.value }), todayParts);
1570
- /**
1571
- * Today's date should read as "Today" (localized)
1572
- * not the actual date string
1573
- */
1574
- dateColumnItems.push({
1575
- text: isToday ? getTodayLabel(locale) : dayObject.text,
1576
- value: `${referenceMonth.year}-${referenceMonth.month}-${dayObject.value}`,
1577
- });
1578
- /**
1579
- * When selecting a date in the wheel picker
1580
- * we need access to the raw datetime parts data.
1581
- * The picker column only accepts values of
1582
- * type string or number, so we need to return
1583
- * two sets of data: A data set to be passed
1584
- * to the picker column, and a data set to
1585
- * be used to reference the raw data when
1586
- * updating the picker column value.
1587
- */
1588
- dateParts.push({
1589
- month: referenceMonth.month,
1590
- year: referenceMonth.year,
1591
- day: dayObject.value,
1592
- });
1593
- });
1594
- parts = [...parts, ...dateParts];
1595
- items = [...items, ...dateColumnItems];
1596
- });
1597
- return {
1598
- parts,
1599
- items,
1600
- };
1601
- };
1602
- const getTimeColumnsData = (locale, refParts, hourCycle, minParts, maxParts, allowedHourValues, allowedMinuteValues) => {
1603
- const computedHourCycle = getHourCycle(locale, hourCycle);
1604
- const use24Hour = is24Hour(computedHourCycle);
1605
- const { hours, minutes, am, pm } = generateTime(locale, refParts, computedHourCycle, minParts, maxParts, allowedHourValues, allowedMinuteValues);
1606
- const hoursItems = hours.map((hour) => {
1607
- return {
1608
- text: getFormattedHour(hour, computedHourCycle),
1609
- value: getInternalHourValue(hour, use24Hour, refParts.ampm),
1610
- };
1611
- });
1612
- const minutesItems = minutes.map((minute) => {
1613
- return {
1614
- text: addTimePadding(minute),
1615
- value: minute,
1616
- };
1617
- });
1618
- const dayPeriodItems = [];
1619
- if (am && !use24Hour) {
1620
- dayPeriodItems.push({
1621
- text: getLocalizedDayPeriod(locale, 'am'),
1622
- value: 'am',
1623
- });
1624
- }
1625
- if (pm && !use24Hour) {
1626
- dayPeriodItems.push({
1627
- text: getLocalizedDayPeriod(locale, 'pm'),
1628
- value: 'pm',
1629
- });
1630
- }
1631
- return {
1632
- minutesData: minutesItems,
1633
- hoursData: hoursItems,
1634
- dayPeriodData: dayPeriodItems,
1635
- };
1636
- };
1637
-
1638
- export { getClosestValidDate as A, generateMonths as B, getNumDaysInMonth as C, getCombinedDateColumnData as D, getMonthColumnData as E, getDayColumnData as F, getYearColumnData as G, isMonthFirstLocale as H, getTimeColumnsData as I, isLocaleDayPeriodRTL as J, calculateHourFromAMPM as K, getDaysOfWeek as L, getMonthAndYear as M, getDaysOfMonth as N, getHourCycle as O, getLocalizedTime as P, getLocalizedDateTime as Q, formatValue as R, isAfter as a, getNextMonth as b, isSameDay as c, getDay as d, generateDayAriaLabel as e, getPartsFromCalendarDay as f, getPreviousMonth as g, getNextYear as h, isBefore as i, getPreviousYear as j, getEndOfWeek as k, getStartOfWeek as l, getPreviousDay as m, getNextDay as n, getPreviousWeek as o, getNextWeek as p, parseMinParts as q, parseMaxParts as r, parseDate as s, parseAmPm as t, clampDate as u, validateParts as v, warnIfValueOutOfBounds as w, convertToArrayOfNumbers as x, convertDataToISO as y, getToday as z };
1125
+ export { getNextWeek as A, parseMinParts as B, parseMaxParts as C, parseDate as D, warnIfValueOutOfBounds as E, parseAmPm as F, clampDate as G, convertToArrayOfNumbers as H, convertDataToISO as I, getClosestValidDate as J, isMonthFirstLocale as K, isLocaleDayPeriodRTL as L, calculateHourFromAMPM as M, getMonthAndYear as N, getLocalizedTime as O, getLocalizedDateTime as P, formatValue as Q, getPreviousMonth as a, getTodayLabel as b, getYear as c, getHourCycle as d, getInternalHourValue as e, getFormattedHour as f, getNextMonth as g, addTimePadding as h, getLocalizedDayPeriod as i, isBefore as j, isSameDay as k, isAfter as l, is24Hour as m, getNumDaysInMonth as n, getDay as o, generateDayAriaLabel as p, getPartsFromCalendarDay as q, removeDateTzOffset as r, getNextYear as s, getPreviousYear as t, getEndOfWeek as u, validateParts as v, getStartOfWeek as w, getPreviousDay as x, getNextDay as y, getPreviousWeek as z };