@ionic/core 8.5.2-nightly.20250325 → 8.5.2

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 (310) hide show
  1. package/components/helpers.js +1 -11
  2. package/components/index9.js +1 -1
  3. package/components/ion-datetime.js +5 -5
  4. package/components/ion-segment-button.js +20 -51
  5. package/components/picker.js +54 -77
  6. package/dist/cjs/{framework-delegate-11b0ba2f.js → framework-delegate-50a86d56.js} +1 -1
  7. package/dist/cjs/{helpers-d0dfbb50.js → helpers-3a248559.js} +0 -11
  8. package/dist/cjs/{index-fd6383b6.js → index-4b70187a.js} +1 -1
  9. package/dist/cjs/{index-9b945a2d.js → index-509ca0d3.js} +1 -1
  10. package/dist/cjs/{index-363fe6b2.js → index-e36bd277.js} +1 -1
  11. package/dist/cjs/{index-f68a486a.js → index-e630fd95.js} +3 -3
  12. package/dist/cjs/index.cjs.js +7 -7
  13. package/dist/cjs/{input-shims-2d27a5be.js → input-shims-22a9973f.js} +2 -2
  14. package/dist/cjs/{input.utils-2f642324.js → input.utils-e82b8ed0.js} +1 -1
  15. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  16. package/dist/cjs/ion-action-sheet.cjs.entry.js +3 -3
  17. package/dist/cjs/ion-alert.cjs.entry.js +3 -3
  18. package/dist/cjs/ion-app_8.cjs.entry.js +8 -8
  19. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  20. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  21. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  22. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  23. package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
  24. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  25. package/dist/cjs/ion-datetime_3.cjs.entry.js +8 -8
  26. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  27. package/dist/cjs/ion-img.cjs.entry.js +1 -1
  28. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  29. package/dist/cjs/ion-input.cjs.entry.js +3 -3
  30. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  31. package/dist/cjs/ion-item_8.cjs.entry.js +1 -1
  32. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  33. package/dist/cjs/ion-menu_3.cjs.entry.js +4 -4
  34. package/dist/cjs/ion-modal.cjs.entry.js +5 -5
  35. package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
  36. package/dist/cjs/ion-picker-column-option.cjs.entry.js +1 -1
  37. package/dist/cjs/ion-picker-column.cjs.entry.js +1 -1
  38. package/dist/cjs/ion-picker.cjs.entry.js +55 -78
  39. package/dist/cjs/ion-popover.cjs.entry.js +4 -4
  40. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  41. package/dist/cjs/ion-radio_2.cjs.entry.js +1 -1
  42. package/dist/cjs/ion-range.cjs.entry.js +2 -2
  43. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  44. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  45. package/dist/cjs/ion-route_4.cjs.entry.js +1 -1
  46. package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
  47. package/dist/cjs/ion-segment_2.cjs.entry.js +20 -51
  48. package/dist/cjs/ion-select-modal.cjs.entry.js +3 -3
  49. package/dist/cjs/ion-select_3.cjs.entry.js +4 -4
  50. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
  51. package/dist/cjs/ion-tab_2.cjs.entry.js +2 -2
  52. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  53. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  54. package/dist/cjs/ion-toggle.cjs.entry.js +1 -1
  55. package/dist/cjs/{ios.transition-f970164c.js → ios.transition-ae7afca9.js} +2 -2
  56. package/dist/cjs/{md.transition-aa8820dd.js → md.transition-26003e25.js} +2 -2
  57. package/dist/cjs/{notch-controller-58d2e557.js → notch-controller-ae03a497.js} +1 -1
  58. package/dist/cjs/{overlays-737576a2.js → overlays-a0c6b23f.js} +2 -2
  59. package/dist/cjs/{status-tap-08d1ac81.js → status-tap-03023755.js} +2 -2
  60. package/dist/cjs/{swipe-back-951be2fd.js → swipe-back-cd0d9f77.js} +1 -1
  61. package/dist/collection/components/datetime/datetime.js +5 -5
  62. package/dist/collection/components/picker/picker.js +54 -77
  63. package/dist/collection/components/segment-button/segment-button.js +20 -51
  64. package/dist/collection/utils/helpers.js +0 -10
  65. package/dist/docs.json +1 -1
  66. package/dist/esm/{framework-delegate-c7d92b77.js → framework-delegate-2eea1763.js} +1 -1
  67. package/dist/esm/{helpers-e48b0397.js → helpers-78efeec3.js} +1 -11
  68. package/dist/esm/{index-8222b29f.js → index-40894f4b.js} +1 -1
  69. package/dist/esm/{index-933ca126.js → index-e919e353.js} +1 -1
  70. package/dist/esm/{index-a313df53.js → index-ecb55b8d.js} +3 -3
  71. package/dist/esm/{index-c63afbe6.js → index-f9f5d018.js} +1 -1
  72. package/dist/esm/index.js +7 -7
  73. package/dist/esm/{input-shims-3070628a.js → input-shims-7dc1f6dc.js} +2 -2
  74. package/dist/esm/{input.utils-926c04a8.js → input.utils-28bf4ef0.js} +1 -1
  75. package/dist/esm/ion-accordion_2.entry.js +1 -1
  76. package/dist/esm/ion-action-sheet.entry.js +3 -3
  77. package/dist/esm/ion-alert.entry.js +3 -3
  78. package/dist/esm/ion-app_8.entry.js +8 -8
  79. package/dist/esm/ion-back-button.entry.js +1 -1
  80. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  81. package/dist/esm/ion-button_2.entry.js +1 -1
  82. package/dist/esm/ion-card_5.entry.js +1 -1
  83. package/dist/esm/ion-checkbox.entry.js +1 -1
  84. package/dist/esm/ion-datetime-button.entry.js +1 -1
  85. package/dist/esm/ion-datetime_3.entry.js +8 -8
  86. package/dist/esm/ion-fab_3.entry.js +1 -1
  87. package/dist/esm/ion-img.entry.js +1 -1
  88. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  89. package/dist/esm/ion-input.entry.js +3 -3
  90. package/dist/esm/ion-item-option_3.entry.js +2 -2
  91. package/dist/esm/ion-item_8.entry.js +1 -1
  92. package/dist/esm/ion-loading.entry.js +3 -3
  93. package/dist/esm/ion-menu_3.entry.js +4 -4
  94. package/dist/esm/ion-modal.entry.js +5 -5
  95. package/dist/esm/ion-nav_2.entry.js +4 -4
  96. package/dist/esm/ion-picker-column-option.entry.js +1 -1
  97. package/dist/esm/ion-picker-column.entry.js +1 -1
  98. package/dist/esm/ion-picker.entry.js +55 -78
  99. package/dist/esm/ion-popover.entry.js +4 -4
  100. package/dist/esm/ion-progress-bar.entry.js +1 -1
  101. package/dist/esm/ion-radio_2.entry.js +1 -1
  102. package/dist/esm/ion-range.entry.js +2 -2
  103. package/dist/esm/ion-refresher_2.entry.js +2 -2
  104. package/dist/esm/ion-reorder_2.entry.js +2 -2
  105. package/dist/esm/ion-route_4.entry.js +1 -1
  106. package/dist/esm/ion-searchbar.entry.js +1 -1
  107. package/dist/esm/ion-segment_2.entry.js +20 -51
  108. package/dist/esm/ion-select-modal.entry.js +3 -3
  109. package/dist/esm/ion-select_3.entry.js +4 -4
  110. package/dist/esm/ion-tab-bar_2.entry.js +1 -1
  111. package/dist/esm/ion-tab_2.entry.js +2 -2
  112. package/dist/esm/ion-textarea.entry.js +3 -3
  113. package/dist/esm/ion-toast.entry.js +3 -3
  114. package/dist/esm/ion-toggle.entry.js +1 -1
  115. package/dist/esm/{ios.transition-5fe4d6c8.js → ios.transition-7fe5dbea.js} +2 -2
  116. package/dist/esm/{md.transition-3d0d3730.js → md.transition-8dc58b46.js} +2 -2
  117. package/dist/esm/{notch-controller-381a5334.js → notch-controller-00d92e89.js} +1 -1
  118. package/dist/esm/{overlays-7579a420.js → overlays-1bc809ec.js} +2 -2
  119. package/dist/esm/{status-tap-6367b913.js → status-tap-f6d08e9e.js} +2 -2
  120. package/dist/esm/{swipe-back-276cda49.js → swipe-back-07df2095.js} +1 -1
  121. package/dist/esm-es5/{framework-delegate-c7d92b77.js → framework-delegate-2eea1763.js} +1 -1
  122. package/dist/esm-es5/helpers-78efeec3.js +4 -0
  123. package/dist/esm-es5/{index-8222b29f.js → index-40894f4b.js} +1 -1
  124. package/dist/esm-es5/{index-933ca126.js → index-e919e353.js} +1 -1
  125. package/dist/esm-es5/index-ecb55b8d.js +4 -0
  126. package/dist/esm-es5/{index-c63afbe6.js → index-f9f5d018.js} +1 -1
  127. package/dist/esm-es5/index.js +1 -1
  128. package/dist/esm-es5/{input-shims-3070628a.js → input-shims-7dc1f6dc.js} +1 -1
  129. package/dist/esm-es5/{input.utils-926c04a8.js → input.utils-28bf4ef0.js} +1 -1
  130. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  131. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  132. package/dist/esm-es5/ion-alert.entry.js +1 -1
  133. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  134. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  135. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  136. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  137. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  138. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  139. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  140. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  141. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  142. package/dist/esm-es5/ion-img.entry.js +1 -1
  143. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  144. package/dist/esm-es5/ion-input.entry.js +1 -1
  145. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  146. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  147. package/dist/esm-es5/ion-loading.entry.js +1 -1
  148. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  149. package/dist/esm-es5/ion-modal.entry.js +1 -1
  150. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  151. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  152. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  153. package/dist/esm-es5/ion-picker.entry.js +1 -1
  154. package/dist/esm-es5/ion-popover.entry.js +1 -1
  155. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  156. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  157. package/dist/esm-es5/ion-range.entry.js +1 -1
  158. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  159. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  160. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  161. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  162. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  163. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  164. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  165. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  166. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  167. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  168. package/dist/esm-es5/ion-toast.entry.js +1 -1
  169. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  170. package/dist/esm-es5/{ios.transition-5fe4d6c8.js → ios.transition-7fe5dbea.js} +1 -1
  171. package/dist/esm-es5/md.transition-8dc58b46.js +4 -0
  172. package/dist/esm-es5/{notch-controller-381a5334.js → notch-controller-00d92e89.js} +1 -1
  173. package/dist/esm-es5/{overlays-7579a420.js → overlays-1bc809ec.js} +1 -1
  174. package/dist/esm-es5/{status-tap-6367b913.js → status-tap-f6d08e9e.js} +1 -1
  175. package/dist/esm-es5/swipe-back-07df2095.js +4 -0
  176. package/dist/ionic/index.esm.js +1 -1
  177. package/dist/ionic/ionic.esm.js +1 -1
  178. package/dist/ionic/p-027a48f1.entry.js +4 -0
  179. package/dist/ionic/{p-143ff664.system.entry.js → p-056b4c2a.system.entry.js} +1 -1
  180. package/dist/ionic/{p-ceaea4ce.js → p-058b7f35.js} +1 -1
  181. package/dist/ionic/{p-c25c0ba4.entry.js → p-05b65d7a.entry.js} +1 -1
  182. package/dist/ionic/{p-094c82d7.entry.js → p-0904eb08.entry.js} +1 -1
  183. package/dist/ionic/{p-bbc6db8c.entry.js → p-0a456b7f.entry.js} +1 -1
  184. package/dist/ionic/{p-472c7e08.system.entry.js → p-0d1be7c9.system.entry.js} +1 -1
  185. package/dist/ionic/{p-3e86b4fa.system.js → p-15bb1dde.system.js} +1 -1
  186. package/dist/ionic/{p-efa0f3f5.entry.js → p-16130556.entry.js} +1 -1
  187. package/dist/ionic/{p-b055d618.entry.js → p-16491015.entry.js} +1 -1
  188. package/dist/ionic/{p-a9f2c0a7.entry.js → p-180b4f9a.entry.js} +1 -1
  189. package/dist/ionic/{p-8fc426e2.entry.js → p-1c8b3ac9.entry.js} +1 -1
  190. package/dist/ionic/{p-0c9b8240.system.entry.js → p-1de5dfcd.system.entry.js} +1 -1
  191. package/dist/ionic/p-2567237c.entry.js +4 -0
  192. package/dist/ionic/p-2720f98d.entry.js +4 -0
  193. package/dist/ionic/{p-8fa4fa3f.entry.js → p-28c81576.entry.js} +1 -1
  194. package/dist/ionic/{p-4493c1ac.entry.js → p-29da3dcd.entry.js} +1 -1
  195. package/dist/ionic/p-2a2c6bf4.system.entry.js +4 -0
  196. package/dist/ionic/{p-f94b2f2f.system.entry.js → p-2a445f16.system.entry.js} +1 -1
  197. package/dist/ionic/{p-0c0ec971.entry.js → p-317c1c08.entry.js} +1 -1
  198. package/dist/ionic/{p-7f39653f.entry.js → p-33518a04.entry.js} +1 -1
  199. package/dist/ionic/{p-b9eb1465.system.entry.js → p-35b469f6.system.entry.js} +1 -1
  200. package/dist/ionic/{p-1f837356.entry.js → p-383a6058.entry.js} +1 -1
  201. package/dist/ionic/{p-44e168f3.system.js → p-3855fef7.system.js} +2 -2
  202. package/dist/ionic/{p-b2296998.system.entry.js → p-38eaf9cf.system.entry.js} +1 -1
  203. package/dist/ionic/{p-d7032956.system.js → p-3dad3534.system.js} +1 -1
  204. package/dist/ionic/{p-3bd5fedc.system.js → p-40388335.system.js} +1 -1
  205. package/dist/ionic/{p-7ff4f502.entry.js → p-41e70fa2.entry.js} +1 -1
  206. package/dist/ionic/{p-d37fdc68.system.entry.js → p-44fde7d5.system.entry.js} +1 -1
  207. package/dist/ionic/{p-4c44d04c.js → p-44ff75ea.js} +1 -1
  208. package/dist/ionic/{p-297d6806.system.js → p-455cd7cc.system.js} +1 -1
  209. package/dist/ionic/{p-2fa5a4b1.entry.js → p-48ded460.entry.js} +1 -1
  210. package/dist/ionic/{p-9df36075.system.entry.js → p-49d53551.system.entry.js} +1 -1
  211. package/dist/ionic/p-4b07c60a.system.js +4 -0
  212. package/dist/ionic/{p-1164ff6b.system.entry.js → p-4ea4c73a.system.entry.js} +1 -1
  213. package/dist/ionic/{p-2ab4a324.system.entry.js → p-4eeca839.system.entry.js} +1 -1
  214. package/dist/ionic/{p-5f4ff20a.entry.js → p-50e0ce13.entry.js} +1 -1
  215. package/dist/ionic/{p-4470f87b.system.entry.js → p-5578033e.system.entry.js} +1 -1
  216. package/dist/ionic/{p-1a9613bf.system.entry.js → p-579c78d2.system.entry.js} +1 -1
  217. package/dist/ionic/{p-eec4b772.entry.js → p-5b420123.entry.js} +1 -1
  218. package/dist/ionic/{p-c8bf9ba7.entry.js → p-5b97abc9.entry.js} +1 -1
  219. package/dist/ionic/p-5fb1321f.entry.js +4 -0
  220. package/dist/ionic/{p-a0a40004.system.entry.js → p-5fe5dc2c.system.entry.js} +1 -1
  221. package/dist/ionic/{p-b8c2dbcd.entry.js → p-607aa181.entry.js} +1 -1
  222. package/dist/ionic/p-61373098.js +4 -0
  223. package/dist/ionic/{p-023e8017.system.entry.js → p-6155027f.system.entry.js} +1 -1
  224. package/dist/ionic/{p-e00b72ce.js → p-624ecf03.js} +1 -1
  225. package/dist/ionic/{p-def7a8bd.system.entry.js → p-63d1da62.system.entry.js} +1 -1
  226. package/dist/ionic/{p-060e4551.js → p-64d8ac48.js} +1 -1
  227. package/dist/ionic/{p-b85d199c.entry.js → p-657ada6a.entry.js} +1 -1
  228. package/dist/ionic/{p-491de063.system.entry.js → p-65943bec.system.entry.js} +1 -1
  229. package/dist/ionic/{p-54893ae3.entry.js → p-65e732b9.entry.js} +1 -1
  230. package/dist/ionic/{p-a587b2ae.system.js → p-6c044a1d.system.js} +1 -1
  231. package/dist/ionic/{p-e4d4d8ac.system.entry.js → p-7058a5e4.system.entry.js} +1 -1
  232. package/dist/ionic/p-705fda69.system.js +4 -0
  233. package/dist/ionic/{p-a63b345e.system.entry.js → p-70abb1f2.system.entry.js} +1 -1
  234. package/dist/ionic/{p-e0a05506.js → p-756e4559.js} +1 -1
  235. package/dist/ionic/p-772d1657.system.js +4 -0
  236. package/dist/ionic/{p-21371278.system.entry.js → p-77aa5fef.system.entry.js} +1 -1
  237. package/dist/ionic/{p-606887b7.system.entry.js → p-7b886108.system.entry.js} +1 -1
  238. package/dist/ionic/{p-f663de24.entry.js → p-7c9daa6f.entry.js} +1 -1
  239. package/dist/ionic/{p-e0c43e11.system.entry.js → p-824fe96b.system.entry.js} +1 -1
  240. package/dist/ionic/{p-13886789.entry.js → p-87b0d2c9.entry.js} +1 -1
  241. package/dist/ionic/{p-ff4a1ba0.system.entry.js → p-8b22be32.system.entry.js} +1 -1
  242. package/dist/ionic/{p-1d98a7f1.entry.js → p-8d98e2bb.entry.js} +1 -1
  243. package/dist/ionic/{p-ace2d2be.entry.js → p-8f94769b.entry.js} +1 -1
  244. package/dist/ionic/{p-e5c27d9f.system.entry.js → p-912131e9.system.entry.js} +1 -1
  245. package/dist/ionic/{p-042d5353.system.js → p-978bdf4c.system.js} +1 -1
  246. package/dist/ionic/p-9870728f.js +4 -0
  247. package/dist/ionic/{p-9a2ff5ea.system.js → p-9e45532a.system.js} +1 -1
  248. package/dist/ionic/{p-3be7cdeb.system.entry.js → p-a26d7667.system.entry.js} +1 -1
  249. package/dist/ionic/{p-24ae7b33.system.js → p-a3c931ad.system.js} +1 -1
  250. package/dist/ionic/{p-e5cf01f1.entry.js → p-a768ae50.entry.js} +1 -1
  251. package/dist/ionic/{p-888d383b.system.entry.js → p-a9198501.system.entry.js} +1 -1
  252. package/dist/ionic/{p-524ad57e.system.entry.js → p-ac09b6e9.system.entry.js} +1 -1
  253. package/dist/ionic/{p-ada878ce.entry.js → p-b1673667.entry.js} +1 -1
  254. package/dist/ionic/{p-c6a20407.system.entry.js → p-b1f9fbe8.system.entry.js} +1 -1
  255. package/dist/ionic/{p-838cc359.entry.js → p-b87a9f1d.entry.js} +1 -1
  256. package/dist/ionic/{p-e5708e5d.system.entry.js → p-b8a461f5.system.entry.js} +1 -1
  257. package/dist/ionic/{p-f554845e.js → p-b9fa7882.js} +1 -1
  258. package/dist/ionic/p-bf64af90.system.js +1 -1
  259. package/dist/ionic/{p-daf1e8ec.system.entry.js → p-c27c57ea.system.entry.js} +1 -1
  260. package/dist/ionic/{p-e7309bfa.js → p-c3f9d9fe.js} +1 -1
  261. package/dist/ionic/{p-49cb79a1.system.entry.js → p-c53c414d.system.entry.js} +1 -1
  262. package/dist/ionic/{p-8deac7df.system.entry.js → p-c609b315.system.entry.js} +1 -1
  263. package/dist/ionic/p-c63d8dc1.js +4 -0
  264. package/dist/ionic/{p-0be8a0b5.entry.js → p-cbebc567.entry.js} +1 -1
  265. package/dist/ionic/{p-b9f2e353.entry.js → p-ccb740ea.entry.js} +1 -1
  266. package/dist/ionic/{p-37a438ad.system.entry.js → p-cec54707.system.entry.js} +1 -1
  267. package/dist/ionic/p-d40f2b7a.js +4 -0
  268. package/dist/ionic/{p-3479f51b.system.js → p-d70a9e6d.system.js} +1 -1
  269. package/dist/ionic/{p-4d0190ad.system.entry.js → p-d882f1e2.system.entry.js} +2 -2
  270. package/dist/ionic/{p-d8c9d5ac.system.entry.js → p-db3b409e.system.entry.js} +1 -1
  271. package/dist/ionic/{p-c5b5f44a.entry.js → p-dcfb7283.entry.js} +1 -1
  272. package/dist/ionic/{p-c8331397.system.entry.js → p-e0d0bc88.system.entry.js} +1 -1
  273. package/dist/ionic/{p-81474833.system.entry.js → p-e29c5aab.system.entry.js} +1 -1
  274. package/dist/ionic/{p-3af7b907.entry.js → p-e2ce5f8b.entry.js} +1 -1
  275. package/dist/ionic/{p-6e24cf82.entry.js → p-e3e4eed7.entry.js} +1 -1
  276. package/dist/ionic/{p-50f38461.entry.js → p-e4d2c281.entry.js} +1 -1
  277. package/dist/ionic/{p-8fa62efe.system.entry.js → p-e6cdfa96.system.entry.js} +1 -1
  278. package/dist/ionic/{p-42f6e75c.entry.js → p-e6e0331b.entry.js} +1 -1
  279. package/dist/ionic/{p-f02e9382.system.entry.js → p-e958e381.system.entry.js} +1 -1
  280. package/dist/ionic/p-ece78e7b.js +4 -0
  281. package/dist/ionic/{p-51c363e7.system.js → p-ee86cfff.system.js} +1 -1
  282. package/dist/ionic/{p-9e51f822.js → p-ef4292b9.js} +1 -1
  283. package/dist/ionic/{p-6797c66e.system.js → p-f23124c4.system.js} +1 -1
  284. package/dist/ionic/{p-b6174297.entry.js → p-f834322a.entry.js} +1 -1
  285. package/dist/ionic/{p-81378456.system.entry.js → p-f896194a.system.entry.js} +1 -1
  286. package/dist/ionic/{p-0749768d.entry.js → p-fa70eaab.entry.js} +1 -1
  287. package/dist/ionic/{p-4c94580e.js → p-ffa3ba3c.js} +1 -1
  288. package/dist/types/components/picker/picker.d.ts +8 -0
  289. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  290. package/dist/types/utils/helpers.d.ts +0 -1
  291. package/hydrate/index.js +78 -142
  292. package/hydrate/index.mjs +78 -142
  293. package/package.json +1 -1
  294. package/dist/esm-es5/helpers-e48b0397.js +0 -4
  295. package/dist/esm-es5/index-a313df53.js +0 -4
  296. package/dist/esm-es5/md.transition-3d0d3730.js +0 -4
  297. package/dist/esm-es5/swipe-back-276cda49.js +0 -4
  298. package/dist/ionic/p-2027221d.js +0 -4
  299. package/dist/ionic/p-2ee9a2c6.entry.js +0 -4
  300. package/dist/ionic/p-54e9620f.js +0 -4
  301. package/dist/ionic/p-5eb6f582.system.js +0 -4
  302. package/dist/ionic/p-72e6a9c6.entry.js +0 -4
  303. package/dist/ionic/p-77991411.system.js +0 -4
  304. package/dist/ionic/p-85f6070f.entry.js +0 -4
  305. package/dist/ionic/p-941c06bc.js +0 -4
  306. package/dist/ionic/p-988a0306.system.js +0 -4
  307. package/dist/ionic/p-b9ea58ef.js +0 -4
  308. package/dist/ionic/p-c8402249.js +0 -4
  309. package/dist/ionic/p-ed768b77.entry.js +0 -4
  310. package/dist/ionic/p-eeee3990.system.entry.js +0 -4
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-2e236a04.js');
9
- const helpers = require('./helpers-d0dfbb50.js');
9
+ const helpers = require('./helpers-3a248559.js');
10
10
  const dir = require('./dir-94c21456.js');
