voyager-ionic-core 8.5.0 → 8.5.3

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 (336) hide show
  1. package/components/checkbox.js +18 -6
  2. package/components/helpers.js +1 -11
  3. package/components/index9.js +1 -1
  4. package/components/ion-datetime.js +5 -5
  5. package/components/ion-range.js +21 -5
  6. package/components/ion-segment-button.js +20 -51
  7. package/components/ion-segment-content.js +1 -1
  8. package/components/modal.js +22 -3
  9. package/components/overlays.js +3 -2
  10. package/components/picker.js +54 -77
  11. package/dist/cjs/{framework-delegate-11b0ba2f.js → framework-delegate-50a86d56.js} +1 -1
  12. package/dist/cjs/{helpers-d0dfbb50.js → helpers-3a248559.js} +0 -11
  13. package/dist/cjs/{index-fd6383b6.js → index-4b70187a.js} +1 -1
  14. package/dist/cjs/{index-9b945a2d.js → index-509ca0d3.js} +1 -1
  15. package/dist/cjs/{index-363fe6b2.js → index-e36bd277.js} +1 -1
  16. package/dist/cjs/{index-f68a486a.js → index-e630fd95.js} +3 -3
  17. package/dist/cjs/index.cjs.js +7 -7
  18. package/dist/cjs/{input-shims-2d27a5be.js → input-shims-22a9973f.js} +2 -2
  19. package/dist/cjs/{input.utils-2f642324.js → input.utils-e82b8ed0.js} +1 -1
  20. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  21. package/dist/cjs/ion-action-sheet.cjs.entry.js +3 -3
  22. package/dist/cjs/ion-alert.cjs.entry.js +3 -3
  23. package/dist/cjs/ion-app_8.cjs.entry.js +8 -8
  24. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  25. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  26. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  27. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  28. package/dist/cjs/ion-checkbox.cjs.entry.js +19 -7
  29. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  30. package/dist/cjs/ion-datetime_3.cjs.entry.js +8 -8
  31. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  32. package/dist/cjs/ion-img.cjs.entry.js +1 -1
  33. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  34. package/dist/cjs/ion-input.cjs.entry.js +3 -3
  35. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  36. package/dist/cjs/ion-item_8.cjs.entry.js +1 -1
  37. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  38. package/dist/cjs/ion-menu_3.cjs.entry.js +4 -4
  39. package/dist/cjs/ion-modal.cjs.entry.js +27 -8
  40. package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
  41. package/dist/cjs/ion-picker-column-option.cjs.entry.js +1 -1
  42. package/dist/cjs/ion-picker-column.cjs.entry.js +1 -1
  43. package/dist/cjs/ion-picker.cjs.entry.js +55 -78
  44. package/dist/cjs/ion-popover.cjs.entry.js +4 -4
  45. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  46. package/dist/cjs/ion-radio_2.cjs.entry.js +1 -1
  47. package/dist/cjs/ion-range.cjs.entry.js +23 -7
  48. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  49. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  50. package/dist/cjs/ion-route_4.cjs.entry.js +1 -1
  51. package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
  52. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  53. package/dist/cjs/ion-segment_2.cjs.entry.js +20 -51
  54. package/dist/cjs/ion-select-modal.cjs.entry.js +3 -3
  55. package/dist/cjs/ion-select_3.cjs.entry.js +4 -4
  56. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
  57. package/dist/cjs/ion-tab_2.cjs.entry.js +2 -2
  58. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  59. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  60. package/dist/cjs/ion-toggle.cjs.entry.js +1 -1
  61. package/dist/cjs/{ios.transition-f970164c.js → ios.transition-ae7afca9.js} +2 -2
  62. package/dist/cjs/{md.transition-aa8820dd.js → md.transition-26003e25.js} +2 -2
  63. package/dist/cjs/{notch-controller-58d2e557.js → notch-controller-ae03a497.js} +1 -1
  64. package/dist/cjs/{overlays-737576a2.js → overlays-32e1b66b.js} +5 -4
  65. package/dist/cjs/{status-tap-08d1ac81.js → status-tap-03023755.js} +2 -2
  66. package/dist/cjs/{swipe-back-5c0003bd.js → swipe-back-652bdd0b.js} +1 -1
  67. package/dist/collection/components/checkbox/checkbox.ios.css +5 -16
  68. package/dist/collection/components/checkbox/checkbox.js +16 -4
  69. package/dist/collection/components/checkbox/checkbox.md.css +5 -16
  70. package/dist/collection/components/datetime/datetime.js +5 -5
  71. package/dist/collection/components/modal/gestures/sheet.js +24 -5
  72. package/dist/collection/components/picker/picker.js +54 -77
  73. package/dist/collection/components/range/range.js +21 -5
  74. package/dist/collection/components/segment-button/segment-button.js +20 -51
  75. package/dist/collection/components/segment-content/segment-content.css +9 -0
  76. package/dist/collection/utils/helpers.js +0 -10
  77. package/dist/collection/utils/overlays.js +3 -2
  78. package/dist/docs.json +1 -1
  79. package/dist/esm/{framework-delegate-c7d92b77.js → framework-delegate-2eea1763.js} +1 -1
  80. package/dist/esm/{helpers-e48b0397.js → helpers-78efeec3.js} +1 -11
  81. package/dist/esm/{index-8222b29f.js → index-40894f4b.js} +1 -1
  82. package/dist/esm/{index-933ca126.js → index-e919e353.js} +1 -1
  83. package/dist/esm/{index-a313df53.js → index-ecb55b8d.js} +3 -3
  84. package/dist/esm/{index-c63afbe6.js → index-f9f5d018.js} +1 -1
  85. package/dist/esm/index.js +7 -7
  86. package/dist/esm/{input-shims-3070628a.js → input-shims-7dc1f6dc.js} +2 -2
  87. package/dist/esm/{input.utils-926c04a8.js → input.utils-28bf4ef0.js} +1 -1
  88. package/dist/esm/ion-accordion_2.entry.js +1 -1
  89. package/dist/esm/ion-action-sheet.entry.js +3 -3
  90. package/dist/esm/ion-alert.entry.js +3 -3
  91. package/dist/esm/ion-app_8.entry.js +8 -8
  92. package/dist/esm/ion-back-button.entry.js +1 -1
  93. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  94. package/dist/esm/ion-button_2.entry.js +1 -1
  95. package/dist/esm/ion-card_5.entry.js +1 -1
  96. package/dist/esm/ion-checkbox.entry.js +19 -7
  97. package/dist/esm/ion-datetime-button.entry.js +1 -1
  98. package/dist/esm/ion-datetime_3.entry.js +8 -8
  99. package/dist/esm/ion-fab_3.entry.js +1 -1
  100. package/dist/esm/ion-img.entry.js +1 -1
  101. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  102. package/dist/esm/ion-input.entry.js +3 -3
  103. package/dist/esm/ion-item-option_3.entry.js +2 -2
  104. package/dist/esm/ion-item_8.entry.js +1 -1
  105. package/dist/esm/ion-loading.entry.js +3 -3
  106. package/dist/esm/ion-menu_3.entry.js +4 -4
  107. package/dist/esm/ion-modal.entry.js +27 -8
  108. package/dist/esm/ion-nav_2.entry.js +4 -4
  109. package/dist/esm/ion-picker-column-option.entry.js +1 -1
  110. package/dist/esm/ion-picker-column.entry.js +1 -1
  111. package/dist/esm/ion-picker.entry.js +55 -78
  112. package/dist/esm/ion-popover.entry.js +4 -4
  113. package/dist/esm/ion-progress-bar.entry.js +1 -1
  114. package/dist/esm/ion-radio_2.entry.js +1 -1
  115. package/dist/esm/ion-range.entry.js +23 -7
  116. package/dist/esm/ion-refresher_2.entry.js +2 -2
  117. package/dist/esm/ion-reorder_2.entry.js +2 -2
  118. package/dist/esm/ion-route_4.entry.js +1 -1
  119. package/dist/esm/ion-searchbar.entry.js +1 -1
  120. package/dist/esm/ion-segment-content.entry.js +1 -1
  121. package/dist/esm/ion-segment_2.entry.js +20 -51
  122. package/dist/esm/ion-select-modal.entry.js +3 -3
  123. package/dist/esm/ion-select_3.entry.js +4 -4
  124. package/dist/esm/ion-tab-bar_2.entry.js +1 -1
  125. package/dist/esm/ion-tab_2.entry.js +2 -2
  126. package/dist/esm/ion-textarea.entry.js +3 -3
  127. package/dist/esm/ion-toast.entry.js +3 -3
  128. package/dist/esm/ion-toggle.entry.js +1 -1
  129. package/dist/esm/{ios.transition-5fe4d6c8.js → ios.transition-7fe5dbea.js} +2 -2
  130. package/dist/esm/{md.transition-3d0d3730.js → md.transition-8dc58b46.js} +2 -2
  131. package/dist/esm/{notch-controller-381a5334.js → notch-controller-00d92e89.js} +1 -1
  132. package/dist/esm/{overlays-7579a420.js → overlays-41a5d51b.js} +5 -4
  133. package/dist/esm/{status-tap-6367b913.js → status-tap-f6d08e9e.js} +2 -2
  134. package/dist/esm/{swipe-back-326faa1c.js → swipe-back-5c7708b8.js} +1 -1
  135. package/dist/esm-es5/{framework-delegate-c7d92b77.js → framework-delegate-2eea1763.js} +1 -1
  136. package/dist/esm-es5/helpers-78efeec3.js +4 -0
  137. package/dist/esm-es5/{index-8222b29f.js → index-40894f4b.js} +1 -1
  138. package/dist/esm-es5/{index-933ca126.js → index-e919e353.js} +1 -1
  139. package/dist/esm-es5/index-ecb55b8d.js +4 -0
  140. package/dist/esm-es5/{index-c63afbe6.js → index-f9f5d018.js} +1 -1
  141. package/dist/esm-es5/index.js +1 -1
  142. package/dist/esm-es5/{input-shims-3070628a.js → input-shims-7dc1f6dc.js} +1 -1
  143. package/dist/esm-es5/{input.utils-926c04a8.js → input.utils-28bf4ef0.js} +1 -1
  144. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  145. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  146. package/dist/esm-es5/ion-alert.entry.js +1 -1
  147. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  148. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  149. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  150. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  151. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  152. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  153. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  154. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  155. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  156. package/dist/esm-es5/ion-img.entry.js +1 -1
  157. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  158. package/dist/esm-es5/ion-input.entry.js +1 -1
  159. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  160. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  161. package/dist/esm-es5/ion-loading.entry.js +1 -1
  162. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  163. package/dist/esm-es5/ion-modal.entry.js +1 -1
  164. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  165. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  166. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  167. package/dist/esm-es5/ion-picker.entry.js +1 -1
  168. package/dist/esm-es5/ion-popover.entry.js +1 -1
  169. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  170. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  171. package/dist/esm-es5/ion-range.entry.js +1 -1
  172. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  173. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  174. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  175. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  176. package/dist/esm-es5/ion-segment-content.entry.js +1 -1
  177. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  178. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  179. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  180. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  181. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  182. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  183. package/dist/esm-es5/ion-toast.entry.js +1 -1
  184. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  185. package/dist/esm-es5/{ios.transition-5fe4d6c8.js → ios.transition-7fe5dbea.js} +1 -1
  186. package/dist/esm-es5/md.transition-8dc58b46.js +4 -0
  187. package/dist/esm-es5/{notch-controller-381a5334.js → notch-controller-00d92e89.js} +1 -1
  188. package/dist/esm-es5/{overlays-7579a420.js → overlays-41a5d51b.js} +1 -1
  189. package/dist/esm-es5/{status-tap-6367b913.js → status-tap-f6d08e9e.js} +1 -1
  190. package/dist/esm-es5/swipe-back-5c7708b8.js +4 -0
  191. package/dist/ionic/index.esm.js +1 -1
  192. package/dist/ionic/ionic.esm.js +1 -1
  193. package/dist/ionic/{p-bf77d6fa.entry.js → p-0186a592.entry.js} +1 -1
  194. package/dist/ionic/p-027a48f1.entry.js +4 -0
  195. package/dist/ionic/{p-ceaea4ce.js → p-058b7f35.js} +1 -1
  196. package/dist/ionic/{p-c25c0ba4.entry.js → p-05b65d7a.entry.js} +1 -1
  197. package/dist/ionic/{p-d7032956.system.js → p-09d185ff.system.js} +1 -1
  198. package/dist/ionic/{p-bbc6db8c.entry.js → p-0a456b7f.entry.js} +1 -1
  199. package/dist/ionic/{p-472c7e08.system.entry.js → p-0d1be7c9.system.entry.js} +1 -1
  200. package/dist/ionic/{p-e0c43e11.system.entry.js → p-14114a59.system.entry.js} +1 -1
  201. package/dist/ionic/{p-3e86b4fa.system.js → p-15bb1dde.system.js} +1 -1
  202. package/dist/ionic/{p-a9f2c0a7.entry.js → p-180b4f9a.entry.js} +1 -1
  203. package/dist/ionic/{p-42f6e75c.entry.js → p-1b0b2210.entry.js} +1 -1
  204. package/dist/ionic/{p-8fc426e2.entry.js → p-1c8b3ac9.entry.js} +1 -1
  205. package/dist/ionic/{p-0c9b8240.system.entry.js → p-1de5dfcd.system.entry.js} +1 -1
  206. package/dist/ionic/p-2567237c.entry.js +4 -0
  207. package/dist/ionic/{p-4493c1ac.entry.js → p-29da3dcd.entry.js} +1 -1
  208. package/dist/ionic/p-2a2c6bf4.system.entry.js +4 -0
  209. package/dist/ionic/{p-c5b5f44a.entry.js → p-3281aab3.entry.js} +1 -1
  210. package/dist/ionic/{p-7f39653f.entry.js → p-33518a04.entry.js} +1 -1
  211. package/dist/ionic/p-33cf8185.system.js +4 -0
  212. package/dist/ionic/{p-1f837356.entry.js → p-383a6058.entry.js} +1 -1
  213. package/dist/ionic/{p-44e168f3.system.js → p-3855fef7.system.js} +2 -2
  214. package/dist/ionic/{p-b2296998.system.entry.js → p-38eaf9cf.system.entry.js} +1 -1
  215. package/dist/ionic/{p-3bd5fedc.system.js → p-3ba2a2cd.system.js} +1 -1
  216. package/dist/ionic/{p-7ff4f502.entry.js → p-41e70fa2.entry.js} +1 -1
  217. package/dist/ionic/{p-d37fdc68.system.entry.js → p-44fde7d5.system.entry.js} +1 -1
  218. package/dist/ionic/{p-4c44d04c.js → p-44ff75ea.js} +1 -1
  219. package/dist/ionic/{p-297d6806.system.js → p-455cd7cc.system.js} +1 -1
  220. package/dist/ionic/{p-c8331397.system.entry.js → p-4662a25c.system.entry.js} +1 -1
  221. package/dist/ionic/{p-2fa5a4b1.entry.js → p-48ded460.entry.js} +1 -1
  222. package/dist/ionic/{p-9df36075.system.entry.js → p-49d53551.system.entry.js} +1 -1
  223. package/dist/ionic/p-4b07c60a.system.js +4 -0
  224. package/dist/ionic/{p-1a9613bf.system.entry.js → p-4c7e6fec.system.entry.js} +1 -1
  225. package/dist/ionic/{p-1164ff6b.system.entry.js → p-4ea4c73a.system.entry.js} +1 -1
  226. package/dist/ionic/{p-2ab4a324.system.entry.js → p-4eeca839.system.entry.js} +1 -1
  227. package/dist/ionic/{p-5f4ff20a.entry.js → p-50e0ce13.entry.js} +1 -1
  228. package/dist/ionic/{p-def7a8bd.system.entry.js → p-51479be0.system.entry.js} +1 -1
  229. package/dist/ionic/{p-67163d4a.entry.js → p-552d9d62.entry.js} +1 -1
  230. package/dist/ionic/{p-4470f87b.system.entry.js → p-5578033e.system.entry.js} +1 -1
  231. package/dist/ionic/p-5fb1321f.entry.js +4 -0
  232. package/dist/ionic/p-61373098.js +4 -0
  233. package/dist/ionic/{p-023e8017.system.entry.js → p-6155027f.system.entry.js} +1 -1
  234. package/dist/ionic/{p-e00b72ce.js → p-624ecf03.js} +1 -1
  235. package/dist/ionic/{p-060e4551.js → p-64d8ac48.js} +1 -1
  236. package/dist/ionic/{p-b85d199c.entry.js → p-657ada6a.entry.js} +1 -1
  237. package/dist/ionic/{p-491de063.system.entry.js → p-65943bec.system.entry.js} +1 -1
  238. package/dist/ionic/{p-54893ae3.entry.js → p-65e732b9.entry.js} +1 -1
  239. package/dist/ionic/{p-a587b2ae.system.js → p-6c044a1d.system.js} +1 -1
  240. package/dist/ionic/{p-e0c0218f.system.entry.js → p-7058a5e4.system.entry.js} +1 -1
  241. package/dist/ionic/p-707408c5.system.entry.js +4 -0
  242. package/dist/ionic/{p-a63b345e.system.entry.js → p-70abb1f2.system.entry.js} +1 -1
  243. package/dist/ionic/{p-e0a05506.js → p-756e4559.js} +1 -1
  244. package/dist/ionic/p-772d1657.system.js +4 -0
  245. package/dist/ionic/{p-606887b7.system.entry.js → p-7b886108.system.entry.js} +1 -1
  246. package/dist/ionic/p-7c9daa6f.entry.js +4 -0
  247. package/dist/ionic/{p-0be8a0b5.entry.js → p-7f49a9c4.entry.js} +1 -1
  248. package/dist/ionic/p-8048804d.system.entry.js +4 -0
  249. package/dist/ionic/{p-b9eb1465.system.entry.js → p-843ac05d.system.entry.js} +1 -1
  250. package/dist/ionic/{p-13886789.entry.js → p-87b0d2c9.entry.js} +1 -1
  251. package/dist/ionic/{p-ff4a1ba0.system.entry.js → p-8b22be32.system.entry.js} +1 -1
  252. package/dist/ionic/{p-f02e9382.system.entry.js → p-8cf6f383.system.entry.js} +1 -1
  253. package/dist/ionic/{p-1d98a7f1.entry.js → p-8d98e2bb.entry.js} +1 -1
  254. package/dist/ionic/{p-2b59470f.system.entry.js → p-9263275e.system.entry.js} +1 -1
  255. package/dist/ionic/p-96eec056.entry.js +4 -0
  256. package/dist/ionic/{p-042d5353.system.js → p-978bdf4c.system.js} +1 -1
  257. package/dist/ionic/p-9870728f.js +4 -0
  258. package/dist/ionic/{p-b055d618.entry.js → p-99803283.entry.js} +1 -1
  259. package/dist/ionic/{p-9a2ff5ea.system.js → p-9e45532a.system.js} +1 -1
  260. package/dist/ionic/{p-3be7cdeb.system.entry.js → p-a26d7667.system.entry.js} +1 -1
  261. package/dist/ionic/{p-24ae7b33.system.js → p-a3c931ad.system.js} +1 -1
  262. package/dist/ionic/{p-e5c27d9f.system.entry.js → p-a75a9e5a.system.entry.js} +1 -1
  263. package/dist/ionic/{p-ace2d2be.entry.js → p-a7830ff8.entry.js} +1 -1
  264. package/dist/ionic/{p-888d383b.system.entry.js → p-a9198501.system.entry.js} +1 -1
  265. package/dist/ionic/{p-524ad57e.system.entry.js → p-ac09b6e9.system.entry.js} +1 -1
  266. package/dist/ionic/{p-ada878ce.entry.js → p-b1673667.entry.js} +1 -1
  267. package/dist/ionic/{p-c6a20407.system.entry.js → p-b1f9fbe8.system.entry.js} +1 -1
  268. package/dist/ionic/{p-838cc359.entry.js → p-b87a9f1d.entry.js} +1 -1
  269. package/dist/ionic/{p-e5708e5d.system.entry.js → p-b8a461f5.system.entry.js} +1 -1
  270. package/dist/ionic/{p-f554845e.js → p-b9fa7882.js} +1 -1
  271. package/dist/ionic/p-bf64af90.system.js +1 -1
  272. package/dist/ionic/{p-daf1e8ec.system.entry.js → p-c27c57ea.system.entry.js} +1 -1
  273. package/dist/ionic/{p-e7309bfa.js → p-c3f9d9fe.js} +1 -1
  274. package/dist/ionic/{p-49cb79a1.system.entry.js → p-c53c414d.system.entry.js} +1 -1
  275. package/dist/ionic/{p-b9f2e353.entry.js → p-ccb740ea.entry.js} +1 -1
  276. package/dist/ionic/{p-37a438ad.system.entry.js → p-cec54707.system.entry.js} +1 -1
  277. package/dist/ionic/{p-5f8cd560.entry.js → p-cf14f70d.entry.js} +1 -1
  278. package/dist/ionic/{p-efa0f3f5.entry.js → p-cfc08422.entry.js} +1 -1
  279. package/dist/ionic/{p-eec4b772.entry.js → p-cff4f96c.entry.js} +1 -1
  280. package/dist/ionic/{p-a6df5168.system.entry.js → p-d046659b.system.entry.js} +1 -1
  281. package/dist/ionic/p-d40f2b7a.js +4 -0
  282. package/dist/ionic/{p-6bb846d3.entry.js → p-d455de62.entry.js} +1 -1
  283. package/dist/ionic/{p-3479f51b.system.js → p-d70a9e6d.system.js} +1 -1
  284. package/dist/ionic/{p-4d0190ad.system.entry.js → p-d882f1e2.system.entry.js} +2 -2
  285. package/dist/ionic/{p-d8c9d5ac.system.entry.js → p-db3b409e.system.entry.js} +1 -1
  286. package/dist/ionic/{p-c8bf9ba7.entry.js → p-e11ff516.entry.js} +1 -1
  287. package/dist/ionic/{p-81474833.system.entry.js → p-e29c5aab.system.entry.js} +1 -1
  288. package/dist/ionic/{p-3af7b907.entry.js → p-e2ce5f8b.entry.js} +1 -1
  289. package/dist/ionic/p-e3012c2d.js +4 -0
  290. package/dist/ionic/p-e3284879.system.entry.js +4 -0
  291. package/dist/ionic/{p-6e24cf82.entry.js → p-e3e4eed7.entry.js} +1 -1
  292. package/dist/ionic/{p-50f38461.entry.js → p-e4d2c281.entry.js} +1 -1
  293. package/dist/ionic/p-e8245753.entry.js +4 -0
  294. package/dist/ionic/p-ece78e7b.js +4 -0
  295. package/dist/ionic/{p-51c363e7.system.js → p-ee86cfff.system.js} +1 -1
  296. package/dist/ionic/{p-6797c66e.system.js → p-f23124c4.system.js} +1 -1
  297. package/dist/ionic/{p-8deac7df.system.entry.js → p-f387b3c6.system.entry.js} +1 -1
  298. package/dist/ionic/p-f53ee2e7.js +4 -0
  299. package/dist/ionic/{p-f94b2f2f.system.entry.js → p-f5a04e5e.system.entry.js} +1 -1
  300. package/dist/ionic/p-f70fc14a.entry.js +4 -0
  301. package/dist/ionic/{p-b6174297.entry.js → p-f834322a.entry.js} +1 -1
  302. package/dist/ionic/{p-96450929.system.entry.js → p-f84f4d8e.system.entry.js} +1 -1
  303. package/dist/ionic/{p-0749768d.entry.js → p-fa70eaab.entry.js} +1 -1
  304. package/dist/ionic/{p-4c94580e.js → p-ffa3ba3c.js} +1 -1
  305. package/dist/types/components/checkbox/checkbox.d.ts +2 -0
  306. package/dist/types/components/picker/picker.d.ts +8 -0
  307. package/dist/types/components/range/range.d.ts +9 -1
  308. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  309. package/dist/types/utils/helpers.d.ts +0 -1
  310. package/hydrate/index.js +143 -159
  311. package/hydrate/index.mjs +143 -159
  312. package/package.json +6 -6
  313. package/dist/esm-es5/helpers-e48b0397.js +0 -4
  314. package/dist/esm-es5/index-a313df53.js +0 -4
  315. package/dist/esm-es5/md.transition-3d0d3730.js +0 -4
  316. package/dist/esm-es5/swipe-back-326faa1c.js +0 -4
  317. package/dist/ionic/p-094c82d7.entry.js +0 -4
  318. package/dist/ionic/p-143ff664.system.entry.js +0 -4
  319. package/dist/ionic/p-18f9b6d5.entry.js +0 -4
  320. package/dist/ionic/p-1d2844a5.system.entry.js +0 -4
  321. package/dist/ionic/p-2027221d.js +0 -4
  322. package/dist/ionic/p-294271c7.system.js +0 -4
  323. package/dist/ionic/p-2ee9a2c6.entry.js +0 -4
  324. package/dist/ionic/p-54e9620f.js +0 -4
  325. package/dist/ionic/p-58c482af.entry.js +0 -4
  326. package/dist/ionic/p-5eb6f582.system.js +0 -4
  327. package/dist/ionic/p-72e6a9c6.entry.js +0 -4
  328. package/dist/ionic/p-77991411.system.js +0 -4
  329. package/dist/ionic/p-85f6070f.entry.js +0 -4
  330. package/dist/ionic/p-9a5420dd.js +0 -4
  331. package/dist/ionic/p-9e51f822.js +0 -4
  332. package/dist/ionic/p-b9ea58ef.js +0 -4
  333. package/dist/ionic/p-bdd6102f.system.entry.js +0 -4
  334. package/dist/ionic/p-c8402249.js +0 -4
  335. package/dist/ionic/p-ed768b77.entry.js +0 -4
  336. package/dist/ionic/p-eeee3990.system.entry.js +0 -4
