@ionic/core 7.4.1-nightly.20230919 → 7.4.1

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 (391) hide show
  1. package/components/action-sheet.js +3 -0
  2. package/components/alert.js +6 -1
  3. package/components/button.js +2 -0
  4. package/components/checkbox.js +9 -4
  5. package/components/icon.js +6 -0
  6. package/components/input-shims.js +88 -7
  7. package/components/ion-accordion-group.js +5 -1
  8. package/components/ion-accordion.js +2 -0
  9. package/components/ion-breadcrumbs.js +5 -1
  10. package/components/ion-datetime.js +10 -0
  11. package/components/ion-fab-list.js +2 -0
  12. package/components/ion-fab.js +2 -0
  13. package/components/ion-img.js +2 -0
  14. package/components/ion-infinite-scroll.js +3 -0
  15. package/components/ion-input.js +5 -0
  16. package/components/ion-item-sliding.js +2 -0
  17. package/components/ion-loading.js +3 -0
  18. package/components/ion-menu.js +8 -3
  19. package/components/ion-modal.js +3 -0
  20. package/components/ion-nav.js +3 -0
  21. package/components/ion-picker.js +3 -0
  22. package/components/ion-range.js +39 -5
  23. package/components/ion-refresher.js +2 -0
  24. package/components/ion-reorder-group.js +2 -0
  25. package/components/ion-route-redirect.js +3 -0
  26. package/components/ion-route.js +4 -0
  27. package/components/ion-router-outlet.js +2 -0
  28. package/components/ion-searchbar.js +4 -0
  29. package/components/ion-segment-button.js +2 -0
  30. package/components/ion-segment.js +6 -1
  31. package/components/ion-select.js +5 -0
  32. package/components/ion-split-pane.js +4 -0
  33. package/components/ion-tab-bar.js +2 -0
  34. package/components/ion-tab.js +2 -0
  35. package/components/ion-textarea.js +4 -0
  36. package/components/ion-title.js +2 -0
  37. package/components/ion-toast.js +3 -0
  38. package/components/ion-toggle.js +2 -0
  39. package/components/item.js +48 -10
  40. package/components/label.js +3 -0
  41. package/components/overlays.js +30 -10
  42. package/components/picker-column-internal.js +2 -0
  43. package/components/picker-column.js +2 -0
  44. package/components/popover.js +4 -0
  45. package/components/radio-group.js +3 -1
  46. package/components/radio.js +5 -0
  47. package/dist/cjs/{app-globals-a63c2a19.js → app-globals-56164d1a.js} +1 -1
  48. package/dist/cjs/{button-active-0ff8e82c.js → button-active-32f15660.js} +1 -1
  49. package/dist/cjs/{index-e6416850.js → index-5121bb90.js} +1 -1
  50. package/dist/cjs/{index-184fdd62.js → index-6f887430.js} +44 -14
  51. package/dist/cjs/{index-be8a2ab9.js → index-b183138a.js} +3 -3
  52. package/dist/cjs/index.cjs.js +7 -7
  53. package/dist/cjs/{input-shims-f8569707.js → input-shims-da7dc0de.js} +92 -12
  54. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  55. package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
  56. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  57. package/dist/cjs/ion-app_8.cjs.entry.js +5 -5
  58. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  59. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  60. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  61. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  62. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  63. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  64. package/dist/cjs/ion-checkbox.cjs.entry.js +8 -6
  65. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  66. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  67. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  68. package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
  69. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  72. package/dist/cjs/ion-input.cjs.entry.js +2 -2
  73. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-item_8.cjs.entry.js +37 -10
  75. package/dist/cjs/ion-loading.cjs.entry.js +4 -4
  76. package/dist/cjs/ion-menu_3.cjs.entry.js +5 -5
  77. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  78. package/dist/cjs/ion-nav_2.cjs.entry.js +3 -3
  79. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +2 -2
  80. package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
  81. package/dist/cjs/ion-popover.cjs.entry.js +5 -5
  82. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  83. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  84. package/dist/cjs/ion-range.cjs.entry.js +34 -7
  85. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  86. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  87. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  88. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  89. package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
  90. package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
  91. package/dist/cjs/ion-select_3.cjs.entry.js +3 -3
  92. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  93. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  94. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  95. package/dist/cjs/ion-tab_2.cjs.entry.js +1 -1
  96. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  97. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  98. package/dist/cjs/ion-toast.cjs.entry.js +4 -4
  99. package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
  100. package/dist/cjs/{ionic-global-6d5d27b5.js → ionic-global-14a0604b.js} +1 -1
  101. package/dist/cjs/ionic.cjs.js +5 -5
  102. package/dist/cjs/{ios.transition-80582b44.js → ios.transition-4b93903d.js} +2 -2
  103. package/dist/cjs/loader.cjs.js +4 -4
  104. package/dist/cjs/{md.transition-eeca9fb5.js → md.transition-79f3a215.js} +2 -2
  105. package/dist/cjs/{overlays-c78a0148.js → overlays-d3a13e61.js} +33 -13
  106. package/dist/cjs/{status-tap-cc4c6539.js → status-tap-e2e45ff8.js} +1 -1
  107. package/dist/collection/collection-manifest.json +1 -1
  108. package/dist/collection/components/checkbox/checkbox.js +6 -4
  109. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +17 -0
  110. package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +17 -0
  111. package/dist/collection/components/item/item.ios.css +4 -0
  112. package/dist/collection/components/item/item.js +43 -7
  113. package/dist/collection/components/item/item.md.css +4 -0
  114. package/dist/collection/components/menu/menu.js +2 -2
  115. package/dist/collection/components/radio/test/item/radio.e2e.js +23 -0
  116. package/dist/collection/components/range/range.ios.css +14 -0
  117. package/dist/collection/components/range/range.js +30 -3
  118. package/dist/collection/components/range/range.md.css +14 -0
  119. package/dist/collection/components/range/test/item/range.e2e.js +11 -0
  120. package/dist/collection/components/select/test/basic/select.e2e.js +21 -0
  121. package/dist/collection/components/toggle/test/item/toggle.e2e.js +28 -0
  122. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +86 -4
  123. package/dist/collection/utils/input-shims/hacks/scroll-data.js +2 -3
  124. package/dist/collection/utils/overlays.js +29 -9
  125. package/dist/docs.json +2 -2
  126. package/dist/esm/{app-globals-c7886b40.js → app-globals-8ae762aa.js} +1 -1
  127. package/dist/esm/{button-active-b76ae4ec.js → button-active-513e9fff.js} +1 -1
  128. package/dist/esm/{index-adfb2000.js → index-2d388930.js} +44 -14
  129. package/dist/esm/{index-48f5e259.js → index-61bddc90.js} +1 -1
  130. package/dist/esm/{index-01839411.js → index-87684bba.js} +3 -3
  131. package/dist/esm/index.js +7 -7
  132. package/dist/esm/{input-shims-af993f05.js → input-shims-d78a3c77.js} +88 -8
  133. package/dist/esm/ion-accordion_2.entry.js +2 -2
  134. package/dist/esm/ion-action-sheet.entry.js +4 -4
  135. package/dist/esm/ion-alert.entry.js +4 -4
  136. package/dist/esm/ion-app_8.entry.js +5 -5
  137. package/dist/esm/ion-avatar_3.entry.js +2 -2
  138. package/dist/esm/ion-back-button.entry.js +2 -2
  139. package/dist/esm/ion-backdrop.entry.js +2 -2
  140. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  141. package/dist/esm/ion-button_2.entry.js +2 -2
  142. package/dist/esm/ion-card_5.entry.js +2 -2
  143. package/dist/esm/ion-checkbox.entry.js +8 -6
  144. package/dist/esm/ion-chip.entry.js +2 -2
  145. package/dist/esm/ion-col_3.entry.js +2 -2
  146. package/dist/esm/ion-datetime-button.entry.js +2 -2
  147. package/dist/esm/ion-datetime_3.entry.js +4 -4
  148. package/dist/esm/ion-fab_3.entry.js +2 -2
  149. package/dist/esm/ion-img.entry.js +2 -2
  150. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  151. package/dist/esm/ion-input.entry.js +2 -2
  152. package/dist/esm/ion-item-option_3.entry.js +2 -2
  153. package/dist/esm/ion-item_8.entry.js +37 -10
  154. package/dist/esm/ion-loading.entry.js +4 -4
  155. package/dist/esm/ion-menu_3.entry.js +5 -5
  156. package/dist/esm/ion-modal.entry.js +4 -4
  157. package/dist/esm/ion-nav_2.entry.js +3 -3
  158. package/dist/esm/ion-picker-column-internal.entry.js +2 -2
  159. package/dist/esm/ion-picker-internal.entry.js +1 -1
  160. package/dist/esm/ion-popover.entry.js +5 -5
  161. package/dist/esm/ion-progress-bar.entry.js +2 -2
  162. package/dist/esm/ion-radio_2.entry.js +2 -2
  163. package/dist/esm/ion-range.entry.js +34 -7
  164. package/dist/esm/ion-refresher_2.entry.js +2 -2
  165. package/dist/esm/ion-reorder_2.entry.js +2 -2
  166. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  167. package/dist/esm/ion-route_4.entry.js +2 -2
  168. package/dist/esm/ion-searchbar.entry.js +2 -2
  169. package/dist/esm/ion-segment_2.entry.js +2 -2
  170. package/dist/esm/ion-select_3.entry.js +3 -3
  171. package/dist/esm/ion-spinner.entry.js +2 -2
  172. package/dist/esm/ion-split-pane.entry.js +2 -2
  173. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  174. package/dist/esm/ion-tab_2.entry.js +1 -1
  175. package/dist/esm/ion-text.entry.js +2 -2
  176. package/dist/esm/ion-textarea.entry.js +2 -2
  177. package/dist/esm/ion-toast.entry.js +4 -4
  178. package/dist/esm/ion-toggle.entry.js +2 -2
  179. package/dist/esm/{ionic-global-9080266a.js → ionic-global-b3fc28dd.js} +1 -1
  180. package/dist/esm/ionic.js +6 -6
  181. package/dist/esm/{ios.transition-f43871cd.js → ios.transition-81e1aed6.js} +2 -2
  182. package/dist/esm/loader.js +5 -5
  183. package/dist/esm/{md.transition-12d21ad0.js → md.transition-5becd8b5.js} +2 -2
  184. package/dist/esm/{overlays-4565894b.js → overlays-8fc6656c.js} +31 -11
  185. package/dist/esm/{status-tap-121c711d.js → status-tap-c5af0dba.js} +1 -1
  186. package/dist/esm-es5/app-globals-8ae762aa.js +4 -0
  187. package/dist/esm-es5/{button-active-b76ae4ec.js → button-active-513e9fff.js} +1 -1
  188. package/dist/esm-es5/{index-adfb2000.js → index-2d388930.js} +1 -1
  189. package/dist/esm-es5/{index-48f5e259.js → index-61bddc90.js} +1 -1
  190. package/dist/esm-es5/{index-01839411.js → index-87684bba.js} +1 -1
  191. package/dist/esm-es5/index.js +1 -1
  192. package/dist/esm-es5/input-shims-d78a3c77.js +4 -0
  193. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  194. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  195. package/dist/esm-es5/ion-alert.entry.js +1 -1
  196. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  197. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  198. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  199. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  200. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  201. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  202. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  203. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  204. package/dist/esm-es5/ion-chip.entry.js +1 -1
  205. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  206. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  207. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  208. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  209. package/dist/esm-es5/ion-img.entry.js +1 -1
  210. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  211. package/dist/esm-es5/ion-input.entry.js +1 -1
  212. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  213. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  214. package/dist/esm-es5/ion-loading.entry.js +1 -1
  215. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  216. package/dist/esm-es5/ion-modal.entry.js +1 -1
  217. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  218. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  219. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  220. package/dist/esm-es5/ion-popover.entry.js +1 -1
  221. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  222. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  223. package/dist/esm-es5/ion-range.entry.js +1 -1
  224. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  225. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  226. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  227. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  228. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  229. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  230. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  231. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  232. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  233. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  234. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  235. package/dist/esm-es5/ion-text.entry.js +1 -1
  236. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  237. package/dist/esm-es5/ion-toast.entry.js +1 -1
  238. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  239. package/dist/esm-es5/{ionic-global-9080266a.js → ionic-global-b3fc28dd.js} +1 -1
  240. package/dist/esm-es5/ionic.js +1 -1
  241. package/dist/esm-es5/{ios.transition-f43871cd.js → ios.transition-81e1aed6.js} +1 -1
  242. package/dist/esm-es5/loader.js +1 -1
  243. package/dist/esm-es5/{md.transition-12d21ad0.js → md.transition-5becd8b5.js} +1 -1
  244. package/dist/esm-es5/overlays-8fc6656c.js +4 -0
  245. package/dist/esm-es5/{status-tap-121c711d.js → status-tap-c5af0dba.js} +1 -1
  246. package/dist/ionic/index.esm.js +1 -1
  247. package/dist/ionic/ionic.esm.js +1 -1
  248. package/dist/ionic/ionic.js +1 -1
  249. package/dist/ionic/{p-5fc777e6.system.js → p-00aed720.system.js} +1 -1
  250. package/dist/ionic/{p-a033a91d.system.entry.js → p-03e2e541.system.entry.js} +1 -1
  251. package/dist/ionic/{p-59b40b60.entry.js → p-04ef1ba6.entry.js} +1 -1
  252. package/dist/ionic/{p-2b0ecc04.entry.js → p-05f10762.entry.js} +1 -1
  253. package/dist/ionic/{p-3bf120f8.system.entry.js → p-08c5b9f4.system.entry.js} +1 -1
  254. package/dist/ionic/p-09e15a2a.system.entry.js +4 -0
  255. package/dist/ionic/p-0bd3cc92.entry.js +4 -0
  256. package/dist/ionic/{p-57847936.entry.js → p-116641fe.entry.js} +1 -1
  257. package/dist/ionic/{p-cd002251.entry.js → p-13a91505.entry.js} +1 -1
  258. package/dist/ionic/p-13ce151b.entry.js +4 -0
  259. package/dist/ionic/{p-6ccffb74.system.entry.js → p-1a36bf45.system.entry.js} +1 -1
  260. package/dist/ionic/{p-1916030e.entry.js → p-1bce805b.entry.js} +1 -1
  261. package/dist/ionic/{p-46058a1e.system.entry.js → p-1c406ee0.system.entry.js} +1 -1
  262. package/dist/ionic/{p-42e0558f.entry.js → p-20e5eb3e.entry.js} +1 -1
  263. package/dist/ionic/{p-3d5a6d14.system.js → p-2309dba2.system.js} +1 -1
  264. package/dist/ionic/{p-aa702daf.entry.js → p-270aa06b.entry.js} +1 -1
  265. package/dist/ionic/{p-9eced28c.entry.js → p-27614d55.entry.js} +1 -1
  266. package/dist/ionic/{p-c7ce7e18.entry.js → p-327fc1bf.entry.js} +1 -1
  267. package/dist/ionic/p-33630008.system.entry.js +4 -0
  268. package/dist/ionic/{p-8bcd482b.entry.js → p-3730f493.entry.js} +1 -1
  269. package/dist/ionic/{p-95188051.system.entry.js → p-37456282.system.entry.js} +1 -1
  270. package/dist/ionic/{p-07656a8a.entry.js → p-39715fcf.entry.js} +1 -1
  271. package/dist/ionic/{p-f62bed60.entry.js → p-3ae2faf0.entry.js} +1 -1
  272. package/dist/ionic/{p-fa8fc77b.system.entry.js → p-3af01ae0.system.entry.js} +1 -1
  273. package/dist/ionic/p-3cbcb899.entry.js +4 -0
  274. package/dist/ionic/{p-9e8727d6.entry.js → p-3e5676b7.entry.js} +1 -1
  275. package/dist/ionic/{p-ff0615d9.system.entry.js → p-40e16caa.system.entry.js} +1 -1
  276. package/dist/ionic/{p-48d378cf.entry.js → p-42a7b112.entry.js} +1 -1
  277. package/dist/ionic/{p-e239ab05.system.entry.js → p-4616f20a.system.entry.js} +1 -1
  278. package/dist/ionic/{p-4e1a58c6.system.entry.js → p-486b567b.system.entry.js} +1 -1
  279. package/dist/ionic/{p-dfee12f6.entry.js → p-4912b933.entry.js} +1 -1
  280. package/dist/ionic/{p-3d575698.system.entry.js → p-4a1ac160.system.entry.js} +1 -1
  281. package/dist/ionic/{p-b052b578.entry.js → p-4eab1bb4.entry.js} +1 -1
  282. package/dist/ionic/{p-264b5dd9.system.entry.js → p-53bbd357.system.entry.js} +1 -1
  283. package/dist/ionic/{p-9b53c813.entry.js → p-55b99166.entry.js} +1 -1
  284. package/dist/ionic/{p-e3ca182a.entry.js → p-568fec78.entry.js} +1 -1
  285. package/dist/ionic/{p-9be96bf3.system.entry.js → p-5c8c9748.system.entry.js} +1 -1
  286. package/dist/ionic/{p-d57e8b06.js → p-5e2dc8e0.js} +1 -1
  287. package/dist/ionic/{p-3c325277.js → p-5e43aa8b.js} +1 -1
  288. package/dist/ionic/{p-810f1bc9.system.entry.js → p-5e84b718.system.entry.js} +1 -1
  289. package/dist/ionic/{p-60f22efc.system.entry.js → p-60838ce3.system.entry.js} +1 -1
  290. package/dist/ionic/{p-5080e623.system.entry.js → p-62428e04.system.entry.js} +1 -1
  291. package/dist/ionic/{p-516421e2.system.entry.js → p-626f7142.system.entry.js} +1 -1
  292. package/dist/ionic/{p-a8270ae8.system.entry.js → p-63a73b69.system.entry.js} +1 -1
  293. package/dist/ionic/{p-5163baf4.system.entry.js → p-6522a762.system.entry.js} +1 -1
  294. package/dist/ionic/{p-a037b6d5.system.entry.js → p-65a4c12f.system.entry.js} +1 -1
  295. package/dist/ionic/{p-563068af.js → p-6b7e74ba.js} +1 -1
  296. package/dist/ionic/{p-6eb7b33c.system.entry.js → p-6ba07931.system.entry.js} +1 -1
  297. package/dist/ionic/{p-c8c0d58a.system.entry.js → p-6bbf2815.system.entry.js} +1 -1
  298. package/dist/ionic/{p-74834696.system.entry.js → p-6bc9c436.system.entry.js} +1 -1
  299. package/dist/ionic/{p-ec344ed1.system.entry.js → p-6ca0e4b2.system.entry.js} +1 -1
  300. package/dist/ionic/p-6edbc09b.system.js +4 -0
  301. package/dist/ionic/{p-4446e19f.system.entry.js → p-700a2cb1.system.entry.js} +1 -1
  302. package/dist/ionic/p-70ab8b73.js +5 -0
  303. package/dist/ionic/{p-52edd6b0.entry.js → p-7129d04e.entry.js} +1 -1
  304. package/dist/ionic/p-72a1cbc7.js +4 -0
  305. package/dist/ionic/{p-2e5930dd.system.js → p-73f50e29.system.js} +1 -1
  306. package/dist/ionic/{p-204fb8f0.system.entry.js → p-76e8336d.system.entry.js} +1 -1
  307. package/dist/ionic/p-78a293a5.js +4 -0
  308. package/dist/ionic/p-7a3caa4e.system.js +4 -0
  309. package/dist/ionic/{p-32983529.system.entry.js → p-7dc0ee11.system.entry.js} +1 -1
  310. package/dist/ionic/{p-ab051966.entry.js → p-7e46b6ab.entry.js} +1 -1
  311. package/dist/ionic/p-7e9e16bf.system.entry.js +4 -0
  312. package/dist/ionic/{p-6276ba2f.system.entry.js → p-82da795c.system.entry.js} +1 -1
  313. package/dist/ionic/{p-9f3ad626.system.entry.js → p-82f58c25.system.entry.js} +1 -1
  314. package/dist/ionic/{p-5df94bf8.entry.js → p-83b7bbf9.entry.js} +1 -1
  315. package/dist/ionic/{p-ec7ff98b.entry.js → p-88ad9cb6.entry.js} +1 -1
  316. package/dist/ionic/{p-fdfc7b98.entry.js → p-8b79baf0.entry.js} +1 -1
  317. package/dist/ionic/{p-5260588f.system.entry.js → p-8e28945a.system.entry.js} +1 -1
  318. package/dist/ionic/p-8fdd4a2f.system.js +4 -0
  319. package/dist/ionic/{p-49f2eaa6.entry.js → p-90d892fd.entry.js} +1 -1
  320. package/dist/ionic/{p-2441ba84.system.js → p-91546be9.system.js} +1 -1
  321. package/dist/ionic/{p-a122ecd0.system.js → p-918d5f19.system.js} +1 -1
  322. package/dist/ionic/{p-ff3d728d.system.js → p-93616477.system.js} +1 -1
  323. package/dist/ionic/{p-629b0629.js → p-972763df.js} +1 -1
  324. package/dist/ionic/p-9f2e0db9.js +4 -0
  325. package/dist/ionic/{p-c2d6088f.entry.js → p-a1a2dd4d.entry.js} +1 -1
  326. package/dist/ionic/{p-c005eb67.system.entry.js → p-a6d8476b.system.entry.js} +1 -1
  327. package/dist/ionic/{p-28d8b87b.entry.js → p-a720dc73.entry.js} +1 -1
  328. package/dist/ionic/{p-84084b75.entry.js → p-a8d33949.entry.js} +1 -1
  329. package/dist/ionic/{p-70f4fbac.entry.js → p-ab7f8f4c.entry.js} +1 -1
  330. package/dist/ionic/{p-26276eb7.system.entry.js → p-abf426cd.system.entry.js} +1 -1
  331. package/dist/ionic/{p-9fccec52.system.js → p-b098f738.system.js} +1 -1
  332. package/dist/ionic/{p-eb91aee6.entry.js → p-b0dd4f33.entry.js} +1 -1
  333. package/dist/ionic/p-b132c2c0.system.js +4 -0
  334. package/dist/ionic/{p-b453b38d.entry.js → p-b49fe110.entry.js} +1 -1
  335. package/dist/ionic/{p-b703ebeb.system.entry.js → p-b5637aeb.system.entry.js} +1 -1
  336. package/dist/ionic/{p-d74363db.entry.js → p-b95fd3c6.entry.js} +1 -1
  337. package/dist/ionic/{p-ff0611e6.system.entry.js → p-be321bb6.system.entry.js} +1 -1
  338. package/dist/ionic/{p-7474a472.system.entry.js → p-bf8224f4.system.entry.js} +1 -1
  339. package/dist/ionic/{p-0dbfa45f.entry.js → p-bf9b1560.entry.js} +1 -1
  340. package/dist/ionic/{p-98bfaff3.system.entry.js → p-bfac43d7.system.entry.js} +1 -1
  341. package/dist/ionic/{p-574411f2.system.entry.js → p-c4d08d6d.system.entry.js} +1 -1
  342. package/dist/ionic/{p-d8d30fd1.system.entry.js → p-c5729044.system.entry.js} +1 -1
  343. package/dist/ionic/{p-07f5e286.entry.js → p-c7fca267.entry.js} +1 -1
  344. package/dist/ionic/{p-041ac2c3.entry.js → p-cc3aa152.entry.js} +1 -1
  345. package/dist/ionic/{p-6dff4431.entry.js → p-cd12dcd9.entry.js} +1 -1
  346. package/dist/ionic/{p-d0d09178.system.entry.js → p-cd675d89.system.entry.js} +1 -1
  347. package/dist/ionic/{p-ef8a8827.system.entry.js → p-ce24ddd7.system.entry.js} +1 -1
  348. package/dist/ionic/{p-b3f6f321.js → p-ce7a651e.js} +1 -1
  349. package/dist/ionic/{p-5e549223.system.js → p-d4cea1ba.system.js} +1 -1
  350. package/dist/ionic/{p-765e6339.entry.js → p-d8b2c214.entry.js} +1 -1
  351. package/dist/ionic/{p-2ac2278e.system.entry.js → p-de0f1af2.system.entry.js} +1 -1
  352. package/dist/ionic/{p-5a9dc764.system.entry.js → p-de676d36.system.entry.js} +1 -1
  353. package/dist/ionic/{p-22e92b06.system.entry.js → p-df699a02.system.entry.js} +1 -1
  354. package/dist/ionic/{p-99a3df5c.entry.js → p-e24630f9.entry.js} +1 -1
  355. package/dist/ionic/{p-3f15f60b.entry.js → p-e57a38f3.entry.js} +1 -1
  356. package/dist/ionic/{p-74ef17ea.system.entry.js → p-e89abe38.system.entry.js} +1 -1
  357. package/dist/ionic/{p-37c9e295.entry.js → p-ea88031d.entry.js} +1 -1
  358. package/dist/ionic/{p-47a11fc4.entry.js → p-ebaeeee8.entry.js} +1 -1
  359. package/dist/ionic/{p-a314559e.system.js → p-ec102360.system.js} +1 -1
  360. package/dist/ionic/{p-072f99fd.entry.js → p-ee6d9730.entry.js} +1 -1
  361. package/dist/ionic/{p-bacf09d3.entry.js → p-f0dcf99b.entry.js} +1 -1
  362. package/dist/ionic/p-f9015336.js +4 -0
  363. package/dist/ionic/{p-11d0977d.entry.js → p-f920f5ca.entry.js} +1 -1
  364. package/dist/ionic/p-f978ccd1.js +4 -0
  365. package/dist/types/components/checkbox/checkbox.d.ts +1 -0
  366. package/dist/types/components/item/item.d.ts +1 -0
  367. package/dist/types/components/range/range.d.ts +8 -0
  368. package/dist/types/utils/browser/index.d.ts +16 -1
  369. package/dist/types/utils/input-shims/hacks/scroll-data.d.ts +1 -1
  370. package/dist/types/utils/overlays.d.ts +5 -2
  371. package/hydrate/index.js +126 -38
  372. package/package.json +2 -2
  373. package/dist/esm-es5/app-globals-c7886b40.js +0 -4
  374. package/dist/esm-es5/input-shims-af993f05.js +0 -4
  375. package/dist/esm-es5/overlays-4565894b.js +0 -4
  376. package/dist/ionic/p-4531b920.system.js +0 -4
  377. package/dist/ionic/p-56495958.js +0 -4
  378. package/dist/ionic/p-6d640b2b.entry.js +0 -4
  379. package/dist/ionic/p-75d4ceab.js +0 -4
  380. package/dist/ionic/p-8f7edf3e.js +0 -4
  381. package/dist/ionic/p-a18eb556.js +0 -5
  382. package/dist/ionic/p-a533868d.system.js +0 -4
  383. package/dist/ionic/p-be187db3.entry.js +0 -4
  384. package/dist/ionic/p-bfee11b2.system.js +0 -4
  385. package/dist/ionic/p-c68a8814.system.js +0 -4
  386. package/dist/ionic/p-cc758251.system.entry.js +0 -4
  387. package/dist/ionic/p-d898dd46.js +0 -4
  388. package/dist/ionic/p-dacb0258.js +0 -4
  389. package/dist/ionic/p-ee55302a.system.entry.js +0 -4
  390. package/dist/ionic/p-f0c28fbd.entry.js +0 -4
  391. package/dist/ionic/p-fde174d6.system.entry.js +0 -4
