voyager-ionic-core 7.5.5 → 7.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1858) hide show
  1. package/components/action-sheet.js +297 -287
  2. package/components/alert.js +477 -467
  3. package/components/animation.js +991 -990
  4. package/components/backdrop.js +56 -56
  5. package/components/button-active.js +56 -56
  6. package/components/button.js +236 -236
  7. package/components/buttons.js +29 -29
  8. package/components/capacitor.js +4 -4
  9. package/components/checkbox.js +172 -170
  10. package/components/config.js +142 -142
  11. package/components/cubic-bezier.js +49 -49
  12. package/components/data.js +1112 -1062
  13. package/components/dir.js +5 -5
  14. package/components/focus-visible.js +63 -63
  15. package/components/form-controller.js +45 -45
  16. package/components/framework-delegate.js +121 -121
  17. package/components/gesture-controller.js +182 -182
  18. package/components/haptic.js +150 -150
  19. package/components/hardware-back-button.js +48 -48
  20. package/components/helpers.js +257 -257
  21. package/components/icon.js +133 -133
  22. package/components/index.js +95 -95
  23. package/components/index2.js +163 -163
  24. package/components/index3.js +417 -417
  25. package/components/index4.js +257 -259
  26. package/components/index5.js +0 -22
  27. package/components/index6.js +3 -3
  28. package/components/index8.js +58 -58
  29. package/components/index9.js +171 -171
  30. package/components/input-shims.js +488 -483
  31. package/components/input.utils.js +107 -106
  32. package/components/ion-accordion-group.d.ts +2 -2
  33. package/components/ion-accordion-group.js +220 -220
  34. package/components/ion-accordion.d.ts +2 -2
  35. package/components/ion-accordion.js +326 -326
  36. package/components/ion-action-sheet.d.ts +2 -2
  37. package/components/ion-alert.d.ts +2 -2
  38. package/components/ion-app.d.ts +2 -2
  39. package/components/ion-app.js +93 -93
  40. package/components/ion-avatar.d.ts +2 -2
  41. package/components/ion-avatar.js +23 -23
  42. package/components/ion-back-button.d.ts +2 -2
  43. package/components/ion-back-button.js +102 -102
  44. package/components/ion-backdrop.d.ts +2 -2
  45. package/components/ion-badge.d.ts +2 -2
  46. package/components/ion-badge.js +29 -29
  47. package/components/ion-breadcrumb.d.ts +2 -2
  48. package/components/ion-breadcrumb.js +111 -111
  49. package/components/ion-breadcrumbs.d.ts +2 -2
  50. package/components/ion-breadcrumbs.js +139 -139
  51. package/components/ion-button.d.ts +2 -2
  52. package/components/ion-buttons.d.ts +2 -2
  53. package/components/ion-card-content.d.ts +2 -2
  54. package/components/ion-card-content.js +27 -27
  55. package/components/ion-card-header.d.ts +2 -2
  56. package/components/ion-card-header.js +33 -33
  57. package/components/ion-card-subtitle.d.ts +2 -2
  58. package/components/ion-card-subtitle.js +30 -30
  59. package/components/ion-card-title.d.ts +2 -2
  60. package/components/ion-card-title.js +30 -30
  61. package/components/ion-card.d.ts +2 -2
  62. package/components/ion-card.js +78 -78
  63. package/components/ion-checkbox.d.ts +2 -2
  64. package/components/ion-chip.d.ts +2 -2
  65. package/components/ion-chip.js +41 -41
  66. package/components/ion-col.d.ts +2 -2
  67. package/components/ion-col.js +156 -156
  68. package/components/ion-content.d.ts +2 -2
  69. package/components/ion-content.js +394 -394
  70. package/components/ion-datetime-button.d.ts +2 -2
  71. package/components/ion-datetime-button.js +348 -348
  72. package/components/ion-datetime.d.ts +2 -2
  73. package/components/ion-datetime.js +1741 -1709
  74. package/components/ion-fab-button.d.ts +2 -2
  75. package/components/ion-fab-button.js +109 -109
  76. package/components/ion-fab-list.d.ts +2 -2
  77. package/components/ion-fab-list.js +44 -44
  78. package/components/ion-fab.d.ts +2 -2
  79. package/components/ion-fab.js +75 -75
  80. package/components/ion-footer.d.ts +2 -2
  81. package/components/ion-footer.js +124 -124
  82. package/components/ion-grid.d.ts +2 -2
  83. package/components/ion-grid.js +27 -27
  84. package/components/ion-header.d.ts +2 -2
  85. package/components/ion-header.js +298 -298
  86. package/components/ion-img.d.ts +2 -2
  87. package/components/ion-img.js +97 -97
  88. package/components/ion-infinite-scroll-content.d.ts +2 -2
  89. package/components/ion-infinite-scroll-content.js +49 -49
  90. package/components/ion-infinite-scroll.d.ts +2 -2
  91. package/components/ion-infinite-scroll.js +187 -179
  92. package/components/ion-input.d.ts +2 -2
  93. package/components/ion-input.js +498 -454
  94. package/components/ion-item-divider.d.ts +2 -2
  95. package/components/ion-item-divider.js +34 -34
  96. package/components/ion-item-group.d.ts +2 -2
  97. package/components/ion-item-group.js +28 -28
  98. package/components/ion-item-option.d.ts +2 -2
  99. package/components/ion-item-option.js +67 -67
  100. package/components/ion-item-options.d.ts +2 -2
  101. package/components/ion-item-options.js +50 -50
  102. package/components/ion-item-sliding.d.ts +2 -2
  103. package/components/ion-item-sliding.js +404 -404
  104. package/components/ion-item.d.ts +2 -2
  105. package/components/ion-label.d.ts +2 -2
  106. package/components/ion-list-header.d.ts +2 -2
  107. package/components/ion-list.d.ts +2 -2
  108. package/components/ion-loading.d.ts +2 -2
  109. package/components/ion-loading.js +257 -247
  110. package/components/ion-menu-button.d.ts +2 -2
  111. package/components/ion-menu-button.js +77 -77
  112. package/components/ion-menu-toggle.d.ts +2 -2
  113. package/components/ion-menu-toggle.js +41 -41
  114. package/components/ion-menu.d.ts +2 -2
  115. package/components/ion-menu.js +631 -631
  116. package/components/ion-modal.d.ts +2 -2
  117. package/components/ion-modal.js +1451 -1441
  118. package/components/ion-nav-link.d.ts +2 -2
  119. package/components/ion-nav-link.js +47 -47
  120. package/components/ion-nav.d.ts +2 -2
  121. package/components/ion-nav.js +910 -910
  122. package/components/ion-note.d.ts +2 -2
  123. package/components/ion-picker-column-internal.d.ts +2 -2
  124. package/components/ion-picker-column.d.ts +2 -2
  125. package/components/ion-picker-internal.d.ts +2 -2
  126. package/components/ion-picker.d.ts +2 -2
  127. package/components/ion-picker.js +263 -253
  128. package/components/ion-popover.d.ts +2 -2
  129. package/components/ion-progress-bar.d.ts +2 -2
  130. package/components/ion-progress-bar.js +57 -57
  131. package/components/ion-radio-group.d.ts +2 -2
  132. package/components/ion-radio.d.ts +2 -2
  133. package/components/ion-range.d.ts +2 -2
  134. package/components/ion-range.js +593 -591
  135. package/components/ion-refresher-content.d.ts +2 -2
  136. package/components/ion-refresher-content.js +63 -63
  137. package/components/ion-refresher.d.ts +2 -2
  138. package/components/ion-refresher.js +747 -747
  139. package/components/ion-reorder-group.d.ts +2 -2
  140. package/components/ion-reorder-group.js +259 -259
  141. package/components/ion-reorder.d.ts +2 -2
  142. package/components/ion-reorder.js +39 -39
  143. package/components/ion-ripple-effect.d.ts +2 -2
  144. package/components/ion-route-redirect.d.ts +2 -2
  145. package/components/ion-route-redirect.js +34 -34
  146. package/components/ion-route.d.ts +2 -2
  147. package/components/ion-route.js +56 -56
  148. package/components/ion-router-link.d.ts +2 -2
  149. package/components/ion-router-link.js +45 -45
  150. package/components/ion-router-outlet.d.ts +2 -2
  151. package/components/ion-router-outlet.js +193 -193
  152. package/components/ion-router.d.ts +2 -2
  153. package/components/ion-router.js +632 -632
  154. package/components/ion-row.d.ts +2 -2
  155. package/components/ion-row.js +20 -20
  156. package/components/ion-searchbar.d.ts +2 -2
  157. package/components/ion-searchbar.js +402 -400
  158. package/components/ion-segment-button.d.ts +2 -2
  159. package/components/ion-segment-button.js +117 -117
  160. package/components/ion-segment.d.ts +2 -2
  161. package/components/ion-segment.js +427 -427
  162. package/components/ion-select-option.d.ts +2 -2
  163. package/components/ion-select-option.js +27 -27
  164. package/components/ion-select-popover.d.ts +2 -2
  165. package/components/ion-select.d.ts +2 -2
  166. package/components/ion-select.js +778 -763
  167. package/components/ion-skeleton-text.d.ts +2 -2
  168. package/components/ion-skeleton-text.js +45 -32
  169. package/components/ion-spinner.d.ts +2 -2
  170. package/components/ion-split-pane.d.ts +2 -2
  171. package/components/ion-split-pane.js +147 -147
  172. package/components/ion-tab-bar.d.ts +2 -2
  173. package/components/ion-tab-bar.js +77 -77
  174. package/components/ion-tab-button.d.ts +2 -2
  175. package/components/ion-tab-button.js +104 -104
  176. package/components/ion-tab.d.ts +2 -2
  177. package/components/ion-tab.js +72 -72
  178. package/components/ion-tabs.d.ts +2 -2
  179. package/components/ion-tabs.js +160 -160
  180. package/components/ion-text.d.ts +2 -2
  181. package/components/ion-text.js +26 -26
  182. package/components/ion-textarea.d.ts +2 -2
  183. package/components/ion-textarea.js +443 -395
  184. package/components/ion-thumbnail.d.ts +2 -2
  185. package/components/ion-thumbnail.js +20 -20
  186. package/components/ion-title.d.ts +2 -2
  187. package/components/ion-title.js +56 -56
  188. package/components/ion-toast.d.ts +2 -2
  189. package/components/ion-toast.js +819 -464
  190. package/components/ion-toggle.d.ts +2 -2
  191. package/components/ion-toggle.js +243 -241
  192. package/components/ion-toolbar.d.ts +2 -2
  193. package/components/ion-toolbar.js +71 -71
  194. package/components/ionic-global.js +163 -163
  195. package/components/ios.transition.js +598 -598
  196. package/components/item.js +301 -301
  197. package/components/keyboard-controller.js +128 -128
  198. package/components/keyboard.js +62 -62
  199. package/components/keyboard2.js +59 -59
  200. package/components/label.js +85 -85
  201. package/components/list-header.js +33 -33
  202. package/components/list.js +50 -50
  203. package/components/lock-controller.js +24 -24
  204. package/components/md.transition.js +44 -44
  205. package/components/menu-toggle-util.js +2 -2
  206. package/components/notch-controller.js +120 -120
  207. package/components/note.js +29 -29
  208. package/components/overlays.js +496 -495
  209. package/components/picker-column-internal.js +350 -345
  210. package/components/picker-column.js +334 -334
  211. package/components/picker-internal.js +468 -468
  212. package/components/popover.js +1154 -1144
  213. package/components/radio-group.js +161 -159
  214. package/components/radio.js +248 -208
  215. package/components/ripple-effect.js +81 -81
  216. package/components/select-popover.js +163 -163
  217. package/components/spinner.js +182 -182
  218. package/components/status-tap.js +26 -26
  219. package/components/swipe-back.js +65 -65
  220. package/components/theme.js +23 -23
  221. package/components/watch-options.js +30 -30
  222. package/css/core.css +66 -8
  223. package/css/core.css.map +1 -1
  224. package/css/display.css +44 -0
  225. package/css/display.css.map +1 -1
  226. package/css/float-elements.css +44 -0
  227. package/css/float-elements.css.map +1 -1
  228. package/css/global.bundle.css +88 -0
  229. package/css/global.bundle.css.map +1 -1
  230. package/css/ionic-swiper.css +22 -0
  231. package/css/ionic-swiper.css.map +1 -1
  232. package/css/ionic.bundle.css +1 -1
  233. package/css/ionic.bundle.css.map +1 -1
  234. package/css/padding.css +44 -0
  235. package/css/padding.css.map +1 -1
  236. package/css/structure.css +44 -0
  237. package/css/structure.css.map +1 -1
  238. package/css/text-alignment.css +44 -0
  239. package/css/text-alignment.css.map +1 -1
  240. package/css/text-transformation.css +44 -0
  241. package/css/text-transformation.css.map +1 -1
  242. package/css/typography.css +44 -0
  243. package/css/typography.css.map +1 -1
  244. package/css/utils.bundle.css +220 -0
  245. package/css/utils.bundle.css.map +1 -1
  246. package/dist/cjs/animation-9b401d39.js +1062 -0
  247. package/dist/cjs/{app-globals-1d4c1dbf.js → app-globals-7def22c8.js} +1 -1
  248. package/dist/cjs/button-active-962fe442.js +69 -0
  249. package/dist/cjs/{capacitor-2ffba62a.js → capacitor-c04564bf.js} +5 -5
  250. package/dist/cjs/compare-with-utils-df1001d7.js +44 -0
  251. package/dist/cjs/config-4f60b98a.js +199 -0
  252. package/dist/cjs/cubic-bezier-f2dccc53.js +92 -0
  253. package/dist/cjs/data-a5109f09.js +1672 -0
  254. package/dist/cjs/{dir-f1e0ca26.js → dir-94c21456.js} +5 -5
  255. package/dist/cjs/focus-visible-7a0ce04f.js +77 -0
  256. package/dist/cjs/form-controller-7d42a722.js +66 -0
  257. package/dist/cjs/framework-delegate-1c29b14a.js +144 -0
  258. package/dist/cjs/gesture-controller-c40c045a.js +197 -0
  259. package/dist/cjs/haptic-b882e0bb.js +212 -0
  260. package/dist/cjs/hardware-back-button-76833cac.js +76 -0
  261. package/dist/cjs/helpers-76bb7efb.js +441 -0
  262. package/dist/cjs/index-17ab7794.js +243 -0
  263. package/dist/cjs/index-3b012034.js +308 -0
  264. package/dist/cjs/{index-c2940dc1.js → index-50dcfe2f.js} +79 -15
  265. package/dist/cjs/{index-cc7dfb7c.js → index-5915f9b3.js} +3 -3
  266. package/dist/cjs/index-b4f986cd.js +198 -0
  267. package/dist/cjs/index-c8d52405.js +10 -0
  268. package/dist/cjs/index-d1b59ffa.js +459 -0
  269. package/dist/cjs/{index-da2c7a37.js → index-da15e99c.js} +60 -60
  270. package/dist/cjs/index.cjs.js +113 -113
  271. package/dist/cjs/input-shims-a23bb0f4.js +601 -0
  272. package/dist/cjs/input.utils-3d0166a2.js +138 -0
  273. package/dist/cjs/ion-accordion_2.cjs.entry.js +488 -488
  274. package/dist/cjs/ion-action-sheet.cjs.entry.js +260 -250
  275. package/dist/cjs/ion-alert.cjs.entry.js +442 -432
  276. package/dist/cjs/ion-app_8.cjs.entry.js +1151 -1151
  277. package/dist/cjs/ion-avatar_3.cjs.entry.js +29 -29
  278. package/dist/cjs/ion-back-button.cjs.entry.js +73 -73
  279. package/dist/cjs/ion-backdrop.cjs.entry.js +40 -40
  280. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +194 -194
  281. package/dist/cjs/ion-button_2.cjs.entry.js +303 -303
  282. package/dist/cjs/ion-card_5.cjs.entry.js +105 -105
  283. package/dist/cjs/ion-checkbox.cjs.entry.js +149 -147
  284. package/dist/cjs/ion-chip.cjs.entry.js +20 -20
  285. package/dist/cjs/ion-col_3.cjs.entry.js +136 -136
  286. package/dist/cjs/ion-datetime-button.cjs.entry.js +325 -325
  287. package/dist/cjs/ion-datetime_3.cjs.entry.js +2204 -2162
  288. package/dist/cjs/ion-fab_3.cjs.entry.js +150 -150
  289. package/dist/cjs/ion-img.cjs.entry.js +79 -79
  290. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +198 -190
  291. package/dist/cjs/ion-input.cjs.entry.js +443 -399
  292. package/dist/cjs/ion-item-option_3.cjs.entry.js +457 -457
  293. package/dist/cjs/ion-item_8.cjs.entry.js +441 -428
  294. package/dist/cjs/ion-loading.cjs.entry.js +220 -210
  295. package/dist/cjs/ion-menu_3.cjs.entry.js +670 -670
  296. package/dist/cjs/ion-modal.cjs.entry.js +1415 -1405
  297. package/dist/cjs/ion-nav_2.cjs.entry.js +904 -904
  298. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +331 -327
  299. package/dist/cjs/ion-picker-internal.cjs.entry.js +453 -453
  300. package/dist/cjs/ion-popover.cjs.entry.js +1108 -1098
  301. package/dist/cjs/ion-progress-bar.cjs.entry.js +40 -40
  302. package/dist/cjs/ion-radio_2.cjs.entry.js +321 -316
  303. package/dist/cjs/ion-range.cjs.entry.js +558 -556
  304. package/dist/cjs/ion-refresher_2.cjs.entry.js +786 -786
  305. package/dist/cjs/ion-reorder_2.cjs.entry.js +267 -267
  306. package/dist/cjs/ion-ripple-effect.cjs.entry.js +66 -66
  307. package/dist/cjs/ion-route_4.cjs.entry.js +693 -693
  308. package/dist/cjs/ion-searchbar.cjs.entry.js +360 -358
  309. package/dist/cjs/ion-segment_2.cjs.entry.js +507 -507
  310. package/dist/cjs/ion-select_3.cjs.entry.js +784 -768
  311. package/dist/cjs/ion-spinner.cjs.entry.js +46 -46
  312. package/dist/cjs/ion-split-pane.cjs.entry.js +119 -119
  313. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +138 -138
  314. package/dist/cjs/ion-tab_2.cjs.entry.js +187 -187
  315. package/dist/cjs/ion-text.cjs.entry.js +13 -13
  316. package/dist/cjs/ion-textarea.cjs.entry.js +401 -353
  317. package/dist/cjs/ion-toast.cjs.entry.js +771 -419
  318. package/dist/cjs/ion-toggle.cjs.entry.js +227 -225
  319. package/dist/cjs/ionic-global-a4edbf03.js +230 -0
  320. package/dist/cjs/ionic.cjs.js +5 -5
  321. package/dist/cjs/ios.transition-b5353f3e.js +654 -0
  322. package/dist/cjs/keyboard-0272231f.js +81 -0
  323. package/dist/cjs/{keyboard-38f2bb7b.js → keyboard-af1bb365.js} +62 -62
  324. package/dist/cjs/keyboard-controller-c05e747a.js +167 -0
  325. package/dist/cjs/loader.cjs.js +4 -4
  326. package/dist/cjs/lock-controller-6585a42a.js +40 -0
  327. package/dist/cjs/md.transition-67157dd9.js +59 -0
  328. package/dist/cjs/notch-controller-9735e7ac.js +155 -0
  329. package/dist/cjs/overlays-e77cc023.js +716 -0
  330. package/dist/cjs/spinner-configs-282fd50a.js +147 -0
  331. package/dist/cjs/status-tap-b5d77c08.js +42 -0
  332. package/dist/cjs/swipe-back-e37a1a5c.js +81 -0
  333. package/dist/cjs/theme-d1c573d2.js +48 -0
  334. package/dist/cjs/watch-options-f5f3e158.js +49 -0
  335. package/dist/collection/collection-manifest.json +7 -7
  336. package/dist/collection/components/accordion/accordion.ios.css +44 -0
  337. package/dist/collection/components/accordion/accordion.js +410 -410
  338. package/dist/collection/components/accordion/accordion.md.css +22 -0
  339. package/dist/collection/components/accordion/test/a11y/accordion.e2e.js +31 -31
  340. package/dist/collection/components/accordion/test/accordion.e2e.js +24 -24
  341. package/dist/collection/components/accordion/test/accordion.spec.js +195 -0
  342. package/dist/collection/components/accordion/test/basic/accordion.e2e.js +26 -26
  343. package/dist/collection/components/accordion/test/multiple/accordion.e2e.js +18 -18
  344. package/dist/collection/components/accordion/test/nested/accordion.e2e.js +16 -16
  345. package/dist/collection/components/accordion/test/standalone/accordion.e2e.js +6 -6
  346. package/dist/collection/components/accordion-group/accordion-group.ios.css +44 -0
  347. package/dist/collection/components/accordion-group/accordion-group.js +421 -421
  348. package/dist/collection/components/accordion-group/accordion-group.md.css +66 -0
  349. package/dist/collection/components/action-sheet/action-sheet.ios.css +44 -0
  350. package/dist/collection/components/action-sheet/action-sheet.js +739 -729
  351. package/dist/collection/components/action-sheet/action-sheet.md.css +44 -0
  352. package/dist/collection/components/action-sheet/animations/ios.enter.js +18 -18
  353. package/dist/collection/components/action-sheet/animations/ios.leave.js +12 -12
  354. package/dist/collection/components/action-sheet/animations/md.enter.js +18 -18
  355. package/dist/collection/components/action-sheet/animations/md.leave.js +12 -12
  356. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +59 -59
  357. package/dist/collection/components/action-sheet/test/action-sheet-id.spec.js +32 -0
  358. package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +33 -33
  359. package/dist/collection/components/action-sheet/test/basic/action-sheet.e2e.js +74 -74
  360. package/dist/collection/components/action-sheet/test/basic/action-sheet.spec.js +18 -0
  361. package/dist/collection/components/action-sheet/test/basic/fixture.js +23 -23
  362. package/dist/collection/components/action-sheet/test/is-open/action-sheet.e2e.js +25 -25
  363. package/dist/collection/components/action-sheet/test/translucent/action-sheet.e2e.js +10 -10
  364. package/dist/collection/components/action-sheet/test/trigger/action-sheet.e2e.js +21 -21
  365. package/dist/collection/components/alert/alert.ios.css +85 -1
  366. package/dist/collection/components/alert/alert.js +977 -967
  367. package/dist/collection/components/alert/alert.md.css +115 -3
  368. package/dist/collection/components/alert/animations/ios.enter.js +19 -19
  369. package/dist/collection/components/alert/animations/ios.leave.js +13 -13
  370. package/dist/collection/components/alert/animations/md.enter.js +19 -19
  371. package/dist/collection/components/alert/animations/md.leave.js +10 -10
  372. package/dist/collection/components/alert/test/a11y/alert.e2e.js +116 -116
  373. package/dist/collection/components/alert/test/alert-id.spec.js +32 -0
  374. package/dist/collection/components/alert/test/alert.spec.js +37 -0
  375. package/dist/collection/components/alert/test/basic/alert-tablet.e2e.js +40 -0
  376. package/dist/collection/components/alert/test/basic/alert.e2e.js +96 -96
  377. package/dist/collection/components/alert/test/is-open/alert.e2e.js +25 -25
  378. package/dist/collection/components/alert/test/standalone/alert.e2e.js +9 -9
  379. package/dist/collection/components/alert/test/trigger/alert.e2e.js +21 -21
  380. package/dist/collection/components/app/app.js +116 -116
  381. package/dist/collection/components/app/test/safe-area/app.e2e.js +24 -24
  382. package/dist/collection/components/avatar/avatar.ios.css +44 -0
  383. package/dist/collection/components/avatar/avatar.js +17 -17
  384. package/dist/collection/components/avatar/avatar.md.css +44 -0
  385. package/dist/collection/components/avatar/test/basic/avatar.e2e.js +12 -12
  386. package/dist/collection/components/back-button/back-button.ios.css +44 -0
  387. package/dist/collection/components/back-button/back-button.js +214 -214
  388. package/dist/collection/components/back-button/back-button.md.css +44 -0
  389. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +6 -6
  390. package/dist/collection/components/back-button/test/back-button.spec.js +86 -0
  391. package/dist/collection/components/back-button/test/basic/back-button.e2e.js +6 -6
  392. package/dist/collection/components/back-button/test/toolbar/back-button.e2e.js +6 -6
  393. package/dist/collection/components/backdrop/backdrop.ios.css +44 -0
  394. package/dist/collection/components/backdrop/backdrop.js +131 -131
  395. package/dist/collection/components/backdrop/backdrop.md.css +44 -0
  396. package/dist/collection/components/badge/badge.ios.css +44 -0
  397. package/dist/collection/components/badge/badge.js +49 -49
  398. package/dist/collection/components/badge/badge.md.css +44 -0
  399. package/dist/collection/components/badge/test/a11y/badge.e2e.js +6 -6
  400. package/dist/collection/components/badge/test/basic/badge.e2e.js +6 -6
  401. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +44 -0
  402. package/dist/collection/components/breadcrumb/breadcrumb.js +395 -395
  403. package/dist/collection/components/breadcrumb/breadcrumb.md.css +44 -0
  404. package/dist/collection/components/breadcrumb/test/aria.spec.js +22 -0
  405. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +22 -0
  406. package/dist/collection/components/breadcrumbs/breadcrumbs.js +247 -247
  407. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +22 -0
  408. package/dist/collection/components/breadcrumbs/test/a11y/breadcrumbs.e2e.js +12 -12
  409. package/dist/collection/components/breadcrumbs/test/basic/breadcrumbs.e2e.js +6 -6
  410. package/dist/collection/components/breadcrumbs/test/breadcrumbs.spec.js +58 -0
  411. package/dist/collection/components/breadcrumbs/test/collapsed/breadcrumbs.e2e.js +6 -6
  412. package/dist/collection/components/breadcrumbs/test/reactive/breadcrumbs.e2e.js +43 -43
  413. package/dist/collection/components/button/button.ios.css +66 -0
  414. package/dist/collection/components/button/button.js +541 -541
  415. package/dist/collection/components/button/button.md.css +44 -0
  416. package/dist/collection/components/button/test/a11y/button.e2e.js +21 -21
  417. package/dist/collection/components/button/test/basic/button.e2e.js +32 -32
  418. package/dist/collection/components/button/test/clear/button.e2e.js +6 -6
  419. package/dist/collection/components/button/test/expand/button.e2e.js +6 -6
  420. package/dist/collection/components/button/test/form-reference/button.e2e.js +84 -84
  421. package/dist/collection/components/button/test/form-reference/button.spec.js +26 -0
  422. package/dist/collection/components/button/test/icon/button.e2e.js +6 -6
  423. package/dist/collection/components/button/test/outline/button.e2e.js +6 -6
  424. package/dist/collection/components/button/test/round/button.e2e.js +6 -6
  425. package/dist/collection/components/button/test/size/button.e2e.js +22 -22
  426. package/dist/collection/components/button/test/strong/button.e2e.js +22 -22
  427. package/dist/collection/components/button/test/wrap/button.e2e.js +73 -73
  428. package/dist/collection/components/buttons/buttons.ios.css +66 -0
  429. package/dist/collection/components/buttons/buttons.js +46 -46
  430. package/dist/collection/components/buttons/buttons.md.css +66 -0
  431. package/dist/collection/components/buttons/test/a11y/buttons.e2e.js +21 -21
  432. package/dist/collection/components/card/card.ios.css +44 -0
  433. package/dist/collection/components/card/card.js +251 -251
  434. package/dist/collection/components/card/card.md.css +44 -0
  435. package/dist/collection/components/card/test/a11y/card.e2e.js +6 -6
  436. package/dist/collection/components/card/test/aria.spec.js +16 -0
  437. package/dist/collection/components/card/test/basic/card.e2e.js +38 -38
  438. package/dist/collection/components/card-content/card-content.ios.css +44 -0
  439. package/dist/collection/components/card-content/card-content.js +21 -21
  440. package/dist/collection/components/card-content/card-content.md.css +44 -0
  441. package/dist/collection/components/card-header/card-header.ios.css +44 -0
  442. package/dist/collection/components/card-header/card-header.js +70 -70
  443. package/dist/collection/components/card-header/card-header.md.css +44 -0
  444. package/dist/collection/components/card-header/test/basic/card-header.e2e.js +6 -6
  445. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +44 -0
  446. package/dist/collection/components/card-subtitle/card-subtitle.js +50 -50
  447. package/dist/collection/components/card-subtitle/card-subtitle.md.css +44 -0
  448. package/dist/collection/components/card-title/card-title.ios.css +44 -0
  449. package/dist/collection/components/card-title/card-title.js +50 -50
  450. package/dist/collection/components/card-title/card-title.md.css +44 -0
  451. package/dist/collection/components/checkbox/checkbox.ios.css +66 -6
  452. package/dist/collection/components/checkbox/checkbox.js +418 -415
  453. package/dist/collection/components/checkbox/checkbox.md.css +66 -6
  454. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +14 -14
  455. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +50 -50
  456. package/dist/collection/components/checkbox/test/checkbox.spec.js +34 -0
  457. package/dist/collection/components/checkbox/test/color/checkbox.e2e.js +11 -11
  458. package/dist/collection/components/checkbox/test/indeterminate/checkbox.e2e.js +6 -6
  459. package/dist/collection/components/checkbox/test/item/checkbox.e2e.js +29 -29
  460. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +75 -75
  461. package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +45 -45
  462. package/dist/collection/components/checkbox/test/legacy/indeterminate/checkbox.e2e.js +6 -6
  463. package/dist/collection/components/checkbox/test/states/checkbox.e2e.js +21 -21
  464. package/dist/collection/components/chip/chip.ios.css +22 -0
  465. package/dist/collection/components/chip/chip.js +90 -90
  466. package/dist/collection/components/chip/chip.md.css +22 -0
  467. package/dist/collection/components/chip/test/a11y/chip.e2e.js +19 -19
  468. package/dist/collection/components/chip/test/basic/chip.e2e.js +42 -42
  469. package/dist/collection/components/chip/test/states/chip.e2e.js +14 -14
  470. package/dist/collection/components/col/col.css +66 -0
  471. package/dist/collection/components/col/col.js +536 -536
  472. package/dist/collection/components/content/content.css +22 -0
  473. package/dist/collection/components/content/content.js +745 -745
  474. package/dist/collection/components/content/test/basic/content.e2e.js +6 -6
  475. package/dist/collection/components/content/test/fixed/content.e2e.js +6 -6
  476. package/dist/collection/components/content/test/fullscreen/content.e2e.js +6 -6
  477. package/dist/collection/components/content/test/standalone/content.e2e.js +5 -5
  478. package/dist/collection/components/datetime/datetime.ios.css +45 -0
  479. package/dist/collection/components/datetime/datetime.js +2264 -2232
  480. package/dist/collection/components/datetime/datetime.md.css +45 -0
  481. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +58 -58
  482. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +43 -0
  483. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +241 -241
  484. package/dist/collection/components/datetime/test/color/datetime.e2e.js +9 -9
  485. package/dist/collection/components/datetime/test/comparison.spec.js +43 -0
  486. package/dist/collection/components/datetime/test/custom/datetime.e2e.js +37 -37
  487. package/dist/collection/components/datetime/test/data.spec.js +456 -0
  488. package/dist/collection/components/datetime/test/datetime.e2e.js +29 -29
  489. package/dist/collection/components/datetime/test/disable-dates/datetime.e2e.js +119 -119
  490. package/dist/collection/components/datetime/test/disabled/datetime.e2e.js +43 -43
  491. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +33 -0
  492. package/dist/collection/components/datetime/test/display/datetime.e2e.js +86 -86
  493. package/dist/collection/components/datetime/test/first-day-of-week/datetime.e2e.js +6 -6
  494. package/dist/collection/components/datetime/test/format.spec.js +124 -0
  495. package/dist/collection/components/datetime/test/helpers.spec.js +72 -0
  496. package/dist/collection/components/datetime/test/highlighted-dates/datetime.e2e.js +76 -76
  497. package/dist/collection/components/datetime/test/hour-cycle/datetime.e2e.js +21 -21
  498. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +98 -98
  499. package/dist/collection/components/datetime/test/manipulation.spec.js +565 -0
  500. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +178 -178
  501. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +17 -17
  502. package/dist/collection/components/datetime/test/multiple/datetime.e2e.js +170 -170
  503. package/dist/collection/components/datetime/test/parse.spec.js +222 -0
  504. package/dist/collection/components/datetime/test/position/datetime.e2e.js +14 -14
  505. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +263 -263
  506. package/dist/collection/components/datetime/test/prefer-wheel/datetime.spec.js +27 -0
  507. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +137 -137
  508. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +86 -86
  509. package/dist/collection/components/datetime/test/set-value/datetime.e2e.js +40 -40
  510. package/dist/collection/components/datetime/test/state.spec.js +114 -0
  511. package/dist/collection/components/datetime/test/time-label/datetime.e2e.js +13 -13
  512. package/dist/collection/components/datetime/test/values/datetime.e2e.js +77 -77
  513. package/dist/collection/components/datetime/utils/comparison.js +22 -22
  514. package/dist/collection/components/datetime/utils/data.js +394 -394
  515. package/dist/collection/components/datetime/utils/format.js +143 -143
  516. package/dist/collection/components/datetime/utils/helpers.js +74 -74
  517. package/dist/collection/components/datetime/utils/manipulation.js +332 -282
  518. package/dist/collection/components/datetime/utils/parse.js +139 -139
  519. package/dist/collection/components/datetime/utils/state.js +123 -123
  520. package/dist/collection/components/datetime-button/datetime-button.css +22 -0
  521. package/dist/collection/components/datetime-button/datetime-button.js +399 -399
  522. package/dist/collection/components/datetime-button/test/a11y/datetime-button.e2e.js +11 -11
  523. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +123 -123
  524. package/dist/collection/components/datetime-button/test/disabled/datetime-button.e2e.js +13 -13
  525. package/dist/collection/components/datetime-button/test/multiple/datetime-button.e2e.js +38 -38
  526. package/dist/collection/components/datetime-button/test/overlays/datetime-button.e2e.js +102 -102
  527. package/dist/collection/components/fab/fab.css +88 -0
  528. package/dist/collection/components/fab/fab.js +179 -179
  529. package/dist/collection/components/fab/test/basic/fab.e2e.js +50 -50
  530. package/dist/collection/components/fab/test/custom-size/fab.e2e.js +6 -6
  531. package/dist/collection/components/fab/test/safe-area/fab.e2e.js +25 -25
  532. package/dist/collection/components/fab/test/states/fab.e2e.js +6 -6
  533. package/dist/collection/components/fab/test/translucent/fab.e2e.js +17 -17
  534. package/dist/collection/components/fab-button/fab-button.ios.css +44 -0
  535. package/dist/collection/components/fab-button/fab-button.js +374 -374
  536. package/dist/collection/components/fab-button/fab-button.md.css +44 -0
  537. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +6 -6
  538. package/dist/collection/components/fab-list/fab-list.css +44 -0
  539. package/dist/collection/components/fab-list/fab-list.js +79 -79
  540. package/dist/collection/components/footer/footer.ios.css +44 -0
  541. package/dist/collection/components/footer/footer.js +135 -135
  542. package/dist/collection/components/footer/footer.md.css +44 -0
  543. package/dist/collection/components/footer/footer.utils.js +25 -25
  544. package/dist/collection/components/footer/test/basic/footer.e2e.js +18 -18
  545. package/dist/collection/components/footer/test/fade/footer.e2e.js +10 -10
  546. package/dist/collection/components/footer/test/scroll-target/footer.e2e.js +15 -15
  547. package/dist/collection/components/footer/test/with-tabs/footer.e2e.js +6 -6
  548. package/dist/collection/components/grid/grid.css +66 -0
  549. package/dist/collection/components/grid/grid.js +44 -44
  550. package/dist/collection/components/grid/test/basic/grid.e2e.js +6 -6
  551. package/dist/collection/components/grid/test/offsets/grid.e2e.js +6 -6
  552. package/dist/collection/components/grid/test/padding/grid.e2e.js +6 -6
  553. package/dist/collection/components/grid/test/sizes/grid.e2e.js +6 -6
  554. package/dist/collection/components/header/header.ios.css +44 -0
  555. package/dist/collection/components/header/header.js +181 -181
  556. package/dist/collection/components/header/header.md.css +44 -0
  557. package/dist/collection/components/header/header.utils.js +148 -148
  558. package/dist/collection/components/header/test/a11y/header.e2e.js +18 -18
  559. package/dist/collection/components/header/test/basic/header.e2e.js +23 -23
  560. package/dist/collection/components/header/test/condense/header.e2e.js +25 -25
  561. package/dist/collection/components/header/test/fade/header.e2e.js +10 -10
  562. package/dist/collection/components/header/test/scroll-target/header.e2e.js +15 -15
  563. package/dist/collection/components/icon/test/basic/icon.e2e.js +6 -6
  564. package/dist/collection/components/icon/test/dir/icon.e2e.js +11 -11
  565. package/dist/collection/components/img/img.js +177 -177
  566. package/dist/collection/components/img/test/basic/img.e2e.js +62 -62
  567. package/dist/collection/components/img/test/draggable/img.e2e.js +10 -10
  568. package/dist/collection/components/infinite-scroll/infinite-scroll.js +279 -271
  569. package/dist/collection/components/infinite-scroll/test/basic/infinite-scroll.e2e.js +11 -11
  570. package/dist/collection/components/infinite-scroll/test/scroll-target/infinite-scroll.e2e.js +11 -11
  571. package/dist/collection/components/infinite-scroll/test/small-dom-update/infinite-scroll.e2e.js +31 -0
  572. package/dist/collection/components/infinite-scroll/test/top/infinite-scroll.e2e.js +11 -11
  573. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +44 -0
  574. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +86 -86
  575. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +44 -0
  576. package/dist/collection/components/infinite-scroll-content/test/infinite-scroll-content.spec.js +37 -0
  577. package/dist/collection/components/input/input.ios.css +76 -3
  578. package/dist/collection/components/input/input.js +1250 -1204
  579. package/dist/collection/components/input/input.md.css +145 -12
  580. package/dist/collection/components/input/input.utils.js +22 -22
  581. package/dist/collection/components/input/test/a11y/input.e2e.js +12 -12
  582. package/dist/collection/components/input/test/basic/input.e2e.js +63 -63
  583. package/dist/collection/components/input/test/bottom-content/input.e2e.js +89 -89
  584. package/dist/collection/components/input/test/card/input.e2e.js +6 -6
  585. package/dist/collection/components/input/test/clear-on-edit/input.e2e.js +45 -25
  586. package/dist/collection/components/input/test/color/input.e2e.js +88 -88
  587. package/dist/collection/components/input/test/fill/input.e2e.js +63 -63
  588. package/dist/collection/components/input/test/highlight/input.e2e.js +52 -52
  589. package/dist/collection/components/input/test/input.e2e.js +6 -6
  590. package/dist/collection/components/input/test/input.spec.js +85 -0
  591. package/dist/collection/components/input/test/item/input.e2e.js +11 -11
  592. package/dist/collection/components/input/test/item/input.spec.js +24 -0
  593. package/dist/collection/components/input/test/label-placement/input.e2e.js +104 -104
  594. package/dist/collection/components/input/test/legacy/a11y/input.e2e.js +15 -15
  595. package/dist/collection/components/input/test/legacy/basic/input.e2e.js +102 -102
  596. package/dist/collection/components/input/test/legacy/clear-on-edit/input.e2e.js +44 -44
  597. package/dist/collection/components/input/test/legacy/input-events.e2e.js +56 -56
  598. package/dist/collection/components/input/test/legacy/masking/input.e2e.js +15 -15
  599. package/dist/collection/components/input/test/legacy/spec/input.e2e.js +8 -8
  600. package/dist/collection/components/input/test/slot/input.e2e.js +51 -0
  601. package/dist/collection/components/input/test/states/input.e2e.js +11 -11
  602. package/dist/collection/components/item/item.ios.css +85 -3
  603. package/dist/collection/components/item/item.js +614 -614
  604. package/dist/collection/components/item/item.md.css +129 -3
  605. package/dist/collection/components/item/test/a11y/item.e2e.js +47 -47
  606. package/dist/collection/components/item/test/a11y/item.spec.js +48 -0
  607. package/dist/collection/components/item/test/alignment/item.e2e.js +6 -6
  608. package/dist/collection/components/item/test/basic/item.e2e.js +16 -16
  609. package/dist/collection/components/item/test/buttons/item.e2e.js +18 -18
  610. package/dist/collection/components/item/test/colors/item.e2e.js +6 -6
  611. package/dist/collection/components/item/test/counter/item.e2e.js +34 -34
  612. package/dist/collection/components/item/test/css-variables/item.e2e.js +6 -6
  613. package/dist/collection/components/item/test/disabled/item.e2e.js +6 -7
  614. package/dist/collection/components/item/test/dividers/item.e2e.js +6 -6
  615. package/dist/collection/components/item/test/groups/item.e2e.js +8 -8
  616. package/dist/collection/components/item/test/highlight/item.e2e.js +6 -6
  617. package/dist/collection/components/item/test/icons/item.e2e.js +6 -6
  618. package/dist/collection/components/item/test/images/item.e2e.js +6 -6
  619. package/dist/collection/components/item/test/inputs/item.e2e.js +139 -139
  620. package/dist/collection/components/item/test/legacy/alignment/item.e2e.js +6 -6
  621. package/dist/collection/components/item/test/legacy/disabled/item.e2e.js +6 -6
  622. package/dist/collection/components/item/test/legacy/fill/item.e2e.js +6 -6
  623. package/dist/collection/components/item/test/legacy/form/item.e2e.js +6 -6
  624. package/dist/collection/components/item/test/lines/item.e2e.js +6 -6
  625. package/dist/collection/components/item/test/media/item.e2e.js +6 -6
  626. package/dist/collection/components/item/test/reorder/item.e2e.js +8 -8
  627. package/dist/collection/components/item/test/slotted-inputs/item.e2e.js +6 -6
  628. package/dist/collection/components/item/test/states/item.e2e.js +6 -6
  629. package/dist/collection/components/item-divider/item-divider.ios.css +66 -0
  630. package/dist/collection/components/item-divider/item-divider.js +71 -71
  631. package/dist/collection/components/item-divider/item-divider.md.css +66 -0
  632. package/dist/collection/components/item-divider/test/a11y/item-divider.e2e.js +11 -11
  633. package/dist/collection/components/item-divider/test/basic/item-divider.e2e.js +25 -25
  634. package/dist/collection/components/item-divider/test/spec/item-divider.e2e.js +8 -8
  635. package/dist/collection/components/item-group/item-group.ios.css +44 -0
  636. package/dist/collection/components/item-group/item-group.js +22 -22
  637. package/dist/collection/components/item-group/item-group.md.css +44 -0
  638. package/dist/collection/components/item-option/item-option.ios.css +44 -0
  639. package/dist/collection/components/item-option/item-option.js +197 -197
  640. package/dist/collection/components/item-option/item-option.md.css +44 -0
  641. package/dist/collection/components/item-options/item-options.ios.css +66 -0
  642. package/dist/collection/components/item-options/item-options.js +110 -110
  643. package/dist/collection/components/item-options/item-options.md.css +66 -0
  644. package/dist/collection/components/item-sliding/item-sliding.css +22 -0
  645. package/dist/collection/components/item-sliding/item-sliding.js +538 -538
  646. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +5 -5
  647. package/dist/collection/components/item-sliding/test/async/item-sliding.e2e.js +25 -25
  648. package/dist/collection/components/item-sliding/test/basic/item-sliding.e2e.js +87 -87
  649. package/dist/collection/components/item-sliding/test/icons/item-sliding.e2e.js +20 -20
  650. package/dist/collection/components/item-sliding/test/scroll-target/item-sliding.e2e.js +18 -18
  651. package/dist/collection/components/item-sliding/test/test.utils.js +20 -20
  652. package/dist/collection/components/label/label.ios.css +80 -3
  653. package/dist/collection/components/label/label.js +174 -174
  654. package/dist/collection/components/label/label.md.css +80 -3
  655. package/dist/collection/components/label/test/a11y/label.e2e.js +21 -21
  656. package/dist/collection/components/label/test/basic/label.e2e.js +21 -21
  657. package/dist/collection/components/label/test/color/label.e2e.js +21 -21
  658. package/dist/collection/components/label/test/headings/label.e2e.js +5 -5
  659. package/dist/collection/components/list/list.ios.css +66 -0
  660. package/dist/collection/components/list/list.js +101 -101
  661. package/dist/collection/components/list/list.md.css +66 -0
  662. package/dist/collection/components/list/test/a11y/list.e2e.js +6 -6
  663. package/dist/collection/components/list/test/basic/list.e2e.js +6 -6
  664. package/dist/collection/components/list/test/inset/list.e2e.js +16 -16
  665. package/dist/collection/components/list/test/lines/list.e2e.js +40 -40
  666. package/dist/collection/components/list-header/list-header.ios.css +66 -0
  667. package/dist/collection/components/list-header/list-header.js +69 -69
  668. package/dist/collection/components/list-header/list-header.md.css +66 -0
  669. package/dist/collection/components/list-header/test/a11y/list-header.e2e.js +6 -6
  670. package/dist/collection/components/list-header/test/basic/list-header.e2e.js +14 -14
  671. package/dist/collection/components/loading/animations/ios.enter.js +19 -19
  672. package/dist/collection/components/loading/animations/ios.leave.js +13 -13
  673. package/dist/collection/components/loading/animations/md.enter.js +19 -19
  674. package/dist/collection/components/loading/animations/md.leave.js +13 -13
  675. package/dist/collection/components/loading/loading.ios.css +44 -0
  676. package/dist/collection/components/loading/loading.js +730 -720
  677. package/dist/collection/components/loading/loading.md.css +44 -0
  678. package/dist/collection/components/loading/test/a11y/loading.e2e.js +26 -26
  679. package/dist/collection/components/loading/test/basic/loading.e2e.js +60 -60
  680. package/dist/collection/components/loading/test/basic/loading.spec.js +16 -0
  681. package/dist/collection/components/loading/test/is-open/loading.e2e.js +17 -17
  682. package/dist/collection/components/loading/test/loading-id.spec.js +32 -0
  683. package/dist/collection/components/loading/test/loading.spec.js +37 -0
  684. package/dist/collection/components/loading/test/standalone/loading.e2e.js +13 -13
  685. package/dist/collection/components/loading/test/trigger/loading.e2e.js +21 -21
  686. package/dist/collection/components/menu/menu.ios.css +47 -4
  687. package/dist/collection/components/menu/menu.js +956 -956
  688. package/dist/collection/components/menu/menu.md.css +47 -4
  689. package/dist/collection/components/menu/test/a11y/menu.e2e.js +13 -13
  690. package/dist/collection/components/menu/test/basic/menu.e2e.js +102 -102
  691. package/dist/collection/components/menu/test/custom/menu.e2e.js +61 -0
  692. package/dist/collection/components/menu/test/disable/menu.e2e.js +44 -44
  693. package/dist/collection/components/menu/test/focus-trap/menu.e2e.js +61 -61
  694. package/dist/collection/components/menu/test/multiple/menu.e2e.js +49 -49
  695. package/dist/collection/components/menu/test/safe-area/menu.e2e.js +54 -54
  696. package/dist/collection/components/menu-button/menu-button.ios.css +44 -0
  697. package/dist/collection/components/menu-button/menu-button.js +173 -173
  698. package/dist/collection/components/menu-button/menu-button.md.css +44 -0
  699. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +12 -12
  700. package/dist/collection/components/menu-button/test/async/menu-button.e2e.js +12 -12
  701. package/dist/collection/components/menu-button/test/basic/menu-button.e2e.js +6 -6
  702. package/dist/collection/components/menu-toggle/menu-toggle-util.js +2 -2
  703. package/dist/collection/components/menu-toggle/menu-toggle.js +93 -93
  704. package/dist/collection/components/menu-toggle/test/basic/menu-toggle.e2e.js +33 -33
  705. package/dist/collection/components/modal/animations/ios.enter.js +81 -81
  706. package/dist/collection/components/modal/animations/ios.leave.js +74 -74
  707. package/dist/collection/components/modal/animations/md.enter.js +21 -21
  708. package/dist/collection/components/modal/animations/md.leave.js +15 -15
  709. package/dist/collection/components/modal/animations/sheet.js +43 -43
  710. package/dist/collection/components/modal/gestures/sheet.js +289 -289
  711. package/dist/collection/components/modal/gestures/swipe-to-close.js +248 -247
  712. package/dist/collection/components/modal/gestures/utils.js +39 -39
  713. package/dist/collection/components/modal/modal.ios.css +44 -0
  714. package/dist/collection/components/modal/modal.js +1290 -1280
  715. package/dist/collection/components/modal/modal.md.css +44 -0
  716. package/dist/collection/components/modal/test/a11y/modal.e2e.js +12 -12
  717. package/dist/collection/components/modal/test/a11y/modal.spec.js +22 -0
  718. package/dist/collection/components/modal/test/basic/modal.e2e.js +110 -110
  719. package/dist/collection/components/modal/test/basic/modal.spec.js +16 -0
  720. package/dist/collection/components/modal/test/can-dismiss/modal-card.e2e.js +44 -44
  721. package/dist/collection/components/modal/test/can-dismiss/modal-sheet.e2e.js +62 -62
  722. package/dist/collection/components/modal/test/can-dismiss/modal.e2e.js +16 -16
  723. package/dist/collection/components/modal/test/can-dismiss/modal.spec.js +191 -0
  724. package/dist/collection/components/modal/test/card/modal-card.e2e.js +69 -69
  725. package/dist/collection/components/modal/test/card/modal-tablet.e2e.js +67 -67
  726. package/dist/collection/components/modal/test/card-nav/modal.e2e.js +26 -26
  727. package/dist/collection/components/modal/test/card-refresher/modal.e2e.js +14 -14
  728. package/dist/collection/components/modal/test/card-scroll-target/modal.e2e.js +34 -34
  729. package/dist/collection/components/modal/test/custom/modal.e2e.js +16 -16
  730. package/dist/collection/components/modal/test/custom-dialog/modal.e2e.js +12 -12
  731. package/dist/collection/components/modal/test/dark-mode/model.e2e.js +12 -12
  732. package/dist/collection/components/modal/test/fixtures.js +21 -21
  733. package/dist/collection/components/modal/test/inline/modal.e2e.js +34 -34
  734. package/dist/collection/components/modal/test/is-open/modal.e2e.js +17 -17
  735. package/dist/collection/components/modal/test/modal-id.spec.js +32 -0
  736. package/dist/collection/components/modal/test/sheet/modal.e2e.js +178 -178
  737. package/dist/collection/components/modal/test/standalone/modal.e2e.js +12 -12
  738. package/dist/collection/components/modal/test/trigger/modal.e2e.js +23 -23
  739. package/dist/collection/components/modal/utils.js +55 -55
  740. package/dist/collection/components/modal/utils.spec.js +7 -7
  741. package/dist/collection/components/nav/nav.css +22 -0
  742. package/dist/collection/components/nav/nav.js +1748 -1748
  743. package/dist/collection/components/nav/test/basic/nav.e2e.js +58 -58
  744. package/dist/collection/components/nav/test/modal-navigation/nav.e2e.js +52 -52
  745. package/dist/collection/components/nav/test/nav-controller.spec.js +749 -0
  746. package/dist/collection/components/nav/test/nested/nav.e2e.js +54 -54
  747. package/dist/collection/components/nav/test/routing/nav.e2e.js +75 -75
  748. package/dist/collection/components/nav/view-controller.js +52 -52
  749. package/dist/collection/components/nav-link/nav-link-utils.js +16 -16
  750. package/dist/collection/components/nav-link/nav-link.js +106 -106
  751. package/dist/collection/components/note/note.ios.css +44 -0
  752. package/dist/collection/components/note/note.js +49 -49
  753. package/dist/collection/components/note/note.md.css +44 -0
  754. package/dist/collection/components/note/test/a11y/note.e2e.js +59 -16
  755. package/dist/collection/components/note/test/basic/note.e2e.js +33 -33
  756. package/dist/collection/components/picker/animations/ios.enter.js +18 -18
  757. package/dist/collection/components/picker/animations/ios.leave.js +14 -14
  758. package/dist/collection/components/picker/picker.ios.css +44 -0
  759. package/dist/collection/components/picker/picker.js +782 -772
  760. package/dist/collection/components/picker/picker.md.css +44 -0
  761. package/dist/collection/components/picker/test/basic/picker.e2e.js +17 -17
  762. package/dist/collection/components/picker/test/is-open/picker.e2e.js +17 -17
  763. package/dist/collection/components/picker/test/picker-id.spec.js +32 -0
  764. package/dist/collection/components/picker/test/trigger/picker.e2e.js +21 -21
  765. package/dist/collection/components/picker-column/picker-column.ios.css +44 -0
  766. package/dist/collection/components/picker-column/picker-column.js +377 -377
  767. package/dist/collection/components/picker-column/picker-column.md.css +44 -0
  768. package/dist/collection/components/picker-column/test/picker-column-aria.spec.js +35 -0
  769. package/dist/collection/components/picker-column/test/picker-column-dynamic.spec.js +29 -0
  770. package/dist/collection/components/picker-column/test/picker-column.spec.js +17 -0
  771. package/dist/collection/components/picker-column/test/standalone/picker-column.e2e.js +27 -27
  772. package/dist/collection/components/picker-column/test/test.utils.js +29 -29
  773. package/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +33 -3
  774. package/dist/collection/components/picker-column-internal/picker-column-internal.js +523 -501
  775. package/dist/collection/components/picker-column-internal/picker-column-internal.md.css +55 -3
  776. package/dist/collection/components/picker-column-internal/test/basic/picker-column-internal.e2e.js +53 -53
  777. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +66 -37
  778. package/dist/collection/components/picker-internal/picker-internal.ios.css +44 -0
  779. package/dist/collection/components/picker-internal/picker-internal.js +517 -517
  780. package/dist/collection/components/picker-internal/picker-internal.md.css +44 -0
  781. package/dist/collection/components/picker-internal/test/a11y/picker-internal.e2e.js +6 -6
  782. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +76 -76
  783. package/dist/collection/components/picker-internal/test/keyboard-entry/picker-internal.e2e.js +39 -39
  784. package/dist/collection/components/popover/animations/ios.enter.js +79 -79
  785. package/dist/collection/components/popover/animations/ios.leave.js +28 -28
  786. package/dist/collection/components/popover/animations/md.enter.js +58 -58
  787. package/dist/collection/components/popover/animations/md.leave.js +19 -19
  788. package/dist/collection/components/popover/popover.ios.css +44 -0
  789. package/dist/collection/components/popover/popover.js +1189 -1179
  790. package/dist/collection/components/popover/popover.md.css +44 -0
  791. package/dist/collection/components/popover/test/adjustment/popover.e2e.js +22 -22
  792. package/dist/collection/components/popover/test/arrow/popover.e2e.js +15 -15
  793. package/dist/collection/components/popover/test/async/popover.e2e.js +29 -29
  794. package/dist/collection/components/popover/test/basic/popover.e2e.js +108 -108
  795. package/dist/collection/components/popover/test/basic/popover.spec.js +16 -0
  796. package/dist/collection/components/popover/test/dismiss-on-select/popover.e2e.js +26 -26
  797. package/dist/collection/components/popover/test/fixture.js +16 -16
  798. package/dist/collection/components/popover/test/inline/popover.e2e.js +18 -18
  799. package/dist/collection/components/popover/test/is-open/popover.e2e.js +5 -5
  800. package/dist/collection/components/popover/test/nested/popover.e2e.js +81 -81
  801. package/dist/collection/components/popover/test/popover-id.spec.js +32 -0
  802. package/dist/collection/components/popover/test/position/popover.e2e.js +18 -18
  803. package/dist/collection/components/popover/test/reference/popover.e2e.js +14 -14
  804. package/dist/collection/components/popover/test/size/popover.e2e.js +29 -29
  805. package/dist/collection/components/popover/test/standalone/popover.e2e.js +7 -7
  806. package/dist/collection/components/popover/test/test.utils.js +23 -23
  807. package/dist/collection/components/popover/test/trigger/popover.e2e.js +35 -35
  808. package/dist/collection/components/popover/test/util.spec.js +53 -0
  809. package/dist/collection/components/popover/utils.js +606 -606
  810. package/dist/collection/components/progress-bar/progress-bar.ios.css +22 -0
  811. package/dist/collection/components/progress-bar/progress-bar.js +145 -145
  812. package/dist/collection/components/progress-bar/progress-bar.md.css +22 -0
  813. package/dist/collection/components/progress-bar/test/basic/progress-bar.e2e.js +6 -6
  814. package/dist/collection/components/progress-bar/test/buffer/progress-bar.e2e.js +10 -10
  815. package/dist/collection/components/progress-bar/test/determinate/progress-bar.e2e.js +10 -10
  816. package/dist/collection/components/radio/radio.ios.css +66 -6
  817. package/dist/collection/components/radio/radio.js +453 -449
  818. package/dist/collection/components/radio/radio.md.css +66 -6
  819. package/dist/collection/components/radio/test/a11y/radio.e2e.js +41 -40
  820. package/dist/collection/components/radio/test/color/radio.e2e.js +11 -11
  821. package/dist/collection/components/radio/test/item/radio.e2e.js +37 -37
  822. package/dist/collection/components/radio/test/label-placement/radio.e2e.js +70 -70
  823. package/dist/collection/components/radio/test/legacy/a11y/radio.e2e.js +29 -29
  824. package/dist/collection/components/radio/test/legacy/basic/radio.e2e.js +43 -43
  825. package/dist/collection/components/radio/test/radio.spec.js +60 -0
  826. package/dist/collection/components/radio/test/states/radio.e2e.js +21 -21
  827. package/dist/collection/components/radio-group/radio-group.js +279 -255
  828. package/dist/collection/components/radio-group/test/basic/radio-group.e2e.js +35 -35
  829. package/dist/collection/components/radio-group/test/fixtures.js +22 -22
  830. package/dist/collection/components/radio-group/test/form/radio-group.e2e.js +39 -39
  831. package/dist/collection/components/radio-group/test/legacy/basic/radio-group.e2e.js +59 -59
  832. package/dist/collection/components/radio-group/test/legacy/form/radio-group.e2e.js +22 -22
  833. package/dist/collection/components/radio-group/test/legacy/search/radio-group.e2e.js +27 -27
  834. package/dist/collection/components/radio-group/test/radio-group-events.e2e.js +42 -42
  835. package/dist/collection/components/radio-group/test/radio-group.spec.js +69 -0
  836. package/dist/collection/components/radio-group/test/search/radio-group.e2e.js +23 -23
  837. package/dist/collection/components/range/range.ios.css +44 -6
  838. package/dist/collection/components/range/range.js +1001 -998
  839. package/dist/collection/components/range/range.md.css +44 -6
  840. package/dist/collection/components/range/test/a11y/range.e2e.js +46 -46
  841. package/dist/collection/components/range/test/active-bar-start/range.e2e.js +6 -6
  842. package/dist/collection/components/range/test/basic/range.e2e.js +23 -23
  843. package/dist/collection/components/range/test/color/range.e2e.js +6 -6
  844. package/dist/collection/components/range/test/custom/range.e2e.js +6 -6
  845. package/dist/collection/components/range/test/item/range.e2e.js +28 -28
  846. package/dist/collection/components/range/test/label/range.e2e.js +99 -99
  847. package/dist/collection/components/range/test/label/range.spec.js +23 -0
  848. package/dist/collection/components/range/test/legacy/a11y/range.e2e.js +25 -25
  849. package/dist/collection/components/range/test/legacy/active-bar-start/range.e2e.js +6 -6
  850. package/dist/collection/components/range/test/legacy/basic/range.e2e.js +61 -61
  851. package/dist/collection/components/range/test/legacy/range-events.e2e.js +80 -80
  852. package/dist/collection/components/range/test/legacy/scroll-target/range.e2e.js +23 -23
  853. package/dist/collection/components/range/test/range-events.e2e.js +135 -135
  854. package/dist/collection/components/range/test/range.spec.js +221 -0
  855. package/dist/collection/components/range/test/scroll-target/range.e2e.js +23 -23
  856. package/dist/collection/components/range/test/states/range.e2e.js +21 -21
  857. package/dist/collection/components/refresher/refresher.ios.css +44 -0
  858. package/dist/collection/components/refresher/refresher.js +806 -806
  859. package/dist/collection/components/refresher/refresher.md.css +44 -0
  860. package/dist/collection/components/refresher/refresher.utils.js +148 -148
  861. package/dist/collection/components/refresher/test/basic/refresher.e2e.js +25 -25
  862. package/dist/collection/components/refresher/test/scroll-target/refresher.e2e.js +25 -25
  863. package/dist/collection/components/refresher/test/test.utils.js +5 -5
  864. package/dist/collection/components/refresher-content/refresher-content.js +131 -131
  865. package/dist/collection/components/refresher-content/test/refresher-content.spec.js +46 -0
  866. package/dist/collection/components/reorder/reorder.ios.css +22 -0
  867. package/dist/collection/components/reorder/reorder.js +37 -37
  868. package/dist/collection/components/reorder/reorder.md.css +22 -0
  869. package/dist/collection/components/reorder-group/reorder-group.css +22 -0
  870. package/dist/collection/components/reorder-group/reorder-group.js +327 -327
  871. package/dist/collection/components/reorder-group/test/a11y/reorder-group.e2e.js +6 -6
  872. package/dist/collection/components/reorder-group/test/basic/reorder-group.e2e.js +11 -11
  873. package/dist/collection/components/reorder-group/test/interactive/reorder-group.e2e.js +21 -21
  874. package/dist/collection/components/reorder-group/test/nested/reorder-group.e2e.js +21 -21
  875. package/dist/collection/components/reorder-group/test/scroll-target/reorder-group.e2e.js +21 -21
  876. package/dist/collection/components/ripple-effect/ripple-effect.css +22 -0
  877. package/dist/collection/components/ripple-effect/ripple-effect.js +135 -135
  878. package/dist/collection/components/ripple-effect/test/basic/ripple-effect.e2e.js +48 -48
  879. package/dist/collection/components/route/route.js +151 -151
  880. package/dist/collection/components/route-redirect/route-redirect.js +76 -76
  881. package/dist/collection/components/router/router.js +472 -472
  882. package/dist/collection/components/router/test/basic/router.e2e.js +55 -55
  883. package/dist/collection/components/router/test/guards/href/router.e2e.js +51 -51
  884. package/dist/collection/components/router/test/guards/link/router.e2e.js +51 -51
  885. package/dist/collection/components/router/test/guards/push/router.e2e.js +51 -51
  886. package/dist/collection/components/router/test/guards/router.e2e.js +5 -5
  887. package/dist/collection/components/router/test/guards/test.utils.js +2 -2
  888. package/dist/collection/components/router/test/matching.spec.js +250 -0
  889. package/dist/collection/components/router/test/parser.spec.js +133 -0
  890. package/dist/collection/components/router/test/path.spec.js +218 -0
  891. package/dist/collection/components/router/test/router.spec.js +55 -0
  892. package/dist/collection/components/router/utils/debug.js +14 -14
  893. package/dist/collection/components/router/utils/dom.js +56 -56
  894. package/dist/collection/components/router/utils/matching.js +150 -150
  895. package/dist/collection/components/router/utils/parser.js +52 -52
  896. package/dist/collection/components/router/utils/path.js +66 -66
  897. package/dist/collection/components/router-link/router-link.css +22 -0
  898. package/dist/collection/components/router-link/router-link.js +157 -157
  899. package/dist/collection/components/router-outlet/router-outlet.css +22 -0
  900. package/dist/collection/components/router-outlet/router-outlet.js +459 -459
  901. package/dist/collection/components/router-outlet/test/basic/router-outlet.e2e.js +31 -31
  902. package/dist/collection/components/row/row.css +66 -0
  903. package/dist/collection/components/row/row.js +15 -15
  904. package/dist/collection/components/searchbar/searchbar.ios.css +44 -0
  905. package/dist/collection/components/searchbar/searchbar.js +891 -889
  906. package/dist/collection/components/searchbar/searchbar.md.css +44 -0
  907. package/dist/collection/components/searchbar/test/a11y/searchbar.e2e.js +11 -11
  908. package/dist/collection/components/searchbar/test/basic/searchbar.e2e.js +101 -101
  909. package/dist/collection/components/searchbar/test/events/searchbar.e2e.js +55 -55
  910. package/dist/collection/components/searchbar/test/searchbar.spec.js +15 -0
  911. package/dist/collection/components/segment/segment.ios.css +66 -0
  912. package/dist/collection/components/segment/segment.js +631 -631
  913. package/dist/collection/components/segment/segment.md.css +66 -0
  914. package/dist/collection/components/segment/test/a11y/segment.e2e.js +37 -37
  915. package/dist/collection/components/segment/test/basic/segment.e2e.js +22 -22
  916. package/dist/collection/components/segment/test/custom/segment.e2e.js +6 -6
  917. package/dist/collection/components/segment/test/icon/segment.e2e.js +6 -6
  918. package/dist/collection/components/segment/test/modes/segment.e2e.js +15 -15
  919. package/dist/collection/components/segment/test/scrollable/segment.e2e.js +12 -12
  920. package/dist/collection/components/segment/test/segment-events.e2e.js +97 -97
  921. package/dist/collection/components/segment/test/segment.spec.js +37 -0
  922. package/dist/collection/components/segment/test/toolbar/segment.e2e.js +21 -21
  923. package/dist/collection/components/segment/test/wrap/segment.e2e.js +21 -21
  924. package/dist/collection/components/segment-button/segment-button.ios.css +44 -0
  925. package/dist/collection/components/segment-button/segment-button.js +217 -217
  926. package/dist/collection/components/segment-button/segment-button.md.css +44 -0
  927. package/dist/collection/components/select/select.ios.css +126 -7
  928. package/dist/collection/components/select/select.js +1201 -1184
  929. package/dist/collection/components/select/select.md.css +173 -19
  930. package/dist/collection/components/select/test/a11y/select.e2e.js +14 -14
  931. package/dist/collection/components/select/test/async/select.e2e.js +14 -14
  932. package/dist/collection/components/select/test/basic/select.e2e.js +140 -140
  933. package/dist/collection/components/select/test/card/select.e2e.js +6 -6
  934. package/dist/collection/components/select/test/color/select.e2e.js +22 -22
  935. package/dist/collection/components/select/test/compare-with/select.e2e.js +33 -33
  936. package/dist/collection/components/select/test/custom/select.e2e.js +19 -19
  937. package/dist/collection/components/select/test/disabled/select.e2e.js +17 -17
  938. package/dist/collection/components/select/test/fill/select.e2e.js +63 -63
  939. package/dist/collection/components/select/test/highlight/select.e2e.js +74 -74
  940. package/dist/collection/components/select/test/item/select.e2e.js +26 -11
  941. package/dist/collection/components/select/test/label/select.e2e.js +141 -141
  942. package/dist/collection/components/select/test/legacy/async/select.e2e.js +8 -8
  943. package/dist/collection/components/select/test/legacy/basic/select.e2e.js +108 -108
  944. package/dist/collection/components/select/test/legacy/compare-with/select.e2e.js +33 -33
  945. package/dist/collection/components/select/test/legacy/custom/custom.e2e.js +5 -5
  946. package/dist/collection/components/select/test/legacy/single-value/select.e2e.js +8 -8
  947. package/dist/collection/components/select/test/legacy/spec/select.e2e.js +6 -6
  948. package/dist/collection/components/select/test/legacy/standalone/select.e2e.js +11 -11
  949. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +17 -17
  950. package/dist/collection/components/select/test/popover-size/select.e2e.js +63 -63
  951. package/dist/collection/components/select/test/select.spec.js +59 -0
  952. package/dist/collection/components/select/test/slot/select.e2e.js +67 -0
  953. package/dist/collection/components/select/test/states/select.e2e.js +21 -21
  954. package/dist/collection/components/select/test/toggle-icon/select.e2e.js +14 -14
  955. package/dist/collection/components/select/test/wrapping/select.e2e.js +16 -16
  956. package/dist/collection/components/select-option/select-option.js +60 -60
  957. package/dist/collection/components/select-popover/select-popover.ios.css +66 -0
  958. package/dist/collection/components/select-popover/select-popover.js +197 -197
  959. package/dist/collection/components/select-popover/select-popover.md.css +66 -0
  960. package/dist/collection/components/select-popover/test/basic/select-popover.e2e.js +52 -52
  961. package/dist/collection/components/select-popover/test/fixtures.js +33 -33
  962. package/dist/collection/components/skeleton-text/skeleton-text.css +22 -0
  963. package/dist/collection/components/skeleton-text/skeleton-text.js +87 -48
  964. package/dist/collection/components/skeleton-text/test/basic/skeleton-text.e2e.js +6 -6
  965. package/dist/collection/components/skeleton-text/test/custom/skeleton-text.e2e.js +6 -6
  966. package/dist/collection/components/slides/IonicSlides.js +95 -95
  967. package/dist/collection/components/spinner/spinner-configs.js +121 -121
  968. package/dist/collection/components/spinner/spinner.css +22 -0
  969. package/dist/collection/components/spinner/spinner.js +137 -137
  970. package/dist/collection/components/spinner/test/basic/spinner.e2e.js +10 -10
  971. package/dist/collection/components/spinner/test/color/spinner.e2e.js +10 -10
  972. package/dist/collection/components/spinner/test/resize/spinner.e2e.js +8 -8
  973. package/dist/collection/components/split-pane/split-pane.ios.css +67 -2
  974. package/dist/collection/components/split-pane/split-pane.js +225 -225
  975. package/dist/collection/components/split-pane/split-pane.md.css +67 -2
  976. package/dist/collection/components/split-pane/test/basic/split-pane.e2e.js +18 -18
  977. package/dist/collection/components/split-pane/test/multiple/split-pane.e2e.js +23 -23
  978. package/dist/collection/components/tab/tab.js +170 -170
  979. package/dist/collection/components/tab-bar/tab-bar.ios.css +66 -0
  980. package/dist/collection/components/tab-bar/tab-bar.js +177 -177
  981. package/dist/collection/components/tab-bar/tab-bar.md.css +66 -0
  982. package/dist/collection/components/tab-bar/test/basic/tab-bar.e2e.js +8 -8
  983. package/dist/collection/components/tab-bar/test/custom/tab-bar.e2e.js +6 -6
  984. package/dist/collection/components/tab-bar/test/translucent/tab-bar.e2e.js +14 -14
  985. package/dist/collection/components/tab-button/tab-button.ios.css +44 -0
  986. package/dist/collection/components/tab-button/tab-button.js +267 -267
  987. package/dist/collection/components/tab-button/tab-button.md.css +44 -0
  988. package/dist/collection/components/tab-button/test/a11y/tab-button.e2e.js +6 -6
  989. package/dist/collection/components/tab-button/test/basic/tab-button.e2e.js +16 -16
  990. package/dist/collection/components/tab-button/test/layout/tab-button.e2e.js +26 -26
  991. package/dist/collection/components/tab-button/test/states/tab-button.e2e.js +26 -26
  992. package/dist/collection/components/tabs/tabs.css +22 -0
  993. package/dist/collection/components/tabs/tabs.js +344 -344
  994. package/dist/collection/components/tabs/test/basic/tabs.e2e.js +24 -24
  995. package/dist/collection/components/tabs/test/placements/tabs.e2e.js +17 -17
  996. package/dist/collection/components/text/test/basic/text.e2e.js +11 -11
  997. package/dist/collection/components/text/text.css +22 -0
  998. package/dist/collection/components/text/text.js +47 -47
  999. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +12 -12
  1000. package/dist/collection/components/textarea/test/autogrow/textarea.e2e.js +31 -31
  1001. package/dist/collection/components/textarea/test/bottom-content/textarea.e2e.js +82 -82
  1002. package/dist/collection/components/textarea/test/card/textarea.e2e.js +6 -6
  1003. package/dist/collection/components/textarea/test/clear-on-edit/textarea.e2e.js +53 -17
  1004. package/dist/collection/components/textarea/test/color/textarea.e2e.js +88 -88
  1005. package/dist/collection/components/textarea/test/cols/textarea.e2e.js +11 -11
  1006. package/dist/collection/components/textarea/test/fill/textarea.e2e.js +63 -63
  1007. package/dist/collection/components/textarea/test/highlight/textarea.e2e.js +52 -52
  1008. package/dist/collection/components/textarea/test/item/textarea.e2e.js +11 -11
  1009. package/dist/collection/components/textarea/test/label-placement/textarea.e2e.js +150 -150
  1010. package/dist/collection/components/textarea/test/legacy/a11y/textarea.e2e.js +15 -15
  1011. package/dist/collection/components/textarea/test/legacy/autogrow/textarea.e2e.js +31 -31
  1012. package/dist/collection/components/textarea/test/legacy/basic/textarea.e2e.js +30 -30
  1013. package/dist/collection/components/textarea/test/legacy/clear-on-edit/textarea.e2e.js +17 -17
  1014. package/dist/collection/components/textarea/test/slot/textarea.e2e.js +51 -0
  1015. package/dist/collection/components/textarea/test/states/textarea.e2e.js +11 -11
  1016. package/dist/collection/components/textarea/test/textarea-events.e2e.js +57 -57
  1017. package/dist/collection/components/textarea/test/textarea.spec.js +59 -0
  1018. package/dist/collection/components/textarea/textarea.ios.css +125 -5
  1019. package/dist/collection/components/textarea/textarea.js +1069 -1019
  1020. package/dist/collection/components/textarea/textarea.md.css +179 -14
  1021. package/dist/collection/components/thumbnail/test/basic/thumbnail.e2e.js +28 -28
  1022. package/dist/collection/components/thumbnail/thumbnail.css +22 -0
  1023. package/dist/collection/components/thumbnail/thumbnail.js +15 -15
  1024. package/dist/collection/components/title/test/a11y/title.e2e.js +17 -17
  1025. package/dist/collection/components/title/test/basic/title.e2e.js +13 -13
  1026. package/dist/collection/components/title/title.ios.css +22 -0
  1027. package/dist/collection/components/title/title.js +119 -119
  1028. package/dist/collection/components/title/title.md.css +22 -0
  1029. package/dist/collection/components/toast/animations/ios.enter.js +21 -20
  1030. package/dist/collection/components/toast/animations/ios.leave.js +18 -18
  1031. package/dist/collection/components/toast/animations/md.enter.js +23 -22
  1032. package/dist/collection/components/toast/animations/md.leave.js +6 -6
  1033. package/dist/collection/components/toast/animations/utils.js +62 -56
  1034. package/dist/collection/components/toast/gestures/swipe-to-dismiss.js +267 -0
  1035. package/dist/collection/components/toast/test/a11y/toast.e2e.js +92 -92
  1036. package/dist/collection/components/toast/test/basic/toast.e2e.js +101 -101
  1037. package/dist/collection/components/toast/test/is-open/toast.e2e.js +17 -17
  1038. package/dist/collection/components/toast/test/layout/toast.e2e.js +9 -9
  1039. package/dist/collection/components/toast/test/position-anchor/toast.e2e.js +37 -37
  1040. package/dist/collection/components/toast/test/standalone/toast.e2e.js +10 -10
  1041. package/dist/collection/components/toast/test/swipe-gesture/toast.e2e.js +84 -0
  1042. package/dist/collection/components/toast/test/toast-config.spec.js +25 -0
  1043. package/dist/collection/components/toast/test/toast-id.spec.js +32 -0
  1044. package/dist/collection/components/toast/test/toast.spec.js +200 -0
  1045. package/dist/collection/components/toast/test/trigger/toast.e2e.js +21 -21
  1046. package/dist/collection/components/toast/toast.ios.css +54 -10
  1047. package/dist/collection/components/toast/toast.js +1065 -952
  1048. package/dist/collection/components/toast/toast.md.css +54 -0
  1049. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +6 -6
  1050. package/dist/collection/components/toggle/test/color/toggle.e2e.js +11 -11
  1051. package/dist/collection/components/toggle/test/enable-on-off-labels/toggle.e2e.js +27 -27
  1052. package/dist/collection/components/toggle/test/item/toggle.e2e.js +52 -52
  1053. package/dist/collection/components/toggle/test/label/toggle.e2e.js +65 -65
  1054. package/dist/collection/components/toggle/test/legacy/basic/toggle.e2e.js +69 -69
  1055. package/dist/collection/components/toggle/test/legacy/enable-on-off-labels/toggle.e2e.js +23 -23
  1056. package/dist/collection/components/toggle/test/legacy/sizes/toggle.e2e.js +6 -6
  1057. package/dist/collection/components/toggle/test/sizes/toggle.e2e.js +6 -6
  1058. package/dist/collection/components/toggle/test/states/toggle.e2e.js +16 -16
  1059. package/dist/collection/components/toggle/test/toggle.spec.js +67 -0
  1060. package/dist/collection/components/toggle/toggle.ios.css +66 -6
  1061. package/dist/collection/components/toggle/toggle.js +487 -484
  1062. package/dist/collection/components/toggle/toggle.md.css +66 -6
  1063. package/dist/collection/components/toolbar/test/basic/toolbar.e2e.js +7 -7
  1064. package/dist/collection/components/toolbar/test/colors/toolbar.e2e.js +6 -6
  1065. package/dist/collection/components/toolbar/toolbar.ios.css +44 -0
  1066. package/dist/collection/components/toolbar/toolbar.js +100 -100
  1067. package/dist/collection/components/toolbar/toolbar.md.css +44 -0
  1068. package/dist/collection/css/test/a11y/typography.e2e.js +6 -6
  1069. package/dist/collection/global/config.js +51 -51
  1070. package/dist/collection/global/ionic-global.js +54 -54
  1071. package/dist/collection/global/test/config-controller.spec.js +77 -0
  1072. package/dist/collection/utils/animation/animation-utils.js +91 -91
  1073. package/dist/collection/utils/animation/animation.js +905 -904
  1074. package/dist/collection/utils/animation/cubic-bezier.js +49 -49
  1075. package/dist/collection/utils/animation/test/animation.spec.js +447 -0
  1076. package/dist/collection/utils/animation/test/animationbuilder/animation.e2e.js +26 -26
  1077. package/dist/collection/utils/animation/test/basic/animation.e2e.js +12 -12
  1078. package/dist/collection/utils/animation/test/display/animation.e2e.js +18 -18
  1079. package/dist/collection/utils/animation/test/hooks/animation.e2e.js +39 -39
  1080. package/dist/collection/utils/animation/test/multiple/animation.e2e.js +27 -27
  1081. package/dist/collection/utils/browser/index.js +0 -22
  1082. package/dist/collection/utils/config.js +20 -20
  1083. package/dist/collection/utils/content/content.utils.spec.js +121 -121
  1084. package/dist/collection/utils/content/index.js +58 -58
  1085. package/dist/collection/utils/floating-point/floating-point.spec.js +14 -14
  1086. package/dist/collection/utils/floating-point/index.js +5 -5
  1087. package/dist/collection/utils/focus-visible.js +63 -63
  1088. package/dist/collection/utils/forms/compare-with-utils.js +39 -0
  1089. package/dist/collection/utils/forms/form-controller.js +45 -45
  1090. package/dist/collection/utils/forms/index.js +1 -0
  1091. package/dist/collection/utils/forms/notch-controller.js +120 -120
  1092. package/dist/collection/utils/framework-delegate.js +121 -121
  1093. package/dist/collection/utils/gesture/button-active.js +56 -56
  1094. package/dist/collection/utils/gesture/gesture-controller.js +182 -182
  1095. package/dist/collection/utils/gesture/index.js +222 -222
  1096. package/dist/collection/utils/gesture/listener.js +36 -36
  1097. package/dist/collection/utils/gesture/pointer-events.js +113 -113
  1098. package/dist/collection/utils/gesture/recognizers.js +46 -46
  1099. package/dist/collection/utils/gesture/swipe-back.js +65 -65
  1100. package/dist/collection/utils/hardware-back-button.js +48 -48
  1101. package/dist/collection/utils/helpers.js +258 -258
  1102. package/dist/collection/utils/helpers.spec.js +28 -28
  1103. package/dist/collection/utils/input-shims/hacks/common.js +61 -61
  1104. package/dist/collection/utils/input-shims/hacks/hide-caret.js +19 -19
  1105. package/dist/collection/utils/input-shims/hacks/input-blurring.js +47 -47
  1106. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +225 -225
  1107. package/dist/collection/utils/input-shims/hacks/scroll-data.js +29 -29
  1108. package/dist/collection/utils/input-shims/hacks/scroll-padding.js +21 -21
  1109. package/dist/collection/utils/input-shims/hacks/test/scroll-assist.e2e.js +97 -97
  1110. package/dist/collection/utils/input-shims/input-shims.js +87 -81
  1111. package/dist/collection/utils/keyboard/keyboard-controller.js +128 -128
  1112. package/dist/collection/utils/keyboard/keyboard.js +59 -59
  1113. package/dist/collection/utils/keyboard/test/keyboard-controller.spec.js +21 -0
  1114. package/dist/collection/utils/keyboard/test/keyboard.spec.js +214 -0
  1115. package/dist/collection/utils/lock-controller.js +24 -24
  1116. package/dist/collection/utils/logging/index.js +3 -3
  1117. package/dist/collection/utils/media.js +13 -13
  1118. package/dist/collection/utils/menu-controller/animations/base.js +8 -8
  1119. package/dist/collection/utils/menu-controller/animations/overlay.js +21 -21
  1120. package/dist/collection/utils/menu-controller/animations/push.js +20 -20
  1121. package/dist/collection/utils/menu-controller/animations/reveal.js +6 -6
  1122. package/dist/collection/utils/menu-controller/index.js +204 -206
  1123. package/dist/collection/utils/native/capacitor.js +4 -4
  1124. package/dist/collection/utils/native/haptic.js +151 -151
  1125. package/dist/collection/utils/native/keyboard.js +47 -47
  1126. package/dist/collection/utils/native/native-interface.js +15 -15
  1127. package/dist/collection/utils/native/status-bar.js +36 -36
  1128. package/dist/collection/utils/overlays.js +495 -494
  1129. package/dist/collection/utils/platform.js +56 -56
  1130. package/dist/collection/utils/rtl/dir.js +5 -5
  1131. package/dist/collection/utils/rtl/dir.spec.js +17 -17
  1132. package/dist/collection/utils/sanitization/index.js +122 -122
  1133. package/dist/collection/utils/sanitization/test/sanitization.spec.js +43 -0
  1134. package/dist/collection/utils/slot-mutation-controller.js +86 -85
  1135. package/dist/collection/utils/status-tap.js +26 -26
  1136. package/dist/collection/utils/tap-click/index.js +171 -171
  1137. package/dist/collection/utils/tap-click/test/tap-click.e2e.js +12 -12
  1138. package/dist/collection/utils/test/aria.spec.js +79 -0
  1139. package/dist/collection/utils/test/attributes.spec.js +53 -0
  1140. package/dist/collection/utils/test/framework-delegate/framework-delegate.e2e.js +25 -25
  1141. package/dist/collection/utils/test/hardware-back-button.spec.js +53 -0
  1142. package/dist/collection/utils/test/overlays/overlays.e2e.js +137 -137
  1143. package/dist/collection/utils/test/overlays/overlays.spec.js +102 -0
  1144. package/dist/collection/utils/test/platform.spec.js +132 -0
  1145. package/dist/collection/utils/test/platform.utils.js +77 -77
  1146. package/dist/collection/utils/test/playwright/drag-element.js +69 -69
  1147. package/dist/collection/utils/test/playwright/generator.js +48 -25
  1148. package/dist/collection/utils/test/playwright/matchers/index.js +3 -3
  1149. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEvent.js +21 -21
  1150. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEventDetail.js +28 -28
  1151. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEventTimes.js +22 -22
  1152. package/dist/collection/utils/test/playwright/page/event-spy.js +110 -110
  1153. package/dist/collection/utils/test/playwright/page/utils/goto.js +52 -52
  1154. package/dist/collection/utils/test/playwright/page/utils/locator.js +8 -8
  1155. package/dist/collection/utils/test/playwright/page/utils/set-content.js +44 -35
  1156. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +19 -19
  1157. package/dist/collection/utils/test/playwright/page/utils/spy-on-event.js +4 -4
  1158. package/dist/collection/utils/test/playwright/page/utils/wait-for-changes.js +48 -48
  1159. package/dist/collection/utils/test/playwright/playwright-page.js +35 -35
  1160. package/dist/collection/utils/test/playwright/viewports/index.js +13 -13
  1161. package/dist/collection/utils/test/press-keys.js +77 -77
  1162. package/dist/collection/utils/test/ready.spec.js +39 -0
  1163. package/dist/collection/utils/test/theme.spec.js +56 -0
  1164. package/dist/collection/utils/theme.js +23 -23
  1165. package/dist/collection/utils/transition/index.js +163 -163
  1166. package/dist/collection/utils/transition/ios.transition.js +598 -598
  1167. package/dist/collection/utils/transition/md.transition.js +44 -44
  1168. package/dist/collection/utils/watch-options.js +30 -30
  1169. package/dist/docs.json +195 -38
  1170. package/dist/esm/animation-dde8cc0d.js +1060 -0
  1171. package/dist/esm/{app-globals-2398e405.js → app-globals-8c62bec2.js} +1 -1
  1172. package/dist/esm/button-active-308d3edd.js +67 -0
  1173. package/dist/esm/capacitor-59395cbd.js +13 -0
  1174. package/dist/esm/compare-with-utils-a96ff2ea.js +41 -0
  1175. package/dist/esm/config-49c88215.js +193 -0
  1176. package/dist/esm/cubic-bezier-fe2083dc.js +90 -0
  1177. package/dist/esm/data-775093f5.js +1625 -0
  1178. package/dist/esm/{dir-912e3e13.js → dir-babeabeb.js} +5 -5
  1179. package/dist/esm/focus-visible-dd40d69f.js +75 -0
  1180. package/dist/esm/form-controller-548aa79c.js +64 -0
  1181. package/dist/esm/framework-delegate-bc1fd82a.js +140 -0
  1182. package/dist/esm/gesture-controller-1bf57181.js +195 -0
  1183. package/dist/esm/haptic-554688a5.js +206 -0
  1184. package/dist/esm/hardware-back-button-b2bc76db.js +71 -0
  1185. package/dist/esm/helpers-ae653409.js +418 -0
  1186. package/dist/esm/index-1193f005.js +306 -0
  1187. package/dist/esm/index-2cf77112.js +457 -0
  1188. package/dist/esm/index-4743453d.js +231 -0
  1189. package/dist/esm/index-82eeb47f.js +196 -0
  1190. package/dist/esm/{index-595d62c9.js → index-9b0d46f4.js} +3 -3
  1191. package/dist/esm/index-a5d50daf.js +7 -0
  1192. package/dist/esm/{index-7c9b1bca.js → index-b7d870cf.js} +79 -15
  1193. package/dist/esm/{index-4392efa5.js → index-b9e742e5.js} +60 -60
  1194. package/dist/esm/index.js +113 -113
  1195. package/dist/esm/input-shims-6539ce13.js +599 -0
  1196. package/dist/esm/input.utils-a5a2d164.js +135 -0
  1197. package/dist/esm/ion-accordion_2.entry.js +488 -488
  1198. package/dist/esm/ion-action-sheet.entry.js +260 -250
  1199. package/dist/esm/ion-alert.entry.js +442 -432
  1200. package/dist/esm/ion-app_8.entry.js +1151 -1151
  1201. package/dist/esm/ion-avatar_3.entry.js +29 -29
  1202. package/dist/esm/ion-back-button.entry.js +73 -73
  1203. package/dist/esm/ion-backdrop.entry.js +40 -40
  1204. package/dist/esm/ion-breadcrumb_2.entry.js +194 -194
  1205. package/dist/esm/ion-button_2.entry.js +303 -303
  1206. package/dist/esm/ion-card_5.entry.js +105 -105
  1207. package/dist/esm/ion-checkbox.entry.js +149 -147
  1208. package/dist/esm/ion-chip.entry.js +20 -20
  1209. package/dist/esm/ion-col_3.entry.js +136 -136
  1210. package/dist/esm/ion-datetime-button.entry.js +325 -325
  1211. package/dist/esm/ion-datetime_3.entry.js +2204 -2162
  1212. package/dist/esm/ion-fab_3.entry.js +150 -150
  1213. package/dist/esm/ion-img.entry.js +79 -79
  1214. package/dist/esm/ion-infinite-scroll_2.entry.js +198 -190
  1215. package/dist/esm/ion-input.entry.js +443 -399
  1216. package/dist/esm/ion-item-option_3.entry.js +457 -457
  1217. package/dist/esm/ion-item_8.entry.js +441 -428
  1218. package/dist/esm/ion-loading.entry.js +220 -210
  1219. package/dist/esm/ion-menu_3.entry.js +670 -670
  1220. package/dist/esm/ion-modal.entry.js +1415 -1405
  1221. package/dist/esm/ion-nav_2.entry.js +904 -904
  1222. package/dist/esm/ion-picker-column-internal.entry.js +331 -327
  1223. package/dist/esm/ion-picker-internal.entry.js +453 -453
  1224. package/dist/esm/ion-popover.entry.js +1108 -1098
  1225. package/dist/esm/ion-progress-bar.entry.js +40 -40
  1226. package/dist/esm/ion-radio_2.entry.js +321 -316
  1227. package/dist/esm/ion-range.entry.js +558 -556
  1228. package/dist/esm/ion-refresher_2.entry.js +786 -786
  1229. package/dist/esm/ion-reorder_2.entry.js +267 -267
  1230. package/dist/esm/ion-ripple-effect.entry.js +66 -66
  1231. package/dist/esm/ion-route_4.entry.js +693 -693
  1232. package/dist/esm/ion-searchbar.entry.js +360 -358
  1233. package/dist/esm/ion-segment_2.entry.js +507 -507
  1234. package/dist/esm/ion-select_3.entry.js +784 -768
  1235. package/dist/esm/ion-spinner.entry.js +46 -46
  1236. package/dist/esm/ion-split-pane.entry.js +119 -119
  1237. package/dist/esm/ion-tab-bar_2.entry.js +138 -138
  1238. package/dist/esm/ion-tab_2.entry.js +187 -187
  1239. package/dist/esm/ion-text.entry.js +13 -13
  1240. package/dist/esm/ion-textarea.entry.js +401 -353
  1241. package/dist/esm/ion-toast.entry.js +771 -419
  1242. package/dist/esm/ion-toggle.entry.js +227 -225
  1243. package/dist/esm/ionic-global-1f99b929.js +224 -0
  1244. package/dist/esm/ionic.js +6 -6
  1245. package/dist/esm/ios.transition-3376ccb2.js +651 -0
  1246. package/dist/esm/keyboard-52278bd7.js +146 -0
  1247. package/dist/esm/keyboard-73175e24.js +79 -0
  1248. package/dist/esm/keyboard-controller-ec5c2bfa.js +165 -0
  1249. package/dist/esm/loader.js +5 -5
  1250. package/dist/esm/lock-controller-316928be.js +38 -0
  1251. package/dist/esm/md.transition-f992779f.js +57 -0
  1252. package/dist/esm/notch-controller-fea7f9c5.js +153 -0
  1253. package/dist/esm/overlays-b33f6bca.js +693 -0
  1254. package/dist/esm/spinner-configs-964f7cf3.js +145 -0
  1255. package/dist/esm/status-tap-16fd8f3d.js +40 -0
  1256. package/dist/esm/swipe-back-18cb49f7.js +79 -0
  1257. package/dist/esm/theme-01f3f29c.js +43 -0
  1258. package/dist/esm/watch-options-c2911ace.js +47 -0
  1259. package/dist/esm-es5/{animation-8aa13916.js → animation-dde8cc0d.js} +1 -1
  1260. package/dist/esm-es5/app-globals-8c62bec2.js +4 -0
  1261. package/dist/esm-es5/{button-active-ce5cba4c.js → button-active-308d3edd.js} +1 -1
  1262. package/dist/esm-es5/{capacitor-b4979570.js → capacitor-59395cbd.js} +1 -1
  1263. package/dist/esm-es5/compare-with-utils-a96ff2ea.js +4 -0
  1264. package/dist/esm-es5/data-775093f5.js +4 -0
  1265. package/dist/esm-es5/{form-controller-64edeaad.js → form-controller-548aa79c.js} +1 -1
  1266. package/dist/esm-es5/{framework-delegate-aa433dea.js → framework-delegate-bc1fd82a.js} +1 -1
  1267. package/dist/esm-es5/{haptic-1243b917.js → haptic-554688a5.js} +1 -1
  1268. package/dist/esm-es5/index-1193f005.js +4 -0
  1269. package/dist/esm-es5/{index-ff313b19.js → index-2cf77112.js} +1 -1
  1270. package/dist/esm-es5/{index-6a0ccabb.js → index-4743453d.js} +1 -1
  1271. package/dist/esm-es5/{index-f0cc4e14.js → index-82eeb47f.js} +1 -1
  1272. package/dist/esm-es5/index-b7d870cf.js +5 -0
  1273. package/dist/esm-es5/{index-4392efa5.js → index-b9e742e5.js} +1 -1
  1274. package/dist/esm-es5/index.js +1 -1
  1275. package/dist/esm-es5/input-shims-6539ce13.js +4 -0
  1276. package/dist/esm-es5/input.utils-a5a2d164.js +4 -0
  1277. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  1278. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  1279. package/dist/esm-es5/ion-alert.entry.js +1 -1
  1280. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  1281. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  1282. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  1283. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  1284. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  1285. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  1286. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  1287. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  1288. package/dist/esm-es5/ion-chip.entry.js +1 -1
  1289. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  1290. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  1291. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  1292. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  1293. package/dist/esm-es5/ion-img.entry.js +1 -1
  1294. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  1295. package/dist/esm-es5/ion-input.entry.js +1 -1
  1296. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  1297. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  1298. package/dist/esm-es5/ion-loading.entry.js +1 -1
  1299. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  1300. package/dist/esm-es5/ion-modal.entry.js +1 -1
  1301. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  1302. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  1303. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  1304. package/dist/esm-es5/ion-popover.entry.js +1 -1
  1305. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  1306. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  1307. package/dist/esm-es5/ion-range.entry.js +1 -1
  1308. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  1309. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  1310. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  1311. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  1312. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  1313. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  1314. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  1315. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  1316. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  1317. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  1318. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  1319. package/dist/esm-es5/ion-text.entry.js +1 -1
  1320. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  1321. package/dist/esm-es5/ion-toast.entry.js +1 -1
  1322. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  1323. package/dist/esm-es5/{ionic-global-40e42e7f.js → ionic-global-1f99b929.js} +1 -1
  1324. package/dist/esm-es5/ionic.js +1 -1
  1325. package/dist/esm-es5/{ios.transition-1651c430.js → ios.transition-3376ccb2.js} +1 -1
  1326. package/dist/esm-es5/{keyboard-b551279d.js → keyboard-52278bd7.js} +1 -1
  1327. package/dist/esm-es5/{keyboard-b063f012.js → keyboard-73175e24.js} +1 -1
  1328. package/dist/esm-es5/{keyboard-controller-0c2dce71.js → keyboard-controller-ec5c2bfa.js} +1 -1
  1329. package/dist/esm-es5/loader.js +1 -1
  1330. package/dist/esm-es5/md.transition-f992779f.js +4 -0
  1331. package/dist/esm-es5/{notch-controller-8c9c0e54.js → notch-controller-fea7f9c5.js} +1 -1
  1332. package/dist/esm-es5/{overlays-6c9feb7e.js → overlays-b33f6bca.js} +1 -1
  1333. package/dist/esm-es5/{status-tap-9ce68758.js → status-tap-16fd8f3d.js} +1 -1
  1334. package/dist/esm-es5/{swipe-back-cd4295f3.js → swipe-back-18cb49f7.js} +1 -1
  1335. package/dist/html.html-data.json +16 -3
  1336. package/dist/ionic/index.esm.js +1 -1
  1337. package/dist/ionic/ionic.esm.js +1 -1
  1338. package/dist/ionic/ionic.js +15 -15
  1339. package/dist/ionic/p-013013a3.js +4 -0
  1340. package/dist/ionic/p-0235067a.js +4 -0
  1341. package/dist/ionic/{p-a0b6d438.js → p-04377cfa.js} +1 -1
  1342. package/dist/ionic/p-043aa6cc.system.entry.js +4 -0
  1343. package/dist/ionic/{p-5d711127.js → p-0509fd34.js} +1 -1
  1344. package/dist/ionic/p-0550f802.entry.js +4 -0
  1345. package/dist/ionic/p-06abe918.system.entry.js +4 -0
  1346. package/dist/ionic/{p-702d85d8.system.js → p-0aa78a8d.system.js} +1 -1
  1347. package/dist/ionic/{p-41477ad9.system.js → p-0bd51c34.system.js} +1 -1
  1348. package/dist/ionic/p-0dfa4ab4.system.entry.js +4 -0
  1349. package/dist/ionic/p-0ebc87b7.system.entry.js +4 -0
  1350. package/dist/ionic/{p-bed722c4.system.entry.js → p-10ec9af7.system.entry.js} +1 -1
  1351. package/dist/ionic/{p-f4cc91f6.entry.js → p-11786dc7.entry.js} +1 -1
  1352. package/dist/ionic/{p-0dc0d9b5.entry.js → p-11a3973f.entry.js} +1 -1
  1353. package/dist/ionic/{p-a545b4f1.system.js → p-1501b945.system.js} +1 -1
  1354. package/dist/ionic/{p-4e6a1efb.system.entry.js → p-158efe8d.system.entry.js} +1 -1
  1355. package/dist/ionic/p-164aa69c.entry.js +4 -0
  1356. package/dist/ionic/p-17d283b9.system.entry.js +4 -0
  1357. package/dist/ionic/p-18cae04f.js +4 -0
  1358. package/dist/ionic/{p-abacb44b.system.entry.js → p-19c379da.system.entry.js} +1 -1
  1359. package/dist/ionic/p-19d9ceb8.system.js +4 -0
  1360. package/dist/ionic/p-1b27ac67.entry.js +4 -0
  1361. package/dist/ionic/{p-b91fe549.entry.js → p-1c249831.entry.js} +1 -1
  1362. package/dist/ionic/{p-b4b4bb29.system.js → p-1cca10d6.system.js} +1 -1
  1363. package/dist/ionic/p-1e4371bd.js +4 -0
  1364. package/dist/ionic/{p-c7b8c2ef.system.entry.js → p-20e0e75d.system.entry.js} +1 -1
  1365. package/dist/ionic/{p-34d2de14.system.entry.js → p-22827063.system.entry.js} +1 -1
  1366. package/dist/ionic/{p-64ed03a3.entry.js → p-26c4bf85.entry.js} +1 -1
  1367. package/dist/ionic/{p-419eb426.js → p-27281edd.js} +1 -1
  1368. package/dist/ionic/{p-965677f1.entry.js → p-2894d5f6.entry.js} +1 -1
  1369. package/dist/ionic/p-290d3fe9.js +5 -0
  1370. package/dist/ionic/p-29d03b3a.js +4 -0
  1371. package/dist/ionic/p-2a583966.entry.js +4 -0
  1372. package/dist/ionic/p-2b7827c7.js +4 -0
  1373. package/dist/ionic/{p-3d7fea9b.system.entry.js → p-2ba9a9bd.system.entry.js} +1 -1
  1374. package/dist/ionic/p-2cf21a15.system.entry.js +4 -0
  1375. package/dist/ionic/p-2df97906.system.entry.js +4 -0
  1376. package/dist/ionic/{p-fa8d4788.system.js → p-31b2326e.system.js} +1 -1
  1377. package/dist/ionic/{p-744973f3.entry.js → p-3313c481.entry.js} +1 -1
  1378. package/dist/ionic/{p-ffb876b0.system.entry.js → p-332ea4d3.system.entry.js} +1 -1
  1379. package/dist/ionic/{p-97e31c0a.system.js → p-3671f1b9.system.js} +1 -1
  1380. package/dist/ionic/p-36d187af.js +4 -0
  1381. package/dist/ionic/p-376a6063.js +4 -0
  1382. package/dist/ionic/p-38531958.system.entry.js +4 -0
  1383. package/dist/ionic/{p-55ed230e.system.js → p-38c337e7.system.js} +1 -1
  1384. package/dist/ionic/p-38f2c6bb.system.js +4 -0
  1385. package/dist/ionic/{p-3bad5c1a.js → p-3a75d7fd.js} +1 -1
  1386. package/dist/ionic/{p-8b29691f.entry.js → p-3dfc522b.entry.js} +1 -1
  1387. package/dist/ionic/{p-3de79805.entry.js → p-3e8d5e53.entry.js} +1 -1
  1388. package/dist/ionic/p-40f68333.system.js +4 -0
  1389. package/dist/ionic/{p-a6d83a03.system.entry.js → p-41208f54.system.entry.js} +1 -1
  1390. package/dist/ionic/{p-b287ab05.js → p-4180a747.js} +1 -1
  1391. package/dist/ionic/{p-b923f3d7.js → p-42f189f4.js} +1 -1
  1392. package/dist/ionic/{p-d7ea6a0d.system.entry.js → p-4489dd20.system.entry.js} +1 -1
  1393. package/dist/ionic/p-44a56556.js +4 -0
  1394. package/dist/ionic/{p-e76a4bc8.entry.js → p-44dc52e5.entry.js} +1 -1
  1395. package/dist/ionic/{p-f5a750e4.system.entry.js → p-4685218a.system.entry.js} +1 -1
  1396. package/dist/ionic/p-469dd571.system.entry.js +4 -0
  1397. package/dist/ionic/{p-5bd4e009.entry.js → p-47bb15a1.entry.js} +1 -1
  1398. package/dist/ionic/{p-664d2b07.system.entry.js → p-4981ea0a.system.entry.js} +1 -1
  1399. package/dist/ionic/{p-cf425ec5.system.entry.js → p-507ddbfe.system.entry.js} +1 -1
  1400. package/dist/ionic/{p-14aca3fb.entry.js → p-529b24fb.entry.js} +1 -1
  1401. package/dist/ionic/p-52cfafe9.system.js +5 -0
  1402. package/dist/ionic/p-53ec4f1c.system.js +4 -0
  1403. package/dist/ionic/{p-c0c81820.system.js → p-5ad1fe3b.system.js} +1 -1
  1404. package/dist/ionic/{p-7cee75c0.entry.js → p-60959b71.entry.js} +1 -1
  1405. package/dist/ionic/p-61e4d3ec.entry.js +4 -0
  1406. package/dist/ionic/{p-1cb5f2f8.system.entry.js → p-648ad047.system.entry.js} +1 -1
  1407. package/dist/ionic/p-66d633fb.js +4 -0
  1408. package/dist/ionic/{p-63f08fe3.entry.js → p-6855f26a.entry.js} +1 -1
  1409. package/dist/ionic/{p-1a8ae7a7.system.entry.js → p-69641343.system.entry.js} +1 -1
  1410. package/dist/ionic/{p-800ef057.js → p-6ab03751.js} +1 -1
  1411. package/dist/ionic/{p-18e01b30.system.entry.js → p-6c277fa2.system.entry.js} +1 -1
  1412. package/dist/ionic/{p-0e23256e.system.entry.js → p-6e0539ea.system.entry.js} +1 -1
  1413. package/dist/ionic/p-6fba0ce1.system.entry.js +4 -0
  1414. package/dist/ionic/{p-4c80afe1.system.entry.js → p-745e3339.system.entry.js} +1 -1
  1415. package/dist/ionic/p-767f1a92.entry.js +4 -0
  1416. package/dist/ionic/{p-8a308596.system.js → p-7798c78a.system.js} +2 -2
  1417. package/dist/ionic/p-7dc892f8.entry.js +4 -0
  1418. package/dist/ionic/{p-6c3d5383.js → p-7fae5c36.js} +1 -1
  1419. package/dist/ionic/{p-48d9faa7.entry.js → p-803efb5d.entry.js} +1 -1
  1420. package/dist/ionic/{p-a8e68fd9.entry.js → p-806a9810.entry.js} +1 -1
  1421. package/dist/ionic/p-84b567a6.entry.js +4 -0
  1422. package/dist/ionic/p-85f48531.entry.js +4 -0
  1423. package/dist/ionic/p-87bb3735.system.js +4 -0
  1424. package/dist/ionic/{p-613d4042.system.js → p-888db766.system.js} +1 -1
  1425. package/dist/ionic/p-88d5fbd3.js +4 -0
  1426. package/dist/ionic/{p-ccdcb022.system.js → p-8985cdb6.system.js} +1 -1
  1427. package/dist/ionic/p-8aa1d0b7.system.js +4 -0
  1428. package/dist/ionic/{p-a9c3699b.system.entry.js → p-8f301ac5.system.entry.js} +1 -1
  1429. package/dist/ionic/{p-174f3446.entry.js → p-928ee57a.entry.js} +1 -1
  1430. package/dist/ionic/p-932f2259.system.entry.js +4 -0
  1431. package/dist/ionic/p-93390f78.entry.js +4 -0
  1432. package/dist/ionic/p-950c05ad.entry.js +4 -0
  1433. package/dist/ionic/{p-3fb57e1b.system.entry.js → p-96d4814f.system.entry.js} +1 -1
  1434. package/dist/ionic/p-97174c1e.js +4 -0
  1435. package/dist/ionic/p-979d4f5c.system.js +4 -0
  1436. package/dist/ionic/p-98f35d98.js +4 -0
  1437. package/dist/ionic/{p-14b4348c.system.js → p-9a68d8ef.system.js} +1 -1
  1438. package/dist/ionic/p-9ba72fdb.system.entry.js +4 -0
  1439. package/dist/ionic/{p-41122cd6.system.js → p-9f94c72e.system.js} +1 -1
  1440. package/dist/ionic/{p-92800752.entry.js → p-9fb45814.entry.js} +1 -1
  1441. package/dist/ionic/p-9fda6824.system.entry.js +4 -0
  1442. package/dist/ionic/{p-1dc91702.entry.js → p-a06501e3.entry.js} +1 -1
  1443. package/dist/ionic/{p-c4042875.system.js → p-a074be82.system.js} +1 -1
  1444. package/dist/ionic/{p-c7d30db9.entry.js → p-a3013394.entry.js} +1 -1
  1445. package/dist/ionic/p-a42ef163.system.entry.js +4 -0
  1446. package/dist/ionic/p-a49931aa.system.js +4 -0
  1447. package/dist/ionic/{p-db5043df.system.entry.js → p-a821750c.system.entry.js} +1 -1
  1448. package/dist/ionic/{p-1d269117.system.entry.js → p-abd5d0d5.system.entry.js} +1 -1
  1449. package/dist/ionic/{p-9209d90c.entry.js → p-ade3cf46.entry.js} +1 -1
  1450. package/dist/ionic/{p-1e86a71b.entry.js → p-ae4b7df8.entry.js} +1 -1
  1451. package/dist/ionic/p-aee39e06.entry.js +4 -0
  1452. package/dist/ionic/{p-09d142b3.system.js → p-afa9f205.system.js} +1 -1
  1453. package/dist/ionic/{p-67e18f02.system.entry.js → p-b7058a0e.system.entry.js} +1 -1
  1454. package/dist/ionic/p-b78e6a44.entry.js +4 -0
  1455. package/dist/ionic/{p-beb64be7.system.entry.js → p-b7a2ffc9.system.entry.js} +1 -1
  1456. package/dist/ionic/{p-0330f0a3.system.entry.js → p-b8a9e195.system.entry.js} +1 -1
  1457. package/dist/ionic/{p-8ad82eb3.entry.js → p-b964aba3.entry.js} +1 -1
  1458. package/dist/ionic/{p-ff5144f3.system.entry.js → p-beeed22c.system.entry.js} +1 -1
  1459. package/dist/ionic/{p-5deff017.entry.js → p-c08fe2c0.entry.js} +1 -1
  1460. package/dist/ionic/p-c1701827.entry.js +4 -0
  1461. package/dist/ionic/{p-b2a74a72.entry.js → p-c5acfeb1.entry.js} +1 -1
  1462. package/dist/ionic/p-c61cc894.js +4 -0
  1463. package/dist/ionic/{p-ab4cff27.system.js → p-cabad15b.system.js} +1 -1
  1464. package/dist/ionic/{p-07d9e9cd.system.entry.js → p-cb8dff22.system.entry.js} +1 -1
  1465. package/dist/ionic/p-cd1b920b.entry.js +4 -0
  1466. package/dist/ionic/p-cd574dfa.js +4 -0
  1467. package/dist/ionic/{p-0492946a.entry.js → p-cf235986.entry.js} +1 -1
  1468. package/dist/ionic/p-cf53213c.entry.js +4 -0
  1469. package/dist/ionic/p-d51674c5.system.js +4 -0
  1470. package/dist/ionic/{p-45da1e68.system.entry.js → p-d93eed83.system.entry.js} +1 -1
  1471. package/dist/ionic/{p-c919498d.entry.js → p-da5e2652.entry.js} +1 -1
  1472. package/dist/ionic/p-dc6d8647.entry.js +4 -0
  1473. package/dist/ionic/p-dc71e4ef.system.entry.js +4 -0
  1474. package/dist/ionic/{p-bba2ce59.system.js → p-ddbb2d5b.system.js} +1 -1
  1475. package/dist/ionic/{p-6e23777e.system.entry.js → p-ddd48faf.system.entry.js} +1 -1
  1476. package/dist/ionic/p-de6f8b28.system.js +4 -0
  1477. package/dist/ionic/p-de756e5c.js +4 -0
  1478. package/dist/ionic/{p-7ab6fc5a.system.entry.js → p-e2903cdc.system.entry.js} +1 -1
  1479. package/dist/ionic/{p-0a794e83.entry.js → p-e33d1ebc.entry.js} +1 -1
  1480. package/dist/ionic/p-ebe8bd8a.entry.js +4 -0
  1481. package/dist/ionic/p-eef72e06.js +4 -0
  1482. package/dist/ionic/{p-5da0eb3e.system.entry.js → p-f0504446.system.entry.js} +1 -1
  1483. package/dist/ionic/p-f434bcf3.system.entry.js +4 -0
  1484. package/dist/ionic/p-f5d2dc9b.js +4 -0
  1485. package/dist/ionic/{p-a936d224.system.js → p-f6e9c227.system.js} +1 -1
  1486. package/dist/ionic/p-f894e0ad.entry.js +4 -0
  1487. package/dist/types/components/accordion/accordion.d.ts +62 -62
  1488. package/dist/types/components/accordion-group/accordion-group-interface.d.ts +3 -3
  1489. package/dist/types/components/accordion-group/accordion-group.d.ts +76 -76
  1490. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +25 -25
  1491. package/dist/types/components/action-sheet/action-sheet.d.ts +149 -149
  1492. package/dist/types/components/action-sheet/test/basic/fixture.d.ts +7 -7
  1493. package/dist/types/components/alert/alert-interface.d.ts +45 -45
  1494. package/dist/types/components/alert/alert.d.ts +181 -181
  1495. package/dist/types/components/app/app.d.ts +15 -15
  1496. package/dist/types/components/avatar/avatar.d.ts +1 -1
  1497. package/dist/types/components/back-button/back-button.d.ts +41 -41
  1498. package/dist/types/components/backdrop/backdrop.d.ts +22 -22
  1499. package/dist/types/components/badge/badge.d.ts +7 -7
  1500. package/dist/types/components/breadcrumb/breadcrumb-interface.d.ts +4 -4
  1501. package/dist/types/components/breadcrumb/breadcrumb.d.ts +87 -87
  1502. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +39 -39
  1503. package/dist/types/components/button/button.d.ts +121 -121
  1504. package/dist/types/components/buttons/buttons.d.ts +14 -14
  1505. package/dist/types/components/card/card.d.ts +57 -57
  1506. package/dist/types/components/card-content/card-content.d.ts +1 -1
  1507. package/dist/types/components/card-header/card-header.d.ts +13 -13
  1508. package/dist/types/components/card-subtitle/card-subtitle.d.ts +7 -7
  1509. package/dist/types/components/card-title/card-title.d.ts +7 -7
  1510. package/dist/types/components/checkbox/checkbox-interface.d.ts +4 -4
  1511. package/dist/types/components/checkbox/checkbox.d.ts +112 -111
  1512. package/dist/types/components/chip/chip.d.ts +15 -15
  1513. package/dist/types/components/col/col.d.ts +128 -128
  1514. package/dist/types/components/content/content-interface.d.ts +6 -6
  1515. package/dist/types/components/content/content.d.ts +129 -129
  1516. package/dist/types/components/datetime/datetime-interface.d.ts +15 -15
  1517. package/dist/types/components/datetime/datetime.d.ts +407 -407
  1518. package/dist/types/components/datetime/utils/data.d.ts +11 -11
  1519. package/dist/types/components/datetime/utils/manipulation.d.ts +59 -32
  1520. package/dist/types/components/datetime/utils/state.d.ts +8 -8
  1521. package/dist/types/components/datetime-button/datetime-button.d.ts +59 -59
  1522. package/dist/types/components/fab/fab.d.ts +33 -33
  1523. package/dist/types/components/fab-button/fab-button.d.ts +88 -88
  1524. package/dist/types/components/fab-list/fab-list.d.ts +11 -11
  1525. package/dist/types/components/footer/footer.d.ts +27 -27
  1526. package/dist/types/components/grid/grid.d.ts +5 -5
  1527. package/dist/types/components/header/header.d.ts +31 -31
  1528. package/dist/types/components/header/header.utils.d.ts +7 -7
  1529. package/dist/types/components/img/img.d.ts +30 -30
  1530. package/dist/types/components/infinite-scroll/infinite-scroll-interface.d.ts +1 -1
  1531. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +65 -58
  1532. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +23 -23
  1533. package/dist/types/components/input/input-interface.d.ts +6 -6
  1534. package/dist/types/components/input/input.d.ts +321 -315
  1535. package/dist/types/components/item/item.d.ts +111 -111
  1536. package/dist/types/components/item-divider/item-divider.d.ts +16 -16
  1537. package/dist/types/components/item-group/item-group.d.ts +1 -1
  1538. package/dist/types/components/item-option/item-option.d.ts +44 -44
  1539. package/dist/types/components/item-options/item-options.d.ts +13 -13
  1540. package/dist/types/components/item-sliding/item-sliding-interface.d.ts +1 -1
  1541. package/dist/types/components/item-sliding/item-sliding.d.ts +75 -75
  1542. package/dist/types/components/label/label.d.ts +30 -30
  1543. package/dist/types/components/list/list.d.ts +17 -17
  1544. package/dist/types/components/list-header/list-header.d.ts +11 -11
  1545. package/dist/types/components/loading/loading-interface.d.ts +16 -16
  1546. package/dist/types/components/loading/loading.d.ts +152 -152
  1547. package/dist/types/components/menu/menu-interface.d.ts +39 -39
  1548. package/dist/types/components/menu/menu.d.ts +140 -140
  1549. package/dist/types/components/menu-button/menu-button.d.ts +30 -30
  1550. package/dist/types/components/menu-toggle/menu-toggle.d.ts +21 -21
  1551. package/dist/types/components/modal/animations/sheet.d.ts +4 -4
  1552. package/dist/types/components/modal/gestures/sheet.d.ts +30 -30
  1553. package/dist/types/components/modal/gestures/swipe-to-close.d.ts +1 -1
  1554. package/dist/types/components/modal/modal-interface.d.ts +27 -27
  1555. package/dist/types/components/modal/modal.d.ts +265 -265
  1556. package/dist/types/components/modal/test/fixtures.d.ts +7 -7
  1557. package/dist/types/components/nav/nav-interface.d.ts +40 -40
  1558. package/dist/types/components/nav/nav.d.ts +247 -247
  1559. package/dist/types/components/nav/view-controller.d.ts +13 -13
  1560. package/dist/types/components/nav-link/nav-link.d.ts +19 -19
  1561. package/dist/types/components/note/note.d.ts +7 -7
  1562. package/dist/types/components/picker/picker-interface.d.ts +43 -43
  1563. package/dist/types/components/picker/picker.d.ts +149 -149
  1564. package/dist/types/components/picker-column/picker-column.d.ts +39 -39
  1565. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +3 -3
  1566. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +93 -89
  1567. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +4 -4
  1568. package/dist/types/components/picker-internal/picker-internal.d.ts +94 -94
  1569. package/dist/types/components/popover/popover-interface.d.ts +26 -26
  1570. package/dist/types/components/popover/popover.d.ts +279 -279
  1571. package/dist/types/components/popover/test/fixture.d.ts +5 -5
  1572. package/dist/types/components/popover/utils.d.ts +25 -25
  1573. package/dist/types/components/progress-bar/progress-bar.d.ts +27 -27
  1574. package/dist/types/components/radio/radio.d.ts +100 -99
  1575. package/dist/types/components/radio-group/radio-group-interface.d.ts +5 -4
  1576. package/dist/types/components/radio-group/radio-group.d.ts +51 -44
  1577. package/dist/types/components/radio-group/test/fixtures.d.ts +5 -5
  1578. package/dist/types/components/range/range-interface.d.ts +7 -7
  1579. package/dist/types/components/range/range.d.ts +193 -192
  1580. package/dist/types/components/refresher/refresher-interface.d.ts +3 -3
  1581. package/dist/types/components/refresher/refresher.d.ts +132 -132
  1582. package/dist/types/components/refresher-content/refresher-content.d.ts +44 -44
  1583. package/dist/types/components/reorder/reorder.d.ts +3 -3
  1584. package/dist/types/components/reorder-group/reorder-group-interface.d.ts +5 -5
  1585. package/dist/types/components/reorder-group/reorder-group.d.ts +53 -53
  1586. package/dist/types/components/ripple-effect/ripple-effect.d.ts +20 -20
  1587. package/dist/types/components/route/route-interface.d.ts +1 -1
  1588. package/dist/types/components/route/route.d.ts +43 -43
  1589. package/dist/types/components/route-redirect/route-redirect.d.ts +33 -33
  1590. package/dist/types/components/router/router.d.ts +74 -73
  1591. package/dist/types/components/router/utils/dom.d.ts +2 -2
  1592. package/dist/types/components/router/utils/interface.d.ts +31 -31
  1593. package/dist/types/components/router/utils/matching.d.ts +6 -6
  1594. package/dist/types/components/router-link/router-link.d.ts +34 -34
  1595. package/dist/types/components/router-outlet/router-outlet.d.ts +41 -41
  1596. package/dist/types/components/row/row.d.ts +1 -1
  1597. package/dist/types/components/searchbar/searchbar-interface.d.ts +6 -6
  1598. package/dist/types/components/searchbar/searchbar.d.ts +235 -233
  1599. package/dist/types/components/segment/segment-interface.d.ts +3 -3
  1600. package/dist/types/components/segment/segment.d.ts +82 -82
  1601. package/dist/types/components/segment-button/segment-button.d.ts +36 -36
  1602. package/dist/types/components/select/select-interface.d.ts +3 -3
  1603. package/dist/types/components/select/select.d.ts +238 -233
  1604. package/dist/types/components/select-option/select-option.d.ts +11 -11
  1605. package/dist/types/components/select-popover/select-popover-interface.d.ts +8 -8
  1606. package/dist/types/components/select-popover/select-popover.d.ts +39 -39
  1607. package/dist/types/components/select-popover/test/fixtures.d.ts +12 -12
  1608. package/dist/types/components/skeleton-text/skeleton-text.d.ts +15 -7
  1609. package/dist/types/components/spinner/spinner-configs.d.ts +96 -96
  1610. package/dist/types/components/spinner/spinner-interface.d.ts +14 -14
  1611. package/dist/types/components/spinner/spinner.d.ts +21 -21
  1612. package/dist/types/components/split-pane/split-pane.d.ts +33 -33
  1613. package/dist/types/components/tab/tab.d.ts +21 -21
  1614. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +4 -4
  1615. package/dist/types/components/tab-bar/tab-bar.d.ts +34 -34
  1616. package/dist/types/components/tab-button/tab-button.d.ts +56 -56
  1617. package/dist/types/components/tabs/tabs-interface.d.ts +4 -4
  1618. package/dist/types/components/tabs/tabs.d.ts +52 -52
  1619. package/dist/types/components/text/text.d.ts +7 -7
  1620. package/dist/types/components/textarea/textarea-interface.d.ts +6 -6
  1621. package/dist/types/components/textarea/textarea.d.ts +275 -269
  1622. package/dist/types/components/thumbnail/thumbnail.d.ts +1 -1
  1623. package/dist/types/components/title/title.d.ts +21 -21
  1624. package/dist/types/components/toast/animations/utils.d.ts +15 -4
  1625. package/dist/types/components/toast/gestures/swipe-to-dismiss.d.ts +9 -0
  1626. package/dist/types/components/toast/toast-interface.d.ts +37 -35
  1627. package/dist/types/components/toast/toast.d.ts +241 -214
  1628. package/dist/types/components/toggle/toggle-interface.d.ts +4 -4
  1629. package/dist/types/components/toggle/toggle.d.ts +117 -116
  1630. package/dist/types/components/toolbar/toolbar.d.ts +11 -11
  1631. package/dist/types/components.d.ts +52 -13
  1632. package/dist/types/global/config.d.ts +6 -6
  1633. package/dist/types/interface.d.ts +1 -5
  1634. package/dist/types/jest.d.ts +5 -0
  1635. package/dist/types/stencil-public-runtime.d.ts +8 -0
  1636. package/dist/types/utils/animation/animation-interface.d.ts +205 -205
  1637. package/dist/types/utils/browser/index.d.ts +17 -8
  1638. package/dist/types/utils/config.d.ts +175 -175
  1639. package/dist/types/utils/element-interface.d.ts +6 -6
  1640. package/dist/types/utils/focus-visible.d.ts +2 -2
  1641. package/dist/types/utils/forms/compare-with-utils.d.ts +18 -0
  1642. package/dist/types/utils/forms/form-controller.d.ts +3 -3
  1643. package/dist/types/utils/forms/index.d.ts +1 -0
  1644. package/dist/types/utils/forms/notch-controller.d.ts +2 -2
  1645. package/dist/types/utils/framework-delegate.d.ts +3 -3
  1646. package/dist/types/utils/gesture/gesture-controller.d.ts +49 -49
  1647. package/dist/types/utils/gesture/index.d.ts +31 -31
  1648. package/dist/types/utils/gesture/listener.d.ts +2 -2
  1649. package/dist/types/utils/gesture/pointer-events.d.ts +12 -12
  1650. package/dist/types/utils/gesture/recognizers.d.ts +4 -4
  1651. package/dist/types/utils/hardware-back-button.d.ts +4 -0
  1652. package/dist/types/utils/helpers.d.ts +8 -8
  1653. package/dist/types/utils/input-shims/hacks/scroll-data.d.ts +4 -4
  1654. package/dist/types/utils/keyboard/keyboard-controller.d.ts +3 -3
  1655. package/dist/types/utils/lock-controller.d.ts +1 -1
  1656. package/dist/types/utils/native/haptic.d.ts +38 -38
  1657. package/dist/types/utils/native/keyboard.d.ts +29 -29
  1658. package/dist/types/utils/native/native-interface.d.ts +15 -15
  1659. package/dist/types/utils/native/status-bar.d.ts +8 -8
  1660. package/dist/types/utils/overlays-interface.d.ts +27 -27
  1661. package/dist/types/utils/overlays.d.ts +29 -28
  1662. package/dist/types/utils/platform.d.ts +16 -16
  1663. package/dist/types/utils/sanitization/index.d.ts +2 -2
  1664. package/dist/types/utils/slot-mutation-controller.d.ts +3 -3
  1665. package/dist/types/utils/test/platform.utils.d.ts +66 -66
  1666. package/dist/types/utils/test/playwright/generator.d.ts +16 -7
  1667. package/dist/types/utils/test/playwright/matchers/index.d.ts +3 -3
  1668. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEvent.d.ts +2 -2
  1669. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEventDetail.d.ts +2 -2
  1670. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEventTimes.d.ts +2 -2
  1671. package/dist/types/utils/test/playwright/page/event-spy.d.ts +15 -15
  1672. package/dist/types/utils/test/playwright/page/utils/goto.d.ts +3 -3
  1673. package/dist/types/utils/test/playwright/page/utils/locator.d.ts +15 -15
  1674. package/dist/types/utils/test/playwright/playwright-declarations.d.ts +92 -92
  1675. package/dist/types/utils/test/playwright/playwright-page.d.ts +3 -3
  1676. package/dist/types/utils/test/playwright/viewports/index.d.ts +12 -12
  1677. package/dist/types/utils/test/press-keys.d.ts +14 -14
  1678. package/dist/types/utils/transition/index.d.ts +6 -6
  1679. package/dist/types/utils/watch-options.d.ts +1 -1
  1680. package/hydrate/index.d.ts +1 -1
  1681. package/hydrate/index.js +30685 -30001
  1682. package/package.json +4 -3
  1683. package/dist/cjs/animation-1083855c.js +0 -1061
  1684. package/dist/cjs/button-active-af897e0e.js +0 -69
  1685. package/dist/cjs/config-d5882735.js +0 -199
  1686. package/dist/cjs/cubic-bezier-6b9222ad.js +0 -92
  1687. package/dist/cjs/data-c8d21093.js +0 -1622
  1688. package/dist/cjs/focus-visible-a7545600.js +0 -77
  1689. package/dist/cjs/form-controller-9343050c.js +0 -66
  1690. package/dist/cjs/framework-delegate-c0873a6f.js +0 -144
  1691. package/dist/cjs/gesture-controller-b46721be.js +0 -197
  1692. package/dist/cjs/haptic-678abc9f.js +0 -212
  1693. package/dist/cjs/hardware-back-button-b67c8e75.js +0 -76
  1694. package/dist/cjs/helpers-ea4ccbcb.js +0 -441
  1695. package/dist/cjs/index-0ee995e4.js +0 -459
  1696. package/dist/cjs/index-306a7476.js +0 -32
  1697. package/dist/cjs/index-573877f3.js +0 -243
  1698. package/dist/cjs/index-9f379eaa.js +0 -198
  1699. package/dist/cjs/index-d7561763.js +0 -310
  1700. package/dist/cjs/input-shims-b0a75a01.js +0 -596
  1701. package/dist/cjs/input.utils-0fe3097c.js +0 -137
  1702. package/dist/cjs/ionic-global-ea2901a3.js +0 -230
  1703. package/dist/cjs/ios.transition-ac909bc8.js +0 -654
  1704. package/dist/cjs/keyboard-controller-50beb83a.js +0 -167
  1705. package/dist/cjs/keyboard-fd7db491.js +0 -81
  1706. package/dist/cjs/lock-controller-4ae2eb59.js +0 -40
  1707. package/dist/cjs/md.transition-907af519.js +0 -59
  1708. package/dist/cjs/notch-controller-f4f6af5d.js +0 -155
  1709. package/dist/cjs/overlays-2ffc5f27.js +0 -714
  1710. package/dist/cjs/spinner-configs-f7b5105b.js +0 -147
  1711. package/dist/cjs/status-tap-3fb2391a.js +0 -42
  1712. package/dist/cjs/swipe-back-7e843e77.js +0 -81
  1713. package/dist/cjs/theme-fbc56b3b.js +0 -48
  1714. package/dist/cjs/watch-options-53bbb124.js +0 -49
  1715. package/dist/collection/components/item/test/text/item.e2e.js +0 -14
  1716. package/dist/esm/animation-8aa13916.js +0 -1059
  1717. package/dist/esm/button-active-ce5cba4c.js +0 -67
  1718. package/dist/esm/capacitor-b4979570.js +0 -13
  1719. package/dist/esm/config-96c9ace3.js +0 -193
  1720. package/dist/esm/cubic-bezier-66542bc5.js +0 -90
  1721. package/dist/esm/data-44d9e816.js +0 -1575
  1722. package/dist/esm/focus-visible-85493433.js +0 -75
  1723. package/dist/esm/form-controller-64edeaad.js +0 -64
  1724. package/dist/esm/framework-delegate-aa433dea.js +0 -140
  1725. package/dist/esm/gesture-controller-0fa396c4.js +0 -195
  1726. package/dist/esm/haptic-1243b917.js +0 -206
  1727. package/dist/esm/hardware-back-button-39299f84.js +0 -71
  1728. package/dist/esm/helpers-3379ba19.js +0 -418
  1729. package/dist/esm/index-0aa6e61f.js +0 -308
  1730. package/dist/esm/index-6a0ccabb.js +0 -231
  1731. package/dist/esm/index-7a14ecec.js +0 -29
  1732. package/dist/esm/index-f0cc4e14.js +0 -196
  1733. package/dist/esm/index-ff313b19.js +0 -457
  1734. package/dist/esm/input-shims-d0c93e5d.js +0 -594
  1735. package/dist/esm/input.utils-ec063df4.js +0 -134
  1736. package/dist/esm/ionic-global-40e42e7f.js +0 -224
  1737. package/dist/esm/ios.transition-1651c430.js +0 -651
  1738. package/dist/esm/keyboard-b063f012.js +0 -79
  1739. package/dist/esm/keyboard-b551279d.js +0 -146
  1740. package/dist/esm/keyboard-controller-0c2dce71.js +0 -165
  1741. package/dist/esm/lock-controller-e8c6c051.js +0 -38
  1742. package/dist/esm/md.transition-66f18369.js +0 -57
  1743. package/dist/esm/notch-controller-8c9c0e54.js +0 -153
  1744. package/dist/esm/overlays-6c9feb7e.js +0 -692
  1745. package/dist/esm/spinner-configs-d09fbbbb.js +0 -145
  1746. package/dist/esm/status-tap-9ce68758.js +0 -40
  1747. package/dist/esm/swipe-back-cd4295f3.js +0 -79
  1748. package/dist/esm/theme-17531cdf.js +0 -43
  1749. package/dist/esm/watch-options-02d8498b.js +0 -47
  1750. package/dist/esm-es5/app-globals-2398e405.js +0 -4
  1751. package/dist/esm-es5/data-44d9e816.js +0 -4
  1752. package/dist/esm-es5/index-0aa6e61f.js +0 -4
  1753. package/dist/esm-es5/index-7c9b1bca.js +0 -5
  1754. package/dist/esm-es5/input-shims-d0c93e5d.js +0 -4
  1755. package/dist/esm-es5/input.utils-ec063df4.js +0 -4
  1756. package/dist/esm-es5/md.transition-66f18369.js +0 -4
  1757. package/dist/ionic/p-0d8e9393.entry.js +0 -4
  1758. package/dist/ionic/p-114a36ed.js +0 -4
  1759. package/dist/ionic/p-17240d90.js +0 -4
  1760. package/dist/ionic/p-1e5165db.system.entry.js +0 -4
  1761. package/dist/ionic/p-1f4f0d59.system.entry.js +0 -4
  1762. package/dist/ionic/p-20cf4994.js +0 -4
  1763. package/dist/ionic/p-236063ec.system.entry.js +0 -4
  1764. package/dist/ionic/p-276afddd.js +0 -4
  1765. package/dist/ionic/p-2e8e0045.js +0 -4
  1766. package/dist/ionic/p-32083c2d.js +0 -4
  1767. package/dist/ionic/p-352c0232.system.entry.js +0 -4
  1768. package/dist/ionic/p-3602001b.system.js +0 -4
  1769. package/dist/ionic/p-3632220b.system.js +0 -4
  1770. package/dist/ionic/p-377c636c.system.entry.js +0 -4
  1771. package/dist/ionic/p-39044fe6.system.entry.js +0 -4
  1772. package/dist/ionic/p-3ce8c3e3.entry.js +0 -4
  1773. package/dist/ionic/p-40903d34.system.js +0 -4
  1774. package/dist/ionic/p-4518e4c0.system.entry.js +0 -4
  1775. package/dist/ionic/p-4794e0ac.system.entry.js +0 -4
  1776. package/dist/ionic/p-4a142496.system.entry.js +0 -4
  1777. package/dist/ionic/p-4cd588b3.system.entry.js +0 -4
  1778. package/dist/ionic/p-4dbac22d.entry.js +0 -4
  1779. package/dist/ionic/p-4ecb5692.entry.js +0 -4
  1780. package/dist/ionic/p-5370e786.js +0 -4
  1781. package/dist/ionic/p-5cfb3feb.system.entry.js +0 -4
  1782. package/dist/ionic/p-63d519fb.entry.js +0 -4
  1783. package/dist/ionic/p-64296b15.entry.js +0 -4
  1784. package/dist/ionic/p-67aab78f.js +0 -4
  1785. package/dist/ionic/p-67ed452a.system.entry.js +0 -4
  1786. package/dist/ionic/p-67eecef4.system.js +0 -4
  1787. package/dist/ionic/p-7176cea3.entry.js +0 -4
  1788. package/dist/ionic/p-73411c1b.entry.js +0 -4
  1789. package/dist/ionic/p-73420380.js +0 -4
  1790. package/dist/ionic/p-77e7a9c8.entry.js +0 -4
  1791. package/dist/ionic/p-81c818e7.js +0 -4
  1792. package/dist/ionic/p-8b1be026.js +0 -4
  1793. package/dist/ionic/p-8cf94fc1.js +0 -4
  1794. package/dist/ionic/p-8e1bded3.entry.js +0 -4
  1795. package/dist/ionic/p-97c65aa5.js +0 -4
  1796. package/dist/ionic/p-9ab6f3e6.system.js +0 -4
  1797. package/dist/ionic/p-9b89cbde.js +0 -4
  1798. package/dist/ionic/p-a5c1e6ce.entry.js +0 -4
  1799. package/dist/ionic/p-af016cd3.entry.js +0 -4
  1800. package/dist/ionic/p-b0cee324.entry.js +0 -4
  1801. package/dist/ionic/p-b1142133.entry.js +0 -4
  1802. package/dist/ionic/p-b17b7c3c.system.entry.js +0 -4
  1803. package/dist/ionic/p-b203659a.system.entry.js +0 -4
  1804. package/dist/ionic/p-b6f8ee31.entry.js +0 -4
  1805. package/dist/ionic/p-b8c3f071.system.js +0 -4
  1806. package/dist/ionic/p-b906c5ca.entry.js +0 -4
  1807. package/dist/ionic/p-b912e055.system.js +0 -4
  1808. package/dist/ionic/p-c224b9a9.js +0 -5
  1809. package/dist/ionic/p-ca5219df.entry.js +0 -4
  1810. package/dist/ionic/p-cc196b34.js +0 -4
  1811. package/dist/ionic/p-d1de1188.js +0 -4
  1812. package/dist/ionic/p-d2597b3e.system.js +0 -5
  1813. package/dist/ionic/p-d3952bd5.system.entry.js +0 -4
  1814. package/dist/ionic/p-dfa756ed.system.js +0 -4
  1815. package/dist/ionic/p-e6b240a0.js +0 -4
  1816. package/dist/ionic/p-e8400078.system.entry.js +0 -4
  1817. package/dist/ionic/p-ed636a74.entry.js +0 -4
  1818. package/dist/ionic/p-f8e620f1.entry.js +0 -4
  1819. package/dist/ionic/p-ff5a10f9.system.js +0 -4
  1820. /package/dist/esm-es5/{config-96c9ace3.js → config-49c88215.js} +0 -0
  1821. /package/dist/esm-es5/{cubic-bezier-66542bc5.js → cubic-bezier-fe2083dc.js} +0 -0
  1822. /package/dist/esm-es5/{dir-912e3e13.js → dir-babeabeb.js} +0 -0
  1823. /package/dist/esm-es5/{focus-visible-85493433.js → focus-visible-dd40d69f.js} +0 -0
  1824. /package/dist/esm-es5/{gesture-controller-0fa396c4.js → gesture-controller-1bf57181.js} +0 -0
  1825. /package/dist/esm-es5/{hardware-back-button-39299f84.js → hardware-back-button-b2bc76db.js} +0 -0
  1826. /package/dist/esm-es5/{helpers-3379ba19.js → helpers-ae653409.js} +0 -0
  1827. /package/dist/esm-es5/{index-595d62c9.js → index-9b0d46f4.js} +0 -0
  1828. /package/dist/esm-es5/{index-7a14ecec.js → index-a5d50daf.js} +0 -0
  1829. /package/dist/esm-es5/{lock-controller-e8c6c051.js → lock-controller-316928be.js} +0 -0
  1830. /package/dist/esm-es5/{spinner-configs-d09fbbbb.js → spinner-configs-964f7cf3.js} +0 -0
  1831. /package/dist/esm-es5/{theme-17531cdf.js → theme-01f3f29c.js} +0 -0
  1832. /package/dist/esm-es5/{watch-options-02d8498b.js → watch-options-c2911ace.js} +0 -0
  1833. /package/dist/ionic/{p-5aac9314.system.js → p-012c3ceb.system.js} +0 -0
  1834. /package/dist/ionic/{p-1b8e1d03.js → p-06fee233.js} +0 -0
  1835. /package/dist/ionic/{p-819ff3b9.system.js → p-08e01816.system.js} +0 -0
  1836. /package/dist/ionic/{p-63eb0acd.js → p-23a9d086.js} +0 -0
  1837. /package/dist/ionic/{p-7c2bac85.js → p-2408c236.js} +0 -0
  1838. /package/dist/ionic/{p-815c2fba.system.js → p-32ad210f.system.js} +0 -0
  1839. /package/dist/ionic/{p-7b021525.js → p-41d5544e.js} +0 -0
  1840. /package/dist/ionic/{p-f10de93b.js → p-459d13d5.js} +0 -0
  1841. /package/dist/ionic/{p-44bc8b45.system.js → p-4609d030.system.js} +0 -0
  1842. /package/dist/ionic/{p-1d072d3d.js → p-47794def.js} +0 -0
  1843. /package/dist/ionic/{p-185e427e.js → p-4b3623da.js} +0 -0
  1844. /package/dist/ionic/{p-772f6c84.system.js → p-4f255d5a.system.js} +0 -0
  1845. /package/dist/ionic/{p-8c15eda7.system.js → p-790220fd.system.js} +0 -0
  1846. /package/dist/ionic/{p-0e94957a.system.js → p-792919fd.system.js} +0 -0
  1847. /package/dist/ionic/{p-b347cfd1.js → p-7b30edcc.js} +0 -0
  1848. /package/dist/ionic/{p-e0b06b65.js → p-bb3615f7.js} +0 -0
  1849. /package/dist/ionic/{p-87411e39.system.js → p-c468af8a.system.js} +0 -0
  1850. /package/dist/ionic/{p-9e852ff1.system.js → p-c7c8429a.system.js} +0 -0
  1851. /package/dist/ionic/{p-53b2a46f.js → p-ccd02320.js} +0 -0
  1852. /package/dist/ionic/{p-76fce40e.js → p-d47265c8.js} +0 -0
  1853. /package/dist/ionic/{p-56dc022e.system.js → p-d8d84afa.system.js} +0 -0
  1854. /package/dist/ionic/{p-c4f2dce7.system.js → p-e673a0a2.system.js} +0 -0
  1855. /package/dist/ionic/{p-c18d6eac.js → p-f0c2a614.js} +0 -0
  1856. /package/dist/ionic/{p-2b89ea1b.system.js → p-f233f1e0.system.js} +0 -0
  1857. /package/dist/ionic/{p-6dbfe5d4.js → p-fb813dab.js} +0 -0
  1858. /package/dist/ionic/{p-479cdbf8.system.js → p-ff4b7e40.system.js} +0 -0
