voyager-ionic-core 8.0.0-beta.1 → 8.0.0-beta.2

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 (635) hide show
  1. package/components/action-sheet.js +3 -3
  2. package/components/alert.js +2 -2
  3. package/components/backdrop.js +1 -1
  4. package/components/button.js +2 -2
  5. package/components/buttons.js +3 -3
  6. package/components/checkbox.js +3 -3
  7. package/components/data.js +23 -38
  8. package/components/hardware-back-button.js +3 -3
  9. package/components/helpers.js +1 -8
  10. package/components/input.utils.js +12 -0
  11. package/components/ion-app.js +4 -4
  12. package/components/ion-avatar.js +1 -1
  13. package/components/ion-back-button.js +2 -2
  14. package/components/ion-badge.js +2 -2
  15. package/components/ion-breadcrumb.js +2 -2
  16. package/components/ion-breadcrumbs.js +2 -2
  17. package/components/ion-card-content.js +1 -1
  18. package/components/ion-card-header.js +2 -2
  19. package/components/ion-card-subtitle.js +2 -2
  20. package/components/ion-card-title.js +2 -2
  21. package/components/ion-card.js +1 -1
  22. package/components/ion-chip.js +2 -2
  23. package/components/ion-col.js +2 -2
  24. package/components/ion-content.js +3 -3
  25. package/components/ion-datetime-button.js +11 -10
  26. package/components/ion-datetime.js +69 -7
  27. package/components/ion-fab-button.js +2 -2
  28. package/components/ion-fab-list.js +2 -2
  29. package/components/ion-fab.js +2 -2
  30. package/components/ion-footer.js +2 -2
  31. package/components/ion-grid.js +2 -2
  32. package/components/ion-header.js +2 -2
  33. package/components/ion-img.js +1 -1
  34. package/components/ion-infinite-scroll-content.js +2 -2
  35. package/components/ion-infinite-scroll.js +1 -1
  36. package/components/ion-input.js +6 -6
  37. package/components/ion-item-divider.js +2 -2
  38. package/components/ion-item-group.js +1 -1
  39. package/components/ion-item-option.js +2 -2
  40. package/components/ion-item-options.js +1 -1
  41. package/components/ion-item-sliding.js +1 -1
  42. package/components/ion-loading.js +2 -2
  43. package/components/ion-menu-button.js +2 -2
  44. package/components/ion-menu-toggle.js +2 -2
  45. package/components/ion-menu.js +3 -3
  46. package/components/ion-modal.js +3 -3
  47. package/components/ion-nav-link.js +1 -1
  48. package/components/ion-nav.js +1 -1
  49. package/components/ion-note.js +43 -1
  50. package/components/ion-picker-legacy.js +2 -2
  51. package/components/ion-progress-bar.js +1 -1
  52. package/components/ion-range.js +129 -24
  53. package/components/ion-refresher-content.js +1 -1
  54. package/components/ion-refresher.js +1 -1
  55. package/components/ion-reorder-group.js +1 -1
  56. package/components/ion-reorder.js +1 -1
  57. package/components/ion-router-link.js +2 -2
  58. package/components/ion-router-outlet.js +1 -1
  59. package/components/ion-row.js +1 -1
  60. package/components/ion-searchbar.js +34 -5
  61. package/components/ion-segment-button.js +3 -3
  62. package/components/ion-segment.js +2 -2
  63. package/components/ion-select-option.js +1 -1
  64. package/components/ion-select.js +23 -29
  65. package/components/ion-skeleton-text.js +2 -2
  66. package/components/ion-split-pane.js +2 -2
  67. package/components/ion-tab-bar.js +2 -2
  68. package/components/ion-tab-button.js +2 -2
  69. package/components/ion-tab.js +2 -2
  70. package/components/ion-tabs.js +1 -1
  71. package/components/ion-text.js +2 -2
  72. package/components/ion-textarea.js +5 -5
  73. package/components/ion-thumbnail.js +1 -1
  74. package/components/ion-title.js +2 -2
  75. package/components/ion-toast.js +2 -2
  76. package/components/ion-toggle.js +3 -3
  77. package/components/ion-toolbar.js +2 -2
  78. package/components/item.js +11 -92
  79. package/components/label.js +5 -5
  80. package/components/list-header.js +2 -2
  81. package/components/list.js +1 -1
  82. package/components/overlays.js +61 -19
  83. package/components/picker-column-option.js +2 -2
  84. package/components/picker-column.js +3 -3
  85. package/components/picker-column2.js +2 -2
  86. package/components/picker.js +2 -2
  87. package/components/popover.js +2 -2
  88. package/components/radio-group.js +1 -1
  89. package/components/radio.js +3 -3
  90. package/components/ripple-effect.js +1 -1
  91. package/components/select-popover.js +13 -19
  92. package/components/spinner.js +1 -1
  93. package/dist/cjs/{animation-4ad55058.js → animation-3e7bb91e.js} +1 -1
  94. package/dist/cjs/{app-globals-4d26cb5a.js → app-globals-e132c781.js} +1 -1
  95. package/dist/cjs/{button-active-e447f58b.js → button-active-60ecf64d.js} +1 -1
  96. package/dist/cjs/{data-e2bf21de.js → data-21dc0f81.js} +22 -39
  97. package/dist/cjs/{framework-delegate-53817ef1.js → framework-delegate-0499d444.js} +1 -1
  98. package/dist/cjs/{hardware-back-button-4cb049f1.js → hardware-back-button-1c67a5a2.js} +5 -5
  99. package/dist/cjs/{helpers-b71ca811.js → helpers-668b3d95.js} +1 -8
  100. package/dist/cjs/{index-7574e3d2.js → index-275cc12e.js} +1 -1
  101. package/dist/cjs/{index-ea266398.js → index-2d21d526.js} +441 -12
  102. package/dist/cjs/{index-bbc5b1f7.js → index-ba7ba0af.js} +4 -4
  103. package/dist/cjs/{index-347883f6.js → index-c49cb371.js} +1 -1
  104. package/dist/cjs/{index-92bb95d6.js → index-e4b6c97e.js} +4 -4
  105. package/dist/cjs/index.cjs.js +11 -11
  106. package/dist/cjs/{input-shims-679d87bc.js → input-shims-b419f083.js} +2 -2
  107. package/dist/cjs/{input.utils-5175aea1.js → input.utils-32c0a14a.js} +13 -1
  108. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  109. package/dist/cjs/ion-action-sheet.cjs.entry.js +11 -11
  110. package/dist/cjs/ion-alert.cjs.entry.js +10 -10
  111. package/dist/cjs/ion-app_8.cjs.entry.js +29 -29
  112. package/dist/cjs/ion-avatar_3.cjs.entry.js +6 -6
  113. package/dist/cjs/ion-back-button.cjs.entry.js +5 -5
  114. package/dist/cjs/ion-backdrop.cjs.entry.js +3 -3
  115. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +7 -7
  116. package/dist/cjs/ion-button_2.cjs.entry.js +5 -5
  117. package/dist/cjs/ion-card_5.cjs.entry.js +11 -11
  118. package/dist/cjs/ion-checkbox.cjs.entry.js +6 -6
  119. package/dist/cjs/ion-chip.cjs.entry.js +4 -4
  120. package/dist/cjs/ion-col_3.cjs.entry.js +7 -7
  121. package/dist/cjs/ion-datetime-button.cjs.entry.js +14 -13
  122. package/dist/cjs/ion-datetime_3.cjs.entry.js +77 -18
  123. package/dist/cjs/ion-fab_3.cjs.entry.js +9 -9
  124. package/dist/cjs/ion-img.cjs.entry.js +4 -4
  125. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +7 -7
  126. package/dist/cjs/ion-input.cjs.entry.js +10 -10
  127. package/dist/cjs/ion-item-option_3.cjs.entry.js +8 -8
  128. package/dist/cjs/ion-item_8.cjs.entry.js +23 -92
  129. package/dist/cjs/ion-loading.cjs.entry.js +9 -9
  130. package/dist/cjs/ion-menu_3.cjs.entry.js +14 -14
  131. package/dist/cjs/ion-modal.cjs.entry.js +12 -12
  132. package/dist/cjs/ion-nav_2.cjs.entry.js +8 -8
  133. package/dist/cjs/ion-picker-column-option.cjs.entry.js +5 -5
  134. package/dist/cjs/ion-picker-column.cjs.entry.js +6 -6
  135. package/dist/cjs/ion-picker.cjs.entry.js +4 -4
  136. package/dist/cjs/ion-popover.cjs.entry.js +10 -10
  137. package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -4
  138. package/dist/cjs/ion-radio_2.cjs.entry.js +7 -7
  139. package/dist/cjs/ion-range.cjs.entry.js +133 -28
  140. package/dist/cjs/ion-refresher_2.cjs.entry.js +7 -7
  141. package/dist/cjs/ion-reorder_2.cjs.entry.js +6 -6
  142. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  143. package/dist/cjs/ion-route_4.cjs.entry.js +5 -5
  144. package/dist/cjs/ion-searchbar.cjs.entry.js +31 -7
  145. package/dist/cjs/ion-segment_2.cjs.entry.js +8 -8
  146. package/dist/cjs/ion-select_3.cjs.entry.js +13 -13
  147. package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
  148. package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
  149. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +7 -7
  150. package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
  151. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  152. package/dist/cjs/ion-textarea.cjs.entry.js +9 -9
  153. package/dist/cjs/ion-toast.cjs.entry.js +9 -9
  154. package/dist/cjs/ion-toggle.cjs.entry.js +6 -6
  155. package/dist/cjs/{ionic-global-59aa7eb7.js → ionic-global-5762eca9.js} +1 -1
  156. package/dist/cjs/ionic.cjs.js +28 -5
  157. package/dist/cjs/{ios.transition-997fe325.js → ios.transition-3e119901.js} +4 -4
  158. package/dist/cjs/loader.cjs.js +4 -4
  159. package/dist/cjs/{md.transition-2b76c2c6.js → md.transition-c1392f92.js} +4 -4
  160. package/dist/cjs/{notch-controller-8e0ae870.js → notch-controller-08a24f39.js} +1 -1
  161. package/dist/cjs/{overlays-3d02b54f.js → overlays-44b8d0e0.js} +64 -22
  162. package/dist/cjs/{status-tap-3761c2d4.js → status-tap-32430b3e.js} +3 -3
  163. package/dist/cjs/{swipe-back-5b71fc62.js → swipe-back-b8484483.js} +1 -1
  164. package/dist/collection/collection-manifest.json +1 -1
  165. package/dist/collection/components/action-sheet/action-sheet.js +3 -3
  166. package/dist/collection/components/alert/alert.js +2 -2
  167. package/dist/collection/components/app/app.js +4 -4
  168. package/dist/collection/components/avatar/avatar.js +1 -1
  169. package/dist/collection/components/back-button/back-button.js +2 -2
  170. package/dist/collection/components/backdrop/backdrop.js +1 -1
  171. package/dist/collection/components/badge/badge.js +2 -2
  172. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
  173. package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
  174. package/dist/collection/components/button/button.js +2 -2
  175. package/dist/collection/components/buttons/buttons.js +2 -2
  176. package/dist/collection/components/card/card.js +1 -1
  177. package/dist/collection/components/card-content/card-content.js +1 -1
  178. package/dist/collection/components/card-header/card-header.js +2 -2
  179. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
  180. package/dist/collection/components/card-title/card-title.js +2 -2
  181. package/dist/collection/components/checkbox/checkbox.js +3 -3
  182. package/dist/collection/components/checkbox/test/checkbox.spec.js +12 -0
  183. package/dist/collection/components/chip/chip.js +2 -2
  184. package/dist/collection/components/col/col.js +2 -2
  185. package/dist/collection/components/content/content.js +3 -3
  186. package/dist/collection/components/datetime/datetime.js +50 -7
  187. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +77 -0
  188. package/dist/collection/components/datetime/test/format.spec.js +65 -15
  189. package/dist/collection/components/datetime/utils/format.js +24 -37
  190. package/dist/collection/components/datetime/utils/validate.js +45 -0
  191. package/dist/collection/components/datetime-button/datetime-button.js +11 -10
  192. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +65 -0
  193. package/dist/collection/components/fab/fab.js +2 -2
  194. package/dist/collection/components/fab-button/fab-button.js +2 -2
  195. package/dist/collection/components/fab-list/fab-list.js +2 -2
  196. package/dist/collection/components/footer/footer.js +2 -2
  197. package/dist/collection/components/grid/grid.js +2 -2
  198. package/dist/collection/components/header/header.js +2 -2
  199. package/dist/collection/components/img/img.js +1 -1
  200. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  201. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  202. package/dist/collection/components/input/input.ios.css +2 -0
  203. package/dist/collection/components/input/input.js +3 -3
  204. package/dist/collection/components/input/input.md.css +4 -2
  205. package/dist/collection/components/input/test/highlight/input.e2e.js +144 -0
  206. package/dist/collection/components/item/item.ios.css +5 -197
  207. package/dist/collection/components/item/item.js +4 -166
  208. package/dist/collection/components/item/item.md.css +7 -360
  209. package/dist/collection/components/item/test/basic/item.e2e.js +0 -5
  210. package/dist/collection/components/item/test/item.spec.js +1 -1
  211. package/dist/collection/components/item-divider/item-divider.js +2 -2
  212. package/dist/collection/components/item-group/item-group.js +1 -1
  213. package/dist/collection/components/item-option/item-option.js +2 -2
  214. package/dist/collection/components/item-options/item-options.js +1 -1
  215. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  216. package/dist/collection/components/label/label.ios.css +0 -5
  217. package/dist/collection/components/label/label.js +2 -2
  218. package/dist/collection/components/label/label.md.css +0 -75
  219. package/dist/collection/components/list/list.js +1 -1
  220. package/dist/collection/components/list-header/list-header.js +2 -2
  221. package/dist/collection/components/loading/loading.js +2 -2
  222. package/dist/collection/components/menu/menu.js +12 -6
  223. package/dist/collection/components/menu-button/menu-button.js +2 -2
  224. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  225. package/dist/collection/components/modal/modal.js +3 -3
  226. package/dist/collection/components/nav/nav.js +1 -1
  227. package/dist/collection/components/nav-link/nav-link.js +1 -1
  228. package/dist/collection/components/note/note.js +2 -2
  229. package/dist/collection/components/picker/picker.js +2 -2
  230. package/dist/collection/components/picker-column/picker-column.js +3 -3
  231. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  232. package/dist/collection/components/picker-legacy/picker.js +2 -2
  233. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  234. package/dist/collection/components/popover/popover.js +2 -2
  235. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  236. package/dist/collection/components/radio/radio.js +3 -3
  237. package/dist/collection/components/radio-group/radio-group.js +1 -1
  238. package/dist/collection/components/range/range.js +129 -24
  239. package/dist/collection/components/range/test/range-events.e2e.js +27 -0
  240. package/dist/collection/components/refresher/refresher.js +1 -1
  241. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  242. package/dist/collection/components/reorder/reorder.js +1 -1
  243. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  244. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  245. package/dist/collection/components/router-link/router-link.js +2 -2
  246. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  247. package/dist/collection/components/row/row.js +1 -1
  248. package/dist/collection/components/searchbar/searchbar.js +84 -5
  249. package/dist/collection/components/searchbar/test/searchbar.spec.js +20 -2
  250. package/dist/collection/components/segment/segment.js +2 -2
  251. package/dist/collection/components/segment-button/segment-button.js +3 -3
  252. package/dist/collection/components/select/select.ios.css +5 -0
  253. package/dist/collection/components/select/select.js +2 -2
  254. package/dist/collection/components/select/select.md.css +4 -27
  255. package/dist/collection/components/select/test/highlight/select.e2e.js +88 -4
  256. package/dist/collection/components/select-option/select-option.js +1 -1
  257. package/dist/collection/components/select-popover/select-popover.js +1 -1
  258. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  259. package/dist/collection/components/spinner/spinner.js +1 -1
  260. package/dist/collection/components/split-pane/split-pane.js +2 -2
  261. package/dist/collection/components/tab/tab.js +2 -2
  262. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  263. package/dist/collection/components/tab-button/tab-button.js +2 -2
  264. package/dist/collection/components/tabs/tabs.js +1 -1
  265. package/dist/collection/components/text/text.js +2 -2
  266. package/dist/collection/components/textarea/test/highlight/textarea.e2e.js +144 -0
  267. package/dist/collection/components/textarea/textarea.ios.css +2 -20
  268. package/dist/collection/components/textarea/textarea.js +2 -2
  269. package/dist/collection/components/textarea/textarea.md.css +4 -15
  270. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  271. package/dist/collection/components/title/title.js +2 -2
  272. package/dist/collection/components/toast/toast.js +2 -2
  273. package/dist/collection/components/toggle/toggle.js +3 -3
  274. package/dist/collection/components/toolbar/toolbar.js +2 -2
  275. package/dist/collection/utils/forms/index.js +0 -1
  276. package/dist/collection/utils/hardware-back-button.js +2 -2
  277. package/dist/collection/utils/helpers.js +1 -8
  278. package/dist/collection/utils/overlays.js +61 -19
  279. package/dist/collection/utils/slot-mutation-controller.js +12 -0
  280. package/dist/collection/utils/test/overlays/overlays.spec.js +53 -0
  281. package/dist/docs.json +158 -189
  282. package/dist/esm/{animation-a4acf150.js → animation-9a23ed8d.js} +1 -1
  283. package/dist/esm/{app-globals-cfb6787b.js → app-globals-80842d68.js} +1 -1
  284. package/dist/esm/{button-active-454e5c57.js → button-active-c6e18fac.js} +1 -1
  285. package/dist/esm/{data-691286f1.js → data-ae11fd43.js} +23 -38
  286. package/dist/esm/{framework-delegate-1eb3236c.js → framework-delegate-3fd96df8.js} +1 -1
  287. package/dist/esm/{hardware-back-button-3a14f99e.js → hardware-back-button-fb295e3a.js} +5 -5
  288. package/dist/esm/{helpers-ae74b3c9.js → helpers-f51cf76f.js} +1 -8
  289. package/dist/esm/{index-1f563746.js → index-1262064c.js} +1 -1
  290. package/dist/esm/{index-9b6d6df3.js → index-5d6a0317.js} +441 -13
  291. package/dist/esm/{index-5847f4a9.js → index-6da05eef.js} +4 -4
  292. package/dist/esm/{index-66871a1d.js → index-86688780.js} +1 -1
  293. package/dist/esm/{index-03086279.js → index-9d7e5d3e.js} +4 -4
  294. package/dist/esm/index.js +11 -11
  295. package/dist/esm/{input-shims-56c1f603.js → input-shims-2a4ad5a1.js} +2 -2
  296. package/dist/esm/{input.utils-482fc893.js → input.utils-d2dee48e.js} +13 -1
  297. package/dist/esm/ion-accordion_2.entry.js +3 -3
  298. package/dist/esm/ion-action-sheet.entry.js +11 -11
  299. package/dist/esm/ion-alert.entry.js +10 -10
  300. package/dist/esm/ion-app_8.entry.js +29 -29
  301. package/dist/esm/ion-avatar_3.entry.js +6 -6
  302. package/dist/esm/ion-back-button.entry.js +5 -5
  303. package/dist/esm/ion-backdrop.entry.js +3 -3
  304. package/dist/esm/ion-breadcrumb_2.entry.js +7 -7
  305. package/dist/esm/ion-button_2.entry.js +5 -5
  306. package/dist/esm/ion-card_5.entry.js +11 -11
  307. package/dist/esm/ion-checkbox.entry.js +6 -6
  308. package/dist/esm/ion-chip.entry.js +4 -4
  309. package/dist/esm/ion-col_3.entry.js +7 -7
  310. package/dist/esm/ion-datetime-button.entry.js +14 -13
  311. package/dist/esm/ion-datetime_3.entry.js +77 -18
  312. package/dist/esm/ion-fab_3.entry.js +9 -9
  313. package/dist/esm/ion-img.entry.js +4 -4
  314. package/dist/esm/ion-infinite-scroll_2.entry.js +7 -7
  315. package/dist/esm/ion-input.entry.js +10 -10
  316. package/dist/esm/ion-item-option_3.entry.js +8 -8
  317. package/dist/esm/ion-item_8.entry.js +23 -92
  318. package/dist/esm/ion-loading.entry.js +9 -9
  319. package/dist/esm/ion-menu_3.entry.js +14 -14
  320. package/dist/esm/ion-modal.entry.js +12 -12
  321. package/dist/esm/ion-nav_2.entry.js +8 -8
  322. package/dist/esm/ion-picker-column-option.entry.js +5 -5
  323. package/dist/esm/ion-picker-column.entry.js +6 -6
  324. package/dist/esm/ion-picker.entry.js +4 -4
  325. package/dist/esm/ion-popover.entry.js +10 -10
  326. package/dist/esm/ion-progress-bar.entry.js +4 -4
  327. package/dist/esm/ion-radio_2.entry.js +7 -7
  328. package/dist/esm/ion-range.entry.js +133 -28
  329. package/dist/esm/ion-refresher_2.entry.js +7 -7
  330. package/dist/esm/ion-reorder_2.entry.js +6 -6
  331. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  332. package/dist/esm/ion-route_4.entry.js +5 -5
  333. package/dist/esm/ion-searchbar.entry.js +31 -7
  334. package/dist/esm/ion-segment_2.entry.js +8 -8
  335. package/dist/esm/ion-select_3.entry.js +13 -13
  336. package/dist/esm/ion-spinner.entry.js +3 -3
  337. package/dist/esm/ion-split-pane.entry.js +4 -4
  338. package/dist/esm/ion-tab-bar_2.entry.js +7 -7
  339. package/dist/esm/ion-tab_2.entry.js +6 -6
  340. package/dist/esm/ion-text.entry.js +4 -4
  341. package/dist/esm/ion-textarea.entry.js +9 -9
  342. package/dist/esm/ion-toast.entry.js +9 -9
  343. package/dist/esm/ion-toggle.entry.js +6 -6
  344. package/dist/esm/{ionic-global-c976d684.js → ionic-global-a589c12c.js} +1 -1
  345. package/dist/esm/ionic.js +29 -6
  346. package/dist/esm/{ios.transition-a097dbf5.js → ios.transition-fbde96b0.js} +4 -4
  347. package/dist/esm/loader.js +5 -5
  348. package/dist/esm/{md.transition-b4170ef7.js → md.transition-76e0020b.js} +4 -4
  349. package/dist/esm/{notch-controller-18bf9f76.js → notch-controller-00572cf8.js} +1 -1
  350. package/dist/esm/{overlays-4ba3b255.js → overlays-b1ac1c63.js} +64 -22
  351. package/dist/esm/{status-tap-7a12f017.js → status-tap-84b41f36.js} +3 -3
  352. package/dist/esm/{swipe-back-ae14449a.js → swipe-back-4f2e5d47.js} +1 -1
  353. package/dist/esm-es5/{animation-a4acf150.js → animation-9a23ed8d.js} +1 -1
  354. package/dist/esm-es5/app-globals-80842d68.js +4 -0
  355. package/dist/esm-es5/{button-active-454e5c57.js → button-active-c6e18fac.js} +1 -1
  356. package/dist/esm-es5/data-ae11fd43.js +4 -0
  357. package/dist/esm-es5/{framework-delegate-1eb3236c.js → framework-delegate-3fd96df8.js} +1 -1
  358. package/dist/esm-es5/hardware-back-button-fb295e3a.js +4 -0
  359. package/dist/esm-es5/helpers-f51cf76f.js +4 -0
  360. package/dist/esm-es5/index-1262064c.js +4 -0
  361. package/dist/esm-es5/index-5d6a0317.js +5 -0
  362. package/dist/esm-es5/{index-5847f4a9.js → index-6da05eef.js} +1 -1
  363. package/dist/esm-es5/{index-66871a1d.js → index-86688780.js} +1 -1
  364. package/dist/esm-es5/{index-03086279.js → index-9d7e5d3e.js} +1 -1
  365. package/dist/esm-es5/index.js +1 -1
  366. package/dist/esm-es5/{input-shims-56c1f603.js → input-shims-2a4ad5a1.js} +1 -1
  367. package/dist/esm-es5/input.utils-d2dee48e.js +4 -0
  368. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  369. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  370. package/dist/esm-es5/ion-alert.entry.js +1 -1
  371. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  372. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  373. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  374. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  375. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  376. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  377. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  378. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  379. package/dist/esm-es5/ion-chip.entry.js +1 -1
  380. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  381. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  382. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  383. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  384. package/dist/esm-es5/ion-img.entry.js +1 -1
  385. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  386. package/dist/esm-es5/ion-input.entry.js +1 -1
  387. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  388. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  389. package/dist/esm-es5/ion-loading.entry.js +1 -1
  390. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  391. package/dist/esm-es5/ion-modal.entry.js +1 -1
  392. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  393. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  394. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  395. package/dist/esm-es5/ion-picker.entry.js +1 -1
  396. package/dist/esm-es5/ion-popover.entry.js +1 -1
  397. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  398. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  399. package/dist/esm-es5/ion-range.entry.js +1 -1
  400. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  401. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  402. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  403. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  404. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  405. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  406. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  407. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  408. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  409. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  410. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  411. package/dist/esm-es5/ion-text.entry.js +1 -1
  412. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  413. package/dist/esm-es5/ion-toast.entry.js +1 -1
  414. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  415. package/dist/esm-es5/{ionic-global-c976d684.js → ionic-global-a589c12c.js} +1 -1
  416. package/dist/esm-es5/ionic.js +1 -1
  417. package/dist/esm-es5/{ios.transition-a097dbf5.js → ios.transition-fbde96b0.js} +1 -1
  418. package/dist/esm-es5/loader.js +1 -1
  419. package/dist/esm-es5/md.transition-76e0020b.js +4 -0
  420. package/dist/esm-es5/{notch-controller-18bf9f76.js → notch-controller-00572cf8.js} +1 -1
  421. package/dist/esm-es5/overlays-b1ac1c63.js +4 -0
  422. package/dist/esm-es5/{status-tap-7a12f017.js → status-tap-84b41f36.js} +1 -1
  423. package/dist/esm-es5/{swipe-back-ae14449a.js → swipe-back-4f2e5d47.js} +1 -1
  424. package/dist/html.html-data.json +24 -26
  425. package/dist/ionic/index.esm.js +1 -1
  426. package/dist/ionic/ionic.esm.js +1 -1
  427. package/dist/ionic/ionic.js +1 -1
  428. package/dist/ionic/{p-a8cc0027.system.js → p-01171ead.system.js} +1 -1
  429. package/dist/ionic/{p-5aa60929.js → p-031c5621.js} +1 -1
  430. package/dist/ionic/{p-d504bc71.entry.js → p-03f3ebd2.entry.js} +1 -1
  431. package/dist/ionic/{p-a06af32c.system.js → p-04f9ce05.system.js} +1 -1
  432. package/dist/ionic/{p-7665bbbc.system.entry.js → p-063c093d.system.entry.js} +1 -1
  433. package/dist/ionic/p-06e951a9.entry.js +4 -0
  434. package/dist/ionic/{p-77982637.entry.js → p-070cf7c3.entry.js} +1 -1
  435. package/dist/ionic/{p-7b795aee.system.entry.js → p-07a0190a.system.entry.js} +1 -1
  436. package/dist/ionic/{p-1bca443b.system.entry.js → p-0afaf65b.system.entry.js} +1 -1
  437. package/dist/ionic/p-0b175848.entry.js +4 -0
  438. package/dist/ionic/p-0da58e53.entry.js +4 -0
  439. package/dist/ionic/p-0eb381c3.system.js +4 -0
  440. package/dist/ionic/p-144ae947.js +4 -0
  441. package/dist/ionic/{p-c5b77291.system.entry.js → p-15e2ff5f.system.entry.js} +1 -1
  442. package/dist/ionic/{p-85cb4733.entry.js → p-19243ae6.entry.js} +1 -1
  443. package/dist/ionic/p-1acaf641.entry.js +4 -0
  444. package/dist/ionic/{p-8e83b7f1.system.entry.js → p-1d1394da.system.entry.js} +1 -1
  445. package/dist/ionic/{p-842777af.js → p-1e5c0c49.js} +1 -1
  446. package/dist/ionic/{p-1ed99eba.system.entry.js → p-2028668d.system.entry.js} +1 -1
  447. package/dist/ionic/{p-1a68de09.entry.js → p-2070f8d8.entry.js} +1 -1
  448. package/dist/ionic/{p-1c436e95.system.entry.js → p-219c17cf.system.entry.js} +1 -1
  449. package/dist/ionic/p-21e88629.entry.js +4 -0
  450. package/dist/ionic/{p-41970e75.entry.js → p-234dc736.entry.js} +1 -1
  451. package/dist/ionic/{p-1600d68c.system.entry.js → p-237b1791.system.entry.js} +1 -1
  452. package/dist/ionic/{p-27594fc2.js → p-239906f1.js} +1 -1
  453. package/dist/ionic/{p-85464e28.system.entry.js → p-25648922.system.entry.js} +2 -2
  454. package/dist/ionic/{p-e38b3c29.entry.js → p-29ecf879.entry.js} +1 -1
  455. package/dist/ionic/{p-454b36f7.system.entry.js → p-2c560619.system.entry.js} +1 -1
  456. package/dist/ionic/{p-62f15daf.system.entry.js → p-2e2635b4.system.entry.js} +2 -2
  457. package/dist/ionic/p-2f53f47a.entry.js +4 -0
  458. package/dist/ionic/{p-6d95943d.system.js → p-30dfa360.system.js} +1 -1
  459. package/dist/ionic/p-314ae72a.js +4 -0
  460. package/dist/ionic/{p-816476b0.system.js → p-33e39575.system.js} +1 -1
  461. package/dist/ionic/p-355736ea.js +4 -0
  462. package/dist/ionic/p-373e757d.entry.js +4 -0
  463. package/dist/ionic/{p-8a50f8d6.system.js → p-3944820a.system.js} +1 -1
  464. package/dist/ionic/p-39483fc9.js +4 -0
  465. package/dist/ionic/{p-5afb6e48.entry.js → p-39860681.entry.js} +1 -1
  466. package/dist/ionic/{p-6fd26009.js → p-3a572692.js} +1 -1
  467. package/dist/ionic/{p-a5b7a286.entry.js → p-42d9f81e.entry.js} +1 -1
  468. package/dist/ionic/{p-b4bb9cd0.system.entry.js → p-45a2b1ee.system.entry.js} +1 -1
  469. package/dist/ionic/{p-15708968.js → p-46a4e4e8.js} +1 -1
  470. package/dist/ionic/{p-f16bfd53.entry.js → p-48fef2f1.entry.js} +1 -1
  471. package/dist/ionic/p-493bce1f.entry.js +4 -0
  472. package/dist/ionic/{p-c38c5dfc.system.js → p-4997d7dc.system.js} +1 -1
  473. package/dist/ionic/{p-cb944b1a.system.js → p-49a205d0.system.js} +1 -1
  474. package/dist/ionic/{p-c880c809.js → p-4ba6d7d1.js} +1 -1
  475. package/dist/ionic/p-4d6ec139.entry.js +4 -0
  476. package/dist/ionic/p-4d7230bd.system.entry.js +4 -0
  477. package/dist/ionic/{p-8d4d902b.js → p-4da2ae44.js} +1 -1
  478. package/dist/ionic/{p-466bdeae.entry.js → p-5054b3db.entry.js} +1 -1
  479. package/dist/ionic/{p-f7ed6a44.system.entry.js → p-50d19fc7.system.entry.js} +1 -1
  480. package/dist/ionic/p-513abaf6.system.entry.js +4 -0
  481. package/dist/ionic/p-517b76cb.entry.js +4 -0
  482. package/dist/ionic/{p-a6cc38d4.js → p-51b1a6be.js} +1 -1
  483. package/dist/ionic/p-53c592ec.system.js +4 -0
  484. package/dist/ionic/{p-ebe0be94.system.entry.js → p-566818dd.system.entry.js} +1 -1
  485. package/dist/ionic/{p-6e1fa025.js → p-59e86adb.js} +1 -1
  486. package/dist/ionic/{p-91a72ad6.system.entry.js → p-5f9abba8.system.entry.js} +2 -2
  487. package/dist/ionic/{p-baa409f1.system.entry.js → p-6042920d.system.entry.js} +2 -2
  488. package/dist/ionic/{p-7b44b443.entry.js → p-65374504.entry.js} +1 -1
  489. package/dist/ionic/{p-f3d6085c.entry.js → p-66596659.entry.js} +1 -1
  490. package/dist/ionic/p-667290b0.system.js +4 -0
  491. package/dist/ionic/{p-c3a2e5cc.entry.js → p-66e50777.entry.js} +1 -1
  492. package/dist/ionic/{p-4a8f173c.system.js → p-67dbcd3b.system.js} +1 -1
  493. package/dist/ionic/{p-95e14c7b.system.js → p-696db6f4.system.js} +1 -1
  494. package/dist/ionic/p-69df28fd.entry.js +4 -0
  495. package/dist/ionic/p-6d0e7669.system.entry.js +4 -0
  496. package/dist/ionic/p-6d1f5de9.system.entry.js +4 -0
  497. package/dist/ionic/{p-dcfc297d.system.entry.js → p-6d75fbe8.system.entry.js} +1 -1
  498. package/dist/ionic/{p-d4d0538c.system.entry.js → p-7162350a.system.entry.js} +1 -1
  499. package/dist/ionic/p-7200f2da.entry.js +4 -0
  500. package/dist/ionic/{p-81869a97.system.entry.js → p-739f8b95.system.entry.js} +1 -1
  501. package/dist/ionic/{p-7a3fa32c.entry.js → p-75addf49.entry.js} +1 -1
  502. package/dist/ionic/{p-1fa738c4.js → p-78b3da77.js} +1 -1
  503. package/dist/ionic/{p-03f63663.system.js → p-7c7e495d.system.js} +1 -1
  504. package/dist/ionic/{p-8ab308e9.js → p-7d4f6f18.js} +1 -1
  505. package/dist/ionic/{p-5c3991e3.system.entry.js → p-824d44c5.system.entry.js} +2 -2
  506. package/dist/ionic/{p-ded27993.entry.js → p-8c0b08db.entry.js} +1 -1
  507. package/dist/ionic/p-8dfe436d.system.js +4 -0
  508. package/dist/ionic/{p-da83d833.system.entry.js → p-91567c90.system.entry.js} +1 -1
  509. package/dist/ionic/{p-5a055df4.entry.js → p-95648db9.entry.js} +1 -1
  510. package/dist/ionic/{p-f71082f7.entry.js → p-9c970454.entry.js} +1 -1
  511. package/dist/ionic/{p-30892e0c.system.js → p-9e3177a5.system.js} +1 -1
  512. package/dist/ionic/p-a03c993e.entry.js +4 -0
  513. package/dist/ionic/{p-8aeed464.system.entry.js → p-a37d4fe9.system.entry.js} +1 -1
  514. package/dist/ionic/{p-3bac30bf.system.entry.js → p-a43fbe0a.system.entry.js} +1 -1
  515. package/dist/ionic/{p-1a5ed3fe.system.entry.js → p-a5c33d6b.system.entry.js} +1 -1
  516. package/dist/ionic/p-a7f788ec.entry.js +4 -0
  517. package/dist/ionic/{p-1e0a18a1.system.entry.js → p-acd64713.system.entry.js} +1 -1
  518. package/dist/ionic/{p-eec92f77.system.js → p-af9256a0.system.js} +1 -1
  519. package/dist/ionic/{p-7541ca9f.system.entry.js → p-b0850af6.system.entry.js} +1 -1
  520. package/dist/ionic/p-b0d35de4.system.js +4 -0
  521. package/dist/ionic/p-b996756b.entry.js +4 -0
  522. package/dist/ionic/p-ba9120fe.system.entry.js +4 -0
  523. package/dist/ionic/p-bb78b64e.entry.js +4 -0
  524. package/dist/ionic/{p-97135baa.entry.js → p-bbc4f653.entry.js} +1 -1
  525. package/dist/ionic/p-c34d1515.js +4 -0
  526. package/dist/ionic/{p-82f5375e.system.entry.js → p-c4390f10.system.entry.js} +1 -1
  527. package/dist/ionic/p-c629d22b.system.js +5 -0
  528. package/dist/ionic/p-c834c535.system.entry.js +4 -0
  529. package/dist/ionic/{p-ad2b216a.system.entry.js → p-c8675b7b.system.entry.js} +1 -1
  530. package/dist/ionic/{p-6ef5f4da.entry.js → p-c8f7f923.entry.js} +1 -1
  531. package/dist/ionic/p-c962e9ea.entry.js +4 -0
  532. package/dist/ionic/{p-e64277c4.entry.js → p-cada6331.entry.js} +1 -1
  533. package/dist/ionic/p-cc19ecba.system.entry.js +4 -0
  534. package/dist/ionic/{p-1ea88de9.system.js → p-ce36d285.system.js} +1 -1
  535. package/dist/ionic/{p-fd94dd20.system.entry.js → p-d09c9468.system.entry.js} +1 -1
  536. package/dist/ionic/{p-4523be60.entry.js → p-d10bbab7.entry.js} +1 -1
  537. package/dist/ionic/p-d268f7e2.system.entry.js +4 -0
  538. package/dist/ionic/{p-4c2cac66.entry.js → p-d3c1c23f.entry.js} +1 -1
  539. package/dist/ionic/{p-780ff3b5.system.entry.js → p-d4be0d81.system.entry.js} +1 -1
  540. package/dist/ionic/p-d5ef3a0a.entry.js +4 -0
  541. package/dist/ionic/p-d60342e3.js +4 -0
  542. package/dist/ionic/{p-1ce172db.entry.js → p-d85eebc3.entry.js} +1 -1
  543. package/dist/ionic/{p-09872ec8.system.entry.js → p-d9dfdbb5.system.entry.js} +1 -1
  544. package/dist/ionic/{p-25850474.entry.js → p-da5bbd4f.entry.js} +1 -1
  545. package/dist/ionic/{p-7cc01684.js → p-dad515dc.js} +1 -1
  546. package/dist/ionic/{p-afcd4f49.entry.js → p-de39f314.entry.js} +1 -1
  547. package/dist/ionic/{p-ddc4e717.entry.js → p-de4c700f.entry.js} +1 -1
  548. package/dist/ionic/{p-19f6ac6c.system.js → p-e01ebeba.system.js} +1 -1
  549. package/dist/ionic/{p-602494c6.entry.js → p-e222fdd1.entry.js} +1 -1
  550. package/dist/ionic/{p-add93c7a.entry.js → p-e5e492d8.entry.js} +1 -1
  551. package/dist/ionic/{p-874510e9.system.entry.js → p-e9412fe7.system.entry.js} +1 -1
  552. package/dist/ionic/{p-3410a9cb.system.js → p-ea5173f9.system.js} +1 -1
  553. package/dist/ionic/{p-4825e380.entry.js → p-eb546888.entry.js} +1 -1
  554. package/dist/ionic/{p-65d3f0e9.js → p-eee87ebb.js} +1 -1
  555. package/dist/ionic/p-f012e8f2.system.entry.js +4 -0
  556. package/dist/ionic/{p-aaca8dd4.system.entry.js → p-f15b0bbc.system.entry.js} +1 -1
  557. package/dist/ionic/{p-2b3e0d99.system.entry.js → p-f15f8140.system.entry.js} +1 -1
  558. package/dist/ionic/{p-a71dc777.system.js → p-f3e8c505.system.js} +1 -1
  559. package/dist/ionic/{p-760dbd5e.js → p-f5cb9689.js} +1 -1
  560. package/dist/ionic/p-f687573e.system.js +4 -0
  561. package/dist/ionic/{p-f6a6b7ef.system.entry.js → p-f6db2e96.system.entry.js} +2 -2
  562. package/dist/ionic/p-f8502e85.js +5 -0
  563. package/dist/ionic/{p-cd366840.system.entry.js → p-f8dfae89.system.entry.js} +1 -1
  564. package/dist/ionic/p-fcec3b7a.system.entry.js +4 -0
  565. package/dist/ionic/{p-cb0e4100.system.entry.js → p-ff740d68.system.entry.js} +1 -1
  566. package/dist/types/components/datetime/datetime-interface.d.ts +10 -0
  567. package/dist/types/components/datetime/datetime.d.ts +9 -1
  568. package/dist/types/components/datetime/utils/format.d.ts +7 -13
  569. package/dist/types/components/datetime/utils/validate.d.ts +8 -0
  570. package/dist/types/components/item/item.d.ts +0 -32
  571. package/dist/types/components/menu/menu-interface.d.ts +1 -0
  572. package/dist/types/components/menu/menu.d.ts +2 -2
  573. package/dist/types/components/range/range.d.ts +29 -0
  574. package/dist/types/components/searchbar/searchbar.d.ts +38 -0
  575. package/dist/types/components.d.ts +38 -46
  576. package/dist/types/utils/forms/index.d.ts +0 -1
  577. package/dist/types/utils/hardware-back-button.d.ts +1 -1
  578. package/dist/types/utils/helpers.d.ts +0 -1
  579. package/hydrate/index.js +499 -349
  580. package/package.json +1 -1
  581. package/components/note.js +0 -48
  582. package/dist/collection/components/item/test/legacy/disabled/item.e2e.js +0 -14
  583. package/dist/collection/utils/forms/form-controller.js +0 -61
  584. package/dist/esm-es5/app-globals-cfb6787b.js +0 -4
  585. package/dist/esm-es5/data-691286f1.js +0 -4
  586. package/dist/esm-es5/hardware-back-button-3a14f99e.js +0 -4
  587. package/dist/esm-es5/helpers-ae74b3c9.js +0 -4
  588. package/dist/esm-es5/index-1f563746.js +0 -4
  589. package/dist/esm-es5/index-9b6d6df3.js +0 -5
  590. package/dist/esm-es5/input.utils-482fc893.js +0 -4
  591. package/dist/esm-es5/md.transition-b4170ef7.js +0 -4
  592. package/dist/esm-es5/overlays-4ba3b255.js +0 -4
  593. package/dist/ionic/p-060fdc03.entry.js +0 -4
  594. package/dist/ionic/p-069388dd.system.js +0 -4
  595. package/dist/ionic/p-06fccad7.entry.js +0 -4
  596. package/dist/ionic/p-0ca35c1d.system.entry.js +0 -4
  597. package/dist/ionic/p-134d4936.system.js +0 -4
  598. package/dist/ionic/p-19e79fe8.entry.js +0 -4
  599. package/dist/ionic/p-22d2a891.js +0 -4
  600. package/dist/ionic/p-239262e4.system.entry.js +0 -4
  601. package/dist/ionic/p-300b2cf1.entry.js +0 -4
  602. package/dist/ionic/p-32bd7ed7.entry.js +0 -4
  603. package/dist/ionic/p-43322b14.js +0 -4
  604. package/dist/ionic/p-4ad02639.entry.js +0 -4
  605. package/dist/ionic/p-5289aade.js +0 -4
  606. package/dist/ionic/p-60efe117.js +0 -5
  607. package/dist/ionic/p-6657681b.system.entry.js +0 -4
  608. package/dist/ionic/p-66e6860f.system.js +0 -4
  609. package/dist/ionic/p-6e5eeb35.entry.js +0 -4
  610. package/dist/ionic/p-6f6d56f1.entry.js +0 -4
  611. package/dist/ionic/p-70218e28.system.entry.js +0 -4
  612. package/dist/ionic/p-72bc2484.system.entry.js +0 -4
  613. package/dist/ionic/p-82d459c1.js +0 -4
  614. package/dist/ionic/p-8ba5912c.entry.js +0 -4
  615. package/dist/ionic/p-8d50220b.system.js +0 -4
  616. package/dist/ionic/p-8d602214.system.js +0 -5
  617. package/dist/ionic/p-8e3ee444.system.entry.js +0 -4
  618. package/dist/ionic/p-9382ebab.entry.js +0 -4
  619. package/dist/ionic/p-942c19cb.entry.js +0 -4
  620. package/dist/ionic/p-96391c0e.entry.js +0 -4
  621. package/dist/ionic/p-9d6f351e.js +0 -4
  622. package/dist/ionic/p-9e3b3f15.system.js +0 -4
  623. package/dist/ionic/p-a375c9f6.system.entry.js +0 -4
  624. package/dist/ionic/p-a58ec401.js +0 -4
  625. package/dist/ionic/p-b1a9e85a.system.entry.js +0 -4
  626. package/dist/ionic/p-bcb58446.entry.js +0 -4
  627. package/dist/ionic/p-c2336a9e.system.entry.js +0 -4
  628. package/dist/ionic/p-cbc3840e.entry.js +0 -4
  629. package/dist/ionic/p-cf852615.system.entry.js +0 -4
  630. package/dist/ionic/p-e15eda82.system.js +0 -4
  631. package/dist/ionic/p-e470466e.entry.js +0 -4
  632. package/dist/ionic/p-ef99a759.entry.js +0 -4
  633. package/dist/ionic/p-fc5ddbf6.entry.js +0 -4
  634. package/dist/ionic/p-feb66f6f.entry.js +0 -4
  635. package/dist/types/utils/forms/form-controller.d.ts +0 -15