@@ -310,6 +310,9 @@ const ActionSheet = /*@__PURE__*/ proxyCustomElement(class ActionSheet extends H
310
310
  "dismiss": [64],
311
311
  "onDidDismiss": [64],
312
312
  "onWillDismiss": [64]
313
+ }, undefined, {
314
+ "isOpen": ["onIsOpenChange"],
315
+ "trigger": ["triggerChanged"]
313
316
  }]);
314
317
  const buttonClass = (button) => {
315
318
  return Object.assign({ 'action-sheet-button': true, 'ion-activatable': true, 'ion-focusable': true, [`action-sheet-${button.role}`]: button.role !== undefined }, getClassMap(button.cssClass));
@@ -500,7 +500,12 @@ const Alert = /*@__PURE__*/ proxyCustomElement(class Alert extends HTMLElement {
500
500
  "dismiss": [64],
501
501
  "onDidDismiss": [64],
502
502
  "onWillDismiss": [64]
503
- }, [[4, "keydown", "onKeydown"]]]);
503
+ }, [[4, "keydown", "onKeydown"]], {
504
+ "isOpen": ["onIsOpenChange"],
505
+ "trigger": ["triggerChanged"],
506
+ "buttons": ["buttonsChanged"],
507
+ "inputs": ["inputsChanged"]
508
+ }]);
504
509
  const inputClass = (input) => {
505
510
  var _a, _b, _c;
506
511
  return Object.assign(Object.assign({ 'alert-input': true, 'alert-input-disabled': ((_b = (_a = input.attributes) === null || _a === void 0 ? void 0 : _a.disabled) !== null && _b !== void 0 ? _b : input.disabled) || false }, getClassMap(input.cssClass)), getClassMap(input.attributes ? (_c = input.attributes.class) === null || _c === void 0 ? void 0 : _c.toString() : ''));
@@ -242,6 +242,8 @@ const Button = /*@__PURE__*/ proxyCustomElement(class Button extends HTMLElement
242
242
  "target": [1],
243
243
  "type": [1],
244
244
  "form": [1]
245
+ }, undefined, {
246
+ "disabled": ["disabledChanged"]
245
247
  }]);
