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
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-2e236a04.js');
9
- const helpers = require('./helpers-d0dfbb50.js');
9
+ const helpers = require('./helpers-3a248559.js');
10
10
  const dir = require('./dir-94c21456.js');
11
11
  const theme = require('./theme-d1c573d2.js');
12
12
  const index$1 = require('./index-073c7cdc.js');
@@ -7,7 +7,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-2e236a04.js');
9
9
 
10
- const segmentContentCss = ":host{scroll-snap-align:center;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}";
10
+ 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}";
11
11
  const IonSegmentContentStyle0 = segmentContentCss;
12
12
 
13
13
  const SegmentContent = class {
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-2e236a04.js');
9
- const helpers = require('./helpers-d0dfbb50.js');
9
+ const helpers = require('./helpers-3a248559.js');
10
10
  const dir = require('./dir-94c21456.js');
11
11
  const theme = require('./theme-d1c573d2.js');
12
12
  const ionicGlobal = require('./ionic-global-acb665ad.js');
@@ -596,61 +596,15 @@ const SegmentButton = class {
596
596
  valueChanged() {
597
597
  this.updateState();
598
598
  }
599
- waitForSegmentContent(ionSegment, contentId) {
600
- return new Promise((resolve, reject) => {
601
- let timeoutId = undefined;
602
- let animationFrameId;
603
- const check = () => {
604
- if (!ionSegment) {
605
- reject(new Error(`Segment not found when looking for Segment Content`));
606
- return;
607
- }
608
- const segmentView = helpers.getNextSiblingOfType(ionSegment); // Skip the text nodes
609
- const segmentContent = segmentView === null || segmentView === void 0 ? void 0 : segmentView.querySelector(`ion-segment-content[id="${contentId}"]`);
610
- if (segmentContent && timeoutId) {
611
- clearTimeout(timeoutId); // Clear the timeout if the segmentContent is found
612
- cancelAnimationFrame(animationFrameId);
613
- resolve(segmentContent);
614
- }
615
- else {
616
- animationFrameId = requestAnimationFrame(check); // Keep checking on the next animation frame
617
- }
618
- };
619
- check();
620
- // Set a timeout to reject the promise
621
- timeoutId = setTimeout(() => {
622
- cancelAnimationFrame(animationFrameId);
623
- reject(new Error(`Unable to find Segment Content with id="${contentId} within 1000 ms`));
624
- }, 1000);
625
- });
626
- }
627
- async connectedCallback() {
599
+ connectedCallback() {
628
600
  const segmentEl = (this.segmentEl = this.el.closest('ion-segment'));
629
601
  if (segmentEl) {
630
602
  this.updateState();
631
603
  helpers.addEventListener(segmentEl, 'ionSelect', this.updateState);
632
604
  helpers.addEventListener(segmentEl, 'ionStyle', this.updateStyle);
633
605
  }
634
- // Return if there is no contentId defined
635
- if (!this.contentId)
636
- return;
637
- let segmentContent;
638
- try {
639
- // Attempt to find the Segment Content by its contentId
640
- segmentContent = await this.waitForSegmentContent(segmentEl, this.contentId);
641
- }
642
- catch (error) {
643
- // If no associated Segment Content exists, log an error and return
644
- console.error('Segment Button: ', error.message);
645
- return;
646
- }
647
- // Ensure the found element is a valid ION-SEGMENT-CONTENT
648
- if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
649
- console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
650
- return;
651
- }
652
606
  // Prevent buttons from being disabled when associated with segment content
653
- if (this.disabled) {
607
+ if (this.contentId && this.disabled) {
654
608
  console.warn(`Segment Button: Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
655
609
  this.disabled = false;
656
610
  }
@@ -665,6 +619,21 @@ const SegmentButton = class {
665
619
  }
666
620
  componentWillLoad() {
667
621
  this.inheritedAttributes = Object.assign({}, helpers.inheritAttributes(this.el, ['aria-label']));
622
+ // Return if there is no contentId defined
623
+ if (!this.contentId)
624
+ return;
625
+ // Attempt to find the Segment Content by its contentId
626
+ const segmentContent = document.getElementById(this.contentId);
627
+ // If no associated Segment Content exists, log an error and return
628
+ if (!segmentContent) {
629
+ console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
630
+ return;
631
+ }
632
+ // Ensure the found element is a valid ION-SEGMENT-CONTENT
633
+ if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
634
+ console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
635
+ return;
636
+ }
668
637
  }
669
638
  get hasLabel() {
670
639
  return !!this.el.querySelector('ion-label');
@@ -687,7 +656,7 @@ const SegmentButton = class {
687
656
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
688
657
  const mode = ionicGlobal.getIonMode(this);
689
658
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
690
- return (index.h(index.Host, { key: 'e1e582b9a142cb07043ba08f02ad25f5a1fa5690', class: {
659
+ return (index.h(index.Host, { key: 'f2f679a08b131cd35d63f649b9d1f1907df30a89', class: {
691
660
  [mode]: true,
692
661
  'in-toolbar': theme.hostContext('ion-toolbar', this.el),
693
662
  'in-toolbar-color': theme.hostContext('ion-toolbar[color]', this.el),
@@ -703,7 +672,7 @@ const SegmentButton = class {
703
672
  'ion-activatable': true,
704
673
  'ion-activatable-instant': true,
705
674
  'ion-focusable': true,
706
- } }, index.h("button", Object.assign({ key: '8621a028894fb382854ff28779d0cadd3d9035f7', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), index.h("span", { key: '5c55858dbfb50734fb02d24091ebac3e0d05259f', class: "button-inner" }, index.h("slot", { key: '1f3bb8d76a1039ad648e202c650db06dfca88f79' })), mode === 'md' && index.h("ion-ripple-effect", { key: 'bda74b25bfdd431a8a36f0ee727b9184e9074321' })), index.h("div", { key: 'ff11369e921d6d0a540c75c37f692a3853e903f7', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, index.h("div", { key: '74ec4ca69331ed3f155fd8a8a356545941887df1', part: "indicator-background", class: "segment-button-indicator-background" }))));
675
+ } }, index.h("button", Object.assign({ key: '8e887b5031da705a3695c0870be08696d66188de', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), index.h("span", { key: '73b795c39cb09438e50922abf6b3a010e31fa2b6', class: "button-inner" }, index.h("slot", { key: '9769ddc917d7e459bd80dcd81c10c379e73d1b3e' })), mode === 'md' && index.h("ion-ripple-effect", { key: '8e4c06d6bae1034af8cc5db86fcca0ae72d042b1' })), index.h("div", { key: 'ae73ee0e429e54a43269f99b6d3d7e1c6e8f60cc', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, index.h("div", { key: 'd38eabe8161403799cfbad73dd6bf912d965442c', part: "indicator-background", class: "segment-button-indicator-background" }))));
707
676
  }
708
677
  get el() { return index.getElement(this); }
709
678
  static get watchers() { return {
@@ -7,12 +7,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-2e236a04.js');
9
9
  const ionicGlobal = require('./ionic-global-acb665ad.js');
10
- const overlays = require('./overlays-737576a2.js');
10
+ const overlays = require('./overlays-32e1b66b.js');
11
11
  const theme = require('./theme-d1c573d2.js');
12
12
  require('./index-c8d52405.js');
13
- require('./helpers-d0dfbb50.js');
13
+ require('./helpers-3a248559.js');
14
14
  require('./hardware-back-button-5a99001f.js');
15
- require('./framework-delegate-11b0ba2f.js');
15
+ require('./framework-delegate-50a86d56.js');
16
16
  require('./gesture-controller-9436f482.js');
17
17
  require('./index-48b2a28e.js');
18
18
 
@@ -6,10 +6,10 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-2e236a04.js');
9
- const notchController = require('./notch-controller-58d2e557.js');
9
+ const notchController = require('./notch-controller-ae03a497.js');
10
10
  const compareWithUtils = require('./compare-with-utils-df1001d7.js');
11
- const helpers = require('./helpers-d0dfbb50.js');
12
- const overlays = require('./overlays-737576a2.js');
11
+ const helpers = require('./helpers-3a248559.js');
12
+ const overlays = require('./overlays-32e1b66b.js');
13
13
  const dir = require('./dir-94c21456.js');
14
14
  const theme = require('./theme-d1c573d2.js');
15
15
  const watchOptions = require('./watch-options-f5f3e158.js');
@@ -17,7 +17,7 @@ const index$1 = require('./index-073c7cdc.js');
17
17
  const ionicGlobal = require('./ionic-global-acb665ad.js');
18
18
  require('./index-c8d52405.js');
19
19
  require('./hardware-back-button-5a99001f.js');
20
- require('./framework-delegate-11b0ba2f.js');
20
+ require('./framework-delegate-50a86d56.js');
21
21
  require('./gesture-controller-9436f482.js');
22
22
  require('./index-48b2a28e.js');
23
23
 
@@ -9,7 +9,7 @@ const index = require('./index-2e236a04.js');
9
9
  const keyboardController = require('./keyboard-controller-c05e747a.js');
10
10
  const theme = require('./theme-d1c573d2.js');
11
11
  const ionicGlobal = require('./ionic-global-acb665ad.js');
12
- const helpers = require('./helpers-d0dfbb50.js');
12
+ const helpers = require('./helpers-3a248559.js');
13
13
  require('./index-c8d52405.js');
14
14
  require('./keyboard-0272231f.js');
15
15
  require('./capacitor-c04564bf.js');
@@ -6,8 +6,8 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-2e236a04.js');
9
- const frameworkDelegate = require('./framework-delegate-11b0ba2f.js');
10
- require('./helpers-d0dfbb50.js');
9
+ const frameworkDelegate = require('./framework-delegate-50a86d56.js');
10
+ require('./helpers-3a248559.js');
11
11
 
12
12
  const tabCss = ":host(.tab-hidden){display:none !important}";
13
13
  const IonTabStyle0 = tabCss;
@@ -6,9 +6,9 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-2e236a04.js');
9
- const notchController = require('./notch-controller-58d2e557.js');
10
- const helpers = require('./helpers-d0dfbb50.js');
11
- const input_utils = require('./input.utils-2f642324.js');
9
+ const notchController = require('./notch-controller-ae03a497.js');
10
+ const helpers = require('./helpers-3a248559.js');
11
+ const input_utils = require('./input.utils-e82b8ed0.js');
12
12
  const theme = require('./theme-d1c573d2.js');
13
13
  const ionicGlobal = require('./ionic-global-acb665ad.js');
14
14
  require('./index-c8d52405.js');
@@ -7,17 +7,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index$3 = require('./index-2e236a04.js');
9
9
  const config = require('./config-4f60b98a.js');
10
- const helpers = require('./helpers-d0dfbb50.js');
10
+ const helpers = require('./helpers-3a248559.js');
11
11
  const lockController = require('./lock-controller-6585a42a.js');
12
12
  const index$1 = require('./index-48b2a28e.js');
13
- const overlays = require('./overlays-737576a2.js');
13
+ const overlays = require('./overlays-32e1b66b.js');
14
14
  const theme = require('./theme-d1c573d2.js');
15
15
  const ionicGlobal = require('./ionic-global-acb665ad.js');
16
16
  const animation = require('./animation-b4fdf128.js');
17
17
  const index = require('./index-c8d52405.js');
18
18
  const index$2 = require('./index-ee07ed59.js');
19
19
  require('./hardware-back-button-5a99001f.js');
20
- require('./framework-delegate-11b0ba2f.js');
20
+ require('./framework-delegate-50a86d56.js');
21
21
  require('./gesture-controller-9436f482.js');
22
22
 
23
23
  /**
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-2e236a04.js');
9
- const helpers = require('./helpers-d0dfbb50.js');
9
+ const helpers = require('./helpers-3a248559.js');
10
10
  const haptic = require('./haptic-f6b37aa3.js');
11
11
  const dir = require('./dir-94c21456.js');
12
12
  const theme = require('./theme-d1c573d2.js');
@@ -4,12 +4,12 @@
4
4
  'use strict';
5
5
 
6
6
  const animation = require('./animation-b4fdf128.js');
7
- const index = require('./index-f68a486a.js');
7
+ const index = require('./index-e630fd95.js');
8
8
  require('./index-c8d52405.js');
9
9
  require('./ionic-global-acb665ad.js');
10
10
  require('./index-2e236a04.js');
11
11
  require('./index-48b2a28e.js');
12
- require('./helpers-d0dfbb50.js');
12
+ require('./helpers-3a248559.js');
13
13
 
14
14
  const DURATION = 540;
15
15
  // TODO(FW-2832): types
@@ -4,12 +4,12 @@
4
4
  'use strict';
5
5
 
6
6
  const animation = require('./animation-b4fdf128.js');
7
- const index = require('./index-f68a486a.js');
7
+ const index = require('./index-e630fd95.js');
8
8
  require('./index-c8d52405.js');
9
9
  require('./ionic-global-acb665ad.js');
10
10
  require('./index-2e236a04.js');
11
11
  require('./index-48b2a28e.js');
12
- require('./helpers-d0dfbb50.js');
12
+ require('./helpers-3a248559.js');
13
13
 
14
14
  const mdTransitionAnimation = (_, opts) => {
15
15
  var _a, _b, _c;
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-c8d52405.js');
7
- const helpers = require('./helpers-d0dfbb50.js');
7
+ const helpers = require('./helpers-3a248559.js');
8
8
 
9
9
  /**
10
10
  * A utility to calculate the size of an outline notch
@@ -4,10 +4,10 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-c8d52405.js');
7
- const helpers = require('./helpers-d0dfbb50.js');
7
+ const helpers = require('./helpers-3a248559.js');
8
8
  const hardwareBackButton = require('./hardware-back-button-5a99001f.js');
9
9
  const ionicGlobal = require('./ionic-global-acb665ad.js');
10
- const frameworkDelegate = require('./framework-delegate-11b0ba2f.js');
10
+ const frameworkDelegate = require('./framework-delegate-50a86d56.js');
11
11
  const gestureController = require('./gesture-controller-9436f482.js');
12
12
  const index$1 = require('./index-48b2a28e.js');
13
13
 
@@ -517,8 +517,8 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
517
517
  */
518
518
  if (overlay.el.tagName !== 'ION-TOAST') {
519
519
  setRootAriaHidden(true);
520
+ document.body.classList.add(gestureController.BACKDROP_NO_SCROLL);
520
521
  }
521
- document.body.classList.add(gestureController.BACKDROP_NO_SCROLL);
522
522
  hideUnderlyingOverlaysFromScreenReaders(overlay.el);
523
523
  hideAnimatingOverlayFromScreenReaders(overlay.el);
524
524
  overlay.presented = true;
@@ -622,6 +622,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
622
622
  if (!overlay.presented) {
623
623
  return false;
624
624
  }
625
+ const presentedOverlays = index.doc !== undefined ? getPresentedOverlays(index.doc) : [];
625
626
  /**
626
627
  * For accessibility, toasts lack focus traps and don’t receive
627
628
  * `aria-hidden` on the root element when presented.
@@ -633,7 +634,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
633
634
  * Therefore, we must remove `aria-hidden` from the root element
634
635
  * when the last non-toast overlay is dismissed.
635
636
  */
636
- const overlaysNotToast = index.doc !== undefined ? getPresentedOverlays(index.doc).filter((o) => o.tagName !== 'ION-TOAST') : [];
637
+ const overlaysNotToast = presentedOverlays.filter((o) => o.tagName !== 'ION-TOAST');
637
638
  const lastOverlayNotToast = overlaysNotToast.length === 1 && overlaysNotToast[0].id === overlay.el.id;
638
639
  /**
639
640
  * If this is the last visible overlay that is not a toast
@@ -4,8 +4,8 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-2e236a04.js');
7
- const index$1 = require('./index-9b945a2d.js');
8
- const helpers = require('./helpers-d0dfbb50.js');
7
+ const index$1 = require('./index-509ca0d3.js');
8
+ const helpers = require('./helpers-3a248559.js');
9
9
  require('./index-48b2a28e.js');
10
10
  require('./ionic-global-acb665ad.js');
11
11
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const helpers = require('./helpers-d0dfbb50.js');
6
+ const helpers = require('./helpers-3a248559.js');
7
7
  const dir = require('./dir-94c21456.js');
8
8
  const index = require('./index-ee07ed59.js');
9
9
  require('./gesture-controller-9436f482.js');
@@ -145,23 +145,12 @@
145
145
  display: none;
146
146
  }
147
147
 
148
+ /**
149
+ * The native input must be hidden with display instead of visibility or
150
+ * aria-hidden to avoid accessibility issues with nested interactive elements.
151
+ */
148
152
  input {
149
- position: absolute;
150
- top: 0;
151
- left: 0;
152
- right: 0;
153
- bottom: 0;
154
- width: 100%;
155
- height: 100%;
156
- margin: 0;
157
- padding: 0;
158
- border: 0;
159
- outline: 0;
160
- clip: rect(0 0 0 0);
161
- opacity: 0;
162
- overflow: hidden;
163
- -webkit-appearance: none;
164
- -moz-appearance: none;
153
+ display: none;
165
154
  }
166
155
 
167
156
  .native-wrapper {
@@ -20,6 +20,7 @@ import { getIonMode } from "../../global/ionic-global";
20
20
  export class Checkbox {
21
21
  constructor() {
22
22
  this.inputId = `ion-cb-${checkboxIds++}`;
23
+ this.inputLabelId = `${this.inputId}-lbl`;
23
24
  this.helperTextId = `${this.inputId}-helper-text`;
24
25
  this.errorTextId = `${this.inputId}-error-text`;
25
26
  this.inheritedAttributes = {};
@@ -48,6 +49,14 @@ export class Checkbox {
48
49
  this.onBlur = () => {
49
50
  this.ionBlur.emit();
50
51
  };
52
+ this.onKeyDown = (ev) => {
53
+ if (ev.key === ' ') {
54
+ ev.preventDefault();
55
+ if (!this.disabled) {
56
+ this.toggleChecked(ev);
57
+ }
58
+ }
59
+ };
51
60
  this.onClick = (ev) => {
52
61
  if (this.disabled) {
53
62
  return;
@@ -106,8 +115,11 @@ export class Checkbox {
106
115
  const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, required, } = this;
107
116
  const mode = getIonMode(this);
108
117
  const path = getSVGPath(mode, indeterminate);
118
+ const hasLabelContent = el.textContent !== '';
109
119
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
110
- return (h(Host, { key: '7ac31df89b07c781ddcd30a6a8c109494d0c500a', "aria-checked": indeterminate ? 'mixed' : `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, class: createColorClasses(color, {
120
+ // The host element must have a checkbox role to ensure proper VoiceOver
121
+ // support in Safari for accessibility.
122
+ return (h(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(color, {
111
123
  [mode]: true,
112
124
  'in-item': hostContext('ion-item', el),
113
125
  'checkbox-checked': checked,
@@ -117,10 +129,10 @@ export class Checkbox {
117
129
  [`checkbox-justify-${justify}`]: justify !== undefined,
118
130
  [`checkbox-alignment-${alignment}`]: alignment !== undefined,
119
131
  [`checkbox-label-placement-${labelPlacement}`]: true,
120
- }), onClick: this.onClick }, h("label", { key: '674e923fe1ec83a33c31d67b0d414d61ba8f9e4b', class: "checkbox-wrapper" }, h("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)), h("div", { key: '79cb96e5963b9331a760438ec8cc9e456215de91', class: {
132
+ }), onClick: this.onClick }, h("label", { key: '58b5762aa358dff81910874631e06620a2ae1561', class: "checkbox-wrapper", htmlFor: inputId }, h("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)), h("div", { key: '2654168e45ccfdbcfe13af8c97e0e21d61ba0150', class: {
121
133
  'label-text-wrapper': true,
122
- 'label-text-wrapper-hidden': el.textContent === '',
123
- }, part: "label" }, h("slot", { key: '896cb26292c9a4a6c105afb39611472b93bf5e90' }), this.renderHintText()), h("div", { key: '52cd22e79fd5db30b45d7b092aa5af3944392336', class: "native-wrapper" }, h("svg", { key: '18d862ab7cc32055eaf200eea560ff1b2b6cbde0', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
134
+ 'label-text-wrapper-hidden': !hasLabelContent,
135
+ }, part: "label", id: this.inputLabelId }, h("slot", { key: 'a91f3f67d9ddd6b616e48799aba11cae3564d1ab' }), this.renderHintText()), h("div", { key: 'd5a9170b084d09df6b02f416e744085b5bcf0dde', class: "native-wrapper" }, h("svg", { key: 'b1968ce4aa9d652a9f2bdc427ea3a65e6c04df51', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
124
136
  }
125
137
  getSVGPath(mode, indeterminate) {
126
138
  let path = indeterminate ? (h("path", { d: "M6 12L18 12", part: "mark" })) : (h("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
@@ -145,23 +145,12 @@
145
145
  display: none;
146
146
  }
147
147
 
148
+ /**
149
+ * The native input must be hidden with display instead of visibility or
150
+ * aria-hidden to avoid accessibility issues with nested interactive elements.
151
+ */
148
152
  input {
149
- position: absolute;
150
- top: 0;
151
- left: 0;
152
- right: 0;
153
- bottom: 0;
154
- width: 100%;
155
- height: 100%;
156
- margin: 0;
157
- padding: 0;
158
- border: 0;
159
- outline: 0;
160
- clip: rect(0 0 0 0);
161
- opacity: 0;
162
- overflow: hidden;
163
- -webkit-appearance: none;
164
- -moz-appearance: none;
153
+ display: none;
165
154
  }
166
155
 
167
156
  .native-wrapper {
@@ -1225,7 +1225,7 @@ export class Datetime {
1225
1225
  const activePart = this.getActivePartsWithFallback();
1226
1226
  return (h("ion-picker-column", { "aria-label": "Select an hour", color: this.color, disabled: disabled, value: activePart.hour, numericInput: true, onIonChange: (ev) => {
1227
1227
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
1228
- this.setActiveParts(Object.assign(Object.assign({}, activePart), { hour: ev.detail.value }));
1228
+ this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { hour: ev.detail.value }));
1229
1229
  ev.stopPropagation();
1230
1230
  } }, hoursData.map((hour) => (h("ion-picker-column-option", { part: hour.value === activePart.hour ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: hour.value, disabled: hour.disabled, value: hour.value }, hour.text)))));
1231
1231
  }
@@ -1236,7 +1236,7 @@ export class Datetime {
1236
1236
  const activePart = this.getActivePartsWithFallback();
1237
1237
  return (h("ion-picker-column", { "aria-label": "Select a minute", color: this.color, disabled: disabled, value: activePart.minute, numericInput: true, onIonChange: (ev) => {
1238
1238
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
1239
- this.setActiveParts(Object.assign(Object.assign({}, activePart), { minute: ev.detail.value }));
1239
+ this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { minute: ev.detail.value }));
1240
1240
  ev.stopPropagation();
1241
1241
  } }, minutesData.map((minute) => (h("ion-picker-column-option", { part: minute.value === activePart.minute ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: minute.value, disabled: minute.disabled, value: minute.value }, minute.text)))));
1242
1242
  }
@@ -1250,7 +1250,7 @@ export class Datetime {
1250
1250
  return (h("ion-picker-column", { "aria-label": "Select a day period", style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, disabled: disabled, value: activePart.ampm, onIonChange: (ev) => {
1251
1251
  const hour = calculateHourFromAMPM(workingParts, ev.detail.value);
1252
1252
  this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
1253
- this.setActiveParts(Object.assign(Object.assign({}, activePart), { ampm: ev.detail.value, hour }));
1253
+ this.setActiveParts(Object.assign(Object.assign({}, this.getActivePartsWithFallback()), { ampm: ev.detail.value, hour }));
1254
1254
  ev.stopPropagation();
1255
1255
  } }, dayPeriodData.map((dayPeriod) => (h("ion-picker-column-option", { part: dayPeriod.value === activePart.ampm ? `${WHEEL_ITEM_PART} ${WHEEL_ITEM_ACTIVE_PART}` : WHEEL_ITEM_PART, key: dayPeriod.value, disabled: dayPeriod.disabled, value: dayPeriod.value }, dayPeriod.text)))));
1256
1256
  }
@@ -1557,7 +1557,7 @@ export class Datetime {
1557
1557
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1558
1558
  const hasWheelVariant = hasDatePresentation && preferWheel;
1559
1559
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1560
- return (h(Host, { key: '7afbb1a7e6c78389b4588999779e5c90e010e85d', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1560
+ return (h(Host, { key: '08d429533a09c600b936ad1e022658051c765595', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1561
1561
  [mode]: true,
1562
1562
  ['datetime-readonly']: readonly,
1563
1563
  ['datetime-disabled']: disabled,
@@ -1567,7 +1567,7 @@ export class Datetime {
1567
1567
  [`datetime-size-${size}`]: true,
1568
1568
  [`datetime-prefer-wheel`]: hasWheelVariant,
1569
1569
  [`datetime-grid`]: isGridStyle,
1570
- })) }, h("div", { key: '297c458d4d17154cb297e2ef5926505bcb2d1fce', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1570
+ })) }, h("div", { key: 'f4ff0fcd1e059767a7ef14fcc76ebfd55d23a97b', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1571
1571
  }
1572
1572
  static get is() { return "ion-datetime"; }
1573
1573
  static get encapsulation() { return "shadow"; }
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { isIonContent, findClosestIonContent } from "../../../utils/content/index";
4
+ import { findClosestIonContent, isIonContent } from "../../../utils/content/index";
5
5
  import { createGesture } from "../../../utils/gesture/index";
6
- import { clamp, raf, getElementRoot } from "../../../utils/helpers";
6
+ import { clamp, getElementRoot, raf } from "../../../utils/helpers";
7
7
  import { FOCUS_TRAP_DISABLE_CLASS } from "../../../utils/overlays";
8
8
  import { getBackdropValueForSheet } from "../utils";
9
9
  import { calculateSpringStep, handleCanDismiss } from "./utils";
@@ -34,6 +34,7 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
34
34
  let currentBreakpoint = initialBreakpoint;
35
35
  let offset = 0;
36
36
  let canDismissBlocksGesture = false;
37
+ let cachedScrollEl = null;
37
38
  const canDismissMaxStep = 0.95;
38
39
  const maxBreakpoint = breakpoints[breakpoints.length - 1];
39
40
  const minBreakpoint = breakpoints[0];
@@ -167,6 +168,16 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
167
168
  * Remove undefined check
168
169
  */
169
170
  canDismissBlocksGesture = baseEl.canDismiss !== undefined && baseEl.canDismiss !== true && minBreakpoint === 0;
171
+ /**
172
+ * Cache the scroll element reference when the gesture starts,
173
+ * this allows us to avoid querying the DOM for the target in onMove,
174
+ * which would impact performance significantly.
175
+ */
176
+ if (!expandToScroll) {
177
+ const targetEl = findClosestIonContent(detail.event.target);
178
+ cachedScrollEl =
179
+ targetEl && isIonContent(targetEl) ? getElementRoot(targetEl).querySelector('.inner-scroll') : targetEl;
180
+ }
170
181
  /**
171
182
  * If expandToScroll is disabled, we need to swap
172
183
  * the footer visibility to the original, so if the modal
@@ -194,10 +205,10 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
194
205
  };
195
206
  const onMove = (detail) => {
196
207
  /**
197
- * If `expandToScroll` is disabled, we should not allow the swipe gesture
198
- * to continue if the gesture is not pulling down.
208
+ * If `expandToScroll` is disabled, and an upwards swipe gesture is done within
209
+ * the scrollable content, we should not allow the swipe gesture to continue.
199
210
  */
200
- if (!expandToScroll && detail.deltaY <= 0) {
211
+ if (!expandToScroll && detail.deltaY <= 0 && cachedScrollEl) {
201
212
  return;
202
213
  }
203
214
  /**
@@ -246,6 +257,14 @@ export const createSheetGesture = (baseEl, backdropEl, wrapperEl, initialBreakpo
246
257
  animation.progressStep(offset);
247
258
  };
248
259
  const onEnd = (detail) => {
260
+ /**
261
+ * If expandToScroll is disabled, we should not allow the moveSheetToBreakpoint
262
+ * function to be called if the user is trying to swipe content upwards and the content
263
+ * is not scrolled to the top.
264
+ */
265
+ if (!expandToScroll && detail.deltaY <= 0 && cachedScrollEl && cachedScrollEl.scrollTop > 0) {
266
+ return;
267
+ }
249
268
  /**
250
269
  * When the gesture releases, we need to determine
251
270
  * the closest breakpoint to snap to.