@@ -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"; }
@@ -34,6 +34,19 @@ export class Range {
34
34
  this.inheritedAttributes = {};
35
35
  this.contentEl = null;
36
36
  this.initialContentScrollY = true;
37
+ /**
38
+ * Compares two RangeValue inputs to determine if they are different.
39
+ *
40
+ * @param newVal - The new value.
41
+ * @param oldVal - The old value.
42
+ * @returns `true` if the values are different, `false` otherwise.
43
+ */
44
+ this.compareValues = (newVal, oldVal) => {
45
+ if (typeof newVal === 'object' && typeof oldVal === 'object') {
46
+ return newVal.lower !== oldVal.lower || newVal.upper !== oldVal.upper;
47
+ }
48
+ return newVal !== oldVal;
49
+ };
37
50
  this.clampBounds = (value) => {
38
51
  return clamp(this.min, value, this.max);
39
52
  };
@@ -167,7 +180,11 @@ export class Range {
167
180
  this.gesture.enable(!this.disabled);
168
181
  }
169
182
  }
170
- valueChanged() {
183
+ valueChanged(newValue, oldValue) {
184
+ const valuesChanged = this.compareValues(newValue, oldValue);
185
+ if (valuesChanged) {
186
+ this.ionInput.emit({ value: this.value });
187
+ }
171
188
  if (!this.noUpdate) {
172
189
  this.updateRatio();
173
190
  }
@@ -412,7 +429,6 @@ export class Range {
412
429
  lower: Math.min(valA, valB),
413
430
  upper: Math.max(valA, valB),
414
431
  };
415
- this.ionInput.emit({ value: this.value });
416
432
  this.noUpdate = false;
417
433
  }
418
434
  setFocus(knob) {
@@ -580,7 +596,7 @@ export class Range {
580
596
  const needsEndAdjustment = inItem && !hasEndContent;
581
597
  const mode = getIonMode(this);
582
598
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
583
- return (h(Host, { key: 'ddecc98800b9137294c8cadfbde7d07d5b3825d7', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
599
+ return (h(Host, { key: 'e97cb7eab877eb1624429b4a79107130c6809cf5', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
584
600
  [mode]: true,
585
601
  'in-item': inItem,
586
602
  'range-disabled': disabled,
@@ -589,10 +605,10 @@ export class Range {
589
605
  [`range-label-placement-${labelPlacement}`]: true,
590
606
  'range-item-start-adjustment': needsStartAdjustment,
591
607
  'range-item-end-adjustment': needsEndAdjustment,
592
- }) }, h("label", { key: '5afdbea21b1b82efde1126ceb0a263f85731aecf', class: "range-wrapper", id: "range-label" }, h("div", { key: 'e47e0bbefcb931dff5b846f47b4458153b73df94', class: {
608
+ }) }, h("label", { key: 'a43e9859f74f83460439efefccb5fbb9f387c9ee', class: "range-wrapper", id: "range-label" }, h("div", { key: '75352a30f30dbd0228c6138eb4324a5c021dbb48', class: {
593
609
  'label-text-wrapper': true,
594
610
  'label-text-wrapper-hidden': !hasLabel,
595
- }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '842f35cd03bb6108d1ecf0c0a07adfbdc900401c', class: "native-wrapper" }, h("slot", { key: '4a5141daaf5de5b3251bef4232ce5a27fc0395df', name: "start" }), this.renderRangeSlider(), h("slot", { key: '53ffe0a40b093c5fbcbc50d47eea6bb3f39dfdbb', name: "end" })))));
611
+ }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '6a3e147c3e5d938bb2b50522a290f6fdfcf40f05', class: "native-wrapper" }, h("slot", { key: '6627236eac9f711fa9c27879a017dd994e65811e', name: "start" }), this.renderRangeSlider(), h("slot", { key: '6af3bbadacd036bc7cd30732227f76d7c64117fb', name: "end" })))));
596
612
  }