246
248
  function defineCustomElement() {
247
249
  if (typeof customElements === "undefined") {
@@ -51,6 +51,9 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
51
51
  this.onBlur = () => {
52
52
  this.ionBlur.emit();
53
53
  };
54
+ this.onClick = (ev) => {
55
+ this.toggleChecked(ev);
56
+ };
54
57
  this.color = undefined;
55
58
  this.name = this.inputId;
56
59
  this.checked = false;
@@ -62,9 +65,8 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
62
65
  this.alignment = 'center';
63
66
  this.legacy = undefined;
64
67
  }
65
- // TODO(FW-3100): remove this
66
68
  connectedCallback() {
67
- this.legacyFormController = createLegacyFormController(this.el);
69
+ this.legacyFormController = createLegacyFormController(this.el); // TODO(FW-3100): remove this
68
70
  }
69
71
  componentWillLoad() {
70
72
  this.emitStyle();
@@ -111,7 +113,7 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
111
113
  [`checkbox-justify-${justify}`]: true,
112
114
  [`checkbox-alignment-${alignment}`]: true,
113
115
  [`checkbox-label-placement-${labelPlacement}`]: true,
114
- }) }, h("label", { class: "checkbox-wrapper" }, h("input", Object.assign({ type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, inheritedAttributes)), h("div", { class: {
116
+ }), onClick: this.onClick }, h("label", { class: "checkbox-wrapper" }, h("input", Object.assign({ type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, inheritedAttributes)), h("div", { class: {
115
117
  'label-text-wrapper': true,
116
118
  'label-text-wrapper-hidden': el.textContent === '',
117
119
  } }, h("slot", null)), h("div", { class: "native-wrapper" }, h("svg", { class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
@@ -144,7 +146,7 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
144
146
  'checkbox-indeterminate': indeterminate,
145
147
  'legacy-checkbox': true,
146
148
  interactive: true,
147
- }) }, h("svg", { class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path), h("label", { htmlFor: inputId }, labelText), h("input", { type: "checkbox", "aria-checked": `${checked}`, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) })));
149
+ }), onClick: this.onClick }, h("svg", { class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path), h("label", { htmlFor: inputId }, labelText), h("input", { type: "checkbox", "aria-checked": `${checked}`, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) })));
148
150
  }
