@ionic/core 8.8.18-dev.11786108988.1fd94742 → 8.8.18-dev.11786109471.1285bcfb

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 (788) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-fab-button.js +1 -1
  27. package/components/ion-fab-list.js +1 -1
  28. package/components/ion-fab.js +1 -1
  29. package/components/ion-footer.js +1 -1
  30. package/components/ion-grid.js +1 -1
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-icon.js +1 -1
  33. package/components/ion-img.js +1 -1
  34. package/components/ion-infinite-scroll-content.js +1 -1
  35. package/components/ion-infinite-scroll.js +1 -1
  36. package/components/ion-input-otp.js +1 -1
  37. package/components/ion-input-password-toggle.js +1 -1
  38. package/components/ion-input.js +1 -1
  39. package/components/ion-item-divider.js +1 -1
  40. package/components/ion-item-group.js +1 -1
  41. package/components/ion-item-option.js +1 -1
  42. package/components/ion-item-options.js +1 -1
  43. package/components/ion-item-sliding.js +1 -1
  44. package/components/ion-item.js +1 -1
  45. package/components/ion-label.js +1 -1
  46. package/components/ion-list-header.js +1 -1
  47. package/components/ion-list.js +1 -1
  48. package/components/ion-loading.js +1 -1
  49. package/components/ion-menu-button.js +1 -1
  50. package/components/ion-menu-toggle.js +1 -1
  51. package/components/ion-menu.js +1 -1
  52. package/components/ion-modal.js +1 -1
  53. package/components/ion-nav-link.js +1 -1
  54. package/components/ion-nav.js +1 -1
  55. package/components/ion-note.js +1 -1
  56. package/components/ion-picker-column-option.js +1 -1
  57. package/components/ion-picker-column.js +1 -1
  58. package/components/ion-picker-legacy-column.d.ts +11 -0
  59. package/components/ion-picker-legacy-column.js +4 -0
  60. package/components/ion-picker-legacy.d.ts +11 -0
  61. package/components/ion-picker-legacy.js +4 -0
  62. package/components/ion-picker.js +1 -1
  63. package/components/ion-popover.js +1 -1
  64. package/components/ion-progress-bar.js +1 -1
  65. package/components/ion-radio-group.js +1 -1
  66. package/components/ion-radio.js +1 -1
  67. package/components/ion-range.js +1 -1
  68. package/components/ion-refresher-content.js +1 -1
  69. package/components/ion-refresher.js +1 -1
  70. package/components/ion-reorder-group.js +1 -1
  71. package/components/ion-reorder.js +1 -1
  72. package/components/ion-ripple-effect.js +1 -1
  73. package/components/ion-route-redirect.js +1 -1
  74. package/components/ion-route.js +1 -1
  75. package/components/ion-router-link.js +1 -1
  76. package/components/ion-router-outlet.js +1 -1
  77. package/components/ion-router.js +1 -1
  78. package/components/ion-row.js +1 -1
  79. package/components/ion-searchbar.js +1 -1
  80. package/components/ion-segment-button.js +1 -1
  81. package/components/ion-segment-content.js +1 -1
  82. package/components/ion-segment-view.js +1 -1
  83. package/components/ion-segment.js +1 -1
  84. package/components/ion-select-modal.js +1 -1
  85. package/components/ion-select-option.js +1 -1
  86. package/components/ion-select-popover.js +1 -1
  87. package/components/ion-select.js +1 -1
  88. package/components/ion-skeleton-text.js +1 -1
  89. package/components/ion-spinner.js +1 -1
  90. package/components/ion-split-pane.js +1 -1
  91. package/components/ion-tab-bar.js +1 -1
  92. package/components/ion-tab-button.js +1 -1
  93. package/components/ion-tab.js +1 -1
  94. package/components/ion-tabs.js +1 -1
  95. package/components/ion-text.js +1 -1
  96. package/components/ion-textarea.js +1 -1
  97. package/components/ion-thumbnail.js +1 -1
  98. package/components/ion-title.js +1 -1
  99. package/components/ion-toast.js +1 -1
  100. package/components/ion-toggle.js +1 -1
  101. package/components/ion-toolbar.js +1 -1
  102. package/components/{p-AqD_wmvU.js → p--JUspHvy.js} +1 -1
  103. package/components/p-A3O24YmY.js +4 -0
  104. package/components/p-ABkNVeU9.js +4 -0
  105. package/{dist/ionic/p-CHpEzg-o.js → components/p-B-JJgYSG.js} +1 -1
  106. package/components/p-B9jFTlwE.js +4 -0
  107. package/components/p-BLmJ0zRm.js +4 -0
  108. package/components/p-BMI53wYL.js +4 -0
  109. package/components/p-BMaKgJFV.js +4 -0
  110. package/components/p-BSEgsdFI.js +4 -0
  111. package/components/p-BTEOs1at.js +4 -0
  112. package/{dist/ionic/p-aL0G45tD.js → components/p-BkKAANMJ.js} +1 -1
  113. package/components/p-BlIAuGv2.js +4 -0
  114. package/components/p-Bnsn6KaP.js +4 -0
  115. package/components/p-BsBCoGa-.js +4 -0
  116. package/components/p-Bz0dSlXZ.js +4 -0
  117. package/components/p-C53feagD.js +4 -0
  118. package/components/p-CHqRYvYm.js +4 -0
  119. package/components/p-CQGnMY3n.js +4 -0
  120. package/components/p-CSZf8_j0.js +4 -0
  121. package/components/{p-ltNYIRmI.js → p-C_hpsif8.js} +1 -1
  122. package/components/p-C_xFdyXe.js +4 -0
  123. package/components/p-Cf2jSDS8.js +4 -0
  124. package/components/p-Cfx4M1Bn.js +4 -0
  125. package/components/{p-C6JOi8wS.js → p-ChIZKXUu.js} +1 -1
  126. package/components/p-CkMSOsFF.js +4 -0
  127. package/components/p-Cl0B-RWe.js +4 -0
  128. package/components/p-CmR5uXej.js +4 -0
  129. package/components/p-Cp4GRDqq.js +4 -0
  130. package/components/p-CsNJ1ULL.js +4 -0
  131. package/components/p-CtWGkNnJ.js +4 -0
  132. package/components/p-CzCbeKys.js +4 -0
  133. package/components/p-D-aHdMxW.js +4 -0
  134. package/components/p-D0d8qTwj.js +4 -0
  135. package/components/p-D13Eaw-8.js +4 -0
  136. package/components/{p-D0pL_HuH.js → p-D3xo7hqU.js} +1 -1
  137. package/components/p-D6Ynv7Xh.js +4 -0
  138. package/components/p-D7uN07a3.js +4 -0
  139. package/components/p-DCnGU1fF.js +4 -0
  140. package/components/p-DGvrK8dD.js +4 -0
  141. package/components/p-DOFCbuQR.js +4 -0
  142. package/components/p-DV5mPYQS.js +4 -0
  143. package/components/p-DWkAgceV.js +4 -0
  144. package/components/p-DiVJyqlX.js +4 -0
  145. package/components/{p-Dcu-SAJG.js → p-DqLB8yFQ.js} +1 -1
  146. package/components/p-DqZAXv2t.js +4 -0
  147. package/components/p-Osve4qkc.js +4 -0
  148. package/components/p-R8zmRi4c.js +4 -0
  149. package/components/p-SLS1rDZM.js +4 -0
  150. package/components/p-aJ6PBUvj.js +4 -0
  151. package/components/p-cyNmxje6.js +4 -0
  152. package/components/p-gAg0kXZp.js +4 -0
  153. package/components/p-j5IxBIan.js +4 -0
  154. package/components/p-k_E4tX5Z.js +4 -0
  155. package/components/p-oD4kcBRX.js +4 -0
  156. package/components/p-rCa2eL0j.js +4 -0
  157. package/components/p-scxfI1Dd.js +4 -0
  158. package/components/p-tr4_8ZS8.js +4 -0
  159. package/components/p-vRBNsYbs.js +4 -0
  160. package/components/p-yzCsOZE2.js +4 -0
  161. package/dist/cjs/{animation-D5WDBRvT.js → animation-BJq0kcy2.js} +4 -4
  162. package/dist/cjs/{app-globals-C2s3Cbal.js → app-globals-BlqrqKTN.js} +1 -1
  163. package/dist/cjs/{button-active-CXI2TseG.js → button-active-0mPOKmV2.js} +3 -3
  164. package/dist/cjs/config-xninhj0J.js +201 -0
  165. package/dist/cjs/{dir-Brx7VkvP.js → dir-Cn0z1rJH.js} +1 -1
  166. package/dist/cjs/{format-ZfKtcdit.js → format-PxvGiOik.js} +30 -40
  167. package/dist/cjs/{framework-delegate-Bdvk3JQO.js → framework-delegate-BtICZDHr.js} +7 -5
  168. package/dist/cjs/{gesture-controller-BDUH7687.js → gesture-controller-dtqlP_q4.js} +8 -15
  169. package/dist/cjs/{haptic-Ch-X4gRx.js → haptic-ClPPQ_PS.js} +3 -2
  170. package/dist/cjs/{hardware-back-button-zr8zeYaH.js → hardware-back-button-iUuF_76h.js} +4 -4
  171. package/dist/cjs/{helpers-DURh1XdY.js → helpers-Cv23MFHM.js} +3 -3
  172. package/dist/cjs/{index-DsoHs7Ly.js → index-BERfRao3.js} +5 -5
  173. package/dist/cjs/{index-P1nQxrpZ.js → index-CAvQ7Tka.js} +4 -10
  174. package/dist/cjs/{index-CAThePqm.js → index-Ct7gcRif.js} +6 -4
  175. package/dist/cjs/{index-Btdix80K.js → index-D81eLYUM.js} +2 -2
  176. package/dist/cjs/{index-wOmugbdg.js → index-DqmRDbxg.js} +1 -1
  177. package/dist/cjs/{index-BnhnwL1o.js → index-Dqpns5vP.js} +34 -2
  178. package/dist/cjs/{index-B7sCu6vN.js → index-aC4x3Fk3.js} +7 -6
  179. package/dist/cjs/index.cjs.js +18 -18
  180. package/dist/cjs/{input-shims-CPbWb84M.js → input-shims-DpA1zUN9.js} +11 -9
  181. package/dist/cjs/{input.utils-CkASW3mE.js → input.utils-DetjmtH2.js} +4 -3
  182. package/dist/cjs/ion-accordion_2.cjs.entry.js +340 -368
  183. package/dist/cjs/ion-action-sheet.cjs.entry.js +76 -187
  184. package/dist/cjs/ion-alert.cjs.entry.js +111 -273
  185. package/dist/cjs/ion-app_8.cjs.entry.js +190 -306
  186. package/dist/cjs/ion-avatar_3.cjs.entry.js +4 -10
  187. package/dist/cjs/ion-back-button.cjs.entry.js +23 -47
  188. package/dist/cjs/ion-backdrop.cjs.entry.js +14 -18
  189. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +121 -199
  190. package/dist/cjs/ion-button_2.cjs.entry.js +66 -138
  191. package/dist/cjs/ion-card_5.cjs.entry.js +30 -82
  192. package/dist/cjs/ion-checkbox.cjs.entry.js +101 -152
  193. package/dist/cjs/ion-chip.cjs.entry.js +11 -17
  194. package/dist/cjs/ion-col_3.cjs.entry.js +10 -134
  195. package/dist/cjs/ion-datetime-button.cjs.entry.js +241 -253
  196. package/dist/cjs/ion-datetime_3.cjs.entry.js +3164 -0
  197. package/dist/cjs/ion-fab_3.cjs.entry.js +81 -139
  198. package/dist/cjs/ion-img.cjs.entry.js +12 -34
  199. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +72 -100
  200. package/dist/cjs/ion-input-otp.cjs.entry.js +370 -433
  201. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +19 -33
  202. package/dist/cjs/ion-input.cjs.entry.js +168 -314
  203. package/dist/cjs/ion-item-option_3.cjs.entry.js +51 -91
  204. package/dist/cjs/ion-item_8.cjs.entry.js +82 -181
  205. package/dist/cjs/ion-loading.cjs.entry.js +60 -146
  206. package/dist/cjs/ion-menu_3.cjs.entry.js +101 -163
  207. package/dist/cjs/ion-modal.cjs.entry.js +283 -482
  208. package/dist/cjs/ion-nav_2.cjs.entry.js +157 -100
  209. package/dist/cjs/ion-picker-column-option.cjs.entry.js +33 -37
  210. package/dist/cjs/ion-picker-column.cjs.entry.js +405 -417
  211. package/dist/cjs/ion-picker.cjs.entry.js +392 -401
  212. package/dist/cjs/ion-popover.cjs.entry.js +205 -319
  213. package/dist/cjs/ion-progress-bar.cjs.entry.js +25 -31
  214. package/dist/cjs/ion-radio_2.cjs.entry.js +133 -206
  215. package/dist/cjs/ion-range.cjs.entry.js +237 -302
  216. package/dist/cjs/ion-refresher_2.cjs.entry.js +94 -166
  217. package/dist/cjs/ion-reorder_2.cjs.entry.js +23 -53
  218. package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -14
  219. package/dist/cjs/ion-route_4.cjs.entry.js +71 -175
  220. package/dist/cjs/ion-searchbar.cjs.entry.js +200 -291
  221. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  222. package/dist/cjs/ion-segment-view.cjs.entry.js +17 -28
  223. package/dist/cjs/ion-segment_2.cjs.entry.js +126 -169
  224. package/dist/cjs/ion-select-modal.cjs.entry.js +48 -104
  225. package/dist/cjs/ion-select_3.cjs.entry.js +214 -759
  226. package/dist/cjs/ion-spinner.cjs.entry.js +10 -24
  227. package/dist/cjs/ion-split-pane.cjs.entry.js +16 -29
  228. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +41 -100
  229. package/dist/cjs/ion-tab_2.cjs.entry.js +27 -53
  230. package/dist/cjs/ion-text.cjs.entry.js +5 -11
  231. package/dist/cjs/ion-textarea.cjs.entry.js +144 -263
  232. package/dist/cjs/ion-toast.cjs.entry.js +117 -236
  233. package/dist/cjs/ion-toggle.cjs.entry.js +122 -175
  234. package/dist/cjs/{ionic-global-dMut1Czp.js → ionic-global-B-cA6LkY.js} +8 -13
  235. package/dist/cjs/ionic.cjs.js +4 -4
  236. package/dist/cjs/{ios.transition-CeaFa0y2.js → ios.transition-BOSWOaiK.js} +17 -13
  237. package/dist/cjs/{item-multiple-inputs-HQO5Iy9I.js → item-multiple-inputs-D-gyg57c.js} +1 -1
  238. package/dist/cjs/{keyboard-cHxZlTyz.js → keyboard-UuAS4D_9.js} +2 -2
  239. package/dist/cjs/{keyboard-controller-PtZoN2GS.js → keyboard-controller-GXBiBRKS.js} +6 -6
  240. package/dist/cjs/{keyboard-Cix5TVkD.js → keyboard-hHzlEQpk.js} +2 -2
  241. package/dist/cjs/loader.cjs.js +4 -4
  242. package/dist/cjs/{md.transition-D4Q5jny7.js → md.transition-B8-wBZqt.js} +8 -7
  243. package/dist/cjs/{notch-controller-fMfidI-7.js → notch-controller-18PzRGXd.js} +1 -1
  244. package/dist/cjs/{overlays-C2qrqpHm.js → overlays-DdtIYQUH.js} +33 -48
  245. package/dist/cjs/{status-tap-CgjQ-6jq.js → status-tap-N1kaBbuk.js} +3 -3
  246. package/dist/cjs/{swipe-back-CmfRYdWQ.js → swipe-back-C0GCB18x.js} +5 -5
  247. package/dist/cjs/{theme-Bw0rpaNN.js → theme-CeDs6Hcv.js} +1 -6
  248. package/dist/collection/collection-manifest.json +10 -6
  249. package/dist/collection/components/accordion/accordion.js +312 -315
  250. package/dist/collection/components/accordion-group/accordion-group.js +25 -48
  251. package/dist/collection/components/action-sheet/action-sheet.ios.css +2 -228
  252. package/dist/collection/components/action-sheet/action-sheet.js +64 -173
  253. package/dist/collection/components/action-sheet/action-sheet.md.css +2 -174
  254. package/dist/collection/components/action-sheet/test/basic/fixture.js +0 -3
  255. package/dist/collection/components/alert/alert.ios.css +10 -279
  256. package/dist/collection/components/alert/alert.js +97 -257
  257. package/dist/collection/components/alert/alert.md.css +20 -268
  258. package/dist/collection/components/app/app.js +0 -3
  259. package/dist/collection/components/back-button/back-button.js +19 -42
  260. package/dist/collection/components/backdrop/backdrop.js +14 -16
  261. package/dist/collection/components/badge/badge.js +0 -6
  262. package/dist/collection/components/breadcrumb/breadcrumb.js +30 -91
  263. package/dist/collection/components/breadcrumbs/breadcrumbs.js +88 -103
  264. package/dist/collection/components/button/button.js +61 -132
  265. package/dist/collection/components/buttons/buttons.js +15 -13
  266. package/dist/collection/components/card/card.js +21 -54
  267. package/dist/collection/components/card-header/card-header.js +8 -12
  268. package/dist/collection/components/card-subtitle/card-subtitle.js +0 -6
  269. package/dist/collection/components/card-title/card-title.js +0 -6
  270. package/dist/collection/components/checkbox/checkbox.js +97 -147
  271. package/dist/collection/components/chip/chip.js +10 -14
  272. package/dist/collection/components/col/col.js +3 -127
  273. package/dist/collection/components/content/content.js +64 -92
  274. package/dist/collection/components/datetime/datetime.ios.css +2 -42
  275. package/dist/collection/components/datetime/datetime.js +812 -1047
  276. package/dist/collection/components/datetime/datetime.md.css +1 -42
  277. package/dist/collection/components/datetime/utils/data.js +14 -13
  278. package/dist/collection/components/datetime/utils/format.js +11 -21
  279. package/dist/collection/components/datetime/utils/manipulation.js +8 -8
  280. package/dist/collection/components/datetime/utils/parse.js +10 -10
  281. package/dist/collection/components/datetime/utils/state.js +2 -8
  282. package/dist/collection/components/datetime/utils/validate.js +5 -4
  283. package/dist/collection/components/datetime-button/datetime-button.ios.css +0 -5
  284. package/dist/collection/components/datetime-button/datetime-button.js +237 -247
  285. package/dist/collection/components/datetime-button/datetime-button.md.css +0 -5
  286. package/dist/collection/components/fab/fab.js +13 -20
  287. package/dist/collection/components/fab-button/fab-button.js +55 -104
  288. package/dist/collection/components/fab-list/fab-list.js +11 -10
  289. package/dist/collection/components/footer/footer.js +44 -50
  290. package/dist/collection/components/grid/grid.js +6 -4
  291. package/dist/collection/components/header/header.js +25 -35
  292. package/dist/collection/components/img/img.js +10 -34
  293. package/dist/collection/components/infinite-scroll/infinite-scroll.js +66 -73
  294. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +3 -20
  295. package/dist/collection/components/input/input.ios.css +2 -1
  296. package/dist/collection/components/input/input.js +164 -309
  297. package/dist/collection/components/input/input.md.css +2 -1
  298. package/dist/collection/components/input-otp/input-otp.js +366 -428
  299. package/dist/collection/components/input-password-toggle/input-password-toggle.js +16 -29
  300. package/dist/collection/components/item/item.js +53 -99
  301. package/dist/collection/components/item-divider/item-divider.js +10 -15
  302. package/dist/collection/components/item-option/item-option.js +21 -49
  303. package/dist/collection/components/item-options/item-options.js +7 -10
  304. package/dist/collection/components/item-sliding/item-sliding.js +20 -26
  305. package/dist/collection/components/label/label.js +4 -24
  306. package/dist/collection/components/list/list.js +7 -10
  307. package/dist/collection/components/list-header/list-header.js +0 -10
  308. package/dist/collection/components/loading/loading.js +51 -135
  309. package/dist/collection/components/menu/menu.js +59 -101
  310. package/dist/collection/components/menu-button/menu-button.js +20 -29
  311. package/dist/collection/components/menu-toggle/menu-toggle.js +13 -20
  312. package/dist/collection/components/modal/animations/ios.enter.js +1 -1
  313. package/dist/collection/components/modal/animations/md.enter.js +1 -1
  314. package/dist/collection/components/modal/gestures/sheet.js +12 -29
  315. package/dist/collection/components/modal/gestures/swipe-to-close.js +5 -33
  316. package/dist/collection/components/modal/gestures/utils.js +17 -0
  317. package/dist/collection/components/modal/modal.js +224 -393
  318. package/dist/collection/components/modal/safe-area-utils.js +5 -4
  319. package/dist/collection/components/modal/test/fixtures.js +0 -3
  320. package/dist/collection/components/nav/nav.js +247 -69
  321. package/dist/collection/components/nav/view-controller.js +1 -7
  322. package/dist/collection/components/nav-link/nav-link.js +9 -20
  323. package/dist/collection/components/note/note.js +0 -6
  324. package/dist/collection/components/picker/picker.js +390 -398
  325. package/dist/collection/components/picker-column/picker-column.css +0 -3
  326. package/dist/collection/components/picker-column/picker-column.js +404 -414
  327. package/dist/collection/components/picker-column-option/picker-column-option.js +31 -33
  328. package/dist/collection/components/picker-column-option/picker-column-option.md.css +1 -6
  329. package/dist/collection/components/picker-legacy/animations/ios.enter.js +27 -0
  330. package/dist/collection/components/picker-legacy/animations/ios.leave.js +23 -0
  331. package/dist/collection/components/picker-legacy/picker-interface.js +1 -0
  332. package/dist/collection/components/picker-legacy/picker.ios.css +300 -0
  333. package/dist/collection/components/picker-legacy/picker.js +890 -0
  334. package/dist/collection/components/picker-legacy/picker.md.css +287 -0
  335. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +231 -0
  336. package/dist/collection/components/picker-legacy-column/picker-column.js +422 -0
  337. package/dist/collection/components/picker-legacy-column/picker-column.md.css +222 -0
  338. package/dist/collection/components/picker-legacy-column/test/test.utils.js +43 -0
  339. package/dist/collection/components/popover/animations/ios.enter.js +2 -1
  340. package/dist/collection/components/popover/animations/md.enter.js +2 -1
  341. package/dist/collection/components/popover/popover.ios.css +0 -15
  342. package/dist/collection/components/popover/popover.js +185 -302
  343. package/dist/collection/components/popover/popover.md.css +0 -15
  344. package/dist/collection/components/popover/test/fixture.js +0 -1
  345. package/dist/collection/components/popover/utils.js +6 -4
  346. package/dist/collection/components/progress-bar/progress-bar.js +23 -27
  347. package/dist/collection/components/radio/radio.js +66 -102
  348. package/dist/collection/components/radio-group/radio-group.js +65 -100
  349. package/dist/collection/components/radio-group/test/fixtures.js +0 -2
  350. package/dist/collection/components/range/range.js +232 -296
  351. package/dist/collection/components/refresher/refresher.js +80 -112
  352. package/dist/collection/components/refresher-content/refresher-content.js +4 -41
  353. package/dist/collection/components/reorder/reorder.js +1 -2
  354. package/dist/collection/components/reorder-group/reorder-group.js +15 -44
  355. package/dist/collection/components/ripple-effect/ripple-effect.js +13 -12
  356. package/dist/collection/components/route/route.js +10 -39
  357. package/dist/collection/components/route-redirect/route-redirect.js +0 -31
  358. package/dist/collection/components/router/router.js +33 -37
  359. package/dist/collection/components/router/utils/dom.js +7 -25
  360. package/dist/collection/components/router/utils/matching.js +9 -7
  361. package/dist/collection/components/router/utils/parser.js +1 -1
  362. package/dist/collection/components/router/utils/path.js +1 -0
  363. package/dist/collection/components/router-link/router-link.js +12 -37
  364. package/dist/collection/components/router-outlet/router-outlet.js +21 -82
  365. package/dist/collection/components/row/row.js +1 -1
  366. package/dist/collection/components/searchbar/searchbar.js +199 -289
  367. package/dist/collection/components/segment/segment.js +85 -120
  368. package/dist/collection/components/segment-button/segment-button.js +37 -43
  369. package/dist/collection/components/segment-content/segment-content.js +1 -1
  370. package/dist/collection/components/segment-view/segment-view.js +16 -26
  371. package/dist/collection/components/select/select.ios.css +0 -33
  372. package/dist/collection/components/select/select.js +166 -597
  373. package/dist/collection/components/select/select.md.css +0 -33
  374. package/dist/collection/components/select-modal/select-modal.ios.css +0 -218
  375. package/dist/collection/components/select-modal/select-modal.js +38 -92
  376. package/dist/collection/components/select-modal/select-modal.md.css +0 -164
  377. package/dist/collection/components/select-modal/test/fixtures.js +1 -8
  378. package/dist/collection/components/select-option/select-option.js +9 -110
  379. package/dist/collection/components/select-popover/select-popover.ios.css +0 -218
  380. package/dist/collection/components/select-popover/select-popover.js +36 -103
  381. package/dist/collection/components/select-popover/select-popover.md.css +0 -164
  382. package/dist/collection/components/select-popover/test/fixtures.js +1 -8
  383. package/dist/collection/components/skeleton-text/skeleton-text.js +8 -12
  384. package/dist/collection/components/spinner/spinner.js +9 -21
  385. package/dist/collection/components/split-pane/split-pane.js +15 -27
  386. package/dist/collection/components/tab/tab.js +6 -17
  387. package/dist/collection/components/tab-bar/tab-bar.js +14 -32
  388. package/dist/collection/components/tab-button/tab-button.js +23 -62
  389. package/dist/collection/components/tabs/tabs.js +20 -33
  390. package/dist/collection/components/text/text.js +2 -8
  391. package/dist/collection/components/textarea/textarea.js +139 -257
  392. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  393. package/dist/collection/components/title/title.js +2 -18
  394. package/dist/collection/components/toast/toast.js +106 -223
  395. package/dist/collection/components/toggle/toggle.js +115 -167
  396. package/dist/collection/components/toolbar/toolbar.js +7 -15
  397. package/dist/collection/global/config.js +6 -4
  398. package/dist/collection/global/ionic-global.js +2 -8
  399. package/dist/collection/index.js +1 -1
  400. package/dist/collection/utils/animation/animation.js +3 -3
  401. package/dist/collection/utils/config.js +4 -5
  402. package/dist/collection/utils/content/index.js +30 -0
  403. package/dist/collection/utils/focus-controller/index.js +1 -1
  404. package/dist/collection/utils/focus-trap.js +3 -3
  405. package/dist/collection/utils/framework-delegate.js +6 -4
  406. package/dist/collection/utils/gesture/gesture-controller.js +8 -15
  407. package/dist/collection/utils/gesture/index.js +2 -10
  408. package/dist/collection/utils/gesture/listener.js +1 -1
  409. package/dist/collection/utils/hardware-back-button.js +3 -3
  410. package/dist/collection/utils/helpers.js +2 -2
  411. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +5 -4
  412. package/dist/collection/utils/input-shims/hacks/scroll-data.js +2 -1
  413. package/dist/collection/utils/keyboard/keyboard-controller.js +5 -5
  414. package/dist/collection/utils/keyboard/keyboard.js +1 -1
  415. package/dist/collection/utils/menu-controller/index.js +2 -1
  416. package/dist/collection/utils/native/haptic.js +3 -2
  417. package/dist/collection/utils/native/keyboard.js +2 -2
  418. package/dist/collection/utils/native/status-bar.js +1 -1
  419. package/dist/collection/utils/overlays.js +23 -38
  420. package/dist/collection/utils/platform.js +5 -4
  421. package/dist/collection/utils/rtl/dir.js +1 -1
  422. package/dist/collection/utils/sanitization/index.js +20 -276
  423. package/dist/collection/utils/slot-mutation-controller.js +2 -1
  424. package/dist/collection/utils/test/playwright/apply-keyboard-focus.js +1 -1
  425. package/dist/collection/utils/test/playwright/drag-element.js +3 -2
  426. package/dist/collection/utils/test/playwright/generator.js +4 -3
  427. package/dist/collection/utils/test/playwright/page/event-spy.js +12 -11
  428. package/dist/collection/utils/test/playwright/page/utils/goto.js +5 -4
  429. package/dist/collection/utils/test/playwright/page/utils/set-content.js +1 -1
  430. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +3 -2
  431. package/dist/collection/utils/test/press-keys.js +17 -10
  432. package/dist/collection/utils/theme.js +1 -6
  433. package/dist/collection/utils/transition/ios.transition.js +13 -9
  434. package/dist/collection/utils/transition/md.transition.js +4 -3
  435. package/dist/docs.json +1267 -551
  436. package/dist/esm/{animation-CVK55yMY.js → animation-DLJpuoEz.js} +4 -4
  437. package/dist/esm/{app-globals-Bk1_t4sH.js → app-globals-D0C5S4hU.js} +1 -1
  438. package/dist/esm/{button-active-CdCqmeT0.js → button-active-BSpTQmS9.js} +3 -3
  439. package/dist/esm/config-DQCONYYp.js +195 -0
  440. package/dist/esm/{dir-B-FxiyeI.js → dir-C53feagD.js} +1 -1
  441. package/dist/esm/{format-sMi4BZ_l.js → format-CAmvpAez.js} +31 -41
  442. package/dist/esm/{framework-delegate-BfAlKlW5.js → framework-delegate-FnPGymXL.js} +7 -5
  443. package/dist/esm/{gesture-controller-TXPDHL13.js → gesture-controller-BTEOs1at.js} +8 -15
  444. package/dist/esm/{haptic-Cq4UAeka.js → haptic-DzAMWJuk.js} +3 -2
  445. package/dist/esm/{hardware-back-button-DcHMMB9j.js → hardware-back-button-B93Gru0Y.js} +4 -4
  446. package/dist/esm/{helpers-BPcITY5s.js → helpers-HEqiOzXb.js} +3 -3
  447. package/dist/esm/{index-B9GsUd2c.js → index-BRHzoo00.js} +2 -2
  448. package/dist/esm/{index-DqVqy_Cy.js → index-B_dQk_WE.js} +5 -5
  449. package/dist/esm/{index-DppOcPFQ.js → index-CfgBF1SE.js} +4 -10
  450. package/dist/esm/{index-BvabGprD.js → index-DV3sJJW8.js} +2 -2
  451. package/dist/esm/{index-DcUt1pPn.js → index-Dw-wN0Ja.js} +33 -3
  452. package/dist/esm/{index-ks-BjikL.js → index-Q6UPU0Ay.js} +7 -6
  453. package/dist/esm/{index-D1CQtpUN.js → index-tcQvqkiX.js} +7 -5
  454. package/dist/esm/index.js +15 -16
  455. package/dist/esm/{input-shims-C1dCKVMO.js → input-shims-LXhI7LEx.js} +11 -9
  456. package/dist/esm/{input.utils-Dd5xwlP6.js → input.utils-Y6NgW8bw.js} +4 -3
  457. package/dist/esm/ion-accordion_2.entry.js +340 -368
  458. package/dist/esm/ion-action-sheet.entry.js +76 -187
  459. package/dist/esm/ion-alert.entry.js +110 -272
  460. package/dist/esm/ion-app_8.entry.js +190 -306
  461. package/dist/esm/ion-avatar_3.entry.js +4 -10
  462. package/dist/esm/ion-back-button.entry.js +23 -47
  463. package/dist/esm/ion-backdrop.entry.js +14 -18
  464. package/dist/esm/ion-breadcrumb_2.entry.js +121 -199
  465. package/dist/esm/ion-button_2.entry.js +66 -138
  466. package/dist/esm/ion-card_5.entry.js +30 -82
  467. package/dist/esm/ion-checkbox.entry.js +101 -152
  468. package/dist/esm/ion-chip.entry.js +11 -17
  469. package/dist/esm/ion-col_3.entry.js +10 -134
  470. package/dist/esm/ion-datetime-button.entry.js +241 -253
  471. package/dist/esm/ion-datetime_3.entry.js +3160 -0
  472. package/dist/esm/ion-fab_3.entry.js +81 -139
  473. package/dist/esm/ion-img.entry.js +12 -34
  474. package/dist/esm/ion-infinite-scroll_2.entry.js +71 -99
  475. package/dist/esm/ion-input-otp.entry.js +370 -433
  476. package/dist/esm/ion-input-password-toggle.entry.js +19 -33
  477. package/dist/esm/ion-input.entry.js +168 -314
  478. package/dist/esm/ion-item-option_3.entry.js +51 -91
  479. package/dist/esm/ion-item_8.entry.js +82 -181
  480. package/dist/esm/ion-loading.entry.js +59 -145
  481. package/dist/esm/ion-menu_3.entry.js +101 -163
  482. package/dist/esm/ion-modal.entry.js +271 -470
  483. package/dist/esm/ion-nav_2.entry.js +157 -100
  484. package/dist/esm/ion-picker-column-option.entry.js +33 -37
  485. package/dist/esm/ion-picker-column.entry.js +405 -417
  486. package/dist/esm/ion-picker.entry.js +392 -401
  487. package/dist/esm/ion-popover.entry.js +205 -319
  488. package/dist/esm/ion-progress-bar.entry.js +25 -31
  489. package/dist/esm/ion-radio_2.entry.js +133 -206
  490. package/dist/esm/ion-range.entry.js +237 -302
  491. package/dist/esm/ion-refresher_2.entry.js +92 -164
  492. package/dist/esm/ion-reorder_2.entry.js +23 -53
  493. package/dist/esm/ion-ripple-effect.entry.js +14 -14
  494. package/dist/esm/ion-route_4.entry.js +71 -175
  495. package/dist/esm/ion-searchbar.entry.js +200 -291
  496. package/dist/esm/ion-segment-content.entry.js +2 -2
  497. package/dist/esm/ion-segment-view.entry.js +17 -28
  498. package/dist/esm/ion-segment_2.entry.js +126 -169
  499. package/dist/esm/ion-select-modal.entry.js +48 -104
  500. package/dist/esm/ion-select_3.entry.js +215 -760
  501. package/dist/esm/ion-spinner.entry.js +10 -24
  502. package/dist/esm/ion-split-pane.entry.js +16 -29
  503. package/dist/esm/ion-tab-bar_2.entry.js +41 -100
  504. package/dist/esm/ion-tab_2.entry.js +27 -53
  505. package/dist/esm/ion-text.entry.js +5 -11
  506. package/dist/esm/ion-textarea.entry.js +144 -263
  507. package/dist/esm/ion-toast.entry.js +116 -235
  508. package/dist/esm/ion-toggle.entry.js +122 -175
  509. package/dist/esm/{ionic-global-5bZ91kOL.js → ionic-global-Cp_eT4sZ.js} +8 -13
  510. package/dist/esm/ionic.js +5 -5
  511. package/dist/esm/{ios.transition-OcwIGkv9.js → ios.transition-ClFrsIrS.js} +17 -13
  512. package/dist/esm/{item-multiple-inputs-ifd3ZrqY.js → item-multiple-inputs-DlNuqNJm.js} +1 -1
  513. package/dist/esm/{keyboard-DAF8GNJ9.js → keyboard-CUw4ekVy.js} +2 -2
  514. package/dist/esm/{keyboard-controller-DEwoa1ev.js → keyboard-controller-BaaVITYt.js} +6 -6
  515. package/dist/esm/{keyboard-Cj8mLJeq.js → keyboard-ywgs5efA.js} +2 -2
  516. package/dist/esm/loader.js +5 -5
  517. package/dist/esm/{md.transition-BetdF0bc.js → md.transition-D0msQmzI.js} +8 -7
  518. package/dist/esm/{notch-controller-DBSn-Uat.js → notch-controller-DKDjU_O7.js} +1 -1
  519. package/dist/esm/{overlays-DUzb9CQf.js → overlays-Dg0q2_tJ.js} +33 -48
  520. package/dist/esm/{status-tap-C-wNhea0.js → status-tap-vO-6s4Yp.js} +3 -3
  521. package/dist/esm/{swipe-back-D6YSgAn7.js → swipe-back-DQ1q5MgD.js} +5 -5
  522. package/dist/esm/{theme-byZM6qHV.js → theme-DiVJyqlX.js} +1 -6
  523. package/dist/html.html-data.json +80 -52
  524. package/dist/ionic/index.esm.js +1 -1
  525. package/dist/ionic/ionic.esm.js +1 -1
  526. package/dist/ionic/p-01f81ea5.entry.js +4 -0
  527. package/dist/ionic/p-06c232a4.entry.js +4 -0
  528. package/dist/ionic/p-0caa922c.entry.js +4 -0
  529. package/dist/ionic/p-0dc33652.entry.js +4 -0
  530. package/dist/ionic/p-0fa9c382.entry.js +4 -0
  531. package/dist/ionic/p-10e833ef.entry.js +4 -0
  532. package/dist/ionic/p-21eb76d5.entry.js +4 -0
  533. package/dist/ionic/p-27d30585.entry.js +4 -0
  534. package/dist/ionic/p-2a05aa64.entry.js +4 -0
  535. package/dist/ionic/p-2b204c59.entry.js +4 -0
  536. package/dist/ionic/p-2bb2cb18.entry.js +4 -0
  537. package/dist/ionic/p-2fa58e80.entry.js +4 -0
  538. package/dist/ionic/p-3353c229.entry.js +4 -0
  539. package/dist/ionic/p-34586ead.entry.js +4 -0
  540. package/dist/ionic/p-37e720da.entry.js +4 -0
  541. package/dist/ionic/p-390ca786.entry.js +4 -0
  542. package/dist/ionic/p-3ae5f277.entry.js +4 -0
  543. package/dist/ionic/p-4654ae1c.entry.js +4 -0
  544. package/dist/ionic/p-4745f534.entry.js +4 -0
  545. package/dist/ionic/p-4858af1f.entry.js +4 -0
  546. package/dist/ionic/p-4baa5b82.entry.js +4 -0
  547. package/dist/ionic/p-4e92a11f.entry.js +4 -0
  548. package/dist/ionic/p-5018dfc8.entry.js +4 -0
  549. package/dist/ionic/p-50e1194a.entry.js +4 -0
  550. package/dist/ionic/p-5334df12.entry.js +4 -0
  551. package/dist/ionic/p-5d1da0a2.entry.js +4 -0
  552. package/dist/ionic/p-5eb8e86d.entry.js +4 -0
  553. package/dist/ionic/p-65ebdf1b.entry.js +4 -0
  554. package/dist/ionic/p-746fa988.entry.js +4 -0
  555. package/dist/ionic/p-75dc25ba.entry.js +4 -0
  556. package/dist/ionic/p-7c319341.entry.js +4 -0
  557. package/dist/ionic/p-8158d422.entry.js +4 -0
  558. package/dist/ionic/p-829367ed.entry.js +4 -0
  559. package/dist/ionic/p-84d5ce05.entry.js +4 -0
  560. package/dist/ionic/p-874b4bd8.entry.js +4 -0
  561. package/dist/ionic/p-8eb8ee76.entry.js +4 -0
  562. package/dist/ionic/p-9eeaBrnk.js +4 -0
  563. package/dist/ionic/p-9f9db3a2.entry.js +4 -0
  564. package/dist/ionic/p-BGqMS-oh.js +4 -0
  565. package/dist/ionic/p-BTEOs1at.js +4 -0
  566. package/dist/ionic/p-BUFIpxKM.js +4 -0
  567. package/dist/ionic/p-C0eMdTCW.js +4 -0
  568. package/dist/ionic/p-C53feagD.js +4 -0
  569. package/dist/ionic/p-CFlfIb2g.js +4 -0
  570. package/dist/ionic/p-CKvCXMs9.js +4 -0
  571. package/dist/ionic/p-Cl0B-RWe.js +4 -0
  572. package/dist/ionic/p-CmcFnK-B.js +4 -0
  573. package/dist/ionic/p-CtWGkNnJ.js +4 -0
  574. package/dist/ionic/p-Cx3IXROA.js +4 -0
  575. package/dist/ionic/p-D-3ycHmd.js +4 -0
  576. package/dist/ionic/p-D13Eaw-8.js +4 -0
  577. package/dist/ionic/p-D4uTWt4-.js +4 -0
  578. package/{components/p-Cwsd9bue.js → dist/ionic/p-DC3RagnA.js} +1 -1
  579. package/dist/ionic/{p-BNKr91bi.js → p-DIuEbVLu.js} +1 -1
  580. package/dist/ionic/{p-BvabGprD.js → p-DV3sJJW8.js} +1 -1
  581. package/dist/ionic/p-DiVJyqlX.js +4 -0
  582. package/dist/ionic/{p-I9ETXg5W.js → p-DoJvtrbw.js} +1 -1
  583. package/dist/ionic/p-DqN5EA2O.js +4 -0
  584. package/dist/ionic/p-DzWaWHGc.js +4 -0
  585. package/{components/p-BXQ7upSC.js → dist/ionic/p-KjNvRoEp.js} +1 -1
  586. package/dist/ionic/p-Nqf6uvGh.js +4 -0
  587. package/dist/ionic/p-SNAkTDfm.js +4 -0
  588. package/dist/ionic/p-VAemlbDS.js +4 -0
  589. package/dist/ionic/p-a3bdcae6.entry.js +4 -0
  590. package/dist/ionic/{p-460da491.entry.js → p-aaeedb6b.entry.js} +1 -1
  591. package/dist/ionic/p-af55a72f.entry.js +4 -0
  592. package/dist/ionic/p-b2020591.entry.js +4 -0
  593. package/dist/ionic/p-b9fadbfe.entry.js +4 -0
  594. package/dist/ionic/p-biz8zWmJ.js +4 -0
  595. package/dist/ionic/p-c0fb8edd.entry.js +4 -0
  596. package/dist/ionic/p-c38b648e.entry.js +4 -0
  597. package/dist/ionic/p-c4d8641b.entry.js +4 -0
  598. package/dist/ionic/{p-b40c9715.entry.js → p-c6e49f3f.entry.js} +1 -1
  599. package/dist/ionic/p-ca2ab74d.entry.js +4 -0
  600. package/dist/ionic/p-d1aac015.entry.js +4 -0
  601. package/dist/ionic/p-d889ff6d.entry.js +4 -0
  602. package/dist/ionic/p-dfa8d673.entry.js +4 -0
  603. package/dist/ionic/p-ef4c3bee.entry.js +4 -0
  604. package/dist/ionic/p-f386f6ae.entry.js +4 -0
  605. package/dist/ionic/p-mjKAFv89.js +4 -0
  606. package/dist/ionic/p-tcQvqkiX.js +5 -0
  607. package/dist/ionic/p-uWtqTrG8.js +4 -0
  608. package/dist/ionic/p-viFHDgRs.js +4 -0
  609. package/dist/ionic/p-xWb6fgfq.js +4 -0
  610. package/dist/types/components/img/img.d.ts +0 -2
  611. package/dist/types/components/input/input.d.ts +1 -1
  612. package/dist/types/components/modal/gestures/utils.d.ts +11 -0
  613. package/dist/types/components/modal/modal.d.ts +4 -11
  614. package/dist/types/components/nav/nav-interface.d.ts +1 -0
  615. package/dist/types/components/nav/nav.d.ts +22 -2
  616. package/dist/types/components/picker-legacy/animations/ios.enter.d.ts +5 -0
  617. package/dist/types/components/picker-legacy/animations/ios.leave.d.ts +5 -0
  618. package/dist/types/components/picker-legacy/picker-interface.d.ts +52 -0
  619. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  620. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  621. package/dist/types/components/picker-legacy-column/test/test.utils.d.ts +9 -0
  622. package/dist/types/components/route/route.d.ts +1 -1
  623. package/dist/types/components/router-outlet/router-outlet.d.ts +0 -7
  624. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  625. package/dist/types/components/select/select-interface.d.ts +0 -31
  626. package/dist/types/components/select/select.d.ts +0 -18
  627. package/dist/types/components/select-option/select-option.d.ts +1 -42
  628. package/dist/types/components.d.ts +311 -74
  629. package/dist/types/index.d.ts +1 -1
  630. package/dist/types/interface.d.ts +1 -0
  631. package/dist/types/utils/config.d.ts +8 -0
  632. package/dist/types/utils/content/index.d.ts +12 -0
  633. package/dist/types/utils/overlays.d.ts +9 -11
  634. package/dist/types/utils/sanitization/index.d.ts +2 -58
  635. package/dist/types/utils/test/playwright/playwright-page.d.ts +1 -1
  636. package/dist/types/utils/test/playwright/testExpect.d.ts +1 -1
  637. package/hydrate/index.js +7103 -10331
  638. package/hydrate/index.mjs +7103 -10331
  639. package/package.json +11 -54
  640. package/components/p-0tt0PTAe.js +0 -4
  641. package/components/p-3dKnMgX5.js +0 -4
  642. package/components/p-6e_5igwn.js +0 -4
  643. package/components/p-B-FxiyeI.js +0 -4
  644. package/components/p-B4COLbAV.js +0 -4
  645. package/components/p-B9zzUBwR.js +0 -4
  646. package/components/p-BFU7kgcj.js +0 -4
  647. package/components/p-BMPN55of.js +0 -4
  648. package/components/p-BPbRjpb2.js +0 -4
  649. package/components/p-BSQPZ79H.js +0 -4
  650. package/components/p-BhamHSw3.js +0 -4
  651. package/components/p-BrXE0XUu.js +0 -4
  652. package/components/p-Bv7Rqz3Z.js +0 -4
  653. package/components/p-Bw7MMRH7.js +0 -4
  654. package/components/p-C-X5vb8f.js +0 -4
  655. package/components/p-C117Majq.js +0 -4
  656. package/components/p-CCVPk59A.js +0 -4
  657. package/components/p-CEW4RXZO.js +0 -4
  658. package/components/p-CKMc290p.js +0 -4
  659. package/components/p-CO5nI-BZ.js +0 -4
  660. package/components/p-COQ_7Wwc.js +0 -4
  661. package/components/p-CQbh6Be_.js +0 -4
  662. package/components/p-CQtcj8t7.js +0 -4
  663. package/components/p-Cap9bvqr.js +0 -4
  664. package/components/p-CdP7ze2J.js +0 -4
  665. package/components/p-CfyJ_Ogc.js +0 -4
  666. package/components/p-ChWC4-vA.js +0 -4
  667. package/components/p-CmKf4pgI.js +0 -4
  668. package/components/p-CqYSqB9_.js +0 -4
  669. package/components/p-D0xd6h3Q.js +0 -4
  670. package/components/p-D28LaDuR.js +0 -4
  671. package/components/p-D7-vHX0A.js +0 -4
  672. package/components/p-D9KqizZs.js +0 -4
  673. package/components/p-DIZE3CVV.js +0 -4
  674. package/components/p-DL8rd5jo.js +0 -4
  675. package/components/p-DRcApg6F.js +0 -4
  676. package/components/p-DTTnwMiS.js +0 -4
  677. package/components/p-DWCzVL3Y.js +0 -4
  678. package/components/p-DYmrV1HT.js +0 -4
  679. package/components/p-DnINLmwC.js +0 -4
  680. package/components/p-DsNz6_gM.js +0 -4
  681. package/components/p-DtiuiOTk.js +0 -4
  682. package/components/p-DunYzubP.js +0 -4
  683. package/components/p-DwcSJ9u1.js +0 -4
  684. package/components/p-QCPSB1bo.js +0 -4
  685. package/components/p-RvtofbHn.js +0 -4
  686. package/components/p-TXPDHL13.js +0 -4
  687. package/components/p-WOFp6fXj.js +0 -4
  688. package/components/p-byZM6qHV.js +0 -4
  689. package/components/p-miSGCTAU.js +0 -4
  690. package/components/p-mpdX3emm.js +0 -4
  691. package/components/p-nvqVLrWC.js +0 -4
  692. package/components/p-qiWM96Sz.js +0 -4
  693. package/components/p-vlF0Bcfd.js +0 -4
  694. package/dist/cjs/config-CjUbvdPW.js +0 -36
  695. package/dist/cjs/index-DhSx3VvD.js +0 -429
  696. package/dist/cjs/ion-datetime.cjs.entry.js +0 -2767
  697. package/dist/cjs/overlay-control-label-D2sdL2O8.js +0 -50
  698. package/dist/cjs/select-option-render-Dh16lTnA.js +0 -123
  699. package/dist/collection/utils/overlay-control-label.js +0 -45
  700. package/dist/collection/utils/select-option-render.js +0 -118
  701. package/dist/esm/config-DWCzVL3Y.js +0 -32
  702. package/dist/esm/index-DDa8edAS.js +0 -424
  703. package/dist/esm/ion-datetime.entry.js +0 -2765
  704. package/dist/esm/overlay-control-label-BSQPZ79H.js +0 -47
  705. package/dist/esm/select-option-render-DsW8svRr.js +0 -121
  706. package/dist/ionic/p-01eaee58.entry.js +0 -4
  707. package/dist/ionic/p-0c567140.entry.js +0 -4
  708. package/dist/ionic/p-105bb794.entry.js +0 -4
  709. package/dist/ionic/p-10d55bb6.entry.js +0 -4
  710. package/dist/ionic/p-173a87d8.entry.js +0 -4
  711. package/dist/ionic/p-178da672.entry.js +0 -4
  712. package/dist/ionic/p-1ead2857.entry.js +0 -4
  713. package/dist/ionic/p-224e2464.entry.js +0 -4
  714. package/dist/ionic/p-2268e718.entry.js +0 -4
  715. package/dist/ionic/p-2b5283f3.entry.js +0 -4
  716. package/dist/ionic/p-2b6decac.entry.js +0 -4
  717. package/dist/ionic/p-2da5d9c6.entry.js +0 -4
  718. package/dist/ionic/p-31890acd.entry.js +0 -4
  719. package/dist/ionic/p-34ef7425.entry.js +0 -4
  720. package/dist/ionic/p-34f7c1d8.entry.js +0 -4
  721. package/dist/ionic/p-3b1e6fa4.entry.js +0 -4
  722. package/dist/ionic/p-42fefd2c.entry.js +0 -4
  723. package/dist/ionic/p-440cd489.entry.js +0 -4
  724. package/dist/ionic/p-53f680e8.entry.js +0 -4
  725. package/dist/ionic/p-57ba508f.entry.js +0 -4
  726. package/dist/ionic/p-599e5a75.entry.js +0 -4
  727. package/dist/ionic/p-5f670a9e.entry.js +0 -4
  728. package/dist/ionic/p-63502088.entry.js +0 -4
  729. package/dist/ionic/p-6e6bf45d.entry.js +0 -4
  730. package/dist/ionic/p-6f0b6a48.entry.js +0 -4
  731. package/dist/ionic/p-7438c462.entry.js +0 -4
  732. package/dist/ionic/p-747716e7.entry.js +0 -4
  733. package/dist/ionic/p-7759fcaf.entry.js +0 -4
  734. package/dist/ionic/p-7a8338e2.entry.js +0 -4
  735. package/dist/ionic/p-80f9f1dc.entry.js +0 -4
  736. package/dist/ionic/p-83ff4dcb.entry.js +0 -4
  737. package/dist/ionic/p-86f03895.entry.js +0 -4
  738. package/dist/ionic/p-87b8d70e.entry.js +0 -4
  739. package/dist/ionic/p-888236bf.entry.js +0 -4
  740. package/dist/ionic/p-8a92ca23.entry.js +0 -4
  741. package/dist/ionic/p-8c9af4ad.entry.js +0 -4
  742. package/dist/ionic/p-9669f546.entry.js +0 -4
  743. package/dist/ionic/p-9bcd8b74.entry.js +0 -4
  744. package/dist/ionic/p-B-FxiyeI.js +0 -4
  745. package/dist/ionic/p-B2trYd8K.js +0 -4
  746. package/dist/ionic/p-BMPN55of.js +0 -4
  747. package/dist/ionic/p-BSQPZ79H.js +0 -4
  748. package/dist/ionic/p-BSzG1VcX.js +0 -4
  749. package/dist/ionic/p-BVgBHS96.js +0 -4
  750. package/dist/ionic/p-BX2IOAqC.js +0 -4
  751. package/dist/ionic/p-BhamHSw3.js +0 -4
  752. package/dist/ionic/p-BufXJ_A8.js +0 -4
  753. package/dist/ionic/p-C73UOs4m.js +0 -4
  754. package/dist/ionic/p-CUSwMljM.js +0 -4
  755. package/dist/ionic/p-CeOSrSdu.js +0 -4
  756. package/dist/ionic/p-CfkB7_FV.js +0 -4
  757. package/dist/ionic/p-CmKf4pgI.js +0 -4
  758. package/dist/ionic/p-CnM-CMw7.js +0 -4
  759. package/dist/ionic/p-D1CQtpUN.js +0 -5
  760. package/dist/ionic/p-D5t_-oMk.js +0 -4
  761. package/dist/ionic/p-DVYb1IVZ.js +0 -4
  762. package/dist/ionic/p-DWCzVL3Y.js +0 -4
  763. package/dist/ionic/p-DfJ-SVJf.js +0 -4
  764. package/dist/ionic/p-DmXrLsoD.js +0 -4
  765. package/dist/ionic/p-DtLHAMFW.js +0 -4
  766. package/dist/ionic/p-Dtlob2JL.js +0 -4
  767. package/dist/ionic/p-F7ipfyOA.js +0 -4
  768. package/dist/ionic/p-IaXd5VMv.js +0 -4
  769. package/dist/ionic/p-T71k3C35.js +0 -4
  770. package/dist/ionic/p-TXPDHL13.js +0 -4
  771. package/dist/ionic/p-acbb97c3.entry.js +0 -4
  772. package/dist/ionic/p-aeb85531.entry.js +0 -4
  773. package/dist/ionic/p-b157f80d.entry.js +0 -4
  774. package/dist/ionic/p-b158de5d.entry.js +0 -4
  775. package/dist/ionic/p-b852101e.entry.js +0 -4
  776. package/dist/ionic/p-byZM6qHV.js +0 -4
  777. package/dist/ionic/p-c0d81bee.entry.js +0 -4
  778. package/dist/ionic/p-c8a327fb.entry.js +0 -4
  779. package/dist/ionic/p-d42ae99f.entry.js +0 -4
  780. package/dist/ionic/p-d47ff529.entry.js +0 -4
  781. package/dist/ionic/p-eHi73fGE.js +0 -4
  782. package/dist/ionic/p-eeabce92.entry.js +0 -4
  783. package/dist/ionic/p-efc66d77.entry.js +0 -4
  784. package/dist/ionic/p-f6d203dc.entry.js +0 -4
  785. package/dist/ionic/p-u2a770LZ.js +0 -4
  786. package/dist/types/utils/overlay-control-label.d.ts +0 -32
  787. package/dist/types/utils/select-option-render.d.ts +0 -53
  788. /package/components/{p-LpMHEu3v.js → p-CO7fmmxt.js} +0 -0