597
613
  static get is() { return "ion-range"; }
598
614
  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"; }
@@ -3,4 +3,13 @@
3
3
  scroll-snap-stop: always;
4
4
  flex-shrink: 0;
5
5
  width: 100%;
6
+ overflow-y: scroll;
7
+ /* Hide scrollbar in Firefox */
8
+ scrollbar-width: none;
9
+ /* Hide scrollbar in IE and Edge */
10
+ -ms-overflow-style: none;
11
+ /* Hide scrollbar in webkit */
12
+ }
13
+ :host::-webkit-scrollbar {
14
+ display: none;
6
15
  }
@@ -336,16 +336,6 @@ export const shallowEqualStringMap = (map1, map2) => {
336
336
  }
337
337
  return true;
338
338
  };
339
- export const getNextSiblingOfType = (element) => {
340
- let sibling = element.nextSibling;
341
- while (sibling) {
342
- if (sibling.nodeType === Node.ELEMENT_NODE && sibling !== null) {
343
- return sibling;
344
- }
345
- sibling = sibling.nextSibling;
346
- }
347
- return null;
348
- };
349
339
  /**
350
340
  * Checks input for usable number. Not NaN and not Infinite.
351
341
  */
@@ -437,8 +437,8 @@ export const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation
437
437
  */