149
151
  getSVGPath(mode, indeterminate) {
150
152
  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" }));
@@ -173,6 +175,9 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
173
175
  "justify": [1],
174
176
  "alignment": [1],
175
177
  "legacy": [4]
178
+ }, undefined, {
179
+ "checked": ["styleChanged"],
180
+ "disabled": ["styleChanged"]
176
181
  }]);
177
182
  let checkboxIds = 0;
178
183
  function defineCustomElement() {
@@ -330,6 +330,12 @@ const Icon = /*@__PURE__*/ proxyCustomElement(class Icon extends HTMLElement {
330
330
  "sanitize": [4],
331
331
  "svgContent": [32],
332
332
  "isVisible": [32]
333
+ }, undefined, {
334
+ "name": ["loadIcon"],
335
+ "src": ["loadIcon"],
336
+ "icon": ["loadIcon"],
337
+ "ios": ["loadIcon"],
338
+ "md": ["loadIcon"]
333
339
  }]);
334
340
  const getIonMode = () => (Build.isBrowser && typeof document !== 'undefined' && document.documentElement.getAttribute('mode')) || 'md';
335
341
  const createColorClasses = (color) => {
@@ -4,6 +4,7 @@
4
4
  import { g as getScrollElement, c as scrollByPoint, a as findClosestIonContent } from './index8.js';
5
5
  import { a as addEventListener, b as removeEventListener, r as raf, c as componentOnReady } from './helpers.js';
6
6
  import { a as KeyboardResize, K as Keyboard } from './keyboard.js';
7
+ import { w as win } from './index5.js';
7
8
 
8
9
  const cloneMap = new WeakMap();
9
10
  const relocateInput = (componentEl, inputEl, shouldRelocate, inputRelativeY = 0, disabledClonedInput = false) => {
@@ -150,11 +151,10 @@ const enableInputBlurring = () => {
150
151
  };
151
152
 
152
153
  const SCROLL_ASSIST_SPEED = 0.3;
153
- const getScrollData = (componentEl, contentEl, keyboardHeight) => {
154
+ const getScrollData = (componentEl, contentEl, keyboardHeight, platformHeight) => {
154
155
  var _a;
155
156
  const itemEl = (_a = componentEl.closest('ion-item,[ion-item]')) !== null && _a !== void 0 ? _a : componentEl;
156
- return calcScrollData(itemEl.getBoundingClientRect(), contentEl.getBoundingClientRect(), keyboardHeight, componentEl.ownerDocument.defaultView.innerHeight // TODO(FW-2832): type
157
- );
157
+ return calcScrollData(itemEl.getBoundingClientRect(), contentEl.getBoundingClientRect(), keyboardHeight, platformHeight);
158
158
  };
159
159
  const calcScrollData = (inputRect, contentRect, keyboardHeight, platformHeight) => {
160
160
  // compute input's Y values relative to the body
@@ -253,6 +253,83 @@ const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardH
253
253
  * Resize info is available on Capacitor 4+
254
254
  */
255
255
  const addScrollPadding = enableScrollPadding && (keyboardResize === undefined || keyboardResize.mode === KeyboardResize.None);
256
+ /**
257
+ * This tracks whether or not the keyboard has been
258
+ * presented for a single focused text field. Note
259
+ * that it does not track if the keyboard is open
260
+ * in general such as if the keyboard is open for
261
+ * a different focused text field.
262
+ */
263
+ let hasKeyboardBeenPresentedForTextField = false;
264
+ /**
265
+ * When adding scroll padding we need to know
266
+ * how much of the viewport the keyboard obscures.
267
+ * We do this by subtracting the keyboard height
268
+ * from the platform height.
269
+ *
270
+ * If we compute this value when switching between
271
+ * inputs then the webview may already be resized.
272
+ * At this point, `win.innerHeight` has already accounted
273
+ * for the keyboard meaning we would then subtract
274
+ * the keyboard height again. This will result in the input
275
+ * being scrolled more than it needs to.
276
+ */
277
+ const platformHeight = win !== undefined ? win.innerHeight : 0;
278
+ /**
279
+ * Scroll assist is run when a text field
280
+ * is focused. However, it may need to
281
+ * re-run when the keyboard size changes
282
+ * such that the text field is now hidden
283
+ * underneath the keyboard.
284
+ * This function re-runs scroll assist
285
+ * when that happens.
286
+ *
287
+ * One limitation of this is on a web browser
288
+ * where native keyboard APIs do not have cross-browser
289
+ * support. `ionKeyboardDidShow` relies on the Visual Viewport API.
290
+ * This means that if the keyboard changes but does not change
291
+ * geometry, then scroll assist will not re-run even if
292
+ * the user has scrolled the text field under the keyboard.
293
+ * This is not a problem when running in Cordova/Capacitor
294
+ * because `ionKeyboardDidShow` uses the native events
295
+ * which fire every time the keyboard changes.
296
+ */
297
+ const keyboardShow = (ev) => {
298
+ /**
299
+ * If the keyboard has not yet been presented
300
+ * for this text field then the text field has just
301
+ * received focus. In that case, the focusin listener
302
+ * will run scroll assist.
303
+ */
304
+ if (hasKeyboardBeenPresentedForTextField === false) {
305
+ hasKeyboardBeenPresentedForTextField = true;
306
+ return;
307
+ }
308
+ /**
309
+ * Otherwise, the keyboard has already been presented
310
+ * for the focused text field.
311
+ * This means that the keyboard likely changed
312
+ * geometry, and we need to re-run scroll assist.
313
+ * This can happen when the user rotates their device
314
+ * or when they switch keyboards.
315
+ *
316
+ * Make sure we pass in the computed keyboard height
317
+ * rather than the estimated keyboard height.
318
+ *
319
+ * Since the keyboard is already open then we do not
320
+ * need to wait for the webview to resize, so we pass
321
+ * "waitForResize: false".
322
+ */
323
+ jsSetFocus(componentEl, inputEl, contentEl, footerEl, ev.detail.keyboardHeight, addScrollPadding, disableClonedInput, platformHeight, false);
324
+ };
325
+ /**
326
+ * Reset the internal state when the text field loses focus.
327
+ */
328
+ const focusOut = () => {
329
+ hasKeyboardBeenPresentedForTextField = false;
330
+ win === null || win === void 0 ? void 0 : win.removeEventListener('ionKeyboardDidShow', keyboardShow);
331
+ componentEl.removeEventListener('focusout', focusOut, true);
332
+ };
256
333
  /**
257
334
  * When the input is about to receive
258
335
  * focus, we need to move it to prevent
@@ -269,11 +346,15 @@ const enableScrollAssist = (componentEl, inputEl, contentEl, footerEl, keyboardH
269
346
  inputEl.removeAttribute(SKIP_SCROLL_ASSIST);
270
347
  return;
271
348
  }
272
- jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput);
349
+ jsSetFocus(componentEl, inputEl, contentEl, footerEl, keyboardHeight, addScrollPadding, disableClonedInput, platformHeight);
350
+ win === null || win === void 0 ? void 0 : win.addEventListener('ionKeyboardDidShow', keyboardShow);
351
+ componentEl.addEventListener('focusout', focusOut, true);
273
352
  };
274
353
  componentEl.addEventListener('focusin', focusIn, true);
275
354
  return () => {
276
355
  componentEl.removeEventListener('focusin', focusIn, true);
356
+ win === null || win === void 0 ? void 0 : win.removeEventListener('ionKeyboardDidShow', keyboardShow);
357
+ componentEl.removeEventListener('focusout', focusOut, true);
277
358
  };
278
359
  };
279
360
  /**
@@ -292,11 +373,11 @@ const setManualFocus = (el) => {
292
373
  el.setAttribute(SKIP_SCROLL_ASSIST, 'true');
293
374
  el.focus();
294
375
  };
295
- const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight, enableScrollPadding, disableClonedInput = false) => {
376
+ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHeight, enableScrollPadding, disableClonedInput = false, platformHeight = 0, waitForResize = true) => {
296
377
  if (!contentEl && !footerEl) {
297
378
  return;
298
379
  }
299
- const scrollData = getScrollData(componentEl, (contentEl || footerEl), keyboardHeight);
380
+ const scrollData = getScrollData(componentEl, (contentEl || footerEl), keyboardHeight, platformHeight);
300
381
  if (contentEl && Math.abs(scrollData.scrollAmount) < 4) {
301
382
  // the text input is in a safe position that doesn't
302
383
  // require it to be scrolled into view, just set focus now
@@ -383,7 +464,7 @@ const jsSetFocus = async (componentEl, inputEl, contentEl, footerEl, keyboardHei
383
464
  * bandwidth to become available.
384
465
  */
385
466
  const totalScrollAmount = scrollEl.scrollHeight - scrollEl.clientHeight;
386
- if (scrollData.scrollAmount > totalScrollAmount - scrollEl.scrollTop) {
467
+ if (waitForResize && scrollData.scrollAmount > totalScrollAmount - scrollEl.scrollTop) {
387
468
  /**
388
469
  * On iOS devices, the system will show a "Passwords" bar above the keyboard
389
470
  * after the initial keyboard is shown. This prevents the webview from resizing
@@ -220,7 +220,11 @@ const AccordionGroup = /*@__PURE__*/ proxyCustomElement(class AccordionGroup ext
220
220
  "expand": [1],
221
221
  "requestAccordionToggle": [64],
222
222
  "getAccordions": [64]
223
- }, [[0, "keydown", "onKeydown"]]]);
223
+ }, [[0, "keydown", "onKeydown"]], {
224
+ "value": ["valueChanged"],
225
+ "disabled": ["disabledChanged"],
226
+ "readonly": ["readonlyChanged"]
227
+ }]);
224
228
  function defineCustomElement$1() {
225
229
  if (typeof customElements === "undefined") {
226
230
  return;
@@ -327,6 +327,8 @@ const Accordion = /*@__PURE__*/ proxyCustomElement(class Accordion extends HTMLE
327
327
  "state": [32],
328
328
  "isNext": [32],
329
329
  "isPrevious": [32]
330
+ }, undefined, {
331
+ "value": ["valueChanged"]
330
332
  }]);
331
333
  let accordionIds = 0;
332
334
  function defineCustomElement$1() {
@@ -134,7 +134,11 @@ const Breadcrumbs = /*@__PURE__*/ proxyCustomElement(class Breadcrumbs extends H
134
134
  "itemsAfterCollapse": [2, "items-after-collapse"],
135
135
  "collapsed": [32],
136
136
  "activeChanged": [32]
137
- }, [[0, "collapsedClick", "onCollapsedClick"]]]);
137
+ }, [[0, "collapsedClick", "onCollapsedClick"]], {
138
+ "maxItems": ["maxItemsChanged"],
139
+ "itemsBeforeCollapse": ["maxItemsChanged"],
140
+ "itemsAfterCollapse": ["maxItemsChanged"]
141
+ }]);
138
142
  function defineCustomElement$1() {
139
143
  if (typeof customElements === "undefined") {
140
144
  return;
@@ -1746,6 +1746,16 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1746
1746
  "confirm": [64],
1747
1747
  "reset": [64],
1748
1748
  "cancel": [64]
1749
+ }, undefined, {
1750
+ "disabled": ["disabledChanged"],
1751
+ "min": ["minChanged"],
1752
+ "max": ["maxChanged"],
1753
+ "yearValues": ["yearValuesChanged"],
1754
+ "monthValues": ["monthValuesChanged"],
1755
+ "dayValues": ["dayValuesChanged"],
1756
+ "hourValues": ["hourValuesChanged"],
1757
+ "minuteValues": ["minuteValuesChanged"],
1758
+ "value": ["valueChanged"]
1749
1759
  }]);
