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
package/hydrate/index.js CHANGED
@@ -2682,16 +2682,6 @@ const shallowEqualStringMap = (map1, map2) => {
2682
2682
  }
2683
2683
  return true;
2684
2684
  };
2685
- const getNextSiblingOfType = (element) => {
2686
- let sibling = element.nextSibling;
2687
- while (sibling) {
2688
- if (sibling.nodeType === Node.ELEMENT_NODE && sibling !== null) {
2689
- return sibling;
2690
- }
2691
- sibling = sibling.nextSibling;
2692
- }
2693
- return null;
2694
- };
2695
2685
  /**
2696
2686
  * Checks input for usable number. Not NaN and not Infinite.
2697
2687
  */
@@ -5025,8 +5015,8 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
5025
5015
  */
5026
5016
  if (overlay.el.tagName !== 'ION-TOAST') {
5027
5017
  setRootAriaHidden(true);
5018
+ document.body.classList.add(BACKDROP_NO_SCROLL);
5028
5019
  }
5029
- document.body.classList.add(BACKDROP_NO_SCROLL);
5030
5020
  hideUnderlyingOverlaysFromScreenReaders(overlay.el);
5031
5021
  hideAnimatingOverlayFromScreenReaders(overlay.el);
5032
5022
  overlay.presented = true;
@@ -5130,6 +5120,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
5130
5120
  if (!overlay.presented) {
5131
5121
  return false;
5132
5122
  }
5123
+ const presentedOverlays = doc !== undefined ? getPresentedOverlays(doc) : [];
5133
5124
  /**
5134
5125
  * For accessibility, toasts lack focus traps and don’t receive
5135
5126
  * `aria-hidden` on the root element when presented.
@@ -5141,7 +5132,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
5141
5132
  * Therefore, we must remove `aria-hidden` from the root element
5142
5133
  * when the last non-toast overlay is dismissed.
5143
5134
  */
5144
- const overlaysNotToast = doc !== undefined ? getPresentedOverlays(doc).filter((o) => o.tagName !== 'ION-TOAST') : [];
5135
+ const overlaysNotToast = presentedOverlays.filter((o) => o.tagName !== 'ION-TOAST');
5145
5136
  const lastOverlayNotToast = overlaysNotToast.length === 1 && overlaysNotToast[0].id === overlay.el.id;