438
438
  if (overlay.el.tagName !== 'ION-TOAST') {
439
439
  setRootAriaHidden(true);
440
+ document.body.classList.add(BACKDROP_NO_SCROLL);
440
441
  }
441
- document.body.classList.add(BACKDROP_NO_SCROLL);
442
442
  hideUnderlyingOverlaysFromScreenReaders(overlay.el);
443
443
  hideAnimatingOverlayFromScreenReaders(overlay.el);
444
444
  overlay.presented = true;
@@ -542,6 +542,7 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
542
542
  if (!overlay.presented) {
543
543
  return false;
544
544
  }
545
+ const presentedOverlays = doc !== undefined ? getPresentedOverlays(doc) : [];
545
546
  /**
546
547
  * For accessibility, toasts lack focus traps and don’t receive
547
548
  * `aria-hidden` on the root element when presented.
@@ -553,7 +554,7 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
553
554
  * Therefore, we must remove `aria-hidden` from the root element
554
555
  * when the last non-toast overlay is dismissed.
555
556
  */
556
- const overlaysNotToast = doc !== undefined ? getPresentedOverlays(doc).filter((o) => o.tagName !== 'ION-TOAST') : [];
557
+ const overlaysNotToast = presentedOverlays.filter((o) => o.tagName !== 'ION-TOAST');
557
558
  const lastOverlayNotToast = overlaysNotToast.length === 1 && overlaysNotToast[0].id === overlay.el.id;
