@ionic/core 8.0.0-dev.11709632212.139b6f63 → 8.0.0-dev.11711408410.14d71406

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 (947) hide show
  1. package/components/action-sheet.js +11 -6
  2. package/components/alert.js +12 -8
  3. package/components/animation.js +9 -250
  4. package/components/backdrop.js +8 -4
  5. package/components/button.js +25 -9
  6. package/components/buttons.js +10 -6
  7. package/components/checkbox.js +13 -9
  8. package/components/data.js +27 -42
  9. package/components/haptic.js +6 -54
  10. package/components/hardware-back-button.js +3 -3
  11. package/components/helpers.js +1 -57
  12. package/components/index4.js +8 -7
  13. package/components/index6.js +25 -30
  14. package/components/index7.js +124 -25
  15. package/components/index8.js +150 -111
  16. package/components/input-shims.js +1 -1
  17. package/components/input.utils.js +13 -1
  18. package/components/ion-accordion-group.js +9 -6
  19. package/components/ion-accordion.js +10 -6
  20. package/components/ion-app.js +8 -9
  21. package/components/ion-avatar.js +9 -2
  22. package/components/ion-back-button.js +12 -8
  23. package/components/ion-badge.js +9 -5
  24. package/components/ion-breadcrumb.js +11 -7
  25. package/components/ion-breadcrumbs.js +9 -5
  26. package/components/ion-card-content.js +9 -5
  27. package/components/ion-card-header.js +9 -5
  28. package/components/ion-card-subtitle.js +9 -5
  29. package/components/ion-card-title.js +9 -5
  30. package/components/ion-card.js +11 -7
  31. package/components/ion-chip.js +9 -5
  32. package/components/ion-col.js +5 -5
  33. package/components/ion-content.js +10 -10
  34. package/components/ion-datetime-button.js +19 -15
  35. package/components/ion-datetime.js +93 -27
  36. package/components/ion-fab-button.js +10 -6
  37. package/components/ion-fab-list.js +5 -5
  38. package/components/ion-fab.js +5 -5
  39. package/components/ion-footer.js +14 -10
  40. package/components/ion-grid.js +5 -5
  41. package/components/ion-header.js +15 -11
  42. package/components/ion-img.js +5 -2
  43. package/components/ion-infinite-scroll-content.js +12 -8
  44. package/components/ion-infinite-scroll.js +5 -5
  45. package/components/ion-input.js +17 -14
  46. package/components/ion-item-divider.js +9 -5
  47. package/components/ion-item-group.js +9 -5
  48. package/components/ion-item-option.js +9 -5
  49. package/components/ion-item-options.js +9 -5
  50. package/components/ion-item-sliding.js +5 -5
  51. package/components/ion-loading.js +10 -6
  52. package/components/ion-menu-button.js +11 -7
  53. package/components/ion-menu-toggle.js +5 -5
  54. package/components/ion-menu.js +14 -31
  55. package/components/ion-modal.js +45 -10
  56. package/components/ion-nav-link.js +1 -1
  57. package/components/ion-nav.js +6 -5
  58. package/components/ion-note.js +47 -1
  59. package/components/ion-picker-legacy.js +5 -6
  60. package/components/ion-progress-bar.js +8 -4
  61. package/components/ion-range.js +145 -50
  62. package/components/ion-refresher-content.js +9 -8
  63. package/components/ion-refresher.js +10 -6
  64. package/components/ion-reorder-group.js +5 -5
  65. package/components/ion-reorder.js +11 -5
  66. package/components/ion-router-link.js +5 -5
  67. package/components/ion-router-outlet.js +1 -1
  68. package/components/ion-router.js +1 -1
  69. package/components/ion-row.js +5 -2
  70. package/components/ion-searchbar.js +46 -13
  71. package/components/ion-segment-button.js +10 -6
  72. package/components/ion-segment.js +9 -5
  73. package/components/ion-select-option.js +5 -2
  74. package/components/ion-select.js +48 -50
  75. package/components/ion-skeleton-text.js +5 -5
  76. package/components/ion-split-pane.js +10 -6
  77. package/components/ion-tab-bar.js +9 -5
  78. package/components/ion-tab-button.js +9 -5
  79. package/components/ion-tab.js +2 -2
  80. package/components/ion-tabs.js +1 -1
  81. package/components/ion-text.js +5 -5
  82. package/components/ion-textarea.js +15 -12
  83. package/components/ion-thumbnail.js +5 -2
  84. package/components/ion-title.js +9 -5
  85. package/components/ion-toast.js +13 -9
  86. package/components/ion-toggle.js +17 -13
  87. package/components/ion-toolbar.js +9 -5
  88. package/components/ionic-global.js +190 -13
  89. package/components/ios.transition.js +1 -0
  90. package/components/item.js +39 -102
  91. package/components/label.js +12 -8
  92. package/components/list-header.js +9 -5
  93. package/components/list.js +10 -6
  94. package/components/overlays.js +141 -57
  95. package/components/picker-column-option.js +9 -5
  96. package/components/picker-column.js +28 -9
  97. package/components/picker-column2.js +4 -4
  98. package/components/picker.js +6 -2
  99. package/components/popover.js +11 -8
  100. package/components/radio-group.js +5 -3
  101. package/components/radio.js +10 -6
  102. package/components/ripple-effect.js +4 -4
  103. package/components/select-popover.js +21 -20
  104. package/components/spinner.js +6 -6
  105. package/components/status-tap.js +1 -1
  106. package/css/core.ionic.css +13 -0
  107. package/css/core.ionic.css.map +1 -0
  108. package/css/palettes/dark.always.css.map +1 -0
  109. package/css/{themes → palettes}/dark.class.css +4 -4
  110. package/css/palettes/dark.class.css.map +1 -0
  111. package/css/palettes/dark.system.css.map +1 -0
  112. package/css/palettes/high-contrast-dark.always.css.map +1 -0
  113. package/css/{themes → palettes}/high-contrast-dark.class.css +10 -10
  114. package/css/palettes/high-contrast-dark.class.css.map +1 -0
  115. package/css/palettes/high-contrast-dark.system.css.map +1 -0
  116. package/css/palettes/high-contrast.always.css.map +1 -0
  117. package/css/{themes → palettes}/high-contrast.class.css +31 -31
  118. package/css/palettes/high-contrast.class.css.map +1 -0
  119. package/css/palettes/high-contrast.system.css.map +1 -0
  120. package/dist/cjs/{animation-4ad55058.js → animation-b4fdf128.js} +9 -250
  121. package/dist/cjs/{app-globals-92ad1b3d.js → app-globals-98e49326.js} +1 -1
  122. package/dist/cjs/{button-active-8f6a8e77.js → button-active-e2ed5329.js} +2 -2
  123. package/dist/cjs/{data-e2bf21de.js → data-f2ccf911.js} +28 -45
  124. package/dist/cjs/{framework-delegate-53817ef1.js → framework-delegate-55f5683a.js} +1 -1
  125. package/dist/cjs/{haptic-b882e0bb.js → haptic-f6b37aa3.js} +6 -54
  126. package/dist/cjs/{hardware-back-button-2696acaf.js → hardware-back-button-f66bce00.js} +5 -5
  127. package/dist/cjs/{helpers-b71ca811.js → helpers-afaa9001.js} +0 -58
  128. package/dist/cjs/{index-0ffe376d.js → index-2d21d526.js} +443 -14
  129. package/dist/cjs/{index-88b3bd6f.js → index-5643c839.js} +4 -4
  130. package/dist/cjs/{index-347883f6.js → index-91435ed0.js} +3 -3
  131. package/dist/cjs/{index-7574e3d2.js → index-9509ecad.js} +5 -34
  132. package/dist/cjs/{index-16fc2c94.js → index-f5fcf972.js} +15 -14
  133. package/dist/cjs/index.cjs.js +11 -12
  134. package/dist/cjs/{input-shims-679d87bc.js → input-shims-837af288.js} +4 -3
  135. package/dist/cjs/{input.utils-5175aea1.js → input.utils-01c2fa15.js} +15 -3
  136. package/dist/cjs/ion-accordion_2.cjs.entry.js +20 -13
  137. package/dist/cjs/ion-action-sheet.cjs.entry.js +19 -15
  138. package/dist/cjs/ion-alert.cjs.entry.js +20 -17
  139. package/dist/cjs/ion-app_8.cjs.entry.js +87 -68
  140. package/dist/cjs/ion-avatar_3.cjs.entry.js +22 -8
  141. package/dist/cjs/ion-back-button.cjs.entry.js +13 -9
  142. package/dist/cjs/ion-backdrop.cjs.entry.js +9 -5
  143. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +20 -12
  144. package/dist/cjs/ion-button_2.cjs.entry.js +28 -13
  145. package/dist/cjs/ion-card_5.cjs.entry.js +45 -25
  146. package/dist/cjs/ion-checkbox.cjs.entry.js +15 -11
  147. package/dist/cjs/ion-chip.cjs.entry.js +10 -6
  148. package/dist/cjs/ion-col_3.cjs.entry.js +14 -11
  149. package/dist/cjs/ion-datetime-button.cjs.entry.js +25 -21
  150. package/dist/cjs/ion-datetime_3.cjs.entry.js +175 -112
  151. package/dist/cjs/ion-fab_3.cjs.entry.js +19 -15
  152. package/dist/cjs/ion-img.cjs.entry.js +7 -4
  153. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +18 -15
  154. package/dist/cjs/ion-input.cjs.entry.js +19 -17
  155. package/dist/cjs/ion-item-option_3.cjs.entry.js +23 -16
  156. package/dist/cjs/ion-item_8.cjs.entry.js +89 -116
  157. package/dist/cjs/ion-loading.cjs.entry.js +16 -13
  158. package/dist/cjs/ion-menu_3.cjs.entry.js +32 -46
  159. package/dist/cjs/ion-modal.cjs.entry.js +57 -22
  160. package/dist/cjs/ion-nav_2.cjs.entry.js +12 -10
  161. package/dist/cjs/ion-picker-column-option.cjs.entry.js +11 -7
  162. package/dist/cjs/ion-picker-column.cjs.entry.js +31 -12
  163. package/dist/cjs/ion-picker.cjs.entry.js +8 -4
  164. package/dist/cjs/ion-popover.cjs.entry.js +20 -17
  165. package/dist/cjs/ion-progress-bar.cjs.entry.js +10 -6
  166. package/dist/cjs/ion-radio_2.cjs.entry.js +16 -10
  167. package/dist/cjs/ion-range.cjs.entry.js +151 -56
  168. package/dist/cjs/ion-refresher_2.cjs.entry.js +21 -17
  169. package/dist/cjs/ion-reorder_2.cjs.entry.js +17 -12
  170. package/dist/cjs/ion-ripple-effect.cjs.entry.js +5 -5
  171. package/dist/cjs/ion-route_4.cjs.entry.js +7 -7
  172. package/dist/cjs/ion-searchbar.cjs.entry.js +41 -13
  173. package/dist/cjs/ion-segment_2.cjs.entry.js +20 -12
  174. package/dist/cjs/ion-select_3.cjs.entry.js +46 -33
  175. package/dist/cjs/ion-spinner.cjs.entry.js +7 -7
  176. package/dist/cjs/ion-split-pane.cjs.entry.js +11 -7
  177. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +19 -11
  178. package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
  179. package/dist/cjs/ion-text.cjs.entry.js +6 -6
  180. package/dist/cjs/ion-textarea.cjs.entry.js +18 -16
  181. package/dist/cjs/ion-toast.cjs.entry.js +39 -35
  182. package/dist/cjs/ion-toggle.cjs.entry.js +19 -15
  183. package/dist/cjs/ionic-global-94d8021d.js +411 -0
  184. package/dist/cjs/ionic.cjs.js +28 -5
  185. package/dist/cjs/{ios.transition-b102ee38.js → ios.transition-19155451.js} +5 -4
  186. package/dist/cjs/loader.cjs.js +4 -4
  187. package/dist/cjs/{md.transition-a5454240.js → md.transition-1b1135b1.js} +4 -4
  188. package/dist/cjs/{notch-controller-8e0ae870.js → notch-controller-d69150f5.js} +1 -1
  189. package/dist/cjs/{overlays-6b7d156b.js → overlays-de847251.js} +143 -58
  190. package/dist/cjs/{status-tap-b60dcbd8.js → status-tap-3ef7ca2b.js} +4 -4
  191. package/dist/cjs/{swipe-back-72c5c8b7.js → swipe-back-0303a5e4.js} +1 -1
  192. package/dist/collection/collection-manifest.json +1 -1
  193. package/dist/collection/components/accordion/accordion.js +11 -8
  194. package/dist/collection/components/accordion-group/accordion-group.js +11 -8
  195. package/dist/collection/components/action-sheet/action-sheet.js +14 -10
  196. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +1 -1
  197. package/dist/collection/components/alert/alert.js +15 -12
  198. package/dist/collection/components/alert/test/a11y/alert.e2e.js +5 -1
  199. package/dist/collection/components/alert/test/basic/alert.e2e.js +1 -1
  200. package/dist/collection/components/app/app.js +11 -7
  201. package/dist/collection/components/avatar/avatar.js +13 -4
  202. package/dist/collection/components/back-button/back-button.js +13 -10
  203. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +1 -1
  204. package/dist/collection/components/backdrop/backdrop.js +12 -6
  205. package/dist/collection/components/badge/badge.js +11 -8
  206. package/dist/collection/components/badge/test/a11y/badge.e2e.js +1 -1
  207. package/dist/collection/components/breadcrumb/breadcrumb.js +12 -9
  208. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  209. package/dist/collection/components/button/button.ios.css +32 -10
  210. package/dist/collection/components/button/button.js +28 -8
  211. package/dist/collection/components/button/button.md.css +28 -13
  212. package/dist/collection/components/button/test/a11y/button.e2e.js +2 -2
  213. package/dist/collection/components/button/test/round/button.e2e.js +39 -4
  214. package/dist/collection/components/buttons/buttons.js +14 -8
  215. package/dist/collection/components/card/card.js +13 -10
  216. package/dist/collection/components/card-content/card-content.js +11 -8
  217. package/dist/collection/components/card-header/card-header.js +12 -9
  218. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  219. package/dist/collection/components/card-title/card-title.js +11 -8
  220. package/dist/collection/components/checkbox/checkbox.js +15 -12
  221. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +1 -1
  222. package/dist/collection/components/checkbox/test/checkbox.spec.js +12 -0
  223. package/dist/collection/components/chip/chip.js +11 -8
  224. package/dist/collection/components/col/col.js +9 -5
  225. package/dist/collection/components/content/content.js +13 -10
  226. package/dist/collection/components/datetime/datetime.js +75 -28
  227. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +80 -1
  228. package/dist/collection/components/datetime/test/format.spec.js +65 -15
  229. package/dist/collection/components/datetime/utils/data.js +3 -3
  230. package/dist/collection/components/datetime/utils/format.js +24 -37
  231. package/dist/collection/components/datetime/utils/validate.js +45 -0
  232. package/dist/collection/components/datetime-button/datetime-button.js +21 -17
  233. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +65 -0
  234. package/dist/collection/components/fab/fab.js +9 -5
  235. package/dist/collection/components/fab-button/fab-button.js +12 -9
  236. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +1 -1
  237. package/dist/collection/components/fab-list/fab-list.js +9 -5
  238. package/dist/collection/components/footer/footer.js +17 -14
  239. package/dist/collection/components/grid/grid.js +9 -5
  240. package/dist/collection/components/header/header.ios.css +5 -2
  241. package/dist/collection/components/header/header.js +17 -14
  242. package/dist/collection/components/header/test/basic/header.e2e.js +77 -0
  243. package/dist/collection/components/img/img.js +8 -2
  244. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  245. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  246. package/dist/collection/components/input/input.ios.css +4 -2
  247. package/dist/collection/components/input/input.js +16 -37
  248. package/dist/collection/components/input/input.md.css +6 -4
  249. package/dist/collection/components/input/test/a11y/input.e2e.js +1 -1
  250. package/dist/collection/components/input/test/highlight/input.e2e.js +144 -0
  251. package/dist/collection/components/input/test/item/input.e2e.js +21 -0
  252. package/dist/collection/components/input/test/slot/input.e2e.js +8 -0
  253. package/dist/collection/components/item/item.ios.css +6 -198
  254. package/dist/collection/components/item/item.js +33 -178
  255. package/dist/collection/components/item/item.md.css +8 -361
  256. package/dist/collection/components/item/test/basic/item.e2e.js +0 -5
  257. package/dist/collection/components/item/test/buttons/item.e2e.js +20 -4
  258. package/dist/collection/components/item/test/item.spec.js +1 -1
  259. package/dist/collection/components/item-divider/item-divider.js +11 -8
  260. package/dist/collection/components/item-group/item-group.js +13 -7
  261. package/dist/collection/components/item-option/item-option.js +11 -8
  262. package/dist/collection/components/item-options/item-options.js +13 -7
  263. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  264. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +1 -1
  265. package/dist/collection/components/label/label.ios.css +0 -5
  266. package/dist/collection/components/label/label.js +11 -8
  267. package/dist/collection/components/label/label.md.css +0 -75
  268. package/dist/collection/components/label/test/a11y/label.e2e.js +1 -1
  269. package/dist/collection/components/list/list.js +12 -9
  270. package/dist/collection/components/list-header/list-header.js +11 -8
  271. package/dist/collection/components/loading/loading.js +13 -10
  272. package/dist/collection/components/loading/test/a11y/loading.e2e.js +1 -1
  273. package/dist/collection/components/menu/menu.js +26 -35
  274. package/dist/collection/components/menu-button/menu-button.js +12 -9
  275. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +1 -1
  276. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  277. package/dist/collection/components/modal/modal.js +46 -11
  278. package/dist/collection/components/modal/test/modal-attributes.spec.js +32 -0
  279. package/dist/collection/components/nav/nav.js +11 -5
  280. package/dist/collection/components/nav-link/nav-link.js +5 -1
  281. package/dist/collection/components/note/note.js +11 -8
  282. package/dist/collection/components/picker/picker.js +8 -5
  283. package/dist/collection/components/picker-column/picker-column.js +30 -10
  284. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  285. package/dist/collection/components/picker-legacy/picker.js +7 -6
  286. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  287. package/dist/collection/components/popover/popover.js +18 -14
  288. package/dist/collection/components/progress-bar/progress-bar.js +10 -7
  289. package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +1 -1
  290. package/dist/collection/components/radio/radio.js +12 -9
  291. package/dist/collection/components/radio/test/a11y/radio.e2e.js +1 -1
  292. package/dist/collection/components/radio-group/radio-group.js +9 -3
  293. package/dist/collection/components/range/range.js +146 -51
  294. package/dist/collection/components/range/test/a11y/range.e2e.js +1 -1
  295. package/dist/collection/components/range/test/label/range.spec.js +24 -0
  296. package/dist/collection/components/range/test/range-events.e2e.js +27 -0
  297. package/dist/collection/components/refresher/refresher.js +11 -8
  298. package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +1 -1
  299. package/dist/collection/components/refresher-content/refresher-content.js +12 -7
  300. package/dist/collection/components/reorder/reorder.js +13 -6
  301. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  302. package/dist/collection/components/ripple-effect/ripple-effect.js +8 -4
  303. package/dist/collection/components/route/route.js +4 -0
  304. package/dist/collection/components/router/router.js +4 -0
  305. package/dist/collection/components/router-link/router-link.js +9 -5
  306. package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +1 -1
  307. package/dist/collection/components/router-outlet/router-outlet.js +5 -2
  308. package/dist/collection/components/row/row.js +9 -2
  309. package/dist/collection/components/searchbar/searchbar.js +101 -19
  310. package/dist/collection/components/searchbar/test/searchbar.spec.js +20 -2
  311. package/dist/collection/components/segment/segment.js +11 -8
  312. package/dist/collection/components/segment/test/a11y/segment.e2e.js +1 -1
  313. package/dist/collection/components/segment-button/segment-button.js +12 -9
  314. package/dist/collection/components/select/select.ios.css +7 -2
  315. package/dist/collection/components/select/select.js +32 -29
  316. package/dist/collection/components/select/select.md.css +6 -29
  317. package/dist/collection/components/select/test/a11y/select.e2e.js +1 -1
  318. package/dist/collection/components/select/test/highlight/select.e2e.js +88 -4
  319. package/dist/collection/components/select/test/select.spec.js +22 -0
  320. package/dist/collection/components/select/test/slot/select.e2e.js +8 -0
  321. package/dist/collection/components/select-option/select-option.js +9 -2
  322. package/dist/collection/components/select-popover/select-popover.js +12 -4
  323. package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +1 -1
  324. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  325. package/dist/collection/components/spinner/spinner.js +10 -6
  326. package/dist/collection/components/split-pane/split-pane.js +14 -8
  327. package/dist/collection/components/tab/tab.js +6 -2
  328. package/dist/collection/components/tab-bar/tab-bar.js +12 -9
  329. package/dist/collection/components/tab-button/tab-button.js +11 -8
  330. package/dist/collection/components/tabs/tabs.js +4 -1
  331. package/dist/collection/components/text/text.js +7 -6
  332. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +1 -1
  333. package/dist/collection/components/textarea/test/highlight/textarea.e2e.js +144 -0
  334. package/dist/collection/components/textarea/test/item/textarea.e2e.js +21 -0
  335. package/dist/collection/components/textarea/test/slot/textarea.e2e.js +8 -0
  336. package/dist/collection/components/textarea/textarea.ios.css +4 -22
  337. package/dist/collection/components/textarea/textarea.js +15 -36
  338. package/dist/collection/components/textarea/textarea.md.css +6 -17
  339. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  340. package/dist/collection/components/title/title.js +13 -7
  341. package/dist/collection/components/toast/animations/utils.js +1 -1
  342. package/dist/collection/components/toast/test/a11y/toast.e2e.js +2 -2
  343. package/dist/collection/components/toast/toast.js +15 -11
  344. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +1 -1
  345. package/dist/collection/components/toggle/toggle.js +19 -16
  346. package/dist/collection/components/toolbar/toolbar.js +13 -10
  347. package/dist/collection/css/test/a11y/typography.e2e.js +1 -1
  348. package/dist/collection/global/ionic-global.js +160 -12
  349. package/dist/collection/global/test/ionic-global.spec.js +109 -0
  350. package/dist/collection/themes/test/colors/theme.e2e.js +2 -2
  351. package/dist/collection/utils/animation/animation-utils.js +0 -102
  352. package/dist/collection/utils/animation/animation.js +10 -141
  353. package/dist/collection/utils/animation/test/animation.spec.js +0 -89
  354. package/dist/collection/utils/animation/test/animationbuilder/animation.e2e.js +0 -4
  355. package/dist/collection/utils/animation/test/basic/animation.e2e.js +0 -4
  356. package/dist/collection/utils/animation/test/display/animation.e2e.js +0 -4
  357. package/dist/collection/utils/animation/test/hooks/animation.e2e.js +0 -4
  358. package/dist/collection/utils/animation/test/multiple/animation.e2e.js +0 -7
  359. package/dist/collection/utils/focus-trap.js +78 -0
  360. package/dist/collection/utils/forms/index.js +0 -1
  361. package/dist/collection/utils/hardware-back-button.js +2 -2
  362. package/dist/collection/utils/helpers.js +0 -53
  363. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  364. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  365. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  366. package/dist/collection/utils/native/haptic.js +6 -54
  367. package/dist/collection/utils/overlays.js +64 -53
  368. package/dist/collection/utils/slot-mutation-controller.js +12 -0
  369. package/dist/collection/utils/tap-click/index.js +5 -34
  370. package/dist/collection/utils/test/overlays/overlays.spec.js +53 -0
  371. package/dist/collection/utils/test/playwright/generator.js +48 -25
  372. package/dist/collection/utils/test/playwright/page/utils/goto.js +13 -4
  373. package/dist/collection/utils/test/playwright/page/utils/set-content.js +14 -2
  374. package/dist/collection/utils/transition/ios.transition.js +1 -0
  375. package/dist/docs.json +3992 -478
  376. package/dist/esm/{animation-a4acf150.js → animation-eab5a4ca.js} +9 -250
  377. package/dist/esm/{app-globals-5cf6195b.js → app-globals-4194f7b0.js} +1 -1
  378. package/dist/esm/{button-active-4407b98c.js → button-active-6f657ae4.js} +2 -2
  379. package/dist/esm/{data-691286f1.js → data-735635b1.js} +27 -42
  380. package/dist/esm/{framework-delegate-1eb3236c.js → framework-delegate-63d1a679.js} +1 -1
  381. package/dist/esm/{haptic-554688a5.js → haptic-ac164e4c.js} +6 -54
  382. package/dist/esm/{hardware-back-button-b410a047.js → hardware-back-button-ff84501f.js} +5 -5
  383. package/dist/esm/{helpers-ae74b3c9.js → helpers-da915de8.js} +1 -57
  384. package/dist/esm/{index-4c30cddd.js → index-3a495cc6.js} +443 -15
  385. package/dist/esm/{index-66871a1d.js → index-4bbc4ca3.js} +2 -2
  386. package/dist/esm/{index-8758824c.js → index-62041d9c.js} +11 -10
  387. package/dist/esm/{index-1f563746.js → index-79b30591.js} +5 -34
  388. package/dist/esm/{index-1eff8599.js → index-e3f4491c.js} +4 -4
  389. package/dist/esm/index.js +11 -12
  390. package/dist/esm/{input-shims-56c1f603.js → input-shims-131a3f9f.js} +4 -3
  391. package/dist/esm/{input.utils-482fc893.js → input.utils-41b26b54.js} +14 -2
  392. package/dist/esm/ion-accordion_2.entry.js +19 -12
  393. package/dist/esm/ion-action-sheet.entry.js +19 -15
  394. package/dist/esm/ion-alert.entry.js +20 -17
  395. package/dist/esm/ion-app_8.entry.js +76 -57
  396. package/dist/esm/ion-avatar_3.entry.js +22 -8
  397. package/dist/esm/ion-back-button.entry.js +13 -9
  398. package/dist/esm/ion-backdrop.entry.js +9 -5
  399. package/dist/esm/ion-breadcrumb_2.entry.js +20 -12
  400. package/dist/esm/ion-button_2.entry.js +25 -10
  401. package/dist/esm/ion-card_5.entry.js +45 -25
  402. package/dist/esm/ion-checkbox.entry.js +15 -11
  403. package/dist/esm/ion-chip.entry.js +10 -6
  404. package/dist/esm/ion-col_3.entry.js +14 -11
  405. package/dist/esm/ion-datetime-button.entry.js +21 -17
  406. package/dist/esm/ion-datetime_3.entry.js +103 -40
  407. package/dist/esm/ion-fab_3.entry.js +19 -15
  408. package/dist/esm/ion-img.entry.js +7 -4
  409. package/dist/esm/ion-infinite-scroll_2.entry.js +18 -15
  410. package/dist/esm/ion-input.entry.js +19 -17
  411. package/dist/esm/ion-item-option_3.entry.js +23 -16
  412. package/dist/esm/ion-item_8.entry.js +89 -116
  413. package/dist/esm/ion-loading.entry.js +16 -13
  414. package/dist/esm/ion-menu_3.entry.js +32 -46
  415. package/dist/esm/ion-modal.entry.js +52 -17
  416. package/dist/esm/ion-nav_2.entry.js +12 -10
  417. package/dist/esm/ion-picker-column-option.entry.js +11 -7
  418. package/dist/esm/ion-picker-column.entry.js +31 -12
  419. package/dist/esm/ion-picker.entry.js +8 -4
  420. package/dist/esm/ion-popover.entry.js +17 -14
  421. package/dist/esm/ion-progress-bar.entry.js +10 -6
  422. package/dist/esm/ion-radio_2.entry.js +16 -10
  423. package/dist/esm/ion-range.entry.js +146 -51
  424. package/dist/esm/ion-refresher_2.entry.js +21 -17
  425. package/dist/esm/ion-reorder_2.entry.js +17 -12
  426. package/dist/esm/ion-ripple-effect.entry.js +5 -5
  427. package/dist/esm/ion-route_4.entry.js +7 -7
  428. package/dist/esm/ion-searchbar.entry.js +41 -13
  429. package/dist/esm/ion-segment_2.entry.js +20 -12
  430. package/dist/esm/ion-select_3.entry.js +46 -33
  431. package/dist/esm/ion-spinner.entry.js +7 -7
  432. package/dist/esm/ion-split-pane.entry.js +11 -7
  433. package/dist/esm/ion-tab-bar_2.entry.js +19 -11
  434. package/dist/esm/ion-tab_2.entry.js +6 -6
  435. package/dist/esm/ion-text.entry.js +6 -6
  436. package/dist/esm/ion-textarea.entry.js +18 -16
  437. package/dist/esm/ion-toast.entry.js +19 -15
  438. package/dist/esm/ion-toggle.entry.js +19 -15
  439. package/dist/esm/ionic-global-d47e129d.js +401 -0
  440. package/dist/esm/ionic.js +29 -6
  441. package/dist/esm/{ios.transition-189b73b7.js → ios.transition-2187a9fd.js} +5 -4
  442. package/dist/esm/loader.js +5 -5
  443. package/dist/esm/{md.transition-c9761eef.js → md.transition-a8d52fcb.js} +4 -4
  444. package/dist/esm/{notch-controller-18bf9f76.js → notch-controller-55b09e11.js} +1 -1
  445. package/dist/esm/{overlays-c69d2a07.js → overlays-213b5a21.js} +142 -58
  446. package/dist/esm/{status-tap-1d638ee6.js → status-tap-8838c434.js} +4 -4
  447. package/dist/esm/{swipe-back-348f1971.js → swipe-back-e5394307.js} +1 -1
  448. package/dist/esm-es5/animation-eab5a4ca.js +4 -0
  449. package/dist/esm-es5/app-globals-4194f7b0.js +4 -0
  450. package/dist/esm-es5/{button-active-4407b98c.js → button-active-6f657ae4.js} +1 -1
  451. package/dist/esm-es5/data-735635b1.js +4 -0
  452. package/dist/esm-es5/{framework-delegate-1eb3236c.js → framework-delegate-63d1a679.js} +1 -1
  453. package/dist/esm-es5/haptic-ac164e4c.js +4 -0
  454. package/dist/esm-es5/hardware-back-button-ff84501f.js +4 -0
  455. package/dist/esm-es5/helpers-da915de8.js +4 -0
  456. package/dist/esm-es5/index-3a495cc6.js +5 -0
  457. package/dist/esm-es5/index-4bbc4ca3.js +4 -0
  458. package/dist/esm-es5/index-62041d9c.js +4 -0
  459. package/dist/esm-es5/index-79b30591.js +4 -0
  460. package/dist/esm-es5/{index-1eff8599.js → index-e3f4491c.js} +1 -1
  461. package/dist/esm-es5/index.js +1 -1
  462. package/dist/esm-es5/input-shims-131a3f9f.js +4 -0
  463. package/dist/esm-es5/input.utils-41b26b54.js +4 -0
  464. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  465. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  466. package/dist/esm-es5/ion-alert.entry.js +1 -1
  467. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  468. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  469. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  470. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  471. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  472. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  473. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  474. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  475. package/dist/esm-es5/ion-chip.entry.js +1 -1
  476. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  477. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  478. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  479. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  480. package/dist/esm-es5/ion-img.entry.js +1 -1
  481. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  482. package/dist/esm-es5/ion-input.entry.js +1 -1
  483. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  484. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  485. package/dist/esm-es5/ion-loading.entry.js +1 -1
  486. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  487. package/dist/esm-es5/ion-modal.entry.js +1 -1
  488. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  489. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  490. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  491. package/dist/esm-es5/ion-picker.entry.js +1 -1
  492. package/dist/esm-es5/ion-popover.entry.js +1 -1
  493. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  494. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  495. package/dist/esm-es5/ion-range.entry.js +1 -1
  496. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  497. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  498. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  499. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  500. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  501. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  502. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  503. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  504. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  505. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  506. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  507. package/dist/esm-es5/ion-text.entry.js +1 -1
  508. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  509. package/dist/esm-es5/ion-toast.entry.js +1 -1
  510. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  511. package/dist/esm-es5/ionic-global-d47e129d.js +4 -0
  512. package/dist/esm-es5/ionic.js +1 -1
  513. package/dist/esm-es5/ios.transition-2187a9fd.js +4 -0
  514. package/dist/esm-es5/loader.js +1 -1
  515. package/dist/esm-es5/{md.transition-c9761eef.js → md.transition-a8d52fcb.js} +1 -1
  516. package/dist/esm-es5/{notch-controller-18bf9f76.js → notch-controller-55b09e11.js} +1 -1
  517. package/dist/esm-es5/overlays-213b5a21.js +4 -0
  518. package/dist/esm-es5/status-tap-8838c434.js +4 -0
  519. package/dist/esm-es5/{swipe-back-348f1971.js → swipe-back-e5394307.js} +1 -1
  520. package/dist/html.html-data.json +1916 -132
  521. package/dist/ionic/index.esm.js +1 -1
  522. package/dist/ionic/ionic.esm.js +1 -1
  523. package/dist/ionic/ionic.js +1 -1
  524. package/dist/ionic/p-0507489e.system.entry.js +4 -0
  525. package/dist/ionic/p-09b71030.entry.js +4 -0
  526. package/dist/ionic/p-0c0065e8.js +4 -0
  527. package/dist/ionic/p-0daf382b.system.entry.js +4 -0
  528. package/dist/ionic/p-1126b6fb.entry.js +4 -0
  529. package/dist/ionic/p-116239e0.system.entry.js +4 -0
  530. package/dist/ionic/p-11f25a12.system.js +4 -0
  531. package/dist/ionic/{p-de55ec45.js → p-139e8ff1.js} +1 -1
  532. package/dist/ionic/p-13aa1338.entry.js +4 -0
  533. package/dist/ionic/p-16b3b748.system.js +4 -0
  534. package/dist/ionic/p-18d1e318.system.js +4 -0
  535. package/dist/ionic/p-197fca36.system.entry.js +4 -0
  536. package/dist/ionic/{p-8a50f8d6.system.js → p-19ea7bff.system.js} +1 -1
  537. package/dist/ionic/{p-98e6b3b8.system.js → p-1a488d6f.system.js} +1 -1
  538. package/dist/ionic/p-1f04779e.entry.js +4 -0
  539. package/dist/ionic/p-226bdf0f.entry.js +4 -0
  540. package/dist/ionic/p-23132e1f.js +4 -0
  541. package/dist/ionic/p-23a3320b.js +4 -0
  542. package/dist/ionic/p-23e053d0.system.entry.js +4 -0
  543. package/dist/ionic/p-24cc69ab.entry.js +4 -0
  544. package/dist/ionic/p-24e9aa21.entry.js +4 -0
  545. package/dist/ionic/p-29ceda88.js +4 -0
  546. package/dist/ionic/p-2a4641fb.system.entry.js +4 -0
  547. package/dist/ionic/p-2bc784c2.system.entry.js +4 -0
  548. package/dist/ionic/p-2c8cb8c0.system.entry.js +4 -0
  549. package/dist/ionic/p-2fad37de.system.entry.js +4 -0
  550. package/dist/ionic/p-30aed000.system.entry.js +4 -0
  551. package/dist/ionic/{p-892e2567.system.entry.js → p-30b7a6a6.system.entry.js} +2 -2
  552. package/dist/ionic/p-322eb715.system.js +4 -0
  553. package/dist/ionic/{p-8d4d902b.js → p-34b11c24.js} +1 -1
  554. package/dist/ionic/p-35b46c05.entry.js +4 -0
  555. package/dist/ionic/p-365d2cfe.system.entry.js +4 -0
  556. package/dist/ionic/p-385c76dc.system.entry.js +4 -0
  557. package/dist/ionic/p-3ad285e3.system.js +4 -0
  558. package/dist/ionic/p-3b03dd5b.entry.js +4 -0
  559. package/dist/ionic/{p-15708968.js → p-3cc276f4.js} +1 -1
  560. package/dist/ionic/p-3d7001d7.js +4 -0
  561. package/dist/ionic/p-3e47e61e.entry.js +4 -0
  562. package/dist/ionic/p-3e8cfe35.system.entry.js +4 -0
  563. package/dist/ionic/p-3e9e667a.entry.js +4 -0
  564. package/dist/ionic/p-3ecd1809.entry.js +4 -0
  565. package/dist/ionic/p-3ed32307.system.entry.js +4 -0
  566. package/dist/ionic/p-41908d5c.entry.js +4 -0
  567. package/dist/ionic/{p-d9b6b588.entry.js → p-44d8d5c3.entry.js} +1 -1
  568. package/dist/ionic/p-45684f75.system.entry.js +4 -0
  569. package/dist/ionic/p-46e489c1.entry.js +4 -0
  570. package/dist/ionic/p-4c2d5b80.system.js +4 -0
  571. package/dist/ionic/p-4c55c5ce.entry.js +4 -0
  572. package/dist/ionic/p-4c6278ca.system.entry.js +4 -0
  573. package/dist/ionic/p-4e7a18b3.entry.js +4 -0
  574. package/dist/ionic/p-4f30e4c3.system.entry.js +4 -0
  575. package/dist/ionic/p-52698131.entry.js +4 -0
  576. package/dist/ionic/p-56dfd814.entry.js +4 -0
  577. package/dist/ionic/{p-ab427719.entry.js → p-57082094.entry.js} +1 -1
  578. package/dist/ionic/{p-ceceac26.js → p-57a4c6c3.js} +1 -1
  579. package/dist/ionic/{p-c8d61b6c.system.entry.js → p-57b76977.system.entry.js} +1 -1
  580. package/dist/ionic/p-5919403e.js +4 -0
  581. package/dist/ionic/p-5fed4c24.system.entry.js +4 -0
  582. package/dist/ionic/p-605c456e.system.entry.js +4 -0
  583. package/dist/ionic/p-6087c7ac.system.entry.js +4 -0
  584. package/dist/ionic/p-617a8c10.system.entry.js +4 -0
  585. package/dist/ionic/p-62ad354a.system.entry.js +4 -0
  586. package/dist/ionic/{p-0a8a78db.system.entry.js → p-644df0cc.system.entry.js} +1 -1
  587. package/dist/ionic/p-6718dfd8.system.entry.js +4 -0
  588. package/dist/ionic/p-6770c46d.system.entry.js +4 -0
  589. package/dist/ionic/p-6981ada8.entry.js +4 -0
  590. package/dist/ionic/p-69e691df.system.entry.js +4 -0
  591. package/dist/ionic/p-6a5b979b.system.js +4 -0
  592. package/dist/ionic/p-6d1854de.system.entry.js +4 -0
  593. package/dist/ionic/p-70a396e0.entry.js +4 -0
  594. package/dist/ionic/p-716cc857.entry.js +4 -0
  595. package/dist/ionic/p-71784639.entry.js +4 -0
  596. package/dist/ionic/p-72812e99.js +4 -0
  597. package/dist/ionic/{p-f2473724.js → p-72bc8a1c.js} +1 -1
  598. package/dist/ionic/p-75257a79.system.js +5 -0
  599. package/dist/ionic/p-77cdf8f0.system.entry.js +4 -0
  600. package/dist/ionic/{p-1e07fdb2.system.entry.js → p-7c6ba817.system.entry.js} +2 -2
  601. package/dist/ionic/p-7d6993fa.entry.js +4 -0
  602. package/dist/ionic/{p-1ea88de9.system.js → p-7fefe43e.system.js} +2 -2
  603. package/dist/ionic/{p-8fe3c4ef.entry.js → p-820be1bf.entry.js} +1 -1
  604. package/dist/ionic/p-84dd4f6c.system.entry.js +4 -0
  605. package/dist/ionic/{p-19f6ac6c.system.js → p-8635f5e6.system.js} +1 -1
  606. package/dist/ionic/p-89b61afc.js +4 -0
  607. package/dist/ionic/{p-12b55b00.system.entry.js → p-8cd83c08.system.entry.js} +1 -1
  608. package/dist/ionic/p-8fbf7c49.entry.js +4 -0
  609. package/dist/ionic/p-8fd110c6.entry.js +4 -0
  610. package/dist/ionic/p-9146695e.system.js +4 -0
  611. package/dist/ionic/p-92b3df98.system.js +4 -0
  612. package/dist/ionic/{p-973c7550.system.entry.js → p-98ced5a7.system.entry.js} +2 -2
  613. package/dist/ionic/p-9a76dbbb.entry.js +4 -0
  614. package/dist/ionic/p-a15ddedb.system.js +4 -0
  615. package/dist/ionic/p-a5456295.entry.js +4 -0
  616. package/dist/ionic/p-a68b1b19.entry.js +4 -0
  617. package/dist/ionic/p-a93873de.system.js +4 -0
  618. package/dist/ionic/{p-df504a37.system.js → p-ac1eb107.system.js} +1 -1
  619. package/dist/ionic/p-ae2c6708.system.entry.js +4 -0
  620. package/dist/ionic/p-ae3fdd38.entry.js +4 -0
  621. package/dist/ionic/{p-eb9803e9.system.js → p-af732189.system.js} +1 -1
  622. package/dist/ionic/p-afeebbc2.entry.js +4 -0
  623. package/dist/ionic/p-b0bd2f28.system.entry.js +4 -0
  624. package/dist/ionic/p-b0da0e7e.entry.js +4 -0
  625. package/dist/ionic/p-b51e4004.js +4 -0
  626. package/dist/ionic/p-b69db5bf.entry.js +4 -0
  627. package/dist/ionic/{p-9f84474d.entry.js → p-b8df09fa.entry.js} +1 -1
  628. package/dist/ionic/p-bb01995b.entry.js +4 -0
  629. package/dist/ionic/p-bb4431d3.entry.js +4 -0
  630. package/dist/ionic/{p-31e02742.system.js → p-c11232d6.system.js} +1 -1
  631. package/dist/ionic/p-c1d0861e.entry.js +4 -0
  632. package/dist/ionic/p-c78731fc.system.js +4 -0
  633. package/dist/ionic/p-c7e16491.js +4 -0
  634. package/dist/ionic/p-c7e3ef1f.js +4 -0
  635. package/dist/ionic/p-c8985963.system.js +4 -0
  636. package/dist/ionic/p-c957dcbd.system.entry.js +4 -0
  637. package/dist/ionic/p-cb4da696.js +5 -0
  638. package/dist/ionic/p-cc1dabd2.system.entry.js +4 -0
  639. package/dist/ionic/p-cd1250d7.js +4 -0
  640. package/dist/ionic/p-cd94b05a.system.entry.js +4 -0
  641. package/dist/ionic/p-d2a65df9.js +4 -0
  642. package/dist/ionic/p-d6788bde.system.entry.js +4 -0
  643. package/dist/ionic/p-d83f3852.system.entry.js +4 -0
  644. package/dist/ionic/p-de5f6929.system.entry.js +4 -0
  645. package/dist/ionic/{p-89ca4c4b.system.js → p-df92bab7.system.js} +1 -1
  646. package/dist/ionic/p-dff73ffc.system.js +4 -0
  647. package/dist/ionic/p-e399a113.entry.js +4 -0
  648. package/dist/ionic/p-e4cd4316.system.entry.js +4 -0
  649. package/dist/ionic/p-e557901b.entry.js +4 -0
  650. package/dist/ionic/p-e62f29e0.system.entry.js +4 -0
  651. package/dist/ionic/p-e7522003.js +4 -0
  652. package/dist/ionic/p-e86fef55.system.js +4 -0
  653. package/dist/ionic/p-eab67c46.system.entry.js +4 -0
  654. package/dist/ionic/p-ed454419.entry.js +4 -0
  655. package/dist/ionic/p-efdba78a.system.entry.js +4 -0
  656. package/dist/ionic/p-f7a041dc.js +4 -0
  657. package/dist/ionic/p-f85988bd.entry.js +4 -0
  658. package/dist/ionic/p-f9398178.entry.js +4 -0
  659. package/dist/ionic/p-f977c8c5.entry.js +4 -0
  660. package/dist/ionic/p-fe1345b7.js +4 -0
  661. package/dist/ionic/{p-97248203.system.entry.js → p-fea6e789.system.entry.js} +1 -1
  662. package/dist/ionic/p-ff584ff5.entry.js +4 -0
  663. package/dist/ionic/p-ff93a0f3.entry.js +4 -0
  664. package/dist/types/components/accordion/accordion.d.ts +2 -1
  665. package/dist/types/components/accordion-group/accordion-group.d.ts +2 -1
  666. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  667. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  668. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  669. package/dist/types/components/alert/alert.d.ts +3 -2
  670. package/dist/types/components/app/app.d.ts +4 -0
  671. package/dist/types/components/avatar/avatar.d.ts +4 -0
  672. package/dist/types/components/back-button/back-button.d.ts +2 -1
  673. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  674. package/dist/types/components/badge/badge.d.ts +2 -1
  675. package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -1
  676. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  677. package/dist/types/components/button/button.d.ts +7 -1
  678. package/dist/types/components/buttons/buttons.d.ts +5 -1
  679. package/dist/types/components/card/card.d.ts +2 -1
  680. package/dist/types/components/card-content/card-content.d.ts +2 -1
  681. package/dist/types/components/card-header/card-header.d.ts +3 -2
  682. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  683. package/dist/types/components/card-title/card-title.d.ts +2 -1
  684. package/dist/types/components/checkbox/checkbox.d.ts +2 -1
  685. package/dist/types/components/chip/chip.d.ts +2 -1
  686. package/dist/types/components/col/col.d.ts +4 -0
  687. package/dist/types/components/content/content.d.ts +3 -0
  688. package/dist/types/components/datetime/datetime-interface.d.ts +10 -0
  689. package/dist/types/components/datetime/datetime.d.ts +12 -2
  690. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  691. package/dist/types/components/datetime/utils/format.d.ts +7 -13
  692. package/dist/types/components/datetime/utils/validate.d.ts +8 -0
  693. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  694. package/dist/types/components/fab/fab.d.ts +4 -0
  695. package/dist/types/components/fab-button/fab-button.d.ts +3 -2
  696. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  697. package/dist/types/components/footer/footer.d.ts +4 -3
  698. package/dist/types/components/grid/grid.d.ts +4 -0
  699. package/dist/types/components/header/header.d.ts +4 -3
  700. package/dist/types/components/img/img.d.ts +3 -0
  701. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  702. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  703. package/dist/types/components/input/input.d.ts +4 -8
  704. package/dist/types/components/item/item.d.ts +4 -35
  705. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  706. package/dist/types/components/item-group/item-group.d.ts +4 -0
  707. package/dist/types/components/item-option/item-option.d.ts +2 -1
  708. package/dist/types/components/item-options/item-options.d.ts +4 -0
  709. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  710. package/dist/types/components/label/label.d.ts +2 -1
  711. package/dist/types/components/list/list.d.ts +2 -1
  712. package/dist/types/components/list-header/list-header.d.ts +2 -1
  713. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  714. package/dist/types/components/loading/loading.d.ts +3 -2
  715. package/dist/types/components/menu/menu-interface.d.ts +1 -0
  716. package/dist/types/components/menu/menu.d.ts +5 -4
  717. package/dist/types/components/menu-button/menu-button.d.ts +2 -1
  718. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  719. package/dist/types/components/modal/modal-interface.d.ts +3 -7
  720. package/dist/types/components/modal/modal.d.ts +2 -1
  721. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  722. package/dist/types/components/nav/nav.d.ts +5 -1
  723. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  724. package/dist/types/components/note/note.d.ts +2 -1
  725. package/dist/types/components/picker/picker.d.ts +2 -1
  726. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  727. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  728. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  729. package/dist/types/components/popover/popover-interface.d.ts +3 -7
  730. package/dist/types/components/popover/popover.d.ts +6 -5
  731. package/dist/types/components/progress-bar/progress-bar.d.ts +2 -1
  732. package/dist/types/components/radio/radio.d.ts +2 -1
  733. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  734. package/dist/types/components/range/range.d.ts +31 -1
  735. package/dist/types/components/refresher/refresher.d.ts +2 -1
  736. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  737. package/dist/types/components/reorder/reorder.d.ts +3 -0
  738. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  739. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  740. package/dist/types/components/route/route.d.ts +4 -0
  741. package/dist/types/components/router/router.d.ts +4 -0
  742. package/dist/types/components/router-link/router-link.d.ts +4 -0
  743. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  744. package/dist/types/components/row/row.d.ts +4 -0
  745. package/dist/types/components/searchbar/searchbar.d.ts +46 -7
  746. package/dist/types/components/segment/segment.d.ts +2 -1
  747. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  748. package/dist/types/components/select/select.d.ts +6 -5
  749. package/dist/types/components/select-option/select-option.d.ts +4 -0
  750. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  751. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  752. package/dist/types/components/spinner/spinner.d.ts +4 -0
  753. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  754. package/dist/types/components/tab/tab.d.ts +4 -0
  755. package/dist/types/components/tab-bar/tab-bar.d.ts +3 -2
  756. package/dist/types/components/tab-button/tab-button.d.ts +2 -1
  757. package/dist/types/components/tabs/tabs.d.ts +3 -0
  758. package/dist/types/components/text/text.d.ts +2 -1
  759. package/dist/types/components/textarea/textarea.d.ts +4 -8
  760. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  761. package/dist/types/components/title/title.d.ts +4 -0
  762. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  763. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  764. package/dist/types/components/toast/toast.d.ts +3 -2
  765. package/dist/types/components/toggle/toggle.d.ts +3 -2
  766. package/dist/types/components/toolbar/toolbar.d.ts +4 -3
  767. package/dist/types/components.d.ts +1220 -206
  768. package/dist/types/global/ionic-global.d.ts +25 -2
  769. package/dist/types/interface.d.ts +3 -0
  770. package/dist/types/utils/animation/animation-utils.d.ts +0 -12
  771. package/dist/types/utils/config.d.ts +17 -2
  772. package/dist/types/utils/focus-trap.d.ts +35 -0
  773. package/dist/types/utils/forms/index.d.ts +0 -1
  774. package/dist/types/utils/hardware-back-button.d.ts +1 -1
  775. package/dist/types/utils/helpers.d.ts +0 -19
  776. package/dist/types/utils/overlays-interface.d.ts +31 -1
  777. package/dist/types/utils/overlays.d.ts +0 -6
  778. package/dist/types/utils/test/playwright/generator.d.ts +9 -2
  779. package/hydrate/index.js +1723 -1180
  780. package/package.json +7 -2
  781. package/components/index9.js +0 -196
  782. package/components/note.js +0 -48
  783. package/css/themes/dark.always.css.map +0 -1
  784. package/css/themes/dark.class.css.map +0 -1
  785. package/css/themes/dark.system.css.map +0 -1
  786. package/css/themes/high-contrast-dark.always.css.map +0 -1
  787. package/css/themes/high-contrast-dark.class.css.map +0 -1
  788. package/css/themes/high-contrast-dark.system.css.map +0 -1
  789. package/css/themes/high-contrast.always.css.map +0 -1
  790. package/css/themes/high-contrast.class.css.map +0 -1
  791. package/css/themes/high-contrast.system.css.map +0 -1
  792. package/dist/cjs/index-5915f9b3.js +0 -38
  793. package/dist/cjs/ionic-global-59a10130.js +0 -230
  794. package/dist/collection/components/item/test/legacy/disabled/item.e2e.js +0 -14
  795. package/dist/collection/components/modal/test/a11y/modal.spec.js +0 -22
  796. package/dist/collection/utils/forms/form-controller.js +0 -61
  797. package/dist/collection/utils/test/aria.spec.js +0 -80
  798. package/dist/esm/index-9b0d46f4.js +0 -34
  799. package/dist/esm/ionic-global-ad9a1810.js +0 -224
  800. package/dist/esm-es5/animation-a4acf150.js +0 -4
  801. package/dist/esm-es5/app-globals-5cf6195b.js +0 -4
  802. package/dist/esm-es5/data-691286f1.js +0 -4
  803. package/dist/esm-es5/haptic-554688a5.js +0 -4
  804. package/dist/esm-es5/hardware-back-button-b410a047.js +0 -4
  805. package/dist/esm-es5/helpers-ae74b3c9.js +0 -4
  806. package/dist/esm-es5/index-1f563746.js +0 -4
  807. package/dist/esm-es5/index-4c30cddd.js +0 -5
  808. package/dist/esm-es5/index-66871a1d.js +0 -4
  809. package/dist/esm-es5/index-8758824c.js +0 -4
  810. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  811. package/dist/esm-es5/input-shims-56c1f603.js +0 -4
  812. package/dist/esm-es5/input.utils-482fc893.js +0 -4
  813. package/dist/esm-es5/ionic-global-ad9a1810.js +0 -4
  814. package/dist/esm-es5/ios.transition-189b73b7.js +0 -4
  815. package/dist/esm-es5/overlays-c69d2a07.js +0 -4
  816. package/dist/esm-es5/status-tap-1d638ee6.js +0 -4
  817. package/dist/ionic/p-00a762c9.entry.js +0 -4
  818. package/dist/ionic/p-0612cdcc.system.entry.js +0 -4
  819. package/dist/ionic/p-069388dd.system.js +0 -4
  820. package/dist/ionic/p-06fee233.js +0 -4
  821. package/dist/ionic/p-0b34d3a7.system.js +0 -4
  822. package/dist/ionic/p-0dca0eee.system.entry.js +0 -4
  823. package/dist/ionic/p-0dfbbdbe.entry.js +0 -4
  824. package/dist/ionic/p-0f25a7bb.system.js +0 -4
  825. package/dist/ionic/p-11bb459e.system.entry.js +0 -4
  826. package/dist/ionic/p-13e8ad2e.entry.js +0 -4
  827. package/dist/ionic/p-16e06393.system.js +0 -4
  828. package/dist/ionic/p-17082c91.system.js +0 -4
  829. package/dist/ionic/p-174856b4.system.js +0 -4
  830. package/dist/ionic/p-174b0d50.system.entry.js +0 -4
  831. package/dist/ionic/p-1a4db355.system.entry.js +0 -4
  832. package/dist/ionic/p-1d545773.entry.js +0 -4
  833. package/dist/ionic/p-1deadb7f.system.js +0 -4
  834. package/dist/ionic/p-1df25966.entry.js +0 -4
  835. package/dist/ionic/p-1f79e54a.entry.js +0 -4
  836. package/dist/ionic/p-2b3544ad.entry.js +0 -4
  837. package/dist/ionic/p-2c768965.entry.js +0 -4
  838. package/dist/ionic/p-2dcf2ec2.system.entry.js +0 -4
  839. package/dist/ionic/p-3209217f.entry.js +0 -4
  840. package/dist/ionic/p-32fb7d95.entry.js +0 -4
  841. package/dist/ionic/p-34d0f143.system.entry.js +0 -4
  842. package/dist/ionic/p-3807cd45.system.entry.js +0 -4
  843. package/dist/ionic/p-385f66bc.entry.js +0 -4
  844. package/dist/ionic/p-3c47c5c8.system.entry.js +0 -4
  845. package/dist/ionic/p-3c51cf97.system.entry.js +0 -4
  846. package/dist/ionic/p-3d77b300.system.entry.js +0 -4
  847. package/dist/ionic/p-415ccddd.entry.js +0 -4
  848. package/dist/ionic/p-42f189f4.js +0 -4
  849. package/dist/ionic/p-446f3909.system.entry.js +0 -4
  850. package/dist/ionic/p-4a8f173c.system.js +0 -4
  851. package/dist/ionic/p-4aba0454.system.entry.js +0 -4
  852. package/dist/ionic/p-4bbc949f.system.entry.js +0 -4
  853. package/dist/ionic/p-4dfe0487.system.entry.js +0 -4
  854. package/dist/ionic/p-4e7abe76.js +0 -4
  855. package/dist/ionic/p-5133c4a3.system.entry.js +0 -4
  856. package/dist/ionic/p-5289aade.js +0 -4
  857. package/dist/ionic/p-5797981d.system.entry.js +0 -4
  858. package/dist/ionic/p-5d530ae5.entry.js +0 -4
  859. package/dist/ionic/p-5d64e680.entry.js +0 -4
  860. package/dist/ionic/p-5d7e32ce.js +0 -4
  861. package/dist/ionic/p-5dbf7222.entry.js +0 -4
  862. package/dist/ionic/p-5e70f800.system.entry.js +0 -4
  863. package/dist/ionic/p-5eabaa80.js +0 -4
  864. package/dist/ionic/p-5f9fbad0.entry.js +0 -4
  865. package/dist/ionic/p-60a92a48.system.entry.js +0 -4
  866. package/dist/ionic/p-640fac4a.system.entry.js +0 -4
  867. package/dist/ionic/p-6525a8cd.system.js +0 -4
  868. package/dist/ionic/p-66e6860f.system.js +0 -4
  869. package/dist/ionic/p-67c4deed.system.entry.js +0 -4
  870. package/dist/ionic/p-6ad90d41.entry.js +0 -4
  871. package/dist/ionic/p-6aeb0272.entry.js +0 -4
  872. package/dist/ionic/p-6d659d62.entry.js +0 -4
  873. package/dist/ionic/p-6dbea874.system.entry.js +0 -4
  874. package/dist/ionic/p-6e14d3ca.system.entry.js +0 -4
  875. package/dist/ionic/p-717c4b72.entry.js +0 -4
  876. package/dist/ionic/p-7292add8.entry.js +0 -4
  877. package/dist/ionic/p-72fa96bf.system.js +0 -5
  878. package/dist/ionic/p-75861cd3.entry.js +0 -4
  879. package/dist/ionic/p-760dbd5e.js +0 -4
  880. package/dist/ionic/p-7e185a31.entry.js +0 -4
  881. package/dist/ionic/p-80704be1.entry.js +0 -4
  882. package/dist/ionic/p-816476b0.system.js +0 -4
  883. package/dist/ionic/p-842777af.js +0 -4
  884. package/dist/ionic/p-8ab308e9.js +0 -4
  885. package/dist/ionic/p-8b8b900d.entry.js +0 -4
  886. package/dist/ionic/p-916a4e14.entry.js +0 -4
  887. package/dist/ionic/p-93e79b55.js +0 -4
  888. package/dist/ionic/p-94f85e19.system.entry.js +0 -4
  889. package/dist/ionic/p-96107183.js +0 -4
  890. package/dist/ionic/p-986a47ee.system.entry.js +0 -4
  891. package/dist/ionic/p-993da5df.entry.js +0 -4
  892. package/dist/ionic/p-9c93fdcd.js +0 -4
  893. package/dist/ionic/p-9d6f351e.js +0 -4
  894. package/dist/ionic/p-9d795c4b.entry.js +0 -4
  895. package/dist/ionic/p-9e3b3f15.system.js +0 -4
  896. package/dist/ionic/p-9ecc1e42.entry.js +0 -4
  897. package/dist/ionic/p-a6cc38d4.js +0 -4
  898. package/dist/ionic/p-aaaefef6.entry.js +0 -4
  899. package/dist/ionic/p-acf70e64.system.entry.js +0 -4
  900. package/dist/ionic/p-b2d58604.system.entry.js +0 -4
  901. package/dist/ionic/p-b434ded7.system.entry.js +0 -4
  902. package/dist/ionic/p-bca27ea7.entry.js +0 -4
  903. package/dist/ionic/p-c68e75ea.system.js +0 -4
  904. package/dist/ionic/p-c6dbc089.system.entry.js +0 -4
  905. package/dist/ionic/p-c880c809.js +0 -4
  906. package/dist/ionic/p-c995da88.system.js +0 -4
  907. package/dist/ionic/p-c9e21694.system.entry.js +0 -4
  908. package/dist/ionic/p-cb944b1a.system.js +0 -4
  909. package/dist/ionic/p-cd0ffc8c.entry.js +0 -4
  910. package/dist/ionic/p-cefbb7b7.entry.js +0 -4
  911. package/dist/ionic/p-d13689a6.entry.js +0 -4
  912. package/dist/ionic/p-d47a1a78.system.entry.js +0 -4
  913. package/dist/ionic/p-d7c78a97.system.entry.js +0 -4
  914. package/dist/ionic/p-d7dc29c5.entry.js +0 -4
  915. package/dist/ionic/p-d84c9fc4.entry.js +0 -4
  916. package/dist/ionic/p-d8643420.system.entry.js +0 -4
  917. package/dist/ionic/p-dd7c79ce.system.entry.js +0 -4
  918. package/dist/ionic/p-de0a7606.system.entry.js +0 -4
  919. package/dist/ionic/p-df6a1571.entry.js +0 -4
  920. package/dist/ionic/p-e1819aee.js +0 -4
  921. package/dist/ionic/p-e311af42.entry.js +0 -4
  922. package/dist/ionic/p-e46adaf1.system.entry.js +0 -4
  923. package/dist/ionic/p-e4eeb3af.entry.js +0 -4
  924. package/dist/ionic/p-e755046f.system.entry.js +0 -4
  925. package/dist/ionic/p-ec77b7ad.system.entry.js +0 -4
  926. package/dist/ionic/p-ed7a529f.js +0 -5
  927. package/dist/ionic/p-ef636601.entry.js +0 -4
  928. package/dist/ionic/p-ef9736b9.entry.js +0 -4
  929. package/dist/ionic/p-f0a7e80b.js +0 -4
  930. package/dist/ionic/p-f7c3d736.system.entry.js +0 -4
  931. package/dist/ionic/p-f7ccf8d9.entry.js +0 -4
  932. package/dist/ionic/p-f7d802e1.entry.js +0 -4
  933. package/dist/ionic/p-fd783a38.system.entry.js +0 -4
  934. package/dist/ionic/p-ff4b7e40.system.js +0 -4
  935. package/dist/types/utils/forms/form-controller.d.ts +0 -15
  936. package/css/{themes → palettes}/dark.always.css +0 -0
  937. package/css/{themes → palettes}/dark.css +0 -0
  938. package/css/{themes → palettes}/dark.css.map +0 -0
  939. package/css/{themes → palettes}/dark.system.css +0 -0
  940. package/css/{themes → palettes}/high-contrast-dark.always.css +1 -1
  941. package/css/{themes → palettes}/high-contrast-dark.css +0 -0
  942. package/css/{themes → palettes}/high-contrast-dark.css.map +0 -0
  943. package/css/{themes → palettes}/high-contrast-dark.system.css +1 -1
  944. package/css/{themes → palettes}/high-contrast.always.css +25 -25
  945. package/css/{themes → palettes}/high-contrast.css +0 -0
  946. package/css/{themes → palettes}/high-contrast.css.map +0 -0
  947. package/css/{themes → palettes}/high-contrast.system.css +25 -25