5146
5137
  /**
5147
5138
  * If this is the last visible overlay that is not a toast
@@ -8449,10 +8440,10 @@ class CardTitle {
8449
8440
  }; }
8450
8441
  }
8451
8442
 
8452
- const checkboxIosCss = ":host{--checkbox-background-checked:var(--ion-color-primary, #0054e9);--border-color-checked:var(--ion-color-primary, #0054e9);--checkmark-color:var(--ion-color-primary-contrast, #fff);--transition:none;display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-color){--checkbox-background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}.checkbox-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper,:host(.in-item:not(.checkbox-label-placement-stacked):not([slot])) .native-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.checkbox-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.checkbox-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.checkbox-icon{border-radius:var(--border-radius);position:relative;width:var(--size);height:var(--size);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--checkbox-background);-webkit-box-sizing:border-box;box-sizing:border-box}.checkbox-icon path{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}.checkbox-bottom{padding-top:4px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75rem;white-space:normal}:host(.checkbox-label-placement-stacked) .checkbox-bottom{font-size:1rem}.checkbox-bottom .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.checkbox-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .checkbox-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .checkbox-bottom .helper-text{display:none}:host(.checkbox-label-placement-start) .checkbox-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.checkbox-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-end) .checkbox-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-pack:start;justify-content:start}:host(.checkbox-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.checkbox-label-placement-stacked) .checkbox-wrapper{-ms-flex-direction:column;flex-direction:column;text-align:center}:host(.checkbox-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.checkbox-justify-space-between) .checkbox-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.checkbox-justify-start) .checkbox-wrapper{-ms-flex-pack:start;justify-content:start}:host(.checkbox-justify-end) .checkbox-wrapper{-ms-flex-pack:end;justify-content:end}:host(.checkbox-alignment-start) .checkbox-wrapper{-ms-flex-align:start;align-items:start}:host(.checkbox-alignment-center) .checkbox-wrapper{-ms-flex-align:center;align-items:center}:host(.checkbox-justify-space-between),:host(.checkbox-justify-start),:host(.checkbox-justify-end),:host(.checkbox-alignment-start),:host(.checkbox-alignment-center){display:block}:host(.checkbox-checked) .checkbox-icon,:host(.checkbox-indeterminate) .checkbox-icon{border-color:var(--border-color-checked);background:var(--checkbox-background-checked)}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{opacity:1}:host(.checkbox-disabled){pointer-events:none}:host{--border-radius:50%;--border-width:0.125rem;--border-style:solid;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.23);--checkbox-background:var(--ion-item-background, var(--ion-background-color, #fff));--size:min(1.375rem, 55.836px);--checkmark-width:1.5px}:host(.checkbox-disabled){opacity:0.3}";
8443
+ const checkboxIosCss = ":host{--checkbox-background-checked:var(--ion-color-primary, #0054e9);--border-color-checked:var(--ion-color-primary, #0054e9);--checkmark-color:var(--ion-color-primary-contrast, #fff);--transition:none;display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-color){--checkbox-background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}.checkbox-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper,:host(.in-item:not(.checkbox-label-placement-stacked):not([slot])) .native-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.checkbox-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.checkbox-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}input{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.checkbox-icon{border-radius:var(--border-radius);position:relative;width:var(--size);height:var(--size);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--checkbox-background);-webkit-box-sizing:border-box;box-sizing:border-box}.checkbox-icon path{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}.checkbox-bottom{padding-top:4px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75rem;white-space:normal}:host(.checkbox-label-placement-stacked) .checkbox-bottom{font-size:1rem}.checkbox-bottom .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.checkbox-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .checkbox-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .checkbox-bottom .helper-text{display:none}:host(.checkbox-label-placement-start) .checkbox-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.checkbox-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-end) .checkbox-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-pack:start;justify-content:start}:host(.checkbox-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.checkbox-label-placement-stacked) .checkbox-wrapper{-ms-flex-direction:column;flex-direction:column;text-align:center}:host(.checkbox-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.checkbox-justify-space-between) .checkbox-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.checkbox-justify-start) .checkbox-wrapper{-ms-flex-pack:start;justify-content:start}:host(.checkbox-justify-end) .checkbox-wrapper{-ms-flex-pack:end;justify-content:end}:host(.checkbox-alignment-start) .checkbox-wrapper{-ms-flex-align:start;align-items:start}:host(.checkbox-alignment-center) .checkbox-wrapper{-ms-flex-align:center;align-items:center}:host(.checkbox-justify-space-between),:host(.checkbox-justify-start),:host(.checkbox-justify-end),:host(.checkbox-alignment-start),:host(.checkbox-alignment-center){display:block}:host(.checkbox-checked) .checkbox-icon,:host(.checkbox-indeterminate) .checkbox-icon{border-color:var(--border-color-checked);background:var(--checkbox-background-checked)}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{opacity:1}:host(.checkbox-disabled){pointer-events:none}:host{--border-radius:50%;--border-width:0.125rem;--border-style:solid;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.23);--checkbox-background:var(--ion-item-background, var(--ion-background-color, #fff));--size:min(1.375rem, 55.836px);--checkmark-width:1.5px}:host(.checkbox-disabled){opacity:0.3}";
8453
8444
  var IonCheckboxIosStyle0 = checkboxIosCss;
8454
8445
 
8455
- const checkboxMdCss = ":host{--checkbox-background-checked:var(--ion-color-primary, #0054e9);--border-color-checked:var(--ion-color-primary, #0054e9);--checkmark-color:var(--ion-color-primary-contrast, #fff);--transition:none;display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-color){--checkbox-background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}.checkbox-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper,:host(.in-item:not(.checkbox-label-placement-stacked):not([slot])) .native-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.checkbox-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.checkbox-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.checkbox-icon{border-radius:var(--border-radius);position:relative;width:var(--size);height:var(--size);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--checkbox-background);-webkit-box-sizing:border-box;box-sizing:border-box}.checkbox-icon path{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}.checkbox-bottom{padding-top:4px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75rem;white-space:normal}:host(.checkbox-label-placement-stacked) .checkbox-bottom{font-size:1rem}.checkbox-bottom .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.checkbox-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .checkbox-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .checkbox-bottom .helper-text{display:none}:host(.checkbox-label-placement-start) .checkbox-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.checkbox-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-end) .checkbox-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-pack:start;justify-content:start}:host(.checkbox-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.checkbox-label-placement-stacked) .checkbox-wrapper{-ms-flex-direction:column;flex-direction:column;text-align:center}:host(.checkbox-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.checkbox-justify-space-between) .checkbox-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.checkbox-justify-start) .checkbox-wrapper{-ms-flex-pack:start;justify-content:start}:host(.checkbox-justify-end) .checkbox-wrapper{-ms-flex-pack:end;justify-content:end}:host(.checkbox-alignment-start) .checkbox-wrapper{-ms-flex-align:start;align-items:start}:host(.checkbox-alignment-center) .checkbox-wrapper{-ms-flex-align:center;align-items:center}:host(.checkbox-justify-space-between),:host(.checkbox-justify-start),:host(.checkbox-justify-end),:host(.checkbox-alignment-start),:host(.checkbox-alignment-center){display:block}:host(.checkbox-checked) .checkbox-icon,:host(.checkbox-indeterminate) .checkbox-icon{border-color:var(--border-color-checked);background:var(--checkbox-background-checked)}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{opacity:1}:host(.checkbox-disabled){pointer-events:none}:host{--border-radius:calc(var(--size) * .125);--border-width:2px;--border-style:solid;--border-color:rgb(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--checkmark-width:3;--checkbox-background:var(--ion-item-background, var(--ion-background-color, #fff));--transition:background 180ms cubic-bezier(0.4, 0, 0.2, 1);--size:18px}.checkbox-icon path{stroke-dasharray:30;stroke-dashoffset:30}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{stroke-dashoffset:0;-webkit-transition:stroke-dashoffset 90ms linear 90ms;transition:stroke-dashoffset 90ms linear 90ms}:host(.checkbox-disabled) .label-text-wrapper{opacity:0.38}:host(.checkbox-disabled) .native-wrapper{opacity:0.63}";
8446
+ const checkboxMdCss = ":host{--checkbox-background-checked:var(--ion-color-primary, #0054e9);--border-color-checked:var(--ion-color-primary, #0054e9);--checkmark-color:var(--ion-color-primary-contrast, #fff);--transition:none;display:inline-block;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-color){--checkbox-background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}.checkbox-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper,:host(.in-item:not(.checkbox-label-placement-stacked):not([slot])) .native-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.checkbox-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.checkbox-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}input{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.checkbox-icon{border-radius:var(--border-radius);position:relative;width:var(--size);height:var(--size);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--checkbox-background);-webkit-box-sizing:border-box;box-sizing:border-box}.checkbox-icon path{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}.checkbox-bottom{padding-top:4px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75rem;white-space:normal}:host(.checkbox-label-placement-stacked) .checkbox-bottom{font-size:1rem}.checkbox-bottom .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.checkbox-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .checkbox-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .checkbox-bottom .helper-text{display:none}:host(.checkbox-label-placement-start) .checkbox-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.checkbox-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-end) .checkbox-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-pack:start;justify-content:start}:host(.checkbox-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.checkbox-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.checkbox-label-placement-stacked) .checkbox-wrapper{-ms-flex-direction:column;flex-direction:column;text-align:center}:host(.checkbox-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.checkbox-label-placement-stacked.checkbox-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).checkbox-label-placement-stacked.checkbox-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.checkbox-label-placement-stacked.checkbox-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.checkbox-justify-space-between) .checkbox-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.checkbox-justify-start) .checkbox-wrapper{-ms-flex-pack:start;justify-content:start}:host(.checkbox-justify-end) .checkbox-wrapper{-ms-flex-pack:end;justify-content:end}:host(.checkbox-alignment-start) .checkbox-wrapper{-ms-flex-align:start;align-items:start}:host(.checkbox-alignment-center) .checkbox-wrapper{-ms-flex-align:center;align-items:center}:host(.checkbox-justify-space-between),:host(.checkbox-justify-start),:host(.checkbox-justify-end),:host(.checkbox-alignment-start),:host(.checkbox-alignment-center){display:block}:host(.checkbox-checked) .checkbox-icon,:host(.checkbox-indeterminate) .checkbox-icon{border-color:var(--border-color-checked);background:var(--checkbox-background-checked)}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{opacity:1}:host(.checkbox-disabled){pointer-events:none}:host{--border-radius:calc(var(--size) * .125);--border-width:2px;--border-style:solid;--border-color:rgb(var(--ion-text-color-rgb, 0, 0, 0), 0.6);--checkmark-width:3;--checkbox-background:var(--ion-item-background, var(--ion-background-color, #fff));--transition:background 180ms cubic-bezier(0.4, 0, 0.2, 1);--size:18px}.checkbox-icon path{stroke-dasharray:30;stroke-dashoffset:30}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{stroke-dashoffset:0;-webkit-transition:stroke-dashoffset 90ms linear 90ms;transition:stroke-dashoffset 90ms linear 90ms}:host(.checkbox-disabled) .label-text-wrapper{opacity:0.38}:host(.checkbox-disabled) .native-wrapper{opacity:0.63}";
8456
8447
  var IonCheckboxMdStyle0 = checkboxMdCss;
8457
8448
 
8458
8449
  /**
@@ -8474,6 +8465,7 @@ class Checkbox {
8474
8465
  this.ionFocus = createEvent(this, "ionFocus", 7);
8475
8466
  this.ionBlur = createEvent(this, "ionBlur", 7);
8476
8467
  this.inputId = `ion-cb-${checkboxIds++}`;
8468
+ this.inputLabelId = `${this.inputId}-lbl`;
8477
8469
  this.helperTextId = `${this.inputId}-helper-text`;
8478
8470
  this.errorTextId = `${this.inputId}-error-text`;
8479
8471
  this.inheritedAttributes = {};
@@ -8502,6 +8494,14 @@ class Checkbox {
8502
8494
  this.onBlur = () => {
8503
8495
  this.ionBlur.emit();
8504
8496
  };
8497
+ this.onKeyDown = (ev) => {
8498
+ if (ev.key === ' ') {
8499
+ ev.preventDefault();
8500
+ if (!this.disabled) {
8501
+ this.toggleChecked(ev);
8502
+ }
8503
+ }
8504
+ };
8505
8505
  this.onClick = (ev) => {
8506
8506
  if (this.disabled) {
8507
8507
  return;
@@ -8560,8 +8560,11 @@ class Checkbox {
8560
8560
  const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, required, } = this;
8561
8561
  const mode = getIonMode$1(this);
8562
8562
  const path = getSVGPath(mode, indeterminate);
8563
+ const hasLabelContent = el.textContent !== '';
8563
8564
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
8564
- return (hAsync(Host, { key: '7ac31df89b07c781ddcd30a6a8c109494d0c500a', "aria-checked": indeterminate ? 'mixed' : `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, class: createColorClasses$1(color, {
8565
+ // The host element must have a checkbox role to ensure proper VoiceOver
8566
+ // support in Safari for accessibility.
8567
+ return (hAsync(Host, { key: '90bb17a4fae17088524555968a002327400807cf', role: "checkbox", "aria-checked": indeterminate ? 'mixed' : `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, "aria-labelledby": hasLabelContent ? this.inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, class: createColorClasses$1(color, {
8565
8568
  [mode]: true,
8566
8569
  'in-item': hostContext('ion-item', el),
8567
8570
  'checkbox-checked': checked,
@@ -8571,10 +8574,10 @@ class Checkbox {
8571
8574
  [`checkbox-justify-${justify}`]: justify !== undefined,
8572
8575
  [`checkbox-alignment-${alignment}`]: alignment !== undefined,
8573
8576
  [`checkbox-label-placement-${labelPlacement}`]: true,
8574
- }), onClick: this.onClick }, hAsync("label", { key: '674e923fe1ec83a33c31d67b0d414d61ba8f9e4b', class: "checkbox-wrapper" }, hAsync("input", Object.assign({ key: 'c4866e392fbdf3b76edcd1507cb67f40a213a4e7', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), hAsync("div", { key: '79cb96e5963b9331a760438ec8cc9e456215de91', class: {
8577
+ }), onClick: this.onClick }, hAsync("label", { key: '58b5762aa358dff81910874631e06620a2ae1561', class: "checkbox-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: '6abe299d690c345d36d6fd76ab113fdccfbbac52', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), hAsync("div", { key: '2654168e45ccfdbcfe13af8c97e0e21d61ba0150', class: {
8575
8578
  'label-text-wrapper': true,
8576
- 'label-text-wrapper-hidden': el.textContent === '',
8577
- }, part: "label" }, hAsync("slot", { key: '896cb26292c9a4a6c105afb39611472b93bf5e90' }), this.renderHintText()), hAsync("div", { key: '52cd22e79fd5db30b45d7b092aa5af3944392336', class: "native-wrapper" }, hAsync("svg", { key: '18d862ab7cc32055eaf200eea560ff1b2b6cbde0', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
8579
+ 'label-text-wrapper-hidden': !hasLabelContent,
8580
+ }, part: "label", id: this.inputLabelId }, hAsync("slot", { key: 'a91f3f67d9ddd6b616e48799aba11cae3564d1ab' }), this.renderHintText()), hAsync("div", { key: 'd5a9170b084d09df6b02f416e744085b5bcf0dde', class: "native-wrapper" }, hAsync("svg", { key: 'b1968ce4aa9d652a9f2bdc427ea3a65e6c04df51', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
8578
8581
  }
8579
8582
  getSVGPath(mode, indeterminate) {
8580
8583
  let path = indeterminate ? (hAsync("path", { d: "M6 12L18 12", part: "mark" })) : (hAsync("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
@@ -12365,7 +12368,7 @@ class Datetime {
12365
12368
  const activePart = this.getActivePartsWithFallback();
12366
12369
  return (hAsync("ion-picker-column", { "aria-label": "Select an hour", color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
12367
12370
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
12368
- this.setActiveParts(Object.assign(Object.assign({}, activePart), { hour: ev.detail.value }));
12371
+ this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { hour: ev.detail.value }));
12369
12372
  ev.stopPropagation();
12370
12373
  } }, hoursData.map((hour) => (hAsync("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)))));
12371
12374
  }
@@ -12376,7 +12379,7 @@ class Datetime {
12376
12379
  const activePart = this.getActivePartsWithFallback();
12377
12380
  return (hAsync("ion-picker-column", { "aria-label": "Select a minute", color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
12378
12381
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
12379
- this.setActiveParts(Object.assign(Object.assign({}, activePart), { minute: ev.detail.value }));
12382
+ this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { minute: ev.detail.value }));
12380
12383
  ev.stopPropagation();
12381
12384
  } }, minutesData.map((minute) => (hAsync("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)))));
12382
12385
  }
@@ -12390,7 +12393,7 @@ class Datetime {
12390
12393
  return (hAsync("ion-picker-column", { "aria-label": "Select a day period", style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
12391
12394
  const hour = calculateHourFromAMPM(workingParts, ev.detail.value);
12392
12395
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
12393
- this.setActiveParts(Object.assign(Object.assign({}, activePart), { ampm: ev.detail.value, hour }));
12396
+ this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { ampm: ev.detail.value, hour }));
12394
12397
  ev.stopPropagation();
12395
12398
  } }, dayPeriodData.map((dayPeriod) => (hAsync("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)))));
12396
12399
  }
@@ -12697,7 +12700,7 @@ class Datetime {
12697
12700
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
12698
12701
  const hasWheelVariant = hasDatePresentation && preferWheel;
12699
12702
  renderHiddenInput(true, el, name, formatValue(value), disabled);
12700
- return (hAsync(Host, { key: '7afbb1a7e6c78389b4588999779e5c90e010e85d', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
12703
+ return (hAsync(Host, { key: '08d429533a09c600b936ad1e022658051c765595', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
12701
12704
  [mode]: true,
12702
12705
  ['datetime-readonly']: readonly,
12703
12706
  ['datetime-disabled']: disabled,
@@ -12707,7 +12710,7 @@ class Datetime {
12707
12710
  [`datetime-size-${size}`]: true,
12708
12711
  [`datetime-prefer-wheel`]: hasWheelVariant,
12709
12712
  [`datetime-grid`]: isGridStyle,
12710
- })) }, hAsync("div", { key: '297c458d4d17154cb297e2ef5926505bcb2d1fce', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
12713
+ })) }, hAsync("div", { key: 'f4ff0fcd1e059767a7ef14fcc76ebfd55d23a97b', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
12711
12714
  }
12712
12715
  get el() { return getElement(this); }
12713
12716
  static get watchers() { return {
@@ -19542,6 +19545,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19542
19545
  let currentBreakpoint = initialBreakpoint;
19543
19546
  let offset = 0;
19544
19547
  let canDismissBlocksGesture = false;
19548
+ let cachedScrollEl = null;
19545
19549
  const canDismissMaxStep = 0.95;
19546
19550
  const maxBreakpoint = breakpoints[breakpoints.length - 1];
19547
19551
  const minBreakpoint = breakpoints[0];
@@ -19675,6 +19679,16 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19675
19679
  * Remove undefined check
19676
19680
  */