558
559
  /**
559
560
  * If this is the last visible overlay that is not a toast
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2025-03-14T05:35:36",
2
+ "timestamp": "2025-04-06T02:18:50",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.20.0",
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as componentOnReady } from './helpers-e48b0397.js';
4
+ import { c as componentOnReady } from './helpers-78efeec3.js';
5
5
 
6
6
  // TODO(FW-2832): types
7
7
  const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
@@ -330,16 +330,6 @@ const shallowEqualStringMap = (map1, map2) => {
330
330
  }
331
331
  return true;
332
332
  };
333
- const getNextSiblingOfType = (element) => {
334
- let sibling = element.nextSibling;
335
- while (sibling) {
336
- if (sibling.nodeType === Node.ELEMENT_NODE && sibling !== null) {
337
- return sibling;
338
- }
339
- sibling = sibling.nextSibling;
340
- }
341
- return null;
342
- };
343
333
  /**
344
334
  * Checks input for usable number. Not NaN and not Infinite.
345
335
  */
@@ -347,4 +337,4 @@ const isSafeNumber = (input) => {
347
337
  return typeof input === 'number' && !isNaN(input) && isFinite(input);
348
338
  };
349
339
 
350
- export { addEventListener as a, removeEventListener as b, componentOnReady as c, renderHiddenInput as d, debounceEvent as e, focusVisibleElement as f, getElementRoot as g, inheritAttributes as h, inheritAriaAttributes as i, clamp as j, hasLazyBuild as k, isSafeNumber as l, hasShadowDom as m, assert as n, getNextSiblingOfType as o, isEndSide as p, debounce as q, raf as r, shallowEqualStringMap as s, transitionEndAsync as t, pointerCoord as u };
340
+ export { addEventListener as a, removeEventListener as b, componentOnReady as c, renderHiddenInput as d, debounceEvent as e, focusVisibleElement as f, getElementRoot as g, inheritAttributes as h, inheritAriaAttributes as i, clamp as j, hasLazyBuild as k, isSafeNumber as l, hasShadowDom as m, assert as n, isEndSide as o, debounce as p, pointerCoord as q, raf as r, shallowEqualStringMap as s, transitionEndAsync as t };
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { d as doc } from './index-a5d50daf.js';
5
- import { u as pointerCoord } from './helpers-e48b0397.js';
5
+ import { q as pointerCoord } from './helpers-78efeec3.js';
6
6
 