11
11
  const theme = require('./theme-d1c573d2.js');
12
12
  const ionicGlobal = require('./ionic-global-acb665ad.js');
@@ -596,61 +596,15 @@ const SegmentButton = class {
596
596
  valueChanged() {
597
597
  this.updateState();
598
598
  }
599
- waitForSegmentContent(ionSegment, contentId) {
600
- return new Promise((resolve, reject) => {
601
- let timeoutId = undefined;
602
- let animationFrameId;
603
- const check = () => {
604
- if (!ionSegment) {
605
- reject(new Error(`Segment not found when looking for Segment Content`));
606
- return;
607
- }
608
- const segmentView = helpers.getNextSiblingOfType(ionSegment); // Skip the text nodes
609
- const segmentContent = segmentView === null || segmentView === void 0 ? void 0 : segmentView.querySelector(`ion-segment-content[id="${contentId}"]`);
610
- if (segmentContent && timeoutId) {
611
- clearTimeout(timeoutId); // Clear the timeout if the segmentContent is found
612
- cancelAnimationFrame(animationFrameId);
613
- resolve(segmentContent);
614
- }
615
- else {
616
- animationFrameId = requestAnimationFrame(check); // Keep checking on the next animation frame
617
- }
618
- };
619
- check();
620
- // Set a timeout to reject the promise
621
- timeoutId = setTimeout(() => {
622
- cancelAnimationFrame(animationFrameId);
623
- reject(new Error(`Unable to find Segment Content with id="${contentId} within 1000 ms`));
624
- }, 1000);
625
- });
626
- }
627
- async connectedCallback() {
599
+ connectedCallback() {
628
600
  const segmentEl = (this.segmentEl = this.el.closest('ion-segment'));
629
601
  if (segmentEl) {
630
602
  this.updateState();
631
603
  helpers.addEventListener(segmentEl, 'ionSelect', this.updateState);
632
604
  helpers.addEventListener(segmentEl, 'ionStyle', this.updateStyle);
633
605
  }
634
- // Return if there is no contentId defined
635
- if (!this.contentId)
636
- return;
637
- let segmentContent;
638
- try {
639
- // Attempt to find the Segment Content by its contentId
640
- segmentContent = await this.waitForSegmentContent(segmentEl, this.contentId);
641
- }
642
- catch (error) {
643
- // If no associated Segment Content exists, log an error and return
644
- console.error('Segment Button: ', error.message);
645
- return;
646
- }
647
- // Ensure the found element is a valid ION-SEGMENT-CONTENT
648
- if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
649
- console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
650
- return;
651
- }
652
606
  // Prevent buttons from being disabled when associated with segment content
653
- if (this.disabled) {
607
+ if (this.contentId && this.disabled) {
654
608
  console.warn(`Segment Button: Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
655
609
  this.disabled = false;
656
610
  }
@@ -665,6 +619,21 @@ const SegmentButton = class {
665
619
  }
666
620
  componentWillLoad() {
667
621
  this.inheritedAttributes = Object.assign({}, helpers.inheritAttributes(this.el, ['aria-label']));
622
+ // Return if there is no contentId defined
623
+ if (!this.contentId)
624
+ return;
625
+ // Attempt to find the Segment Content by its contentId
626
+ const segmentContent = document.getElementById(this.contentId);
627
+ // If no associated Segment Content exists, log an error and return
628
+ if (!segmentContent) {
629
+ console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
630
+ return;
631
+ }
632
+ // Ensure the found element is a valid ION-SEGMENT-CONTENT
633
+ if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
634
+ console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
635
+ return;
636
+ }
668
637
  }
669
638
  get hasLabel() {
670
639
  return !!this.el.querySelector('ion-label');
@@ -687,7 +656,7 @@ const SegmentButton = class {
687
656
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
688
657
  const mode = ionicGlobal.getIonMode(this);
689
658
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
690
- return (index.h(index.Host, { key: 'e1e582b9a142cb07043ba08f02ad25f5a1fa5690', class: {
659
+ return (index.h(index.Host, { key: 'f2f679a08b131cd35d63f649b9d1f1907df30a89', class: {
691
660
  [mode]: true,
692
661
  'in-toolbar': theme.hostContext('ion-toolbar', this.el),
693
662
  'in-toolbar-color': theme.hostContext('ion-toolbar[color]', this.el),
@@ -703,7 +672,7 @@ const SegmentButton = class {
703
672
  'ion-activatable': true,
704
673
  'ion-activatable-instant': true,
705
674
  'ion-focusable': true,
706
- } }, index.h("button", Object.assign({ key: '8621a028894fb382854ff28779d0cadd3d9035f7', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), index.h("span", { key: '5c55858dbfb50734fb02d24091ebac3e0d05259f', class: "button-inner" }, index.h("slot", { key: '1f3bb8d76a1039ad648e202c650db06dfca88f79' })), mode === 'md' && index.h("ion-ripple-effect", { key: 'bda74b25bfdd431a8a36f0ee727b9184e9074321' })), index.h("div", { key: 'ff11369e921d6d0a540c75c37f692a3853e903f7', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, index.h("div", { key: '74ec4ca69331ed3f155fd8a8a356545941887df1', part: "indicator-background", class: "segment-button-indicator-background" }))));
675
+ } }, index.h("button", Object.assign({ key: '8e887b5031da705a3695c0870be08696d66188de', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), index.h("span", { key: '73b795c39cb09438e50922abf6b3a010e31fa2b6', class: "button-inner" }, index.h("slot", { key: '9769ddc917d7e459bd80dcd81c10c379e73d1b3e' })), mode === 'md' && index.h("ion-ripple-effect", { key: '8e4c06d6bae1034af8cc5db86fcca0ae72d042b1' })), index.h("div", { key: 'ae73ee0e429e54a43269f99b6d3d7e1c6e8f60cc', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, index.h("div", { key: 'd38eabe8161403799cfbad73dd6bf912d965442c', part: "indicator-background", class: "segment-button-indicator-background" }))));
707
676
  }
708
677
  get el() { return index.getElement(this); }
709
678
  static get watchers() { return {
@@ -7,12 +7,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-2e236a04.js');
9
9
  const ionicGlobal = require('./ionic-global-acb665ad.js');
10
- const overlays = require('./overlays-737576a2.js');
10
+ const overlays = require('./overlays-a0c6b23f.js');
11
11
  const theme = require('./theme-d1c573d2.js');
12
12
  require('./index-c8d52405.js');
13
- require('./helpers-d0dfbb50.js');
13
+ require('./helpers-3a248559.js');
14
14
  require('./hardware-back-button-5a99001f.js');
15
- require('./framework-delegate-11b0ba2f.js');
15
+ require('./framework-delegate-50a86d56.js');
16
16
  require('./gesture-controller-9436f482.js');
17
17
  require('./index-48b2a28e.js');
18
18
 
@@ -6,10 +6,10 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-2e236a04.js');
9
- const notchController = require('./notch-controller-58d2e557.js');
9
+ const notchController = require('./notch-controller-ae03a497.js');
10
10
  const compareWithUtils = require('./compare-with-utils-df1001d7.js');
11
- const helpers = require('./helpers-d0dfbb50.js');
12
- const overlays = require('./overlays-737576a2.js');
11
+ const helpers = require('./helpers-3a248559.js');
12
+ const overlays = require('./overlays-a0c6b23f.js');
13
13
  const dir = require('./dir-94c21456.js');
14
14
  const theme = require('./theme-d1c573d2.js');
15
15
  const watchOptions = require('./watch-options-f5f3e158.js');
@@ -17,7 +17,7 @@ const index$1 = require('./index-073c7cdc.js');
17
17
  const ionicGlobal = require('./ionic-global-acb665ad.js');
18
18
  require('./index-c8d52405.js');
19
19
  require('./hardware-back-button-5a99001f.js');
20
- require('./framework-delegate-11b0ba2f.js');
20
+ require('./framework-delegate-50a86d56.js');
21
21
  require('./gesture-controller-9436f482.js');
22
22
  require('./index-48b2a28e.js');
23
23
 
@@ -9,7 +9,7 @@ const index = require('./index-2e236a04.js');
9
9
  const keyboardController = require('./keyboard-controller-c05e747a.js');
10
10
  const theme = require('./theme-d1c573d2.js');
11
11
  const ionicGlobal = require('./ionic-global-acb665ad.js');
12
- const helpers = require('./helpers-d0dfbb50.js');
12
+ const helpers = require('./helpers-3a248559.js');
13
13
  require('./index-c8d52405.js');
14
14
  require('./keyboard-0272231f.js');
15
15
  require('./capacitor-c04564bf.js');
@@ -6,8 +6,8 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-2e236a04.js');
9
- const frameworkDelegate = require('./framework-delegate-11b0ba2f.js');
10
- require('./helpers-d0dfbb50.js');
9
+ const frameworkDelegate = require('./framework-delegate-50a86d56.js');
10
+ require('./helpers-3a248559.js');
11
11
 
12
12
  const tabCss = ":host(.tab-hidden){display:none !important}";
13
13
  const IonTabStyle0 = tabCss;
@@ -6,9 +6,9 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-2e236a04.js');
9
- const notchController = require('./notch-controller-58d2e557.js');
10
- const helpers = require('./helpers-d0dfbb50.js');
11
- const input_utils = require('./input.utils-2f642324.js');
9
+ const notchController = require('./notch-controller-ae03a497.js');
10
+ const helpers = require('./helpers-3a248559.js');
11
+ const input_utils = require('./input.utils-e82b8ed0.js');
12
12
  const theme = require('./theme-d1c573d2.js');
13
13
  const ionicGlobal = require('./ionic-global-acb665ad.js');
14
14
  require('./index-c8d52405.js');
@@ -7,17 +7,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index$3 = require('./index-2e236a04.js');
9
9
  const config = require('./config-4f60b98a.js');
10
- const helpers = require('./helpers-d0dfbb50.js');
10
+ const helpers = require('./helpers-3a248559.js');
11
11
  const lockController = require('./lock-controller-6585a42a.js');
12
12
  const index$1 = require('./index-48b2a28e.js');
13
- const overlays = require('./overlays-737576a2.js');
13
+ const overlays = require('./overlays-a0c6b23f.js');
14
14
  const theme = require('./theme-d1c573d2.js');
15
15
  const ionicGlobal = require('./ionic-global-acb665ad.js');
16
16
  const animation = require('./animation-b4fdf128.js');
17
17
  const index = require('./index-c8d52405.js');
18
18
  const index$2 = require('./index-ee07ed59.js');
19
19
  require('./hardware-back-button-5a99001f.js');
20
- require('./framework-delegate-11b0ba2f.js');
20
+ require('./framework-delegate-50a86d56.js');
21
21
  require('./gesture-controller-9436f482.js');
22
22
 
23
23
  /**
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-2e236a04.js');
9
- const helpers = require('./helpers-d0dfbb50.js');
9
+ const helpers = require('./helpers-3a248559.js');
10
10
  const haptic = require('./haptic-f6b37aa3.js');
11
11
  const dir = require('./dir-94c21456.js');
12
12
  const theme = require('./theme-d1c573d2.js');
@@ -4,12 +4,12 @@
4
4
  'use strict';
5
5
 
6
6
  const animation = require('./animation-b4fdf128.js');
7
- const index = require('./index-f68a486a.js');
7
+ const index = require('./index-e630fd95.js');
8
8
  require('./index-c8d52405.js');
9
9
  require('./ionic-global-acb665ad.js');
10
10
  require('./index-2e236a04.js');
11
11
  require('./index-48b2a28e.js');
12
- require('./helpers-d0dfbb50.js');
12
+ require('./helpers-3a248559.js');
13
13
 
14
14
  const DURATION = 540;
15
15
  // TODO(FW-2832): types
@@ -4,12 +4,12 @@
4
4
  'use strict';
5
5
 
6
6
  const animation = require('./animation-b4fdf128.js');
7
- const index = require('./index-f68a486a.js');
7
+ const index = require('./index-e630fd95.js');
8
8
  require('./index-c8d52405.js');
9
9
  require('./ionic-global-acb665ad.js');
10
10
  require('./index-2e236a04.js');
11
11
  require('./index-48b2a28e.js');
12
- require('./helpers-d0dfbb50.js');
12
+ require('./helpers-3a248559.js');
13
13
 
14
14
  const mdTransitionAnimation = (_, opts) => {
15
15
  var _a, _b, _c;
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-c8d52405.js');
7
- const helpers = require('./helpers-d0dfbb50.js');
7
+ const helpers = require('./helpers-3a248559.js');
8
8
 
9
9
  /**
10
10
  * A utility to calculate the size of an outline notch
@@ -4,10 +4,10 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-c8d52405.js');
7
- const helpers = require('./helpers-d0dfbb50.js');
7
+ const helpers = require('./helpers-3a248559.js');
8
8
  const hardwareBackButton = require('./hardware-back-button-5a99001f.js');
9
9
  const ionicGlobal = require('./ionic-global-acb665ad.js');
10
- const frameworkDelegate = require('./framework-delegate-11b0ba2f.js');
10
+ const frameworkDelegate = require('./framework-delegate-50a86d56.js');
11
11
  const gestureController = require('./gesture-controller-9436f482.js');
12
12
  const index$1 = require('./index-48b2a28e.js');
13
13
 
@@ -4,8 +4,8 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-2e236a04.js');
7
- const index$1 = require('./index-9b945a2d.js');
8
- const helpers = require('./helpers-d0dfbb50.js');
7
+ const index$1 = require('./index-509ca0d3.js');
8
+ const helpers = require('./helpers-3a248559.js');
9
9
  require('./index-48b2a28e.js');
10
10
  require('./ionic-global-acb665ad.js');
11
11
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const helpers = require('./helpers-d0dfbb50.js');
6
+ const helpers = require('./helpers-3a248559.js');
7
7
  const dir = require('./dir-94c21456.js');
8
8
  const index = require('./index-ee07ed59.js');
9
9
  require('./gesture-controller-9436f482.js');
@@ -1225,7 +1225,7 @@ export class Datetime {
1225
1225
  const activePart = this.getActivePartsWithFallback();
1226
1226
  return (h("ion-picker-column", { "aria-label": "Select an hour", color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
1227
1227
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
1228
- this.setActiveParts(Object.assign(Object.assign({}, activePart), { hour: ev.detail.value }));
1228
+ this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { hour: ev.detail.value }));
1229
1229
  ev.stopPropagation();
1230
1230
  } }, 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)))));
1231
1231
  }
@@ -1236,7 +1236,7 @@ export class Datetime {
1236
1236
  const activePart = this.getActivePartsWithFallback();
1237
1237
  return (h("ion-picker-column", { "aria-label": "Select a minute", color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
1238
1238
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
1239
- this.setActiveParts(Object.assign(Object.assign({}, activePart), { minute: ev.detail.value }));
1239
+ this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { minute: ev.detail.value }));
1240
1240
  ev.stopPropagation();
1241
1241
  } }, 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)))));
1242
1242
  }
@@ -1250,7 +1250,7 @@ export class Datetime {
1250
1250
  return (h("ion-picker-column", { "aria-label": "Select a day period", style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
1251
1251
  const hour = calculateHourFromAMPM(workingParts, ev.detail.value);
1252
1252
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
1253
- this.setActiveParts(Object.assign(Object.assign({}, activePart), { ampm: ev.detail.value, hour }));
1253
+ this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { ampm: ev.detail.value, hour }));
1254
1254
  ev.stopPropagation();
1255
1255
  } }, 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)))));
1256
1256
  }
@@ -1557,7 +1557,7 @@ export class Datetime {
1557
1557
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1558
1558
  const hasWheelVariant = hasDatePresentation && preferWheel;
1559
1559
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1560
- return (h(Host, { key: '7afbb1a7e6c78389b4588999779e5c90e010e85d', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1560
+ return (h(Host, { key: '08d429533a09c600b936ad1e022658051c765595', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1561
1561
  [mode]: true,
1562
1562
  ['datetime-readonly']: readonly,
1563
1563
  ['datetime-disabled']: disabled,
@@ -1567,7 +1567,7 @@ export class Datetime {
1567
1567
  [`datetime-size-${size}`]: true,
1568
1568
  [`datetime-prefer-wheel`]: hasWheelVariant,
1569
1569
  [`datetime-grid`]: isGridStyle,
1570
- })) }, h("div", { key: '297c458d4d17154cb297e2ef5926505bcb2d1fce', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1570
+ })) }, h("div", { key: 'f4ff0fcd1e059767a7ef14fcc76ebfd55d23a97b', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1571
1571
  }
1572
1572
  static get is() { return "ion-datetime"; }
1573
1573
  static get encapsulation() { return "shadow"; }
@@ -313,13 +313,59 @@ export class Picker {
313
313
  * or trailing zeros when looking at the item text.
314
314
  */
315
315
  this.searchColumn = (colEl, value, zeroBehavior = 'start') => {
316
+ if (!value) {
317
+ return false;
318
+ }
316
319
  const behavior = zeroBehavior === 'start' ? /^0+/ : /0$/;
320
+ value = value.replace(behavior, '');
317
321
  const option = Array.from(colEl.querySelectorAll('ion-picker-column-option')).find((el) => {
318
322
  return el.disabled !== true && el.textContent.replace(behavior, '') === value;
319
323
  });
320
324
  if (option) {
321
325
  colEl.setValue(option.value);
322
326
  }
327
+ return !!option;
328
+ };
329
+ /**
330
+ * Attempts to intelligently search the first and second
331
+ * column as if they're number columns for the provided numbers
332
+ * where the first two numbers are the first column
333
+ * and the last 2 are the last column. Tries to allow for the first
334
+ * number to be ignored for situations where typos occurred.
335
+ */
336
+ this.multiColumnSearch = (firstColumn, secondColumn, input) => {
337
+ if (input.length === 0) {
338
+ return;
339
+ }
340
+ const inputArray = input.split('');
341
+ const hourValue = inputArray.slice(0, 2).join('');
342
+ // Try to find a match for the first two digits in the first column
343
+ const foundHour = this.searchColumn(firstColumn, hourValue);
344
+ // If we have more than 2 digits and found a match for hours,
345
+ // use the remaining digits for the second column (minutes)
346
+ if (inputArray.length > 2 && foundHour) {
347
+ const minuteValue = inputArray.slice(2, 4).join('');
348
+ this.searchColumn(secondColumn, minuteValue);
349
+ }
350
+ // If we couldn't find a match for the two-digit hour, try single digit approaches
351
+ else if (!foundHour && inputArray.length >= 1) {
352
+ // First try the first digit as a single-digit hour
353
+ let singleDigitHour = inputArray[0];
354
+ let singleDigitFound = this.searchColumn(firstColumn, singleDigitHour);
355
+ // If that didn't work, try the second digit as a single-digit hour
356
+ // (handles case where user made a typo in the first digit, or they typed over themselves)
357
+ if (!singleDigitFound) {
358
+ inputArray.shift();
359
+ singleDigitHour = inputArray[0];
360
+ singleDigitFound = this.searchColumn(firstColumn, singleDigitHour);
361
+ }
362
+ // If we found a single-digit hour and have remaining digits,
363
+ // use up to 2 of the remaining digits for the second column
364
+ if (singleDigitFound && inputArray.length > 1) {
365
+ const remainingDigits = inputArray.slice(1, 3).join('');
366
+ this.searchColumn(secondColumn, remainingDigits);
367
+ }
368
+ }
323
369
  };
324
370
  this.selectMultiColumn = () => {
325
371
  const { inputEl, el } = this;
@@ -330,82 +376,13 @@ export class Picker {
330
376
  const firstColumn = numericPickers[0];
331
377
  const lastColumn = numericPickers[1];
332
378
  let value = inputEl.value;
333
- let minuteValue;
334
- switch (value.length) {
335
- case 1:
336
- this.searchColumn(firstColumn, value);
337
- break;
338
- case 2:
339
- /**
340
- * If the first character is `0` or `1` it is
341
- * possible that users are trying to type `09`
342
- * or `11` into the hour field, so we should look
343
- * at that first.
344
- */
345
- const firstCharacter = inputEl.value.substring(0, 1);
346
- value = firstCharacter === '0' || firstCharacter === '1' ? inputEl.value : firstCharacter;
347
- this.searchColumn(firstColumn, value);
348
- /**
349
- * If only checked the first value,
350
- * we can check the second value
351
- * for a match in the minutes column
352
- */
353
- if (value.length === 1) {
354
- minuteValue = inputEl.value.substring(inputEl.value.length - 1);
355
- this.searchColumn(lastColumn, minuteValue, 'end');
356
- }
357
- break;
358
- case 3:
359
- /**
360
- * If the first character is `0` or `1` it is
361
- * possible that users are trying to type `09`
362
- * or `11` into the hour field, so we should look
363
- * at that first.
364
- */
365
- const firstCharacterAgain = inputEl.value.substring(0, 1);
366
- value =
367
- firstCharacterAgain === '0' || firstCharacterAgain === '1'
368
- ? inputEl.value.substring(0, 2)
369
- : firstCharacterAgain;
370
- this.searchColumn(firstColumn, value);
371
- /**
372
- * If only checked the first value,
373
- * we can check the second value
374
- * for a match in the minutes column
375
- */
376
- minuteValue = value.length === 1 ? inputEl.value.substring(1) : inputEl.value.substring(2);
377
- this.searchColumn(lastColumn, minuteValue, 'end');
378
- break;
379
- case 4:
380
- /**
381
- * If the first character is `0` or `1` it is
382
- * possible that users are trying to type `09`
383
- * or `11` into the hour field, so we should look
384
- * at that first.
385
- */
386
- const firstCharacterAgainAgain = inputEl.value.substring(0, 1);
387
- value =
388
- firstCharacterAgainAgain === '0' || firstCharacterAgainAgain === '1'
389
- ? inputEl.value.substring(0, 2)
390
- : firstCharacterAgainAgain;
391
- this.searchColumn(firstColumn, value);
392
- /**
393
- * If only checked the first value,
394
- * we can check the second value
395
- * for a match in the minutes column
396
- */
397
- const minuteValueAgain = value.length === 1
398
- ? inputEl.value.substring(1, inputEl.value.length)
399
- : inputEl.value.substring(2, inputEl.value.length);
400
- this.searchColumn(lastColumn, minuteValueAgain, 'end');
401
- break;
402
- default:
403
- const startIndex = inputEl.value.length - 4;
404
- const newString = inputEl.value.substring(startIndex);
405
- inputEl.value = newString;
406
- this.selectMultiColumn();
407
- break;
379
+ if (value.length > 4) {
380
+ const startIndex = inputEl.value.length - 4;
381
+ const newString = inputEl.value.substring(startIndex);
382
+ inputEl.value = newString;
383
+ value = newString;
408
384
  }
385
+ this.multiColumnSearch(firstColumn, lastColumn, value);
409
386
  };
410
387
  /**
411
388
  * Searches the value of the active column
@@ -474,7 +451,7 @@ export class Picker {
474
451
  this.emitInputModeChange();
475
452
  }
476
453
  render() {
477
- return (h(Host, { key: 'f92214a09dc85b65873676f40fde2b802960e704', onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, h("input", { key: '6da37f75aca4ea1c9cb3bc733ebda2116279f313', "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", onKeyDown: (ev) => {
454
+ return (h(Host, { key: '28f81e4ed44a633178561757c5199c2c98f94b74', onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, h("input", { key: 'abb3d1ad25ef63856af7804111175a4d50008bc0', "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", onKeyDown: (ev) => {
478
455
  var _a;
479
456
  /**
480
457
  * The "Enter" key represents
@@ -489,7 +466,7 @@ export class Picker {
489
466
  if (ev.key === 'Enter') {
490
467
  (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.blur();
491
468
  }
492
- }, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), h("div", { key: '298e99d83dd3f5bf2798150bab0bb4024af472fa', class: "picker-before" }), h("div", { key: 'ea578f04eb562a4dc6d6cc92de133dcb9fb7f42a', class: "picker-after" }), h("div", { key: '84567824956dfe967992a629904836ba8b75b3ec', class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), h("slot", { key: 'df81f8fb90e1f649b608328034528f5c31c70c3b' })));
469
+ }, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), h("div", { key: '334a5abdc02e6b127c57177f626d7e4ff5526183', class: "picker-before" }), h("div", { key: 'ffd6271931129e88fc7c820e919d684899e420c5', class: "picker-after" }), h("div", { key: '78d1d95fd09e04f154ea59f24a1cece72c47ed7b', class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), h("slot", { key: '0bd5b9f875d3c71f6cbbde2054baeb1b0a2e8cd5' })));
493
470
  }
494
471
  static get is() { return "ion-picker"; }
495
472
  static get encapsulation() { return "shadow"; }
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { Host, forceUpdate, h } from "@stencil/core";
5
- import { addEventListener, removeEventListener, inheritAttributes, getNextSiblingOfType } from "../../utils/helpers";
5
+ import { addEventListener, removeEventListener, inheritAttributes } from "../../utils/helpers";
6
6
  import { hostContext } from "../../utils/theme";
7
7
  import { getIonMode } from "../../global/ionic-global";
8
8
  let ids = 0;
@@ -39,61 +39,15 @@ export class SegmentButton {
39
39
  valueChanged() {
40
40
  this.updateState();
41
41
  }
42
- waitForSegmentContent(ionSegment, contentId) {
43
- return new Promise((resolve, reject) => {
44
- let timeoutId = undefined;
45
- let animationFrameId;
46
- const check = () => {
47
- if (!ionSegment) {
48
- reject(new Error(`Segment not found when looking for Segment Content`));
49
- return;
50
- }
51
- const segmentView = getNextSiblingOfType(ionSegment); // Skip the text nodes
52
- const segmentContent = segmentView === null || segmentView === void 0 ? void 0 : segmentView.querySelector(`ion-segment-content[id="${contentId}"]`);
53
- if (segmentContent && timeoutId) {
54
- clearTimeout(timeoutId); // Clear the timeout if the segmentContent is found
55
- cancelAnimationFrame(animationFrameId);
56
- resolve(segmentContent);
57
- }
58
- else {
59
- animationFrameId = requestAnimationFrame(check); // Keep checking on the next animation frame
60
- }
61
- };
62
- check();
63
- // Set a timeout to reject the promise
64
- timeoutId = setTimeout(() => {
65
- cancelAnimationFrame(animationFrameId);
66
- reject(new Error(`Unable to find Segment Content with id="${contentId} within 1000 ms`));
67
- }, 1000);
68
- });
69
- }
70
- async connectedCallback() {
42
+ connectedCallback() {
71
43
  const segmentEl = (this.segmentEl = this.el.closest('ion-segment'));
72
44
  if (segmentEl) {
73
45
  this.updateState();
74
46
  addEventListener(segmentEl, 'ionSelect', this.updateState);
75
47
  addEventListener(segmentEl, 'ionStyle', this.updateStyle);
76
48
  }
77
- // Return if there is no contentId defined
78
- if (!this.contentId)
79
- return;
80
- let segmentContent;
81
- try {
82
- // Attempt to find the Segment Content by its contentId
83
- segmentContent = await this.waitForSegmentContent(segmentEl, this.contentId);
84
- }
85
- catch (error) {
86
- // If no associated Segment Content exists, log an error and return
87
- console.error('Segment Button: ', error.message);
88
- return;
89
- }
90
- // Ensure the found element is a valid ION-SEGMENT-CONTENT
91
- if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
92
- console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
93
- return;
94
- }
95
49
  // Prevent buttons from being disabled when associated with segment content
96
- if (this.disabled) {
50
+ if (this.contentId && this.disabled) {
97
51
  console.warn(`Segment Button: Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
98
52
  this.disabled = false;
99
53
  }
@@ -108,6 +62,21 @@ export class SegmentButton {
108
62
  }
109
63
  componentWillLoad() {
110
64
  this.inheritedAttributes = Object.assign({}, inheritAttributes(this.el, ['aria-label']));
65
+ // Return if there is no contentId defined
66
+ if (!this.contentId)
67
+ return;
68
+ // Attempt to find the Segment Content by its contentId
69
+ const segmentContent = document.getElementById(this.contentId);
70
+ // If no associated Segment Content exists, log an error and return
71
+ if (!segmentContent) {
72
+ console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
73
+ return;
74
+ }
75
+ // Ensure the found element is a valid ION-SEGMENT-CONTENT
76
+ if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
77
+ console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
78
+ return;
79
+ }
111
80
  }
112
81
  get hasLabel() {
113
82
  return !!this.el.querySelector('ion-label');
@@ -130,7 +99,7 @@ export class SegmentButton {
130
99
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
131
100
  const mode = getIonMode(this);
132
101
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
133
- return (h(Host, { key: 'e1e582b9a142cb07043ba08f02ad25f5a1fa5690', class: {
102
+ return (h(Host, { key: 'f2f679a08b131cd35d63f649b9d1f1907df30a89', class: {
134
103
  [mode]: true,
135
104
  'in-toolbar': hostContext('ion-toolbar', this.el),
136
105
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -146,7 +115,7 @@ export class SegmentButton {
146
115
  'ion-activatable': true,
147
116
  'ion-activatable-instant': true,
148
117
  'ion-focusable': true,
149
- } }, h("button", Object.assign({ key: '8621a028894fb382854ff28779d0cadd3d9035f7', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: '5c55858dbfb50734fb02d24091ebac3e0d05259f', class: "button-inner" }, h("slot", { key: '1f3bb8d76a1039ad648e202c650db06dfca88f79' })), mode === 'md' && h("ion-ripple-effect", { key: 'bda74b25bfdd431a8a36f0ee727b9184e9074321' })), h("div", { key: 'ff11369e921d6d0a540c75c37f692a3853e903f7', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: '74ec4ca69331ed3f155fd8a8a356545941887df1', part: "indicator-background", class: "segment-button-indicator-background" }))));
118
+ } }, h("button", Object.assign({ key: '8e887b5031da705a3695c0870be08696d66188de', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: '73b795c39cb09438e50922abf6b3a010e31fa2b6', class: "button-inner" }, h("slot", { key: '9769ddc917d7e459bd80dcd81c10c379e73d1b3e' })), mode === 'md' && h("ion-ripple-effect", { key: '8e4c06d6bae1034af8cc5db86fcca0ae72d042b1' })), h("div", { key: 'ae73ee0e429e54a43269f99b6d3d7e1c6e8f60cc', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: 'd38eabe8161403799cfbad73dd6bf912d965442c', part: "indicator-background", class: "segment-button-indicator-background" }))));
150
119
  }
151
120
  static get is() { return "ion-segment-button"; }
152
121
  static get encapsulation() { return "shadow"; }