19677
19681
  canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
19682
+ /**
19683
+ * Cache the scroll element reference when the gesture starts,
19684
+ * this allows us to avoid querying the DOM for the target in onMove,
19685
+ * which would impact performance significantly.
19686
+ */
19687
+ if (!expandToScroll) {
19688
+ const targetEl = findClosestIonContent(detail.event.target);
19689
+ cachedScrollEl =
19690
+ targetEl && isIonContent(targetEl) ? getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
19691
+ }
19678
19692
  /**
19679
19693
  * If expandToScroll is disabled, we need to swap
19680
19694
  * the footer visibility to the original, so if the modal
@@ -19702,10 +19716,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19702
19716
  };
19703
19717
  const onMove = (detail) => {
19704
19718
  /**
19705
- * If `expandToScroll` is disabled, we should not allow the swipe gesture
19706
- * to continue if the gesture is not pulling down.
19719
+ * If `expandToScroll` is disabled, and an upwards swipe gesture is done within
19720
+ * the scrollable content, we should not allow the swipe gesture to continue.
19707
19721
  */
19708
- if (!expandToScroll && detail.deltaY <= 0) {
19722
+ if (!expandToScroll && detail.deltaY <= 0 && cachedScrollEl) {
19709
19723
  return;
19710
19724
  }
19711
19725
  /**
@@ -19754,6 +19768,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19754
19768
  animation.progressStep(offset);
19755
19769
  };
19756
19770
  const onEnd = (detail) => {
19771
+ /**
19772
+ * If expandToScroll is disabled, we should not allow the moveSheetToBreakpoint
19773
+ * function to be called if the user is trying to swipe content upwards and the content
19774
+ * is not scrolled to the top.
19775
+ */
19776
+ if (!expandToScroll && detail.deltaY <= 0 && cachedScrollEl && cachedScrollEl.scrollTop > 0) {
19777
+ return;
19778
+ }
19757
19779
  /**
19758
19780
  * When the gesture releases, we need to determine
19759
19781
  * the closest breakpoint to snap to.
@@ -21893,13 +21915,59 @@ class Picker$1 {
21893
21915
  * or trailing zeros when looking at the item text.
21894
21916
  */
21895
21917
  this.searchColumn = (colEl, value, zeroBehavior = 'start') => {
21918
+ if (!value) {
21919
+ return false;
21920
+ }
21896
21921
  const behavior = zeroBehavior === 'start' ? /^0+/ : /0$/;
21922
+ value = value.replace(behavior, '');
21897
21923
  const option = Array.from(colEl.querySelectorAll('ion-picker-column-option')).find((el) => {
21898
21924
  return el.disabled !== true && el.textContent.replace(behavior, '') === value;
21899
21925
  });
21900
21926
  if (option) {
21901
21927
  colEl.setValue(option.value);
21902
21928
  }
21929
+ return !!option;
21930
+ };
21931
+ /**
21932
+ * Attempts to intelligently search the first and second
21933
+ * column as if they're number columns for the provided numbers
21934
+ * where the first two numbers are the first column
21935
+ * and the last 2 are the last column. Tries to allow for the first
21936
+ * number to be ignored for situations where typos occurred.
21937
+ */
21938
+ this.multiColumnSearch = (firstColumn, secondColumn, input) => {
21939
+ if (input.length === 0) {
21940
+ return;
21941
+ }
21942
+ const inputArray = input.split('');
21943
+ const hourValue = inputArray.slice(0, 2).join('');
21944
+ // Try to find a match for the first two digits in the first column
21945
+ const foundHour = this.searchColumn(firstColumn, hourValue);
21946
+ // If we have more than 2 digits and found a match for hours,
21947
+ // use the remaining digits for the second column (minutes)
21948
+ if (inputArray.length > 2 && foundHour) {
21949
+ const minuteValue = inputArray.slice(2, 4).join('');
21950
+ this.searchColumn(secondColumn, minuteValue);
21951
+ }
21952
+ // If we couldn't find a match for the two-digit hour, try single digit approaches
21953
+ else if (!foundHour && inputArray.length >= 1) {
21954
+ // First try the first digit as a single-digit hour
21955
+ let singleDigitHour = inputArray[0];
21956
+ let singleDigitFound = this.searchColumn(firstColumn, singleDigitHour);
21957
+ // If that didn't work, try the second digit as a single-digit hour
21958
+ // (handles case where user made a typo in the first digit, or they typed over themselves)
21959
+ if (!singleDigitFound) {
21960
+ inputArray.shift();
21961
+ singleDigitHour = inputArray[0];
21962
+ singleDigitFound = this.searchColumn(firstColumn, singleDigitHour);
21963
+ }
21964
+ // If we found a single-digit hour and have remaining digits,
21965
+ // use up to 2 of the remaining digits for the second column
21966
+ if (singleDigitFound && inputArray.length > 1) {
21967
+ const remainingDigits = inputArray.slice(1, 3).join('');
21968
+ this.searchColumn(secondColumn, remainingDigits);
21969
+ }
21970
+ }
21903
21971
  };
21904
21972
  this.selectMultiColumn = () => {
21905
21973
  const { inputEl, el } = this;
@@ -21910,82 +21978,13 @@ class Picker$1 {
21910
21978
  const firstColumn = numericPickers[0];
21911
21979
  const lastColumn = numericPickers[1];
21912
21980
  let value = inputEl.value;
21913
- let minuteValue;
21914
- switch (value.length) {
21915
- case 1:
21916
- this.searchColumn(firstColumn, value);
21917
- break;
21918
- case 2:
21919
- /**
21920
- * If the first character is `0` or `1` it is
21921
- * possible that users are trying to type `09`
21922
- * or `11` into the hour field, so we should look
21923
- * at that first.
21924
- */
21925
- const firstCharacter = inputEl.value.substring(0, 1);
21926
- value = firstCharacter === '0' || firstCharacter === '1' ? inputEl.value : firstCharacter;
21927
- this.searchColumn(firstColumn, value);
21928
- /**
21929
- * If only checked the first value,
21930
- * we can check the second value
21931
- * for a match in the minutes column
21932
- */
21933
- if (value.length === 1) {
21934
- minuteValue = inputEl.value.substring(inputEl.value.length - 1);
21935
- this.searchColumn(lastColumn, minuteValue, 'end');
21936
- }
21937
- break;
21938
- case 3:
21939
- /**
21940
- * If the first character is `0` or `1` it is
21941
- * possible that users are trying to type `09`
21942
- * or `11` into the hour field, so we should look
21943
- * at that first.
21944
- */
21945
- const firstCharacterAgain = inputEl.value.substring(0, 1);
21946
- value =
21947
- firstCharacterAgain === '0' || firstCharacterAgain === '1'
21948
- ? inputEl.value.substring(0, 2)
21949
- : firstCharacterAgain;
21950
- this.searchColumn(firstColumn, value);
21951
- /**
21952
- * If only checked the first value,
21953
- * we can check the second value
21954
- * for a match in the minutes column
21955
- */
21956
- minuteValue = value.length === 1 ? inputEl.value.substring(1) : inputEl.value.substring(2);
21957
- this.searchColumn(lastColumn, minuteValue, 'end');
21958
- break;
21959
- case 4:
21960
- /**
21961
- * If the first character is `0` or `1` it is
21962
- * possible that users are trying to type `09`
21963
- * or `11` into the hour field, so we should look
21964
- * at that first.
21965
- */
21966
- const firstCharacterAgainAgain = inputEl.value.substring(0, 1);
21967
- value =
21968
- firstCharacterAgainAgain === '0' || firstCharacterAgainAgain === '1'
21969
- ? inputEl.value.substring(0, 2)
21970
- : firstCharacterAgainAgain;
21971
- this.searchColumn(firstColumn, value);
21972
- /**
21973
- * If only checked the first value,
21974
- * we can check the second value
21975
- * for a match in the minutes column
21976
- */
21977
- const minuteValueAgain = value.length === 1
21978
- ? inputEl.value.substring(1, inputEl.value.length)
21979
- : inputEl.value.substring(2, inputEl.value.length);
21980
- this.searchColumn(lastColumn, minuteValueAgain, 'end');
21981
- break;
21982
- default:
21983
- const startIndex = inputEl.value.length - 4;
21984
- const newString = inputEl.value.substring(startIndex);
21985
- inputEl.value = newString;
21986
- this.selectMultiColumn();
21987
- break;
21981
+ if (value.length > 4) {
21982
+ const startIndex = inputEl.value.length - 4;
21983
+ const newString = inputEl.value.substring(startIndex);
21984
+ inputEl.value = newString;
21985
+ value = newString;
21988
21986
  }
21987
+ this.multiColumnSearch(firstColumn, lastColumn, value);
21989
21988
  };
21990
21989
  /**
21991
21990
  * Searches the value of the active column
@@ -22054,7 +22053,7 @@ class Picker$1 {
22054
22053
  this.emitInputModeChange();
22055
22054
  }
22056
22055
  render() {
22057
- return (hAsync(Host, { key: 'f92214a09dc85b65873676f40fde2b802960e704', onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, hAsync("input", { key: '6da37f75aca4ea1c9cb3bc733ebda2116279f313', "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", onKeyDown: (ev) => {
22056
+ return (hAsync(Host, { key: '28f81e4ed44a633178561757c5199c2c98f94b74', onPointerDown: (ev) => this.onPointerDown(ev), onClick: () => this.onClick() }, hAsync("input", { key: 'abb3d1ad25ef63856af7804111175a4d50008bc0', "aria-hidden": "true", tabindex: -1, inputmode: "numeric", type: "number", onKeyDown: (ev) => {
22058
22057
  var _a;
22059
22058
  /**
22060
22059
  * The "Enter" key represents
@@ -22069,7 +22068,7 @@ class Picker$1 {
22069
22068
  if (ev.key === 'Enter') {
22070
22069
  (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.blur();
22071
22070
  }
22072
- }, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), hAsync("div", { key: '298e99d83dd3f5bf2798150bab0bb4024af472fa', class: "picker-before" }), hAsync("div", { key: 'ea578f04eb562a4dc6d6cc92de133dcb9fb7f42a', class: "picker-after" }), hAsync("div", { key: '84567824956dfe967992a629904836ba8b75b3ec', class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), hAsync("slot", { key: 'df81f8fb90e1f649b608328034528f5c31c70c3b' })));
22071
+ }, ref: (el) => (this.inputEl = el), onInput: () => this.onInputChange(), onBlur: () => this.exitInputMode() }), hAsync("div", { key: '334a5abdc02e6b127c57177f626d7e4ff5526183', class: "picker-before" }), hAsync("div", { key: 'ffd6271931129e88fc7c820e919d684899e420c5', class: "picker-after" }), hAsync("div", { key: '78d1d95fd09e04f154ea59f24a1cece72c47ed7b', class: "picker-highlight", ref: (el) => (this.highlightEl = el) }), hAsync("slot", { key: '0bd5b9f875d3c71f6cbbde2054baeb1b0a2e8cd5' })));
22073
22072
  }
22074
22073
  get el() { return getElement(this); }
22075
22074
  static get style() { return {
@@ -25338,6 +25337,19 @@ class Range {
25338
25337
  this.inheritedAttributes = {};
25339
25338
  this.contentEl = null;
25340
25339
  this.initialContentScrollY = true;
25340
+ /**
25341
+ * Compares two RangeValue inputs to determine if they are different.
25342
+ *
25343
+ * @param newVal - The new value.
25344
+ * @param oldVal - The old value.
25345
+ * @returns `true` if the values are different, `false` otherwise.
25346
+ */
25347
+ this.compareValues = (newVal, oldVal) => {
25348
+ if (typeof newVal === 'object' && typeof oldVal === 'object') {
25349
+ return newVal.lower !== oldVal.lower || newVal.upper !== oldVal.upper;
25350
+ }
25351
+ return newVal !== oldVal;
25352
+ };
25341
25353
  this.clampBounds = (value) => {
25342
25354
  return clamp(this.min, value, this.max);
25343
25355
  };
@@ -25471,7 +25483,11 @@ class Range {
25471
25483
  this.gesture.enable(!this.disabled);
25472
25484
  }
25473
25485
  }
25474
- valueChanged() {
25486
+ valueChanged(newValue, oldValue) {
25487
+ const valuesChanged = this.compareValues(newValue, oldValue);
25488
+ if (valuesChanged) {
25489
+ this.ionInput.emit({ value: this.value });
25490
+ }
25475
25491
  if (!this.noUpdate) {
25476
25492
  this.updateRatio();
25477
25493
  }
@@ -25716,7 +25732,6 @@ class Range {
25716
25732
  lower: Math.min(valA, valB),
25717
25733
  upper: Math.max(valA, valB),
25718
25734
  };
25719
- this.ionInput.emit({ value: this.value });
25720
25735
  this.noUpdate = false;
25721
25736
  }
25722
25737
  setFocus(knob) {
@@ -25884,7 +25899,7 @@ class Range {
25884
25899
  const needsEndAdjustment = inItem && !hasEndContent;
25885
25900
  const mode = getIonMode$1(this);
25886
25901
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
25887
- return (hAsync(Host, { key: 'ddecc98800b9137294c8cadfbde7d07d5b3825d7', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
25902
+ return (hAsync(Host, { key: 'e97cb7eab877eb1624429b4a79107130c6809cf5', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
25888
25903
  [mode]: true,
25889
25904
  'in-item': inItem,
25890
25905
  'range-disabled': disabled,
@@ -25893,10 +25908,10 @@ class Range {
25893
25908
  [`range-label-placement-${labelPlacement}`]: true,
25894
25909
  'range-item-start-adjustment': needsStartAdjustment,
25895
25910
  'range-item-end-adjustment': needsEndAdjustment,
25896
- }) }, hAsync("label", { key: '5afdbea21b1b82efde1126ceb0a263f85731aecf', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'e47e0bbefcb931dff5b846f47b4458153b73df94', class: {
25911
+ }) }, hAsync("label", { key: 'a43e9859f74f83460439efefccb5fbb9f387c9ee', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '75352a30f30dbd0228c6138eb4324a5c021dbb48', class: {
25897
25912
  'label-text-wrapper': true,
25898
25913
  'label-text-wrapper-hidden': !hasLabel,
25899
- }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '842f35cd03bb6108d1ecf0c0a07adfbdc900401c', class: "native-wrapper" }, hAsync("slot", { key: '4a5141daaf5de5b3251bef4232ce5a27fc0395df', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '53ffe0a40b093c5fbcbc50d47eea6bb3f39dfdbb', name: "end" })))));
25914
+ }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '6a3e147c3e5d938bb2b50522a290f6fdfcf40f05', class: "native-wrapper" }, hAsync("slot", { key: '6627236eac9f711fa9c27879a017dd994e65811e', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '6af3bbadacd036bc7cd30732227f76d7c64117fb', name: "end" })))));
25900
25915
  }