1750
1760
  let datetimeIds = 0;
1751
1761
  function defineCustomElement$1() {
@@ -38,6 +38,8 @@ const FabList = /*@__PURE__*/ proxyCustomElement(class FabList extends HTMLEleme
38
38
  }, [1, "ion-fab-list", {
39
39
  "activated": [4],
40
40
  "side": [1]
41
+ }, undefined, {
42
+ "activated": ["activatedChanged"]
41
43
  }]);
42
44
  function defineCustomElement$1() {
43
45
  if (typeof customElements === "undefined") {
@@ -72,6 +72,8 @@ const Fab = /*@__PURE__*/ proxyCustomElement(class Fab extends HTMLElement {
72
72
  "activated": [1028],
73
73
  "close": [64],
74
74
  "toggle": [64]
75
+ }, undefined, {
76
+ "activated": ["activatedChanged"]
75
77
  }]);
76
78
  function defineCustomElement$1() {
77
79
  if (typeof customElements === "undefined") {
@@ -89,6 +89,8 @@ const Img = /*@__PURE__*/ proxyCustomElement(class Img extends HTMLElement {
89
89
  "src": [1],
90
90
  "loadSrc": [32],
91
91
  "loadError": [32]
92
+ }, undefined, {
93
+ "src": ["srcChanged"]
92
94
  }]);
93
95
  /**
94
96
  * Enumerated strings must be set as booleans
@@ -183,6 +183,9 @@ const InfiniteScroll = /*@__PURE__*/ proxyCustomElement(class InfiniteScroll ext
183
183
  "position": [1],
184
184
  "isLoading": [32],
185
185
  "complete": [64]
186
+ }, undefined, {
187
+ "threshold": ["thresholdChanged"],
188
+ "disabled": ["disabledChanged"]
186
189
  }]);
187
190
  function defineCustomElement$1() {
188
191
  if (typeof customElements === "undefined") {
@@ -481,6 +481,11 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
481
481
  "hasFocus": [32],
482
482
  "setFocus": [64],
483
483
  "getInputElement": [64]
484
+ }, undefined, {
485
+ "debounce": ["debounceChanged"],
486
+ "disabled": ["disabledChanged"],
487
+ "placeholder": ["placeholderChanged"],
488
+ "value": ["valueChanged"]
484
489
  }]);
485
490
  let inputIds = 0;
486
491
  function defineCustomElement$1() {
@@ -414,6 +414,8 @@ const ItemSliding = /*@__PURE__*/ proxyCustomElement(class ItemSliding extends H
414
414
  "open": [64],
415
415
  "close": [64],
416
416
  "closeOpened": [64]
417
+ }, undefined, {
418
+ "disabled": ["disabledChanged"]
417
419
  }]);
418
420
  const swipeShouldReset = (isResetDirection, isMovingFast, isOnResetZone) => {
419
421
  // The logic required to know when the sliding item should close (openAmount=0)
@@ -275,6 +275,9 @@ const Loading = /*@__PURE__*/ proxyCustomElement(class Loading extends HTMLEleme
275
275
  "dismiss": [64],
276
276
  "onDidDismiss": [64],
277
277
  "onWillDismiss": [64]
278
+ }, undefined, {
279
+ "isOpen": ["onIsOpenChange"],
280
+ "trigger": ["triggerChanged"]
278
281
  }]);