@@ -24,1062 +24,1065 @@ import { roundToMaxDecimalPlaces } from "../../utils/floating-point";
24
24
  * @part knob - The handle that is used to drag the range.
25
25
  * @part bar - The inactive part of the bar.
26
26
  * @part bar-active - The active part of the bar.
27
+ * @part label - The label text describing the range.
27
28
  */
28
29
  export class Range {
29
- constructor() {
30
- this.rangeId = `ion-r-${rangeIds++}`;
31
- this.didLoad = false;
32
- this.noUpdate = false;
33
- this.hasFocus = false;
34
- this.inheritedAttributes = {};
35
- this.contentEl = null;
36
- this.initialContentScrollY = true;
37
- // This flag ensures we log the deprecation warning at most once.
38
- this.hasLoggedDeprecationWarning = false;
39
- this.clampBounds = (value) => {
40
- return clamp(this.min, value, this.max);
41
- };
42
- this.ensureValueInBounds = (value) => {
43
- if (this.dualKnobs) {
44
- return {
45
- lower: this.clampBounds(value.lower),
46
- upper: this.clampBounds(value.upper),
47
- };
48
- }
49
- else {
50
- return this.clampBounds(value);
51
- }
52
- };
53
- this.setupGesture = async () => {
54
- const rangeSlider = this.rangeSlider;
55
- if (rangeSlider) {
56
- this.gesture = (await import('../../utils/gesture')).createGesture({
57
- el: rangeSlider,
58
- gestureName: 'range',
59
- gesturePriority: 100,
60
- threshold: 0,
61
- onStart: (ev) => this.onStart(ev),
62
- onMove: (ev) => this.onMove(ev),
63
- onEnd: (ev) => this.onEnd(ev),
64
- });
65
- this.gesture.enable(!this.disabled);
66
- }
67
- };
68
- this.handleKeyboard = (knob, isIncrease) => {
69
- const { ensureValueInBounds } = this;
70
- let step = this.step;
71
- step = step > 0 ? step : 1;
72
- step = step / (this.max - this.min);
73
- if (!isIncrease) {
74
- step *= -1;
75
- }
76
- if (knob === 'A') {
77
- this.ratioA = clamp(0, this.ratioA + step, 1);
78
- }
79
- else {
80
- this.ratioB = clamp(0, this.ratioB + step, 1);
81
- }
82
- this.ionKnobMoveStart.emit({ value: ensureValueInBounds(this.value) });
83
- this.updateValue();
84
- this.emitValueChange();
85
- this.ionKnobMoveEnd.emit({ value: ensureValueInBounds(this.value) });
86
- };
87
- this.onBlur = () => {
88
- if (this.hasFocus) {
30
+ constructor() {
31
+ this.rangeId = `ion-r-${rangeIds++}`;
32
+ this.didLoad = false;
33
+ this.noUpdate = false;
89
34
  this.hasFocus = false;
90
- this.ionBlur.emit();
91
- this.emitStyle();
92
- }
93
- };
94
- this.onFocus = () => {
95
- if (!this.hasFocus) {
96
- this.hasFocus = true;
97
- this.ionFocus.emit();
98
- this.emitStyle();
99
- }
100
- };
101
- this.ratioA = 0;
102
- this.ratioB = 0;
103
- this.pressedKnob = undefined;
104
- this.color = undefined;
105
- this.debounce = undefined;
106
- this.name = this.rangeId;
107
- this.label = undefined;
108
- this.dualKnobs = false;
109
- this.min = 0;
110
- this.max = 100;
111
- this.pin = false;
112
- this.pinFormatter = (value) => Math.round(value);
113
- this.snaps = false;
114
- this.step = 1;
115
- this.ticks = true;
116
- this.activeBarStart = undefined;
117
- this.disabled = false;
118
- this.value = 0;
119
- this.labelPlacement = 'start';
120
- this.legacy = undefined;
121
- }
122
- debounceChanged() {
123
- const { ionInput, debounce, originalIonInput } = this;
124
- /**
125
- * If debounce is undefined, we have to manually revert the ionInput emitter in case
126
- * debounce used to be set to a number. Otherwise, the event would stay debounced.
127
- */
128
- this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : debounceEvent(ionInput, debounce);
129
- }
130
- minChanged() {
131
- if (!this.noUpdate) {
132
- this.updateRatio();
35
+ this.inheritedAttributes = {};
36
+ this.contentEl = null;
37
+ this.initialContentScrollY = true;
38
+ // This flag ensures we log the deprecation warning at most once.
39
+ this.hasLoggedDeprecationWarning = false;
40
+ this.clampBounds = (value) => {
41
+ return clamp(this.min, value, this.max);
42
+ };
43
+ this.ensureValueInBounds = (value) => {
44
+ if (this.dualKnobs) {
45
+ return {
46
+ lower: this.clampBounds(value.lower),
47
+ upper: this.clampBounds(value.upper),
48
+ };
49
+ }
50
+ else {
51
+ return this.clampBounds(value);
52
+ }
53
+ };
54
+ this.setupGesture = async () => {
55
+ const rangeSlider = this.rangeSlider;
56
+ if (rangeSlider) {
57
+ this.gesture = (await import('../../utils/gesture')).createGesture({
58
+ el: rangeSlider,
59
+ gestureName: 'range',
60
+ gesturePriority: 100,
61
+ threshold: 0,
62
+ onStart: (ev) => this.onStart(ev),
63
+ onMove: (ev) => this.onMove(ev),
64
+ onEnd: (ev) => this.onEnd(ev),
65
+ });
66
+ this.gesture.enable(!this.disabled);
67
+ }
68
+ };
69
+ this.handleKeyboard = (knob, isIncrease) => {
70
+ const { ensureValueInBounds } = this;
71
+ let step = this.step;
72
+ step = step > 0 ? step : 1;
73
+ step = step / (this.max - this.min);
74
+ if (!isIncrease) {
75
+ step *= -1;
76
+ }
77
+ if (knob === 'A') {
78
+ this.ratioA = clamp(0, this.ratioA + step, 1);
79
+ }
80
+ else {
81
+ this.ratioB = clamp(0, this.ratioB + step, 1);
82
+ }
83
+ this.ionKnobMoveStart.emit({ value: ensureValueInBounds(this.value) });
84
+ this.updateValue();
85
+ this.emitValueChange();
86
+ this.ionKnobMoveEnd.emit({ value: ensureValueInBounds(this.value) });
87
+ };
88
+ this.onBlur = () => {
89
+ if (this.hasFocus) {
90
+ this.hasFocus = false;
91
+ this.ionBlur.emit();
92
+ this.emitStyle();
93
+ }
94
+ };
95
+ this.onFocus = () => {
96
+ if (!this.hasFocus) {
97
+ this.hasFocus = true;
98
+ this.ionFocus.emit();
99
+ this.emitStyle();
100
+ }
101
+ };
102
+ this.ratioA = 0;
103
+ this.ratioB = 0;
104
+ this.pressedKnob = undefined;
105
+ this.color = undefined;
106
+ this.debounce = undefined;
107
+ this.name = this.rangeId;
108
+ this.label = undefined;
109
+ this.dualKnobs = false;
110
+ this.min = 0;
111
+ this.max = 100;
112
+ this.pin = false;
113
+ this.pinFormatter = (value) => Math.round(value);
114
+ this.snaps = false;
115
+ this.step = 1;
116
+ this.ticks = true;
117
+ this.activeBarStart = undefined;
118
+ this.disabled = false;
119
+ this.value = 0;
120
+ this.labelPlacement = 'start';
121
+ this.legacy = undefined;
133
122
  }
134
- }
135
- maxChanged() {
136
- if (!this.noUpdate) {
137
- this.updateRatio();
123
+ debounceChanged() {
124
+ const { ionInput, debounce, originalIonInput } = this;
125
+ /**
126
+ * If debounce is undefined, we have to manually revert the ionInput emitter in case
127
+ * debounce used to be set to a number. Otherwise, the event would stay debounced.
128
+ */
129
+ this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : debounceEvent(ionInput, debounce);
138
130
  }
139
- }
140
- activeBarStartChanged() {
141
- const { activeBarStart } = this;
142
- if (activeBarStart !== undefined) {
143
- if (activeBarStart > this.max) {
144
- printIonWarning(`Range: The value of activeBarStart (${activeBarStart}) is greater than the max (${this.max}). Valid values are greater than or equal to the min value and less than or equal to the max value.`, this.el);
145
- this.activeBarStart = this.max;
146
- }
147
- else if (activeBarStart < this.min) {
148
- printIonWarning(`Range: The value of activeBarStart (${activeBarStart}) is less than the min (${this.min}). Valid values are greater than or equal to the min value and less than or equal to the max value.`, this.el);
149
- this.activeBarStart = this.min;
150
- }
131
+ minChanged() {
132
+ if (!this.noUpdate) {
133
+ this.updateRatio();
134
+ }
151
135
  }
152
- }
153
- disabledChanged() {
154
- if (this.gesture) {
155
- this.gesture.enable(!this.disabled);
136
+ maxChanged() {
137
+ if (!this.noUpdate) {
138
+ this.updateRatio();
139
+ }
156
140
  }
157
- this.emitStyle();
158
- }
159
- valueChanged() {
160
- if (!this.noUpdate) {
161
- this.updateRatio();
141
+ activeBarStartChanged() {
142
+ const { activeBarStart } = this;
143
+ if (activeBarStart !== undefined) {
144
+ if (activeBarStart > this.max) {
145
+ printIonWarning(`Range: The value of activeBarStart (${activeBarStart}) is greater than the max (${this.max}). Valid values are greater than or equal to the min value and less than or equal to the max value.`, this.el);
146
+ this.activeBarStart = this.max;
147
+ }
148
+ else if (activeBarStart < this.min) {
149
+ printIonWarning(`Range: The value of activeBarStart (${activeBarStart}) is less than the min (${this.min}). Valid values are greater than or equal to the min value and less than or equal to the max value.`, this.el);
150
+ this.activeBarStart = this.min;
151
+ }
152
+ }
162
153
  }
163
- }
164
- componentWillLoad() {
165
- /**
166
- * If user has custom ID set then we should
167
- * not assign the default incrementing ID.
168
- */
169
- if (this.el.hasAttribute('id')) {
170
- this.rangeId = this.el.getAttribute('id');
154
+ disabledChanged() {
155
+ if (this.gesture) {
156
+ this.gesture.enable(!this.disabled);
157
+ }
158
+ this.emitStyle();
171
159
  }
172
- this.inheritedAttributes = inheritAriaAttributes(this.el);
173
- }
174
- componentDidLoad() {
175
- this.originalIonInput = this.ionInput;
176
- this.setupGesture();
177
- this.updateRatio();
178
- this.didLoad = true;
179
- }
180
- connectedCallback() {
181
- const { el } = this;
182
- this.legacyFormController = createLegacyFormController(el);
183
- this.updateRatio();
184
- this.debounceChanged();
185
- this.disabledChanged();
186
- this.activeBarStartChanged();
187
- /**
188
- * If we have not yet rendered
189
- * ion-range, then rangeSlider is not defined.
190
- * But if we are moving ion-range via appendChild,
191
- * then rangeSlider will be defined.
192
- */
193
- if (this.didLoad) {
194
- this.setupGesture();
160
+ valueChanged() {
161
+ if (!this.noUpdate) {
162
+ this.updateRatio();
163
+ }
195
164
  }
196
- this.contentEl = findClosestIonContent(this.el);
197
- }
198
- disconnectedCallback() {
199
- if (this.gesture) {
200
- this.gesture.destroy();
201
- this.gesture = undefined;
165
+ componentWillLoad() {
166
+ /**
167
+ * If user has custom ID set then we should
168
+ * not assign the default incrementing ID.
169
+ */
170
+ if (this.el.hasAttribute('id')) {
171
+ this.rangeId = this.el.getAttribute('id');
172
+ }
173
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
202
174
  }
203
- }
204
- getValue() {
205
- var _a;
206
- const value = (_a = this.value) !== null && _a !== void 0 ? _a : 0;
207
- if (this.dualKnobs) {
208
- if (typeof value === 'object') {
209
- return value;
210
- }
211
- return {
212
- lower: 0,
213
- upper: value,
214
- };
175
+ componentDidLoad() {
176
+ this.originalIonInput = this.ionInput;
177
+ this.setupGesture();
178
+ this.updateRatio();
179
+ this.didLoad = true;
215
180
  }
216
- else {
217
- if (typeof value === 'object') {
218
- return value.upper;
219
- }
220
- return value;
181
+ connectedCallback() {
182
+ const { el } = this;
183
+ this.legacyFormController = createLegacyFormController(el);
184
+ this.updateRatio();
185
+ this.debounceChanged();
186
+ this.disabledChanged();
187
+ this.activeBarStartChanged();
188
+ /**
189
+ * If we have not yet rendered
190
+ * ion-range, then rangeSlider is not defined.
191
+ * But if we are moving ion-range via appendChild,
192
+ * then rangeSlider will be defined.
193
+ */
194
+ if (this.didLoad) {
195
+ this.setupGesture();
196
+ }
197
+ this.contentEl = findClosestIonContent(this.el);
221
198
  }
222
- }
223
- // TODO FW-2997 remove this
224
- emitStyle() {
225
- if (this.legacyFormController.hasLegacyControl()) {
226
- this.ionStyle.emit({
227
- interactive: true,
228
- 'interactive-disabled': this.disabled,
229
- });
199
+ disconnectedCallback() {
200
+ if (this.gesture) {
201
+ this.gesture.destroy();
202
+ this.gesture = undefined;
203
+ }
230
204
  }
231
- }
232
- /**
233
- * Emits an `ionChange` event.
234
- *
235
- * This API should be called for user committed changes.
236
- * This API should not be used for external value changes.
237
- */
238
- emitValueChange() {
239
- this.value = this.ensureValueInBounds(this.value);
240
- this.ionChange.emit({ value: this.value });
241
- }
242
- onStart(detail) {
243
- const { contentEl } = this;
244
- if (contentEl) {
245
- this.initialContentScrollY = disableContentScrollY(contentEl);
205
+ getValue() {
206
+ var _a;
207
+ const value = (_a = this.value) !== null && _a !== void 0 ? _a : 0;
208
+ if (this.dualKnobs) {
209
+ if (typeof value === 'object') {
210
+ return value;
211
+ }
212
+ return {
213
+ lower: 0,
214
+ upper: value,
215
+ };
216
+ }
217
+ else {
218
+ if (typeof value === 'object') {
219
+ return value.upper;
220
+ }
221
+ return value;
222
+ }
246
223
  }
247
- const rect = (this.rect = this.rangeSlider.getBoundingClientRect());
248
- const currentX = detail.currentX;
249
- // figure out which knob they started closer to
250
- let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);
251
- if (isRTL(this.el)) {
252
- ratio = 1 - ratio;
224
+ // TODO FW-2997 remove this
225
+ emitStyle() {
226
+ if (this.legacyFormController.hasLegacyControl()) {
227
+ this.ionStyle.emit({
228
+ interactive: true,
229
+ 'interactive-disabled': this.disabled,
230
+ // TODO(FW-2997): remove this
231
+ legacy: !!this.legacy,
232
+ });
233
+ }
253
234
  }
254
- this.pressedKnob = !this.dualKnobs || Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio) ? 'A' : 'B';
255
- this.setFocus(this.pressedKnob);
256
- // update the active knob's position
257
- this.update(currentX);
258
- this.ionKnobMoveStart.emit({ value: this.ensureValueInBounds(this.value) });
259
- }
260
- onMove(detail) {
261
- this.update(detail.currentX);
262
- }
263
- onEnd(detail) {
264
- const { contentEl, initialContentScrollY } = this;
265
- if (contentEl) {
266
- resetContentScrollY(contentEl, initialContentScrollY);
235
+ /**
236
+ * Emits an `ionChange` event.
237
+ *
238
+ * This API should be called for user committed changes.
239
+ * This API should not be used for external value changes.
240
+ */
241
+ emitValueChange() {
242
+ this.value = this.ensureValueInBounds(this.value);
243
+ this.ionChange.emit({ value: this.value });
267
244
  }
268
- this.update(detail.currentX);
269
- this.pressedKnob = undefined;
270
- this.emitValueChange();
271
- this.ionKnobMoveEnd.emit({ value: this.ensureValueInBounds(this.value) });
272
- }
273
- update(currentX) {
274
- // figure out where the pointer is currently at
275
- // update the knob being interacted with
276
- const rect = this.rect;
277
- let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);
278
- if (isRTL(this.el)) {
279
- ratio = 1 - ratio;
245
+ onStart(detail) {
246
+ const { contentEl } = this;
247
+ if (contentEl) {
248
+ this.initialContentScrollY = disableContentScrollY(contentEl);
249
+ }
250
+ const rect = (this.rect = this.rangeSlider.getBoundingClientRect());
251
+ const currentX = detail.currentX;
252
+ // figure out which knob they started closer to
253
+ let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);
254
+ if (isRTL(this.el)) {
255
+ ratio = 1 - ratio;
256
+ }
257
+ this.pressedKnob = !this.dualKnobs || Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio) ? 'A' : 'B';
258
+ this.setFocus(this.pressedKnob);
259
+ // update the active knob's position
260
+ this.update(currentX);
261
+ this.ionKnobMoveStart.emit({ value: this.ensureValueInBounds(this.value) });
280
262
  }
281
- if (this.snaps) {
282
- // snaps the ratio to the current value
283
- ratio = valueToRatio(ratioToValue(ratio, this.min, this.max, this.step), this.min, this.max);
263
+ onMove(detail) {
264
+ this.update(detail.currentX);
284
265
  }
285
- // update which knob is pressed
286
- if (this.pressedKnob === 'A') {
287
- this.ratioA = ratio;
266
+ onEnd(detail) {
267
+ const { contentEl, initialContentScrollY } = this;
268
+ if (contentEl) {
269
+ resetContentScrollY(contentEl, initialContentScrollY);
270
+ }
271
+ this.update(detail.currentX);
272
+ this.pressedKnob = undefined;
273
+ this.emitValueChange();
274
+ this.ionKnobMoveEnd.emit({ value: this.ensureValueInBounds(this.value) });
288
275
  }
289
- else {
290
- this.ratioB = ratio;
276
+ update(currentX) {
277
+ // figure out where the pointer is currently at
278
+ // update the knob being interacted with
279
+ const rect = this.rect;
280
+ let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);
281
+ if (isRTL(this.el)) {
282
+ ratio = 1 - ratio;
283
+ }
284
+ if (this.snaps) {
285
+ // snaps the ratio to the current value
286
+ ratio = valueToRatio(ratioToValue(ratio, this.min, this.max, this.step), this.min, this.max);
287
+ }
288
+ // update which knob is pressed
289
+ if (this.pressedKnob === 'A') {
290
+ this.ratioA = ratio;
291
+ }
292
+ else {
293
+ this.ratioB = ratio;
294
+ }
295
+ // Update input value
296
+ this.updateValue();
291
297
  }
292
- // Update input value
293
- this.updateValue();
294
- }
295
- get valA() {
296
- return ratioToValue(this.ratioA, this.min, this.max, this.step);
297
- }
298
- get valB() {
299
- return ratioToValue(this.ratioB, this.min, this.max, this.step);
300
- }
301
- get ratioLower() {
302
- if (this.dualKnobs) {
303
- return Math.min(this.ratioA, this.ratioB);
298
+ get valA() {
299
+ return ratioToValue(this.ratioA, this.min, this.max, this.step);
304
300
  }
305
- const { activeBarStart } = this;
306
- if (activeBarStart == null) {
307
- return 0;
301
+ get valB() {
302
+ return ratioToValue(this.ratioB, this.min, this.max, this.step);
308
303
  }
309
- return valueToRatio(activeBarStart, this.min, this.max);
310
- }
311
- get ratioUpper() {
312
- if (this.dualKnobs) {
313
- return Math.max(this.ratioA, this.ratioB);
304
+ get ratioLower() {
305
+ if (this.dualKnobs) {
306
+ return Math.min(this.ratioA, this.ratioB);
307
+ }
308
+ const { activeBarStart } = this;
309
+ if (activeBarStart == null) {
310
+ return 0;
311
+ }
312
+ return valueToRatio(activeBarStart, this.min, this.max);
314
313
  }
315
- return this.ratioA;
316
- }
317
- updateRatio() {
318
- const value = this.getValue();
319
- const { min, max } = this;
320
- if (this.dualKnobs) {
321
- this.ratioA = valueToRatio(value.lower, min, max);
322
- this.ratioB = valueToRatio(value.upper, min, max);
314
+ get ratioUpper() {
315
+ if (this.dualKnobs) {
316
+ return Math.max(this.ratioA, this.ratioB);
317
+ }
318
+ return this.ratioA;
323
319
  }
324
- else {
325
- this.ratioA = valueToRatio(value, min, max);
320
+ updateRatio() {
321
+ const value = this.getValue();
322
+ const { min, max } = this;
323
+ if (this.dualKnobs) {
324
+ this.ratioA = valueToRatio(value.lower, min, max);
325
+ this.ratioB = valueToRatio(value.upper, min, max);
326
+ }
327
+ else {
328
+ this.ratioA = valueToRatio(value, min, max);
329
+ }
326
330
  }
327
- }
328
- updateValue() {
329
- this.noUpdate = true;
330
- const { valA, valB } = this;
331
- this.value = !this.dualKnobs
332
- ? valA
333
- : {
334
- lower: Math.min(valA, valB),
335
- upper: Math.max(valA, valB),
336
- };
337
- this.ionInput.emit({ value: this.value });
338
- this.noUpdate = false;
339
- }
340
- setFocus(knob) {
341
- if (this.el.shadowRoot) {
342
- const knobEl = this.el.shadowRoot.querySelector(knob === 'A' ? '.range-knob-a' : '.range-knob-b');
343
- if (knobEl) {
344
- knobEl.focus();
345
- }
331
+ updateValue() {
332
+ this.noUpdate = true;
333
+ const { valA, valB } = this;
334
+ this.value = !this.dualKnobs
335
+ ? valA
336
+ : {
337
+ lower: Math.min(valA, valB),
338
+ upper: Math.max(valA, valB),
339
+ };
340
+ this.ionInput.emit({ value: this.value });
341
+ this.noUpdate = false;
346
342
  }
347
- }
348
- // TODO FW-2997 remove this
349
- renderLegacyRange() {
350
- if (!this.hasLoggedDeprecationWarning) {
351
- printIonWarning(`ion-range now requires providing a label with either the label slot or the "aria-label" attribute. To migrate, remove any usage of "ion-label" and pass the label text to either the component or the "aria-label" attribute.
343
+ setFocus(knob) {
344
+ if (this.el.shadowRoot) {
345
+ const knobEl = this.el.shadowRoot.querySelector(knob === 'A' ? '.range-knob-a' : '.range-knob-b');
346
+ if (knobEl) {
347
+ knobEl.focus();
348
+ }
349
+ }
350
+ }
351
+ // TODO FW-2997 remove this
352
+ renderLegacyRange() {
353
+ if (!this.hasLoggedDeprecationWarning) {
354
+ printIonWarning(`ion-range now requires providing a label with either the label slot or the "aria-label" attribute. To migrate, remove any usage of "ion-label" and pass the label text to either the component or the "aria-label" attribute.
352
355
 
353
356
  Example: <ion-range><div slot="label">Volume</div></ion-range>
354
357
  Example with aria-label: <ion-range aria-label="Volume"></ion-range>
355
358
 
356
359
  Developers can use the "legacy" property to continue using the legacy form markup. This property will be removed in an upcoming major release of Ionic where this form control will use the modern form markup.`, this.el);
357
- if (this.legacy) {
358
- printIonWarning(`ion-range is being used with the "legacy" property enabled which will forcibly enable the legacy form markup. This property will be removed in an upcoming major release of Ionic where this form control will use the modern form markup.
360
+ if (this.legacy) {
361
+ printIonWarning(`ion-range is being used with the "legacy" property enabled which will forcibly enable the legacy form markup. This property will be removed in an upcoming major release of Ionic where this form control will use the modern form markup.
359
362
 
360
363
  Developers can dismiss this warning by removing their usage of the "legacy" property and using the new range syntax.`, this.el);
361
- }
362
- this.hasLoggedDeprecationWarning = true;
364
+ }
365
+ this.hasLoggedDeprecationWarning = true;
366
+ }
367
+ const { el, pressedKnob, disabled, pin, rangeId } = this;
368
+ const mode = getIonMode(this);
369
+ renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
370
+ return (h(Host, { onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
371
+ [mode]: true,
372
+ 'in-item': hostContext('ion-item', el),
373
+ 'range-disabled': disabled,
374
+ 'range-pressed': pressedKnob !== undefined,
375
+ 'range-has-pin': pin,
376
+ 'legacy-range': true,
377
+ }) }, h("slot", { name: "start" }), this.renderRangeSlider(), h("slot", { name: "end" })));
363
378
  }
364
- const { el, pressedKnob, disabled, pin, rangeId } = this;
365
- const mode = getIonMode(this);
366
- renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
367
- return (h(Host, { onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
368
- [mode]: true,
369
- 'in-item': hostContext('ion-item', el),
370
- 'range-disabled': disabled,
371
- 'range-pressed': pressedKnob !== undefined,
372
- 'range-has-pin': pin,
373
- 'legacy-range': true,
374
- }) }, h("slot", { name: "start" }), this.renderRangeSlider(), h("slot", { name: "end" })));
375
- }
376
- /**
377
- * Returns true if content was passed to the "start" slot
378
- */
379
- get hasStartSlotContent() {
380
- return this.el.querySelector('[slot="start"]') !== null;
381
- }
382
- /**
383
- * Returns true if content was passed to the "end" slot
384
- */
385
- get hasEndSlotContent() {
386
- return this.el.querySelector('[slot="end"]') !== null;
387
- }
388
- renderRange() {
389
- const { disabled, el, hasLabel, rangeId, pin, pressedKnob, labelPlacement, label } = this;
390
- const inItem = hostContext('ion-item', el);
391
379
  /**
392
- * If there is no start content then the knob at
393
- * the min value will be cut off by the item margin.
380
+ * Returns true if content was passed to the "start" slot
394
381
  */
395
- const hasStartContent = (hasLabel && (labelPlacement === 'start' || labelPlacement === 'fixed')) || this.hasStartSlotContent;
396
- const needsStartAdjustment = inItem && !hasStartContent;
397
- /**
398
- * If there is no end content then the knob at
399
- * the max value will be cut off by the item margin.
400
- */
401
- const hasEndContent = (hasLabel && labelPlacement === 'end') || this.hasEndSlotContent;
402
- const needsEndAdjustment = inItem && !hasEndContent;
403
- const mode = getIonMode(this);
404
- renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
405
- return (h(Host, { onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
406
- [mode]: true,
407
- 'in-item': inItem,
408
- 'range-disabled': disabled,
409
- 'range-pressed': pressedKnob !== undefined,
410
- 'range-has-pin': pin,
411
- [`range-label-placement-${labelPlacement}`]: true,
412
- 'range-item-start-adjustment': needsStartAdjustment,
413
- 'range-item-end-adjustment': needsEndAdjustment,
414
- }) }, h("label", { class: "range-wrapper", id: "range-label" }, h("div", { class: {
415
- 'label-text-wrapper': true,
416
- 'label-text-wrapper-hidden': !hasLabel,
417
- } }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { class: "native-wrapper" }, h("slot", { name: "start" }), this.renderRangeSlider(), h("slot", { name: "end" })))));
418
- }
419
- get hasLabel() {
420
- return this.label !== undefined || this.el.querySelector('[slot="label"]') !== null;
421
- }
422
- renderRangeSlider() {
423
- var _a;
424
- const { min, max, step, el, handleKeyboard, pressedKnob, disabled, pin, ratioLower, ratioUpper, inheritedAttributes, rangeId, pinFormatter, } = this;
382
+ get hasStartSlotContent() {
383
+ return this.el.querySelector('[slot="start"]') !== null;
384
+ }
425
385
  /**
426
- * Look for external label, ion-label, or aria-labelledby.
427
- * If none, see if user placed an aria-label on the host
428
- * and use that instead.
386
+ * Returns true if content was passed to the "end" slot
429
387
  */
430
- let { labelText } = getAriaLabel(el, rangeId);
431
- if (labelText === undefined || labelText === null) {
432
- labelText = inheritedAttributes['aria-label'];
388
+ get hasEndSlotContent() {
389
+ return this.el.querySelector('[slot="end"]') !== null;
433
390
  }
434
- let barStart = `${ratioLower * 100}%`;
435
- let barEnd = `${100 - ratioUpper * 100}%`;
436
- const rtl = isRTL(this.el);
437
- const start = rtl ? 'right' : 'left';
438
- const end = rtl ? 'left' : 'right';
439
- const tickStyle = (tick) => {
440
- return {
441
- [start]: tick[start],
442
- };
443
- };
444
- if (this.dualKnobs === false) {
445
- /**
446
- * When the value is less than the activeBarStart or the min value,
447
- * the knob will display at the start of the active bar.
448
- */
449
- if (this.valA < ((_a = this.activeBarStart) !== null && _a !== void 0 ? _a : this.min)) {
391
+ renderRange() {
392
+ const { disabled, el, hasLabel, rangeId, pin, pressedKnob, labelPlacement, label } = this;
393
+ const inItem = hostContext('ion-item', el);
450
394
  /**
451
- * Sets the bar positions relative to the upper and lower limits.
452
- * Converts the ratio values into percentages, used as offsets for left/right styles.
453
- *
454
- * The ratioUpper refers to the knob position on the bar.
455
- * The ratioLower refers to the end position of the active bar (the value).
395
+ * If there is no start content then the knob at
396
+ * the min value will be cut off by the item margin.
456
397
  */
457
- barStart = `${ratioUpper * 100}%`;
458
- barEnd = `${100 - ratioLower * 100}%`;
459
- }
460
- else {
398
+ const hasStartContent = (hasLabel && (labelPlacement === 'start' || labelPlacement === 'fixed')) || this.hasStartSlotContent;
399
+ const needsStartAdjustment = inItem && !hasStartContent;
461
400
  /**
462
- * Otherwise, the knob will display at the end of the active bar.
463
- *
464
- * The ratioLower refers to the start position of the active bar (the value).
465
- * The ratioUpper refers to the knob position on the bar.
401
+ * If there is no end content then the knob at
402
+ * the max value will be cut off by the item margin.
466
403
  */
467
- barStart = `${ratioLower * 100}%`;
468
- barEnd = `${100 - ratioUpper * 100}%`;
469
- }
404
+ const hasEndContent = (hasLabel && labelPlacement === 'end') || this.hasEndSlotContent;
405
+ const needsEndAdjustment = inItem && !hasEndContent;
406
+ const mode = getIonMode(this);
407
+ renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
408
+ return (h(Host, { onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
409
+ [mode]: true,
410
+ 'in-item': inItem,
411
+ 'range-disabled': disabled,
412
+ 'range-pressed': pressedKnob !== undefined,
413
+ 'range-has-pin': pin,
414
+ [`range-label-placement-${labelPlacement}`]: true,
415
+ 'range-item-start-adjustment': needsStartAdjustment,
416
+ 'range-item-end-adjustment': needsEndAdjustment,
417
+ }) }, h("label", { class: "range-wrapper", id: "range-label" }, h("div", { class: {
418
+ 'label-text-wrapper': true,
419
+ 'label-text-wrapper-hidden': !hasLabel,
420
+ }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { class: "native-wrapper" }, h("slot", { name: "start" }), this.renderRangeSlider(), h("slot", { name: "end" })))));
470
421
  }
471
- const barStyle = {
472
- [start]: barStart,
473
- [end]: barEnd,
474
- };
475
- const ticks = [];
476
- if (this.snaps && this.ticks) {
477
- for (let value = min; value <= max; value += step) {
478
- const ratio = valueToRatio(value, min, max);
479
- const ratioMin = Math.min(ratioLower, ratioUpper);
480
- const ratioMax = Math.max(ratioLower, ratioUpper);
481
- const tick = {
482
- ratio,
483
- /**
484
- * Sets the tick mark as active when the tick is between the min bounds and the knob.
485
- * When using activeBarStart, the tick mark will be active between the knob and activeBarStart.
486
- */
487
- active: ratio >= ratioMin && ratio <= ratioMax,
488
- };
489
- tick[start] = `${ratio * 100}%`;
490
- ticks.push(tick);
491
- }
422
+ get hasLabel() {
423
+ return this.label !== undefined || this.el.querySelector('[slot="label"]') !== null;
492
424
  }
493
- let labelledBy;
494
- if (!this.legacyFormController.hasLegacyControl() && this.hasLabel) {
495
- labelledBy = 'range-label';
496
- }
497
- return (h("div", { class: "range-slider", ref: (rangeEl) => (this.rangeSlider = rangeEl) }, ticks.map((tick) => (h("div", { style: tickStyle(tick), role: "presentation", class: {
498
- 'range-tick': true,
499
- 'range-tick-active': tick.active,
500
- }, part: tick.active ? 'tick-active' : 'tick' }))), h("div", { class: "range-bar-container" }, h("div", { class: "range-bar", role: "presentation", part: "bar" }), h("div", { class: {
501
- 'range-bar': true,
502
- 'range-bar-active': true,
503
- 'has-ticks': ticks.length > 0,
504
- }, role: "presentation", style: barStyle, part: "bar-active" })), renderKnob(rtl, {
505
- knob: 'A',
506
- pressed: pressedKnob === 'A',
507
- value: this.valA,
508
- ratio: this.ratioA,
509
- pin,
510
- pinFormatter,
511
- disabled,
512
- handleKeyboard,
513
- min,
514
- max,
515
- labelText,
516
- labelledBy,
517
- }), this.dualKnobs &&
518
- renderKnob(rtl, {
519
- knob: 'B',
520
- pressed: pressedKnob === 'B',
521
- value: this.valB,
522
- ratio: this.ratioB,
523
- pin,
524
- pinFormatter,
525
- disabled,
526
- handleKeyboard,
527
- min,
528
- max,
529
- labelText,
530
- labelledBy,
531
- })));
532
- }
533
- render() {
534
- const { legacyFormController } = this;
535
- return legacyFormController.hasLegacyControl() ? this.renderLegacyRange() : this.renderRange();
536
- }
537
- static get is() { return "ion-range"; }
538
- static get encapsulation() { return "shadow"; }
539
- static get originalStyleUrls() {
540
- return {
541
- "ios": ["range.ios.scss"],
542
- "md": ["range.md.scss"]
543
- };
544
- }
545
- static get styleUrls() {
546
- return {
547
- "ios": ["range.ios.css"],
548
- "md": ["range.md.css"]
549
- };
550
- }
551
- static get properties() {
552
- return {
553
- "color": {
554
- "type": "string",
555
- "mutable": false,
556
- "complexType": {
557
- "original": "Color",
558
- "resolved": "\"danger\" | \"dark\" | \"light\" | \"medium\" | \"primary\" | \"secondary\" | \"success\" | \"tertiary\" | \"warning\" | string & Record<never, never> | undefined",
559
- "references": {
560
- "Color": {
561
- "location": "import",
562
- "path": "../../interface",
563
- "id": "src/interface.d.ts::Color"
564
- }
565
- }
566
- },
567
- "required": false,
568
- "optional": true,
569
- "docs": {
570
- "tags": [],
571
- "text": "The color to use from your application's color palette.\nDefault options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\nFor more information on colors, see [theming](/docs/theming/basics)."
572
- },
573
- "attribute": "color",
574
- "reflect": true
575
- },
576
- "debounce": {
577
- "type": "number",
578
- "mutable": false,
579
- "complexType": {
580
- "original": "number",
581
- "resolved": "number | undefined",
582
- "references": {}
583
- },
584
- "required": false,
585
- "optional": true,
586
- "docs": {
587
- "tags": [],
588
- "text": "How long, in milliseconds, to wait to trigger the\n`ionInput` event after each change in the range value."
589
- },
590
- "attribute": "debounce",
591
- "reflect": false
592
- },
593
- "name": {
594
- "type": "string",
595
- "mutable": false,
596
- "complexType": {
597
- "original": "string",
598
- "resolved": "string",
599
- "references": {}
600
- },
601
- "required": false,
602
- "optional": false,
603
- "docs": {
604
- "tags": [],
605
- "text": "The name of the control, which is submitted with the form data."
606
- },
607
- "attribute": "name",
608
- "reflect": false,
609
- "defaultValue": "this.rangeId"
610
- },
611
- "label": {
612
- "type": "string",
613
- "mutable": false,
614
- "complexType": {
615
- "original": "string",
616
- "resolved": "string | undefined",
617
- "references": {}
618
- },
619
- "required": false,
620
- "optional": true,
621
- "docs": {
622
- "tags": [],
623
- "text": "The text to display as the control's label. Use this over the `label` slot if\nyou only need plain text. The `label` property will take priority over the\n`label` slot if both are used."
624
- },
625
- "attribute": "label",
626
- "reflect": false
627
- },
628
- "dualKnobs": {
629
- "type": "boolean",
630
- "mutable": false,
631
- "complexType": {
632
- "original": "boolean",
633
- "resolved": "boolean",
634
- "references": {}
635
- },
636
- "required": false,
637
- "optional": false,
638
- "docs": {
639
- "tags": [],
640
- "text": "Show two knobs."
641
- },
642
- "attribute": "dual-knobs",
643
- "reflect": false,
644
- "defaultValue": "false"
645
- },
646
- "min": {
647
- "type": "number",
648
- "mutable": false,
649
- "complexType": {
650
- "original": "number",
651
- "resolved": "number",
652
- "references": {}
653
- },
654
- "required": false,
655
- "optional": false,
656
- "docs": {
657
- "tags": [],
658
- "text": "Minimum integer value of the range."
659
- },
660
- "attribute": "min",
661
- "reflect": false,
662
- "defaultValue": "0"
663
- },
664
- "max": {
665
- "type": "number",
666
- "mutable": false,
667
- "complexType": {
668
- "original": "number",
669
- "resolved": "number",
670
- "references": {}
671
- },
672
- "required": false,
673
- "optional": false,
674
- "docs": {
675
- "tags": [],
676
- "text": "Maximum integer value of the range."
677
- },
678
- "attribute": "max",
679
- "reflect": false,
680
- "defaultValue": "100"
681
- },
682
- "pin": {
683
- "type": "boolean",
684
- "mutable": false,
685
- "complexType": {
686
- "original": "boolean",
687
- "resolved": "boolean",
688
- "references": {}
689
- },
690
- "required": false,
691
- "optional": false,
692
- "docs": {
693
- "tags": [],
694
- "text": "If `true`, a pin with integer value is shown when the knob\nis pressed."
695
- },
696
- "attribute": "pin",
697
- "reflect": false,
698
- "defaultValue": "false"
699
- },
700
- "pinFormatter": {
701
- "type": "unknown",
702
- "mutable": false,
703
- "complexType": {
704
- "original": "PinFormatter",
705
- "resolved": "(value: number) => string | number",
706
- "references": {
707
- "PinFormatter": {
708
- "location": "import",
709
- "path": "./range-interface",
710
- "id": "src/components/range/range-interface.ts::PinFormatter"
711
- }
712
- }
713
- },
714
- "required": false,
715
- "optional": false,
716
- "docs": {
717
- "tags": [],
718
- "text": "A callback used to format the pin text.\nBy default the pin text is set to `Math.round(value)`."
719
- },
720
- "defaultValue": "(value: number): number => Math.round(value)"
721
- },
722
- "snaps": {
723
- "type": "boolean",
724
- "mutable": false,
725
- "complexType": {
726
- "original": "boolean",
727
- "resolved": "boolean",
728
- "references": {}
729
- },
730
- "required": false,
731
- "optional": false,
732
- "docs": {
733
- "tags": [],
734
- "text": "If `true`, the knob snaps to tick marks evenly spaced based\non the step property value."
735
- },
736
- "attribute": "snaps",
737
- "reflect": false,
738
- "defaultValue": "false"
739
- },
740
- "step": {
741
- "type": "number",
742
- "mutable": false,
743
- "complexType": {
744
- "original": "number",
745
- "resolved": "number",
746
- "references": {}
747
- },
748
- "required": false,
749
- "optional": false,
750
- "docs": {
751
- "tags": [],
752
- "text": "Specifies the value granularity."
753
- },
754
- "attribute": "step",
755
- "reflect": false,
756
- "defaultValue": "1"
757
- },
758
- "ticks": {
759
- "type": "boolean",
760
- "mutable": false,
761
- "complexType": {
762
- "original": "boolean",
763
- "resolved": "boolean",
764
- "references": {}
765
- },
766
- "required": false,
767
- "optional": false,
768
- "docs": {
769
- "tags": [],
770
- "text": "If `true`, tick marks are displayed based on the step value.\nOnly applies when `snaps` is `true`."
771
- },
772
- "attribute": "ticks",
773
- "reflect": false,
774
- "defaultValue": "true"
775
- },
776
- "activeBarStart": {
777
- "type": "number",
778
- "mutable": true,
779
- "complexType": {
780
- "original": "number",
781
- "resolved": "number | undefined",
782
- "references": {}
783
- },
784
- "required": false,
785
- "optional": true,
786
- "docs": {
787
- "tags": [],
788
- "text": "The start position of the range active bar. This feature is only available with a single knob (dualKnobs=\"false\").\nValid values are greater than or equal to the min value and less than or equal to the max value."
789
- },
790
- "attribute": "active-bar-start",
791
- "reflect": false
792
- },
793
- "disabled": {
794
- "type": "boolean",
795
- "mutable": false,
796
- "complexType": {
797
- "original": "boolean",
798
- "resolved": "boolean",
799
- "references": {}
800
- },
801
- "required": false,
802
- "optional": false,
803
- "docs": {
804
- "tags": [],
805
- "text": "If `true`, the user cannot interact with the range."
806
- },
807
- "attribute": "disabled",
808
- "reflect": false,
809
- "defaultValue": "false"
810
- },
811
- "value": {
812
- "type": "number",
813
- "mutable": true,
814
- "complexType": {
815
- "original": "RangeValue",
816
- "resolved": "number | { lower: number; upper: number; }",
817
- "references": {
818
- "RangeValue": {
819
- "location": "import",
820
- "path": "./range-interface",
821
- "id": "src/components/range/range-interface.ts::RangeValue"
822
- }
823
- }
824
- },
825
- "required": false,
826
- "optional": false,
827
- "docs": {
828
- "tags": [],
829
- "text": "the value of the range."
830
- },
831
- "attribute": "value",
832
- "reflect": false,
833
- "defaultValue": "0"
834
- },
835
- "labelPlacement": {
836
- "type": "string",
837
- "mutable": false,
838
- "complexType": {
839
- "original": "'start' | 'end' | 'fixed' | 'stacked'",
840
- "resolved": "\"end\" | \"fixed\" | \"stacked\" | \"start\"",
841
- "references": {}
842
- },
843
- "required": false,
844
- "optional": false,
845
- "docs": {
846
- "tags": [],
847
- "text": "Where to place the label relative to the range.\n`\"start\"`: The label will appear to the left of the range in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the range in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").\n`\"stacked\"`: The label will appear above the range regardless of the direction."
848
- },
849
- "attribute": "label-placement",
850
- "reflect": false,
851
- "defaultValue": "'start'"
852
- },
853
- "legacy": {
854
- "type": "boolean",
855
- "mutable": false,
856
- "complexType": {
857
- "original": "boolean",
858
- "resolved": "boolean | undefined",
859
- "references": {}
860
- },
861
- "required": false,
862
- "optional": true,
863
- "docs": {
864
- "tags": [],
865
- "text": "Set the `legacy` property to `true` to forcibly use the legacy form control markup.\nIonic will only opt components in to the modern form markup when they are\nusing either the `aria-label` attribute or the `label` property. As a result,\nthe `legacy` property should only be used as an escape hatch when you want to\navoid this automatic opt-in behavior.\nNote that this property will be removed in an upcoming major release\nof Ionic, and all form components will be opted-in to using the modern form markup."
866
- },
867
- "attribute": "legacy",
868
- "reflect": false
869
- }
870
- };
871
- }
872
- static get states() {
873
- return {
874
- "ratioA": {},
875
- "ratioB": {},
876
- "pressedKnob": {}
877
- };
878
- }
879
- static get events() {
880
- return [{
881
- "method": "ionChange",
882
- "name": "ionChange",
883
- "bubbles": true,
884
- "cancelable": true,
885
- "composed": true,
886
- "docs": {
887
- "tags": [],
888
- "text": "The `ionChange` event is fired for `<ion-range>` elements when the user\nmodifies the element's value:\n- When the user releases the knob after dragging;\n- When the user moves the knob with keyboard arrows\n\n`ionChange` is not fired when the value is changed programmatically."
889
- },
890
- "complexType": {
891
- "original": "RangeChangeEventDetail",
892
- "resolved": "RangeChangeEventDetail",
893
- "references": {
894
- "RangeChangeEventDetail": {
895
- "location": "import",
896
- "path": "./range-interface",
897
- "id": "src/components/range/range-interface.ts::RangeChangeEventDetail"
898
- }
899
- }
425
+ renderRangeSlider() {
426
+ var _a;
427
+ const { min, max, step, el, handleKeyboard, pressedKnob, disabled, pin, ratioLower, ratioUpper, inheritedAttributes, rangeId, pinFormatter, } = this;
428
+ /**
429
+ * Look for external label, ion-label, or aria-labelledby.
430
+ * If none, see if user placed an aria-label on the host
431
+ * and use that instead.
432
+ */
433
+ let { labelText } = getAriaLabel(el, rangeId);
434
+ if (labelText === undefined || labelText === null) {
435
+ labelText = inheritedAttributes['aria-label'];
900
436
  }
901
- }, {
902
- "method": "ionInput",
903
- "name": "ionInput",
904
- "bubbles": true,
905
- "cancelable": true,
906
- "composed": true,
907
- "docs": {
908
- "tags": [],
909
- "text": "The `ionInput` event is fired for `<ion-range>` elements when the value\nis modified. Unlike `ionChange`, `ionInput` is fired continuously\nwhile the user is dragging the knob."
910
- },
911
- "complexType": {
912
- "original": "RangeChangeEventDetail",
913
- "resolved": "RangeChangeEventDetail",
914
- "references": {
915
- "RangeChangeEventDetail": {
916
- "location": "import",
917
- "path": "./range-interface",
918
- "id": "src/components/range/range-interface.ts::RangeChangeEventDetail"
437
+ let barStart = `${ratioLower * 100}%`;
438
+ let barEnd = `${100 - ratioUpper * 100}%`;
439
+ const rtl = isRTL(this.el);
440
+ const start = rtl ? 'right' : 'left';
441
+ const end = rtl ? 'left' : 'right';
442
+ const tickStyle = (tick) => {
443
+ return {
444
+ [start]: tick[start],
445
+ };
446
+ };
447
+ if (this.dualKnobs === false) {
448
+ /**
449
+ * When the value is less than the activeBarStart or the min value,
450
+ * the knob will display at the start of the active bar.
451
+ */
452
+ if (this.valA < ((_a = this.activeBarStart) !== null && _a !== void 0 ? _a : this.min)) {
453
+ /**
454
+ * Sets the bar positions relative to the upper and lower limits.
455
+ * Converts the ratio values into percentages, used as offsets for left/right styles.
456
+ *
457
+ * The ratioUpper refers to the knob position on the bar.
458
+ * The ratioLower refers to the end position of the active bar (the value).
459
+ */
460
+ barStart = `${ratioUpper * 100}%`;
461
+ barEnd = `${100 - ratioLower * 100}%`;
919
462
  }
920
- }
921
- }
922
- }, {
923
- "method": "ionStyle",
924
- "name": "ionStyle",
925
- "bubbles": true,
926
- "cancelable": true,
927
- "composed": true,
928
- "docs": {
929
- "tags": [{
930
- "name": "internal",
931
- "text": undefined
932
- }],
933
- "text": "Emitted when the styles change."
934
- },
935
- "complexType": {
936
- "original": "StyleEventDetail",
937
- "resolved": "StyleEventDetail",
938
- "references": {
939
- "StyleEventDetail": {
940
- "location": "import",
941
- "path": "../../interface",
942
- "id": "src/interface.d.ts::StyleEventDetail"
463
+ else {
464
+ /**
465
+ * Otherwise, the knob will display at the end of the active bar.
466
+ *
467
+ * The ratioLower refers to the start position of the active bar (the value).
468
+ * The ratioUpper refers to the knob position on the bar.
469
+ */
470
+ barStart = `${ratioLower * 100}%`;
471
+ barEnd = `${100 - ratioUpper * 100}%`;
943
472
  }
944
- }
945
- }
946
- }, {
947
- "method": "ionFocus",
948
- "name": "ionFocus",
949
- "bubbles": true,
950
- "cancelable": true,
951
- "composed": true,
952
- "docs": {
953
- "tags": [],
954
- "text": "Emitted when the range has focus."
955
- },
956
- "complexType": {
957
- "original": "void",
958
- "resolved": "void",
959
- "references": {}
960
473
  }
961
- }, {
962
- "method": "ionBlur",
963
- "name": "ionBlur",
964
- "bubbles": true,
965
- "cancelable": true,
966
- "composed": true,
967
- "docs": {
968
- "tags": [],
969
- "text": "Emitted when the range loses focus."
970
- },
971
- "complexType": {
972
- "original": "void",
973
- "resolved": "void",
974
- "references": {}
975
- }
976
- }, {
977
- "method": "ionKnobMoveStart",
978
- "name": "ionKnobMoveStart",
979
- "bubbles": true,
980
- "cancelable": true,
981
- "composed": true,
982
- "docs": {
983
- "tags": [],
984
- "text": "Emitted when the user starts moving the range knob, whether through\nmouse drag, touch gesture, or keyboard interaction."
985
- },
986
- "complexType": {
987
- "original": "RangeKnobMoveStartEventDetail",
988
- "resolved": "RangeKnobMoveStartEventDetail",
989
- "references": {
990
- "RangeKnobMoveStartEventDetail": {
991
- "location": "import",
992
- "path": "./range-interface",
993
- "id": "src/components/range/range-interface.ts::RangeKnobMoveStartEventDetail"
474
+ const barStyle = {
475
+ [start]: barStart,
476
+ [end]: barEnd,
477
+ };
478
+ const ticks = [];
479
+ if (this.snaps && this.ticks) {
480
+ for (let value = min; value <= max; value += step) {
481
+ const ratio = valueToRatio(value, min, max);
482
+ const ratioMin = Math.min(ratioLower, ratioUpper);
483
+ const ratioMax = Math.max(ratioLower, ratioUpper);
484
+ const tick = {
485
+ ratio,
486
+ /**
487
+ * Sets the tick mark as active when the tick is between the min bounds and the knob.
488
+ * When using activeBarStart, the tick mark will be active between the knob and activeBarStart.
489
+ */
490
+ active: ratio >= ratioMin && ratio <= ratioMax,
491
+ };
492
+ tick[start] = `${ratio * 100}%`;
493
+ ticks.push(tick);
994
494
  }
995
- }
996
495
  }
997
- }, {
998
- "method": "ionKnobMoveEnd",
999
- "name": "ionKnobMoveEnd",
1000
- "bubbles": true,
1001
- "cancelable": true,
1002
- "composed": true,
1003
- "docs": {
1004
- "tags": [],
1005
- "text": "Emitted when the user finishes moving the range knob, whether through\nmouse drag, touch gesture, or keyboard interaction."
1006
- },
1007
- "complexType": {
1008
- "original": "RangeKnobMoveEndEventDetail",
1009
- "resolved": "RangeKnobMoveEndEventDetail",
1010
- "references": {
1011
- "RangeKnobMoveEndEventDetail": {
1012
- "location": "import",
1013
- "path": "./range-interface",
1014
- "id": "src/components/range/range-interface.ts::RangeKnobMoveEndEventDetail"
1015
- }
1016
- }
496
+ let labelledBy;
497
+ if (!this.legacyFormController.hasLegacyControl() && this.hasLabel) {
498
+ labelledBy = 'range-label';
1017
499
  }
1018
- }];
1019
- }
1020
- static get elementRef() { return "el"; }
1021
- static get watchers() {
1022
- return [{
1023
- "propName": "debounce",
1024
- "methodName": "debounceChanged"
1025
- }, {
1026
- "propName": "min",
1027
- "methodName": "minChanged"
1028
- }, {
1029
- "propName": "max",
1030
- "methodName": "maxChanged"
1031
- }, {
1032
- "propName": "activeBarStart",
1033
- "methodName": "activeBarStartChanged"
1034
- }, {
1035
- "propName": "disabled",
1036
- "methodName": "disabledChanged"
1037
- }, {
1038
- "propName": "value",
1039
- "methodName": "valueChanged"
1040
- }];
1041
- }
500
+ return (h("div", { class: "range-slider", ref: (rangeEl) => (this.rangeSlider = rangeEl) }, ticks.map((tick) => (h("div", { style: tickStyle(tick), role: "presentation", class: {
501
+ 'range-tick': true,
502
+ 'range-tick-active': tick.active,
503
+ }, part: tick.active ? 'tick-active' : 'tick' }))), h("div", { class: "range-bar-container" }, h("div", { class: "range-bar", role: "presentation", part: "bar" }), h("div", { class: {
504
+ 'range-bar': true,
505
+ 'range-bar-active': true,
506
+ 'has-ticks': ticks.length > 0,
507
+ }, role: "presentation", style: barStyle, part: "bar-active" })), renderKnob(rtl, {
508
+ knob: 'A',
509
+ pressed: pressedKnob === 'A',
510
+ value: this.valA,
511
+ ratio: this.ratioA,
512
+ pin,
513
+ pinFormatter,
514
+ disabled,
515
+ handleKeyboard,
516
+ min,
517
+ max,
518
+ labelText,
519
+ labelledBy,
520
+ }), this.dualKnobs &&
521
+ renderKnob(rtl, {
522
+ knob: 'B',
523
+ pressed: pressedKnob === 'B',
524
+ value: this.valB,
525
+ ratio: this.ratioB,
526
+ pin,
527
+ pinFormatter,
528
+ disabled,
529
+ handleKeyboard,
530
+ min,
531
+ max,
532
+ labelText,
533
+ labelledBy,
534
+ })));
535
+ }
536
+ render() {
537
+ const { legacyFormController } = this;
538
+ return legacyFormController.hasLegacyControl() ? this.renderLegacyRange() : this.renderRange();
539
+ }
540
+ static get is() { return "ion-range"; }
541
+ static get encapsulation() { return "shadow"; }
542
+ static get originalStyleUrls() {
543
+ return {
544
+ "ios": ["range.ios.scss"],
545
+ "md": ["range.md.scss"]
546
+ };
547
+ }
548
+ static get styleUrls() {
549
+ return {
550
+ "ios": ["range.ios.css"],
551
+ "md": ["range.md.css"]
552
+ };
553
+ }
554
+ static get properties() {
555
+ return {
556
+ "color": {
557
+ "type": "string",
558
+ "mutable": false,
559
+ "complexType": {
560
+ "original": "Color",
561
+ "resolved": "\"danger\" | \"dark\" | \"light\" | \"medium\" | \"primary\" | \"secondary\" | \"success\" | \"tertiary\" | \"warning\" | string & Record<never, never> | undefined",
562
+ "references": {
563
+ "Color": {
564
+ "location": "import",
565
+ "path": "../../interface",
566
+ "id": "src/interface.d.ts::Color"
567
+ }
568
+ }
569
+ },
570
+ "required": false,
571
+ "optional": true,
572
+ "docs": {
573
+ "tags": [],
574
+ "text": "The color to use from your application's color palette.\nDefault options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\nFor more information on colors, see [theming](/docs/theming/basics)."
575
+ },
576
+ "attribute": "color",
577
+ "reflect": true
578
+ },
579
+ "debounce": {
580
+ "type": "number",
581
+ "mutable": false,
582
+ "complexType": {
583
+ "original": "number",
584
+ "resolved": "number | undefined",
585
+ "references": {}
586
+ },
587
+ "required": false,
588
+ "optional": true,
589
+ "docs": {
590
+ "tags": [],
591
+ "text": "How long, in milliseconds, to wait to trigger the\n`ionInput` event after each change in the range value."
592
+ },
593
+ "attribute": "debounce",
594
+ "reflect": false
595
+ },
596
+ "name": {
597
+ "type": "string",
598
+ "mutable": false,
599
+ "complexType": {
600
+ "original": "string",
601
+ "resolved": "string",
602
+ "references": {}
603
+ },
604
+ "required": false,
605
+ "optional": false,
606
+ "docs": {
607
+ "tags": [],
608
+ "text": "The name of the control, which is submitted with the form data."
609
+ },
610
+ "attribute": "name",
611
+ "reflect": false,
612
+ "defaultValue": "this.rangeId"
613
+ },
614
+ "label": {
615
+ "type": "string",
616
+ "mutable": false,
617
+ "complexType": {
618
+ "original": "string",
619
+ "resolved": "string | undefined",
620
+ "references": {}
621
+ },
622
+ "required": false,
623
+ "optional": true,
624
+ "docs": {
625
+ "tags": [],
626
+ "text": "The text to display as the control's label. Use this over the `label` slot if\nyou only need plain text. The `label` property will take priority over the\n`label` slot if both are used."
627
+ },
628
+ "attribute": "label",
629
+ "reflect": false
630
+ },
631
+ "dualKnobs": {
632
+ "type": "boolean",
633
+ "mutable": false,
634
+ "complexType": {
635
+ "original": "boolean",
636
+ "resolved": "boolean",
637
+ "references": {}
638
+ },
639
+ "required": false,
640
+ "optional": false,
641
+ "docs": {
642
+ "tags": [],
643
+ "text": "Show two knobs."
644
+ },
645
+ "attribute": "dual-knobs",
646
+ "reflect": false,
647
+ "defaultValue": "false"
648
+ },
649
+ "min": {
650
+ "type": "number",
651
+ "mutable": false,
652
+ "complexType": {
653
+ "original": "number",
654
+ "resolved": "number",
655
+ "references": {}
656
+ },
657
+ "required": false,
658
+ "optional": false,
659
+ "docs": {
660
+ "tags": [],
661
+ "text": "Minimum integer value of the range."
662
+ },
663
+ "attribute": "min",
664
+ "reflect": false,
665
+ "defaultValue": "0"
666
+ },
667
+ "max": {
668
+ "type": "number",
669
+ "mutable": false,
670
+ "complexType": {
671
+ "original": "number",
672
+ "resolved": "number",
673
+ "references": {}
674
+ },
675
+ "required": false,
676
+ "optional": false,
677
+ "docs": {
678
+ "tags": [],
679
+ "text": "Maximum integer value of the range."
680
+ },
681
+ "attribute": "max",
682
+ "reflect": false,
683
+ "defaultValue": "100"
684
+ },
685
+ "pin": {
686
+ "type": "boolean",
687
+ "mutable": false,
688
+ "complexType": {
689
+ "original": "boolean",
690
+ "resolved": "boolean",
691
+ "references": {}
692
+ },
693
+ "required": false,
694
+ "optional": false,
695
+ "docs": {
696
+ "tags": [],
697
+ "text": "If `true`, a pin with integer value is shown when the knob\nis pressed."
698
+ },
699
+ "attribute": "pin",
700
+ "reflect": false,
701
+ "defaultValue": "false"
702
+ },
703
+ "pinFormatter": {
704
+ "type": "unknown",
705
+ "mutable": false,
706
+ "complexType": {
707
+ "original": "PinFormatter",
708
+ "resolved": "(value: number) => string | number",
709
+ "references": {
710
+ "PinFormatter": {
711
+ "location": "import",
712
+ "path": "./range-interface",
713
+ "id": "src/components/range/range-interface.ts::PinFormatter"
714
+ }
715
+ }
716
+ },
717
+ "required": false,
718
+ "optional": false,
719
+ "docs": {
720
+ "tags": [],
721
+ "text": "A callback used to format the pin text.\nBy default the pin text is set to `Math.round(value)`."
722
+ },
723
+ "defaultValue": "(value: number): number => Math.round(value)"
724
+ },
725
+ "snaps": {
726
+ "type": "boolean",
727
+ "mutable": false,
728
+ "complexType": {
729
+ "original": "boolean",
730
+ "resolved": "boolean",
731
+ "references": {}
732
+ },
733
+ "required": false,
734
+ "optional": false,
735
+ "docs": {
736
+ "tags": [],
737
+ "text": "If `true`, the knob snaps to tick marks evenly spaced based\non the step property value."
738
+ },
739
+ "attribute": "snaps",
740
+ "reflect": false,
741
+ "defaultValue": "false"
742
+ },
743
+ "step": {
744
+ "type": "number",
745
+ "mutable": false,
746
+ "complexType": {
747
+ "original": "number",
748
+ "resolved": "number",
749
+ "references": {}
750
+ },
751
+ "required": false,
752
+ "optional": false,
753
+ "docs": {
754
+ "tags": [],
755
+ "text": "Specifies the value granularity."
756
+ },
757
+ "attribute": "step",
758
+ "reflect": false,
759
+ "defaultValue": "1"
760
+ },
761
+ "ticks": {
762
+ "type": "boolean",
763
+ "mutable": false,
764
+ "complexType": {
765
+ "original": "boolean",
766
+ "resolved": "boolean",
767
+ "references": {}
768
+ },
769
+ "required": false,
770
+ "optional": false,
771
+ "docs": {
772
+ "tags": [],
773
+ "text": "If `true`, tick marks are displayed based on the step value.\nOnly applies when `snaps` is `true`."
774
+ },
775
+ "attribute": "ticks",
776
+ "reflect": false,
777
+ "defaultValue": "true"
778
+ },
779
+ "activeBarStart": {
780
+ "type": "number",
781
+ "mutable": true,
782
+ "complexType": {
783
+ "original": "number",
784
+ "resolved": "number | undefined",
785
+ "references": {}
786
+ },
787
+ "required": false,
788
+ "optional": true,
789
+ "docs": {
790
+ "tags": [],
791
+ "text": "The start position of the range active bar. This feature is only available with a single knob (dualKnobs=\"false\").\nValid values are greater than or equal to the min value and less than or equal to the max value."
792
+ },
793
+ "attribute": "active-bar-start",
794
+ "reflect": false
795
+ },
796
+ "disabled": {
797
+ "type": "boolean",
798
+ "mutable": false,
799
+ "complexType": {
800
+ "original": "boolean",
801
+ "resolved": "boolean",
802
+ "references": {}
803
+ },
804
+ "required": false,
805
+ "optional": false,
806
+ "docs": {
807
+ "tags": [],
808
+ "text": "If `true`, the user cannot interact with the range."
809
+ },
810
+ "attribute": "disabled",
811
+ "reflect": false,
812
+ "defaultValue": "false"
813
+ },
814
+ "value": {
815
+ "type": "number",
816
+ "mutable": true,
817
+ "complexType": {
818
+ "original": "RangeValue",
819
+ "resolved": "number | { lower: number; upper: number; }",
820
+ "references": {
821
+ "RangeValue": {
822
+ "location": "import",
823
+ "path": "./range-interface",
824
+ "id": "src/components/range/range-interface.ts::RangeValue"
825
+ }
826
+ }
827
+ },
828
+ "required": false,
829
+ "optional": false,
830
+ "docs": {
831
+ "tags": [],
832
+ "text": "the value of the range."
833
+ },
834
+ "attribute": "value",
835
+ "reflect": false,
836
+ "defaultValue": "0"
837
+ },
838
+ "labelPlacement": {
839
+ "type": "string",
840
+ "mutable": false,
841
+ "complexType": {
842
+ "original": "'start' | 'end' | 'fixed' | 'stacked'",
843
+ "resolved": "\"end\" | \"fixed\" | \"stacked\" | \"start\"",
844
+ "references": {}
845
+ },
846
+ "required": false,
847
+ "optional": false,
848
+ "docs": {
849
+ "tags": [],
850
+ "text": "Where to place the label relative to the range.\n`\"start\"`: The label will appear to the left of the range in LTR and to the right in RTL.\n`\"end\"`: The label will appear to the right of the range in LTR and to the left in RTL.\n`\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").\n`\"stacked\"`: The label will appear above the range regardless of the direction."
851
+ },
852
+ "attribute": "label-placement",
853
+ "reflect": false,
854
+ "defaultValue": "'start'"
855
+ },
856
+ "legacy": {
857
+ "type": "boolean",
858
+ "mutable": false,
859
+ "complexType": {
860
+ "original": "boolean",
861
+ "resolved": "boolean | undefined",
862
+ "references": {}
863
+ },
864
+ "required": false,
865
+ "optional": true,
866
+ "docs": {
867
+ "tags": [],
868
+ "text": "Set the `legacy` property to `true` to forcibly use the legacy form control markup.\nIonic will only opt components in to the modern form markup when they are\nusing either the `aria-label` attribute or the `label` property. As a result,\nthe `legacy` property should only be used as an escape hatch when you want to\navoid this automatic opt-in behavior.\nNote that this property will be removed in an upcoming major release\nof Ionic, and all form components will be opted-in to using the modern form markup."
869
+ },
870
+ "attribute": "legacy",
871
+ "reflect": false
872
+ }
873
+ };
874
+ }
875
+ static get states() {
876
+ return {
877
+ "ratioA": {},
878
+ "ratioB": {},
879
+ "pressedKnob": {}
880
+ };
881
+ }
882
+ static get events() {
883
+ return [{
884
+ "method": "ionChange",
885
+ "name": "ionChange",
886
+ "bubbles": true,
887
+ "cancelable": true,
888
+ "composed": true,
889
+ "docs": {
890
+ "tags": [],
891
+ "text": "The `ionChange` event is fired for `<ion-range>` elements when the user\nmodifies the element's value:\n- When the user releases the knob after dragging;\n- When the user moves the knob with keyboard arrows\n\n`ionChange` is not fired when the value is changed programmatically."
892
+ },
893
+ "complexType": {
894
+ "original": "RangeChangeEventDetail",
895
+ "resolved": "RangeChangeEventDetail",
896
+ "references": {
897
+ "RangeChangeEventDetail": {
898
+ "location": "import",
899
+ "path": "./range-interface",
900
+ "id": "src/components/range/range-interface.ts::RangeChangeEventDetail"
901
+ }
902
+ }
903
+ }
904
+ }, {
905
+ "method": "ionInput",
906
+ "name": "ionInput",
907
+ "bubbles": true,
908
+ "cancelable": true,
909
+ "composed": true,
910
+ "docs": {
911
+ "tags": [],
912
+ "text": "The `ionInput` event is fired for `<ion-range>` elements when the value\nis modified. Unlike `ionChange`, `ionInput` is fired continuously\nwhile the user is dragging the knob."
913
+ },
914
+ "complexType": {
915
+ "original": "RangeChangeEventDetail",
916
+ "resolved": "RangeChangeEventDetail",
917
+ "references": {
918
+ "RangeChangeEventDetail": {
919
+ "location": "import",
920
+ "path": "./range-interface",
921
+ "id": "src/components/range/range-interface.ts::RangeChangeEventDetail"
922
+ }
923
+ }
924
+ }
925
+ }, {
926
+ "method": "ionStyle",
927
+ "name": "ionStyle",
928
+ "bubbles": true,
929
+ "cancelable": true,
930
+ "composed": true,
931
+ "docs": {
932
+ "tags": [{
933
+ "name": "internal",
934
+ "text": undefined
935
+ }],
936
+ "text": "Emitted when the styles change."
937
+ },
938
+ "complexType": {
939
+ "original": "StyleEventDetail",
940
+ "resolved": "StyleEventDetail",
941
+ "references": {
942
+ "StyleEventDetail": {
943
+ "location": "import",
944
+ "path": "../../interface",
945
+ "id": "src/interface.d.ts::StyleEventDetail"
946
+ }
947
+ }
948
+ }
949
+ }, {
950
+ "method": "ionFocus",
951
+ "name": "ionFocus",
952
+ "bubbles": true,
953
+ "cancelable": true,
954
+ "composed": true,
955
+ "docs": {
956
+ "tags": [],
957
+ "text": "Emitted when the range has focus."
958
+ },
959
+ "complexType": {
960
+ "original": "void",
961
+ "resolved": "void",
962
+ "references": {}
963
+ }
964
+ }, {
965
+ "method": "ionBlur",
966
+ "name": "ionBlur",
967
+ "bubbles": true,
968
+ "cancelable": true,
969
+ "composed": true,
970
+ "docs": {
971
+ "tags": [],
972
+ "text": "Emitted when the range loses focus."
973
+ },
974
+ "complexType": {
975
+ "original": "void",
976
+ "resolved": "void",
977
+ "references": {}
978
+ }
979
+ }, {
980
+ "method": "ionKnobMoveStart",
981
+ "name": "ionKnobMoveStart",
982
+ "bubbles": true,
983
+ "cancelable": true,
984
+ "composed": true,
985
+ "docs": {
986
+ "tags": [],
987
+ "text": "Emitted when the user starts moving the range knob, whether through\nmouse drag, touch gesture, or keyboard interaction."
988
+ },
989
+ "complexType": {
990
+ "original": "RangeKnobMoveStartEventDetail",
991
+ "resolved": "RangeKnobMoveStartEventDetail",
992
+ "references": {
993
+ "RangeKnobMoveStartEventDetail": {
994
+ "location": "import",
995
+ "path": "./range-interface",
996
+ "id": "src/components/range/range-interface.ts::RangeKnobMoveStartEventDetail"
997
+ }
998
+ }
999
+ }
1000
+ }, {
1001
+ "method": "ionKnobMoveEnd",
1002
+ "name": "ionKnobMoveEnd",
1003
+ "bubbles": true,
1004
+ "cancelable": true,
1005
+ "composed": true,
1006
+ "docs": {
1007
+ "tags": [],
1008
+ "text": "Emitted when the user finishes moving the range knob, whether through\nmouse drag, touch gesture, or keyboard interaction."
1009
+ },
1010
+ "complexType": {
1011
+ "original": "RangeKnobMoveEndEventDetail",
1012
+ "resolved": "RangeKnobMoveEndEventDetail",
1013
+ "references": {
1014
+ "RangeKnobMoveEndEventDetail": {
1015
+ "location": "import",
1016
+ "path": "./range-interface",
1017
+ "id": "src/components/range/range-interface.ts::RangeKnobMoveEndEventDetail"
1018
+ }
1019
+ }
1020
+ }
1021
+ }];
1022
+ }
1023
+ static get elementRef() { return "el"; }
1024
+ static get watchers() {
1025
+ return [{
1026
+ "propName": "debounce",
1027
+ "methodName": "debounceChanged"
1028
+ }, {
1029
+ "propName": "min",
1030
+ "methodName": "minChanged"
1031
+ }, {
1032
+ "propName": "max",
1033
+ "methodName": "maxChanged"
1034
+ }, {
1035
+ "propName": "activeBarStart",
1036
+ "methodName": "activeBarStartChanged"
1037
+ }, {
1038
+ "propName": "disabled",
1039
+ "methodName": "disabledChanged"
1040
+ }, {
1041
+ "propName": "value",
1042
+ "methodName": "valueChanged"
1043
+ }];
1044
+ }
1042
1045
  }
1043
1046
  const renderKnob = (rtl, { knob, value, ratio, min, max, disabled, pressed, pin, handleKeyboard, labelText, labelledBy, pinFormatter, }) => {
1044
- const start = rtl ? 'right' : 'left';
1045
- const knobStyle = () => {
1046
- const style = {};
1047
- style[start] = `${ratio * 100}%`;
1048
- return style;
1049
- };
1050
- return (h("div", { onKeyDown: (ev) => {
1051
- const key = ev.key;
1052
- if (key === 'ArrowLeft' || key === 'ArrowDown') {
1053
- handleKeyboard(knob, false);
1054
- ev.preventDefault();
1055
- ev.stopPropagation();
1056
- }
1057
- else if (key === 'ArrowRight' || key === 'ArrowUp') {
1058
- handleKeyboard(knob, true);
1059
- ev.preventDefault();
1060
- ev.stopPropagation();
1061
- }
1062
- }, class: {
1063
- 'range-knob-handle': true,
1064
- 'range-knob-a': knob === 'A',
1065
- 'range-knob-b': knob === 'B',
1066
- 'range-knob-pressed': pressed,
1067
- 'range-knob-min': value === min,
1068
- 'range-knob-max': value === max,
1069
- 'ion-activatable': true,
1070
- 'ion-focusable': true,
1071
- }, 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" })));
1047
+ const start = rtl ? 'right' : 'left';
1048
+ const knobStyle = () => {
1049
+ const style = {};
1050
+ style[start] = `${ratio * 100}%`;
1051
+ return style;
1052
+ };
1053
+ return (h("div", { onKeyDown: (ev) => {
1054
+ const key = ev.key;
1055
+ if (key === 'ArrowLeft' || key === 'ArrowDown') {
1056
+ handleKeyboard(knob, false);
1057
+ ev.preventDefault();
1058
+ ev.stopPropagation();
1059
+ }
1060
+ else if (key === 'ArrowRight' || key === 'ArrowUp') {
1061
+ handleKeyboard(knob, true);
1062
+ ev.preventDefault();
1063
+ ev.stopPropagation();
1064
+ }
1065
+ }, class: {
1066
+ 'range-knob-handle': true,
1067
+ 'range-knob-a': knob === 'A',
1068
+ 'range-knob-b': knob === 'B',
1069
+ 'range-knob-pressed': pressed,
1070
+ 'range-knob-min': value === min,
1071
+ 'range-knob-max': value === max,
1072
+ 'ion-activatable': true,
1073
+ 'ion-focusable': true,
1074
+ }, 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" })));
1072
1075
  };
1073
1076
  const ratioToValue = (ratio, min, max, step) => {
1074
- let value = (max - min) * ratio;
1075
- if (step > 0) {
1076
- // round to nearest multiple of step, then add min
1077
- value = Math.round(value / step) * step + min;
1078
- }
1079
- const clampedValue = clamp(min, value, max);
1080
- return roundToMaxDecimalPlaces(clampedValue, min, max, step);
1077
+ let value = (max - min) * ratio;
1078
+ if (step > 0) {
1079
+ // round to nearest multiple of step, then add min
1080
+ value = Math.round(value / step) * step + min;
1081
+ }
1082
+ const clampedValue = clamp(min, value, max);
1083
+ return roundToMaxDecimalPlaces(clampedValue, min, max, step);
1081
1084
  };
1082
1085
  const valueToRatio = (value, min, max) => {
1083
- return clamp(0, (value - min) / (max - min), 1);
1086
+ return clamp(0, (value - min) / (max - min), 1);
1084
1087
  };
1085
1088
  let rangeIds = 0;