7
7
  const startTapClick = (config) => {
8
8
  if (doc === undefined) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as componentOnReady } from './helpers-e48b0397.js';
4
+ import { c as componentOnReady } from './helpers-78efeec3.js';
5
5
  import { b as printRequiredElementError } from './index-738d7504.js';
6
6
 
7
7
  const ION_CONTENT_TAG_NAME = 'ION-CONTENT';
@@ -4,7 +4,7 @@
4
4
  import { c as config } from './ionic-global-ca86cf32.js';
5
5
  import { w as writeTask, B as Build } from './index-527b9e34.js';
6
6
  import { p as printIonWarning } from './index-738d7504.js';
7
- import { r as raf } from './helpers-e48b0397.js';
7
+ import { r as raf } from './helpers-78efeec3.js';
8
8
 
9
9
  const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
10
10
  const LIFECYCLE_DID_ENTER = 'ionViewDidEnter';
@@ -120,8 +120,8 @@ const createFocusController = () => {
120
120
  };
121
121
  const LAST_FOCUS = 'ion-last-focus';
122
122
 
123
- const iosTransitionAnimation = () => import('./ios.transition-5fe4d6c8.js');
124
- const mdTransitionAnimation = () => import('./md.transition-3d0d3730.js');
123
+ const iosTransitionAnimation = () => import('./ios.transition-7fe5dbea.js');
124
+ const mdTransitionAnimation = () => import('./md.transition-8dc58b46.js');
125
125
  const focusController = createFocusController();