279
282
  function defineCustomElement$1() {
280
283
  if (typeof customElements === "undefined") {
@@ -7,7 +7,7 @@ import { d as doc } from './index5.js';
7
7
  import { G as GESTURE_CONTROLLER } from './gesture-controller.js';
8
8
  import { o as isEndSide, i as inheritAriaAttributes, p as assert, m as clamp } from './helpers.js';
9
9
  import { m as menuController } from './index4.js';
10
- import { o as getOverlay } from './overlays.js';
10
+ import { o as getPresentedOverlay } from './overlays.js';
11
11
  import { c as config, b as getIonMode } from './ionic-global.js';
12
12
  import { d as defineCustomElement$2 } from './backdrop.js';
13
13
 
@@ -44,7 +44,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
44
44
  * open does not contain this ion-menu, then ion-menu's
45
45
  * focus trapping should not run.
46
46
  */
47
- const lastOverlay = getOverlay(document);
47
+ const lastOverlay = getPresentedOverlay(document);
48
48
  if (lastOverlay && !lastOverlay.contains(this.el)) {
49
49
  return;
50
50
  }
@@ -607,7 +607,12 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
607
607
  "close": [64],
608
608
  "toggle": [64],
609
609
  "setOpen": [64]
610
- }, [[16, "ionSplitPaneVisible", "onSplitPaneChanged"], [2, "click", "onBackdropClick"], [0, "keydown", "onKeydown"]]]);
610
+ }, [[16, "ionSplitPaneVisible", "onSplitPaneChanged"], [2, "click", "onBackdropClick"], [0, "keydown", "onKeydown"]], {
611
+ "type": ["typeChanged"],
612
+ "disabled": ["disabledChanged"],
613
+ "side": ["sideChanged"],
614
+ "swipeGesture": ["swipeGestureChanged"]
615
+ }]);
611
616
  const computeDelta = (deltaX, isOpen, isEndSide) => {
612
617
  return Math.max(0, isOpen !== isEndSide ? -deltaX : deltaX);
613
618
  };
@@ -1653,6 +1653,9 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
1653
1653
  "onWillDismiss": [64],
1654
1654
  "setCurrentBreakpoint": [64],
1655
1655
  "getCurrentBreakpoint": [64]
1656
+ }, undefined, {
1657
+ "isOpen": ["onIsOpenChange"],
1658
+ "trigger": ["triggerChanged"]
1656
1659
  }]);
1657
1660
  const LIFECYCLE_MAP = {
1658
1661
  ionModalDidPresent: 'ionViewDidEnter',
@@ -930,6 +930,9 @@ const Nav = /*@__PURE__*/ proxyCustomElement(class Nav extends HTMLElement {
930
930
  "getByIndex": [64],
931
931
  "canGoBack": [64],
932
932
  "getPrevious": [64]
933
+ }, undefined, {
934
+ "swipeGesture": ["swipeGestureChanged"],
935
+ "root": ["rootChanged"]
933
936
  }]);
934
937
  function defineCustomElement$1() {
935
938
  if (typeof customElements === "undefined") {
@@ -264,6 +264,9 @@ const Picker = /*@__PURE__*/ proxyCustomElement(class Picker extends HTMLElement
264
264
  "onDidDismiss": [64],
265
265
  "onWillDismiss": [64],
266
266
  "getColumn": [64]
267
+ }, undefined, {
268
+ "isOpen": ["onIsOpenChange"],
269
+ "trigger": ["triggerChanged"]
267
270
  }]);
