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.mjs CHANGED
@@ -2678,16 +2678,6 @@ const shallowEqualStringMap = (map1, map2) => {
2678
2678
  }
2679
2679
  return true;
2680
2680
  };
2681
- const getNextSiblingOfType = (element) => {
2682
- let sibling = element.nextSibling;
2683
- while (sibling) {
2684
- if (sibling.nodeType === Node.ELEMENT_NODE && sibling !== null) {
2685
- return sibling;
2686
- }
2687
- sibling = sibling.nextSibling;
2688
- }
2689
- return null;
2690
- };
2691
2681
  /**
2692
2682
  * Checks input for usable number. Not NaN and not Infinite.
2693
2683
  */
@@ -5021,8 +5011,8 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
5021
5011
  */
5022
5012
  if (overlay.el.tagName !== 'ION-TOAST') {
5023
5013
  setRootAriaHidden(true);
5014
+ document.body.classList.add(BACKDROP_NO_SCROLL);
5024
5015
  }
5025
- document.body.classList.add(BACKDROP_NO_SCROLL);
5026
5016
  hideUnderlyingOverlaysFromScreenReaders(overlay.el);
5027
5017
  hideAnimatingOverlayFromScreenReaders(overlay.el);
5028
5018
  overlay.presented = true;
@@ -5126,6 +5116,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
5126
5116
  if (!overlay.presented) {
5127
5117
  return false;
5128
5118
  }
5119
+ const presentedOverlays = doc !== undefined ? getPresentedOverlays(doc) : [];
5129
5120
  /**
5130
5121
  * For accessibility, toasts lack focus traps and don’t receive
5131
5122
  * `aria-hidden` on the root element when presented.
@@ -5137,7 +5128,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
5137
5128
  * Therefore, we must remove `aria-hidden` from the root element
5138
5129
  * when the last non-toast overlay is dismissed.
5139
5130
  */
5140
- const overlaysNotToast = doc !== undefined ? getPresentedOverlays(doc).filter((o) => o.tagName !== 'ION-TOAST') : [];
5131
+ const overlaysNotToast = presentedOverlays.filter((o) => o.tagName !== 'ION-TOAST');
5141
5132
  const lastOverlayNotToast = overlaysNotToast.length === 1 && overlaysNotToast[0].id === overlay.el.id;