@@ -393,7 +393,7 @@ const ItemSliding = /*@__PURE__*/ proxyCustomElement(class ItemSliding extends H
393
393
  }
394
394
  render() {
395
395
  const mode = getIonMode(this);
396
- return (h(Host, { key: 'ae9da267d130e2875b2d854952b70daa739effd8', class: {
396
+ return (h(Host, { key: '9e64f1c1c787f0b5f27703b50b47c36aad38b677', class: {
397
397
  [mode]: true,
398
398
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
399
399
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -256,9 +256,9 @@ const Loading = /*@__PURE__*/ proxyCustomElement(class Loading extends HTMLEleme
256
256
  * Otherwise, don't set aria-labelledby.
257
257
  */
258
258
  const ariaLabelledBy = message !== undefined ? msgId : null;
259
- return (h(Host, Object.assign({ key: '0b32f7915df1327934877cc71228aea71205266f', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
259
+ return (h(Host, Object.assign({ key: '8b21abdb9968e2b9e69ea4ca4dab98fa9bbcc79b', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
260
260
  zIndex: `${40000 + this.overlayIndex}`,
261
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: 'ca6c4c48b83457685a17c7a396e67cd7a6b06ab9', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'd76304807d988c02de44fc947124a15179ba2c6c', tabindex: "0" }), h("div", { key: '79ec338787a709a668c8f170d75a271bad3c2488', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { class: "loading-spinner" }, h("ion-spinner", { name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: 'a8e3e70c79e1b359f821c6769b1f4b4bf90da992', tabindex: "0" })));
261
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), h("ion-backdrop", { key: '1a76dd7ce9a801e0171cfa1d3db3b9b5f1574517', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '1db24db60f9fad1a9b760a83aa94cab40582d33a', tabindex: "0" }), h("div", { key: '479d80d7a1c89c3b0f63df815a6f8f20221fd158', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (h("div", { class: "loading-spinner" }, h("ion-spinner", { name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), h("div", { key: 'eaaf110a1a174b56a249a867cc676eebfa6b9bdc', tabindex: "0" })));
262
262
  }
263
263
  get el() { return this; }
264
264
  static get watchers() { return {
@@ -51,7 +51,7 @@ const MenuButton = /*@__PURE__*/ proxyCustomElement(class MenuButton extends HTM
51
51
  type: this.type,
52
52
  };
53
53
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
54
- return (h(Host, { key: '3cdbc04925c8c62ac65763fe83efdfffda0a16fa', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
54
+ return (h(Host, { key: '349011cb97d80efbbdccde34096e34abe98d03ff', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
55
55
  [mode]: true,
56
56
  button: true, // ion-buttons target .button
57
57
  'menu-button-hidden': hidden,
@@ -60,7 +60,7 @@ const MenuButton = /*@__PURE__*/ proxyCustomElement(class MenuButton extends HTM
60
60
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
61
61
  'ion-activatable': true,
62
62
  'ion-focusable': true,
63
- }) }, h("button", Object.assign({ key: '63db22c49359bf77fa344f5a13b733570ff088a4' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: '011af3fa930dd888f7f4aca24ba294d23b2ceba7', class: "button-inner" }, h("slot", { key: 'dc75fd2f1f3d42eb30aefd9cd3ef137d6c8a515a' }, h("ion-icon", { key: '55cfdc7df1eab0bdc386e2a5c90be87be56a000a', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && h("ion-ripple-effect", { type: "unbounded" }))));
63
+ }) }, h("button", Object.assign({ key: 'e8b326cd96486ad62026413b5616801d496fc969' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: 'a9878e6fd2f6bd774c4f1d142d7ab2cf09c4ad44', class: "button-inner" }, h("slot", { key: 'd5e7a66233bad1cce7ad814f403aac2f73792d83' }, h("ion-icon", { key: '3c01d567a4ed591a0db3b5ac6645b7afcda43e51', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && h("ion-ripple-effect", { type: "unbounded" }))));
64
64
  }
65
65
  get el() { return this; }
66
66
  static get style() { return {
@@ -30,10 +30,10 @@ const MenuToggle = /*@__PURE__*/ proxyCustomElement(class MenuToggle extends HTM
30
30
  render() {
31
31
  const mode = getIonMode(this);
32
32
  const hidden = this.autoHide && !this.visible;
33
- return (h(Host, { key: 'fa7f54b6264dd2110f4cda34aaa6ea7ec4f5040f', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
33
+ return (h(Host, { key: '6148f06183b46097ec7ce279891d6dbf41a6a531', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
34
34
  [mode]: true,
35
35
  'menu-toggle-hidden': hidden,
36
- } }, h("slot", { key: '6e1701d21f439cabd9f83607c500eb6111162447' })));
36
+ } }, h("slot", { key: '2cc7bb2fa93d354321cb7271be441ee047f877c1' })));
37
37
  }
38
38
  static get style() { return IonMenuToggleStyle0; }
39
39
  }, [1, "ion-menu-toggle", {
@@ -5,7 +5,7 @@ import { proxyCustomElement, HTMLElement, createEvent, Build, h, Host } from '@s
5
5
  import { g as getTimeGivenProgression } from './cubic-bezier.js';
6
6
  import { o as getPresentedOverlay, n as focusFirstDescendant, q as focusLastDescendant } from './overlays.js';
7
7
  import { G as GESTURE_CONTROLLER } from './gesture-controller.js';
8
- import { shoudUseCloseWatcher } from './hardware-back-button.js';
8
+ import { shouldUseCloseWatcher } from './hardware-back-button.js';
9
9
  import { m as isEndSide, i as inheritAriaAttributes, n as assert, k as clamp } from './helpers.js';
10
10
  import { m as menuController } from './index4.js';
11
11
  import { h as hostContext } from './theme.js';
@@ -596,14 +596,14 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
596
596
  * the ionBackButton listener in the menu controller
597
597
  * will handle closing the menu when Escape is pressed.
598
598
  */
599
- return (h(Host, { key: 'b75052668f8384e55009d5a9f436f2de590bf2c3', onKeyDown: shoudUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
599
+ return (h(Host, { key: '6cd86687e471bd5336ad1d71d0d0323dc2991570', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
600
600
  [mode]: true,
601
601
  [`menu-type-${type}`]: true,
602
602
  'menu-enabled': !disabled,
603
603
  [`menu-side-${side}`]: true,
604
604
  'menu-pane-visible': isPaneVisible,
605
605
  'split-pane-side': hostContext('ion-split-pane', el),
606
- } }, h("div", { key: 'd500486fe03917b9115fa399921d73f95602d14e', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '2078b5b36210658681980be69b8dc791e0b7dd96' })), h("ion-backdrop", { key: 'c43171d0f0804c0430b319de54e80c38d1768c80', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
606
+ } }, h("div", { key: 'b9420db4e6d8c77903ed9191ddb092c24d8006b0', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '3633bed75a12aa7437613497e7dabb1c62a2ebb9' })), h("ion-backdrop", { key: '00d60182f11380b51033b5aca9376ce29c41ae37', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
607
607
  }
608
608
  get el() { return this; }
609
609
  static get watchers() { return {
@@ -1628,9 +1628,9 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
1628
1628
  const mode = getIonMode(this);
1629
1629
  const isCardModal = presentingElement !== undefined && mode === 'ios';
1630
1630
  const isHandleCycle = handleBehavior === 'cycle';
1631
- return (h(Host, Object.assign({ key: 'dbd61751e4964ad81fc1dee19468b716d4f23c8a', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1631
+ return (h(Host, Object.assign({ key: '0fc72571cfcdfeadeffbec280e79f864a5dc3577', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
1632
1632
  zIndex: `${20000 + this.overlayIndex}`,
1633
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), h("ion-backdrop", { key: 'a7646a7a7aeef7eef1bb647373f509d4a26036ad', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { class: "modal-shadow" }), h("div", Object.assign({ key: 'bc6bc6ff7d2357206265240eaa76d730a0ecfd2c',
1633
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), h("ion-backdrop", { key: '4ce27aace82b3c2a24b5dcef0cbb2d27a8d333d1', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && h("div", { class: "modal-shadow" }), h("div", Object.assign({ key: 'b54e9d3bf5f31b9533535d8273538ff0ea69bc53',
1634
1634
  /*
1635
1635
  role and aria-modal must be used on the
1636
1636
  same element. They must also be set inside the
@@ -1639,7 +1639,7 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
1639
1639
  */
1640
1640
  role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { class: "modal-handle",
1641
1641
  // Prevents the handle from receiving keyboard focus when it does not cycle
1642
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '0ce06b895deb1da5fbdefa65b079dbd1ada349f7' }))));
1642
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), h("slot", { key: '3e143a68b0293a9cd7c075b0f8b5455a5cabe42d' }))));
1643
1643
  }
1644
1644
  get el() { return this; }
1645
1645
  static get watchers() { return {
@@ -36,7 +36,7 @@ const NavLink = /*@__PURE__*/ proxyCustomElement(class NavLink extends HTMLEleme
36
36
  this.routerAnimation = undefined;
37
37
  }
38
38
  render() {
39
- return h(Host, { key: '7b6b746a0e945a48b308eec2dcd9893daf00bca1', onClick: this.onClick });
39
+ return h(Host, { key: '467f69e018b51cbf5d8e672a3994087d615920b7', onClick: this.onClick });
40
40
  }
41
41
  get el() { return this; }
42
42
  }, [0, "ion-nav-link", {
@@ -905,7 +905,7 @@ const Nav = /*@__PURE__*/ proxyCustomElement(class Nav extends HTMLElement {
905
905
  }
906
906
  }
907
907
  render() {
908
- return h("slot", { key: 'a86e551f86509bd65200393785e4000dbb37154a' });
908
+ return h("slot", { key: 'b7daa45558793fba3837368da415367bbcc2660e' });
909
909
  }
910
910
  get el() { return this; }
911
911
  static get watchers() { return {
@@ -1,7 +1,49 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { N as Note, d as defineCustomElement$1 } from './note.js';
4
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
5
+ import { c as createColorClasses } from './theme.js';
6
+ import { b as getIonMode } from './ionic-global.js';
7
+
8
+ const noteIosCss = ":host{color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6));font-size:max(14px, 1rem)}";
9
+ const IonNoteIosStyle0 = noteIosCss;
10
+
11
+ const noteMdCss = ":host{color:var(--color);font-family:var(--ion-font-family, inherit);-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));font-size:0.875rem}";
12
+ const IonNoteMdStyle0 = noteMdCss;
13
+
14
+ const Note = /*@__PURE__*/ proxyCustomElement(class Note extends HTMLElement {
15
+ constructor() {
16
+ super();
17
+ this.__registerHost();
18
+ this.__attachShadow();
19
+ this.color = undefined;
20
+ }
21
+ render() {
22
+ const mode = getIonMode(this);
23
+ return (h(Host, { key: 'c28c242d5e60e447c4c926041fa62abfbad3f0fd', class: createColorClasses(this.color, {
24
+ [mode]: true,
25
+ }) }, h("slot", { key: 'e4c8e1d32527ba4a9c6d10d579aaba06cb040042' })));
26
+ }
27
+ static get style() { return {
28
+ ios: IonNoteIosStyle0,
29
+ md: IonNoteMdStyle0
30
+ }; }
31
+ }, [33, "ion-note", {
32
+ "color": [513]
33
+ }]);
34
+ function defineCustomElement$1() {
35
+ if (typeof customElements === "undefined") {
36
+ return;
37
+ }
38
+ const components = ["ion-note"];
39
+ components.forEach(tagName => { switch (tagName) {
40
+ case "ion-note":
41
+ if (!customElements.get(tagName)) {
42
+ customElements.define(tagName, Note);
43
+ }
44
+ break;
45
+ } });
46
+ }
5
47
 
6
48
  const IonNote = Note;
7
49
  const defineCustomElement = defineCustomElement$1;
@@ -240,11 +240,11 @@ const Picker = /*@__PURE__*/ proxyCustomElement(class Picker extends HTMLElement
240
240
  render() {
241
241
  const { htmlAttributes } = this;
242
242
  const mode = getIonMode(this);
243
- return (h(Host, Object.assign({ key: '1cf2f8a25a3eca7ac59eff969803c85540f102fc', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
243
+ return (h(Host, Object.assign({ key: '4144eef6498c66a82f3873ae5c8e55d2ee1d381e', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
244
244
  zIndex: `${20000 + this.overlayIndex}`,
245
245
  }, class: Object.assign({ [mode]: true,
246
246
  // Used internally for styling
247
- [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '3a70c7c6e0457afda2e9ef4619cb253b583b7805', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '4c90cf7dfeb9d2bdb5e947739864dbc2d1e327e0', tabindex: "0" }), h("div", { key: '050098ced341fd86bfcd72595b1f7a52c3b01b46', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: 'b0d9420fb053d0c71af04c88224a38f804fd99ba', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: '82cd2788c394079cb8843c240c17e3629eef0953', class: "picker-columns" }, h("div", { key: '34d2ce59e88b5967e52fe8077ef3a151c6ce38e5', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: 'b604b101bc0006efc246aea9320d9f44419c531f', class: "picker-below-highlight" }))), h("div", { key: '70437d735b009386b4f5ae250b555c039c366183', tabindex: "0" })));
247
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '4344a38bea27537a0f907d929ae3e88d16e751a5', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'a9634e85c6feb73e298407dadb02c1260e2f2f9b', tabindex: "0" }), h("div", { key: '871bb60dbb57c7b0c357491d84da97a2b3900071', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: '92e0d584c0d5e0c365af7d48781181248718e17e', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: '76c9024a822a96a9f9cd0e121629e5c02ba757e3', class: "picker-columns" }, h("div", { key: 'd1326bb793aedff0a5fc16eb2ddd5d5152210838', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: '1a9273ff23a5fc42003929dbdc267a29587cc5c6', class: "picker-below-highlight" }))), h("div", { key: 'cbc1280639e26e1b50e8dc9b6e640b357eb22c33', tabindex: "0" })));
248
248
  }
249
249
  get el() { return this; }
250
250
  static get watchers() { return {
@@ -29,7 +29,7 @@ const ProgressBar = /*@__PURE__*/ proxyCustomElement(class ProgressBar extends H
29
29
  const mode = getIonMode(this);
30
30
  // If the progress is displayed as a solid bar.
31
31
  const progressSolid = buffer === 1;
32
- return (h(Host, { key: '78a32304c7164cb78145a91be7bb9b86ecd11b66', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
32
+ return (h(Host, { key: 'b38b62bfe013dfe5f847a6faf6934b02ce32c113', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
33
33
  [mode]: true,
34
34
  [`progress-bar-${type}`]: true,
35
35
  'progress-paused': paused,
@@ -96,8 +96,14 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
96
96
  el: rangeSlider,
97
97
  gestureName: 'range',
98
98
  gesturePriority: 100,
99
- threshold: 0,
100
- onStart: (ev) => this.onStart(ev),
99
+ /**
100
+ * Provide a threshold since the drag movement
101
+ * might be a user scrolling the view.
102
+ * If this is true, then the range
103
+ * should not move.
104
+ */
105
+ threshold: 10,
106
+ onStart: () => this.onStart(),
101
107
  onMove: (ev) => this.onMove(ev),
102
108
  onEnd: (ev) => this.onEnd(ev),
103
109
  });
@@ -263,33 +269,93 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
263
269
  this.value = this.ensureValueInBounds(this.value);
264
270
  this.ionChange.emit({ value: this.value });
265
271
  }
266
- onStart(detail) {
267
- const { contentEl } = this;
268
- if (contentEl) {
272
+ /**
273
+ * The value should be updated on touch end or
274
+ * when the component is being dragged.
275
+ * This follows the native behavior of mobile devices.
276
+ *
277
+ * For example: When the user lifts their finger from the
278
+ * screen after tapping the bar or dragging the bar or knob.
279
+ */
280
+ onStart() {
281
+ this.ionKnobMoveStart.emit({ value: this.ensureValueInBounds(this.value) });
282
+ }
283
+ /**
284
+ * The value should be updated while dragging the
285
+ * bar or knob.
286
+ *
287
+ * While the user is dragging, the view
288
+ * should not scroll. This is to prevent the user from
289
+ * feeling disoriented while dragging.
290
+ *
291
+ * The user can scroll on the view if the knob or
292
+ * bar is not being dragged.
293
+ *
294
+ * @param detail The details of the gesture event.
295
+ */
296
+ onMove(detail) {
297
+ const { contentEl, pressedKnob } = this;
298
+ const currentX = detail.currentX;
299
+ /**
300
+ * Since the user is dragging on the bar or knob, the view should not scroll.
301
+ *
302
+ * This only needs to be done once.
303
+ */
304
+ if (contentEl && this.initialContentScrollY === undefined) {
269
305
  this.initialContentScrollY = disableContentScrollY(contentEl);
270
306
  }
271
- const rect = (this.rect = this.rangeSlider.getBoundingClientRect());
272
- const currentX = detail.currentX;
273
- // figure out which knob they started closer to
274
- let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);
275
- if (isRTL(this.el)) {
276
- ratio = 1 - ratio;
307
+ /**
308
+ * The `pressedKnob` can be undefined if the user just
309
+ * started dragging the knob.
310
+ *
311
+ * This is necessary to determine which knob the user is dragging,
312
+ * especially when it's a dual knob.
313
+ * Plus, it determines when to apply certain styles.
314
+ *
315
+ * This only needs to be done once since the knob won't change
316
+ * while the user is dragging.
317
+ */
318
+ if (pressedKnob === undefined) {
319
+ this.setPressedKnob(currentX);
277
320
  }
278
- this.pressedKnob = !this.dualKnobs || Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio) ? 'A' : 'B';
279
- this.setFocus(this.pressedKnob);
280
- // update the active knob's position
281
321
  this.update(currentX);
282
- this.ionKnobMoveStart.emit({ value: this.ensureValueInBounds(this.value) });
283
- }
284
- onMove(detail) {
285
- this.update(detail.currentX);
286
322
  }
323
+ /**
324
+ * The value should be updated on touch end:
325
+ * - When the user lifts their finger from the screen after
326
+ * tapping the bar.
327
+ *
328
+ * @param detail The details of the gesture or mouse event.
329
+ */
287
330
  onEnd(detail) {
288
331
  const { contentEl, initialContentScrollY } = this;
289
- if (contentEl) {
332
+ const currentX = detail.currentX || detail.clientX;
333
+ /**
334
+ * The `pressedKnob` can be undefined if the user never
335
+ * dragged the knob. They just tapped on the bar.
336
+ *
337
+ * This is necessary to determine which knob the user is changing,
338
+ * especially when it's a dual knob.
339
+ * Plus, it determines when to apply certain styles.
340
+ */
341
+ if (this.pressedKnob === undefined) {
342
+ this.setPressedKnob(currentX);
343
+ }
344
+ /**
345
+ * The user is no longer dragging the bar or
346
+ * knob (if they were dragging it).
347
+ *
348
+ * The user can now scroll on the view in the next gesture event.
349
+ */
350
+ if (contentEl && initialContentScrollY !== undefined) {
290
351
  resetContentScrollY(contentEl, initialContentScrollY);
291
352
  }
292
- this.update(detail.currentX);
353
+ // update the active knob's position
354
+ this.update(currentX);
355
+ /**
356
+ * Reset the pressed knob to undefined since the user
357
+ * may start dragging a different knob in the next gesture event.
358
+ */
293
359
  this.pressedKnob = undefined;
294
360
  this.emitValueChange();
295
361
  this.ionKnobMoveEnd.emit({ value: this.ensureValueInBounds(this.value) });
@@ -316,6 +382,16 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
316
382
  // Update input value
317
383
  this.updateValue();
318
384
  }
385
+ setPressedKnob(currentX) {
386
+ const rect = (this.rect = this.rangeSlider.getBoundingClientRect());
387
+ // figure out which knob they started closer to
388
+ let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);
389
+ if (isRTL(this.el)) {
390
+ ratio = 1 - ratio;
391
+ }
392
+ this.pressedKnob = !this.dualKnobs || Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio) ? 'A' : 'B';
393
+ this.setFocus(this.pressedKnob);
394
+ }
319
395
  get valA() {
320
396
  return ratioToValue(this.ratioA, this.min, this.max, this.step);
321
397
  }
@@ -459,7 +535,36 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
459
535
  if (this.hasLabel) {
460
536
  labelledBy = 'range-label';
461
537
  }
462
- return (h("div", { class: "range-slider", ref: (rangeEl) => (this.rangeSlider = rangeEl) }, ticks.map((tick) => (h("div", { style: tickStyle(tick), role: "presentation", class: {
538
+ return (h("div", { class: "range-slider", ref: (rangeEl) => (this.rangeSlider = rangeEl),
539
+ /**
540
+ * Since the gesture has a threshold, the value
541
+ * won't change until the user has dragged past
542
+ * the threshold. This is to prevent the range
543
+ * from moving when the user is scrolling.
544
+ *
545
+ * This results in the value not being updated
546
+ * and the event emitters not being triggered
547
+ * if the user taps on the range. This is why
548
+ * we need to listen for the "pointerUp" event.
549
+ */
550
+ onPointerUp: (ev) => {
551
+ /**
552
+ * If the user drags the knob on the web
553
+ * version (does not occur on mobile),
554
+ * the "pointerUp" event will be triggered
555
+ * along with the gesture's events.
556
+ * This leads to duplicate events.
557
+ *
558
+ * By checking if the pressedKnob is undefined,
559
+ * we can determine if the "pointerUp" event was
560
+ * triggered by a tap or a drag. If it was
561
+ * dragged, the pressedKnob will be defined.
562
+ */
563
+ if (this.pressedKnob === undefined) {
564
+ this.onStart();
565
+ this.onEnd(ev);
566
+ }
567
+ } }, ticks.map((tick) => (h("div", { style: tickStyle(tick), role: "presentation", class: {
463
568
  'range-tick': true,
464
569
  'range-tick-active': tick.active,
465
570
  }, part: tick.active ? 'tick-active' : 'tick' }))), h("div", { class: "range-bar-container" }, h("div", { class: "range-bar", role: "presentation", part: "bar" }), h("div", { class: {
@@ -512,7 +617,7 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
512
617
  const needsEndAdjustment = inItem && !hasEndContent;
513
618
  const mode = getIonMode(this);
514
619
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
515
- return (h(Host, { key: 'ff8dbbb4e0c8b9802408a40fa0d93528ec730a9f', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
620
+ return (h(Host, { key: '576015afd256abb6faa88630dc482b75333c69e0', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
516
621
  [mode]: true,
517
622
  'in-item': inItem,
518
623
  'range-disabled': disabled,
@@ -521,10 +626,10 @@ const Range = /*@__PURE__*/ proxyCustomElement(class Range extends HTMLElement {
521
626
  [`range-label-placement-${labelPlacement}`]: true,
522
627
  'range-item-start-adjustment': needsStartAdjustment,
523
628
  'range-item-end-adjustment': needsEndAdjustment,
524
- }) }, h("label", { key: '2164b0ec67215d7791d795a1f6274b595ad74d80', class: "range-wrapper", id: "range-label" }, h("div", { key: '717346e2bcfb29a3a5ef39b5fec226d484aa1f46', class: {
629
+ }) }, h("label", { key: '45619166eaf5015154ca24aeac8d088fed9606ec', class: "range-wrapper", id: "range-label" }, h("div", { key: 'e5ce095b0b1545dd9d39a04bc0d81fa643ec3739', class: {
525
630
  'label-text-wrapper': true,
526
631
  'label-text-wrapper-hidden': !hasLabel,
527
- }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: 'a6ffff056ab81a45f1a0b38fa42031c51ceabb52', class: "native-wrapper" }, h("slot", { key: 'df3f155a9886cc62d3f0d23467c406c52cd3e082', name: "start" }), this.renderRangeSlider(), h("slot", { key: '3fab316ecdff317c07010a204d89e85af12d347e', name: "end" })))));
632
+ }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '9bff70bac89c8439b3a8933c2d4dbf0851a49165', class: "native-wrapper" }, h("slot", { key: '5c62813869cad97aa70a1c766c5df7a8fd279258', name: "start" }), this.renderRangeSlider(), h("slot", { key: '888d5665c12debcda85af5024842f5468b086c70', name: "end" })))));
528
633
  }
529
634
  get el() { return this; }
530
635
  static get watchers() { return {
@@ -54,7 +54,7 @@ const RefresherContent = /*@__PURE__*/ proxyCustomElement(class RefresherContent
54
54
  const pullingIcon = this.pullingIcon;
55
55
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
56
56
  const mode = getIonMode(this);
57
- return (h(Host, { key: 'bd4122ec149c1ea6c43d5b6dfd7932569bfd8d7e', class: mode }, h("div", { key: '492113883e1ed465fd6b35a8e700b29a8bbb2baf', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { class: "refresher-pulling-icon" }, h("div", { class: "spinner-arrow-container" }, h("ion-spinner", { name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { class: "arrow-container" }, h("ion-icon", { icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { class: "refresher-pulling-icon" }, h("ion-icon", { icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: '402b0e02cfee42358c4fd690b60c8eb39386569f', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { class: "refresher-refreshing-icon" }, h("ion-spinner", { name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
57
+ return (h(Host, { key: '14a4ef75a0f56d499ee0e0bb6ba23565626ad442', class: mode }, h("div", { key: 'b738ea69256548d66512744ecaa5cbf651c1f6dd', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { class: "refresher-pulling-icon" }, h("div", { class: "spinner-arrow-container" }, h("ion-spinner", { name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (h("div", { class: "arrow-container" }, h("ion-icon", { icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { class: "refresher-pulling-icon" }, h("ion-icon", { icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: '6cbcc1f90df56b53c51a99c5a63e185dba00e9b2', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { class: "refresher-refreshing-icon" }, h("ion-spinner", { name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
58
58
  }
59
59
  get el() { return this; }
60
60
  }, [0, "ion-refresher-content", {
@@ -603,7 +603,7 @@ const Refresher = /*@__PURE__*/ proxyCustomElement(class Refresher extends HTMLE
603
603
  }
604
604
  render() {
605
605
  const mode = getIonMode(this);
606
- return (h(Host, { key: '460d903daa65f5549f4f75de63d185d82b9df1bc', slot: "fixed", class: {
606
+ return (h(Host, { key: 'b5f7ccfe964f0f970c46ae813649c36625d82a1d', slot: "fixed", class: {
607
607
  [mode]: true,
608
608
  // Used internally for styling
609
609
  [`refresher-${mode}`]: true,
@@ -245,7 +245,7 @@ const ReorderGroup = /*@__PURE__*/ proxyCustomElement(class ReorderGroup extends
245
245
  }
246
246
  render() {
247
247
  const mode = getIonMode(this);
248
- return (h(Host, { key: '3131c13e939242f1a4e10b4fcee028440b1a04c3', class: {
248
+ return (h(Host, { key: '868762829627e101926293f5e7e9f4bcf54490b1', class: {
249
249
  [mode]: true,
250
250
  'reorder-enabled': !this.disabled,
251
251
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -30,7 +30,7 @@ const Reorder = /*@__PURE__*/ proxyCustomElement(class Reorder extends HTMLEleme
30
30
  render() {
31
31
  const mode = getIonMode(this);
32
32
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
33
- return (h(Host, { key: '268c3575bdc5ca591e11442a744119028f17ae85', class: mode }, h("slot", { key: '4767aef1d57921060541cd38b0a62ef2d8b3267b' }, h("ion-icon", { key: 'ad5f972dc2449cdd7aba92b06e7f0d2539e9a202', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
33
+ return (h(Host, { key: '068457526894b0f557537d5b85f5596781988bbd', class: mode }, h("slot", { key: '006afcb58b0c8c0e4988e58d2c1441a7f4472de1' }, h("ion-icon", { key: '25e63dd8a8eeee62e6c5095bb39f887af2c82124', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
34
34
  }
35
35
  get el() { return this; }
36
36
  static get style() { return {
@@ -30,10 +30,10 @@ const RouterLink = /*@__PURE__*/ proxyCustomElement(class RouterLink extends HTM
30
30
  rel: this.rel,
31
31
  target: this.target,
32
32
  };
33
- return (h(Host, { key: '64a8781a0e92ddc14e03a60ac3da7f21dd59a2af', onClick: this.onClick, class: createColorClasses(this.color, {
33
+ return (h(Host, { key: '9dac58d3edaa6b5278c3636e0e245c7ddc2cb888', onClick: this.onClick, class: createColorClasses(this.color, {
34
34
  [mode]: true,
35
35
  'ion-activatable': true,
36
- }) }, h("a", Object.assign({ key: 'e2da87e62410c9ada5810f95ab1b9d6c489703a0' }, attrs), h("slot", { key: '201854747f5c867c8f6fadea20ef29b1d221f9db' }))));
36
+ }) }, h("a", Object.assign({ key: '81d2ffd44f798703da2cd6f926576c6e96a7c41f' }, attrs), h("slot", { key: '26853d510e4cdb93b436cdf70ebb5a7dca288bfb' }))));
37
37
  }
38
38
  static get style() { return IonRouterLinkStyle0; }
39
39
  }, [1, "ion-router-link", {
@@ -187,7 +187,7 @@ const RouterOutlet = /*@__PURE__*/ proxyCustomElement(class RouterOutlet extends
187
187
  return true;
188
188
  }
189
189
  render() {
190
- return h("slot", { key: '94fc9ea2d94548a7b4703498b9d740a0cf9b43a0' });
190
+ return h("slot", { key: '3425cdea6102946b2a7f4dcb3bb0133b2c7c561c' });
191
191
  }
192
192
  get el() { return this; }
193
193
  static get watchers() { return {
@@ -14,7 +14,7 @@ const Row = /*@__PURE__*/ proxyCustomElement(class Row extends HTMLElement {
14
14
  this.__attachShadow();
15
15
  }
16
16
  render() {
17
- return (h(Host, { key: 'e52c499804f7bebc1c4ab8fb69ef1b452eae58c1', class: getIonMode(this) }, h("slot", { key: '7808e8156601912e0192fe0b74bdedda2c359e1c' })));
17
+ return (h(Host, { key: '8b54835ea837e25c278ffa3e298238e92b095ccc', class: getIonMode(this) }, h("slot", { key: 'cb77d85c8d02fdee29a72b58f3091db8daeaf3b2' })));
18
18
  }
19
19
  static get style() { return IonRowStyle0; }
20
20
  }, [1, "ion-row"]);