268
271
  const buttonWrapperClass = (button) => {
269
272
  return {
@@ -52,9 +52,9 @@ function roundToMaxDecimalPlaces(n, ...references) {
52
52
  return Number(n.toFixed(maxPlaces));
53
53
  }
54
54
 
55
- const rangeIosCss = ":host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{top:calc((var(--height) - var(--knob-handle-size)) / 2);-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}@supports (inset-inline-start: 0){.range-knob-handle{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-knob-handle{left:0}:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}[dir=rtl] .range-knob-handle{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset;right:unset;right:0}}}:host-context([dir=rtl]) .range-knob-handle{left:unset}[dir=rtl] .range-knob-handle{left:unset}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset}}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar-container{border-radius:var(--bar-border-radius);top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height)}@supports (inset-inline-start: 0){.range-bar-container{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-bar-container{left:0}:host-context([dir=rtl]) .range-bar-container{left:unset;right:unset;right:0}[dir=rtl] .range-bar-container{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset;right:unset;right:0}}}:host-context([dir=rtl]) .range-bar-container{left:unset}[dir=rtl] .range-bar-container{left:unset}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset}}.range-bar{border-radius:var(--bar-border-radius);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-knob{border-radius:var(--knob-border-radius);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}@supports (inset-inline-start: 0){.range-knob{inset-inline-start:calc(50% - var(--knob-size) / 2)}}@supports not (inset-inline-start: 0){.range-knob{left:calc(50% - var(--knob-size) / 2)}:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}}}:host-context([dir=rtl]) .range-knob{left:unset}[dir=rtl] .range-knob{left:unset}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset}}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host([slot=start]),:host([slot=end]){width:auto}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}.range-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit}::slotted([slot=label]){max-width:200px;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}:host(.range-label-placement-start) .range-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.range-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-end) .range-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.range-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.range-label-placement-stacked) .range-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-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-context([dir=rtl]):host(.range-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).range-label-placement-stacked .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.range-label-placement-stacked) .label-text-wrapper:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}:host(.in-item.range-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.range-label-placement-stacked) .native-wrapper{margin-bottom:0px}:host{--knob-border-radius:50%;--knob-background:#ffffff;--knob-box-shadow:0px 0.5px 4px rgba(0, 0, 0, 0.12), 0px 6px 13px rgba(0, 0, 0, 0.12);--knob-size:26px;--bar-height:4px;--bar-background:var(--ion-color-step-900, #e6e6e6);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:2px;--height:42px}:host(.legacy-range){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:8px}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-tick-active{background:var(--ion-color-base)}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-has-pin:not(.range-label-placement-stacked)){padding-top:20px}:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper{margin-bottom:20px}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-bar-active.has-ticks{border-radius:0;-webkit-margin-start:-2px;margin-inline-start:-2px;-webkit-margin-end:-2px;margin-inline-end:-2px}.range-tick{-webkit-margin-start:-2px;margin-inline-start:-2px;border-radius:0;position:absolute;top:17px;width:4px;height:8px;background:var(--ion-color-step-900, #e6e6e6);pointer-events:none}.range-tick-active{background:var(--bar-background-active)}.range-pin{-webkit-transform:translate3d(0, 28px, 0) scale(0.01);transform:translate3d(0, 28px, 0) scale(0.01);-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;display:inline-block;position:relative;top:-20px;min-width:28px;-webkit-transition:-webkit-transform 120ms ease;transition:-webkit-transform 120ms ease;transition:transform 120ms ease;transition:transform 120ms ease, -webkit-transform 120ms ease;background:transparent;color:var(--ion-text-color, #000);font-size:12px;text-align:center}.range-knob-pressed .range-pin,.range-knob-handle.ion-focused .range-pin{-webkit-transform:translate3d(0, 0, 0) scale(1);transform:translate3d(0, 0, 0) scale(1)}:host(.range-disabled){opacity:0.3}";
55
+ const rangeIosCss = ":host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{top:calc((var(--height) - var(--knob-handle-size)) / 2);-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}@supports (inset-inline-start: 0){.range-knob-handle{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-knob-handle{left:0}:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}[dir=rtl] .range-knob-handle{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset;right:unset;right:0}}}:host-context([dir=rtl]) .range-knob-handle{left:unset}[dir=rtl] .range-knob-handle{left:unset}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset}}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar-container{border-radius:var(--bar-border-radius);top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height)}@supports (inset-inline-start: 0){.range-bar-container{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-bar-container{left:0}:host-context([dir=rtl]) .range-bar-container{left:unset;right:unset;right:0}[dir=rtl] .range-bar-container{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset;right:unset;right:0}}}:host-context([dir=rtl]) .range-bar-container{left:unset}[dir=rtl] .range-bar-container{left:unset}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset}}.range-bar{border-radius:var(--bar-border-radius);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-knob{border-radius:var(--knob-border-radius);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}@supports (inset-inline-start: 0){.range-knob{inset-inline-start:calc(50% - var(--knob-size) / 2)}}@supports not (inset-inline-start: 0){.range-knob{left:calc(50% - var(--knob-size) / 2)}:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}}}:host-context([dir=rtl]) .range-knob{left:unset}[dir=rtl] .range-knob{left:unset}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset}}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host([slot=start]),:host([slot=end]){width:auto}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}.range-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit}::slotted([slot=label]){max-width:200px;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}:host(.range-label-placement-start) .range-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.range-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-end) .range-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.range-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.range-label-placement-stacked) .range-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-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-context([dir=rtl]):host(.range-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).range-label-placement-stacked .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.range-label-placement-stacked) .label-text-wrapper:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}:host(.in-item.range-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.range-label-placement-stacked) .native-wrapper{margin-bottom:0px}:host{--knob-border-radius:50%;--knob-background:#ffffff;--knob-box-shadow:0px 0.5px 4px rgba(0, 0, 0, 0.12), 0px 6px 13px rgba(0, 0, 0, 0.12);--knob-size:26px;--bar-height:4px;--bar-background:var(--ion-color-step-900, #e6e6e6);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:2px;--height:42px}:host(.legacy-range){-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:8px}:host(.range-item-start-adjustment){-webkit-padding-start:24px;padding-inline-start:24px}:host(.range-item-end-adjustment){-webkit-padding-end:24px;padding-inline-end:24px}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-tick-active{background:var(--ion-color-base)}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-has-pin:not(.range-label-placement-stacked)){padding-top:20px}:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper{margin-bottom:20px}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-bar-active.has-ticks{border-radius:0;-webkit-margin-start:-2px;margin-inline-start:-2px;-webkit-margin-end:-2px;margin-inline-end:-2px}.range-tick{-webkit-margin-start:-2px;margin-inline-start:-2px;border-radius:0;position:absolute;top:17px;width:4px;height:8px;background:var(--ion-color-step-900, #e6e6e6);pointer-events:none}.range-tick-active{background:var(--bar-background-active)}.range-pin{-webkit-transform:translate3d(0, 28px, 0) scale(0.01);transform:translate3d(0, 28px, 0) scale(0.01);-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;display:inline-block;position:relative;top:-20px;min-width:28px;-webkit-transition:-webkit-transform 120ms ease;transition:-webkit-transform 120ms ease;transition:transform 120ms ease;transition:transform 120ms ease, -webkit-transform 120ms ease;background:transparent;color:var(--ion-text-color, #000);font-size:12px;text-align:center}.range-knob-pressed .range-pin,.range-knob-handle.ion-focused .range-pin{-webkit-transform:translate3d(0, 0, 0) scale(1);transform:translate3d(0, 0, 0) scale(1)}:host(.range-disabled){opacity:0.3}";
56
56
 
57
- const rangeMdCss = ":host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{top:calc((var(--height) - var(--knob-handle-size)) / 2);-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}@supports (inset-inline-start: 0){.range-knob-handle{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-knob-handle{left:0}:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}[dir=rtl] .range-knob-handle{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset;right:unset;right:0}}}:host-context([dir=rtl]) .range-knob-handle{left:unset}[dir=rtl] .range-knob-handle{left:unset}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset}}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar-container{border-radius:var(--bar-border-radius);top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height)}@supports (inset-inline-start: 0){.range-bar-container{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-bar-container{left:0}:host-context([dir=rtl]) .range-bar-container{left:unset;right:unset;right:0}[dir=rtl] .range-bar-container{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset;right:unset;right:0}}}:host-context([dir=rtl]) .range-bar-container{left:unset}[dir=rtl] .range-bar-container{left:unset}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset}}.range-bar{border-radius:var(--bar-border-radius);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-knob{border-radius:var(--knob-border-radius);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}@supports (inset-inline-start: 0){.range-knob{inset-inline-start:calc(50% - var(--knob-size) / 2)}}@supports not (inset-inline-start: 0){.range-knob{left:calc(50% - var(--knob-size) / 2)}:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}}}:host-context([dir=rtl]) .range-knob{left:unset}[dir=rtl] .range-knob{left:unset}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset}}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host([slot=start]),:host([slot=end]){width:auto}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}.range-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit}::slotted([slot=label]){max-width:200px;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}:host(.range-label-placement-start) .range-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.range-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-end) .range-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.range-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.range-label-placement-stacked) .range-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-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-context([dir=rtl]):host(.range-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).range-label-placement-stacked .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.range-label-placement-stacked) .label-text-wrapper:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}:host(.in-item.range-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.range-label-placement-stacked) .native-wrapper{margin-bottom:0px}:host{--knob-border-radius:50%;--knob-background:var(--bar-background-active);--knob-box-shadow:none;--knob-size:18px;--bar-height:2px;--bar-background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.26);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:0;--height:42px;--pin-background:var(--ion-color-primary, #3880ff);--pin-color:var(--ion-color-primary-contrast, #fff);font-size:12px}::slotted([slot=label]),.label-text{font-size:initial}:host(.legacy-range){-webkit-padding-start:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px;padding-top:8px;padding-bottom:8px}:host(.ion-color) .range-bar{background:rgba(var(--ion-color-base-rgb), 0.26)}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-knob,:host(.ion-color) .range-knob::before,:host(.ion-color) .range-pin,:host(.ion-color) .range-pin::before,:host(.ion-color) .range-tick{background:var(--ion-color-base);color:var(--ion-color-contrast)}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-has-pin:not(.range-label-placement-stacked)){padding-top:28px}:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper{margin-bottom:28px}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-knob{-webkit-transform:scale(0.67);transform:scale(0.67);-webkit-transition-duration:120ms;transition-duration:120ms;-webkit-transition-property:background-color, border, -webkit-transform;transition-property:background-color, border, -webkit-transform;transition-property:transform, background-color, border;transition-property:transform, background-color, border, -webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease;z-index:2}.range-knob::before{border-radius:50%;position:absolute;width:var(--knob-size);height:var(--knob-size);-webkit-transform:scale(1);transform:scale(1);-webkit-transition:0.267s cubic-bezier(0, 0, 0.58, 1);transition:0.267s cubic-bezier(0, 0, 0.58, 1);background:var(--knob-background);content:\"\";opacity:0.13;pointer-events:none}@supports (inset-inline-start: 0){.range-knob::before{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-knob::before{left:0}:host-context([dir=rtl]) .range-knob::before{left:unset;right:unset;right:0}[dir=rtl] .range-knob::before{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-knob::before:dir(rtl){left:unset;right:unset;right:0}}}.range-tick{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick-active{background:transparent}.range-pin{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;border-radius:50%;-webkit-transform:translate3d(0, 0, 0) scale(0.01);transform:translate3d(0, 0, 0) scale(0.01);display:inline-block;position:relative;min-width:28px;height:28px;-webkit-transition:background 120ms ease, -webkit-transform 120ms ease;transition:background 120ms ease, -webkit-transform 120ms ease;transition:transform 120ms ease, background 120ms ease;transition:transform 120ms ease, background 120ms ease, -webkit-transform 120ms ease;background:var(--pin-background);color:var(--pin-color);text-align:center}.range-pin::before{top:3px;-webkit-margin-start:-13px;margin-inline-start:-13px;border-radius:50% 50% 50% 0;position:absolute;width:26px;height:26px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background 120ms ease;transition:background 120ms ease;background:var(--pin-background);content:\"\";z-index:-1}@supports (inset-inline-start: 0){.range-pin::before{inset-inline-start:50%}}@supports not (inset-inline-start: 0){.range-pin::before{left:50%}:host-context([dir=rtl]) .range-pin::before{left:unset;right:unset;right:50%}[dir=rtl] .range-pin::before{left:unset;right:unset;right:50%}@supports selector(:dir(rtl)){.range-pin::before:dir(rtl){left:unset;right:unset;right:50%}}}:host-context([dir=rtl]) .range-pin::before{left:unset}[dir=rtl] .range-pin::before{left:unset}@supports selector(:dir(rtl)){.range-pin::before:dir(rtl){left:unset}}.range-knob-pressed .range-pin,.range-knob-handle.ion-focused .range-pin{-webkit-transform:translate3d(0, -24px, 0) scale(1);transform:translate3d(0, -24px, 0) scale(1)}@media (any-hover: hover){.range-knob-handle:hover .range-knob:before{-webkit-transform:scale(2);transform:scale(2);opacity:0.13}}.range-knob-handle.ion-activated .range-knob:before,.range-knob-handle.ion-focused .range-knob:before,.range-knob-handle.range-knob-pressed .range-knob:before{-webkit-transform:scale(2);transform:scale(2)}.range-knob-handle.ion-focused .range-knob::before{opacity:0.13}.range-knob-handle.ion-activated .range-knob::before,.range-knob-handle.range-knob-pressed .range-knob::before{opacity:0.25}:host(:not(.range-has-pin)) .range-knob-pressed .range-knob,:host(:not(.range-has-pin)) .range-knob-handle.ion-focused .range-knob{-webkit-transform:scale(1);transform:scale(1)}:host(.range-disabled) .range-bar-active,:host(.range-disabled) .range-bar,:host(.range-disabled) .range-tick{background-color:var(--ion-color-step-250, #bfbfbf)}:host(.range-disabled) .range-knob{-webkit-transform:scale(0.55);transform:scale(0.55);outline:5px solid #fff;background-color:var(--ion-color-step-250, #bfbfbf)}:host(.range-disabled) .label-text-wrapper,:host(.range-disabled) ::slotted([slot=start]),:host(.range-disabled) ::slotted([slot=end]){opacity:0.38}";
57
+ const rangeMdCss = ":host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{top:calc((var(--height) - var(--knob-handle-size)) / 2);-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}@supports (inset-inline-start: 0){.range-knob-handle{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-knob-handle{left:0}:host-context([dir=rtl]) .range-knob-handle{left:unset;right:unset;right:0}[dir=rtl] .range-knob-handle{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset;right:unset;right:0}}}:host-context([dir=rtl]) .range-knob-handle{left:unset}[dir=rtl] .range-knob-handle{left:unset}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset}}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar-container{border-radius:var(--bar-border-radius);top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height)}@supports (inset-inline-start: 0){.range-bar-container{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-bar-container{left:0}:host-context([dir=rtl]) .range-bar-container{left:unset;right:unset;right:0}[dir=rtl] .range-bar-container{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset;right:unset;right:0}}}:host-context([dir=rtl]) .range-bar-container{left:unset}[dir=rtl] .range-bar-container{left:unset}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset}}.range-bar{border-radius:var(--bar-border-radius);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-knob{border-radius:var(--knob-border-radius);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}@supports (inset-inline-start: 0){.range-knob{inset-inline-start:calc(50% - var(--knob-size) / 2)}}@supports not (inset-inline-start: 0){.range-knob{left:calc(50% - var(--knob-size) / 2)}:host-context([dir=rtl]) .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}[dir=rtl] .range-knob{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}}}:host-context([dir=rtl]) .range-knob{left:unset}[dir=rtl] .range-knob{left:unset}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset}}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host([slot=start]),:host([slot=end]){width:auto}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}.range-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit}::slotted([slot=label]){max-width:200px;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}:host(.range-label-placement-start) .range-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.range-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-end) .range-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.range-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.range-label-placement-stacked) .range-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-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-context([dir=rtl]):host(.range-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).range-label-placement-stacked .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.range-label-placement-stacked) .label-text-wrapper:dir(rtl){-webkit-transform-origin:right top;transform-origin:right top}}:host(.in-item.range-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.range-label-placement-stacked) .native-wrapper{margin-bottom:0px}:host{--knob-border-radius:50%;--knob-background:var(--bar-background-active);--knob-box-shadow:none;--knob-size:18px;--bar-height:2px;--bar-background:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.26);--bar-background-active:var(--ion-color-primary, #3880ff);--bar-border-radius:0;--height:42px;--pin-background:var(--ion-color-primary, #3880ff);--pin-color:var(--ion-color-primary-contrast, #fff);font-size:12px}::slotted([slot=label]),.label-text{font-size:initial}:host(.legacy-range){-webkit-padding-start:14px;padding-inline-start:14px;-webkit-padding-end:14px;padding-inline-end:14px;padding-top:8px;padding-bottom:8px}:host(.range-item-start-adjustment){-webkit-padding-start:18px;padding-inline-start:18px}:host(.range-item-end-adjustment){-webkit-padding-end:18px;padding-inline-end:18px}:host(.ion-color) .range-bar{background:rgba(var(--ion-color-base-rgb), 0.26)}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-knob,:host(.ion-color) .range-knob::before,:host(.ion-color) .range-pin,:host(.ion-color) .range-pin::before,:host(.ion-color) .range-tick{background:var(--ion-color-base);color:var(--ion-color-contrast)}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-has-pin:not(.range-label-placement-stacked)){padding-top:28px}:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper{margin-bottom:28px}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-knob{-webkit-transform:scale(0.67);transform:scale(0.67);-webkit-transition-duration:120ms;transition-duration:120ms;-webkit-transition-property:background-color, border, -webkit-transform;transition-property:background-color, border, -webkit-transform;transition-property:transform, background-color, border;transition-property:transform, background-color, border, -webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease;z-index:2}.range-knob::before{border-radius:50%;position:absolute;width:var(--knob-size);height:var(--knob-size);-webkit-transform:scale(1);transform:scale(1);-webkit-transition:0.267s cubic-bezier(0, 0, 0.58, 1);transition:0.267s cubic-bezier(0, 0, 0.58, 1);background:var(--knob-background);content:\"\";opacity:0.13;pointer-events:none}@supports (inset-inline-start: 0){.range-knob::before{inset-inline-start:0}}@supports not (inset-inline-start: 0){.range-knob::before{left:0}:host-context([dir=rtl]) .range-knob::before{left:unset;right:unset;right:0}[dir=rtl] .range-knob::before{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.range-knob::before:dir(rtl){left:unset;right:unset;right:0}}}.range-tick{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick-active{background:transparent}.range-pin{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;border-radius:50%;-webkit-transform:translate3d(0, 0, 0) scale(0.01);transform:translate3d(0, 0, 0) scale(0.01);display:inline-block;position:relative;min-width:28px;height:28px;-webkit-transition:background 120ms ease, -webkit-transform 120ms ease;transition:background 120ms ease, -webkit-transform 120ms ease;transition:transform 120ms ease, background 120ms ease;transition:transform 120ms ease, background 120ms ease, -webkit-transform 120ms ease;background:var(--pin-background);color:var(--pin-color);text-align:center}.range-pin::before{top:3px;-webkit-margin-start:-13px;margin-inline-start:-13px;border-radius:50% 50% 50% 0;position:absolute;width:26px;height:26px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background 120ms ease;transition:background 120ms ease;background:var(--pin-background);content:\"\";z-index:-1}@supports (inset-inline-start: 0){.range-pin::before{inset-inline-start:50%}}@supports not (inset-inline-start: 0){.range-pin::before{left:50%}:host-context([dir=rtl]) .range-pin::before{left:unset;right:unset;right:50%}[dir=rtl] .range-pin::before{left:unset;right:unset;right:50%}@supports selector(:dir(rtl)){.range-pin::before:dir(rtl){left:unset;right:unset;right:50%}}}:host-context([dir=rtl]) .range-pin::before{left:unset}[dir=rtl] .range-pin::before{left:unset}@supports selector(:dir(rtl)){.range-pin::before:dir(rtl){left:unset}}.range-knob-pressed .range-pin,.range-knob-handle.ion-focused .range-pin{-webkit-transform:translate3d(0, -24px, 0) scale(1);transform:translate3d(0, -24px, 0) scale(1)}@media (any-hover: hover){.range-knob-handle:hover .range-knob:before{-webkit-transform:scale(2);transform:scale(2);opacity:0.13}}.range-knob-handle.ion-activated .range-knob:before,.range-knob-handle.ion-focused .range-knob:before,.range-knob-handle.range-knob-pressed .range-knob:before{-webkit-transform:scale(2);transform:scale(2)}.range-knob-handle.ion-focused .range-knob::before{opacity:0.13}.range-knob-handle.ion-activated .range-knob::before,.range-knob-handle.range-knob-pressed .range-knob::before{opacity:0.25}:host(:not(.range-has-pin)) .range-knob-pressed .range-knob,:host(:not(.range-has-pin)) .range-knob-handle.ion-focused .range-knob{-webkit-transform:scale(1);transform:scale(1)}:host(.range-disabled) .range-bar-active,:host(.range-disabled) .range-bar,:host(.range-disabled) .range-tick{background-color:var(--ion-color-step-250, #bfbfbf)}:host(.range-disabled) .range-knob{-webkit-transform:scale(0.55);transform:scale(0.55);outline:5px solid #fff;background-color:var(--ion-color-step-250, #bfbfbf)}:host(.range-disabled) .label-text-wrapper,:host(.range-disabled) ::slotted([slot=start]),:host(.range-disabled) ::slotted([slot=end]){opacity:0.38}";
58
58
 
59
59
  const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
60
60
  constructor() {
@@ -413,20 +413,47 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
413
413
  'legacy-range': true,
414
414
  }) }, h("slot", { name: "start" }), this.renderRangeSlider(), h("slot", { name: "end" })));