@@ -43,74 +43,233 @@ import { roundToMaxDecimalPlaces } from "../../utils/floating-point";
43
43
  * @part pressed - Added to the knob-handle, knob, and pin that is currently being pressed to drag. Only one set has this part at a time when `dualKnobs` is `true`.
44
44
  */
45
45
  export class Range {
46
- rangeId = `ion-r-${rangeIds++}`;
47
- didLoad = false;
48
- noUpdate = false;
49
- rect;
50
- hasFocus = false;
51
- rangeSlider;
52
- gesture;
53
- inheritedAttributes = {};
54
- contentEl = null;
55
- initialContentScrollY = true;
56
- originalIonInput;
57
- /**
58
- * Used to avoid setting the focused state on click or tap. The focused
59
- * state is only set when the focus comes from the keyboard (e.g. Tab).
60
- * This is set to true on pointer down (mouse/touch).
61
- */
62
- focusFromPointer = false;
63
- /**
64
- * Observes class changes on the knob handles to keep the activatedKnob
65
- * state in sync with the ion-activated class. This is necessary to
66
- * determine which knob the user is dragging when using dual knobs and
67
- * apply the activated part correctly.
68
- */
69
- activatedObserver;
70
- el;
71
- ratioA = 0;
72
- ratioB = 0;
73
- activatedKnob;
74
- focusedKnob;
75
- hoveredKnob;
76
- pressedKnob;
77
- /**
78
- * The color to use from your application's color palette.
79
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
80
- * For more information on colors, see [theming](/docs/theming/basics).
81
- */
82
- color;
83
- /**
84
- * How long, in milliseconds, to wait to trigger the
85
- * `ionInput` event after each change in the range value.
86
- */
87
- debounce;
46
+ constructor() {
47
+ this.rangeId = `ion-r-${rangeIds++}`;
48
+ this.didLoad = false;
49
+ this.noUpdate = false;
50
+ this.hasFocus = false;
51
+ this.inheritedAttributes = {};
52
+ this.contentEl = null;
53
+ this.initialContentScrollY = true;
54
+ /**
55
+ * Used to avoid setting the focused state on click or tap. The focused
56
+ * state is only set when the focus comes from the keyboard (e.g. Tab).
57
+ * This is set to true on pointer down (mouse/touch).
58
+ */
59
+ this.focusFromPointer = false;
60
+ this.ratioA = 0;
61
+ this.ratioB = 0;
62
+ /**
63
+ * The name of the control, which is submitted with the form data.
64
+ */
65
+ this.name = this.rangeId;
66
+ /**
67
+ * Show two knobs.
68
+ */
69
+ this.dualKnobs = false;
70
+ /**
71
+ * Minimum integer value of the range.
72
+ */
73
+ this.min = 0;
74
+ /**
75
+ * Maximum integer value of the range.
76
+ */
77
+ this.max = 100;
78
+ /**
79
+ * If `true`, a pin with integer value is shown when the knob
80
+ * is pressed.
81
+ */
82
+ this.pin = false;
83
+ /**
84
+ * A callback used to format the pin text.
85
+ * By default the pin text is set to `Math.round(value)`.
86
+ *
87
+ * See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this
88
+ * if you need to access `this` from within the callback.
89
+ */
90
+ this.pinFormatter = (value) => Math.round(value);
91
+ /**
92
+ * If `true`, the knob snaps to tick marks evenly spaced based
93
+ * on the step property value.
94
+ */
95
+ this.snaps = false;
96
+ /**
97
+ * Specifies the value granularity.
98
+ */
99
+ this.step = 1;
100
+ /**
101
+ * If `true`, tick marks are displayed based on the step value.
102
+ * Only applies when `snaps` is `true`.
103
+ */
104
+ this.ticks = true;
105
+ /**
106
+ * If `true`, the user cannot interact with the range.
107
+ */
108
+ this.disabled = false;
109
+ /**
110
+ * the value of the range.
111
+ */
112
+ this.value = 0;
113
+ /**
114
+ * Compares two RangeValue inputs to determine if they are different.
115
+ *
116
+ * @param newVal - The new value.
117
+ * @param oldVal - The old value.
118
+ * @returns `true` if the values are different, `false` otherwise.
119
+ */
120
+ this.compareValues = (newVal, oldVal) => {
121
+ if (typeof newVal === 'object' && typeof oldVal === 'object') {
122
+ return newVal.lower !== oldVal.lower || newVal.upper !== oldVal.upper;
123
+ }
124
+ return newVal !== oldVal;
125
+ };
126
+ this.clampBounds = (value) => {
127
+ return clamp(this.min, value, this.max);
128
+ };
129
+ this.ensureValueInBounds = (value) => {
130
+ if (this.dualKnobs) {
131
+ return {
132
+ lower: this.clampBounds(value.lower),
133
+ upper: this.clampBounds(value.upper),
134
+ };
135
+ }
136
+ else {
137
+ return this.clampBounds(value);
138
+ }
139
+ };
140
+ /**
141
+ * Where to place the label relative to the range.
142
+ * `"start"`: The label will appear to the left of the range in LTR and to the right in RTL.
143
+ * `"end"`: The label will appear to the right of the range in LTR and to the left in RTL.
144
+ * `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
145
+ * `"stacked"`: The label will appear above the range regardless of the direction.
146
+ */
147
+ this.labelPlacement = 'start';
148
+ this.setupGesture = async () => {
149
+ const rangeSlider = this.rangeSlider;
150
+ if (rangeSlider) {
151
+ this.gesture = (await import('../../utils/gesture')).createGesture({
152
+ el: rangeSlider,
153
+ gestureName: 'range',
154
+ gesturePriority: 100,
155
+ /**
156
+ * Provide a threshold since the drag movement
157
+ * might be a user scrolling the view.
158
+ * If this is true, then the range
159
+ * should not move.
160
+ */
161
+ threshold: 10,
162
+ onStart: () => this.onStart(),
163
+ onMove: (ev) => this.onMove(ev),
164
+ onEnd: (ev) => this.onEnd(ev),
165
+ });
166
+ this.gesture.enable(!this.disabled);
167
+ }
168
+ };
169
+ /**
170
+ * Observes the knob handles for the ion-activated class and syncs
171
+ * activatedKnob so the activated part is correctly set on the handle,
172
+ * knob, and pin.
173
+ */
174
+ this.setupActivatedObserver = () => {
175
+ const knobHandleA = this.el.shadowRoot.querySelector('.range-knob-handle-a');
176
+ const knobHandleB = this.el.shadowRoot.querySelector('.range-knob-handle-b');
177
+ const syncActivated = () => {
178
+ this.activatedKnob = (knobHandleA === null || knobHandleA === void 0 ? void 0 : knobHandleA.classList.contains('ion-activated'))
179
+ ? 'A'
180
+ : (knobHandleB === null || knobHandleB === void 0 ? void 0 : knobHandleB.classList.contains('ion-activated'))
181
+ ? 'B'
182
+ : undefined;
183
+ };
184
+ if (Build.isBrowser && typeof MutationObserver !== 'undefined') {
185
+ this.activatedObserver = new MutationObserver(syncActivated);
186
+ this.activatedObserver.observe(this.el.shadowRoot, {
187
+ attributes: true,
188
+ attributeFilter: ['class'],
189
+ subtree: true,
190
+ });
191
+ }
192
+ syncActivated();
193
+ };
194
+ this.handleKeyboard = (knob, isIncrease) => {
195
+ const { ensureValueInBounds } = this;
196
+ let step = this.step;
197
+ step = step > 0 ? step : 1;
198
+ step = step / (this.max - this.min);
199
+ if (!isIncrease) {
200
+ step *= -1;
201
+ }
202
+ if (knob === 'A') {
203
+ this.ratioA = clamp(0, this.ratioA + step, 1);
204
+ }
205
+ else {
206
+ this.ratioB = clamp(0, this.ratioB + step, 1);
207
+ }
208
+ this.ionKnobMoveStart.emit({ value: ensureValueInBounds(this.value) });
209
+ this.updateValue();
210
+ this.emitValueChange();
211
+ this.ionKnobMoveEnd.emit({ value: ensureValueInBounds(this.value) });
212
+ };
213
+ this.onBlur = () => {
214
+ if (this.hasFocus) {
215
+ this.hasFocus = false;
216
+ this.focusedKnob = undefined;
217
+ this.ionBlur.emit();
218
+ }
219
+ };
220
+ this.onFocus = () => {
221
+ if (!this.hasFocus) {
222
+ this.hasFocus = true;
223
+ this.ionFocus.emit();
224
+ }
225
+ };
226
+ this.onKnobFocus = (knob) => {
227
+ // Clicking focuses the range which is needed for the keyboard,
228
+ // but we only want to add the ion-focused class when focused via Tab.
229
+ if (!this.focusFromPointer) {
230
+ this.focusedKnob = knob;
231
+ }
232
+ else {
233
+ this.focusFromPointer = false;
234
+ this.focusedKnob = undefined;
235
+ }
236
+ // If the knob was not already focused, emit the focus event
237
+ if (!this.hasFocus) {
238
+ this.hasFocus = true;
239
+ this.ionFocus.emit();
240
+ }
241
+ };
242
+ this.onKnobBlur = () => {
243
+ // Check if focus is moving to another knob within the same range
244
+ // by delaying the reset to allow the new focus to register
245
+ setTimeout(() => {
246
+ var _a;
247
+ const activeElement = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement;
248
+ const isStillFocusedOnKnob = activeElement && activeElement.classList.contains('range-knob-handle');
249
+ if (!isStillFocusedOnKnob) {
250
+ if (this.hasFocus) {
251
+ this.hasFocus = false;
252
+ this.focusedKnob = undefined;
253
+ this.ionBlur.emit();
254
+ }
255
+ }
256
+ }, 0);
257
+ };
258
+ this.onKnobMouseEnter = (knob) => {
259
+ this.hoveredKnob = knob;
260
+ };
261
+ this.onKnobMouseLeave = () => {
262
+ this.hoveredKnob = undefined;
263
+ };
264
+ }
88
265
  debounceChanged() {
89
266
  const { ionInput, debounce, originalIonInput } = this;
90
267
  /**
91
268
  * If debounce is undefined, we have to manually revert the ionInput emitter in case
92
269
  * debounce used to be set to a number. Otherwise, the event would stay debounced.
93
270
  */
94
- this.ionInput = debounce === undefined ? originalIonInput ?? ionInput : debounceEvent(ionInput, debounce);
271
+ this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : debounceEvent(ionInput, debounce);
95
272
  }
96
- /**
97
- * The name of the control, which is submitted with the form data.
98
- */
99
- name = this.rangeId;
100
- /**
101
- * The text to display as the control's label. Use this over the `label` slot if
102
- * you only need plain text. The `label` property will take priority over the
103
- * `label` slot if both are used.
104
- */
105
- label;
106
- /**
107
- * Show two knobs.
108
- */
109
- dualKnobs = false;
110
- /**
111
- * Minimum integer value of the range.
112
- */
113
- min = 0;
114
273
  minChanged(newValue) {
115
274
  if (!isSafeNumber(newValue)) {
116
275
  this.min = 0;
@@ -119,10 +278,6 @@ export class Range {
119
278
  this.updateRatio();
120
279
  }
121
280
  }
122
- /**
123
- * Maximum integer value of the range.
124
- */
125
- max = 100;
126
281
  maxChanged(newValue) {
127
282
  if (!isSafeNumber(newValue)) {
128
283
  this.max = 100;
@@ -131,43 +286,11 @@ export class Range {
131
286
  this.updateRatio();
132
287
  }
133
288
  }
134
- /**
135
- * If `true`, a pin with integer value is shown when the knob
136
- * is pressed.
137
- */
138
- pin = false;
139
- /**
140
- * A callback used to format the pin text.
141
- * By default the pin text is set to `Math.round(value)`.
142
- *
143
- * See https://ionicframework.com/docs/troubleshooting/runtime#accessing-this
144
- * if you need to access `this` from within the callback.
145
- */
146
- pinFormatter = (value) => Math.round(value);
147
- /**
148
- * If `true`, the knob snaps to tick marks evenly spaced based
149
- * on the step property value.
150
- */
151
- snaps = false;
152
- /**
153
- * Specifies the value granularity.
154
- */
155
- step = 1;
156
289
  stepChanged(newValue) {
157
290
  if (!isSafeNumber(newValue)) {
158
291
  this.step = 1;
159
292
  }
160
293
  }
161
- /**
162
- * If `true`, tick marks are displayed based on the step value.
163
- * Only applies when `snaps` is `true`.
164
- */
165
- ticks = true;
166
- /**
167
- * The start position of the range active bar. This feature is only available with a single knob (dualKnobs="false").
168
- * Valid values are greater than or equal to the min value and less than or equal to the max value.
169
- */
170
- activeBarStart;
171
294
  activeBarStartChanged() {
172
295
  const { activeBarStart } = this;
173
296
  if (activeBarStart !== undefined) {
@@ -181,19 +304,11 @@ export class Range {
181
304
  }
182
305
  }
183
306
  }
184
- /**
185
- * If `true`, the user cannot interact with the range.
186
- */
187
- disabled = false;
188
307
  disabledChanged() {
189
308
  if (this.gesture) {
190
309
  this.gesture.enable(!this.disabled);
191
310
  }
192
311
  }
193
- /**
194
- * the value of the range.
195
- */
196
- value = 0;
197
312
  valueChanged(newValue, oldValue) {
198
313
  const valuesChanged = this.compareValues(newValue, oldValue);
199
314
  if (valuesChanged) {
@@ -203,120 +318,6 @@ export class Range {
203
318
  this.updateRatio();
204
319
  }
205
320
  }
206
- /**
207
- * Compares two RangeValue inputs to determine if they are different.
208
- *
209
- * @param newVal - The new value.
210
- * @param oldVal - The old value.
211
- * @returns `true` if the values are different, `false` otherwise.
212
- */
213
- compareValues = (newVal, oldVal) => {
214
- if (typeof newVal === 'object' && typeof oldVal === 'object') {
215
- return newVal.lower !== oldVal.lower || newVal.upper !== oldVal.upper;
216
- }
217
- return newVal !== oldVal;
218
- };
219
- clampBounds = (value) => {
220
- return clamp(this.min, value, this.max);
221
- };
222
- ensureValueInBounds = (value) => {
223
- if (this.dualKnobs) {
224
- return {
225
- lower: this.clampBounds(value.lower),
226
- upper: this.clampBounds(value.upper),
227
- };
228
- }
229
- else {
230
- return this.clampBounds(value);
231
- }
232
- };
233
- /**
234
- * Where to place the label relative to the range.
235
- * `"start"`: The label will appear to the left of the range in LTR and to the right in RTL.
236
- * `"end"`: The label will appear to the right of the range in LTR and to the left in RTL.
237
- * `"fixed"`: The label has the same behavior as `"start"` except it also has a fixed width. Long text will be truncated with ellipses ("...").
238
- * `"stacked"`: The label will appear above the range regardless of the direction.
239
- */
240
- labelPlacement = 'start';
241
- /**
242
- * The `ionChange` event is fired for `<ion-range>` elements when the user
243
- * modifies the element's value:
244
- * - When the user releases the knob after dragging;
245
- * - When the user moves the knob with keyboard arrows
246
- *
247
- * This event will not emit when programmatically setting the `value` property.
248
- */
249
- ionChange;
250
- /**
251
- * The `ionInput` event is fired for `<ion-range>` elements when the value
252
- * is modified. Unlike `ionChange`, `ionInput` is fired continuously
253
- * while the user is dragging the knob.
254
- */
255
- ionInput;
256
- /**
257
- * Emitted when the range has focus.
258
- */
259
- ionFocus;
260
- /**
261
- * Emitted when the range loses focus.
262
- */
263
- ionBlur;
264
- /**
265
- * Emitted when the user starts moving the range knob, whether through
266
- * mouse drag, touch gesture, or keyboard interaction.
267
- */
268
- ionKnobMoveStart;
269
- /**
270
- * Emitted when the user finishes moving the range knob, whether through
271
- * mouse drag, touch gesture, or keyboard interaction.
272
- */
273
- ionKnobMoveEnd;
274
- setupGesture = async () => {
275
- const rangeSlider = this.rangeSlider;
276
- if (rangeSlider) {
277
- this.gesture = (await import('../../utils/gesture')).createGesture({
278
- el: rangeSlider,
279
- gestureName: 'range',
280
- gesturePriority: 100,
281
- /**
282
- * Provide a threshold since the drag movement
283
- * might be a user scrolling the view.
284
- * If this is true, then the range
285
- * should not move.
286
- */
287
- threshold: 10,
288
- onStart: () => this.onStart(),
289
- onMove: (ev) => this.onMove(ev),
290
- onEnd: (ev) => this.onEnd(ev),
291
- });
292
- this.gesture.enable(!this.disabled);
293
- }
294
- };
295
- /**
296
- * Observes the knob handles for the ion-activated class and syncs
297
- * activatedKnob so the activated part is correctly set on the handle,
298
- * knob, and pin.
299
- */
300
- setupActivatedObserver = () => {
301
- const knobHandleA = this.el.shadowRoot.querySelector('.range-knob-handle-a');
302
- const knobHandleB = this.el.shadowRoot.querySelector('.range-knob-handle-b');
303
- const syncActivated = () => {
304
- this.activatedKnob = knobHandleA?.classList.contains('ion-activated')
305
- ? 'A'
306
- : knobHandleB?.classList.contains('ion-activated')
307
- ? 'B'
308
- : undefined;
309
- };
310
- if (Build.isBrowser && typeof MutationObserver !== 'undefined') {
311
- this.activatedObserver = new MutationObserver(syncActivated);
312
- this.activatedObserver.observe(this.el.shadowRoot, {
313
- attributes: true,
314
- attributeFilter: ['class'],
315
- subtree: true,
316
- });
317
- }
318
- syncActivated();
319
- };
320
321
  componentWillLoad() {
321
322
  /**
322
323
  * If user has custom ID set then we should
@@ -340,6 +341,7 @@ export class Range {
340
341
  this.didLoad = true;
341
342
  }
342
343
  connectedCallback() {
344
+ var _a;
343
345
  this.updateRatio();
344
346
  this.debounceChanged();
345
347
  this.disabledChanged();
@@ -355,7 +357,7 @@ export class Range {
355
357
  this.setupActivatedObserver();
356
358
  }
357
359
  const ionContent = findClosestIonContent(this.el);
358
- this.contentEl = ionContent?.querySelector('.ion-content-scroll-host') ?? ionContent;
360
+ this.contentEl = (_a = ionContent === null || ionContent === void 0 ? void 0 : ionContent.querySelector('.ion-content-scroll-host')) !== null && _a !== void 0 ? _a : ionContent;
359
361
  }
360
362
  disconnectedCallback() {
361
363
  if (this.gesture) {
@@ -367,27 +369,9 @@ export class Range {
367
369
  this.activatedObserver = undefined;
368
370
  }
369
371
  }
370
- handleKeyboard = (knob, isIncrease) => {
371
- const { ensureValueInBounds } = this;
372
- let step = this.step;
373
- step = step > 0 ? step : 1;
374
- step = step / (this.max - this.min);
375
- if (!isIncrease) {
376
- step *= -1;
377
- }
378
- if (knob === 'A') {
379
- this.ratioA = clamp(0, this.ratioA + step, 1);
380
- }
381
- else {
382
- this.ratioB = clamp(0, this.ratioB + step, 1);
383
- }
384
- this.ionKnobMoveStart.emit({ value: ensureValueInBounds(this.value) });
385
- this.updateValue();
386
- this.emitValueChange();
387
- this.ionKnobMoveEnd.emit({ value: ensureValueInBounds(this.value) });
388
- };
389
372
  getValue() {
390
- const value = this.value ?? 0;
373
+ var _a;
374
+ const value = (_a = this.value) !== null && _a !== void 0 ? _a : 0;
391
375
  if (this.dualKnobs) {
392
376
  if (typeof value === 'object') {
393
377
  return value;
@@ -473,8 +457,9 @@ export class Range {
473
457
  * @param detail The details of the gesture or mouse event.
474
458
  */
475
459
  onEnd(detail) {
460
+ var _a;
476
461
  const { contentEl, initialContentScrollY } = this;
477
- const currentX = detail.currentX ?? detail.clientX;
462
+ const currentX = (_a = detail.currentX) !== null && _a !== void 0 ? _a : detail.clientX;
478
463
  /**
479
464
  * The `pressedKnob` can be undefined if the user never
480
465
  * dragged the knob. They just tapped on the bar.
@@ -594,56 +579,6 @@ export class Range {
594
579
  };
595
580
  this.noUpdate = false;
596
581
  }
597
- onBlur = () => {
598
- if (this.hasFocus) {
599
- this.hasFocus = false;
600
- this.focusedKnob = undefined;
601
- this.ionBlur.emit();
602
- }
603
- };
604
- onFocus = () => {
605
- if (!this.hasFocus) {
606
- this.hasFocus = true;
607
- this.ionFocus.emit();
608
- }
609
- };
610
- onKnobFocus = (knob) => {
611
- // Clicking focuses the range which is needed for the keyboard,
612
- // but we only want to add the ion-focused class when focused via Tab.
613
- if (!this.focusFromPointer) {
614
- this.focusedKnob = knob;
615
- }
616
- else {
617
- this.focusFromPointer = false;
618
- this.focusedKnob = undefined;
619
- }
620
- // If the knob was not already focused, emit the focus event
621
- if (!this.hasFocus) {
622
- this.hasFocus = true;
623
- this.ionFocus.emit();
624
- }
625
- };
626
- onKnobBlur = () => {
627
- // Check if focus is moving to another knob within the same range
628
- // by delaying the reset to allow the new focus to register
629
- setTimeout(() => {
630
- const activeElement = this.el.shadowRoot?.activeElement;
631
- const isStillFocusedOnKnob = activeElement && activeElement.classList.contains('range-knob-handle');
632
- if (!isStillFocusedOnKnob) {
633
- if (this.hasFocus) {
634
- this.hasFocus = false;
635
- this.focusedKnob = undefined;
636
- this.ionBlur.emit();
637
- }
638
- }
639
- }, 0);
640
- };
641
- onKnobMouseEnter = (knob) => {
642
- this.hoveredKnob = knob;
643
- };
644
- onKnobMouseLeave = () => {
645
- this.hoveredKnob = undefined;
646
- };
647
582
  /**
648
583
  * Returns true if content was passed to the "start" slot
649
584
  */
@@ -660,6 +595,7 @@ export class Range {
660
595
  return this.label !== undefined || this.el.querySelector('[slot="label"]') !== null;
661
596
  }
662
597
  renderRangeSlider() {
598
+ var _a;
663
599
  const { min, max, step, handleKeyboard, activatedKnob, focusedKnob, hoveredKnob, pressedKnob, disabled, pin, ratioLower, ratioUpper, pinFormatter, inheritedAttributes, } = this;
664
600
  let barStart = `${ratioLower * 100}%`;
665
601
  let barEnd = `${100 - ratioUpper * 100}%`;
@@ -676,7 +612,7 @@ export class Range {
676
612
  * When the value is less than the activeBarStart or the min value,
677
613
  * the knob will display at the start of the active bar.
678
614
  */
679
- if (this.valA < (this.activeBarStart ?? this.min)) {
615
+ if (this.valA < ((_a = this.activeBarStart) !== null && _a !== void 0 ? _a : this.min)) {
680
616
  /**
681
617
  * Sets the bar positions relative to the upper and lower limits.
682
618
  * Converts the ratio values into percentages, used as offsets for left/right styles.
@@ -824,7 +760,7 @@ export class Range {
824
760
  * Determine the name and position of the pressed knob to apply
825
761
  * Host classes for styling.
826
762
  */
827
- const pressedKnobName = dualKnobs ? pressedKnob?.toLowerCase() : undefined;
763
+ const pressedKnobName = dualKnobs ? pressedKnob === null || pressedKnob === void 0 ? void 0 : pressedKnob.toLowerCase() : undefined;
828
764
  const pressedKnobPosition = dualKnobs && pressedKnob ? getKnobPosition(pressedKnob, this.ratioA, this.ratioB, dualKnobs) : undefined;
829
765
  /**
830
766
  * Determine if any knob is at the min or max value to
@@ -833,7 +769,7 @@ export class Range {
833
769
  const valueAtMin = dualKnobs ? this.valA === min || this.valB === min : this.valA === min;
834
770
  const valueAtMax = dualKnobs ? this.valA === max || this.valB === max : this.valA === max;
835
771
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
836
- return (h(Host, { key: 'cd26f0187c0d37c7eb9df923f75c8a0f57c19ab6', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
772
+ return (h(Host, { key: 'f8063d1234fb113fe55a7902845dd4b4da8b1edb', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
837
773
  [mode]: true,
838
774
  'in-item': inItem,
839
775
  'range-disabled': disabled,
@@ -847,10 +783,10 @@ export class Range {
847
783
  'range-item-end-adjustment': needsEndAdjustment,
848
784
  'range-value-min': valueAtMin,
849
785
  'range-value-max': valueAtMax,
850
- }) }, h("label", { key: '90224fd24b0e625a17e7972feff73a0ac31e093d', class: "range-wrapper", id: "range-label" }, h("div", { key: 'e07b9fa10983249c425eec26b741f0f628daf2b2', class: {
786
+ }) }, h("label", { key: 'beead65ab01e3b18e4be59c0ee8ac6ebf32aad7c', class: "range-wrapper", id: "range-label" }, h("div", { key: '03633c689d9d2e4c50a2131bcd560329df49e314', class: {
851
787
  'label-text-wrapper': true,
852
788
  'label-text-wrapper-hidden': !hasLabel,
853
- }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '9e252f1190838fbae46e724bf665f9b1943600a4', class: "native-wrapper" }, h("slot", { key: '950697dd9636da340de659812daa91fff50e5345', name: "start" }), this.renderRangeSlider(), h("slot", { key: 'd3fce46b29db275af71e6149e725967839ec12b0', name: "end" })))));
789
+ }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: 'c066804263ab6ae7393f8dcc51184b7198844ffa', class: "native-wrapper" }, h("slot", { key: '7e8ea224d72b3e965dd948bee7e45c1a096b6899', name: "start" }), this.renderRangeSlider(), h("slot", { key: '21f242f6f60ff3adce6a2d90b2d4dac1ceaf6624', name: "end" })))));
854
790
  }
855
791
  static get is() { return "ion-range"; }
856
792
  static get encapsulation() { return "shadow"; }