@@ -1,13 +1,12 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, d as createEvent, h, H as Host, f as getElement } from './index-4c30cddd.js';
5
- import { f as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-66871a1d.js';
6
- import { j as clamp, e as debounceEvent, i as inheritAriaAttributes, l as getAriaLabel, d as renderHiddenInput } from './helpers-ae74b3c9.js';
7
- import { p as printIonWarning } from './index-9b0d46f4.js';
4
+ import { r as registerInstance, e as createEvent, h, i as Host, g as getElement } from './index-3a495cc6.js';
5
+ import { f as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-4bbc4ca3.js';
6
+ import { j as clamp, e as debounceEvent, i as inheritAriaAttributes, d as renderHiddenInput } from './helpers-da915de8.js';
7
+ import { p as printIonWarning, d as getIonTheme } from './ionic-global-d47e129d.js';
8
8
  import { i as isRTL } from './dir-babeabeb.js';
9
9
  import { h as hostContext, c as createColorClasses } from './theme-01f3f29c.js';
10
- import { b as getIonMode } from './ionic-global-ad9a1810.js';
11
10
 
12
11
  function getDecimalPlaces(n) {
13
12
  if (n % 1 === 0)
@@ -51,6 +50,9 @@ function roundToMaxDecimalPlaces(n, ...references) {
51
50
  return Number(n.toFixed(maxPlaces));
52
51
  }
53
52
 
53
+ const ionicRangeMdCss = ":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);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-pack:center;justify-content:center;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}.range-knob-handle{inset-inline-start: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)}.range-bar-container{inset-inline-start: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}.range-knob{inset-inline-start: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;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:dir(rtl)) .label-text-wrapper{-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, 0, 84, 233), 0.26);--bar-background-active:var(--ion-color-primary, #0054e9);--bar-border-radius:0;--height:42px;--pin-background:var(--ion-color-primary, #0054e9);--pin-color:var(--ion-color-primary-contrast, #fff)}::slotted(:not(ion-icon)[slot=start]),::slotted(:not(ion-icon)[slot=end]),.native-wrapper{font-size:0.75rem}: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:1.75rem}:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper{margin-bottom:1.75rem}.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}.range-knob::before{inset-inline-start: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:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:1.75rem;height:1.75rem;-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)}.range-pin::before{bottom:-1px;-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}.range-pin::before{inset-inline-start: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, calc(-100% + 4px), 0) scale(1);transform:translate3d(0, calc(-100% + 4px), 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, var(--ion-background-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, var(--ion-background-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}";
54
+ const IonRangeIonicStyle0 = ionicRangeMdCss;
55
+
54
56
  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);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-pack:center;justify-content:center;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}.range-knob-handle{inset-inline-start: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)}.range-bar-container{inset-inline-start: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}.range-knob{inset-inline-start: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;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:dir(rtl)) .label-text-wrapper{-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, var(--ion-background-color-step-900, #e6e6e6));--bar-background-active:var(--ion-color-primary, #0054e9);--bar-border-radius:2px;--height:42px}: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:calc(8px + 0.75rem)}:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper{margin-bottom:calc(8px + 0.75rem)}.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, var(--ion-background-color-step-900, #e6e6e6));pointer-events:none}.range-tick-active{background:var(--bar-background-active)}.range-pin{-webkit-transform:translate3d(0, 100%, 0) scale(0.01);transform:translate3d(0, 100%, 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;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:0.75rem;text-align:center}.range-knob-pressed .range-pin,.range-knob-handle.ion-focused .range-pin{-webkit-transform:translate3d(0, calc(-100% + 11px), 0) scale(1);transform:translate3d(0, calc(-100% + 11px), 0) scale(1)}:host(.range-disabled){opacity:0.3}";
55
57
  const IonRangeIosStyle0 = rangeIosCss;
56
58
 
@@ -94,8 +96,14 @@ const Range = class {
94
96
  el: rangeSlider,
95
97
  gestureName: 'range',
96
98
  gesturePriority: 100,
97
- threshold: 0,
98
- onStart: (ev) => this.onStart(ev),
99
+ /**
100
+ * Provide a threshold since the drag movement
101
+ * might be a user scrolling the view.
102
+ * If this is true, then the range
103
+ * should not move.
104
+ */
105
+ threshold: 10,
106
+ onStart: () => this.onStart(),
99
107
  onMove: (ev) => this.onMove(ev),
100
108
  onEnd: (ev) => this.onEnd(ev),
101
109
  });
@@ -261,33 +269,93 @@ const Range = class {
261
269
  this.value = this.ensureValueInBounds(this.value);
262
270
  this.ionChange.emit({ value: this.value });
263
271
  }
264
- onStart(detail) {
265
- const { contentEl } = this;
266
- if (contentEl) {
272
+ /**
273
+ * The value should be updated on touch end or
274
+ * when the component is being dragged.
275
+ * This follows the native behavior of mobile devices.
276
+ *
277
+ * For example: When the user lifts their finger from the
278
+ * screen after tapping the bar or dragging the bar or knob.
279
+ */
280
+ onStart() {
281
+ this.ionKnobMoveStart.emit({ value: this.ensureValueInBounds(this.value) });
282
+ }
283
+ /**
284
+ * The value should be updated while dragging the
285
+ * bar or knob.
286
+ *
287
+ * While the user is dragging, the view
288
+ * should not scroll. This is to prevent the user from
289
+ * feeling disoriented while dragging.
290
+ *
291
+ * The user can scroll on the view if the knob or
292
+ * bar is not being dragged.
293
+ *
294
+ * @param detail The details of the gesture event.
295
+ */
296
+ onMove(detail) {
297
+ const { contentEl, pressedKnob } = this;
298
+ const currentX = detail.currentX;
299
+ /**
300
+ * Since the user is dragging on the bar or knob, the view should not scroll.
301
+ *
302
+ * This only needs to be done once.
303
+ */
304
+ if (contentEl && this.initialContentScrollY === undefined) {
267
305
  this.initialContentScrollY = disableContentScrollY(contentEl);
268
306
  }
269
- const rect = (this.rect = this.rangeSlider.getBoundingClientRect());
270
- const currentX = detail.currentX;
271
- // figure out which knob they started closer to
272
- let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);
273
- if (isRTL(this.el)) {
274
- ratio = 1 - ratio;
307
+ /**
308
+ * The `pressedKnob` can be undefined if the user just
309
+ * started dragging the knob.
310
+ *
311
+ * This is necessary to determine which knob the user is dragging,
312
+ * especially when it's a dual knob.
313
+ * Plus, it determines when to apply certain styles.
314
+ *
315
+ * This only needs to be done once since the knob won't change
316
+ * while the user is dragging.
317
+ */
318
+ if (pressedKnob === undefined) {
319
+ this.setPressedKnob(currentX);
275
320
  }
276
- this.pressedKnob = !this.dualKnobs || Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio) ? 'A' : 'B';
277
- this.setFocus(this.pressedKnob);
278
- // update the active knob's position
279
321
  this.update(currentX);
280
- this.ionKnobMoveStart.emit({ value: this.ensureValueInBounds(this.value) });
281
- }
282
- onMove(detail) {
283
- this.update(detail.currentX);
284
322
  }
323
+ /**
324
+ * The value should be updated on touch end:
325
+ * - When the user lifts their finger from the screen after
326
+ * tapping the bar.
327
+ *
328
+ * @param detail The details of the gesture or mouse event.
329
+ */
285
330
  onEnd(detail) {
286
331
  const { contentEl, initialContentScrollY } = this;
287
- if (contentEl) {
332
+ const currentX = detail.currentX || detail.clientX;
333
+ /**
334
+ * The `pressedKnob` can be undefined if the user never
335
+ * dragged the knob. They just tapped on the bar.
336
+ *
337
+ * This is necessary to determine which knob the user is changing,
338
+ * especially when it's a dual knob.
339
+ * Plus, it determines when to apply certain styles.
340
+ */
341
+ if (this.pressedKnob === undefined) {
342
+ this.setPressedKnob(currentX);
343
+ }
344
+ /**
345
+ * The user is no longer dragging the bar or
346
+ * knob (if they were dragging it).
347
+ *
348
+ * The user can now scroll on the view in the next gesture event.
349
+ */
350
+ if (contentEl && initialContentScrollY !== undefined) {
288
351
  resetContentScrollY(contentEl, initialContentScrollY);
289
352
  }
290
- this.update(detail.currentX);
353
+ // update the active knob's position
354
+ this.update(currentX);
355
+ /**
356
+ * Reset the pressed knob to undefined since the user
357
+ * may start dragging a different knob in the next gesture event.
358
+ */
291
359
  this.pressedKnob = undefined;
292
360
  this.emitValueChange();
293
361
  this.ionKnobMoveEnd.emit({ value: this.ensureValueInBounds(this.value) });
@@ -314,6 +382,16 @@ const Range = class {
314
382
  // Update input value
315
383
  this.updateValue();
316
384
  }
385
+ setPressedKnob(currentX) {
386
+ const rect = (this.rect = this.rangeSlider.getBoundingClientRect());
387
+ // figure out which knob they started closer to
388
+ let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);
389
+ if (isRTL(this.el)) {
390
+ ratio = 1 - ratio;
391
+ }
392
+ this.pressedKnob = !this.dualKnobs || Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio) ? 'A' : 'B';
393
+ this.setFocus(this.pressedKnob);
394
+ }
317
395
  get valA() {
318
396
  return ratioToValue(this.ratioA, this.min, this.max, this.step);
319
397
  }
@@ -384,16 +462,7 @@ const Range = class {
384
462
  }
385
463
  renderRangeSlider() {
386
464
  var _a;
387
- const { min, max, step, el, handleKeyboard, pressedKnob, disabled, pin, ratioLower, ratioUpper, inheritedAttributes, rangeId, pinFormatter, } = this;
388
- /**
389
- * Look for external label, ion-label, or aria-labelledby.
390
- * If none, see if user placed an aria-label on the host
391
- * and use that instead.
392
- */
393
- let { labelText } = getAriaLabel(el, rangeId);
394
- if (labelText === undefined || labelText === null) {
395
- labelText = inheritedAttributes['aria-label'];
396
- }
465
+ const { min, max, step, handleKeyboard, pressedKnob, disabled, pin, ratioLower, ratioUpper, pinFormatter, inheritedAttributes, } = this;
397
466
  let barStart = `${ratioLower * 100}%`;
398
467
  let barEnd = `${100 - ratioUpper * 100}%`;
399
468
  const rtl = isRTL(this.el);
@@ -453,11 +522,36 @@ const Range = class {
453
522
  ticks.push(tick);
454
523
  }
455
524
  }
456
- let labelledBy;
457
- if (this.hasLabel) {
458
- labelledBy = 'range-label';
459
- }
460
- return (h("div", { class: "range-slider", ref: (rangeEl) => (this.rangeSlider = rangeEl) }, ticks.map((tick) => (h("div", { style: tickStyle(tick), role: "presentation", class: {
525
+ return (h("div", { class: "range-slider", ref: (rangeEl) => (this.rangeSlider = rangeEl),
526
+ /**
527
+ * Since the gesture has a threshold, the value
528
+ * won't change until the user has dragged past
529
+ * the threshold. This is to prevent the range
530
+ * from moving when the user is scrolling.
531
+ *
532
+ * This results in the value not being updated
533
+ * and the event emitters not being triggered
534
+ * if the user taps on the range. This is why
535
+ * we need to listen for the "pointerUp" event.
536
+ */
537
+ onPointerUp: (ev) => {
538
+ /**
539
+ * If the user drags the knob on the web
540
+ * version (does not occur on mobile),
541
+ * the "pointerUp" event will be triggered
542
+ * along with the gesture's events.
543
+ * This leads to duplicate events.
544
+ *
545
+ * By checking if the pressedKnob is undefined,
546
+ * we can determine if the "pointerUp" event was
547
+ * triggered by a tap or a drag. If it was
548
+ * dragged, the pressedKnob will be defined.
549
+ */
550
+ if (this.pressedKnob === undefined) {
551
+ this.onStart();
552
+ this.onEnd(ev);
553
+ }
554
+ } }, ticks.map((tick) => (h("div", { style: tickStyle(tick), role: "presentation", class: {
461
555
  'range-tick': true,
462
556
  'range-tick-active': tick.active,
463
557
  }, part: tick.active ? 'tick-active' : 'tick' }))), h("div", { class: "range-bar-container" }, h("div", { class: "range-bar", role: "presentation", part: "bar" }), h("div", { class: {
@@ -475,8 +569,7 @@ const Range = class {
475
569
  handleKeyboard,
476
570
  min,
477
571
  max,
478
- labelText,
479
- labelledBy,
572
+ inheritedAttributes,
480
573
  }), this.dualKnobs &&
481
574
  renderKnob(rtl, {
482
575
  knob: 'B',
@@ -489,8 +582,7 @@ const Range = class {
489
582
  handleKeyboard,
490
583
  min,
491
584
  max,
492
- labelText,
493
- labelledBy,
585
+ inheritedAttributes,
494
586
  })));
495
587
  }
496
588
  render() {
@@ -508,10 +600,10 @@ const Range = class {
508
600
  */
509
601
  const hasEndContent = (hasLabel && labelPlacement === 'end') || this.hasEndSlotContent;
510
602
  const needsEndAdjustment = inItem && !hasEndContent;
511
- const mode = getIonMode(this);
603
+ const theme = getIonTheme(this);
512
604
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
513
- return (h(Host, { key: 'ff8dbbb4e0c8b9802408a40fa0d93528ec730a9f', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
514
- [mode]: true,
605
+ return (h(Host, { key: 'bd88c11374e23af08980f6857ac559a6650f157a', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
606
+ [theme]: true,
515
607
  'in-item': inItem,
516
608
  'range-disabled': disabled,
517
609
  'range-pressed': pressedKnob !== undefined,
@@ -519,10 +611,10 @@ const Range = class {
519
611
  [`range-label-placement-${labelPlacement}`]: true,
520
612
  'range-item-start-adjustment': needsStartAdjustment,
521
613
  'range-item-end-adjustment': needsEndAdjustment,
522
- }) }, h("label", { key: '2164b0ec67215d7791d795a1f6274b595ad74d80', class: "range-wrapper", id: "range-label" }, h("div", { key: '717346e2bcfb29a3a5ef39b5fec226d484aa1f46', class: {
614
+ }) }, h("label", { key: '4edae72dbabdae42752f62a0b59ca91c399a465d', class: "range-wrapper", id: "range-label" }, h("div", { key: 'a56572f64fbc9f58e91e5e7afd4bcdcda4960bb5', class: {
523
615
  'label-text-wrapper': true,
524
616
  'label-text-wrapper-hidden': !hasLabel,
525
- }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: 'a6ffff056ab81a45f1a0b38fa42031c51ceabb52', class: "native-wrapper" }, h("slot", { key: 'df3f155a9886cc62d3f0d23467c406c52cd3e082', name: "start" }), this.renderRangeSlider(), h("slot", { key: '3fab316ecdff317c07010a204d89e85af12d347e', name: "end" })))));
617
+ }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '72312c03563083dff4c8d4dcd6b86094461662d8', class: "native-wrapper" }, h("slot", { key: '471947329ba067b0ece4d1c88ed7137f314d086d', name: "start" }), this.renderRangeSlider(), h("slot", { key: '6d686e374d125a7953e7b24cf7b7c008f0a6ffed', name: "end" })))));
526
618
  }
527
619
  get el() { return getElement(this); }
528
620
  static get watchers() { return {
@@ -534,13 +626,15 @@ const Range = class {
534
626
  "value": ["valueChanged"]
535
627
  }; }
536
628
  };
537
- const renderKnob = (rtl, { knob, value, ratio, min, max, disabled, pressed, pin, handleKeyboard, labelText, labelledBy, pinFormatter, }) => {
629
+ const renderKnob = (rtl, { knob, value, ratio, min, max, disabled, pressed, pin, handleKeyboard, pinFormatter, inheritedAttributes }) => {
538
630
  const start = rtl ? 'right' : 'left';
539
631
  const knobStyle = () => {
540
632
  const style = {};
541
633
  style[start] = `${ratio * 100}%`;
542
634
  return style;
543
635
  };
636
+ // The aria label should be preferred over visible text if both are specified
637
+ const ariaLabel = inheritedAttributes['aria-label'];
544
638
  return (h("div", { onKeyDown: (ev) => {
545
639
  const key = ev.key;
546
640
  if (key === 'ArrowLeft' || key === 'ArrowDown') {
@@ -562,7 +656,7 @@ const renderKnob = (rtl, { knob, value, ratio, min, max, disabled, pressed, pin,
562
656
  'range-knob-max': value === max,
563
657
  'ion-activatable': true,
564
658
  'ion-focusable': true,
565
- }, style: knobStyle(), role: "slider", tabindex: disabled ? -1 : 0, "aria-label": labelledBy === undefined ? labelText : null, "aria-labelledby": labelledBy !== undefined ? labelledBy : null, "aria-valuemin": min, "aria-valuemax": max, "aria-disabled": disabled ? 'true' : null, "aria-valuenow": value }, pin && (h("div", { class: "range-pin", role: "presentation", part: "pin" }, pinFormatter(value))), h("div", { class: "range-knob", role: "presentation", part: "knob" })));
659
+ }, style: knobStyle(), role: "slider", tabindex: disabled ? -1 : 0, "aria-label": ariaLabel !== undefined ? ariaLabel : null, "aria-labelledby": ariaLabel === undefined ? 'range-label' : null, "aria-valuemin": min, "aria-valuemax": max, "aria-disabled": disabled ? 'true' : null, "aria-valuenow": value }, pin && (h("div", { class: "range-pin", role: "presentation", part: "pin" }, pinFormatter(value))), h("div", { class: "range-knob", role: "presentation", part: "knob" })));
566
660
  };
567
661
  const ratioToValue = (ratio, min, max, step) => {
568
662
  let value = (max - min) * ratio;
@@ -578,6 +672,7 @@ const valueToRatio = (value, min, max) => {
578
672
  };
579
673
  let rangeIds = 0;
580
674
  Range.style = {
675
+ ionic: IonRangeIonicStyle0,
581
676
  ios: IonRangeIosStyle0,
582
677
  md: IonRangeMdStyle0
583
678
  };
@@ -1,17 +1,16 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as writeTask, r as registerInstance, d as createEvent, e as readTask, h, f as getElement, H as Host } from './index-4c30cddd.js';
4
+ import { w as writeTask, r as registerInstance, e as createEvent, f as readTask, h, g as getElement, i as Host } from './index-3a495cc6.js';
5
5
  import { g as getTimeGivenProgression } from './cubic-bezier-fe2083dc.js';
6
- import { I as ION_CONTENT_CLASS_SELECTOR, b as ION_CONTENT_ELEMENT_SELECTOR, p as printIonContentErrorMsg, g as getScrollElement } from './index-66871a1d.js';
7
- import { t as transitionEndAsync, c as componentOnReady, j as clamp, g as getElementRoot, r as raf } from './helpers-ae74b3c9.js';
8
- import { d as hapticImpact, I as ImpactStyle } from './haptic-554688a5.js';
9
- import { b as getIonMode, c as config } from './ionic-global-ad9a1810.js';
10
- import { c as createAnimation } from './animation-a4acf150.js';
6
+ import { I as ION_CONTENT_CLASS_SELECTOR, b as ION_CONTENT_ELEMENT_SELECTOR, p as printIonContentErrorMsg, g as getScrollElement } from './index-4bbc4ca3.js';
7
+ import { t as transitionEndAsync, c as componentOnReady, j as clamp, g as getElementRoot, r as raf } from './helpers-da915de8.js';
8
+ import { d as hapticImpact, I as ImpactStyle } from './haptic-ac164e4c.js';
9
+ import { b as getIonMode, d as getIonTheme, c as config } from './ionic-global-d47e129d.js';
10
+ import { c as createAnimation } from './animation-eab5a4ca.js';
11
11
  import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-49c88215.js';
12
12
  import { h as caretBackSharp, i as arrowDown } from './index-f7dc70ba.js';
13
13
  import { S as SPINNERS } from './spinner-configs-964f7cf3.js';
14
- import './index-9b0d46f4.js';
15
14
  import './capacitor-59395cbd.js';
16
15
  import './index-a5d50daf.js';
17
16
 
@@ -203,6 +202,9 @@ const shouldUseNativeRefresher = async (referenceEl, mode) => {
203
202
  ((mode === 'ios' && supportsRubberBandScrolling()) || mode === 'md'));
204
203
  };
205
204
 
205
+ const ionicRefresherMdCss = "ion-refresher{top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}ion-refresher{inset-inline-start:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{-webkit-transform-origin:center;transform-origin:center;-webkit-transition:200ms;transition:200ms;font-size:30px;text-align:center}:host-context([dir=rtl]) .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}[dir=rtl] .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}@supports selector(:dir(rtl)){.refresher-pulling-icon:dir(rtl),.refresher-refreshing-icon:dir(rtl){-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-md .refresher-pulling-icon,.refresher-md .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-md .refresher-pulling-text,.refresher-md .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-lines-md line,.refresher-md .refresher-refreshing .spinner-lines-small-md line,.refresher-md .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-bubbles circle,.refresher-md .refresher-refreshing .spinner-circles circle,.refresher-md .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;width:24px;height:24px;color:var(--ion-color-primary, #0054e9)}ion-refresher.refresher-native .spinner-arrow-container{display:inherit}ion-refresher.refresher-native .arrow-container{display:block;position:absolute;width:24px;height:24px}ion-refresher.refresher-native .arrow-container ion-icon{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;left:0;right:0;bottom:-4px;position:absolute;color:var(--ion-color-primary, #0054e9);font-size:12px}ion-refresher.refresher-native.refresher-pulling ion-refresher-content .refresher-pulling,ion-refresher.refresher-native.refresher-ready ion-refresher-content .refresher-pulling{display:-ms-flexbox;display:flex}ion-refresher.refresher-native.refresher-refreshing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-cancelling ion-refresher-content .refresher-refreshing{display:-ms-flexbox;display:flex}ion-refresher.refresher-native .refresher-pulling-icon{-webkit-transform:translateY(calc(-100% - 10px));transform:translateY(calc(-100% - 10px))}ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;border-radius:100%;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;display:-ms-flexbox;display:flex;border:1px solid var(--ion-color-step-200, var(--ion-background-color-step-200, #ececec));background:var(--ion-color-step-250, var(--ion-background-color-step-250, #ffffff));-webkit-box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1);box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1)}";
206
+ const IonRefresherIonicStyle0 = ionicRefresherMdCss;
207
+
206
208
  const refresherIosCss = "ion-refresher{top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}ion-refresher{inset-inline-start:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{-webkit-transform-origin:center;transform-origin:center;-webkit-transition:200ms;transition:200ms;font-size:30px;text-align:center}:host-context([dir=rtl]) .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}[dir=rtl] .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}@supports selector(:dir(rtl)){.refresher-pulling-icon:dir(rtl),.refresher-refreshing-icon:dir(rtl){-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{-webkit-transform:scale(0);transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-ios .refresher-pulling-icon,.refresher-ios .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-ios .refresher-pulling-text,.refresher-ios .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-lines-ios line,.refresher-ios .refresher-refreshing .spinner-lines-small-ios line,.refresher-ios .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-bubbles circle,.refresher-ios .refresher-refreshing .spinner-circles circle,.refresher-ios .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0}.refresher-native .refresher-refreshing ion-spinner{--refreshing-rotation-duration:2s;display:none;-webkit-animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards;animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards}.refresher-native .refresher-refreshing{display:none;-webkit-animation:250ms linear refresher-pop forwards;animation:250ms linear refresher-pop forwards}.refresher-native ion-spinner{width:32px;height:32px;color:var(--ion-color-step-450, var(--ion-background-color-step-450, #747577))}.refresher-native.refresher-refreshing .refresher-pulling ion-spinner,.refresher-native.refresher-completing .refresher-pulling ion-spinner{display:none}.refresher-native.refresher-refreshing .refresher-refreshing ion-spinner,.refresher-native.refresher-completing .refresher-refreshing ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-pulling ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-refreshing ion-spinner{display:none}.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing-icon{-webkit-transform:scale(0) rotate(180deg);transform:scale(0) rotate(180deg);-webkit-transition:300ms;transition:300ms}@-webkit-keyframes refresher-pop{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}50%{-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes refresher-pop{0%{-webkit-transform:scale(1);transform:scale(1);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}50%{-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes refresher-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}@keyframes refresher-rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(180deg);transform:rotate(180deg)}}";
207
209
  const IonRefresherIosStyle0 = refresherIosCss;
208
210
 
@@ -795,11 +797,11 @@ const Refresher = class {
795
797
  }
796
798
  }
797
799
  render() {
798
- const mode = getIonMode(this);
799
- return (h(Host, { key: '460d903daa65f5549f4f75de63d185d82b9df1bc', slot: "fixed", class: {
800
- [mode]: true,
800
+ const theme = getIonTheme(this);
801
+ return (h(Host, { key: '552e23519ef35bdf33358f2e3219f364b3c2cd71', slot: "fixed", class: {
802
+ [theme]: true,
801
803
  // Used internally for styling
802
- [`refresher-${mode}`]: true,
804
+ [`refresher-${theme}`]: true,
803
805
  'refresher-native': this.nativeRefresher,
804
806
  'refresher-active': this.state !== 1 /* RefresherState.Inactive */,
805
807
  'refresher-pulling': this.state === 2 /* RefresherState.Pulling */,
@@ -815,6 +817,7 @@ const Refresher = class {
815
817
  }; }
816
818
  };
817
819
  Refresher.style = {
820
+ ionic: IonRefresherIonicStyle0,
818
821
  ios: IonRefresherIosStyle0,
819
822
  md: IonRefresherMdStyle0
820
823
  };
@@ -829,6 +832,7 @@ const RefresherContent = class {
829
832
  this.refreshingText = undefined;
830
833
  }
831
834
  componentWillLoad() {
835
+ const theme = getIonTheme(this);
832
836
  if (this.pullingIcon === undefined) {
833
837
  /**
834
838
  * The native iOS refresher uses a spinner instead of
@@ -836,13 +840,11 @@ const RefresherContent = class {
836
840
  * the native iOS refresher.
837
841
  */
838
842
  const hasRubberBandScrolling = supportsRubberBandScrolling();
839
- const mode = getIonMode(this);
840
843
  const overflowRefresher = hasRubberBandScrolling ? 'lines' : arrowDown;
841
- this.pullingIcon = config.get('refreshingIcon', mode === 'ios' && hasRubberBandScrolling ? config.get('spinner', overflowRefresher) : 'circular');
844
+ this.pullingIcon = config.get('refreshingIcon', theme === 'ios' && hasRubberBandScrolling ? config.get('spinner', overflowRefresher) : 'circular');
842
845
  }
843
846
  if (this.refreshingSpinner === undefined) {
844
- const mode = getIonMode(this);
845
- this.refreshingSpinner = config.get('refreshingSpinner', config.get('spinner', mode === 'ios' ? 'lines' : 'circular'));
847
+ this.refreshingSpinner = config.get('refreshingSpinner', config.get('spinner', theme === 'ios' ? 'lines' : 'circular'));
846
848
  }
847
849
  }
848
850
  renderPullingText() {
@@ -862,8 +864,10 @@ const RefresherContent = class {
862
864
  render() {
863
865
  const pullingIcon = this.pullingIcon;
864
866
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
865
- const mode = getIonMode(this);
866
- return (h(Host, { key: 'bd4122ec149c1ea6c43d5b6dfd7932569bfd8d7e', class: mode }, h("div", { key: '492113883e1ed465fd6b35a8e700b29a8bbb2baf', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { class: "refresher-pulling-icon" }, h("div", { class: "spinner-arrow-container" }, h("ion-spinner", { name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { class: "arrow-container" }, h("ion-icon", { icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { class: "refresher-pulling-icon" }, h("ion-icon", { icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: '402b0e02cfee42358c4fd690b60c8eb39386569f', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { class: "refresher-refreshing-icon" }, h("ion-spinner", { name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
867
+ const theme = getIonTheme(this);
868
+ return (h(Host, { key: '1af7f2ac469dabdbea1307c839afe014a08f5299', class: {
869
+ [theme]: true,
870
+ } }, h("div", { key: 'dc1500809215267cb68a2fc39eeb04725bf9948e', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { class: "refresher-pulling-icon" }, h("div", { class: "spinner-arrow-container" }, h("ion-spinner", { name: this.pullingIcon, paused: true }), theme === 'md' && this.pullingIcon === 'circular' && (h("div", { class: "arrow-container" }, h("ion-icon", { icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { class: "refresher-pulling-icon" }, h("ion-icon", { icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: 'e5892f9590bb2c9ceb12e39bac9755eadc6ac683', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { class: "refresher-refreshing-icon" }, h("ion-spinner", { name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
867
871
  }
868
872
  get el() { return getElement(this); }
869
873
  };
@@ -1,16 +1,18 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, h, H as Host, f as getElement, d as createEvent } from './index-4c30cddd.js';
4
+ import { r as registerInstance, h, i as Host, g as getElement, e as createEvent } from './index-3a495cc6.js';
5
5
  import { j as reorderThreeOutline, k as reorderTwoSharp } from './index-f7dc70ba.js';
6
- import { b as getIonMode } from './ionic-global-ad9a1810.js';
7
- import { f as findClosestIonContent, g as getScrollElement } from './index-66871a1d.js';
8
- import { r as raf } from './helpers-ae74b3c9.js';
9
- import { a as hapticSelectionStart, b as hapticSelectionChanged, h as hapticSelectionEnd } from './haptic-554688a5.js';
10
- import './index-9b0d46f4.js';
6
+ import { d as getIonTheme } from './ionic-global-d47e129d.js';
7
+ import { f as findClosestIonContent, g as getScrollElement } from './index-4bbc4ca3.js';
8
+ import { r as raf } from './helpers-da915de8.js';
9
+ import { a as hapticSelectionStart, b as hapticSelectionChanged, h as hapticSelectionEnd } from './haptic-ac164e4c.js';
11
10
  import './capacitor-59395cbd.js';
12
11
  import './index-a5d50daf.js';
13
12
 
13
+ const ionicReorderMdCss = ":host([slot]){display:none;line-height:0;z-index:100}.reorder-icon{display:block}::slotted(ion-icon){font-size:dynamic-font(16px)}.reorder-icon{font-size:1.9375rem;opacity:0.3}";
14
+ const IonReorderIonicStyle0 = ionicReorderMdCss;
15
+
14
16
  const reorderIosCss = ":host([slot]){display:none;line-height:0;z-index:100}.reorder-icon{display:block}::slotted(ion-icon){font-size:dynamic-font(16px)}.reorder-icon{font-size:2.125rem;opacity:0.4}";
15
17
  const IonReorderIosStyle0 = reorderIosCss;
16
18
 
@@ -31,13 +33,16 @@ const Reorder = class {
31
33
  }
32
34
  }
33
35
  render() {
34
- const mode = getIonMode(this);
35
- const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
36
- return (h(Host, { key: '268c3575bdc5ca591e11442a744119028f17ae85', class: mode }, h("slot", { key: '4767aef1d57921060541cd38b0a62ef2d8b3267b' }, h("ion-icon", { key: 'ad5f972dc2449cdd7aba92b06e7f0d2539e9a202', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
36
+ const theme = getIonTheme(this);
37
+ const reorderIcon = theme === 'ios' ? reorderThreeOutline : reorderTwoSharp;
38
+ return (h(Host, { key: 'b1ac62e21d23164e5e0e092bb80488b432093a6e', class: {
39
+ [theme]: true,
40
+ } }, h("slot", { key: '84fb2595ffb9d96ea8dd81e600b12c4e3ec750a4' }, h("ion-icon", { key: 'f389aa4ff4d98d1d28019f93a7197859ccdfe77c', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
37
41
  }
38
42
  get el() { return getElement(this); }
39
43
  };
40
44
  Reorder.style = {
45
+ ionic: IonReorderIonicStyle0,
41
46
  ios: IonReorderIosStyle0,
42
47
  md: IonReorderMdStyle0
43
48
  };
@@ -278,9 +283,9 @@ const ReorderGroup = class {
278
283
  return this.scrollEl.scrollTop - this.scrollElInitial;
279
284
  }
280
285
  render() {
281
- const mode = getIonMode(this);
282
- return (h(Host, { key: '3131c13e939242f1a4e10b4fcee028440b1a04c3', class: {
283
- [mode]: true,
286
+ const theme = getIonTheme(this);
287
+ return (h(Host, { key: '166dea821a1071bbc47c52088ad471598906aa69', class: {
288
+ [theme]: true,
284
289
  'reorder-enabled': !this.disabled,
285
290
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
286
291
  } }));
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, e as readTask, w as writeTask, h, f as getElement, H as Host } from './index-4c30cddd.js';
5
- import { b as getIonMode } from './ionic-global-ad9a1810.js';
4
+ import { r as registerInstance, f as readTask, w as writeTask, h, g as getElement, i as Host } from './index-3a495cc6.js';
5
+ import { d as getIonTheme } from './ionic-global-d47e129d.js';
6
6
 
7
7
  const rippleEffectCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:strict;pointer-events:none}:host(.unbounded){contain:layout size style}.ripple-effect{border-radius:50%;position:absolute;background-color:currentColor;color:inherit;contain:strict;opacity:0;-webkit-animation:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;animation:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;will-change:transform, opacity;pointer-events:none}.fade-out{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1));-webkit-animation:150ms fadeOutAnimation forwards;animation:150ms fadeOutAnimation forwards}@-webkit-keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1))}}@keyframes rippleAnimation{from{-webkit-animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:translate(var(--translate-end)) scale(var(--final-scale, 1));transform:translate(var(--translate-end)) scale(var(--final-scale, 1))}}@-webkit-keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@keyframes fadeInAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:0.16}}@-webkit-keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}@keyframes fadeOutAnimation{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0.16}to{opacity:0}}";
8
8
  const IonRippleEffectStyle0 = rippleEffectCss;
@@ -63,9 +63,9 @@ const RippleEffect = class {
63
63
  return this.type === 'unbounded';
64
64
  }
65
65
  render() {
66
- const mode = getIonMode(this);
67
- return (h(Host, { key: '42d95cc2382286e3bc5d68603f8292eb57ba10f5', role: "presentation", class: {
68
- [mode]: true,
66
+ const theme = getIonTheme(this);
67
+ return (h(Host, { key: '7f9a500e68a05370d2a3353cbd588474a6f68762', role: "presentation", class: {
68
+ [theme]: true,
69
69
  unbounded: this.unbounded,
70
70
  } }));
71
71
  }
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, d as createEvent, f as getElement, h, H as Host } from './index-4c30cddd.js';
5
- import { c as componentOnReady, p as debounce } from './helpers-ae74b3c9.js';
4
+ import { r as registerInstance, e as createEvent, g as getElement, h, i as Host } from './index-3a495cc6.js';
5
+ import { c as componentOnReady, o as debounce } from './helpers-da915de8.js';
6
6
  import { o as openURL, c as createColorClasses } from './theme-01f3f29c.js';
7
- import { b as getIonMode } from './ionic-global-ad9a1810.js';
7
+ import { d as getIonTheme } from './ionic-global-d47e129d.js';
8
8
 
9
9
  const Route = class {
10
10
  constructor(hostRef) {
@@ -872,16 +872,16 @@ const RouterLink = class {
872
872
  this.target = undefined;
873
873
  }
874
874
  render() {
875
- const mode = getIonMode(this);
875
+ const theme = getIonTheme(this);
876
876
  const attrs = {
877
877
  href: this.href,
878
878
  rel: this.rel,
879
879
  target: this.target,
880
880
  };
881
- return (h(Host, { key: '64a8781a0e92ddc14e03a60ac3da7f21dd59a2af', onClick: this.onClick, class: createColorClasses(this.color, {
882
- [mode]: true,
881
+ return (h(Host, { key: 'f13b788a5725dfba211c2c4558d4dfc9099d8dd3', onClick: this.onClick, class: createColorClasses(this.color, {
882
+ [theme]: true,
883
883
  'ion-activatable': true,
884
- }) }, h("a", Object.assign({ key: 'e2da87e62410c9ada5810f95ab1b9d6c489703a0' }, attrs), h("slot", { key: '201854747f5c867c8f6fadea20ef29b1d221f9db' }))));
884
+ }) }, h("a", Object.assign({ key: 'a67cea28fb740c6db408a32973cd5fcbaecf7db0' }, attrs), h("slot", { key: 'ab63b4654ee317c48df7fb8aaf350eb9c272935c' }))));
885
885
  }
886
886
  };
887
887
  RouterLink.style = IonRouterLinkStyle0;