415
415
  }
416
+ /**
417
+ * Returns true if content was passed to the "start" slot
418
+ */
419
+ get hasStartSlotContent() {
420
+ return this.el.querySelector('[slot="start"]') !== null;
421
+ }
422
+ /**
423
+ * Returns true if content was passed to the "end" slot
424
+ */
425
+ get hasEndSlotContent() {
426
+ return this.el.querySelector('[slot="end"]') !== null;
427
+ }
416
428
  renderRange() {
417
- const { disabled, el, rangeId, pin, pressedKnob, labelPlacement, label } = this;
429
+ const { disabled, el, hasLabel, rangeId, pin, pressedKnob, labelPlacement, label } = this;
430
+ const inItem = hostContext('ion-item', el);
431
+ /**
432
+ * If there is no start content then the knob at
433
+ * the min value will be cut off by the item margin.
434
+ */
435
+ const hasStartContent = (hasLabel && (labelPlacement === 'start' || labelPlacement === 'fixed')) || this.hasStartSlotContent;
436
+ const needsStartAdjustment = inItem && !hasStartContent;
437
+ /**
438
+ * If there is no end content then the knob at
439
+ * the max value will be cut off by the item margin.
440
+ */
441
+ const hasEndContent = (hasLabel && labelPlacement === 'end') || this.hasEndSlotContent;
442
+ const needsEndAdjustment = inItem && !hasEndContent;
418
443
  const mode = getIonMode(this);
419
444
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
420
445
  return (h(Host, { onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
421
446
  [mode]: true,
422
- 'in-item': hostContext('ion-item', el),
447
+ 'in-item': inItem,
423
448
  'range-disabled': disabled,
424
449
  'range-pressed': pressedKnob !== undefined,
425
450
  'range-has-pin': pin,
426
451
  [`range-label-placement-${labelPlacement}`]: true,
452
+ 'range-item-start-adjustment': needsStartAdjustment,
453
+ 'range-item-end-adjustment': needsEndAdjustment,
427
454
  }) }, h("label", { class: "range-wrapper", id: "range-label" }, h("div", { class: {
428
455
  'label-text-wrapper': true,
429
- 'label-text-wrapper-hidden': !this.hasLabel,
456
+ 'label-text-wrapper-hidden': !hasLabel,
430
457
  } }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { class: "native-wrapper" }, h("slot", { name: "start" }), this.renderRangeSlider(), h("slot", { name: "end" })))));
431
458
  }
432
459
  get hasLabel() {
@@ -581,6 +608,13 @@ Developers can dismiss this warning by removing their usage of the "legacy" prop
581
608
  "ratioA": [32],
582
609
  "ratioB": [32],
583
610
  "pressedKnob": [32]
611
+ }, undefined, {
612
+ "debounce": ["debounceChanged"],
613
+ "min": ["minChanged"],
614
+ "max": ["maxChanged"],
615
+ "activeBarStart": ["activeBarStartChanged"],
616
+ "disabled": ["disabledChanged"],
617
+ "value": ["valueChanged"]
584
618
  }]);
585
619
  const renderKnob = (rtl, { knob, value, ratio, min, max, disabled, pressed, pin, handleKeyboard, labelText, labelledBy, pinFormatter, }) => {
586
620
  const start = rtl ? 'right' : 'left';
@@ -806,6 +806,8 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
806
806
  "complete": [64],
807
807
  "cancel": [64],
808
808
  "getProgress": [64]
809
+ }, undefined, {
810
+ "disabled": ["disabledChanged"]
809
811
  }]);
810
812
  function defineCustomElement$1() {
811
813
  if (typeof customElements === "undefined") {
@@ -259,6 +259,8 @@ const ReorderGroup = /*@__PURE__*/ proxyCustomElement(class ReorderGroup extends
259
259
  "disabled": [4],
260
260
  "state": [32],
261
261
  "complete": [64]
262
+ }, undefined, {
263
+ "disabled": ["disabledChanged"]
262
264
  }]);
263
265
  const indexForItem = (element) => {
264
266
  return element['$ionIndex'];