5142
5133
  /**
5143
5134
  * If this is the last visible overlay that is not a toast
@@ -8445,10 +8436,10 @@ class CardTitle {
8445
8436
  }; }
8446
8437
  }
8447
8438
 
8448
- 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}";
8439
+ 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}";
8449
8440
  var IonCheckboxIosStyle0 = checkboxIosCss;
8450
8441
 
8451
- 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}";
8442
+ 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}";
8452
8443
  var IonCheckboxMdStyle0 = checkboxMdCss;
8453
8444
 
8454
8445
  /**
@@ -8470,6 +8461,7 @@ class Checkbox {
8470
8461
  this.ionFocus = createEvent(this, "ionFocus", 7);
8471
8462
  this.ionBlur = createEvent(this, "ionBlur", 7);
8472
8463
  this.inputId = `ion-cb-${checkboxIds++}`;
8464
+ this.inputLabelId = `${this.inputId}-lbl`;
8473
8465
  this.helperTextId = `${this.inputId}-helper-text`;
8474
8466
  this.errorTextId = `${this.inputId}-error-text`;
8475
8467
  this.inheritedAttributes = {};
@@ -8498,6 +8490,14 @@ class Checkbox {
8498
8490
  this.onBlur = () => {
8499
8491
  this.ionBlur.emit();
8500
8492
  };
8493
+ this.onKeyDown = (ev) => {
8494
+ if (ev.key === ' ') {
8495
+ ev.preventDefault();
8496
+ if (!this.disabled) {
8497
+ this.toggleChecked(ev);
8498
+ }
8499
+ }
8500
+ };
8501
8501
  this.onClick = (ev) => {
8502
8502
  if (this.disabled) {
8503
8503
  return;
@@ -8556,8 +8556,11 @@ class Checkbox {
8556
8556
  const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, required, } = this;
8557
8557
  const mode = getIonMode$1(this);
8558
8558
  const path = getSVGPath(mode, indeterminate);
8559
+ const hasLabelContent = el.textContent !== '';
8559
8560
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
8560
- return (hAsync(Host, { key: '7ac31df89b07c781ddcd30a6a8c109494d0c500a', "aria-checked": indeterminate ? 'mixed' : `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, class: createColorClasses$1(color, {
8561
+ // The host element must have a checkbox role to ensure proper VoiceOver
8562
+ // support in Safari for accessibility.
8563
+ 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, {
8561
8564
  [mode]: true,
8562
8565
  'in-item': hostContext('ion-item', el),
8563
8566
  'checkbox-checked': checked,
@@ -8567,10 +8570,10 @@ class Checkbox {
8567
8570
  [`checkbox-justify-${justify}`]: justify !== undefined,
8568
8571
  [`checkbox-alignment-${alignment}`]: alignment !== undefined,
8569
8572
  [`checkbox-label-placement-${labelPlacement}`]: true,
8570
- }), 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: {
8573
+ }), 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: {
8571
8574
  'label-text-wrapper': true,
8572
- 'label-text-wrapper-hidden': el.textContent === '',
8573
- }, 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)))));
8575
+ 'label-text-wrapper-hidden': !hasLabelContent,
8576
+ }, 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)))));
8574
8577
  }
8575
8578
  getSVGPath(mode, indeterminate) {
8576
8579
  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" }));
@@ -12361,7 +12364,7 @@ class Datetime {
12361
12364
  const activePart = this.getActivePartsWithFallback();
12362
12365
  return (hAsync("ion-picker-column", { "aria-label": "Select an hour", color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
12363
12366
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
12364
- this.setActiveParts(Object.assign(Object.assign({}, activePart), { hour: ev.detail.value }));
12367
+ this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { hour: ev.detail.value }));
12365
12368
  ev.stopPropagation();
12366
12369
  } }, 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)))));
12367
12370
  }
@@ -12372,7 +12375,7 @@ class Datetime {
12372
12375
  const activePart = this.getActivePartsWithFallback();
12373
12376
  return (hAsync("ion-picker-column", { "aria-label": "Select a minute", color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
12374
12377
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
12375
- this.setActiveParts(Object.assign(Object.assign({}, activePart), { minute: ev.detail.value }));
12378
+ this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { minute: ev.detail.value }));
12376
12379
  ev.stopPropagation();
12377
12380
  } }, 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)))));
12378
12381
  }
@@ -12386,7 +12389,7 @@ class Datetime {
12386
12389
  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) => {
12387
12390
  const hour = calculateHourFromAMPM(workingParts, ev.detail.value);
12388
12391
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
12389
- this.setActiveParts(Object.assign(Object.assign({}, activePart), { ampm: ev.detail.value, hour }));
12392
+ this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { ampm: ev.detail.value, hour }));
12390
12393
  ev.stopPropagation();
12391
12394
  } }, 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)))));
12392
12395
  }
@@ -12693,7 +12696,7 @@ class Datetime {
12693
12696
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
12694
12697
  const hasWheelVariant = hasDatePresentation && preferWheel;
12695
12698
  renderHiddenInput(true, el, name, formatValue(value), disabled);
12696
- return (hAsync(Host, { key: '7afbb1a7e6c78389b4588999779e5c90e010e85d', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
12699
+ return (hAsync(Host, { key: '08d429533a09c600b936ad1e022658051c765595', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
12697
12700
  [mode]: true,
12698
12701
  ['datetime-readonly']: readonly,
12699
12702
  ['datetime-disabled']: disabled,
@@ -12703,7 +12706,7 @@ class Datetime {
12703
12706
  [`datetime-size-${size}`]: true,
12704
12707
  [`datetime-prefer-wheel`]: hasWheelVariant,
12705
12708
  [`datetime-grid`]: isGridStyle,
12706
- })) }, hAsync("div", { key: '297c458d4d17154cb297e2ef5926505bcb2d1fce', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
12709
+ })) }, hAsync("div", { key: 'f4ff0fcd1e059767a7ef14fcc76ebfd55d23a97b', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
12707
12710
  }
12708
12711
  get el() { return getElement(this); }
12709
12712
  static get watchers() { return {
@@ -19538,6 +19541,7 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19538
19541
  let currentBreakpoint = initialBreakpoint;
19539
19542
  let offset = 0;
19540
19543
  let canDismissBlocksGesture = false;
19544
+ let cachedScrollEl = null;
19541
19545
  const canDismissMaxStep = 0.95;
19542
19546
  const maxBreakpoint = breakpoints[breakpoints.length - 1];
19543
19547
  const minBreakpoint = breakpoints[0];
@@ -19671,6 +19675,16 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19671
19675
  * Remove undefined check
19672
19676
  */