25901
25916
  get el() { return getElement(this); }
25902
25917
  static get watchers() { return {
@@ -29680,61 +29695,15 @@ class SegmentButton {
29680
29695
  valueChanged() {
29681
29696
  this.updateState();
29682
29697
  }
29683
- waitForSegmentContent(ionSegment, contentId) {
29684
- return new Promise((resolve, reject) => {
29685
- let timeoutId = undefined;
29686
- let animationFrameId;
29687
- const check = () => {
29688
- if (!ionSegment) {
29689
- reject(new Error(`Segment not found when looking for Segment Content`));
29690
- return;
29691
- }
29692
- const segmentView = getNextSiblingOfType(ionSegment); // Skip the text nodes
29693
- const segmentContent = segmentView === null || segmentView === void 0 ? void 0 : segmentView.querySelector(`ion-segment-content[id="${contentId}"]`);
29694
- if (segmentContent && timeoutId) {
29695
- clearTimeout(timeoutId); // Clear the timeout if the segmentContent is found
29696
- cancelAnimationFrame(animationFrameId);
29697
- resolve(segmentContent);
29698
- }
29699
- else {
29700
- animationFrameId = requestAnimationFrame(check); // Keep checking on the next animation frame
29701
- }
29702
- };
29703
- check();
29704
- // Set a timeout to reject the promise
29705
- timeoutId = setTimeout(() => {
29706
- cancelAnimationFrame(animationFrameId);
29707
- reject(new Error(`Unable to find Segment Content with id="${contentId} within 1000 ms`));
29708
- }, 1000);
29709
- });
29710
- }
29711
- async connectedCallback() {
29698
+ connectedCallback() {
29712
29699
  const segmentEl = (this.segmentEl = this.el.closest('ion-segment'));
29713
29700
  if (segmentEl) {
29714
29701
  this.updateState();
29715
29702
  addEventListener$1(segmentEl, 'ionSelect', this.updateState);
29716
29703
  addEventListener$1(segmentEl, 'ionStyle', this.updateStyle);
29717
29704
  }
29718
- // Return if there is no contentId defined
29719
- if (!this.contentId)
29720
- return;
29721
- let segmentContent;
29722
- try {
29723
- // Attempt to find the Segment Content by its contentId
29724
- segmentContent = await this.waitForSegmentContent(segmentEl, this.contentId);
29725
- }
29726
- catch (error) {
29727
- // If no associated Segment Content exists, log an error and return
29728
- console.error('Segment Button: ', error.message);
29729
- return;
29730
- }
29731
- // Ensure the found element is a valid ION-SEGMENT-CONTENT
29732
- if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
29733
- console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
29734
- return;
29735
- }
29736
29705
  // Prevent buttons from being disabled when associated with segment content
29737
- if (this.disabled) {
29706
+ if (this.contentId && this.disabled) {
29738
29707
  console.warn(`Segment Button: Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
29739
29708
  this.disabled = false;
29740
29709
  }
@@ -29749,6 +29718,21 @@ class SegmentButton {
29749
29718
  }
29750
29719
  componentWillLoad() {
29751
29720
  this.inheritedAttributes = Object.assign({}, inheritAttributes$1(this.el, ['aria-label']));
29721
+ // Return if there is no contentId defined
29722
+ if (!this.contentId)
29723
+ return;
29724
+ // Attempt to find the Segment Content by its contentId
29725
+ const segmentContent = document.getElementById(this.contentId);
29726
+ // If no associated Segment Content exists, log an error and return
29727
+ if (!segmentContent) {
29728
+ console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
29729
+ return;
29730
+ }
29731
+ // Ensure the found element is a valid ION-SEGMENT-CONTENT
29732
+ if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
29733
+ console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
29734
+ return;
29735
+ }
29752
29736
  }
29753
29737
  get hasLabel() {
29754
29738
  return !!this.el.querySelector('ion-label');
@@ -29771,7 +29755,7 @@ class SegmentButton {
29771
29755
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
29772
29756
  const mode = getIonMode$1(this);
29773
29757
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
29774
- return (hAsync(Host, { key: 'e1e582b9a142cb07043ba08f02ad25f5a1fa5690', class: {
29758
+ return (hAsync(Host, { key: 'f2f679a08b131cd35d63f649b9d1f1907df30a89', class: {
29775
29759
  [mode]: true,
29776
29760
  'in-toolbar': hostContext('ion-toolbar', this.el),
29777
29761
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -29787,7 +29771,7 @@ class SegmentButton {
29787
29771
  'ion-activatable': true,
29788
29772
  'ion-activatable-instant': true,
29789
29773
  'ion-focusable': true,
29790
- } }, hAsync("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), hAsync("span", { key: '5c55858dbfb50734fb02d24091ebac3e0d05259f', class: "button-inner" }, hAsync("slot", { key: '1f3bb8d76a1039ad648e202c650db06dfca88f79' })), mode === 'md' && hAsync("ion-ripple-effect", { key: 'bda74b25bfdd431a8a36f0ee727b9184e9074321' })), hAsync("div", { key: 'ff11369e921d6d0a540c75c37f692a3853e903f7', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: '74ec4ca69331ed3f155fd8a8a356545941887df1', part: "indicator-background", class: "segment-button-indicator-background" }))));
29774
+ } }, hAsync("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), hAsync("span", { key: '73b795c39cb09438e50922abf6b3a010e31fa2b6', class: "button-inner" }, hAsync("slot", { key: '9769ddc917d7e459bd80dcd81c10c379e73d1b3e' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '8e4c06d6bae1034af8cc5db86fcca0ae72d042b1' })), hAsync("div", { key: 'ae73ee0e429e54a43269f99b6d3d7e1c6e8f60cc', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'd38eabe8161403799cfbad73dd6bf912d965442c', part: "indicator-background", class: "segment-button-indicator-background" }))));
29791
29775
  }
29792
29776
  get el() { return getElement(this); }
29793
29777
  static get watchers() { return {
@@ -29815,7 +29799,7 @@ class SegmentButton {
29815
29799
  }; }
29816
29800
  }
29817
29801
 
29818
- const segmentContentCss = ":host{scroll-snap-align:center;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}";
29802
+ const segmentContentCss = ":host{scroll-snap-align:center;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none;}:host::-webkit-scrollbar{display:none}";
29819
29803
  var IonSegmentContentStyle0 = segmentContentCss;
29820
29804
 
29821
29805
  class SegmentContent {