126
126
  // TODO(FW-2832): types
127
127
  const transition = (opts) => {
@@ -4,7 +4,7 @@
4
4
  import { d as doc } from './index-a5d50daf.js';
5
5
  import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-864101a3.js';
6
6
  import { p as printIonWarning } from './index-738d7504.js';
7
- import { c as componentOnReady } from './helpers-e48b0397.js';
7
+ import { c as componentOnReady } from './helpers-78efeec3.js';
8
8
  import { b as getIonMode } from './ionic-global-ca86cf32.js';
9
9
  import { c as createAnimation } from './animation-eab5a4ca.js';
10
10
 
package/dist/esm/index.js CHANGED
@@ -2,23 +2,23 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  export { c as createAnimation } from './animation-eab5a4ca.js';
5
- export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-a313df53.js';
6
- export { iosTransitionAnimation } from './ios.transition-5fe4d6c8.js';
7
- export { mdTransitionAnimation } from './md.transition-3d0d3730.js';
5
+ export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-ecb55b8d.js';
6
+ export { iosTransitionAnimation } from './ios.transition-7fe5dbea.js';
7
+ export { mdTransitionAnimation } from './md.transition-8dc58b46.js';
8
8
  export { g as getTimeGivenProgression } from './cubic-bezier-fe2083dc.js';
9
9
  export { createGesture } from './index-39782642.js';
10
10
  export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global-ca86cf32.js';
11
- export { c as componentOnReady } from './helpers-e48b0397.js';
11
+ export { c as componentOnReady } from './helpers-78efeec3.js';
12
12
  export { I as IonicSafeString, g as getMode, s as setupConfig } from './config-49c88215.js';
13
13
  export { o as openURL } from './theme-01f3f29c.js';
14
- export { m as menuController } from './index-c63afbe6.js';
15
- export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-7579a420.js';
14
+ export { m as menuController } from './index-f9f5d018.js';
15
+ export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-41a5d51b.js';
16
16
  import './index-a5d50daf.js';
17
17
  import './index-527b9e34.js';
18
18
  import './index-738d7504.js';
19
19
  import './gesture-controller-314a54f6.js';
20
20
  import './hardware-back-button-864101a3.js';
21
- import './framework-delegate-c7d92b77.js';
21
+ import './framework-delegate-2eea1763.js';
22
22
 
23
23
  const IonicSlides = (opts) => {
24
24
  const { swiper, extendParams } = opts;
@@ -2,8 +2,8 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { w as win, d as doc } from './index-a5d50daf.js';
5
- import { g as getScrollElement, c as scrollByPoint, f as findClosestIonContent } from './index-933ca126.js';
6
- import { a as addEventListener, b as removeEventListener, r as raf, c as componentOnReady } from './helpers-e48b0397.js';
5
+ import { g as getScrollElement, c as scrollByPoint, f as findClosestIonContent } from './index-e919e353.js';
6
+ import { a as addEventListener, b as removeEventListener, r as raf, c as componentOnReady } from './helpers-78efeec3.js';
7
7
  import { a as KeyboardResize, K as Keyboard } from './keyboard-73175e24.js';
8
8
  import './index-738d7504.js';
9
9
  import './ionic-global-ca86cf32.js';
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { w as win } from './index-a5d50daf.js';
5
- import { r as raf } from './helpers-e48b0397.js';
5
+ import { r as raf } from './helpers-78efeec3.js';
6
6
  import { a as printIonError } from './index-738d7504.js';
7
7
 
8
8
  /**
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, h, e as Host, f as getElement, c as createEvent } from './index-527b9e34.js';
5
- import { r as raf, t as transitionEndAsync, a as addEventListener, b as removeEventListener, g as getElementRoot } from './helpers-e48b0397.js';
5
+ import { r as raf, t as transitionEndAsync, a as addEventListener, b as removeEventListener, g as getElementRoot } from './helpers-78efeec3.js';
6
6
  import { l as chevronDown } from './index-e2cf2ceb.js';
7
7
  import { c as config, b as getIonMode } from './ionic-global-ca86cf32.js';
8
8
  import { p as printIonWarning } from './index-738d7504.js';
@@ -3,9 +3,9 @@
3
3
  */
4
4
  import { r as registerInstance, c as createEvent, d as readTask, h, e as Host, f as getElement } from './index-527b9e34.js';
5
5
  import { c as createButtonActiveGesture } from './button-active-90f1dbc4.js';
6
- import { r as raf } from './helpers-e48b0397.js';
6
+ import { r as raf } from './helpers-78efeec3.js';
7
7
  import { c as createLockController } from './lock-controller-316928be.js';
8
- import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-7579a420.js';
8
+ import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-41a5d51b.js';
9
9
  import { g as getClassMap } from './theme-01f3f29c.js';
10
10
  import { b as getIonMode } from './ionic-global-ca86cf32.js';
11
11
  import { c as createAnimation } from './animation-eab5a4ca.js';
@@ -15,7 +15,7 @@ import './index-a5d50daf.js';
15
15
  import './index-39782642.js';
16
16
  import './gesture-controller-314a54f6.js';
17
17
  import './hardware-back-button-864101a3.js';
18
- import './framework-delegate-c7d92b77.js';
18
+ import './framework-delegate-2eea1763.js';
19
19
  import './index-738d7504.js';
20
20
 
21
21
  /**
@@ -4,9 +4,9 @@
4
4
  import { r as registerInstance, c as createEvent, i as forceUpdate, h, e as Host, f as getElement } from './index-527b9e34.js';
5
5
  import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-49c88215.js';
6
6
  import { c as createButtonActiveGesture } from './button-active-90f1dbc4.js';
7
- import { r as raf } from './helpers-e48b0397.js';
7
+ import { r as raf } from './helpers-78efeec3.js';
8
8
  import { c as createLockController } from './lock-controller-316928be.js';
9
- import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-7579a420.js';
9
+ import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-41a5d51b.js';
10
10
  import { g as getClassMap } from './theme-01f3f29c.js';
11
11
  import { c as config, b as getIonMode } from './ionic-global-ca86cf32.js';
12
12
  import { c as createAnimation } from './animation-eab5a4ca.js';
@@ -16,7 +16,7 @@ import './index-a5d50daf.js';
16
16
  import './index-39782642.js';
17
17
  import './gesture-controller-314a54f6.js';
18
18
  import './hardware-back-button-864101a3.js';
19
- import './framework-delegate-c7d92b77.js';
19
+ import './framework-delegate-2eea1763.js';
20
20
  import './index-738d7504.js';
21
21
 
22
22
  /**