19673
19677
  canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
19678
+ /**
19679
+ * Cache the scroll element reference when the gesture starts,
19680
+ * this allows us to avoid querying the DOM for the target in onMove,
19681
+ * which would impact performance significantly.
19682
+ */
19683
+ if (!expandToScroll) {
19684
+ const targetEl = findClosestIonContent(detail.event.target);
19685
+ cachedScrollEl =
19686
+ targetEl && isIonContent(targetEl) ? getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
19687
+ }
19674
19688
  /**
19675
19689
  * If expandToScroll is disabled, we need to swap
19676
19690
  * the footer visibility to the original, so if the modal
@@ -19698,10 +19712,10 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19698
19712
  };
19699
19713
  const onMove = (detail) => {
19700
19714
  /**
19701
- * If `expandToScroll` is disabled, we should not allow the swipe gesture
19702
- * to continue if the gesture is not pulling down.
19715
+ * If `expandToScroll` is disabled, and an upwards swipe gesture is done within
19716
+ * the scrollable content, we should not allow the swipe gesture to continue.
19703
19717
  */
19704
- if (!expandToScroll && detail.deltaY <= 0) {
19718
+ if (!expandToScroll && detail.deltaY <= 0 && cachedScrollEl) {
19705
19719
  return;
19706
19720
  }
19707
19721
  /**
@@ -19750,6 +19764,14 @@ const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpoint, ba
19750
19764
  animation.progressStep(offset);
19751
19765
  };
19752
19766
  const onEnd = (detail) => {
19767
+ /**
19768
+ * If expandToScroll is disabled, we should not allow the moveSheetToBreakpoint
19769
+ * function to be called if the user is trying to swipe content upwards and the content
19770
+ * is not scrolled to the top.
19771
+ */
19772
+ if (!expandToScroll && detail.deltaY <= 0 && cachedScrollEl && cachedScrollEl.scrollTop > 0) {
19773
+ return;
19774
+ }
19753
19775
  /**
19754
19776
  * When the gesture releases, we need to determine
19755
19777
  * the closest breakpoint to snap to.
@@ -21889,13 +21911,59 @@ class Picker$1 {
21889
21911
  * or trailing zeros when looking at the item text.
21890
21912
  */
21891
21913
  this.searchColumn = (colEl, value, zeroBehavior = 'start') => {
21914
+ if (!value) {
21915
+ return false;
21916
+ }
21892
21917
  const behavior = zeroBehavior === 'start' ? /^0+/ : /0$/;
21918
+ value = value.replace(behavior, '');
21893
21919
  const option = Array.from(colEl.querySelectorAll('ion-picker-column-option')).find((el) => {
21894
21920
  return el.disabled !== true && el.textContent.replace(behavior, '') === value;
21895
21921
  });
21896
21922
  if (option) {
21897
21923
  colEl.setValue(option.value);
21898
21924
  }
21925
+ return !!option;
21926
+ };
21927
+ /**
21928
+ * Attempts to intelligently search the first and second
21929
+ * column as if they're number columns for the provided numbers
21930
+ * where the first two numbers are the first column
21931
+ * and the last 2 are the last column. Tries to allow for the first
21932
+ * number to be ignored for situations where typos occurred.
21933
+ */
21934
+ this.multiColumnSearch = (firstColumn, secondColumn, input) => {
21935
+ if (input.length === 0) {
21936
+ return;
21937
+ }
21938
+ const inputArray = input.split('');
21939
+ const hourValue = inputArray.slice(0, 2).join('');
21940
+ // Try to find a match for the first two digits in the first column
21941
+ const foundHour = this.searchColumn(firstColumn, hourValue);
21942
+ // If we have more than 2 digits and found a match for hours,
21943
+ // use the remaining digits for the second column (minutes)
21944
+ if (inputArray.length > 2 && foundHour) {
21945
+ const minuteValue = inputArray.slice(2, 4).join('');
21946
+ this.searchColumn(secondColumn, minuteValue);
21947
+ }
21948
+ // If we couldn't find a match for the two-digit hour, try single digit approaches
21949
+ else if (!foundHour && inputArray.length >= 1) {
21950
+ // First try the first digit as a single-digit hour
21951
+ let singleDigitHour = inputArray[0];
21952
+ let singleDigitFound = this.searchColumn(firstColumn, singleDigitHour);
21953
+ // If that didn't work, try the second digit as a single-digit hour
21954
+ // (handles case where user made a typo in the first digit, or they typed over themselves)
21955
+ if (!singleDigitFound) {
21956
+ inputArray.shift();
21957
+ singleDigitHour = inputArray[0];
21958
+ singleDigitFound = this.searchColumn(firstColumn, singleDigitHour);
21959
+ }
21960
+ // If we found a single-digit hour and have remaining digits,
21961
+ // use up to 2 of the remaining digits for the second column
21962
+ if (singleDigitFound && inputArray.length > 1) {
21963
+ const remainingDigits = inputArray.slice(1, 3).join('');
21964
+ this.searchColumn(secondColumn, remainingDigits);
21965
+ }
21966
+ }
21899
21967
  };
21900
21968
  this.selectMultiColumn = () => {
21901
21969
  const { inputEl, el } = this;
@@ -21906,82 +21974,13 @@ class Picker$1 {
21906
21974
  const firstColumn = numericPickers[0];
21907
21975
  const lastColumn = numericPickers[1];
21908
21976
  let value = inputEl.value;
21909
- let minuteValue;
21910
- switch (value.length) {
21911
- case 1:
21912
- this.searchColumn(firstColumn, value);
21913
- break;
21914
- case 2:
21915
- /**
21916
- * If the first character is `0` or `1` it is
21917
- * possible that users are trying to type `09`
21918
- * or `11` into the hour field, so we should look
21919
- * at that first.
21920
- */
21921
- const firstCharacter = inputEl.value.substring(0, 1);
21922
- value = firstCharacter === '0' || firstCharacter === '1' ? inputEl.value : firstCharacter;
21923
- this.searchColumn(firstColumn, value);
21924
- /**
21925
- * If only checked the first value,
21926
- * we can check the second value
21927
- * for a match in the minutes column
21928
- */
21929
- if (value.length === 1) {
21930
- minuteValue = inputEl.value.substring(inputEl.value.length - 1);
21931
- this.searchColumn(lastColumn, minuteValue, 'end');
21932
- }
21933
- break;
21934
- case 3:
21935
- /**
21936
- * If the first character is `0` or `1` it is
21937
- * possible that users are trying to type `09`
21938
- * or `11` into the hour field, so we should look
21939
- * at that first.
21940
- */
21941
- const firstCharacterAgain = inputEl.value.substring(0, 1);
21942
- value =
21943
- firstCharacterAgain === '0' || firstCharacterAgain === '1'
21944
- ? inputEl.value.substring(0, 2)
21945
- : firstCharacterAgain;
21946
- this.searchColumn(firstColumn, value);
21947
- /**
21948
- * If only checked the first value,
21949
- * we can check the second value
21950
- * for a match in the minutes column
21951
- */
21952
- minuteValue = value.length === 1 ? inputEl.value.substring(1) : inputEl.value.substring(2);
21953
- this.searchColumn(lastColumn, minuteValue, 'end');
21954
- break;
21955
- case 4:
21956
- /**
21957
- * If the first character is `0` or `1` it is
21958
- * possible that users are trying to type `09`
21959
- * or `11` into the hour field, so we should look
21960
- * at that first.
21961
- */
21962
- const firstCharacterAgainAgain = inputEl.value.substring(0, 1);
21963
- value =
21964
- firstCharacterAgainAgain === '0' || firstCharacterAgainAgain === '1'
21965
- ? inputEl.value.substring(0, 2)
21966
- : firstCharacterAgainAgain;
21967
- this.searchColumn(firstColumn, value);
21968
- /**
21969
- * If only checked the first value,
21970
- * we can check the second value
21971
- * for a match in the minutes column
21972
- */
21973
- const minuteValueAgain = value.length === 1
21974
- ? inputEl.value.substring(1, inputEl.value.length)
21975
- : inputEl.value.substring(2, inputEl.value.length);
21976
- this.searchColumn(lastColumn, minuteValueAgain, 'end');
21977
- break;
21978
- default:
21979
- const startIndex = inputEl.value.length - 4;
21980
- const newString = inputEl.value.substring(startIndex);
21981
- inputEl.value = newString;
21982
- this.selectMultiColumn();
21983
- break;
21977
+ if (value.length > 4) {
21978
+ const startIndex = inputEl.value.length - 4;
21979
+ const newString = inputEl.value.substring(startIndex);
21980
+ inputEl.value = newString;
21981
+ value = newString;
21984
21982
  }
21983
+ this.multiColumnSearch(firstColumn, lastColumn, value);
21985
21984
  };
21986
21985
  /**
21987
21986
  * Searches the value of the active column
@@ -22050,7 +22049,7 @@ class Picker$1 {
22050
22049
  this.emitInputModeChange();
22051
22050
  }
22052
22051
  render() {
22053
- 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) => {
22052
+ 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) => {
22054
22053
  var _a;
22055
22054
  /**
22056
22055
  * The "Enter" key represents
@@ -22065,7 +22064,7 @@ class Picker$1 {
22065
22064
  if (ev.key === 'Enter') {
22066
22065
  (_a = this.inputEl) === null || _a === void 0 ? void 0 : _a.blur();
22067
22066
  }
22068
- }, 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' })));
22067
+ }, 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' })));
22069
22068
  }
22070
22069
  get el() { return getElement(this); }
22071
22070
  static get style() { return {
@@ -25334,6 +25333,19 @@ class Range {
25334
25333
  this.inheritedAttributes = {};
25335
25334
  this.contentEl = null;
25336
25335
  this.initialContentScrollY = true;
25336
+ /**
25337
+ * Compares two RangeValue inputs to determine if they are different.
25338
+ *
25339
+ * @param newVal - The new value.
25340
+ * @param oldVal - The old value.
25341
+ * @returns `true` if the values are different, `false` otherwise.
25342
+ */
25343
+ this.compareValues = (newVal, oldVal) => {
25344
+ if (typeof newVal === 'object' && typeof oldVal === 'object') {
25345
+ return newVal.lower !== oldVal.lower || newVal.upper !== oldVal.upper;
25346
+ }
25347
+ return newVal !== oldVal;
25348
+ };
25337
25349
  this.clampBounds = (value) => {
25338
25350
  return clamp(this.min, value, this.max);
25339
25351
  };
@@ -25467,7 +25479,11 @@ class Range {
25467
25479
  this.gesture.enable(!this.disabled);
25468
25480
  }
25469
25481
  }
25470
- valueChanged() {
25482
+ valueChanged(newValue, oldValue) {
25483
+ const valuesChanged = this.compareValues(newValue, oldValue);
25484
+ if (valuesChanged) {
25485
+ this.ionInput.emit({ value: this.value });
25486
+ }
25471
25487
  if (!this.noUpdate) {
25472
25488
  this.updateRatio();
25473
25489
  }
@@ -25712,7 +25728,6 @@ class Range {
25712
25728
  lower: Math.min(valA, valB),
25713
25729
  upper: Math.max(valA, valB),
25714
25730
  };
25715
- this.ionInput.emit({ value: this.value });
25716
25731
  this.noUpdate = false;
25717
25732
  }
25718
25733
  setFocus(knob) {
@@ -25880,7 +25895,7 @@ class Range {
25880
25895
  const needsEndAdjustment = inItem && !hasEndContent;
25881
25896
  const mode = getIonMode$1(this);
25882
25897
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
25883
- return (hAsync(Host, { key: 'ddecc98800b9137294c8cadfbde7d07d5b3825d7', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
25898
+ return (hAsync(Host, { key: 'e97cb7eab877eb1624429b4a79107130c6809cf5', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
25884
25899
  [mode]: true,
25885
25900
  'in-item': inItem,
25886
25901
  'range-disabled': disabled,
@@ -25889,10 +25904,10 @@ class Range {
25889
25904
  [`range-label-placement-${labelPlacement}`]: true,
25890
25905
  'range-item-start-adjustment': needsStartAdjustment,
25891
25906
  'range-item-end-adjustment': needsEndAdjustment,
25892
- }) }, hAsync("label", { key: '5afdbea21b1b82efde1126ceb0a263f85731aecf', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'e47e0bbefcb931dff5b846f47b4458153b73df94', class: {
25907
+ }) }, hAsync("label", { key: 'a43e9859f74f83460439efefccb5fbb9f387c9ee', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '75352a30f30dbd0228c6138eb4324a5c021dbb48', class: {
25893
25908
  'label-text-wrapper': true,
25894
25909
  'label-text-wrapper-hidden': !hasLabel,
25895
- }, 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" })))));
25910
+ }, 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" })))));
25896
25911
  }
25897
25912
  get el() { return getElement(this); }
25898
25913
  static get watchers() { return {
@@ -29676,61 +29691,15 @@ class SegmentButton {
29676
29691
  valueChanged() {
29677
29692
  this.updateState();
29678
29693
  }
29679
- waitForSegmentContent(ionSegment, contentId) {
29680
- return new Promise((resolve, reject) => {
29681
- let timeoutId = undefined;
29682
- let animationFrameId;
29683
- const check = () => {
29684
- if (!ionSegment) {
29685
- reject(new Error(`Segment not found when looking for Segment Content`));
29686
- return;
29687
- }
29688
- const segmentView = getNextSiblingOfType(ionSegment); // Skip the text nodes
29689
- const segmentContent = segmentView === null || segmentView === void 0 ? void 0 : segmentView.querySelector(`ion-segment-content[id="${contentId}"]`);
29690
- if (segmentContent && timeoutId) {
29691
- clearTimeout(timeoutId); // Clear the timeout if the segmentContent is found
29692
- cancelAnimationFrame(animationFrameId);
29693
- resolve(segmentContent);
29694
- }
29695
- else {
29696
- animationFrameId = requestAnimationFrame(check); // Keep checking on the next animation frame
29697
- }
29698
- };
29699
- check();
29700
- // Set a timeout to reject the promise
29701
- timeoutId = setTimeout(() => {
29702
- cancelAnimationFrame(animationFrameId);
29703
- reject(new Error(`Unable to find Segment Content with id="${contentId} within 1000 ms`));
29704
- }, 1000);
29705
- });
29706
- }
29707
- async connectedCallback() {
29694
+ connectedCallback() {
29708
29695
  const segmentEl = (this.segmentEl = this.el.closest('ion-segment'));
29709
29696
  if (segmentEl) {
29710
29697
  this.updateState();
29711
29698
  addEventListener$1(segmentEl, 'ionSelect', this.updateState);
29712
29699
  addEventListener$1(segmentEl, 'ionStyle', this.updateStyle);
29713
29700
  }
29714
- // Return if there is no contentId defined
29715
- if (!this.contentId)
29716
- return;
29717
- let segmentContent;
29718
- try {
29719
- // Attempt to find the Segment Content by its contentId
29720
- segmentContent = await this.waitForSegmentContent(segmentEl, this.contentId);
29721
- }
29722
- catch (error) {
29723
- // If no associated Segment Content exists, log an error and return
29724
- console.error('Segment Button: ', error.message);
29725
- return;
29726
- }
29727
- // Ensure the found element is a valid ION-SEGMENT-CONTENT
29728
- if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
29729
- console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
29730
- return;
29731
- }
29732
29701
  // Prevent buttons from being disabled when associated with segment content
29733
- if (this.disabled) {
29702
+ if (this.contentId && this.disabled) {
29734
29703
  console.warn(`Segment Button: Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
29735
29704
  this.disabled = false;
29736
29705
  }
@@ -29745,6 +29714,21 @@ class SegmentButton {
29745
29714
  }
29746
29715
  componentWillLoad() {
29747
29716
  this.inheritedAttributes = Object.assign({}, inheritAttributes$1(this.el, ['aria-label']));
29717
+ // Return if there is no contentId defined
29718
+ if (!this.contentId)
29719
+ return;
29720
+ // Attempt to find the Segment Content by its contentId
29721
+ const segmentContent = document.getElementById(this.contentId);
29722
+ // If no associated Segment Content exists, log an error and return
29723
+ if (!segmentContent) {
29724
+ console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
29725
+ return;
29726
+ }
29727
+ // Ensure the found element is a valid ION-SEGMENT-CONTENT
29728
+ if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
29729
+ console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
29730
+ return;
29731
+ }
29748
29732
  }
29749
29733
  get hasLabel() {
29750
29734
  return !!this.el.querySelector('ion-label');
@@ -29767,7 +29751,7 @@ class SegmentButton {
29767
29751
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
29768
29752
  const mode = getIonMode$1(this);
29769
29753
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
29770
- return (hAsync(Host, { key: 'e1e582b9a142cb07043ba08f02ad25f5a1fa5690', class: {
29754
+ return (hAsync(Host, { key: 'f2f679a08b131cd35d63f649b9d1f1907df30a89', class: {
29771
29755
  [mode]: true,
29772
29756
  'in-toolbar': hostContext('ion-toolbar', this.el),
29773
29757
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -29783,7 +29767,7 @@ class SegmentButton {
29783
29767
  'ion-activatable': true,
29784
29768
  'ion-activatable-instant': true,
29785
29769
  'ion-focusable': true,
29786
- } }, 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" }))));
29770
+ } }, 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" }))));
29787
29771
  }
29788
29772
  get el() { return getElement(this); }
29789
29773
  static get watchers() { return {
@@ -29811,7 +29795,7 @@ class SegmentButton {
29811
29795
  }; }
29812
29796
  }
29813
29797
 
29814
- const segmentContentCss = ":host{scroll-snap-align:center;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}";
29798
+ 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}";
29815
29799
  var IonSegmentContentStyle0 = segmentContentCss;
29816
29800
 
29817
29801
  class SegmentContent {